[U-Boot] MIPS relocation DT error

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Tue Jan 30 17:19:50 UTC 2018


Hi Álvaro,

On 26.01.2018 22:58, Álvaro Fernández Rojas wrote:
> I just found out I was missing OF_EMBED, which confirms that it was
> working because CFE was relocating u-boot and not u-boot itself...
> 
> Sorry for the noise...
> 
> El 26/01/2018 a las 22:53, Álvaro Fernández Rojas escribió:
>> Hello Paul & Daniel,
>>
>>
>> I've finally had some time to do more testing and it appears that the
>> relocation error I saw on BMIPS is due to a DT not found error caused
>> by mips relocation:
>>
>> https://gist.github.com/Noltari/9017b3d28e2109d1de4158e5ad5b1c65
>>
>> Any ideas on how to fix it?
>>
>>
>> BTW, the reason why I think it works if I disable relocation is
>> because CFE relocates .elf before executing them.
>>

I don't think CFE relocates U-Boot because the main purpose is to boot
kernels where only recent ones can be relocated. CFE's tasks should only
be to copy the ELF payload to the link address specified in ELF header,
to invalidate I-Caches and to jump to that address.

I'd rather think the appended DTB is either not correctly linked in
the ELF binary or not copied by CFE. The address of the appended DT blob
is determined with the linker symbol "_end". If CFE would relocate, this
symbol would also point to the relocated memory address.

-- 
- Daniel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180130/8a54c126/attachment.sig>


More information about the U-Boot mailing list