Re: [PATCH RFC 15/17] microblaze: Convert from _fdt_start to __dtb_start

From: Rob Herring
Date: Wed Nov 13 2013 - 11:14:50 EST


On 11/13/2013 07:40 AM, Michal Simek wrote:
> On 11/13/2013 11:19 AM, Michal Simek wrote:
>> On 11/12/2013 08:42 PM, Geert Uytterhoeven wrote:
>>> Kill the microblaze-specific __fdt_blob section, and start
>>> using .dtb.init.rodata from <asm-generic/sections.h> for
>>> built-in DTBs, like most other DT enabled architectures.
>>>
>>> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc:
>>> Michal Simek <monstr@xxxxxxxxx> Cc: Rob Herring
>>> <rob.herring@xxxxxxxxxxx> Cc:
>>> microblaze-uclinux@xxxxxxxxxxxxxx Cc:
>>> devicetree@xxxxxxxxxxxxxxx --- Untested, but the resulting
>>> vmlinux after "make simpleImage.system" looks sane.
>>>
>>> QUESTION: The padding of the DTB is gone, is this OK?
>>
>> Removing this kernel padding should be fine. I can't remember why
>> it was there from the beginning.
>
> I know why is this here. The reason is process how dtb is passed to
> the kernel via command line. head.S code just copy that dtb to the
> same location where compiled-in dts is expected and kernel doesn't
> need to care about position of dtb because this copy is done
> without MMU. And the full kernel is covered by 2 tlbs and we don't
> need to use another TLB for dtb mapping.
>
> It means pad matters a lot. Because u-boot ITS format doesn't use
> simpleImage target but the kernel need to have a space for copying
> dtb to this kernel location.
>
> Let me think about if there is an easy way to handle dtbs which are
> passed from bootloader.

Isn't the built-in dtb in a RO init section? Seems like a bad idea to
write to it. Also, it will be a double copy because a built-in dtb has
to be copied out of init section.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/