diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2020-02-20 14:16:22 +0100 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2020-06-02 10:40:21 -0500 |
commit | 2a7569e75194bf0d14f4d8cbd12c4ee332c1ad21 (patch) | |
tree | ea1962892ad78cf812b5c35ffd0ebeefb5b2a40b | |
parent | 3e1d95301e8c00d8a8a2ec03ed941f019c8fd2b3 (diff) |
s390/sclp: improve special wait psw logic
There is a special quiesce PSW that we check for "shutdown". Otherwise disabled
wait is detected as "crashed". Architecturally we must only check PSW bits
116-127. Fix this.
Cc: qemu-stable@nongnu.org
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <1582204582-22995-1-git-send-email-borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Janosch Frank <frankja@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit 8b51c0961cc13e55b26bb6665ec3a341abdc7658)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r-- | target/s390x/helper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target/s390x/helper.c b/target/s390x/helper.c index a3a49164e4..6808dfda01 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -89,7 +89,7 @@ hwaddr s390_cpu_get_phys_addr_debug(CPUState *cs, vaddr vaddr) static inline bool is_special_wait_psw(uint64_t psw_addr) { /* signal quiesce */ - return psw_addr == 0xfffUL; + return (psw_addr & 0xfffUL) == 0xfffUL; } void s390_handle_wait(S390CPU *cpu) |