bunnei
ba09b4d69d
hle: kernel: Port KAffinityMask from Mesosphere.
5 years ago
bunnei
b2de57e93e
hle: kernel: thread: Remove unused "Running" state.
5 years ago
bunnei
aaffe73f47
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
5 years ago
Lioncash
5c55f3b585
core: Remove usage of unicorn
Unicorn long-since lost most of its use, due to dynarmic gaining support
for handling most instructions. At this point any further issues
encountered should be used to make dynarmic better.
This also allows us to remove our dependency on Python.
5 years ago
bunnei
deb3536936
Revert "core: Fix clang build"
5 years ago
Lioncash
18636013c9
core: Fix clang build
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
5 years ago
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
Lioncash
7deb699566
kernel/thread: Remove global GetCurrentThread()
This is only used in one place, so we can fold it into the calling code,
eliminating a place for the global system instance to be used.
6 years ago
Fernando Sahmkow
555c4c238c
Kernel: Correct Host Context on Threads and Scheduler.
6 years ago
Fernando Sahmkow
6f0c873d48
General: Cleanup legacy code.
6 years ago
Fernando Sahmkow
f0f2fc4243
SingleCore: Use Cycle Timing instead of Host Timing.
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
cb974be3ce
General: Fix Stop function
6 years ago
Fernando Sahmkow
0963ff1ae9
Kernel: Preempt Single core on redudant yields.
6 years ago
Fernando Sahmkow
65225cf61b
Scheduler: Set last running time on thread.
6 years ago
Fernando Sahmkow
5eac520ae3
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
6 years ago
Fernando Sahmkow
87117805c9
SVC: Correct SetThreadActivity.
6 years ago
Fernando Sahmkow
c1f6b99653
SCC: Small corrections to CancelSynchronization
6 years ago
Fernando Sahmkow
5e26654c5a
Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging
6 years ago
Fernando Sahmkow
da260b9d2e
Core: Correct HLE Event Callbacks and other issues.
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
5c70bfcef7
SVC: Correct ArbitrateUnlock
6 years ago
Fernando Sahmkow
8c9d258e66
SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock
6 years ago
Fernando Sahmkow
b2fea85499
SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber
6 years ago
Fernando Sahmkow
451344e9ae
SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.
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
David Marcec
4f69eb7061
kernel: Don't fail silently
6 years ago
MerryMage
5451c81b74
thread: FPCR.FZ is likely not 1
6 years ago
Lioncash
0f32ae2140
kernel/thread: Resolve -Wswitch warnings
6 years ago
bunnei
048ac77adc
core: Implement separate A32/A64 ARM interfaces.
6 years ago
Fernando Sahmkow
e6cc0a48e0
Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.
6 years ago
Lioncash
750c48af18
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.
6 years ago
Fernando Sahmkow
6fc0790f3a
Core: Set all hardware emulation constants in a single file.
6 years ago
Fernando Sahmkow
1ee7a4d926
Kernel: Refactor synchronization to better match RE
6 years ago
Fernando Sahmkow
3a7f539463
Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.
6 years ago
Fernando Sahmkow
3230cfebb7
Kernel: Remove a few global instances from the kernel.
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
Lioncash
811191a9c9
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.
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
Fernando Sahmkow
b021fa33b9
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.
6 years ago
Fernando Sahmkow
323a0e17e7
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
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
Fernando Sahmkow
4f8fa2dd29
Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.
6 years ago
Fernando Sahmkow
3300a7631d
Kernel: Address Feedback 2
6 years ago
Fernando Sahmkow
5acd086b18
Kernel: Clang Format
6 years ago
Fernando Sahmkow
ac9dd91f1e
Kernel: Reverse global accessor removal.
6 years ago
Fernando Sahmkow
a88238d68d
Kernel: Address Feedback.
6 years ago
Fernando Sahmkow
0d57b899dd
Kernel_Thread: Eliminate most global accessors.
6 years ago