摘要 |
An interrupt mechanism within a data processing system where every expected interrupt has a unique interrupt signature. This interrupt signature is known by the system interrupt handler of the interrupt's particular type, such as external, timer, divide by zero, etc. For example, external interrupt is one type of interrupt, and the FLIH of external interrupt must know the signatures of all expected external interrupts. Every expected interrupt has its signature stored in a plurality of processor general purpose registers. The name of these registers must be known by the interrupt handler that will handle the interrupt. The interrupt handler preserves the processor state when it tries to verify signatures. If a signature match is found, the interrupt handler will branch to the corresponding second level interrupt handler for normal interrupt processing. If the second level interrupt handler is shared by some sources, then the second level interrupt handler must query these sources for the ownership. The lack of an ownership causes the second level interrupt handler to declare the interrupt as spurious. If there is only one source, the second level interrupt handler will handle the interrupt. If an ownership is found among the sources, the routine that was called to establish its ownership will have handled the interrupt properly. A first level interrupt handler will consider an interrupt as spurious after it has failed verifying the signatures of all expected interrupts of its own type. <IMAGE> |