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

#include <bit>
#include <cstdint>

namespace arch::memory
{

  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 arch::memory