]> git.ipfire.org Git - thirdparty/qemu.git/commit
xhci PCIe endpoint migration compatibility fix
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Tue, 9 Sep 2014 10:19:43 +0000 (11:19 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Wed, 24 Dec 2014 21:45:02 +0000 (15:45 -0600)
commit3807aeb1d4eed3eb7092bbb743fd444f7ef24ba5
treeabaaddc43ef1d8d86d45559c27a8432bb8ff2614
parentff3bd5e4bbebe49e5e719bc83d894ff0990bc842
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 <dgilbert@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit e6043e92c2812a56b8f6cf35d5512067c746ce21)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/usb/hcd-xhci.c
include/hw/i386/pc.h