[LinuxBIOS] V3 fallback, failover, and the normal boot flag.

Marc Jones marc.jones at amd.com
Wed Jul 18 00:20:37 CEST 2007

Marc Jones wrote:
> How should this work in V3? The current implementation doesn't really 
> make sense to me. See do_normal_boot() in V2.
> I think that stage0+1 is the equivalent of V2 failover.
> In stage1 the normal boot flag cmos byte is checked to see if the normal 
> or the fallback image should be loaded.
> The cmos byte is not documented well. I think it is as follows:
> [7-4] - boot count
> [3-2] - not defined
> [1] - last boot flag
> [0] - normal boot flag
> Boot count increments until reset if normal boot flag is set.
> Last boot flag is set anytime boot count is less than max boot count.
> Normal boot flag is cleared if boot count exceeds max boot count. Normal 
> boot flag doesn't seem that it can ever be set?
> Currently in V3, if CMOS checksum is invalid (CMOS is cleared/not setup) 
> then the boot count is maxed and the fallback image is forced. I don't 
> think this is the correct thing to do. If checksum is bad we should 
> clear cmos, set the boot count to 0, and try to do a normal boot. If 
> normal boot fails the CMOS will checksum this time around. The boot 
> count flag should be incremented should try again until max boot count 
> is exceeded. Then the normal boot flag should be cleared and fallback 
> image used. The last item is about the last boot flag. I don't think 
> that it is needed.
> Thoughts and comments?
> Marc

Also, the boot count needs to be cleared at the end of LinuxBIOS. I 
think that this what the last boot flag was trying to do.


Marc Jones
Senior Software Engineer
(970) 226-9684 Office
mailto:Marc.Jones at amd.com

More information about the coreboot mailing list