NAME | SYNOPSIS | FEATURES | DESCRIPTION | RESTRICTIONS | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <mem/chMem.h>int dcPxmDeclare(KnExtPxMapper *pxm);
PXM_EXT
This system call is strictly reserved for internal use only. It MUST NOT be used by any application.
The dcPxmDeclare function completes the initalization of the proxy-mapper descriptor pointed to by the pxm argument. This descriptor can be used later within dcAlloc nucleus calls. The proxy-mapper descriptor should have previously been initialized by the invoker. This is done by creating the appropriate laps to fill the following fields of the KnExtPxMapper data structure:
KnLapDesc openLap ; KnLapDesc closeLap ; KnLapDesc getAccLap ; KnLapDesc pullInLap ; KnLapDesc pushOutAsynLap ; KnLapDesc swapOutLap ; KnLapDesc statLap ; |
All local access point descriptors must be valid and remain valid as long as there are data caches managed by a proxy-mapper. As the proxy-mapper descriptor is not copied within the nucleus address space, this descriptor must remain valid and accessible as long as there are data caches managed by a proxy-mapper.
Each of the laps correspond to a possible upcall made by the nucleus to perform actions on the data segments managed by that proxy-mapper. The syntax and semantics of these upcalls are described in the appropriate manual pages.
The swapOutLap may be initialised to 0, usually by means of the lapDescZero nucleus call. This will prevent the nucleus from performing this upcall at swapout time.
The current implementation is only applicable to trusted supervisor actors.
K_OK is always returned.
No error messages are returned.
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