bunnei
aae9fcf4a4
Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
12 years ago
bunnei
f5c7c15434
Kernel: Added real support for thread and event blocking
- SVC: Added ExitThread support
- SVC: Added SignalEvent support
- Thread: Added WAITTYPE_EVENT for waiting threads for event signals
- Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
- Thread: Added debug function for printing current threads ready for execution
- Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
- Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
- Event: Added support for blocking threads on event signalling
Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.
12 years ago
bunnei
3fb31fbc57
svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
12 years ago
bunnei
10447d1f48
kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
12 years ago
bunnei
ba98e25e97
thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution
12 years ago
bunnei
a432dc8f39
kernel: added WaitSynchronization method to Kernel::Object
12 years ago
bunnei
58a3adcdd2
kernel: updated SyncRequest to take boolean thread wait result as a parameter
12 years ago
bunnei
d73d782ba7
kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
12 years ago
bunnei
b99ac2c3d6
thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument
12 years ago
bunnei
7c0b006076
thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread
12 years ago
bunnei
d26f3d4c1f
kernel: refactored function naming to remove "__" prefix
12 years ago
bunnei
14bd37c5dc
thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset
12 years ago
bunnei
6a78be5930
thread: fixed bug where result of __NextThread was not being properly checked when NULL
12 years ago
bunnei
203541da11
thread: added correct lowest thread priority, added a thread priority check, and added some comments
12 years ago
bunnei
bed4e920fa
thread: exposed ResumeThreadFromWait function for use in other kernel modules
12 years ago
bunnei
75c6d2a8fa
thread: moved threading calls to the Kernel namespace
12 years ago
bunnei
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
12 years ago
bunnei
143bba2045
renamed "syscall" module to "svc" (more accurate naming)
12 years ago
bunnei
f654a03f1f
thread: whitespace change - fixed * and & placement
12 years ago
bunnei
44336329ed
- created a Kernel namespace
- cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues)
- added handle types for all different CTROS handles
12 years ago
bunnei
772abad778
- moved Handle/Result definitions to kernel.h
- added ResetType enum
12 years ago
bunnei
09b8e8fb6a
changed a comment
12 years ago
bunnei
14ae026386
- added enum ThreadProcessorId
- reorganized some kernel thread functions
- added placeholder __KernelWaitThread_Synchronization function
12 years ago
bunnei
7cdb705059
- replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTH
- added KERNEL_DEFAULT_STACK_SIZE definition (0x4000)
12 years ago
bunnei
940330c6e1
completely gutted/refactored threading code to be simpler
12 years ago
bunnei
b99a5da65b
- added helper function for __KernelCreateThread
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
12 years ago
bunnei
0de78eb3c4
fixed thread reset to not set stack address
12 years ago
bunnei
7d078189da
various cleanups / remove unused code
12 years ago
bunnei
3838d46b90
added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off point
12 years ago
bunnei
6b264518a5
added initial kernel/thread modules
12 years ago