bunnei
c95972275e
HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)
2014-06-13 09:51:13 -04:00
bunnei
5365ca157d
Kernel: Updated various kernel function "name" arguments to be const references.
2014-06-13 09:51:12 -04:00
bunnei
d7363322c7
HLE: Updated various handle debug assertions to be more clear.
2014-06-13 09:51:11 -04:00
bunnei
780a443b08
Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.
2014-06-13 09:51:11 -04:00
bunnei
8cac527c94
Kernel: Updated several member functions to be const
2014-06-13 09:51:10 -04:00
bunnei
b774b8b04e
Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set
2014-06-13 09:51:08 -04:00
bunnei
aae9fcf4a4
Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
2014-06-13 09:51:08 -04:00
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.
2014-06-13 09:51:02 -04:00
bunnei
ce1c561278
kernel: changed current default thread priority back to 0x30 - I think this is more correct
2014-06-05 00:20:58 -04:00
bunnei
b78aff8585
svc: added optional name field to Event and Mutex (used for debugging)
2014-06-02 20:38:34 -04:00
bunnei
8c0f02a70c
kernel: moved position of * for GetTypeName and GetName
2014-06-02 20:36:58 -04:00
bunnei
3fb31fbc57
svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
2014-06-01 22:12:54 -04:00
bunnei
10447d1f48
kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
2014-06-01 21:42:50 -04:00
bunnei
ba98e25e97
thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution
2014-06-01 10:35:42 -04:00
bunnei
f7cececc5c
event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments
2014-06-01 10:33:55 -04:00
bunnei
d8a2c8c657
mutex: fixed typo in ReleaseMutex
2014-05-29 23:31:01 -04:00
bunnei
d51c84dde2
event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments
2014-05-29 20:00:44 -04:00
bunnei
2ed6652f10
mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions
2014-05-27 22:42:16 -04:00
bunnei
ea8627d536
event: fixed typos and updated CMakeLists
2014-05-27 22:14:38 -04:00
bunnei
beea6f054a
event: added SetEventLocked method to change status an events lock
2014-05-27 22:14:00 -04:00
bunnei
fd69fd0325
kernel: added event module to support creation of CTR "Event" objects
2014-05-27 20:16:13 -04:00
bunnei
d493d725ac
mutex: removed docstring comment that is no longer relevant
2014-05-26 22:49:11 -04:00
bunnei
93cd5a0691
mutex: added additional docstrings
2014-05-26 22:47:47 -04:00
bunnei
a432dc8f39
kernel: added WaitSynchronization method to Kernel::Object
2014-05-26 22:17:49 -04:00
bunnei
58a3adcdd2
kernel: updated SyncRequest to take boolean thread wait result as a parameter
2014-05-26 22:12:46 -04:00
bunnei
3d7693f75f
kernel: added enum for known CurrentThread and CurrentProcess handles
2014-05-26 21:56:23 -04:00
bunnei
d73d782ba7
kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
2014-05-26 21:01:27 -04:00
bunnei
b99ac2c3d6
thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument
2014-05-22 19:36:56 -04:00
bunnei
7c0b006076
thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread
2014-05-22 19:32:45 -04:00
bunnei
d26f3d4c1f
kernel: refactored function naming to remove "__" prefix
2014-05-22 19:06:12 -04:00
bunnei
14bd37c5dc
thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset
2014-05-22 18:50:36 -04:00
bunnei
6a78be5930
thread: fixed bug where result of __NextThread was not being properly checked when NULL
2014-05-21 21:42:18 -04:00
bunnei
eb537c560a
mutex: refactored the interface to code to return a Mutex* handle
2014-05-20 23:23:58 -04:00
bunnei
978e1d4653
mutex: initial commit of HLE module
2014-05-20 23:03:45 -04:00
bunnei
1c5802c35a
kernel: fixed include, in general include "common.h" not "common_types.h"
2014-05-20 22:27:46 -04:00
bunnei
203541da11
thread: added correct lowest thread priority, added a thread priority check, and added some comments
2014-05-20 21:02:35 -04:00
bunnei
bed4e920fa
thread: exposed ResumeThreadFromWait function for use in other kernel modules
2014-05-20 21:00:10 -04:00
bunnei
75c6d2a8fa
thread: moved threading calls to the Kernel namespace
2014-05-20 19:37:46 -04:00
bunnei
49dc2ce8ac
ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching
2014-05-20 18:50:16 -04:00
bunnei
143bba2045
renamed "syscall" module to "svc" (more accurate naming)
2014-05-20 18:28:38 -04:00
bunnei
f654a03f1f
thread: whitespace change - fixed * and & placement
2014-05-20 18:20:35 -04:00
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
2014-05-20 18:13:25 -04:00
bunnei
f5a119a367
thread: added declaration for __KernelReschedule to be used by syscall module
2014-05-19 22:19:48 -04:00
bunnei
eab6fd01d7
- updated service(s) to be KernelObject's
...
- various cleanups
2014-05-18 21:43:29 -04:00
bunnei
772abad778
- moved Handle/Result definitions to kernel.h
...
- added ResetType enum
2014-05-18 18:12:29 -04:00
bunnei
09b8e8fb6a
changed a comment
2014-05-17 13:47:55 -04:00
bunnei
14ae026386
- added enum ThreadProcessorId
...
- reorganized some kernel thread functions
- added placeholder __KernelWaitThread_Synchronization function
2014-05-17 00:56:00 -04:00
bunnei
7cdb705059
- replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTH
...
- added KERNEL_DEFAULT_STACK_SIZE definition (0x4000)
2014-05-16 23:48:15 -04:00
bunnei
940330c6e1
completely gutted/refactored threading code to be simpler
2014-05-15 18:27:08 -04:00
bunnei
a7cc430aa4
changed "UID" to "Handle" to be a little more consistent with CTR naming
2014-05-15 18:26:28 -04:00