summaryrefslogtreecommitdiff
path: root/src/core/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index d7e2efbd7..14d6c8c27 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -309,17 +309,10 @@ struct System::Impl {
309 309
310 telemetry_session->AddInitialInfo(*app_loader, fs_controller, *content_provider); 310 telemetry_session->AddInitialInfo(*app_loader, fs_controller, *content_provider);
311 311
312 // Create a resource limit for the process.
313 const auto physical_memory_size =
314 kernel.MemoryManager().GetSize(Kernel::KMemoryManager::Pool::Application);
315 auto* resource_limit = Kernel::CreateResourceLimitForProcess(system, physical_memory_size);
316
317 // Create the process. 312 // Create the process.
318 auto main_process = Kernel::KProcess::Create(system.Kernel()); 313 auto main_process = Kernel::KProcess::Create(system.Kernel());
319 ASSERT(Kernel::KProcess::Initialize(main_process, system, "main",
320 Kernel::KProcess::ProcessType::Userland, resource_limit)
321 .IsSuccess());
322 Kernel::KProcess::Register(system.Kernel(), main_process); 314 Kernel::KProcess::Register(system.Kernel(), main_process);
315 kernel.AppendNewProcess(main_process);
323 kernel.MakeApplicationProcess(main_process); 316 kernel.MakeApplicationProcess(main_process);
324 const auto [load_result, load_parameters] = app_loader->Load(*main_process, system); 317 const auto [load_result, load_parameters] = app_loader->Load(*main_process, system);
325 if (load_result != Loader::ResultStatus::Success) { 318 if (load_result != Loader::ResultStatus::Success) {
@@ -418,6 +411,7 @@ struct System::Impl {
418 services->KillNVNFlinger(); 411 services->KillNVNFlinger();
419 } 412 }
420 kernel.CloseServices(); 413 kernel.CloseServices();
414 kernel.ShutdownCores();
421 services.reset(); 415 services.reset();
422 service_manager.reset(); 416 service_manager.reset();
423 cheat_engine.reset(); 417 cheat_engine.reset();
@@ -429,7 +423,6 @@ struct System::Impl {
429 gpu_core.reset(); 423 gpu_core.reset();
430 host1x_core.reset(); 424 host1x_core.reset();
431 perf_stats.reset(); 425 perf_stats.reset();
432 kernel.ShutdownCores();
433 cpu_manager.Shutdown(); 426 cpu_manager.Shutdown();
434 debugger.reset(); 427 debugger.reset();
435 kernel.Shutdown(); 428 kernel.Shutdown();