From f3e85eedc434da973267f360abdbb79cb6f24100 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Thu, 1 Jul 2021 21:13:01 +0200 Subject: Timing is everything --- kernel/inc/proc.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'kernel/inc/proc.h') diff --git a/kernel/inc/proc.h b/kernel/inc/proc.h index 42ff75d..5cc1fef 100644 --- a/kernel/inc/proc.h +++ b/kernel/inc/proc.h @@ -8,6 +8,7 @@ #include #include #include +#include #define PROC_QUANTUM 15 // Milliseconds or something // TODO #define PROC_STACK_SIZE 0x4000 // 16KiB @@ -51,6 +52,11 @@ struct proc { u8 val; u8 cnt; } quantum; + + struct { + enum timer_mode mode; + u32 data; + } timer; }; u32 scheduler(u32 esp); @@ -62,6 +68,7 @@ u8 proc_idle(void); struct proc *proc_from_pid(u32 pid); void proc_exit(s32 status); void proc_yield(void); +void proc_timer_check(u32 time); void proc_set_quantum(struct proc *proc, u32 value) NONNULL; void proc_reset_quantum(struct proc *proc) NONNULL; void proc_state(struct proc *proc, enum proc_state state) NONNULL; -- cgit v1.2.3