[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.