diff mbox series

Makefile: sunxi: Don't use binman to build ATF image

Message ID 20200807154411.216543-1-sjg@chromium.org
State Accepted
Commit b904d79e4809bf35cf53c2e5fee0f73647bab07a
Delegated to: Tom Rini
Headers show
Series Makefile: sunxi: Don't use binman to build ATF image | expand

Commit Message

Simon Glass Aug. 7, 2020, 3:44 p.m. UTC
At present with sunxi 64-bit, the Makefile builds
u-boot-sunxi-with-spl.bin and then binman overwrites it with its own
version. But the binman definition lacks some parts, in particular
BL31.

For now, work around this with a hack.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
---

 Makefile | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Andre Przywara Aug. 7, 2020, 4:24 p.m. UTC | #1
On 07/08/2020 16:44, Simon Glass wrote:
> At present with sunxi 64-bit, the Makefile builds
> u-boot-sunxi-with-spl.bin and then binman overwrites it with its own
> version. But the binman definition lacks some parts, in particular
> BL31.
> 
> For now, work around this with a hack.

Many thanks for providing this! Indeed it fixes the immediate problem
for me. Tested on BananaPi-M64. Also compared the binaries for a 32-bit
BPi-M1 build with and w/o the fix, and found them identical (with
reproducible build magic).

> Signed-off-by: Simon Glass <sjg@chromium.org>

Tested-by: Andre Przywara <andre.przywara@arm.com>

Cheers,
Andre

> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
> ---
> 
>  Makefile | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 2629a741f1e..4483a9bc8a3 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1024,9 +1024,13 @@ PHONY += inputs
>  inputs: $(INPUTS-y)
>  
>  all: .binman_stamp inputs
> +	# Hack for sunxi which doesn't have a proper binman definition for
> +	# 64-bit boards
> +ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy)
>  ifeq ($(CONFIG_BINMAN),y)
>  	$(call if_changed,binman)
>  endif
> +endif
>  
>  # Timestamp file to make sure that binman always runs
>  .binman_stamp: FORCE
>
Heinrich Schuchardt Aug. 7, 2020, 5:42 p.m. UTC | #2
On 8/7/20 5:44 PM, Simon Glass wrote:
> At present with sunxi 64-bit, the Makefile builds
> u-boot-sunxi-with-spl.bin and then binman overwrites it with its own
> version. But the binman definition lacks some parts, in particular
> BL31.
>
> For now, work around this with a hack.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
> ---
>
>  Makefile | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 2629a741f1e..4483a9bc8a3 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1024,9 +1024,13 @@ PHONY += inputs
>  inputs: $(INPUTS-y)
>
>  all: .binman_stamp inputs
> +	# Hack for sunxi which doesn't have a proper binman definition for
> +	# 64-bit boards
> +ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy)
>  ifeq ($(CONFIG_BINMAN),y)
>  	$(call if_changed,binman)
>  endif
> +endif
>
>  # Timestamp file to make sure that binman always runs
>  .binman_stamp: FORCE
>
Tested on

- OrangePi PC (a 32bit SUNXI system)
- Pine64-LTS (a 64bit SUNXI system)

Solves the problem I experienced on the Pine64-LTS.

Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Simon Glass Aug. 7, 2020, 6:52 p.m. UTC | #3
+Tom Rini

On Fri, 7 Aug 2020 at 11:48, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>
> On 8/7/20 5:44 PM, Simon Glass wrote:
> > At present with sunxi 64-bit, the Makefile builds
> > u-boot-sunxi-with-spl.bin and then binman overwrites it with its own
> > version. But the binman definition lacks some parts, in particular
> > BL31.
> >
> > For now, work around this with a hack.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
> > ---
> >
> >  Makefile | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/Makefile b/Makefile
> > index 2629a741f1e..4483a9bc8a3 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1024,9 +1024,13 @@ PHONY += inputs
> >  inputs: $(INPUTS-y)
> >
> >  all: .binman_stamp inputs
> > +     # Hack for sunxi which doesn't have a proper binman definition for
> > +     # 64-bit boards
> > +ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy)
> >  ifeq ($(CONFIG_BINMAN),y)
> >       $(call if_changed,binman)
> >  endif
> > +endif
> >
> >  # Timestamp file to make sure that binman always runs
> >  .binman_stamp: FORCE
> >
> Tested on
>
> - OrangePi PC (a 32bit SUNXI system)
> - Pine64-LTS (a 64bit SUNXI system)
>
> Solves the problem I experienced on the Pine64-LTS.
>
> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tom Rini Aug. 8, 2020, 12:32 p.m. UTC | #4
On Fri, Aug 07, 2020 at 09:44:11AM -0600, Simon Glass wrote:

> At present with sunxi 64-bit, the Makefile builds
> u-boot-sunxi-with-spl.bin and then binman overwrites it with its own
> version. But the binman definition lacks some parts, in particular
> BL31.
> 
> For now, work around this with a hack.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 2629a741f1e..4483a9bc8a3 100644
--- a/Makefile
+++ b/Makefile
@@ -1024,9 +1024,13 @@  PHONY += inputs
 inputs: $(INPUTS-y)
 
 all: .binman_stamp inputs
+	# Hack for sunxi which doesn't have a proper binman definition for
+	# 64-bit boards
+ifneq ($(CONFIG_ARCH_SUNXI)$(CONFIG_ARM64),yy)
 ifeq ($(CONFIG_BINMAN),y)
 	$(call if_changed,binman)
 endif
+endif
 
 # Timestamp file to make sure that binman always runs
 .binman_stamp: FORCE