NAME | SYNOPSIS | FEATURES | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mem/chMem.h>int lcFillZero(KnObjDesc *lcdesc, VmFlags flags, unsigned longordernb);
MEM_VM
This system call is strictly reserved for internal use only. It MUST NOT be used by any application.
The lcFillZero call grants write access rights and zero-fills and marks as modified the [lcdesc->startOffset, lcdesc->startOffset + lcdesc->size) range of the local cache specified by the lcdesc->dataObject capability. The KnObjDesc structure is described in lcFlush(2SEG).
The lcdesc->startOffset and lcdesc->size fields must be fragment-aligned. The size of the fragment is implementation-dependent and is usually equal to the virtual page size divided by 8 (number of bits in one byte).
The flags argument must be zero and will be used in future interface extensions. The ordernb argument is ignored.
The lcFillZero operation will never be blocked either by a pure MpGetAccess or by an impure MpPullIn up-call.
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.
An inconsistent local cache capability was provided.
lcdesc->dataObject does not specify a reachable local cache.
lcdesc->startOffset or lcdesc->size is not fragment-aligned.
Tried to fill a segment outside the valid offset range in a segment, as returned by vmStat.
The flags argument contains invalid flag values.
An ipcCall transaction failed during the remote lcFillZero.
The mapper doesn't respect the vm/mapper protocol.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO