aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2014-05-26 05:48:41 -0400
committerAlexander Graf <agraf@suse.de>2014-05-30 08:26:29 -0400
commit000a25ddb7106cdcb34e7f6c7547e5b2354b6645 (patch)
treedc01147a882f6cda06af06fe2907b32535d5a182
parent9bc01a9bc77edac2ea6db62c5111a7f4335d4021 (diff)
KVM: PPC: Book3S HV: Fix machine check delivery to guest
The code that delivered a machine check to the guest after handling it in real mode failed to load up r11 before calling kvmppc_msr_interrupt, which needs the old MSR value in r11 so it can see the transactional state there. This adds the missing load. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--arch/powerpc/kvm/book3s_hv_rmhandlers.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
index 60fe8ba318cf..220aefbcb7ca 100644
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
@@ -2144,6 +2144,7 @@ machine_check_realmode:
2144 beq mc_cont 2144 beq mc_cont
2145 /* If not, deliver a machine check. SRR0/1 are already set */ 2145 /* If not, deliver a machine check. SRR0/1 are already set */
2146 li r10, BOOK3S_INTERRUPT_MACHINE_CHECK 2146 li r10, BOOK3S_INTERRUPT_MACHINE_CHECK
2147 ld r11, VCPU_MSR(r9)
2147 bl kvmppc_msr_interrupt 2148 bl kvmppc_msr_interrupt
2148 b fast_interrupt_c_return 2149 b fast_interrupt_c_return
2149 2150