Index: arch/mips/Makefile.inc
===================================================================
--- arch/mips/Makefile.inc	(revision 5a2e9bbbd6e729563075d3e92ba3dd6dfb9aceb8)
+++ arch/mips/Makefile.inc	(revision 437e35a0ec3132b5c6687d2aaa994c9208be9aa9)
@@ -12,5 +12,5 @@
 DEFS=-DARCH=$(ARCH)
 CPPFLAGS=$(DEFS) -mno-abicalls -nostdinc -I../include
-CFLAGS=$(CPPFLAGS) -mips2 -G 0 -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O2
+CFLAGS=$(CPPFLAGS) -mips2 -G 0 -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O2 -msoft-float
 LFLAGS=-mips2 -M -no-check-sections -T ../arch/mips/_link.ld
 
Index: arch/mips/include/atomic.h
===================================================================
--- arch/mips/include/atomic.h	(revision 5a2e9bbbd6e729563075d3e92ba3dd6dfb9aceb8)
+++ arch/mips/include/atomic.h	(revision 437e35a0ec3132b5c6687d2aaa994c9208be9aa9)
@@ -52,12 +52,12 @@
 		"1:\n"
 		"	ll	%0, %1\n"
-		"	addu	%0, %0, %2\n"
-		"       move    %3, %0\n"
+		"	addu	%0, %0, %3\n"
+		"       move    %2, %0\n"
 		"	sc	%0, %1\n"
 		"	beq	%0, 0x0, 1b\n"
-		"	move    %0, %3\n"
+		"	move    %0, %2\n"
 		"	.set	pop\n"
-		: "=&r" (tmp), "=o" (*val)
-		: "r" (i), "r" (tmp2)
+		: "=&r" (tmp), "=o" (*val), "=r" (tmp2)
+		: "r" (i)
 		);
 	return tmp;
@@ -81,12 +81,12 @@
 		"1:\n"
 		"	ll	%0, %1\n"
-		"	subu	%0, %0, %2\n"
-		"       move    %3, %0\n"
+		"	subu	%0, %0, %3\n"
+		"       move    %2, %0\n"
 		"	sc	%0, %1\n"
 		"	beq	%0, 0x0, 1b\n"
-		"       move    %0, %3\n"
+		"       move    %0, %2\n"
 		"	.set	pop\n"
-		: "=&r" (tmp), "=o" (*val)
-		: "r" (i), "r" (tmp2)
+		: "=&r" (tmp), "=o" (*val), "=r" (tmp2)
+		: "r" (i)
 		);
 	return tmp;
Index: arch/mips/src/mm/tlb.c
===================================================================
--- arch/mips/src/mm/tlb.c	(revision 5a2e9bbbd6e729563075d3e92ba3dd6dfb9aceb8)
+++ arch/mips/src/mm/tlb.c	(revision 437e35a0ec3132b5c6687d2aaa994c9208be9aa9)
@@ -62,5 +62,5 @@
 	pri = cpu_priority_high();
 	
-	asid_bitmap_reset();
+//	asid_bitmap_reset();
 	
 	// TODO
