summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2020-04-02 21:36:26 -0400
committerGravatar bunnei2020-04-17 00:59:29 -0400
commitf1b607829e3b93aed117467c1e119514a61074da (patch)
treea94b2433d1f95364f1a599f94a5b04758cc41fba /src
parentcommon: scope_exit: Implement mechanism for canceling a scope exit. (diff)
downloadyuzu-f1b607829e3b93aed117467c1e119514a61074da.tar.gz
yuzu-f1b607829e3b93aed117467c1e119514a61074da.tar.xz
yuzu-f1b607829e3b93aed117467c1e119514a61074da.zip
dynarmic: Enable strict alignment checks.
- Also add a missing include.
Diffstat (limited to 'src')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
index bcbaac57f..9add5d363 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
@@ -8,6 +8,7 @@
8#include <dynarmic/A64/config.h> 8#include <dynarmic/A64/config.h>
9#include "common/logging/log.h" 9#include "common/logging/log.h"
10#include "common/microprofile.h" 10#include "common/microprofile.h"
11#include "common/page_table.h"
11#include "core/arm/dynarmic/arm_dynarmic_64.h" 12#include "core/arm/dynarmic/arm_dynarmic_64.h"
12#include "core/core.h" 13#include "core/core.h"
13#include "core/core_manager.h" 14#include "core/core_manager.h"
@@ -18,7 +19,6 @@
18#include "core/hle/kernel/process.h" 19#include "core/hle/kernel/process.h"
19#include "core/hle/kernel/scheduler.h" 20#include "core/hle/kernel/scheduler.h"
20#include "core/hle/kernel/svc.h" 21#include "core/hle/kernel/svc.h"
21#include "core/hle/kernel/vm_manager.h"
22#include "core/memory.h" 22#include "core/memory.h"
23 23
24namespace Core { 24namespace Core {
@@ -159,6 +159,9 @@ std::shared_ptr<Dynarmic::A64::Jit> ARM_Dynarmic_64::MakeJit(Common::PageTable&
159 // Unpredictable instructions 159 // Unpredictable instructions
160 config.define_unpredictable_behaviour = true; 160 config.define_unpredictable_behaviour = true;
161 161
162 config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128;
163 config.only_detect_misalignment_via_page_table_on_page_boundary = true;
164
162 return std::make_shared<Dynarmic::A64::Jit>(config); 165 return std::make_shared<Dynarmic::A64::Jit>(config);
163} 166}
164 167