# 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
|