diff options
Diffstat (limited to '')
-rw-r--r-- | src/core/core.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 613a98b4c..8c5dd3761 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -133,7 +133,7 @@ void System::Reschedule() { } reschedule_pending = false; - Kernel::Reschedule(); + Core::System::GetInstance().Scheduler().Reschedule(); } System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { @@ -141,19 +141,20 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { switch (Settings::values.cpu_core) { case Settings::CpuCore::Unicorn: - cpu_core = std::make_unique<ARM_Unicorn>(); + cpu_core = std::make_shared<ARM_Unicorn>(); break; case Settings::CpuCore::Dynarmic: default: #ifdef ARCHITECTURE_x86_64 - cpu_core = std::make_unique<ARM_Dynarmic>(); + cpu_core = std::make_shared<ARM_Dynarmic>(); #else - cpu_core = std::make_unique<ARM_Unicorn>(); + cpu_core = std::make_shared<ARM_Unicorn>(); LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); #endif break; } + scheduler = std::make_unique<Kernel::Scheduler>(cpu_core.get()); gpu_core = std::make_unique<Tegra::GPU>(); telemetry_session = std::make_unique<Core::TelemetrySession>(); |