summaryrefslogtreecommitdiffstats
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-02-19 23:23:05 +0100
committerGitHub <noreply@github.com>2018-02-19 23:23:05 +0100
commit23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9 (patch)
tree48ce770db1df193eba107183d52f03543c81f355 /src/core/core.cpp
parentMerge pull request #203 from Subv/ensure_save_data (diff)
parentscheduler: Cleanup based on PR feedback. (diff)
downloadyuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.gz
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.bz2
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.lz
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.xz
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.zst
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.zip
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp9
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>();