On Sat, Jun 17, 2023 at 09:25:41AM +0200, Jules Maselbas wrote: > Hi Marco, > > On June 17, 2023 12:00:57 AM GMT+02:00, Marco Felsch <m.felsch@xxxxxxxxxxxxxx> wrote: > > > + * to the users. > > > + */ > > > + uint32_t dt_name_offset;/* since v0.2, set by mksunxiboot */ > > > + uint32_t dram_size;/* in MiB, since v0.3, set by SPL */ > > > + uint32_t boot_media;/* written here by the boot ROM */ > > > + /* A padding area (may be used for storing text strings) */ > > > + uint32_t string_pool[13];/* since v0.2, filled by mksunxiboot */ > > > + /* The header must be a multiple of 32 bytes (for VBAR alignment) */ > > > + /* And at least 64 byte (https://patchwork.ozlabs.org/patch/622173) */ > > > +}; > > > +#define EGON_HDR_BRANCH (0xea000000 | (sizeof(struct egon_header) / 4 - 2)) > > > +#define sunxi_egon_header(section) { \ > > > + __section(section) static const struct egon_header hdr= \ > > > + { .branch = EGON_HDR_BRANCH, .magic = "eGON" }; \ > > > + __keep_symbolref(hdr); \ > > > + } > > > > Using an additional sections seems a bit odd here. We can just write the > > header within the image tool. > That's what I wanted to do in the first place but I struggled a lot to get barebox relocation working. > Having the eGON header embedded in the .text (since the header is > loaded by bootrom) is the only solution i found to get the relocation > working. The barebox image (the .text section) needs a 4k alignment for relocation. If you are pasting just a few bytes before the image then you are breaking this alignment. Can you blow up the header to 4k? You only have 32k space initially and I don't know how tight in space you are already, so this might or or might not be an option. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |