v2 of:

https://lists.libvirt.org/archives/list/[email protected]/thread/DFODXJR46YDTC545NTGJ4ED52D3W3H5E/

diff to v1:
- Validate dependencies across hv-* enlightenment (per QEMU docs),
- Drop introduction of hv-time, since it's already present (as a timer),

I've kept mode='host-model' in domain XML and <defaults/> in domcaps
XML, since no one objected, yet.

Michal Prívozník (29):
  docs: Fix QEMU version wrt hypervclock
  src: Drop needless typecast to virDomainTimerNameType
  conf: Introduce virDomainDefHasTimer()
  qemuxmlconfdata: Adjust hv-stimer related tests
  qemu_validate: Reflect dependencies of hv-synic
  qemu_validate: Reflect dependencies of hv-stimer
  qemu_validate: Reflect dependencies of hv-tlbflush
  qemu_validate: Reflect dependencies of hv-ipi
  qemu_validate: Reflect dependencies of hv-evmcs
  qemu_validate: Reflect dependencies of hv-tlbflush-direct
  NEWS: Document Hyper-V enlightenment validation
  virxml: Introduce virXPathTristateSwitch()
  virxml: Introduce virXPathTristateBool()
  qemu: Use virXPathTristateBool()
  domain_conf: Move format of hyperv features into a function
  domain_conf: Use virXMLFormatElement() to format hyperv features
  qemu_caps: Prefer VIR_DOMAIN_CAPS_ENUM_IS_SET()
  qemu_command: Move hyperv cmd line generation into a function
  qemu_command: Prefer virBufferAddLit() in
    qemuBuildCpuHypervCommandLine()
  libxl: Simplify setting HyperV features
  conf: More hyperv related members into a single struct
  docs: Drop remark on now unsupported version of QEMU
  conf: Report default hyperv values in domain capabilities
  qemu_capabilities: Format and parse new hyperv domcaps members
  qemu_capabilities: Fetch new hyperv domcaps
  qemu_caps: Introduce virQEMUCapsGetHypervCapabilities()
  conf: Introduce hyperv host-model mode
  qemu_process: Populate hyperv features for host-model
  NEWS: Document new host-model hyperv mode

 NEWS.rst                                      |  11 +
 docs/formatdomain.rst                         |   8 +-
 docs/formatdomaincaps.rst                     |   9 +-
 src/conf/domain_capabilities.c                |  61 ++++-
 src/conf/domain_capabilities.h                |  11 +
 src/conf/domain_conf.c                        | 235 ++++++++++--------
 src/conf/domain_conf.h                        |  20 +-
 src/conf/schemas/domaincaps.rng               |  29 +++
 src/conf/schemas/domaincommon.rng             |   3 +
 src/conf/virconftypes.h                       |   2 +
 src/libvirt_private.syms                      |   5 +
 src/libxl/libxl_conf.c                        |  70 +++---
 src/libxl/xen_common.c                        |   2 +-
 src/lxc/lxc_cgroup.c                          |   2 +-
 src/lxc/lxc_controller.c                      |   2 +-
 src/qemu/qemu_capabilities.c                  | 107 +++++++-
 src/qemu/qemu_capabilities.h                  |   3 +
 src/qemu/qemu_command.c                       | 162 ++++++------
 src/qemu/qemu_domain.c                        |  16 +-
 src/qemu/qemu_process.c                       |  80 +++++-
 src/qemu/qemu_validate.c                      |  74 +++++-
 src/util/virxml.c                             |  68 +++++
 src/util/virxml.h                             |  10 +
 .../qemu_10.0.0-q35.x86_64+amdsev.xml         |   7 +
 .../domaincapsdata/qemu_10.0.0-q35.x86_64.xml |   7 +
 .../qemu_10.0.0-tcg.x86_64+amdsev.xml         |   7 +
 .../domaincapsdata/qemu_10.0.0-tcg.x86_64.xml |   7 +
 .../qemu_10.0.0.x86_64+amdsev.xml             |   7 +
 tests/domaincapsdata/qemu_10.0.0.x86_64.xml   |   7 +
 .../qemu_10.1.0-q35.x86_64+inteltdx.xml       |   7 +
 .../domaincapsdata/qemu_10.1.0-q35.x86_64.xml |   7 +
 .../qemu_10.1.0-tcg.x86_64+inteltdx.xml       |   7 +
 .../domaincapsdata/qemu_10.1.0-tcg.x86_64.xml |   7 +
 .../qemu_10.1.0.x86_64+inteltdx.xml           |   7 +
 tests/domaincapsdata/qemu_10.1.0.x86_64.xml   |   7 +
 .../domaincapsdata/qemu_10.2.0-q35.x86_64.xml |   7 +
 .../domaincapsdata/qemu_10.2.0-tcg.x86_64.xml |   7 +
 tests/domaincapsdata/qemu_10.2.0.x86_64.xml   |   7 +
 .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml  |   7 +
 .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml  |   7 +
 tests/domaincapsdata/qemu_8.0.0.x86_64.xml    |   7 +
 .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml  |   7 +
 .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml  |   7 +
 tests/domaincapsdata/qemu_8.1.0.x86_64.xml    |   7 +
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |   7 +
 .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml  |   7 +
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |   7 +
 .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml  |   7 +
 .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml  |   7 +
 tests/domaincapsdata/qemu_9.0.0.x86_64.xml    |   7 +
 .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml  |   7 +
 .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml  |   7 +
 tests/domaincapsdata/qemu_9.1.0.x86_64.xml    |   7 +
 .../qemu_9.2.0-q35.x86_64+amdsev.xml          |   7 +
 .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml  |   7 +
 .../qemu_9.2.0-tcg.x86_64+amdsev.xml          |   7 +
 .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml  |   7 +
 .../qemu_9.2.0.x86_64+amdsev.xml              |   7 +
 tests/domaincapsdata/qemu_9.2.0.x86_64.xml    |   7 +
 .../caps_10.0.0_x86_64+amdsev.xml             |   5 +
 .../caps_10.0.0_x86_64.xml                    |   5 +
 .../caps_10.1.0_x86_64+inteltdx.xml           |   5 +
 .../caps_10.1.0_x86_64.xml                    |   5 +
 .../caps_10.2.0_x86_64.xml                    |   5 +
 .../caps_8.0.0_x86_64.xml                     |   5 +
 .../caps_8.1.0_x86_64.xml                     |   5 +
 .../caps_8.2.0_x86_64.xml                     |   5 +
 .../caps_9.0.0_x86_64.xml                     |   5 +
 .../caps_9.1.0_x86_64.xml                     |   5 +
 .../caps_9.2.0_x86_64+amdsev.xml              |   5 +
 .../caps_9.2.0_x86_64.xml                     |   5 +
 .../hyperv-host-model.x86_64-latest.args      |  32 +++
 .../hyperv-host-model.x86_64-latest.xml       |  33 +++
 tests/qemuxmlconfdata/hyperv-host-model.xml   |  27 ++
 .../hyperv-passthrough.x86_64-latest.xml      |   3 +-
 .../hyperv-stimer-direct.x86_64-latest.args   |   2 +-
 .../hyperv-stimer-direct.x86_64-latest.xml    |   4 +-
 .../qemuxmlconfdata/hyperv-stimer-direct.xml  |   4 +-
 .../qemuxmlconfdata/hyperv.x86_64-latest.args |   2 +-
 .../qemuxmlconfdata/hyperv.x86_64-latest.xml  |   4 +-
 tests/qemuxmlconfdata/hyperv.xml              |   4 +-
 tests/qemuxmlconftest.c                       |   1 +
 82 files changed, 1151 insertions(+), 267 deletions(-)
 create mode 100644 tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.args
 create mode 100644 tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.xml
 create mode 100644 tests/qemuxmlconfdata/hyperv-host-model.xml

-- 
2.49.1

Reply via email to