aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/loader
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-05-08 16:51:48 -0300
committerGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-05-08 22:11:44 -0300
commit2af30d465fa4e9c3421f01b557141673eb0a2115 (patch)
treeebbbbee64f504163feddf312a6844a58c5c5052a /src/core/loader
parent326ec51261299e48de97592631c02523da9c8118 (diff)
Process: Support parsing of exheader kernel caps
Diffstat (limited to 'src/core/loader')
-rw-r--r--src/core/loader/3dsx.cpp1
-rw-r--r--src/core/loader/elf.cpp1
-rw-r--r--src/core/loader/loader.cpp1
3 files changed, 3 insertions, 0 deletions
diff --git a/src/core/loader/3dsx.cpp b/src/core/loader/3dsx.cpp
index 5aaeb53d..a0266a4e 100644
--- a/src/core/loader/3dsx.cpp
+++ b/src/core/loader/3dsx.cpp
@@ -231,6 +231,7 @@ ResultStatus AppLoader_THREEDSX::Load() {
return ResultStatus::Error;
Kernel::g_current_process = Kernel::Process::Create(filename, 0);
+ Kernel::g_current_process->svc_access_mask.set();
Kernel::g_current_process->static_address_mappings = default_address_mappings;
Load3DSXFile(*file, Memory::EXEFS_CODE_VADDR);
diff --git a/src/core/loader/elf.cpp b/src/core/loader/elf.cpp
index ac3f84d0..94d1c9fa 100644
--- a/src/core/loader/elf.cpp
+++ b/src/core/loader/elf.cpp
@@ -351,6 +351,7 @@ ResultStatus AppLoader_ELF::Load() {
return ResultStatus::Error;
Kernel::g_current_process = Kernel::Process::Create(filename, 0);
+ Kernel::g_current_process->svc_access_mask.set();
Kernel::g_current_process->static_address_mappings = default_address_mappings;
ElfReader elf_reader(&buffer[0]);
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp
index 2718e88c..8976d037 100644
--- a/src/core/loader/loader.cpp
+++ b/src/core/loader/loader.cpp
@@ -141,6 +141,7 @@ ResultStatus LoadFile(const std::string& filename) {
case FileType::BIN:
{
Kernel::g_current_process = Kernel::Process::Create(filename_filename, 0);
+ Kernel::g_current_process->svc_access_mask.set();
Kernel::g_current_process->static_address_mappings = default_address_mappings;
size_t size = (size_t)file->GetSize();