> TPL builds today don't need to call into firmware or set up the MMU
> (if this changes, it should be controlled through a config option
> whether to include this or not), but include the needed support code
> for this anyway. By moving these unused low-level functions into
> seperate function-sections, the linker can garbage-collect the unused
> Note that (if DM support is enabled), there will be a call to the
> cache-flushing code from alloc_priv(...) in drivers/core/device.c.
> This then add 52 bytes of binary size (an increase from 20589 to 20641
> bytes) compared to completely removing this code.
> Even for a feature-rich TPL (including DM support as for the RK3368),
> this equates to a size difference of significantly more than 10% in
> TPL binary size.
> Signed-off-by: Philipp Tomsich <philipp.toms...@theobroma-systems.com>
> Reviewed-by: Simon Glass <s...@chromium.org>
> Changes in v4:
> - removes spurious change to Makefile
> Changes in v3:
> - change to use function-sections (instead of disabling at the
> Makefile-level for TPL builds) per Tom's suggestion
> Changes in v2: None
> arch/arm/cpu/armv8/cache.S | 22 ++++++++++++++++++++++
> arch/arm/cpu/armv8/tlb.S | 4 +++-
> arch/arm/cpu/armv8/transition.S | 6 ++++++
> 3 files changed, 31 insertions(+), 1 deletion(-)
Applied to u-boot-rockchip, thanks!
U-Boot mailing list