Writing Device Drivers

Memory Allocation and Deallocation Functions

Table B-7 Memory Allocation and Deallocation Functions

Function Name 

Description 

kmem_alloc 

allocate kernel memory 

kmem_free 

free kernel memory 

kmem_zalloc 

allocate zero-filled kernel memory 

These functions allocate and free memory intended to be used for DMA. See "Direct Memory Access (DMA) Functions".

Table B-8

Function Name 

Description 

ddi_dma_mem_alloc 

allocate memory for DMA transfer 

ddi_dma_mem_free 

free previously allocated DMA memory 

These functions allocate and free memory intended to be exported to user space. See "User Space Access Functions".

Table B-9

Function Name 

Description 

ddi_umem_alloc 

allocate page-aligned kernel memory 

ddi_umem_free 

free page-aligned kernel memory 

Table B-10 Deprecated Memory Allocation and Deallocation Functions

Deprecated Functions 

Replacement 

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