From e6043e92c2812a56b8f6cf35d5512067c746ce21 Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Tue, 9 Sep 2014 11:19:43 +0100 Subject: xhci PCIe endpoint migration compatibility fix Add back the PCIe config capabilities on XHCI cards in non-PCIe slots, but only for machine types before 2.1. This fixes a migration incompatibility in the XHCI PCI devices caused by: 058fdcf52cdbf57b67e7 - xhci: add endpoint cap on express bus only Note that in fixing it for compatibility with older QEMUs, it breaks compatibility with existing QEMU 2.1's on older machine types. The status before this patch was (if it used an XHCI adapter): machine type | source qemu any pre-2.1 - FAIL any 2.1... - PASS With this patch: machine type | source qemu any pre-2.1 - PASS pre-2.1 2.1... - FAIL 2.1 2.1... - PASS A test to trigger it is to add '-device nec-usb-xhci,id=xhci,addr=0x12' to the command line. Cc: qemu-stable@nongnu.org Signed-off-by: Dr. David Alan Gilbert Acked-by: Michael S. Tsirkin Signed-off-by: Gerd Hoffmann --- include/hw/i386/pc.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index a39cb42290..77316d55c8 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -329,6 +329,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); .property = "superspeed-ports-first",\ .value = "off",\ },\ + {\ + .driver = "nec-usb-xhci",\ + .property = "force-pcie-endcap",\ + .value = "on",\ + },\ {\ .driver = "pci-serial",\ .property = "prog_if",\ -- cgit v1.2.3