diff options
| author | Liam <byteslice@airmail.cc> | 2023-11-17 23:44:53 +0200 |
|---|---|---|
| committer | t895 <clombardo169@gmail.com> | 2023-11-25 00:46:47 -0500 |
| commit | 19619b1b14ce347b09118626efc57f8551f2a5bf (patch) | |
| tree | 3cfe55acf5d2f8a0d75373934b4c22a4e9bb2a09 /src/core/memory.cpp | |
| parent | dee500235583af85400e8b7df418dc37190be85c (diff) | |
arm: Implement native code execution backend
Diffstat (limited to 'src/core/memory.cpp')
| -rw-r--r-- | src/core/memory.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp index 14db64f9d5..e5ca78ef44 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -1001,4 +1001,17 @@ void Memory::FlushRegion(Common::ProcessAddress dest_addr, size_t size) { impl->FlushRegion(dest_addr, size); } +bool Memory::InvalidateNCE(Common::ProcessAddress vaddr, size_t size) { + bool mapped = true; + u8* const ptr = impl->GetPointerImpl( + GetInteger(vaddr), + [&] { + LOG_ERROR(HW_Memory, "Unmapped InvalidateNCE for {} bytes @ {:#x}", size, + GetInteger(vaddr)); + mapped = false; + }, + [&] { impl->system.GPU().InvalidateRegion(GetInteger(vaddr), size); }); + return mapped && ptr != nullptr; +} + } // namespace Core::Memory |
