summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_thread.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* kernel: add and enable system suspend typeLiam2024-02-141-1/+3
|
* kernel: instantiate memory separately for each guest processLiam2023-12-231-5/+1
|
* kernel: implement light IPCLiam2023-12-071-0/+7
|
* core: refactor emulated cpu core activationLiam2023-12-041-21/+8
|
* arm: Implement native code execution backendLiam2023-11-251-0/+16
|
* kernel: update KProcessLiam2023-10-221-0/+1
|
* kernel: SynchronizeMorph2023-07-011-0/+10
|
* Remove memory allocations in some hot pathsKelebek12023-06-221-1/+2
|
* k_thread: Use a mutex and cond_var to sync boollat9nq2023-06-171-1/+3
| | | | | std::atomic<bool> is broken on MinGW and causes deadlocks there. Use a normal cond var in its stead.
* kernel: remove general boost listsLiam2023-04-301-6/+7
|
* memory: rename global memory references to application memoryLiam2023-03-241-0/+4
|
* kernel: use KTypedAddress for addressesLiam2023-03-221-27/+31
|
* kernel: convert KThread to new styleLiam2023-03-131-290/+254
|
* kernel: remove kernel_Liam2023-03-131-6/+6
|
* kernel: convert KPort, KSessionLiam2023-03-131-0/+1
|
* kernel: clone fpu status on CreateThreadLiam2023-03-081-0/+2
|
* kernel: be more careful about kernel address keysLiam2023-03-011-2/+12
|
* kernel: refactor priority inheritance to represent locks as C++ objectsLiam2023-03-011-28/+137
|
* service: refactor server architectureLiam2023-02-211-0/+4
| | | | Converts services to have their own processes
* kernel: use GetCurrentProcessLiam2023-02-131-0/+2
|
* Move to Clang Format 15Levi Behunin2023-01-301-5/+3
| | | | | | Depends on https://github.com/yuzu-emu/build-environments/pull/69 clang-15 primary run
* kernel: split SetAddressKey into user and kernel variantsLiam2023-01-241-2/+20
|
* kernel: fix incorrect locking order in suspensionLiam2023-01-231-2/+0
|
* kernel: remove TimeManagerLiam2022-12-191-3/+5
|
* kernel: add KHardwareTimerLiam2022-12-181-6/+10
|
* kernel/thread: Ensure stack_top and argument are always initializedLioncash2022-12-051-2/+2
|
* service_thread: register service threads to the logical owner processLiam2022-11-041-1/+1
|
* kernel: refactor dummy thread wakeupsLiam2022-10-251-4/+4
|
* core: hle: kernel: k_thread: Implement thread termination DPC.bunnei2022-10-191-0/+4
|
* kernel: fix single-core preemption pointsLiam2022-07-151-1/+0
|
* kernel: fix issues with single core modeLiam2022-07-151-24/+0
|
* kernel: use KScheduler from mesosphereLiam2022-07-151-0/+5
|
* common/fiber: make fibers easier to useLiam2022-07-021-2/+1
|
* core: Replace all instances of ResultCode with Resultgerman772022-06-271-31/+30
|
* kernel: make current thread pointer thread localLiam2022-06-231-0/+1
|
* kernel: wait for threads to stop on pauseLiam2022-06-181-0/+2
|
* core/debugger: Support reading guest thread namesLiam2022-06-021-0/+10
|
* core/debugger: Improved stepping mechanism and misc fixesLiam2022-06-011-0/+15
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* core: hle: kernel: k_thread: Rework dummy thread waiting.bunnei2022-04-121-4/+6
|
* hle: kernel: Use std::mutex instead of spin locks for most kernel locking.bunnei2022-04-121-1/+2
|
* k_thread: Fix data racelat9nq2022-04-041-1/+2
| | | | | TSan reports a data race between writing at cpp:1162 and reading at h:262. Make the thread_state atomic to prevent this.
* core: hle: kernel: k_thread: Update to reflect tree changes.bunnei2022-03-151-3/+3
|
* hle: kernel: KThread: Ensure host (dummy) threads block on locking.bunnei2022-01-221-0/+13
| | | | | - But do not enter the priority queue, as otherwise they will be scheduled. - Allows dummy threads to use guest synchronization primitives.
* hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.bunnei2022-01-211-0/+1
|
* hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.bunnei2022-01-211-3/+3
| | | | - This will be used to ensure that we do not schedule dummy threads.
* core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.bunnei2022-01-151-1/+6
| | | | | | - This is used to terminate a thread asynchronously after it has been exited. - This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled. - Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
* core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.bunnei2022-01-151-2/+2
| | | | - This makes our implementations of these more closely match HOS.
* core: hle: kernel: Implement thread pinning.bunnei2021-12-311-1/+5
| | | | | - We largely had the mechanics in place for thread pinning, this change hooks these up. - Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp.
* hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.bunnei2021-12-071-6/+2
|
* hle: kernel: k_thread: Treat dummy threads as a special type.bunnei2021-12-071-0/+1
|
* hle: kernel: Add a flag for indicating that the kernel is currently shutting down.bunnei2021-12-071-0/+4
|
* hle: kernel: Cleanup to match coding style.bunnei2021-12-071-2/+2
|
* hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).bunnei2021-12-071-2/+2
|
* hle: kernel: KThread: Remove tracking of sync object from threads.bunnei2021-12-071-12/+0
|
* hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.bunnei2021-12-071-0/+27
|
* core: hle: kernel: Disable dispatch count tracking on single core.bunnei2021-12-071-3/+8
| | | | - This would have limited value, and would be a mess to handle properly.
* core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.bunnei2021-12-071-1/+1
|
* core: hle: kernel: k_thread: Add KScopedDisableDispatch.bunnei2021-12-071-0/+31
|
* Revert "kernel: Various improvements to scheduler"bunnei2021-08-261-36/+0
|
* core: hle: kernel: Disable dispatch count tracking on single core.bunnei2021-08-141-3/+8
| | | | - This would have limited value, and would be a mess to handle properly.
* core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.bunnei2021-08-071-1/+1
|
* core: hle: kernel: k_thread: Add KScopedDisableDispatch.bunnei2021-08-071-0/+31
|
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-1/+1
| | | | Transition to PascalCase for result names.
* kernel: Add missing override specifiersLioncash2021-05-291-5/+5
| | | | | | | | Over the course of the kernel refactoring a tiny bit of missing overrides slipped through review, so we can add these. While we're at it, we can remove redundant virtual keywords where applicable as well.
* kernel: Eliminate variable shadowingLioncash2021-05-081-3/+3
| | | | | Now that the large kernel refactor is merged, we can eliminate the remaining variable shadowing cases.
* hle: kernel: Rename Process to KProcess.bunnei2021-05-061-8/+8
|
* hle: kernel: Remove deprecated Object class.bunnei2021-05-061-15/+0
|
* hle: kernel: Migrate KThread to KAutoObject.bunnei2021-05-061-57/+43
|
* k_thread: Remove [[nodiscard]] attribute from ClearWaitCancelled()Lioncash2021-04-121-1/+1
| | | | | This function has a void return value, so this attribute doesn't apply to it.
* hle: kernel: Migrate some code from Common::SpinLock to KSpinLock.bunnei2021-03-211-2/+2
|
* hle: kernel: KThread: Rework dummy threads & fix memory leak.bunnei2021-03-061-4/+20
| | | | | - Dummy threads are created on thread local storage for all host threads. - Fixes a leak by removing creation of fibers, which are not applicable here.
* Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei2021-03-061-8/+2
|
* core: Switch to unique_ptr for usage of Common::Fiber.bunnei2021-02-271-2/+8
| | | | | - With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context. - Fixes a memory leak due to circular reference of the shared pointer.
* yuzu: debugger: Ignore HLE threads.bunnei2021-01-291-0/+5
|
* hle: kernel: KScheduler: Introduce thread context_guard.bunnei2021-01-291-0/+1
|
* hle: kernel: Recode implementation of KThread to be more accurate.bunnei2021-01-291-282/+308
|
* hle: kernel: KThread: Clean up thread priorities.bunnei2021-01-291-22/+0
|
* hle: kernel: KThread: Reorganize thread priority defaults.bunnei2021-01-291-9/+3
|
* hle: kernel: KThread: Fix ThreadType definition.bunnei2021-01-291-4/+7
|
* hle: kernel: Move single core "phantom mode" out of KThread.bunnei2021-01-291-9/+0
| | | | - This is a workaround that does not belong in a kernel primitive.
* hle: kernel: KThread: Remove thread types that do not exist.bunnei2021-01-291-13/+2
|
* core: hle: kernel: Rename Thread to KThread.bunnei2021-01-291-0/+781