On 05/29/15 14:20, Gerd Hoffmann wrote: > Hi, > >>> Any idea what this could be? >> >> Yes, you can track this down. Just locate the .dll file referenced in >> the above register dump (well, in fact, the same pathname with the >> .debug suffix might be even better), and then with the help of >> "objdump", you can tie the crash site to the source code: >> >> http://thread.gmane.org/gmane.comp.bios.tianocore.devel/7300/focus=7305 > > Thanks. It's the return instruction of the EnableInterrupts() function. > So a stack overflow in an interrupt handler, which overwrites the return > address? The EnableInterrupts() function itself does just 'sti', > that'll hardly corrupt anything ...
Hm, I don't know. The exception type in the register dump is 0, which seems to mean "division by zero". http://wiki.osdev.org/Exceptions If that's right, maybe you can peek at the guest memory with the qemu monitor, and see the "saved instruction pointer" on the stack that "points to the DIV or IDIV instruction which caused the exception". Just guessing... Adding a bunch of DEBUG()s to the CpuDxe source might help. Thanks Laszlo ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel