编写设备驱动程序

内存分配和取消分配函数

内存分配和取消分配函数包括:

kmem_alloc()

分配内核内存

kmem_free()

释放内核内存

kmem_zalloc()

分配零填充的内核内存

以下函数可以分配和释放用于 DMA 的内存。请参见直接内存访问 (Direct Memory Access, DMA) 函数

ddi_dma_mem_alloc()

为 DMA 传送操作分配内存

ddi_dma_mem_free()

释放以前分配的 DMA 内存

以下函数可以分配和释放用于导出到用户空间的内存。请参见用户空间访问函数

ddi_umem_alloc()

分配按页对齐的内核内存

ddi_umem_free()

释放按页对齐的内核内存

表 B–2 过时的内存分配和取消分配函数

过时的函数 

替代函数 

ddi_iopb_alloc()

ddi_dma_mem_alloc()

ddi_iopb_free()

ddi_dma_mem_free()

ddi_mem_alloc()

ddi_dma_mem_alloc()

ddi_mem_free()

ddi_dma_mem_free()