Просмотр исходного кода

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.
Lioncash 7 лет назад
Родитель
Сommit
ead2a4eeb4
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/core/arm/dynarmic/arm_dynarmic.cpp

+ 2 - 2
src/core/arm/dynarmic/arm_dynarmic.cpp

@@ -304,8 +304,8 @@ bool DynarmicExclusiveMonitor::ExclusiveWrite64(std::size_t core_index, VAddr va
 
 bool DynarmicExclusiveMonitor::ExclusiveWrite128(std::size_t core_index, VAddr vaddr, u128 value) {
     return monitor.DoExclusiveOperation(core_index, vaddr, 16, [&] {
-        Memory::Write64(vaddr, value[0]);
-        Memory::Write64(vaddr, value[1]);
+        Memory::Write64(vaddr + 0, value[0]);
+        Memory::Write64(vaddr + 8, value[1]);
     });
 }