diff mbox

[U-Boot,3/6] arm64: sunxi: reserve space for boot0 header

Message ID 1462396534-32390-4-git-send-email-andre.przywara@arm.com
State Changes Requested
Delegated to: Hans de Goede
Headers show

Commit Message

Andre Przywara May 4, 2016, 9:15 p.m. UTC
The Allwinner provided boot0 boot loader requires a header before the
U-Boot binary to both check its validity and to find other blobs to
load. There is a tool called boot0img which fills the header
appropriately.
Reserve some space at the beginning of the binary to later hold the
header if needed.
Please note that the header is jumped over already by U-Boot anyway,
so filling the header is optional and can be skipped if for instance
boot0 is not used.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 arch/arm/cpu/armv8/start.S | 3 +++
 1 file changed, 3 insertions(+)

Comments

Steve Rae May 6, 2016, 9:15 p.m. UTC | #1
Hi Andre,

On Wed, May 4, 2016 at 2:15 PM, Andre Przywara <andre.przywara@arm.com>
wrote:

> The Allwinner provided boot0 boot loader requires a header before the
> U-Boot binary to both check its validity and to find other blobs to
> load. There is a tool called boot0img which fills the header
> appropriately.
> Reserve some space at the beginning of the binary to later hold the
> header if needed.
> Please note that the header is jumped over already by U-Boot anyway,
> so filling the header is optional and can be skipped if for instance
> boot0 is not used.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>  arch/arm/cpu/armv8/start.S | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
> index deb44a8..b4c4867 100644
> --- a/arch/arm/cpu/armv8/start.S
> +++ b/arch/arm/cpu/armv8/start.S
> @@ -21,6 +21,9 @@
>  _start:
>         b       reset
>
> +#ifdef CONFIG_ARCH_SUNXI
> +       .space 0x5fc    /* can be filled with a boot0 header if needed */
> +#endif
>

NAK !
this is NOT the _only_ board that would need this, so I propose:

#ifdef CONFIG_RESERVE_SPACE_BOOT0
        .space  CONFIG_RESERVE_SPACE_BOOT0
#endif

Thanks, Steve

        .align 3
>
>  .globl _TEXT_BASE
> --
> 2.7.3
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
Andre Przywara May 6, 2016, 9:27 p.m. UTC | #2
On 06/05/16 22:15, Steve Rae wrote:
> Hi Andre,
> 
> On Wed, May 4, 2016 at 2:15 PM, Andre Przywara <andre.przywara@arm.com
> <mailto:andre.przywara@arm.com>> wrote:
> 
>     The Allwinner provided boot0 boot loader requires a header before the
>     U-Boot binary to both check its validity and to find other blobs to
>     load. There is a tool called boot0img which fills the header
>     appropriately.
>     Reserve some space at the beginning of the binary to later hold the
>     header if needed.
>     Please note that the header is jumped over already by U-Boot anyway,
>     so filling the header is optional and can be skipped if for instance
>     boot0 is not used.
> 
>     Signed-off-by: Andre Przywara <andre.przywara@arm.com
>     <mailto:andre.przywara@arm.com>>
>     ---
>      arch/arm/cpu/armv8/start.S | 3 +++
>      1 file changed, 3 insertions(+)
> 
>     diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
>     index deb44a8..b4c4867 100644
>     --- a/arch/arm/cpu/armv8/start.S
>     +++ b/arch/arm/cpu/armv8/start.S
>     @@ -21,6 +21,9 @@
>      _start:
>             b       reset
> 
>     +#ifdef CONFIG_ARCH_SUNXI
>     +       .space 0x5fc    /* can be filled with a boot0 header if
>     needed */
>     +#endif
> 
> 
> NAK !
> this is NOT the _only_ board that would need this, so I propose:

Well, I was thinking about this as well, but wondered why nobody has
ever come up with something like this before.

So I am happy indeed with a more generic solution.

> 
> #ifdef CONFIG_RESERVE_SPACE_BOOT0
>         .space  CONFIG_RESERVE_SPACE_BOOT0
> #endif

If you don't mind, I will put these three lines as your patch in a new
post. Feel free to send it yourself if you prefer this.
And it seems that boot0 is an Allwinner term, so maybe some more generic
naming like CONFIG_RESERVED_HEADER_SPACE or the like?

Cheers,
Andre.

>  
> Thanks, Steve
> 
>             .align 3
> 
>      .globl _TEXT_BASE
>     --
>     2.7.3
> 
>     _______________________________________________
>     U-Boot mailing list
>     U-Boot@lists.denx.de <mailto:U-Boot@lists.denx.de>
>     http://lists.denx.de/mailman/listinfo/u-boot
> 
>
Hans de Goede May 15, 2016, 10:13 a.m. UTC | #3
Hi,

On 04-05-16 23:15, Andre Przywara wrote:
> The Allwinner provided boot0 boot loader requires a header before the
> U-Boot binary to both check its validity and to find other blobs to
> load. There is a tool called boot0img which fills the header
> appropriately.
> Reserve some space at the beginning of the binary to later hold the
> header if needed.
> Please note that the header is jumped over already by U-Boot anyway,
> so filling the header is optional and can be skipped if for instance
> boot0 is not used.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>

Further down the thread you said you would do a v2 of this one,
so I'm dropping it.

Regards,

Hans


> ---
>  arch/arm/cpu/armv8/start.S | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
> index deb44a8..b4c4867 100644
> --- a/arch/arm/cpu/armv8/start.S
> +++ b/arch/arm/cpu/armv8/start.S
> @@ -21,6 +21,9 @@
>  _start:
>  	b	reset
>
> +#ifdef CONFIG_ARCH_SUNXI
> +	.space 0x5fc	/* can be filled with a boot0 header if needed */
> +#endif
>  	.align 3
>
>  .globl	_TEXT_BASE
>
diff mbox

Patch

diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
index deb44a8..b4c4867 100644
--- a/arch/arm/cpu/armv8/start.S
+++ b/arch/arm/cpu/armv8/start.S
@@ -21,6 +21,9 @@ 
 _start:
 	b	reset
 
+#ifdef CONFIG_ARCH_SUNXI
+	.space 0x5fc	/* can be filled with a boot0 header if needed */
+#endif
 	.align 3
 
 .globl	_TEXT_BASE