diff options
author | Marc Zyngier <maz@kernel.org> | 2020-04-24 14:24:34 +0100 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2020-04-30 12:01:35 +0100 |
commit | 6e977984f6d8e5689e079de1fd2e337cd17dcca5 (patch) | |
tree | fe02529b5123e36c32eb36a0401c28e8958336dd /virt | |
parent | 6aea9e050394e83ac9fbd9fb0cb77c173e5bcae1 (diff) |
KVM: arm64: Save/restore sp_el0 as part of __guest_enter
We currently save/restore sp_el0 in C code. This is a bit unsafe,
as a lot of the C code expects 'current' to be accessible from
there (and the opportunity to run kernel code in HYP is specially
great with VHE).
Instead, let's move the save/restore of sp_el0 to the assembly
code (in __guest_enter), making sure that sp_el0 is correct
very early on when we exit the guest, and is preserved as long
as possible to its host value when we enter the guest.
Reviewed-by: Andrew Jones <drjones@redhat.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions