summaryrefslogtreecommitdiff
path: root/src/arch/arm64/stage_entry.S
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-08-27 15:30:56 -0500
committerPatrick Georgi <pgeorgi@google.com>2015-03-27 08:04:07 +0100
commit30f08ff094a6d36ade1cdeb53ce6062852bed910 (patch)
treed76454fa0b98f72ffc9a1f55ba3d1cf6d568387f /src/arch/arm64/stage_entry.S
parenta5c7f6681074788e0a7bc1cb202162ceec67f36e (diff)
downloadcoreboot-30f08ff094a6d36ade1cdeb53ce6062852bed910.tar.xz
arm64: move seeding stack to C
Move the stack seeding out of assembly and into C so the code in stage_entry.S can more easily be used. The seeding of the stack doesn't touch at least 256 bytes to account for current usage at time fo the call. BUG=chrome-os-partner:31545 BRANCH=None TEST=Built and booted into kernel on ryu. Change-Id: Ib9659ec4265652461bde746140567f21533cc265 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: f478cfe175aa674cdfdbbd890663eeaad9d82b1f Original-Change-Id: I44004220a02b1ff06d27a0555eb4e96d9e213544 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/214770 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9014 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/arch/arm64/stage_entry.S')
-rw-r--r--src/arch/arm64/stage_entry.S26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/arch/arm64/stage_entry.S b/src/arch/arm64/stage_entry.S
index 1de8894f2a..86136555dc 100644
--- a/src/arch/arm64/stage_entry.S
+++ b/src/arch/arm64/stage_entry.S
@@ -74,30 +74,6 @@ ENTRY(cpu_get_exception_stack)
.quad _estack_exceptions
ENDPROC(cpu_get_exception_stack)
-
-ENTRY(seed_stack)
- /*
- * Initialize the stack to a known value. This is used to check for
- * stack overflow later in the boot process.
- */
- ldr x0, .stack_bottom
- mov x1, sp
- ldr x2, =0xdeadbeefdeadbeef
- ldr x3, =0x8
-
-init_stack_loop:
- str x2, [x0]
- add x0, x0, x3
- cmp x0, x1
- bne init_stack_loop
-
-load_stack:
- b arm64_init
- .align 4
- .stack_bottom:
- .quad _stack
-ENDPROC(seed_stack)
-
/*
* Boot strap the processor into a C environemnt. That consists of providing
* 16-byte aligned stack. The programming enviroment uses SP_EL0 as its main
@@ -123,7 +99,7 @@ ENTRY(arm64_c_environment)
bl cpu_get_stack
mov sp, x0
- b seed_stack
+ b arm64_init
ENDPROC(arm64_c_environment)
CPU_RESET_ENTRY(arm64_cpu_startup)