diff options
author | Paul Mackerras <paulus@samba.org> | 2014-05-26 19:48:41 +1000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-05-30 14:26:29 +0200 |
commit | 000a25ddb7106cdcb34e7f6c7547e5b2354b6645 (patch) | |
tree | dc01147a882f6cda06af06fe2907b32535d5a182 /arch/powerpc/kvm | |
parent | 9bc01a9bc77edac2ea6db62c5111a7f4335d4021 (diff) | |
download | linux-000a25ddb7106cdcb34e7f6c7547e5b2354b6645.tar.gz linux-000a25ddb7106cdcb34e7f6c7547e5b2354b6645.tar.bz2 linux-000a25ddb7106cdcb34e7f6c7547e5b2354b6645.zip |
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>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r-- | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 1 |
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: 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 |