|
|
@ -28,7 +28,9 @@ |
|
|
#include "core/file_sys/vfs_real.h"
|
|
|
#include "core/file_sys/vfs_real.h"
|
|
|
#include "core/hardware_interrupt_manager.h"
|
|
|
#include "core/hardware_interrupt_manager.h"
|
|
|
#include "core/hid/hid_core.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_process.h"
|
|
|
|
|
|
#include "core/hle/kernel/k_resource_limit.h"
|
|
|
#include "core/hle/kernel/k_scheduler.h"
|
|
|
#include "core/hle/kernel/k_scheduler.h"
|
|
|
#include "core/hle/kernel/kernel.h"
|
|
|
#include "core/hle/kernel/kernel.h"
|
|
|
#include "core/hle/kernel/physical_core.h"
|
|
|
#include "core/hle/kernel/physical_core.h"
|
|
|
@ -252,9 +254,16 @@ struct System::Impl { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
telemetry_session->AddInitialInfo(*app_loader, fs_controller, *content_provider); |
|
|
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()); |
|
|
auto main_process = Kernel::KProcess::Create(system.Kernel()); |
|
|
ASSERT(Kernel::KProcess::Initialize(main_process, system, "main", |
|
|
ASSERT(Kernel::KProcess::Initialize(main_process, system, "main", |
|
|
Kernel::KProcess::ProcessType::Userland) |
|
|
|
|
|
|
|
|
Kernel::KProcess::ProcessType::Userland, resource_limit) |
|
|
.IsSuccess()); |
|
|
.IsSuccess()); |
|
|
const auto [load_result, load_parameters] = app_loader->Load(*main_process, system); |
|
|
const auto [load_result, load_parameters] = app_loader->Load(*main_process, system); |
|
|
if (load_result != Loader::ResultStatus::Success) { |
|
|
if (load_result != Loader::ResultStatus::Success) { |
|
|
|