The basic IRQ handler that is serviced by x86emu module is not returned back to caller. So must be patched.
-- jaagar
It has fixed my vga rom hanging problem. But I don't know why, so ...
Reviewed-by: Zheng Bao zheng.bao@amd.com
-----Original Message----- From: coreboot-bounces+zheng.bao=amd.com@coreboot.org [mailto:coreboot-bounces+zheng.bao=amd.com@coreboot.org] On Behalf Of Yoo, Taik-Yon Sent: Thursday, November 26, 2009 5:00 PM To: coreboot Subject: [coreboot] [PATCH] IRQ service is not returned back.
The basic IRQ handler that is serviced by x86emu module is not returned back to caller. So must be patched.
-- jaagar
It has fixed my vga rom hanging problem. But I don't know why, so ...
So the real problem was x86emu, not CBFS or the onboard driver?
Can you confirm that by using vm86 or SeaBIOS for VGA init?
Thanks, Myles
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.
Thanks, Myles
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