dma

John-Mark Gurney jmg at funkthat.com
Mon Nov 9 23:34:39 UTC 2015


AlexHully wrote this message on Sun, Nov 08, 2015 at 11:22 +0100:
> I would like a clarification for dma.
> 
> The context: most dma capable devices have 32 bits address range.

Depends upon the bus, and now w/ PCIe, 64bit is commonly supported...

> Is it correct that, if there was no 3G/1G mapping in the kernel, or that kernel low memory could map 4Gb memory, one could choose any free addresses in that low memory to set up a dma buffer?

I assume you're talking about i386... If you are, the kernel/userland
mapping split has nothing to do w/ DMA...  the 3G/1G split is a virtual
address space construct and DMA purely deals w/ the physical memory
layout.  Or are you talking about the 3G/1G physical memory, PCI device
hole?

On non-PAE i386 systems (with only 32bit physical addressing), there
is no performance impact when dealing w/ a 32bit only capabile DMA
device as all of physical memory is addressable.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-hackers mailing list