qemu/hw
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
..
9pfs 9pfs: Wrap in vmstate 2016-07-21 20:44:20 +03:00
acpi opts-visitor: Favor new visit_free() function 2016-07-06 10:52:04 +02:00
alpha hw/alpha: fix PCI bus initialization 2016-07-20 19:30:26 +03:00
arm qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
audio Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
block pc, pci, virtio: new features, cleanups, fixes 2016-07-21 20:12:37 +01:00
bt hw/bt: Don't use cpu_to_*w() and *_to_cpup() 2016-07-12 15:08:53 +01:00
char virtio-serial: Wrap in vmstate 2016-07-21 20:44:20 +03:00
core qapi: Change Netdev into a flat union 2016-07-19 20:18:02 +02:00
cpu cpu: Abstract CPU core type 2016-06-17 16:33:48 +10:00
cris cris: Fix broken header guard in hw/cris/boot.h 2016-07-12 16:20:46 +02:00
display pc, pci, virtio: new features, cleanups, fixes 2016-07-21 20:12:37 +01:00
dma dma: Add Xilinx Zynq devcfg device model 2016-07-04 13:15:22 +01:00
gpio hw/gpio: QOM'ify zaurus.c 2016-06-14 15:59:13 +01:00
i2c ICH9 SMB: make TYPE_ICH9_SMB_DEVICE macro public 2016-06-29 14:03:46 +02:00
i386 pc, pci, virtio: new features, cleanups, fixes 2016-07-21 20:12:37 +01:00
ide block: Convert BB interface to byte-based discards 2016-07-20 14:11:55 +01:00
input virtio-input: Wrap in vmstate 2016-07-21 20:44:20 +03:00
intc pc, pci, virtio: new features, cleanups, fixes 2016-07-21 20:12:37 +01:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi hw/ipmi: fix spelling 2016-06-07 18:02:48 +03:00
isa ich9: implement SCI_IRQ_SEL register 2016-06-29 14:03:48 +02:00
lm32 Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
m68k hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mem nvdimm: fix memory leak in error code path 2016-07-20 19:30:26 +03:00
microblaze Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mips hw/mips: fix PCI bus initialization 2016-07-20 19:30:26 +03:00
misc kvm-irqchip: do explicit commit when update irq 2016-07-21 20:44:19 +03:00
moxie hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
net pc, pci, virtio: new features, cleanups, fixes 2016-07-21 20:12:37 +01:00
nvram Add optionrom compatible with fw_cfg DMA version 2016-07-14 15:50:52 +02:00
openrisc hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
pci pcie: fix link active status bit migration 2016-07-29 00:07:08 +03:00
pci-bridge Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
pci-host hw/versatile: realize the PCI root bus as part of the versatile init 2016-07-20 19:30:27 +03:00
pcmcia hw: Clean up includes 2016-01-29 15:07:25 +00:00
ppc spapr: Ensure CPU cores are added contiguously and removed in LIFO order 2016-07-18 10:40:27 +10:00
s390x s390x/css: provide a dev_path for css devices 2016-07-20 15:47:25 +02:00
scsi pc, pci, virtio: new features, cleanups, fixes 2016-07-21 20:12:37 +01:00
sd ssi: change ssi_slave_init to be a realize ops 2016-07-04 13:15:22 +01:00
sh4 Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
smbios ipmi: Add SMBIOS table entry 2016-06-24 05:13:57 +03:00
sparc trace: split out trace events for hw/sparc/ directory 2016-06-20 17:22:16 +01:00
sparc64 util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
ssi ast2400: pretend DMAs are done for U-boot 2016-07-14 16:51:38 +01:00
timer MIPS patches 2016-07-12 2016-07-12 12:34:41 +01:00
tpm Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
tricore hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
unicore32 hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
usb usb: xhci assert fix, add usbredir streams property 2016-07-20 20:31:31 +01:00
vfio kvm-irqchip: do explicit commit when update irq 2016-07-21 20:44:19 +03:00
virtio virtio-balloon: Wrap in vmstate 2016-07-21 20:44:20 +03:00
watchdog nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
xen Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xenpv Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xtensa target-xtensa: xtfpga: fix FLASH interface width 2016-07-14 13:59:44 +03:00
Makefile.objs Add a base IPMI interface 2015-12-22 18:39:19 +02:00