diff options
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r-- | arch/x86/kvm/vmx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index bc933cfb4e66..32022a8a5c3b 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -3660,8 +3660,11 @@ static void vmx_complete_interrupts(struct vcpu_vmx *vmx) | |||
3660 | 3660 | ||
3661 | /* We need to handle NMIs before interrupts are enabled */ | 3661 | /* We need to handle NMIs before interrupts are enabled */ |
3662 | if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR && | 3662 | if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR && |
3663 | (exit_intr_info & INTR_INFO_VALID_MASK)) | 3663 | (exit_intr_info & INTR_INFO_VALID_MASK)) { |
3664 | kvm_before_handle_nmi(&vmx->vcpu); | ||
3664 | asm("int $2"); | 3665 | asm("int $2"); |
3666 | kvm_after_handle_nmi(&vmx->vcpu); | ||
3667 | } | ||
3665 | 3668 | ||
3666 | idtv_info_valid = idt_vectoring_info & VECTORING_INFO_VALID_MASK; | 3669 | idtv_info_valid = idt_vectoring_info & VECTORING_INFO_VALID_MASK; |
3667 | 3670 | ||