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:
Subv 2016-11-19 20:40:04 -05:00
parent fb13bfe693
commit 1323ab2f5f
10 changed files with 67 additions and 22 deletions

View file

@ -95,6 +95,17 @@ public:
*/
virtual ResultStatus Load() = 0;
/**
* Loads the system mode that this application needs.
* This function defaults to 2 (96MB allocated to the application) if it can't read the information.
* @param system_mode Out variable where the system mode will be stored.
* @returns ResultStatus result of the operation
*/
virtual ResultStatus LoadKernelSystemMode(u32& system_mode) {
system_mode = 2; // 96MB allocated to the application.
return ResultStatus::Success;
}
/**
* Get the code (typically .code section) of the application
* @param buffer Reference to buffer to store data