[LinuxBIOS] V3 fallback, failover, and the normal boot flag.
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
>  - last boot flag
>  - 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?
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.
Senior Software Engineer
(970) 226-9684 Office
mailto:Marc.Jones at amd.com
More information about the coreboot