> From: Philip Brown [mailto:[EMAIL PROTECTED]]
> I thought that was just from the perspective of the graphics card.

A GART memory mapping is a memory range that is visible from
the grafics card (if on AGP socket) and from the CPU (or CPUs).

The GART memory area is looking just as a PCI card that has mapped
some amount of memory to the bus. Its a linear chung of memory
in terms of the bus scope and therefore has a physical base address
and its range is contiguous on the bus.

The grafics card simply uses physical adressing.
The CPU muss call the OS to do a remap on those physical range,
as it has to do for any other sort of PCI adapter memory.

> But you are saying that ALL AGP supporting motherboards will remap
> their aperture range, both for the graphics card, AND the cpu?

The motherboard chipset do remap a bunch of individual pages into
a single GART memory area. Its view is independent and seperate
from the regular location of the main memory, there is no overlapping.
GART means an aditional view of the same with the advantage of
getting memory contiguous for the grafics adapter, even if several
could handle fragmentation without that unit. (the CPU already has 
a sufficient paging unit.)

> In which case... doesnt that screw up the OS considerably, to 
> suddenly have a large chunk of memory change its apparent contents? :-/

If you have multiprocessing, a grafics co-processor, a busmaster or
a cpu-external memory manager, then you must flus CPU read or write
caches at certain points of modifications in the sub system.

> I dont know of any kernel routines under solaris that tell the kernel,
> "Stop using this specific physical address range now: I'm going to
>  take it over"

You first allocate pages in main memory before starting to remap them
via GART. After use you have to do this in the reverse direction.

> Also.. seems like if you have a system that has a large amount of memory,
> you would then lose twice the amount of memory you allocate, since a
> previously usable chunk of memory now gets shadowed to another section of
> memory.

You have to mark the memory as used. But its only a single location,
so this single memory is useable for exactly one purpose only.
Its single but shared, multiple visible, magically mirrored, purple-dotted
memory.

The only thing that you need in advance is a memory manager, that
tracks which ranges of the GART range are used and which are free.

> Yeuk.

I thought you are called Philip. :-)
Regards
Alex.


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to