How alloc non-cache type memory?

Yuka Muromachi yuka.muromachi at
Thu Aug 4 07:37:03 GMT 2005

I meet some problem with nvidia chip, the dma buffer data seems incorrect.

Windows NT can use MmAllocatePagesForMdl() to allocate nonpaged
physical memory and use MmMapLockedPagesSpecifyCache() map to kernel

MmMapLockedPagesSpecifyCache() also can set page cachetype to  MmNonCached.

Then use MmGetPhysicalAddress() to get physical address fill to DMA
address register.

If I set cache type to MmNonCached, it will work. 

Is there any way to allocate Non-Cached type physical memory for dma
transfer in FreeBSD?

More information about the freebsd-multimedia mailing list