rmallocmap(D3)rmallocmap(D3)NAMErmallocmap - allocate and initialize a private space management map
SYNOPSIS
#include <sys/types.h>
#include <sys/map.h>
#include <sys/ddi.h>
struct map *rmallocmap(ulong_t mapsize);
Arguments
mapsize Number of entries for the map.
DESCRIPTIONrmallocmap allocates and initializes a private map array that can be used
for the allocation of space.
Return Values
On success, rmallocmap returns a pointer to the newly allocated map. On
failure, a NULL pointer is returned.
USAGE
Although rmallocmap allocates and initializes the map array itself, it
does not allocate the space that the map will manage. This space must be
allocated separately and must be added to the map using rmfree(D3) prior
to attempting to allocate space from the map using rmalloc(D3) or
rmalloc_wait(D3).
The system maintains the map list structure by size and index. The
caller places whatever semantics on the units of size are appropriate for
the type of space being managed. For example, units may be byte
addresses, pages of memory, or blocks.
On systems where the rmallocmap function is available, DDI/DKI conforming
drivers may only use map structures which have been allocated and
initialized using rmallocmap. Use of map structures which have been
obtained by any other means is prohibited on such systems.
Level
Initialization, Base or Interrupt.
Synchronization Constraints
Does not sleep.
Driver-defined basic locks, read/write locks, and sleep locks may be held
across calls to this function.
REFERENCESrmalloc(D3), rmalloc_wait(D3), rmfree(D3), rmfreemap(D3)
Page 1