#pragma once #include #include "idt.h" #include "vmm.h" class Scheduler : public InterruptHandler { public: struct task { cpu_state_t* cpu = nullptr; vmm* mm = nullptr; task() = default; task(uint8_t* stack, void (*entry)(), uint16_t cs); }; Scheduler(uint16_t cs); [[nodiscard]] uint16_t add_task(task); [[nodiscard]] cpu_state_t* trigger(cpu_state_t*) override; private: };