Re: __get_free_pages()

Stephen Williams (steve@icarus.icarus.com)
Thu, 28 May 1998 12:27:45 -0600


The limitations for bus mastering DMA devices needs a way to be expressed.
Certain cards can only generate addresses within specified ranges. This
has little to do with host architectures. It may have something to do with
where bus addresses 0-N are mapped in kernel space, but that is all.

I would like to be able to ask Linux for a 24bit bus address, for example.
I don't care where it is mapped in kernel space, as long as the output from
virt_to_bus gives me something with the high bits cleared.

Things are more confusing when the system board DMA controllers are used.
It is at this point where I am lost. Perhaps if I use a DMA controller
I should be asking *it* for memory and not linux?

root@jennifer-unix.dyn.ml.org said:
> I don't really see why you would want to specify that the region
> returned needed to be <nMB except for the DMA limit.

Various boards have different DMA limits. PCI devices may be limited to
1meg, or 4Gig in a 64bit system. The GFP_DMA bit is getting overloaded,
and it seems to me that just adding more GFP_DMA bits is an exploding
problem.

-- 
Steve Williams                "The woods are lovely, dark and deep.
steve@icarus.com              But I have promises to keep,
steve@picturel.com            and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu