summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2014-09-17 16:29:15 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-03-23 15:34:36 +0100
commit197b801f192dff36eb24c70886158658b5ad164d (patch)
tree86dbd977b6a866e823217ee8df978dc441ac55a6
parentcac5022e2fbd8f39ef24df1549786a4ab25db364 (diff)
downloadcoreboot-197b801f192dff36eb24c70886158658b5ad164d.tar.gz
coreboot-197b801f192dff36eb24c70886158658b5ad164d.tar.bz2
coreboot-197b801f192dff36eb24c70886158658b5ad164d.zip
mips: fix bootblock stack definitions
Bootblock stack on Danube should be SRAM and defined separately from the rest of the coreboot stack. The actual coreboot stack will be defined later. The top of the stack should be above the bottom, as the stack grows towards lower addresses. BUG=chrome-os-partner:31438 TEST=ran bootblock on simulator under codescape, observed stack properly initialized. Change-Id: I43d2bae5f85a09a95ca0103b253399bd92555aef Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: e02724cb4b30990ebaa631dabb45917af29d6437 Original-Change-Id: I3c37c8b5a1c0e7fd19411558a8f6d899fc283191 Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/218732 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/8767 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/arch/mips/bootblock.inc4
-rw-r--r--src/soc/imgtec/danube/Kconfig16
2 files changed, 11 insertions, 9 deletions
diff --git a/src/arch/mips/bootblock.inc b/src/arch/mips/bootblock.inc
index 90cb386bf197..dbde803b14b2 100644
--- a/src/arch/mips/bootblock.inc
+++ b/src/arch/mips/bootblock.inc
@@ -23,13 +23,13 @@
.globl _start
_start:
/* Set the stack pointer */
- li $sp, CONFIG_STACK_TOP
+ li $sp, CONFIG_BOOTBLOCK_STACK_TOP
/*
* Initialise the stack to a known value, used later to check for
* overflow.
*/
- li $t0, CONFIG_STACK_BOTTOM
+ li $t0, CONFIG_BOOTBLOCK_STACK_BOTTOM
addi $t1, $sp, -4
li $t2, 0xdeadbeef
1: sw $t2, 0($t0)
diff --git a/src/soc/imgtec/danube/Kconfig b/src/soc/imgtec/danube/Kconfig
index ba0414614ad5..b41d267ed4bf 100644
--- a/src/soc/imgtec/danube/Kconfig
+++ b/src/soc/imgtec/danube/Kconfig
@@ -57,15 +57,17 @@ config CBMEM_CONSOLE_PRERAM_BASE
Allocate 4KB to the pre-ram console buffer, we should be able to use
GRAM eventually and have a much larger buffer.
-config STACK_TOP
+config BOOTBLOCK_STACK_BOTTOM
hex
- default CBMEM_CONSOLE_PRERAM_BASE
+ default 0x9b00e000
+ help
+ This allocates 6KB of stack space. One needs to verify that this is
+ sufficient.
-config STACK_BOTTOM
+config BOOTBLOCK_STACK_TOP
hex
- default 0x9b00f000
+ default CBMEM_CONSOLE_PRERAM_BASE
help
- Allocating 12KB for the stack, should be able to have more once GRAM
- is available.
-
+ Bootblock stack starts immediately under the CBMEM console buffer,
+ stack location might be changed by romstage.
endif