
On Mon, 2018-02-12 at 16:05 -0500, John Ferlan wrote:
qemuDomainDefEnableDefaultFeatures(virDomainDefPtr def, virQEMUCapsPtr qemuCaps) { - virGICVersion version; - - /* The virt machine type always uses GIC: if the relevant element + /* The virt machine type always uses GIC: if the relevant information * was not included in the domain XML, we need to choose a suitable * GIC version ourselves */ - if (def->features[VIR_DOMAIN_FEATURE_GIC] == VIR_TRISTATE_SWITCH_ABSENT && - qemuDomainIsVirt(def)) { + if ((def->features[VIR_DOMAIN_FEATURE_GIC] == VIR_TRISTATE_SWITCH_ABSENT && + qemuDomainIsVirt(def)) || + (def->features[VIR_DOMAIN_FEATURE_GIC] == VIR_TRISTATE_SWITCH_ON &&
And patch3 (e.g. verification) takes care of us if this is "on", but !qemuDomainIsVirt(def) ends up being true... It's a tangled web.
That's correct.
+ def->gic_version == VIR_GIC_VERSION_NONE)) { + virGICVersion version;
VIR_DEBUG("Looking for usable GIC version in domain capabilities"); for (version = VIR_GIC_VERSION_LAST - 1; @@ -2878,17 +2879,17 @@ qemuDomainDefEnableDefaultFeatures(virDomainDefPtr def, } }
FWIW: There's a hunk above here which notes something about bz 1414081... If one goes and reads that bz, one finds it's closed notabug.
In any case, there's a lot of verbiage there.. Can any of it be shaved?
Not a lot, I don't think... Maybe We'll want to revisit this once MSI support for GICv3 has been implemented in QEMU. but that's about it, everything else still applies. -- Andrea Bolognani / Red Hat / Virtualization