Add sparc and sparc64 support
Also get rid of the arch private ffz functions, the generic
one is just fine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/arch/arch-sparc64.h b/arch/arch-sparc64.h
new file mode 100644
index 0000000..b916882
--- /dev/null
+++ b/arch/arch-sparc64.h
@@ -0,0 +1,33 @@
+#ifndef ARCH_SPARC64_H
+#define ARCH_SPARC64_H
+
+#define ARCH (arch_sparc64)
+
+#ifndef __NR_ioprio_set
+#define __NR_ioprio_set 196
+#define __NR_ioprio_get 218
+#endif
+
+#ifndef __NR_fadvise64
+#define __NR_fadvise64 209
+#endif
+
+#ifndef __NR_sys_splice
+#define __NR_sys_splice 232
+#define __NR_sys_tee 280
+#define __NR_sys_vmsplice 25
+#endif
+
+#define nop do { } while (0)
+
+#define membar_safe(type) \
+ do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \
+ " membar " type "\n" \
+ "1:\n" \
+ : : : "memory"); \
+ } while (0)
+
+#define read_barrier() \
+ membar_safe("#LoadLoad")
+
+#endif