[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-ia64-devel
Subject:    [Xen-ia64-devel] [patch 12/16] Kexec: Set protection key of
From:       Simon Horman <horms () verge ! net ! au>
Date:       2008-01-25 8:20:10
Message-ID: 20080125083443.558852040 () vergenet ! net
[Download RAW message or body]

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@valinux.co.jp>
Cc: Tristan Gingold <tgingold@free.fr>
Signed-off-by: Simon Horman <horms@verge.net.au>

--- 
Thu, 06 Dec 2007 16:11:35 +0900
* Fix up bogus hex values in comments

Index: xen-unstable.hg/xen/arch/ia64/xen/ivt.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/xen/ivt.S	2008-01-25 13:51:15.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/ivt.S	2008-01-25 13:52:44.000000000 +0900
@@ -217,8 +217,15 @@ ENTRY(alt_dtlb_miss)
 	;;
 late_alt_dtlb_miss:
 	mov r20=cr.isr
+	extr.u r22=r16,59,5
+	;;
+	cmp.eq p6,p0=0x18,r22   // address == 0xc...
+	cmp.eq p7,p0=0x1c,r22   // address == 0xe...
 	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@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic