22 #ifndef PAGE_TABLE_ENTRY_X64_H 23 #define PAGE_TABLE_ENTRY_X64_H 38 constexpr
const auto num_bytes = num_entries *
sizeof(uintptr_t);
41 {
return (virt & ((0x1FFULL) << from)) >>
from; }
45 constexpr
const auto from = 39U;
46 constexpr
const auto size = 9U;
52 constexpr
const auto from = 30U;
53 constexpr
const auto size = 9U;
59 constexpr
const auto from = 21U;
60 constexpr
const auto size = 9U;
66 constexpr
const auto from = 12U;
67 constexpr
const auto size = 9U;
128 bool rw() const noexcept;
137 void set_rw(
bool enabled) noexcept;
146 bool us() const noexcept;
156 void set_us(
bool enabled) noexcept;
165 bool pwt() const noexcept;
174 void set_pwt(
bool enabled) noexcept;
183 bool pcd() const noexcept;
193 void set_pcd(
bool enabled) noexcept;
221 bool dirty() const noexcept;
239 bool ps() const noexcept;
249 void set_ps(
bool enabled) noexcept;
258 bool pat_4k() const noexcept;
296 bool global() const noexcept;
332 bool nx() const noexcept;
341 void set_nx(
bool enabled) noexcept;
384 void clear() noexcept;
uintptr_t integer_pointer
~page_table_entry_x64()=default
bool pwt() const noexcept
void set_pat_index_4k(pat_index_type index)
void set_nx(bool enabled) noexcept
constexpr const auto num_entries
constexpr const auto size
page_table_entry_x64(gsl::not_null< pointer > pte) noexcept
void set_us(bool enabled) noexcept
void set_dirty(bool enabled) noexcept
void set_pat_large(bool enabled) noexcept
constexpr const auto from
void set_pcd(bool enabled) noexcept
bool pat_4k() const noexcept
void set_pat_4k(bool enabled) noexcept
bool present() const noexcept
void set_phys_addr(integer_pointer addr) noexcept
constexpr const auto size
constexpr const auto size_bytes
constexpr const auto size
constexpr const auto size_bytes
void set_present(bool enabled) noexcept
bool pcd() const noexcept
bool dirty() const noexcept
constexpr const auto size
void uint64_t uint64_t uint64_t *rdx noexcept
constexpr const auto size_bytes
void set_global(bool enabled) noexcept
constexpr const auto size_bytes
constexpr const auto from
auto index(const T virt, const F from)
constexpr const auto addr
void set_accessed(bool enabled) noexcept
constexpr const auto num_bytes
constexpr page_table_x64::integer_pointer virt
bool pat_large() const noexcept
pat_index_type pat_index_large() const noexcept
void set_rw(bool enabled) noexcept
bool accessed() const noexcept
pat_index_type pat_index_4k() const noexcept
constexpr const auto from
void set_pat_index_large(pat_index_type index)
void set_pwt(bool enabled) noexcept
integer_pointer phys_addr() const noexcept
constexpr const auto from
void set_ps(bool enabled) noexcept
bool global() const noexcept