diff options
author | bunnei <bunneidev@gmail.com> | 2022-01-15 01:25:37 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2022-01-15 01:44:14 +0100 |
commit | c905044e1bdd7b602ae43e053b57bae03c47244a (patch) | |
tree | bc9987b3010c8883de4ac9c2c94e620b417ed238 /src/core/hle/kernel | |
parent | core: hle: kernel: Add KWorkerTask and KWorkerTaskManager. (diff) | |
download | yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.tar yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.tar.gz yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.tar.bz2 yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.tar.lz yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.tar.xz yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.tar.zst yuzu-c905044e1bdd7b602ae43e053b57bae03c47244a.zip |
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r-- | src/core/hle/kernel/kernel.cpp | 11 | ||||
-rw-r--r-- | src/core/hle/kernel/kernel.h | 7 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index e1e17db13..93c0cdaee 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -37,6 +37,7 @@ #include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_slab_heap.h" #include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_worker_task_manager.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/physical_core.h" #include "core/hle/kernel/service_thread.h" @@ -798,6 +799,8 @@ struct KernelCore::Impl { std::array<u64, Core::Hardware::NUM_CPU_CORES> svc_ticks{}; + KWorkerTaskManager worker_task_manager; + // System context Core::System& system; }; @@ -1138,6 +1141,14 @@ const Init::KSlabResourceCounts& KernelCore::SlabResourceCounts() const { return impl->slab_resource_counts; } +KWorkerTaskManager& KernelCore::WorkerTaskManager() { + return impl->worker_task_manager; +} + +const KWorkerTaskManager& KernelCore::WorkerTaskManager() const { + return impl->worker_task_manager; +} + bool KernelCore::IsPhantomModeForSingleCore() const { return impl->IsPhantomModeForSingleCore(); } diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index b9b423908..0e04fc3bb 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -52,6 +52,7 @@ class KSharedMemory; class KSharedMemoryInfo; class KThread; class KTransferMemory; +class KWorkerTaskManager; class KWritableEvent; class KCodeMemory; class PhysicalCore; @@ -343,6 +344,12 @@ public: /// Gets the current slab resource counts. const Init::KSlabResourceCounts& SlabResourceCounts() const; + /// Gets the current worker task manager, used for dispatching KThread/KProcess tasks. + KWorkerTaskManager& WorkerTaskManager(); + + /// Gets the current worker task manager, used for dispatching KThread/KProcess tasks. + const KWorkerTaskManager& WorkerTaskManager() const; + private: friend class KProcess; friend class KThread; |