sched: add current_task(), current_thread(), and preempt_disable/enable()

This commit is contained in:
2023-03-28 21:39:59 +01:00
parent e0e6f4a9ae
commit 7d003da960
6 changed files with 65 additions and 3 deletions

View File

@@ -73,6 +73,9 @@ typedef struct runqueue {
} runqueue_t;
extern kern_status_t sched_init(void);
extern void schedule(void);
extern void preempt_disable(void);
extern void preempt_enable(void);
extern void runqueue_init(runqueue_t *rq);
@@ -82,6 +85,10 @@ static inline void task_deref(task_t *task) { object_deref(object_header(task));
extern task_t *task_from_pid(unsigned int pid);
extern task_t *kernel_task(void);
extern bool need_resched(void);
extern task_t *current_task(void);
extern thread_t *current_thread(void);
static inline void task_lock_irqsave(task_t *task, unsigned long *flags)
{
object_lock(object_header(task), flags);