Re: [PATCH v2 00/29] ppc64 PowerNV machines support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping

On 1/25/22 17:48, Daniel Henrique Barboza wrote:
Hi,

This v2 has changes proposed by Peter and Daniel on the v1
review. Peter's reviewed-by tags were kept when applicable.

The usability change made is that, now, we'll fail to launch powernv
domains that has a pnv-phb* device and it's running a QEMU version
that doesn't support these devices to be user creatable. Trying to
run the 'powernv8-basic' domain with a QEMU 6.2.0 binary will result
in an error:

$ sudo ./run tools/virsh define ../tests/qemuxml2argvdata/powernv8-basic.xml
error: Failed to define domain from ../tests/qemuxml2argvdata/powernv8-basic.xml
error: unsupported configuration: The 'pnv-phb3' device is not supported by this QEMU binary

Using the current QEMU upstream will allow the domain to be defined and
started.


Changes from v1:
- all tests are now using CAPS_LATEST;

- QEMU_CAPS_DEVICE_PNV_PHB3_ROOT_PORT is no longer being used. Capability
   for the pnv-phb3-root-port is infered to exist if the capabilitity for
   its PHB (QEMU_CAPS_DEVICE_PNV_PHB3) is present. Same thing for the
   case of QEMU_CAPS_DEVICE_PNV_PHB4_ROOT_PORT and QEMU_CAPS_DEVICE_PNV_PHB4;

- QEMU_CAPS_DEVICE_PNV_PHB3 and QEMU_CAPS_DEVICE_PNV_PHB4 are no longer
   being probed. They are being set by hand after checking for QEMU
   version in virQEMUCapsInitQMPVersionCaps();

- patch 01 (QEMU ppc64 capabilities for qemu 7.0):
   * dropped since it's already upstream

- patch 09 (forbid powernv domains migration):
   * removed. This will be handled on QEMU side

- patch 14 (new):
   * added documentation of the different semantics 'targetIndex' will have
   for PowerNV PHBs

- several other minor changes suggested by Peter

- v1 link: https://listman.redhat.com/archives/libvir-list/2022-January/msg00902.html


