Universal Accelerated Graphics Port (UAGP)Updated: March 19, 2004
On This Page
The information in this white paper is for hardware vendors who have produced or who are planning to produce chipsets with Accelerated Graphics Port (AGP) 3.5 (for Intel Processors) or AGP 3.0-capable devices (for AMD64 processors). The paper explains the benefits of using the universal AGP drivers written by Microsoft. It also provides information about how to find tools and complete the test procedures and how to find the documentation that explains the qualifying process for the Microsoft Windows Logo Program for devices and systems with the Microsoft universal drivers for AGP 3.5. IntroductionThe Accelerated Graphics Port (AGP) interface provides a fast connection between the core logic and the graphics controller without using PCI bus bandwidth. The AGP interface also defines a physical memory to virtual memory mapping mechanism called a Graphics Address Remapping Table (GART). The AGP specification has undergone several revisions since the introduction of AGPv1.0. AGP 3.0, the previous major revision, incorporated the updated protocol, signaling, electrical, mechanicals, and PCI Configuration space compatible register support. The most current revision is AGP 3.5; it incorporates “Appendix Specification Register Support,” which adds standardized isochronous control, GART layout and access, aperture control, and multiple graphics card support through multiple AGP buses. Although the AGP specification has always defined a standard programming model, the model has not been complete enough to allow the use of a standard AGP driver. As a result, individual chipset vendors have defined different page table entry (PTE) formats for the GART, choosing radically different register layouts for their AGP target (motherboard) devices, as well as writing their own AGP drivers. Chipsets with AGP versions up to and including AGP 3.0 must have vendor-specific drivers. With the additions of and changes to registers in each revision of the AGP interface specification; inconsistencies frequently appear in each vendors interpretation of the AGP specification and in their AGP drivers. AGP 3.5 allows standardization of a single AGP driver for all AGP 3.5-compliant chipsets. The AGP interface specification can be open to interpretation in particular instances. Driver developers can misinterpret the AGP specification during their implementation without realizing it. The addition and removal of features in the AGP revisions can cause illegal memory accesses when the installed drivers have different AGP capability versions from the chipsets. In addition, the proliferation of chipset and graphic card combinations means that there is no standardized method of testing to ensure quality of performance and overall system compatibility. A given combination of AGP master (graphics card) and AGP target can be thoroughly verified only by soldering an expensive logic analyzer to the underside of a motherboard and analyzing large amounts of data for error. With inconsistent testing, the result is a poor user experience and unpredictable behavior. Microsoft developers investigated the problems of invalid GART entries as a result of customer complaints about AGP-related poor system stability, such as memory corruption. Many industry members are confused by AGP capability versioning. With the release of upcoming AGP 3.5-capable hardware, Microsoft is initiating a standardized way of programming and manipulating the AGP aperture. To deliver a quality user experience, a universal standard for the AGP driver UAGP35 should be adopted by all chipset vendors with AGP 3.5-capable hardware. AGP 3.5 FeaturesThe Appendix Specification Register Support that is required for AGP 3.5 (as specified in Appendix B, sections 5.8 and 5.9 of the AGP V3.0 Interface Specification, Revision 1) is an additional set of registers that allows programming for features such as isochronous transactions and that also allows for programming of the GART and AGP aperture. Appendix Register Support for AGP 3.5:
To provide a minimum quality bar for AGP 3.5 drivers and systems with AGP 3.5 capability, Microsoft has developed a standard set of device and system tests, plus an AGP 3.5 driver for all chipsets. The UAGP35 and GAGP30KX drivers conform to the AGP specification, eliminating common errors seen in earlier AGP drivers. The new driver requirements for AGP 3.0 and later are incorporated into UAGP35 and GAGP30KX, as shown in the following list. Standard properties for Microsoft AGP 3.5 driver:
Microsoft recommends that the UAGP35 driver be used on both 32-bit and 64-bit Windows platforms that are AGP 3.5 capable. This driver is installed during setup through machine.inf. Beginning with the Microsoft Windows Server 2003 (32-bit) operating system, when the Windows operating system is installed on any AGP 3.5-compatible machines, the UAGP35 driver is incorporated in the platform. The UAGP35 driver is supported in the Windows Server 2003 Driver Development Kit (DDK) and will be shipped with Microsoft Windows XP Service Pack 2 (SP 2), as well as with subsequent Windows releases. UAGP35 is a standard Windows driver model (WDM) upper filter driver provided by Microsoft. It allows vendors to update the PnP PCI Device IDs for their hardware. For UAGP35 compatibility and AGP 3.5 compliance, all the AGP target registers (including the Aperture Base Address Registers) must reside in a single PCI bus, device, or function. AMD Opteron and AMD Athlon 64-bit processor-based machines cannot provide standardized GART and aperture control because the memory controller and processor are integrated. Therefore, they are not AGP 3.5-compatible as defined in the current specification. However, systems adhering to the AMD64 AGP architecture (AMD 8151-compatible) have the AGP 3.0 capability. A separate standard driver, GAGP30KX is written for those machines. The GAGP30KX driver is incorporated in Windows 2003 Server (32-bit and 64-bit) Service Pack 1 (SP 1). It will also ship with Windows XP SP 2 and subsequent Windows releases. The GAGP30KX can be extended using the Microsoft Windows Longhorn Development Kit (LDK) beta releases. UAGP35 and GAGP30KX will also eventually be installed through Windows Update. Vendors with AGP chipsets should adapt the new drivers according to Table 1. Table 1. AGP Driver Adaptability and Availability
Microsoft recommends that current and upcoming AGP 3.5 chipsets use the UAGP35 driver in order to gain the benefits provided by the universal driver. In addition, Microsoft recommends all current AGP 3.0 and upcoming chipsets for AMD64 processors use the GAGP30KX driver, again to gain the benefits provided by the universal driver. Windows hardware Quality Labs (WHQL) has no plans to establish a cutoff date for blocking vendors who develop AGP filter drivers from receiving the “Designed for Windows” logo on either current or new AGP chipset hardware. Vendors planning to produce hardware with more than AGP 3.0 capability and a unique architecture that are incompatible with the UAGP35 or GAGP30KX drivers should work with Microsoft in the development of their drivers to ensure that the driver quality is met. To facilitate the use of the Universal AGP driver, Microsoft will include the source code for UAGP35 and GAGP30KX in the LDK. From there, vendors can build UAGP35 and GAGP30KX drivers (and must rename them to an IHV specific name), and submit this driver package to WHQL along with the appropriate INF file containing the device IDs and versioning information of the vendor's AGP3.5 capable chipsets and the relevant hardware. These are the steps for preinstalling signed copies of the UAGP35 and GAGP30KX drivers:
After obtaining the signed INF and driver package from WHQL, the vendor may redistribute this package and use it to load a signed version of the UAGP35 or GAGP30KX driver for the vendor's AGP chipset. Windows Logo Program RequirementsThe WHQL Display Test team is responsible for ensuring that AGP Chipset and filter drivers meet the “Designed for Windows” logo program requirements. In order to ensure that AGP chipsets and filter drivers meet all required specifications outlined by Chapter 8: AGP Test Specifications in the upcoming HCT12.0 WHQL Test Specification document, Microsoft will create a new test procedure document to follow to ensure that vendor hardware meets these specifications. This test procedure document will outline the required testing WHQL will perform on hardware submissions so that vendors are able to run the same testing prior to submitting the hardware. Ensuring that all tests pass prior to making the submission will be important in ensuring the submission proceeds smoothly. For advance copies and/or questions about the test procedures please contact DCTHelp@Microsoft.com. GlossaryGART Graphics Address Remapping Table: A translation mechanism that makes discontinuous memory appear as contiguous memory by translating virtual addresses into physical addresses in main memory through a remapping table. The aperture specifically refers to the block of contiguous memory space that contains the GART. DCT Display Compatibility Test: WHQL test kit for validating display adapters/chipsets that meet the “Designed for Windows” logo requirements. HCT Hardware Compatibility Test: WHQL test kit for validating hardware and device drivers that are compatible with Windows operating system features in order to meet "Designed for Windows" logo requirements. ReferencesAGP 3.0 Standard Interface Specification
http://download.intel.com/support/motherboards/desktop/sb/agp30.pdf
AGP 3.0 from the Intel Corporation website Device Testing: Display Adapter/Chipset Testing http://msdn.microsoft.com/en-us/library/bb892502.aspx Explains specific testing steps for vendors that want to use the “Designed for Windows” logo for new display adapter/chipset devices. Windows Logo Program for Hardware, including the Windows Logo Program System and Device Requirements http://msdn.microsoft.com/en-us/windows/hardware/gg463010.aspx Describes the scope and purpose of the Microsoft Windows Logo Program and explains how to obtain the “Designed for Windows” logo for server, desktop, and mobile systems and components that run with Windows operating systems. Microsoft Windows Update http://windowsupdate.microsoft.com Microsoft contact for AGP issues |
|
