[libvirt] [PATCH v6 00/17] Use more PCIe less legacy PCI

Laine Stump laine at laine.org
Mon Nov 7 19:50:08 UTC 2016


This is a rebase of v5 (, with the addition of patches 16 & 17, which
detect the type of VFIO assigned devices and assign them to either an
Express or a legacy PCI slot as appropriate,

Laine Stump (17):
  qemu: new functions qemuDomainMachineHasPCI[e]Root()
  qemu: new functions to calculate/set device pciConnectFlags
  qemu: set/use info->pciConnectFlags when validating/assigning PCI
    addresses
  qemu: set/use proper pciConnectFlags during hotplug
  qemu: set pciConnectFlags to 0 instead of PCI|HOTPLUGGABLE if device
    isn't PCI
  qemu: assign virtio devices to PCIe slot when appropriate
  qemu: assign e1000e network devices to PCIe slots when appropriate
  qemu: assign nec-xhci (USB3) controller to a PCIe address when
    appropriate
  qemu: only force an available legacy-PCI slot on domains with pci-root
  qemu: auto-add pcie-root-port/dmi-to-pci-bridge controllers as needed
  [RFC] qemu: if pci-bridge is in PCIe config w/o dmi-to-pci-bridge, add
    it
  qemu: don't force-add a dmi-to-pci-bridge just on principle
  qemu: add a USB3 controller to Q35 domains by default
  qemu: try to put ich9 sound device at 00:1B.0
  qemu: initially reserve one open pcie-root-port for hotplug
  qemu: propagate virQEMUDriver object to
    qemuDomainDeviceCalculatePCIConnectFlags
  qemu: assign vfio devices to PCIe addresses when appropriate

 src/conf/device_conf.h                             |   5 +
 src/conf/domain_addr.c                             | 112 ++-
 src/conf/domain_addr.h                             |   3 +-
 src/qemu/qemu_domain.c                             |  54 +-
 src/qemu/qemu_domain.h                             |   2 +
 src/qemu/qemu_domain_address.c                     | 880 +++++++++++++++++----
 src/qemu/qemu_domain_address.h                     |   9 +-
 src/qemu/qemu_hotplug.c                            |  28 +-
 src/qemu/qemu_process.c                            |  13 +-
 tests/qemuhotplugtest.c                            |   4 +-
 tests/qemuxml2argvdata/qemuxml2argv-autoindex.args |  10 +-
 .../qemuxml2argv-bios-nvram-secure.args            |   1 +
 .../qemuxml2argv-machine-smm-opt.args              |   1 +
 tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args |   3 +-
 .../qemuxml2argv-q35-default-devices-only.args     |  23 +
 .../qemuxml2argv-q35-default-devices-only.xml      |  18 +
 .../qemuxml2argv-q35-pcie-autoadd.args             |  57 ++
 .../qemuxml2argv-q35-pcie-autoadd.xml              |  51 ++
 tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.args  |  58 ++
 tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.xml   |  67 ++
 .../qemuxml2argv-q35-pm-disable-fallback.args      |   1 +
 .../qemuxml2argv-q35-pm-disable.args               |   1 +
 .../qemuxml2argv-q35-virt-manager-basic.args       |  56 ++
 .../qemuxml2argv-q35-virt-manager-basic.xml        |  76 ++
 .../qemuxml2argv-q35-virtio-pci.args               |  58 ++
 .../qemuxml2argv-q35-virtio-pci.xml                |   1 +
 tests/qemuxml2argvtest.c                           | 164 +++-
 .../qemuxml2xmlout-autoindex.xml                   |  10 +-
 .../qemuxml2xmlout-pcie-root.xml                   |   4 -
 .../qemuxml2xmlout-q35-default-devices-only.xml    |  45 ++
 .../qemuxml2xmlout-q35-pcie-autoadd.xml            | 148 ++++
 .../qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml | 152 ++++
 .../qemuxml2xmlout-q35-virt-manager-basic.xml      | 121 +++
 .../qemuxml2xmlout-q35-virtio-pci.xml              | 152 ++++
 tests/qemuxml2xmltest.c                            | 136 +++-
 35 files changed, 2285 insertions(+), 239 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-default-devices-only.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-default-devices-only.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pcie-autoadd.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pcie-autoadd.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-virt-manager-basic.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-virt-manager-basic.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-virtio-pci.args
 create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-q35-virtio-pci.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-default-devices-only.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie-autoadd.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-virt-manager-basic.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-virtio-pci.xml

-- 
2.7.4




More information about the libvir-list mailing list