KVM: s390: Nullify instruction for certain program exceptions
commita9a846fd5c1723820c97cef56989ea14eea4b30e
authorThomas Huth <thuth@linux.vnet.ibm.com>
Thu, 5 Feb 2015 08:06:56 +0000 (5 09:06 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 6 Mar 2015 12:40:40 +0000 (6 13:40 +0100)
tree85515a198cd4fcb66104bce1fbd73d7cee86b91d
parent15462e37ca848abac7477dece65f8af25febd744
KVM: s390: Nullify instruction for certain program exceptions

When certain program exceptions (e.g. DAT access exceptions) occur,
the current instruction has to be nullified, i.e. the old PSW that
gets written into the low-core has to point to the beginning of the
instruction again, and not to the beginning of the next instruction.
Thus we have to rewind the PSW before writing it into the low-core.
The list of nullifying exceptions can be found in the POP, chapter 6,
figure 6-1 ("Interruption Action").

Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/interrupt.c