Index: generic/src/main/uinit.c
===================================================================
--- generic/src/main/uinit.c	(revision 93165be1285f3a50e69871962061a2e2fcfb9ae6)
+++ generic/src/main/uinit.c	(revision 23d22eb27cfdf57d63002f3401a0a522db3288b0)
@@ -31,9 +31,20 @@
 #include <proc/thread.h>
 #include <userspace.h>
+#include <mm/slab.h>
 #include <print.h>
 
+/** Thread used to bring up userspace thread.
+ *
+ * @param arg Pointer to structure containing userspace entry and stack addresses.
+ */
 void uinit(void *arg)
 {
-	printf("USER task, uinit thread: kernel mode\n");
-	userspace((__address)(arg));
+	uspace_arg_t uarg;
+	
+	uarg.uspace_entry = ((uspace_arg_t *) arg)->uspace_entry;
+	uarg.uspace_stack = ((uspace_arg_t *) arg)->uspace_stack;
+
+	free((uspace_arg_t *) arg);
+	
+	userspace(&uarg);
 }
