1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-09 13:41:43 +00:00

kern: fix enormous whoops

This commit is contained in:
Michael Scire 2021-05-31 04:20:59 -07:00
parent 8fea8d9b2e
commit 7821241356
2 changed files with 5 additions and 6 deletions

View file

@ -231,6 +231,10 @@ namespace ams::kern {
next_thread = m_idle_thread;
}
if (next_thread->GetCurrentCore() != m_core_id) {
next_thread->SetCurrentCore(m_core_id);
}
/* If we're not actually switching thread, there's nothing to do. */
if (next_thread == cur_thread) {
return;
@ -263,10 +267,6 @@ namespace ams::kern {
MESOSPHERE_KTRACE_THREAD_SWITCH(next_thread);
if (next_thread->GetCurrentCore() != m_core_id) {
next_thread->SetCurrentCore(m_core_id);
}
/* Switch the current process, if we're switching processes. */
if (KProcess *next_process = next_thread->GetOwnerProcess(); next_process != cur_process) {
KProcess::Switch(cur_process, next_process);

View file

@ -136,8 +136,7 @@ _ZN3ams4kern10KScheduler12ScheduleImplEv:
/* Check if the highest priority thread is the same as the current thread. */
ldr x7, [x1, #(KSCHEDULER_HIGHEST_PRIORITY_THREAD)]
ldr x2, [x18]
cmp x7, x2
cmp x7, x18
b.ne 1f
/* If they're the same, then we can just return as there's nothing to do. */