allwinner: Disable USE_COHERENT_MEM
authorAndre Przywara <andre.przywara@arm.com>
Thu, 11 Oct 2018 21:14:30 +0000 (22:14 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Sat, 20 Oct 2018 15:23:59 +0000 (16:23 +0100)
According to the documentation, platforms may choose to trade memory
footprint for performance (and elegancy) by not providing a separately
mapped coherent page.

Since a debug build is getting close to the SRAM size limit already, this
allows us to save about 3.5KB of BSS and have some room for future
enhancements.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
plat/allwinner/common/allwinner-common.mk
plat/allwinner/common/include/platform_def.h
plat/allwinner/common/sunxi_common.c

index 15888a8dc8f829912daa709b9d66d1ce7d9ba3c6..8c772bfc2a3a2dc20f642c1f849c67713723303b 100644 (file)
@@ -52,3 +52,6 @@ SEPARATE_CODE_AND_RODATA      :=      1
 
 # BL31 gets loaded alongside BL33 (U-Boot) by U-Boot's SPL
 RESET_TO_BL31                  :=      1
+
+# We are short on memory, so save 3.5KB by not having an extra coherent page.
+USE_COHERENT_MEM               :=      0
index b7cf30f5a3e25a7b896f8a9e1591d5fabf8f44c6..4f9c00ed13e85565ab22731752a2b696250d6f62 100644 (file)
@@ -27,7 +27,7 @@
 #define CACHE_WRITEBACK_SHIFT          6
 #define CACHE_WRITEBACK_GRANULE                (1 << CACHE_WRITEBACK_SHIFT)
 
-#define MAX_MMAP_REGIONS               (4 + PLATFORM_MMAP_REGIONS)
+#define MAX_MMAP_REGIONS               (3 + PLATFORM_MMAP_REGIONS)
 #define MAX_XLAT_TABLES                        1
 
 #define PLAT_MAX_PWR_LVL_STATES                U(2)
index ef6f04c7d78f5114dfe0edba03eb1721aacf8779..37cbf98adaaf1fb6523b02bc08644aa1c002789d 100644 (file)
@@ -51,9 +51,6 @@ void sunxi_configure_mmu_el3(int flags)
        mmap_add_region(BL_RO_DATA_BASE, BL_RO_DATA_BASE,
                        BL_RO_DATA_END - BL_RO_DATA_BASE,
                        MT_RO_DATA | MT_SECURE);
-       mmap_add_region(BL_COHERENT_RAM_BASE, BL_COHERENT_RAM_BASE,
-                       BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE,
-                       MT_DEVICE | MT_RW | MT_SECURE);
        mmap_add(sunxi_mmap);
        init_xlat_tables();