diff options
author | Benji Dial <benji@benjidial.net> | 2024-01-20 17:59:40 -0500 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-01-20 17:59:40 -0500 |
commit | 7199e74aa22e592a3b77bdd81f735edca5470596 (patch) | |
tree | 66e935372acc5d6e013f764965f2a9d81814f809 /include/hilbert/kernel/paging.hpp | |
parent | 53135e2592c21cb9b2609bf95242aaf1f19233da (diff) | |
download | hilbert-os-7199e74aa22e592a3b77bdd81f735edca5470596.tar.gz |
update
Diffstat (limited to 'include/hilbert/kernel/paging.hpp')
-rw-r--r-- | include/hilbert/kernel/paging.hpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/include/hilbert/kernel/paging.hpp b/include/hilbert/kernel/paging.hpp deleted file mode 100644 index 2cf6f5c..0000000 --- a/include/hilbert/kernel/paging.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef HILBERT_KERNEL_PAGING_HPP -#define HILBERT_KERNEL_PAGING_HPP - -#include <cstdint> - -//in paging.asm -extern "C" [[noreturn]] void switch_to_kernel_p4(void (*and_then_jump_to)()); - -namespace hilbert::kernel::paging { - - void mark_all_pram_used(); - void mark_all_vram_free(); - - void mark_pram_region_free(uint64_t start_addr, uint64_t end_addr); - void mark_vram_region_used(uint64_t start_addr, uint64_t end_addr); - - uint64_t find_unmapped_vram_region(uint64_t page_count); - - uint64_t encode_pte(uint64_t addr, bool user, bool write, bool execute); - - void init_kernel_page_tables(uint64_t kernel_offset); - - uint64_t take_pram_page(); - - void map_kernel_stacks(); - - void map_kernel_page( - uint64_t paddr, uint64_t vaddr, bool write, bool execute); - - void unmap_kernel_page(uint64_t vaddr); - - //maps writable and not executable - void *map_new_kernel_pages(uint64_t count); - - //maps writable and not executable - void map_new_kernel_page(uint64_t &vaddr_out, uint64_t &paddr_out); - - uint64_t get_used_vram_page_count(); - uint64_t get_free_pram_page_count(); - - extern uint64_t kernel_p4e; - -} - -#endif |