Boot interface for device trees on ARM

Grant Likely grant.likely at secretlab.ca
Wed May 19 07:45:50 EDT 2010


On Mon, May 17, 2010 at 8:54 PM, Jeremy Kerr <jeremy.kerr at canonical.com> wrote:
> Hi all,
>
> As we're getting closer to device tree support on ARM, I'd like to get some
> input on our proposed boot interface.
>
> Basically, I'd like to define how we pass the device tree from the bootloader
> to the kernel.
>
> My current method of doing this is through a new atag. It looks like this:
>
>        /* flattened device tree blob pointer */
>        #define ATAG_DEVTREE    0x5441000a
>
>        struct tag_devtree {
>                __u32 start;    /* physical start address */
>                __u32 size;     /* size of dtb image in bytes */
>        };
>
> With ATAG_DEVTREE, we keep the existing boot interface the same (ie, machine
> number in r1, atags pointer r2).

For the reference of those new to this discussion, here is a link to
the previous thread and the link to the draft boot interface document.

http://www.mail-archive.com/devicetree-discuss@lists.ozlabs.org/msg00884.html
http://devicetree.org/Boot_Environment

[...]

>  - We are now potentially carrying data in two different places - atags and
> the device tree. For example, the physical memory layout and kernel command
> line may be present in both.

I've tried to explicitly addresses this in the draft document.  the DT
blob always supersedes ATAG information.

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.



More information about the linux-arm-kernel mailing list