/* DO NOT EDIT: Autogenerated by riscv-canonicalize-syscall-gen.py

   Copyright (C) 2024-2025 Free Software Foundation, Inc.

   This file is part of GDB.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

#include "defs.h"
#include "riscv-linux-tdep.h"

/* riscv64_canonicalize_syscall maps from the native riscv 64 Linux set
   of syscall ids into a canonical set of syscall ids used by
   process record.  */

enum gdb_syscall
riscv64_canonicalize_syscall (int syscall)
{
  switch (syscall)
    {
    case 0: return gdb_sys_io_setup;
    case 1: return gdb_sys_io_destroy;
    case 2: return gdb_sys_io_submit;
    case 3: return gdb_sys_io_cancel;
    case 4: return gdb_sys_io_getevents;
    case 5: return gdb_sys_setxattr;
    case 6: return gdb_sys_lsetxattr;
    case 7: return gdb_sys_fsetxattr;
    case 8: return gdb_sys_getxattr;
    case 9: return gdb_sys_lgetxattr;
    case 10: return gdb_sys_fgetxattr;
    case 11: return gdb_sys_listxattr;
    case 12: return gdb_sys_llistxattr;
    case 13: return gdb_sys_flistxattr;
    case 14: return gdb_sys_removexattr;
    case 15: return gdb_sys_lremovexattr;
    case 16: return gdb_sys_fremovexattr;
    case 17: return gdb_sys_getcwd;
    case 18: return gdb_sys_lookup_dcookie;
    case 19: return gdb_sys_eventfd2;
    case 20: return gdb_sys_epoll_create1;
    case 21: return gdb_sys_epoll_ctl;
    case 22: return gdb_sys_epoll_pwait;
    case 23: return gdb_sys_dup;
    case 24: return gdb_sys_dup3;
    case 25: return gdb_sys_fcntl;
    case 26: return gdb_sys_inotify_init1;
    case 27: return gdb_sys_inotify_add_watch;
    case 28: return gdb_sys_inotify_rm_watch;
    case 29: return gdb_sys_ioctl;
    case 30: return gdb_sys_ioprio_set;
    case 31: return gdb_sys_ioprio_get;
    case 32: return gdb_sys_flock;
    case 33: return gdb_sys_mknodat;
    case 34: return gdb_sys_mkdirat;
    case 35: return gdb_sys_unlinkat;
    case 36: return gdb_sys_symlinkat;
    case 37: return gdb_sys_linkat;
    /* case 39: return gdb_sys_umount2;  */
    case 40: return gdb_sys_mount;
    case 41: return gdb_sys_pivot_root;
    case 42: return gdb_sys_nfsservctl;
    case 43: return gdb_sys_statfs;
    case 44: return gdb_sys_fstatfs;
    case 45: return gdb_sys_truncate;
    case 46: return gdb_sys_ftruncate;
    case 47: return gdb_sys_fallocate;
    case 48: return gdb_sys_faccessat;
    case 49: return gdb_sys_chdir;
    case 50: return gdb_sys_fchdir;
    case 51: return gdb_sys_chroot;
    case 52: return gdb_sys_fchmod;
    case 53: return gdb_sys_fchmodat;
    case 54: return gdb_sys_fchownat;
    case 55: return gdb_sys_fchown;
    case 56: return gdb_sys_openat;
    case 57: return gdb_sys_close;
    case 58: return gdb_sys_vhangup;
    case 59: return gdb_sys_pipe2;
    case 60: return gdb_sys_quotactl;
    case 61: return gdb_sys_getdents64;
    case 62: return gdb_sys_lseek;
    case 63: return gdb_sys_read;
    case 64: return gdb_sys_write;
    case 65: return gdb_sys_readv;
    case 66: return gdb_sys_writev;
    case 67: return gdb_sys_pread64;
    case 68: return gdb_sys_pwrite64;
    /* case 69: return gdb_sys_preadv;  */
    /* case 70: return gdb_sys_pwritev;  */
    case 71: return gdb_sys_sendfile;
    case 72: return gdb_sys_pselect6;
    case 73: return gdb_sys_ppoll;
    /* case 74: return gdb_sys_signalfd4;  */
    case 75: return gdb_sys_vmsplice;
    case 76: return gdb_sys_splice;
    case 77: return gdb_sys_tee;
    case 78: return gdb_sys_readlinkat;
    case 79: return gdb_sys_newfstatat;
    case 80: return gdb_sys_fstat;
    case 81: return gdb_sys_sync;
    case 82: return gdb_sys_fsync;
    case 83: return gdb_sys_fdatasync;
    case 84: return gdb_sys_sync_file_range;
    /* case 85: return gdb_sys_timerfd_create;  */
    /* case 86: return gdb_sys_timerfd_settime;  */
    /* case 87: return gdb_sys_timerfd_gettime;  */
    /* case 88: return gdb_sys_utimensat;  */
    case 89: return gdb_sys_acct;
    case 90: return gdb_sys_capget;
    case 91: return gdb_sys_capset;
    case 92: return gdb_sys_personality;
    case 93: return gdb_sys_exit;
    case 94: return gdb_sys_exit_group;
    case 95: return gdb_sys_waitid;
    case 96: return gdb_sys_set_tid_address;
    case 97: return gdb_sys_unshare;
    case 98: return gdb_sys_futex;
    case 99: return gdb_sys_set_robust_list;
    case 100: return gdb_sys_get_robust_list;
    case 101: return gdb_sys_nanosleep;
    case 102: return gdb_sys_getitimer;
    case 103: return gdb_sys_setitimer;
    case 104: return gdb_sys_kexec_load;
    case 105: return gdb_sys_init_module;
    case 106: return gdb_sys_delete_module;
    case 107: return gdb_sys_timer_create;
    case 108: return gdb_sys_timer_gettime;
    case 109: return gdb_sys_timer_getoverrun;
    case 110: return gdb_sys_timer_settime;
    case 111: return gdb_sys_timer_delete;
    case 112: return gdb_sys_clock_settime;
    case 113: return gdb_sys_clock_gettime;
    case 114: return gdb_sys_clock_getres;
    case 115: return gdb_sys_clock_nanosleep;
    case 116: return gdb_sys_syslog;
    case 117: return gdb_sys_ptrace;
    case 118: return gdb_sys_sched_setparam;
    case 119: return gdb_sys_sched_setscheduler;
    case 120: return gdb_sys_sched_getscheduler;
    case 121: return gdb_sys_sched_getparam;
    case 122: return gdb_sys_sched_setaffinity;
    case 123: return gdb_sys_sched_getaffinity;
    case 124: return gdb_sys_sched_yield;
    case 125: return gdb_sys_sched_get_priority_max;
    case 126: return gdb_sys_sched_get_priority_min;
    case 127: return gdb_sys_sched_rr_get_interval;
    case 128: return gdb_sys_restart_syscall;
    case 129: return gdb_sys_kill;
    case 130: return gdb_sys_tkill;
    case 131: return gdb_sys_tgkill;
    case 132: return gdb_sys_sigaltstack;
    case 133: return gdb_sys_rt_sigsuspend;
    case 134: return gdb_sys_rt_sigaction;
    case 135: return gdb_sys_rt_sigprocmask;
    case 136: return gdb_sys_rt_sigpending;
    case 137: return gdb_sys_rt_sigtimedwait;
    case 138: return gdb_sys_rt_sigqueueinfo;
    case 139: return gdb_sys_rt_sigreturn;
    case 140: return gdb_sys_setpriority;
    case 141: return gdb_sys_getpriority;
    case 142: return gdb_sys_reboot;
    case 143: return gdb_sys_setregid;
    case 144: return gdb_sys_setgid;
    case 145: return gdb_sys_setreuid;
    case 146: return gdb_sys_setuid;
    case 147: return gdb_sys_setresuid;
    case 148: return gdb_sys_getresuid;
    case 149: return gdb_sys_setresgid;
    case 150: return gdb_sys_getresgid;
    case 151: return gdb_sys_setfsuid;
    case 152: return gdb_sys_setfsgid;
    case 153: return gdb_sys_times;
    case 154: return gdb_sys_setpgid;
    case 155: return gdb_sys_getpgid;
    case 156: return gdb_sys_getsid;
    case 157: return gdb_sys_setsid;
    case 158: return gdb_sys_getgroups;
    case 159: return gdb_sys_setgroups;
    case 160: return gdb_sys_uname;
    case 161: return gdb_sys_sethostname;
    case 162: return gdb_sys_setdomainname;
    case 163: return gdb_sys_getrlimit;
    case 164: return gdb_sys_setrlimit;
    case 165: return gdb_sys_getrusage;
    case 166: return gdb_sys_umask;
    case 167: return gdb_sys_prctl;
    case 168: return gdb_sys_getcpu;
    case 169: return gdb_sys_gettimeofday;
    case 170: return gdb_sys_settimeofday;
    case 171: return gdb_sys_adjtimex;
    case 172: return gdb_sys_getpid;
    case 173: return gdb_sys_getppid;
    case 174: return gdb_sys_getuid;
    case 175: return gdb_sys_geteuid;
    case 176: return gdb_sys_getgid;
    case 177: return gdb_sys_getegid;
    case 178: return gdb_sys_gettid;
    case 179: return gdb_sys_sysinfo;
    case 180: return gdb_sys_mq_open;
    case 181: return gdb_sys_mq_unlink;
    case 182: return gdb_sys_mq_timedsend;
    case 183: return gdb_sys_mq_timedreceive;
    case 184: return gdb_sys_mq_notify;
    case 185: return gdb_sys_mq_getsetattr;
    case 186: return gdb_sys_msgget;
    case 187: return gdb_sys_msgctl;
    case 188: return gdb_sys_msgrcv;
    case 189: return gdb_sys_msgsnd;
    case 190: return gdb_sys_semget;
    case 191: return gdb_sys_semctl;
    case 192: return gdb_sys_semtimedop;
    case 193: return gdb_sys_semop;
    case 194: return gdb_sys_shmget;
    case 195: return gdb_sys_shmctl;
    case 196: return gdb_sys_shmat;
    case 197: return gdb_sys_shmdt;
    case 198: return gdb_sys_socket;
    case 199: return gdb_sys_socketpair;
    case 200: return gdb_sys_bind;
    case 201: return gdb_sys_listen;
    case 202: return gdb_sys_accept;
    case 203: return gdb_sys_connect;
    case 204: return gdb_sys_getsockname;
    case 205: return gdb_sys_getpeername;
    case 206: return gdb_sys_sendto;
    case 207: return gdb_sys_recvfrom;
    case 208: return gdb_sys_setsockopt;
    case 209: return gdb_sys_getsockopt;
    case 210: return gdb_sys_shutdown;
    case 211: return gdb_sys_sendmsg;
    case 212: return gdb_sys_recvmsg;
    case 213: return gdb_sys_readahead;
    case 214: return gdb_sys_brk;
    case 215: return gdb_sys_munmap;
    case 216: return gdb_sys_mremap;
    case 217: return gdb_sys_add_key;
    case 218: return gdb_sys_request_key;
    case 219: return gdb_sys_keyctl;
    case 220: return gdb_sys_clone;
    case 221: return gdb_sys_execve;
    case 222: return gdb_sys_old_mmap;
    case 223: return gdb_sys_fadvise64;
    case 224: return gdb_sys_swapon;
    case 225: return gdb_sys_swapoff;
    case 226: return gdb_sys_mprotect;
    case 227: return gdb_sys_msync;
    case 228: return gdb_sys_mlock;
    case 229: return gdb_sys_munlock;
    case 230: return gdb_sys_mlockall;
    case 231: return gdb_sys_munlockall;
    case 232: return gdb_sys_mincore;
    case 233: return gdb_sys_madvise;
    case 234: return gdb_sys_remap_file_pages;
    case 235: return gdb_sys_mbind;
    case 236: return gdb_sys_get_mempolicy;
    case 237: return gdb_sys_set_mempolicy;
    case 238: return gdb_sys_migrate_pages;
    case 239: return gdb_sys_move_pages;
    /* case 240: return gdb_sys_rt_tgsigqueueinfo;  */
    /* case 241: return gdb_sys_perf_event_open;  */
    case 242: return gdb_sys_accept4;
    /* case 243: return gdb_sys_recvmmsg;  */
    /* case 258: return gdb_sys_riscv_hwprobe;  */
    /* case 259: return gdb_sys_riscv_flush_icache;  */
    case 260: return gdb_sys_wait4;
    /* case 261: return gdb_sys_prlimit64;  */
    /* case 262: return gdb_sys_fanotify_init;  */
    /* case 263: return gdb_sys_fanotify_mark;  */
    /* case 264: return gdb_sys_name_to_handle_at;  */
    /* case 265: return gdb_sys_open_by_handle_at;  */
    /* case 266: return gdb_sys_clock_adjtime;  */
    /* case 267: return gdb_sys_syncfs;  */
    /* case 268: return gdb_sys_setns;  */
    /* case 269: return gdb_sys_sendmmsg;  */
    /* case 270: return gdb_sys_process_vm_readv;  */
    /* case 271: return gdb_sys_process_vm_writev;  */
    /* case 272: return gdb_sys_kcmp;  */
    /* case 273: return gdb_sys_finit_module;  */
    /* case 274: return gdb_sys_sched_setattr;  */
    /* case 275: return gdb_sys_sched_getattr;  */
    /* case 276: return gdb_sys_renameat2;  */
    /* case 277: return gdb_sys_seccomp;  */
    case 278: return gdb_sys_getrandom;
    /* case 279: return gdb_sys_memfd_create;  */
    /* case 280: return gdb_sys_bpf;  */
    /* case 281: return gdb_sys_execveat;  */
    /* case 282: return gdb_sys_userfaultfd;  */
    /* case 283: return gdb_sys_membarrier;  */
    /* case 284: return gdb_sys_mlock2;  */
    /* case 285: return gdb_sys_copy_file_range;  */
    /* case 286: return gdb_sys_preadv2;  */
    /* case 287: return gdb_sys_pwritev2;  */
    /* case 288: return gdb_sys_pkey_mprotect;  */
    /* case 289: return gdb_sys_pkey_alloc;  */
    /* case 290: return gdb_sys_pkey_free;  */
    case 291: return gdb_sys_statx;
    /* case 292: return gdb_sys_io_pgetevents;  */
    /* case 293: return gdb_sys_rseq;  */
    /* case 294: return gdb_sys_kexec_file_load;  */
    /* case 424: return gdb_sys_pidfd_send_signal;  */
    /* case 425: return gdb_sys_io_uring_setup;  */
    /* case 426: return gdb_sys_io_uring_enter;  */
    /* case 427: return gdb_sys_io_uring_register;  */
    /* case 428: return gdb_sys_open_tree;  */
    /* case 429: return gdb_sys_move_mount;  */
    /* case 430: return gdb_sys_fsopen;  */
    /* case 431: return gdb_sys_fsconfig;  */
    /* case 432: return gdb_sys_fsmount;  */
    /* case 433: return gdb_sys_fspick;  */
    /* case 434: return gdb_sys_pidfd_open;  */
    /* case 435: return gdb_sys_clone3;  */
    /* case 436: return gdb_sys_close_range;  */
    /* case 437: return gdb_sys_openat2;  */
    /* case 438: return gdb_sys_pidfd_getfd;  */
    /* case 439: return gdb_sys_faccessat2;  */
    /* case 440: return gdb_sys_process_madvise;  */
    /* case 441: return gdb_sys_epoll_pwait2;  */
    /* case 442: return gdb_sys_mount_setattr;  */
    /* case 443: return gdb_sys_quotactl_fd;  */
    /* case 444: return gdb_sys_landlock_create_ruleset;  */
    /* case 445: return gdb_sys_landlock_add_rule;  */
    /* case 446: return gdb_sys_landlock_restrict_self;  */
    /* case 447: return gdb_sys_memfd_secret;  */
    /* case 448: return gdb_sys_process_mrelease;  */
    /* case 449: return gdb_sys_futex_waitv;  */
    /* case 450: return gdb_sys_set_mempolicy_home_node;  */
    /* case 451: return gdb_sys_cachestat;  */
    /* case 452: return gdb_sys_fchmodat2;  */
    /* case 453: return gdb_sys_map_shadow_stack;  */
    /* case 454: return gdb_sys_futex_wake;  */
    /* case 455: return gdb_sys_futex_wait;  */
    /* case 456: return gdb_sys_futex_requeue;  */
    /* case 457: return gdb_sys_statmount;  */
    /* case 458: return gdb_sys_listmount;  */
    /* case 459: return gdb_sys_lsm_get_self_attr;  */
    /* case 460: return gdb_sys_lsm_set_self_attr;  */
    /* case 461: return gdb_sys_lsm_list_modules;  */
    /* case 462: return gdb_sys_mseal;  */
    /* case 463: return gdb_sys_setxattrat;  */
    /* case 464: return gdb_sys_getxattrat;  */
    /* case 465: return gdb_sys_listxattrat;  */
    /* case 466: return gdb_sys_removexattrat;  */
    default:
      return gdb_sys_no_syscall;
    }
}
