Commit Graph

304 Commits (d192fb066d0d03c217c434f99af0200f75936263)

Author SHA1 Message Date
bunnei ef1b16a7eb Merge pull request #191 from archshift/deletexyz
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
11 years ago
archshift 8aeadbd95a Added DeleteFile and DeleteDirectory functions to FS:USER and the archives. 11 years ago
bunnei c0cd0fa78e Merge pull request #211 from linkmauve/master
Remove trailing spaces from the entire project
11 years ago
bunnei 112768f436 Merge pull request #208 from lioncash/statics
Add static to some variables
11 years ago
Emmanuel Gil Peyrot f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 11 years ago
Lioncash 7cbecde2ca Add static to some variables 11 years ago
purpasmart96 66431bceda Kernel:Add missing permissions in shared memory & svc 11 years ago
Lioncash 1a8f466217 Remove extraneous semicolons 11 years ago
bunnei 11641b5e79 Archive: Fixed to not destroy archive handle on close. 11 years ago
bunnei bcb0dbf7e1 Archive: Fixed close archive before freeing. 11 years ago
bunnei 3e09c07378 FS_User: Support FileSye::Path in a more generic way.
added a todo to kernel archive
11 years ago
bunnei a3107a6b57 FileSys: Updated backend code to use FileSys::Path instead of string for paths. 11 years ago
Lioncash ac58b76e71 Fix two format strings. 11 years ago
archshift 04c90c395d Added CreateDirectory function to service/fs.cpp, and in Archive. 11 years ago
Sean 9a012ff007 Fix some warnings 11 years ago
Yuri Kunde Schlesner d72708c1f5 Add `override` keyword through the code.
This was automated using `clang-modernize`.
11 years ago
Emmanuel Gil Peyrot 0be5c03176 FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.
Kernel: Return an invalid handle to OpenFile when it failed to open.
11 years ago
Emmanuel Gil Peyrot 23c2fbfc7a FileSys/Kernel: Implement SetSize service call for File objects. 11 years ago
archshift 1966f7b0ad Use the citra user path for the sdmc directory 11 years ago
Emmanuel Gil Peyrot 3a570a9fee Kernel: Implement the Close command for Archive, File and Directory. 11 years ago
Emmanuel Gil Peyrot c197ce2180 Kernel: Add a Directory object and a getter for it from an Archive object. 11 years ago
Emmanuel Gil Peyrot 19d04f3abe Kernel: Add a File object and a getter for it from an Archive object. 11 years ago
Lioncash 741321ac24 Core: Get rid of unnecessary switch statement in Kernel 11 years ago
archshift 6e606c515f core: Prune redundant includes 11 years ago
bunnei 304999dfeb Threading: Fix thread starting to execute first instruction correctly. 11 years ago
archshift 4c4a01bf41 Added FS functions to Archive and Archive_RomFS 11 years ago
Lioncash ab4648d3ca Core: Use std::array for managing kernel object space
These avoid relying on memset for clearing the arrays.
11 years ago
Lioncash 98fa3f7cba Core: Alter the kernel string functions to use std::string instead of const char*.
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
11 years ago
bunnei d4bd2f2e5d Thread: Added more descriptive comment to WaitCurrentThread. 11 years ago
bunnei 2542350b85 AddressArbiter: Removed unnecessary HLE::Reschedule. 11 years ago
bunnei 60078baab1 AddressArbiter: Fixed bug with break statements missing from case statements. 11 years ago
bunnei 7a1f813be1 Kernel: Updated Event and Mutex to specify handle that they are blocking for. 11 years ago
bunnei 3eb89f3e98 Kernel: Added preliminary support for address arbiters.
AddressArbiter: Added documentation comment, fixed whitespace issue.

AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.

SVC: Removed trailing whitespace.
12 years ago
bunnei ba840d3200 Thread: Added functions to resume threads from address arbitration.
Thread: Cleaned up arbitrate address functions.

