commit 935d927aa881753fff30f6236eedcf9680bca638 Author: Ján Tomko Date: Fri May 12 16:59:45 2017 +0200 conf: add ABI stability checks for IOMMU options https://bugzilla.redhat.com/show_bug.cgi?id=1427005 Index: libvirt-3.3.0/src/conf/domain_conf.c =================================================================== --- libvirt-3.3.0.orig/src/conf/domain_conf.c +++ libvirt-3.3.0/src/conf/domain_conf.c @@ -19691,6 +19691,16 @@ virDomainDefFeaturesCheckABIStability(vi } } + /* ioapic */ + if (src->ioapic != dst->ioapic) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("State of ioapic differs: " + "source: '%s', destination: '%s'"), + virDomainIOAPICTypeToString(src->ioapic), + virDomainIOAPICTypeToString(dst->ioapic)); + return false; + } + return true; } @@ -19830,6 +19840,22 @@ virDomainIOMMUDefCheckABIStability(virDo virDomainIOMMUModelTypeToString(src->model)); return false; } + if (src->intremap != dst->intremap) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device intremap value '%s' " + "does not match source '%s'"), + virTristateSwitchTypeToString(dst->intremap), + virTristateSwitchTypeToString(src->intremap)); + return false; + } + if (src->caching_mode != dst->caching_mode) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target domain IOMMU device caching mode '%s' " + "does not match source '%s'"), + virTristateSwitchTypeToString(dst->caching_mode), + virTristateSwitchTypeToString(src->caching_mode)); + return false; + } return true; }