[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