pcie_root_port: Disable ACS on older machines
commitc8557f1b4873549fc231496f00003a9e5389c8dd
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Tue, 30 Jul 2019 09:37:19 +0000 (30 10:37 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 30 Jul 2019 16:07:07 +0000 (30 12:07 -0400)
tree31613e7076d6418824ee9be9240c5b26acd1ad59
parenta58dfba20168dae18650ad70f47af99be55b1c45
pcie_root_port: Disable ACS on older machines

ACS got added in 4.0 unconditionally,  that broke older<->4.0 migration
where there was a PCIe root port.
Fix this by turning it off for 3.1 and older machines; note this
fixes compatibility for older QEMUs but breaks compatibility with 4.0
for older machine types.

    machine type    source qemu   dest qemu
       3.1             3.1           4.0        broken
       3.1             3.1           4.1rc2     broken
       3.1             3.1           4.1+this   OK ++
       3.1             4.0           4.1rc2     OK
       3.1             4.0           4.1+this   broken --
       4.0             4.0           4.1rc2     OK
       4.0             4.0           4.1+this   OK

So we gain and lose; the consensus seems to be treat this as a
fix for older machine types.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190730093719.12958-3-dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/core/machine.c