summaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp
AgeCommit message (Collapse)Author
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2024-02-19scope_exit: Make constexprFearlessTobi
Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
2023-12-04core: refactor emulated cpu core activationLiam
2023-11-25arm: Implement native code execution backendLiam
2023-03-07core: Promote CPU/GPU threads to time criticalMorph
And also demote Audren and CoreTiming to High thread priority.
2022-12-06general: improve handling of system startup failureLiam
2022-10-03common: remove "yuzu:" prefix from thread namesLiam
2022-07-14kernel: fix single-core preemption pointsLiam
2022-07-14kernel: fix issues with single core modeLiam
2022-07-14kernel: use KScheduler from mesosphereLiam
2022-07-05Merge pull request #8532 from liamwhite/fiber-supplementsliamwhite
common/fiber: make fibers easier to use
2022-07-02common/fiber: make fibers easier to useLiam
2022-06-30cpu_manager: properly check idle on return from preemptionLiam
2022-06-23kernel: make current thread pointer thread localLiam
2022-06-16core: fix initialization in single core, sync GPU modeLiam
2022-06-16Merge pull request #8457 from liamwhite/kprocess-suspendFernando S
kernel: implement KProcess suspension
2022-06-14core: centralize profile scope for DynarmicLiam
2022-06-14kernel: implement KProcess suspensionLiam
2022-06-08CpuManager: simplify pausingLiam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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.
2021-12-06core: hle: kernel: Disable dispatch count tracking on single core.bunnei
- This would have limited value, and would be a mess to handle properly.
2021-12-06core: cpu_manager: Use invalid core_id on init and simplify shutdown.bunnei
2021-12-06core: cpu_manager: Use KScopedDisableDispatch.bunnei
2021-11-03core: Remove unused includesameerj
2021-09-03core: cpu_manager: Use jthread.bunnei
2021-08-25Revert "kernel: Various improvements to scheduler"bunnei
2021-08-14core: hle: kernel: Disable dispatch count tracking on single core.bunnei
- This would have limited value, and would be a mess to handle properly.
2021-08-07core: cpu_manager: Use invalid core_id on init and simplify shutdown.bunnei
2021-08-07core: cpu_manager: Use KScopedDisableDispatch.bunnei
2021-08-07core: cpu_manager: Use jthread.bunnei
2021-05-16core: Make variable shadowing a compile-time errorLioncash
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
2021-03-07common: Fiber: use a reference for YieldTo.bunnei
- Fixes another small leak.
2021-03-05Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei
2021-02-27core: Switch to unique_ptr for usage of Common::Fiber.bunnei
- 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.
2021-01-28core: cpu_manager: Remove unused variable.bunnei
2021-01-28hle: kernel: Recode implementation of KThread to be more accurate.bunnei
2021-01-28hle: kernel: Move single core "phantom mode" out of KThread.bunnei
- This is a workaround that does not belong in a kernel primitive.
2021-01-28hle: kernel: KThread: Remove thread types that do not exist.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2020-12-06core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.bunnei
- We were reload'ing the old current scheduler, which may have changed.
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei
2020-11-27core: Eliminate remaining usages of the global system instanceLioncash
Removes all remaining usages of the global system instance. After this, migration can begin to migrate to being constructed and managed entirely by the various frontends.
2020-11-24core: cpu_manager: Fix shutdown crash when closing before emulation starts.bunnei
2020-10-26core: cpu_manager: Add missing call to MicroProfileOnThreadExit().bunnei
- Fixes an occasional crash when trying to launch subsequent games.
2020-08-31Merge pull request #4461 from comex/thread-namesLC
Fix thread naming on Linux, which limits names to 15 bytes.
2020-08-22cpu_manager: Make use of ranged for where applicableLioncash
We can simplify a few loops by making use of ranged for.
2020-08-05Fix thread naming on Linux, which limits names to 15 bytes.comex
- In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and do nothing. - Also, add logging in case `pthread_set_name_np` returns an error anyway. This is Linux-specific, as the Apple and BSD versions of `pthread_set_name_np return `void`. - Change the name for CPU threads in multi-core mode from "yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it fits into the Linux limit. Some other thread names are also cut off, but I didn't bother addressing them as you can guess them from the truncated versions. For a CPU thread, truncation means you can't see which core it is!
2020-07-27cpu_manager: Remove redundant std::function declarationsLioncash
We can just return the function directly. Making for less reading.