Maybe it would be simpler to call xive_source_is_initialized() instead of
xive_eas_is_valid() in cases like this, e.g. hcall code since it is shared
between emulation and KVM ?

Yes but we need a better check than :

      if (lisn < SPAPR_XIRQ_BASE) {
          return !!xive_get_field64(EAS_END_INDEX, xive->eat[lisn].w);
      }

This is more an heuristic than a precise test on the "validity" of
a source at the KVM level.


I guess we should be able to get kvmppc_xive_irq_state::valid from
KVM by making the KVM_DEV_XIVE_GRP_SOURCE attribute readable. Would
that be enough ?

A bit slow may be. Or an extra bit in the XiveSource 'status' field
to reflect KVM initialization.

C.


Reply via email to