Claims
- 1. A method of adding one or more caching agents to a running computing device, comprising
identifying the one or more caching agents provided by a hot plug module in response to the hot plug module being physically coupled to the running computing device; and adding the identified caching agents of the hot plug module to a resource pool of the running computing device.
- 2. The method of claim 1, further comprising
enabling a communication interface of the running computing device that is associated with the hot plug module in response to determining that the hot plug module has been physically coupled to the running computing device.
- 3. The method of claim 2, further comprising
performing a self test of the hot plug module, and in response to passing the self test, enabling the communication interface of the hot plug module to establish a communication link with the communication interface of the running computing device.
- 4. The method of claim 2, further comprising
initializing the hot plug module, and after initializing the hot plug module, enabling the communication interface of the hot plug module to establish a communication link with the communication interface of the running computing device.
- 5. The method of claim 1 wherein adding comprises adding one or more memory caching processors of the identified caching agents to a processor pool of the running system.
- 6. The method of claim 1 wherein adding comprises adding one or more memory caching input/output hubs of the identified caching agents to an input/output pool of the running system.
- 7. The method of claim 1 further comprising
identifying memory of the hot plug module in response to the hot plug module being physically coupled to the running computing device; and adding the identified memory of the hot plug module to a memory pool of the running computing device.
- 8. A method of adding memory to a running computing device, comprising
identifying memory of the hot plug module in response to the hot plug module being physically coupled to the running computing device; and adding the identified memory of the hot plug module to a memory pool of the running computing device.
- 9. The method of claim 8, further comprising
enabling a communication interface of the running computing device that is associated with the hot plug module in response to determining that the hot plug module has been physically coupled to the running computing device.
- 10. The method of claim 8, further comprising
performing a self test of the hot plug module, and in response to passing the self test, enabling the communication interface of the hot plug module to establish a communication link with the communication interface of the running computing device.
- 11. A method of removing a hot plug module comprising one or more memory caches from a running computing device, comprising
identifying resources of the hot plug module in response to a hot plug removal request; causing the hot plug module to write back modified cache lines of the one or more memory caches to the running computing device; and removing the identified resources from respective resource pools of the running computing device.
- 12. The method of claim 11, further comprising in response to the hot plug removal request, providing an indication that a hot plug removal is in progress.
- 13. The method of claim 12, further comprising
after removing the identified resources from the running computing device, providing an indication that the hot plug module may be removed; and disabling the communication interface of the running computing device to isolate the hot plug module from the running computing device.
- 14. The method of claim 11, further comprising waiting a predetermined time for pending transactions associated with hot plug module to complete; and
disabling the communication interface of the running computing device to isolate the hot plug module from the running computing device after waiting the predetermined time.
- 15. The method of claim 11, further comprising
disabling the communication interface of the running computing device to isolate the hot plug module from the running computing device after determining that all transactions associated with the hot plug module have completed.
- 16. A machine readable medium for interrupt processing, comprising a plurality of instructions that in response to being executed result in a computing device
in response to a hot plug interrupt examining a plurality of interface control registers associated with a plurality of communication interfaces for communicating with a plurality of hot plug modules having caching agents; and identifying which of a plurality of hot plug events caused the hot plug interrupt based upon the plurality of interface control registers.
- 17. The machine readable medium of 16, wherein the plurality of instructions in response to being executed further result in the computing device
determining whether hot plug addition or hot plug removal has been requested for a hot plug module of the plurality of hot plug modules based upon an interface control register of the plurality of interface control registers that is associated with the hot plug module.
- 18. The machine readable medium of claim 17, wherein the plurality of instructions in response to being executed further result in the computing device
determining that hot plug removal has been requested for the hot plug module in response to the interface control register associated with the hot plug module indicating a pending hot plug interrupt and a joined state for the hot plug module.
- 19. The machine readable medium of claim 18, wherein the plurality of instructions in response to being executed further result in the computing device
causing the hot plug module to write back modified cache lines to the running computing device; and removing resources of the hot plug module from the computing device.
- 20. The machine readable medium of claim 16, wherein the plurality of instructions in response to being executed further result in the computing device
determining that hot plug removal has been requested for the hot plug module; waiting a predetermined time for pending transactions associated with hot plug module to complete; and disabling the communication interface of the computing device to isolate the hot plug module from the computing device after waiting the predetermined time.
- 21. The machine readable medium of claim 16, wherein the plurality of instructions in response to being executed further result in the computing device
determining that hot plug removal has been requested for the hot plug module; and disabling the communication interface of the computing device to isolate the hot plug module from the computing device after determining that all transactions associated with the hot plug module have completed.
- 22. The machine readable medium of claim 16, wherein the plurality of instructions in response to being executed further result in the computing device
determining that hot plug addition has been requested for the hot plug module in response to the interface control register indicating that the associated communication interface is disabled, that a module is coupled to the associated communication interface, and that the associated communication interface is in a no module present state.
- 23. The machine readable medium of claim 22, wherein the plurality of instructions in response to being executed further result in the processor
adding resources of the hot plug module to the running computing device in response to determining that hot plug addition has been requested for the hot plug module and that no other hot plug addition is in progress.
- 24. A hot plug module comprising
a coupler for detachably coupling the hot plug module to a running computing device; a communication interface to establish a communication link with the running computing device via the coupler in response to being enabled and to de-establish the communication link in response to being disabled; an interface control register associated with the communication interface to indicate and control whether the communication interface is enabled or disabled, and a processor and associated memory cache, the processor to program the interface control register to enable and disable the communication interface based upon whether the hot plug module is ready to join the running computing device.
- 25. The hot plug module of claim 24, wherein
the processor writes back modified cache lines of the memory cache to the running computing device in response to hot plug removal being requested for the hot plug module.
- 26. The hot plug module of claim 25, wherein the hot plug module comprises a status indicator that indicates a hot plug status for the hot plug module.
- 27. The hot plug module of claim 26, wherein the processor
performs a self test of the hot plug module in response to hot plug addition being requested for the hot plug module, and enables the communication interface in response to determining that the hot plug module passed the self test.
- 28. A computing device comprising,
a midplane comprising a coupler and a hot plug interface to track a state associated with the coupler; a hot plug module comprising a coupler to detachably couple the hot plug module to the coupler of the midplane and resources coupled to the coupler of the hot plug module via a hot plug interface of the hot plug module, the hot plug module to update the state of the hot plug interface of the midplane to indicate when the resources are ready to join the computing device; and a processor coupled to the hot plug interface of the midplane, the processor to add the resources to the computing device without rebooting in response to determining that the hot plug interface of the midplane indicates the resources are ready to join.
- 29. The computing device of claim 28, wherein
the midplane comprises a hot plug monitor that provides the hot plug interface of the midplane with a signal indicative of whether the coupler of the hot plug module has been coupled to the coupler of the midplane, and the processor programs the hot plug interface of the midplane to generate a hot plug interrupt in response to a change in the signal that is indicative of whether the coupler of the hot plug module has been coupled to the coupler of the midplane.
- 30. The computing device of claim 28, wherein
the hot plug interface of the midplane detects whether framing packets are received from the hot plug interface of the hot plug module, and the processor programs the hot plug interface of the midplane to generate a hot plug interrupt in response to a change in receipt of framing packets.
- 31. A midplane of a computing device, comprising
a plurality of couplers to detachably couple hot plug modules to the midplane; at least one switch to interconnect the plurality of couplers, the at least one switch comprising a plurality of communication interfaces to establish communication links with the hot plug modules that are coupled to the plurality of couplers, and a plurality of interface control registers to control the plurality of communication interfaces.
- 32. The midplane of claim 31, further comprising
a system management processor to initialize hot plug modules coupled the plurality of couplers.
- 33. The midplane of claim 32, wherein the plurality of interface control registers track states of the plurality of communication interfaces and associated hot plug modules.
- 34. The midplane of claim 31, wherein the switch provides an indication as to when all pending transactions associated with a hot plug module to be removed have completed.
RELATED APPLICATIONS
[0001] This application is related to Application Ser. No. ______, entitled “Hot Plug Cache Coherent Interface Method And Apparatus”; filed on the same date as the present application.