diff options
author | Marc Zyngier <maz@kernel.org> | 2020-10-14 11:29:27 +0300 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2020-11-10 11:34:24 +0300 |
commit | cdb5e02ed133731f8a6676a389ed40ca303cab7c (patch) | |
tree | 0b4e7d3d329cbe902aaacd80b76e9c3282956806 /arch/arm64/kvm/hyp/vhe/switch.c | |
parent | 6ddbc281e2aa21c5917e015a373958455f5eb3c1 (diff) | |
download | linux-cdb5e02ed133731f8a6676a389ed40ca303cab7c.tar.xz |
KVM: arm64: Make kvm_skip_instr() and co private to HYP
In an effort to remove the vcpu PC manipulations from EL1 on nVHE
systems, move kvm_skip_instr() to be HYP-specific. EL1's intent
to increment PC post emulation is now signalled via a flag in the
vcpu structure.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'arch/arm64/kvm/hyp/vhe/switch.c')
-rw-r--r-- | arch/arm64/kvm/hyp/vhe/switch.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/kvm/hyp/vhe/switch.c b/arch/arm64/kvm/hyp/vhe/switch.c index 62546e20b251..af8e940d0f03 100644 --- a/arch/arm64/kvm/hyp/vhe/switch.c +++ b/arch/arm64/kvm/hyp/vhe/switch.c @@ -4,6 +4,7 @@ * Author: Marc Zyngier <marc.zyngier@arm.com> */ +#include <hyp/adjust_pc.h> #include <hyp/switch.h> #include <linux/arm-smccc.h> @@ -133,6 +134,8 @@ static int __kvm_vcpu_run_vhe(struct kvm_vcpu *vcpu) __load_guest_stage2(vcpu->arch.hw_mmu); __activate_traps(vcpu); + __adjust_pc(vcpu); + sysreg_restore_guest_state_vhe(guest_ctxt); __debug_switch_to_guest(vcpu); |