[U-Boot] [PATCH] mx6sabre_common: Allow booting a FSL 3.10 kernel

Stefano Babic sbabic at denx.de
Tue Nov 26 08:59:28 CET 2013


Hi Otavio, hi Fabio,

On 25/11/2013 17:21, Otavio Salvador wrote:
> On Mon, Nov 25, 2013 at 1:54 PM, Fabio Estevam
> <fabio.estevam at freescale.com> wrote:
>> Currently the booting of a 3.10 kernel fails, as explained by Jason Liu [1]:
>>
>> "Let me explain it:
>> since we defined the fdt_high=0xffffffff at include/configs/mx6qsabre_common.h,
>> which means we disable the fdt re-allocation, which you can see when boot up:
>>
>> ## Flattened Device Tree blob at 11000000
>>    Booting using the fdt blob at 0x11000000
>>    Using Device Tree in place at 11000000, end 1800e37e
>>
>> 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.
>>
>> o 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.
>>
>> The other solution is to enable the FDT blob re-allocation by remove the
>> fdt_high=0xffffffff"
>>
>> Use the second approach to enable the boot of a FSL 3.10 kernel.
>>
>> [1] http://marc.info/?l=u-boot&m=138519609402384&w=2
>>
>> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> 
> My patch changed the load address for the device tree blog, as
> explained by Liu, it avoids an extra copy which may impact in boot
> speed.

Maybe I am missing something. If I have well understood, the additional
copy is for the DT only. That means 20-30 KB, I suppose. Which is the
improvement in boot time if we let that the FDT is copied one more time
? Is this time maybe negligible (I suppose yes, but I have no real data) ?

Avoiding the additional copy is a sort of optimization, that anybody, if
wanted, can do changing the running environment. The default environment
should ensure that the kernel boots in any conditions.

IMHO it is better to remove fdt_addr at all as proposed by Fabio, and
let the system doing the job - excepted we can say we have a *real* big
improvement dropping the FDT relocation.

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list