diff options
author | Lioncash <mathew1800@gmail.com> | 2018-09-23 02:09:32 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-09-24 23:24:50 +0200 |
commit | 75603b005bb9163810a02376cd33854cd1b16ef9 (patch) | |
tree | ebb28bd5ff9e0c4a57c53ee5ea6a72ce75023103 /src/core/hle/kernel/process.cpp | |
parent | Added glObjectLabels for renderdoc for textures and shader programs (#1384) (diff) | |
download | yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.tar yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.tar.gz yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.tar.bz2 yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.tar.lz yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.tar.xz yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.tar.zst yuzu-75603b005bb9163810a02376cd33854cd1b16ef9.zip |
Diffstat (limited to 'src/core/hle/kernel/process.cpp')
-rw-r--r-- | src/core/hle/kernel/process.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 121f741fd..f337f626f 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp @@ -8,6 +8,7 @@ #include "common/common_funcs.h" #include "common/logging/log.h" #include "core/core.h" +#include "core/file_sys/program_metadata.h" #include "core/hle/kernel/errors.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/process.h" @@ -34,14 +35,21 @@ SharedPtr<Process> Process::Create(KernelCore& kernel, std::string&& name) { process->name = std::move(name); process->flags.raw = 0; process->flags.memory_region.Assign(MemoryRegion::APPLICATION); + process->resource_limit = kernel.ResourceLimitForCategory(ResourceLimitCategory::APPLICATION); process->status = ProcessStatus::Created; process->program_id = 0; process->process_id = kernel.CreateNewProcessID(); + process->svc_access_mask.set(); kernel.AppendNewProcess(process); return process; } +void Process::LoadFromMetadata(const FileSys::ProgramMetadata& metadata) { + program_id = metadata.GetTitleID(); + vm_manager.Reset(metadata.GetAddressSpaceType()); +} + void Process::ParseKernelCaps(const u32* kernel_caps, std::size_t len) { for (std::size_t i = 0; i < len; ++i) { u32 descriptor = kernel_caps[i]; |