aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
Commit message (Collapse)AuthorAgeFilesLines
* core: hle: kernel: Rename Thread to KThread.bunnei2021-01-281-460/+0
|
* hle: kernel: thread: Preserve thread wait reason for debugging only.bunnei2021-01-111-1/+5
| | | | - This is decoupled from core functionality and used for debugging only.
* core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.bunnei2021-01-111-100/+127
|
* hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ↵bunnei2021-01-111-51/+30
| | | | | | ThreadState. - This is how the real kernel works, and is more accurate and simpler.
* core: hle: kernel: Update KSynchronizationObject.bunnei2021-01-111-47/+19
|
* hle: kernel: Migrate to KScopedSchedulerLock.bunnei2020-12-061-9/+8
|
* hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.bunnei2020-12-061-1/+2
|
* hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei2020-12-061-37/+13
|
* hle: kernel: Port KAffinityMask from Mesosphere.bunnei2020-12-061-5/+6
|
* hle: kernel: thread: Remove unused "Running" state.bunnei2020-11-291-5/+0
|
* hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei2020-11-291-25/+2
|
* core: Remove usage of unicornLioncash2020-11-031-14/+3
| | | | | | | | 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.
* Revert "core: Fix clang build"bunnei2020-10-201-1/+1
|
* core: Fix clang buildLioncash2020-10-171-1/+1
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* cpu_manager: Mark function getters as staticLioncash2020-07-161-1/+1
| | | | | All these do are return std::function instances of static functions, so these can be used without an instance of the CPU manager.
* kernel/thread: Remove global GetCurrentThread()Lioncash2020-07-151-17/+5
| | | | | 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.
* Kernel: Correct Host Context on Threads and Scheduler.Fernando Sahmkow2020-06-271-1/+1
|
* General: Cleanup legacy code.Fernando Sahmkow2020-06-271-34/+0
|
* SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow2020-06-271-4/+8
|
* Thread: Release the ARM Interface on exitting.Fernando Sahmkow2020-06-271-0/+2
|
* General: Move ARM_Interface into Threads.Fernando Sahmkow2020-06-271-0/+35
|
* General: Fix Stop functionFernando Sahmkow2020-06-271-3/+5
|
* Kernel: Preempt Single core on redudant yields.Fernando Sahmkow2020-06-271-9/+12
|
* Scheduler: Set last running time on thread.Fernando Sahmkow2020-06-271-4/+0
|
* ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow2020-06-271-3/+3
|
* SVC: Correct SetThreadActivity.Fernando Sahmkow2020-06-271-21/+40
|
* SCC: Small corrections to CancelSynchronizationFernando Sahmkow2020-06-271-2/+3
|
* Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for ↵Fernando Sahmkow2020-06-271-8/+7
| | | | Debugging
* Core: Correct HLE Event Callbacks and other issues.Fernando Sahmkow2020-06-271-18/+17
|
* SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.Fernando Sahmkow2020-06-271-1/+1
|
* SVC: Correct SendSyncRequest.Fernando Sahmkow2020-06-271-4/+10
|
* SVC: Correct ArbitrateUnlockFernando Sahmkow2020-06-271-1/+1
|
* SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, ↵Fernando Sahmkow2020-06-271-5/+9
| | | | CancelSynchronization, ArbitrateLock
* SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, ↵Fernando Sahmkow2020-06-271-4/+2
| | | | SetThreadCoreMask, GetCurrentProcessorNumber
* SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.Fernando Sahmkow2020-06-271-20/+18
|
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-136/+96
| | | | | | | 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.
* kernel: Don't fail silentlyDavid Marcec2020-04-291-0/+2
|
* Merge pull request #3725 from MerryMage/fpcrbunnei2020-04-221-2/+1
|\ | | | | thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)
| * thread: FPCR.FZ is likely not 1MerryMage2020-04-191-2/+1
| |
* | kernel/thread: Resolve -Wswitch warningsLioncash2020-04-151-0/+2
|/
* core: Implement separate A32/A64 ARM interfaces.bunnei2020-03-021-14/+17
|
* Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow2020-02-221-6/+6
|
* Merge pull request #3401 from FernandoS27/synchronizationbunnei2020-02-141-15/+22
|\ | | | | Set of refactors for Kernel Synchronization and Hardware Constants
| * Core: Set all hardware emulation constants in a single file.Fernando Sahmkow2020-02-111-7/+8
| |
| * Kernel: Refactor synchronization to better match REFernando Sahmkow2020-02-111-1/+5
| |
| * Kernel: Change WaitObject to Synchronization object. In order to better ↵Fernando Sahmkow2020-02-111-7/+9
| | | | | | | | reflect RE.
* | kernel/thread: Remove trivial usages of the global system accessorLioncash2020-02-121-2/+2
|/ | | | | We can just use the kernel member variable directly instead of going through the system to obtain the same thing.
* Kernel: Remove a few global instances from the kernel.Fernando Sahmkow2020-01-261-1/+1
|
* Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow2020-01-261-2/+1
| | | | This commit instends on better naming the new purpose of this classes.
* core/memory: Migrate over address checking functions to the new Memory classLioncash2019-11-261-2/+2
| | | | | | | | | 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.