Comment remap_pfn_range remappe la mémoire du noyau en espace utilisateur?

remap_pfn_range fonction (utilisé dans mmap appel dans le pilote) peut être utilisé pour la carte de mémoire du noyau vers l'espace utilisateur. Comment est-il fait? Quelqu'un peut-il expliquer les étapes précises? En Mode noyau est un mode privilégié (PM), tandis que l'espace utilisateur non privilégié (MNP). En PM PROCESSEUR peut accéder à toute la mémoire, tandis que dans MNP de la mémoire est limitée - ne peut pas être consulté par le CPU. Lorsque remap_pfn_range est appelé, comment est la gamme de la mémoire qui a été limité seulement à H, est maintenant accessible à l'utilisateur de l'espace?

Regardant remap_pfn_range le code est pgprot_t struct. C'est de la protection de la cartographie liée struct. Qu'est-ce que la protection de la cartographie? Est-il la réponse à la question ci-dessus?

source d'informationauteur Kapil Gokhale