1AGP (and PCI-express) Graphics Address Re-Mapping Table 2======================================================= 3 4The GART is an IO-MMU allowing the videocard and CPU to share some 5memory. Either the CPU can access the video RAM directly (“aperture”), 6or the video card can access the system RAM using DMA access. 7 8The GART converts between physical addresses and virtual addresses on 9the video card side. Of course, the CPU must then map these physical 10addresses in its own address space to use them (using the MMU). 11 12The GART works as you’d expect from an MMU. It has a page table (called 13GTT) in RAM and walks it to figure out mappings. Since there cannot be 14page misses (that would require exception handling on the GPU side), 15access to missing pages are instead sent to a dedicated “scratch” page 16which is not used for anything else. 17 18Our driver implements the GART and GTT for Intel graphics card only, so 19far. Since our videodrivers are only doing modesetting, they do not need 20much support and other drivers implemented GTT management directly on 21their own (it is usually enough to make the framebuffer accessible to 22the CPU). However, this could be generalized into a more flexible iommu 23bus protocol. 24