diff options
author | bunnei <ericbunnie@gmail.com> | 2014-05-14 04:00:11 +0200 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-05-14 04:00:11 +0200 |
commit | 3838d46b9022964617b93a45f3feab5052c3538b (patch) | |
tree | e9bb520a6e8e86543f0827524c45e0ce2e0edb4a /src/core/hle/kernel/thread.h | |
parent | changed loader to use __KernelLoadExec (diff) | |
download | yuzu-3838d46b9022964617b93a45f3feab5052c3538b.tar yuzu-3838d46b9022964617b93a45f3feab5052c3538b.tar.gz yuzu-3838d46b9022964617b93a45f3feab5052c3538b.tar.bz2 yuzu-3838d46b9022964617b93a45f3feab5052c3538b.tar.lz yuzu-3838d46b9022964617b93a45f3feab5052c3538b.tar.xz yuzu-3838d46b9022964617b93a45f3feab5052c3538b.tar.zst yuzu-3838d46b9022964617b93a45f3feab5052c3538b.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/thread.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h index c3cdca31f..38180cb9b 100644 --- a/src/core/hle/kernel/thread.h +++ b/src/core/hle/kernel/thread.h @@ -7,12 +7,12 @@ #include "common/common_types.h" enum ThreadStatus { - THREADSTATUS_RUNNING = 1, - THREADSTATUS_READY = 2, - THREADSTATUS_WAIT = 4, - THREADSTATUS_SUSPEND = 8, - THREADSTATUS_DORMANT = 16, - THREADSTATUS_DEAD = 32, + THREADSTATUS_RUNNING = 1, + THREADSTATUS_READY = 2, + THREADSTATUS_WAIT = 4, + THREADSTATUS_SUSPEND = 8, + THREADSTATUS_DORMANT = 16, + THREADSTATUS_DEAD = 32, THREADSTATUS_WAITSUSPEND = THREADSTATUS_WAIT | THREADSTATUS_SUSPEND }; @@ -25,6 +25,19 @@ struct ThreadContext { 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); +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); +UID __KernelSetupRootThread(UID module_id, int arg, int prio, int stack_size=0x4000); + void __KernelThreadingInit(); void __KernelThreadingShutdown(); |