Re: [U-Boot] mips-relocs tool conflicts with CONFIG_OF_SEPRATE

2018-11-17 Thread Daniel Schwierzeck
Am Sa., 17. Nov. 2018, 15:43 hat 袁建鹏  geschrieben:

> Hi
>
>
>
>
> I'm adding a new board support to u-boot-2018.09. When I boot the device,I
> got an error msg:
>
> No valid device tree binary found - please append one to U-Boot
> binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d
> 
>

This is fixed in v2018.11, please rebase.


>
>
>
> After some debugging, I found the reason:
>
> the device tree blob is cat to u-boot-nodtb.bin. the dtb is referenced by
> `_end` symbol which is defined at arch/mips/cpu/u-boot.lds
>
> /*
>  * .rel must come last so that the mips-relocs tool can shrink
>  * the section size & the PT_LOAD program header filesz.
>  */
> .rel : {
> __rel_start = .;
> BYTE(0x0)
> . += (32 * 1024) - 1;
>
>
> }
>
> _end = .;
>
>
>
>
> But mips-relocs tool shrink the .rel section, that make filesz smaller
> than memsz:
>
>
>
>
>
>
>
> Program Headers:
>   Type   Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
>   ABIFLAGS   0x02c2a8 0x8102c228 0x8102c228 0x00018 0x00018 R   0x8
>   LOAD   0x80 0x8100 0x8100 0x30906 0x3638c RWE 0x10
>
>
>
>
> the _end is 0x3638c, but the actual offset of dtb is changed to 0x30906.
> so we can't read the dtb correctly.
>
> I disable shrink then works fine. but a better solution is to change the
> _end symbol in u-boot elf accordingly.
>
>
>
>
>
>
>
> Best Regards.
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] mips-relocs tool conflicts with CONFIG_OF_SEPRATE

2018-11-17 Thread 袁建鹏
Hi




I'm adding a new board support to u-boot-2018.09. When I boot the device,I got 
an error msg:

No valid device tree binary found - please append one to U-Boot binary, use 
u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d 




After some debugging, I found the reason:

the device tree blob is cat to u-boot-nodtb.bin. the dtb is referenced by 
`_end` symbol which is defined at arch/mips/cpu/u-boot.lds

/*  
 * .rel must come last so that the mips-relocs tool can shrink
 * the section size & the PT_LOAD program header filesz.
 */  
.rel : {
__rel_start = .;
BYTE(0x0)
. += (32 * 1024) - 1;   


}   

_end = .;




But mips-relocs tool shrink the .rel section, that make filesz smaller than 
memsz:







Program Headers:
  Type   Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  ABIFLAGS   0x02c2a8 0x8102c228 0x8102c228 0x00018 0x00018 R   0x8
  LOAD   0x80 0x8100 0x8100 0x30906 0x3638c RWE 0x10




the _end is 0x3638c, but the actual offset of dtb is changed to 0x30906. so we 
can't read the dtb correctly.

I disable shrink then works fine. but a better solution is to change the _end 
symbol in u-boot elf accordingly.







Best Regards.
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot