qemu-patch-raspberry4/hw/ppc
Michael S. Tsirkin 68a27b208a 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 this code, and replace it:
-   Modern QEMU doesn't need VIRTIO_PCI_FLAG_BUS_MASTER_BUG
    so just drop it for latest machine type.
-   For compat machine types, set PCI_COMMAND if DRIVER_OK
    is set.

As this is needed for 2.1 for both pc and ppc, move PC_COMPAT macros from pc.h
to a new common header.

Cc: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
2014-11-02 12:03:03 +02:00
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c ppc: convert g_new(qemu_irq usages to g_new0 2014-08-15 18:54:50 +04:00
e500.h machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
e500plat.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
mac.h block: Rename BlockDriverAIOCB* to BlockAIOCB* 2014-10-20 13:41:27 +02:00
mac_newworld.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
mac_oldworld.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
Makefile.objs spapr_pci_vfio: Add spapr-pci-vfio-host-bridge to support vfio 2014-06-27 13:48:23 +02:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
ppc.c spapr: Add support for time base offset migration 2014-06-16 13:24:35 +02:00
ppc4xx_devs.c SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
ppc4xx_pci.c savevm: Remove all the unneeded version_minimum_id_old (ppc) 2014-06-16 04:55:26 +02:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc405_boards.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
ppc405_uc.c memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
ppc440_bamboo.c machine: Conversion of QEMUMachineInitArgs to MachineState 2014-05-28 17:35:01 +02:00
ppc_booke.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppce500_spin.c ppce500_spin: Initialize struct properly 2014-04-08 11:20:05 +02:00
prep.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
spapr.c virtio-pci: fix migration for pci bus master 2014-11-02 12:03:03 +02:00
spapr_events.c spapr: Move interrupt allocator to xics 2014-06-27 13:48:26 +02:00
spapr_hcall.c hw/ppc/spapr_hcall.c: Fix typo in function names 2014-09-08 12:50:47 +02:00
spapr_iommu.c iommu: add is_write as a parameter to the translate function of MemoryRegionIOMMUOps 2014-08-28 23:10:22 +02:00
spapr_pci.c spapr_pci: map the MSI window in each PHB 2014-09-08 12:50:53 +02:00
spapr_pci_vfio.c spapr_pci_vfio: Add spapr-pci-vfio-host-bridge to support vfio 2014-06-27 13:48:23 +02:00
spapr_rtas.c ppc: spapr-rtas - implement os-term rtas call 2014-09-08 12:50:45 +02:00
spapr_vio.c spapr: Move interrupt allocator to xics 2014-06-27 13:48:26 +02:00
virtex_ml507.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00