MicrOS
paging.h
Go to the documentation of this file.
1 #ifndef PAGING_H
2 #define PAGING_H
3 
4 #define KERNEL_PAGE_DIRECTORY_ADDRESS 0xC0006000
5 #define PAGE_TABLES_ADDRESS 0xC1100000
6 
7 #include <stdint.h>
8 #include <stdbool.h>
9 #include "paging_table_entry.h"
10 #include "cpu/panic/panic_screen.h"
11 
12 void paging_init();
17 void paging_set_page_directory(void *address);
18 
19 void paging_map_page(uint32_t physical_page_index, uint32_t virtual_page_index, bool supervisor);
20 void paging_unmap_page(uint32_t page_index);
23 bool paging_is_page_mapped(uint32_t page_index);
24 
25 #endif
uint32_t paging_get_first_free_page_index(uint32_t from_index)
Definition: paging.c:82
bool paging_is_page_mapped(uint32_t page_index)
Definition: paging.c:103
void paging_init()
Definition: paging.c:6
void paging_set_page_directory(void *address)
Definition: paging.c:40
void paging_remove_identity()
Definition: paging.c:12
Definition: paging_table_entry.h:6
paging_table_entry * paging_get_page_directory()
Definition: paging.c:30
void paging_unmap_page(uint32_t page_index)
Definition: paging.c:76
void paging_add_stack_guard()
Definition: paging.c:21
size_t uint32_t
Unsigned integral type.
Definition: string.h:8
paging_table_entry * paging_get_kernel_page_directory()
Definition: paging.c:35
void paging_map_page(uint32_t physical_page_index, uint32_t virtual_page_index, bool supervisor)
Definition: paging.c:57
uint32_t paging_get_physical_index_of_virtual_page(uint32_t virtual_index)
Definition: paging.c:95