On 15/06/07 01:02 +0200, Stefan Reinauer wrote:
- Jordan Crouse jordan.crouse@amd.com [070615 00:36]:
I disagree. Letting payloads rely on LinuxBIOS to set up devices is the start of a slippery slope that we should try like mad to avoid.
We do know there are devices that won't work if LinuxBIOS does not do the job. RAM, PCI resources, SCSI, VGA, ...
There are plenty of cases where the payload relies on LinuxBIOS setting up the hardware.
This is the whole point of LinuxBIOS: setting up the hardware.
I guess it sort of depends on your definition of "hardware". :) We do the steps to enable the system to run, and to enumerate certain parts of the hardware so that the payload can see them, but we don't often make policy decisions for devices hanging off the end of the busses. We don't set up IDE drives. We don't configure sound cards, or initialize NICs, or any of those things. The point is, that LinuxBIOS shouldn't really be required to leave individual devices in any sort of sane state.
There is nothing about LinuxBIOS today that guarantees that any output method is available (even serial). If we encourage payloads to use structures like these and make assumptions about the state of the hardware, then when a developer chooses to omit initializing the serial port or other output method, his e-mail will quickly catch on fire, thereby implicitly forcing everybody to support serial and video and heaven knows what else.
Why would LinuxBIOS not initialize serial console, but a payload would? If LinuxBIOS does not initialize it, it's not there.
Again, words get in the way. LinuxBIOS does initalize and enumerate it, but I don't really think that the intent is to require LinuxBIOS to tromp out and touch the 16550 and set baud rates, and other such configuration settings so that the payload doesn't have to. Am I wrong?
It is not LinuxBIOS's responsibility to make life easier for the payloads.
Ok, so what would you say is LinuxBIOS' job then?
I think LinuxBIOS is there to initalize and enumerate the hardware at a very low level. I don't think it is there to be a surrogate serial / smbus / IDE / VGA / whatever driver for payloads that don't wish to implement those things on their own. Of course, I say that because I'm pretty much only interested in loading payloads that do support those services on their own - but I personally think one of LinuxBIOS's greatest assets is that it does only what it needs to, and puts the responsibility on me to do the rest. The power and flexibility of that single trait is worth it.
Jordan