[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