Re: Differences in emulation between kvm and kvm -no-kvm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux