|
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?
Thomas
[Prev in Thread] | Current Thread | [Next in Thread] |