summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/kernel.cpp')
-rw-r--r--src/core/hle/kernel/kernel.cpp18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 533fe65fd..a3715e555 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -10,15 +10,14 @@
10#include "core/arm/arm_interface.h" 10#include "core/arm/arm_interface.h"
11#include "core/core.h" 11#include "core/core.h"
12#include "core/hle/kernel/kernel.h" 12#include "core/hle/kernel/kernel.h"
13#include "core/hle/kernel/process.h"
13#include "core/hle/kernel/thread.h" 14#include "core/hle/kernel/thread.h"
14#include "core/hle/kernel/timer.h" 15#include "core/hle/kernel/timer.h"
15 16
16namespace Kernel { 17namespace Kernel {
17 18
18unsigned int Object::next_object_id; 19unsigned int Object::next_object_id;
19SharedPtr<Thread> g_main_thread;
20HandleTable g_handle_table; 20HandleTable g_handle_table;
21u64 g_program_id;
22 21
23void WaitObject::AddWaitingThread(SharedPtr<Thread> thread) { 22void WaitObject::AddWaitingThread(SharedPtr<Thread> thread) {
24 auto itr = std::find(waiting_threads.begin(), waiting_threads.end(), thread); 23 auto itr = std::find(waiting_threads.begin(), waiting_threads.end(), thread);
@@ -140,8 +139,6 @@ void Init() {
140 Kernel::TimersInit(); 139 Kernel::TimersInit();
141 140
142 Object::next_object_id = 0; 141 Object::next_object_id = 0;
143 g_program_id = 0;
144 g_main_thread = nullptr;
145} 142}
146 143
147/// Shutdown the kernel 144/// Shutdown the kernel
@@ -149,18 +146,7 @@ void Shutdown() {
149 Kernel::ThreadingShutdown(); 146 Kernel::ThreadingShutdown();
150 Kernel::TimersShutdown(); 147 Kernel::TimersShutdown();
151 g_handle_table.Clear(); // Free all kernel objects 148 g_handle_table.Clear(); // Free all kernel objects
152} 149 g_current_process = nullptr;
153
154/**
155 * Loads executable stored at specified address
156 * @entry_point Entry point in memory of loaded executable
157 * @return True on success, otherwise false
158 */
159bool LoadExec(u32 entry_point) {
160 // 0x30 is the typical main thread priority I've seen used so far
161 g_main_thread = Kernel::SetupMainThread(Kernel::DEFAULT_STACK_SIZE, entry_point, THREADPRIO_DEFAULT);
162
163 return true;
164} 150}
165 151
166} // namespace 152} // namespace