[U-Boot] [PATCH v2] armv8: Disable exception vectors in SPL by default
André Przywara
andre.przywara at arm.com
Wed Feb 20 20:21:13 UTC 2019
On 20/02/2019 16:14, 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.
Thanks for uncovering this embarrassing bug!
> 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.
It feels a bit like cheating to just just disable that, but you have a
point with nobody complaining so far. And since it helps me tremendously
with the H6 and new SPL features:
> Signed-off-by: Alexander Graf <agraf at suse.de>
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre.
> ---
>
> v1 -> v2:
>
> - remove incorrect stale change
> ---
> arch/arm/cpu/armv8/Kconfig | 2 +-
> arch/arm/cpu/armv8/start.S | 4 ++--
> 2 files changed, 3 insertions(+), 3 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..fe52166e28 100644
> --- a/arch/arm/cpu/armv8/start.S
> +++ b/arch/arm/cpu/armv8/start.S
> @@ -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
>
More information about the U-Boot
mailing list