summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGravatar bunnei2022-03-08 17:39:03 -0800
committerGravatar GitHub2022-03-08 17:39:03 -0800
commit6f670381cf9f1bd80eded9dedcaa4e15c4ad1dc1 (patch)
tree5bf52ede3772c7361d0805b5142b22cc6e1acf15 /src/core/hle/kernel
parentMerge pull request #7986 from lat9nq/vk-callback (diff)
parenthle: service: ldr: Use deterministic addresses when mapping NROs. (diff)
downloadyuzu-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.h8
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) &&