summaryrefslogtreecommitdiff
path: root/src/common/page_table.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2021-01-01 02:54:01 -0800
committerGravatar GitHub2021-01-01 02:54:01 -0800
commiteb318ffffc5007c35c42826e23945a82c24900b1 (patch)
tree95a401077534f48f0e6a92a269321ff9ad7aec45 /src/common/page_table.cpp
parentMerge pull request #5239 from FearlessTobi/enable-translation (diff)
parentcore/memory: Read and write page table atomically (diff)
downloadyuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.gz
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.xz
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.zip
Merge pull request #5249 from ReinUsesLisp/lock-free-pages
core/memory: Read and write page table atomically
Diffstat (limited to 'src/common/page_table.cpp')
-rw-r--r--src/common/page_table.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/common/page_table.cpp b/src/common/page_table.cpp
index bccea0894..8fd8620fd 100644
--- a/src/common/page_table.cpp
+++ b/src/common/page_table.cpp
@@ -10,16 +10,10 @@ PageTable::PageTable() = default;
10 10
11PageTable::~PageTable() noexcept = default; 11PageTable::~PageTable() noexcept = default;
12 12
13void PageTable::Resize(std::size_t address_space_width_in_bits, std::size_t page_size_in_bits, 13void PageTable::Resize(size_t address_space_width_in_bits, size_t page_size_in_bits) {
14 bool has_attribute) { 14 const size_t num_page_table_entries{1ULL << (address_space_width_in_bits - page_size_in_bits)};
15 const std::size_t num_page_table_entries{1ULL
16 << (address_space_width_in_bits - page_size_in_bits)};
17 pointers.resize(num_page_table_entries); 15 pointers.resize(num_page_table_entries);
18 backing_addr.resize(num_page_table_entries); 16 backing_addr.resize(num_page_table_entries);
19
20 if (has_attribute) {
21 attributes.resize(num_page_table_entries);
22 }
23} 17}
24 18
25} // namespace Common 19} // namespace Common