Skip to content
  • Michael S. Tsirkin's avatar
    virtio-pci: fix migration for pci bus master · 68a27b20
    Michael S. Tsirkin authored
    
    
    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: default avatarMichael S. Tsirkin <mst@redhat.com>
    Reviewed-by: default avatarAlexander Graf <agraf@suse.de>
    
    68a27b20