Re: [PATCH] scripts/dtc: pad DTBs to facilitate later modification

From: Kevin Hilman
Date: Thu May 29 2014 - 13:20:24 EST


On Thu, May 29, 2014 at 8:55 AM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:
> On 05/23/2014 05:41 PM, Kevin Hilman wrote:
>> By default, add some padding to the DT blobs to facilitate later
>> patching.
>>
>> An example need for DTB patching is the need to modifiy the command
>> line on platforms where ATAGS are not (or cannot) be used to pass the
>> commandline. For example, we do not support a big-endian kernel
>> reading ATAGS from a little-endian u-boot, so the only way to pass a
>> command line in the DT.
>>
>> Also, without ATAG support (or if u-boot was built without
>> CONFIG_INITRD_TAG) the only way to pass an initrd is by adding an
>> initrd= option to command line (in the DT).
>>
>> Therefore, to facilitate adding to the DT command line directly in the
>> DTB, add some padding.
>>
>> Cc: Nicolas Pitre <nico@xxxxxxxxxx>
>> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
>> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
>> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx>
>> ---
>> I kinda pulled 64 bytes out of the air here since it's enough to add
>> some common things to the commandline like debug, earlyprink
>> initrd=<addr>,<size>, etc., but I'm certainlly not opposed to more
>> padding.
>
> Conceptually,
> Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
>
> But I would expect a pad of something like 4KB to be more future-proof.
> U-Boot appears to use 4KB on ARM at least:
>
> ./arch/arm/dts/Makefile:37:DTC_FLAGS += -R 4 -p 0x1000

Great. As I mentioned above, I'm certainly not opposed to more
padding, and agree that it would be more future proof. I was simply
being rather conservative in case folks didn't want to see every .dtb
grow by 4k.

I'll wait a bit to see if there are any other opinions, and the respin
with 4k padding.

Kevin
--
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/