From: Michal Privoznik Date: Wed, 8 Oct 2025 10:24:12 +0000 (+0200) Subject: qemu_validate: Reflect dependencies of hv-tlbflush-direct X-Git-Tag: v11.9.0-rc1~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d2873f9c6f8de24b47183249cc137861413ea56;p=thirdparty%2Flibvirt.git qemu_validate: Reflect dependencies of hv-tlbflush-direct Per QEMU documentation (docs/system/i386/hyperv.rst): ``hv-tlbflush-direct`` The enlightenment is nested specific, it targets Hyper-V on KVM guests. Requires: ``hv-vapic`` Reflect this dependency when validating domain definition. Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 3dbb00c23a..930ba3543f 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -133,6 +133,17 @@ qemuValidateDomainDefHypervFeatures(const virDomainDef *def) CHECK_HV_FEAT(VIR_DOMAIN_HYPERV_EVMCS, VIR_DOMAIN_HYPERV_VAPIC); + if (def->hyperv_features[VIR_DOMAIN_HYPERV_TLBFLUSH] == VIR_TRISTATE_SWITCH_ON && + def->hyperv_tlbflush_direct == VIR_TRISTATE_SWITCH_ON) { + if (def->hyperv_features[VIR_DOMAIN_HYPERV_VAPIC] != VIR_TRISTATE_SWITCH_ON) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("'%1$s' hyperv feature requires '%2$s' feature"), + VIR_CPU_x86_HV_TLBFLUSH_DIRECT, + virDomainHypervTypeToString(VIR_DOMAIN_HYPERV_VAPIC)); + return -1; + } + } + return 0; }