Claims
- 1. An apparatus comprising:
at least one processor; a memory coupled to the at least one processor; a plurality of hardware resources coupled to the at least one processor; a plurality of locks residing in the memory, wherein each of the plurality of hardware resources has a corresponding lock; a plurality of logical partitions defined on the apparatus; and a lock mechanism that controls access to each hardware resource by the plurality of logical partitions by requiring exclusive ownership of the corresponding lock before transferring control of the corresponding hardware resource to one of the plurality of logical partitions and before allowing one of the plurality of logical partitions to access the corresponding hardware resource.
- 2. The apparatus of claim 1 wherein the plurality of hardware resources comprise a plurality of I/O slots.
- 3. The apparatus of claim 2 further comprising a mechanism for unbinding all memory and virtual address bindings and preventing the establishment of new bindings to an adapter in a selected I/O slot when control of the selected I/O slot is removed from one of the plurality of logical partitions if the memory and virtual address bindings have not been previously unbound.
- 4. The apparatus of claim 2 further comprising a mechanism for enabling memory and virtual address bindings to an adapter in a selected I/O slot when control of the selected I/O slot is transferred to one of the plurality of logical partitions.
- 5. The apparatus of claim 1 further comprising a power on/power off mechanism residing in the memory and executed by the at least one processor, the power on/power off mechanism powering off a selected hardware resource when control of the selected hardware resource is removed from one of the plurality of logical partitions and powering on the selected hardware resource when control of the selected hardware resource is transferred to one of the plurality of logical partitions.
- 6. The apparatus of claim 1 further comprising a mechanism for transferring control of a selected hardware resource to a resource and partition manager when control of the selected hardware resource is removed from one of the plurality of logical partitions.
- 7. The apparatus of claim 1 further comprising a mechanism for transferring control of a selected hardware resource to one of the plurality of logical partitions when control of the selected hardware resource is transferred to the one logical partition.
- 8. The apparatus of claim 1 further comprising a mechanism for one of the plurality of logical partitions to relinquish control of a hardware resource that the one logical partition owns.
- 9. The apparatus of claim 8 further comprising a mechanism for one of the plurality of logical partitions to regain control of a hardware resource that the logical partition owns but for which the one logical partition previously relinquished control.
- 10. An apparatus comprising:
at least one processor; a memory coupled to the at least one processor; a plurality of PCI adapter slots coupled to the at least one processor; a plurality of logical partitions defined on the apparatus; a plurality of PCI adapter slot locks residing in the memory, wherein each of the plurality of PCI adapter slots has a corresponding PCI adapter slot lock; a PCI slot lock mechanism that controls access to each PCI adapter slot by the plurality of logical partitions by requiring exclusive ownership of the corresponding PCI adapter slot lock before transferring control of the corresponding PCI adapter slot to one of the plurality of logical partitions and before allowing one of the plurality of logical partitions to access the corresponding PCI adapter slot; at least one PCI host bridge coupled to the at least one processor; at least one primary PCI bus that couples the at least one PCI host bridge to at least one PCI to PCI bridge; a plurality of secondary PCI busses, where each secondary PCI bus couples one of the PCI to PCI bridges to a corresponding PCI adapter slot; wherein each PCI to PCI bridge includes:
a power on/power off slot mechanism residing in the memory and executed by the at least one processor, the power on/power off slot mechanism powering off a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions and powering on the selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions.
- 11. The apparatus of claim 10 further comprising a mechanism for unbinding all memory and virtual address bindings and preventing the establishment of new bindings to an adapter in a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions if the memory and virtual address bindings have not been previously unbound.
- 12. The apparatus of claim 10 further comprising a mechanism for transferring control of a selected PCI adapter slot to a resource and partition manager when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions.
- 13. The apparatus of claim 10 further comprising a mechanism for resetting the PCI to PCI bridge corresponding to a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions.
- 14. The apparatus of claim 10 further comprising a mechanism for enabling memory and virtual address bindings to an adapter in a selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions.
- 15. The apparatus of claim 10 further comprising a mechanism for transferring control of a selected PCI adapter slot to one of the plurality of logical partitions when control of the selected PCI adapter slot is transferred to the one logical partition.
- 16. The apparatus of claim 10 further comprising a mechanism for initializing the PCI to PCI bridge corresponding to a selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions.
- 17. The apparatus of claim 10 further comprising a mechanism for one of the plurality of logical partitions to relinquish control of a PCI adapter slot that the one logical partition owns.
- 18. The apparatus of claim 17 further comprising a mechanism for one of the plurality of logical partitions to regain control of a PCI adapter slot that the logical partition owns but for which the one logical partition previously relinquished control.
- 19. A computer-implemented method for managing a plurality of hardware resources in a computer system that includes a plurality of logical partitions, the method comprising the steps of:
defining a plurality of locks, wherein each of the plurality of hardware resources has a corresponding lock; and controlling access to each hardware resource by the plurality of logical partitions by requiring exclusive ownership of the corresponding lock before transferring control of the corresponding hardware resource to one of the plurality of logical partitions.
- 20. The method of claim 19 wherein the plurality of hardware resources comprise a plurality of I/O slots.
- 21. The method of claim 20 further comprising the step of:
unbinding all memory and virtual address bindings to an adapter in a selected 1/0 slot when control of the selected I/O slot is removed from one of the plurality of logical partitions if the memory and virtual address bindings have not been previously unbound; and preventing the establishment of new bindings to the adapter in the selected I/O slot.
- 22. The method of claim 20 further comprising the step of:
enabling memory and virtual address bindings to an adapter in a selected I/O slot when control of the selected I/O slot is transferred to one of the plurality of logical partitions.
- 23. The method of claim 19 further comprising the steps of:
powering off a selected hardware resource when control of the selected hardware resource is removed from one of the plurality of logical partitions; and powering on the selected hardware resource when control of the selected hardware resource is transferred to one of the plurality of logical partitions.
- 24. The method of claim 19 further comprising the step of:
transferring control of a selected hardware resource to a resource and partition manager when control of the selected hardware resource is removed from one of the plurality of logical partitions.
- 25. The method of claim 19 further comprising the step of:
transferring control of a selected hardware resource to one of the plurality of logical partitions when control of the selected hardware resource is transferred to the one logical partition.
- 26. The method of claim 19 further comprising the step of:
one of the plurality of logical partitions relinquishing control of a hardware resource that the one logical partition owns.
- 27. The method of claim 26 further comprising the step of:
one of the plurality of logical partitions regaining control of a hardware resource that the logical partition owns but for which the one logical partition previously relinquished control.
- 28. A computer-implemented method for managing a plurality of PCI adapter slots in a computer system that includes a plurality of logical partitions, the method comprising the steps of:
defining a plurality of PCI adapter slot locks residing in the memory, wherein each of the plurality of PCI adapter slots has a corresponding PCI adapter slot lock; controlling access to each PCI adapter slot by the plurality of logical partitions by requiring exclusive ownership of the corresponding PCI adapter slot lock before transferring control of the corresponding PCI adapter slot to one of the plurality of logical partitions; powering off a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions; powering on the selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions; unbinding all memory and virtual address bindings and preventing the establishment of new bindings to an adapter in a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions if the memory and virtual address bindings have not been previously unbound; resetting a PCI to PCI bridge corresponding to a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions; enabling memory and virtual address bindings to an adapter in a selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions; transferring control of a selected PCI adapter slot to one of the plurality of logical partitions when control of the selected PCI adapter slot is transferred to the one logical partition; and (claim 28 continued) initializing the PCI to PCI bridge corresponding to a selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions.
- 29. The method of claim 28 further comprising the step of:
transferring control of a selected PCI adapter slot to a resource and partition manager when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions.
- 30. The method of claim 28 further comprising the step of:
one of the plurality of logical partitions relinquishing control of a PCI adapter slot that the one logical partition owns.
- 31. The method of claim 30 further comprising the step of:
one of the plurality of logical partitions regaining control of a PCI adapter slot that the logical partition owns but for which the one logical partition previously relinquished control.
- 32. A program product comprising:
a lock mechanism that defines a plurality of locks, wherein each of a plurality of hardware resources has a corresponding lock, the lock mechanism controlling access to the plurality of hardware resources in a computer system that includes a plurality of logical partitions by requiring exclusive ownership of the corresponding lock before transferring control of the corresponding hardware resource to one of the plurality of logical partitions and before allowing one of the plurality of logical partitions to access the corresponding hardware resource; and computer readable signal bearing media bearing the lock mechanism.
- 33. The program product of claim 32 wherein the signal bearing media comprises recordable media.
- 34. The program product of claim 32 wherein the signal bearing media comprises transmission media.
- 35. The program product of claim 32 wherein the plurality of hardware resources comprise a plurality of I/O slots.
- 36. The program product of claim 35 further comprising a mechanism residing on the computer readable signal bearing media for unbinding all memory and virtual address bindings and preventing the establishment of new bindings to an adapter in a selected I/O slot when control of the selected I/O slot is removed from one of the plurality of logical partitions if the memory and virtual address bindings have not been previously unbound.
- 37. The program product of claim 35 further comprising a mechanism residing on the computer readable signal bearing media for enabling memory and virtual address bindings to an adapter in a selected I/O slot when control of the selected I/O slot is transferred to one of the plurality of logical partitions.
- 38. The program product of claim 32 further comprising a power on/power off mechanism residing on the computer readable signal bearing media that powers off a selected hardware resource when control of the selected hardware resource is removed from one of the plurality of logical partitions and powers on the selected hardware resource when control of the selected hardware resource is transferred to one of the plurality of logical partitions.
- 39. The program product of claim 32 further comprising a mechanism residing on the computer readable signal bearing media for transferring control of a selected hardware resource to a resource and partition manager when control of the selected hardware resource is removed from one of the plurality of logical partitions.
- 40. The program product of claim 32 further comprising a mechanism residing on the computer readable signal bearing media for transferring control of a selected hardware resource to one of the plurality of logical partitions when control of the selected hardware resource is transferred to the one logical partition.
- 41. The program product of claim 32 further comprising a mechanism for one of the plurality of logical partitions to relinquish control of a hardware resource that the one logical partition owns.
- 42. The program product of claim 41 further comprising a mechanism for one of the plurality of logical partitions to regain control of a hardware resource that the logical partition owns but for which the one logical partition previously relinquished control.
- 43. A program product comprising:
(A) a PCI slot lock mechanism that defines a plurality of PCI adapter slot locks, wherein each of a plurality of PCI adapter slots has a corresponding PCI adapter slot lock, the PCI slot lock mechanism controlling access to the plurality of PCI adapter slots in a computer system that includes a plurality of logical partitions by requiring exclusive ownership of the corresponding PCI adapter slot lock before transferring control of the corresponding PCI adapter slot to one of the plurality of logical partitions and before allowing one of the plurality of logical partitions to access the corresponding PCI adapter slot; (B) a power on/power off slot mechanism that powers off a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions and powers on the selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions; (C) a mechanism for unbinding all memory and virtual address bindings and preventing the establishment of new bindings to a PCI adapter in a selected PCI adapter slot when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions if the memory and virtual address bindings have not been previously unbound; (D) a mechanism for enabling memory and virtual address bindings to a PCI adapter in a selected PCI adapter slot when control of the selected PCI adapter slot is transferred to one of the plurality of logical partitions; (E) a mechanism for transferring control of a selected PCI adapter slot to one of the plurality of logical partitions when control of the selected PCI adapter slot is transferred to the one logical partition; and (G) computer readable signal bearing media bearing (A), (B), (C), (D) and (E).
- 44. The program product of claim 43 wherein the signal bearing media comprises recordable media.
- 45. The program product of claim 43 wherein the signal bearing media comprises transmission media.
- 46. The program product of claim 43 further comprising a mechanism residing on the computer readable signal bearing media for transferring control of a selected PCI adapter slot to a resource and partition manager when control of the selected PCI adapter slot is removed from one of the plurality of logical partitions.
- 47. The program product of claim 43 further comprising a mechanism residing on the computer readable signal bearing media for one of the plurality of logical partitions to relinquish control of a PCI adapter slot that the one logical partition owns.
- 48. The program product of claim 47 further comprising a mechanism residing on the computer readable signal bearing media for one of the plurality of logical partitions to regain control of a slot that the logical partition owns but for which the one logical partition previously relinquished control.
RELATED APPLICATION
[0001] This patent application is related to a U.S. patent application of the same title filed by the same inventors, Ser. No. ______, filed on ______, which is incorporated herein by reference.