VMX,apicv: Set "NMI-window exiting" for NMI
authorYang Zhang <yang.z.zhang@Intel.com>
Tue, 7 Jan 2014 13:30:21 +0000 (14:30 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 7 Jan 2014 13:30:21 +0000 (14:30 +0100)
Enable NMI-window exiting if interrupt is blocked by NMI under apicv enabled
platform.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
xen/arch/x86/hvm/vmx/intr.c

index 7757910f02b410377e17823cf1375fb097e9da9d..85074329aa9284d278d27253006dfa5312827e23 100644 (file)
@@ -252,10 +252,11 @@ void vmx_intr_assist(void)
         intblk = hvm_interrupt_blocked(v, intack);
         if ( cpu_has_vmx_virtual_intr_delivery )
         {
-            /* Set "Interrupt-window exiting" for ExtINT */
+            /* Set "Interrupt-window exiting" for ExtINT and NMI. */
             if ( (intblk != hvm_intblk_none) &&
-                 ( (intack.source == hvm_intsrc_pic) ||
-                 ( intack.source == hvm_intsrc_vector) ) )
+                 (intack.source == hvm_intsrc_pic ||
+                  intack.source == hvm_intsrc_vector ||
+                  intack.source == hvm_intsrc_nmi) )
             {
                 enable_intr_window(v, intack);
                 goto out;