Service de noyau rmmap_getwimg
Objectif
Renvoie des informations wimg sur une plage d'adresses effective particulière dans une adresse effective à une région de conversion d'adresse réelle.
Syntaxe
#include <sys/adspace.h> int rmmap_getwimg(eaddr, npages, results)
unsigned long long eaddr;
unsigned int npages;
char* results;Paramètres
| Article | Descriptif |
|---|---|
| Eaddr | Adresse effective du processus du début de la région de mappage souhaitée. Cette adresse doit pointer quelque part à l'intérieur de la première page de la plage. Cette adresse est interprétée comme une quantité 64 bits si l'espace adresse de l'utilisateur en cours est de 64 bits et est interprétée comme une quantité 32 bits (non remappée) si l'espace adresse de l'utilisateur en cours est de 32 bits. |
| Pages | Nombre de pages dont les informations wimg sont renvoyées, à partir de la page indiquée par Eaddr. |
| results | Il s'agit d'un tableau d'octets, où les informations wimg sont renvoyées. L'adresse de ce paramètre est transmise par l'appelant, et Rmmap_getwimg stocke les informations wimg pour chaque page de la plage dans chaque octet de ce tableau. La taille de ce tableau est indiquée par Pages comme indiqué par l'appelant. L'appelant est responsable de s'assurer que la mémoire allouée à ce tableau est suffisamment grande pour contenir Npage octets. |
Descriptif
Les informations wimg correspondant à la plage d'adresses effective d'entrée sont renvoyées.
Cette routine ne fonctionne que pour les régions précédemment mappées avec un segment de mappage d'E-S créé par Rmmap_create.
Pages ne doit pas être tel que la plage traverse une limite de segment. Si c'est le cas, EINVAL est renvoyé.
Les informations wimg sont renvoyées dans le tableau Résultats . Chaque élément du tableau Résultats est un caractère. Chaque caractère peut être ajouté avec les zones suivantes pour examiner les informations wimg: PAGE_RMMAP_W, RMMAP_PAGE_I, PAGE_RMMAP_M ou PAGE_RMMAP_G. Le tableau est valide si la valeur de retour est 0.
Environnement d'exécution
Le service de noyau Rmmap_getwimg est appelé à partir de l'environnement de processus uniquement.
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| 0 % | L'opération a abouti. Indique que le tableau Résultats est valide et doit être examiné. |
| EINVAL | Une erreur s'est produite. La région n'a probablement pas été mappée via Rmmap_create précédemment. . |
| EINVAL | La plage d'entrée traverse une certaine limite. |
| EINVAL | La plateforme matérielle ne met pas en oeuvre ce service. |
Caractéristiques de mise en oeuvre
Ce service ne fonctionne que sur les microprocesseurs PowerPC.