mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-07 19:57:45 +03:00
Kernel/aarch64: Implement Processor::check_invoke_scheduler()
This commit is contained in:
parent
f6f43fd65e
commit
993b7495ba
Notes:
sideshowbarker
2024-07-17 08:25:15 +09:00
Author: https://github.com/FireFox317 Commit: https://github.com/SerenityOS/serenity/commit/993b7495ba Pull-request: https://github.com/SerenityOS/serenity/pull/16690 Reviewed-by: https://github.com/ADKaster ✅ Reviewed-by: https://github.com/nico ✅
@ -11,6 +11,7 @@
|
||||
#include <Kernel/Arch/TrapFrame.h>
|
||||
#include <Kernel/Arch/aarch64/ASM_wrapper.h>
|
||||
#include <Kernel/Arch/aarch64/CPU.h>
|
||||
#include <Kernel/Scheduler.h>
|
||||
#include <Kernel/Thread.h>
|
||||
#include <Kernel/Time/TimeManagement.h>
|
||||
|
||||
@ -171,7 +172,14 @@ ErrorOr<Vector<FlatPtr, 32>> Processor::capture_stack_trace(Thread& thread, size
|
||||
|
||||
void Processor::check_invoke_scheduler()
|
||||
{
|
||||
TODO_AARCH64();
|
||||
VERIFY_INTERRUPTS_DISABLED();
|
||||
VERIFY(!m_in_irq);
|
||||
VERIFY(!m_in_critical);
|
||||
VERIFY(&Processor::current() == this);
|
||||
if (m_invoke_scheduler_async && m_scheduler_initialized) {
|
||||
m_invoke_scheduler_async = false;
|
||||
Scheduler::invoke_async();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -279,6 +279,7 @@ private:
|
||||
FlatPtr m_in_irq { 0 };
|
||||
bool m_in_scheduler { false };
|
||||
bool m_invoke_scheduler_async { false };
|
||||
bool m_scheduler_initialized { false };
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user