36 lines
1.3 KiB
Diff
36 lines
1.3 KiB
Diff
|
From: Christian Borntraeger <borntraeger@de.ibm.com>
|
||
|
Date: Thu, 20 Feb 2020 14:16:22 +0100
|
||
|
Subject: s390/sclp: improve special wait psw logic
|
||
|
|
||
|
References: bsc#1167075
|
||
|
|
||
|
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: Bruce Rogers <brogers@suse.com>
|
||
|
---
|
||
|
target/s390x/helper.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/target/s390x/helper.c b/target/s390x/helper.c
|
||
|
index a3a49164e471b3f00a40020f987d..6808dfda01f42acbaa1d36ef787b 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)
|