v2 of:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/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