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

[Xen-changelog] [xen-unstable] [IA64] vti fault handler clean up: clean up of vmx_ivt.S



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1197664182 25200
# Node ID 8cb29f1083ac91e14aa6dc2307d6b13476975fe8
# Parent  d0f0ed665d1aa548e96bceff36ea5df6bdf31d92
[IA64] vti fault handler clean up: clean up of vmx_ivt.S

Trivial clean up of vmx_ivt.S
- Use VMX_SAVE_MIN_WITH_COVER instead of VMX_SAVE_MIN_WITH_COVER_R19
  if it isn't necessary.
- Fix vmx_dispatch_interrupt, vmx_interrupt.  psr.i shouldn't be set.
  ia64_handle_irq() should be called with interrupt masked.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/vmx/vmx_ivt.S |   18 ++++++------------
 1 files changed, 6 insertions(+), 12 deletions(-)

diff -r d0f0ed665d1a -r 8cb29f1083ac xen/arch/ia64/vmx/vmx_ivt.S
--- a/xen/arch/ia64/vmx/vmx_ivt.S       Fri Dec 14 13:26:38 2007 -0700
+++ b/xen/arch/ia64/vmx/vmx_ivt.S       Fri Dec 14 13:29:42 2007 -0700
@@ -702,9 +702,6 @@ ENTRY(vmx_interrupt)
 
     ssm psr.ic
     ;;
-    srlz.i
-    ;;
-    (p15) ssm psr.i
     adds r3=8,r2               // set up second base pointer for SAVE_REST
     srlz.i                     // ensure everybody knows psr.ic is back on
     ;;
@@ -1361,7 +1358,7 @@ END(vmx_dispatch_reflection)
 END(vmx_dispatch_reflection)
 
 ENTRY(vmx_dispatch_virtualization_fault)
-    VMX_SAVE_MIN_WITH_COVER_R19
+    VMX_SAVE_MIN_WITH_COVER
     ;;
     alloc r14=ar.pfs,0,0,2,0        // now it's safe (must be first in insn 
group!)
     mov out0=r13        //vcpu
@@ -1384,7 +1381,7 @@ END(vmx_dispatch_virtualization_fault)
 
 
 GLOBAL_ENTRY(vmx_dispatch_vexirq)
-    VMX_SAVE_MIN_WITH_COVER_R19
+    VMX_SAVE_MIN_WITH_COVER
     alloc r14=ar.pfs,0,0,1,0
     mov out0=r13
 
@@ -1424,8 +1421,7 @@ END(vmx_dispatch_tlb_miss)
 END(vmx_dispatch_tlb_miss)
 
 ENTRY(vmx_dispatch_break_fault)
-    VMX_SAVE_MIN_WITH_COVER_R19
-    ;;
+    VMX_SAVE_MIN_WITH_COVER
     ;;
     alloc r14=ar.pfs,0,0,4,0 // now it's safe (must be first in insn group!)
     mov out0=cr.ifa
@@ -1450,17 +1446,15 @@ END(vmx_dispatch_break_fault)
 
 
 ENTRY(vmx_dispatch_interrupt)
-    VMX_SAVE_MIN_WITH_COVER_R19        // uses r31; defines r2 and r3
-    ;;
-    alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group
+    VMX_SAVE_MIN_WITH_COVER    // uses r31; defines r2 and r3
+    ;;
+    alloc r14=ar.pfs,0,0,2,0   // must be first in an insn group
     mov out0=cr.ivr            // pass cr.ivr as first arg
     adds r3=8,r2               // set up second base pointer for SAVE_REST
     ;;
     ssm psr.ic
     ;;
     srlz.i
-    ;;
-    (p15) ssm psr.i
     movl r14=ia64_leave_hypervisor
     ;;
     VMX_SAVE_REST

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