TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
memory.h
Aller à la documentation de ce fichier.
1 
29 #ifndef _MEMPAGE_H_
30 #define _MEMPAGE_H_
31 
32 #include <types.h>
33 
34 #define PAGE_SIZE 4096
35 #define BIOS_RESERVED_BASE 0xa0000
36 #define BIOS_RESERVED_TOP 0x100000
37 
48  /* Cet élément fera parti d'un liste doublement chainée (page utilisée ou libre) */
51 };
52 
59 void memory_print();
60 
67 
74 
84 void memory_setup(size_t ram_size);
85 
95 
107 
118 
129 
139 bool memory_has_next_page(struct physical_page_descr * iterator);
140 
152 paddr_t memory_next_page(struct physical_page_descr ** iterator);
153 
165 
177 
186 
187 int memory_get_used();
188 int memory_get_free();
189 int memory_get_total();
190 
191 #endif
bool memory_has_next_page(struct physical_page_descr *iterator)
Retourne vrai s'il y a encore un cadre de page qui suit.
Definition: memory.c:130
void memory_print()
Affiche la mémoire physique.
Definition: memory.c:104
void memory_setup(size_t ram_size)
Découpage de la mémoire physique en cadres de page.
Definition: memory.c:149
paddr_t memory_align_page_inf(paddr_t value)
Adresse du cadre de page en arrondissant à l'inférieur.
Definition: memory.c:41
paddr_t memory_align_page_sup(paddr_t value)
Adresse du cadre de page en arrondissant au supérieur.
Definition: memory.c:45
paddr_t memory_reserve_page_frame()
Réserve un cadre de page.
Definition: memory.c:197
void memory_print_used_pages()
Affiche la liste des cadres utilisés.
Definition: memory.c:49
struct physical_page_descr * next
Definition: memory.h:49
struct physical_page_descr * memory_get_first_free_page()
Donne une copie du pointeur du premier descripteur de cadre de page libres.
Definition: memory.c:126
struct physical_page_descr * memory_get_first_used_page()
Donne une copie du pointeur du premier descripteur de cadre de page utilisés.
Definition: memory.c:122
Descripteur de page physique.
Definition: memory.h:45
paddr_t memory_next_page(struct physical_page_descr **iterator)
Retourne le prochain cadre de page.
Definition: memory.c:134
paddr_t memory_get_kernel_top()
Definition: memory.c:249
paddr_t addr
Definition: memory.h:46
int memory_free_page_frame(paddr_t addr)
Libère un cadre de page.
Definition: memory.c:215
uint32_t paddr_t
Definition: types.h:52
struct physical_page_descr * prev
Definition: memory.h:50
void memory_print_free_pages()
Affiche la liste des cadres libres.
Definition: memory.c:64