Index: uspace/lib/c/arch/mips32/include/libarch/thread.h
===================================================================
--- uspace/lib/c/arch/mips32/include/libarch/thread.h	(revision 4805495a910f793f8918c13f029a38a5bb548154)
+++ uspace/lib/c/arch/mips32/include/libarch/thread.h	(revision b2c9e42c92bb4e1fad2a740a731e7d1095ca66e6)
@@ -37,4 +37,17 @@
 #define _LIBC_mips32_THREAD_H_
 
+#include <align.h>
+
+static inline uintptr_t arch_thread_prepare(void *stack, size_t stack_size,
+    void (*main)(void *), void *arg)
+{
+	uintptr_t *sp = (uintptr_t *) ALIGN_DOWN((uintptr_t) stack + stack_size, 16);
+
+	sp[-1] = (uintptr_t) arg;
+	sp[-2] = (uintptr_t) main;
+
+	return (uintptr_t) sp;
+}
+
 #endif
 
