On 03.03.2022 11:30, Roger Pau Monne wrote: > hvm_domain_use_pirq checking whether the passed domain is an HVM > guests is pointless, as all calls originate from HVM only paths. > Instead check whether the domain has PIRQ support in order to avoid > further checks.
I agree with this, but I wonder ... > --- a/xen/arch/x86/hvm/irq.c > +++ b/xen/arch/x86/hvm/irq.c > @@ -30,7 +30,7 @@ > > bool hvm_domain_use_pirq(const struct domain *d, const struct pirq *pirq) > { > - return is_hvm_domain(d) && pirq && pirq->arch.hvm.emuirq != IRQ_UNBOUND; > + return has_pirq(d) && pirq && pirq->arch.hvm.emuirq != IRQ_UNBOUND; ... whether there can be a non-NULL pirq in the first place for a !has_pirq() domain. Judging from e.g. hvm_inject_msi() it looks like this might be possible, but perhaps wrongly so? Jan