diff options
| author | 2022-01-17 18:08:24 -0800 | |
|---|---|---|
| committer | 2022-01-17 18:08:24 -0800 | |
| commit | 101d86897b729ca66caf7cfee246e6f238ecf723 (patch) | |
| tree | 92b516dd4958ca01bb5544a475011a2634412132 /src/core/hle/kernel/kernel.cpp | |
| parent | Merge pull request #7724 from ameerj/astc_new_nv (diff) | |
| parent | core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorker... (diff) | |
| download | yuzu-101d86897b729ca66caf7cfee246e6f238ecf723.tar.gz yuzu-101d86897b729ca66caf7cfee246e6f238ecf723.tar.xz yuzu-101d86897b729ca66caf7cfee246e6f238ecf723.zip | |
Merge pull request #7712 from bunnei/fix-thread-exit
Accurately implement thread exit
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
| -rw-r--r-- | src/core/hle/kernel/kernel.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 0b618fb46..e5cf9abb3 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | #include "core/hle/kernel/k_shared_memory.h" | 37 | #include "core/hle/kernel/k_shared_memory.h" |
| 38 | #include "core/hle/kernel/k_slab_heap.h" | 38 | #include "core/hle/kernel/k_slab_heap.h" |
| 39 | #include "core/hle/kernel/k_thread.h" | 39 | #include "core/hle/kernel/k_thread.h" |
| 40 | #include "core/hle/kernel/k_worker_task_manager.h" | ||
| 40 | #include "core/hle/kernel/kernel.h" | 41 | #include "core/hle/kernel/kernel.h" |
| 41 | #include "core/hle/kernel/physical_core.h" | 42 | #include "core/hle/kernel/physical_core.h" |
| 42 | #include "core/hle/kernel/service_thread.h" | 43 | #include "core/hle/kernel/service_thread.h" |
| @@ -797,6 +798,8 @@ struct KernelCore::Impl { | |||
| 797 | 798 | ||
| 798 | std::array<u64, Core::Hardware::NUM_CPU_CORES> svc_ticks{}; | 799 | std::array<u64, Core::Hardware::NUM_CPU_CORES> svc_ticks{}; |
| 799 | 800 | ||
| 801 | KWorkerTaskManager worker_task_manager; | ||
| 802 | |||
| 800 | // System context | 803 | // System context |
| 801 | Core::System& system; | 804 | Core::System& system; |
| 802 | }; | 805 | }; |
| @@ -1137,6 +1140,14 @@ const Init::KSlabResourceCounts& KernelCore::SlabResourceCounts() const { | |||
| 1137 | return impl->slab_resource_counts; | 1140 | return impl->slab_resource_counts; |
| 1138 | } | 1141 | } |
| 1139 | 1142 | ||
| 1143 | KWorkerTaskManager& KernelCore::WorkerTaskManager() { | ||
| 1144 | return impl->worker_task_manager; | ||
| 1145 | } | ||
| 1146 | |||
| 1147 | const KWorkerTaskManager& KernelCore::WorkerTaskManager() const { | ||
| 1148 | return impl->worker_task_manager; | ||
| 1149 | } | ||
| 1150 | |||
| 1140 | bool KernelCore::IsPhantomModeForSingleCore() const { | 1151 | bool KernelCore::IsPhantomModeForSingleCore() const { |
| 1141 | return impl->IsPhantomModeForSingleCore(); | 1152 | return impl->IsPhantomModeForSingleCore(); |
| 1142 | } | 1153 | } |