1#include <asm.h>
2#include <irq/idt.h>
3#include <kassert.h>
4#include <sch/sched.h>
5#include <sync/rcu.h>
6#include <thread/dpc.h>
7#include <thread/workqueue.h>
8
9void scheduler_idle_main(void *nop) {
10 (void) nop;
11
12 while (true) {
13 enable_interrupts();
14 scheduler_resched_if_needed();
15 kassert(are_interrupts_enabled());
16 wait_for_interrupt();
17 }
18}
19