From d16c2bd956a69754e1c2aef6600c10d944638673 Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Mon, 11 May 2015 05:08:47 -0300 Subject: Thread: Correctly set main thread initial stack position --- src/core/hle/kernel/process.cpp | 2 +- src/core/hle/kernel/thread.cpp | 4 ++-- src/core/hle/kernel/thread.h | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 26a9c236..efae4a17 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp @@ -85,7 +85,7 @@ void Process::ParseKernelCaps(const u32* kernel_caps, size_t len) { } void Process::Run(VAddr entry_point, s32 main_thread_priority, u32 stack_size) { - Kernel::SetupMainThread(stack_size, entry_point, main_thread_priority); + Kernel::SetupMainThread(entry_point, main_thread_priority); } Kernel::Process::Process() {} diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 5de8f9a7..957cbdfe 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -458,12 +458,12 @@ SharedPtr SetupIdleThread() { return thread; } -SharedPtr SetupMainThread(u32 stack_size, u32 entry_point, s32 priority) { +SharedPtr SetupMainThread(u32 entry_point, s32 priority) { DEBUG_ASSERT(!GetCurrentThread()); // Initialize new "main" thread auto thread_res = Thread::Create("main", entry_point, priority, 0, - THREADPROCESSORID_0, Memory::HEAP_VADDR_END - stack_size); + THREADPROCESSORID_0, Memory::HEAP_VADDR_END); SharedPtr thread = thread_res.MoveFrom(); diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 6891c8c2..afdaf851 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h @@ -181,12 +181,11 @@ private: /** * Sets up the primary application thread - * @param stack_size The size of the thread's stack * @param entry_point The address at which the thread should start execution * @param priority The priority to give the main thread * @return A shared pointer to the main thread */ -SharedPtr SetupMainThread(u32 stack_size, u32 entry_point, s32 priority); +SharedPtr SetupMainThread(u32 entry_point, s32 priority); /** * Reschedules to the next available thread (call after current thread is suspended) -- cgit v1.2.3