mips: move sysmips parser to a separate file

* sysmips.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* system.c: Fix typo in the check for <linux/utsname.h>.
Move inclusions of <linux/utsname.h> and <asm/sysmips.h> to sysmips.c.
[MIPS]: Likewise.
diff --git a/Makefile.am b/Makefile.am
index 38193f2..3c89725 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -53,6 +53,7 @@
 	stream.c	\
 	syscall.c	\
 	sysinfo.c	\
+	sysmips.c	\
 	system.c	\
 	term.c		\
 	time.c		\
diff --git a/sysmips.c b/sysmips.c
new file mode 100644
index 0000000..521b081
--- /dev/null
+++ b/sysmips.c
@@ -0,0 +1,42 @@
+#include "defs.h"
+
+#ifdef MIPS
+
+#ifdef HAVE_LINUX_UTSNAME_H
+# include <linux/utsname.h>
+#endif
+#ifdef HAVE_ASM_SYSMIPS_H
+# include <asm/sysmips.h>
+#endif
+
+#ifndef __NEW_UTS_LEN
+# define __NEW_UTS_LEN 64
+#endif
+
+#include "xlat/sysmips_operations.h"
+
+int sys_sysmips(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(sysmips_operations, tcp->u_arg[0], "???");
+		if (!verbose(tcp)) {
+			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		} else if (tcp->u_arg[0] == SETNAME) {
+			char nodename[__NEW_UTS_LEN + 1];
+			if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0)
+				tprintf(", %#lx", tcp->u_arg[1]);
+			else
+				tprintf(", \"%.*s\"", (int)(__NEW_UTS_LEN + 1), nodename);
+		} else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) {
+			tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
+		} else if (tcp->u_arg[0] == MIPS_FIXADE) {
+			tprintf(", 0x%lx", tcp->u_arg[1]);
+		} else {
+			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		}
+	}
+
+	return 0;
+}
+
+#endif /* MIPS */
diff --git a/system.c b/system.c
index 2bd1dac..e73c76f 100644
--- a/system.c
+++ b/system.c
@@ -72,12 +72,6 @@
 #ifdef HAVE_ASM_CACHECTL_H
 # include <asm/cachectl.h>
 #endif
-#ifdef HAVE_LINUX_USTNAME_H
-# include <linux/utsname.h>
-#endif
-#ifdef HAVE_ASM_SYSMIPS_H
-# include <asm/sysmips.h>
-#endif
 #include <linux/sysctl.h>
 #include <linux/personality.h>
 
@@ -576,37 +570,3 @@
 	free(name);
 	return 0;
 }
-
-#ifdef MIPS
-
-#ifndef __NEW_UTS_LEN
-#define __NEW_UTS_LEN 64
-#endif
-
-#include "xlat/sysmips_operations.h"
-
-int sys_sysmips(struct tcb *tcp)
-{
-	if (entering(tcp)) {
-		printxval(sysmips_operations, tcp->u_arg[0], "???");
-		if (!verbose(tcp)) {
-			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
-		} else if (tcp->u_arg[0] == SETNAME) {
-			char nodename[__NEW_UTS_LEN + 1];
-			if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0)
-				tprintf(", %#lx", tcp->u_arg[1]);
-			else
-				tprintf(", \"%.*s\"", (int)(__NEW_UTS_LEN + 1), nodename);
-		} else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) {
-			tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
-		} else if (tcp->u_arg[0] == MIPS_FIXADE) {
-			tprintf(", 0x%lx", tcp->u_arg[1]);
-		} else {
-			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
-		}
-	}
-
-	return 0;
-}
-
-#endif /* MIPS */