file_sys: program_metadata: Add a helper function for generating reasonable default metadata.
- We need this for homebrew process initialization.
This commit is contained in:
parent
200f69d2ff
commit
f0a7f05070
|
@ -51,6 +51,17 @@ Loader::ResultStatus ProgramMetadata::Load(VirtualFile file) {
|
||||||
return Loader::ResultStatus::Success;
|
return Loader::ResultStatus::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*static*/ ProgramMetadata ProgramMetadata::GetDefault() {
|
||||||
|
ProgramMetadata result;
|
||||||
|
|
||||||
|
result.LoadManual(
|
||||||
|
true /*is_64_bit*/, FileSys::ProgramAddressSpaceType::Is39Bit /*address_space*/,
|
||||||
|
0x2c /*main_thread_prio*/, 0 /*main_thread_core*/, 0x00100000 /*main_thread_stack_size*/,
|
||||||
|
{}, 0xFFFFFFFFFFFFFFFF /*filesystem_permissions*/, {} /*capabilities*/);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
void ProgramMetadata::LoadManual(bool is_64_bit, ProgramAddressSpaceType address_space,
|
void ProgramMetadata::LoadManual(bool is_64_bit, ProgramAddressSpaceType address_space,
|
||||||
s32 main_thread_prio, u32 main_thread_core,
|
s32 main_thread_prio, u32 main_thread_core,
|
||||||
u32 main_thread_stack_size, u64 title_id,
|
u32 main_thread_stack_size, u64 title_id,
|
||||||
|
|
|
@ -44,9 +44,13 @@ public:
|
||||||
ProgramMetadata();
|
ProgramMetadata();
|
||||||
~ProgramMetadata();
|
~ProgramMetadata();
|
||||||
|
|
||||||
|
/// Gets a default ProgramMetadata configuration, should only be used for homebrew formats where
|
||||||
|
/// we do not have an NPDM file
|
||||||
|
static ProgramMetadata GetDefault();
|
||||||
|
|
||||||
Loader::ResultStatus Load(VirtualFile file);
|
Loader::ResultStatus Load(VirtualFile file);
|
||||||
|
|
||||||
// Load from parameters instead of NPDM file, used for KIP
|
/// Load from parameters instead of NPDM file, used for KIP
|
||||||
void LoadManual(bool is_64_bit, ProgramAddressSpaceType address_space, s32 main_thread_prio,
|
void LoadManual(bool is_64_bit, ProgramAddressSpaceType address_space, s32 main_thread_prio,
|
||||||
u32 main_thread_core, u32 main_thread_stack_size, u64 title_id,
|
u32 main_thread_core, u32 main_thread_stack_size, u64 title_id,
|
||||||
u64 filesystem_permissions, KernelCapabilityDescriptors capabilities);
|
u64 filesystem_permissions, KernelCapabilityDescriptors capabilities);
|
||||||
|
|
Reference in New Issue