A lesson from Plan 9
ron minnich
rminnich at lanl.gov
Fri Aug 8 18:41:01 CEST 2003
Eric's comments on the keeping the core clean bring Plan 9 to mind,
especially as Plan 9 was the inspiration for both the original and new
config tools.
Plan 9 is broken into two trees, as follows.
/sys/src/9/port
/sys/src/9/<architecture>
The 'port' code is that code which is non-platform-specific. The
<architecture> code is of course platform-specific. You can actually think
of 'port' as the "core", and the other tree as the specialization to a
given platform.
To a large degree, platform-specific code gets linked in statically as
devices, defined in arrays of structures. These are accessed via
indirection through structures. The platform code can of course make calls
to the OS for services.
I think this is what many people I talk to would like for linuxbios: the
ability to specialize the bios for specific platforms, e.g. x86 mainboards
with VGA or other ROMs, to allow card initialization (e.g. rom bios).
Obviously this brings a degree of x86-specificity to that build of the
bios, but I think we can keep it isolated from the core.
I feel this specialization could be done in a clean way:
/src/freebios/src/extensions/....
and with a new keyword in the config tool that makes the nature of the
extension clear.
We need somehow to address the demand for very early VGA support in
linuxbios. It's probably the highest-demand item right now.
ron
More information about the coreboot
mailing list