[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [patch 05/12] ia64: Add identity mapping of EFI memory to dtlb_miss



Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Cc: Tristan Gingold <tgingold@xxxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

Index: 20071119-ia64/xen/arch/ia64/xen/ivt.S
===================================================================
--- 20071119-ia64.orig/xen/arch/ia64/xen/ivt.S  2007-11-25 21:37:45.000000000 
-0700
+++ 20071119-ia64/xen/arch/ia64/xen/ivt.S       2007-11-25 21:44:37.000000000 
-0700
@@ -138,6 +138,28 @@
        /* If address belongs to VMM, go to alt tlb handler */
        cmp.eq p6,p0=0x1e,r17
 (p6)   br.cond.spnt    late_alt_dtlb_miss
+
+       // If it is an EFI address then must have XEN_EFI_RID set
+       // And if that is true, go to alt tlb handler
+       // (r17 == 0x18 && rr[6] == XEN_EFI_RID) ||
+       // (r17 == 0x1c && rr[7] == XEN_EFI_RID)
+       mov r23=6
+       mov r24=7
+       ;;
+       mov r23=rr[r23]
+       mov r24=rr[r24]
+       ;;
+       mov r25=XEN_EFI_RID
+       cmp.eq p8,p0=0x18,r17           // 0xc...
+       cmp.eq p9,p0=0x1c,r17           // 0xe...
+       ;;
+       cmp.eq.and p8,p0=r25,r23        // rr[6] == XEN_EFI_RID
+       cmp.eq.and p9,p0=r25,r24        // rr[7] == XEN_EFI_RID
+       ;;
+(p8)   br.cond.spnt late_alt_dtlb_miss
+(p9)   br.cond.spnt late_alt_dtlb_miss
+       ;;
+
        br.cond.sptk fast_tlb_miss_reflect
        ;;
 END(dtlb_miss)

-- 

-- 
Horms


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

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