Nitheesh Sekar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32388
Change subject: TEMP: NOT FOR REVIEW: Use absolute jump address ......................................................................
TEMP: NOT FOR REVIEW: Use absolute jump address
When the qcs405 soc jumps from qc_sec to bootblock, the pc is at 0x0 address mapped to actual SRAM address(0x8c30000). The mapping happens in a hardware block 'boot-remapper' only for a maximum of 128K possible. If the bootflow continues from the 0x0 address, bootblock references variable beyond 128K crashing the boot.
So change the PC to start execting from the absolute address instead.
Change-Id: I004798ac73c14a431f2d561099a30295c5675abc Signed-off-by: Nitheesh Sekar nsekar@codeaurora.org --- M src/arch/arm64/armv8/bootblock.S 1 file changed, 4 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/88/32388/1
diff --git a/src/arch/arm64/armv8/bootblock.S b/src/arch/arm64/armv8/bootblock.S index e5758bc..7dc8b0f 100644 --- a/src/arch/arm64/armv8/bootblock.S +++ b/src/arch/arm64/armv8/bootblock.S @@ -23,7 +23,9 @@
ENTRY(_start) /* Initialize PSTATE, SCTLR and caches to clean state, set up stack. */ - bl arm64_init_cpu + ldr x15, =arm64_init_cpu + blr x15
- bl main + ldr x15, =main + blr x15 ENDPROC(_start)