diff mbox series

[3/4] arm: mvebu: Add documentation for save_boot_params() function

Message ID 20211021144609.9319-4-pali@kernel.org
State Accepted
Commit 701769d87ea3006103c93fd0ecc26875e02d461f
Delegated to: Stefan Roese
Headers show
Series arm: mvebu: Fix usage of BIN header arguments | expand

Commit Message

Pali Rohár Oct. 21, 2021, 2:46 p.m. UTC
Important detail is availability of kwbimage BIN header arguments passed
via r0 and r1 registers by BootROM.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 arch/arm/mach-mvebu/lowlevel_spl.S | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Stefan Roese Oct. 22, 2021, 6:47 a.m. UTC | #1
On 21.10.21 16:46, Pali Rohár wrote:
> Important detail is availability of kwbimage BIN header arguments passed
> via r0 and r1 registers by BootROM.
> 
> Signed-off-by: Pali Rohár <pali@kernel.org>

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan

> ---
>   arch/arm/mach-mvebu/lowlevel_spl.S | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm/mach-mvebu/lowlevel_spl.S b/arch/arm/mach-mvebu/lowlevel_spl.S
> index dde77b765214..39d42912c49f 100644
> --- a/arch/arm/mach-mvebu/lowlevel_spl.S
> +++ b/arch/arm/mach-mvebu/lowlevel_spl.S
> @@ -3,6 +3,15 @@
>   #include <config.h>
>   #include <linux/linkage.h>
>   
> +/*
> + * BootROM loads the header part of kwbimage into L2 cache. BIN header usually
> + * contains U-Boot SPL, optionally it can also contain additional arguments.
> + * The number of these arguments is in r0, pointer to the argument array in r1.
> + * BootROM expects executable BIN header code to return to address stored in lr.
> + * Other registers (r2 - r12) must be preserved. We save all registers to
> + * CONFIG_SPL_BOOTROM_SAVE address. BIN header arguments (passed via r0 and r1)
> + * are currently not used by U-Boot SPL binary.
> + */
>   ENTRY(save_boot_params)
>   	stmfd	sp!, {r0 - r12, lr}	/* @ save registers on stack */
>   	ldr	r12, =CONFIG_SPL_BOOTROM_SAVE
> 


Viele Grüße,
Stefan
diff mbox series

Patch

diff --git a/arch/arm/mach-mvebu/lowlevel_spl.S b/arch/arm/mach-mvebu/lowlevel_spl.S
index dde77b765214..39d42912c49f 100644
--- a/arch/arm/mach-mvebu/lowlevel_spl.S
+++ b/arch/arm/mach-mvebu/lowlevel_spl.S
@@ -3,6 +3,15 @@ 
 #include <config.h>
 #include <linux/linkage.h>
 
+/*
+ * BootROM loads the header part of kwbimage into L2 cache. BIN header usually
+ * contains U-Boot SPL, optionally it can also contain additional arguments.
+ * The number of these arguments is in r0, pointer to the argument array in r1.
+ * BootROM expects executable BIN header code to return to address stored in lr.
+ * Other registers (r2 - r12) must be preserved. We save all registers to
+ * CONFIG_SPL_BOOTROM_SAVE address. BIN header arguments (passed via r0 and r1)
+ * are currently not used by U-Boot SPL binary.
+ */
 ENTRY(save_boot_params)
 	stmfd	sp!, {r0 - r12, lr}	/* @ save registers on stack */
 	ldr	r12, =CONFIG_SPL_BOOTROM_SAVE