diff options
author | bunnei <bunneidev@gmail.com> | 2022-02-26 10:41:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-26 10:41:08 +0100 |
commit | 20e9501b0d0d18b6b215f2f3ed092a3646267bd1 (patch) | |
tree | cd90b946482d00c5431c13b165f28d803cf54f59 /src/core/core.cpp | |
parent | Merge pull request #7953 from ameerj/radv-rdna2-crash (diff) | |
parent | hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled. (diff) | |
download | yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.tar yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.tar.gz yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.tar.bz2 yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.tar.lz yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.tar.xz yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.tar.zst yuzu-20e9501b0d0d18b6b215f2f3ed092a3646267bd1.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/core.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 3f9a7f44b..b0cfee3ee 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -28,7 +28,9 @@ #include "core/file_sys/vfs_real.h" #include "core/hardware_interrupt_manager.h" #include "core/hid/hid_core.h" +#include "core/hle/kernel/k_memory_manager.h" #include "core/hle/kernel/k_process.h" +#include "core/hle/kernel/k_resource_limit.h" #include "core/hle/kernel/k_scheduler.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/physical_core.h" @@ -252,9 +254,16 @@ struct System::Impl { } telemetry_session->AddInitialInfo(*app_loader, fs_controller, *content_provider); + + // Create a resource limit for the process. + const auto physical_memory_size = + kernel.MemoryManager().GetSize(Kernel::KMemoryManager::Pool::Application); + auto* resource_limit = Kernel::CreateResourceLimitForProcess(system, physical_memory_size); + + // Create the process. auto main_process = Kernel::KProcess::Create(system.Kernel()); ASSERT(Kernel::KProcess::Initialize(main_process, system, "main", - Kernel::KProcess::ProcessType::Userland) + Kernel::KProcess::ProcessType::Userland, resource_limit) .IsSuccess()); const auto [load_result, load_parameters] = app_loader->Load(*main_process, system); if (load_result != Loader::ResultStatus::Success) { |