diff options
Diffstat (limited to 'src/common/page_table.h')
| -rw-r--r-- | src/common/page_table.h | 14 |
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 | */ |
| 52 | struct PageTable { | 50 | struct 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); |