[U-Boot] [PATCH] armv8: Disable exception vectors in SPL by default
Alexander Graf
agraf at suse.de
Wed Feb 20 16:13:03 UTC 2019
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 <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 :)
Ugh, no, that was a stale change from a previous experiment. Thanks for
catching it!
Alex
>
> 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