Index: uspace/lib/c/arch/ia32/include/libarch/thread.h
===================================================================
--- uspace/lib/c/arch/ia32/include/libarch/thread.h	(revision 4805495a910f793f8918c13f029a38a5bb548154)
+++ uspace/lib/c/arch/ia32/include/libarch/thread.h	(revision d3109ffbe9773fed7630d7d9dae993d02f8967ac)
@@ -36,4 +36,19 @@
 #define _LIBC_ia32_THREAD_H_
 
+#include <align.h>
+#include <stddef.h>
+#include <stdint.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 = (uintptr_t) arg;
+	*--sp = (uintptr_t) main;
+
+	return (uintptr_t) sp;
+}
+
 #endif
 
