[U-Boot] [PATCH 0/2] armv8: reduce exception handling code size
Andre Przywara
andre.przywara at arm.com
Tue Jul 24 23:56:59 UTC 2018
These two patches try to address the issue that the default ARMv8
exception vectors take up quite some code space, but don't provide much
benefit apart from a crash dump. Since the overhead might not be justified
for some very size-restricted SPLs, we try to reduce the code size:
- Patch 1/2 stuffs the shared register save/restore code into the gaps
between the exception entries, which have to follow an architectural
128 byte alignment requirement.
This reduces the code size by about 250 bytes, while still having the
full functionality.
- Patch 2/2 goes much further by introducing a Kconfig symbol allowing to
drop the exception vector table for the SPL at all, at the expense of
losing the crash dump feature. On the Allwinner A64 SPL this saves about
3KB of code, which sound quite worthwhile with our chronically tight
SPL builds.
The last feature is off by default, but could be selected manually in
menuconfig to fix too big SPL builds.
Cheers,
Andre.
Andre Przywara (2):
armv8: Reduce exception handling code
armv8: make SPL exception vectors optional
arch/arm/cpu/armv8/Kconfig | 11 ++++
arch/arm/cpu/armv8/Makefile | 4 ++
arch/arm/cpu/armv8/exceptions.S | 132 +++++++++++++++++++++++++---------------
arch/arm/cpu/armv8/start.S | 19 ++++--
4 files changed, 112 insertions(+), 54 deletions(-)
--
2.14.4
More information about the U-Boot
mailing list