TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Champs de données
Référence de la structure page_directory_entry

Page Directory Entry. Plus de détails...

#include <pagination.h>

Champs de données

uint32_t present:1
 
uint32_t r_w:1
 
uint32_t u_s:1
 
uint32_t pwt:1
 
uint32_t pcd:1
 
uint32_t a:1
 
uint32_t ign1:1
 
uint32_t ps:1
 
uint32_t ign2:4
 
uint32_t page_table_addr:20
 

Description détaillée

PDE : Référence l'adresse d'une table de pages. (cf doc intel p125)

Documentation des champs

uint32_t page_directory_entry::a

Accessed : indique si un soft a accedé à la table de pages référencée par cette entrée

uint32_t page_directory_entry::ign1

ignoré

uint32_t page_directory_entry::ign2

ignoré

uint32_t page_directory_entry::page_table_addr

adresse de la table de page (alignée sur 4kio donc que les 20 bits de poids fort)

uint32_t page_directory_entry::pcd

Page-level cache disable, voir section 4.9 de la doc intel

uint32_t page_directory_entry::present

doit être à 1 pour référencer une table de pages

uint32_t page_directory_entry::ps

Page size : doit être à 0 sinon c'est qu'on map une page de 4Mio

uint32_t page_directory_entry::pwt

Page-level write-through ?? voir section 4.9 de la doc intel

uint32_t page_directory_entry::r_w

0 writes non autorisés sur la table de page référencée par cette entrée (dépend de CPL et CR0.WP)

uint32_t page_directory_entry::u_s

User/supervisor. Si 0 alors accès avec CPL=3 non autorisés à la table de page référencée par cette entrée.


La documentation de cette structure a été générée à partir du fichier suivant :