NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mem/chMem.h>int rgnMapFromDtCache(KnCap *actorcap, KnRgnDesc *rgndesc, KnLcId lcid, VmOffset start);
PXM_EXT
This system call is strictly reserved for internal use only. It MUST NOT be used by any application.
The rgnMapFromDtCache call creates a region in the actor address space specified by actorcap, and maps the segment associated with the data cache specified by lcid to it. If actorcap is set to K_MYACTOR, the current actor is used. If actorcap is set to K_SVACTOR, the region is allocated in the supervisor address space and is not attached to any particular supervisor actor.
The rgnDesc pointer points to a KnRgnDesc structure containing the specification for the region to be created as described in rgnAllocate(2K). Note that the K_FILLZERO option will be ignored and that the K_RESERVED flag is prohibited.
The start argument specifies which offset of the segment will be mapped to the first location of the newly created region. Its value must be aligned on a virtual page boundary.
The current implementation is only applicable to trusted supervisor actors.
If successful K_OK is returned, otherwise a negative error code is returned.
Some of the arguments provided are outside the caller's address space. This error will only be returned if the invoker is a user actor.
An inconsistent actor capability was given.
The system is out of resources or some or all of the memory identified by the operation could not be locked when K_NODEMAND and K_NOWAITFORMEMORY were both specified.
Attempted to map a segment outside its valid offset range.
The K_ANYWHERE option was specified and there is insufficient room in the address space to allocate the region. The K_RESTRICTIVE option was specified and there is insufficient room in the target address range. The specified region overlaps an existing region. The K_RESTRICTIVE option was specified and the right boundary is less than the left one.
The start argument is not a multiple of the page size as returned by vmPageSize(2K).
Attempted to allocate a region outside the valid range for the address space of an actor as returned by vmStat(2K)
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO