diff options
Diffstat (limited to 'src/core/loader/elf.cpp')
| -rw-r--r-- | src/core/loader/elf.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/loader/elf.cpp b/src/core/loader/elf.cpp index 6420a7f11..3702a8478 100644 --- a/src/core/loader/elf.cpp +++ b/src/core/loader/elf.cpp | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | #include "common/common_types.h" | 9 | #include "common/common_types.h" |
| 10 | #include "common/file_util.h" | 10 | #include "common/file_util.h" |
| 11 | #include "common/logging/log.h" | 11 | #include "common/logging/log.h" |
| 12 | #include "core/core.h" | ||
| 12 | #include "core/hle/kernel/process.h" | 13 | #include "core/hle/kernel/process.h" |
| 13 | #include "core/hle/kernel/resource_limit.h" | 14 | #include "core/hle/kernel/resource_limit.h" |
| 14 | #include "core/loader/elf.h" | 15 | #include "core/loader/elf.h" |
| @@ -300,7 +301,8 @@ SharedPtr<CodeSet> ElfReader::LoadInto(u32 vaddr) { | |||
| 300 | std::vector<u8> program_image(total_image_size); | 301 | std::vector<u8> program_image(total_image_size); |
| 301 | size_t current_image_position = 0; | 302 | size_t current_image_position = 0; |
| 302 | 303 | ||
| 303 | SharedPtr<CodeSet> codeset = CodeSet::Create(""); | 304 | auto& kernel = Core::System::GetInstance().Kernel(); |
| 305 | SharedPtr<CodeSet> codeset = CodeSet::Create(kernel, ""); | ||
| 304 | 306 | ||
| 305 | for (unsigned int i = 0; i < header->e_phnum; ++i) { | 307 | for (unsigned int i = 0; i < header->e_phnum; ++i) { |
| 306 | Elf32_Phdr* p = &segments[i]; | 308 | Elf32_Phdr* p = &segments[i]; |
| @@ -400,8 +402,9 @@ ResultStatus AppLoader_ELF::Load(Kernel::SharedPtr<Kernel::Process>& process) { | |||
| 400 | process->svc_access_mask.set(); | 402 | process->svc_access_mask.set(); |
| 401 | 403 | ||
| 402 | // Attach the default resource limit (APPLICATION) to the process | 404 | // Attach the default resource limit (APPLICATION) to the process |
| 405 | auto& kernel = Core::System::GetInstance().Kernel(); | ||
| 403 | process->resource_limit = | 406 | process->resource_limit = |
| 404 | Kernel::ResourceLimit::GetForCategory(Kernel::ResourceLimitCategory::APPLICATION); | 407 | kernel.ResourceLimitForCategory(Kernel::ResourceLimitCategory::APPLICATION); |
| 405 | 408 | ||
| 406 | process->Run(codeset->entrypoint, 48, Memory::DEFAULT_STACK_SIZE); | 409 | process->Run(codeset->entrypoint, 48, Memory::DEFAULT_STACK_SIZE); |
| 407 | 410 | ||