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