diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-15 18:39:47 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-15 19:56:09 -0400 |
commit | 1e7a1c0d90f6eb339e3e68c7b91bb21e81e06d5c (patch) | |
tree | da862150dbebe2e3ac0e9dea37d4f84887b073a2 | |
parent | ec2da40e65346bd5d3055777a76852892da21ea7 (diff) |
kernel: sched: Add routine to get current thread
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r-- | sys/include/sys/sched.h | 1 | ||||
-rw-r--r-- | sys/kern/kern_sched.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/sys/include/sys/sched.h b/sys/include/sys/sched.h index f06c104..1fa947e 100644 --- a/sys/include/sys/sched.h +++ b/sys/include/sys/sched.h @@ -37,6 +37,7 @@ #include <machine/cpu.h> #include <machine/frame.h> +struct proc *this_td(void); void sched_init(void); void sched_exit(void); void sched_context_switch(struct trapframe *tf); diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c index 117e0c1..d775e5a 100644 --- a/sys/kern/kern_sched.c +++ b/sys/kern/kern_sched.c @@ -322,6 +322,20 @@ sched_exit(void) } /* + * Get the current running thread. + */ +struct proc * +this_td(void) +{ + struct sched_state *state; + struct cpu_info *ci; + + ci = this_cpu(); + state = &ci->sched_state; + return state->td; +} + +/* * Thread context switch routine */ void |