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
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
11 years ago
archshift
6e606c515f
core: Prune redundant includes
11 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