Dave wrote:
This is a philosophical question that I am posing here for discussion.
What should the purpose of the BIOS be?
In my mind, the BIOS should be a minimal piece of code, used only to initialize the hardware to the extent needed to boot the system. This would include initializing the memory space and boot device, reading the first block of code from the boot device and turning control over to that block of code. This "boot block" would then finish initializing the hardware, loading API's, OS's or whatever, from the boot device.
Well if we drop the the legacy of supporting DOS and windoze and tweak a little the free OSes not to depend by "classic" BIOS calls ( I belive that Linux still use at boot some BIOS calls for memory size discovery, some APM sevices and so...) and add a little configuration program that will be nice as a start. But somewhat it MUST be a metod for add-on cards to announce their capabilitys more than what we have now on the PCI bus. BTW somebody studied the IEEE proposal ???
I believe that all API level services should be provided by the boot block code that is loaded by the BIOS and not by the BIOS itself.
You mean by the kernell ;) ???
The BIOS as boot loader would also be well suited for embedded applications because it is small, lightweight and can be specifically implemented to boot from things such as flash, EPROM, network cards, radio modems or other unusual boot devices.
In most embedded devices THE boot media is the ROM so, the configuration is also enough fixed to not necesite a configuration program and btw. is there some ( even scratch...) standard for what a embbeded BIOS should do, tommorow I'll start coding to some micro-PC board with ALI 6117C and I'll like a starting point.
P.S. Still nobody answered me, really nobody doing embedded on this list :(((
Mircea C.