summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorGravatar Lioncash2019-04-09 11:19:29 -0400
committerGravatar Lioncash2019-04-09 13:00:56 -0400
commit2abf979c35506e1d6dabea74b8ada6581cefe19c (patch)
treed4020c0ecd0bc52766bd67f97b4f3aa90a38963a /src/core/hle/kernel
parentMerge pull request #2300 from FernandoS27/null-shader (diff)
downloadyuzu-2abf979c35506e1d6dabea74b8ada6581cefe19c.tar.gz
yuzu-2abf979c35506e1d6dabea74b8ada6581cefe19c.tar.xz
yuzu-2abf979c35506e1d6dabea74b8ada6581cefe19c.zip
kernel/process: Set page table when page table resizes occur.
We need to ensure dynarmic gets a valid pointer if the page table is resized (the relevant pointers would be invalidated in this scenario). In this scenario, the page table can be resized depending on what kind of address space is specified within the NPDM metadata (if it's present).
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/process.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index 26c6b95ab..4e94048da 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -106,6 +106,8 @@ ResultCode Process::LoadFromMetadata(const FileSys::ProgramMetadata& metadata) {
106 is_64bit_process = metadata.Is64BitProgram(); 106 is_64bit_process = metadata.Is64BitProgram();
107 107
108 vm_manager.Reset(metadata.GetAddressSpaceType()); 108 vm_manager.Reset(metadata.GetAddressSpaceType());
109 // Ensure that the potentially resized page table is seen by CPU backends.
110 Memory::SetCurrentPageTable(&vm_manager.page_table);
109 111
110 const auto& caps = metadata.GetKernelCapabilities(); 112 const auto& caps = metadata.GetKernelCapabilities();
111 const auto capability_init_result = 113 const auto capability_init_result =