]> xenbits.xensource.com Git - xen.git/commitdiff
xen: arm: correct VTCR setting on arm32.
authorIan Campbell <ian.campbell@citrix.com>
Wed, 24 Sep 2014 14:13:28 +0000 (15:13 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 25 Sep 2014 12:02:59 +0000 (13:02 +0100)
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 <suriyan.r@gmail.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
Tested-by: Suriyan Ramasami <suriyan.r@gmail.com>
xen/arch/arm/p2m.c

index 4dccf7b929aea8d8ba1ccb28102193d19a73ac51..70929fca2ba9a603a0008944fe9aace0dc6001fa 100644 (file)
@@ -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 */