From cd7da3cf1b19fef0a497fd556562040a85e579a7 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Fri, 29 May 2020 05:53:57 -0400 Subject: [PATCH 15/42] s390/sclp: improve special wait psw logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Thomas Huth Message-id: <20200529055420.16855-16-thuth@redhat.com> Patchwork-id: 97037 O-Subject: [RHEL-8.3.0 qemu-kvm PATCH v2 15/38] s390/sclp: improve special wait psw logic Bugzilla: 1828317 RH-Acked-by: Claudio Imbrenda RH-Acked-by: Philippe Mathieu-Daudé RH-Acked-by: Cornelia Huck RH-Acked-by: David Hildenbrand From: Christian Borntraeger 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 Message-Id: <1582204582-22995-1-git-send-email-borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand Acked-by: Janosch Frank Signed-off-by: Cornelia Huck (cherry picked from commit 8b51c0961cc13e55b26bb6665ec3a341abdc7658) Signed-off-by: Danilo C. L. de Paula --- 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 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) -- 2.27.0