Commit Graph

43 Commits (f09806aed24b2f7de7d969cbfdb3b9d18ab90c61)

Author SHA1 Message Date
bunnei f09806aed2 Kernel: Renamed some functions for clarity.
- ReleaseNextThread->WakeupNextThread
- ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
11 years ago
bunnei 9e6ec3b6cd Session: Change to a WaitObject. 11 years ago
bunnei d2759c578e Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs. 11 years ago
bunnei 254e4ebd58 AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense. 11 years ago
bunnei e5a9f1c644 Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks. 11 years ago
bunnei 7faf2d8e06 WaitSynchronizationN: Implement return values 11 years ago
bunnei 5e77e2e1de WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup. 11 years ago
bunnei c22bac6398 Kernel: Added WaitObject and changed "waitable" objects inherit from it. 11 years ago
Yuri Kunde Schlesner 8ad41775cc Kernel: Start using boost::intrusive_ptr for lifetime management 11 years ago
Yuri Kunde Schlesner d751de7341 Kernel: Don't re-assign object's handle when duplicating one 11 years ago
Yuri Kunde Schlesner 9bf8462b96 Thread: Reduce use of Handles and move some funcs to inside the class. 11 years ago
Yuri Kunde Schlesner ba72208cd4 Kernel: Move Thread's definition to the header file 11 years ago
Yuri Kunde Schlesner 7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 11 years ago
bunnei d46f650036 Merge pull request #255 from Subv/cbranch_3
Implemented timers
11 years ago
Subv 07044651ef SVC: Implemented the Timer service calls. 11 years ago
Subv 60a373a786 Threads: Use a dummy idle thread when no other are ready.
This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
11 years ago
Yuri Kunde Schlesner 7e2903cb74 Kernel: New handle manager
This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.

Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
11 years ago
Yuri Kunde Schlesner 73fba22c01 Rename ObjectPool to HandleTable 11 years ago
purpasmart96 ebfd831ccb License change 11 years ago
Subv ea9ce0fba7 Filesystem/Archives: Implemented the SaveData archive
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information

Got rid of the code duplication in File and Directory

Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.

FS_U: Use the correct error code when a file wasn't found
11 years ago
Yuri Kunde Schlesner ca67bb7945 HLE: Rename namespaces to match move & fix initialization order 11 years ago
Yuri Kunde Schlesner c72ccfa6db HLE: Move kernel/archive.* to service/fs/ 11 years ago
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros 11 years ago
Lioncash 208598dbe2 kernel: Shorten GetCount 11 years ago
Lioncash 9b68d5e074 kernel: Make some functions const 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 741321ac24 Core: Get rid of unnecessary switch statement in Kernel 12 years ago
archshift 6e606c515f core: Prune redundant includes 12 years ago
Lioncash ab4648d3ca Core: Use std::array for managing kernel object space
These avoid relying on memset for clearing the arrays.
12 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.
12 years ago
bunnei 542700ccb7 Archive: Added Init/Shutdown methods to reset kernel archive state. 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 c95972275e HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) 12 years ago
bunnei ce1c561278 kernel: changed current default thread priority back to 0x30 - I think this is more correct 12 years ago
bunnei 10447d1f48 kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule 12 years ago
bunnei d26f3d4c1f kernel: refactored function naming to remove "__" prefix 12 years ago
bunnei 75c6d2a8fa thread: moved threading calls to the Kernel namespace 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 a7cc430aa4 changed "UID" to "Handle" to be a little more consistent with CTR naming 12 years ago
bunnei 9f5588725c changed primary thread priority to 0x30 - this is typical, not 0x31 12 years ago
bunnei 1583d2b6f3 - added __KernelLoadExec function
- fixed some logging
12 years ago
bunnei 6b264518a5 added initial kernel/thread modules 12 years ago