Commit Graph

1268 Commits (64b5985f0a034fb2b1988d960b009985f9929922)

Author SHA1 Message Date
bunnei 542700ccb7 Archive: Added Init/Shutdown methods to reset kernel archive state. 11 years ago
bunnei 17a6148f9d FileSys: Added preliminary support for applications reading the RomFS archive.
Archive: Fixed brace ugliness for neobrain :)

FS: Commented out unused local variables to prevent warnings.

...But keeping them here for future use.

archive_romfs: Removed unused #include.
11 years ago
bunnei 8b8c8f4c13 Kernel: Added stubbed code to support creation of kernel Archive objects. 11 years ago
bunnei b45a38f557 Kernel: Removed unnecessary "#pragma once". 11 years ago
bunnei f49ac3a2d7 Kernel: Added freeing of kernel objects on emulator shutdown. 11 years ago
bunnei 83a4ad2885 Event: Updated several log messages to be assertions. 11 years ago
bunnei b62ef4bbd2 Thread: Renamed occurrences of "t" to "thread" to improve readability. 11 years ago
bunnei 5b7cf50a77 Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged. 11 years ago
bunnei 4620e2a741 HLE: Removed usnused EatCycles function. 11 years ago
bunnei bfdd874b1f Thread: Moved position of * in arguments. 11 years ago
bunnei 12e2a59565 Thread: Updated VerifyWait to be more readable (but functionally the same). 11 years ago
bunnei c95972275e HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) 11 years ago
bunnei 5365ca157d Kernel: Updated various kernel function "name" arguments to be const references. 11 years ago
bunnei d7363322c7 HLE: Updated various handle debug assertions to be more clear. 11 years ago
bunnei 780a443b08 Mutex: Moved ReleaseMutex iterator declaration to be inside while loop. 11 years ago
bunnei 8cac527c94 Kernel: Updated several member functions to be const 11 years ago
bunnei b774b8b04e Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set 11 years ago
bunnei aae9fcf4a4 Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects) 11 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.
11 years ago
bunnei ce1c561278 kernel: changed current default thread priority back to 0x30 - I think this is more correct 11 years ago
bunnei b78aff8585 svc: added optional name field to Event and Mutex (used for debugging) 11 years ago
bunnei 8c0f02a70c kernel: moved position of * for GetTypeName and GetName 11 years ago
bunnei 3fb31fbc57 svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support 11 years ago
bunnei 10447d1f48 kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule 11 years ago
bunnei ba98e25e97 thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution 11 years ago
bunnei f7cececc5c event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments 11 years ago
bunnei d8a2c8c657 mutex: fixed typo in ReleaseMutex 11 years ago
bunnei d51c84dde2 event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments 11 years ago
bunnei 2ed6652f10 mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions 11 years ago
bunnei ea8627d536 event: fixed typos and updated CMakeLists 11 years ago
bunnei beea6f054a event: added SetEventLocked method to change status an events lock 11 years ago
bunnei fd69fd0325 kernel: added event module to support creation of CTR "Event" objects 11 years ago
bunnei d493d725ac mutex: removed docstring comment that is no longer relevant 11 years ago
bunnei 93cd5a0691 mutex: added additional docstrings 11 years ago
bunnei a432dc8f39 kernel: added WaitSynchronization method to Kernel::Object 11 years ago
bunnei 58a3adcdd2 kernel: updated SyncRequest to take boolean thread wait result as a parameter 11 years ago
bunnei 3d7693f75f kernel: added enum for known CurrentThread and CurrentProcess handles 11 years ago
bunnei d73d782ba7 kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest 11 years ago
bunnei b99ac2c3d6 thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument 11 years ago
bunnei 7c0b006076 thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread 11 years ago
bunnei d26f3d4c1f kernel: refactored function naming to remove "__" prefix 11 years ago
bunnei 14bd37c5dc thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset 11 years ago
bunnei 6a78be5930 thread: fixed bug where result of __NextThread was not being properly checked when NULL 11 years ago
bunnei eb537c560a mutex: refactored the interface to code to return a Mutex* handle 11 years ago
bunnei 978e1d4653 mutex: initial commit of HLE module 11 years ago
bunnei 1c5802c35a kernel: fixed include, in general include "common.h" not "common_types.h" 11 years ago
bunnei 203541da11 thread: added correct lowest thread priority, added a thread priority check, and added some comments 11 years ago
bunnei bed4e920fa thread: exposed ResumeThreadFromWait function for use in other kernel modules 11 years ago
bunnei 75c6d2a8fa thread: moved threading calls to the Kernel namespace 11 years ago
bunnei 49dc2ce8ac ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching 11 years ago
bunnei 143bba2045 renamed "syscall" module to "svc" (more accurate naming) 11 years ago
bunnei f654a03f1f thread: whitespace change - fixed * and & placement 11 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
11 years ago
bunnei f5a119a367 thread: added declaration for __KernelReschedule to be used by syscall module 11 years ago
bunnei eab6fd01d7 - updated service(s) to be KernelObject's
- various cleanups
11 years ago
bunnei 772abad778 - moved Handle/Result definitions to kernel.h
- added ResetType enum
11 years ago
bunnei 09b8e8fb6a changed a comment 11 years ago
bunnei 14ae026386 - added enum ThreadProcessorId
- reorganized some kernel thread functions
- added placeholder __KernelWaitThread_Synchronization function
11 years ago
bunnei 7cdb705059 - replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTH
- added KERNEL_DEFAULT_STACK_SIZE definition (0x4000)
11 years ago
bunnei 940330c6e1 completely gutted/refactored threading code to be simpler 11 years ago
bunnei a7cc430aa4 changed "UID" to "Handle" to be a little more consistent with CTR naming 11 years ago
bunnei b99a5da65b - added helper function for __KernelCreateThread
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
11 years ago
bunnei 9f5588725c changed primary thread priority to 0x30 - this is typical, not 0x31 11 years ago
bunnei 0de78eb3c4 fixed thread reset to not set stack address 11 years ago
bunnei 7d078189da various cleanups / remove unused code 11 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 11 years ago
bunnei 1583d2b6f3 - added __KernelLoadExec function
- fixed some logging
11 years ago
bunnei 6b264518a5 added initial kernel/thread modules 11 years ago