标签: malloc dma
我有一些使用2个测试应用程序的示例代码:
在内核中测试应用程序,它使用kmalloc分配缓冲区 (GFP_KERNEL)
在用户空间中测试应用程序,使用malloc分配缓冲区 在这种情况下,内核驱动程序在dma transfer之前使用copy_from_user。
在这两种情况下,缓冲区都是DMA到PCI。 我不明白缓冲区是如何分配的 malloc / kmalloc for DMA。
使用malloc分配的区域的copy_from_user是否会导致dma的连续内存?