kernel: Don't use an active directory for the idle thread
Just take the currently used directory.
This commit is contained in:
parent
503dc72686
commit
b920ffee42
@ -27,6 +27,7 @@ namespace Scheduler
|
|||||||
g_idle.is_kernel = true;
|
g_idle.is_kernel = true;
|
||||||
g_idle.parent = nullptr;
|
g_idle.parent = nullptr;
|
||||||
g_idle.name = "[idle]";
|
g_idle.name = "[idle]";
|
||||||
|
g_idle.active_directory = nullptr;
|
||||||
|
|
||||||
g_idle.ticks_left = 1;
|
g_idle.ticks_left = 1;
|
||||||
|
|
||||||
@ -234,7 +235,7 @@ namespace Scheduler
|
|||||||
{
|
{
|
||||||
switch_context(old_thread, new_thread, regs);
|
switch_context(old_thread, new_thread, regs);
|
||||||
if (!old_thread->is_kernel) old_thread->fp_data.save();
|
if (!old_thread->is_kernel) old_thread->fp_data.save();
|
||||||
if (MMU::get_page_directory() != MMU::kernel_page_directory())
|
if (old_thread->state != ThreadState::Idle && MMU::get_page_directory() != MMU::kernel_page_directory())
|
||||||
old_thread->active_directory = MMU::get_page_directory();
|
old_thread->active_directory = MMU::get_page_directory();
|
||||||
if (new_thread->active_directory) MMU::switch_page_directory(new_thread->active_directory);
|
if (new_thread->active_directory) MMU::switch_page_directory(new_thread->active_directory);
|
||||||
if (!new_thread->is_kernel)
|
if (!new_thread->is_kernel)
|
||||||
|
Loading…
Reference in New Issue
Block a user