summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-09-18 03:54:05 -0400
committerGravatar Lioncash2018-09-18 03:56:32 -0400
commitead2a4eeb4607ba73f0e9993e78f0e575dbfc32c (patch)
treedc8e87c144dc21e271bd790e5b3c79800e4039c0 /src
parentMerge pull request #1311 from FernandoS27/fast-swizzle (diff)
downloadyuzu-ead2a4eeb4607ba73f0e9993e78f0e575dbfc32c.tar.gz
yuzu-ead2a4eeb4607ba73f0e9993e78f0e575dbfc32c.tar.xz
yuzu-ead2a4eeb4607ba73f0e9993e78f0e575dbfc32c.zip
arm_dynarmic: Correct ExclusiveWrite128()'s operation
Previously the second half of the value being written would overwrite the first half. Thankfully this wasn't a bug that was being encountered, as the function is currently unused.
Diffstat (limited to 'src')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index 0c175d872..6db81c014 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -304,8 +304,8 @@ bool DynarmicExclusiveMonitor::ExclusiveWrite64(std::size_t core_index, VAddr va
304 304
305bool DynarmicExclusiveMonitor::ExclusiveWrite128(std::size_t core_index, VAddr vaddr, u128 value) { 305bool DynarmicExclusiveMonitor::ExclusiveWrite128(std::size_t core_index, VAddr vaddr, u128 value) {
306 return monitor.DoExclusiveOperation(core_index, vaddr, 16, [&] { 306 return monitor.DoExclusiveOperation(core_index, vaddr, 16, [&] {
307 Memory::Write64(vaddr, value[0]); 307 Memory::Write64(vaddr + 0, value[0]);
308 Memory::Write64(vaddr, value[1]); 308 Memory::Write64(vaddr + 8, value[1]);
309 }); 309 });
310} 310}
311 311