diff options
| author | 2021-01-20 13:42:27 -0800 | |
|---|---|---|
| committer | 2021-01-28 21:42:26 -0800 | |
| commit | cdd14b03e5c8e29bc6cd11bbde0ef726d2f166ce (patch) | |
| tree | 987f6cb5d3f1955dc88f5ac2c1d5c1329d787fc4 /src/core/hle/kernel/kernel.cpp | |
| parent | kernel: svc_types: Add ThreadActivity. (diff) | |
| download | yuzu-cdd14b03e5c8e29bc6cd11bbde0ef726d2f166ce.tar.gz yuzu-cdd14b03e5c8e29bc6cd11bbde0ef726d2f166ce.tar.xz yuzu-cdd14b03e5c8e29bc6cd11bbde0ef726d2f166ce.zip | |
hle: kernel: Recode implementation of KThread to be more accurate.
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
| -rw-r--r-- | src/core/hle/kernel/kernel.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 39d5122f5..d61659453 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
| @@ -117,14 +117,14 @@ struct KernelCore::Impl { | |||
| 117 | void InitializePhysicalCores() { | 117 | void InitializePhysicalCores() { |
| 118 | exclusive_monitor = | 118 | exclusive_monitor = |
| 119 | Core::MakeExclusiveMonitor(system.Memory(), Core::Hardware::NUM_CPU_CORES); | 119 | Core::MakeExclusiveMonitor(system.Memory(), Core::Hardware::NUM_CPU_CORES); |
| 120 | for (std::size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { | 120 | for (s32 i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { |
| 121 | schedulers[i] = std::make_unique<Kernel::KScheduler>(system, i); | 121 | schedulers[i] = std::make_unique<Kernel::KScheduler>(system, i); |
| 122 | cores.emplace_back(i, system, *schedulers[i], interrupts); | 122 | cores.emplace_back(i, system, *schedulers[i], interrupts); |
| 123 | } | 123 | } |
| 124 | } | 124 | } |
| 125 | 125 | ||
| 126 | void InitializeSchedulers() { | 126 | void InitializeSchedulers() { |
| 127 | for (std::size_t i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { | 127 | for (s32 i = 0; i < Core::Hardware::NUM_CPU_CORES; i++) { |
| 128 | cores[i].Scheduler().Initialize(); | 128 | cores[i].Scheduler().Initialize(); |
| 129 | } | 129 | } |
| 130 | } | 130 | } |
| @@ -169,9 +169,9 @@ struct KernelCore::Impl { | |||
| 169 | std::string name = "Suspend Thread Id:" + std::to_string(i); | 169 | std::string name = "Suspend Thread Id:" + std::to_string(i); |
| 170 | std::function<void(void*)> init_func = Core::CpuManager::GetSuspendThreadStartFunc(); | 170 | std::function<void(void*)> init_func = Core::CpuManager::GetSuspendThreadStartFunc(); |
| 171 | void* init_func_parameter = system.GetCpuManager().GetStartFuncParamater(); | 171 | void* init_func_parameter = system.GetCpuManager().GetStartFuncParamater(); |
| 172 | auto thread_res = KThread::Create(system, ThreadType::Kernel, std::move(name), 0, 0, 0, | 172 | auto thread_res = KThread::Create(system, ThreadType::HighPriority, std::move(name), 0, |
| 173 | static_cast<u32>(i), 0, nullptr, std::move(init_func), | 173 | 0, 0, static_cast<u32>(i), 0, nullptr, |
| 174 | init_func_parameter); | 174 | std::move(init_func), init_func_parameter); |
| 175 | 175 | ||
| 176 | suspend_threads[i] = std::move(thread_res).Unwrap(); | 176 | suspend_threads[i] = std::move(thread_res).Unwrap(); |
| 177 | } | 177 | } |