[PATCH v2 06/21] arm64: KVM: VHE: Patch out use of HVC
From: Christoffer Dall <hidden>
Date: 2016-02-02 15:41:47
Also in:
kvm, kvmarm, lkml
On Mon, Feb 01, 2016 at 05:28:32PM +0000, Marc Zyngier wrote:
On 01/02/16 17:08, Ard Biesheuvel wrote:quoted
On 1 February 2016 at 17:20, Marc Zyngier [off-list ref] wrote:quoted
On 01/02/16 15:36, Catalin Marinas wrote:quoted
On Mon, Feb 01, 2016 at 01:34:16PM +0000, Marc Zyngier wrote:quoted
On 01/02/16 13:16, Christoffer Dall wrote:quoted
On Mon, Jan 25, 2016 at 03:53:40PM +0000, Marc Zyngier wrote:quoted
diff --git a/arch/arm64/kvm/hyp/hyp-entry.S b/arch/arm64/kvm/hyp/hyp-entry.S index 93e8d983..9e0683f 100644 --- a/arch/arm64/kvm/hyp/hyp-entry.S +++ b/arch/arm64/kvm/hyp/hyp-entry.S@@ -38,6 +38,32 @@ ldp x0, x1, [sp], #16 .endm +.macro do_el2_call + /* + * Shuffle the parameters before calling the function + * pointed to in x0. Assumes parameters in x[1,2,3]. + */ + stp lr, xzr, [sp, #-16]!remind me why this pair isn't just doing "str" instead of "stp" with the xzr ?Because SP has to be aligned on a 16 bytes boundary at all times.You could do something like: sub sp, sp, #16 str lr, [sp]Ah, fair enough. I'll fold that in.Since we're micro-reviewing: what's wrong with str lr, [sp, #-16]! ?I suspect that on most micro-architectures, a register writeback is going to be slower than doing the sub independently. I may be wrong, though.
For the record, I don't mind it the way it was in the original patch either, I was just curious about the store of xzr and had forgottten the stack alignment thing. -Christoffer