linux/arch/s390/kvm
David Hildenbrand 7dfc63cf97 KVM: s390: allow only one SIGP STOP (AND STORE STATUS) at a time
A SIGP STOP (AND STORE STATUS) order is complete as soon as the VCPU has been
stopped. This patch makes sure that only one SIGP STOP (AND STORE STATUS) may
be pending at a time (as defined by the architecture). If the action_bits are
still set, a SIGP STOP has been issued but not completed yet. The VCPU is busy
for further SIGP STOP orders.

Also set the CPUSTAT_STOP_INT after the action_bits variable has been modified
(the same order that is used when injecting a KVM_S390_SIGP_STOP from
userspace).

Both changes are needed in preparation for a user space driven VCPU state change
(to avoid race conditions).

Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2014-07-10 14:09:34 +02:00
..
diag.c KVM: s390: split SIE state guest prefix field 2014-05-16 14:57:31 +02:00
gaccess.c KVM: s390: Enable DAT support for TPROT handler 2014-05-30 09:39:36 +02:00
gaccess.h KVM: s390: Enable DAT support for TPROT handler 2014-05-30 09:39:36 +02:00
guestdbg.c KVM: s390: return -EFAULT if copy_from_user() fails 2014-05-06 14:57:59 +02:00
intercept.c KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00
interrupt.c KVM: s390: a VCPU is already started when delivering interrupts 2014-05-30 09:39:39 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
kvm-s390.c At over 200 commits, covering almost all supported architectures, this 2014-06-04 08:47:12 -07:00
kvm-s390.h KVM: s390: split SIE state guest prefix field 2014-05-16 14:57:31 +02:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c KVM: s390: Enable DAT support for TPROT handler 2014-05-30 09:39:36 +02:00
sigp.c KVM: s390: allow only one SIGP STOP (AND STORE STATUS) at a time 2014-07-10 14:09:34 +02:00
trace-s390.h KVM: s390: enable IBS for single running VCPUs 2014-04-29 15:01:54 +02:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00