[SeaBIOS] about [SeaBIOS PATCH] Try to hard-reboot on rerun of post even on emulators.

Laszlo Ersek lersek at redhat.com
Tue Apr 21 18:54:29 CEST 2015


On 04/21/15 17:06, Kevin O'Connor wrote:
> On Tue, Apr 21, 2015 at 10:37:49AM +0200, Laszlo Ersek wrote:
>> As to how you can fix
>> <https://bugzilla.redhat.com/show_bug.cgi?id=1129549> (which is the
>> motivation for this entire discussion):
>>
>> - You need to identify *what variable exactly* stores the list of
>>   bootable devices. Is that a SeaBIOS variable? Is it some field in the
>>   BDA (BIOS Data Area)? Something else? Because the bug is that this
>>   variable, wherever it lives, is not re-set on reboot.
>>
>>   (Kevin, can you perhaps help with this question? Thank you.)
> 
> Prior to 244caf86 SeaBIOS attempted to manually reset all its internal
> global variables on each boot.  This got too messy and error-prone, so
> 244caf86 was implemented.
> 
> As Laszlo states, my recollection is that one should be able to
> continue to manually reset variables on each boot prior to 244caf86.
> It should not (according to my recollection) be necessary to do
> anything with the BDA or EBDA because SeaBIOS used to reset that on
> every boot anyway.  Unfortunately, I don't know which global variable
> not being reset would lead to the bugzilla entry above.

Thank you, Kevin, for reading through all this, and confirming that
manually resetting some variables is technically viable (maybe not
really nice, but with RHEL-6 "nice" is not the primary objective...)

I think Amos should be able to locate the exact variables by generously
sprinkling the code with debug messages (or just enabling the present
ones), and comparing the debug logs of successful vs. failed runs.
("Differential diagnosis", hat tip to House MD. :))

Thanks!
Laszlo




More information about the SeaBIOS mailing list