summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/thread.cpp (follow)
Commit message (Expand)AuthorAgeFilesLines
* Revert "core: Fix clang build"bunnei2020-10-211-1/+1
* core: Fix clang buildLioncash2020-10-181-1/+1
* cpu_manager: Mark function getters as staticLioncash2020-07-161-1/+1
* kernel/thread: Remove global GetCurrentThread()Lioncash2020-07-151-17/+5
* 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 DebuggingFernando Sahmkow2020-06-271-8/+7
* 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, CancelSynchronization, ArbitrateLockFernando Sahmkow2020-06-271-5/+9
* SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumberFernando Sahmkow2020-06-271-4/+2
* 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
* kernel: Don't fail silentlyDavid Marcec2020-04-291-0/+2
* Merge pull request #3725 from MerryMage/fpcrbunnei2020-04-231-2/+1
|\
| * 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-031-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
|\
| * Core: Set all hardware emulation constants in a single file.Fernando Sahmkow2020-02-121-7/+8
| * Kernel: Refactor synchronization to better match REFernando Sahmkow2020-02-111-1/+5
| * Kernel: Change WaitObject to Synchronization object. In order to better reflect RE.Fernando Sahmkow2020-02-111-7/+9
* | kernel/thread: Remove trivial usages of the global system accessorLioncash2020-02-121-2/+2
|/
* 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
* core/memory: Migrate over address checking functions to the new Memory classLioncash2019-11-271-2/+2
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2019-11-251-19/+20
* Merge pull request #3114 from FernandoS27/cond-varbunnei2019-11-231-0/+8
|\
| * Kernel: Correct behavior of Condition Variables to be more similar to real hardware.Fernando Sahmkow2019-11-211-0/+8
* | Merge pull request #3130 from FernandoS27/cancel-syncbunnei2019-11-231-2/+5
|\ \ | |/ |/|
| * Kernel: Correct Cancel Synchronization.Fernando Sahmkow2019-11-161-2/+5
* | kernel: Resolve sign conversion warningsLioncash2019-11-121-30/+18
|/
* Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE.Fernando Sahmkow2019-10-151-1/+1
* Kernel: Address Feedback 2Fernando Sahmkow2019-10-151-3/+3
* Kernel: Clang FormatFernando Sahmkow2019-10-151-4/+4
* Kernel: Reverse global accessor removal.Fernando Sahmkow2019-10-151-8/+8
* Kernel: Address Feedback.Fernando Sahmkow2019-10-151-9/+8
* Kernel_Thread: Eliminate most global accessors.Fernando Sahmkow2019-10-151-11/+11
* Kernel: Correct Paused schedulingFernando Sahmkow2019-10-151-3/+1
* 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/+1
* Scheduler: Add protections for Yield bombingFernando Sahmkow2019-10-151-6/+6
* Kernel: Style and CorrectionsFernando Sahmkow2019-10-151-24/+30
* Addapt thread class to the new SchedulerFernando Sahmkow2019-10-151-59/+183
* kernel/process: Decouple TLS handling from threadsLioncash2019-07-041-2/+2
* Core_Timing: Make core_timing threadsafe by default.Fernando Sahmkow2019-06-161-3/+3
* core/core_timing_util: Use std::chrono types for specifying time unitsLioncash2019-06-051-2/+2
* kernel/thread: Unify wait synchronization typesLioncash2019-04-171-3/+2
* kernel/svc: Migrate svcCancelSynchronization behavior to a thread functionLioncash2019-04-171-0/+6
* kernel/thread: Remove BoostPriority()Lioncash2019-04-151-5/+0
* Merge pull request #2314 from lioncash/constbunnei2019-04-031-6/+6
|\
| * 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: Avoid sign conversion within GetCommandBufferAddress()Lioncash2019-04-011-2/+2
| * kernel/thread: Make parameter of GetWaitObjectIndex() const qualifiedLioncash2019-04-011-2/+2
* | kernel/svc: Implement svcGetThreadListLioncash2019-04-021-0/+4
|/
* kernel/scheduler: Remove unused parameter to AddThread()Lioncash2019-03-301-2/+2
* Merge pull request #2266 from FernandoS27/arbitrationbunnei2019-03-291-0/+1
|\
| * Add CondVar Thread State.Fernando Sahmkow2019-03-201-0/+1
* | Fix crash caused by 2238.Fernando Sahmkow2019-03-201-1/+2
|/
* Merge pull request #2238 from lioncash/threadbunnei2019-03-181-19/+33
|\
| * kernel/thread: Expand documentation of nominal_priority and current_priorityLioncash2019-03-161-1/+3
| * kernel/thread: Make bracing consistent within UpdatePriority()Lioncash2019-03-161-2/+4
| * kernel/thread: Amend condition within UpdatePriority()Lioncash2019-03-161-3/+3
| * kernel/thread: Maintain priority ordering of added mutex waiting threadsLioncash2019-03-161-14/+24
* | kernel/thread: Actually remove the definition of ExitCurrentThread()Lioncash2019-03-161-6/+0
* | kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interfaceLioncash2019-03-161-5/+8
|/
* kernel/thread: Remove obsolete TODO in Create()Lioncash2019-03-051-2/+0
* core_timing: Convert core timing into a classLioncash2019-02-161-8/+11
* core_timing: Rename CoreTiming namespace to Core::TimingLioncash2019-02-121-6/+7
* kernel/thread: Move process thread initialization into process.cppLioncash2018-12-281-24/+0
* Merge pull request #1849 from encounter/svcSetThreadActivitybunnei2018-12-261-1/+23
|\
| * svc: Implement SetThreadActivity (thread suspension)Luke Street2018-12-041-1/+23
* | kernel/thread: Set default fpcrMerryMage2018-12-181-0/+3
|/
* kernel/thread: Deduplicate scheduler switching codeLioncash2018-11-141-37/+11
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-4/+4
* kernel/process: Make the handle table per-processLioncash2018-10-201-1/+1
* core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash2018-10-151-8/+8
* thread: Remove unnecessary memset from ResetThreadContext()Lioncash2018-10-121-4/+1
* 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-3/+3
* kernel/thread: Make all instance variables privateLioncash2018-10-041-4/+28
* kernel/process: Make data member variables privateLioncash2018-09-301-2/+2
* memory: Dehardcode the use of fixed memory range constantsLioncash2018-09-251-1/+2
* thread/process: Move TLS slot marking/freeing to the process classLioncash2018-09-211-56/+2
* kernel/thread: Use owner_process when setting the page table in SetupMainThread()Lioncash2018-09-211-3/+3
* arm_interface: Remove ARM11-isms from the CPU interfaceLioncash2018-09-181-2/+2
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-1/+1
* kernel/errors: Correct error codes for invalid thread priority and invalid processor IDLioncash2018-09-121-2/+2
* core/core: Replace includes with forward declarations where applicableLioncash2018-08-311-1/+2
* kernel: Eliminate kernel global stateLioncash2018-08-291-101/+18
* core: Namespace all code in the arm subdirectory under the Core namespaceLioncash2018-08-251-2/+2
* Core::CoreTiming: add UnscheduleEventThreadsafeB3n302018-08-131-1/+1
* Merge pull request #1042 from Subv/racesbunnei2018-08-131-2/+9
|\
| * Kernel/Threads: Lock the HLE mutex when executing the wakeup callback.Subv2018-08-131-0/+5
| * Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Subv2018-08-131-2/+4
* | Kernel/Mutex: Don't duplicate threads in the mutex waiter list.Subv2018-08-121-0/+21
|/
* kernel/thread: Fix potential crashes introduced in 26de4bb521b1ace7af76eff4f6956cb23ac0d58cLioncash2018-08-041-0/+11
* core/memory: Get rid of 3DS leftoversLioncash2018-08-031-31/+2
* Merge pull request #894 from lioncash/objectbunnei2018-08-031-1/+1
|\
| * kernel: Move object class to its own source filesLioncash2018-08-021-1/+1
* | kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_tLioncash2018-08-021-8/+5
* | kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const referenceLioncash2018-08-021-1/+2
* | kernel/thread: Make GetFreeThreadLocalSlot() internally linkedLioncash2018-08-021-1/+1
|/
* kernel: Remove unnecessary includesLioncash2018-07-311-2/+4
* core_timing: Split off utility functions into core_timing_utilMerryMage2018-07-241-0/+1
* Merge pull request #751 from Subv/tpidr_el0bunnei2018-07-211-0/+1
|\
| * CPU: Save and restore the TPIDR_EL0 system register on every context switch.Subv2018-07-211-0/+1
* | thread: Convert ThreadStatus into an enum classLioncash2018-07-201-24/+23
|/
* Merge pull request #690 from lioncash/movebunnei2018-07-191-1/+1
|\
| * core/memory, core/hle/kernel: Use std::move where applicableLioncash2018-07-191-1/+1
* | core: Don't construct instance of Core::System, just to access its live instanceLioncash2018-07-191-6/+6
|/
* Update clang formatJames Rowe2018-07-031-1/+1
* Rename logging macro back to LOG_*James Rowe2018-07-031-5/+5
* Kernel/Arbiters: Implement WaitForAddressMichael Scire2018-06-211-0/+6
* Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.Subv2018-06-021-2/+5
* Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.Subv2018-05-311-2/+2
* Kernel/Thread: Corrected a typo in an assert about the processor id.Subv2018-05-301-1/+1
* thread: Rename mask to affinity_masks.bunnei2018-05-111-2/+2
* thread: Support core change on ResumeFromWait and improve ChangeCore.bunnei2018-05-111-37/+68
* thread: Initialize ideal_core and mask members.bunnei2018-05-111-0/+2
* threading: Reschedule only on cores that are necessary.bunnei2018-05-111-1/+1
* thread: Implement ChangeCore function.bunnei2018-05-111-1/+52
* core: Implement multicore support.bunnei2018-05-111-8/+8
* core_timing: Namespace all functions and constants in core_timing's headerLioncash2018-04-301-1/+2
* general: Convert assertion macros over to be fmt-compatibleLioncash2018-04-271-2/+2
* kernel: Migrate logging macros to fmt-compatible onesLioncash2018-04-261-7/+8
* Kernel: Implemented mutex priority inheritance.Subv2018-04-231-2/+39
* Kernel: Remove unused ConditionVariable class.Subv2018-04-211-9/+0
* Kernel: Remove old and unused Mutex code.Subv2018-04-211-3/+0
* Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.Subv2018-04-211-1/+12
* memory: Fix stack region.bunnei2018-03-311-1/+1
* thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.bunnei2018-03-191-18/+3
* kernel: Move stack region outside of application heap.bunnei2018-03-161-1/+1
* MemoryState: Add additional memory states and improve naming.bunnei2018-03-161-1/+1
* core: Move process creation out of global state.bunnei2018-03-141-2/+2
* thread: Clear the process list on shutdown.Jules Blok2018-02-271-1/+3
* kernel: Use Scheduler class for threading.bunnei2018-02-181-155/+14
* kernel: Remove unused address_arbiter code.bunnei2018-02-181-34/+0
* Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.Subv2018-02-181-0/+1
* thread: Silence formatting specifier warningsLioncash2018-02-141-2/+3
* Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.Subv2018-01-091-8/+17
* CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n302018-01-091-3/+2
* arm: Remove SkyEye/Dyncom code that is ARMv6-only.bunnei2018-01-031-4/+2
* thread: Keep track of the initially created handle.bunnei2017-12-311-1/+2
* thread: Main thread should set thread handle to reg 1.bunnei2017-12-301-1/+4
* thread: Remove THUMB mode flag.bunnei2017-12-301-1/+1
* thread: Main thread should be ready by default, all others dormant.bunnei2017-12-301-4/+3
* kernel: Various 64-bit fixes in memory/process/threadbunnei2017-12-291-5/+5
* hle: Use Switch formatted result codes.bunnei2017-11-011-3/+2
* hle: Fix QueryMemory response for MemoryInfo.bunnei2017-10-201-1/+1
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-23/+45
|\
| * 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/+10
| |\ \ | | |/ | |/|
| | * Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.Subv2017-09-281-3/+10
| * | Fixed type conversion ambiguityHuw Pascoe2017-09-301-9/+9
| * | Kernel/Thread: Allow specifying which process a thread belongs to when creating it.Subv2017-09-271-8/+9
| |/
| * memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage2017-09-241-7/+4
| * Merge pull request #2842 from Subv/switchable_page_tableB3n302017-09-151-0/+12
| |\
| | * Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.Subv2017-09-151-1/+3
| | * Kernel/Memory: Switch the current page table when a new process is scheduled.Subv2017-09-101-0/+10
| * | Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.Subv2017-08-221-5/+1
| |/
* | loader: Various improvements for NSO/NRO loaders.bunnei2017-10-101-1/+1
* | kernel: Various threading fixes to support 64-bit addressing.bunnei2017-09-301-3/+3
|/
* ResultVal: Remove MoveFrom()Yuri Kunde Schlesner2017-06-191-2/+2
* Kernel: Move HandleTable to a separate fileYuri Kunde Schlesner2017-05-301-0/+1
* Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner2017-05-251-8/+16
* Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.Subv2017-01-111-8/+2
* Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.Subv2017-01-111-18/+2
* Merge pull request #2410 from Subv/sleepthreadbunnei2017-01-071-0/+4
|\
| * Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.Subv2017-01-061-0/+4
* | Merge pull request #2408 from Subv/priority_boostingbunnei2017-01-061-27/+0
|\ \
| * | Kernel: Removed the priority boost code for starved threads.Subv2017-01-051-27/+0
| |/
* / Kernel: Remove some unused functions.Subv2017-01-051-23/+0
|/
* Kernel: Add some asserts to enforce the invariants in the scheduler.Subv2017-01-051-2/+5
* Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.Subv2017-01-051-0/+5
* Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.Subv2017-01-041-4/+7
* Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexesSubv2017-01-041-4/+17
* Kernel/Mutex: Implemented priority inheritance.Subv2017-01-041-3/+3
* Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv2017-01-041-3/+3
* ThreadContext: Move from "core" to "arm_interface".bunnei2016-12-221-3/+3
* core: Replace "AppCore" nomenclature with just "CPU".bunnei2016-12-221-3/+3
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-221-4/+1
* core: Consolidate core and system state, remove system module & cleanups.bunnei2016-12-221-3/+3
* Thread: remove the thread from the thread list when exitingwwylele2016-12-171-2/+9
* Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.Subv2016-12-101-0/+4
* Threading: Reworked the way our scheduler works.Subv2016-12-041-94/+3
* Fix typosRicardo de Almeida Gonzaga2016-10-201-1/+1
* implement wait tree widgetwwylele2016-09-221-0/+4
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+1
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-4/+2
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-49/+65
* arm: ResetContext shouldn't be part of ARM_Interface.bunnei2016-09-151-1/+17
* Merge pull request #1869 from wwylele/dont-be-lazyYuri Kunde Schlesner2016-06-291-2/+6
|\
| * Switch context on the same thread if necessarywwylele2016-05-301-2/+6
* | Thread: update timeout when rerunning WaitSynchwwylele2016-06-041-0/+49
|/
* Kernel/Thread: Remove use of Memory::GetPointerMerryMage2016-05-211-1/+1
* Set fpscr for new threadsJannik Vogel2016-05-171-0/+2
* Merge pull request #1695 from Subv/tls_allocbunnei2016-05-131-17/+67
|\
| * Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.Subv2016-05-071-17/+67
* | hle: Get rid of global access to g_rescheduleLioncash2016-03-211-1/+2
|/
* SVC: Fixed ArbitrateAddress to behave as it does on hardware.Subv2015-12-281-1/+1
* Kernel: Implement svcGetSystemInfoYuri Kunde Schlesner2015-12-011-0/+3
* Silence -Wsign-compare warnings.Rohit Nirmal2015-10-071-1/+1
* Kernel: Implement svcGetProcessInfo in a basic wayYuri Kunde Schlesner2015-08-161-1/+3
* dyncom: Rename armdefs.h to armstate.hLioncash2015-07-261-1/+1
* Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.Subv2015-07-211-0/+8
* Ensure all kernel objects are released during shutdownYuri Kunde Schlesner2015-07-171-7/+14
* kernel: Fix svcWaitSynch to always acquire requested wait objects.bunnei2015-06-171-50/+26
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-4/+4
* Kernel: Move reschedules from SVCs to actual mechanisms that reschedule.bunnei2015-05-211-0/+6
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-1/+1
* thread: Fix a conditional check in RescheduleLioncash2015-05-141-1/+1
* Merge pull request #748 from Subv/tls_maxbunnei2015-05-121-6/+15
|\
| * Core/Memory: Add TLS support for creating up to 300 threadsSubv2015-05-121-6/+15
* | Merge pull request #751 from yuriks/idle-threadbunnei2015-05-121-27/+19
|\ \
| * | Thread: Remove the idle threadYuri Kunde Schlesner2015-05-121-27/+19
* | | Merge pull request #757 from Subv/schedulingbunnei2015-05-121-0/+2
|\ \ \ | |_|/ |/| |
| * | Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is calledSubv2015-05-121-0/+2
| |/
* | 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/+2
|/
* fixup! Set the TLS address in the schedulerSubv2015-05-111-2/+5
* Core/Memory: Give every emulated thread it's own TLS area.Subv2015-05-111-1/+9
* Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner2015-05-091-2/+3
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-1/+3
* Kernel: Properly initialize and shutdown all modules.bunnei2015-05-021-2/+8
* Kernel: Implemented priority inheritance for mutexes.bunnei2015-04-101-3/+7
* Thread: Implement priority boost for starved threads.bunnei2015-04-101-12/+36
* Misc cleanup of common and related functionsarchshift2015-02-201-2/+3
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-8/+6
* Scheduler refactor Pt. 1Kevin Hartman2015-02-101-185/+175
* Kernel: Stop creating useless Handles during object creationYuri Kunde Schlesner2015-02-021-8/+0
* Kernel: Make WaitObjects share ownership of Threads waiting on themYuri Kunde Schlesner2015-02-021-0/+3
* Explicitly instantiate constructors/destructors for Kernel objectsYuri Kunde Schlesner2015-02-021-2/+2
* Mutex: Replace g_mutex_held_locks with a set inside ThreadYuri Kunde Schlesner2015-02-021-0/+3
* Kernel: Introduce unique Object ids for debuggingYuri Kunde Schlesner2015-02-021-5/+5
* Kernel: Use separate Handle tables for CoreTiming userdataYuri Kunde Schlesner2015-02-021-11/+11
* Thread: Modernize two functions that slipped through previous rebasesYuri Kunde Schlesner2015-02-021-5/+4
* arm: Clean up ARMul_StateLioncash2015-02-011-1/+1
* Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.bunnei2015-01-221-15/+28
* Thread: Use std::find in CheckWait_WaitObject.bunnei2015-01-221-4/+5
* Mutex: Cleanup and remove redundant code.bunnei2015-01-221-1/+1
* Kernel: Renamed some functions for clarity.bunnei2015-01-221-1/+1
* Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei2015-01-221-7/+5
* WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.bunnei2015-01-221-2/+2
* 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-17/+25
* Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.bunnei2015-01-221-46/+19
* WaitSynchronizationN: Refactor to fix several bugsbunnei2015-01-221-33/+28
* Kernel: Separate WaitSynchronization into Wait and Acquire methods.bunnei2015-01-221-1/+5
* WaitSynchronizationN: Implement return valuesbunnei2015-01-221-19/+75
* Thread: Keep track of multiple wait objects.bunnei2015-01-221-11/+24
* Kernel: Added WaitObject and changed "waitable" objects inherit from it.bunnei2015-01-221-9/+2
* Merge pull request #466 from Subv/wakebunnei2015-01-111-0/+3
|\
| * Thread: Prevent waking a thread multiple times.Subv2015-01-111-0/+3
* | Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner2015-01-091-33/+30
|/
* Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner2015-01-091-1/+2
* Thread: Rename thread_queue => thread_listYuri Kunde Schlesner2015-01-091-6/+6
* Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner2015-01-091-213/+127
* Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner2015-01-091-51/+9
* Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2015-01-091-4/+5
* SVC: Fixed SleepThread.Subv2015-01-091-8/+32
* Threads: Use a dummy idle thread when no other are ready.Subv2015-01-081-1/+22
* Common: Clean up ThreadQueueListYuri Kunde Schlesner2015-01-071-1/+1
* Kernel: New handle managerYuri Kunde Schlesner2014-12-281-1/+2
* Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner2014-12-281-2/+2
* Rename ObjectPool to HandleTableYuri Kunde Schlesner2014-12-281-11/+11
* 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-20/+33
* | Kernel: Implement support for current thread pseudo-handleYuri Kunde Schlesner2014-12-201-2/+1
|/
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-12/+12
* Merge pull request #256 from Subv/mutexbunnei2014-12-111-0/+4
|\
| * Mutex: Release all held mutexes when a thread exits.Subv2014-12-071-0/+4
* | Thread: Fixed to wait on address when in arbitration.bunnei2014-12-091-10/+19
|/
* Threads: Remove a redundant function.Subv2014-12-041-9/+1
* Threads: Implemented a sequential thread idSubv2014-12-041-3/+13
* SVC: Implemented GetThreadId.Subv2014-12-041-0/+16
* Thread: Check that thread is actually in "wait state" when verifying wait.bunnei2014-11-261-1/+1
* Use pointers instead of passing handles around in some functions.Yuri Kunde Schlesner2014-11-241-19/+15
* Remove duplicated docs/update them for changed parameters.Yuri Kunde Schlesner2014-11-241-5/+0
* HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner2014-11-241-21/+30
* Merge pull request #211 from linkmauve/masterbunnei2014-11-191-19/+19
|\
| * Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-19/+19
* | Add static to some variablesLioncash2014-11-191-22/+22
|/
* Add `override` keyword through the code.Yuri Kunde Schlesner2014-10-261-4/+4
* core: Prune redundant includesarchshift2014-09-091-3/+0
* Threading: Fix thread starting to execute first instruction correctly.bunnei2014-08-281-0/+5
* Core: Alter the kernel string functions to use std::string instead of const char*.Lioncash2014-08-181-10/+7
* 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/+37
* Thread: Renamed occurrences of "t" to "thread" to improve readability.bunnei2014-06-131-48/+45
* Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.bunnei2014-06-131-9/+7
* HLE: Removed usnused EatCycles function.bunnei2014-06-131-9/+0
* Thread: Moved position of * in arguments.bunnei2014-06-131-2/+2
* Thread: Updated VerifyWait to be more readable (but functionally the same).bunnei2014-06-131-4/+3
* HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei2014-06-131-7/+7
* HLE: Updated various handle debug assertions to be more clear.bunnei2014-06-131-2/+2
* Kernel: Updated several member functions to be constbunnei2014-06-131-3/+3
* Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly setbunnei2014-06-131-1/+1
* Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)bunnei2014-06-131-10/+0
* Kernel: Added real support for thread and event blockingbunnei2014-06-131-33/+88
* svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle supportbunnei2014-06-021-0/+45
* kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedulebunnei2014-06-021-3/+3
* thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for executionbunnei2014-06-011-0/+18
* kernel: added WaitSynchronization method to Kernel::Objectbunnei2014-05-271-0/+11
* kernel: updated SyncRequest to take boolean thread wait result as a parameterbunnei2014-05-271-2/+6
* kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequestbunnei2014-05-271-0/+5
* 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-3/+3
* kernel: refactored function naming to remove "__" prefixbunnei2014-05-231-39/+39
* thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR resetbunnei2014-05-231-34/+15
* thread: fixed bug where result of __NextThread was not being properly checked when NULLbunnei2014-05-221-1/+1
* thread: added correct lowest thread priority, added a thread priority check, and added some commentsbunnei2014-05-211-0/+3
* thread: exposed ResumeThreadFromWait function for use in other kernel modulesbunnei2014-05-211-8/+8
* thread: moved threading calls to the Kernel namespacebunnei2014-05-211-89/+95
* ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei2014-05-211-36/+2
* renamed "syscall" module to "svc" (more accurate naming)bunnei2014-05-211-1/+1
* thread: whitespace change - fixed * and & placementbunnei2014-05-211-25/+25
* - created a Kernel namespacebunnei2014-05-211-9/+9
* - moved Handle/Result definitions to kernel.hbunnei2014-05-191-2/+0
* changed a commentbunnei2014-05-171-1/+1
* - added enum ThreadProcessorIdbunnei2014-05-171-51/+90
* - replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTHbunnei2014-05-171-4/+5
* completely gutted/refactored threading code to be simplerbunnei2014-05-161-616/+228
* - added helper function for __KernelCreateThreadbunnei2014-05-151-4/+70
* fixed thread reset to not set stack addressbunnei2014-05-141-1/+1
* various cleanups / remove unused codebunnei2014-05-141-65/+28
* 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-64/+524
* added initial kernel/thread modulesbunnei2014-05-101-0/+228