Interrupt arbiter for a computing system
First Claim
1. A computer comprising an arbiter for allocating interrupts to a plurality of devices, wherein the arbiter, when allocating the interrupts, reconfigures connection circuitry that communicates interrupt signals from the devices to an interrupt controller in response to a request by a first device by:
- trying to find an acceptable free interrupt for the first device;
if an acceptable free interrupt is not available, then;
freeing at least one interrupt currently allocated to a second device;
accessing configuration information that describes the connection circuitry; and
assigning the first device and the second device to interrupts based upon the configuration information.
2 Assignments
0 Petitions
Accused Products
Abstract
An interrupt arbiter for a computer is described. The arbiter allocates interrupt resources to a plurality of devices within a computer such as a modem, keyboard, video controller, serial port, PCMCIA card, etc. As devices request interrupt resources, the inventive arbiter uses the Advanced Configuration and Power Interface (ACPI) to allocate interrupt resources based on the actual hardware topology of the computer. The improved arbiter allocates the interrupt resources by using configuration information that conforms to the ACPI specification and that describes the underlying connection circuitry, such as the multiplexors, routers, switches, etc., that communicates interrupt signals generated by the devices. In addition, the arbiter reconfigures connection circuitry of the computing system when necessary in order to improve the allocation of interrupt resources.
31 Citations
17 Claims
-
1. A computer comprising an arbiter for allocating interrupts to a plurality of devices, wherein the arbiter, when allocating the interrupts, reconfigures connection circuitry that communicates interrupt signals from the devices to an interrupt controller in response to a request by a first device by:
-
trying to find an acceptable free interrupt for the first device;
if an acceptable free interrupt is not available, then;
freeing at least one interrupt currently allocated to a second device;
accessing configuration information that describes the connection circuitry; and
assigning the first device and the second device to interrupts based upon the configuration information. - View Dependent Claims (2)
-
-
3. A computer comprising:
-
an interrupt controller to receive interrupt signals from a plurality of devices;
connection circuitry to communicate the interrupt signals from the devices to the interrupt controller; and
an arbiter to allocate interrupts to the devices, wherein the arbiter is capable of reconfiguring the connection circuitry when allocating the interrupts in response to a request by a first device by;
trying to find an acceptable free interrupt for the first device;
if an acceptable free interrupt is not available, then;
freeing at least one interrupt currently allocated to a second device;
accessing configuration information that describes the connection circuitry; and
assigning the first device and the second device to interrupts based upon the configuration information. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A computing method for allocating interrupt resources comprising:
-
reconfiguring connection circuitry that couples a plurality of devices to an interrupt controller of a computer in response to a request for an interrupt by a first device by;
trying to find an acceptable free interrupt for the first device;
if an acceptable free interrupt is not available, then freeing at least one interrupt currently allocated to a second device; and
allocating interrupt resources to the devices as a function of the reconfiguration by assigning the first device and the second device to interrupts based upon the configuration information. - View Dependent Claims (10, 11, 12)
-
-
13. A method for allocating interrupt resources to a plurality of devices that are coupled to an interrupt controller of a computer via connection circuitry, the method comprising:
-
releasing interrupt resources previously allocated to the plurality of devices;
determining an interrupt range for each of the devices;
testing the interrupt ranges;
repeating the determining step when the testing step fails;
allocating interrupt resources to the devices when the testing step succeeds; and
reconfiguring the connection circuitry as a function of the allocation. - View Dependent Claims (14, 15, 16, 17)
-
Specification