qemu-e2k/include/hw/i386
Dr. David Alan Gilbert e6043e92c2 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:
   058fdcf52c - 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 <dgilbert@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-09-10 07:20:53 +02:00
..
apic_internal.h apic: use emulated lapic version 0x14 on pc machines >= 2.1 2014-05-07 18:36:37 +03:00
apic-msidef.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
apic.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
ich9.h ich: get rid of spaces in type name 2014-06-19 16:41:53 +03:00
intel_iommu.h intel-iommu: add IOTLB using hash table 2014-08-28 23:10:22 +02:00
ioapic_internal.h ioapic: QOM'ify ioapic 2013-12-24 18:02:18 +01:00
ioapic.h pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h 2013-07-29 19:33:32 -05:00
pc.h xhci PCIe endpoint migration compatibility fix 2014-09-10 07:20:53 +02:00
smbios.h SMBIOS: Fix type 17 field sizes 2014-05-21 15:47:50 +03:00