#include <sys/map.h> #include <sys/ddi.h>void rmfree(struct map *mp, size_t size, ulong_t index);
Architecture independent level 1 (DDI/DKI).
Pointer to the map structure.
Number of units being freed.
Index of the first unit of the allocated resource.
rmfree() 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.
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.
rmfree() can be called from user or interrupt context.