NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mem/chMem.h>int lcOpen(KnCap * sgcap, VmFlags flags, int * cachelip);
MEM_VM
This system call is strictly reserved for internal use only. It MUST NOT be used by any application.
The lcOpen call allows the caller to force the kernel to use the same local cache object for the segment specified until a subsequent lcClose call is received.
The sgcap argument is a pointer to the target segment capablity. The flags argument must be zero. This argument will be used in future extensions of the interface.
The lcOpen call returns into the variable pointed to by the cachelip argument, a local id of the local cache object corresponding to the target segment. The caller can then use the local id in a number of subsequent lcRead, lcWrite (see lcRead(2SEG)) and lcCap (see below) calls. The local id must be released using the lcClose call and should not be used any more.
The lcCap call finds the local cache object specified by its local id ( cacheli argument) and returns the local cache capability in the variable pointed to by the lccap argument.
The current implementation is only applicable to trusted supervisor actors. An attempt to pass an invalid local id may produce unpredictable system behavior.
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.
The system is out of resources.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
vmStat(2K) , MpGetAccess(2SEG) , MpPullIn(2SEG) , rgnMap(2SEG) , lcFlush(2SEG) , lcFillZero(2SEG) , lcTrunc(2SEG)
NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO