mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-17 20:57:01 +02:00
arm: armv7: save boot arguments
Save boot arguments r[0-3] into an array for handover of bloblist from previous boot stage. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Suggested-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
1ef43f3bf2
commit
5103e69344
@ -152,9 +152,38 @@ ENDPROC(c_runtime_cpu_setup)
|
|||||||
*
|
*
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
WEAK(save_boot_params)
|
WEAK(save_boot_params)
|
||||||
|
#if (IS_ENABLED(CONFIG_BLOBLIST))
|
||||||
|
/* Calculate the PC-relative address of saved_args */
|
||||||
|
adr r12, saved_args_offset
|
||||||
|
ldr r13, saved_args_offset
|
||||||
|
add r12, r12, r13
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Intentionally swapping r0 with r2 in order to simplify the C
|
||||||
|
* function we use later.
|
||||||
|
*/
|
||||||
|
str r2, [r12]
|
||||||
|
str r1, [r12, #4]
|
||||||
|
str r0, [r12, #8]
|
||||||
|
str r3, [r12, #12]
|
||||||
|
#endif
|
||||||
b save_boot_params_ret @ back to my caller
|
b save_boot_params_ret @ back to my caller
|
||||||
ENDPROC(save_boot_params)
|
ENDPROC(save_boot_params)
|
||||||
|
|
||||||
|
#if (IS_ENABLED(CONFIG_BLOBLIST))
|
||||||
|
saved_args_offset:
|
||||||
|
.long saved_args - . /* offset from current code to save_args */
|
||||||
|
|
||||||
|
.section .data
|
||||||
|
.align 2
|
||||||
|
.global saved_args
|
||||||
|
saved_args:
|
||||||
|
.rept 4
|
||||||
|
.word 0
|
||||||
|
.endr
|
||||||
|
END(saved_args)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ARMV7_LPAE
|
#ifdef CONFIG_ARMV7_LPAE
|
||||||
WEAK(switch_to_hypervisor)
|
WEAK(switch_to_hypervisor)
|
||||||
b switch_to_hypervisor_ret
|
b switch_to_hypervisor_ret
|
||||||
|
Loading…
Reference in New Issue
Block a user