allwinner: Disable unused features to save space

As all Allwinner platforms are single-cluster A53 chips, we can disable
support for newer, unsupported architecture extensions. We can also
avoid some cache maintenance code, since no platform-specific setup is
required to enable coherency.

These changes reduce the size of .text on a default build with GCC 9.1
enough that .vectors again fits in the second half of a page, instead
of requiring its own page.

This commit was boot-tested on the Pinebook.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: Ib90454ef0c798d5e714b7780c585be0b1ed49c6d
This commit is contained in:
Samuel Holland 2019-06-08 16:03:32 -05:00
parent 74eaf2666d
commit 8f31853bab
1 changed files with 9 additions and 0 deletions

View File

@ -38,6 +38,12 @@ BL31_SOURCES += drivers/arm/gic/common/gic_common.c \
# The bootloader is guaranteed to only run on CPU 0 by the boot ROM.
COLD_BOOT_SINGLE_CPU := 1
# Do not enable SPE (not supported on ARM v8.0).
ENABLE_SPE_FOR_LOWER_ELS := 0
# Do not enable SVE (not supported on ARM v8.0).
ENABLE_SVE_FOR_NS := 0
# Enable workarounds for Cortex-A53 errata. Allwinner uses at least r0p4.
ERRATA_A53_835769 := 1
ERRATA_A53_843419 := 1
@ -56,3 +62,6 @@ RESET_TO_BL31 := 1
# We are short on memory, so save 3.5KB by not having an extra coherent page.
USE_COHERENT_MEM := 0
# This platform is single-cluster and does not require coherency setup.
WARMBOOT_ENABLE_DCACHE_EARLY := 1