This will also set the protection key for identity mapped EFI memory
handled by dtlb_miss, as it branches to alt_dtlb_miss.
Without this HP rx3600 machines will not boot
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 22:53:36.000000000
-0700
+++ 20071119-ia64/xen/arch/ia64/xen/ivt.S 2007-11-25 23:16:52.000000000
-0700
@@ -225,8 +225,13 @@
;;
late_alt_dtlb_miss:
mov r20=cr.isr
+ cmp.eq p6,p0=0x18,r22 // address == 0xe...
+ cmp.eq p7,p0=0x1c,r22 // address == 0xf...
movl r17=PAGE_KERNEL
mov r21=cr.ipsr
+ ;;
+(p6) movl r17=(__DIRTY_BITS | _PAGE_AR_RWX | _PAGE_PL_PRIV | _PAGE_MA_UC)
+(p7) movl r17=(__DIRTY_BITS | _PAGE_AR_RWX)
movl r19=(((1 << IA64_MAX_PHYS_BITS) - 1) & ~0xfff)
;;
extr.u r23=r21,IA64_PSR_CPL0_BIT,2 // extract psr.cpl
--
--
Horms
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|