[U-Boot] [V2] [PATCH 3/8] sun8i: Extend stack size to allow for up to 8 CPUs
tpearson at raptorengineering.com
tpearson at raptorengineering.com
Tue May 17 21:35:36 CEST 2016
The existing stack size was only sufficient for four CPUs.
Keep lower stack range address page alignment intact, and
move the lower stack range address down a page. This has
the effect of expanding the stack range by a single page,
which is enough for four more CPUs.
Signed-off-by: Timothy Pearson <tpearson at raptorengineering.com>
---
arch/arm/cpu/armv7/psci.S | 1 +
arch/arm/cpu/armv7/sunxi/psci_sun6i.S | 4 ++--
arch/arm/cpu/armv7/sunxi/psci_sun7i.S | 4 ++--
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/arm/cpu/armv7/psci.S b/arch/arm/cpu/armv7/psci.S
index 87c0c0b..18a0cc2 100644
--- a/arch/arm/cpu/armv7/psci.S
+++ b/arch/arm/cpu/armv7/psci.S
@@ -203,6 +203,7 @@ ENTRY(psci_get_cpu_stack_top)
add r5, r5, #0x2000 @ Skip two pages
lsr r5, r5, #12 @ Align to start of page
lsl r5, r5, #12
+ add r5, r5, #0x1000 @ Skip an additional page
sub r5, r5, #4 @ reserve 1 word for target PC
sub r0, r5, r0 @ here's our stack!
diff --git a/arch/arm/cpu/armv7/sunxi/psci_sun6i.S b/arch/arm/cpu/armv7/sunxi/psci_sun6i.S
index 90b5bfd..d35b63e 100644
--- a/arch/arm/cpu/armv7/sunxi/psci_sun6i.S
+++ b/arch/arm/cpu/armv7/sunxi/psci_sun6i.S
@@ -32,8 +32,8 @@
* ._secure_text section
* text_end to ALIGN_PAGE(text_end):
* nothing
- * ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x1000)
- * 1kB of stack per CPU (4 CPUs max).
+ * ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x2000)
+ * 1kB of stack per CPU (8 CPUs max).
*/
.pushsection ._secure.text, "ax"
diff --git a/arch/arm/cpu/armv7/sunxi/psci_sun7i.S b/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
index e15d587..b8ac50e 100644
--- a/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
+++ b/arch/arm/cpu/armv7/sunxi/psci_sun7i.S
@@ -32,8 +32,8 @@
* ._secure_text section
* text_end to ALIGN_PAGE(text_end):
* nothing
- * ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x1000)
- * 1kB of stack per CPU (4 CPUs max).
+ * ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x2000)
+ * 1kB of stack per CPU (8 CPUs max).
*/
.pushsection ._secure.text, "ax"
--
2.8.0.rc3
More information about the U-Boot
mailing list