TacOS
0.2
|
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 |
PDE : Référence l'adresse d'une table de pages. (cf doc intel p125)
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.