WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-ia64-devel] [patch 13/15] ia64: kexec: Set page size identity mappi

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 13/15] ia64: kexec: Set page size identity mapping of EFI in alt_itlb_miss
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Tue, 04 Mar 2008 12:28:09 +0900
Cc: Aron Griffis <aron@xxxxxx>, Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Mon, 03 Mar 2008 19:52:46 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20080304032756.143441228@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
Set page size identity mapping of EFI in alt_itlb_miss
This will also set the page size for identity mapped EFI memory
handled by itlb_miss, as it branches to alt_itlb_miss.

Without this HP rx3600 machines will hang after freeing
init memory.

It is also possible to implement this change in itlb_miss,
but the more comprehensive approach seems beeter to me.

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

Index: xen-unstable.hg/xen/arch/ia64/xen/ivt.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/xen/ivt.S        2008-02-05 
16:18:56.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/ivt.S     2008-02-05 16:18:57.000000000 
+0900
@@ -194,14 +194,16 @@ late_alt_itlb_miss:
 (p7)   movl r17=(__DIRTY_BITS | _PAGE_AR_RWX)
        movl r19=(((1 << IA64_MAX_PHYS_BITS) - 1) & ~0xfff)
        ;;
-       mov r20=cr.itir
+       movl r20=(PAGE_SHIFT << 2)
        extr.u r23=r21,IA64_PSR_CPL0_BIT,2      // extract psr.cpl
        and r19=r19,r16         // clear ed, reserved bits, and PTE ctrl bits
        extr.u r18=r16,XEN_VIRT_UC_BIT,1        // extract UC bit
        ;;
        cmp.ne p8,p0=r0,r23     // psr.cpl != 0?
        or r19=r17,r19          // insert PTE control bits into r19
-       dep r20=0,r20,IA64_ITIR_KEY,IA64_ITIR_KEY_LEN   // clear the key 
+       ;;
+(p6)   movl r20=(IA64_GRANULE_SHIFT << 2)
+(p7)   movl r20=(IA64_GRANULE_SHIFT << 2)
        ;;
        dep r19=r18,r19,4,1     // set bit 4 (uncached) if access to UC area.
        mov cr.itir=r20         // set itir with cleared key

-- 

-- 
Horms


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

<Prev in Thread] Current Thread [Next in Thread>