summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-02-20 12:21:18 +0100
committerAvi Kivity <avi@redhat.com>2012-04-08 12:55:17 +0300
commitc35c9d84cf141ebf05e2e481c0faccedc4f8f7ff (patch)
tree8ea6170999dd5d18d224420222b97fbd357dbed4 /arch/powerpc
parent5fd8505ea4b7456d57eacefbf00b669f15f5f0c0 (diff)
downloadop-kernel-dev-c35c9d84cf141ebf05e2e481c0faccedc4f8f7ff.zip
op-kernel-dev-c35c9d84cf141ebf05e2e481c0faccedc4f8f7ff.tar.gz
KVM: PPC: booke: Readd debug abort code for machine check
When during guest execution we get a machine check interrupt, we don't know how to handle it yet. So let's add the error printing code back again that we dropped accidently earlier and tell user space that something went really wrong. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kvm/booke.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 11b0625..af02d9d 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -634,7 +634,12 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
switch (exit_nr) {
case BOOKE_INTERRUPT_MACHINE_CHECK:
- r = RESUME_GUEST;
+ printk("MACHINE CHECK: %lx\n", mfspr(SPRN_MCSR));
+ kvmppc_dump_vcpu(vcpu);
+ /* For debugging, send invalid exit reason to user space */
+ run->hw.hardware_exit_reason = ~1ULL << 32;
+ run->hw.hardware_exit_reason |= mfspr(SPRN_MCSR);
+ r = RESUME_HOST;
break;
case BOOKE_INTERRUPT_EXTERNAL:
OpenPOWER on IntegriCloud