[SeaBIOS] seabios bug: fail to find etc/boot-fail-wait

Amos Kong akong at redhat.com
Mon Mar 4 10:45:02 CET 2013

./qemu-upstream-latest -boot reboot-timeout=1000 ...
(after boot failed, VM waits for 1000 ms and try to reboot)

reboot-timeout parameter doesn't work now, I found this regression bug
was introduced by commit 59d6ca52a7eba5b1f4f2becf70fd446dccaf0a2e

> Author: Kevin O'Connor <kevin at koconnor.net>
> Date:   Thu May 31 00:20:55 2012 -0400
>     Cache romfile entries.
>     Create a 'struct romfile_s' and populate a list of all romfiles at
>     start of init.  Caching the romfiles both simplifies the code and
>     makes it more efficient.
>     Also, convert the ramdisk code to use romfile helpers instead of
>     directly accessing cbfs.

romfile_add() is used to add rom files in the list.
When seabios calls boot_fail(), the list becomes empty,
romfile_find("etc/boot-fail-wait", ..) returns NULL.
it seems the list items are released prematurely.

Thanks, Amos

More information about the SeaBIOS mailing list