Index: kernel/arch/mips32/src/mips32.c
===================================================================
--- kernel/arch/mips32/src/mips32.c	(revision ec5b3204bea6a5e739faf0a16fd8196042843095)
+++ kernel/arch/mips32/src/mips32.c	(revision a4884c707428926e49ce02c39a23dac24e83fe07)
@@ -142,14 +142,13 @@
 void userspace(uspace_arg_t *kernel_uarg)
 {
-	/* EXL=1, UM=1, IE=1 */
+	/* EXL = 1, UM = 1, IE = 1 */
 	cp0_status_write(cp0_status_read() | (cp0_status_exl_exception_bit |
-					      cp0_status_um_bit |
-					      cp0_status_ie_enabled_bit));
+		cp0_status_um_bit | cp0_status_ie_enabled_bit));
 	cp0_epc_write((uintptr_t) kernel_uarg->uspace_entry);
-	userspace_asm(((uintptr_t) kernel_uarg->uspace_stack+PAGE_SIZE), 
-		      (uintptr_t) kernel_uarg->uspace_uarg,
-		      (uintptr_t) kernel_uarg->uspace_entry);
-	while (1)
-		;
+	userspace_asm(((uintptr_t) kernel_uarg->uspace_stack + PAGE_SIZE), 
+		(uintptr_t) kernel_uarg->uspace_uarg,
+		(uintptr_t) kernel_uarg->uspace_entry);
+	
+	while (1);
 }
 
@@ -181,5 +180,7 @@
 void arch_reboot(void)
 {
-	___halt();
+	if (!arc_reboot())
+		___halt();
+	
 	while (1);
 }
