diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 0cf3c8f70c..edd4c42590 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -101,7 +101,7 @@ struct KernelCore::Impl { void Initialize(KernelCore& kernel) { Shutdown(); - InitializePhysicalCores(kernel); + InitializePhysicalCores(); InitializeSystemResourceLimit(kernel); InitializeThreads(); InitializePreemption(); @@ -131,14 +131,14 @@ struct KernelCore::Impl { } cores.clear(); - exclusive_monitor.reset(nullptr); + exclusive_monitor.reset(); } - void InitializePhysicalCores(KernelCore& kernel) { + void InitializePhysicalCores() { exclusive_monitor = Core::MakeExclusiveMonitor(system.Memory(), global_scheduler.CpuCoresCount()); for (std::size_t i = 0; i < global_scheduler.CpuCoresCount(); i++) { - cores.emplace_back(system, kernel, i, *exclusive_monitor); + cores.emplace_back(system, i, *exclusive_monitor); } } diff --git a/src/core/hle/kernel/physical_core.cpp b/src/core/hle/kernel/physical_core.cpp index 896a1a87ad..e96d063fdc 100644 --- a/src/core/hle/kernel/physical_core.cpp +++ b/src/core/hle/kernel/physical_core.cpp @@ -10,16 +10,15 @@ #include "core/arm/exclusive_monitor.h" #include "core/arm/unicorn/arm_unicorn.h" #include "core/core.h" -#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/physical_core.h" #include "core/hle/kernel/scheduler.h" #include "core/hle/kernel/thread.h" namespace Kernel { -PhysicalCore::PhysicalCore(Core::System& system, KernelCore& kernel, std::size_t id, +PhysicalCore::PhysicalCore(Core::System& system, std::size_t id, Core::ExclusiveMonitor& exclusive_monitor) - : core_index{id}, kernel{kernel} { + : core_index{id} { #ifdef ARCHITECTURE_x86_64 arm_interface = std::make_shared(system, exclusive_monitor, core_index); #else diff --git a/src/core/hle/kernel/physical_core.h b/src/core/hle/kernel/physical_core.h index fbef0801fa..7dca97d1b9 100644 --- a/src/core/hle/kernel/physical_core.h +++ b/src/core/hle/kernel/physical_core.h @@ -21,9 +21,7 @@ namespace Kernel { class PhysicalCore { public: - PhysicalCore(Core::System& system, KernelCore& kernel, std::size_t id, - Core::ExclusiveMonitor& exclusive_monitor); - + PhysicalCore(Core::System& system, std::size_t id, Core::ExclusiveMonitor& exclusive_monitor); ~PhysicalCore(); /// Execute current jit state @@ -66,7 +64,6 @@ public: private: std::size_t core_index; - KernelCore& kernel; std::shared_ptr arm_interface; std::shared_ptr scheduler; };