[U-Boot] [PATCH] armv8: Disable exception vectors in SPL by default
Matthias Brugger
matthias.bgg at gmail.com
Wed Feb 20 15:24:29 UTC 2019
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 <agraf at 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 :)
other then that:
Reviewed-by: Matthias Brugger <mbrugger at 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
>
More information about the U-Boot
mailing list