X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=os%2Fos-mac.h;h=24e0eb5d157b8db0c292bd15fb1b3a6508e28981;hb=232f9b73353e0322fe135d3029beecedaed7a17b;hp=7446a43d47e8c842a72b5b4e2e4469184ce4a974;hpb=fca7035863bd570270376a0c06776e5549ff813e;p=fio.git diff --git a/os/os-mac.h b/os/os-mac.h index 7446a43d..24e0eb5d 100644 --- a/os/os-mac.h +++ b/os/os-mac.h @@ -8,6 +8,9 @@ #include #include #include +#include +#include +#include #include "../file.h" @@ -22,9 +25,23 @@ #define FIO_HAVE_POSIXAIO #define FIO_HAVE_CLOCK_MONOTONIC #define FIO_USE_GENERIC_RAND +#define FIO_HAVE_GETTID +#define FIO_HAVE_CHARDEV_SIZE #define OS_MAP_ANON MAP_ANON +#if defined(__LITTLE_ENDIAN__) +#define FIO_LITTLE_ENDIAN +#elif defined(__BIG_ENDIAN__) +#define FIO_BIG_ENDIAN +#else +#error "Undefined byte order" +#endif + +#define fio_swap16(x) OSSwapInt16(x) +#define fio_swap32(x) OSSwapInt32(x) +#define fio_swap64(x) OSSwapInt64(x) + /* * OSX has a pitifully small shared memory segment by default, * so default to a lower number of max jobs supported @@ -133,6 +150,19 @@ static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) return 0; } +static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) +{ + /* + * Could be a raw block device, this is better than just assuming + * we can't get the size at all. + */ + if (!blockdev_size(f, bytes)) + return 0; + + *bytes = -1ULL; + return 0; +} + static inline int blockdev_invalidate_cache(struct fio_file *f) { return EINVAL; @@ -147,4 +177,9 @@ static inline unsigned long long os_phys_mem(void) sysctl(mib, 2, &mem, &len, NULL, 0); return mem; } + +static inline int gettid(void) +{ + return mach_thread_self(); +} #endif