Could someone please tell me where protected-mode code will be
useful in the BIOS firmware?
Initial memory and other hardware checks, and then some of the INT 15h
functions for copying memory around above 1Mb. Oh, and of course the BIOS
function to switch into protected-mode :)
Also PCI and APM BIOS32 functions.
Other than that, I don't see any point in extra protected-mode functionality -
as you rightly say, anything running in protected mode is going to have its
own drivers already.
I believe the single most important goal of this
effort should be
modular design. If we make the design modular, most everyone can be
Agreed. Most of the things we've been talking about recently have been
proposed extensions which would be separate modules, so those who don't see
the point don't have to use them. We have very little dispute about the core
of the project, other than the fact that we're not entirely happy about LPGL
but it seems to be the best option so far suggested.
Regarding the module support:
We can either link them at flash time, or have the BIOS search through the
available modules when it boots. I prefer the latter, because it doesn't
involve any intelligence on the part of the linker, and the extra headers
required won't take up a significant amount of space
Each module object needs a header, much like the existing BIOS extensions have.
In it we need to store: length, checksum, entry point. We could also do with a
flag indicating the invokation order, and whether it needs to remain in memory
when it's done (for when we've uncompressed into RAM).
For example, a chipset optimisation module would be loaded early, and not
remain in memory. An IDE disk driver providing INT 13h functions could be
loaded later, and will remain in memory. A boot loader will be loaded last.
The power-up vector will point to a routine which does an inventory of the
available modules, and invokes them in the correct order, uncompressing them
from flash into RAM as required. This boot loader will provide certain basic
functions for reading data from the CMOS and other things that a number of
other modules will require.
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
finger pgp(a)dwmw2.robinson.cam.ac.uk for PGP key.
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe