diff options
author | bunnei <bunneidev@gmail.com> | 2018-09-21 05:35:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-21 05:35:29 +0200 |
commit | 0285ddfbd4be7af072eb4624c0f7eec21f1889da (patch) | |
tree | 89e2962fca3cb3505c51409f4f8c4cbb398abd9c | |
parent | Merge pull request #1371 from lioncash/fwd-arm (diff) | |
parent | kernel/thread: Use owner_process when setting the page table in SetupMainThread() (diff) | |
download | yuzu-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.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 6 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.h | 2 |
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 |