summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/file_sys/program_metadata.cpp15
-rw-r--r--src/core/file_sys/program_metadata.h5
2 files changed, 20 insertions, 0 deletions
diff --git a/src/core/file_sys/program_metadata.cpp b/src/core/file_sys/program_metadata.cpp
index d863253f8..eb76174c5 100644
--- a/src/core/file_sys/program_metadata.cpp
+++ b/src/core/file_sys/program_metadata.cpp
@@ -51,6 +51,21 @@ Loader::ResultStatus ProgramMetadata::Load(VirtualFile file) {
51 return Loader::ResultStatus::Success; 51 return Loader::ResultStatus::Success;
52} 52}
53 53
54void ProgramMetadata::LoadManual(bool is_64_bit, ProgramAddressSpaceType address_space,
55 u8 main_thread_prio, u8 main_thread_core,
56 u32 main_thread_stack_size, u64 title_id,
57 u64 filesystem_permissions,
58 KernelCapabilityDescriptors capabilities) {
59 npdm_header.has_64_bit_instructions.Assign(is_64_bit);
60 npdm_header.address_space_type.Assign(address_space);
61 npdm_header.main_thread_priority = main_thread_prio;
62 npdm_header.main_thread_cpu = main_thread_core;
63 npdm_header.main_stack_size = main_thread_stack_size;
64 aci_header.title_id = title_id;
65 aci_file_access.permissions = filesystem_permissions;
66 aci_kernel_capabilities = std ::move(capabilities);
67}
68
54bool ProgramMetadata::Is64BitProgram() const { 69bool ProgramMetadata::Is64BitProgram() const {
55 return npdm_header.has_64_bit_instructions; 70 return npdm_header.has_64_bit_instructions;
56} 71}
diff --git a/src/core/file_sys/program_metadata.h b/src/core/file_sys/program_metadata.h
index 7de5b9cf9..43bf2820a 100644
--- a/src/core/file_sys/program_metadata.h
+++ b/src/core/file_sys/program_metadata.h
@@ -46,6 +46,11 @@ public:
46 46
47 Loader::ResultStatus Load(VirtualFile file); 47 Loader::ResultStatus Load(VirtualFile file);
48 48
49 // Load from parameters instead of NPDM file, used for KIP
50 void LoadManual(bool is_64_bit, ProgramAddressSpaceType address_space, u8 main_thread_prio,
51 u8 main_thread_core, u32 main_thread_stack_size, u64 title_id,
52 u64 filesystem_permissions, KernelCapabilityDescriptors capabilities);
53
49 bool Is64BitProgram() const; 54 bool Is64BitProgram() const;
50 ProgramAddressSpaceType GetAddressSpaceType() const; 55 ProgramAddressSpaceType GetAddressSpaceType() const;
51 u8 GetMainThreadPriority() const; 56 u8 GetMainThreadPriority() const;