summaryrefslogtreecommitdiffstats
path: root/src/core/arm
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-01 11:54:01 +0100
committerGitHub <noreply@github.com>2021-01-01 11:54:01 +0100
commiteb318ffffc5007c35c42826e23945a82c24900b1 (patch)
tree95a401077534f48f0e6a92a269321ff9ad7aec45 /src/core/arm
parentMerge pull request #5239 from FearlessTobi/enable-translation (diff)
parentcore/memory: Read and write page table atomically (diff)
downloadyuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.gz
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.bz2
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.lz
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.xz
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.tar.zst
yuzu-eb318ffffc5007c35c42826e23945a82c24900b1.zip
Diffstat (limited to 'src/core/arm')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_32.cpp1
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.cpp1
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&
config.page_table = reinterpret_cast<std::array<std::uint8_t*, NUM_PAGE_TABLE_ENTRIES>*>(
page_table.pointers.data());
config.absolute_offset_page_table = true;
+ config.page_table_pointer_mask_bits = Common::PageTable::ATTRIBUTE_BITS;
config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128;
config.only_detect_misalignment_via_page_table_on_page_boundary = true;
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&
// Memory
config.page_table = reinterpret_cast<void**>(page_table.pointers.data());
config.page_table_address_space_bits = address_space_bits;
+ config.page_table_pointer_mask_bits = Common::PageTable::ATTRIBUTE_BITS;
config.silently_mirror_page_table = false;
config.absolute_offset_page_table = true;
config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128;