Claims
- 1. A method for supporting memory mapped input output (MMIO) devices in a multi-node computer system, the multi-node computer system comprising an interconnect having a plurality of MMIO address space range registers, a plurality of central processor unit (CPU) nodes, a plurality of input output (10) nodes, each IO node including at least an MMIO device, the method comprising:
determining a total amount of MMIO address spaces that are used by the multi-node computer system; determining a granularity of the MMIO address spaces based on the number of the MMIO address space range registers; and configuring the range registers of the interconnect based on the determined granularity.
- 2. The method of claim 1, further comprising:
configuring the IO nodes based on the determined granularity to support the MMIO device.
- 3. The method of claim 2, further comprising:
configuring the CPU node based on the determined granularity to support the MMIO device.
- 4. The method of claim 1, wherein determining a total amount of MMIO address spaces comprises:
scanning each of MMIO devices that are included in each IO node; determining the amount of MMIO address spaces that are needed by the MMIO device; and generating the amount of MMIO address spaces that are needed by all the MMIO devices that are included in the computer system.
- 5. The method of claim 1, wherein determining a granularity of the MMIO address spaces comprises:
generating a preliminary granularity value; generating the number of range registers based on the preliminary granularity value; comparing the generated number of range registers with the maximum number of the range registers that is provided by the system; and generating a proper granularity of the MMIO address spaces based on the maximum number of the range registers.
- 6. A computer system comprising:
an interconnect having a plurality of memory mapping input output (MMIO) address space range registers; a plurality of input output (IO) nodes, each IO node including at least one MMIO device; and a plurality of central processor unit (CPU) nodes with at least one of the CPU nodes being configured to determine a granularity of MMIO address spaces that are needed to support all MMIO devices of the IO nodes.
- 7. The system of claim 6, wherein the at least one of the CPU nodes is configured to program the range registers of the interconnect based on the determined granularity to support the memory mapping process of the MMIO devices.
- 8. The system of claim 7, wherein the at least one of the CPU nodes is configured to program the IO nodes based on the determined granularity to support the MMIO device.
- 9. The system of claim 8, wherein the at least one of the CPU nodes is configured to program the CPU nodes based on the determined granularity to support the MMIO device.
- 10. A computer readable medium containing a computer program for enabling the support of memory mapped input output (MMIO) devices in a multi-node computer system, the multi-node computer system comprising an interconnect having a plurality of MMIO address space range registers, a plurality of central processor unit (CPU) nodes, a plurality of input output (IO) nodes, each IO node including at least an MMIO device, said computer program, when executed by one of the plurality of CPU nodes, performing the method of:
determining a total amount of MMIO address spaces that are used in the multi-node computer system; determining a granularity of the MMIO address spaces based on the number of the MMIO address space range registers; and configuring the range registers of the interconnect based on the determined granularity; configuring the IO nodes based on the determined granularity to support the MMIO device; and configuring the CPU node based on the determined granularity to support the MMIO device.
- 11. A computer system comprising:
an interconnect having a plurality of memory mapping input output (MMIO) address space range registers; a plurality of input output (IO) nodes, coupled to the interconnect, each IO node including at least an MMIO device; a plurality of central processor unit (CPU) nodes, coupled to the interconnect; and means for determining a granularity of MMIO address spaces that are needed to support all MMIO devices of the system based on the number of the MMIO address space range registers.
- 12. The system of claim 11, further comprising:
means for determining a total amount of MMIO address spaces that are used in the multi-node computer system.
- 13. The system of claim 12, further comprising:
means for configuring the range registers of the interconnect based on the determined granularity.
- 14. The system of claim 13, further comprising:
means for configuring the IO nodes based on the determined granularity to support the MMIO device.
- 15. The system of claim 14, further comprising:
means for configuring the CPU node based on the determined granularity to support the MMIO device.
RELATED APPLICATION
[0001] This application claims priority under 35 U.S.C. §119(e) from co-pending U.S. Provisional Patent Application serial No. 60/301,955, entitled “Algorithm For Dynamically Determining The Memory Mapped Input Output Range Granularity For A Multi-Node Computer System,” filed on Jun. 29, 2001, by Prabhunandan B. Narasimhamurthy, et al, which is incorporated by reference in its entirety herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60301955 |
Jun 2001 |
US |