aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/kernel/thread.h
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-05-15 18:27:08 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-05-15 18:27:08 -0400
commit940330c6e12b3eefb9fb035f75f4b090c969cb75 (patch)
tree1beb3f6e0c32b513b4a80bccb5609ca018605064 /src/core/hle/kernel/thread.h
parenta7cc430aa4da2962dcf08db2f6009fc272bdda70 (diff)
completely gutted/refactored threading code to be simpler
Diffstat (limited to 'src/core/hle/kernel/thread.h')
-rw-r--r--src/core/hle/kernel/thread.h44
1 files changed, 2 insertions, 42 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 05468fb2..cca4e85f 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -7,50 +7,10 @@
#include "common/common_types.h"
#include "core/hle/kernel/kernel.h"
-enum ThreadStatus {
- THREADSTATUS_RUNNING = 1,
- THREADSTATUS_READY = 2,
- THREADSTATUS_WAIT = 4,
- THREADSTATUS_SUSPEND = 8,
- THREADSTATUS_DORMANT = 16,
- THREADSTATUS_DEAD = 32,
-
- THREADSTATUS_WAITSUSPEND = THREADSTATUS_WAIT | THREADSTATUS_SUSPEND
-};
-
-struct ThreadContext {
- void reset();
-
- u32 reg[16];
- u32 cpsr;
- u32 pc;
-};
-
class Thread;
-Thread* __KernelCreateThread(UID& id, UID module_id, const char* name, u32 priority, u32 entrypoint,
- u32 arg, u32 stack_top, u32 processor_id, int stack_size=0x4000);
-
-UID __KernelCreateThread(UID module_id, const char* name, u32 priority, u32 entry_point, u32 arg,
- u32 stack_top, u32 processor_id, int stack_size=0x4000);
-
-void __KernelResetThread(Thread *t, int lowest_priority);
-void __KernelChangeReadyState(Thread *thread, UID thread_id, bool ready);
-void __KernelChangeReadyState(UID thread_id, bool ready);
-Thread* __KernelNextThread();
-void __KernelSaveContext(ThreadContext *ctx);
-void __KernelLoadContext(ThreadContext *ctx);
-void __KernelSwitchContext(Thread *target, const char *reason);
-bool __KernelSwitchToThread(UID thread_id, const char *reason);
-UID __KernelSetupRootThread(UID module_id, int arg, int prio, int stack_size=0x4000);
-int __KernelRotateThreadReadyQueue(int priority=0);
+/// Sets up the primary application thread
+Handle __KernelSetupMainThread(s32 priority, int stack_size=0x4000);
void __KernelThreadingInit();
void __KernelThreadingShutdown();
-
-//const char *__KernelGetThreadName(SceUID threadID);
-//
-//void __KernelSaveContext(ThreadContext *ctx);
-//void __KernelLoadContext(ThreadContext *ctx);
-
-//void __KernelSwitchContext(Thread *target, const char *reason); \ No newline at end of file