diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-05-16 08:42:28 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-05-28 11:46:17 -0400 |
commit | 7c86663b68bab393633d8312a0d25a3d004de182 (patch) | |
tree | e7a6628ef6228b0b0729be8ede85106e973a6d0a /arch/x86/include/asm/kvm_host.h | |
parent | c9d40913ac5a21eb2b976bb221a4677540e84eba (diff) | |
download | linux-stable-7c86663b68bab393633d8312a0d25a3d004de182.tar.gz linux-stable-7c86663b68bab393633d8312a0d25a3d004de182.tar.bz2 linux-stable-7c86663b68bab393633d8312a0d25a3d004de182.zip |
KVM: nSVM: inject exceptions via svm_check_nested_events
This allows exceptions injected by the emulator to be properly delivered
as vmexits. The code also becomes simpler, because we can just let all
L0-intercepted exceptions go through the usual path. In particular, our
emulation of the VMX #DB exit qualification is very much simplified,
because the vmexit injection path can use kvm_deliver_exception_payload
to update DR6.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/include/asm/kvm_host.h')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 7707bd4b0593..e6f2e1a2dab6 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1495,6 +1495,8 @@ void kvm_pic_clear_all(struct kvm_pic *pic, int irq_source_id); void kvm_inject_nmi(struct kvm_vcpu *vcpu); +void kvm_update_dr7(struct kvm_vcpu *vcpu); + int kvm_mmu_unprotect_page(struct kvm *kvm, gfn_t gfn); int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva); void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu); |