Apparatus for dynamic resource mapping for isolating interrupt sources and method therefor
First Claim
1. A method of dynamic resource mapping for isolating interrupt sources comprising the steps of:
- providing a plurality of interrupt source device identifiers, wherein each identifier corresponds to one of a plurality of interrupt sources;
generating a first table mapping said interrupt source identifiers to corresponding interrupt numbers; and
associating an interrupt, represented by one of said interrupt numbers, with a corresponding device generating said interrupt using said first table.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method of dynamic resource mapping for isolating interrupt sources is implemented. Each interrupt source is provided with a unique identifier. The identifier is mapped to an interrupt number which is sent to an operating system when the interrupt source corresponding to the identifier generates an interrupt. Each device is associated with a data structure that includes a data value which is operable for accessing an interrupt register. The data value may be a pointer that points to a pointer to the interrupt register for the device generating the interrupt. When an interrupt is generated, the mapping may be used to access the pointers which thereby provide direct access to the interrupt register, whereby the contents of the interrupt register are processed by an interrupt service routine.
44 Citations
30 Claims
-
1. A method of dynamic resource mapping for isolating interrupt sources comprising the steps of:
-
providing a plurality of interrupt source device identifiers, wherein each identifier corresponds to one of a plurality of interrupt sources;
generating a first table mapping said interrupt source identifiers to corresponding interrupt numbers; and
associating an interrupt, represented by one of said interrupt numbers, with a corresponding device generating said interrupt using said first table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
accessing said memory space;
retrieving a second data value; and
accessing said interrupt service routine in response to said second data value.
-
-
6. The method of claim 4 wherein said first data value comprises a pointer to said memory space.
-
7. The method of claim 3 wherein each said first data value is stored in a register having a predetermined offset from a start of each corresponding data structure.
-
8. The method of claim 4 wherein said interrupt register has a predetermined offset from a start of said memory space.
-
9. The method of claim 1 wherein said step of associating an interrupt comprises the steps of:
-
generating a second table using said first table, wherein said second table comprises a plurality of entries, each being operable for receiving a pointer to a memory space associated with a corresponding interrupt source device;
accessing said second table in response to said interrupt; and
accessing said memory space using a corresponding one of said pointers.
-
-
10. The method of claim 9 wherein said step of accessing said second table comprises the step of indexing into said second table using an interrupt number received in response to said interrupt, and wherein said step of accessing said memory space further comprises the step of retrieving said pointer to said memory space from an entry selected in said indexing step, said accessing step using said retrieved pointer to access said memory space.
-
11. A data processing system comprising:
-
a central processing unit (CPU); and
a plurality of peripheral devices coupled to said CPU, wherein said CPU includes circuitry operable for dynamic resource mapping for isolating interrupts from said plurality of peripheral devices, said circuitry comprising;
circuitry operable for providing a plurality of interrupt source device identifiers, wherein each identifier corresponds to one of said plurality of peripheral devices;
circuitry operable for generating a first table mapping said interrupt source identifiers to corresponding interrupt numbers; and
circuitry operable for associating an interrupt, represented by one of said interrupt numbers, with a corresponding device generating said interrupt using said first table. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
circuitry operable for accessing said memory space;
circuitry operable for retrieving a second data value; and
circuitry operable for accessing said interrupt service routine in response to said second data value.
-
-
16. The data processing system of claim 14 wherein said first data value comprises a pointer to said memory space.
-
17. The data processing system of claim 14 wherein said second data value is stored in a register having a predetermined offset from a start of said memory space.
-
18. The data processing system of claim 13 wherein each said first data value is stored in a register having a predetermined offset from a start of each corresponding data structure.
-
19. The data processing system of claim 12 wherein said circuitry operable for associating an interrupt comprises:
-
circuitry operable for generating a second table using said first table, wherein said second table comprises a plurality of entries, each being operable for receiving a pointer to a memory space associated with a corresponding interrupt source device;
circuitry operable for accessing said second table in response to said interrupt; and
circuitry operable for accessing said memory space using a corresponding one of said pointers.
-
-
20. The data processing system of claim 19 wherein said circuitry operable for accessing said second table comprises circuitry operable for indexing into said second table using an interrupt number received in response to said interrupt, and wherein said step of accessing said memory space further comprises the step of retrieving said pointer to said memory space from an entry selected in said indexing step, said accessing step using said retrieved pointer to access said memory space.
-
21. A program product in a computer readable medium for dynamic resource mapping for isolating interrupt sources, said program product comprising:
-
programming for providing a plurality of interrupt source device identifiers, wherein each identifier corresponds to one of a plurality of interrupt sources;
programming for generating a first table mapping said interrupt source identifiers to corresponding interrupt numbers; and
programming for associating an interrupt, represented by one of said interrupt numbers, with a corresponding device generating said interrupt using said first table. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
programming for accessing said memory space;
programming for retrieving a second data value; and
programming for accessing said interrupt service routine in response to said second data value.
-
-
26. The program product of claim 24 wherein said first data value comprises a pointer to said memory space.
-
27. The program product of claim 24 wherein each said first data value is stored in a register having a predetermined offset from a start of each corresponding data structure.
-
28. The program product of claim 24 wherein said second data value is stored in a register having a predetermined offset from a start of said memory space.
-
29. The program product of claim 21 wherein said programming for associating an interrupt comprises:
-
programing for generating a second table using said first table, wherein said second table comprises a plurality of entries, each being operable for receiving a pointer to a memory space associated with a corresponding interrupt source device;
programming for accessing said second table in response to said interrupt; and
programming for accessing said memory space using a corresponding one of said pointers.
-
-
30. The program product of claim 29 wherein said programming for accessing said second table comprises programming for indexing into said second table using an interrupt number received in response to said interrupt, and wherein said programming for accessing said memory space further comprises programming for retrieving said pointer to said memory space from an entry selected in response to said programming for indexing, said programming for accessing using said retrieved pointer to access said memory space.
Specification