summaryrefslogtreecommitdiff
path: root/kern/sched_prim.h
diff options
context:
space:
mode:
Diffstat (limited to 'kern/sched_prim.h')
-rw-r--r--kern/sched_prim.h29
1 files changed, 19 insertions, 10 deletions
diff --git a/kern/sched_prim.h b/kern/sched_prim.h
index 5311d160..62698dc2 100644
--- a/kern/sched_prim.h
+++ b/kern/sched_prim.h
@@ -69,7 +69,7 @@ extern void thread_sleep(
event_t event,
simple_lock_t lock,
boolean_t interruptible);
-extern void thread_wakeup(); /* for function pointers */
+extern void thread_wakeup(void); /* for function pointers */
extern void thread_wakeup_prim(
event_t event,
boolean_t one_thread,
@@ -103,7 +103,7 @@ extern boolean_t thread_handoff(
thread_t old_thread,
continuation_t continuation,
thread_t new_thread);
-extern void recompute_priorities();
+extern void recompute_priorities(void *param);
extern void update_priority(
thread_t thread);
extern void compute_my_priority(
@@ -115,7 +115,7 @@ extern void compute_priority(
thread_t thread,
boolean_t resched);
extern void thread_timeout_setup(
- register thread_t thread);
+ thread_t thread);
/*
* Routines defined as macros
@@ -132,13 +132,10 @@ extern void thread_timeout_setup(
* Machine-dependent code must define these functions.
*/
-extern void thread_bootstrap_return(void);
-extern void thread_exception_return(void);
-#ifdef __GNUC__
+extern void thread_bootstrap_return(void) __attribute__((noreturn));
+extern void thread_exception_return(void) __attribute__((noreturn));
extern void __attribute__((__noreturn__)) thread_syscall_return(kern_return_t);
-#else
-extern void thread_syscall_return(kern_return_t);
-#endif
+
extern thread_t switch_context(
thread_t old_thread,
continuation_t continuation,
@@ -153,7 +150,7 @@ extern void stack_handoff(
* or are defined directly by machine-dependent code.
*/
-extern void stack_alloc(
+extern kern_return_t stack_alloc(
thread_t thread,
void (*resume)(thread_t));
extern boolean_t stack_alloc_try(
@@ -172,4 +169,16 @@ extern void stack_free(
#define convert_ipc_timeout_to_ticks(millis) \
(((millis) * hz + 999) / 1000)
+void set_pri(thread_t th, int pri, boolean_t resched);
+void do_thread_scan(void);
+thread_t choose_pset_thread(processor_t myprocessor, processor_set_t pset);
+
+#if DEBUG
+void checkrq(run_queue_t rq, char *msg);
+void thread_check(thread_t th, run_queue_t rq);
+#endif /* DEBUG */
+
+extern void idle_thread(void) __attribute__((noreturn));
+extern void sched_thread(void);
+
#endif /* _KERN_SCHED_PRIM_H_ */