This is a follow up to an email chain that in November:
http://www.seabios.org/pipermail/seabios/2015-November/009887.html
It was possible for the SeaBIOS code to get confused if an external reboot request occurs while seabios is already in the process of handling a boot or reboot.
This two patch series attempts to make the SeaBIOS reboot code more robust. With these patches the code maintains an invariant - if HaveRunPost is false then the BIOS code will be in a pristine state and it is okay to run the "post" boot logic; if HaveRunPost is true then the reboot logic must be run before starting the "post" boot logic. The reboot handler should always return the BIOS code to a pristine state prior to clearing HaveRunPost.
Kevin, thanks for your patch. I've tested yesterday for several days. And it works very well solving all the reset racing problems i've met.
-Kevin
Kevin O'Connor (2): resume: Make KVM soft reboot loop detection more flexible post: Always set HaveRunPost prior to setting any other global variable
src/fw/csm.c | 1 + src/fw/shadow.c | 17 +++++++++++++++-- src/fw/xen.c | 1 + src/post.c | 20 ++++++++++++++++---- src/resume.c | 9 --------- src/util.h | 1 + 6 files changed, 34 insertions(+), 15 deletions(-)
-- 2.5.0