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

[Xen-changelog] Remove the redundant call to vmx_intr_assit when we do a domain switch.



# HG changeset patch
# User adsharma@xxxxxxxxxxxxxxxxxxxx
# Node ID c5ef23281be2979f40fc3f4a90ce90e581a001c6
# Parent  3a8f27c6d56c7632db60b81e6a2d2aa529c2749c
Remove the redundant call to vmx_intr_assit when we do a domain switch.

Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx>
Signed-off-by: Edwin Zhai <edwin.zhai@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r 3a8f27c6d56c -r c5ef23281be2 xen/arch/x86/vmx.c
--- a/xen/arch/x86/vmx.c        Mon Aug 22 18:00:37 2005
+++ b/xen/arch/x86/vmx.c        Mon Aug 22 18:04:05 2005
@@ -1713,7 +1713,6 @@
         __vmx_bug(&regs);       /* should not happen */
     }
 
-    vmx_intr_assist(v);
     return;
 }
 
diff -r 3a8f27c6d56c -r c5ef23281be2 xen/arch/x86/vmx_io.c
--- a/xen/arch/x86/vmx_io.c     Mon Aug 22 18:00:37 2005
+++ b/xen/arch/x86/vmx_io.c     Mon Aug 22 18:04:05 2005
@@ -631,12 +631,14 @@
     return ((eflags & X86_EFLAGS_IF) == 0);
 }
 
-void vmx_intr_assist(struct vcpu *v) 
+asmlinkage void vmx_intr_assist() 
 {
     int intr_type = 0;
-    int highest_vector = find_highest_pending_irq(v, &intr_type);
+    int highest_vector;
     unsigned long intr_fields, eflags, interruptibility, cpu_exec_control;
-
+    struct vcpu *v = current;
+
+    highest_vector = find_highest_pending_irq(v, &intr_type);
     __vmread(CPU_BASED_VM_EXEC_CONTROL, &cpu_exec_control);
 
     if (highest_vector == -1) {
@@ -714,7 +716,6 @@
     ASSERT(!test_bit(ARCH_VMX_IO_WAIT, &d->arch.arch_vmx.flags));
 
     /* We always check for interrupts before resuming guest */
-    vmx_intr_assist(d);
 }
 
 #endif /* CONFIG_VMX */
diff -r 3a8f27c6d56c -r c5ef23281be2 xen/arch/x86/x86_32/entry.S
--- a/xen/arch/x86/x86_32/entry.S       Mon Aug 22 18:00:37 2005
+++ b/xen/arch/x86/x86_32/entry.S       Mon Aug 22 18:04:05 2005
@@ -140,6 +140,7 @@
         jnz 2f
 
 /* vmx_restore_all_guest */
+        call vmx_intr_assist
         call load_cr2
         .endif
         VMX_RESTORE_ALL_NOSEGREGS
diff -r 3a8f27c6d56c -r c5ef23281be2 xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S       Mon Aug 22 18:00:37 2005
+++ b/xen/arch/x86/x86_64/entry.S       Mon Aug 22 18:04:05 2005
@@ -233,6 +233,7 @@
         jnz  2f 
 
 /* vmx_restore_all_guest */
+        call vmx_intr_assist
         call load_cr2
         .endif
         /* 
diff -r 3a8f27c6d56c -r c5ef23281be2 xen/include/asm-x86/vmx.h
--- a/xen/include/asm-x86/vmx.h Mon Aug 22 18:00:37 2005
+++ b/xen/include/asm-x86/vmx.h Mon Aug 22 18:04:05 2005
@@ -31,7 +31,7 @@
 extern void vmx_asm_vmexit_handler(struct cpu_user_regs);
 extern void vmx_asm_do_resume(void);
 extern void vmx_asm_do_launch(void);
-extern void vmx_intr_assist(struct vcpu *d);
+extern void vmx_intr_assist();
 
 extern void arch_vmx_do_launch(struct vcpu *);
 extern void arch_vmx_do_resume(struct vcpu *);

_______________________________________________
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®.