On Saturday, February 21, 1998 2:37 PM, Benjamin Scott [SMTP:firstname.lastname@example.org]
the CMOS settings are stored in the NVRAM, not the
flash. Now the question is how big is the NVRAM? I don't think we
have room for this.
Why do these have to be stored in the NVRAM? Can't we reserve 1K or
so of flash for this sort of thing? Or can't you erase and replace
just a little bit of flash at a time?
All things considered, you really don't want to flash the BIOS too
often,and especially not behind the users back, so to speak
from machine to machine some of the chips now have several K
available since a number of BIOS' store the ESCD (needed for PnP) info in
NVRAM rather than flash. Most of the flash ROMs support up to 100,000
Flashing the BIOS often would be a Bad Thing. There
is a limit to how
often you can write flash ROM. It would take awhile to hit it, but it
is a real limit. Plus, I think you need to erase flash ROM in banks of
a certain size. At least, I've seen plenty of stuff that worked that
way and that way only.
You do need to flash in blocks. The size of the block depends on the chip
with the modern chips now having small blocks for storing configuration
information, e.g. the Intel 28F001BX-T (128K)has two 4KByte parameter
blocks plush a 8KB boot block. The boot block has extra HW protection to
prevent accidental reprogramming. This is how the Intel boards prevent you
from completely trashing your bios by mistake and ruining the motherboard
(since the flash chips are not removable on Intel boards).
If we're going to store boot configuration info
on disk, we might as
well just go back to using LILO. I want something that can boot your
selected OS without the need of loading from the disk.
So do Microsoft and Intel. This is why they've put together the NetPC spec,
and why there is etherboot and netboot now available for Linux. You can
burn/flash a ROM today that you can put in your ethernet card's ROM socket
and do a net boot with out every touching your hard disk. Take a look at
OpenBIOS -- http://www.linkscape.net/openbios/
openbios-request(a)linkscape.net Body: un/subscribe