From: Ian Campbell Date: Wed, 24 Sep 2014 14:13:28 +0000 (+0100) Subject: xen: arm: correct VTCR setting on arm32. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4326 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3a7e3cd331d50c91debaf68df64e74a2594d23c9;p=xen.git xen: arm: correct VTCR setting on arm32. 1c92a2aaf8c6 "xen: arm: support for up to 48-bit IPA addressing on arm64" inadvertently changes the VTCR setting for 32-bit from 0x80003558 to 0x80003518, changing the SL0 setting from 0x1 (p2m starts at L1) to 0x0 (p2m starts at L2). For some (inexplicable) reason this doesn't cause any issue on Arndale but it does on the OdroidXU. Reported-by: Suriyan Ramasami Signed-off-by: Ian Campbell Reviewed-by: Julien Grall Tested-by: Suriyan Ramasami --- diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 4dccf7b929..70929fca2b 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -1163,6 +1163,7 @@ void __init setup_virt_paging(void) #ifdef CONFIG_ARM_32 printk("P2M: 40-bit IPA\n"); val |= VTCR_T0SZ(0x18); /* 40 bit IPA */ + val |= VTCR_SL0(0x1); /* P2M starts at first level */ #else /* CONFIG_ARM_64 */ const struct { unsigned int pabits; /* Physical Address Size */