33 lines
983 B
Diff
33 lines
983 B
Diff
From: Anton Blanchard <anton@samba.org>
|
|
Date: Thu, 12 Jun 2014 18:16:10 +1000
|
|
Subject: KVM: PPC: Book3S HV: Fix ABIv2 indirect branch issue
|
|
Origin: https://git.kernel.org/linus/05a308c722822b0fbcc706b54be70f9bb9d52539
|
|
|
|
To establish addressability quickly, ABIv2 requires the target
|
|
address of the function being called to be in r12.
|
|
|
|
Signed-off-by: Anton Blanchard <anton@samba.org>
|
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
|
---
|
|
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
|
|
index 868347e..da1cac5 100644
|
|
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
|
|
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
|
|
@@ -1913,8 +1913,8 @@ hcall_try_real_mode:
|
|
lwax r3,r3,r4
|
|
cmpwi r3,0
|
|
beq guest_exit_cont
|
|
- add r3,r3,r4
|
|
- mtctr r3
|
|
+ add r12,r3,r4
|
|
+ mtctr r12
|
|
mr r3,r9 /* get vcpu pointer */
|
|
ld r4,VCPU_GPR(R4)(r9)
|
|
bctrl
|
|
--
|
|
1.7.10.4
|
|
|