[RFC] Multiboot2 drafting

M. Warner Losh imp at bsdimp.com
Fri May 14 12:54:47 UTC 2010


In message: <4BECEE31.3060004 at gmail.com>
            Vladimir 'φ-coder/phcoder' Serbinenko <phcoder at gmail.com> writes:
: 2) Keep the things as advanced as they need to but not more advanced.
: E.g. when you supply an info about serial port you tell: it's at I/O
: port N rather than: it's in PCI bar X of device Y offset F. Since if OS
: doesn't support PCI this info is useless and if it does it will find out
: that this address is actually a part of PCI bar. This can be discussed
: though.

FDT, btw, is exactly this.  It tells the OS what hardware is present,
what resources it consumes, what connections between the hardware
there is (important for interrupts, which don't follow, necessarily,
the bus hierarchy).  It tells you about PCI host bridges, and
interesting things about the devices on the PCI bus, but only to the
extent that the hardware itself can't impart this information.  It
also offers firmware independence, so the kernel doesn't care where it
booted, or what booted it, at least to a large extent.

Again, Rafal Jawarski's work in this area in FreeBSD is mature.  While
he has only adapted it to PowerPC and ARM, it would be easy to expand
to include i386, amd64 and MIPS.  It is quite a bit less relevant to
x86, however, since ACPI provides nearly all the information that
would be in an FDT.

Warner


More information about the freebsd-arch mailing list