1
0
Fork 0
forked from suyu/suyu

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.
This commit is contained in:
Lioncash 2018-09-18 03:54:05 -04:00
parent a94b623dfb
commit ead2a4eeb4

View file

@ -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) { bool DynarmicExclusiveMonitor::ExclusiveWrite128(std::size_t core_index, VAddr vaddr, u128 value) {
return monitor.DoExclusiveOperation(core_index, vaddr, 16, [&] { return monitor.DoExclusiveOperation(core_index, vaddr, 16, [&] {
Memory::Write64(vaddr, value[0]); Memory::Write64(vaddr + 0, value[0]);
Memory::Write64(vaddr, value[1]); Memory::Write64(vaddr + 8, value[1]);
}); });
} }