From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anton Blanchard Date: Thu, 12 Jun 2014 08:16:10 +0000 Subject: [PATCH 3/4] KVM: PPC: Book3S HV: Fix ABIv2 indirect branch issue Message-Id: <20140612181610.3479c3f2@kryten> List-Id: References: <20140612181420.65b05675@kryten> In-Reply-To: <20140612181420.65b05675@kryten> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: benh@kernel.crashing.org, paulus@samba.org, agraf@suse.de, clg@fr.ibm.com Cc: linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org, kvm@vger.kernel.org To establish addressability quickly, ABIv2 requires the target address of the function being called to be in r12. Signed-off-by: Anton Blanchard --- Index: b/arch/powerpc/kvm/book3s_hv_rmhandlers.S =================================--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S @@ -1920,8 +1920,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