linux/arch/s390/kvm
Thomas Huth 04b41acd06 KVM: s390: Fix rewinding of the PSW pointing to an EXECUTE instruction
A couple of our interception handlers rewind the PSW to the beginning
of the instruction to run the intercepted instruction again during the
next SIE entry. This normally works fine, but there is also the
possibility that the instruction did not get run directly but via an
EXECUTE instruction.
In this case, the PSW does not point to the instruction that caused the
interception, but to the EXECUTE instruction! So we've got to rewind the
PSW to the beginning of the EXECUTE instruction instead.
This is now accomplished with a new helper function kvm_s390_rewind_psw().

Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2014-11-28 12:32:56 +01:00
..
diag.c KVM: s390/cmm: Fix prefix handling for diag 10 balloon 2014-09-10 12:19:42 +02:00
gaccess.c KVM: s390: Fixes for kvm/next (3.19) and stable 2014-11-07 15:39:44 +01: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: Fix rewinding of the PSW pointing to an EXECUTE instruction 2014-11-28 12:32:56 +01:00
interrupt.c KVM: s390: Fix size of monitor-class number field 2014-10-28 13:09:11 +01:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig KVM: Give IRQFD its own separate enabling Kconfig option 2014-08-05 14:26:28 +02:00
kvm-s390.c KVM: s390: sigp: instruction counters for all sigp orders 2014-10-28 13:09:13 +01:00
kvm-s390.h KVM: s390: Fix rewinding of the PSW pointing to an EXECUTE instruction 2014-11-28 12:32:56 +01:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c KVM: s390: Fix rewinding of the PSW pointing to an EXECUTE instruction 2014-11-28 12:32:56 +01:00
sigp.c KVM: s390: sigp: split handling of SIGP STOP (AND STORE STATUS) 2014-10-28 13:09:14 +01: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