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:
		@@ -51,6 +51,17 @@ Loader::ResultStatus ProgramMetadata::Load(VirtualFile file) {
 | 
			
		||||
    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,
 | 
			
		||||
                                 s32 main_thread_prio, u32 main_thread_core,
 | 
			
		||||
                                 u32 main_thread_stack_size, u64 title_id,
 | 
			
		||||
 
 | 
			
		||||
@@ -44,9 +44,13 @@ public:
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
    // 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,
 | 
			
		||||
                    u32 main_thread_core, u32 main_thread_stack_size, u64 title_id,
 | 
			
		||||
                    u64 filesystem_permissions, KernelCapabilityDescriptors capabilities);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user