diff options
| author | 2022-01-08 23:07:07 -0800 | |
|---|---|---|
| committer | 2022-01-11 16:28:11 -0800 | |
| commit | 081669c3349812eb308be03107541377ac2dbc11 (patch) | |
| tree | ab022caa12d1989872a2f43ebcb45f9fe1081135 | |
| parent | Merge pull request #7684 from bunnei/set-mem-perm-attr (diff) | |
| download | yuzu-081669c3349812eb308be03107541377ac2dbc11.tar.gz yuzu-081669c3349812eb308be03107541377ac2dbc11.tar.xz yuzu-081669c3349812eb308be03107541377ac2dbc11.zip | |
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/kernel/k_page_table.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_page_table.h | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/ldr/ldr.cpp | 27 |
4 files changed, 19 insertions, 20 deletions
diff --git a/src/core/hle/kernel/k_page_table.cpp b/src/core/hle/kernel/k_page_table.cpp index 6077985b5..9be9f5e2b 100644 --- a/src/core/hle/kernel/k_page_table.cpp +++ b/src/core/hle/kernel/k_page_table.cpp | |||
| @@ -298,7 +298,7 @@ ResultCode KPageTable::MapProcessCode(VAddr addr, std::size_t num_pages, KMemory | |||
| 298 | return ResultSuccess; | 298 | return ResultSuccess; |
| 299 | } | 299 | } |
| 300 | 300 | ||
| 301 | ResultCode KPageTable::MapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size) { | 301 | ResultCode KPageTable::MapCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size) { |
| 302 | std::lock_guard lock{page_table_lock}; | 302 | std::lock_guard lock{page_table_lock}; |
| 303 | 303 | ||
| 304 | const std::size_t num_pages{size / PageSize}; | 304 | const std::size_t num_pages{size / PageSize}; |
| @@ -335,7 +335,7 @@ ResultCode KPageTable::MapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std: | |||
| 335 | return ResultSuccess; | 335 | return ResultSuccess; |
| 336 | } | 336 | } |
| 337 | 337 | ||
| 338 | ResultCode KPageTable::UnmapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size) { | 338 | ResultCode KPageTable::UnmapCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size) { |
| 339 | std::lock_guard lock{page_table_lock}; | 339 | std::lock_guard lock{page_table_lock}; |
| 340 | 340 | ||
| 341 | if (!size) { | 341 | if (!size) { |
diff --git a/src/core/hle/kernel/k_page_table.h b/src/core/hle/kernel/k_page_table.h index 9235b822a..a596bf381 100644 --- a/src/core/hle/kernel/k_page_table.h +++ b/src/core/hle/kernel/k_page_table.h | |||
| @@ -31,8 +31,8 @@ public: | |||
| 31 | KMemoryManager::Pool pool); | 31 | KMemoryManager::Pool pool); |
| 32 | ResultCode MapProcessCode(VAddr addr, std::size_t pages_count, KMemoryState state, | 32 | ResultCode MapProcessCode(VAddr addr, std::size_t pages_count, KMemoryState state, |
| 33 | KMemoryPermission perm); | 33 | KMemoryPermission perm); |
| 34 | ResultCode MapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size); | 34 | ResultCode MapCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size); |
| 35 | ResultCode UnmapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size); | 35 | ResultCode UnmapCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size); |
| 36 | ResultCode UnmapProcessMemory(VAddr dst_addr, std::size_t size, KPageTable& src_page_table, | 36 | ResultCode UnmapProcessMemory(VAddr dst_addr, std::size_t size, KPageTable& src_page_table, |
| 37 | VAddr src_addr); | 37 | VAddr src_addr); |
| 38 | ResultCode MapPhysicalMemory(VAddr addr, std::size_t size); | 38 | ResultCode MapPhysicalMemory(VAddr addr, std::size_t size); |
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 4362508a3..55ce0236f 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -1626,7 +1626,7 @@ static ResultCode MapProcessCodeMemory(Core::System& system, Handle process_hand | |||
| 1626 | return ResultInvalidMemoryRegion; | 1626 | return ResultInvalidMemoryRegion; |
| 1627 | } | 1627 | } |
| 1628 | 1628 | ||
| 1629 | return page_table.MapProcessCodeMemory(dst_address, src_address, size); | 1629 | return page_table.MapCodeMemory(dst_address, src_address, size); |
| 1630 | } | 1630 | } |
| 1631 | 1631 | ||
| 1632 | static ResultCode UnmapProcessCodeMemory(Core::System& system, Handle process_handle, | 1632 | static ResultCode UnmapProcessCodeMemory(Core::System& system, Handle process_handle, |
| @@ -1694,7 +1694,7 @@ static ResultCode UnmapProcessCodeMemory(Core::System& system, Handle process_ha | |||
| 1694 | return ResultInvalidMemoryRegion; | 1694 | return ResultInvalidMemoryRegion; |
| 1695 | } | 1695 | } |
| 1696 | 1696 | ||
| 1697 | return page_table.UnmapProcessCodeMemory(dst_address, src_address, size); | 1697 | return page_table.UnmapCodeMemory(dst_address, src_address, size); |
| 1698 | } | 1698 | } |
| 1699 | 1699 | ||
| 1700 | /// Exits the current process | 1700 | /// Exits the current process |
diff --git a/src/core/hle/service/ldr/ldr.cpp b/src/core/hle/service/ldr/ldr.cpp index 3782703d2..f16dbc595 100644 --- a/src/core/hle/service/ldr/ldr.cpp +++ b/src/core/hle/service/ldr/ldr.cpp | |||
| @@ -325,7 +325,7 @@ public: | |||
| 325 | for (std::size_t retry = 0; retry < MAXIMUM_MAP_RETRIES; retry++) { | 325 | for (std::size_t retry = 0; retry < MAXIMUM_MAP_RETRIES; retry++) { |
| 326 | auto& page_table{process->PageTable()}; | 326 | auto& page_table{process->PageTable()}; |
| 327 | const VAddr addr{GetRandomMapRegion(page_table, size)}; | 327 | const VAddr addr{GetRandomMapRegion(page_table, size)}; |
| 328 | const ResultCode result{page_table.MapProcessCodeMemory(addr, baseAddress, size)}; | 328 | const ResultCode result{page_table.MapCodeMemory(addr, baseAddress, size)}; |
| 329 | 329 | ||
| 330 | if (result == Kernel::ResultInvalidCurrentMemory) { | 330 | if (result == Kernel::ResultInvalidCurrentMemory) { |
| 331 | continue; | 331 | continue; |
| @@ -351,12 +351,12 @@ public: | |||
| 351 | 351 | ||
| 352 | if (bss_size) { | 352 | if (bss_size) { |
| 353 | auto block_guard = detail::ScopeExit([&] { | 353 | auto block_guard = detail::ScopeExit([&] { |
| 354 | page_table.UnmapProcessCodeMemory(addr + nro_size, bss_addr, bss_size); | 354 | page_table.UnmapCodeMemory(addr + nro_size, bss_addr, bss_size); |
| 355 | page_table.UnmapProcessCodeMemory(addr, nro_addr, nro_size); | 355 | page_table.UnmapCodeMemory(addr, nro_addr, nro_size); |
| 356 | }); | 356 | }); |
| 357 | 357 | ||
| 358 | const ResultCode result{ | 358 | const ResultCode result{ |
| 359 | page_table.MapProcessCodeMemory(addr + nro_size, bss_addr, bss_size)}; | 359 | page_table.MapCodeMemory(addr + nro_size, bss_addr, bss_size)}; |
| 360 | 360 | ||
| 361 | if (result == Kernel::ResultInvalidCurrentMemory) { | 361 | if (result == Kernel::ResultInvalidCurrentMemory) { |
| 362 | continue; | 362 | continue; |
| @@ -530,16 +530,15 @@ public: | |||
| 530 | ResultCode UnmapNro(const NROInfo& info) { | 530 | ResultCode UnmapNro(const NROInfo& info) { |
| 531 | // Each region must be unmapped separately to validate memory state | 531 | // Each region must be unmapped separately to validate memory state |
| 532 | auto& page_table{system.CurrentProcess()->PageTable()}; | 532 | auto& page_table{system.CurrentProcess()->PageTable()}; |
| 533 | CASCADE_CODE(page_table.UnmapProcessCodeMemory(info.nro_address + info.text_size + | 533 | CASCADE_CODE(page_table.UnmapCodeMemory(info.nro_address + info.text_size + info.ro_size + |
| 534 | info.ro_size + info.data_size, | 534 | info.data_size, |
| 535 | info.bss_address, info.bss_size)); | 535 | info.bss_address, info.bss_size)); |
| 536 | CASCADE_CODE(page_table.UnmapProcessCodeMemory( | 536 | CASCADE_CODE(page_table.UnmapCodeMemory(info.nro_address + info.text_size + info.ro_size, |
| 537 | info.nro_address + info.text_size + info.ro_size, | 537 | info.src_addr + info.text_size + info.ro_size, |
| 538 | info.src_addr + info.text_size + info.ro_size, info.data_size)); | 538 | info.data_size)); |
| 539 | CASCADE_CODE(page_table.UnmapProcessCodeMemory( | 539 | CASCADE_CODE(page_table.UnmapCodeMemory(info.nro_address + info.text_size, |
| 540 | info.nro_address + info.text_size, info.src_addr + info.text_size, info.ro_size)); | 540 | info.src_addr + info.text_size, info.ro_size)); |
| 541 | CASCADE_CODE( | 541 | CASCADE_CODE(page_table.UnmapCodeMemory(info.nro_address, info.src_addr, info.text_size)); |
| 542 | page_table.UnmapProcessCodeMemory(info.nro_address, info.src_addr, info.text_size)); | ||
| 543 | return ResultSuccess; | 542 | return ResultSuccess; |
| 544 | } | 543 | } |
| 545 | 544 | ||