path: root/plat/fvp/platform.h
diff options
authorAndrew Thoelke <andrew.thoelke@arm.com>2014-03-20 10:48:23 +0000
committerAndrew Thoelke <andrew.thoelke@arm.com>2014-04-15 15:49:29 +0100
commit2bf28e620a6f05700753a2b45a888c6623e20723 (patch)
treec35374e36508ddf0c10324e9b511c983655213e4 /plat/fvp/platform.h
parent9c2c763d22469b0f73d76469442b474c08497e7a (diff)
Allocate single stacks for BL1 and BL2
The BL images share common stack management code which provides one coherent and one cacheable stack for every CPU. BL1 and BL2 just execute on the primary CPU during boot and do not require the additional CPU stacks. This patch provides separate stack support code for UP and MP images, substantially reducing the RAM usage for BL1 and BL2 for the FVP platform. This patch also provides macros for declaring stacks and calculating stack base addresses to improve consistency where this has to be done in the firmware. The stack allocation source files are now included via platform.mk rather than the common BLx makefiles. This allows each platform to select the appropriate MP/UP stack support for each BL image. Each platform makefile must be updated when including this commit. Fixes ARM-software/tf-issues#76 Change-Id: Ia251f61b8148ffa73eae3f3711f57b1ffebfa632
Diffstat (limited to 'plat/fvp/platform.h')
1 files changed, 10 insertions, 1 deletions
diff --git a/plat/fvp/platform.h b/plat/fvp/platform.h
index 5f4adc3..c594357 100644
--- a/plat/fvp/platform.h
+++ b/plat/fvp/platform.h
@@ -47,7 +47,16 @@
* Generic platform constants
-#define PLATFORM_STACK_SIZE 0x800
+/* Size of cacheable stacks */
+#define PLATFORM_STACK_SIZE 0x800
+/* Size of coherent stacks for debug and release builds */
+#if DEBUG
+#define PCPU_DV_MEM_STACK_SIZE 0x400
+#define PCPU_DV_MEM_STACK_SIZE 0x300
#define FIRMWARE_WELCOME_STR "Booting trusted firmware boot loader stage 1\n\r"