Index: arch/mips32/src/start.S
===================================================================
--- arch/mips32/src/start.S	(revision a33c990e74b9d2694cfc129466e85ed7bdc97445)
+++ arch/mips32/src/start.S	(revision 7ca8b36b2dc6cb2925ae421b90060d16fd60a84a)
@@ -223,5 +223,5 @@
 	
 	beqz $k0, syscall_shortcut
-	add $k0, 8            # Revert $k1 back to correct exc number
+	add $k0, 8            # Revert $k0 back to correct exc number
 	
 	REGISTERS_STORE_AND_EXC_RESET $sp
@@ -240,4 +240,5 @@
 #define SS_STATUS EOFFSET_STATUS
 #define SS_EPC    EOFFSET_EPC
+#define SS_K1     EOFFSET_K1
 syscall_shortcut:
 	# We have a lot of space on the stack, with free use
@@ -245,4 +246,5 @@
 	mfc0 $t0, $status
 	sw $t1,SS_EPC($sp)  # Save EPC
+	sw $k1,SS_K1($sp)   # Save k1, which is not saved during context switch
 	
 	and $t2, $t0, REG_SAVE_MASK # Save only KSU,EXL,ERL,IE
@@ -271,4 +273,5 @@
 	# restore epc+4
 	lw $t0,SS_EPC($sp)
+	lw $k1,SS_K1($sp)
 	addi $t0, $t0, 4
 	mtc0 $t0, $epc
Index: contrib/conf/gxemul.sh
===================================================================
--- contrib/conf/gxemul.sh	(revision a33c990e74b9d2694cfc129466e85ed7bdc97445)
+++ contrib/conf/gxemul.sh	(revision 7ca8b36b2dc6cb2925ae421b90060d16fd60a84a)
@@ -2,3 +2,3 @@
 # Uspace addresses outside of normal memory (kernel has std. 8 or 16MB)
 # we place the pages at 24M
-	gxemul $@ -E testmips -X 0x81800000:../uspace/ns/ns 0x81900000:../uspace/kbd/kbd 0x81a00000:../uspace/init/init kernel.bin 
+	gxemul $@ -E testmips -X 0x81800000:../uspace/ns/ns 0x81900000:../uspace/kbd/kbd 0x81a00000:../uspace/fb/fb 0x81b00000:../uspace/init/init kernel.bin 
Index: generic/src/syscall/syscall.c
===================================================================
--- generic/src/syscall/syscall.c	(revision a33c990e74b9d2694cfc129466e85ed7bdc97445)
+++ generic/src/syscall/syscall.c	(revision 7ca8b36b2dc6cb2925ae421b90060d16fd60a84a)
@@ -48,9 +48,9 @@
 #include <sysinfo/sysinfo.h>
 
-static __native sys_io(int fd, const void * buf, size_t count) {
-	
-	return count; /*Syscall deprecated*/
+static __native sys_io(int fd, const void * buf, size_t count) 
+{
+//	return count; /*Syscall deprecated*/
 	// TODO: buf sanity checks and a lot of other stuff ...
-/*
+
 	size_t i;
 	
@@ -58,5 +58,5 @@
 		putchar(((char *) buf)[i]);
 	
-	return count;*/
+	return count;
 }
 