Thread: Cleaned up ArbitrateAllThreads function.
12 years ago
bunnei 7ff92c36ed SharedMemory: Updated MapSharedMemory to use an enum for permissions.
- Also added some safety checks to MapSharedMemory.
12 years ago
bunnei e547128185 Kernel: Added support for shared memory objects.
SharedMemory: Added optional name field for tracking known objects.
12 years ago
bunnei 542700ccb7 Archive: Added Init/Shutdown methods to reset kernel archive state. 12 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.
12 years ago
bunnei 8b8c8f4c13 Kernel: Added stubbed code to support creation of kernel Archive objects. 12 years ago
bunnei b45a38f557 Kernel: Removed unnecessary "#pragma once". 12 years ago
bunnei f49ac3a2d7 Kernel: Added freeing of kernel objects on emulator shutdown. 12 years ago
bunnei 83a4ad2885 Event: Updated several log messages to be assertions. 12 years ago
bunnei b62ef4bbd2 Thread: Renamed occurrences of "t" to "thread" to improve readability. 12 years ago
bunnei 5b7cf50a77 Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged. 12 years ago
bunnei 4620e2a741 HLE: Removed usnused EatCycles function. 12 years ago
bunnei bfdd874b1f Thread: Moved position of * in arguments. 12 years ago
bunnei 12e2a59565 Thread: Updated VerifyWait to be more readable (but functionally the same). 12 years ago
bunnei c95972275e HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) 12 years ago
bunnei 5365ca157d Kernel: Updated various kernel function "name" arguments to be const references. 12 years ago
bunnei d7363322c7 HLE: Updated various handle debug assertions to be more clear. 12 years ago
bunnei 780a443b08 Mutex: Moved ReleaseMutex iterator declaration to be inside while loop. 12 years ago
bunnei 8cac527c94 Kernel: Updated several member functions to be const 12 years ago
bunnei b774b8b04e Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set 12 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) 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 ce1c561278 kernel: changed current default thread priority back to 0x30 - I think this is more correct 12 years ago
bunnei b78aff8585 svc: added optional name field to Event and Mutex (used for debugging) 12 years ago
bunnei 8c0f02a70c kernel: moved position of * for GetTypeName and GetName 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 f7cececc5c event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments 12 years ago
bunnei d8a2c8c657 mutex: fixed typo in ReleaseMutex 12 years ago
bunnei d51c84dde2 event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments 12 years ago
bunnei 2ed6652f10 mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions 12 years ago
bunnei ea8627d536 event: fixed typos and updated CMakeLists 12 years ago
bunnei beea6f054a event: added SetEventLocked method to change status an events lock 12 years ago
bunnei fd69fd0325 kernel: added event module to support creation of CTR "Event" objects 12 years ago
bunnei d493d725ac mutex: removed docstring comment that is no longer relevant 12 years ago
bunnei 93cd5a0691 mutex: added additional docstrings 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 3d7693f75f kernel: added enum for known CurrentThread and CurrentProcess handles 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 eb537c560a mutex: refactored the interface to code to return a Mutex* handle 12 years ago
bunnei 978e1d4653 mutex: initial commit of HLE module 12 years ago
bunnei 1c5802c35a kernel: fixed include, in general include "common.h" not "common_types.h" 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 f5a119a367 thread: added declaration for __KernelReschedule to be used by syscall module 12 years ago
bunnei eab6fd01d7 - updated service(s) to be KernelObject's
- various cleanups
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 a7cc430aa4 changed "UID" to "Handle" to be a little more consistent with CTR naming 12 years ago
bunnei b99a5da65b - added helper function for __KernelCreateThread
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
12 years ago
bunnei 9f5588725c changed primary thread priority to 0x30 - this is typical, not 0x31 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 1583d2b6f3 - added __KernelLoadExec function
- fixed some logging
12 years ago
bunnei 6b264518a5 added initial kernel/thread modules 12 years ago