What does the OGH address space look like? This is a description of how ATI/NV do it.
ATI/NV cards have two address spaces. One internal one and the system one. All of the GPU command operate in the internal address space. AGP is also mapped into the internal address space. Cards out today use a 32b internal address space, new designs use 64b. You need this internal address space to allow the GPU to move data from AGP space into VRAM that is not visible to the CPU. It is not feasible anymore for graphics cards to map all of their RAM into the system address space. Under Linux there is only 1GB available and the kernel lives in this 1GB too. With SLI there isn't even room to map all of the RAM into the PCI address space on 32b systems. Plus other things need to fit into that space too. ATI/NV design this way so that the programming model won't change when we start getting cards with 4GB RAM on them. I haven't worked with the address spaces on PCIe cards. I believe these cards are all 64b so the internal address space can see all of system memory. I guess this is why 64b processors have IOMMUs, to stop a card like this form seeing memory it shouldn't. I'm not sure if the ATI/NV drivers even make use of normal PCI DMA any more. Instead you just put the image data into AGP space and tell the GPU to copy it into the unmapped VRAM. The for cards like the R200 the Linux kernel drivers decode all of the DMA type command and verify the addresses to make sure that the user hasn't requested the DMA hardware to poke around in memory not owned by the user. -- Jon Smirl [EMAIL PROTECTED] _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
