page_table.cpp 744 B

12345678910111213141516171819202122232425
  1. // Copyright 2019 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include "common/page_table.h"
  5. namespace Common {
  6. PageTable::PageTable() = default;
  7. PageTable::~PageTable() = default;
  8. void PageTable::Resize(std::size_t address_space_width_in_bits, std::size_t page_size_in_bits,
  9. bool has_attribute) {
  10. const std::size_t num_page_table_entries{1ULL
  11. << (address_space_width_in_bits - page_size_in_bits)};
  12. pointers.resize(num_page_table_entries);
  13. backing_addr.resize(num_page_table_entries);
  14. if (has_attribute) {
  15. attributes.resize(num_page_table_entries);
  16. }
  17. }
  18. } // namespace Common