or1k: move or1k_atomic parser to a separate file

* or1k_atomic.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* system.c [OR1K]: Move to or1k_atomic.c.
diff --git a/Makefile.am b/Makefile.am
index f046e0c..38193f2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,6 +37,7 @@
 	mem.c		\
 	mtd.c		\
 	net.c		\
+	or1k_atomic.c	\
 	pathtrace.c	\
 	process.c	\
 	ptp.c		\
diff --git a/or1k_atomic.c b/or1k_atomic.c
new file mode 100644
index 0000000..1b60272
--- /dev/null
+++ b/or1k_atomic.c
@@ -0,0 +1,51 @@
+#include "defs.h"
+
+#ifdef OR1K
+
+#define OR1K_ATOMIC_SWAP        1
+#define OR1K_ATOMIC_CMPXCHG     2
+#define OR1K_ATOMIC_XCHG        3
+#define OR1K_ATOMIC_ADD         4
+#define OR1K_ATOMIC_DECPOS      5
+#define OR1K_ATOMIC_AND         6
+#define OR1K_ATOMIC_OR          7
+#define OR1K_ATOMIC_UMAX        8
+#define OR1K_ATOMIC_UMIN        9
+
+#include "xlat/atomic_ops.h"
+
+int sys_or1k_atomic(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(atomic_ops, tcp->u_arg[0], "???");
+		switch(tcp->u_arg[0]) {
+		case OR1K_ATOMIC_SWAP:
+			tprintf(", 0x%lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
+			break;
+		case OR1K_ATOMIC_CMPXCHG:
+			tprintf(", 0x%lx, %#lx, %#lx", tcp->u_arg[1], tcp->u_arg[2],
+				tcp->u_arg[3]);
+			break;
+
+		case OR1K_ATOMIC_XCHG:
+		case OR1K_ATOMIC_ADD:
+		case OR1K_ATOMIC_AND:
+		case OR1K_ATOMIC_OR:
+		case OR1K_ATOMIC_UMAX:
+		case OR1K_ATOMIC_UMIN:
+			tprintf(", 0x%lx, %#lx", tcp->u_arg[1], tcp->u_arg[2]);
+			break;
+
+		case OR1K_ATOMIC_DECPOS:
+			tprintf(", 0x%lx", tcp->u_arg[1]);
+			break;
+
+		default:
+			break;
+		}
+	}
+
+	return RVAL_HEX;
+}
+
+#endif /* OR1K */
diff --git a/system.c b/system.c
index 86cb024..2bd1dac 100644
--- a/system.c
+++ b/system.c
@@ -610,52 +610,3 @@
 }
 
 #endif /* MIPS */
-
-#ifdef OR1K
-#define OR1K_ATOMIC_SWAP        1
-#define OR1K_ATOMIC_CMPXCHG     2
-#define OR1K_ATOMIC_XCHG        3
-#define OR1K_ATOMIC_ADD         4
-#define OR1K_ATOMIC_DECPOS      5
-#define OR1K_ATOMIC_AND         6
-#define OR1K_ATOMIC_OR          7
-#define OR1K_ATOMIC_UMAX        8
-#define OR1K_ATOMIC_UMIN        9
-
-#include "xlat/atomic_ops.h"
-
-int sys_or1k_atomic(struct tcb *tcp)
-{
-	if (entering(tcp)) {
-		printxval(atomic_ops, tcp->u_arg[0], "???");
-		switch(tcp->u_arg[0]) {
-		case OR1K_ATOMIC_SWAP:
-			tprintf(", 0x%lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
-			break;
-		case OR1K_ATOMIC_CMPXCHG:
-			tprintf(", 0x%lx, %#lx, %#lx", tcp->u_arg[1], tcp->u_arg[2],
-				tcp->u_arg[3]);
-			break;
-
-		case OR1K_ATOMIC_XCHG:
-		case OR1K_ATOMIC_ADD:
-		case OR1K_ATOMIC_AND:
-		case OR1K_ATOMIC_OR:
-		case OR1K_ATOMIC_UMAX:
-		case OR1K_ATOMIC_UMIN:
-			tprintf(", 0x%lx, %#lx", tcp->u_arg[1], tcp->u_arg[2]);
-			break;
-
-		case OR1K_ATOMIC_DECPOS:
-			tprintf(", 0x%lx", tcp->u_arg[1]);
-			break;
-
-		default:
-			break;
-		}
-	}
-
-	return RVAL_HEX;
-}
-
-#endif /* OR1K */