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 09/12] ia64: Set page size identity mapping of E

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 09/12] ia64: Set page size identity mapping of EFI in itlb_miss
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Tue, 27 Nov 2007 18:19:22 +0900
Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, Aron Griffis <aron@xxxxxx>, Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Tue, 27 Nov 2007 01:37:23 -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: <20071127091913.832166139@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
This could also be placed in alt_itlb_miss as the code
branches there. The code does seem to work when placed
in alt_itlb_miss. However I prefer the more minimal change.

Curiously, adding this code to dtlb_miss (or alt_dtlb_miss)
causes booting to fail.

Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Cc: Tristan Gingold <tgingold@xxxxxxx>
Cc: Alex Williamson <alex.williamson@xxxxxx>
Cc: Aron Griffis <aron@xxxxxx>
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:44:12.000000000 
-0700
+++ 20071119-ia64/xen/arch/ia64/xen/ivt.S       2007-11-25 22:44:20.000000000 
-0700
@@ -135,14 +135,22 @@
        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_itlb_miss
-(p9)   br.cond.spnt late_alt_itlb_miss
+       cmp.ne.and p8,p0=r25,r23        // rr[6] == XEN_EFI_RID
+       cmp.ne.and p9,p0=r25,r24        // rr[7] == XEN_EFI_RID
        ;;
+(p8)   br.cond.spnt fast_tlb_miss_reflect
+(p9)   br.cond.spnt fast_tlb_miss_reflect
 
-       br.cond.spnt fast_tlb_miss_reflect
+       // EFI PAGE size is IA64_GRANULE_SIZE
+       // itir's key should be 0, as should the reserved space
+       // thus we can just set itir = (IA64_GRANULE_SHIFT << 2)
+       movl r20=IA64_GRANULE_SHIFT
+       ;;
+       shl r20=r20,2
+       ;;
+       mov cr.itir=r20
+       ;;
+       br.cond.sptk late_alt_itlb_miss
 END(itlb_miss)
 
        .org ia64_ivt+0x0800

-- 

-- 
Horms


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