Browse Source
Merge pull request #7870 from yuzu-emu/fix-codememory-size
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
pull/15/merge
bunnei
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
3 additions and
3 deletions
-
src/core/hle/kernel/k_code_memory.cpp
|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include "common/alignment.h"
|
|
|
|
#include "common/common_types.h"
|
|
|
|
#include "core/device_memory.h"
|
|
|
|
#include "core/hle/kernel/k_auto_object.h"
|
|
|
|
@ -28,8 +29,7 @@ ResultCode KCodeMemory::Initialize(Core::DeviceMemory& device_memory, VAddr addr |
|
|
|
auto& page_table = m_owner->PageTable(); |
|
|
|
|
|
|
|
// Construct the page group.
|
|
|
|
KMemoryInfo kBlockInfo = page_table.QueryInfo(addr); |
|
|
|
m_page_group = KPageLinkedList(kBlockInfo.GetAddress(), kBlockInfo.GetNumPages()); |
|
|
|
m_page_group = KPageLinkedList(addr, Common::DivideUp(size, PageSize)); |
|
|
|
|
|
|
|
// Lock the memory.
|
|
|
|
R_TRY(page_table.LockForCodeMemory(addr, size)) |
|
|
|
@ -143,4 +143,4 @@ ResultCode KCodeMemory::UnmapFromOwner(VAddr address, size_t size) { |
|
|
|
return ResultSuccess; |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Kernel
|
|
|
|
} // namespace Kernel
|