Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 510043da authored by Dor Laor's avatar Dor Laor Committed by Avi Kivity
Browse files

KVM: Use the generic skip_emulated_instruction() in hypercall code



Instead of twiddling the rip registers directly, use the
skip_emulated_instruction() function to do that for us.

Signed-off-by: default avatarDor Laor <dor.laor@qumranet.com>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent 9b22bf57
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1078,7 +1078,8 @@ static int halt_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)

static int vmmcall_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
{
	vcpu->svm->vmcb->save.rip += 3;
	vcpu->svm->next_rip = vcpu->svm->vmcb->save.rip + 3;
	skip_emulated_instruction(vcpu);
	return kvm_hypercall(vcpu, kvm_run);
}

+1 −1
Original line number Diff line number Diff line
@@ -1658,7 +1658,7 @@ static int handle_halt(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)

static int handle_vmcall(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
{
	vmcs_writel(GUEST_RIP, vmcs_readl(GUEST_RIP)+3);
	skip_emulated_instruction(vcpu);
	return kvm_hypercall(vcpu, kvm_run);
}