diff options
author | bunnei <bunneidev@gmail.com> | 2017-09-20 23:14:06 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2017-09-30 14:28:54 -0400 |
commit | c5ce5c06e471d556254c1cf465b1d92d6a8f695d (patch) | |
tree | d2a08cba5800b41032ff309ce0cddef4cd6680ba /src | |
parent | f01472a5ffd03b535e8a66bb00d9a7548a0f61bf (diff) |
kernel: Various threading fixes to support 64-bit addressing.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 6 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.h | 10 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index f5f2eb2f7..736be50db 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -341,8 +341,8 @@ std::tuple<u32, u32, bool> GetFreeThreadLocalSlot(std::vector<std::bitset<8>>& t * @param entry_point Address of entry point for execution * @param arg User argument for thread */ -static void ResetThreadContext(ARM_Interface::ThreadContext& context, u32 stack_top, - u32 entry_point, u32 arg) { +static void ResetThreadContext(ARM_Interface::ThreadContext& context, VAddr stack_top, + VAddr entry_point, u64 arg) { memset(&context, 0, sizeof(ARM_Interface::ThreadContext)); context.cpu_registers[0] = arg; @@ -477,7 +477,7 @@ void Thread::BoostPriority(s32 priority) { current_priority = priority; } -SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) { +SharedPtr<Thread> SetupMainThread(VAddr entry_point, s32 priority) { DEBUG_ASSERT(!GetCurrentThread()); // Initialize new "main" thread diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index 6a3566f15..2cadb91db 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h @@ -171,8 +171,8 @@ public: u32 thread_id; u32 status; - u32 entry_point; - u32 stack_top; + VAddr entry_point; + VAddr stack_top; s32 nominal_priority; ///< Nominal thread priority, as set by the emulated application s32 current_priority; ///< Current thread priority, can be temporarily changed @@ -216,7 +216,7 @@ private: * @param priority The priority to give the main thread * @return A shared pointer to the main thread */ -SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority); +SharedPtr<Thread> SetupMainThread(VAddr entry_point, s32 priority); /** * Returns whether there are any threads that are ready to run. @@ -232,13 +232,13 @@ void Reschedule(); * Arbitrate the highest priority thread that is waiting * @param address The address for which waiting threads should be arbitrated */ -Thread* ArbitrateHighestPriorityThread(u32 address); +Thread* ArbitrateHighestPriorityThread(VAddr address); /** * Arbitrate all threads currently waiting. * @param address The address for which waiting threads should be arbitrated */ -void ArbitrateAllThreads(u32 address); +void ArbitrateAllThreads(VAddr address); /** * Gets the current thread |