Thread (83 messages) 83 messages, 7 authors, 2016-02-03

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help