On 02/20/2019 04:24 PM, Matthias Brugger wrote:

On 20/02/2019 15:19, Alexander Graf wrote:
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 <ag...@suse.de>
---
  arch/arm/cpu/armv8/Kconfig | 2 +-
  arch/arm/cpu/armv8/start.S | 6 +++---
  2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
index 1c12bbde75..fb061c8d73 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -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.
diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
index 12a78ee38b..87bff9408b 100644
--- a/arch/arm/cpu/armv8/start.S
+++ b/arch/arm/cpu/armv8/start.S
@@ -88,11 +88,11 @@ 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
-       adr     x0, vectors
+       adr     x0, _start
If there is any reason you want to set vbar_elX to _start instead the exception
entry point, then please explain this in the commit message :)

Ugh, no, that was a stale change from a previous experiment. Thanks for catching it!


Alex


other then that:
Reviewed-by: Matthias Brugger <mbrug...@suse.com>

  #else
  .macro        set_vbar, 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


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to