diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp index 15d60cc8a..21568ad50 100644 --- a/src/core/core_cpu.cpp +++ b/src/core/core_cpu.cpp @@ -9,6 +9,7 @@ #ifdef ARCHITECTURE_x86_64 #include "core/arm/dynarmic/arm_dynarmic.h" #endif +#include "core/arm/exclusive_monitor.h" #include "core/arm/unicorn/arm_unicorn.h" #include "core/core_cpu.h" #include "core/core_timing.h" @@ -66,6 +67,8 @@ Cpu::Cpu(std::shared_ptr exclusive_monitor, scheduler = std::make_shared(arm_interface.get()); } +Cpu::~Cpu() = default; + std::shared_ptr Cpu::MakeExclusiveMonitor(std::size_t num_cores) { if (Settings::values.use_cpu_jit) { #ifdef ARCHITECTURE_x86_64 diff --git a/src/core/core_cpu.h b/src/core/core_cpu.h index 1d229b42f..685532965 100644 --- a/src/core/core_cpu.h +++ b/src/core/core_cpu.h @@ -6,11 +6,10 @@ #include #include +#include #include #include -#include #include "common/common_types.h" -#include "core/arm/exclusive_monitor.h" namespace Kernel { class Scheduler; @@ -19,6 +18,7 @@ class Scheduler; namespace Core { class ARM_Interface; +class ExclusiveMonitor; constexpr unsigned NUM_CPU_CORES{4}; @@ -43,6 +43,7 @@ class Cpu { public: Cpu(std::shared_ptr exclusive_monitor, std::shared_ptr cpu_barrier, std::size_t core_index); + ~Cpu(); void RunLoop(bool tight_loop = true);