Patent attributes
An interrupt controller and method are provided for handling interrupt requests generated by a plurality of interrupt sources. The interrupt controller comprises pend logic for receiving interrupt requests generated by the plurality of interrupt sources, and for each interrupt request, determining whether to accept that interrupt request for handling by the interrupt controller. Interrupt handling logic then selects an interrupt request from amongst those interrupt requests accepted by the pend logic, and generates an indication of the interrupt routine to be executed by a processor to process that interrupt request. The pend logic is arranged, for each of the interrupt sources, to detect a transition of the associated interrupt request from an unset state to a set state, and to accept the interrupt request upon such detection. The pend logic also receives an exit signal indicating completion of the interrupt routine by the processor, and if the associated interrupt request is in the set state on receipt of the exit signal, re-accepts that interrupt request. By such an approach, the interrupt controller can automatically support both level interrupt requests and pulsed interrupt requests without the need for software configuration.