[PATCH] Revert "Fix data abort caused by mis-aligning FIT data"
Reuben Dowle
reuben.dowle at 4rf.com
Tue Oct 20 01:13:51 CEST 2020
> The reverted change linked to some kernel documentation that requires 64-
> bit alignment. I agree with the alignment requirement.
>
> Im my opinion, there are two things that need to be done:
>
> First is to look at an ALIGNED address for the fdt. A summary inspection of
> board_fdt_blob_setup() tells us this is done via the "_end" linker symbol.
The linker script can only control padding of the executable, but won't affect the alignment of the fdt that can be appended to this later by mkimage.
> Second is to put things in the right place. For FIT, the code, as is, is correct,
> but this alignment is not guaranteed for legacy images. I think somebody
> mentioned changing the arguments to mkimage to achieve this.
>
> I've tried to fix the first point by aligning the _end symbol (appendix A).
> Unfortunately, this is causing other build issues that I don't know how to deal
> with.
>
> Alex
>
>
> APPENDIX A:
>
>
> -- a/arch/arm/cpu/u-boot.lds
> +++ b/arch/arm/cpu/u-boot.lds
> @@ -196,7 +196,6 @@ SECTIONS
> * for FIT images.
> * See common/spl/spl_fit.c: spl_fit_append_fdt
> */
> + . = ALIGN(8);
> .end :
> {
> *(.__end)
More information about the U-Boot
mailing list