CA = Chris Arguin chris.arguin@unh.edu CA> Assuming we shadowed the BIOS (no big deal) and wrote all the hardware CA> abstraction in protected mode, then OSes like Linux could use BIOS calls CA> without any of the delay currently associated with BIOS calls. I think CA> that this is the "Right Way"
The "Right Way" is most definately *not* to have device-drivers in the motherboard firmware. If you are going to do this at all, you should have a hardware abstraction API in the motherboard firmware. That API would be the common ground between the OS and the hardware. You wouldn't need kernel-level device drivers at all.
Obviously this is never going to happen on the PC, but let's assume it could.
Problem #1: To update the device driver, you have to update the firmware for the device. So every device has to either (1) have flash ROM or (2) be a pain-in-the-ass to upgrade. Neither solution appeals to me.
Problem #2: Every time a new technogy comes out, you lack a hardware-level API. You have a mess even worse then DOS. At least with DOS, you could patch and hack the OS and/or interrupt table to get by. I don't even want to think about every OEM patching and hacking at my firmware! :-)
As for us writting our own device drivers and putting them in the BIOS, I really want to know: Why? :-)
CA> This is true. But what if my harddrive crashes.
What if your flash ROM melts? :-) I'm just pointing out that you can always create a situation that prvents you from booting. That is one reason why system admin types have jobs. <g>
CA> Tradionally I could still boot off of floppy. If critical sections of my BIOS CA> were on that disk, I would have to have a floppy with that BIOS code. It just CA> starts to get a little ugly.
I do agree. Compaq puts part of their BIOS setup interface on the system hard disk shipped with the system in some of their PCs. Needless to say, things can get very ugly if you don't have that around. We could have a situation like some early Sun systems, where if the system disk crashed, you had to ship the entire system back to Sun for repair. :-)
(Disclaimer: I've never had to do that, but I've been told about it. I may have been told wrong.)
I've argued that it could be done by keeping "extentions" on the disk,
One man's extension is the next lifeform's critical function. :-)
I think that one of the modules that a lot of people will want is a more extensive bootup test, or maybe a secondary, optional, intensive test.
I'll drink to that! Well, actually, I'll drink to anything, but it's still a good idea. <grin>
-- Ben hawk@ttlc.net
--- OpenBIOS -- http://www.linkscape.net/openbios/ openbios-request@linkscape.net Body: un/subscribe Problems? dcinege@psychosis.com