diff options
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 265ac2835..175a5f2ea 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -168,7 +168,7 @@ struct System::Impl { | |||
| 168 | } | 168 | } |
| 169 | 169 | ||
| 170 | auto main_process = Kernel::Process::Create(system, "main"); | 170 | auto main_process = Kernel::Process::Create(system, "main"); |
| 171 | const Loader::ResultStatus load_result{app_loader->Load(*main_process)}; | 171 | const auto [load_result, load_parameters] = app_loader->Load(*main_process); |
| 172 | if (load_result != Loader::ResultStatus::Success) { | 172 | if (load_result != Loader::ResultStatus::Success) { |
| 173 | LOG_CRITICAL(Core, "Failed to load ROM (Error {})!", static_cast<int>(load_result)); | 173 | LOG_CRITICAL(Core, "Failed to load ROM (Error {})!", static_cast<int>(load_result)); |
| 174 | Shutdown(); | 174 | Shutdown(); |
| @@ -183,6 +183,10 @@ struct System::Impl { | |||
| 183 | gpu_core->Start(); | 183 | gpu_core->Start(); |
| 184 | cpu_core_manager.StartThreads(); | 184 | cpu_core_manager.StartThreads(); |
| 185 | 185 | ||
| 186 | // All threads are started, begin main process execution, now that we're in the clear. | ||
| 187 | main_process->Run(load_parameters->main_thread_priority, | ||
| 188 | load_parameters->main_thread_stack_size); | ||
| 189 | |||
| 186 | status = ResultStatus::Success; | 190 | status = ResultStatus::Success; |
| 187 | return status; | 191 | return status; |
| 188 | } | 192 | } |