Threading: Fix thread starting to execute first instruction correctly.

This commit is contained in:
bunnei committed 2014-08-28 17:51:49 -04:00
1 parent fb908b9395
commit 304999dfeb
2 files changed
+6 -1

No files matched your search

+5
View File
@@ -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;
}