[libvirt] [PATCHv2 00/17] Add new PCIe controllers

Laine Stump laine at laine.org
Fri Jul 17 18:43:27 UTC 2015


I had previously sent patches adding these new controller types:

  pcie-root-port
  pcie-switch-upstream-port
  pcie-switch-downstream-port

but there were issues with where the device name and guest-visible
attributes should be stored in the XML:

  https://www.redhat.com/archives/libvir-list/2015-June/msg01084.html

In the end, I *think* we all agreed with mkletzan's suggestion to use this:

 <controller type='pci' model='pcie-root-port'>
   <model type='ioh3420'/>
   <target chassis='5' port='0x18'/>
   ...
</controller>

so that is what I implemented this time around.

(note that the stuff in <model> and <target> are almost always
auto-generated by libvirt, just like PCI addresses, but need to remain
stable to preserve guest ABI during migration)

The first 4 patches of the original series (removing restrictions on
attaching a PCI device to a PCIe port or vice versa) were ACKed and
have already been pushed. In this series, there are new patches 1 - 3
which are completely new (2 is a bugfix, 1,3,4 are fixing up the code
to make later additions cleaner), then 5-6 implementing <model>, 7-8
implementing <target>, and finally 9-17 which are V2's of 5-13 in the
original posting.

Laine Stump (17):
  conf: reorganize virNetworkDHCPDefParseXML
  conf: pay attention to bus minSlot/maxSlot when autoassigning PCI
    addresses
  qemu: reorganize loop in qemuDomainAssignPCIAddresses
  conf: add virDomainControllerDefNew()
  conf: add new <model> subelement with type attribute to <controller>
  qemu: implement <model> subelement to <controller>
  conf: add new <target> subelement with chassisNr attribute to
    <controller>
  qemu: implement <target chassisNr='n'/> subelement/attribute of
    <controller>
  qemu: add capabilities bit for device ioh3420
  conf: new pci controller model "pcie-root-port"
  qemu: support new pci controller model "pcie-root-port"
  qemu: add capabilities bit for device x3130-upstream
  conf: new pci controller model "pcie-switch-upstream-port"
  qemu: support new pci controller model "pcie-switch-upstream-port"
  qemu: add capabilities bit for device xio3130-downstream
  conf: new pcie-controller model "pcie-switch-downstream-port"
  qemu: support new pci controller model "pcie-switch-downstream-port"

 docs/formatdomain.html.in                          |  84 +++++++-
 docs/schemas/domaincommon.rng                      |  42 ++++
 src/conf/domain_addr.c                             |  97 +++++++---
 src/conf/domain_addr.h                             |  12 +-
 src/conf/domain_conf.c                             | 148 +++++++++++---
 src/conf/domain_conf.h                             |  23 +++
 src/conf/network_conf.c                            |  36 ++--
 src/qemu/qemu_capabilities.c                       |   8 +-
 src/qemu/qemu_capabilities.h                       |   5 +-
 src/qemu/qemu_command.c                            | 214 +++++++++++++++++++--
 tests/qemucapabilitiesdata/caps_1.2.2-1.caps       |   3 +
 tests/qemucapabilitiesdata/caps_1.3.1-1.caps       |   3 +
 tests/qemucapabilitiesdata/caps_1.4.2-1.caps       |   3 +
 tests/qemucapabilitiesdata/caps_1.5.3-1.caps       |   3 +
 tests/qemucapabilitiesdata/caps_1.6.0-1.caps       |   3 +
 tests/qemucapabilitiesdata/caps_1.6.50-1.caps      |   3 +
 tests/qemucapabilitiesdata/caps_2.1.1-1.caps       |   3 +
 tests/qemuhelptest.c                               |  10 +-
 .../qemuxml2argv-pcie-root-port.args               |  10 +
 .../qemuxml2argv-pcie-root-port.xml                |  36 ++++
 .../qemuxml2argv-pcie-switch-downstream-port.args  |  18 ++
 .../qemuxml2argv-pcie-switch-downstream-port.xml   |  44 +++++
 .../qemuxml2argv-pcie-switch-upstream-port.args    |  12 ++
 .../qemuxml2argv-pcie-switch-upstream-port.xml     |  37 ++++
 tests/qemuxml2argvdata/qemuxml2argv-q35.args       |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-q35.xml        |   9 +-
 tests/qemuxml2argvtest.c                           |  25 +++
 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml    |   9 +-
 tests/qemuxml2xmltest.c                            |   3 +
 29 files changed, 809 insertions(+), 96 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-downstream-port.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-downstream-port.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.xml

-- 
2.1.0




More information about the libvir-list mailing list