Fernando Sahmkow
7020d498c5
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
6 years ago
Fernando Sahmkow
f370de84b1
Kernel: Rewind on SVC change.
6 years ago
Fernando Sahmkow
a439cdf22e
CPU_Manager: Unload/Reload threads on preemption on SingleCore
6 years ago
Fernando Sahmkow
391f5f360d
Scheduler: Set last running time on thread.
6 years ago
Fernando Sahmkow
9e9c287f8b
Kernel: Corrections to TimeManager, Scheduler and Mutex.
6 years ago
Fernando Sahmkow
6515c6e8c6
Kernel: Fixes, corrections and asserts to scheduler and different svcs.
6 years ago
Fernando Sahmkow
4217e58a10
Scheduler: Correct yields.
6 years ago
Fernando Sahmkow
725bac1404
Scheduler: Remove arm_interface lock and a few corrections.
6 years ago
Fernando Sahmkow
83c7ba1ef7
SVC: Correct SetThreadActivity.
6 years ago
Fernando Sahmkow
44cb9997b3
Scheduler: Correct locking for hle threads.
6 years ago
Fernando Sahmkow
6ed28e15fa
Scheduler: Fix HLE Threads on guard
6 years ago
Fernando Sahmkow
3de33348e4
Scheduler: Protect on closed threads.
6 years ago
Fernando Sahmkow
19847d4d42
Scheduler: Correct assert.
6 years ago
Fernando Sahmkow
a33fbaddec
Core: Correct rebase.
6 years ago
Fernando Sahmkow
1c672128c4
Scheduler: Release old thread fiber before trying to switch to the next thread fiber.
6 years ago
Fernando Sahmkow
1e987dbe8d
Scheduler: Correct Select Threads Step 2.
6 years ago
Fernando Sahmkow
07993ac8c8
Kernel: Corrections to Scheduling.
6 years ago
Fernando Sahmkow
2a8837ff51
General: Add Asserts
6 years ago
Fernando Sahmkow
04e0f8776c
General: Add better safety for JIT use.
6 years ago
Fernando Sahmkow
d4ebb510a0
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
6 years ago
Fernando Sahmkow
15a79eb0d7
SVC: Correct SendSyncRequest.
6 years ago
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
6 years ago
bunnei
c083ea7d78
core: Implement separate A32/A64 ARM interfaces.
6 years ago
Fernando Sahmkow
3d0a2375ca
Scheduler: Inline global scheduler in Scheduler Lock.
6 years ago
Fernando Sahmkow
a1bf353780
Kernel: Correct pending feedback.
6 years ago
Fernando Sahmkow
d219a96cc8
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
ea956c823e
Kernel: Implement Scheduler locks
6 years ago
Fernando Sahmkow
0728dfef84
Kernel: Make global scheduler depend on KernelCore
6 years ago
Fernando Sahmkow
2bc949628d
Core: Address Feedback
6 years ago
Fernando Sahmkow
1e6f8aba04
Core: Set all hardware emulation constants in a single file.
6 years ago
Fernando Sahmkow
e4a1ead897
Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.
This commit instends on better naming the new purpose of this classes.
6 years ago
Fernando Sahmkow
40cd4df584
CpuCore: Clear exclusive state after doing a run in dynarmic.
This commit corrects an error in which a Core could remain with an
exclusive state after running, leaving space for possible race
conditions between changing cores.
6 years ago
bunnei
9046d4a548
kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. ( #3154 )
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
6 years ago
Lioncash
12dc918937
kernel: Resolve sign conversion warnings
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an
unsigned variable (ideal_core) was being compared against "< 0", which
would always be a false condition.
We can also get rid of an unused function (GetNextProcessorId) which contained a sign
mismatch warning.
6 years ago
Lioncash
6c8f28813c
scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as const
This is only compared against, so it can be made const.
6 years ago
Lioncash
f19c1a7cda
scheduler: Silence sign conversion warnings
6 years ago
Lioncash
2fb0bbff29
scheduler: Initialize class members directly where applicable
Reduces the overall amount of code.
6 years ago
Lioncash
2dc469ceba
scheduler: Amend documentation comments
Adjusts the formatting of a few of the comments an ensures they get
recognized as proper Doxygen comments.
6 years ago
Fernando Sahmkow
a3524879be
Kernel: Clang Format
6 years ago
Fernando Sahmkow
3073615dbc
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
25f8606a6d
Kernel Scheduler: Make sure the global scheduler shutdowns correctly.
6 years ago
Fernando Sahmkow
1ec1e81373
Kernel: Clang Format
6 years ago
Fernando Sahmkow
e05a8c2385
Kernel: Remove global system accessor from WaitObject
6 years ago
Fernando Sahmkow
0cf26cee59
Scheduler: Implement Yield Count and Core migration on Thread Preemption.
6 years ago
Fernando Sahmkow
2d382de6fa
Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection.
6 years ago
Fernando Sahmkow
b49c0dab87
Kernel: Initial implementation of thread preemption.
6 years ago
Fernando Sahmkow
103f3a2fe5
Scheduler: Add protections for Yield bombing
In case of redundant yields, the scheduler will now idle the core for
it's timeslice, in order to avoid continuously yielding the same thing
over and over.
6 years ago
Fernando Sahmkow
82218c925a
Kernel: Style and Corrections
7 years ago
Fernando Sahmkow
3a94e7ea33
Comment and reorganize the scheduler
7 years ago
Fernando Sahmkow
b164d8ee53
Implement a new Core Scheduler
7 years ago