Claims
- 1. A computer system, said computer system comprising:
a central processing unit connected to a host bus; a system memory having an addressable memory space comprising a plurality of bytes of storage, wherein each of said plurality of bytes of storage has a unique address; a first memory controller connected to said host bus, said first memory controller connected to a first portion of said system memory; a second memory controller connected to said host bus, said second memory controller connected to a second portion of said system memory; an input-output bus connecting an input-output device to said first memory controller and to said host bus, said input-output device being controlled by a driver; and a memory bank allocation table, said memory bank allocation table capable of containing said unique addresses of said first portion of said system memory; wherein said driver references said memory bank allocation table in order to determine a range of said system memory connected to said first memory controller so that said driver may allocate some of said first portion of said system memory.
- 2. A computer system as in claim 1, wherein said memory bank address table contains a version number.
- 3. A computer system as in claim 1, wherein said memory bank address table contains a bus number.
- 4. A computer system as in claim 1, wherein said memory bank address table contains a valid entry bitmap.
- 5. A computer system as in claim 1, wherein said memory bank address table contains an array of decode ranges.
- 6. A computer system as in claim 5, wherein said decode ranges of said memory bank address table each contain a begin field.
- 7. A computer system as in claim 5, wherein said decode ranges of said memory bank address table each contain an end field.
- 8. A computer system as in claim 1, wherein said memory bank address table is created by BIOS.
- 9. A computer system as in claim 1, wherein said memory bank address table is created by a GART miniport driver.
- 10. A computer system as in claim 1, wherein said memory bank address table is created by an AGP driver.
- 11. A computer system as in claim 1, wherein said driver is a GART miniport driver.
- 12. A computer system as in claim 1, wherein said driver is an AGP driver.
- 13. A method of building a memory bank address table, said method comprising the steps of:
activating a BIOS, said BIOS capable of building said memory bank address table; and building said memory bank address table in a memory location.
- 14. A method as in claim 13 wherein said memory location is system memory.
- 15. A method as in claim 13 wherein said memory location is a non-volatile random access memory.
- 16. A method of building a memory bank address table, said method comprising the steps of:
activating a driver, said driver capable of building said memory bank address table; and building said memory bank address table in a memory location.
- 17. A method as in claim 16, wherein said driver is a GART miniport driver.
- 18. A method as in claim 16, wherein said driver is an AGP driver.
- 19. A method of allocating local memory for an AGP device, said method comprising the steps of:
(a) providing an operating system; (b) providing a driver; (c) calling an ACPI method of said operating system with said driver; (d) retrieving a memory bank address table from said operating system; (e) reading said memory bank address table with said driver in order to determine ranges of system memory local to said AGP device; and (f) allocating system memory local to said AGP device based upon said ranges determined in said step (e).
- 20. A method as in claim 19 wherein said driver is an AGP driver.
- 21. A method as in claim 19 wherein said driver is a GART miniport driver.
- 22. A method of allocating local memory for an AGP device, said method comprising the steps of:
(a) providing an operating system having a memory manager; (b) providing a driver; (c) calling an ACPI method of said operating system with said driver; (d) retrieving a memory bank address table from said operating system; (e) calling said memory manager to allocate a range of system memory for said AGP device; (f) comparing said range of system memory allocated in said step (e) with said memory bank address table to determine if said range of system memory is physically located on a core logic chipset connected to said AGP device; and (g) repeating said steps (e) and (f) until sufficient system memory has been allocated.
- 23. A method as in claim 22, said method further comprising the step of:
(h) releasing system memory determined not to be local to said AGP device in said step (f).A method as in claim 22 wherein said driver is an AGP driver.
- 24. A method as in claim 22 wherein said driver is a GART miniport driver.
- 26. A computer system having at least two memory controllers which connects a computer processor and memory to an input-output bus, said input-output bus connected to at least one input-output device, said system comprising:
a system processor executing software instructions and generating data; a system memory having an addressable memory space comprising a plurality of bytes of storage, wherein each of said plurality of bytes of storage has a unique address; said software instructions and said data being stored in some of said plurality of bytes of storage of said system memory, wherein said data are stored in a plurality of pages of data, each of said plurality of pages of data comprise a number of said plurality of bytes of storage; a core logic chipset having an accelerated graphics port (AGP) adapted for an AGP processor, wherein said AGP processor generates video display data from said graphics data for display on a video display; said core logic chipset having a first interface logic for connecting said system processor to said system memory; said core logic chipset having a second interface logic for connecting said system processor and said system memory to said AGP; and a graphics address re-mapping table (GART) having a plurality of entries, each of said plurality of GART entries comprising an address pointer to a corresponding one of said plurality of pages of graphics data and feature flags for customizing said corresponding one of said plurality of pages of graphics data, wherein said core logic chipset uses said plurality of GART entries for re-mapping said plurality of pages of graphics data into an AGP device address space for use by said AGP processor in generating said video display data, and said feature flags for customizing the operation thereof.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This patent application is related to commonly owned U.S. patent application Ser. No. 07/926,422, filed on Sep. 9, 1997, entitled “SYSTEM AND METHOD FOR DYNAMICALLY ALOCATING ACCELERATED GRAPHICS PORT MEMORY SPACE” by Ronald T. Horan, Phillip M. Jones, Gregory N. Santos, Robert Allan Lester, and Robert C. Elliott; and Ser. No. 08/925,722, filed on Sep. 9, 1997, entitled “GRAPHICS ADDRESS REMAPPING TABLE ENTRY FEATURE FLAGS FOR CUSTOMIZING THE OPERATION OF MEMORY PAGES WITH AN ACCELERATED GRAPHICS PORT DEVICE” by Ronald T. Horan, Phillip M. Jones, Gregory N. Santos, Robert Allan Lester, and Robert C. Elliott, and are hereby incorporated by reference for all purposes.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09206677 |
Dec 1998 |
US |
Child |
09961463 |
Sep 2001 |
US |