cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

syscall.c (1259B)


      1/*
      2 * Will go away once libc support is there
      3 */
      4#include <unistd.h>
      5#include <sys/syscall.h>
      6#include <sys/uio.h>
      7#include <signal.h>
      8#include "liburing.h"
      9
     10#ifdef __alpha__
     11/*
     12 * alpha is the only exception, all other architectures
     13 * have common numbers for new system calls.
     14 */
     15# ifndef __NR_io_uring_setup
     16#  define __NR_io_uring_setup		535
     17# endif
     18# ifndef __NR_io_uring_enter
     19#  define __NR_io_uring_enter		536
     20# endif
     21# ifndef __NR_io_uring_register
     22#  define __NR_io_uring_register	537
     23# endif
     24#else /* !__alpha__ */
     25# ifndef __NR_io_uring_setup
     26#  define __NR_io_uring_setup		425
     27# endif
     28# ifndef __NR_io_uring_enter
     29#  define __NR_io_uring_enter		426
     30# endif
     31# ifndef __NR_io_uring_register
     32#  define __NR_io_uring_register	427
     33# endif
     34#endif
     35
     36int io_uring_register(int fd, unsigned int opcode, void *arg,
     37		      unsigned int nr_args)
     38{
     39	return syscall(__NR_io_uring_register, fd, opcode, arg, nr_args);
     40}
     41
     42int io_uring_setup(unsigned int entries, struct io_uring_params *p)
     43{
     44	return syscall(__NR_io_uring_setup, entries, p);
     45}
     46
     47int io_uring_enter(int fd, unsigned int to_submit, unsigned int min_complete,
     48		   unsigned int flags, sigset_t *sig)
     49{
     50	return syscall(__NR_io_uring_enter, fd, to_submit, min_complete,
     51			flags, sig, _NSIG / 8);
     52}