target/s390x/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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>
---
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 a3a4916..6808dfd 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)
--
1.8.3.1
On Thu, 20 Feb 2020 14:16:22 +0100 Christian Borntraeger <borntraeger@de.ibm.com> wrote: > 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> > --- > target/s390x/helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Thanks, applied.
On 2/20/20 2:16 PM, Christian Borntraeger wrote: > 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> Acked-by: Janosch Frank <frankja@linux.ibm.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 a3a4916..6808dfd 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) >
On 20.02.20 14:16, Christian Borntraeger wrote: > 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 Is this really stable material? Reviewed-by: David Hildenbrand <david@redhat.com> -- Thanks, David / dhildenb
On 20.02.20 14:26, David Hildenbrand wrote: > On 20.02.20 14:16, Christian Borntraeger wrote: >> 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 > > Is this really stable material? Guests that end with lets say 0xaafffUL would be considered "crashed" instead of "shutdown". I will let Conny decide. > > Reviewed-by: David Hildenbrand <david@redhat.com> >
On Thu, 20 Feb 2020 14:35:01 +0100 Christian Borntraeger <borntraeger@de.ibm.com> wrote: > On 20.02.20 14:26, David Hildenbrand wrote: > > On 20.02.20 14:16, Christian Borntraeger wrote: > >> 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 > > > > Is this really stable material? > > Guests that end with lets say 0xaafffUL would be considered "crashed" instead of "shutdown". > I will let Conny decide. It cannot really hurt; but would be interesting if you have seen that in the wild. > > > > Reviewed-by: David Hildenbrand <david@redhat.com> > > >
© 2016 - 2024 Red Hat, Inc.