On Thu, Dec 30, 2010 at 1:26 AM, Grant Likely <grant.likely@secretlab.ca> wrote:
Hmmm, I shouldn't be sending email at 1:30 in the morning. The above
statement is not really true. One of the use-cases on ARM is using a
device tree with existing firmware that doesn't pass a dt blob. Right
now there are two possible methods for doing this. Option one is to
link the .dtbs in the the kernel proper and point to them from the
machine struct. The dtb would be used when a matching machine id is
passed by the firmware. Option 2 is to select the correct .dtb with a
kernel boot wrapper, which is exactly the method used by the powerpc
boot wrappers and is the mechanism that John Bonesio is prototyping
(hopefully will have patches out on the list early in the new year).
Personally I prefer the boot wrapper method because it means there is
exactly one mechanism for providing the kernel proper with a .dtb and
it allows the set of dtbs to be provided at install time instead of
kernel compile time. Since the boot wrapper prototype is so-far
successful, it is the approach that I'm going to pursue on ARM (but
I'm not yet completely ruling out option 1).
Peter & Dirk, I realize that this is different from what we talked
about at Plumbers this year. I'm not saying no to linking the .dtbs
into the kernel proper on x86, and I don't pretend to know the details
of the x86 Linux boot interface, but if dtb linking is merged, then
x86 will probably be the only major architecture to use it (microblaze
doesn't count as major) :-).
g.
--