System resource assignment for a hot inserted device
First Claim
1. A method for assigning system resources to an adapter circuit for a hot insertion of the adapter circuit to a computer bus of a computer system comprising:
- determining a lowest assigned value assigned to a device on the computer bus of a system resource reserved for the computer bus;
determining a required quantity of the system resource required by the adapter circuit;
determining whether the system resource reserved for the computer bus has an adequate assignable capacity for the required quantity below the lowest assigned value;
assigning to the adapter circuit a portion of the system resource located below the lowest assigned value if the system resource reserved for the computer bus is determined to have an adequate assignable capacity;
wherein the lowest assigned value is located in an aperture of the system resource reserved for the computer bus, wherein the determining whether the system resource reserved for computer bus has an adequate assignable capacity further includes determining whether the aperture has an adequate assignable capacity for the required quantity;
wherein the determining whether the system resource reserved for computer bus has an adequate assignable capacity for the required quantity further includes;
determining, if the aperture does not have an adequate assignable capacity, whether a second aperture of the system resource reserved for the computer bus located below the aperture has an adequate assignable capacity.
13 Assignments
0 Petitions
Accused Products
Abstract
A hot insertion system for assigning system resources of a computer system to a hot inserted adapter circuit such as a device mounted on a PCI adapter card. The adapter circuit is hot inserted to the computer system via a connector such as a slot connector. Apertures of a system resource such as I/O address space, memory address space, and interrupt numbers, are reserved for each computer bus of the computer system. The devices located on the computer bus are assigned portions of each system resource aperture in a top down configuration. A system resource assignment routine finds the lowest assigned address of a system resource aperture to determine whether the aperture has enough assignable capacity for a hot inserted adapter circuit. If enough assignable capacity exists, then the system resource assignment routine assigns a portion of each system resource aperture located below lowest assigned address to the adapter circuit.
44 Citations
52 Claims
-
1. A method for assigning system resources to an adapter circuit for a hot insertion of the adapter circuit to a computer bus of a computer system comprising:
-
determining a lowest assigned value assigned to a device on the computer bus of a system resource reserved for the computer bus;
determining a required quantity of the system resource required by the adapter circuit;
determining whether the system resource reserved for the computer bus has an adequate assignable capacity for the required quantity below the lowest assigned value;
assigning to the adapter circuit a portion of the system resource located below the lowest assigned value if the system resource reserved for the computer bus is determined to have an adequate assignable capacity;
wherein the lowest assigned value is located in an aperture of the system resource reserved for the computer bus, wherein the determining whether the system resource reserved for computer bus has an adequate assignable capacity further includes determining whether the aperture has an adequate assignable capacity for the required quantity;
wherein the determining whether the system resource reserved for computer bus has an adequate assignable capacity for the required quantity further includes;
determining, if the aperture does not have an adequate assignable capacity, whether a second aperture of the system resource reserved for the computer bus located below the aperture has an adequate assignable capacity. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18)
accessing a configuration register of the adapter circuit to determine the required quantity.
-
-
3. The method of claim 1 wherein the assigning to the adapter circuit a portion of the system resource located below the lowest assigned value includes writing to a configuration register of the adapter circuit an indication of a base value of the assigned portion.
-
4. The method of claim 1 wherein the assigning to the adapter circuit a portion of the system resource further includes assigning to the adapter circuit a portion of the aperture between from below the lowest assigned value to the lowest aperture value if the aperture is determined to have an adequate assignable capacity.
-
6. The method of claim 1 wherein:
the assigning to the adapter circuit a portion of the system resource further includes assigning to the adapter circuit a portion of the second aperture if the second aperture is determined to have an adequate assignable capacity.
-
7. The method of claim 1 wherein the determining whether the aperture has an adequate assignable capacity further includes:
-
subtracting the required quantity from the lowest assigned value to obtain a resultant value;
determining whether the resultant value is greater than or equal to a lowest aperture value.
-
-
8. The method of claim 1 wherein:
the system resource includes a memory address space of the computer system.
-
9. The method of claim 1 wherein:
-
the lowest assigned value includes a lowest assigned memory address of the memory address space reserved for the bus;
the required quantity includes a memory address space required by the adapter circuit.
-
-
10. The method of claim 1 wherein the memory address space is pre-fetch memory address space.
-
11. The method of claim 1 wherein:
-
the system resource includes I/O address space of the computer system;
the lowest assigned value includes the lowest assigned I/O address;
the required quantity includes an I/O address space required by the adapter circuit.
-
-
12. The method of claim 1 further comprising:
accessing a computer bus resource table stored in a memory of the computer system to determine the system resource reserved for the computer bus.
-
14. The method of claim 1 wherein the method of claim 1 is compatible with a Peripheral Component Interface (PCI) Hot-Plug Specification.
-
15. The method of claim 1 wherein the adapter circuit is hot inserted to the computer bus via a slot connector located on the bus, the method further comprising:
accessing an IRQ routing table in a memory of the computer system to determine whether an adapter circuit is capable of being hot inserted to the computer bus via the slot connector.
-
16. The method of claim 1 wherein determining a lowest assigned value includes reading at least one configuration register of each device operably coupled to the computer bus.
-
17. The method of claim 1 wherein the assigning to the adapter circuit a portion of the system resource further includes assigning to the adapter circuit a highest assignable portion of the system resource reserved for the computer bus located below the lowest assigned value.
-
18. The method of claim 1 comprising
assigning a same portion of the system resource to a hot inserted adapter circuit as was assigned to an adapter circuit of the same type as the hot inserted adapter circuit that was hot removed from an adapter connector located on the computer bus that the hot inserted adapter circuit is being connected for hot insertion to the computer system.
-
5. The method of claim 5 further wherein the assigning to the adapter circuit a portion of the aperture further includes assigning to the adapter circuit a potion of the aperture from below the lowest assigned value to a value being equal to the lowest assigned value minus the required quantity of system resource for the adapter circuit.
-
13. The method of clam 1 wherein the computer bus conforms to a standard based upon a Peripheral Component Interface (PCI) Specification.
-
19. A computer system comprising:
-
a computer bus having at least one hot insertable adapter connector for coupling an adapter circuit to the computer bus; and
at least one non volatile memory storing computer executable hot insertion code for assigning at least one system resource of the computer system to an adapter circuit hot inserted to the computer system via a hot insertable adapter connector of the computer bus, wherein execution of the computer executable hot insertion code;
determines a lowest assigned value assigned to a device on the computer bus of a system resource reserved for the computer bus;
determines a required quantity of the system resource required by the adapter circuit;
determines whether the system resource reserved for computer bus has an adequate assignable capacity for the required quantity below the lowest assigned value, wherein the lowest assigned value is located in an aperture of the system resource reserved for the computer bus, wherein the determination of whether the system resource reserved for computer bus has an adequate assignable capacity further includes;
a determination of whether the aperture has an adequate assignable capacity for the required quantity; and
a determination, if the aperture does not have an adequate assignable capacity, whether a second aperture of the system resource reserved for the computer bus located below the aperture has an adequate assignable capacity;
assigns to the adapter circuit a portion of the system resource reserved for the computer bus located below the lowest assigned value if the system resource reserved for the computer bus is determined to have an adequate assignable capacity. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
a second bus having at least one hot insertable adapter connector for coupling an adapter circuit to the second computer bus;
wherein the least one non volatile memory stores computer executable hot insertion code for assigning at least one system resource of the computer system to an adapter circuit hot inserted to the computer system via a hot insertable adapter connector of the second computer bus.
-
-
23. The computer system of claim 19 wherein the computer bus conforms to a standard based upon a Peripheral Component Interface (PCI) bus specification.
-
24. The computer system of claim 19 wherein the system resource includes memory address space.
-
25. The computer system of claim 19 wherein the system resource includes I/O address space.
-
26. The computer system of claim 19 wherein the assignment of the at least one system resource to an adapter circuit is compatible with a Peripheral Component Interface (PCI) Hot-Plug Specification.
-
27. The computer system of claim 19 wherein:
-
the system resource reserved for the computer bus is reserved in multiple apertures;
the portion of the system resource assigned to the adapter circuit includes a portion of an aperture of the multiple apertures having an adequate assignable capacity located below the lowest assigned value.
-
-
28. The computer system of claim 19 wherein:
the hot insertable adapter connector includes a slot connector configured to receive adapter cards having adapter circuits mounted thereupon.
-
29. The computer system of claim 19 wherein:
wherein the assignment to the adapter circuit a portion of the system resource further includes assigning to the adapter circuit a portion of the second aperture if the second aperture is determined to have an adequate assignable capacity.
-
30. A computer system comprising:
-
a computer bus having at least one hot insertable adapter connector;
a hot insertion system for assigning at least one system resource to an adapter circuit hot inserted to a computer system via a hot insertable adapter connector of the computer bus, wherein the hot insertion system assigns a portion of a system resource reserved for a computer bus to an adapter circuit hot inserted to the computer system via a hot insertable adapter connector of the computer bus, the portion assigned being located below a lowest assigned value assigned to a device operably coupled to the computer bus, wherein the lowest assigned value is located in an aperture of a system resource reserved for the computer bus, wherein in assigning a portion of a system resource, the hot insertion system determinations whether the system resource reserved for the computer bus has an adequate assignable capacity, wherein the determination further includes;
a determination of whether the aperture has an adequate assignable capacity for the required quantity; and
a determination, if the aperture does not have an adequate assignable capacity, whether a second aperture of the system resource reserved for the computer bus located below the aperture has an adequate assignable capacity. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
an operating system, wherein at least a portion of the hot insertion system is implemented as a bus driver of the operating system.
-
-
40. The computer system of claim 30 wherein:
-
the system resource reserved for the computer bus is reserved in multiple apertures;
the portion of the system resource assigned to the adapter circuit includes a portion of an aperture of the multiple apertures having an adequate assignable capacity located below the lowest assigned value.
-
-
41. The computer system of claim 30 wherein the system resources include memory address space and I/O address space, wherein the hot insertion system assigns to the adapter circuit both a portion of the memory address space reserved for the computer bus below the lowest assigned memory address and a portion of the I/O address space reserved for the computer bus below the lowest assigned I/O address.
-
42. The computer system of claim 30 wherein:
the hot insertable adapter connector includes a slot connector configured to receive adapter cards having adapter circuits mounted thereupon.
-
43. The computer system of claim 30 wherein for a like-for-like hot removal and insertion of an adapter circuit with an adapter connector of the computer bus, the hot insertion system assigns a same portion of the at least one system resource to a hot inserted adapter circuit as was assigned to a hot removed adapter circuit of the same type.
-
44. The computer system of claim 30 wherein:
wherein the assignment to the adapter circuit a portion of the system resource further includes assigning to the adapter circuit a portion of the second aperture if the second aperture is determined to have an adequate assignable capacity.
-
45. An article of manufacture comprising:
-
a computer readable media storing computer executable hot insertion code for assigning at least one system resource of the computer system to an adapter circuit hot inserted to the computer system via a hot insertable adapter connector of a computer bus, wherein execution of the computer executable hot insertion code;
determines a lowest assigned value assigned to a device on the computer bus of a system resource reserved for the computer bus;
determines a required quantity of the system resource required by the adapter circuit;
determines whether the system resource reserved for the computer bus has an adequate assignable capacity for the required quantity below the lowest assigned value, wherein the lowest assigned value is located in an aperture of the system resource reserved for the computer bus, wherein the determination of whether the system resource reserved for computer bus has an adequate assignable capacity further includes;
a determination of whether the aperture has an adequate assignable capacity for the required quantity; and
a determination, if the aperture does not have an adequate assignable capacity, whether a second aperture of the system resource reserved for the computer bus located below the aperture has an adequate assignable capacity;
assigns to the adapter circuit a portion of the system resource reserved for the computer bus located below the lowest assigned value if the system resource reserved for the computer bus is determined to have an adequate assignable capacity. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52)
the system resource reserved for the computer bus is reserved in multiple apertures;
the portion of the system resource assigned to the adapter circuit includes a portion of an aperture of the multiple apertures having an adequate assignable capacity located below the lowest assigned value.
-
-
48. The article of manufacture of claim 45 wherein the computer bus conforms to a standard based upon a Peripheral Component Interface (PCI) bus specification.
-
49. The article of manufacture of claim 45 wherein the at least one system resource includes memory address space.
-
50. The article of manufacture of claim 45 wherein the at least one system resource includes I/O address space.
-
51. The article of manufacture of claim 45 wherein the portion of system resource assigned to the adapter circuit includes the highest assignable portion the system resource reserved for the computer bus located below the lowest assigned value.
-
52. The article of manufacture of claim 45 wherein:
wherein the assignment to the adapter circuit a portion of the system resource further includes assigning to the adapter circuit a portion of the second aperture if the second aperture is determined to have an adequate assignable capacity.
Specification