mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +00:00 
			
		
		
		
	Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
This commit is contained in:
		
							parent
							
								
									fb13bfe693
								
							
						
					
					
						commit
						1323ab2f5f
					
				
					 10 changed files with 67 additions and 22 deletions
				
			
		| 
						 | 
				
			
			@ -124,13 +124,11 @@ void HandleTable::Clear() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/// Initialize the kernel
 | 
			
		||||
void Init() {
 | 
			
		||||
void Init(u32 system_mode) {
 | 
			
		||||
    ConfigMem::Init();
 | 
			
		||||
    SharedPage::Init();
 | 
			
		||||
 | 
			
		||||
    // TODO(yuriks): The memory type parameter needs to be determined by the ExHeader field instead
 | 
			
		||||
    // For now it defaults to the one with a largest allocation to the app
 | 
			
		||||
    Kernel::MemoryInit(2); // Allocates 96MB to the application
 | 
			
		||||
    Kernel::MemoryInit(system_mode);
 | 
			
		||||
 | 
			
		||||
    Kernel::ResourceLimitsInit();
 | 
			
		||||
    Kernel::ThreadingInit();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -286,8 +286,8 @@ private:
 | 
			
		|||
 | 
			
		||||
extern HandleTable g_handle_table;
 | 
			
		||||
 | 
			
		||||
/// Initialize the kernel
 | 
			
		||||
void Init();
 | 
			
		||||
/// Initialize the kernel with the specified system mode.
 | 
			
		||||
void Init(u32 system_mode);
 | 
			
		||||
 | 
			
		||||
/// Shutdown the kernel
 | 
			
		||||
void Shutdown();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue