Re: [PATCH u-boot-marvell 00/16] tools: kwbimage: Load address fixes

Pali Rohár
2022-01-12T10:41:32Z

On Wednesday 12 January 2022 08:26:10 Stefan Roese wrote:
> Hi Pali,
>
> while testing with this patchset (amongst others), I get this error
> while building for "theadorable_debug":
>
> $ make theadorable_debug_defconfig
> $ make -s -j20
> Invalid LOAD_ADDRESS 0x40004030 for BINARY spl/u-boot-spl.bin with 0 args.
> Address must be 4-byte aligned and in range 0x40000028-0x40000424
> .make: *** [Makefile:1448: u-boot-spl.kwb] Error 1
> make: *** Deleting file 'u-boot-spl.kwb'
>
> Could you please take a look on whats going wrong here? Do I need to
> change CONFIG_SPL_TEXT_BASE now? And if yes, why?

Hello!

If everything is working fine without this patch series then address
must not be changed.

Now I realized that some boards have text base address 0x40004030 and
some have 0x40000030. When I was looking it during writing this patch
series, I have not spotted that there is different digit "4" in the
middle... And therefore I was in impression that every 32-bit Armada has
base address 0x40000000 (increased by magic constant 0x30 which is
explained in one of the patches).

So now I need to figure out, why some boards have base address
0x40004000 and some have 0x40000000. It it somewhere documented this
magic address? Or do you know source of this address for your board?

In my opinion, it has to be BootROM specific and I do not think it is
changeable.

> Thanks,
> Stefan
>
> On 12/21/21 16:54, Pali Rohár wrote:
> > This patch series fixes generating images in kwbimage format, main fix
> > is setting correct load address of U-Boot SPL. Also it adds support for
> > generating kwbimage config file from existing kwbimage file via
> > dumpimage tool.
> >
> > Pali Rohár (16):
> > tools: kwbimage: Mark all local functions as static
> > tools: kwbimage: Deduplicate v1 regtype header finishing
> > tools: kwbimage: Fix generating image with multiple DATA_DELAY
> > commands
> > tools: kwbimage: Preserve order of BINARY, DATA and DATA_DELAY
> > commands
> > arm: mvebu: Generate kwbimage.cfg with $(call cmd,...)
> > tools: kwbimage: Add support for specifying LOAD_ADDRESS for BINARY
> > command
> > tools: kwbimage: Check the return value of image_headersz_v1()
> > arm: mvebu: Correctly set LOAD_ADDRESS for U-Boot SPL binary in
> > kwbimage
> > arm: mvebu: Enable BootROM output on A38x
> > tools: kwbimage: Add missing check for maximal value for DATA_DELAY
> > tools: kwbimage: Show binary image address in mkimage -l, in addition
> > to size
> > tools: kwbimage: Dump kwbimage config file on '-p -1' option
> > tools: kwbimage: Do not cast const pointers to non-const pointers
> > tools: kwbimage/kwboot: Check ext field for non-zero value
> > tools: kwbimage: Extract main data image without -p arg for dumpimage
> > tools: kwbimage: Fix mkimage/dumpimage -l argument
> >
> > arch/arm/mach-mvebu/Makefile | 17 +-
> > arch/arm/mach-mvebu/kwbimage.cfg.in | 7 +-
> > tools/kwbimage.c | 494 ++++++++++++++++++++++------
> > tools/kwbimage.h | 10 +-
> > tools/kwboot.c | 4 +-
> > 5 files changed, 421 insertions(+), 111 deletions(-)
> >
>
> Viele Grüße,
> Stefan Roese
>
> --
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de