#include <IOKit/IOMapper.h>
IOKit/IOMapper.h
functionIOMapperIOVMAlloc
ppnum_t IOMapperIOVMAlloc(unsigned pages)
These are C accessors to the system mapper for non-IOKit clients
functionIOMapperIOVMFree
void IOMapperIOVMFree(ppnum_t addr, unsigned pages)
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu iokit/Kernel/IOMapper.cpp
Releases a mapping in the system DMA mapper's I/O virtual address space: unmaps pages pages starting at I/O page number addr via IOMapper::gSystem->iovmUnmapMemory. Does nothing when no system mapper exists. Legacy interface paired with IOMapperIOVMAlloc; new code uses IODMACommand.
functionIOMapperInsertPage
ppnum_t IOMapperInsertPage(ppnum_t addr, unsigned offset, ppnum_t page)
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu iokit/Kernel/IOMapper.cpp
Enters a single physical page into the system DMA mapper's I/O address space at page offset offset within an allocation beginning at I/O page number addr, with read/write access. Returns the resulting I/O page number, addr + offset. When no system mapper exists the physical page number is returned unchanged; panics if addr is zero while a mapper is present. Legacy interface; new code uses IODMACommand.
variablegIOMapperIDKey
extern const OSSymbol * gIOMapperIDKey