1. An interrupt controller comprising: circuitry coupled to one or more devices in a system to receive interrupts from the one or more devices; and an interrupt router coupled to the circuitry, wherein the interrupt router is configured to: select a processor from a plurality of processors in the system for a first interrupt received from one of the devices; signal the first interrupt to the selected processor; initialize a timeout counter to a first timeout value in response to signaling the first interrupt to the selected processor, wherein the first timeout value is one of a plurality of timeout values and is selected responsive to a state of the selected processor; select another processor for the first interrupt responsive to detecting expiration of the timeout counter for the interrupt without a response from the selected processor.