aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
AgeCommit message (Collapse)Author
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2021-01-11hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei
- This is decoupled from core functionality and used for debugging only.
2021-01-11core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.bunnei
2021-01-11hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ↵bunnei
ThreadState. - This is how the real kernel works, and is more accurate and simpler.
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei
2020-12-06hle: kernel: Migrate to KScopedSchedulerLock.bunnei
2020-12-06hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.bunnei
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-12-06hle: kernel: Port KAffinityMask from Mesosphere.bunnei
2020-11-29hle: kernel: thread: Remove unused "Running" state.bunnei
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei
2020-11-03core: Remove usage of unicornLioncash
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.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-07-16cpu_manager: Mark function getters as staticLioncash
All these do are return std::function instances of static functions, so these can be used without an instance of the CPU manager.
2020-07-15kernel/thread: Remove global GetCurrentThread()Lioncash
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.
2020-06-27Kernel: Correct Host Context on Threads and Scheduler.Fernando Sahmkow
2020-06-27General: Cleanup legacy code.Fernando Sahmkow
2020-06-27SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow
2020-06-27Thread: Release the ARM Interface on exitting.Fernando Sahmkow
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow
2020-06-27General: Fix Stop functionFernando Sahmkow
2020-06-27Kernel: Preempt Single core on redudant yields.Fernando Sahmkow
2020-06-27Scheduler: Set last running time on thread.Fernando Sahmkow
2020-06-27ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow
2020-06-27SVC: Correct SetThreadActivity.Fernando Sahmkow
2020-06-27SCC: Small corrections to CancelSynchronizationFernando Sahmkow
2020-06-27Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for ↵Fernando Sahmkow
Debugging
2020-06-27Core: Correct HLE Event Callbacks and other issues.Fernando Sahmkow
2020-06-27SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.Fernando Sahmkow
2020-06-27SVC: Correct SendSyncRequest.Fernando Sahmkow
2020-06-27SVC: Correct ArbitrateUnlockFernando Sahmkow
2020-06-27SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, ↵Fernando Sahmkow
CancelSynchronization, ArbitrateLock
2020-06-27SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, ↵Fernando Sahmkow
SetThreadCoreMask, GetCurrentProcessorNumber
2020-06-27SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.Fernando Sahmkow
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
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.
2020-04-29kernel: Don't fail silentlyDavid Marcec
2020-04-22Merge pull request #3725 from MerryMage/fpcrbunnei
thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)
2020-04-19thread: FPCR.FZ is likely not 1MerryMage
2020-04-15kernel/thread: Resolve -Wswitch warningsLioncash
2020-03-02core: Implement separate A32/A64 ARM interfaces.bunnei
2020-02-22Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow
2020-02-14Merge pull request #3401 from FernandoS27/synchronizationbunnei
Set of refactors for Kernel Synchronization and Hardware Constants
2020-02-12kernel/thread: Remove trivial usages of the global system accessorLioncash
We can just use the kernel member variable directly instead of going through the system to obtain the same thing.
2020-02-11Core: Set all hardware emulation constants in a single file.Fernando Sahmkow
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better ↵Fernando Sahmkow
reflect RE.
2020-01-26Kernel: Remove a few global instances from the kernel.Fernando Sahmkow
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow
This commit instends on better naming the new purpose of this classes.
2019-11-26core/memory: Migrate over address checking functions to the new Memory classLioncash
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.