On Thu, 5 Jul 2001, Andreas Beck wrote:
> Right. IMHO a kernelspace driver should care for stuff like memory
> allocation for busmaster DMA areas.
I think this is all a misunderstanding of vocabulary. LibGalloc
has a system of storage flags, two of which are GA_STORAGE_RAM and
GA_STORAGE_TRANSFER. GA_STORAGE_RAM alone refers to a mlocked page
and should be usable w/o graphics driver support. When talking
about DMA capable RAM, what we are talking about is
GA_STORAGE_RAM | GA_STORAGE_TRANSFER, what MUST be approved by or
likely even gotten from the chipset driver. So when Christoph asked
about "real ram" I was thinking he meant just GA_STORAGE_RAM.
Now, even in the case of DMA ram, IFF the OS has a clean way for
the app to get the RAM and then tell the driver to use it, such
that it cannot be freed out from underneath the driver's feet,
then we should do it that way to honor ulimits, but if not, we
must have the chipset driver alloc it, for security reasons.
--
Brian