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