Fernando Sahmkow
d240143588
Kernel: Correct Host Context on Threads and Scheduler.
5 years ago
Fernando Sahmkow
48fa3b7a0f
General: Cleanup legacy code.
5 years ago
Fernando Sahmkow
f5e32935ca
SingleCore: Use Cycle Timing instead of Host Timing.
5 years ago
Fernando Sahmkow
5974e3ea33
Thread: Release the ARM Interface on exitting.
5 years ago
Fernando Sahmkow
1567824d2d
General: Move ARM_Interface into Threads.
5 years ago
Fernando Sahmkow
e6f8bde74b
General: Fix Stop function
5 years ago
Fernando Sahmkow
d494b074e8
Kernel: Preempt Single core on redudant yields.
5 years ago
Fernando Sahmkow
391f5f360d
Scheduler: Set last running time on thread.
5 years ago
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
5 years ago
Fernando Sahmkow
83c7ba1ef7
SVC: Correct SetThreadActivity.
5 years ago
Fernando Sahmkow
a66c61ca2d
SCC: Small corrections to CancelSynchronization
5 years ago
Fernando Sahmkow
b4dc01f16a
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
5 years ago
Fernando Sahmkow
75e10578f1
Core: Correct HLE Event Callbacks and other issues.
5 years ago
Fernando Sahmkow
d4ebb510a0
SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.
5 years ago
Fernando Sahmkow
15a79eb0d7
SVC: Correct SendSyncRequest.
5 years ago
Fernando Sahmkow
203e706302
SVC: Correct ArbitrateUnlock
5 years ago
Fernando Sahmkow
3b5b950c89
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
5 years ago
Fernando Sahmkow
589f9cf108
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
5 years ago
Fernando Sahmkow
49ba563995
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
5 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.
5 years ago
David Marcec
b6538c3e7c
kernel: Don't fail silently
5 years ago
bunnei
bee2c64b34
Merge pull request #3725 from MerryMage/fpcr
...
thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)
5 years ago
MerryMage
2bfac7b61d
thread: FPCR.FZ is likely not 1
5 years ago
Lioncash
521c4c33b5
kernel/thread: Resolve -Wswitch warnings
5 years ago
bunnei
c083ea7d78
core: Implement separate A32/A64 ARM interfaces.
5 years ago
Fernando Sahmkow
179bafa7cb
Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.
5 years ago
bunnei
f552d553ba
Merge pull request #3401 from FernandoS27/synchronization
...
Set of refactors for Kernel Synchronization and Hardware Constants
5 years ago
Lioncash
b80c348b09
kernel/thread: Remove trivial usages of the global system accessor
...
We can just use the kernel member variable directly instead of going
through the system to obtain the same thing.
5 years ago
Fernando Sahmkow
1e6f8aba04
Core: Set all hardware emulation constants in a single file.
5 years ago
Fernando Sahmkow
d23d504d77
Kernel: Refactor synchronization to better match RE
5 years ago
Fernando Sahmkow
c5aefe42aa
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
5 years ago
Fernando Sahmkow
a1630ab53e
Kernel: Remove a few global instances from the kernel.
5 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.
5 years ago
Lioncash
e58748fd80
core/memory: Migrate over address checking functions to the new Memory class
...
A fairly straightforward migration. These member functions can just be
mostly moved verbatim with minor changes. We already have the necessary
plumbing in places that they're used.
IsKernelVirtualAddress() can remain a non-member function, since it
doesn't rely on class state in any form.
5 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.
5 years ago
bunnei
6a3fc5d2ff
Merge pull request #3114 from FernandoS27/cond-var
...
Kernel: Correct behavior of Condition Variables to be more similar to real hardware.
5 years ago
bunnei
6e4d46908a
Merge pull request #3130 from FernandoS27/cancel-sync
...
Kernel: Correct Cancel Synchronization.
5 years ago
Fernando Sahmkow
2d16507f9f
Kernel: Correct behavior of Condition Variables to be more similar to real hardware.
...
This commit ensures cond var threads act exactly as they do in the real
console. The original implementation uses an RBTree and the behavior of
cond var threads is that at the same priority level they act like a
FIFO.
5 years ago
Fernando Sahmkow
7d16b2d2dd
Kernel: Correct Cancel Synchronization.
...
This commit corrects the behavior of cancel synchronization when the
thread is running/ready and ensures the next wait is cancelled as it's
suppose to.
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
Fernando Sahmkow
64e652d8cb
Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.
6 years ago
Fernando Sahmkow
e28c7f5217
Kernel: Address Feedback 2
6 years ago
Fernando Sahmkow
a3524879be
Kernel: Clang Format
6 years ago
Fernando Sahmkow
c32520ceb7
Kernel: Reverse global accessor removal.
6 years ago
Fernando Sahmkow
3073615dbc
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
b3c1deba49
Kernel_Thread: Eliminate most global accessors.
6 years ago
Fernando Sahmkow
96b1b144af
Kernel: Correct Paused scheduling
6 years ago
Fernando Sahmkow
1c6a11ab14
Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel.
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
6 years ago