enum gic_sgi_mode irqmode, int virq,
const struct sgi_target *target);
extern bool vgic_migrate_irq(struct vcpu *old, struct vcpu *new, unsigned int irq);
-extern void vgic_check_inflight_irqs_pending(struct domain *d, struct vcpu *v,
+extern void vgic_check_inflight_irqs_pending(struct vcpu *v,
unsigned int rank, uint32_t r);
#endif /* !CONFIG_NEW_VGIC */
rank = vgic_rank_offset(v, 1, gicd_reg - GICD_ICPENDR, DABT_WORD);
if ( rank == NULL ) goto write_ignore;
- vgic_check_inflight_irqs_pending(v->domain, v, rank->index, r);
+ vgic_check_inflight_irqs_pending(v, rank->index, r);
goto write_ignore;
rank = vgic_rank_offset(v, 1, reg - GICD_ICPENDR, DABT_WORD);
if ( rank == NULL ) goto write_ignore;
- vgic_check_inflight_irqs_pending(v->domain, v, rank->index, r);
+ vgic_check_inflight_irqs_pending(v, rank->index, r);
goto write_ignore;
}
}
-void vgic_check_inflight_irqs_pending(struct domain *d, struct vcpu *v,
- unsigned int rank, uint32_t r)
+void vgic_check_inflight_irqs_pending(struct vcpu *v, unsigned int rank, uint32_t r)
{
- const unsigned long mask = r;
- unsigned int i;
-
- bitmap_for_each ( i, &mask, 32 )
+ for_each_set_bit ( i, r )
{
struct pending_irq *p;
struct vcpu *v_target;