From e51ee022b9ab670a6a3bc7f2dd3bf8b925c46b09 Mon Sep 17 00:00:00 2001
From: Denton Gentry <dgentry@google.com>
Date: Tue, 29 Nov 2016 11:56:09 -0800
Subject: [PATCH] Add ARC support.

---
 src/libaio.h      |  12 ++++++
 src/syscall-arc.h | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/syscall.h     |   2 +
 3 files changed, 141 insertions(+)
 create mode 100644 src/syscall-arc.h

diff --git a/src/libaio.h b/src/libaio.h
index 4fb9285..4aeb7c6 100644
--- a/src/libaio.h
+++ b/src/libaio.h
@@ -111,6 +111,18 @@ typedef enum io_iocb_cmd {
 #define PADDED(x, y)	unsigned y; x
 #define PADDEDptr(x, y)	unsigned y; x
 #define PADDEDul(x, y)	unsigned y; unsigned long x;
+#elif defined(__arc__)
+#  if defined(__BIG_ENDIAN__)
+#define PADDED(x, y)	unsigned y; x
+#define PADDEDptr(x, y)	unsigned y; x
+#define PADDEDul(x, y)	unsigned y; unsigned long x;
+#  elif defined(__LITTLE_ENDIAN__)
+#define PADDED(x, y)	x; unsigned y
+#define PADDEDptr(x, y)	x; unsigned y
+#define PADDEDul(x, y)	unsigned long x; unsigned y
+#  else
+#    error "neither ARC BE nor LE?"
+#  endif
 #else
 #error	endian?
 #endif
diff --git a/src/syscall-arc.h b/src/syscall-arc.h
new file mode 100644
index 0000000..04befac
--- /dev/null
+++ b/src/syscall-arc.h
@@ -0,0 +1,127 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2016 Google, Inc.
+ */
+
+// from usr/include/bits/sysnum.h
+#define __NR_io_setup			0
+#define __NR_io_destroy			1
+#define __NR_io_getevents		4
+#define __NR_io_submit			2
+#define __NR_io_cancel			3
+
+/*
+ * syscall implementation derived from
+ * https://sourceware.org/ml/newlib/2015/msg00731.html
+ */
+
+#ifdef __ARC700__
+#define SYSCALL \
+            "trap0    \n\t"
+#else
+#define SYSCALL    \
+            "swi    \n\t"\
+            "nop    \n\t"\
+            "nop    \n\t"
+#endif /* __ARC700__ */
+
+#define io_syscall1(type,fname,sname,atype,a)                 \
+type fname(atype a)                                           \
+{                                                             \
+    long __res;                                               \
+    __asm__ __volatile__ ("mov    r0, %2\n\t"                 \
+            "mov    r8, %1\n\t"                               \
+            SYSCALL                                           \
+            "mov    %0, r0"                                   \
+            : "=r" (__res)                                    \
+            : "i" (SYS_##sname),                              \
+              "r" ((long)a)                                   \
+            : "cc", "r0", "r8");                              \
+    return (type)__res;                                       \
+}
+
+#define io_syscall2(type,fname,sname,atype,a,btype,b)         \
+type fname(atype a, btype b)                                  \
+{                                                             \
+    long __res;                                               \
+    __asm__ __volatile__ ("mov    r1, %3\n\t"                 \
+            "mov    r0, %2\n\t"                               \
+            "mov    r8, %1\n\t"                               \
+            SYSCALL                                           \
+            "mov    %0, r0"                                   \
+            : "=r" (__res)                                    \
+            : "i" (SYS_##sname),                              \
+              "r" ((long)a),                                  \
+              "r" ((long)b)                                   \
+            : "cc", "r0", "r1", "r8");                        \
+    return (type)__res;                                       \
+}
+
+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
+type fname(atype a, btype b, ctype c)                         \
+{                                                             \
+    long __res;                                               \
+    __asm__ __volatile__ (                                    \
+            "mov    r2, %4\n\t"                               \
+            "mov    r1, %3\n\t"                               \
+            "mov    r0, %2\n\t"                               \
+            "mov    r8, %1\n\t"                               \
+            SYSCALL                                           \
+            "mov    %0, r0"                                   \
+            : "=r" (__res)                                    \
+            : "i" (SYS_##sname),                              \
+              "r" ((long)a),                                  \
+              "r" ((long)b),                                  \
+              "r" ((long)c)                                   \
+            : "cc", "r0", "r1", "r2", "r8");                  \
+    return (type)__res;                                       \
+}
+
+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype, d) \
+type fname(atype a, btype b, ctype c, dtype d)                \
+{                                                             \
+    long __res;                                               \
+    __asm__ __volatile__ (                                    \
+            "mov    r3, %5\n\t"                               \
+            "mov    r2, %4\n\t"                               \
+            "mov    r1, %3\n\t"                               \
+            "mov    r0, %2\n\t"                               \
+            "mov    r8, %1\n\t"                               \
+            SYSCALL                                           \
+            "mov    %0, r0"                                   \
+            : "=r" (__res)                                    \
+            : "i" (SYS_##sname),                              \
+              "r" ((long)a),                                  \
+              "r" ((long)b),                                  \
+              "r" ((long)c),                                  \
+              "r" ((long)d)                                   \
+            : "cc", "r0", "r1", "r2", "r3", "r8");            \
+    return (type)__res;                                       \
+}
+
+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
+type fname(atype a, btype b, ctype c, dtype d, etype e)       \
+{                                                             \
+    long __res;                                               \
+    __asm__ __volatile__ (                                    \
+            "mov    r4, %6\n\t"                               \
+            "mov    r3, %5\n\t"                               \
+            "mov    r2, %4\n\t"                               \
+            "mov    r1, %3\n\t"                               \
+            "mov    r0, %2\n\t"                               \
+            "mov    r8, %1\n\t"                               \
+            SYSCALL                                           \
+            "mov    %0, r0"                                   \
+            : "=r" (__res)                                    \
+            : "i" (SYS_##sname),                              \
+              "r" ((long)a),                                  \
+              "r" ((long)b),                                  \
+              "r" ((long)c),                                  \
+              "r" ((long)d),                                  \
+              "r" ((long)e)                                   \
+            : "cc", "r0", "r1", "r2", "r3", "r4", "r8");      \
+    return (type)__res;                                       \
+}
diff --git a/src/syscall.h b/src/syscall.h
index 19965a4..14de98b 100644
--- a/src/syscall.h
+++ b/src/syscall.h
@@ -34,6 +34,8 @@
 #include "syscall-mips.h"
 #elif defined(__avr32__)
 #include "syscall-avr32.h"
+#elif defined(__arc__)
+#include "syscall-arc.h"
 #else
 #error "add syscall-arch.h"
 #endif
-- 
2.8.0.rc3.226.g39d4020

