On Wed, Sep 10, 2014 at 06:23:57PM +0100, Geoff Levand wrote: > On Wed, 2014-09-10 at 18:07 +0100, Will Deacon wrote: > > On Tue, Sep 09, 2014 at 11:49:04PM +0100, Geoff Levand wrote: > > > diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S > > > index 9ab5f70..a21cf51 100644 > > > --- a/arch/arm64/kernel/hyp-stub.S > > > +++ b/arch/arm64/kernel/hyp-stub.S > > > @@ -75,7 +75,17 @@ el1_sync: > > > 1: cmp x10, #HVC_SET_VECTORS > > > b.ne 1f > > > msr vbar_el2, x0 > > > + b 2f > > > > > > +1: cmp x10, #HVC_CALL_FUNC > > > + b.ne 1f > > > + mov x29, lr > > > + mov lr, x0 > > > + mov x0, x1 > > > + mov x1, x2 > > > + mov x2, x3 > > > + blr lr > > > + mov lr, x29 > > > > Why are you clobbering x29? > > I can change this to x28, unless you can recommend another? How about something that's not callee saved? Will