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