Kernel: Turn Thread::current and Process::current into functions

This allows us to query the current thread and process on a
per processor basis
This commit is contained in:
Tom 2020-06-28 15:34:31 -06:00 committed by Andreas Kling
commit 16783bd14d
Notes: sideshowbarker 2024-07-19 05:17:59 +09:00
39 changed files with 518 additions and 369 deletions

View file

@ -31,7 +31,7 @@ namespace Kernel {
ProcessPagingScope::ProcessPagingScope(Process& process)
{
ASSERT(Thread::current);
ASSERT(Thread::current() != nullptr);
m_previous_cr3 = read_cr3();
MM.enter_process_paging_scope(process);
}
@ -39,7 +39,7 @@ ProcessPagingScope::ProcessPagingScope(Process& process)
ProcessPagingScope::~ProcessPagingScope()
{
InterruptDisabler disabler;
Thread::current->tss().cr3 = m_previous_cr3;
Thread::current()->tss().cr3 = m_previous_cr3;
write_cr3(m_previous_cr3);
}