Displaying 1 result from an estimated 1 matches for "eoi_cpu".
2013 May 07
1
[PATCH v3] xen/gic: EOI irqs on the right pcpu
...v_id, struct cpu_user_regs *r
p = irq_to_pending(v, virq);
if ( p->desc != NULL ) {
p->desc->status &= ~IRQ_INPROGRESS;
- GICC[GICC_DIR] = virq;
+ /* Assume only one pcpu needs to EOI the irq */
+ cpu = p->desc->arch.eoi_cpu;
+ eoi = 1;
}
list_del_init(&p->inflight);
spin_unlock_irq(&v->arch.vgic.lock);
+ if ( eoi ) {
+ /* this is not racy because we can''t receive another irq of the
+ * same type until we EOI it. */
+...