I took the liberty of adjusting Hongwei's QEMU series and made further
adjustments so that the common code can be used for reporting NVMe disks from
VMX as well.  I added SoBs where I thought applicable, but feel free to correct
me and/or agree with me.

This series fixes https://issues.redhat.com/browse/RHEL-7390 in the middle, but
adds more than just that.

Martin Kletzander (11):
  docs, conf, schemas: Add support for NVMe controller
  util: Add support for parsing nvmeXnY(pZ) strings
  conf: Add virDomainDeviceFindNvmeController
  docs, conf, schemas: Add support for NVMe disks
  vmx: Add support for NVMe disks
  qemu_capabilities: Add NVMe controller and disk capabilities
  qemu_capabilities: Add emulated NVMe disk support to domain
    capabilities
  qemu: Add support for NVMe controllers
  qemu: Add support for emulated NVMe disks
  NEWS: vmx support for NVMe disks
  NEWS: qemu support for emulated NVMe disks

 NEWS.rst                                      |  15 +++
 docs/formatdomain.rst                         |  19 +++-
 src/bhyve/bhyve_command.c                     |   1 +
 src/conf/domain_conf.c                        |  96 ++++++++++++++++-
 src/conf/domain_conf.h                        |  10 ++
 src/conf/domain_postparse.c                   |   2 +
 src/conf/domain_validate.c                    |   4 +-
 src/conf/schemas/domaincommon.rng             |  22 +++-
 src/conf/virconftypes.h                       |   2 +
 src/hyperv/hyperv_driver.c                    |   2 +
 src/libxl/libxl_driver.c                      |   2 +-
 src/qemu/qemu_alias.c                         |   1 +
 src/qemu/qemu_capabilities.c                  |   7 ++
 src/qemu/qemu_capabilities.h                  |   2 +
 src/qemu/qemu_command.c                       |  33 +++++-
 src/qemu/qemu_domain_address.c                |   5 +
 src/qemu/qemu_hotplug.c                       |  10 +-
 src/qemu/qemu_postparse.c                     |   1 +
 src/qemu/qemu_validate.c                      |  65 ++++++++++--
 src/test/test_driver.c                        |   2 +
 src/util/virutil.c                            |  94 ++++++++++++++--
 src/util/virutil.h                            |   7 +-
 src/vbox/vbox_common.c                        |   4 +-
 src/vmx/vmx.c                                 |  85 ++++++++++++++-
 src/vz/vz_sdk.c                               |   6 +-
 .../qemu_10.0.0-q35.x86_64+amdsev.xml         |   1 +
 .../domaincapsdata/qemu_10.0.0-q35.x86_64.xml |   1 +
 .../qemu_10.0.0-tcg.x86_64+amdsev.xml         |   1 +
 .../domaincapsdata/qemu_10.0.0-tcg.x86_64.xml |   1 +
 .../qemu_10.0.0-virt.aarch64.xml              |   1 +
 tests/domaincapsdata/qemu_10.0.0.aarch64.xml  |   1 +
 tests/domaincapsdata/qemu_10.0.0.ppc64.xml    |   1 +
 tests/domaincapsdata/qemu_10.0.0.s390x.xml    |   1 +
 .../qemu_10.0.0.x86_64+amdsev.xml             |   1 +
 tests/domaincapsdata/qemu_10.0.0.x86_64.xml   |   1 +
 .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_6.2.0.ppc64.xml     |   1 +
 tests/domaincapsdata/qemu_6.2.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_7.0.0.ppc64.xml     |   1 +
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_7.1.0.ppc64.xml     |   1 +
 tests/domaincapsdata/qemu_7.1.0.x86_64.xml    |   1 +
 .../qemu_7.2.0-hvf.x86_64+hvf.xml             |   1 +
 .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml  |   1 +
 .../qemu_7.2.0-tcg.x86_64+hvf.xml             |   1 +
 .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_7.2.0.ppc.xml       |   1 +
 tests/domaincapsdata/qemu_7.2.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |   1 +
 .../qemu_8.2.0-tcg-virt.loongarch64.xml       |   1 +
 .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  |   1 +
 .../qemu_8.2.0-virt.aarch64.xml               |   1 +
 .../qemu_8.2.0-virt.loongarch64.xml           |   1 +
 tests/domaincapsdata/qemu_8.2.0.aarch64.xml   |   1 +
 tests/domaincapsdata/qemu_8.2.0.armv7l.xml    |   1 +
 tests/domaincapsdata/qemu_8.2.0.s390x.xml     |   1 +
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  |   1 +
 .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml    |   1 +
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  |   1 +
 .../qemu_9.1.0-tcg-virt.riscv64.xml           |   1 +
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  |   1 +
 .../qemu_9.1.0-virt.riscv64.xml               |   1 +
 tests/domaincapsdata/qemu_9.1.0.s390x.xml     |   1 +
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    |   1 +
 .../qemu_9.2.0-hvf.aarch64+hvf.xml            |   1 +
 .../qemu_9.2.0-q35.x86_64+amdsev.xml          |   1 +
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  |   1 +
 .../qemu_9.2.0-tcg.x86_64+amdsev.xml          |   1 +
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_9.2.0.s390x.xml     |   1 +
 .../qemu_9.2.0.x86_64+amdsev.xml              |   1 +
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    |   1 +
 .../genericxml2xmlindata/controller-nvme.xml  |  21 ++++
 .../disk-nvme-invalid-serials.xml             |  29 +++++
 tests/genericxml2xmlindata/disk-nvme.xml      |  32 ++++++
 tests/genericxml2xmloutdata/disk-nvme.xml     |  38 +++++++
 tests/genericxml2xmltest.c                    |   4 +
 .../caps_10.0.0_aarch64.xml                   |   2 +
 .../caps_10.0.0_ppc64.xml                     |   2 +
 .../caps_10.0.0_s390x.xml                     |   2 +
 .../caps_10.0.0_x86_64+amdsev.xml             |   2 +
 .../caps_10.0.0_x86_64.xml                    |   2 +
 .../qemucapabilitiesdata/caps_6.2.0_ppc64.xml |   2 +
 .../caps_6.2.0_x86_64.xml                     |   2 +
 .../qemucapabilitiesdata/caps_7.0.0_ppc64.xml |   2 +
 .../caps_7.0.0_x86_64.xml                     |   2 +
 .../qemucapabilitiesdata/caps_7.1.0_ppc64.xml |   2 +
 .../caps_7.1.0_x86_64.xml                     |   2 +
 tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml |   2 +
 .../caps_7.2.0_x86_64+hvf.xml                 |   2 +
 .../caps_7.2.0_x86_64.xml                     |   2 +
 .../caps_8.0.0_x86_64.xml                     |   2 +
 .../caps_8.1.0_x86_64.xml                     |   2 +
 .../caps_8.2.0_aarch64.xml                    |   2 +
 .../caps_8.2.0_armv7l.xml                     |   2 +
 .../caps_8.2.0_loongarch64.xml                |   2 +
 .../qemucapabilitiesdata/caps_8.2.0_s390x.xml |   2 +
 .../caps_8.2.0_x86_64.xml                     |   2 +
 .../caps_9.0.0_x86_64.xml                     |   2 +
 .../caps_9.1.0_riscv64.xml                    |   2 +
 .../qemucapabilitiesdata/caps_9.1.0_s390x.xml |   2 +
 .../caps_9.1.0_x86_64.xml                     |   2 +
 .../caps_9.2.0_aarch64+hvf.xml                |   2 +
 .../qemucapabilitiesdata/caps_9.2.0_s390x.xml |   2 +
 .../caps_9.2.0_x86_64+amdsev.xml              |   2 +
 .../caps_9.2.0_x86_64.xml                     |   2 +
 .../disk-target-nvme.x86_64-latest.args       |  39 +++++++
 .../disk-target-nvme.x86_64-latest.xml        |  53 ++++++++++
 tests/qemuxmlconfdata/disk-target-nvme.xml    |  32 ++++++
 tests/qemuxmlconftest.c                       |   1 +
 tests/utiltest.c                              |  38 ++++---
 tests/vmx2xmldata/esx-in-the-wild-15.vmx      | 100 ++++++++++++++++++
 tests/vmx2xmldata/esx-in-the-wild-15.xml      |  45 ++++++++
 tests/vmx2xmldata/esx-in-the-wild-16.vmx      |  91 ++++++++++++++++
 tests/vmx2xmldata/esx-in-the-wild-16.xml      |  37 +++++++
 tests/vmx2xmltest.c                           |   2 +
 129 files changed, 1128 insertions(+), 49 deletions(-)
 create mode 100644 tests/genericxml2xmlindata/controller-nvme.xml
 create mode 100644 tests/genericxml2xmlindata/disk-nvme-invalid-serials.xml
 create mode 100644 tests/genericxml2xmlindata/disk-nvme.xml
 create mode 100644 tests/genericxml2xmloutdata/disk-nvme.xml
 create mode 100644 tests/qemuxmlconfdata/disk-target-nvme.x86_64-latest.args
 create mode 100644 tests/qemuxmlconfdata/disk-target-nvme.x86_64-latest.xml
 create mode 100644 tests/qemuxmlconfdata/disk-target-nvme.xml
 create mode 100644 tests/vmx2xmldata/esx-in-the-wild-15.vmx
 create mode 100644 tests/vmx2xmldata/esx-in-the-wild-15.xml
 create mode 100644 tests/vmx2xmldata/esx-in-the-wild-16.vmx
 create mode 100644 tests/vmx2xmldata/esx-in-the-wild-16.xml

-- 
2.49.0

Reply via email to