summaryrefslogtreecommitdiffstats
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-09-08 04:34:05 +0200
committerGitHub <noreply@github.com>2018-09-08 04:34:05 +0200
commit460ebc818731a443022cf7c897b52cbe66d1d664 (patch)
treeecf566e313375b34ce1abadcf6005d813c39397e /src/core/core.cpp
parentMerge pull request #1260 from MerryMage/dynarmic (diff)
parentcore: Migrate current_process pointer to the kernel (diff)
downloadyuzu-460ebc818731a443022cf7c897b52cbe66d1d664.tar
yuzu-460ebc818731a443022cf7c897b52cbe66d1d664.tar.gz
yuzu-460ebc818731a443022cf7c897b52cbe66d1d664.tar.bz2
yuzu-460ebc818731a443022cf7c897b52cbe66d1d664.tar.lz
yuzu-460ebc818731a443022cf7c897b52cbe66d1d664.tar.xz
yuzu-460ebc818731a443022cf7c897b52cbe66d1d664.tar.zst
yuzu-460ebc818731a443022cf7c897b52cbe66d1d664.zip
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index bf39ad689..713ee17c1 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -136,7 +136,7 @@ struct System::Impl {
if (virtual_filesystem == nullptr)
virtual_filesystem = std::make_shared<FileSys::RealVfsFilesystem>();
- current_process = Kernel::Process::Create(kernel, "main");
+ kernel.MakeCurrentProcess(Kernel::Process::Create(kernel, "main"));
cpu_barrier = std::make_shared<CpuBarrier>();
cpu_exclusive_monitor = Cpu::MakeExclusiveMonitor(cpu_cores.size());
@@ -202,7 +202,7 @@ struct System::Impl {
return init_result;
}
- const Loader::ResultStatus load_result{app_loader->Load(current_process)};
+ const Loader::ResultStatus load_result{app_loader->Load(kernel.CurrentProcess())};
if (load_result != Loader::ResultStatus::Success) {
LOG_CRITICAL(Core, "Failed to load ROM (Error {})!", static_cast<int>(load_result));
Shutdown();
@@ -281,7 +281,6 @@ struct System::Impl {
std::unique_ptr<VideoCore::RendererBase> renderer;
std::unique_ptr<Tegra::GPU> gpu_core;
std::shared_ptr<Tegra::DebugContext> debug_context;
- Kernel::SharedPtr<Kernel::Process> current_process;
std::shared_ptr<ExclusiveMonitor> cpu_exclusive_monitor;
std::shared_ptr<CpuBarrier> cpu_barrier;
std::array<std::shared_ptr<Cpu>, NUM_CPU_CORES> cpu_cores;
@@ -363,7 +362,11 @@ const std::shared_ptr<Kernel::Scheduler>& System::Scheduler(size_t core_index) {
}
Kernel::SharedPtr<Kernel::Process>& System::CurrentProcess() {
- return impl->current_process;
+ return impl->kernel.CurrentProcess();
+}
+
+const Kernel::SharedPtr<Kernel::Process>& System::CurrentProcess() const {
+ return impl->kernel.CurrentProcess();
}
ARM_Interface& System::ArmInterface(size_t core_index) {