#include <asm/unistd.h>
#include "../fio.h"
-#include "../indirect.h"
-#include "../syslet.h"
#include "../fls.h"
#ifdef FIO_HAVE_SYSLET
+++ /dev/null
-#ifndef _INDIRECT_H_
-#define _INDIRECT_H_
-
-#include "syslet.h"
-
-union indirect_params {
- struct {
- u32 flags;
- } file_flags;
- struct syslet_args syslet;
-};
-
-#ifdef __x86_64__
-# define __NR_indirect 286
-struct indirect_registers {
- u64 rax;
- u64 rdi;
- u64 rsi;
- u64 rdx;
- u64 r10;
- u64 r8;
- u64 r9;
-};
-#elif defined __i386__
-# define __NR_indirect 325
-struct indirect_registers {
- u32 eax;
- u32 ebx;
- u32 ecx;
- u32 edx;
- u32 esi;
- u32 edi;
- u32 ebp;
-};
-#endif
-
-#define FILL_IN(var, values...) \
- (var) = (struct indirect_registers) { values, }
-
-#endif
+++ /dev/null
-#ifndef _KCOMPAT_H_
-#define _KCOMPAT_H_
-
-#include <stdint.h>
-
-#define u64 uint64_t
-#define u32 uint32_t
-
-#endif
--- /dev/null
+#ifndef _INDIRECT_H_
+#define _INDIRECT_H_
+
+#include "syslet.h"
+
+union indirect_params {
+ struct {
+ u32 flags;
+ } file_flags;
+ struct syslet_args syslet;
+};
+
+#ifdef __x86_64__
+# define __NR_indirect 286
+struct indirect_registers {
+ u64 rax;
+ u64 rdi;
+ u64 rsi;
+ u64 rdx;
+ u64 r10;
+ u64 r8;
+ u64 r9;
+};
+#elif defined __i386__
+# define __NR_indirect 325
+struct indirect_registers {
+ u32 eax;
+ u32 ebx;
+ u32 ecx;
+ u32 edx;
+ u32 esi;
+ u32 edi;
+ u32 ebp;
+};
+#endif
+
+#define FILL_IN(var, values...) \
+ (var) = (struct indirect_registers) { values, }
+
+#endif
--- /dev/null
+#ifndef _KCOMPAT_H_
+#define _KCOMPAT_H_
+
+#include <stdint.h>
+
+#define u64 uint64_t
+#define u32 uint32_t
+
+#endif
#include <linux/raw.h>
#include <linux/major.h>
+#include "indirect.h"
+
#define FIO_HAVE_LIBAIO
#define FIO_HAVE_POSIXAIO
#define FIO_HAVE_FADVISE
--- /dev/null
+#ifndef _SYSLET_H_
+#define _SYSLET_H_
+
+#include "kcompat.h"
+
+struct syslet_frame {
+ u64 ip;
+ u64 sp;
+};
+
+struct syslet_args {
+ u64 ring_ptr;
+ u64 caller_data;
+ struct syslet_frame frame;
+};
+
+struct syslet_completion {
+ u64 status;
+ u64 caller_data;
+};
+
+struct syslet_ring {
+ u32 kernel_head;
+ u32 user_tail;
+ u32 elements;
+ u32 wait_group;
+ struct syslet_completion comp[0];
+};
+
+#ifdef __x86_64__
+#define __NR_syslet_ring_wait 287
+#elif defined __i386__
+#define __NR_syslet_ring_wait 326
+#endif
+
+#define ESYSLETPENDING 132
+
+typedef void (*syslet_return_func_t)(void);
+
+static inline void fill_syslet_args(struct syslet_args *args,
+ struct syslet_ring *ring, uint64_t caller_data,
+ syslet_return_func_t func, void *stack)
+{
+ args->ring_ptr = (u64)(unsigned long)ring;
+ args->caller_data = caller_data;
+ args->frame.ip = (u64)(unsigned long)func;
+ args->frame.sp = (u64)(unsigned long)stack;
+}
+
+#endif
+++ /dev/null
-#ifndef _SYSLET_H_
-#define _SYSLET_H_
-
-#include "kcompat.h"
-
-struct syslet_frame {
- u64 ip;
- u64 sp;
-};
-
-struct syslet_args {
- u64 ring_ptr;
- u64 caller_data;
- struct syslet_frame frame;
-};
-
-struct syslet_completion {
- u64 status;
- u64 caller_data;
-};
-
-struct syslet_ring {
- u32 kernel_head;
- u32 user_tail;
- u32 elements;
- u32 wait_group;
- struct syslet_completion comp[0];
-};
-
-#ifdef __x86_64__
-#define __NR_syslet_ring_wait 287
-#elif defined __i386__
-#define __NR_syslet_ring_wait 326
-#endif
-
-#define ESYSLETPENDING 132
-
-typedef void (*syslet_return_func_t)(void);
-
-void fill_syslet_args(struct syslet_args *args, struct syslet_ring *ring,
- uint64_t caller_data, syslet_return_func_t func,
- void *stack)
-{
- args->ring_ptr = (u64)(unsigned long)ring;
- args->caller_data = caller_data;
- args->frame.ip = (u64)(unsigned long)func;
- args->frame.sp = (u64)(unsigned long)stack;
-}
-
-#endif