[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] vti fault handler clean up: clean up ia64_leave_nested
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1197663884 25200 # Node ID 81cee3aa9e909f612b12f777abb9ba3e5a857f4f # Parent 40f15062d188b4fd8fefec15438b1738490492cc [IA64] vti fault handler clean up: clean up ia64_leave_nested The rse backing store is unchanged when nested interrupted case so that bsp related operation doesn't make sense. Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> --- xen/arch/ia64/vmx/vmx_entry.S | 37 ++++++++++++++++++++++--------------- 1 files changed, 22 insertions(+), 15 deletions(-) diff -r 40f15062d188 -r 81cee3aa9e90 xen/arch/ia64/vmx/vmx_entry.S --- a/xen/arch/ia64/vmx/vmx_entry.S Fri Dec 14 13:12:17 2007 -0700 +++ b/xen/arch/ia64/vmx/vmx_entry.S Fri Dec 14 13:24:44 2007 -0700 @@ -99,8 +99,6 @@ GLOBAL_ENTRY(ia64_leave_nested) bsw.0 // switch back to bank 0 (no stop bit required beforehand...) ;; ldf.fill f11=[r2] -// mov r18=r13 -// mov r21=r13 adds r16=PT(CR_IPSR)+16,r12 adds r17=PT(CR_IIP)+16,r12 ;; @@ -110,19 +108,26 @@ GLOBAL_ENTRY(ia64_leave_nested) ld8 r30=[r16],16 // load cr.ifs ld8 r25=[r17],16 // load ar.unat ;; +#ifndef XEN ld8 r26=[r16],16 // load ar.pfs ld8 r27=[r17],16 // load ar.rsc + cmp.eq p9,p0=r0,r0 // set p9 to indicate that we should restore cr.ifs + ;; + ld8 r24=[r16],16 // load ar.rnat (may be garbage) + ld8 r23=[r17],16 // load ar.bspstore (may be garbage) + ;; + ld8 r31=[r16],16 // load predicates +#else + ld8 r26=[r16],32 // load ar.pfs + ld8 r27=[r17],32 // load ar.rsc + ;; + ld8 r31=[r16],32 // load predicates +#endif + ld8 r22=[r17],16 // load b0 + ;; #ifndef XEN - cmp.eq p9,p0=r0,r0 // set p9 to indicate that we should restore cr.ifs -#endif - ;; - ld8 r24=[r16],16 // load ar.rnat (may be garbage) - ld8 r23=[r17],16// load ar.bspstore (may be garbage) - ;; - ld8 r31=[r16],16 // load predicates - ld8 r22=[r17],16 // load b0 - ;; - ld8 r19=[r16],16 // load ar.rsc value for "loadrs" + ld8 r19=[r16],16 // load ar.rsc value for "loadrs" +#endif ld8.fill r1=[r17],16 // load r1 ;; ld8.fill r12=[r16],16 @@ -135,9 +140,11 @@ GLOBAL_ENTRY(ia64_leave_nested) ld8.fill r2=[r17] ;; ld8.fill r3=[r16] - ;; - mov r16=ar.bsp // get existing backing store pointer - ;; +#ifndef XEN + ;; + mov r16=ar.bsp // get existing backing store pointer + ;; +#endif mov b0=r22 mov ar.pfs=r26 mov cr.ifs=r30 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |