aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm/handle_exit.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2020-10-14 09:29:27 +0100
committerMarc Zyngier <maz@kernel.org>2020-11-10 08:34:24 +0000
commitcdb5e02ed133731f8a6676a389ed40ca303cab7c (patch)
tree0b4e7d3d329cbe902aaacd80b76e9c3282956806 /arch/arm64/kvm/handle_exit.c
parentKVM: arm64: Move kvm_vcpu_trap_il_is32bit into kvm_skip_instr32() (diff)
downloadlinux-dev-cdb5e02ed133731f8a6676a389ed40ca303cab7c.tar.xz
linux-dev-cdb5e02ed133731f8a6676a389ed40ca303cab7c.zip
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/handle_exit.c')
-rw-r--r--arch/arm64/kvm/handle_exit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c
index 30bf8e22df54..d4e00a864ee6 100644
--- a/arch/arm64/kvm/handle_exit.c
+++ b/arch/arm64/kvm/handle_exit.c
@@ -61,7 +61,7 @@ static int handle_smc(struct kvm_vcpu *vcpu)
* otherwise return to the same address...
*/
vcpu_set_reg(vcpu, 0, ~0UL);
- kvm_skip_instr(vcpu);
+ kvm_incr_pc(vcpu);
return 1;
}
@@ -100,7 +100,7 @@ static int kvm_handle_wfx(struct kvm_vcpu *vcpu)
kvm_clear_request(KVM_REQ_UNHALT, vcpu);
}
- kvm_skip_instr(vcpu);
+ kvm_incr_pc(vcpu);
return 1;
}
@@ -221,7 +221,7 @@ static int handle_trap_exceptions(struct kvm_vcpu *vcpu)
* that fail their condition code check"
*/
if (!kvm_condition_valid(vcpu)) {
- kvm_skip_instr(vcpu);
+ kvm_incr_pc(vcpu);
handled = 1;
} else {
exit_handle_fn exit_handler;