[Top][All Lists]

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

Re: [PATCH v1 02/12] s390x/tcg: fix ignoring bit 63 when setting the sto

From: Thomas Huth
Subject: Re: [PATCH v1 02/12] s390x/tcg: fix ignoring bit 63 when setting the storage key in SSKE
Date: Fri, 6 Aug 2021 08:25:25 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0

On 06/08/2021 08.19, Thomas Huth wrote:
On 05/08/2021 17.27, David Hildenbrand wrote:
The last bit has to be ignored.

Signed-off-by: David Hildenbrand <david@redhat.com>
  target/s390x/tcg/mem_helper.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c
index e0befd0f03..3c0820dd74 100644
--- a/target/s390x/tcg/mem_helper.c
+++ b/target/s390x/tcg/mem_helper.c
@@ -2210,7 +2210,7 @@ void HELPER(sske)(CPUS390XState *env, uint64_t r1, uint64_t r2)
          skeyclass = S390_SKEYS_GET_CLASS(ss);
-    key = (uint8_t) r1;
+    key = r1 & 0xfe;

I'm not sure about this one ... could you cite a sentence in the PoP where this is declared? For me it rather sounds like SSKE always sets the whole storage key...

Ah, never mind, I missed that the rightmost bit is undefined and thus this is likely ok. Did you check this on a real CPU, though?


reply via email to

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