[LinuxBIOS] CrashFree, Virtual DualBIOS, etc.
libv at skynet.be
Sat Mar 3 08:26:07 CET 2007
On Fri, Mar 02, 2007 at 05:22:57PM +0100, Uwe Hermann wrote:
> On Fri, Mar 02, 2007 at 04:09:28PM +0100, Luc Verhaegen wrote:
> > This motherboards BIOS is supposed to have a "CrashFree" BIOS, and i
> > have a hard time finding out what that actually is supposed to do. I
> > have a hard time looking through the marketing, and some bits have
> > already fallen off the web.
> I think we should have a section in the FAQ/wiki about all these
> CrashFree, Virtual DualBIOS and whatnot features...
> Each one should be tested by somebody who owns the respective hardware,
> and then we document which of those really work if you brick the board
> by flashing a non-working LinuxBIOS image (and which don't).
> If we can, we should also gather some information about how extactly
> they work internally (software-only, hardware-based, two chips,
> splitting one chip in two (virtual) halves etc.).
> This will be very useful for lots of people, I presume...
First of all, let me assert that i have absolutely no clue about
flashroms, so i might be talking pure rubbish here. But let me line up
some facts, and what i think might be going on here.
* The part itself is an SST39SF020A, a well known 256kB part.
* flashrom is reading: id1 0x25, id2 0x1e with probe_jedec at 256kB.
* Asus provides a 256kB (exactly) BIOS Image for this board, so it will
be filling this rom completely.
So, i see two options:
* Asus crashfree doesn't protect against a bad flash, but did manage to
change the IDs returned (is this even possible?).
* The board has a tiny bit of seperate flash itself, the bios in there
gets loaded first from the top of address space, which later on loads
and runs the BIOS in the SST39SF020A. This would mean that the
SST39SF020A lives somewhere else, and its id can be found, probably at
some 512 or so boundary not too far away from the 256kB mark.
Is there anything wrong in those hypotheses? Am i missing something?
Anyway, testing options:
* make flashrom probe_jedec at 256kB, and subsequent 4k boundaries
until 0xFF, 0xFF is returned. If it stops at 260kB, then there's no
* hotplug a rom (when i get them -- don't go through willem.org unless
you're a pensioner) in at one point and see whether flashrom then is
able to identify that one.
* try to directly read out the rom coming out of the board using a
Does any of this make sense?
More information about the coreboot