Tom Sylla wrote:
Looking at one of your old logs, it looks like the VSA init code is *running* in the 0x1000 segment:
http://www.coreboot.org/pipermail/coreboot/2008-January/029736.html
(cs 0x1000)
That is probably smashing the region. The int18s are certainly bad, you should just have the normal two int15s, with cs 0x6000.
Tom is right, something funny is going on here. We see the VSA decompressed to buf 0x00060000 which is a good place for VSA. Then we don't see an error that VSA isn't found. That means that it found the first post code as expected.
The next part is very strange. The int 0x18 should be int 0x15 and as Tom points out, cs should be 0x6000 not 0x1000. What and why does it think it is at cs 0x1000.
Can you try using vsmsetup.c instead of vm86.c? Something looks strange in the reporting. ebp 0x60000000. Are the variables aligned on the stack correctly? Is this debug info correct? Are we being mislead? This looks suspicious in callbiosint() " movw $0x18, %ax \n"
Also, case 0x15: ret=handleint21( &edi, &esi, &ebp, &esp, &ebx, &edx, &ecx, &eax, &flags);
Please call it handleint15 it it handle int15.
Finally, the int0x15 will be removed from the next VSA.
Marc