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); 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