Wcall16 with invalid stack: eax=dfbf3e62 edx=0 func=0x000f9563 esp=dfbf3e50

.text._farcall16 0x9563 : { *(.text._farcall16) }

On Wed, Dec 23, 2015 at 6:51 PM, Kevin O'Connor <kevin@koconnor.net> 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?

-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\n"
+              , eax, edx, func, getesp());
     if (CONFIG_CALL32_SMM && Call16Data.method == C16_SMM)
         return call16_smm(eax, edx, func);