diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/kernel/thread.cpp | 5 | ||||
| -rw-r--r-- | src/core/hle/service/srv.cpp | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 554ec9756..8bd9ca1a1 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -117,6 +117,11 @@ void ResetThread(Thread* t, u32 arg, s32 lowest_priority) { t->context.sp = t->stack_top; t->context.cpsr = 0x1F; // Usermode + // TODO(bunnei): This instructs the CPU core to start the execution as if it is "resuming" a + // thread. This is somewhat Sky-Eye specific, and should be re-architected in the future to be + // agnostic of the CPU core. + t->context.mode = 8; + if (t->current_priority < lowest_priority) { t->current_priority = t->initial_priority; } diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp index 8f8413d02..23be3cf2c 100644 --- a/src/core/hle/service/srv.cpp +++ b/src/core/hle/service/srv.cpp @@ -16,6 +16,10 @@ Handle g_event_handle = 0; void Initialize(Service::Interface* self) { DEBUG_LOG(OSHLE, "called"); + + u32* cmd_buff = Service::GetCommandBuffer(); + + cmd_buff[1] = 0; // No error } void GetProcSemaphore(Service::Interface* self) { |
