aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r--arch/x86/kvm/svm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 28274cf307ba..b985cb81a573 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1647,14 +1647,15 @@ static void nested_svm_set_tdp_cr3(struct kvm_vcpu *vcpu,
1647 force_new_asid(vcpu); 1647 force_new_asid(vcpu);
1648} 1648}
1649 1649
1650static void nested_svm_inject_npf_exit(struct kvm_vcpu *vcpu) 1650static void nested_svm_inject_npf_exit(struct kvm_vcpu *vcpu,
1651 struct x86_exception *fault)
1651{ 1652{
1652 struct vcpu_svm *svm = to_svm(vcpu); 1653 struct vcpu_svm *svm = to_svm(vcpu);
1653 1654
1654 svm->vmcb->control.exit_code = SVM_EXIT_NPF; 1655 svm->vmcb->control.exit_code = SVM_EXIT_NPF;
1655 svm->vmcb->control.exit_code_hi = 0; 1656 svm->vmcb->control.exit_code_hi = 0;
1656 svm->vmcb->control.exit_info_1 = vcpu->arch.fault.error_code; 1657 svm->vmcb->control.exit_info_1 = fault->error_code;
1657 svm->vmcb->control.exit_info_2 = vcpu->arch.fault.address; 1658 svm->vmcb->control.exit_info_2 = fault->address;
1658 1659
1659 nested_svm_vmexit(svm); 1660 nested_svm_vmexit(svm);
1660} 1661}