diff options
author | Christoffer Dall <christoffer.dall@linaro.org> | 2017-10-10 22:54:57 +0200 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2018-03-19 10:53:16 +0000 |
commit | 0c389d90ebf6ff68f9e19cbb32543084d775d351 (patch) | |
tree | 12f33b965024dbc3e137b392e2ab13bc1fb54027 /arch/arm64/kvm/sys_regs.c | |
parent | 4cdecaba0146481f1503a645b8a5a41c1e8566c9 (diff) | |
download | linux-0c389d90ebf6ff68f9e19cbb32543084d775d351.tar.bz2 |
KVM: arm64: Don't save the host ELR_EL2 and SPSR_EL2 on VHE systems
On non-VHE systems we need to save the ELR_EL2 and SPSR_EL2 so that we can
return to the host in EL1 in the same state and location where we issued a
hypercall to EL2, but on VHE ELR_EL2 and SPSR_EL2 are not useful because we
never enter a guest as a result of an exception entry that would be directly
handled by KVM. The kernel entry code already saves ELR_EL1/SPSR_EL1 on
exception entry, which is enough. Therefore, factor out these registers into
separate save/restore functions, making it easy to exclude them from the VHE
world-switch path later on.
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/kvm/sys_regs.c')
0 files changed, 0 insertions, 0 deletions