From mboxrd@z Thu Jan 1 00:00:00 1970 From: Milan Plzik Subject: Differences in emulation between kvm and kvm -no-kvm Date: Tue, 07 Apr 2009 21:59:19 +0200 Message-ID: <1239134359.8519.2111.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org Return-path: Received: from element.ksp.sk ([158.195.16.154]:38955 "EHLO element.ksp.sk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756252AbZDGUgB (ORCPT ); Tue, 7 Apr 2009 16:36:01 -0400 Received: from localhost ([127.0.0.1] helo=[158.195.166.160] ident=sslwrap) by element.ksp.sk with esmtp (Exim 4.69) (envelope-from ) id 1LrHS3-0002vm-MI for kvm@vger.kernel.org; Tue, 07 Apr 2009 21:59:19 +0200 Sender: kvm-owner@vger.kernel.org List-ID: 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').