On Tuesday, 7. april 2009 at 21:59 +0200, Milan Plzik wrote: > Hello, > > I somehow managed to produce code which behaves slightly differently > when using software emulation and when using kvm. As fas as I know, the > bug should be related to reading cursor position from VGA registers. > > Basically, the bug should be reproducible by executing: > > #define VGA_CURSOR_LOC_HIGH 0xe > #define VGA_CURSOR_LOC_LOW 0xf > > priv.addr = 0x3d4; > priv.data = 0x3d5; > > outb (priv.addr, VGA_CURSOR_LOC_HIGH); /* Cursor location high */ > priv.cursor = inb (priv.data) << 8; > > outb (priv.addr, VGA_CURSOR_LOC_LOW); /* Cursor location low */ > priv.cursor += inb (priv.data); This is wrong; looks like the problem was in the end in improperly set %esp register. Anyway, the problem is still the same -- kvm without -no-kvm properly handled stack operations which shouldn't be possible... . But sorry for sending incomplete info > > I put a testcase at > http://stashbox.org/manage_file/480477/kvm-bug.tar.gz . It's my school > project, so it's a bit more complicated; if neccessary, I can supply the > sources. In kvm -no-kvm it should cause reboot, in plain kvm it should > print few colored 'A's into the left upper corner of the screen (rest of > the code in binary is unreachable). It uses a bit more complicated setup > -- pxegrub2 and tftp loading, but that should not matter -- run.sh > should execute kvm with proper arguments, when executed from the kvm-bug > directory. > > Best regards, > Milan > > P.S: Please Cc: me as I'm not subscribed to the list; when possible, > I'll be also idling at #kvm (nickname 'mmp'). -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html