[Pai-Hsiang Hsiao <shawn@iis0> writes:]
>By turning PCI setting in BIOS, use "Edge Trigger" instead of "Level Sense"
>for device interrupt sense, the problem goes away, and the driver works.
Aha, that makes perfect sense (although I didn't know that a PC user would
run into level sense interrupts).  In fact, you can see a discussion of this
issue WRT the Amiga port, which has a similar interrupt issue.  In that
case, the hardware's behavior could not be changed, so a very small byte
code language was loaded into the kernel when an interrupt handler was
registered.  This pseudo-code did just enough to identify and clear the
interrupt; the rest of the job remained in an external task.
You can see the implementation in: src/os/mach.ami/isr.c
Running with edge triggering is definitely a better way to go, IMHO.
                                                Regards,
                                                Andy Valencia
Received on Mon Dec 11 07:31:57 1995
This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:38 PDT