summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-09-21 05:35:29 +0200
committerGitHub <noreply@github.com>2018-09-21 05:35:29 +0200
commit0285ddfbd4be7af072eb4624c0f7eec21f1889da (patch)
tree89e2962fca3cb3505c51409f4f8c4cbb398abd9c
parentMerge pull request #1371 from lioncash/fwd-arm (diff)
parentkernel/thread: Use owner_process when setting the page table in SetupMainThread() (diff)
downloadyuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.tar
yuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.tar.gz
yuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.tar.bz2
yuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.tar.lz
yuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.tar.xz
yuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.tar.zst
yuzu-0285ddfbd4be7af072eb4624c0f7eec21f1889da.zip
-rw-r--r--src/core/hle/kernel/process.cpp2
-rw-r--r--src/core/hle/kernel/thread.cpp6
-rw-r--r--src/core/hle/kernel/thread.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index 7a272d031..914bbe0a1 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -125,7 +125,7 @@ void Process::Run(VAddr entry_point, s32 main_thread_priority, u32 stack_size) {
vm_manager.LogLayout();
status = ProcessStatus::Running;
- Kernel::SetupMainThread(kernel, entry_point, main_thread_priority, this);
+ Kernel::SetupMainThread(kernel, entry_point, main_thread_priority, *this);
}
void Process::LoadModule(SharedPtr<CodeSet> module_, VAddr base_addr) {
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index d4183d6e3..c2d7535c9 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -311,13 +311,13 @@ void Thread::BoostPriority(u32 priority) {
}
SharedPtr<Thread> SetupMainThread(KernelCore& kernel, VAddr entry_point, u32 priority,
- SharedPtr<Process> owner_process) {
+ Process& owner_process) {
// Setup page table so we can write to memory
- SetCurrentPageTable(&Core::CurrentProcess()->vm_manager.page_table);
+ SetCurrentPageTable(&owner_process.vm_manager.page_table);
// Initialize new "main" thread
auto thread_res = Thread::Create(kernel, "main", entry_point, priority, 0, THREADPROCESSORID_0,
- Memory::STACK_AREA_VADDR_END, std::move(owner_process));
+ Memory::STACK_AREA_VADDR_END, &owner_process);
SharedPtr<Thread> thread = std::move(thread_res).Unwrap();
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index df4748942..91e9b79ec 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -281,7 +281,7 @@ private:
* @return A shared pointer to the main thread
*/
SharedPtr<Thread> SetupMainThread(KernelCore& kernel, VAddr entry_point, u32 priority,
- SharedPtr<Process> owner_process);
+ Process& owner_process);
/**
* Gets the current thread