On Thu, Nov 26, 2009 at 8:11 AM, Myles Watson mylesgw@gmail.com wrote:
The basic IRQ handler that is serviced by x86emu module is not returned back to caller. So must be patched.
I think this patch could use some more explanation, since it's not intuitive to set SS to initialcs instead of STACK_SEGMENT. It doesn't look right.
Yeah, this is weird. initialcs is f000, stack_segment is 1000. It is hard to believe, but could it be that the stack is more than 64K? Seems unlikely.
Having the stack at f000:fffe actually seems a really bad idea as that is the code segment. I wonder why this works at all?
Thanks for the patch, however, it seems a very important data point.
Another question: where does the emulator put the emulated stack in physical memory? Does it use the real memory at 0x10000 or something else? Because it could be a code overwriting problem again.
ron