]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/arm/cpu/armv8/start.S
arm/arm64: implement a boot header capability
[people/ms/u-boot.git] / arch / arm / cpu / armv8 / start.S
index dceedd7100ae5e97660addd3eb3df21f0b0f86e7..c1a2f456d532597b3083e3ece2bdf38bfb66eaec 100644 (file)
 _start:
        b       reset
 
+#ifdef CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK
+/*
+ * Various SoCs need something special and SoC-specific up front in
+ * order to boot, allow them to set that in their boot0.h file and then
+ * use it here.
+ */
+#include <asm/arch/boot0.h>
+ARM_SOC_BOOT0_HOOK
+#endif
+
        .align 3
 
 .globl _TEXT_BASE
@@ -201,15 +211,6 @@ ENDPROC(apply_core_errata)
 WEAK(lowlevel_init)
        mov     x29, lr                 /* Save LR */
 
-#ifndef CONFIG_ARMV8_MULTIENTRY
-#if defined(CONFIG_GICV2) || defined(CONFIG_GICV3)
-       /*
-        * For single-entry systems the lowlevel init is very simple.
-        */
-       ldr     x0, =GICD_BASE
-       bl      gic_init_secure
-#endif
-#else /* CONFIG_ARMV8_MULTIENTRY is set */
 #if defined(CONFIG_GICV2) || defined(CONFIG_GICV3)
        branch_if_slave x0, 1f
        ldr     x0, =GICD_BASE
@@ -225,6 +226,7 @@ WEAK(lowlevel_init)
 #endif
 #endif
 
+#ifdef CONFIG_ARMV8_MULTIENTRY
        branch_if_master x0, x1, 2f
 
        /*