[SeaBIOS] [BUG?] Doesn't retrieve control after coreboot payload return
Kevin O'Connor
kevin at koconnor.net
Tue Aug 2 16:39:30 CEST 2016
On Tue, Aug 02, 2016 at 03:37:44PM +0200, Antonello Dettori wrote:
> Hi everyone.
>
> I'm currently working on coreboot but I stumbled on a strange SeaBIOS
> behaviour.
> After executing a payload and returning control to the caller SeaBIOS
> crashes.
>
> The problem is currently solved by rebooting before the payload returns but
> doing so also makes chaining multiple payloads impossible so I'm trying to
> look into a solution.
The SeaBIOS payload support was not designed to robustly handle
returns from a payload. It will crash if the payload alters the GDT,
overwrite the stack, or otherwise messes up the SeaBIOS state. As far
as I know, payloads in general aren't designed to handle returns to
their caller.
> I tried to increment the debug level to 8 to get more information and the
> attached log is what I got.
That log isn't from SeaBIOS. It's unclear what hardware you have. In
general, a serial port is the most robust way of obtaining a log. See
also: http://www.seabios.org/Debugging
-Kevin
More information about the SeaBIOS
mailing list