armv8: Disable exception vectors in SPL by default
authorAlexander Graf <agraf@suse.de>
Wed, 20 Feb 2019 16:14:49 +0000 (17:14 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 22 Mar 2019 16:15:03 +0000 (12:15 -0400)
Commit 1416e2d2253 ("armv8: make SPL exception vectors optional") had a
typo in it which effectively disabled exception handling in SPL code always.

Since nobody complained, I guess we may as well disable exception handling
in SPL always by default.

So fix the bug to make the config option effective, but disable exception
handling in SPL by default. This gets us to the same functionality as before
by default, but with much less code included in the binary.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
arch/arm/cpu/armv8/Kconfig
arch/arm/cpu/armv8/start.S

index f0536038d680225b91309c19dd784eb89c2d8a2c..7405c3a4a1c4a5688df9d0759d63d37d5ebcda9e 100644 (file)
@@ -3,7 +3,7 @@ if ARM64
 config ARMV8_SPL_EXCEPTION_VECTORS
        bool "Install crash dump exception vectors"
        depends on SPL
-       default y
+       default n
        help
          The default exception vector table is only used for the crash
          dump, but still takes quite a lot of space in the image size.
index 12a78ee38b41e629a2af5b5aac8cf3351f9a2fbb..fe52166e28f08f637094dfb714bebe6bc2e529ad 100644 (file)
@@ -88,7 +88,7 @@ pie_fixup_done:
        bl reset_sctrl
 #endif
 
-#if defined(CONFIG_ARMV8__SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD)
+#if defined(CONFIG_ARMV8_SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD)
 .macro set_vbar, regname, reg
        msr     \regname, \reg
 .endm
@@ -354,7 +354,7 @@ ENDPROC(smp_kick_all_cpus)
 /*-----------------------------------------------------------------------*/
 
 ENTRY(c_runtime_cpu_setup)
-#if defined(CONFIG_ARMV8__SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD)
+#if defined(CONFIG_ARMV8_SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD)
        /* Relocate vBAR */
        adr     x0, vectors
        switch_el x1, 3f, 2f, 1f