[U-Boot] [PATCH] ARM: mx6: Remove the FDT loading address to avoid overlaping

Otavio Salvador otavio at ossystems.com.br
Tue Nov 26 13:16:17 CET 2013


On Tue, Nov 26, 2013 at 10:11 AM, Tom Rini <trini at ti.com> wrote:
> On Tue, Nov 26, 2013 at 09:06:27AM -0200, Otavio Salvador wrote:
>
>> This patch fixes allow for the DeviceTree and initrd relocation fixing
>> the boot of FSL 3.10.9-1.0.0-alpha kernel.
>>
>> This changes following boards:
>>
>>  - mx6sabreauto
>>  - mx6sabresd
>>  - wandboard
>>  - udoo
>>  - nitrogen6x
>>  - cgtqmx6eval
>>
>> The reasoning, as explained by Hui Liu, is:
>>
>> ,----
>> | The FDT blob will be placed at DDR physical addr: 0x11000000. When Linux kernel
>> | Boot up, it will decompress the compressed kernel image and place the decompressed
>> | kernel image at the low end of the DDR memory and start running from it. If the
>> | decompressed kernel image is bigger for example than 16M, it may over written the
>> | fdt blob which u-boot loaded to the DDR memory @0x11000000 with fdt_addr=0x11000000
>> |
>> | To expand the fdt_addr from 0x11000000 to 0x18000000, which can avoid the override
>> | Since we will not likely have one kernel image larger than 128MB.
>> `----
>>
>> Removing the fdt_high and initrd_high this allows for those to be
>> relocated.
>
> I'm going to suggest this is the wrong path.  Once you see i.MX systems
> with > 768MB DDR you're going to have initrd/fdt placed into memory
> Linux can't access without HIGHMEM on, and you need the FDT before then.

I didn't catch this case but it is a valid problem, indeed :-(

Fabio/Stefano what is your call here? I think moving it to 128MB is
good for now.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the U-Boot mailing list