Re: input from 0x21 during interrupt handling (2.0.* and 2.1.*)

OLK (delise@online-club.de)
Wed, 10 Jun 1998 22:34:04 +0200


Philip Gladstone wrote:
>
> There is a a dummy input instruction in the interrupt handlers
> that reads a byte from 0x21 (or 0xa1). There is a comment in the
Port 0x21 and 0xa1 are the EOI Registers from the two 8259
Interrupt-controllers (master/slave)
nowadays not separately found on motherboards ;-))

> Does anyone know why this is required -- and for which systems?
To tell the 8259 that the InterruptServiceRoutine has finished and
so the 8259 can accept new Interrupts.
> for which systems?
x86-based

> [The reason is that the cost of an I/O instruction is large
> and unneccessary ones should be removed. On a 350MHz PII, this
> inb(0x21) takes around 600ns. This may not seem like a long time, but
> it is around 200 instruction times.]
Count the executed ISR's per sec. and decide if it is worthwhile

bye
OLK

-- 
eMail : delise@online-club.de

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu