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: I3c37c8b5a1c0e7fd19411558a8f6d899fc283191
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/218732
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Vadim Bendebury 2014-09-17 16:29:15 -07:00 committed by chrome-internal-fetch
commit e02724cb4b
2 changed files with 12 additions and 10 deletions

View file

@ -23,18 +23,18 @@
.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)
bne $t0, $t1, 1b
addi $t0, $t0, 4
addi $t0, $t0, 4
/* Run main */
b main

View file

@ -55,15 +55,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 0x9b00e000
help
This allocates 6KB of stack space. One needs to verify that this is
sufficient.
config BOOTBLOCK_STACK_TOP
hex
default CBMEM_CONSOLE_PRERAM_BASE
config STACK_BOTTOM
hex
default 0x9b00f000
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 ro stage.
endif