diff options
| author | 2021-01-01 02:54:01 -0800 | |
|---|---|---|
| committer | 2021-01-01 02:54:01 -0800 | |
| commit | eb318ffffc5007c35c42826e23945a82c24900b1 (patch) | |
| tree | 95a401077534f48f0e6a92a269321ff9ad7aec45 /src/core/arm | |
| parent | Merge pull request #5239 from FearlessTobi/enable-translation (diff) | |
| parent | core/memory: Read and write page table atomically (diff) | |
| download | yuzu-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/core/arm')
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 1 | ||||
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_64.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index e9c74b1a6..8aaf11eee 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp | |||
| @@ -133,6 +133,7 @@ std::shared_ptr<Dynarmic::A32::Jit> ARM_Dynarmic_32::MakeJit(Common::PageTable& | |||
| 133 | config.page_table = reinterpret_cast<std::array<std::uint8_t*, NUM_PAGE_TABLE_ENTRIES>*>( | 133 | config.page_table = reinterpret_cast<std::array<std::uint8_t*, NUM_PAGE_TABLE_ENTRIES>*>( |
| 134 | page_table.pointers.data()); | 134 | page_table.pointers.data()); |
| 135 | config.absolute_offset_page_table = true; | 135 | config.absolute_offset_page_table = true; |
| 136 | config.page_table_pointer_mask_bits = Common::PageTable::ATTRIBUTE_BITS; | ||
| 136 | config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128; | 137 | config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128; |
| 137 | config.only_detect_misalignment_via_page_table_on_page_boundary = true; | 138 | config.only_detect_misalignment_via_page_table_on_page_boundary = true; |
| 138 | 139 | ||
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 7a4eb88a2..d2e1dc724 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp | |||
| @@ -152,6 +152,7 @@ std::shared_ptr<Dynarmic::A64::Jit> ARM_Dynarmic_64::MakeJit(Common::PageTable& | |||
| 152 | // Memory | 152 | // Memory |
| 153 | config.page_table = reinterpret_cast<void**>(page_table.pointers.data()); | 153 | config.page_table = reinterpret_cast<void**>(page_table.pointers.data()); |
| 154 | config.page_table_address_space_bits = address_space_bits; | 154 | config.page_table_address_space_bits = address_space_bits; |
| 155 | config.page_table_pointer_mask_bits = Common::PageTable::ATTRIBUTE_BITS; | ||
| 155 | config.silently_mirror_page_table = false; | 156 | config.silently_mirror_page_table = false; |
| 156 | config.absolute_offset_page_table = true; | 157 | config.absolute_offset_page_table = true; |
| 157 | config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128; | 158 | config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128; |