* [Qemu-devel] [PULL 0/1] xhci PCIe endpoint migration compatibility fix @ 2014-09-10 5:55 Gerd Hoffmann 2014-09-10 5:55 ` [Qemu-devel] [PULL 1/1] " Gerd Hoffmann 2014-09-11 10:43 ` [Qemu-devel] [PULL 0/1] " Peter Maydell 0 siblings, 2 replies; 3+ messages in thread From: Gerd Hoffmann @ 2014-09-10 5:55 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-stable, Gerd Hoffmann Hi, Qemu 2.1.1 release is delayed a bit, so I have the chance to squeeze in a last-minute fix for a migration compatibility bug in xhci. please pull, Gerd The following changes since commit f102f224556f292f55b6e25147741bb8c48c9451: Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-peter' into staging (2014-09-05 16:03:56 +0100) are available in the git repository at: git://git.kraxel.org/qemu tags/pull-usb-20140910-1 for you to fetch changes up to e6043e92c2812a56b8f6cf35d5512067c746ce21: xhci PCIe endpoint migration compatibility fix (2014-09-10 07:20:53 +0200) ---------------------------------------------------------------- xhci PCIe endpoint migration compatibility fix ---------------------------------------------------------------- Dr. David Alan Gilbert (1): xhci PCIe endpoint migration compatibility fix hw/usb/hcd-xhci.c | 6 +++++- include/hw/i386/pc.h | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [PULL 1/1] xhci PCIe endpoint migration compatibility fix 2014-09-10 5:55 [Qemu-devel] [PULL 0/1] xhci PCIe endpoint migration compatibility fix Gerd Hoffmann @ 2014-09-10 5:55 ` Gerd Hoffmann 2014-09-11 10:43 ` [Qemu-devel] [PULL 0/1] " Peter Maydell 1 sibling, 0 replies; 3+ messages in thread From: Gerd Hoffmann @ 2014-09-10 5:55 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, qemu-stable, Anthony Liguori, Dr. David Alan Gilbert From: "Dr. David Alan Gilbert" <dgilbert@redhat.com> 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> --- hw/usb/hcd-xhci.c | 6 +++++- include/hw/i386/pc.h | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index bbe4c5f..73ced1f 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -499,6 +499,7 @@ enum xhci_flags { XHCI_FLAG_USE_MSI = 1, XHCI_FLAG_USE_MSI_X, XHCI_FLAG_SS_FIRST, + XHCI_FLAG_FORCE_PCIE_ENDCAP, }; static void xhci_kick_ep(XHCIState *xhci, unsigned int slotid, @@ -3626,7 +3627,8 @@ static int usb_xhci_initfn(struct PCIDevice *dev) PCI_BASE_ADDRESS_SPACE_MEMORY|PCI_BASE_ADDRESS_MEM_TYPE_64, &xhci->mem); - if (pci_bus_is_express(dev->bus)) { + if (pci_bus_is_express(dev->bus) || + xhci_get_flag(xhci, XHCI_FLAG_FORCE_PCIE_ENDCAP)) { ret = pcie_endpoint_cap_init(dev, 0xa0); assert(ret >= 0); } @@ -3855,6 +3857,8 @@ static Property xhci_properties[] = { DEFINE_PROP_BIT("msix", XHCIState, flags, XHCI_FLAG_USE_MSI_X, true), DEFINE_PROP_BIT("superspeed-ports-first", XHCIState, flags, XHCI_FLAG_SS_FIRST, true), + DEFINE_PROP_BIT("force-pcie-endcap", XHCIState, flags, + XHCI_FLAG_FORCE_PCIE_ENDCAP, false), DEFINE_PROP_UINT32("intrs", XHCIState, numintrs, MAXINTRS), DEFINE_PROP_UINT32("slots", XHCIState, numslots, MAXSLOTS), DEFINE_PROP_UINT32("p2", XHCIState, numports_2, 4), diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index a39cb42..77316d5 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -330,6 +330,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); .value = "off",\ },\ {\ + .driver = "nec-usb-xhci",\ + .property = "force-pcie-endcap",\ + .value = "on",\ + },\ + {\ .driver = "pci-serial",\ .property = "prog_if",\ .value = stringify(0),\ -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] xhci PCIe endpoint migration compatibility fix 2014-09-10 5:55 [Qemu-devel] [PULL 0/1] xhci PCIe endpoint migration compatibility fix Gerd Hoffmann 2014-09-10 5:55 ` [Qemu-devel] [PULL 1/1] " Gerd Hoffmann @ 2014-09-11 10:43 ` Peter Maydell 1 sibling, 0 replies; 3+ messages in thread From: Peter Maydell @ 2014-09-11 10:43 UTC (permalink / raw) To: Gerd Hoffmann; +Cc: QEMU Developers, qemu-stable On 10 September 2014 06:55, Gerd Hoffmann <kraxel@redhat.com> wrote: > Hi, > > Qemu 2.1.1 release is delayed a bit, so I have the chance to squeeze > in a last-minute fix for a migration compatibility bug in xhci. > > please pull, > Gerd > > The following changes since commit f102f224556f292f55b6e25147741bb8c48c9451: > > Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-peter' into staging (2014-09-05 16:03:56 +0100) > > are available in the git repository at: > > > git://git.kraxel.org/qemu tags/pull-usb-20140910-1 > > for you to fetch changes up to e6043e92c2812a56b8f6cf35d5512067c746ce21: > > xhci PCIe endpoint migration compatibility fix (2014-09-10 07:20:53 +0200) > > ---------------------------------------------------------------- > xhci PCIe endpoint migration compatibility fix > > ---------------------------------------------------------------- > Dr. David Alan Gilbert (1): > xhci PCIe endpoint migration compatibility fix > > hw/usb/hcd-xhci.c | 6 +++++- > include/hw/i386/pc.h | 5 +++++ > 2 files changed, 10 insertions(+), 1 deletion(-) Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-09-11 10:44 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-09-10 5:55 [Qemu-devel] [PULL 0/1] xhci PCIe endpoint migration compatibility fix Gerd Hoffmann 2014-09-10 5:55 ` [Qemu-devel] [PULL 1/1] " Gerd Hoffmann 2014-09-11 10:43 ` [Qemu-devel] [PULL 0/1] " Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).