Handling a PIT timer IRQ when level triggered
Posted: Mon Jan 29, 2018 4:02 am
Edge triggering makes sense for PIT timers but what happens when a PC's PIT timer fires an IRQ (IRQ 0) on a machine which has exclusively level-triggered interrupt recognition?
Specifically:
On an IBM PS/2 (MCA) all hardware interrupts are supposed to be level triggered. Aside from the PIT, probably every other interrupt source will keep its IR line asserted until software does something to the hardware which clears the cause and it will then deassert it. But the PIT is possibly unique in that there is no way to tell it to deassert its output (that I know of). Hence this query as to how the PIT and PIC interact on an MCA machine and what, if anything, would need to be done in software when handling the interrupt if the OS code might be run on an MCA machine.
Any ideas?
Specifically:
On an IBM PS/2 (MCA) all hardware interrupts are supposed to be level triggered. Aside from the PIT, probably every other interrupt source will keep its IR line asserted until software does something to the hardware which clears the cause and it will then deassert it. But the PIT is possibly unique in that there is no way to tell it to deassert its output (that I know of). Hence this query as to how the PIT and PIC interact on an MCA machine and what, if anything, would need to be done in software when handling the interrupt if the OS code might be run on an MCA machine.
Any ideas?