summaryrefslogtreecommitdiff
path: root/src/common/page_table.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/page_table.h')
-rw-r--r--src/common/page_table.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/common/page_table.h b/src/common/page_table.h
index cf5eed780..9754fabf9 100644
--- a/src/common/page_table.h
+++ b/src/common/page_table.h
@@ -4,9 +4,7 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <vector> 7#include <tuple>
8
9#include <boost/icl/interval_map.hpp>
10 8
11#include "common/common_types.h" 9#include "common/common_types.h"
12#include "common/memory_hook.h" 10#include "common/memory_hook.h"
@@ -51,13 +49,21 @@ struct SpecialRegion {
51 */ 49 */
52struct PageTable { 50struct PageTable {
53 PageTable(); 51 PageTable();
54 ~PageTable(); 52 ~PageTable() noexcept;
53
54 PageTable(const PageTable&) = delete;
55 PageTable& operator=(const PageTable&) = delete;
56
57 PageTable(PageTable&&) noexcept = default;
58 PageTable& operator=(PageTable&&) noexcept = default;
55 59
56 /** 60 /**
57 * Resizes the page table to be able to accomodate enough pages within 61 * Resizes the page table to be able to accomodate enough pages within
58 * a given address space. 62 * a given address space.
59 * 63 *
60 * @param address_space_width_in_bits The address size width in bits. 64 * @param address_space_width_in_bits The address size width in bits.
65 * @param page_size_in_bits The page size in bits.
66 * @param has_attribute Whether or not this page has any backing attributes.
61 */ 67 */
62 void Resize(std::size_t address_space_width_in_bits, std::size_t page_size_in_bits, 68 void Resize(std::size_t address_space_width_in_bits, std::size_t page_size_in_bits,
63 bool has_attribute); 69 bool has_attribute);