34 #define PAGE_SIZE 4096
35 #define BIOS_RESERVED_BASE 0xa0000
36 #define BIOS_RESERVED_TOP 0x100000
187 int memory_get_used();
188 int memory_get_free();
189 int memory_get_total();
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