diff options
| author | 2022-03-08 17:39:03 -0800 | |
|---|---|---|
| committer | 2022-03-08 17:39:03 -0800 | |
| commit | 6f670381cf9f1bd80eded9dedcaa4e15c4ad1dc1 (patch) | |
| tree | 5bf52ede3772c7361d0805b5142b22cc6e1acf15 /src/core/hle/kernel | |
| parent | Merge pull request #7986 from lat9nq/vk-callback (diff) | |
| parent | hle: service: ldr: Use deterministic addresses when mapping NROs. (diff) | |
| download | yuzu-6f670381cf9f1bd80eded9dedcaa4e15c4ad1dc1.tar.gz yuzu-6f670381cf9f1bd80eded9dedcaa4e15c4ad1dc1.tar.xz yuzu-6f670381cf9f1bd80eded9dedcaa4e15c4ad1dc1.zip | |
Merge pull request #7975 from bunnei/ldr-fix
hle: service: ldr: Use deterministic addresses when mapping NROs.
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/k_page_table.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/core/hle/kernel/k_page_table.h b/src/core/hle/kernel/k_page_table.h index aea1b8f63..e99abe36a 100644 --- a/src/core/hle/kernel/k_page_table.h +++ b/src/core/hle/kernel/k_page_table.h | |||
| @@ -253,7 +253,9 @@ public: | |||
| 253 | constexpr bool IsInsideASLRRegion(VAddr address, std::size_t size) const { | 253 | constexpr bool IsInsideASLRRegion(VAddr address, std::size_t size) const { |
| 254 | return !IsOutsideASLRRegion(address, size); | 254 | return !IsOutsideASLRRegion(address, size); |
| 255 | } | 255 | } |
| 256 | 256 | constexpr std::size_t GetNumGuardPages() const { | |
| 257 | return IsKernel() ? 1 : 4; | ||
| 258 | } | ||
| 257 | PAddr GetPhysicalAddr(VAddr addr) const { | 259 | PAddr GetPhysicalAddr(VAddr addr) const { |
| 258 | const auto backing_addr = page_table_impl.backing_addr[addr >> PageBits]; | 260 | const auto backing_addr = page_table_impl.backing_addr[addr >> PageBits]; |
| 259 | ASSERT(backing_addr); | 261 | ASSERT(backing_addr); |
| @@ -275,10 +277,6 @@ private: | |||
| 275 | return is_aslr_enabled; | 277 | return is_aslr_enabled; |
| 276 | } | 278 | } |
| 277 | 279 | ||
| 278 | constexpr std::size_t GetNumGuardPages() const { | ||
| 279 | return IsKernel() ? 1 : 4; | ||
| 280 | } | ||
| 281 | |||
| 282 | constexpr bool ContainsPages(VAddr addr, std::size_t num_pages) const { | 280 | constexpr bool ContainsPages(VAddr addr, std::size_t num_pages) const { |
| 283 | return (address_space_start <= addr) && | 281 | return (address_space_start <= addr) && |
| 284 | (num_pages <= (address_space_end - address_space_start) / PageSize) && | 282 | (num_pages <= (address_space_end - address_space_start) / PageSize) && |