NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mem/chMem.h>int dcFillZero(KnLcId lcid, VmOffset start, VmOffset end, VmOffset zeroStart);
PXM_EXT
This system call is strictly reserved for internal use only. It MUST NOT be used by any application.
The dcFillZero function gives write access rights to the nucleus for the range of bytes between start and end. The start and end+1 arguments must be "fragment"-aligned. A fragment is defined as the unit used by the VM to manage access rigths for a segment. The size of a fragment is usually set to 512 bytes but may be implementation-dependent. It also fills with zeros the range of bytes between the startZero and end arguments. The startZero argument has no alignment constraints, however, it must be within the range of bytes defined by the start and the end arguments. The corresponding part of the data cache is marked as modified.
The current implementation is only applicable to trusted supervisor actors.
If successful K_OK is returned, otherwise a negative error code is returned.
At least one of the arguments is not "fragment"-aligned.
The startZero offset is not within the range defined by start, end.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
dcAlloc(2SEG), dcFlush(2SEG), dcFree(2SEG), dcRead(2SEG), dcWrite(2SEG), dcPgNumber(2SEG), dcCluster(2SEG), dcSync(2SEG), dcPxmDeclare(2SEG), rgnMapFromDtCache(2SEG), rgnInitFromDtCache(2SEG), rgnFlush(2SEG)
NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO