Service de noyau unpin

Objectif

Déplace la plage d'adresses dans l'espace adresse du système (noyau).

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/pin.h>
int unpin ( addr,  length)
caddr addr;
int length;

Paramètres

Article Descriptif
ADDR Indique l'adresse du premier octet à débloquer dans l'espace adresse du système (noyau).
Length Indique le nombre d'octets à débloquer.

Descriptif

Le service de noyau épinglette réduit le nombre d'épingles de chaque page de la plage d'adresses. Lorsque le nombre d'épingles est égal à 0, la page n'est pas réservée et peut être mise à l'écart de la mémoire réelle. Lors de la recherche d'une page non réservée, le service épinglette renvoie le code d'erreur EINVAL et laisse encore les pages réservées restantes.

Le service épinglette peut uniquement être appelé avec des adresses dans l'espace adresse du système (noyau). Le service Broche xmemunpin doit être utilisé lorsque l'espace adresse peut se trouver dans l'espace utilisateur ou le noyau.

Environnement d'exécution

Le service de noyau épinglette peut être appelé à partir de l'environnement Processus ou Interruption .

Valeurs renvoyées

Article Descriptif
0 % Indique que l'exécution a réussi.
EINVAL Indique que la valeur du paramètre Longueur est négative ou 0. Sinon, la zone de mémoire commençant à l'octet spécifié par le paramètre Base et s'étendant pour le nombre d'octets spécifié par le paramètre Len n'est pas définie. Si aucune cause n'est responsable, une page non réservée a été spécifiée.