[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [patch 09/12] ia64: Set page size identity mapping of EFI in itlb_miss
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |