aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
authorFabian Imhof <fabian.imhof@ost.ch>2024-10-29 07:32:24 +0000
committerFabian Imhof <fabian.imhof@ost.ch>2024-10-29 07:32:24 +0000
commit4c4479a4b728fd7eaf007649e946f9435ee1e402 (patch)
treeb30c7da674a9671d75fff13575928480418feb8f /arch/x86_64/src
parent0d16592c8dce876d8e621c73dea41c33339f3173 (diff)
downloadteachos-4c4479a4b728fd7eaf007649e946f9435ee1e402.tar.xz
teachos-4c4479a4b728fd7eaf007649e946f9435ee1e402.zip
implement page_table unmapping
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/memory/paging/page_table.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86_64/src/memory/paging/page_table.cpp b/arch/x86_64/src/memory/paging/page_table.cpp
index 64a4fd9..0121e95 100644
--- a/arch/x86_64/src/memory/paging/page_table.cpp
+++ b/arch/x86_64/src/memory/paging/page_table.cpp
@@ -92,7 +92,8 @@ namespace teachos::arch::memory::paging
: handle(handle)
, handle_level(handle_level)
{
- exception_handling::assert(handle, "[Page Table] Attempted to pass nullptr as handle to page table handle method");
+ exception_handling::assert(handle != nullptr,
+ "[Page Table] Attempted to pass nullptr as handle to page table handle method");
}
auto page_table_handle::initialize_page_tables() -> void
@@ -133,6 +134,8 @@ namespace teachos::arch::memory::paging
return std::nullopt;
}
+ auto page_table_handle::get_level() const -> page_table_handle::level { return handle_level; }
+
auto page_table_handle::operator[](std::size_t index) -> entry & { return handle->operator[](index); }
auto operator--(page_table_handle::level & value) -> page_table_handle::level &