[libvirt] [PATCH v6 08/17] qemu: assign nec-xhci (USB3) controller to a PCIe address when appropriate

Andrea Bolognani abologna at redhat.com
Tue Nov 8 15:25:01 UTC 2016


On Mon, 2016-11-07 at 14:50 -0500, Laine Stump wrote:
> The nec-usb-xhci device (which is a USB3 controller) has always
> presented itself as a PCI device when plugged into a legacy PCI slot,
> and a PCIe device when plugged into a PCIe slot, but libvirt has
> always auto-assigned it to a legacy PCI slot.
> 
> This patch changes that behavior to auto-assign to a PCIe slot on
> systems that have pcie-root (e.g. Q35 and aarch64/virt).
> 
> Since we don't yet auto-create pcie-*-port controllers on demand, this
> means a config with an nec-xhci USB controller that has no PCI address
> assigned will also need to have an otherwise-unused pcie-*-port
> controller specified:
> 
>    <controller type='pci' model='pcie-root-port'/>
>    <controller type='usb' model='nec-xhci'/>
> 
> (this assumes there is an otherwise-unused slot on pcie-root to accept
> the pcie-root-port)
> ---
>  src/qemu/qemu_domain_address.c                     |  2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-autoindex.args | 10 +++----
>  tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.args  | 21 ++++++-------
>  tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.xml   |  2 ++
>  .../qemuxml2argv-q35-virtio-pci.args               |  7 ++---
>  tests/qemuxml2argvtest.c                           |  2 ++
>  .../qemuxml2xmlout-autoindex.xml                   | 10 +++----
>  .../qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml | 35 +++++++++-------------
>  .../qemuxml2xmlout-q35-virtio-pci.xml              | 21 +++++--------
>  tests/qemuxml2xmltest.c                            |  2 ++
>  10 files changed, 49 insertions(+), 63 deletions(-)

I see there are existing tests to make sure nec-xhci is
assigned to legacy PCI slots for machine types that don't
have a pcie-root, so we should be covering all grounds
still.

ACK

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list