void yield(void);
void run_thread(void (*func)(void*), void *data);
void wait_threads(void);
+struct mutex_s { u32 isLocked; };
+void mutex_lock(struct mutex_s *mutex);
+void mutex_unlock(struct mutex_s *mutex);
void start_preempt(void);
void finish_preempt(void);
void check_preempt(void);