diff options
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r-- | arch/x86/kvm/svm.c | 7 |
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 | ||
1650 | static void nested_svm_inject_npf_exit(struct kvm_vcpu *vcpu) | 1650 | static 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 | } |