[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] vmx: Write back modified interruptibility-info in enable_intr_window().



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1183541658 -3600
# Node ID e7d40fadbf170e1e6eb2844fb8a578f415cd5073
# Parent  e6d5e4709466b66146d2538574df9704ecb9a5e1
vmx: Write back modified interruptibility-info in enable_intr_window().
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/arch/x86/hvm/vmx/intr.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -r e6d5e4709466 -r e7d40fadbf17 xen/arch/x86/hvm/vmx/intr.c
--- a/xen/arch/x86/hvm/vmx/intr.c       Tue Jul 03 18:46:00 2007 +0100
+++ b/xen/arch/x86/hvm/vmx/intr.c       Wed Jul 04 10:34:18 2007 +0100
@@ -96,6 +96,7 @@ static void enable_intr_window(struct vc
             /* Having both STI-blocking and MOV-SS-blocking fails vmentry. */
             intr_shadow &= ~VMX_INTR_SHADOW_STI;
             intr_shadow |= VMX_INTR_SHADOW_MOV_SS;
+            __vmwrite(GUEST_INTERRUPTIBILITY_INFO, intr_shadow);
         }
         ctl = CPU_BASED_VIRTUAL_NMI_PENDING;
     }
@@ -169,7 +170,6 @@ asmlinkage void vmx_intr_assist(void)
             if ( unlikely(idtv_info_field & 0x800) ) /* valid error code */
                 __vmwrite(VM_ENTRY_EXCEPTION_ERROR_CODE,
                           __vmread(IDT_VECTORING_ERROR_CODE));
-            enable_intr_window(v, intr_source);
 
             /*
              * Clear NMI-blocking interruptibility info if an NMI delivery
@@ -180,6 +180,8 @@ asmlinkage void vmx_intr_assist(void)
                           __vmread(GUEST_INTERRUPTIBILITY_INFO) &
                           ~VMX_INTR_SHADOW_NMI);
 
+            enable_intr_window(v, intr_source);
+
             HVM_DBG_LOG(DBG_LEVEL_1, "idtv_info_field=%x", idtv_info_field);
             return;
         }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.