suyu/src/core
Subv 8634b8cb83 Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.

The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.

This new implementation is based off reverse-engineering of the real kernel.

See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
..
arm dynarmic: Add ticks based on ticks executed, not ticks requested 2016-11-26 20:32:33 +00:00
file_sys FileSys: rename SaveDataCheck archive to NCCH archive 2016-11-19 18:55:35 +02:00
gdbstub Add mingw compile support 2016-11-13 23:50:46 -07:00
hle Threading: Reworked the way our scheduler works. 2016-12-03 22:38:14 -05:00
hw GPU: Remove the broken frame_skip option. 2016-11-27 21:19:56 +00:00
loader Kernel/Loader: Grab the system mode from the NCCH ExHeader. 2016-11-27 18:03:48 -05:00
tracer Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
CMakeLists.txt FileSys: rename SaveDataCheck archive to NCCH archive 2016-11-19 18:55:35 +02:00
core.cpp Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
core.h Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
core_timing.cpp Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
core_timing.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
memory.cpp Expose page table to dynarmic for optimized reads and writes to the JIT 2016-11-24 20:41:18 -07:00
memory.h Expose page table to dynarmic for optimized reads and writes to the JIT 2016-11-24 20:41:18 -07:00
memory_setup.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
mmio.h Remove empty newlines in #include blocks. 2016-09-21 11:15:47 +09:00
settings.cpp Support additional screen layouts. 2016-11-05 02:55:41 -06:00
settings.h GPU: Remove the broken frame_skip option. 2016-11-27 21:19:56 +00:00
system.cpp Kernel/Loader: Grab the system mode from the NCCH ExHeader. 2016-11-19 20:40:04 -05:00
system.h Kernel/Loader: Grab the system mode from the NCCH ExHeader. 2016-11-19 20:40:04 -05:00