[PATCH] spl: Align device tree blob address at 8-byte boundary
Tom Rini
trini at konsulko.com
Mon Jul 12 17:15:10 CEST 2021
On Mon, Jul 12, 2021 at 01:36:14PM +0800, Bin Meng wrote:
> On Mon, Jul 12, 2021 at 1:21 PM Reuben Dowle <reuben.dowle at 4rf.com> wrote:
> >
> > I submitted an almost identical patch. See https://github.com/u-boot/u-boot/commit/eb39d8ba5f0d1468b01b89a2a464d18612d3ea76
> >
> > This patch eventually had to be reverted (https://github.com/u-boot/u-boot/commit/5675ed7cb645f5ec13958726992daeeed16fd114), because it was causing issues on some platforms that had FIT on 32 bit boundary. However I continue to use it in production code, as without it the boot on my platform aborts.
> >
> > I don't have time to investigate why this was happening, but you need to check this code won't just cause exactly the same faults.
>
> Thanks for your information.
>
> +Marek who did the revert
>
> The revert commit message says:
>
> "The commit breaks booting of fitImage by SPL, the system simply
> hangs. This is because on arm32, the fitImage and all of its content
> can be aligned to 4 bytes and U-Boot expects just that."
>
> I don't understand this. If an address is aligned to 8, it is already
> aligned to 4, so how did this commit make the system hang on arm32?
I think this had something to do with embedding contents somewhere in
the image? There is a thread on the ML from then but I don't know how
informative it will end up being.
> Note, as I indicated in this patch, now with libfdt 1.6.1, the
> alignment to 8 byte is a must-have. So we have to do such alignment
> anyway.
>
> @Tom may fill in why libfdt commit commit 5e735860c478 ("libfdt: Check
> for 8-byte address alignment in fdt_ro_probe_()") was made to have the
> 8-byte alignment requirement.
Note that it's not so much since libfdt 1.6.1 but that since always the
device tree has required 8 byte alignment. It's just that on 32bit
platforms 4-but-not-8 byte alignment tends to not be fatal but on 64bit
platforms it is.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210712/04be1259/attachment.sig>
More information about the U-Boot
mailing list