10 [[noreturn]]
void start();
32 [[noreturn]]
void run_next();
34 Task* m_current_task {
nullptr };
Definition function_ref.h:116
void schedule_task(Task &)
Definition scheduler.cpp:10
auto block_current_task(di::FunctionRef< void()> before_yielding) -> Expected< void >
Block the currently running task on this scheduler.
Definition scheduler.cpp:153
auto current_task_null_if_during_boot() const -> Task *
Definition scheduler.h:18
void setup_idle_task()
Definition scheduler.cpp:30
void start()
Definition scheduler.cpp:25
void yield()
Definition scheduler.cpp:59
void save_state_and_run_next(arch::TaskState *state)
Definition scheduler.cpp:104
void start_on_ap()
Definition scheduler.cpp:34
auto current_task() const -> Task &
Definition scheduler.h:17
void exit_current_task()
Definition scheduler.cpp:120
auto current_address_space() -> mm::AddressSpace &
Definition scheduler.cpp:146
Definition address_space.h:52
IntrusivePtr< T, ArcTag > Arc
Definition arc.h:21
Definition cxx_init.cpp:12
void schedule_task(Task &task)
Schedule a task on any scheduler.
Definition scheduler.cpp:165
di::vocab::Expected< T, di::platform::GenericCode > Expected
Definition error.h:324