summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGPUCode <geoster3d@gmail.com>2023-11-23 10:26:06 +0100
committert895 <clombardo169@gmail.com>2023-11-25 06:47:43 +0100
commit9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88 (patch)
treed3bf69c51eab1e4c56db1615ecf5193aa76badcc /src/core/hle/kernel
parentloader: apply nso patch to offset program image (diff)
downloadyuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.tar
yuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.tar.gz
yuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.tar.bz2
yuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.tar.lz
yuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.tar.xz
yuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.tar.zst
yuzu-9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88.zip
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/k_page_table_base.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/core/hle/kernel/k_page_table_base.cpp b/src/core/hle/kernel/k_page_table_base.cpp
index 2b5e77ccf..6691586ed 100644
--- a/src/core/hle/kernel/k_page_table_base.cpp
+++ b/src/core/hle/kernel/k_page_table_base.cpp
@@ -5678,15 +5678,8 @@ Result KPageTableBase::Operate(PageLinkedList* page_list, KProcessAddress virt_a
case OperationType::ChangePermissions:
case OperationType::ChangePermissionsAndRefresh:
case OperationType::ChangePermissionsAndRefreshAndFlush: {
- const bool read = True(properties.perm & Kernel::KMemoryPermission::UserRead);
- const bool write = True(properties.perm & Kernel::KMemoryPermission::UserWrite);
- // todo: this doesn't really belong here and should go into m_memory to handle rasterizer
- // access todo: ignore exec on non-direct-mapped case
- const bool exec = True(properties.perm & Kernel::KMemoryPermission::UserExecute);
- if (Settings::IsFastmemEnabled()) {
- m_system.DeviceMemory().buffer.Protect(GetInteger(virt_addr), num_pages * PageSize,
- read, write, exec);
- }
+ m_memory->ProtectRegion(*m_impl, virt_addr, num_pages * PageSize,
+ ConvertToMemoryPermission(properties.perm));
R_SUCCEED();
}
default: