On Wed, Oct 01, 2008 at 07:07:42AM -0500, Christoph Lameter wrote:
Because it is a virtual address. It has to be. You're using __pa() on it,
and __pa() ONLY takes a virtual address.
That's no clearer. Are they physical addresses? Or are they virtual
addresses? Can't guess that from the names.
Semantically disagree.
If you only have a controller which can address 1MB of memory (yes, they do
exist) then MAX_DMA_ADDRESS must be PAGE_OFFSET + 1MB, otherwise you have
precisely NO way to obtain memory from the kernel for this DMA controller
- and that means you want the DMA zone to be sized to 1MB. So _indirectly_
it's true that MAX_DMA_ADDRESS is the highest possible address for the DMA
zone.
--