Daniel Henrique Barboza (29):
   qemu_domain.c: add PowerNV machine helpers
   qemu_capabilities.c: use 'MachineIsPowerPC' in DeviceDiskCaps
   qemu_domain: turn qemuDomainMachineIsPSeries() static
   qemu_validate.c: use qemuDomainIsPowerPC() in
     qemuValidateDomainChrDef()
   qemu_domain.c: define ISA as default PowerNV serial
   qemu_validate.c: enhance 'machine type not supported' message
   qemu_domain.c: disable default devices for PowerNV machines
   tests: add basic PowerNV8 test
   qemu: introduce QEMU_CAPS_DEVICE_PNV_PHB3
   conf, qemu: add 'pnv-phb3-root-port' PCI controller model name
   conf, qemu: add 'pnv-phb3' PCI controller model name
   domain_conf.c: fix identation in virDomainControllerDefParseXML()
   conf: parse and format <target chip-id='...'/>
   formatdomain.rst: add 'index' semantics for PowerNV domains
   introduce virDomainControllerIsPowerNVPHB
   conf, qemu: add default 'chip-id' value for pnv-phb3 controllers
   conf, qemu: add default 'targetIndex' value for pnv-phb3 devs
   qemu_command.c: add command line for the pnv-phb3 device
   qemu_domain_address.c: change pnv-phb3 minimal downstream slot
   domain_conf: format pnv-phb3-root-port empty addr
   tests: add pnv-phb3-root-port test
   domain_validate.c: allow targetIndex 0 out of idx 0 for PowerNV PHBs
   domain_conf.c: reject duplicated pnv-phb3 devices
   qemu: introduce QEMU_CAPS_DEVICE_PNV_PHB4
   conf, qemu: add 'pnv-phb4-root-port' PCI controller model name
   domain_conf.c: add phb4-root-port to IsPowerNVRootPort()
   conf, qemu: add 'pnv-phb4' controller model name
   domain_conf.c: add pnv-phb4 to ControllerIsPowerNVPHB()
   tests: add PowerNV9 tests

  docs/formatdomain.rst                         |  12 +-
  docs/schemas/domaincommon.rng                 |  10 ++
  src/conf/domain_conf.c                        | 157 ++++++++++++++----
  src/conf/domain_conf.h                        |   8 +
  src/conf/domain_validate.c                    |   5 +-
  src/libvirt_private.syms                      |   1 +
  src/qemu/qemu_capabilities.c                  |  28 +++-
  src/qemu/qemu_capabilities.h                  |   2 +
  src/qemu/qemu_command.c                       |  21 ++-
  src/qemu/qemu_domain.c                        |  56 ++++++-
  src/qemu/qemu_domain.h                        |   4 +-
  src/qemu/qemu_domain_address.c                |  64 ++++++-
  src/qemu/qemu_validate.c                      |  62 ++++++-
  .../qemucapabilitiesdata/caps_7.0.0.ppc64.xml |   2 +
  .../powernv8-basic.ppc64-latest.args          |  34 ++++
  tests/qemuxml2argvdata/powernv8-basic.xml     |  16 ++
  tests/qemuxml2argvdata/powernv8-dupPHBs.err   |   1 +
  .../powernv8-dupPHBs.ppc64-latest.err         |   1 +
  tests/qemuxml2argvdata/powernv8-dupPHBs.xml   |  27 +++
  .../powernv8-root-port.ppc64-latest.args      |  35 ++++
  tests/qemuxml2argvdata/powernv8-root-port.xml |  17 ++
  .../powernv8-two-sockets.ppc64-latest.args    |  35 ++++
  .../qemuxml2argvdata/powernv8-two-sockets.xml |  26 +++
  .../powernv9-dupPHBs.ppc64-latest.err         |   1 +
  tests/qemuxml2argvdata/powernv9-dupPHBs.xml   |  27 +++
  .../powernv9-root-port.ppc64-latest.args      |  35 ++++
  tests/qemuxml2argvdata/powernv9-root-port.xml |  17 ++
  tests/qemuxml2argvtest.c                      |   7 +
  .../powernv8-basic.ppc64-latest.xml           |  34 ++++
  .../powernv8-root-port.ppc64-latest.xml       |  39 +++++
  .../powernv8-two-sockets.ppc64-latest.xml     |  39 +++++
  .../powernv9-root-port.ppc64-latest.xml       |  39 +++++
  .../qemuxml2xmloutdata/powernv9-root-port.xml |  36 ++++
  tests/qemuxml2xmltest.c                       |   5 +
  34 files changed, 855 insertions(+), 48 deletions(-)
  create mode 100644 tests/qemuxml2argvdata/powernv8-basic.ppc64-latest.args
  create mode 100644 tests/qemuxml2argvdata/powernv8-basic.xml
  create mode 100644 tests/qemuxml2argvdata/powernv8-dupPHBs.err
  create mode 100644 tests/qemuxml2argvdata/powernv8-dupPHBs.ppc64-latest.err
  create mode 100644 tests/qemuxml2argvdata/powernv8-dupPHBs.xml
  create mode 100644 tests/qemuxml2argvdata/powernv8-root-port.ppc64-latest.args
  create mode 100644 tests/qemuxml2argvdata/powernv8-root-port.xml
  create mode 100644 tests/qemuxml2argvdata/powernv8-two-sockets.ppc64-latest.args
  create mode 100644 tests/qemuxml2argvdata/powernv8-two-sockets.xml
  create mode 100644 tests/qemuxml2argvdata/powernv9-dupPHBs.ppc64-latest.err
  create mode 100644 tests/qemuxml2argvdata/powernv9-dupPHBs.xml
  create mode 100644 tests/qemuxml2argvdata/powernv9-root-port.ppc64-latest.args
  create mode 100644 tests/qemuxml2argvdata/powernv9-root-port.xml
  create mode 100644 tests/qemuxml2xmloutdata/powernv8-basic.ppc64-latest.xml
  create mode 100644 tests/qemuxml2xmloutdata/powernv8-root-port.ppc64-latest.xml
  create mode 100644 tests/qemuxml2xmloutdata/powernv8-two-sockets.ppc64-latest.xml
  create mode 100644 tests/qemuxml2xmloutdata/powernv9-root-port.ppc64-latest.xml
  create mode 100644 tests/qemuxml2xmloutdata/powernv9-root-port.xml





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux