| Commit message (Expand) | Author | Age | Files | Lines |
* | Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel. | Fernando Sahmkow | 2020-02-22 | 1 | -1/+5 |
* | Kernel: Refactor synchronization to better match RE | Fernando Sahmkow | 2020-02-11 | 1 | -0/+1 |
* | Kernel: Change WaitObject to Synchronization object. In order to better reflect RE. | Fernando Sahmkow | 2020-02-11 | 1 | -11/+11 |
* | kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154) | bunnei | 2019-11-25 | 1 | -19/+20 |
* | Kernel: Correct Cancel Synchronization. | Fernando Sahmkow | 2019-11-16 | 1 | -0/+9 |
* | Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE. | Fernando Sahmkow | 2019-10-15 | 1 | -3/+0 |
* | Kernel: Address Feedback 2 | Fernando Sahmkow | 2019-10-15 | 1 | -6/+3 |
* | Kernel: Address Feedback. | Fernando Sahmkow | 2019-10-15 | 1 | -4/+12 |
* | Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel. | Fernando Sahmkow | 2019-10-15 | 1 | -0/+3 |
* | Kernel: Clang Format | Fernando Sahmkow | 2019-10-15 | 1 | -1/+1 |
* | Scheduler: Implement Yield Count and Core migration on Thread Preemption. | Fernando Sahmkow | 2019-10-15 | 1 | -0/+9 |
* | Scheduler: Add protections for Yield bombing | Fernando Sahmkow | 2019-10-15 | 1 | -3/+3 |
* | Kernel: Style and Corrections | Fernando Sahmkow | 2019-10-15 | 1 | -5/+10 |
* | Addapt thread class to the new Scheduler | Fernando Sahmkow | 2019-10-15 | 1 | -1/+54 |
* | kernel/process: Decouple TLS handling from threads | Lioncash | 2019-07-04 | 1 | -15/+1 |
* | Merge pull request #2410 from lioncash/affinity | bunnei | 2019-05-19 | 1 | -6/+15 |
|\ |
|
| * | kernel/thread: Update thread processor ID flags | Lioncash | 2019-04-29 | 1 | -6/+15 |
* | | Merge pull request #2416 from lioncash/wait | bunnei | 2019-04-25 | 1 | -18/+22 |
|\ \ |
|
| * | | kernel/thread: Unify wait synchronization types | Lioncash | 2019-04-17 | 1 | -15/+13 |
| * | | kernel/svc: Migrate svcCancelSynchronization behavior to a thread function | Lioncash | 2019-04-17 | 1 | -3/+9 |
* | | | Merge pull request #2397 from lioncash/thread-unused | bunnei | 2019-04-18 | 1 | -7/+5 |
|\ \ \
| |/ /
|/| | |
|
| * | | svc: Specify handle value in thread's name | Lioncash | 2019-04-15 | 1 | -0/+5 |
| * | | kernel/thread: Remove unused guest_handle member variable | Lioncash | 2019-04-14 | 1 | -7/+0 |
| |/ |
|
* / | kernel/thread: Remove BoostPriority() | Lioncash | 2019-04-15 | 1 | -6/+0 |
|/ |
|
* | kernel: Make handle type declarations constexpr | Lioncash | 2019-04-11 | 1 | -1/+1 |
* | kernel/thread: Make AllWaitObjectsReady() a const qualified member function | Lioncash | 2019-04-02 | 1 | -1/+1 |
* | kernel/wait_object: Make ShouldWait() take thread members by pointer-to-const | Lioncash | 2019-04-02 | 1 | -1/+1 |
* | kernel/thread: Make parameter of GetWaitObjectIndex() const qualified | Lioncash | 2019-04-01 | 1 | -1/+1 |
* | Add CondVar Thread State. | Fernando Sahmkow | 2019-03-20 | 1 | -1/+2 |
* | Merge pull request #2238 from lioncash/thread | bunnei | 2019-03-18 | 1 | -2/+8 |
|\ |
|
| * | kernel/thread: Expand documentation of nominal_priority and current_priority | Lioncash | 2019-03-16 | 1 | -2/+8 |
* | | kernel/thread: Move thread exiting logic from ExitCurrentThread to svcExitThread | Lioncash | 2019-03-16 | 1 | -5/+0 |
* | | kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interface | Lioncash | 2019-03-16 | 1 | -5/+3 |
|/ |
|
* | kernel: Rename 'default' CPU core to 'ideal' core | Lioncash | 2018-12-28 | 1 | -6/+6 |
* | kernel/thread: Move process thread initialization into process.cpp | Lioncash | 2018-12-28 | 1 | -11/+0 |
* | Merge pull request #1849 from encounter/svcSetThreadActivity | bunnei | 2018-12-26 | 1 | -0/+14 |
|\ |
|
| * | svc: Implement SetThreadActivity (thread suspension) | Luke Street | 2018-12-04 | 1 | -0/+14 |
* | | kernel/thread: Make thread_id a 64-bit value | Lioncash | 2018-12-19 | 1 | -2/+2 |
* | | scheduler: Add explanations for YieldWith and WithoutLoadBalancing | Zach Hilman | 2018-11-22 | 1 | -4/+0 |
* | | svc: Implement yield types 0 and -1 | Zach Hilman | 2018-11-19 | 1 | -0/+5 |
|/ |
|
* | kernel/thread: Deduplicate scheduler switching code | Lioncash | 2018-11-14 | 1 | -0/+2 |
* | svc: Implement svcGetInfo command 0xF0000002 | Lioncash | 2018-10-26 | 1 | -1/+10 |
* | kernel/thread: Use a regular pointer for the owner/current process | Lioncash | 2018-10-10 | 1 | -4/+4 |
* | thread: Make the scheduler pointer a regular pointer | balika011 | 2018-10-05 | 1 | -1/+1 |
* | kernel/thread: Make all instance variables private | Lioncash | 2018-10-04 | 1 | -35/+181 |
* | thread/process: Move TLS slot marking/freeing to the process class | Lioncash | 2018-09-21 | 1 | -1/+12 |
* | kernel/thread: Use owner_process when setting the page table in SetupMainThread() | Lioncash | 2018-09-21 | 1 | -1/+1 |
* | Port #4182 from Citra: "Prefix all size_t with std::" | fearlessTobi | 2018-09-15 | 1 | -1/+1 |
* | kernel/thread: Include thread-related enums within the kernel namespace | Lioncash | 2018-09-13 | 1 | -6/+6 |
* | kernel: Eliminate kernel global state | Lioncash | 2018-08-29 | 1 | -14/+8 |
* | core: Namespace all code in the arm subdirectory under the Core namespace | Lioncash | 2018-08-25 | 1 | -1/+1 |
* | kernel/thread: Fix potential crashes introduced in 26de4bb521b1ace7af76eff4f6956cb23ac0d58c | Lioncash | 2018-08-04 | 1 | -0/+2 |
* | kernel: Move object class to its own source files | Lioncash | 2018-08-02 | 1 | -1/+1 |
* | kernel/thread: Remove unimplemented function prototype | Lioncash | 2018-08-01 | 1 | -6/+0 |
* | kernel: Remove unnecessary includes | Lioncash | 2018-07-31 | 1 | -3/+2 |
* | Merge pull request #751 from Subv/tpidr_el0 | bunnei | 2018-07-21 | 1 | -0/+9 |
|\ |
|
| * | CPU: Save and restore the TPIDR_EL0 system register on every context switch. | Subv | 2018-07-21 | 1 | -0/+9 |
* | | thread: Convert ThreadStatus into an enum class | Lioncash | 2018-07-20 | 1 | -14/+14 |
|/ |
|
* | Run clang-format on PR. | Michael Scire | 2018-06-22 | 1 | -2/+2 |
* | Kernel/Arbiters: HLE is atomic, adjust code to reflect that. | Michael Scire | 2018-06-22 | 1 | -1/+0 |
* | Kernel/Arbiters: Initialize arb_wait_address in thread struct. | Michael Scire | 2018-06-21 | 1 | -1/+1 |
* | Kernel/Arbiters: Mostly implement SignalToAddress | Michael Scire | 2018-06-21 | 1 | -2/+4 |
* | Kernel/Arbiters: Implement WaitForAddress | Michael Scire | 2018-06-21 | 1 | -2/+4 |
* | Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs. | Michael Scire | 2018-06-21 | 1 | -0/+1 |
* | thread: Rename mask to affinity_masks. | bunnei | 2018-05-11 | 1 | -1/+1 |
* | thread: Implement ChangeCore function. | bunnei | 2018-05-11 | 1 | -0/+6 |
* | core: Implement multicore support. | bunnei | 2018-05-11 | 1 | -0/+4 |
* | Kernel: Implemented mutex priority inheritance. | Subv | 2018-04-23 | 1 | -0/+15 |
* | Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs | Subv | 2018-04-21 | 1 | -1/+1 |
* | Kernel: Remove unused ConditionVariable class. | Subv | 2018-04-21 | 1 | -6/+0 |
* | Kernel: Remove old and unused Mutex code. | Subv | 2018-04-21 | 1 | -7/+0 |
* | Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock. | Subv | 2018-04-21 | 1 | -1/+5 |
* | thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB. | bunnei | 2018-03-19 | 1 | -1/+1 |
* | kernel: Use Scheduler class for threading. | bunnei | 2018-02-18 | 1 | -15/+0 |
* | kernel: Remove unused address_arbiter code. | bunnei | 2018-02-18 | 1 | -12/+0 |
* | Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation. | Subv | 2018-02-18 | 1 | -0/+1 |
* | Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask) | Subv | 2018-01-10 | 1 | -4/+9 |
* | Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback. | Subv | 2018-01-09 | 1 | -3/+7 |
* | thread: Keep track of the initially created handle. | bunnei | 2017-12-31 | 1 | -0/+3 |
* | kernel: Various 64-bit fixes in memory/process/thread | bunnei | 2017-12-29 | 1 | -2/+2 |
* | Merge remote-tracking branch 'upstream/master' into nx | bunnei | 2017-10-10 | 1 | -15/+33 |
|\ |
|
| * | Merge pull request #2971 from Subv/per_process_memops | Sebastian Valle | 2017-10-01 | 1 | -0/+6 |
| |\ |
|
| | * | Kernel/Thread: Added a helper function to get a thread's command buffer VAddr. | Subv | 2017-10-01 | 1 | -0/+6 |
| * | | Merge pull request #2967 from Subv/thread_wakeup_callbacks | Sebastian Valle | 2017-09-30 | 1 | -3/+12 |
| |\ \
| | |/
| |/| |
|
| | * | Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken. | Subv | 2017-09-28 | 1 | -3/+12 |
| * | | Fixed type conversion ambiguity | Huw Pascoe | 2017-09-30 | 1 | -7/+7 |
| * | | Kernel/Thread: Allow specifying which process a thread belongs to when creating it. | Subv | 2017-09-27 | 1 | -6/+9 |
| |/ |
|
* / | kernel: Various threading fixes to support 64-bit addressing. | bunnei | 2017-09-30 | 1 | -5/+5 |
|/ |
|
* | Kernel: Move WaitObject to a separate file | Yuri Kunde Schlesner | 2017-05-30 | 1 | -0/+1 |
* | Kernel: Centralize error definitions in errors.h | Yuri Kunde Schlesner | 2017-05-25 | 1 | -1/+1 |
* | Core: Remove unnecessary include in thread.h | Yuri Kunde Schlesner | 2017-02-27 | 1 | -1/+0 |
* | Merge pull request #2410 from Subv/sleepthread | bunnei | 2017-01-07 | 1 | -0/+5 |
|\ |
|
| * | Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run. | Subv | 2017-01-06 | 1 | -0/+5 |
* | | Kernel: Remove some unused functions. | Subv | 2017-01-05 | 1 | -9/+0 |
|/ |
|
* | Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on. | Subv | 2017-01-05 | 1 | -9/+7 |
* | Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true. | Subv | 2017-01-04 | 1 | -9/+10 |
* | Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes | Subv | 2017-01-04 | 1 | -0/+9 |
* | Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter. | Subv | 2017-01-04 | 1 | -2/+2 |
* | ThreadContext: Move from "core" to "arm_interface". | bunnei | 2016-12-22 | 1 | -1/+2 |
* | core: Remove HLE module, consolidate code & various cleanups. | bunnei | 2016-12-22 | 1 | -1/+0 |
* | Thread: remove the thread from the thread list when exiting | wwylele | 2016-12-17 | 1 | -0/+5 |
* | Fixed the codestyle to match our clang-format rules. | Subv | 2016-12-14 | 1 | -4/+6 |
* | WaitSynch: Removed unused variables and reduced SharedPtr copies. | Subv | 2016-12-09 | 1 | -2/+3 |
* | Threading: Added some utility functions and const correctness. | Subv | 2016-12-04 | 1 | -3/+16 |
* | Threading: Reworked the way our scheduler works. | Subv | 2016-12-04 | 1 | -6/+16 |
* | implement wait tree widget | wwylele | 2016-09-22 | 1 | -0/+5 |
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -4/+0 |
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -32/+46 |
* | Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap. | Subv | 2016-05-07 | 1 | -2/+2 |
* | General: Fix up doxygen comments | Lioncash | 2015-09-10 | 1 | -1/+0 |
* | Common: Cleanup key_map includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -0/+1 |
* | kernel: Fix svcWaitSynch to always acquire requested wait objects. | bunnei | 2015-06-17 | 1 | -9/+5 |
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 1 | -1/+1 |
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+0 |
* | Merge pull request #748 from Subv/tls_max | bunnei | 2015-05-12 | 1 | -1/+1 |
|\ |
|
| * | Core/Memory: Add TLS support for creating up to 300 threads | Subv | 2015-05-12 | 1 | -1/+1 |
* | | Merge pull request #751 from yuriks/idle-thread | bunnei | 2015-05-12 | 1 | -17/+0 |
|\ \
| |/
|/| |
|
| * | Thread: Remove the idle thread | Yuri Kunde Schlesner | 2015-05-12 | 1 | -17/+0 |
* | | Merge pull request #750 from Subv/process_svc | Yuri Kunde Schlesner | 2015-05-12 | 1 | -0/+2 |
|\ \
| |/
|/| |
|
| * | Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread | Subv | 2015-05-11 | 1 | -0/+2 |
* | | Thread: Correctly set main thread initial stack position | Yuri Kunde Schlesner | 2015-05-11 | 1 | -2/+1 |
|/ |
|
* | fixup! Set the TLS address in the scheduler | Subv | 2015-05-11 | 1 | -0/+2 |
* | Core/Memory: Give every emulated thread it's own TLS area. | Subv | 2015-05-11 | 1 | -0/+6 |
* | Kernel: Remove unused g_main_thread variable | Yuri Kunde Schlesner | 2015-05-09 | 1 | -2/+0 |
* | Kernel: Implemented priority inheritance for mutexes. | bunnei | 2015-04-10 | 1 | -0/+6 |
* | Thread: Implement priority boost for starved threads. | bunnei | 2015-04-10 | 1 | -10/+15 |
* | Kernel: Fixed default thread priority. | bunnei | 2015-04-10 | 1 | -4/+3 |
* | Scheduler refactor Pt. 1 | Kevin Hartman | 2015-02-10 | 1 | -33/+82 |
* | Kernel: Make WaitObjects share ownership of Threads waiting on them | Yuri Kunde Schlesner | 2015-02-02 | 1 | -0/+2 |
* | Explicitly instantiate constructors/destructors for Kernel objects | Yuri Kunde Schlesner | 2015-02-02 | 1 | -0/+1 |
* | Mutex: Replace g_mutex_held_locks with a set inside Thread | Yuri Kunde Schlesner | 2015-02-02 | 1 | -2/+8 |
* | Kernel: Use separate Handle tables for CoreTiming userdata | Yuri Kunde Schlesner | 2015-02-02 | 1 | -0/+3 |
* | Thread: Modernize two functions that slipped through previous rebases | Yuri Kunde Schlesner | 2015-02-02 | 1 | -8/+7 |
* | Kernel: Mark all appropriate kernel objects as "final" | Yuri Kunde Schlesner | 2015-01-30 | 1 | -2/+1 |
* | Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup. | bunnei | 2015-01-22 | 1 | -7/+14 |
* | Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void. | bunnei | 2015-01-22 | 1 | -2/+2 |
* | WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual. | bunnei | 2015-01-22 | 1 | -1/+1 |
* | Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely. | bunnei | 2015-01-22 | 1 | -1/+1 |
* | AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense. | bunnei | 2015-01-22 | 1 | -9/+8 |
* | Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks. | bunnei | 2015-01-22 | 1 | -31/+10 |
* | WaitSynchronizationN: Refactor to fix several bugs | bunnei | 2015-01-22 | 1 | -2/+2 |
* | Kernel: Separate WaitSynchronization into Wait and Acquire methods. | bunnei | 2015-01-22 | 1 | -1/+2 |
* | WaitSynchronizationN: Implement return values | bunnei | 2015-01-22 | 1 | -16/+42 |
* | Thread: Keep track of multiple wait objects. | bunnei | 2015-01-22 | 1 | -3/+3 |
* | Kernel: Added WaitObject and changed "waitable" objects inherit from it. | bunnei | 2015-01-22 | 1 | -3/+1 |
* | core: Fix a few docstrings | Lioncash | 2015-01-20 | 1 | -1/+1 |
* | Kernel: Start using boost::intrusive_ptr for lifetime management | Yuri Kunde Schlesner | 2015-01-09 | 1 | -4/+4 |
* | Thread: Reduce use of Handles and move some funcs to inside the class. | Yuri Kunde Schlesner | 2015-01-09 | 1 | -46/+22 |
* | Kernel: Move Thread's definition to the header file | Yuri Kunde Schlesner | 2015-01-09 | 1 | -0/+57 |
* | Merge pull request #255 from Subv/cbranch_3 | bunnei | 2015-01-09 | 1 | -0/+1 |
|\ |
|
| * | SVC: Implemented the Timer service calls. | Subv | 2015-01-09 | 1 | -0/+1 |
* | | SVC: Fixed SleepThread. | Subv | 2015-01-09 | 1 | -0/+7 |
* | | Threads: Use a dummy idle thread when no other are ready. | Subv | 2015-01-08 | 1 | -0/+11 |
|/ |
|
* | Kernel: New handle manager | Yuri Kunde Schlesner | 2014-12-28 | 1 | -3/+0 |
* | Merge pull request #291 from purpasmart96/license | bunnei | 2014-12-21 | 1 | -1/+1 |
|\ |
|
| * | License change | purpasmart96 | 2014-12-21 | 1 | -1/+1 |
* | | Thread: Wait current thread on svc_SleepThread | bunnei | 2014-12-21 | 1 | -1/+0 |
* | | Kernel: Implement support for current thread pseudo-handle | Yuri Kunde Schlesner | 2014-12-20 | 1 | -0/+3 |
|/ |
|
* | Thread: Fixed to wait on address when in arbitration. | bunnei | 2014-12-09 | 1 | -0/+11 |
* | Threads: Implemented a sequential thread id | Subv | 2014-12-04 | 1 | -1/+6 |
* | SVC: Implemented GetThreadId. | Subv | 2014-12-04 | 1 | -0/+3 |
* | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 2014-11-24 | 1 | -3/+4 |
* | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated | Emmanuel Gil Peyrot | 2014-11-19 | 1 | -1/+1 |
* | Thread: Added more descriptive comment to WaitCurrentThread. | bunnei | 2014-08-07 | 1 | -1/+5 |
* | Thread: Added functions to resume threads from address arbitration. | bunnei | 2014-07-09 | 1 | -0/+7 |
* | Kernel: Added real support for thread and event blocking | bunnei | 2014-06-13 | 1 | -3/+6 |
* | svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support | bunnei | 2014-06-02 | 1 | -0/+6 |
* | thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument | bunnei | 2014-05-23 | 1 | -2/+2 |
* | thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread | bunnei | 2014-05-23 | 1 | -1/+1 |
* | kernel: refactored function naming to remove "__" prefix | bunnei | 2014-05-23 | 1 | -2/+2 |
* | thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset | bunnei | 2014-05-23 | 1 | -1/+25 |
* | thread: added correct lowest thread priority, added a thread priority check, and added some comments | bunnei | 2014-05-21 | 1 | -6/+7 |
* | thread: exposed ResumeThreadFromWait function for use in other kernel modules | bunnei | 2014-05-21 | 1 | -0/+3 |
* | thread: moved threading calls to the Kernel namespace | bunnei | 2014-05-21 | 1 | -9/+17 |
* | thread: whitespace change - fixed * and & placement | bunnei | 2014-05-21 | 1 | -2/+2 |
* | - created a Kernel namespace | bunnei | 2014-05-21 | 1 | -2/+2 |
* | thread: added declaration for __KernelReschedule to be used by syscall module | bunnei | 2014-05-20 | 1 | -0/+3 |
* | changed a comment | bunnei | 2014-05-17 | 1 | -1/+1 |
* | - added enum ThreadProcessorId | bunnei | 2014-05-17 | 1 | -2/+17 |
* | - replaced KERNELOBJECT_MAX_NAME_LENGTH with KERNEL_MAX_NAME_LENGTH | bunnei | 2014-05-17 | 1 | -1/+5 |
* | completely gutted/refactored threading code to be simpler | bunnei | 2014-05-16 | 1 | -42/+2 |
* | - added helper function for __KernelCreateThread | bunnei | 2014-05-15 | 1 | -0/+6 |
* | various cleanups / remove unused code | bunnei | 2014-05-14 | 1 | -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 point | bunnei | 2014-05-14 | 1 | -6/+19 |
* | added initial kernel/thread modules | bunnei | 2014-05-10 | 1 | -0/+36 |