[LinuxBIOS] CrashFree, Virtual DualBIOS, etc.

Luc Verhaegen 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...
> Uwe.


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 
seperate BIOS.

* 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 
willem programmer.

Does any of this make sense?

Luc Verhaegen.

More information about the coreboot mailing list