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)

Reply via email to