From: Paul Mackerras Date: Mon, 26 May 2014 09:48:41 +0000 (+1000) Subject: KVM: PPC: Book3S HV: Fix machine check delivery to guest X-Git-Tag: firefly_0821_release~176^2~3465^2~11^2~1^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=000a25ddb7106cdcb34e7f6c7547e5b2354b6645;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: Alexander Graf --- 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: beq mc_cont /* If not, deliver a machine check. SRR0/1 are already set */ li r10, BOOK3S_INTERRUPT_MACHINE_CHECK + ld r11, VCPU_MSR(r9) bl kvmppc_msr_interrupt b fast_interrupt_c_return