[Qemu-devel] [PULL 0/8] target/alpha cleanups

Richard Henderson posted 8 patches 6 years, 9 months ago
Failed in applying to current master (apply log)
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
target/alpha/cpu.h       |  79 +++++++----------
hw/alpha/dp264.c         |   1 -
linux-user/main.c        |  25 +++---
target/alpha/cpu.c       |   7 +-
target/alpha/helper.c    |  12 +--
target/alpha/machine.c   |  10 +--
target/alpha/translate.c | 221 +++++++++++++++++++++++++++++------------------
7 files changed, 194 insertions(+), 161 deletions(-)
[Qemu-devel] [PULL 0/8] target/alpha cleanups
Posted by Richard Henderson 6 years, 9 months ago
The new title holder for perf top is helper_lookup_tb_ptr.
Those targets that have a complicated cpu_get_tb_cpu_state
function are going to regret that.

This cleans up the Alpha version of that function such that it is
just two loads and one mask.  Which is one practically-free mask
away from being as minimal as one can get.

Also, in anticipation of LLuis' generic translation loop, fix all
of the temporary leaks.  They all seem to have been on insns that
end the TB, so in practice they weren't harmful, but...


r~


The following changes since commit 6887dc6700ccb7820d8a9d370f421ee361c748e8:

  Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170718' into staging (2017-07-18 21:13:48 +0100)

are available in the git repository at:

  git://github.com/rth7680/qemu.git tags/pull-axp-20170718

for you to fetch changes up to 8aa5c65fd3d4612d8ab690bef0980d26f30f381d:

  target/alpha: Log temp leaks (2017-07-18 18:42:05 -1000)

----------------------------------------------------------------
Queued target/alpha patches

----------------------------------------------------------------
Richard Henderson (8):
      target/alpha: Remove amask from tb->flags
      target/alpha: Copy tb->flags into DisasContext
      target/alpha: Merge several flag bytes into ENV->FLAGS
      target/alpha: Fix temp leak in gen_bcond
      target/alpha: Fix temp leak in gen_mtpr
      target/alpha: Fix temp leak in gen_call_pal
      target/alpha: Fix temp leak in gen_fbcond
      target/alpha: Log temp leaks

 target/alpha/cpu.h       |  79 +++++++----------
 hw/alpha/dp264.c         |   1 -
 linux-user/main.c        |  25 +++---
 target/alpha/cpu.c       |   7 +-
 target/alpha/helper.c    |  12 +--
 target/alpha/machine.c   |  10 +--
 target/alpha/translate.c | 221 +++++++++++++++++++++++++++++------------------
 7 files changed, 194 insertions(+), 161 deletions(-)

Re: [Qemu-devel] [PULL 0/8] target/alpha cleanups
Posted by Peter Maydell 6 years, 9 months ago
On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
> The new title holder for perf top is helper_lookup_tb_ptr.
> Those targets that have a complicated cpu_get_tb_cpu_state
> function are going to regret that.

Yeah, Paolo's pointed out (and had some patches for)
ARM's rather complicated cpu_get_tb_cpu_state(). My
issue with his suggested fixes was that they were
pretty fragile in terms of not having any guarantee
that the change always produced the right tb cpu
state flags answer...

(I'm processing the pullreq, this just seemed like an
interesting digression.)

thanks
-- PMM

Re: [Qemu-devel] [PULL 0/8] target/alpha cleanups
Posted by Richard Henderson 6 years, 9 months ago
On 07/19/2017 06:57 AM, Peter Maydell wrote:
> On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
>> The new title holder for perf top is helper_lookup_tb_ptr.
>> Those targets that have a complicated cpu_get_tb_cpu_state
>> function are going to regret that.
> 
> Yeah, Paolo's pointed out (and had some patches for)
> ARM's rather complicated cpu_get_tb_cpu_state(). My
> issue with his suggested fixes was that they were
> pretty fragile in terms of not having any guarantee
> that the change always produced the right tb cpu
> state flags answer...

Oh?  I must have missed seeing this one.
A quick patchwork search doesn't pull it up;
do either of you have a link?


r~

Re: [Qemu-devel] [PULL 0/8] target/alpha cleanups
Posted by Peter Maydell 6 years, 9 months ago
On 19 July 2017 at 22:52, Richard Henderson <rth@twiddle.net> wrote:
> On 07/19/2017 06:57 AM, Peter Maydell wrote:
>>
>> On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
>>>
>>> The new title holder for perf top is helper_lookup_tb_ptr.
>>> Those targets that have a complicated cpu_get_tb_cpu_state
>>> function are going to regret that.
>>
>>
>> Yeah, Paolo's pointed out (and had some patches for)
>> ARM's rather complicated cpu_get_tb_cpu_state(). My
>> issue with his suggested fixes was that they were
>> pretty fragile in terms of not having any guarantee
>> that the change always produced the right tb cpu
>> state flags answer...
>
>
> Oh?  I must have missed seeing this one.
> A quick patchwork search doesn't pull it up;
> do either of you have a link?

It was back in September:
https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg03133.html

thanks
-- PMM

Re: [Qemu-devel] [PULL 0/8] target/alpha cleanups
Posted by Paolo Bonzini 6 years, 9 months ago
I am planning to refresh the series for 2.11.

Paolo

Il 20/lug/2017 11:07, "Peter Maydell" <peter.maydell@linaro.org> ha scritto:

> On 19 July 2017 at 22:52, Richard Henderson <rth@twiddle.net> wrote:
> > On 07/19/2017 06:57 AM, Peter Maydell wrote:
> >>
> >> On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
> >>>
> >>> The new title holder for perf top is helper_lookup_tb_ptr.
> >>> Those targets that have a complicated cpu_get_tb_cpu_state
> >>> function are going to regret that.
> >>
> >>
> >> Yeah, Paolo's pointed out (and had some patches for)
> >> ARM's rather complicated cpu_get_tb_cpu_state(). My
> >> issue with his suggested fixes was that they were
> >> pretty fragile in terms of not having any guarantee
> >> that the change always produced the right tb cpu
> >> state flags answer...
> >
> >
> > Oh?  I must have missed seeing this one.
> > A quick patchwork search doesn't pull it up;
> > do either of you have a link?
>
> It was back in September:
> https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg03133.html
>
> thanks
> -- PMM
>
>
Re: [Qemu-devel] [PULL 0/8] target/alpha cleanups
Posted by Peter Maydell 6 years, 9 months ago
On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
> The new title holder for perf top is helper_lookup_tb_ptr.
> Those targets that have a complicated cpu_get_tb_cpu_state
> function are going to regret that.
>
> This cleans up the Alpha version of that function such that it is
> just two loads and one mask.  Which is one practically-free mask
> away from being as minimal as one can get.
>
> Also, in anticipation of LLuis' generic translation loop, fix all
> of the temporary leaks.  They all seem to have been on insns that
> end the TB, so in practice they weren't harmful, but...
>
>
> r~
>
>
> The following changes since commit 6887dc6700ccb7820d8a9d370f421ee361c748e8:
>
>   Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170718' into staging (2017-07-18 21:13:48 +0100)
>
> are available in the git repository at:
>
>   git://github.com/rth7680/qemu.git tags/pull-axp-20170718
>
> for you to fetch changes up to 8aa5c65fd3d4612d8ab690bef0980d26f30f381d:
>
>   target/alpha: Log temp leaks (2017-07-18 18:42:05 -1000)
>
> ----------------------------------------------------------------
> Queued target/alpha patches
>

Applied, thanks.

-- PMM