aboutsummaryrefslogtreecommitdiff
path: root/target/s390x
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2022-12-05 15:20:43 +0100
committerThomas Huth <thuth@redhat.com>2022-12-15 15:02:34 +0100
commit5e275ca6fb32bcb4b56b29e6acfd3cf306c4a180 (patch)
tree5b3e66a0646116fc1a45d4901cfcd9a721be4cd8 /target/s390x
parent03451953c79e6b31f7860ee0c35b28e181d573c1 (diff)
downloadqemu-5e275ca6fb32bcb4b56b29e6acfd3cf306c4a180.zip
qemu-5e275ca6fb32bcb4b56b29e6acfd3cf306c4a180.tar.gz
qemu-5e275ca6fb32bcb4b56b29e6acfd3cf306c4a180.tar.bz2
target/s390x/tcg/mem_helper: Test the right bits in psw_key_valid()
The PSW key mask is a 16 bit field, and the psw_key variable is in the range from 0 to 15, so it does not make sense to use "0x80 >> psw_key" for testing the bits here. We should use 0x8000 instead. Message-Id: <20221205142043.95185-1-thuth@redhat.com> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'target/s390x')
-rw-r--r--target/s390x/tcg/mem_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c
index 3758b9e..006b679 100644
--- a/target/s390x/tcg/mem_helper.c
+++ b/target/s390x/tcg/mem_helper.c
@@ -51,7 +51,7 @@ static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
if (env->psw.mask & PSW_MASK_PSTATE) {
/* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
- return pkm & (0x80 >> psw_key);
+ return pkm & (0x8000 >> psw_key);
}
return true;
}