TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
pagination.h
Aller à la documentation de ce fichier.
1 
30 #ifndef _PAGINATION_H_
31 #define _PAGINATION_H_
32 
33 #include <types.h>
34 
38 #define _PAGINATION_KERNEL_TOP 0x40000000
39 
52  uint32_t a:1;
57 } __attribute__ ((packed));
58 
71  uint32_t a:1;
72  uint32_t d:1;
74  uint32_t g:1;
77 } __attribute__ ((packed));
78 
79 
86 void pagination_setup();
87 
96 void pagination_init_page_directory_copy_kernel_only(struct page_directory_entry *pd, paddr_t pd_paddr);
97 
98 static inline void pagination_load_page_directory(struct page_directory_entry * pd) __attribute__((always_inline));
99 
100 /*
101  * Chargement d'un page directory
102  */
103 static inline void pagination_load_page_directory(struct page_directory_entry * pd) {
104  // On place le rep dans le registre cr3
105  asm volatile("mov %0, %%cr3":: "b"(pd));
106 }
107 
108 void pagination_load_page_directory(struct page_directory_entry * pd);
109 
110 vaddr_t get_page_table_vaddr(int index_page);
111 
112 #endif
Page Directory Entry.
Definition: pagination.h:46
void pagination_init_page_directory(struct page_directory_entry *pd)
Initialise un repertoire de page.
Definition: pagination.c:136
uint32_t d
Definition: pagination.h:72
uint32_t ps
Definition: pagination.h:54
uint32_t ign1
Definition: pagination.h:53
uint32_t pwt
Definition: pagination.h:69
uint32_t r_w
Definition: pagination.h:48
uint32_t g
Definition: pagination.h:74
uint32_t ignored
Definition: pagination.h:75
uint32_t present
Definition: pagination.h:66
vaddr_t get_page_table_vaddr(int index_page)
Definition: pagination.c:188
uint32_t a
Definition: pagination.h:71
uint32_t u_s
Definition: pagination.h:68
uint32_t pcd
Definition: pagination.h:51
uint32_t page_table_addr
Definition: pagination.h:56
void pagination_setup()
Activation de la pagination et initialisation.
Definition: pagination.c:100
uint32_t paddr_t
Definition: types.h:52
uint32_t pat
Definition: pagination.h:73
uint32_t vaddr_t
Definition: types.h:38
uint32_t ign2
Definition: pagination.h:55
uint32_t r_w
Definition: pagination.h:67
uint32_t u_s
Definition: pagination.h:49
uint32_t pwt
Definition: pagination.h:50
unsigned long int uint32_t
Definition: types.h:36
uint32_t pcd
Definition: pagination.h:70
Page Table Entry.
Definition: pagination.h:65
uint32_t present
Definition: pagination.h:47
uint32_t a
Definition: pagination.h:52
uint32_t page_addr
Definition: pagination.h:76