diff options
author | GPUCode <geoster3d@gmail.com> | 2023-11-23 10:26:06 +0100 |
---|---|---|
committer | t895 <clombardo169@gmail.com> | 2023-11-25 06:47:43 +0100 |
commit | 9ff8d0f3e652fee83d9f4374d9f6e0aa1759dd88 (patch) | |
tree | d3bf69c51eab1e4c56db1615ecf5193aa76badcc /src/core/hle/kernel | |
parent | loader: apply nso patch to offset program image (diff) | |
download | yuzu-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.cpp | 11 |
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: |