[comp.sys.ibm.pc] Query about level-triggered interrupts on the PS/2

ast@cs.vu.nl (Andy Tanenbaum) (01/17/89)

A number of people are trying to port MINIX (a UNIX clone) to the PS/2.
Although MINIX works fine on the PC, XT, AT, most 386s, and the PS/2 Model 30,
it hangs totally on Models >= 50.  The suspicion is that it has something to
do with the microchannel or that fact that the PS/2 uses level-triggered
interrupts instead of edge-triggered interrupts.  What this means is that
after an interrupt comes in, unless the software does some magic thing to
tell the device to negate the interrupt line, as soon as the interrupt 
routine does an IRET, another interrupt comes in, etc.

The question is: what magic thing do we have to tell the floppy disk controller
(and other devices) to make them negate interrupt to avoid an infinite
interrupt loop?

If you have a suggestion, please send me email, or better yet, post a
reply to comp.os.minix.  Please don't post it to comp.sys.ibm because
quite a few people are interested, and not all of them read this group.

Thanks for any help.

Andy Tanenbaum (ast@cs.vu.nl)

P.S. If you haven't heard about MINIX, it is a UNIX clone available with
complete source code.  There is a large newsgroup about it.  If you want the
standard MINIX info sheet telling about it, send me email.