summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/armv7/bootblock.inc2
-rw-r--r--src/arch/armv7/coreboot_ram.ld12
-rw-r--r--src/cpu/samsung/exynos5250/Kconfig23
3 files changed, 22 insertions, 15 deletions
diff --git a/src/arch/armv7/bootblock.inc b/src/arch/armv7/bootblock.inc
index efe3d67bd1..c8cfe5eb37 100644
--- a/src/arch/armv7/bootblock.inc
+++ b/src/arch/armv7/bootblock.inc
@@ -94,4 +94,4 @@ wait_for_interrupt:
*/
.align 2
.Stack:
- .word CONFIG_IRAM_STACK
+ .word CONFIG_STACK_TOP
diff --git a/src/arch/armv7/coreboot_ram.ld b/src/arch/armv7/coreboot_ram.ld
index 0644e3669d..2edf8e3b26 100644
--- a/src/arch/armv7/coreboot_ram.ld
+++ b/src/arch/armv7/coreboot_ram.ld
@@ -99,15 +99,6 @@ SECTIONS
* this line.
*/
- . = ALIGN(CONFIG_STACK_SIZE);
-
- _stack = .;
- .stack . : {
- /* Reserve a stack for each possible cpu */
- . += CONFIG_MAX_CPUS*CONFIG_STACK_SIZE;
- }
- _estack = .;
-
_heap = .;
.heap . : {
/* Reserve CONFIG_HEAP_SIZE bytes for the heap */
@@ -116,6 +107,9 @@ SECTIONS
}
_eheap = .;
+ _stack = CONFIG_STACK_BOTTOM;
+ _estack = CONFIG_STACK_TOP;
+
/* The ram segment. This includes all memory used by the memory
* resident copy of coreboot, except the tables that are produced on
* the fly, but including stack and heap.
diff --git a/src/cpu/samsung/exynos5250/Kconfig b/src/cpu/samsung/exynos5250/Kconfig
index 2869d7689e..01268e44e5 100644
--- a/src/cpu/samsung/exynos5250/Kconfig
+++ b/src/cpu/samsung/exynos5250/Kconfig
@@ -23,7 +23,7 @@ config BL1_SIZE_KB
# 0x0202_0000: vendor-provided BL1
# 0x0202_3400: bootblock, assume up to 32KB in size
# 0x0203_0000: romstage, assume up to 128KB in size.
-# 0x0207_7f00: stack pointer
+# 0x0207_8000: stack pointer
# this may be used to calculate offsets
config IRAM_BOTTOM
@@ -46,6 +46,23 @@ config ROMSTAGE_SIZE
hex
default 0x10000
+# Stack may reside in either IRAM or DRAM. We will define it to live
+# at the top of IRAM for now.
+#
+# Stack grows downward, push operation stores register contents in
+# consecutive memory locations ending just below SP
+config STACK_TOP
+ hex
+ default 0x02078000
+
+config STACK_BOTTOM
+ hex
+ default 0x02077000
+
+config STACK_SIZE
+ hex
+ default 0x1000
+
config CBFS_ROM_OFFSET
# Calculated by BL1 + max bootblock size.
hex "offset of CBFS data in ROM"
@@ -73,10 +90,6 @@ config SPI_IMAGE_HACK
hex
default 0x02060000
-config IRAM_STACK
- hex
- default 0x02077f00
-
# FIXME: other magic numbers that should probably go away
config XIP_ROM_SIZE
hex