summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2022-02-08 18:47:11 -0800
committerGravatar GitHub2022-02-08 18:47:11 -0800
commitd134ca68c6a24b62382061d66dae153fb73145f1 (patch)
tree38fde770dad4bee31d4f60b0083c9db3bf33b153
parentMerge pull request #7847 from tech-ticks/master (diff)
downloadyuzu-d134ca68c6a24b62382061d66dae153fb73145f1.tar.gz
yuzu-d134ca68c6a24b62382061d66dae153fb73145f1.tar.xz
yuzu-d134ca68c6a24b62382061d66dae153fb73145f1.zip
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
Credits to @xerpi for finding this issue and pointing it out on #7519.
-rw-r--r--src/core/hle/kernel/k_code_memory.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/kernel/k_code_memory.cpp b/src/core/hle/kernel/k_code_memory.cpp
index d69f7ffb7..2419d113b 100644
--- a/src/core/hle/kernel/k_code_memory.cpp
+++ b/src/core/hle/kernel/k_code_memory.cpp
@@ -2,6 +2,7 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "common/alignment.h"
5#include "common/common_types.h" 6#include "common/common_types.h"
6#include "core/device_memory.h" 7#include "core/device_memory.h"
7#include "core/hle/kernel/k_auto_object.h" 8#include "core/hle/kernel/k_auto_object.h"
@@ -29,7 +30,7 @@ ResultCode KCodeMemory::Initialize(Core::DeviceMemory& device_memory, VAddr addr
29 30
30 // Construct the page group. 31 // Construct the page group.
31 KMemoryInfo kBlockInfo = page_table.QueryInfo(addr); 32 KMemoryInfo kBlockInfo = page_table.QueryInfo(addr);
32 m_page_group = KPageLinkedList(kBlockInfo.GetAddress(), kBlockInfo.GetNumPages()); 33 m_page_group = KPageLinkedList(addr, Common::DivideUp(size, PageSize));
33 34
34 // Lock the memory. 35 // Lock the memory.
35 R_TRY(page_table.LockForCodeMemory(addr, size)) 36 R_TRY(page_table.LockForCodeMemory(addr, size))
@@ -143,4 +144,4 @@ ResultCode KCodeMemory::UnmapFromOwner(VAddr address, size_t size) {
143 return ResultSuccess; 144 return ResultSuccess;
144} 145}
145 146
146} // namespace Kernel \ No newline at end of file 147} // namespace Kernel