22 #ifndef ROOT_PAGE_TABLE_X64_H 23 #define ROOT_PAGE_TABLE_X64_H 259 std::unique_ptr<page_table_x64> m_pt;
261 mutable std::mutex m_mutex;
291 #define g_pt root_pt() virtual void map_2m(integer_pointer virt, integer_pointer phys, attr_type attr)
std::vector< memory_descriptor > memory_descriptor_list
virtual void map_1g(integer_pointer virt, integer_pointer phys, attr_type attr)
void unmap_identity_map_1g(integer_pointer saddr, integer_pointer eaddr)
void setup_identity_map_1g(integer_pointer saddr, integer_pointer eaddr)
constexpr const auto size_bytes
page_table_x64::memory_descriptor_list memory_descriptor_list
constexpr const auto size
void uint64_t uint64_t uint64_t *rdx noexcept
constexpr const auto size_bytes
x64::memory_attr::attr_type attr_type
constexpr const auto size_bytes
virtual void map_4k(integer_pointer virt, integer_pointer phys, attr_type attr)
virtual void unmap(integer_pointer virt) noexcept
memory_descriptor_list pt_to_mdl() const
void unmap_identity_map_2m(integer_pointer saddr, integer_pointer eaddr)
constexpr page_table_x64::integer_pointer virt
void setup_identity_map_4k(integer_pointer saddr, integer_pointer eaddr)
page_table_entry_x64 virt_to_pte(integer_pointer virt) const
uintptr_t integer_pointer
void setup_identity_map_2m(integer_pointer saddr, integer_pointer eaddr)
root_page_table_x64 & operator=(root_page_table_x64 &&)=default
root_page_table_x64(bool is_vmm=false)
void unmap_identity_map_4k(integer_pointer saddr, integer_pointer eaddr)
virtual ~root_page_table_x64()=default
root_page_table_x64 * root_pt() noexcept