diff options
| author | 2023-10-29 11:24:52 -0400 | |
|---|---|---|
| committer | 2023-10-29 11:24:52 -0400 | |
| commit | 6aee148b170e6886e58a3996f729b2cc87329e95 (patch) | |
| tree | 39efd9469af6a922ee5f38d906940412333c1455 /src/core/core.cpp | |
| parent | Merge pull request #11827 from liamwhite/preallocated (diff) | |
| parent | kernel: make sure new process is in list (diff) | |
| download | yuzu-6aee148b170e6886e58a3996f729b2cc87329e95.tar.gz yuzu-6aee148b170e6886e58a3996f729b2cc87329e95.tar.xz yuzu-6aee148b170e6886e58a3996f729b2cc87329e95.zip | |
Merge pull request #11843 from liamwhite/sync-process
kernel: update KProcess
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 11 |
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(); |