[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 05/19] xen/arm: Release IRQ routed to a domain when it's destroying
On 18/06/14 19:08, Stefano Stabellini wrote: +/* The guest may not have EOIed the IRQ. + * Be sure to reset correctly the IRQ. + */ +void gic_reset_guest_irq(struct irq_desc *desc) +{ + ASSERT(spin_is_locked(&desc->lock)); + ASSERT(desc->status & IRQ_GUEST); + + if ( desc->status & IRQ_INPROGRESS ) + GICC[GICC_DIR] = desc->irq; +}You should call gic_update_one_lr first, then check IRQ_INPROGRESS. You should also call gic_remove_from_queues, remove the irq from the inflight queue and clear the GIC_IRQ_GUEST_* status bits. Are you sure? This function is only called when the domain is dying, so the guest is already unscheduled. Therefore gic_update_one_lr won't work. I can add an ASSERT(irq_get_domain(desc)->is_dying) here... Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |