qemu/include/hw/pci
Michael S. Tsirkin 6b4495401b pcie: fix link active status bit migration
We changed link status register in pci express endpoint capability
over time. Specifically,

commit b2101eae63 ("pcie: Set the "link
active" in the link status register") set data link layer link active
bit in this register without adding compatibility to old machine types.

When migrating from qemu 2.3 and older this affects xhci devices which
under machine type 2.0 and older have a pci express endpoint capability
even if they are on a pci bus.

Add compatibility flags to make this bit value match what it was under
2.3.

Additionally, to avoid breaking migration from qemu 2.3 and up,
suppress checking link status during migration: this seems sane
since hardware can change link status at any time.

https://bugzilla.redhat.com/show_bug.cgi?id=1352860

Reported-by: Gerd Hoffmann <kraxel@redhat.com>
Fixes: b2101eae63
    ("pcie: Set the "link active" in the link status register")
Cc: qemu-stable@nongnu.org
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-07-29 00:07:08 +03:00
..
msi.h pci: Convert msi_init() to Error and fix callers to check it 2016-07-05 13:14:41 +03:00
msix.h msix: make msix_clr_pending() visible for clients 2016-06-02 10:42:09 +08:00
pci_bridge.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
pci_bus.h hw/pci: delay bus_master_enable_region initialization 2016-07-04 14:50:01 +03:00
pci_host.h pci: Fold host_buses list into PCIHostState functionality 2013-07-07 23:10:57 +03:00
pci_ids.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
pci_regs.h pci: Introduce define for PM capability version 1.1 2016-06-02 10:42:09 +08:00
pci-assign.h hw/pci-assign: split pci-assign.c 2015-09-10 12:04:27 +00:00
pci.h pcie: fix link active status bit migration 2016-07-29 00:07:08 +03:00
pcie_aer.h pcie_aer: expose pcie_aer_msg() interface 2016-02-19 09:42:28 -07:00
pcie_host.h pci: Split pcie_host_mmcfg_map() 2015-01-26 20:25:52 +02:00
pcie_port.h pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types 2013-07-29 20:45:24 +02:00
pcie_regs.h pcie: Add support for PCIe CAP v1 2016-06-02 10:42:26 +08:00
pcie.h pcie: Introduce function for DSN capability creation 2016-06-02 10:42:26 +08:00
shpc.h include: Clean up includes 2016-02-23 12:43:05 +00:00
slotid_cap.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00