ia64/xen-unstable
changeset 16755:8cb29f1083ac
[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@valinux.co.jp>
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@valinux.co.jp>
author | Alex Williamson <alex.williamson@hp.com> |
---|---|
date | Fri Dec 14 13:29:42 2007 -0700 (2007-12-14) |
parents | d0f0ed665d1a |
children | fa80218de06a |
files | xen/arch/ia64/vmx/vmx_ivt.S |
line diff
1.1 --- a/xen/arch/ia64/vmx/vmx_ivt.S Fri Dec 14 13:26:38 2007 -0700 1.2 +++ b/xen/arch/ia64/vmx/vmx_ivt.S Fri Dec 14 13:29:42 2007 -0700 1.3 @@ -702,9 +702,6 @@ ENTRY(vmx_interrupt) 1.4 1.5 ssm psr.ic 1.6 ;; 1.7 - srlz.i 1.8 - ;; 1.9 - (p15) ssm psr.i 1.10 adds r3=8,r2 // set up second base pointer for SAVE_REST 1.11 srlz.i // ensure everybody knows psr.ic is back on 1.12 ;; 1.13 @@ -1361,7 +1358,7 @@ ENTRY(vmx_dispatch_reflection) 1.14 END(vmx_dispatch_reflection) 1.15 1.16 ENTRY(vmx_dispatch_virtualization_fault) 1.17 - VMX_SAVE_MIN_WITH_COVER_R19 1.18 + VMX_SAVE_MIN_WITH_COVER 1.19 ;; 1.20 alloc r14=ar.pfs,0,0,2,0 // now it's safe (must be first in insn group!) 1.21 mov out0=r13 //vcpu 1.22 @@ -1384,7 +1381,7 @@ END(vmx_dispatch_virtualization_fault) 1.23 1.24 1.25 GLOBAL_ENTRY(vmx_dispatch_vexirq) 1.26 - VMX_SAVE_MIN_WITH_COVER_R19 1.27 + VMX_SAVE_MIN_WITH_COVER 1.28 alloc r14=ar.pfs,0,0,1,0 1.29 mov out0=r13 1.30 1.31 @@ -1424,8 +1421,7 @@ ENTRY(vmx_dispatch_tlb_miss) 1.32 END(vmx_dispatch_tlb_miss) 1.33 1.34 ENTRY(vmx_dispatch_break_fault) 1.35 - VMX_SAVE_MIN_WITH_COVER_R19 1.36 - ;; 1.37 + VMX_SAVE_MIN_WITH_COVER 1.38 ;; 1.39 alloc r14=ar.pfs,0,0,4,0 // now it's safe (must be first in insn group!) 1.40 mov out0=cr.ifa 1.41 @@ -1450,17 +1446,15 @@ END(vmx_dispatch_break_fault) 1.42 1.43 1.44 ENTRY(vmx_dispatch_interrupt) 1.45 - VMX_SAVE_MIN_WITH_COVER_R19 // uses r31; defines r2 and r3 1.46 + VMX_SAVE_MIN_WITH_COVER // uses r31; defines r2 and r3 1.47 ;; 1.48 - alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group 1.49 + alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group 1.50 mov out0=cr.ivr // pass cr.ivr as first arg 1.51 adds r3=8,r2 // set up second base pointer for SAVE_REST 1.52 ;; 1.53 ssm psr.ic 1.54 ;; 1.55 srlz.i 1.56 - ;; 1.57 - (p15) ssm psr.i 1.58 movl r14=ia64_leave_hypervisor 1.59 ;; 1.60 VMX_SAVE_REST