#ifndef ARCH_X86_64_H
#define ARCH_X86_64_H
+#ifndef __NR_sys_io_uring_setup
+#define __NR_sys_io_uring_setup 335
+#endif
+#ifndef __NR_sys_io_uring_enter
+#define __NR_sys_io_uring_enter 336
+#endif
+#ifndef __NR_sys_io_uring_register
+#define __NR_sys_io_uring_register 337
+#endif
+
static inline void do_cpuid(unsigned int *eax, unsigned int *ebx,
unsigned int *ecx, unsigned int *edx)
{
: "memory");
}
-#include "arch-x86-common.h"
+#include "arch-x86-common.h" /* IWYU pragma: export */
#define FIO_ARCH (arch_x86_64)
#define FIO_HUGE_PAGE 2097152
#define nop __asm__ __volatile__("rep;nop": : :"memory")
-#define read_barrier() __asm__ __volatile__("lfence":::"memory")
-#define write_barrier() __asm__ __volatile__("sfence":::"memory")
+#define read_barrier() __asm__ __volatile__("":::"memory")
+#define write_barrier() __asm__ __volatile__("":::"memory")
static inline unsigned long arch_ffz(unsigned long bitmask)
{
#define ARCH_HAVE_FFZ
#define ARCH_HAVE_SSE4_2
#define ARCH_HAVE_CPU_CLOCK
+#define ARCH_HAVE_IOURING
#define RDRAND_LONG ".byte 0x48,0x0f,0xc7,0xf0"
#define RDSEED_LONG ".byte 0x48,0x0f,0xc7,0xf8"