User-space as common-buffer for DMA

Hello,
I’m trying to implement common buffer DMA. I can use
AllocateCommonBuffer(…). But I don’t want to do one more data transfer
from user space to common-buffer (kernel) space. My question is,

Will AllocateCommonBuffer(…) allocate physically contiguous memory? Or
Will it only allocate virtually contiguous memory and it’s physical
pages will be mapped with logical contiguous address space using
map-registers?

Thanks,
Raja

>Will AllocateCommonBuffer(…) allocate physically contiguous memory?

Yes, or at least it will map the discontiguous physical memory to the
contiguous bus space by using some kind of chipset’s aperture registers.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com