KVM: arm/arm64: Don't queue VLPIs on INV/INVALL
Since VLPIs are injected directly by the hardware there's no need to mark these as pending in software and queue them on the AP list. Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
This commit is contained in:
parent
3d1ad640f8
commit
95b110ab9a
@ -292,10 +292,13 @@ static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq,
|
|||||||
irq->priority = LPI_PROP_PRIORITY(prop);
|
irq->priority = LPI_PROP_PRIORITY(prop);
|
||||||
irq->enabled = LPI_PROP_ENABLE_BIT(prop);
|
irq->enabled = LPI_PROP_ENABLE_BIT(prop);
|
||||||
|
|
||||||
|
if (!irq->hw) {
|
||||||
vgic_queue_irq_unlock(kvm, irq, flags);
|
vgic_queue_irq_unlock(kvm, irq, flags);
|
||||||
} else {
|
return 0;
|
||||||
spin_unlock_irqrestore(&irq->irq_lock, flags);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
spin_unlock_irqrestore(&irq->irq_lock, flags);
|
||||||
|
|
||||||
if (irq->hw)
|
if (irq->hw)
|
||||||
return its_prop_update_vlpi(irq->host_irq, prop, needs_inv);
|
return its_prop_update_vlpi(irq->host_irq, prop, needs_inv);
|
||||||
|
Loading…
Reference in New Issue
Block a user