mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-10-16 03:57:50 +00:00
core: arm: Implement InvalidateCacheRange for CPU cache invalidation.
This commit is contained in:
parent
5114c6f3ac
commit
a5b73195c9
12 changed files with 56 additions and 16 deletions
|
@ -670,6 +670,11 @@ ResultCode PageTable::SetCodeMemoryPermission(VAddr addr, std::size_t size, Memo
|
|||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
if ((prev_perm & MemoryPermission::Execute) != (perm & MemoryPermission::Execute)) {
|
||||
// Memory execution state is changing, invalidate CPU cache range
|
||||
system.InvalidateCpuInstructionCacheRange(addr, size);
|
||||
}
|
||||
|
||||
const std::size_t num_pages{size / PageSize};
|
||||
const OperationType operation{(perm & MemoryPermission::Execute) != MemoryPermission::None
|
||||
? OperationType::ChangePermissionsAndRefresh
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue