[SeaBIOS] WD Elements hang SeaBIOS at boot with "call16 with invalid stack"

Kevin O'Connor kevin at koconnor.net
Wed Dec 23 18:55:32 CET 2015


On Wed, Dec 23, 2015 at 12:51:30PM -0500, Kevin O'Connor wrote:
> On Wed, Dec 23, 2015 at 04:27:55PM +0100, Tobias Diedrich wrote:
> > And with verbose logging (level 8).
> > 
> > [...]
> > Wcall16 with invalid stack
> 
> Strange.  Can you report the output with the patch below?

Using the patch below would be even better.

-Kevin


--- a/src/stacks.c
+++ b/src/stacks.c
@@ -274,7 +274,8 @@ call16(u32 eax, u32 edx, void *func)
 {
     ASSERT32FLAT();
     if (getesp() > MAIN_STACK_MAX)
-        panic("call16 with invalid stack\n");
+        panic("call16 with invalid stack eax=%x edx=%x func=%p esp=%x ret=%p\n"
+              , eax, edx, func, getesp(), __builtin_return_address(0));
     if (CONFIG_CALL32_SMM && Call16Data.method == C16_SMM)
         return call16_smm(eax, edx, func);
 



More information about the SeaBIOS mailing list