/* return ret; } This function assumes to be called rarely. Switching between 8259A registers is slow.  */
int i8259A_irq_real(unsigned int irq)
/* return ret; } This function assumes to be called rarely. Switching between 8259A registers is slow.  */
int i8259A_irq_real(unsigned int irq)
{
	int value;
	int irqmask = 1<<irq;
	if (irq < 8) {
		out8(ISR_1,0x0B);
		value = in8(ISR_1) & irqmask;
		out8(ISR_1,0x0A);
		return value;
	}
	out8(ISR_2,0x0B);
	value = in8(ISR_2) & (irqmask >> 8);
	out8(ISR_2,0x0A);
	return value;
}