[U-Boot] [PATCH] x86: Add a pointer to the global data structure to point to the device tree

Gabe Black gabeblack at chromium.org
Tue Dec 6 06:45:23 CET 2011


On Mon, Dec 5, 2011 at 9:07 PM, Graeme Russ <graeme.russ at gmail.com> wrote:

> Hi Gabe,
>
> On Tue, Dec 6, 2011 at 1:04 PM, Gabe Black <gabeblack at chromium.org> wrote:
> >
> >
> > On Mon, Dec 5, 2011 at 5:49 PM, Graeme Russ <graeme.russ at gmail.com>
> wrote:
> >>
> >> Hi Gabe,
> >>
> >> On Tue, Dec 6, 2011 at 12:43 PM, Gabe Black <gabeblack at chromium.org>
> >> wrote:
> >> > This change adds a pointer to the global data structure in x86 to
> point
> >> > to
> >> > the device tree. This mirrors an identical pointer in ARM.
> >>
> >> Out of curiosity, is this paving the way for FDT support in general?
> >> If so, to what extent does the Linux kernel support FDT for x86?
> >>
> >> I have had thoughts about looking into what Device Tree / FDT is all
> >> about, and I'm wondering what it is going to bring to the table
> >> (positive and negative) for x86. For example, would this, in theory,
> >> depricate the boot_params structure, e820 map etc...
> >>
> >> Regards,
> >>
> >> Graeme
> >
> >
> >
> > The device tree can be used in two different ways, by u-boot and by the
> > kernel. This is for use by u-boot itself and is one mechanism coreboot
> can
> > use to make its own runtime modification to how u-boot is set up (if
> there's
> > a serial console it can use, for instance), and it is fairly useful. The
> > kernel has some very minimal provisions for passing in a device tree in
> x86
> > through, if I remember correctly, basically a linked list of entries
> which
> > hang off the end of the boot_params structure. The kernel doesn't take
>
> I thought this list was just a linked list of more e820 entries (and that
> is
> what the code seems to suggest)
>


See:
http://lxr.linux.no/linux+v3.1.4/Documentation/x86/boot.txt#L188
http://lxr.linux.no/linux+v3.1.4/Documentation/x86/boot.txt#L636
http://lxr.linux.no/linux+v3.1.4/arch/x86/include/asm/bootparam.h#L12

It's type 2.




>
> > advantage of it at all, so it wouldn't really be useful to pass one in.
> > There are times when it would be a good solution to certain problems but
> the
> > kernel would have to actually be set up to take advantage of it first.
>
> Does UEFI support device trees? If so, I wonder if this is the future of
> Linux and x86 support is somewhat inevitable?
>


I don't know but I don't think so. It wouldn't surprise me *that* much to
see device trees in x86 eventually, but there's a long way to go before
that happens. From what I heard it took quite a bit of pushing to get it in
for the architectures that already support it now. I would be surprised if
it happened any time soon.



>
> Regards,
>
> Graeme
>


More information about the U-Boot mailing list