Index: Makefile
===================================================================
--- Makefile	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ Makefile	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -69,7 +69,4 @@
 ifeq ($(CONFIG_DEBUG_SPINLOCK),y)
 	DEFS += -DCONFIG_DEBUG_SPINLOCK
-endif
-ifeq ($(CONFIG_USERSPACE),y)
-	DEFS += -DCONFIG_USERSPACE
 endif
 ifeq ($(CONFIG_FPU_LAZY),y)
Index: arch/amd64/src/asm_utils.S
===================================================================
--- arch/amd64/src/asm_utils.S	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ arch/amd64/src/asm_utils.S	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -53,20 +53,4 @@
 .global read_efer_flag
 .global set_efer_flag
-	
-
-# THIS IS USERSPACE CODE
-.global utext
-utext:
-0:
-	int $48
-	jmp 0b
-	# not reached
-utext_end:
-
-.data
-.global utext_size
-utext_size:
-	.long utext_end - utext 
-
 	
 ## Determine CPUID support
@@ -208,5 +192,4 @@
 h_end:
 	
-	
 .data
 .global interrupt_handler_size
Index: arch/ia32/src/asm.S
===================================================================
--- arch/ia32/src/asm.S	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ arch/ia32/src/asm.S	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -149,24 +149,5 @@
 h_end:
 
-
-# THIS IS USERSPACE CODE
-.global utext
-utext:
-	xor %ax,%ax
-	mov %ax,%ds
-	mov %ax,%es
-	mov %ax,%fs
-	mov %ax,%gs
-0:
-	int $48
-	jmp 0b
-	# not reached
-utext_end:
-
 .data
-.global utext_size
-utext_size:
-	.long utext_end - utext 
-
 .global interrupt_handler_size
 
Index: arch/mips32/src/asm.S
===================================================================
--- arch/mips32/src/asm.S	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ arch/mips32/src/asm.S	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -296,16 +296,2 @@
 	j $ra
 	nop
-	
-# THIS IS USERSPACE CODE
-.global utext
-utext:
-	j $31
-	nop
-utext_end:
-
-.data
-.global utext_size
-utext_size:
-	.long utext_end-utext
- 
-
Index: generic/include/main/uinit.h
===================================================================
--- generic/include/main/uinit.h	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ generic/include/main/uinit.h	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -32,7 +32,4 @@
 #include <arch/types.h>
 
-extern void utext(void);
-extern __u32 utext_size;  
-
 extern void uinit(void *arg);
 
Index: generic/src/main/kinit.c
===================================================================
--- generic/src/main/kinit.c	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ generic/src/main/kinit.c	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -70,5 +70,4 @@
 {
 	thread_t *t;
-#ifdef CONFIG_USERSPACE
 	as_t *as;
 	as_area_t *a;
@@ -76,5 +75,4 @@
 	index_t pfn[1];
 	task_t *u;
-#endif
 
 	interrupts_disable();
@@ -140,44 +138,41 @@
 	interrupts_enable();
 
-#ifdef CONFIG_USERSPACE
-	/*
-	 * Create the first user task.
-	 */
-	as = as_create(NULL);
-	if (!as)
-		panic("as_create\n");
-	u = task_create(as);
-	if (!u)
-		panic("task_create\n");
-	t = thread_create(uinit, NULL, u, THREAD_USER_STACK);
-	if (!t)
-		panic("thread_create\n");
-
-	/*
-	 * Create the text as_area and copy the userspace code there.
-	 */	
-	a = as_area_create(as, AS_AREA_TEXT, 1, UTEXT_ADDRESS);
-	if (!a)
-		panic("as_area_create: text\n");
-
-	frame = frame_alloc(0, ONE_FRAME, NULL);
-
-	if (config.init_size > 0)
+	if (config.init_size > 0) {
+		/*
+		 * Create the first user task.
+		 */
+		as = as_create(NULL);
+		if (!as)
+			panic("as_create\n");
+		u = task_create(as);
+		if (!u)
+			panic("task_create\n");
+		t = thread_create(uinit, NULL, u, THREAD_USER_STACK);
+		if (!t)
+			panic("thread_create\n");
+		
+		/*
+		 * Create the text as_area and copy the userspace code there.
+		 */	
+		a = as_area_create(as, AS_AREA_TEXT, 1, UTEXT_ADDRESS);
+		if (!a)
+			panic("as_area_create: text\n");
+		
+		// FIXME: Better way to initialize static code/data
+		frame = frame_alloc(0, ONE_FRAME, NULL);
 		memcpy((void *) PA2KA(frame), (void *) config.init_addr, config.init_size < PAGE_SIZE ? config.init_size : PAGE_SIZE);
-	else
-		memcpy((void *) PA2KA(frame), (void *) utext, utext_size < PAGE_SIZE ? utext_size : PAGE_SIZE);
+		
+		pfn[0] = frame / FRAME_SIZE;
+		as_area_load_mapping(a, pfn);
 	
-	pfn[0] = frame / FRAME_SIZE;
-	as_area_load_mapping(a, pfn);
-
-	/*
-	 * Create the data as_area.
-	 */
-	a = as_area_create(as, AS_AREA_STACK, 1, USTACK_ADDRESS);
-	if (!a)
-		panic("as_area_create: stack\n");
+		/*
+		 * Create the data as_area.
+		 */
+		a = as_area_create(as, AS_AREA_STACK, 1, USTACK_ADDRESS);
+		if (!a)
+			panic("as_area_create: stack\n");
 	
-	thread_ready(t);
-#endif /* CONFIG_USERSPACE */
+		thread_ready(t);
+	}
 
 #ifdef CONFIG_TEST
Index: kernel.config
===================================================================
--- kernel.config	(revision ae1058298b7bfb22f0f3cd39239ce8f4bc69fd06)
+++ kernel.config	(revision 44c259cc74a29b15244ce6391ae9af39150bfd6c)
@@ -64,7 +64,4 @@
 ## Run-time configuration directives
 
-# Enable user space support
-! CONFIG_USERSPACE (n/y)
-
 # Kernel test type
 @ "" No test
