diff options
| author | cpplover0 <osdev555@yandex.com> | 2026-03-01 08:06:37 +0300 |
|---|---|---|
| committer | cpplover0 <osdev555@yandex.com> | 2026-03-01 08:06:37 +0300 |
| commit | 564e9b23d5647b16f43dea3f9eaf2008330e70f9 (patch) | |
| tree | 99e2f283bf4ac59db7456d3a234a48000b065dc2 /kernel/src/generic/paging.hpp | |
| parent | 9f0c014b08f33f44eb7134969c0e7ed509e3adfc (diff) | |
orange rewrite
Diffstat (limited to 'kernel/src/generic/paging.hpp')
| -rw-r--r-- | kernel/src/generic/paging.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/kernel/src/generic/paging.hpp b/kernel/src/generic/paging.hpp new file mode 100644 index 0000000..56e88cc --- /dev/null +++ b/kernel/src/generic/paging.hpp @@ -0,0 +1,20 @@ +#pragma once +#include <cstdint> +#include <generic/arch.hpp> +#include <generic/pmm.hpp> +#include <generic/hhdm.hpp> +#include <klibc/string.hpp> +#include <generic/bootloader/bootloader.hpp> +#include <utils/align.hpp> +#include <utils/gobject.hpp> +#include <klibc/stdio.hpp> + +namespace paging { + void map_kernel(std::uintptr_t root); + void mapentry(std::uintptr_t root, std::uint8_t type, std::uint32_t flags); + void map_range(std::uintptr_t root, std::uint64_t phys, std::uintptr_t virt, std::size_t size, int flags); + void zero_range(std::uintptr_t root, std::uintptr_t virt, std::size_t size); + void free_range(std::uintptr_t root, std::uintptr_t virt, std::uintptr_t len); + void duplicate_range(std::uintptr_t root, std::uintptr_t src_root, std::uintptr_t virt, std::uintptr_t len, std::uint32_t flags); + void init(); +}; |
