20 Technical InformationHardware interrupt IRQ9 is defined as the replacement interrupt level for the cascadelevel IRQ2. Program interrupt sharing is implemented on IRQ2, interrupt hex 0A. Thefollowing processing occurs to maintain compatibility with the IRQ2 used by IBMPersonal Computer products:1. A device drives the interrupt request active on IRQ2 of the channel.2. This interrupt request is mapped in hardware to IRQ9 input on the secondinterrupt controller.3. When the interrupt occurs, the system microprocessor passes control to the IRQ9(interrupt hex 71) interrupt handler.4. This interrupt handler performs an EOI command to the second interruptcontroller and passes control to the IRQ2 (interrupt hex 0A) interrupt handler.5. This IRQ2 interrupt handler, when handling the interrupt, causes the device toreset the interrupt request before performing an EOI command to the masterinterrupt controller that finishes servicing the IRQ2 request.Software compatibilityTo maintain software compatibility, the interrupt polling mechanism that is used byIBM Personal Computer products is retained. Software that interfaces with the resetport for the IBM Personal Computer positive-edge interrupt sharing (hex address02Fx or 06Fx, where x is the interrupt level) does not create interference.Software interruptsWith the advent of software interrupt sharing, software interrupt routines must daisychain interrupts. Each routine must check the function value, and if the function valueis not in the range of function calls, that routine must transfer control to the nextroutine in the chain. Because software interrupts are initially pointed to address 0:0before daisy chaining, check for this case. If the next routine is pointed to address 0:0and the function call is out of range, the appropriate action is to set the carry flag andinitiate a RET 2 to indicate an error condition.Machine-sensitive programsPrograms can select machine-specific features, but they must first identify themachine and model type. IBM has defined methods for uniquely determining thespecific machine type. The machine model byte can be found through interrupt 15H,Return System Configuration Parameters function (AH)=(C0H).