summaryrefslogtreecommitdiff
path: root/plat/allwinner
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2019-06-08 16:03:32 -0500
committerSamuel Holland <samuel@sholland.org>2019-06-08 16:48:39 -0500
commit8f31853babcee794d3f282c1584abe72e1bbd8b5 (patch)
tree8e480f33824d75db8cf9c6d29ad77bed836c9852 /plat/allwinner
parent74eaf2666df8cf33bf74f7c08b3d96ad2166c1d5 (diff)
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
Diffstat (limited to 'plat/allwinner')
-rw-r--r--plat/allwinner/common/allwinner-common.mk9
1 files changed, 9 insertions, 0 deletions
diff --git a/plat/allwinner/common/allwinner-common.mk b/plat/allwinner/common/allwinner-common.mk
index f20f5157..585079b7 100644
--- a/plat/allwinner/common/allwinner-common.mk
+++ b/plat/allwinner/common/allwinner-common.mk
@@ -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