aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/memory/page_table.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2025-12-02 18:40:10 +0100
committerFelix Morgner <felix.morgner@ost.ch>2025-12-02 18:40:10 +0100
commita96b1b4b43a1ed962b412c3d28db0fe00661d96f (patch)
treeddc7e9dcc9814b07c2ff36d4875a0fe2ae13a665 /arch/x86_64/src/memory/page_table.cpp
parentbe86be1facfce8fe3f376153b9c582f2c5c026aa (diff)
downloadkernel-a96b1b4b43a1ed962b412c3d28db0fe00661d96f.tar.xz
kernel-a96b1b4b43a1ed962b412c3d28db0fe00661d96f.zip
x86_64/memory: extract PML4 injection
Diffstat (limited to 'arch/x86_64/src/memory/page_table.cpp')
-rw-r--r--arch/x86_64/src/memory/page_table.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86_64/src/memory/page_table.cpp b/arch/x86_64/src/memory/page_table.cpp
index 1273676..60bf94d 100644
--- a/arch/x86_64/src/memory/page_table.cpp
+++ b/arch/x86_64/src/memory/page_table.cpp
@@ -54,4 +54,10 @@ namespace teachos::memory::x86_64
std::ranges::for_each(m_entries, &page_table::entry::clear);
}
+ auto page_table::empty() const noexcept -> bool
+ {
+ return std::ranges::all_of(m_entries,
+ [](auto const & entry) -> auto { return entry.all_flags() == entry::flags::empty; });
+ }
+
} // namespace teachos::memory::x86_64