Kernel Functions for Drivers rmfree(9F)
NAME
rmfree - free space back into a resource map
SYNOPSIS
#include
#include
void rmfree(struct map *mp, sizet size, ulongt index);
INTERFACE LEVEL
Architecture independent level 1 (DI/DKI).
PARAMETERS
mp Pointer to the map structure.
size Number of units being freed.
index Index of the first unit of the allocated resource.
DESCRIPTION
The rmfree() function releases space back into a resource
map. It is the opposite of rmalloc(9F), which allocates
space that is controlled by a resource map structure.
When releasing resources using rmfree() the size and index
passed to rmfree() must exactly match the size and index
values passed to and returned from a previous call to rmal-
loc(). Resources cannot be returned piecemeal.
Drivers may define resource maps for resource allocation, in
terms of arbitrary units, using the rmallocmap(9F) function.
The system maintains the resource map structure by size and
index, computed in units appropriate for the resource. For
example, units may be byte addresses, pages of memory, or
blocks. rmfree() frees up unallocated space for re-use.
The rmfree() function can also be used to initialize a
resource map, in which case the size and index should cover
the entire resource area.
CONTEXT
The rmfree() function can be called from user, interrupt, or
kernel context.
SunOS 5.11 Last change: 16 Jan 2006 1
Kernel Functions for Drivers rmfree(9F)
SEE ALSO
rmalloc(9F), rmallocwait(9F), rmallocmap(9F), rmfreemap(9F)
Writing Device Drivers
SunOS 5.11 Last change: 16 Jan 2006 2
|