intrcnt[realirq]++;
ext_intr_openpic(){	int irq, realirq;	int r_imen;	int pcpl;	struct intrhand *ih;	pcpl = splhigh();       /* Turn off all */	realirq = openpic_read_irq(0);	while (realirq != 255) {		irq = virq[realirq];		/* XXX check range */		r_imen = 1 << irq;		if ((pcpl & r_imen) != 0) {			ipending |= r_imen;     /* Masked! Mark this as pending */			openpic_disable_irq(realirq);		} else {			ih = intrhand[irq];			while (ih) {				(*ih->ih_fun)(ih->ih_arg);				ih = ih->ih_next;			}#ifdef UVM			uvmexp.intrs++;#else#endif			evirq[realirq].ev_count++;		}		openpic_eoi(0);		realirq = openpic_read_irq(0);	}	splx(pcpl);     /* Process pendings. */}