From 5a0a5d9ff13f41024568a17ffc59d1d1f04f2ece Mon Sep 17 00:00:00 2001 From: Elad Ashkenazi Date: Thu, 1 Sep 2022 18:23:18 +0300 Subject: [PATCH] vm.cpp: Fix emulation stopping on SPU access violation (#12586) --- rpcs3/Emu/Memory/vm.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/Memory/vm.cpp b/rpcs3/Emu/Memory/vm.cpp index 0c6cbae8a9..22b150128f 100644 --- a/rpcs3/Emu/Memory/vm.cpp +++ b/rpcs3/Emu/Memory/vm.cpp @@ -1,4 +1,4 @@ -#include "stdafx.h" +#include "stdafx.h" #include "vm_locking.h" #include "vm_ptr.h" #include "vm_ref.h" @@ -200,7 +200,7 @@ namespace vm break; } - u32 test = 0; + u32 test = umax; for (u32 i = begin / 4096, max = (begin + size - 1) / 4096; i <= max; i++) { @@ -211,13 +211,13 @@ namespace vm } } - if (test) + if (test != umax) { range_lock->release(0); // Try triggering a page fault (write) // TODO: Read memory if needed - vm::_ref>(test) += 0; + vm::_ref>(test / 4096 == begin / 4096 ? begin : test) += 0; continue; } }