diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2008-02-24 21:36:00 +0100 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-02-24 21:36:00 +0100 |
commit | f3de88a7a8806016ebb27af3f4be1fced172122e (patch) | |
tree | 66d45af2dbcf76b2058a7cc8ad937dc3ba7bcec5 /os/indirect.h | |
parent | 6ae1f57f2cb8661b97b770372eeb3694f6d5a744 (diff) | |
download | fio-f3de88a7a8806016ebb27af3f4be1fced172122e.tar.gz fio-f3de88a7a8806016ebb27af3f4be1fced172122e.tar.bz2 |
Move syslet/indirect bits into the OS specific directory
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'os/indirect.h')
-rw-r--r-- | os/indirect.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/os/indirect.h b/os/indirect.h new file mode 100644 index 00000000..fba6b6be --- /dev/null +++ b/os/indirect.h @@ -0,0 +1,40 @@ +#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 |