summaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_pcmcia.c
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2017-01-26 20:45:33 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2017-02-06 12:35:53 +0100
commitfb7dc1d4ddce744c8d8e1aca19d4982102cf72e1 (patch)
tree721287cf291ab8aac9c30d97e08fe35d7654dc8f /drivers/ata/pata_pcmcia.c
parentKVM: s390: Disable dirty log retrieval for UCONTROL guests (diff)
downloadlinux-fb7dc1d4ddce744c8d8e1aca19d4982102cf72e1.tar.xz
linux-fb7dc1d4ddce744c8d8e1aca19d4982102cf72e1.zip
KVM: s390: detect some program check loops
Sometimes (e.g. early boot) a guest is broken in such ways that it loops 100% delivering operation exceptions (illegal operation) but the pgm new PSW is not set properly. This will result in code being read from address zero, which usually contains another illegal op. Let's detect this case and return to userspace. Instead of only detecting this for address zero apply a heuristic that will work for any program check new psw. We do not want guest problem state to be able to trigger a guest panic, e.g. by faulting on an address that is the same as the program check new PSW, so we check for the problem state bit being off. With proper handling in userspace we a: get rid of CPU consumption of such broken guests b: keep the program old PSW. This allows to find out the original illegal operation - making debugging such early boot issues much easier than with single stepping Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'drivers/ata/pata_pcmcia.c')
0 files changed, 0 insertions, 0 deletions