]> git.proxmox.com Git - qemu.git/commit
vmware_vga: Add checks to deal with non-atomic fifo writes.
authorAndrzej Zaborowski <balrog@zabor.org>
Fri, 10 Sep 2010 00:23:31 +0000 (02:23 +0200)
committerAndrzej Zaborowski <balrog@zabor.org>
Fri, 10 Sep 2010 00:23:31 +0000 (02:23 +0200)
commit4dedc07ffbbc66002e0fd2b97d5516fe6aca5eea
tree176e41aba6f6498213ddb82f53ca6ffb909e080b
parent6a8aabd3c132188ee8e0e82ef4aba09f782cbe96
vmware_vga: Add checks to deal with non-atomic fifo writes.

Janne Huttunen noticed that the FIFO end pointer is updated by the
guest after writing each word to the FIFO, at least the X.org driver
which is open does this.  This means that there's no way for the
host to know if the guest is in the middle a write operation.  Qemu
thus needs to read the beginning of the command up to when it's able
to tell how many words are expected for the given command.  It will
abort reading and rewind the FIFO if there aren't enough words yet,
this should be relatively rare but it is suspected to have been the
cause of the occasional FIFO overrun that killed the display.
hw/vmware_vga.c