diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-07-22 17:17:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-22 17:17:36 +0200 |
commit | b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f (patch) | |
tree | 14f41563aac7e5513bad341805afb164f1bf2f4f /src/core/hle/kernel/k_code_memory.cpp | |
parent | Merge pull request #11098 from GPUCode/texel-buffers (diff) | |
parent | kernel: reduce page table region checking (diff) | |
download | yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.tar yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.tar.gz yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.tar.bz2 yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.tar.lz yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.tar.xz yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.tar.zst yuzu-b1aed2c5b79dc8c3ba858e21308312a5dc10dd2f.zip |
Diffstat (limited to 'src/core/hle/kernel/k_code_memory.cpp')
-rw-r--r-- | src/core/hle/kernel/k_code_memory.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/core/hle/kernel/k_code_memory.cpp b/src/core/hle/kernel/k_code_memory.cpp index 3583bee44..7454be55c 100644 --- a/src/core/hle/kernel/k_code_memory.cpp +++ b/src/core/hle/kernel/k_code_memory.cpp @@ -25,7 +25,7 @@ Result KCodeMemory::Initialize(Core::DeviceMemory& device_memory, KProcessAddres m_owner = GetCurrentProcessPointer(m_kernel); // Get the owner page table. - auto& page_table = m_owner->PageTable(); + auto& page_table = m_owner->GetPageTable(); // Construct the page group. m_page_group.emplace(m_kernel, page_table.GetBlockInfoManager()); @@ -53,7 +53,7 @@ void KCodeMemory::Finalize() { // Unlock. if (!m_is_mapped && !m_is_owner_mapped) { const size_t size = m_page_group->GetNumPages() * PageSize; - m_owner->PageTable().UnlockForCodeMemory(m_address, size, *m_page_group); + m_owner->GetPageTable().UnlockForCodeMemory(m_address, size, *m_page_group); } // Close the page group. @@ -75,7 +75,7 @@ Result KCodeMemory::Map(KProcessAddress address, size_t size) { R_UNLESS(!m_is_mapped, ResultInvalidState); // Map the memory. - R_TRY(GetCurrentProcess(m_kernel).PageTable().MapPageGroup( + R_TRY(GetCurrentProcess(m_kernel).GetPageTable().MapPageGroup( address, *m_page_group, KMemoryState::CodeOut, KMemoryPermission::UserReadWrite)); // Mark ourselves as mapped. @@ -92,8 +92,8 @@ Result KCodeMemory::Unmap(KProcessAddress address, size_t size) { KScopedLightLock lk(m_lock); // Unmap the memory. - R_TRY(GetCurrentProcess(m_kernel).PageTable().UnmapPageGroup(address, *m_page_group, - KMemoryState::CodeOut)); + R_TRY(GetCurrentProcess(m_kernel).GetPageTable().UnmapPageGroup(address, *m_page_group, + KMemoryState::CodeOut)); // Mark ourselves as unmapped. m_is_mapped = false; @@ -126,8 +126,8 @@ Result KCodeMemory::MapToOwner(KProcessAddress address, size_t size, Svc::Memory } // Map the memory. - R_TRY(m_owner->PageTable().MapPageGroup(address, *m_page_group, KMemoryState::GeneratedCode, - k_perm)); + R_TRY(m_owner->GetPageTable().MapPageGroup(address, *m_page_group, KMemoryState::GeneratedCode, + k_perm)); // Mark ourselves as mapped. m_is_owner_mapped = true; @@ -143,7 +143,8 @@ Result KCodeMemory::UnmapFromOwner(KProcessAddress address, size_t size) { KScopedLightLock lk(m_lock); // Unmap the memory. - R_TRY(m_owner->PageTable().UnmapPageGroup(address, *m_page_group, KMemoryState::GeneratedCode)); + R_TRY(m_owner->GetPageTable().UnmapPageGroup(address, *m_page_group, + KMemoryState::GeneratedCode)); // Mark ourselves as unmapped. m_is_owner_mapped = false; |