arm64: kvm: Move lr save/restore from do_el2_call into EL1
commit00a44cdaba0900c63a003e0c431f506f49376a90
authorJames Morse <james.morse@arm.com>
Wed, 27 Apr 2016 16:47:02 +0000 (27 17:47 +0100)
committerWill Deacon <will.deacon@arm.com>
Thu, 28 Apr 2016 11:05:46 +0000 (28 12:05 +0100)
tree98dbb48f951a2ecab7a0ee09e89bf09a4d754a36
parente7227d0e528f9a96d4a866f43e20dd9b33f0e782
arm64: kvm: Move lr save/restore from do_el2_call into EL1

Today the 'hvc' calling KVM or the hyp-stub is expected to preserve all
registers. KVM saves/restores the registers it needs on the EL2 stack using
do_el2_call(). The hyp-stub has no stack, later patches need to be able to
be able to clobber the link register.

Move the link register save/restore to the the call sites.

Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/hyp-stub.S
arch/arm64/kvm/hyp.S
arch/arm64/kvm/hyp/hyp-entry.S