aboutsummaryrefslogtreecommitdiff
path: root/src/arch/arm64/armv8/bootblock.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm64/armv8/bootblock.S')
-rw-r--r--src/arch/arm64/armv8/bootblock.S19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/arch/arm64/armv8/bootblock.S b/src/arch/arm64/armv8/bootblock.S
index 4a9fea9af6..e5758bca0d 100644
--- a/src/arch/arm64/armv8/bootblock.S
+++ b/src/arch/arm64/armv8/bootblock.S
@@ -16,21 +16,14 @@
#include <arch/asm.h>
+/* NOTE: When making changes to general ARM64 initialization, keep in mind that
+ * there are other CPU entry points, using BOOTBLOCK_CUSTOM or entering the CPU
+ * in a later stage (like Tegra). Changes should generally be put into
+ * arm64_cpu_init so they can be shared between those instances. */
+
ENTRY(_start)
- /* Initialize PSTATE, SCTLR and caches to clean state. */
+ /* Initialize PSTATE, SCTLR and caches to clean state, set up stack. */
bl arm64_init_cpu
- /* Initialize stack with sentinel value to later check overflow. */
- ldr x0, =_stack
- ldr x1, =_estack
- ldr x2, =0xdeadbeefdeadbeef
-stack_init_loop:
- stp x2, x2, [x0], #16
- cmp x0, x1
- bne stack_init_loop
-
- /* Leave a line of beef dead for easier visibility in stack dumps. */
- sub sp, x0, #16
-
bl main
ENDPROC(_start)