Files
zinnia/include/arch/sched.h
T
2026-09-17 18:29:33 +02:00

20 lines
513 B
C

#pragma once
#include <zinnia/errno.h>
#include <zinnia/sched.h>
void arch_sched_preempt_disable();
bool arch_sched_preempt_enable();
struct task* arch_sched_switch(struct task* from, struct task* to);
errno_t arch_task_init(
struct arch_task_context* context,
void* entry,
uintptr_t arg0,
uintptr_t stack_start,
bool is_user
);
[[noreturn]]
void arch_sched_jump_to_context(struct arch_context* context);
[[noreturn]]
void arch_sched_jump_to_user(uintptr_t ip, uintptr_t sp, uintptr_t arg);