[RFC] Multiboot2 drafting
Nathan Whitehorn
nwhitehorn at freebsd.org
Wed Jun 2 19:30:32 UTC 2010
Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> Vladimir 'φ-coder/phcoder' Serbinenko wrote:
>
>> Andrew Reilly wrote:
>>
>>
>>> Hi there,
>>>
>>> I know next to nothing about GRUB, and have not yet read the
>>> multiboot spec, but I wonder if you could comment on how or
>>> whether this is related to either the Open Firmware Device Tree
>>> or the Flattened Device Tree used in various embedded OS ports.
>>> It would be cool if there were some convergence going on...
>>>
>>>
>>>
>>>
>> I've looked into it and found good and bad things.
>> Good:
>> -represents the info needed to OS. It's something definitely good and
>> goes in direction we need
>> Bad:
>> -it basically has all the history ballast of OpenFirmware. OFW is
>> supposed to be system-independent but in fact there is a multitude of
>> implementation with various degrees of compatibility. Same goes for
>> device trees. The same information is present in different places with
>> lots of special cases. Many of fields are actually useless variant selectors
>> -it uses string identifiers instead of magic numbers. This makes it more
>> difficult to parse
>> -the most useful information is coming at the leaves and interpretation
>> depends on whole path.
>>
>>
> And traditional OpenFirmware has too much info which is probably
> useless. E.g. once you know where PCI controller is and you support PCI
> you can probe devices which are on it. If you don't support PCI
> controller the info about devices on it is probably useless too.
> Only exception is "early" info which is needed to e.g. setup console
> before normal drivers are up
>
This isn't quite true. The FDT standard does not require you to add
discoverable devices to the tree, for one, and it actually can be useful
to have them in many circumstances, as well. For instance, suppose you
have some kind of complicated object on the PCI bus (a GPIO controller,
or an I2C bus). The children of the I2C bus need to be enumerated in the
tree, since there is no other way to discover them, and it is also
necessary to identify the I2C controller with a PCI device.
-Nathan
More information about the freebsd-arch
mailing list