summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/thread.h (follow)
Commit message (Expand)AuthorAgeFilesLines
* SCC: Small corrections to CancelSynchronizationFernando Sahmkow2020-06-271-0/+9
* SVC: Correct svcWaitForAddress and svcSignalToAddress.Fernando Sahmkow2020-06-271-0/+9
* Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for DebuggingFernando Sahmkow2020-06-271-7/+7
* Core: Correct HLE Event Callbacks and other issues.Fernando Sahmkow2020-06-271-7/+9
* SVC: Correct SendSyncRequest.Fernando Sahmkow2020-06-271-29/+53
* SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLockFernando Sahmkow2020-06-271-2/+15
* SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumberFernando Sahmkow2020-06-271-2/+1
* SVC: Correct CreateThread, StartThread, ExitThread, SleepThread.Fernando Sahmkow2020-06-271-4/+8
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-14/+67
* core: Implement separate A32/A64 ARM interfaces.bunnei2020-03-031-6/+16
* Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel.Fernando Sahmkow2020-02-221-1/+5
* Kernel: Refactor synchronization to better match REFernando Sahmkow2020-02-111-0/+1
* Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.Fernando Sahmkow2020-02-111-11/+11
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2019-11-251-19/+20
* Kernel: Correct Cancel Synchronization.Fernando Sahmkow2019-11-161-0/+9
* Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.Fernando Sahmkow2019-10-151-3/+0
* Kernel: Address Feedback 2Fernando Sahmkow2019-10-151-6/+3
* Kernel: Address Feedback.Fernando Sahmkow2019-10-151-4/+12
* Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel.Fernando Sahmkow2019-10-151-0/+3
* Kernel: Clang FormatFernando Sahmkow2019-10-151-1/+1
* Scheduler: Implement Yield Count and Core migration on Thread Preemption.Fernando Sahmkow2019-10-151-0/+9
* Scheduler: Add protections for Yield bombingFernando Sahmkow2019-10-151-3/+3
* Kernel: Style and CorrectionsFernando Sahmkow2019-10-151-5/+10
* Addapt thread class to the new SchedulerFernando Sahmkow2019-10-151-1/+54
* kernel/process: Decouple TLS handling from threadsLioncash2019-07-041-15/+1
* Merge pull request #2410 from lioncash/affinitybunnei2019-05-191-6/+15
|\
| * kernel/thread: Update thread processor ID flagsLioncash2019-04-291-6/+15
* | Merge pull request #2416 from lioncash/waitbunnei2019-04-251-18/+22
|\ \
| * | kernel/thread: Unify wait synchronization typesLioncash2019-04-171-15/+13
| * | kernel/svc: Migrate svcCancelSynchronization behavior to a thread functionLioncash2019-04-171-3/+9
* | | Merge pull request #2397 from lioncash/thread-unusedbunnei2019-04-181-7/+5
|\ \ \ | |/ / |/| |
| * | svc: Specify handle value in thread's nameLioncash2019-04-151-0/+5
| * | kernel/thread: Remove unused guest_handle member variableLioncash2019-04-141-7/+0
| |/
* / kernel/thread: Remove BoostPriority()Lioncash2019-04-151-6/+0
|/
* kernel: Make handle type declarations constexprLioncash2019-04-111-1/+1
* kernel/thread: Make AllWaitObjectsReady() a const qualified member functionLioncash2019-04-021-1/+1
* kernel/wait_object: Make ShouldWait() take thread members by pointer-to-constLioncash2019-04-021-1/+1
* kernel/thread: Make parameter of GetWaitObjectIndex() const qualifiedLioncash2019-04-011-1/+1
* Add CondVar Thread State.Fernando Sahmkow2019-03-201-1/+2
* Merge pull request #2238 from lioncash/threadbunnei2019-03-181-2/+8
|\
| * kernel/thread: Expand documentation of nominal_priority and current_priorityLioncash2019-03-161-2/+8
* | kernel/thread: Move thread exiting logic from ExitCurrentThread to svcExitThreadLioncash2019-03-161-5/+0
* | kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interfaceLioncash2019-03-161-5/+3
|/
* kernel: Rename 'default' CPU core to 'ideal' coreLioncash2018-12-281-6/+6
* kernel/thread: Move process thread initialization into process.cppLioncash2018-12-281-11/+0
* Merge pull request #1849 from encounter/svcSetThreadActivitybunnei2018-12-261-0/+14
|\
| * svc: Implement SetThreadActivity (thread suspension)Luke Street2018-12-041-0/+14
* | kernel/thread: Make thread_id a 64-bit valueLioncash2018-12-191-2/+2
* | scheduler: Add explanations for YieldWith and WithoutLoadBalancingZach Hilman2018-11-221-4/+0
* | svc: Implement yield types 0 and -1Zach Hilman2018-11-191-0/+5
|/
* kernel/thread: Deduplicate scheduler switching codeLioncash2018-11-141-0/+2
* svc: Implement svcGetInfo command 0xF0000002Lioncash2018-10-261-1/+10
* kernel/thread: Use a regular pointer for the owner/current processLioncash2018-10-101-4/+4
* thread: Make the scheduler pointer a regular pointerbalika0112018-10-051-1/+1
* kernel/thread: Make all instance variables privateLioncash2018-10-041-35/+181
* thread/process: Move TLS slot marking/freeing to the process classLioncash2018-09-211-1/+12
* kernel/thread: Use owner_process when setting the page table in SetupMainThread()Lioncash2018-09-211-1/+1
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-1/+1
* kernel/thread: Include thread-related enums within the kernel namespaceLioncash2018-09-131-6/+6
* kernel: Eliminate kernel global stateLioncash2018-08-291-14/+8
* core: Namespace all code in the arm subdirectory under the Core namespaceLioncash2018-08-251-1/+1
* kernel/thread: Fix potential crashes introduced in 26de4bb521b1ace7af76eff4f6956cb23ac0d58cLioncash2018-08-041-0/+2
* kernel: Move object class to its own source filesLioncash2018-08-021-1/+1
* kernel/thread: Remove unimplemented function prototypeLioncash2018-08-011-6/+0
* kernel: Remove unnecessary includesLioncash2018-07-311-3/+2
* Merge pull request #751 from Subv/tpidr_el0bunnei2018-07-211-0/+9
|\
| * CPU: Save and restore the TPIDR_EL0 system register on every context switch.Subv2018-07-211-0/+9
* | thread: Convert ThreadStatus into an enum classLioncash2018-07-201-14/+14
|/
* Run clang-format on PR.Michael Scire2018-06-221-2/+2
* Kernel/Arbiters: HLE is atomic, adjust code to reflect that.Michael Scire2018-06-221-1/+0
* Kernel/Arbiters: Initialize arb_wait_address in thread struct.Michael Scire2018-06-211-1/+1
* Kernel/Arbiters: Mostly implement SignalToAddressMichael Scire2018-06-211-2/+4
* Kernel/Arbiters: Implement WaitForAddressMichael Scire2018-06-211-2/+4
* Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.Michael Scire2018-06-211-0/+1
* thread: Rename mask to affinity_masks.bunnei2018-05-111-1/+1
* thread: Implement ChangeCore function.bunnei2018-05-111-0/+6
* core: Implement multicore support.bunnei2018-05-111-0/+4
* Kernel: Implemented mutex priority inheritance.Subv2018-04-231-0/+15
* Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOsSubv2018-04-211-1/+1
* Kernel: Remove unused ConditionVariable class.Subv2018-04-211-6/+0
* Kernel: Remove old and unused Mutex code.Subv2018-04-211-7/+0
* Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.Subv2018-04-211-1/+5
* thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.bunnei2018-03-191-1/+1
* kernel: Use Scheduler class for threading.bunnei2018-02-181-15/+0
* kernel: Remove unused address_arbiter code.bunnei2018-02-181-12/+0
* Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.Subv2018-02-181-0/+1
* Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)Subv2018-01-101-4/+9
* Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.Subv2018-01-091-3/+7
* thread: Keep track of the initially created handle.bunnei2017-12-311-0/+3
* kernel: Various 64-bit fixes in memory/process/threadbunnei2017-12-291-2/+2
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-15/+33
|\
| * Merge pull request #2971 from Subv/per_process_memopsSebastian Valle2017-10-011-0/+6
| |\
| | * Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.Subv2017-10-011-0/+6
| * | Merge pull request #2967 from Subv/thread_wakeup_callbacksSebastian Valle2017-09-301-3/+12
| |\ \ | | |/ | |/|
| | * Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.Subv2017-09-281-3/+12
| * | Fixed type conversion ambiguityHuw Pascoe2017-09-301-7/+7
| * | Kernel/Thread: Allow specifying which process a thread belongs to when creating it.Subv2017-09-271-6/+9
| |/
* / kernel: Various threading fixes to support 64-bit addressing.bunnei2017-09-301-5/+5
|/
* Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner2017-05-301-0/+1
* Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner2017-05-251-1/+1
* Core: Remove unnecessary include in thread.hYuri Kunde Schlesner2017-02-271-1/+0
* Merge pull request #2410 from Subv/sleepthreadbunnei2017-01-071-0/+5
|\
| * Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.Subv2017-01-061-0/+5
* | Kernel: Remove some unused functions.Subv2017-01-051-9/+0
|/
* Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.Subv2017-01-051-9/+7
* Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.Subv2017-01-041-9/+10
* Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexesSubv2017-01-041-0/+9
* Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv2017-01-041-2/+2
* ThreadContext: Move from "core" to "arm_interface".bunnei2016-12-221-1/+2
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-221-1/+0
* Thread: remove the thread from the thread list when exitingwwylele2016-12-171-0/+5
* Fixed the codestyle to match our clang-format rules.Subv2016-12-141-4/+6
* WaitSynch: Removed unused variables and reduced SharedPtr copies.Subv2016-12-091-2/+3
* Threading: Added some utility functions and const correctness.Subv2016-12-041-3/+16
* Threading: Reworked the way our scheduler works.Subv2016-12-041-6/+16
* implement wait tree widgetwwylele2016-09-221-0/+5
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-4/+0
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-32/+46
* Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.Subv2016-05-071-2/+2
* General: Fix up doxygen commentsLioncash2015-09-101-1/+0
* Common: Cleanup key_map includes.Emmanuel Gil Peyrot2015-06-281-0/+1
* kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei2015-06-171-9/+5
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-1/+1
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-1/+0
* Merge pull request #748 from Subv/tls_maxbunnei2015-05-121-1/+1
|\
| * Core/Memory: Add TLS support for creating up to 300 threadsSubv2015-05-121-1/+1
* | Merge pull request #751 from yuriks/idle-threadbunnei2015-05-121-17/+0
|\ \ | |/ |/|
| * Thread: Remove the idle threadYuri Kunde Schlesner2015-05-121-17/+0
* | Merge pull request #750 from Subv/process_svcYuri Kunde Schlesner2015-05-121-0/+2
|\ \ | |/ |/|
| * Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThreadSubv2015-05-111-0/+2
* | Thread: Correctly set main thread initial stack positionYuri Kunde Schlesner2015-05-111-2/+1
|/
* fixup! Set the TLS address in the schedulerSubv2015-05-111-0/+2
* Core/Memory: Give every emulated thread it's own TLS area.Subv2015-05-111-0/+6
* Kernel: Remove unused g_main_thread variableYuri Kunde Schlesner2015-05-091-2/+0
* Kernel: Implemented priority inheritance for mutexes.bunnei2015-04-101-0/+6
* Thread: Implement priority boost for starved threads.bunnei2015-04-101-10/+15
* Kernel: Fixed default thread priority.bunnei2015-04-101-4/+3
* Scheduler refactor Pt. 1Kevin Hartman2015-02-101-33/+82
* Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner2015-02-021-0/+2
* Explicitly instantiate constructors/destructors for Kernel objectsYuri Kunde Schlesner2015-02-021-0/+1
* Mutex: Replace g_mutex_held_locks with a set inside ThreadYuri Kunde Schlesner2015-02-021-2/+8
* Kernel: Use separate Handle tables for CoreTiming userdataYuri Kunde Schlesner2015-02-021-0/+3
* Thread: Modernize two functions that slipped through previous rebasesYuri Kunde Schlesner2015-02-021-8/+7
* Kernel: Mark all appropriate kernel objects as "final"Yuri Kunde Schlesner2015-01-301-2/+1
* Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei2015-01-221-7/+14
* Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei2015-01-221-2/+2
* WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei2015-01-221-1/+1
* Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.bunnei2015-01-221-1/+1
* AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.bunnei2015-01-221-9/+8
* Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei2015-01-221-31/+10
* WaitSynchronizationN: Refactor to fix several bugsbunnei2015-01-221-2/+2
* Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei2015-01-221-1/+2
* WaitSynchronizationN: Implement return valuesbunnei2015-01-221-16/+42
* Thread: Keep track of multiple wait objects.bunnei2015-01-221-3/+3
* Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei2015-01-221-3/+1
* core: Fix a few docstringsLioncash2015-01-201-1/+1
* Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner2015-01-091-4/+4
* Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner2015-01-091-46/+22
* Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner2015-01-091-0/+57
* Merge pull request #255 from Subv/cbranch_3bunnei2015-01-091-0/+1
|\
| * SVC: Implemented the Timer service calls.Subv2015-01-091-0/+1
* | SVC: Fixed SleepThread.Subv2015-01-091-0/+7
* | Threads: Use a dummy idle thread when no other are ready.Subv2015-01-081-0/+11
|/
* Kernel: New handle managerYuri Kunde Schlesner2014-12-281-3/+0
* Merge pull request #291 from purpasmart96/licensebunnei2014-12-211-1/+1
|\
| * License changepurpasmart962014-12-211-1/+1
* | Thread: Wait current thread on svc_SleepThreadbunnei2014-12-211-1/+0
* | Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner2014-12-201-0/+3
|/
* Thread: Fixed to wait on address when in arbitration.bunnei2014-12-091-0/+11
* Threads: Implemented a sequential thread idSubv2014-12-041-1/+6
* SVC: Implemented GetThreadId.Subv2014-12-041-0/+3
* HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner2014-11-241-3/+4
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-1/+1
* Thread: Added more descriptive comment to WaitCurrentThread.bunnei2014-08-071-1/+5
* Thread: Added functions to resume threads from address arbitration.bunnei2014-07-091-0/+7
* Kernel: Added real support for thread and event blockingbunnei2014-06-131-3/+6
* svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle supportbunnei2014-06-021-0/+6
* thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argumentbunnei2014-05-231-2/+2
* thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThreadbunnei2014-05-231-1/+1
* kernel: refactored function naming to remove "__" prefixbunnei2014-05-231-2/+2
* thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR resetbunnei2014-05-231-1/+25
* thread: added correct lowest thread priority, added a thread priority check, and added some commentsbunnei2014-05-211-6/+7
* thread: exposed ResumeThreadFromWait function for use in other kernel modulesbunnei2014-05-211-0/+3
* thread: moved threading calls to the Kernel namespacebunnei2014-05-211-9/+17
* thread: whitespace change - fixed * and & placementbunnei2014-05-211-2/+2
* - created a Kernel namespacebunnei2014-05-211-2/+2
* thread: added declaration for __KernelReschedule to be used by syscall modulebunnei2014-05-201-0/+3
* changed a commentbunnei2014-05-171-1/+1
* - added enum ThreadProcessorIdbunnei2014-05-171-2/+17
* - replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTHbunnei2014-05-171-1/+5
* completely gutted/refactored threading code to be simplerbunnei2014-05-161-42/+2
* - added helper function for __KernelCreateThreadbunnei2014-05-151-0/+6
* various cleanups / remove unused codebunnei2014-05-141-0/+1
* added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off pointbunnei2014-05-141-6/+19
* added initial kernel/thread modulesbunnei2014-05-101-0/+36