[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 12/26] target/s390x: Move masking of psw.addr to cpu_get_tb_c

From: Richard Henderson
Subject: Re: [PATCH 12/26] target/s390x: Move masking of psw.addr to cpu_get_tb_cpu_state
Date: Sat, 5 Nov 2022 09:27:07 +1100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2

On 11/4/22 00:42, Ilya Leoshkevich wrote:
On Wed, Oct 05, 2022 at 08:44:07PM -0700, Richard Henderson wrote:
Masking after the fact in s390x_tr_init_disas_context
provides incorrect information to tb_lookup.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  target/s390x/cpu.h           | 13 +++++++------
  target/s390x/tcg/translate.c |  6 ------
  2 files changed, 7 insertions(+), 12 deletions(-)

How can we end up in a situation where this matters? E.g. if we are in
64-bit mode and execute

     0xa12345678: sam31

we will get a specification exception, and cpu_get_tb_cpu_state() will
not run. And for valid 31-bit addresses masking should be a no-op.

Ah, true. I was mislead by the presence of the code in s390x_tr_init_disas_context. Perhaps a tcg_debug_assert or just a comment?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]