qemu-e2k/hw
Michael S. Tsirkin 4d43d3f3c8 virtio-pci: fix migration for pci bus master
Current support for bus master (clearing OK bit)
together with the need to support guests which do not
enable PCI bus mastering, leads to extra state in
VIRTIO_PCI_FLAG_BUS_MASTER_BUG bit, which isn't robust
in case of cross-version migration for the case when
guests use the device before setting DRIVER_OK.

Rip out VIRTIO_PCI_FLAG_BUS_MASTER_BUG and implement a simpler
work-around: treat clearing of PCI_COMMAND as a virtio reset.  Old
guests never touch this bit so they will work.

As reset clears device status, DRIVER and MASTER bits are
now in sync, so we can fix up cross-version migration simply
by synchronising them, without need to detect a buggy guest
explicitly.

Drop tracking VIRTIO_PCI_FLAG_BUS_MASTER_BUG completely.

As reset makes the device quiescent, in the future we'll be able to drop
checking OK bit in a bunch of places.

Cc: Jason Wang <jasowang@redhat.com>
Cc: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2014-09-18 21:51:24 +03:00
..
9pfs hw/9pfs: Don't return type from host in readdir on local 9p filesystem 2014-09-04 10:51:13 -05:00
acpi pcihp: fix possible array out of bounds 2014-08-25 00:16:06 +02:00
alpha iommu: add is_write as a parameter to the translate function of MemoryRegionIOMMUOps 2014-08-28 23:10:22 +02:00
arm hw/arm/boot: enable DTB support when booting ELF images 2014-09-12 14:06:50 +01:00
audio SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
block pflash_cfi01: write flash contents to bdrv on incoming migration 2014-09-08 11:12:43 +01:00
bt
char SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
core qdev: Move global validation to a single function 2014-09-18 21:51:24 +03:00
cpu
cris
display console: pixman switchover continued, add some infrastructure to make it 2014-09-11 11:44:17 +01:00
dma dma: axidma: Variablise repeated s->streams[i] sub-expr 2014-08-24 13:16:32 +04:00
gpio pl061: implement input interrupt logic 2014-09-12 14:06:48 +01:00
i2c Fix debug print warning 2014-09-02 22:38:16 +04:00
i386 trivial patches for 2014-09-03 2014-09-04 13:33:53 +01:00
ide ide: Add resize callback to ide/core 2014-09-08 11:12:44 +01:00
input Fix debug print warning 2014-09-02 22:38:16 +04:00
intc Fix debug print warning 2014-09-02 22:38:16 +04:00
ipack
isa Fix debug print warning 2014-09-02 22:38:16 +04:00
lm32
m68k
mem
microblaze microblaze: ml605: Get rid of ddr_base variable 2014-08-24 13:16:32 +04:00
mips
misc PPC: Cuda: Use cuda timer to expose tbfreq to guest 2014-09-08 12:50:52 +02:00
moxie
net vhost-user: fix VIRTIO_NET_F_MRG_RXBUF negotiation 2014-09-18 21:51:24 +03:00
nvram PPC: mac_nvram: Split NVRAM into OF and OSX parts 2014-09-08 12:50:52 +02:00
openrisc
pci pci: avoid losing config updates to MSI/MSIX cap regs 2014-09-02 17:28:26 +03:00
pci-bridge ioh3420: remove unused ioh3420_init() declaration 2014-09-02 17:28:26 +03:00
pci-host apb: implement PCI bus error interrupt map registers 2014-09-09 06:07:12 +01:00
pcmcia
ppc Patch queue for ppc - 2014-09-08 2014-09-08 12:02:07 +01:00
s390x sclp-s390: Add memory hotplug SCLPs 2014-09-01 09:25:32 +02:00
scsi pci, pc fixes, features 2014-09-04 12:20:41 +01:00
sd
sh4
sparc
sparc64
ssi
timer Fix debug print warning 2014-09-02 22:38:16 +04:00
tpm Add ACPI tables for TPM 2014-08-25 00:16:06 +02:00
tricore target-tricore: Add board for systemmode 2014-09-01 14:49:20 +01:00
unicore32
usb xhci PCIe endpoint migration compatibility fix 2014-09-10 07:20:53 +02:00
virtio virtio-pci: fix migration for pci bus master 2014-09-18 21:51:24 +03:00
watchdog
xen
xenpv
xtensa
Makefile.objs