diff mbox series

[3/8] riscv: u-boot-spl.lds: Remove _image_binary_end alignment

Message ID 20240819101704.1612317-4-chiawei_wang@aspeedtech.com
State Superseded
Delegated to: Andes
Headers show
Series riscv: Add AST2700 platform support | expand

Commit Message

Chia-Wei Wang Aug. 19, 2024, 10:16 a.m. UTC
The _image_binary_end symbol was aligned to the 8-bytes boundary.
However, the SPL device tree (u-boot-spl.dtb) is concatenated right
after the binary (u-boot-spl-nodtb.bin) wihtout the consideration of
the 8-bytes alignment restriction.

After then, for the SPL_SEPARATE_BSS case, fdtdec_setup() searching
for the DTB by _image_binary_end will return the "Missing DTB" error.
As the real DTB starting point does not align to a 8-bytes address
like _image_binary_end does.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
---
 arch/riscv/cpu/u-boot-spl.lds | 2 --
 1 file changed, 2 deletions(-)

Comments

Leo Liang Sept. 9, 2024, 12:20 p.m. UTC | #1
On Mon, Aug 19, 2024 at 06:16:59PM +0800, Chia-Wei Wang wrote:
> The _image_binary_end symbol was aligned to the 8-bytes boundary.
> However, the SPL device tree (u-boot-spl.dtb) is concatenated right
> after the binary (u-boot-spl-nodtb.bin) wihtout the consideration of
> the 8-bytes alignment restriction.
> 
> After then, for the SPL_SEPARATE_BSS case, fdtdec_setup() searching
> for the DTB by _image_binary_end will return the "Missing DTB" error.
> As the real DTB starting point does not align to a 8-bytes address
> like _image_binary_end does.
> 
> Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
> ---
>  arch/riscv/cpu/u-boot-spl.lds | 2 --
>  1 file changed, 2 deletions(-)

Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
diff mbox series

Patch

diff --git a/arch/riscv/cpu/u-boot-spl.lds b/arch/riscv/cpu/u-boot-spl.lds
index d1113a59aa..907094620b 100644
--- a/arch/riscv/cpu/u-boot-spl.lds
+++ b/arch/riscv/cpu/u-boot-spl.lds
@@ -44,8 +44,6 @@  SECTIONS
 		__binman_sym_end = .;
 	} > .spl_mem
 
-	. = ALIGN(8);
-
 	_end = .;
 	_image_binary_end = .;