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 d31c3ea70b393289736cdac0e91fa5c5eba06c4c)
@@ -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
 
