[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [IA64] put hot vhpt entry at VHPT HEADER
# HG changeset patch # User awilliam@xxxxxxxxxxx # Node ID 07a75bf044b4811de09695a26327f64df70fb80f # Parent 4de0ff0c1357b250bb7440ff5cc894309266d67a [IA64] put hot vhpt entry at VHPT HEADER Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx> --- xen/arch/ia64/vmx/vmx_ivt.S | 125 ++++++++++++++++++++++++++++++-------------- 1 files changed, 88 insertions(+), 37 deletions(-) diff -r 4de0ff0c1357 -r 07a75bf044b4 xen/arch/ia64/vmx/vmx_ivt.S --- a/xen/arch/ia64/vmx/vmx_ivt.S Fri May 12 08:10:01 2006 -0600 +++ b/xen/arch/ia64/vmx/vmx_ivt.S Fri May 12 08:13:18 2006 -0600 @@ -143,32 +143,58 @@ ENTRY(vmx_itlb_miss) thash r17 = r16 ;; ttag r20 = r16 + mov r18 = r17 ;; vmx_itlb_loop: cmp.eq p6,p0 = r0, r17 -(p6) br vmx_itlb_out - ;; - adds r22 = VLE_TITAG_OFFSET, r17 - adds r23 = VLE_CCHAIN_OFFSET, r17 - ;; - ld8 r24 = [r22] - ld8 r25 = [r23] - ;; - lfetch [r25] - cmp.eq p6,p7 = r20, r24 - ;; -(p7) mov r17 = r25; -(p7) br.sptk vmx_itlb_loop +(p6)br vmx_itlb_out + ;; + adds r16 = VLE_TITAG_OFFSET, r17 + adds r19 = VLE_CCHAIN_OFFSET, r17 + ;; + ld8 r22 = [r16] + ld8 r23 = [r19] + ;; + lfetch [r23] + cmp.eq p6,p7 = r20, r22 + ;; +(p7)mov r17 = r23; +(p7)br.sptk vmx_itlb_loop ;; adds r23 = VLE_PGFLAGS_OFFSET, r17 adds r24 = VLE_ITIR_OFFSET, r17 ;; - ld8 r26 = [r23] - ld8 r25 = [r24] - ;; - mov cr.itir = r25 - ;; - itc.i r26 + ld8 r25 = [r23] + ld8 r26 = [r24] + ;; + cmp.eq p6,p7=r18,r17 +(p6) br vmx_itlb_loop1 + ;; + ld8 r27 = [r18] + ;; + extr.u r19 = r27, 56, 8 + extr.u r20 = r25, 56, 8 + ;; + dep r27 = r20, r27, 56, 8 + dep r25 = r19, r25, 56, 8 + ;; + st8 [r18] = r25,8 + st8 [r23] = r27 + ;; + ld8 r28 = [r18] + ;; + st8 [r18] = r26,8 + st8 [r24] = r28 + ;; + ld8 r30 = [r18] + ;; + st8 [r18] = r22 + st8 [r16] = r30 + ;; +vmx_itlb_loop1: + mov cr.itir = r26 + ;; + itc.i r25 ;; srlz.i ;; @@ -202,39 +228,64 @@ ENTRY(vmx_dtlb_miss) mov r29=cr.ipsr; ;; tbit.z p6,p7=r29,IA64_PSR_VM_BIT; - (p6)br.sptk vmx_alt_dtlb_miss_1 -//(p6)br.sptk vmx_fault_2 +(p6)br.sptk vmx_alt_dtlb_miss_1 mov r16 = cr.ifa ;; thash r17 = r16 ;; ttag r20 = r16 + mov r18 = r17 ;; vmx_dtlb_loop: cmp.eq p6,p0 = r0, r17 (p6)br vmx_dtlb_out ;; - adds r22 = VLE_TITAG_OFFSET, r17 - adds r23 = VLE_CCHAIN_OFFSET, r17 - ;; - ld8 r24 = [r22] - ld8 r25 = [r23] - ;; - lfetch [r25] - cmp.eq p6,p7 = r20, r24 - ;; -(p7)mov r17 = r25; + adds r16 = VLE_TITAG_OFFSET, r17 + adds r19 = VLE_CCHAIN_OFFSET, r17 + ;; + ld8 r22 = [r16] + ld8 r23 = [r19] + ;; + lfetch [r23] + cmp.eq p6,p7 = r20, r22 + ;; +(p7)mov r17 = r23; (p7)br.sptk vmx_dtlb_loop ;; adds r23 = VLE_PGFLAGS_OFFSET, r17 adds r24 = VLE_ITIR_OFFSET, r17 ;; - ld8 r26 = [r23] - ld8 r25 = [r24] - ;; - mov cr.itir = r25 - ;; - itc.d r26 + ld8 r25 = [r23] + ld8 r26 = [r24] + ;; + cmp.eq p6,p7=r18,r17 +(p6) br vmx_dtlb_loop1 + ;; + ld8 r27 = [r18] + ;; + extr.u r19 = r27, 56, 8 + extr.u r20 = r25, 56, 8 + ;; + dep r27 = r20, r27, 56, 8 + dep r25 = r19, r25, 56, 8 + ;; + st8 [r18] = r25,8 + st8 [r23] = r27 + ;; + ld8 r28 = [r18] + ;; + st8 [r18] = r26,8 + st8 [r24] = r28 + ;; + ld8 r30 = [r18] + ;; + st8 [r18] = r22 + st8 [r16] = r30 + ;; +vmx_dtlb_loop1: + mov cr.itir = r26 + ;; + itc.d r25 ;; srlz.d; ;; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |