aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src/memory/paging_root.cpp
blob: d849a823bc02c4aff9c522a6c919b36af8bf531b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "x86_64/memory/paging_root.hpp"

#include <bit>
#include <cstdint>

namespace teachos::memory::x86_64
{

  namespace
  {
    constexpr auto recursive_base = std::uintptr_t{0177777'776'776'776'776'0000uz};
  }  // namespace

  auto paging_root::get() -> paging_root *
  {
    return std::bit_cast<paging_root *>(recursive_base);
  }

}  // namespace teachos::memory::x86_64