]> git.sur5r.net Git - u-boot/commitdiff
ARM: enable ARMv7 virt support for the Arndale board
authorAndre Przywara <andre.przywara@linaro.org>
Fri, 1 Aug 2014 11:35:44 +0000 (13:35 +0200)
committerTom Rini <trini@ti.com>
Sat, 30 Aug 2014 11:46:38 +0000 (07:46 -0400)
To enable hypervisors utilizing the ARMv7 virtualization extension
on the Arndale board, add the simple SMP pen address writer function
and add the required configuration variables to switch all cores to
HYP mode before launching the OS.
This allows booting KVM and Xen directly from u-boot.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
board/samsung/arndale/arndale.c
include/configs/arndale.h

index ef88314f7db38a63ef9d87d5b16f41fb8d88bb25..83fd3bd754bdf1549a7a9fe65a8929649feb2f2a 100644 (file)
@@ -117,3 +117,13 @@ int checkboard(void)
        return 0;
 }
 #endif
+
+#ifdef CONFIG_S5P_PA_SYSRAM
+void smp_set_core_boot_addr(unsigned long addr, int corenr)
+{
+       writel(addr, CONFIG_S5P_PA_SYSRAM);
+
+       /* make sure this write is really executed */
+       __asm__ volatile ("dsb\n");
+}
+#endif
index 64b54ab22b02cc3d33a1a0418de9b7f113062564..75f99337780179d2d204d3dc013dffb80ff073d7 100644 (file)
 /* Enable Time Command */
 #define CONFIG_CMD_TIME
 
+#define CONFIG_S5P_PA_SYSRAM   0x02020000
+#define CONFIG_SMP_PEN_ADDR    CONFIG_S5P_PA_SYSRAM
+
+/* The PERIPHBASE in the CBAR register is wrong on the Arndale, so override it */
+#define CONFIG_ARM_GIC_BASE_ADDRESS    0x10480000
+
+#define CONFIG_ARMV7_VIRT
+
 #endif /* __CONFIG_H */