Date: Mon, 9 Nov 2015 15:34:38 -0800 From: John-Mark Gurney <jmg@funkthat.com> To: AlexHully <deco33000@yandex.com> Cc: freebsd-hackers@freebsd.org Subject: Re: dma Message-ID: <20151109233438.GM65715@funkthat.com> In-Reply-To: <298361446978177@web22g.yandex.ru> References: <298361446978177@web22g.yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
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."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151109233438.GM65715>