loader: update for 10.0.0

This commit is contained in:
Michael Scire
2020-04-14 02:45:28 -07:00
parent dd80e1f463
commit 73552c86c3
22 changed files with 486 additions and 56 deletions

View File

@@ -14,6 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ldr_development_manager.hpp"
#include "ldr_loader_service.hpp"
extern "C" {
@@ -74,6 +75,7 @@ void __appInit(void) {
R_ABORT_UNLESS(fsInitialize());
lr::Initialize();
R_ABORT_UNLESS(fsldrInitialize());
R_ABORT_UNLESS(splInitialize());
});
ams::CheckApiVersion();
@@ -81,6 +83,7 @@ void __appInit(void) {
void __appExit(void) {
/* Cleanup services. */
splExit();
fsldrExit();
lr::Finalize();
fsExit();
@@ -112,6 +115,12 @@ namespace {
int main(int argc, char **argv)
{
/* Configure development. */
/* NOTE: Nintendo really does call the getter function three times instead of caching the value. */
ldr::SetDevelopmentForAcidProductionCheck(spl::IsDevelopmentHardware());
ldr::SetDevelopmentForAntiDowngradeCheck(spl::IsDevelopmentHardware());
ldr::SetDevelopmentForAcidSignatureCheck(spl::IsDevelopmentHardware());
/* Add services to manager. */
R_ABORT_UNLESS((g_server_manager.RegisterServer<ldr::pm::ProcessManagerInterface>(ProcessManagerServiceName, ProcessManagerMaxSessions)));
R_ABORT_UNLESS((g_server_manager.RegisterServer<ldr::shell::ShellInterface>(ShellServiceName, ShellMaxSessions)));