[libvirt] [PATCH 08/11] qemu: Fix GIC behavior for the default case

Andrea Bolognani abologna at redhat.com
Tue Feb 13 09:22:34 UTC 2018


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




More information about the libvir-list mailing list