aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libaio/src/raw_syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libaio/src/raw_syscall.c')
-rw-r--r--tools/libaio/src/raw_syscall.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/libaio/src/raw_syscall.c b/tools/libaio/src/raw_syscall.c
new file mode 100644
index 0000000000..3c8d7fa6d9
--- /dev/null
+++ b/tools/libaio/src/raw_syscall.c
@@ -0,0 +1,18 @@
+#include "syscall.h"
+
+#if defined(__ia64__)
+/* based on code from glibc by Jes Sorensen */
+__asm__(".text\n"
+ ".globl __ia64_aio_raw_syscall\n"
+ "__ia64_aio_raw_syscall:\n"
+ "alloc r2=ar.pfs,1,0,8,0\n"
+ "mov r15=r32\n"
+ "break 0x100000\n"
+ ";;"
+ "br.ret.sptk.few b0\n"
+ ".size __ia64_aio_raw_syscall, . - __ia64_aio_raw_syscall\n"
+ ".endp __ia64_aio_raw_syscall"
+);
+#endif
+
+;