Title: QNX 4.xx Hardware Interrupt Priority
Keywords: QNX4, Dflex, Serial, Interrupt
Date: November 29, 1996
It should be noted that the default priority order under QNX 4.xx is as follows:
3, 4, 5, 6, 7, 0, 1, 2
From highest priority (3) to lowest priority (2) left to right.
The following is a list of what these interrupts are typically used for:
- IRQ USE
- 3 COM2
- 4 COM1
- 5 Often unused, could be used by a network card
- 6 Floppy Disk
- 7 Often unused, could be used by a network card
- 0 Timer Interrupt
- 1 Keyboard
- 2 Daisy chain interrupt to IRQ10-15
So from the above table you can see that COM1&2 will usually be the highest priority IRQ.
If a user is having problems with dropping characters using IRQ10 or higher on a Dflex board, it should be suggested that he/she try using 5 or 7. This will ensure a quick response time to the interrupt.
Some Intelligent serial drivers are run using a polled method. This polling is triggered by a timer interrupt (which from the above table you can see is a pretty low priority but higher than IRQ10 and above). By using a lower interrupt the Dumb Serial board (Dflex) will get quick enough response time to relieve overrun problems. This should have little or no effect on the performance of the polled boards.
It should be noted that this is not a shortcoming of our Dflex boards but rather a draw back of using a polled driver of this type. Intellicon products should work fine in combination since the larger buffers will make the interrupt latency not as critical of an issue.
End of KDB-058