Index: kernel/generic/include/proc/scheduler.h
===================================================================
--- kernel/generic/include/proc/scheduler.h	(revision 5663872d31151ed95c7dd593f31d76a61b79f008)
+++ kernel/generic/include/proc/scheduler.h	(revision 5861b60210d8279945afa052d207a686f0cad8f3)
@@ -41,4 +41,5 @@
 #include <atomic.h>
 #include <adt/list.h>
+#include <abi/proc/thread.h>
 
 #define RQ_COUNT          16
@@ -56,9 +57,10 @@
 
 extern void scheduler_fpu_lazy_request(void);
-extern void scheduler(void);
-extern void scheduler_locked(ipl_t);
 extern void kcpulb(void *arg);
 
 extern void sched_print_list(void);
+
+extern void scheduler_run(void) __attribute__((noreturn));
+extern void scheduler_enter(state_t);
 
 /*
Index: kernel/generic/include/proc/thread.h
===================================================================
--- kernel/generic/include/proc/thread.h	(revision 5663872d31151ed95c7dd593f31d76a61b79f008)
+++ kernel/generic/include/proc/thread.h	(revision 5861b60210d8279945afa052d207a686f0cad8f3)
@@ -113,5 +113,4 @@
 	 */
 	context_t saved_context;
-	ipl_t saved_ipl;
 
 	/**
@@ -244,4 +243,6 @@
 extern errno_t thread_join_timeout(thread_t *, uint32_t, unsigned int);
 
+extern void thread_yield(void);
+
 extern void thread_print_list(bool);
 extern thread_t *thread_find_by_id(thread_id_t);
