Lioncash
02ff5e8d81
cpu_manager: Mark function getters as static
All these do are return std::function instances of static functions, so
these can be used without an instance of the CPU manager.
6 years ago
ReinUsesLisp
a0226819e1
core_timing,scheduler: Use std::scoped_lock when possible
Simplifies the cognitive load of procedures using locks and makes locks
safe against exceptions.
6 years ago
Fernando Sahmkow
94a51e6b21
Core/Common: Address Feedback.
6 years ago
Fernando Sahmkow
555c4c238c
Kernel: Correct Host Context on Threads and Scheduler.
6 years ago
Fernando Sahmkow
21235cdab1
Scheduler: Correct Reload/Unload
6 years ago
Fernando Sahmkow
720858ba13
Thread: Release the ARM Interface on exitting.
6 years ago
Fernando Sahmkow
db60ca2704
General: Move ARM_Interface into Threads.
6 years ago
Fernando Sahmkow
d03d00c9c2
Scheduler: Correct yielding interaction with SetThreadActivity.
6 years ago
Fernando Sahmkow
b121009e03
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
6 years ago
Fernando Sahmkow
3869e55c27
Kernel: Rewind on SVC change.
6 years ago
Fernando Sahmkow
ebb640e968
CPU_Manager: Unload/Reload threads on preemption on SingleCore
6 years ago
Fernando Sahmkow
65225cf61b
Scheduler: Set last running time on thread.
6 years ago
Fernando Sahmkow
76daf8f672
Kernel: Corrections to TimeManager, Scheduler and Mutex.
6 years ago
Fernando Sahmkow
24bc1f020a
Kernel: Fixes, corrections and asserts to scheduler and different svcs.
6 years ago
Fernando Sahmkow
5183094c24
Scheduler: Correct yields.
6 years ago
Fernando Sahmkow
a9ed059a07
Scheduler: Remove arm_interface lock and a few corrections.
6 years ago
Fernando Sahmkow
87117805c9
SVC: Correct SetThreadActivity.
6 years ago
Fernando Sahmkow
e5454c3665
Scheduler: Correct locking for hle threads.
6 years ago
Fernando Sahmkow
723a909ee9
Scheduler: Fix HLE Threads on guard
6 years ago
Fernando Sahmkow
b80f252d11
Scheduler: Protect on closed threads.
6 years ago
Fernando Sahmkow
e501cbe5b8
Scheduler: Correct assert.
6 years ago
Fernando Sahmkow
c8e62451c6
Core: Correct rebase.
6 years ago
Fernando Sahmkow
8c30c20863
Scheduler: Release old thread fiber before trying to switch to the next thread fiber.
6 years ago
Fernando Sahmkow
a3f7acb149
Scheduler: Correct Select Threads Step 2.
6 years ago
Fernando Sahmkow
47c01e68da
Kernel: Corrections to Scheduling.
6 years ago
Fernando Sahmkow
cd3d1798d8
General: Add Asserts
6 years ago
Fernando Sahmkow
78eeea9f17
General: Add better safety for JIT use.
6 years ago
Fernando Sahmkow
6605f8acfa
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
6 years ago
Fernando Sahmkow
85ca7b2bdb
SVC: Correct SendSyncRequest.
6 years ago
Fernando Sahmkow
7ee76003ad
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
048ac77adc
core: Implement separate A32/A64 ARM interfaces.
6 years ago
Fernando Sahmkow
d0b12c793d
Scheduler: Inline global scheduler in Scheduler Lock.
6 years ago
Fernando Sahmkow
d6584d988f
Kernel: Correct pending feedback.
6 years ago
Fernando Sahmkow
78f01601d0
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
7c2b72bcef
Kernel: Implement Scheduler locks
6 years ago
Fernando Sahmkow
f5da504663
Kernel: Make global scheduler depend on KernelCore
6 years ago
Fernando Sahmkow
0d2a459fae
Core: Address Feedback
6 years ago
Fernando Sahmkow
6fc0790f3a
Core: Set all hardware emulation constants in a single file.
6 years ago
Fernando Sahmkow
0a5e0d4777
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
2624ac7ae8
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
5cb0f276fe
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
63a3b54c1f
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
33df906815
scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as const
This is only compared against, so it can be made const.
6 years ago
Lioncash
0ae1dedad7
scheduler: Silence sign conversion warnings
6 years ago
Lioncash
3dbc651296
scheduler: Initialize class members directly where applicable
Reduces the overall amount of code.
6 years ago
Lioncash
34e9a6ea64
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
5acd086b18
Kernel: Clang Format
6 years ago
Fernando Sahmkow
a88238d68d
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
17b53b4a54
Kernel Scheduler: Make sure the global scheduler shutdowns correctly.
6 years ago
Fernando Sahmkow
3c9e26a003
Kernel: Clang Format
6 years ago