authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-08-01 01:21:10-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-08-01 01:21:10-07:00
logf17f73b4fa5640b7f070b80ada5e52e28e93608d
tree61fb3a2e62821e7af0eb6ff96709f21ece12e106
parent91163b44dd8a7d21c76de545bca3ed584a6b6df7
parent876383cb2a003484a81c47e60b5034b342fa9b14
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #20869 from alexrp/linux-syscalls

`std.os.linux`: Add syscall enums for all remaining architectures

3 files changed, 4409 insertions(+), 1127 deletions(-)

lib/std/os/linux.zig+12-2
......@@ -105,14 +105,24 @@ pub const SYS = switch (@import("builtin").cpu.arch) {
105105 .x86 => syscalls.X86,
106106 .x86_64 => syscalls.X64,
107107 .aarch64, .aarch64_be => syscalls.Arm64,
108 .arc => syscalls.Arc,
108109 .arm, .armeb, .thumb, .thumbeb => syscalls.Arm,
110 .csky => syscalls.CSky,
111 .hexagon => syscalls.Hexagon,
109112 .riscv32 => syscalls.RiscV32,
110113 .riscv64 => syscalls.RiscV64,
114 .sparc, .sparcel => syscalls.Sparc,
111115 .sparc64 => syscalls.Sparc64,
112 .mips, .mipsel => syscalls.Mips,
113 .mips64, .mips64el => syscalls.Mips64,
116 .m68k => syscalls.M68k,
117 .mips, .mipsel => syscalls.MipsO32,
118 .mips64, .mips64el => if (builtin.abi == .gnuabin32)
119 syscalls.MipsN32
120 else
121 syscalls.MipsN64,
114122 .powerpc, .powerpcle => syscalls.PowerPC,
115123 .powerpc64, .powerpc64le => syscalls.PowerPC64,
124 .s390x => syscalls.S390x,
125 .xtensa => syscalls.Xtensa,
116126 else => @compileError("The Zig Standard Library is missing syscall definitions for the target CPU architecture"),
117127};
118128
lib/std/os/linux/syscalls.zig+4094-1085
......@@ -1242,7 +1242,7 @@ pub const Arm = enum(usize) {
12421242 get_tls = arm_base + 6,
12431243};
12441244
1245pub const Sparc64 = enum(usize) {
1245pub const Sparc = enum(usize) {
12461246 restart_syscall = 0,
12471247 exit = 1,
12481248 fork = 2,
......@@ -1274,8 +1274,11 @@ pub const Sparc64 = enum(usize) {
12741274 sigaltstack = 28,
12751275 pause = 29,
12761276 utime = 30,
1277 lchown32 = 31,
1278 fchown32 = 32,
12771279 access = 33,
12781280 nice = 34,
1281 chown32 = 35,
12791282 sync = 36,
12801283 kill = 37,
12811284 stat = 38,
......@@ -1284,6 +1287,7 @@ pub const Sparc64 = enum(usize) {
12841287 dup = 41,
12851288 pipe = 42,
12861289 times = 43,
1290 getuid32 = 44,
12871291 umount2 = 45,
12881292 setgid = 46,
12891293 getgid = 47,
......@@ -1291,9 +1295,10 @@ pub const Sparc64 = enum(usize) {
12911295 geteuid = 49,
12921296 getegid = 50,
12931297 acct = 51,
1294 memory_ordering = 52,
1298 getgid32 = 53,
12951299 ioctl = 54,
12961300 reboot = 55,
1301 mmap2 = 56,
12971302 symlink = 57,
12981303 readlink = 58,
12991304 execve = 59,
......@@ -1306,22 +1311,32 @@ pub const Sparc64 = enum(usize) {
13061311 vfork = 66,
13071312 pread64 = 67,
13081313 pwrite64 = 68,
1314 geteuid32 = 69,
1315 getegid32 = 70,
13091316 mmap = 71,
1317 setreuid32 = 72,
13101318 munmap = 73,
13111319 mprotect = 74,
13121320 madvise = 75,
13131321 vhangup = 76,
1322 truncate64 = 77,
13141323 mincore = 78,
13151324 getgroups = 79,
13161325 setgroups = 80,
13171326 getpgrp = 81,
1327 setgroups32 = 82,
13181328 setitimer = 83,
1329 ftruncate64 = 84,
13191330 swapon = 85,
13201331 getitimer = 86,
1332 setuid32 = 87,
13211333 sethostname = 88,
1334 setgid32 = 89,
13221335 dup2 = 90,
1336 setfsuid32 = 91,
13231337 fcntl = 92,
13241338 select = 93,
1339 setfsgid32 = 94,
13251340 fsync = 95,
13261341 setpriority = 96,
13271342 socket = 97,
......@@ -1335,12 +1350,14 @@ pub const Sparc64 = enum(usize) {
13351350 rt_sigtimedwait = 105,
13361351 rt_sigqueueinfo = 106,
13371352 rt_sigsuspend = 107,
1338 setresuid = 108,
1339 getresuid = 109,
1340 setresgid = 110,
1341 getresgid = 111,
1353 setresuid32 = 108,
1354 getresuid32 = 109,
1355 setresgid32 = 110,
1356 getresgid32 = 111,
1357 setregid32 = 112,
13421358 recvmsg = 113,
13431359 sendmsg = 114,
1360 getgroups32 = 115,
13441361 gettimeofday = 116,
13451362 getrusage = 117,
13461363 getsockopt = 118,
......@@ -1380,6 +1397,7 @@ pub const Sparc64 = enum(usize) {
13801397 inotify_add_watch = 152,
13811398 poll = 153,
13821399 getdents64 = 154,
1400 fcntl64 = 155,
13831401 inotify_rm_watch = 156,
13841402 statfs = 157,
13851403 fstatfs = 158,
......@@ -1388,7 +1406,6 @@ pub const Sparc64 = enum(usize) {
13881406 sched_get_affinity = 161,
13891407 getdomainname = 162,
13901408 setdomainname = 163,
1391 utrap_install = 164,
13921409 quotactl = 165,
13931410 set_tid_address = 166,
13941411 mount = 167,
......@@ -1455,6 +1472,7 @@ pub const Sparc64 = enum(usize) {
14551472 setfsuid = 228,
14561473 setfsgid = 229,
14571474 newselect = 230,
1475 time = 231,
14581476 splice = 232,
14591477 stime = 233,
14601478 statfs64 = 234,
......@@ -1589,7 +1607,6 @@ pub const Sparc64 = enum(usize) {
15891607 pkey_alloc = 363,
15901608 pkey_free = 364,
15911609 rseq = 365,
1592 semtimedop = 392,
15931610 semget = 393,
15941611 semctl = 394,
15951612 shmget = 395,
......@@ -1600,6 +1617,26 @@ pub const Sparc64 = enum(usize) {
16001617 msgsnd = 400,
16011618 msgrcv = 401,
16021619 msgctl = 402,
1620 clock_gettime64 = 403,
1621 clock_settime64 = 404,
1622 clock_adjtime64 = 405,
1623 clock_getres_time64 = 406,
1624 clock_nanosleep_time64 = 407,
1625 timer_gettime64 = 408,
1626 timer_settime64 = 409,
1627 timerfd_gettime64 = 410,
1628 timerfd_settime64 = 411,
1629 utimensat_time64 = 412,
1630 pselect6_time64 = 413,
1631 ppoll_time64 = 414,
1632 io_pgetevents_time64 = 416,
1633 recvmmsg_time64 = 417,
1634 mq_timedsend_time64 = 418,
1635 mq_timedreceive_time64 = 419,
1636 semtimedop_time64 = 420,
1637 rt_sigtimedwait_time64 = 421,
1638 futex_time64 = 422,
1639 sched_rr_get_interval_time64 = 423,
16031640 pidfd_send_signal = 424,
16041641 io_uring_setup = 425,
16051642 io_uring_enter = 426,
......@@ -1633,801 +1670,7 @@ pub const Sparc64 = enum(usize) {
16331670 futex_requeue = 456,
16341671};
16351672
1636pub const Mips = enum(usize) {
1637 pub const Linux = 4000;
1638
1639 syscall = Linux + 0,
1640 exit = Linux + 1,
1641 fork = Linux + 2,
1642 read = Linux + 3,
1643 write = Linux + 4,
1644 open = Linux + 5,
1645 close = Linux + 6,
1646 waitpid = Linux + 7,
1647 creat = Linux + 8,
1648 link = Linux + 9,
1649 unlink = Linux + 10,
1650 execve = Linux + 11,
1651 chdir = Linux + 12,
1652 time = Linux + 13,
1653 mknod = Linux + 14,
1654 chmod = Linux + 15,
1655 lchown = Linux + 16,
1656 @"break" = Linux + 17,
1657 lseek = Linux + 19,
1658 getpid = Linux + 20,
1659 mount = Linux + 21,
1660 umount = Linux + 22,
1661 setuid = Linux + 23,
1662 getuid = Linux + 24,
1663 stime = Linux + 25,
1664 ptrace = Linux + 26,
1665 alarm = Linux + 27,
1666 pause = Linux + 29,
1667 utime = Linux + 30,
1668 stty = Linux + 31,
1669 gtty = Linux + 32,
1670 access = Linux + 33,
1671 nice = Linux + 34,
1672 ftime = Linux + 35,
1673 sync = Linux + 36,
1674 kill = Linux + 37,
1675 rename = Linux + 38,
1676 mkdir = Linux + 39,
1677 rmdir = Linux + 40,
1678 dup = Linux + 41,
1679 pipe = Linux + 42,
1680 times = Linux + 43,
1681 prof = Linux + 44,
1682 brk = Linux + 45,
1683 setgid = Linux + 46,
1684 getgid = Linux + 47,
1685 signal = Linux + 48,
1686 geteuid = Linux + 49,
1687 getegid = Linux + 50,
1688 acct = Linux + 51,
1689 umount2 = Linux + 52,
1690 lock = Linux + 53,
1691 ioctl = Linux + 54,
1692 fcntl = Linux + 55,
1693 mpx = Linux + 56,
1694 setpgid = Linux + 57,
1695 ulimit = Linux + 58,
1696 umask = Linux + 60,
1697 chroot = Linux + 61,
1698 ustat = Linux + 62,
1699 dup2 = Linux + 63,
1700 getppid = Linux + 64,
1701 getpgrp = Linux + 65,
1702 setsid = Linux + 66,
1703 sigaction = Linux + 67,
1704 sgetmask = Linux + 68,
1705 ssetmask = Linux + 69,
1706 setreuid = Linux + 70,
1707 setregid = Linux + 71,
1708 sigsuspend = Linux + 72,
1709 sigpending = Linux + 73,
1710 sethostname = Linux + 74,
1711 setrlimit = Linux + 75,
1712 getrlimit = Linux + 76,
1713 getrusage = Linux + 77,
1714 gettimeofday = Linux + 78,
1715 settimeofday = Linux + 79,
1716 getgroups = Linux + 80,
1717 setgroups = Linux + 81,
1718 reserved82 = Linux + 82,
1719 symlink = Linux + 83,
1720 readlink = Linux + 85,
1721 uselib = Linux + 86,
1722 swapon = Linux + 87,
1723 reboot = Linux + 88,
1724 readdir = Linux + 89,
1725 mmap = Linux + 90,
1726 munmap = Linux + 91,
1727 truncate = Linux + 92,
1728 ftruncate = Linux + 93,
1729 fchmod = Linux + 94,
1730 fchown = Linux + 95,
1731 getpriority = Linux + 96,
1732 setpriority = Linux + 97,
1733 profil = Linux + 98,
1734 statfs = Linux + 99,
1735 fstatfs = Linux + 100,
1736 ioperm = Linux + 101,
1737 socketcall = Linux + 102,
1738 syslog = Linux + 103,
1739 setitimer = Linux + 104,
1740 getitimer = Linux + 105,
1741 stat = Linux + 106,
1742 lstat = Linux + 107,
1743 fstat = Linux + 108,
1744 iopl = Linux + 110,
1745 vhangup = Linux + 111,
1746 idle = Linux + 112,
1747 vm86 = Linux + 113,
1748 wait4 = Linux + 114,
1749 swapoff = Linux + 115,
1750 sysinfo = Linux + 116,
1751 ipc = Linux + 117,
1752 fsync = Linux + 118,
1753 sigreturn = Linux + 119,
1754 clone = Linux + 120,
1755 setdomainname = Linux + 121,
1756 uname = Linux + 122,
1757 modify_ldt = Linux + 123,
1758 adjtimex = Linux + 124,
1759 mprotect = Linux + 125,
1760 sigprocmask = Linux + 126,
1761 create_module = Linux + 127,
1762 init_module = Linux + 128,
1763 delete_module = Linux + 129,
1764 get_kernel_syms = Linux + 130,
1765 quotactl = Linux + 131,
1766 getpgid = Linux + 132,
1767 fchdir = Linux + 133,
1768 bdflush = Linux + 134,
1769 sysfs = Linux + 135,
1770 personality = Linux + 136,
1771 afs_syscall = Linux + 137,
1772 setfsuid = Linux + 138,
1773 setfsgid = Linux + 139,
1774 llseek = Linux + 140,
1775 getdents = Linux + 141,
1776 newselect = Linux + 142,
1777 flock = Linux + 143,
1778 msync = Linux + 144,
1779 readv = Linux + 145,
1780 writev = Linux + 146,
1781 cacheflush = Linux + 147,
1782 cachectl = Linux + 148,
1783 sysmips = Linux + 149,
1784 getsid = Linux + 151,
1785 fdatasync = Linux + 152,
1786 sysctl = Linux + 153,
1787 mlock = Linux + 154,
1788 munlock = Linux + 155,
1789 mlockall = Linux + 156,
1790 munlockall = Linux + 157,
1791 sched_setparam = Linux + 158,
1792 sched_getparam = Linux + 159,
1793 sched_setscheduler = Linux + 160,
1794 sched_getscheduler = Linux + 161,
1795 sched_yield = Linux + 162,
1796 sched_get_priority_max = Linux + 163,
1797 sched_get_priority_min = Linux + 164,
1798 sched_rr_get_interval = Linux + 165,
1799 nanosleep = Linux + 166,
1800 mremap = Linux + 167,
1801 accept = Linux + 168,
1802 bind = Linux + 169,
1803 connect = Linux + 170,
1804 getpeername = Linux + 171,
1805 getsockname = Linux + 172,
1806 getsockopt = Linux + 173,
1807 listen = Linux + 174,
1808 recv = Linux + 175,
1809 recvfrom = Linux + 176,
1810 recvmsg = Linux + 177,
1811 send = Linux + 178,
1812 sendmsg = Linux + 179,
1813 sendto = Linux + 180,
1814 setsockopt = Linux + 181,
1815 shutdown = Linux + 182,
1816 socket = Linux + 183,
1817 socketpair = Linux + 184,
1818 setresuid = Linux + 185,
1819 getresuid = Linux + 186,
1820 query_module = Linux + 187,
1821 poll = Linux + 188,
1822 nfsservctl = Linux + 189,
1823 setresgid = Linux + 190,
1824 getresgid = Linux + 191,
1825 prctl = Linux + 192,
1826 rt_sigreturn = Linux + 193,
1827 rt_sigaction = Linux + 194,
1828 rt_sigprocmask = Linux + 195,
1829 rt_sigpending = Linux + 196,
1830 rt_sigtimedwait = Linux + 197,
1831 rt_sigqueueinfo = Linux + 198,
1832 rt_sigsuspend = Linux + 199,
1833 pread64 = Linux + 200,
1834 pwrite64 = Linux + 201,
1835 chown = Linux + 202,
1836 getcwd = Linux + 203,
1837 capget = Linux + 204,
1838 capset = Linux + 205,
1839 sigaltstack = Linux + 206,
1840 sendfile = Linux + 207,
1841 getpmsg = Linux + 208,
1842 putpmsg = Linux + 209,
1843 mmap2 = Linux + 210,
1844 truncate64 = Linux + 211,
1845 ftruncate64 = Linux + 212,
1846 stat64 = Linux + 213,
1847 lstat64 = Linux + 214,
1848 fstat64 = Linux + 215,
1849 pivot_root = Linux + 216,
1850 mincore = Linux + 217,
1851 madvise = Linux + 218,
1852 getdents64 = Linux + 219,
1853 fcntl64 = Linux + 220,
1854 reserved221 = Linux + 221,
1855 gettid = Linux + 222,
1856 readahead = Linux + 223,
1857 setxattr = Linux + 224,
1858 lsetxattr = Linux + 225,
1859 fsetxattr = Linux + 226,
1860 getxattr = Linux + 227,
1861 lgetxattr = Linux + 228,
1862 fgetxattr = Linux + 229,
1863 listxattr = Linux + 230,
1864 llistxattr = Linux + 231,
1865 flistxattr = Linux + 232,
1866 removexattr = Linux + 233,
1867 lremovexattr = Linux + 234,
1868 fremovexattr = Linux + 235,
1869 tkill = Linux + 236,
1870 sendfile64 = Linux + 237,
1871 futex = Linux + 238,
1872 sched_setaffinity = Linux + 239,
1873 sched_getaffinity = Linux + 240,
1874 io_setup = Linux + 241,
1875 io_destroy = Linux + 242,
1876 io_getevents = Linux + 243,
1877 io_submit = Linux + 244,
1878 io_cancel = Linux + 245,
1879 exit_group = Linux + 246,
1880 lookup_dcookie = Linux + 247,
1881 epoll_create = Linux + 248,
1882 epoll_ctl = Linux + 249,
1883 epoll_wait = Linux + 250,
1884 remap_file_pages = Linux + 251,
1885 set_tid_address = Linux + 252,
1886 restart_syscall = Linux + 253,
1887 fadvise64 = Linux + 254,
1888 statfs64 = Linux + 255,
1889 fstatfs64 = Linux + 256,
1890 timer_create = Linux + 257,
1891 timer_settime = Linux + 258,
1892 timer_gettime = Linux + 259,
1893 timer_getoverrun = Linux + 260,
1894 timer_delete = Linux + 261,
1895 clock_settime = Linux + 262,
1896 clock_gettime = Linux + 263,
1897 clock_getres = Linux + 264,
1898 clock_nanosleep = Linux + 265,
1899 tgkill = Linux + 266,
1900 utimes = Linux + 267,
1901 mbind = Linux + 268,
1902 get_mempolicy = Linux + 269,
1903 set_mempolicy = Linux + 270,
1904 mq_open = Linux + 271,
1905 mq_unlink = Linux + 272,
1906 mq_timedsend = Linux + 273,
1907 mq_timedreceive = Linux + 274,
1908 mq_notify = Linux + 275,
1909 mq_getsetattr = Linux + 276,
1910 vserver = Linux + 277,
1911 waitid = Linux + 278,
1912 add_key = Linux + 280,
1913 request_key = Linux + 281,
1914 keyctl = Linux + 282,
1915 set_thread_area = Linux + 283,
1916 inotify_init = Linux + 284,
1917 inotify_add_watch = Linux + 285,
1918 inotify_rm_watch = Linux + 286,
1919 migrate_pages = Linux + 287,
1920 openat = Linux + 288,
1921 mkdirat = Linux + 289,
1922 mknodat = Linux + 290,
1923 fchownat = Linux + 291,
1924 futimesat = Linux + 292,
1925 fstatat64 = Linux + 293,
1926 unlinkat = Linux + 294,
1927 renameat = Linux + 295,
1928 linkat = Linux + 296,
1929 symlinkat = Linux + 297,
1930 readlinkat = Linux + 298,
1931 fchmodat = Linux + 299,
1932 faccessat = Linux + 300,
1933 pselect6 = Linux + 301,
1934 ppoll = Linux + 302,
1935 unshare = Linux + 303,
1936 splice = Linux + 304,
1937 sync_file_range = Linux + 305,
1938 tee = Linux + 306,
1939 vmsplice = Linux + 307,
1940 move_pages = Linux + 308,
1941 set_robust_list = Linux + 309,
1942 get_robust_list = Linux + 310,
1943 kexec_load = Linux + 311,
1944 getcpu = Linux + 312,
1945 epoll_pwait = Linux + 313,
1946 ioprio_set = Linux + 314,
1947 ioprio_get = Linux + 315,
1948 utimensat = Linux + 316,
1949 signalfd = Linux + 317,
1950 timerfd = Linux + 318,
1951 eventfd = Linux + 319,
1952 fallocate = Linux + 320,
1953 timerfd_create = Linux + 321,
1954 timerfd_gettime = Linux + 322,
1955 timerfd_settime = Linux + 323,
1956 signalfd4 = Linux + 324,
1957 eventfd2 = Linux + 325,
1958 epoll_create1 = Linux + 326,
1959 dup3 = Linux + 327,
1960 pipe2 = Linux + 328,
1961 inotify_init1 = Linux + 329,
1962 preadv = Linux + 330,
1963 pwritev = Linux + 331,
1964 rt_tgsigqueueinfo = Linux + 332,
1965 perf_event_open = Linux + 333,
1966 accept4 = Linux + 334,
1967 recvmmsg = Linux + 335,
1968 fanotify_init = Linux + 336,
1969 fanotify_mark = Linux + 337,
1970 prlimit64 = Linux + 338,
1971 name_to_handle_at = Linux + 339,
1972 open_by_handle_at = Linux + 340,
1973 clock_adjtime = Linux + 341,
1974 syncfs = Linux + 342,
1975 sendmmsg = Linux + 343,
1976 setns = Linux + 344,
1977 process_vm_readv = Linux + 345,
1978 process_vm_writev = Linux + 346,
1979 kcmp = Linux + 347,
1980 finit_module = Linux + 348,
1981 sched_setattr = Linux + 349,
1982 sched_getattr = Linux + 350,
1983 renameat2 = Linux + 351,
1984 seccomp = Linux + 352,
1985 getrandom = Linux + 353,
1986 memfd_create = Linux + 354,
1987 bpf = Linux + 355,
1988 execveat = Linux + 356,
1989 userfaultfd = Linux + 357,
1990 membarrier = Linux + 358,
1991 mlock2 = Linux + 359,
1992 copy_file_range = Linux + 360,
1993 preadv2 = Linux + 361,
1994 pwritev2 = Linux + 362,
1995 pkey_mprotect = Linux + 363,
1996 pkey_alloc = Linux + 364,
1997 pkey_free = Linux + 365,
1998 statx = Linux + 366,
1999 rseq = Linux + 367,
2000 io_pgetevents = Linux + 368,
2001 semget = Linux + 393,
2002 semctl = Linux + 394,
2003 shmget = Linux + 395,
2004 shmctl = Linux + 396,
2005 shmat = Linux + 397,
2006 shmdt = Linux + 398,
2007 msgget = Linux + 399,
2008 msgsnd = Linux + 400,
2009 msgrcv = Linux + 401,
2010 msgctl = Linux + 402,
2011 clock_gettime64 = Linux + 403,
2012 clock_settime64 = Linux + 404,
2013 clock_adjtime64 = Linux + 405,
2014 clock_getres_time64 = Linux + 406,
2015 clock_nanosleep_time64 = Linux + 407,
2016 timer_gettime64 = Linux + 408,
2017 timer_settime64 = Linux + 409,
2018 timerfd_gettime64 = Linux + 410,
2019 timerfd_settime64 = Linux + 411,
2020 utimensat_time64 = Linux + 412,
2021 pselect6_time64 = Linux + 413,
2022 ppoll_time64 = Linux + 414,
2023 io_pgetevents_time64 = Linux + 416,
2024 recvmmsg_time64 = Linux + 417,
2025 mq_timedsend_time64 = Linux + 418,
2026 mq_timedreceive_time64 = Linux + 419,
2027 semtimedop_time64 = Linux + 420,
2028 rt_sigtimedwait_time64 = Linux + 421,
2029 futex_time64 = Linux + 422,
2030 sched_rr_get_interval_time64 = Linux + 423,
2031 pidfd_send_signal = Linux + 424,
2032 io_uring_setup = Linux + 425,
2033 io_uring_enter = Linux + 426,
2034 io_uring_register = Linux + 427,
2035 open_tree = Linux + 428,
2036 move_mount = Linux + 429,
2037 fsopen = Linux + 430,
2038 fsconfig = Linux + 431,
2039 fsmount = Linux + 432,
2040 fspick = Linux + 433,
2041 pidfd_open = Linux + 434,
2042 clone3 = Linux + 435,
2043 close_range = Linux + 436,
2044 openat2 = Linux + 437,
2045 pidfd_getfd = Linux + 438,
2046 faccessat2 = Linux + 439,
2047 process_madvise = Linux + 440,
2048 epoll_pwait2 = Linux + 441,
2049 mount_setattr = Linux + 442,
2050 quotactl_fd = Linux + 443,
2051 landlock_create_ruleset = Linux + 444,
2052 landlock_add_rule = Linux + 445,
2053 landlock_restrict_self = Linux + 446,
2054 process_mrelease = Linux + 448,
2055 futex_waitv = Linux + 449,
2056 set_mempolicy_home_node = Linux + 450,
2057 cachestat = Linux + 451,
2058 fchmodat2 = Linux + 452,
2059 map_shadow_stack = Linux + 453,
2060 futex_wake = Linux + 454,
2061 futex_wait = Linux + 455,
2062 futex_requeue = Linux + 456,
2063};
2064
2065pub const Mips64 = enum(usize) {
2066 pub const Linux = 5000;
2067
2068 read = Linux + 0,
2069 write = Linux + 1,
2070 open = Linux + 2,
2071 close = Linux + 3,
2072 stat = Linux + 4,
2073 fstat = Linux + 5,
2074 lstat = Linux + 6,
2075 poll = Linux + 7,
2076 lseek = Linux + 8,
2077 mmap = Linux + 9,
2078 mprotect = Linux + 10,
2079 munmap = Linux + 11,
2080 brk = Linux + 12,
2081 rt_sigaction = Linux + 13,
2082 rt_sigprocmask = Linux + 14,
2083 ioctl = Linux + 15,
2084 pread64 = Linux + 16,
2085 pwrite64 = Linux + 17,
2086 readv = Linux + 18,
2087 writev = Linux + 19,
2088 access = Linux + 20,
2089 pipe = Linux + 21,
2090 newselect = Linux + 22,
2091 sched_yield = Linux + 23,
2092 mremap = Linux + 24,
2093 msync = Linux + 25,
2094 mincore = Linux + 26,
2095 madvise = Linux + 27,
2096 shmget = Linux + 28,
2097 shmat = Linux + 29,
2098 shmctl = Linux + 30,
2099 dup = Linux + 31,
2100 dup2 = Linux + 32,
2101 pause = Linux + 33,
2102 nanosleep = Linux + 34,
2103 getitimer = Linux + 35,
2104 setitimer = Linux + 36,
2105 alarm = Linux + 37,
2106 getpid = Linux + 38,
2107 sendfile = Linux + 39,
2108 socket = Linux + 40,
2109 connect = Linux + 41,
2110 accept = Linux + 42,
2111 sendto = Linux + 43,
2112 recvfrom = Linux + 44,
2113 sendmsg = Linux + 45,
2114 recvmsg = Linux + 46,
2115 shutdown = Linux + 47,
2116 bind = Linux + 48,
2117 listen = Linux + 49,
2118 getsockname = Linux + 50,
2119 getpeername = Linux + 51,
2120 socketpair = Linux + 52,
2121 setsockopt = Linux + 53,
2122 getsockopt = Linux + 54,
2123 clone = Linux + 55,
2124 fork = Linux + 56,
2125 execve = Linux + 57,
2126 exit = Linux + 58,
2127 wait4 = Linux + 59,
2128 kill = Linux + 60,
2129 uname = Linux + 61,
2130 semget = Linux + 62,
2131 semop = Linux + 63,
2132 semctl = Linux + 64,
2133 shmdt = Linux + 65,
2134 msgget = Linux + 66,
2135 msgsnd = Linux + 67,
2136 msgrcv = Linux + 68,
2137 msgctl = Linux + 69,
2138 fcntl = Linux + 70,
2139 flock = Linux + 71,
2140 fsync = Linux + 72,
2141 fdatasync = Linux + 73,
2142 truncate = Linux + 74,
2143 ftruncate = Linux + 75,
2144 getdents = Linux + 76,
2145 getcwd = Linux + 77,
2146 chdir = Linux + 78,
2147 fchdir = Linux + 79,
2148 rename = Linux + 80,
2149 mkdir = Linux + 81,
2150 rmdir = Linux + 82,
2151 creat = Linux + 83,
2152 link = Linux + 84,
2153 unlink = Linux + 85,
2154 symlink = Linux + 86,
2155 readlink = Linux + 87,
2156 chmod = Linux + 88,
2157 fchmod = Linux + 89,
2158 chown = Linux + 90,
2159 fchown = Linux + 91,
2160 lchown = Linux + 92,
2161 umask = Linux + 93,
2162 gettimeofday = Linux + 94,
2163 getrlimit = Linux + 95,
2164 getrusage = Linux + 96,
2165 sysinfo = Linux + 97,
2166 times = Linux + 98,
2167 ptrace = Linux + 99,
2168 getuid = Linux + 100,
2169 syslog = Linux + 101,
2170 getgid = Linux + 102,
2171 setuid = Linux + 103,
2172 setgid = Linux + 104,
2173 geteuid = Linux + 105,
2174 getegid = Linux + 106,
2175 setpgid = Linux + 107,
2176 getppid = Linux + 108,
2177 getpgrp = Linux + 109,
2178 setsid = Linux + 110,
2179 setreuid = Linux + 111,
2180 setregid = Linux + 112,
2181 getgroups = Linux + 113,
2182 setgroups = Linux + 114,
2183 setresuid = Linux + 115,
2184 getresuid = Linux + 116,
2185 setresgid = Linux + 117,
2186 getresgid = Linux + 118,
2187 getpgid = Linux + 119,
2188 setfsuid = Linux + 120,
2189 setfsgid = Linux + 121,
2190 getsid = Linux + 122,
2191 capget = Linux + 123,
2192 capset = Linux + 124,
2193 rt_sigpending = Linux + 125,
2194 rt_sigtimedwait = Linux + 126,
2195 rt_sigqueueinfo = Linux + 127,
2196 rt_sigsuspend = Linux + 128,
2197 sigaltstack = Linux + 129,
2198 utime = Linux + 130,
2199 mknod = Linux + 131,
2200 personality = Linux + 132,
2201 ustat = Linux + 133,
2202 statfs = Linux + 134,
2203 fstatfs = Linux + 135,
2204 sysfs = Linux + 136,
2205 getpriority = Linux + 137,
2206 setpriority = Linux + 138,
2207 sched_setparam = Linux + 139,
2208 sched_getparam = Linux + 140,
2209 sched_setscheduler = Linux + 141,
2210 sched_getscheduler = Linux + 142,
2211 sched_get_priority_max = Linux + 143,
2212 sched_get_priority_min = Linux + 144,
2213 sched_rr_get_interval = Linux + 145,
2214 mlock = Linux + 146,
2215 munlock = Linux + 147,
2216 mlockall = Linux + 148,
2217 munlockall = Linux + 149,
2218 vhangup = Linux + 150,
2219 pivot_root = Linux + 151,
2220 sysctl = Linux + 152,
2221 prctl = Linux + 153,
2222 adjtimex = Linux + 154,
2223 setrlimit = Linux + 155,
2224 chroot = Linux + 156,
2225 sync = Linux + 157,
2226 acct = Linux + 158,
2227 settimeofday = Linux + 159,
2228 mount = Linux + 160,
2229 umount2 = Linux + 161,
2230 swapon = Linux + 162,
2231 swapoff = Linux + 163,
2232 reboot = Linux + 164,
2233 sethostname = Linux + 165,
2234 setdomainname = Linux + 166,
2235 create_module = Linux + 167,
2236 init_module = Linux + 168,
2237 delete_module = Linux + 169,
2238 get_kernel_syms = Linux + 170,
2239 query_module = Linux + 171,
2240 quotactl = Linux + 172,
2241 nfsservctl = Linux + 173,
2242 getpmsg = Linux + 174,
2243 putpmsg = Linux + 175,
2244 afs_syscall = Linux + 176,
2245 reserved177 = Linux + 177,
2246 gettid = Linux + 178,
2247 readahead = Linux + 179,
2248 setxattr = Linux + 180,
2249 lsetxattr = Linux + 181,
2250 fsetxattr = Linux + 182,
2251 getxattr = Linux + 183,
2252 lgetxattr = Linux + 184,
2253 fgetxattr = Linux + 185,
2254 listxattr = Linux + 186,
2255 llistxattr = Linux + 187,
2256 flistxattr = Linux + 188,
2257 removexattr = Linux + 189,
2258 lremovexattr = Linux + 190,
2259 fremovexattr = Linux + 191,
2260 tkill = Linux + 192,
2261 reserved193 = Linux + 193,
2262 futex = Linux + 194,
2263 sched_setaffinity = Linux + 195,
2264 sched_getaffinity = Linux + 196,
2265 cacheflush = Linux + 197,
2266 cachectl = Linux + 198,
2267 sysmips = Linux + 199,
2268 io_setup = Linux + 200,
2269 io_destroy = Linux + 201,
2270 io_getevents = Linux + 202,
2271 io_submit = Linux + 203,
2272 io_cancel = Linux + 204,
2273 exit_group = Linux + 205,
2274 lookup_dcookie = Linux + 206,
2275 epoll_create = Linux + 207,
2276 epoll_ctl = Linux + 208,
2277 epoll_wait = Linux + 209,
2278 remap_file_pages = Linux + 210,
2279 rt_sigreturn = Linux + 211,
2280 set_tid_address = Linux + 212,
2281 restart_syscall = Linux + 213,
2282 semtimedop = Linux + 214,
2283 fadvise64 = Linux + 215,
2284 timer_create = Linux + 216,
2285 timer_settime = Linux + 217,
2286 timer_gettime = Linux + 218,
2287 timer_getoverrun = Linux + 219,
2288 timer_delete = Linux + 220,
2289 clock_settime = Linux + 221,
2290 clock_gettime = Linux + 222,
2291 clock_getres = Linux + 223,
2292 clock_nanosleep = Linux + 224,
2293 tgkill = Linux + 225,
2294 utimes = Linux + 226,
2295 mbind = Linux + 227,
2296 get_mempolicy = Linux + 228,
2297 set_mempolicy = Linux + 229,
2298 mq_open = Linux + 230,
2299 mq_unlink = Linux + 231,
2300 mq_timedsend = Linux + 232,
2301 mq_timedreceive = Linux + 233,
2302 mq_notify = Linux + 234,
2303 mq_getsetattr = Linux + 235,
2304 vserver = Linux + 236,
2305 waitid = Linux + 237,
2306 add_key = Linux + 239,
2307 request_key = Linux + 240,
2308 keyctl = Linux + 241,
2309 set_thread_area = Linux + 242,
2310 inotify_init = Linux + 243,
2311 inotify_add_watch = Linux + 244,
2312 inotify_rm_watch = Linux + 245,
2313 migrate_pages = Linux + 246,
2314 openat = Linux + 247,
2315 mkdirat = Linux + 248,
2316 mknodat = Linux + 249,
2317 fchownat = Linux + 250,
2318 futimesat = Linux + 251,
2319 fstatat64 = Linux + 252,
2320 unlinkat = Linux + 253,
2321 renameat = Linux + 254,
2322 linkat = Linux + 255,
2323 symlinkat = Linux + 256,
2324 readlinkat = Linux + 257,
2325 fchmodat = Linux + 258,
2326 faccessat = Linux + 259,
2327 pselect6 = Linux + 260,
2328 ppoll = Linux + 261,
2329 unshare = Linux + 262,
2330 splice = Linux + 263,
2331 sync_file_range = Linux + 264,
2332 tee = Linux + 265,
2333 vmsplice = Linux + 266,
2334 move_pages = Linux + 267,
2335 set_robust_list = Linux + 268,
2336 get_robust_list = Linux + 269,
2337 kexec_load = Linux + 270,
2338 getcpu = Linux + 271,
2339 epoll_pwait = Linux + 272,
2340 ioprio_set = Linux + 273,
2341 ioprio_get = Linux + 274,
2342 utimensat = Linux + 275,
2343 signalfd = Linux + 276,
2344 timerfd = Linux + 277,
2345 eventfd = Linux + 278,
2346 fallocate = Linux + 279,
2347 timerfd_create = Linux + 280,
2348 timerfd_gettime = Linux + 281,
2349 timerfd_settime = Linux + 282,
2350 signalfd4 = Linux + 283,
2351 eventfd2 = Linux + 284,
2352 epoll_create1 = Linux + 285,
2353 dup3 = Linux + 286,
2354 pipe2 = Linux + 287,
2355 inotify_init1 = Linux + 288,
2356 preadv = Linux + 289,
2357 pwritev = Linux + 290,
2358 rt_tgsigqueueinfo = Linux + 291,
2359 perf_event_open = Linux + 292,
2360 accept4 = Linux + 293,
2361 recvmmsg = Linux + 294,
2362 fanotify_init = Linux + 295,
2363 fanotify_mark = Linux + 296,
2364 prlimit64 = Linux + 297,
2365 name_to_handle_at = Linux + 298,
2366 open_by_handle_at = Linux + 299,
2367 clock_adjtime = Linux + 300,
2368 syncfs = Linux + 301,
2369 sendmmsg = Linux + 302,
2370 setns = Linux + 303,
2371 process_vm_readv = Linux + 304,
2372 process_vm_writev = Linux + 305,
2373 kcmp = Linux + 306,
2374 finit_module = Linux + 307,
2375 getdents64 = Linux + 308,
2376 sched_setattr = Linux + 309,
2377 sched_getattr = Linux + 310,
2378 renameat2 = Linux + 311,
2379 seccomp = Linux + 312,
2380 getrandom = Linux + 313,
2381 memfd_create = Linux + 314,
2382 bpf = Linux + 315,
2383 execveat = Linux + 316,
2384 userfaultfd = Linux + 317,
2385 membarrier = Linux + 318,
2386 mlock2 = Linux + 319,
2387 copy_file_range = Linux + 320,
2388 preadv2 = Linux + 321,
2389 pwritev2 = Linux + 322,
2390 pkey_mprotect = Linux + 323,
2391 pkey_alloc = Linux + 324,
2392 pkey_free = Linux + 325,
2393 statx = Linux + 326,
2394 rseq = Linux + 327,
2395 io_pgetevents = Linux + 328,
2396 pidfd_send_signal = Linux + 424,
2397 io_uring_setup = Linux + 425,
2398 io_uring_enter = Linux + 426,
2399 io_uring_register = Linux + 427,
2400 open_tree = Linux + 428,
2401 move_mount = Linux + 429,
2402 fsopen = Linux + 430,
2403 fsconfig = Linux + 431,
2404 fsmount = Linux + 432,
2405 fspick = Linux + 433,
2406 pidfd_open = Linux + 434,
2407 clone3 = Linux + 435,
2408 close_range = Linux + 436,
2409 openat2 = Linux + 437,
2410 pidfd_getfd = Linux + 438,
2411 faccessat2 = Linux + 439,
2412 process_madvise = Linux + 440,
2413 epoll_pwait2 = Linux + 441,
2414 mount_setattr = Linux + 442,
2415 quotactl_fd = Linux + 443,
2416 landlock_create_ruleset = Linux + 444,
2417 landlock_add_rule = Linux + 445,
2418 landlock_restrict_self = Linux + 446,
2419 process_mrelease = Linux + 448,
2420 futex_waitv = Linux + 449,
2421 set_mempolicy_home_node = Linux + 450,
2422 cachestat = Linux + 451,
2423 fchmodat2 = Linux + 452,
2424 map_shadow_stack = Linux + 453,
2425 futex_wake = Linux + 454,
2426 futex_wait = Linux + 455,
2427 futex_requeue = Linux + 456,
2428};
2429
2430pub const PowerPC = enum(usize) {
1673pub const Sparc64 = enum(usize) {
24311674 restart_syscall = 0,
24321675 exit = 1,
24331676 fork = 2,
......@@ -2435,239 +1678,2238 @@ pub const PowerPC = enum(usize) {
24351678 write = 4,
24361679 open = 5,
24371680 close = 6,
2438 waitpid = 7,
1681 wait4 = 7,
24391682 creat = 8,
24401683 link = 9,
24411684 unlink = 10,
2442 execve = 11,
1685 execv = 11,
24431686 chdir = 12,
2444 time = 13,
1687 chown = 13,
24451688 mknod = 14,
24461689 chmod = 15,
24471690 lchown = 16,
2448 @"break" = 17,
2449 oldstat = 18,
1691 brk = 17,
1692 perfctr = 18,
24501693 lseek = 19,
24511694 getpid = 20,
2452 mount = 21,
2453 umount = 22,
1695 capget = 21,
1696 capset = 22,
24541697 setuid = 23,
24551698 getuid = 24,
2456 stime = 25,
1699 vmsplice = 25,
24571700 ptrace = 26,
24581701 alarm = 27,
2459 oldfstat = 28,
1702 sigaltstack = 28,
24601703 pause = 29,
24611704 utime = 30,
2462 stty = 31,
2463 gtty = 32,
24641705 access = 33,
24651706 nice = 34,
2466 ftime = 35,
24671707 sync = 36,
24681708 kill = 37,
2469 rename = 38,
2470 mkdir = 39,
2471 rmdir = 40,
1709 stat = 38,
1710 sendfile = 39,
1711 lstat = 40,
24721712 dup = 41,
24731713 pipe = 42,
24741714 times = 43,
2475 prof = 44,
2476 brk = 45,
1715 umount2 = 45,
24771716 setgid = 46,
24781717 getgid = 47,
24791718 signal = 48,
24801719 geteuid = 49,
24811720 getegid = 50,
24821721 acct = 51,
2483 umount2 = 52,
2484 lock = 53,
1722 memory_ordering = 52,
24851723 ioctl = 54,
2486 fcntl = 55,
2487 mpx = 56,
2488 setpgid = 57,
2489 ulimit = 58,
2490 oldolduname = 59,
1724 reboot = 55,
1725 symlink = 57,
1726 readlink = 58,
1727 execve = 59,
24911728 umask = 60,
24921729 chroot = 61,
2493 ustat = 62,
2494 dup2 = 63,
2495 getppid = 64,
2496 getpgrp = 65,
2497 setsid = 66,
2498 sigaction = 67,
2499 sgetmask = 68,
2500 ssetmask = 69,
2501 setreuid = 70,
2502 setregid = 71,
2503 sigsuspend = 72,
2504 sigpending = 73,
2505 sethostname = 74,
2506 setrlimit = 75,
2507 getrlimit = 76,
2508 getrusage = 77,
2509 gettimeofday = 78,
2510 settimeofday = 79,
2511 getgroups = 80,
2512 setgroups = 81,
2513 select = 82,
2514 symlink = 83,
2515 oldlstat = 84,
2516 readlink = 85,
2517 uselib = 86,
2518 swapon = 87,
2519 reboot = 88,
2520 readdir = 89,
2521 mmap = 90,
2522 munmap = 91,
2523 truncate = 92,
2524 ftruncate = 93,
2525 fchmod = 94,
2526 fchown = 95,
2527 getpriority = 96,
2528 setpriority = 97,
2529 profil = 98,
2530 statfs = 99,
2531 fstatfs = 100,
2532 ioperm = 101,
2533 socketcall = 102,
2534 syslog = 103,
2535 setitimer = 104,
2536 getitimer = 105,
2537 stat = 106,
2538 lstat = 107,
2539 fstat = 108,
2540 olduname = 109,
2541 iopl = 110,
2542 vhangup = 111,
2543 idle = 112,
2544 vm86 = 113,
2545 wait4 = 114,
2546 swapoff = 115,
2547 sysinfo = 116,
2548 ipc = 117,
2549 fsync = 118,
2550 sigreturn = 119,
2551 clone = 120,
2552 setdomainname = 121,
2553 uname = 122,
2554 modify_ldt = 123,
2555 adjtimex = 124,
2556 mprotect = 125,
2557 sigprocmask = 126,
2558 create_module = 127,
2559 init_module = 128,
2560 delete_module = 129,
2561 get_kernel_syms = 130,
2562 quotactl = 131,
2563 getpgid = 132,
2564 fchdir = 133,
2565 bdflush = 134,
2566 sysfs = 135,
2567 personality = 136,
2568 afs_syscall = 137,
2569 setfsuid = 138,
2570 setfsgid = 139,
2571 llseek = 140,
2572 getdents = 141,
2573 newselect = 142,
2574 flock = 143,
2575 msync = 144,
2576 readv = 145,
2577 writev = 146,
2578 getsid = 147,
2579 fdatasync = 148,
2580 sysctl = 149,
2581 mlock = 150,
2582 munlock = 151,
2583 mlockall = 152,
2584 munlockall = 153,
2585 sched_setparam = 154,
2586 sched_getparam = 155,
2587 sched_setscheduler = 156,
2588 sched_getscheduler = 157,
2589 sched_yield = 158,
2590 sched_get_priority_max = 159,
2591 sched_get_priority_min = 160,
2592 sched_rr_get_interval = 161,
2593 nanosleep = 162,
2594 mremap = 163,
2595 setresuid = 164,
2596 getresuid = 165,
2597 query_module = 166,
2598 poll = 167,
2599 nfsservctl = 168,
2600 setresgid = 169,
2601 getresgid = 170,
2602 prctl = 171,
2603 rt_sigreturn = 172,
2604 rt_sigaction = 173,
2605 rt_sigprocmask = 174,
2606 rt_sigpending = 175,
2607 rt_sigtimedwait = 176,
2608 rt_sigqueueinfo = 177,
2609 rt_sigsuspend = 178,
2610 pread64 = 179,
2611 pwrite64 = 180,
2612 chown = 181,
2613 getcwd = 182,
2614 capget = 183,
2615 capset = 184,
2616 sigaltstack = 185,
2617 sendfile = 186,
2618 getpmsg = 187,
2619 putpmsg = 188,
2620 vfork = 189,
2621 ugetrlimit = 190,
2622 readahead = 191,
2623 mmap2 = 192,
2624 truncate64 = 193,
2625 ftruncate64 = 194,
2626 stat64 = 195,
2627 lstat64 = 196,
2628 fstat64 = 197,
2629 pciconfig_read = 198,
2630 pciconfig_write = 199,
2631 pciconfig_iobase = 200,
2632 multiplexer = 201,
2633 getdents64 = 202,
2634 pivot_root = 203,
2635 fcntl64 = 204,
2636 madvise = 205,
2637 mincore = 206,
2638 gettid = 207,
2639 tkill = 208,
2640 setxattr = 209,
2641 lsetxattr = 210,
2642 fsetxattr = 211,
2643 getxattr = 212,
2644 lgetxattr = 213,
2645 fgetxattr = 214,
2646 listxattr = 215,
2647 llistxattr = 216,
2648 flistxattr = 217,
2649 removexattr = 218,
2650 lremovexattr = 219,
2651 fremovexattr = 220,
2652 futex = 221,
2653 sched_setaffinity = 222,
2654 sched_getaffinity = 223,
2655 tuxcall = 225,
2656 sendfile64 = 226,
2657 io_setup = 227,
2658 io_destroy = 228,
2659 io_getevents = 229,
2660 io_submit = 230,
2661 io_cancel = 231,
2662 set_tid_address = 232,
2663 fadvise64 = 233,
2664 exit_group = 234,
2665 lookup_dcookie = 235,
2666 epoll_create = 236,
2667 epoll_ctl = 237,
2668 epoll_wait = 238,
2669 remap_file_pages = 239,
2670 timer_create = 240,
1730 fstat = 62,
1731 fstat64 = 63,
1732 getpagesize = 64,
1733 msync = 65,
1734 vfork = 66,
1735 pread64 = 67,
1736 pwrite64 = 68,
1737 mmap = 71,
1738 munmap = 73,
1739 mprotect = 74,
1740 madvise = 75,
1741 vhangup = 76,
1742 mincore = 78,
1743 getgroups = 79,
1744 setgroups = 80,
1745 getpgrp = 81,
1746 setitimer = 83,
1747 swapon = 85,
1748 getitimer = 86,
1749 sethostname = 88,
1750 dup2 = 90,
1751 fcntl = 92,
1752 select = 93,
1753 fsync = 95,
1754 setpriority = 96,
1755 socket = 97,
1756 connect = 98,
1757 accept = 99,
1758 getpriority = 100,
1759 rt_sigreturn = 101,
1760 rt_sigaction = 102,
1761 rt_sigprocmask = 103,
1762 rt_sigpending = 104,
1763 rt_sigtimedwait = 105,
1764 rt_sigqueueinfo = 106,
1765 rt_sigsuspend = 107,
1766 setresuid = 108,
1767 getresuid = 109,
1768 setresgid = 110,
1769 getresgid = 111,
1770 recvmsg = 113,
1771 sendmsg = 114,
1772 gettimeofday = 116,
1773 getrusage = 117,
1774 getsockopt = 118,
1775 getcwd = 119,
1776 readv = 120,
1777 writev = 121,
1778 settimeofday = 122,
1779 fchown = 123,
1780 fchmod = 124,
1781 recvfrom = 125,
1782 setreuid = 126,
1783 setregid = 127,
1784 rename = 128,
1785 truncate = 129,
1786 ftruncate = 130,
1787 flock = 131,
1788 lstat64 = 132,
1789 sendto = 133,
1790 shutdown = 134,
1791 socketpair = 135,
1792 mkdir = 136,
1793 rmdir = 137,
1794 utimes = 138,
1795 stat64 = 139,
1796 sendfile64 = 140,
1797 getpeername = 141,
1798 futex = 142,
1799 gettid = 143,
1800 getrlimit = 144,
1801 setrlimit = 145,
1802 pivot_root = 146,
1803 prctl = 147,
1804 pciconfig_read = 148,
1805 pciconfig_write = 149,
1806 getsockname = 150,
1807 inotify_init = 151,
1808 inotify_add_watch = 152,
1809 poll = 153,
1810 getdents64 = 154,
1811 inotify_rm_watch = 156,
1812 statfs = 157,
1813 fstatfs = 158,
1814 umount = 159,
1815 sched_set_affinity = 160,
1816 sched_get_affinity = 161,
1817 getdomainname = 162,
1818 setdomainname = 163,
1819 utrap_install = 164,
1820 quotactl = 165,
1821 set_tid_address = 166,
1822 mount = 167,
1823 ustat = 168,
1824 setxattr = 169,
1825 lsetxattr = 170,
1826 fsetxattr = 171,
1827 getxattr = 172,
1828 lgetxattr = 173,
1829 getdents = 174,
1830 setsid = 175,
1831 fchdir = 176,
1832 fgetxattr = 177,
1833 listxattr = 178,
1834 llistxattr = 179,
1835 flistxattr = 180,
1836 removexattr = 181,
1837 lremovexattr = 182,
1838 sigpending = 183,
1839 query_module = 184,
1840 setpgid = 185,
1841 fremovexattr = 186,
1842 tkill = 187,
1843 exit_group = 188,
1844 uname = 189,
1845 init_module = 190,
1846 personality = 191,
1847 remap_file_pages = 192,
1848 epoll_create = 193,
1849 epoll_ctl = 194,
1850 epoll_wait = 195,
1851 ioprio_set = 196,
1852 getppid = 197,
1853 sigaction = 198,
1854 sgetmask = 199,
1855 ssetmask = 200,
1856 sigsuspend = 201,
1857 oldlstat = 202,
1858 uselib = 203,
1859 readdir = 204,
1860 readahead = 205,
1861 socketcall = 206,
1862 syslog = 207,
1863 lookup_dcookie = 208,
1864 fadvise64 = 209,
1865 fadvise64_64 = 210,
1866 tgkill = 211,
1867 waitpid = 212,
1868 swapoff = 213,
1869 sysinfo = 214,
1870 ipc = 215,
1871 sigreturn = 216,
1872 clone = 217,
1873 ioprio_get = 218,
1874 adjtimex = 219,
1875 sigprocmask = 220,
1876 create_module = 221,
1877 delete_module = 222,
1878 get_kernel_syms = 223,
1879 getpgid = 224,
1880 bdflush = 225,
1881 sysfs = 226,
1882 afs_syscall = 227,
1883 setfsuid = 228,
1884 setfsgid = 229,
1885 newselect = 230,
1886 splice = 232,
1887 stime = 233,
1888 statfs64 = 234,
1889 fstatfs64 = 235,
1890 llseek = 236,
1891 mlock = 237,
1892 munlock = 238,
1893 mlockall = 239,
1894 munlockall = 240,
1895 sched_setparam = 241,
1896 sched_getparam = 242,
1897 sched_setscheduler = 243,
1898 sched_getscheduler = 244,
1899 sched_yield = 245,
1900 sched_get_priority_max = 246,
1901 sched_get_priority_min = 247,
1902 sched_rr_get_interval = 248,
1903 nanosleep = 249,
1904 mremap = 250,
1905 sysctl = 251,
1906 getsid = 252,
1907 fdatasync = 253,
1908 nfsservctl = 254,
1909 sync_file_range = 255,
1910 clock_settime = 256,
1911 clock_gettime = 257,
1912 clock_getres = 258,
1913 clock_nanosleep = 259,
1914 sched_getaffinity = 260,
1915 sched_setaffinity = 261,
1916 timer_settime = 262,
1917 timer_gettime = 263,
1918 timer_getoverrun = 264,
1919 timer_delete = 265,
1920 timer_create = 266,
1921 vserver = 267,
1922 io_setup = 268,
1923 io_destroy = 269,
1924 io_submit = 270,
1925 io_cancel = 271,
1926 io_getevents = 272,
1927 mq_open = 273,
1928 mq_unlink = 274,
1929 mq_timedsend = 275,
1930 mq_timedreceive = 276,
1931 mq_notify = 277,
1932 mq_getsetattr = 278,
1933 waitid = 279,
1934 tee = 280,
1935 add_key = 281,
1936 request_key = 282,
1937 keyctl = 283,
1938 openat = 284,
1939 mkdirat = 285,
1940 mknodat = 286,
1941 fchownat = 287,
1942 futimesat = 288,
1943 fstatat64 = 289,
1944 unlinkat = 290,
1945 renameat = 291,
1946 linkat = 292,
1947 symlinkat = 293,
1948 readlinkat = 294,
1949 fchmodat = 295,
1950 faccessat = 296,
1951 pselect6 = 297,
1952 ppoll = 298,
1953 unshare = 299,
1954 set_robust_list = 300,
1955 get_robust_list = 301,
1956 migrate_pages = 302,
1957 mbind = 303,
1958 get_mempolicy = 304,
1959 set_mempolicy = 305,
1960 kexec_load = 306,
1961 move_pages = 307,
1962 getcpu = 308,
1963 epoll_pwait = 309,
1964 utimensat = 310,
1965 signalfd = 311,
1966 timerfd_create = 312,
1967 eventfd = 313,
1968 fallocate = 314,
1969 timerfd_settime = 315,
1970 timerfd_gettime = 316,
1971 signalfd4 = 317,
1972 eventfd2 = 318,
1973 epoll_create1 = 319,
1974 dup3 = 320,
1975 pipe2 = 321,
1976 inotify_init1 = 322,
1977 accept4 = 323,
1978 preadv = 324,
1979 pwritev = 325,
1980 rt_tgsigqueueinfo = 326,
1981 perf_event_open = 327,
1982 recvmmsg = 328,
1983 fanotify_init = 329,
1984 fanotify_mark = 330,
1985 prlimit64 = 331,
1986 name_to_handle_at = 332,
1987 open_by_handle_at = 333,
1988 clock_adjtime = 334,
1989 syncfs = 335,
1990 sendmmsg = 336,
1991 setns = 337,
1992 process_vm_readv = 338,
1993 process_vm_writev = 339,
1994 kern_features = 340,
1995 kcmp = 341,
1996 finit_module = 342,
1997 sched_setattr = 343,
1998 sched_getattr = 344,
1999 renameat2 = 345,
2000 seccomp = 346,
2001 getrandom = 347,
2002 memfd_create = 348,
2003 bpf = 349,
2004 execveat = 350,
2005 membarrier = 351,
2006 userfaultfd = 352,
2007 bind = 353,
2008 listen = 354,
2009 setsockopt = 355,
2010 mlock2 = 356,
2011 copy_file_range = 357,
2012 preadv2 = 358,
2013 pwritev2 = 359,
2014 statx = 360,
2015 io_pgetevents = 361,
2016 pkey_mprotect = 362,
2017 pkey_alloc = 363,
2018 pkey_free = 364,
2019 rseq = 365,
2020 semtimedop = 392,
2021 semget = 393,
2022 semctl = 394,
2023 shmget = 395,
2024 shmctl = 396,
2025 shmat = 397,
2026 shmdt = 398,
2027 msgget = 399,
2028 msgsnd = 400,
2029 msgrcv = 401,
2030 msgctl = 402,
2031 pidfd_send_signal = 424,
2032 io_uring_setup = 425,
2033 io_uring_enter = 426,
2034 io_uring_register = 427,
2035 open_tree = 428,
2036 move_mount = 429,
2037 fsopen = 430,
2038 fsconfig = 431,
2039 fsmount = 432,
2040 fspick = 433,
2041 pidfd_open = 434,
2042 close_range = 436,
2043 openat2 = 437,
2044 pidfd_getfd = 438,
2045 faccessat2 = 439,
2046 process_madvise = 440,
2047 epoll_pwait2 = 441,
2048 mount_setattr = 442,
2049 quotactl_fd = 443,
2050 landlock_create_ruleset = 444,
2051 landlock_add_rule = 445,
2052 landlock_restrict_self = 446,
2053 process_mrelease = 448,
2054 futex_waitv = 449,
2055 set_mempolicy_home_node = 450,
2056 cachestat = 451,
2057 fchmodat2 = 452,
2058 map_shadow_stack = 453,
2059 futex_wake = 454,
2060 futex_wait = 455,
2061 futex_requeue = 456,
2062};
2063
2064pub const M68k = enum(usize) {
2065 restart_syscall = 0,
2066 exit = 1,
2067 fork = 2,
2068 read = 3,
2069 write = 4,
2070 open = 5,
2071 close = 6,
2072 waitpid = 7,
2073 creat = 8,
2074 link = 9,
2075 unlink = 10,
2076 execve = 11,
2077 chdir = 12,
2078 time = 13,
2079 mknod = 14,
2080 chmod = 15,
2081 chown = 16,
2082 oldstat = 18,
2083 lseek = 19,
2084 getpid = 20,
2085 mount = 21,
2086 umount = 22,
2087 setuid = 23,
2088 getuid = 24,
2089 stime = 25,
2090 ptrace = 26,
2091 alarm = 27,
2092 oldfstat = 28,
2093 pause = 29,
2094 utime = 30,
2095 access = 33,
2096 nice = 34,
2097 sync = 36,
2098 kill = 37,
2099 rename = 38,
2100 mkdir = 39,
2101 rmdir = 40,
2102 dup = 41,
2103 pipe = 42,
2104 times = 43,
2105 brk = 45,
2106 setgid = 46,
2107 getgid = 47,
2108 signal = 48,
2109 geteuid = 49,
2110 getegid = 50,
2111 acct = 51,
2112 umount2 = 52,
2113 ioctl = 54,
2114 fcntl = 55,
2115 setpgid = 57,
2116 umask = 60,
2117 chroot = 61,
2118 ustat = 62,
2119 dup2 = 63,
2120 getppid = 64,
2121 getpgrp = 65,
2122 setsid = 66,
2123 sigaction = 67,
2124 sgetmask = 68,
2125 ssetmask = 69,
2126 setreuid = 70,
2127 setregid = 71,
2128 sigsuspend = 72,
2129 sigpending = 73,
2130 sethostname = 74,
2131 setrlimit = 75,
2132 getrlimit = 76,
2133 getrusage = 77,
2134 gettimeofday = 78,
2135 settimeofday = 79,
2136 getgroups = 80,
2137 setgroups = 81,
2138 select = 82,
2139 symlink = 83,
2140 oldlstat = 84,
2141 readlink = 85,
2142 uselib = 86,
2143 swapon = 87,
2144 reboot = 88,
2145 readdir = 89,
2146 mmap = 90,
2147 munmap = 91,
2148 truncate = 92,
2149 ftruncate = 93,
2150 fchmod = 94,
2151 fchown = 95,
2152 getpriority = 96,
2153 setpriority = 97,
2154 statfs = 99,
2155 fstatfs = 100,
2156 socketcall = 102,
2157 syslog = 103,
2158 setitimer = 104,
2159 getitimer = 105,
2160 stat = 106,
2161 lstat = 107,
2162 fstat = 108,
2163 vhangup = 111,
2164 wait4 = 114,
2165 swapoff = 115,
2166 sysinfo = 116,
2167 ipc = 117,
2168 fsync = 118,
2169 sigreturn = 119,
2170 clone = 120,
2171 setdomainname = 121,
2172 uname = 122,
2173 cacheflush = 123,
2174 adjtimex = 124,
2175 mprotect = 125,
2176 sigprocmask = 126,
2177 create_module = 127,
2178 init_module = 128,
2179 delete_module = 129,
2180 get_kernel_syms = 130,
2181 quotactl = 131,
2182 getpgid = 132,
2183 fchdir = 133,
2184 bdflush = 134,
2185 sysfs = 135,
2186 personality = 136,
2187 setfsuid = 138,
2188 setfsgid = 139,
2189 llseek = 140,
2190 getdents = 141,
2191 newselect = 142,
2192 flock = 143,
2193 msync = 144,
2194 readv = 145,
2195 writev = 146,
2196 getsid = 147,
2197 fdatasync = 148,
2198 sysctl = 149,
2199 mlock = 150,
2200 munlock = 151,
2201 mlockall = 152,
2202 munlockall = 153,
2203 sched_setparam = 154,
2204 sched_getparam = 155,
2205 sched_setscheduler = 156,
2206 sched_getscheduler = 157,
2207 sched_yield = 158,
2208 sched_get_priority_max = 159,
2209 sched_get_priority_min = 160,
2210 sched_rr_get_interval = 161,
2211 nanosleep = 162,
2212 mremap = 163,
2213 setresuid = 164,
2214 getresuid = 165,
2215 getpagesize = 166,
2216 query_module = 167,
2217 poll = 168,
2218 nfsservctl = 169,
2219 setresgid = 170,
2220 getresgid = 171,
2221 prctl = 172,
2222 rt_sigreturn = 173,
2223 rt_sigaction = 174,
2224 rt_sigprocmask = 175,
2225 rt_sigpending = 176,
2226 rt_sigtimedwait = 177,
2227 rt_sigqueueinfo = 178,
2228 rt_sigsuspend = 179,
2229 pread64 = 180,
2230 pwrite64 = 181,
2231 lchown = 182,
2232 getcwd = 183,
2233 capget = 184,
2234 capset = 185,
2235 sigaltstack = 186,
2236 sendfile = 187,
2237 getpmsg = 188,
2238 putpmsg = 189,
2239 vfork = 190,
2240 ugetrlimit = 191,
2241 mmap2 = 192,
2242 truncate64 = 193,
2243 ftruncate64 = 194,
2244 stat64 = 195,
2245 lstat64 = 196,
2246 fstat64 = 197,
2247 chown32 = 198,
2248 getuid32 = 199,
2249 getgid32 = 200,
2250 geteuid32 = 201,
2251 getegid32 = 202,
2252 setreuid32 = 203,
2253 setregid32 = 204,
2254 getgroups32 = 205,
2255 setgroups32 = 206,
2256 fchown32 = 207,
2257 setresuid32 = 208,
2258 getresuid32 = 209,
2259 setresgid32 = 210,
2260 getresgid32 = 211,
2261 lchown32 = 212,
2262 setuid32 = 213,
2263 setgid32 = 214,
2264 setfsuid32 = 215,
2265 setfsgid32 = 216,
2266 pivot_root = 217,
2267 getdents64 = 220,
2268 gettid = 221,
2269 tkill = 222,
2270 setxattr = 223,
2271 lsetxattr = 224,
2272 fsetxattr = 225,
2273 getxattr = 226,
2274 lgetxattr = 227,
2275 fgetxattr = 228,
2276 listxattr = 229,
2277 llistxattr = 230,
2278 flistxattr = 231,
2279 removexattr = 232,
2280 lremovexattr = 233,
2281 fremovexattr = 234,
2282 futex = 235,
2283 sendfile64 = 236,
2284 mincore = 237,
2285 madvise = 238,
2286 fcntl64 = 239,
2287 readahead = 240,
2288 io_setup = 241,
2289 io_destroy = 242,
2290 io_getevents = 243,
2291 io_submit = 244,
2292 io_cancel = 245,
2293 fadvise64 = 246,
2294 exit_group = 247,
2295 lookup_dcookie = 248,
2296 epoll_create = 249,
2297 epoll_ctl = 250,
2298 epoll_wait = 251,
2299 remap_file_pages = 252,
2300 set_tid_address = 253,
2301 timer_create = 254,
2302 timer_settime = 255,
2303 timer_gettime = 256,
2304 timer_getoverrun = 257,
2305 timer_delete = 258,
2306 clock_settime = 259,
2307 clock_gettime = 260,
2308 clock_getres = 261,
2309 clock_nanosleep = 262,
2310 statfs64 = 263,
2311 fstatfs64 = 264,
2312 tgkill = 265,
2313 utimes = 266,
2314 fadvise64_64 = 267,
2315 mbind = 268,
2316 get_mempolicy = 269,
2317 set_mempolicy = 270,
2318 mq_open = 271,
2319 mq_unlink = 272,
2320 mq_timedsend = 273,
2321 mq_timedreceive = 274,
2322 mq_notify = 275,
2323 mq_getsetattr = 276,
2324 waitid = 277,
2325 add_key = 279,
2326 request_key = 280,
2327 keyctl = 281,
2328 ioprio_set = 282,
2329 ioprio_get = 283,
2330 inotify_init = 284,
2331 inotify_add_watch = 285,
2332 inotify_rm_watch = 286,
2333 migrate_pages = 287,
2334 openat = 288,
2335 mkdirat = 289,
2336 mknodat = 290,
2337 fchownat = 291,
2338 futimesat = 292,
2339 fstatat64 = 293,
2340 unlinkat = 294,
2341 renameat = 295,
2342 linkat = 296,
2343 symlinkat = 297,
2344 readlinkat = 298,
2345 fchmodat = 299,
2346 faccessat = 300,
2347 pselect6 = 301,
2348 ppoll = 302,
2349 unshare = 303,
2350 set_robust_list = 304,
2351 get_robust_list = 305,
2352 splice = 306,
2353 sync_file_range = 307,
2354 tee = 308,
2355 vmsplice = 309,
2356 move_pages = 310,
2357 sched_setaffinity = 311,
2358 sched_getaffinity = 312,
2359 kexec_load = 313,
2360 getcpu = 314,
2361 epoll_pwait = 315,
2362 utimensat = 316,
2363 signalfd = 317,
2364 timerfd_create = 318,
2365 eventfd = 319,
2366 fallocate = 320,
2367 timerfd_settime = 321,
2368 timerfd_gettime = 322,
2369 signalfd4 = 323,
2370 eventfd2 = 324,
2371 epoll_create1 = 325,
2372 dup3 = 326,
2373 pipe2 = 327,
2374 inotify_init1 = 328,
2375 preadv = 329,
2376 pwritev = 330,
2377 rt_tgsigqueueinfo = 331,
2378 perf_event_open = 332,
2379 get_thread_area = 333,
2380 set_thread_area = 334,
2381 atomic_cmpxchg_32 = 335,
2382 atomic_barrier = 336,
2383 fanotify_init = 337,
2384 fanotify_mark = 338,
2385 prlimit64 = 339,
2386 name_to_handle_at = 340,
2387 open_by_handle_at = 341,
2388 clock_adjtime = 342,
2389 syncfs = 343,
2390 setns = 344,
2391 process_vm_readv = 345,
2392 process_vm_writev = 346,
2393 kcmp = 347,
2394 finit_module = 348,
2395 sched_setattr = 349,
2396 sched_getattr = 350,
2397 renameat2 = 351,
2398 getrandom = 352,
2399 memfd_create = 353,
2400 bpf = 354,
2401 execveat = 355,
2402 socket = 356,
2403 socketpair = 357,
2404 bind = 358,
2405 connect = 359,
2406 listen = 360,
2407 accept4 = 361,
2408 getsockopt = 362,
2409 setsockopt = 363,
2410 getsockname = 364,
2411 getpeername = 365,
2412 sendto = 366,
2413 sendmsg = 367,
2414 recvfrom = 368,
2415 recvmsg = 369,
2416 shutdown = 370,
2417 recvmmsg = 371,
2418 sendmmsg = 372,
2419 userfaultfd = 373,
2420 membarrier = 374,
2421 mlock2 = 375,
2422 copy_file_range = 376,
2423 preadv2 = 377,
2424 pwritev2 = 378,
2425 statx = 379,
2426 seccomp = 380,
2427 pkey_mprotect = 381,
2428 pkey_alloc = 382,
2429 pkey_free = 383,
2430 rseq = 384,
2431 semget = 393,
2432 semctl = 394,
2433 shmget = 395,
2434 shmctl = 396,
2435 shmat = 397,
2436 shmdt = 398,
2437 msgget = 399,
2438 msgsnd = 400,
2439 msgrcv = 401,
2440 msgctl = 402,
2441 clock_gettime64 = 403,
2442 clock_settime64 = 404,
2443 clock_adjtime64 = 405,
2444 clock_getres_time64 = 406,
2445 clock_nanosleep_time64 = 407,
2446 timer_gettime64 = 408,
2447 timer_settime64 = 409,
2448 timerfd_gettime64 = 410,
2449 timerfd_settime64 = 411,
2450 utimensat_time64 = 412,
2451 pselect6_time64 = 413,
2452 ppoll_time64 = 414,
2453 io_pgetevents_time64 = 416,
2454 recvmmsg_time64 = 417,
2455 mq_timedsend_time64 = 418,
2456 mq_timedreceive_time64 = 419,
2457 semtimedop_time64 = 420,
2458 rt_sigtimedwait_time64 = 421,
2459 futex_time64 = 422,
2460 sched_rr_get_interval_time64 = 423,
2461 pidfd_send_signal = 424,
2462 io_uring_setup = 425,
2463 io_uring_enter = 426,
2464 io_uring_register = 427,
2465 open_tree = 428,
2466 move_mount = 429,
2467 fsopen = 430,
2468 fsconfig = 431,
2469 fsmount = 432,
2470 fspick = 433,
2471 pidfd_open = 434,
2472 clone3 = 435,
2473 close_range = 436,
2474 openat2 = 437,
2475 pidfd_getfd = 438,
2476 faccessat2 = 439,
2477 process_madvise = 440,
2478 epoll_pwait2 = 441,
2479 mount_setattr = 442,
2480 quotactl_fd = 443,
2481 landlock_create_ruleset = 444,
2482 landlock_add_rule = 445,
2483 landlock_restrict_self = 446,
2484 process_mrelease = 448,
2485 futex_waitv = 449,
2486 set_mempolicy_home_node = 450,
2487 cachestat = 451,
2488 fchmodat2 = 452,
2489 map_shadow_stack = 453,
2490 futex_wake = 454,
2491 futex_wait = 455,
2492 futex_requeue = 456,
2493};
2494
2495pub const MipsO32 = enum(usize) {
2496 const linux_base = 4000;
2497
2498 syscall = linux_base + 0,
2499 exit = linux_base + 1,
2500 fork = linux_base + 2,
2501 read = linux_base + 3,
2502 write = linux_base + 4,
2503 open = linux_base + 5,
2504 close = linux_base + 6,
2505 waitpid = linux_base + 7,
2506 creat = linux_base + 8,
2507 link = linux_base + 9,
2508 unlink = linux_base + 10,
2509 execve = linux_base + 11,
2510 chdir = linux_base + 12,
2511 time = linux_base + 13,
2512 mknod = linux_base + 14,
2513 chmod = linux_base + 15,
2514 lchown = linux_base + 16,
2515 @"break" = linux_base + 17,
2516 lseek = linux_base + 19,
2517 getpid = linux_base + 20,
2518 mount = linux_base + 21,
2519 umount = linux_base + 22,
2520 setuid = linux_base + 23,
2521 getuid = linux_base + 24,
2522 stime = linux_base + 25,
2523 ptrace = linux_base + 26,
2524 alarm = linux_base + 27,
2525 pause = linux_base + 29,
2526 utime = linux_base + 30,
2527 stty = linux_base + 31,
2528 gtty = linux_base + 32,
2529 access = linux_base + 33,
2530 nice = linux_base + 34,
2531 ftime = linux_base + 35,
2532 sync = linux_base + 36,
2533 kill = linux_base + 37,
2534 rename = linux_base + 38,
2535 mkdir = linux_base + 39,
2536 rmdir = linux_base + 40,
2537 dup = linux_base + 41,
2538 pipe = linux_base + 42,
2539 times = linux_base + 43,
2540 prof = linux_base + 44,
2541 brk = linux_base + 45,
2542 setgid = linux_base + 46,
2543 getgid = linux_base + 47,
2544 signal = linux_base + 48,
2545 geteuid = linux_base + 49,
2546 getegid = linux_base + 50,
2547 acct = linux_base + 51,
2548 umount2 = linux_base + 52,
2549 lock = linux_base + 53,
2550 ioctl = linux_base + 54,
2551 fcntl = linux_base + 55,
2552 mpx = linux_base + 56,
2553 setpgid = linux_base + 57,
2554 ulimit = linux_base + 58,
2555 umask = linux_base + 60,
2556 chroot = linux_base + 61,
2557 ustat = linux_base + 62,
2558 dup2 = linux_base + 63,
2559 getppid = linux_base + 64,
2560 getpgrp = linux_base + 65,
2561 setsid = linux_base + 66,
2562 sigaction = linux_base + 67,
2563 sgetmask = linux_base + 68,
2564 ssetmask = linux_base + 69,
2565 setreuid = linux_base + 70,
2566 setregid = linux_base + 71,
2567 sigsuspend = linux_base + 72,
2568 sigpending = linux_base + 73,
2569 sethostname = linux_base + 74,
2570 setrlimit = linux_base + 75,
2571 getrlimit = linux_base + 76,
2572 getrusage = linux_base + 77,
2573 gettimeofday = linux_base + 78,
2574 settimeofday = linux_base + 79,
2575 getgroups = linux_base + 80,
2576 setgroups = linux_base + 81,
2577 symlink = linux_base + 83,
2578 readlink = linux_base + 85,
2579 uselib = linux_base + 86,
2580 swapon = linux_base + 87,
2581 reboot = linux_base + 88,
2582 readdir = linux_base + 89,
2583 mmap = linux_base + 90,
2584 munmap = linux_base + 91,
2585 truncate = linux_base + 92,
2586 ftruncate = linux_base + 93,
2587 fchmod = linux_base + 94,
2588 fchown = linux_base + 95,
2589 getpriority = linux_base + 96,
2590 setpriority = linux_base + 97,
2591 profil = linux_base + 98,
2592 statfs = linux_base + 99,
2593 fstatfs = linux_base + 100,
2594 ioperm = linux_base + 101,
2595 socketcall = linux_base + 102,
2596 syslog = linux_base + 103,
2597 setitimer = linux_base + 104,
2598 getitimer = linux_base + 105,
2599 stat = linux_base + 106,
2600 lstat = linux_base + 107,
2601 fstat = linux_base + 108,
2602 iopl = linux_base + 110,
2603 vhangup = linux_base + 111,
2604 idle = linux_base + 112,
2605 vm86 = linux_base + 113,
2606 wait4 = linux_base + 114,
2607 swapoff = linux_base + 115,
2608 sysinfo = linux_base + 116,
2609 ipc = linux_base + 117,
2610 fsync = linux_base + 118,
2611 sigreturn = linux_base + 119,
2612 clone = linux_base + 120,
2613 setdomainname = linux_base + 121,
2614 uname = linux_base + 122,
2615 modify_ldt = linux_base + 123,
2616 adjtimex = linux_base + 124,
2617 mprotect = linux_base + 125,
2618 sigprocmask = linux_base + 126,
2619 create_module = linux_base + 127,
2620 init_module = linux_base + 128,
2621 delete_module = linux_base + 129,
2622 get_kernel_syms = linux_base + 130,
2623 quotactl = linux_base + 131,
2624 getpgid = linux_base + 132,
2625 fchdir = linux_base + 133,
2626 bdflush = linux_base + 134,
2627 sysfs = linux_base + 135,
2628 personality = linux_base + 136,
2629 afs_syscall = linux_base + 137,
2630 setfsuid = linux_base + 138,
2631 setfsgid = linux_base + 139,
2632 llseek = linux_base + 140,
2633 getdents = linux_base + 141,
2634 newselect = linux_base + 142,
2635 flock = linux_base + 143,
2636 msync = linux_base + 144,
2637 readv = linux_base + 145,
2638 writev = linux_base + 146,
2639 cacheflush = linux_base + 147,
2640 cachectl = linux_base + 148,
2641 sysmips = linux_base + 149,
2642 getsid = linux_base + 151,
2643 fdatasync = linux_base + 152,
2644 sysctl = linux_base + 153,
2645 mlock = linux_base + 154,
2646 munlock = linux_base + 155,
2647 mlockall = linux_base + 156,
2648 munlockall = linux_base + 157,
2649 sched_setparam = linux_base + 158,
2650 sched_getparam = linux_base + 159,
2651 sched_setscheduler = linux_base + 160,
2652 sched_getscheduler = linux_base + 161,
2653 sched_yield = linux_base + 162,
2654 sched_get_priority_max = linux_base + 163,
2655 sched_get_priority_min = linux_base + 164,
2656 sched_rr_get_interval = linux_base + 165,
2657 nanosleep = linux_base + 166,
2658 mremap = linux_base + 167,
2659 accept = linux_base + 168,
2660 bind = linux_base + 169,
2661 connect = linux_base + 170,
2662 getpeername = linux_base + 171,
2663 getsockname = linux_base + 172,
2664 getsockopt = linux_base + 173,
2665 listen = linux_base + 174,
2666 recv = linux_base + 175,
2667 recvfrom = linux_base + 176,
2668 recvmsg = linux_base + 177,
2669 send = linux_base + 178,
2670 sendmsg = linux_base + 179,
2671 sendto = linux_base + 180,
2672 setsockopt = linux_base + 181,
2673 shutdown = linux_base + 182,
2674 socket = linux_base + 183,
2675 socketpair = linux_base + 184,
2676 setresuid = linux_base + 185,
2677 getresuid = linux_base + 186,
2678 query_module = linux_base + 187,
2679 poll = linux_base + 188,
2680 nfsservctl = linux_base + 189,
2681 setresgid = linux_base + 190,
2682 getresgid = linux_base + 191,
2683 prctl = linux_base + 192,
2684 rt_sigreturn = linux_base + 193,
2685 rt_sigaction = linux_base + 194,
2686 rt_sigprocmask = linux_base + 195,
2687 rt_sigpending = linux_base + 196,
2688 rt_sigtimedwait = linux_base + 197,
2689 rt_sigqueueinfo = linux_base + 198,
2690 rt_sigsuspend = linux_base + 199,
2691 pread64 = linux_base + 200,
2692 pwrite64 = linux_base + 201,
2693 chown = linux_base + 202,
2694 getcwd = linux_base + 203,
2695 capget = linux_base + 204,
2696 capset = linux_base + 205,
2697 sigaltstack = linux_base + 206,
2698 sendfile = linux_base + 207,
2699 getpmsg = linux_base + 208,
2700 putpmsg = linux_base + 209,
2701 mmap2 = linux_base + 210,
2702 truncate64 = linux_base + 211,
2703 ftruncate64 = linux_base + 212,
2704 stat64 = linux_base + 213,
2705 lstat64 = linux_base + 214,
2706 fstat64 = linux_base + 215,
2707 pivot_root = linux_base + 216,
2708 mincore = linux_base + 217,
2709 madvise = linux_base + 218,
2710 getdents64 = linux_base + 219,
2711 fcntl64 = linux_base + 220,
2712 gettid = linux_base + 222,
2713 readahead = linux_base + 223,
2714 setxattr = linux_base + 224,
2715 lsetxattr = linux_base + 225,
2716 fsetxattr = linux_base + 226,
2717 getxattr = linux_base + 227,
2718 lgetxattr = linux_base + 228,
2719 fgetxattr = linux_base + 229,
2720 listxattr = linux_base + 230,
2721 llistxattr = linux_base + 231,
2722 flistxattr = linux_base + 232,
2723 removexattr = linux_base + 233,
2724 lremovexattr = linux_base + 234,
2725 fremovexattr = linux_base + 235,
2726 tkill = linux_base + 236,
2727 sendfile64 = linux_base + 237,
2728 futex = linux_base + 238,
2729 sched_setaffinity = linux_base + 239,
2730 sched_getaffinity = linux_base + 240,
2731 io_setup = linux_base + 241,
2732 io_destroy = linux_base + 242,
2733 io_getevents = linux_base + 243,
2734 io_submit = linux_base + 244,
2735 io_cancel = linux_base + 245,
2736 exit_group = linux_base + 246,
2737 lookup_dcookie = linux_base + 247,
2738 epoll_create = linux_base + 248,
2739 epoll_ctl = linux_base + 249,
2740 epoll_wait = linux_base + 250,
2741 remap_file_pages = linux_base + 251,
2742 set_tid_address = linux_base + 252,
2743 restart_syscall = linux_base + 253,
2744 fadvise64 = linux_base + 254,
2745 statfs64 = linux_base + 255,
2746 fstatfs64 = linux_base + 256,
2747 timer_create = linux_base + 257,
2748 timer_settime = linux_base + 258,
2749 timer_gettime = linux_base + 259,
2750 timer_getoverrun = linux_base + 260,
2751 timer_delete = linux_base + 261,
2752 clock_settime = linux_base + 262,
2753 clock_gettime = linux_base + 263,
2754 clock_getres = linux_base + 264,
2755 clock_nanosleep = linux_base + 265,
2756 tgkill = linux_base + 266,
2757 utimes = linux_base + 267,
2758 mbind = linux_base + 268,
2759 get_mempolicy = linux_base + 269,
2760 set_mempolicy = linux_base + 270,
2761 mq_open = linux_base + 271,
2762 mq_unlink = linux_base + 272,
2763 mq_timedsend = linux_base + 273,
2764 mq_timedreceive = linux_base + 274,
2765 mq_notify = linux_base + 275,
2766 mq_getsetattr = linux_base + 276,
2767 vserver = linux_base + 277,
2768 waitid = linux_base + 278,
2769 add_key = linux_base + 280,
2770 request_key = linux_base + 281,
2771 keyctl = linux_base + 282,
2772 set_thread_area = linux_base + 283,
2773 inotify_init = linux_base + 284,
2774 inotify_add_watch = linux_base + 285,
2775 inotify_rm_watch = linux_base + 286,
2776 migrate_pages = linux_base + 287,
2777 openat = linux_base + 288,
2778 mkdirat = linux_base + 289,
2779 mknodat = linux_base + 290,
2780 fchownat = linux_base + 291,
2781 futimesat = linux_base + 292,
2782 fstatat64 = linux_base + 293,
2783 unlinkat = linux_base + 294,
2784 renameat = linux_base + 295,
2785 linkat = linux_base + 296,
2786 symlinkat = linux_base + 297,
2787 readlinkat = linux_base + 298,
2788 fchmodat = linux_base + 299,
2789 faccessat = linux_base + 300,
2790 pselect6 = linux_base + 301,
2791 ppoll = linux_base + 302,
2792 unshare = linux_base + 303,
2793 splice = linux_base + 304,
2794 sync_file_range = linux_base + 305,
2795 tee = linux_base + 306,
2796 vmsplice = linux_base + 307,
2797 move_pages = linux_base + 308,
2798 set_robust_list = linux_base + 309,
2799 get_robust_list = linux_base + 310,
2800 kexec_load = linux_base + 311,
2801 getcpu = linux_base + 312,
2802 epoll_pwait = linux_base + 313,
2803 ioprio_set = linux_base + 314,
2804 ioprio_get = linux_base + 315,
2805 utimensat = linux_base + 316,
2806 signalfd = linux_base + 317,
2807 timerfd = linux_base + 318,
2808 eventfd = linux_base + 319,
2809 fallocate = linux_base + 320,
2810 timerfd_create = linux_base + 321,
2811 timerfd_gettime = linux_base + 322,
2812 timerfd_settime = linux_base + 323,
2813 signalfd4 = linux_base + 324,
2814 eventfd2 = linux_base + 325,
2815 epoll_create1 = linux_base + 326,
2816 dup3 = linux_base + 327,
2817 pipe2 = linux_base + 328,
2818 inotify_init1 = linux_base + 329,
2819 preadv = linux_base + 330,
2820 pwritev = linux_base + 331,
2821 rt_tgsigqueueinfo = linux_base + 332,
2822 perf_event_open = linux_base + 333,
2823 accept4 = linux_base + 334,
2824 recvmmsg = linux_base + 335,
2825 fanotify_init = linux_base + 336,
2826 fanotify_mark = linux_base + 337,
2827 prlimit64 = linux_base + 338,
2828 name_to_handle_at = linux_base + 339,
2829 open_by_handle_at = linux_base + 340,
2830 clock_adjtime = linux_base + 341,
2831 syncfs = linux_base + 342,
2832 sendmmsg = linux_base + 343,
2833 setns = linux_base + 344,
2834 process_vm_readv = linux_base + 345,
2835 process_vm_writev = linux_base + 346,
2836 kcmp = linux_base + 347,
2837 finit_module = linux_base + 348,
2838 sched_setattr = linux_base + 349,
2839 sched_getattr = linux_base + 350,
2840 renameat2 = linux_base + 351,
2841 seccomp = linux_base + 352,
2842 getrandom = linux_base + 353,
2843 memfd_create = linux_base + 354,
2844 bpf = linux_base + 355,
2845 execveat = linux_base + 356,
2846 userfaultfd = linux_base + 357,
2847 membarrier = linux_base + 358,
2848 mlock2 = linux_base + 359,
2849 copy_file_range = linux_base + 360,
2850 preadv2 = linux_base + 361,
2851 pwritev2 = linux_base + 362,
2852 pkey_mprotect = linux_base + 363,
2853 pkey_alloc = linux_base + 364,
2854 pkey_free = linux_base + 365,
2855 statx = linux_base + 366,
2856 rseq = linux_base + 367,
2857 io_pgetevents = linux_base + 368,
2858 semget = linux_base + 393,
2859 semctl = linux_base + 394,
2860 shmget = linux_base + 395,
2861 shmctl = linux_base + 396,
2862 shmat = linux_base + 397,
2863 shmdt = linux_base + 398,
2864 msgget = linux_base + 399,
2865 msgsnd = linux_base + 400,
2866 msgrcv = linux_base + 401,
2867 msgctl = linux_base + 402,
2868 clock_gettime64 = linux_base + 403,
2869 clock_settime64 = linux_base + 404,
2870 clock_adjtime64 = linux_base + 405,
2871 clock_getres_time64 = linux_base + 406,
2872 clock_nanosleep_time64 = linux_base + 407,
2873 timer_gettime64 = linux_base + 408,
2874 timer_settime64 = linux_base + 409,
2875 timerfd_gettime64 = linux_base + 410,
2876 timerfd_settime64 = linux_base + 411,
2877 utimensat_time64 = linux_base + 412,
2878 pselect6_time64 = linux_base + 413,
2879 ppoll_time64 = linux_base + 414,
2880 io_pgetevents_time64 = linux_base + 416,
2881 recvmmsg_time64 = linux_base + 417,
2882 mq_timedsend_time64 = linux_base + 418,
2883 mq_timedreceive_time64 = linux_base + 419,
2884 semtimedop_time64 = linux_base + 420,
2885 rt_sigtimedwait_time64 = linux_base + 421,
2886 futex_time64 = linux_base + 422,
2887 sched_rr_get_interval_time64 = linux_base + 423,
2888 pidfd_send_signal = linux_base + 424,
2889 io_uring_setup = linux_base + 425,
2890 io_uring_enter = linux_base + 426,
2891 io_uring_register = linux_base + 427,
2892 open_tree = linux_base + 428,
2893 move_mount = linux_base + 429,
2894 fsopen = linux_base + 430,
2895 fsconfig = linux_base + 431,
2896 fsmount = linux_base + 432,
2897 fspick = linux_base + 433,
2898 pidfd_open = linux_base + 434,
2899 clone3 = linux_base + 435,
2900 close_range = linux_base + 436,
2901 openat2 = linux_base + 437,
2902 pidfd_getfd = linux_base + 438,
2903 faccessat2 = linux_base + 439,
2904 process_madvise = linux_base + 440,
2905 epoll_pwait2 = linux_base + 441,
2906 mount_setattr = linux_base + 442,
2907 quotactl_fd = linux_base + 443,
2908 landlock_create_ruleset = linux_base + 444,
2909 landlock_add_rule = linux_base + 445,
2910 landlock_restrict_self = linux_base + 446,
2911 process_mrelease = linux_base + 448,
2912 futex_waitv = linux_base + 449,
2913 set_mempolicy_home_node = linux_base + 450,
2914 cachestat = linux_base + 451,
2915 fchmodat2 = linux_base + 452,
2916 map_shadow_stack = linux_base + 453,
2917 futex_wake = linux_base + 454,
2918 futex_wait = linux_base + 455,
2919 futex_requeue = linux_base + 456,
2920};
2921
2922pub const MipsN64 = enum(usize) {
2923 const linux_base = 5000;
2924
2925 read = linux_base + 0,
2926 write = linux_base + 1,
2927 open = linux_base + 2,
2928 close = linux_base + 3,
2929 stat = linux_base + 4,
2930 fstat = linux_base + 5,
2931 lstat = linux_base + 6,
2932 poll = linux_base + 7,
2933 lseek = linux_base + 8,
2934 mmap = linux_base + 9,
2935 mprotect = linux_base + 10,
2936 munmap = linux_base + 11,
2937 brk = linux_base + 12,
2938 rt_sigaction = linux_base + 13,
2939 rt_sigprocmask = linux_base + 14,
2940 ioctl = linux_base + 15,
2941 pread64 = linux_base + 16,
2942 pwrite64 = linux_base + 17,
2943 readv = linux_base + 18,
2944 writev = linux_base + 19,
2945 access = linux_base + 20,
2946 pipe = linux_base + 21,
2947 newselect = linux_base + 22,
2948 sched_yield = linux_base + 23,
2949 mremap = linux_base + 24,
2950 msync = linux_base + 25,
2951 mincore = linux_base + 26,
2952 madvise = linux_base + 27,
2953 shmget = linux_base + 28,
2954 shmat = linux_base + 29,
2955 shmctl = linux_base + 30,
2956 dup = linux_base + 31,
2957 dup2 = linux_base + 32,
2958 pause = linux_base + 33,
2959 nanosleep = linux_base + 34,
2960 getitimer = linux_base + 35,
2961 setitimer = linux_base + 36,
2962 alarm = linux_base + 37,
2963 getpid = linux_base + 38,
2964 sendfile = linux_base + 39,
2965 socket = linux_base + 40,
2966 connect = linux_base + 41,
2967 accept = linux_base + 42,
2968 sendto = linux_base + 43,
2969 recvfrom = linux_base + 44,
2970 sendmsg = linux_base + 45,
2971 recvmsg = linux_base + 46,
2972 shutdown = linux_base + 47,
2973 bind = linux_base + 48,
2974 listen = linux_base + 49,
2975 getsockname = linux_base + 50,
2976 getpeername = linux_base + 51,
2977 socketpair = linux_base + 52,
2978 setsockopt = linux_base + 53,
2979 getsockopt = linux_base + 54,
2980 clone = linux_base + 55,
2981 fork = linux_base + 56,
2982 execve = linux_base + 57,
2983 exit = linux_base + 58,
2984 wait4 = linux_base + 59,
2985 kill = linux_base + 60,
2986 uname = linux_base + 61,
2987 semget = linux_base + 62,
2988 semop = linux_base + 63,
2989 semctl = linux_base + 64,
2990 shmdt = linux_base + 65,
2991 msgget = linux_base + 66,
2992 msgsnd = linux_base + 67,
2993 msgrcv = linux_base + 68,
2994 msgctl = linux_base + 69,
2995 fcntl = linux_base + 70,
2996 flock = linux_base + 71,
2997 fsync = linux_base + 72,
2998 fdatasync = linux_base + 73,
2999 truncate = linux_base + 74,
3000 ftruncate = linux_base + 75,
3001 getdents = linux_base + 76,
3002 getcwd = linux_base + 77,
3003 chdir = linux_base + 78,
3004 fchdir = linux_base + 79,
3005 rename = linux_base + 80,
3006 mkdir = linux_base + 81,
3007 rmdir = linux_base + 82,
3008 creat = linux_base + 83,
3009 link = linux_base + 84,
3010 unlink = linux_base + 85,
3011 symlink = linux_base + 86,
3012 readlink = linux_base + 87,
3013 chmod = linux_base + 88,
3014 fchmod = linux_base + 89,
3015 chown = linux_base + 90,
3016 fchown = linux_base + 91,
3017 lchown = linux_base + 92,
3018 umask = linux_base + 93,
3019 gettimeofday = linux_base + 94,
3020 getrlimit = linux_base + 95,
3021 getrusage = linux_base + 96,
3022 sysinfo = linux_base + 97,
3023 times = linux_base + 98,
3024 ptrace = linux_base + 99,
3025 getuid = linux_base + 100,
3026 syslog = linux_base + 101,
3027 getgid = linux_base + 102,
3028 setuid = linux_base + 103,
3029 setgid = linux_base + 104,
3030 geteuid = linux_base + 105,
3031 getegid = linux_base + 106,
3032 setpgid = linux_base + 107,
3033 getppid = linux_base + 108,
3034 getpgrp = linux_base + 109,
3035 setsid = linux_base + 110,
3036 setreuid = linux_base + 111,
3037 setregid = linux_base + 112,
3038 getgroups = linux_base + 113,
3039 setgroups = linux_base + 114,
3040 setresuid = linux_base + 115,
3041 getresuid = linux_base + 116,
3042 setresgid = linux_base + 117,
3043 getresgid = linux_base + 118,
3044 getpgid = linux_base + 119,
3045 setfsuid = linux_base + 120,
3046 setfsgid = linux_base + 121,
3047 getsid = linux_base + 122,
3048 capget = linux_base + 123,
3049 capset = linux_base + 124,
3050 rt_sigpending = linux_base + 125,
3051 rt_sigtimedwait = linux_base + 126,
3052 rt_sigqueueinfo = linux_base + 127,
3053 rt_sigsuspend = linux_base + 128,
3054 sigaltstack = linux_base + 129,
3055 utime = linux_base + 130,
3056 mknod = linux_base + 131,
3057 personality = linux_base + 132,
3058 ustat = linux_base + 133,
3059 statfs = linux_base + 134,
3060 fstatfs = linux_base + 135,
3061 sysfs = linux_base + 136,
3062 getpriority = linux_base + 137,
3063 setpriority = linux_base + 138,
3064 sched_setparam = linux_base + 139,
3065 sched_getparam = linux_base + 140,
3066 sched_setscheduler = linux_base + 141,
3067 sched_getscheduler = linux_base + 142,
3068 sched_get_priority_max = linux_base + 143,
3069 sched_get_priority_min = linux_base + 144,
3070 sched_rr_get_interval = linux_base + 145,
3071 mlock = linux_base + 146,
3072 munlock = linux_base + 147,
3073 mlockall = linux_base + 148,
3074 munlockall = linux_base + 149,
3075 vhangup = linux_base + 150,
3076 pivot_root = linux_base + 151,
3077 sysctl = linux_base + 152,
3078 prctl = linux_base + 153,
3079 adjtimex = linux_base + 154,
3080 setrlimit = linux_base + 155,
3081 chroot = linux_base + 156,
3082 sync = linux_base + 157,
3083 acct = linux_base + 158,
3084 settimeofday = linux_base + 159,
3085 mount = linux_base + 160,
3086 umount2 = linux_base + 161,
3087 swapon = linux_base + 162,
3088 swapoff = linux_base + 163,
3089 reboot = linux_base + 164,
3090 sethostname = linux_base + 165,
3091 setdomainname = linux_base + 166,
3092 create_module = linux_base + 167,
3093 init_module = linux_base + 168,
3094 delete_module = linux_base + 169,
3095 get_kernel_syms = linux_base + 170,
3096 query_module = linux_base + 171,
3097 quotactl = linux_base + 172,
3098 nfsservctl = linux_base + 173,
3099 getpmsg = linux_base + 174,
3100 putpmsg = linux_base + 175,
3101 afs_syscall = linux_base + 176,
3102 gettid = linux_base + 178,
3103 readahead = linux_base + 179,
3104 setxattr = linux_base + 180,
3105 lsetxattr = linux_base + 181,
3106 fsetxattr = linux_base + 182,
3107 getxattr = linux_base + 183,
3108 lgetxattr = linux_base + 184,
3109 fgetxattr = linux_base + 185,
3110 listxattr = linux_base + 186,
3111 llistxattr = linux_base + 187,
3112 flistxattr = linux_base + 188,
3113 removexattr = linux_base + 189,
3114 lremovexattr = linux_base + 190,
3115 fremovexattr = linux_base + 191,
3116 tkill = linux_base + 192,
3117 futex = linux_base + 194,
3118 sched_setaffinity = linux_base + 195,
3119 sched_getaffinity = linux_base + 196,
3120 cacheflush = linux_base + 197,
3121 cachectl = linux_base + 198,
3122 sysmips = linux_base + 199,
3123 io_setup = linux_base + 200,
3124 io_destroy = linux_base + 201,
3125 io_getevents = linux_base + 202,
3126 io_submit = linux_base + 203,
3127 io_cancel = linux_base + 204,
3128 exit_group = linux_base + 205,
3129 lookup_dcookie = linux_base + 206,
3130 epoll_create = linux_base + 207,
3131 epoll_ctl = linux_base + 208,
3132 epoll_wait = linux_base + 209,
3133 remap_file_pages = linux_base + 210,
3134 rt_sigreturn = linux_base + 211,
3135 set_tid_address = linux_base + 212,
3136 restart_syscall = linux_base + 213,
3137 semtimedop = linux_base + 214,
3138 fadvise64 = linux_base + 215,
3139 timer_create = linux_base + 216,
3140 timer_settime = linux_base + 217,
3141 timer_gettime = linux_base + 218,
3142 timer_getoverrun = linux_base + 219,
3143 timer_delete = linux_base + 220,
3144 clock_settime = linux_base + 221,
3145 clock_gettime = linux_base + 222,
3146 clock_getres = linux_base + 223,
3147 clock_nanosleep = linux_base + 224,
3148 tgkill = linux_base + 225,
3149 utimes = linux_base + 226,
3150 mbind = linux_base + 227,
3151 get_mempolicy = linux_base + 228,
3152 set_mempolicy = linux_base + 229,
3153 mq_open = linux_base + 230,
3154 mq_unlink = linux_base + 231,
3155 mq_timedsend = linux_base + 232,
3156 mq_timedreceive = linux_base + 233,
3157 mq_notify = linux_base + 234,
3158 mq_getsetattr = linux_base + 235,
3159 vserver = linux_base + 236,
3160 waitid = linux_base + 237,
3161 add_key = linux_base + 239,
3162 request_key = linux_base + 240,
3163 keyctl = linux_base + 241,
3164 set_thread_area = linux_base + 242,
3165 inotify_init = linux_base + 243,
3166 inotify_add_watch = linux_base + 244,
3167 inotify_rm_watch = linux_base + 245,
3168 migrate_pages = linux_base + 246,
3169 openat = linux_base + 247,
3170 mkdirat = linux_base + 248,
3171 mknodat = linux_base + 249,
3172 fchownat = linux_base + 250,
3173 futimesat = linux_base + 251,
3174 fstatat64 = linux_base + 252,
3175 unlinkat = linux_base + 253,
3176 renameat = linux_base + 254,
3177 linkat = linux_base + 255,
3178 symlinkat = linux_base + 256,
3179 readlinkat = linux_base + 257,
3180 fchmodat = linux_base + 258,
3181 faccessat = linux_base + 259,
3182 pselect6 = linux_base + 260,
3183 ppoll = linux_base + 261,
3184 unshare = linux_base + 262,
3185 splice = linux_base + 263,
3186 sync_file_range = linux_base + 264,
3187 tee = linux_base + 265,
3188 vmsplice = linux_base + 266,
3189 move_pages = linux_base + 267,
3190 set_robust_list = linux_base + 268,
3191 get_robust_list = linux_base + 269,
3192 kexec_load = linux_base + 270,
3193 getcpu = linux_base + 271,
3194 epoll_pwait = linux_base + 272,
3195 ioprio_set = linux_base + 273,
3196 ioprio_get = linux_base + 274,
3197 utimensat = linux_base + 275,
3198 signalfd = linux_base + 276,
3199 timerfd = linux_base + 277,
3200 eventfd = linux_base + 278,
3201 fallocate = linux_base + 279,
3202 timerfd_create = linux_base + 280,
3203 timerfd_gettime = linux_base + 281,
3204 timerfd_settime = linux_base + 282,
3205 signalfd4 = linux_base + 283,
3206 eventfd2 = linux_base + 284,
3207 epoll_create1 = linux_base + 285,
3208 dup3 = linux_base + 286,
3209 pipe2 = linux_base + 287,
3210 inotify_init1 = linux_base + 288,
3211 preadv = linux_base + 289,
3212 pwritev = linux_base + 290,
3213 rt_tgsigqueueinfo = linux_base + 291,
3214 perf_event_open = linux_base + 292,
3215 accept4 = linux_base + 293,
3216 recvmmsg = linux_base + 294,
3217 fanotify_init = linux_base + 295,
3218 fanotify_mark = linux_base + 296,
3219 prlimit64 = linux_base + 297,
3220 name_to_handle_at = linux_base + 298,
3221 open_by_handle_at = linux_base + 299,
3222 clock_adjtime = linux_base + 300,
3223 syncfs = linux_base + 301,
3224 sendmmsg = linux_base + 302,
3225 setns = linux_base + 303,
3226 process_vm_readv = linux_base + 304,
3227 process_vm_writev = linux_base + 305,
3228 kcmp = linux_base + 306,
3229 finit_module = linux_base + 307,
3230 getdents64 = linux_base + 308,
3231 sched_setattr = linux_base + 309,
3232 sched_getattr = linux_base + 310,
3233 renameat2 = linux_base + 311,
3234 seccomp = linux_base + 312,
3235 getrandom = linux_base + 313,
3236 memfd_create = linux_base + 314,
3237 bpf = linux_base + 315,
3238 execveat = linux_base + 316,
3239 userfaultfd = linux_base + 317,
3240 membarrier = linux_base + 318,
3241 mlock2 = linux_base + 319,
3242 copy_file_range = linux_base + 320,
3243 preadv2 = linux_base + 321,
3244 pwritev2 = linux_base + 322,
3245 pkey_mprotect = linux_base + 323,
3246 pkey_alloc = linux_base + 324,
3247 pkey_free = linux_base + 325,
3248 statx = linux_base + 326,
3249 rseq = linux_base + 327,
3250 io_pgetevents = linux_base + 328,
3251 pidfd_send_signal = linux_base + 424,
3252 io_uring_setup = linux_base + 425,
3253 io_uring_enter = linux_base + 426,
3254 io_uring_register = linux_base + 427,
3255 open_tree = linux_base + 428,
3256 move_mount = linux_base + 429,
3257 fsopen = linux_base + 430,
3258 fsconfig = linux_base + 431,
3259 fsmount = linux_base + 432,
3260 fspick = linux_base + 433,
3261 pidfd_open = linux_base + 434,
3262 clone3 = linux_base + 435,
3263 close_range = linux_base + 436,
3264 openat2 = linux_base + 437,
3265 pidfd_getfd = linux_base + 438,
3266 faccessat2 = linux_base + 439,
3267 process_madvise = linux_base + 440,
3268 epoll_pwait2 = linux_base + 441,
3269 mount_setattr = linux_base + 442,
3270 quotactl_fd = linux_base + 443,
3271 landlock_create_ruleset = linux_base + 444,
3272 landlock_add_rule = linux_base + 445,
3273 landlock_restrict_self = linux_base + 446,
3274 process_mrelease = linux_base + 448,
3275 futex_waitv = linux_base + 449,
3276 set_mempolicy_home_node = linux_base + 450,
3277 cachestat = linux_base + 451,
3278 fchmodat2 = linux_base + 452,
3279 map_shadow_stack = linux_base + 453,
3280 futex_wake = linux_base + 454,
3281 futex_wait = linux_base + 455,
3282 futex_requeue = linux_base + 456,
3283};
3284
3285pub const MipsN32 = enum(usize) {
3286 const linux_base = 6000;
3287
3288 read = linux_base + 0,
3289 write = linux_base + 1,
3290 open = linux_base + 2,
3291 close = linux_base + 3,
3292 stat = linux_base + 4,
3293 fstat = linux_base + 5,
3294 lstat = linux_base + 6,
3295 poll = linux_base + 7,
3296 lseek = linux_base + 8,
3297 mmap = linux_base + 9,
3298 mprotect = linux_base + 10,
3299 munmap = linux_base + 11,
3300 brk = linux_base + 12,
3301 rt_sigaction = linux_base + 13,
3302 rt_sigprocmask = linux_base + 14,
3303 ioctl = linux_base + 15,
3304 pread64 = linux_base + 16,
3305 pwrite64 = linux_base + 17,
3306 readv = linux_base + 18,
3307 writev = linux_base + 19,
3308 access = linux_base + 20,
3309 pipe = linux_base + 21,
3310 newselect = linux_base + 22,
3311 sched_yield = linux_base + 23,
3312 mremap = linux_base + 24,
3313 msync = linux_base + 25,
3314 mincore = linux_base + 26,
3315 madvise = linux_base + 27,
3316 shmget = linux_base + 28,
3317 shmat = linux_base + 29,
3318 shmctl = linux_base + 30,
3319 dup = linux_base + 31,
3320 dup2 = linux_base + 32,
3321 pause = linux_base + 33,
3322 nanosleep = linux_base + 34,
3323 getitimer = linux_base + 35,
3324 setitimer = linux_base + 36,
3325 alarm = linux_base + 37,
3326 getpid = linux_base + 38,
3327 sendfile = linux_base + 39,
3328 socket = linux_base + 40,
3329 connect = linux_base + 41,
3330 accept = linux_base + 42,
3331 sendto = linux_base + 43,
3332 recvfrom = linux_base + 44,
3333 sendmsg = linux_base + 45,
3334 recvmsg = linux_base + 46,
3335 shutdown = linux_base + 47,
3336 bind = linux_base + 48,
3337 listen = linux_base + 49,
3338 getsockname = linux_base + 50,
3339 getpeername = linux_base + 51,
3340 socketpair = linux_base + 52,
3341 setsockopt = linux_base + 53,
3342 getsockopt = linux_base + 54,
3343 clone = linux_base + 55,
3344 fork = linux_base + 56,
3345 execve = linux_base + 57,
3346 exit = linux_base + 58,
3347 wait4 = linux_base + 59,
3348 kill = linux_base + 60,
3349 uname = linux_base + 61,
3350 semget = linux_base + 62,
3351 semop = linux_base + 63,
3352 semctl = linux_base + 64,
3353 shmdt = linux_base + 65,
3354 msgget = linux_base + 66,
3355 msgsnd = linux_base + 67,
3356 msgrcv = linux_base + 68,
3357 msgctl = linux_base + 69,
3358 fcntl = linux_base + 70,
3359 flock = linux_base + 71,
3360 fsync = linux_base + 72,
3361 fdatasync = linux_base + 73,
3362 truncate = linux_base + 74,
3363 ftruncate = linux_base + 75,
3364 getdents = linux_base + 76,
3365 getcwd = linux_base + 77,
3366 chdir = linux_base + 78,
3367 fchdir = linux_base + 79,
3368 rename = linux_base + 80,
3369 mkdir = linux_base + 81,
3370 rmdir = linux_base + 82,
3371 creat = linux_base + 83,
3372 link = linux_base + 84,
3373 unlink = linux_base + 85,
3374 symlink = linux_base + 86,
3375 readlink = linux_base + 87,
3376 chmod = linux_base + 88,
3377 fchmod = linux_base + 89,
3378 chown = linux_base + 90,
3379 fchown = linux_base + 91,
3380 lchown = linux_base + 92,
3381 umask = linux_base + 93,
3382 gettimeofday = linux_base + 94,
3383 getrlimit = linux_base + 95,
3384 getrusage = linux_base + 96,
3385 sysinfo = linux_base + 97,
3386 times = linux_base + 98,
3387 ptrace = linux_base + 99,
3388 getuid = linux_base + 100,
3389 syslog = linux_base + 101,
3390 getgid = linux_base + 102,
3391 setuid = linux_base + 103,
3392 setgid = linux_base + 104,
3393 geteuid = linux_base + 105,
3394 getegid = linux_base + 106,
3395 setpgid = linux_base + 107,
3396 getppid = linux_base + 108,
3397 getpgrp = linux_base + 109,
3398 setsid = linux_base + 110,
3399 setreuid = linux_base + 111,
3400 setregid = linux_base + 112,
3401 getgroups = linux_base + 113,
3402 setgroups = linux_base + 114,
3403 setresuid = linux_base + 115,
3404 getresuid = linux_base + 116,
3405 setresgid = linux_base + 117,
3406 getresgid = linux_base + 118,
3407 getpgid = linux_base + 119,
3408 setfsuid = linux_base + 120,
3409 setfsgid = linux_base + 121,
3410 getsid = linux_base + 122,
3411 capget = linux_base + 123,
3412 capset = linux_base + 124,
3413 rt_sigpending = linux_base + 125,
3414 rt_sigtimedwait = linux_base + 126,
3415 rt_sigqueueinfo = linux_base + 127,
3416 rt_sigsuspend = linux_base + 128,
3417 sigaltstack = linux_base + 129,
3418 utime = linux_base + 130,
3419 mknod = linux_base + 131,
3420 personality = linux_base + 132,
3421 ustat = linux_base + 133,
3422 statfs = linux_base + 134,
3423 fstatfs = linux_base + 135,
3424 sysfs = linux_base + 136,
3425 getpriority = linux_base + 137,
3426 setpriority = linux_base + 138,
3427 sched_setparam = linux_base + 139,
3428 sched_getparam = linux_base + 140,
3429 sched_setscheduler = linux_base + 141,
3430 sched_getscheduler = linux_base + 142,
3431 sched_get_priority_max = linux_base + 143,
3432 sched_get_priority_min = linux_base + 144,
3433 sched_rr_get_interval = linux_base + 145,
3434 mlock = linux_base + 146,
3435 munlock = linux_base + 147,
3436 mlockall = linux_base + 148,
3437 munlockall = linux_base + 149,
3438 vhangup = linux_base + 150,
3439 pivot_root = linux_base + 151,
3440 sysctl = linux_base + 152,
3441 prctl = linux_base + 153,
3442 adjtimex = linux_base + 154,
3443 setrlimit = linux_base + 155,
3444 chroot = linux_base + 156,
3445 sync = linux_base + 157,
3446 acct = linux_base + 158,
3447 settimeofday = linux_base + 159,
3448 mount = linux_base + 160,
3449 umount2 = linux_base + 161,
3450 swapon = linux_base + 162,
3451 swapoff = linux_base + 163,
3452 reboot = linux_base + 164,
3453 sethostname = linux_base + 165,
3454 setdomainname = linux_base + 166,
3455 create_module = linux_base + 167,
3456 init_module = linux_base + 168,
3457 delete_module = linux_base + 169,
3458 get_kernel_syms = linux_base + 170,
3459 query_module = linux_base + 171,
3460 quotactl = linux_base + 172,
3461 nfsservctl = linux_base + 173,
3462 getpmsg = linux_base + 174,
3463 putpmsg = linux_base + 175,
3464 afs_syscall = linux_base + 176,
3465 gettid = linux_base + 178,
3466 readahead = linux_base + 179,
3467 setxattr = linux_base + 180,
3468 lsetxattr = linux_base + 181,
3469 fsetxattr = linux_base + 182,
3470 getxattr = linux_base + 183,
3471 lgetxattr = linux_base + 184,
3472 fgetxattr = linux_base + 185,
3473 listxattr = linux_base + 186,
3474 llistxattr = linux_base + 187,
3475 flistxattr = linux_base + 188,
3476 removexattr = linux_base + 189,
3477 lremovexattr = linux_base + 190,
3478 fremovexattr = linux_base + 191,
3479 tkill = linux_base + 192,
3480 futex = linux_base + 194,
3481 sched_setaffinity = linux_base + 195,
3482 sched_getaffinity = linux_base + 196,
3483 cacheflush = linux_base + 197,
3484 cachectl = linux_base + 198,
3485 sysmips = linux_base + 199,
3486 io_setup = linux_base + 200,
3487 io_destroy = linux_base + 201,
3488 io_getevents = linux_base + 202,
3489 io_submit = linux_base + 203,
3490 io_cancel = linux_base + 204,
3491 exit_group = linux_base + 205,
3492 lookup_dcookie = linux_base + 206,
3493 epoll_create = linux_base + 207,
3494 epoll_ctl = linux_base + 208,
3495 epoll_wait = linux_base + 209,
3496 remap_file_pages = linux_base + 210,
3497 rt_sigreturn = linux_base + 211,
3498 fcntl64 = linux_base + 212,
3499 set_tid_address = linux_base + 213,
3500 restart_syscall = linux_base + 214,
3501 semtimedop = linux_base + 215,
3502 fadvise64 = linux_base + 216,
3503 statfs64 = linux_base + 217,
3504 fstatfs64 = linux_base + 218,
3505 sendfile64 = linux_base + 219,
3506 timer_create = linux_base + 220,
3507 timer_settime = linux_base + 221,
3508 timer_gettime = linux_base + 222,
3509 timer_getoverrun = linux_base + 223,
3510 timer_delete = linux_base + 224,
3511 clock_settime = linux_base + 225,
3512 clock_gettime = linux_base + 226,
3513 clock_getres = linux_base + 227,
3514 clock_nanosleep = linux_base + 228,
3515 tgkill = linux_base + 229,
3516 utimes = linux_base + 230,
3517 mbind = linux_base + 231,
3518 get_mempolicy = linux_base + 232,
3519 set_mempolicy = linux_base + 233,
3520 mq_open = linux_base + 234,
3521 mq_unlink = linux_base + 235,
3522 mq_timedsend = linux_base + 236,
3523 mq_timedreceive = linux_base + 237,
3524 mq_notify = linux_base + 238,
3525 mq_getsetattr = linux_base + 239,
3526 vserver = linux_base + 240,
3527 waitid = linux_base + 241,
3528 add_key = linux_base + 243,
3529 request_key = linux_base + 244,
3530 keyctl = linux_base + 245,
3531 set_thread_area = linux_base + 246,
3532 inotify_init = linux_base + 247,
3533 inotify_add_watch = linux_base + 248,
3534 inotify_rm_watch = linux_base + 249,
3535 migrate_pages = linux_base + 250,
3536 openat = linux_base + 251,
3537 mkdirat = linux_base + 252,
3538 mknodat = linux_base + 253,
3539 fchownat = linux_base + 254,
3540 futimesat = linux_base + 255,
3541 fstatat64 = linux_base + 256,
3542 unlinkat = linux_base + 257,
3543 renameat = linux_base + 258,
3544 linkat = linux_base + 259,
3545 symlinkat = linux_base + 260,
3546 readlinkat = linux_base + 261,
3547 fchmodat = linux_base + 262,
3548 faccessat = linux_base + 263,
3549 pselect6 = linux_base + 264,
3550 ppoll = linux_base + 265,
3551 unshare = linux_base + 266,
3552 splice = linux_base + 267,
3553 sync_file_range = linux_base + 268,
3554 tee = linux_base + 269,
3555 vmsplice = linux_base + 270,
3556 move_pages = linux_base + 271,
3557 set_robust_list = linux_base + 272,
3558 get_robust_list = linux_base + 273,
3559 kexec_load = linux_base + 274,
3560 getcpu = linux_base + 275,
3561 epoll_pwait = linux_base + 276,
3562 ioprio_set = linux_base + 277,
3563 ioprio_get = linux_base + 278,
3564 utimensat = linux_base + 279,
3565 signalfd = linux_base + 280,
3566 timerfd = linux_base + 281,
3567 eventfd = linux_base + 282,
3568 fallocate = linux_base + 283,
3569 timerfd_create = linux_base + 284,
3570 timerfd_gettime = linux_base + 285,
3571 timerfd_settime = linux_base + 286,
3572 signalfd4 = linux_base + 287,
3573 eventfd2 = linux_base + 288,
3574 epoll_create1 = linux_base + 289,
3575 dup3 = linux_base + 290,
3576 pipe2 = linux_base + 291,
3577 inotify_init1 = linux_base + 292,
3578 preadv = linux_base + 293,
3579 pwritev = linux_base + 294,
3580 rt_tgsigqueueinfo = linux_base + 295,
3581 perf_event_open = linux_base + 296,
3582 accept4 = linux_base + 297,
3583 recvmmsg = linux_base + 298,
3584 getdents64 = linux_base + 299,
3585 fanotify_init = linux_base + 300,
3586 fanotify_mark = linux_base + 301,
3587 prlimit64 = linux_base + 302,
3588 name_to_handle_at = linux_base + 303,
3589 open_by_handle_at = linux_base + 304,
3590 clock_adjtime = linux_base + 305,
3591 syncfs = linux_base + 306,
3592 sendmmsg = linux_base + 307,
3593 setns = linux_base + 308,
3594 process_vm_readv = linux_base + 309,
3595 process_vm_writev = linux_base + 310,
3596 kcmp = linux_base + 311,
3597 finit_module = linux_base + 312,
3598 sched_setattr = linux_base + 313,
3599 sched_getattr = linux_base + 314,
3600 renameat2 = linux_base + 315,
3601 seccomp = linux_base + 316,
3602 getrandom = linux_base + 317,
3603 memfd_create = linux_base + 318,
3604 bpf = linux_base + 319,
3605 execveat = linux_base + 320,
3606 userfaultfd = linux_base + 321,
3607 membarrier = linux_base + 322,
3608 mlock2 = linux_base + 323,
3609 copy_file_range = linux_base + 324,
3610 preadv2 = linux_base + 325,
3611 pwritev2 = linux_base + 326,
3612 pkey_mprotect = linux_base + 327,
3613 pkey_alloc = linux_base + 328,
3614 pkey_free = linux_base + 329,
3615 statx = linux_base + 330,
3616 rseq = linux_base + 331,
3617 io_pgetevents = linux_base + 332,
3618 clock_gettime64 = linux_base + 403,
3619 clock_settime64 = linux_base + 404,
3620 clock_adjtime64 = linux_base + 405,
3621 clock_getres_time64 = linux_base + 406,
3622 clock_nanosleep_time64 = linux_base + 407,
3623 timer_gettime64 = linux_base + 408,
3624 timer_settime64 = linux_base + 409,
3625 timerfd_gettime64 = linux_base + 410,
3626 timerfd_settime64 = linux_base + 411,
3627 utimensat_time64 = linux_base + 412,
3628 pselect6_time64 = linux_base + 413,
3629 ppoll_time64 = linux_base + 414,
3630 io_pgetevents_time64 = linux_base + 416,
3631 recvmmsg_time64 = linux_base + 417,
3632 mq_timedsend_time64 = linux_base + 418,
3633 mq_timedreceive_time64 = linux_base + 419,
3634 semtimedop_time64 = linux_base + 420,
3635 rt_sigtimedwait_time64 = linux_base + 421,
3636 futex_time64 = linux_base + 422,
3637 sched_rr_get_interval_time64 = linux_base + 423,
3638 pidfd_send_signal = linux_base + 424,
3639 io_uring_setup = linux_base + 425,
3640 io_uring_enter = linux_base + 426,
3641 io_uring_register = linux_base + 427,
3642 open_tree = linux_base + 428,
3643 move_mount = linux_base + 429,
3644 fsopen = linux_base + 430,
3645 fsconfig = linux_base + 431,
3646 fsmount = linux_base + 432,
3647 fspick = linux_base + 433,
3648 pidfd_open = linux_base + 434,
3649 clone3 = linux_base + 435,
3650 close_range = linux_base + 436,
3651 openat2 = linux_base + 437,
3652 pidfd_getfd = linux_base + 438,
3653 faccessat2 = linux_base + 439,
3654 process_madvise = linux_base + 440,
3655 epoll_pwait2 = linux_base + 441,
3656 mount_setattr = linux_base + 442,
3657 quotactl_fd = linux_base + 443,
3658 landlock_create_ruleset = linux_base + 444,
3659 landlock_add_rule = linux_base + 445,
3660 landlock_restrict_self = linux_base + 446,
3661 process_mrelease = linux_base + 448,
3662 futex_waitv = linux_base + 449,
3663 set_mempolicy_home_node = linux_base + 450,
3664 cachestat = linux_base + 451,
3665 fchmodat2 = linux_base + 452,
3666 map_shadow_stack = linux_base + 453,
3667 futex_wake = linux_base + 454,
3668 futex_wait = linux_base + 455,
3669 futex_requeue = linux_base + 456,
3670};
3671
3672pub const PowerPC = enum(usize) {
3673 restart_syscall = 0,
3674 exit = 1,
3675 fork = 2,
3676 read = 3,
3677 write = 4,
3678 open = 5,
3679 close = 6,
3680 waitpid = 7,
3681 creat = 8,
3682 link = 9,
3683 unlink = 10,
3684 execve = 11,
3685 chdir = 12,
3686 time = 13,
3687 mknod = 14,
3688 chmod = 15,
3689 lchown = 16,
3690 @"break" = 17,
3691 oldstat = 18,
3692 lseek = 19,
3693 getpid = 20,
3694 mount = 21,
3695 umount = 22,
3696 setuid = 23,
3697 getuid = 24,
3698 stime = 25,
3699 ptrace = 26,
3700 alarm = 27,
3701 oldfstat = 28,
3702 pause = 29,
3703 utime = 30,
3704 stty = 31,
3705 gtty = 32,
3706 access = 33,
3707 nice = 34,
3708 ftime = 35,
3709 sync = 36,
3710 kill = 37,
3711 rename = 38,
3712 mkdir = 39,
3713 rmdir = 40,
3714 dup = 41,
3715 pipe = 42,
3716 times = 43,
3717 prof = 44,
3718 brk = 45,
3719 setgid = 46,
3720 getgid = 47,
3721 signal = 48,
3722 geteuid = 49,
3723 getegid = 50,
3724 acct = 51,
3725 umount2 = 52,
3726 lock = 53,
3727 ioctl = 54,
3728 fcntl = 55,
3729 mpx = 56,
3730 setpgid = 57,
3731 ulimit = 58,
3732 oldolduname = 59,
3733 umask = 60,
3734 chroot = 61,
3735 ustat = 62,
3736 dup2 = 63,
3737 getppid = 64,
3738 getpgrp = 65,
3739 setsid = 66,
3740 sigaction = 67,
3741 sgetmask = 68,
3742 ssetmask = 69,
3743 setreuid = 70,
3744 setregid = 71,
3745 sigsuspend = 72,
3746 sigpending = 73,
3747 sethostname = 74,
3748 setrlimit = 75,
3749 getrlimit = 76,
3750 getrusage = 77,
3751 gettimeofday = 78,
3752 settimeofday = 79,
3753 getgroups = 80,
3754 setgroups = 81,
3755 select = 82,
3756 symlink = 83,
3757 oldlstat = 84,
3758 readlink = 85,
3759 uselib = 86,
3760 swapon = 87,
3761 reboot = 88,
3762 readdir = 89,
3763 mmap = 90,
3764 munmap = 91,
3765 truncate = 92,
3766 ftruncate = 93,
3767 fchmod = 94,
3768 fchown = 95,
3769 getpriority = 96,
3770 setpriority = 97,
3771 profil = 98,
3772 statfs = 99,
3773 fstatfs = 100,
3774 ioperm = 101,
3775 socketcall = 102,
3776 syslog = 103,
3777 setitimer = 104,
3778 getitimer = 105,
3779 stat = 106,
3780 lstat = 107,
3781 fstat = 108,
3782 olduname = 109,
3783 iopl = 110,
3784 vhangup = 111,
3785 idle = 112,
3786 vm86 = 113,
3787 wait4 = 114,
3788 swapoff = 115,
3789 sysinfo = 116,
3790 ipc = 117,
3791 fsync = 118,
3792 sigreturn = 119,
3793 clone = 120,
3794 setdomainname = 121,
3795 uname = 122,
3796 modify_ldt = 123,
3797 adjtimex = 124,
3798 mprotect = 125,
3799 sigprocmask = 126,
3800 create_module = 127,
3801 init_module = 128,
3802 delete_module = 129,
3803 get_kernel_syms = 130,
3804 quotactl = 131,
3805 getpgid = 132,
3806 fchdir = 133,
3807 bdflush = 134,
3808 sysfs = 135,
3809 personality = 136,
3810 afs_syscall = 137,
3811 setfsuid = 138,
3812 setfsgid = 139,
3813 llseek = 140,
3814 getdents = 141,
3815 newselect = 142,
3816 flock = 143,
3817 msync = 144,
3818 readv = 145,
3819 writev = 146,
3820 getsid = 147,
3821 fdatasync = 148,
3822 sysctl = 149,
3823 mlock = 150,
3824 munlock = 151,
3825 mlockall = 152,
3826 munlockall = 153,
3827 sched_setparam = 154,
3828 sched_getparam = 155,
3829 sched_setscheduler = 156,
3830 sched_getscheduler = 157,
3831 sched_yield = 158,
3832 sched_get_priority_max = 159,
3833 sched_get_priority_min = 160,
3834 sched_rr_get_interval = 161,
3835 nanosleep = 162,
3836 mremap = 163,
3837 setresuid = 164,
3838 getresuid = 165,
3839 query_module = 166,
3840 poll = 167,
3841 nfsservctl = 168,
3842 setresgid = 169,
3843 getresgid = 170,
3844 prctl = 171,
3845 rt_sigreturn = 172,
3846 rt_sigaction = 173,
3847 rt_sigprocmask = 174,
3848 rt_sigpending = 175,
3849 rt_sigtimedwait = 176,
3850 rt_sigqueueinfo = 177,
3851 rt_sigsuspend = 178,
3852 pread64 = 179,
3853 pwrite64 = 180,
3854 chown = 181,
3855 getcwd = 182,
3856 capget = 183,
3857 capset = 184,
3858 sigaltstack = 185,
3859 sendfile = 186,
3860 getpmsg = 187,
3861 putpmsg = 188,
3862 vfork = 189,
3863 ugetrlimit = 190,
3864 readahead = 191,
3865 mmap2 = 192,
3866 truncate64 = 193,
3867 ftruncate64 = 194,
3868 stat64 = 195,
3869 lstat64 = 196,
3870 fstat64 = 197,
3871 pciconfig_read = 198,
3872 pciconfig_write = 199,
3873 pciconfig_iobase = 200,
3874 multiplexer = 201,
3875 getdents64 = 202,
3876 pivot_root = 203,
3877 fcntl64 = 204,
3878 madvise = 205,
3879 mincore = 206,
3880 gettid = 207,
3881 tkill = 208,
3882 setxattr = 209,
3883 lsetxattr = 210,
3884 fsetxattr = 211,
3885 getxattr = 212,
3886 lgetxattr = 213,
3887 fgetxattr = 214,
3888 listxattr = 215,
3889 llistxattr = 216,
3890 flistxattr = 217,
3891 removexattr = 218,
3892 lremovexattr = 219,
3893 fremovexattr = 220,
3894 futex = 221,
3895 sched_setaffinity = 222,
3896 sched_getaffinity = 223,
3897 tuxcall = 225,
3898 sendfile64 = 226,
3899 io_setup = 227,
3900 io_destroy = 228,
3901 io_getevents = 229,
3902 io_submit = 230,
3903 io_cancel = 231,
3904 set_tid_address = 232,
3905 fadvise64 = 233,
3906 exit_group = 234,
3907 lookup_dcookie = 235,
3908 epoll_create = 236,
3909 epoll_ctl = 237,
3910 epoll_wait = 238,
3911 remap_file_pages = 239,
3912 timer_create = 240,
26713913 timer_settime = 241,
26723914 timer_gettime = 242,
26733915 timer_getoverrun = 243,
......@@ -3279,7 +4521,1704 @@ pub const PowerPC64 = enum(usize) {
32794521 futex_requeue = 456,
32804522};
32814523
3282pub const Arm64 = enum(usize) {
4524pub const S390x = enum(usize) {
4525 exit = 1,
4526 fork = 2,
4527 read = 3,
4528 write = 4,
4529 open = 5,
4530 close = 6,
4531 restart_syscall = 7,
4532 creat = 8,
4533 link = 9,
4534 unlink = 10,
4535 execve = 11,
4536 chdir = 12,
4537 mknod = 14,
4538 chmod = 15,
4539 lseek = 19,
4540 getpid = 20,
4541 mount = 21,
4542 umount = 22,
4543 ptrace = 26,
4544 alarm = 27,
4545 pause = 29,
4546 utime = 30,
4547 access = 33,
4548 nice = 34,
4549 sync = 36,
4550 kill = 37,
4551 rename = 38,
4552 mkdir = 39,
4553 rmdir = 40,
4554 dup = 41,
4555 pipe = 42,
4556 times = 43,
4557 brk = 45,
4558 signal = 48,
4559 acct = 51,
4560 umount2 = 52,
4561 ioctl = 54,
4562 fcntl = 55,
4563 setpgid = 57,
4564 umask = 60,
4565 chroot = 61,
4566 ustat = 62,
4567 dup2 = 63,
4568 getppid = 64,
4569 getpgrp = 65,
4570 setsid = 66,
4571 sigaction = 67,
4572 sigsuspend = 72,
4573 sigpending = 73,
4574 sethostname = 74,
4575 setrlimit = 75,
4576 getrusage = 77,
4577 gettimeofday = 78,
4578 settimeofday = 79,
4579 symlink = 83,
4580 readlink = 85,
4581 uselib = 86,
4582 swapon = 87,
4583 reboot = 88,
4584 readdir = 89,
4585 mmap = 90,
4586 munmap = 91,
4587 truncate = 92,
4588 ftruncate = 93,
4589 fchmod = 94,
4590 getpriority = 96,
4591 setpriority = 97,
4592 statfs = 99,
4593 fstatfs = 100,
4594 socketcall = 102,
4595 syslog = 103,
4596 setitimer = 104,
4597 getitimer = 105,
4598 stat = 106,
4599 lstat = 107,
4600 fstat = 108,
4601 lookup_dcookie = 110,
4602 vhangup = 111,
4603 idle = 112,
4604 wait4 = 114,
4605 swapoff = 115,
4606 sysinfo = 116,
4607 ipc = 117,
4608 fsync = 118,
4609 sigreturn = 119,
4610 clone = 120,
4611 setdomainname = 121,
4612 uname = 122,
4613 adjtimex = 124,
4614 mprotect = 125,
4615 sigprocmask = 126,
4616 create_module = 127,
4617 init_module = 128,
4618 delete_module = 129,
4619 get_kernel_syms = 130,
4620 quotactl = 131,
4621 getpgid = 132,
4622 fchdir = 133,
4623 bdflush = 134,
4624 sysfs = 135,
4625 personality = 136,
4626 afs_syscall = 137,
4627 getdents = 141,
4628 select = 142,
4629 flock = 143,
4630 msync = 144,
4631 readv = 145,
4632 writev = 146,
4633 getsid = 147,
4634 fdatasync = 148,
4635 sysctl = 149,
4636 mlock = 150,
4637 munlock = 151,
4638 mlockall = 152,
4639 munlockall = 153,
4640 sched_setparam = 154,
4641 sched_getparam = 155,
4642 sched_setscheduler = 156,
4643 sched_getscheduler = 157,
4644 sched_yield = 158,
4645 sched_get_priority_max = 159,
4646 sched_get_priority_min = 160,
4647 sched_rr_get_interval = 161,
4648 nanosleep = 162,
4649 mremap = 163,
4650 query_module = 167,
4651 poll = 168,
4652 nfsservctl = 169,
4653 prctl = 172,
4654 rt_sigreturn = 173,
4655 rt_sigaction = 174,
4656 rt_sigprocmask = 175,
4657 rt_sigpending = 176,
4658 rt_sigtimedwait = 177,
4659 rt_sigqueueinfo = 178,
4660 rt_sigsuspend = 179,
4661 pread64 = 180,
4662 pwrite64 = 181,
4663 getcwd = 183,
4664 capget = 184,
4665 capset = 185,
4666 sigaltstack = 186,
4667 sendfile = 187,
4668 getpmsg = 188,
4669 putpmsg = 189,
4670 vfork = 190,
4671 getrlimit = 191,
4672 lchown = 198,
4673 getuid = 199,
4674 getgid = 200,
4675 geteuid = 201,
4676 getegid = 202,
4677 setreuid = 203,
4678 setregid = 204,
4679 getgroups = 205,
4680 setgroups = 206,
4681 fchown = 207,
4682 setresuid = 208,
4683 getresuid = 209,
4684 setresgid = 210,
4685 getresgid = 211,
4686 chown = 212,
4687 setuid = 213,
4688 setgid = 214,
4689 setfsuid = 215,
4690 setfsgid = 216,
4691 pivot_root = 217,
4692 mincore = 218,
4693 madvise = 219,
4694 getdents64 = 220,
4695 readahead = 222,
4696 setxattr = 224,
4697 lsetxattr = 225,
4698 fsetxattr = 226,
4699 getxattr = 227,
4700 lgetxattr = 228,
4701 fgetxattr = 229,
4702 listxattr = 230,
4703 llistxattr = 231,
4704 flistxattr = 232,
4705 removexattr = 233,
4706 lremovexattr = 234,
4707 fremovexattr = 235,
4708 gettid = 236,
4709 tkill = 237,
4710 futex = 238,
4711 sched_setaffinity = 239,
4712 sched_getaffinity = 240,
4713 tgkill = 241,
4714 io_setup = 243,
4715 io_destroy = 244,
4716 io_getevents = 245,
4717 io_submit = 246,
4718 io_cancel = 247,
4719 exit_group = 248,
4720 epoll_create = 249,
4721 epoll_ctl = 250,
4722 epoll_wait = 251,
4723 set_tid_address = 252,
4724 fadvise64 = 253,
4725 timer_create = 254,
4726 timer_settime = 255,
4727 timer_gettime = 256,
4728 timer_getoverrun = 257,
4729 timer_delete = 258,
4730 clock_settime = 259,
4731 clock_gettime = 260,
4732 clock_getres = 261,
4733 clock_nanosleep = 262,
4734 statfs64 = 265,
4735 fstatfs64 = 266,
4736 remap_file_pages = 267,
4737 mbind = 268,
4738 get_mempolicy = 269,
4739 set_mempolicy = 270,
4740 mq_open = 271,
4741 mq_unlink = 272,
4742 mq_timedsend = 273,
4743 mq_timedreceive = 274,
4744 mq_notify = 275,
4745 mq_getsetattr = 276,
4746 kexec_load = 277,
4747 add_key = 278,
4748 request_key = 279,
4749 keyctl = 280,
4750 waitid = 281,
4751 ioprio_set = 282,
4752 ioprio_get = 283,
4753 inotify_init = 284,
4754 inotify_add_watch = 285,
4755 inotify_rm_watch = 286,
4756 migrate_pages = 287,
4757 openat = 288,
4758 mkdirat = 289,
4759 mknodat = 290,
4760 fchownat = 291,
4761 futimesat = 292,
4762 fstatat64 = 293,
4763 unlinkat = 294,
4764 renameat = 295,
4765 linkat = 296,
4766 symlinkat = 297,
4767 readlinkat = 298,
4768 fchmodat = 299,
4769 faccessat = 300,
4770 pselect6 = 301,
4771 ppoll = 302,
4772 unshare = 303,
4773 set_robust_list = 304,
4774 get_robust_list = 305,
4775 splice = 306,
4776 sync_file_range = 307,
4777 tee = 308,
4778 vmsplice = 309,
4779 move_pages = 310,
4780 getcpu = 311,
4781 epoll_pwait = 312,
4782 utimes = 313,
4783 fallocate = 314,
4784 utimensat = 315,
4785 signalfd = 316,
4786 timerfd = 317,
4787 eventfd = 318,
4788 timerfd_create = 319,
4789 timerfd_settime = 320,
4790 timerfd_gettime = 321,
4791 signalfd4 = 322,
4792 eventfd2 = 323,
4793 inotify_init1 = 324,
4794 pipe2 = 325,
4795 dup3 = 326,
4796 epoll_create1 = 327,
4797 preadv = 328,
4798 pwritev = 329,
4799 rt_tgsigqueueinfo = 330,
4800 perf_event_open = 331,
4801 fanotify_init = 332,
4802 fanotify_mark = 333,
4803 prlimit64 = 334,
4804 name_to_handle_at = 335,
4805 open_by_handle_at = 336,
4806 clock_adjtime = 337,
4807 syncfs = 338,
4808 setns = 339,
4809 process_vm_readv = 340,
4810 process_vm_writev = 341,
4811 s390_runtime_instr = 342,
4812 kcmp = 343,
4813 finit_module = 344,
4814 sched_setattr = 345,
4815 sched_getattr = 346,
4816 renameat2 = 347,
4817 seccomp = 348,
4818 getrandom = 349,
4819 memfd_create = 350,
4820 bpf = 351,
4821 s390_pci_mmio_write = 352,
4822 s390_pci_mmio_read = 353,
4823 execveat = 354,
4824 userfaultfd = 355,
4825 membarrier = 356,
4826 recvmmsg = 357,
4827 sendmmsg = 358,
4828 socket = 359,
4829 socketpair = 360,
4830 bind = 361,
4831 connect = 362,
4832 listen = 363,
4833 accept4 = 364,
4834 getsockopt = 365,
4835 setsockopt = 366,
4836 getsockname = 367,
4837 getpeername = 368,
4838 sendto = 369,
4839 sendmsg = 370,
4840 recvfrom = 371,
4841 recvmsg = 372,
4842 shutdown = 373,
4843 mlock2 = 374,
4844 copy_file_range = 375,
4845 preadv2 = 376,
4846 pwritev2 = 377,
4847 s390_guarded_storage = 378,
4848 statx = 379,
4849 s390_sthyi = 380,
4850 kexec_file_load = 381,
4851 io_pgetevents = 382,
4852 rseq = 383,
4853 pkey_mprotect = 384,
4854 pkey_alloc = 385,
4855 pkey_free = 386,
4856 semtimedop = 392,
4857 semget = 393,
4858 semctl = 394,
4859 shmget = 395,
4860 shmctl = 396,
4861 shmat = 397,
4862 shmdt = 398,
4863 msgget = 399,
4864 msgsnd = 400,
4865 msgrcv = 401,
4866 msgctl = 402,
4867 pidfd_send_signal = 424,
4868 io_uring_setup = 425,
4869 io_uring_enter = 426,
4870 io_uring_register = 427,
4871 open_tree = 428,
4872 move_mount = 429,
4873 fsopen = 430,
4874 fsconfig = 431,
4875 fsmount = 432,
4876 fspick = 433,
4877 pidfd_open = 434,
4878 clone3 = 435,
4879 close_range = 436,
4880 openat2 = 437,
4881 pidfd_getfd = 438,
4882 faccessat2 = 439,
4883 process_madvise = 440,
4884 epoll_pwait2 = 441,
4885 mount_setattr = 442,
4886 quotactl_fd = 443,
4887 landlock_create_ruleset = 444,
4888 landlock_add_rule = 445,
4889 landlock_restrict_self = 446,
4890 memfd_secret = 447,
4891 process_mrelease = 448,
4892 futex_waitv = 449,
4893 set_mempolicy_home_node = 450,
4894 cachestat = 451,
4895 fchmodat2 = 452,
4896 map_shadow_stack = 453,
4897 futex_wake = 454,
4898 futex_wait = 455,
4899 futex_requeue = 456,
4900};
4901
4902pub const Xtensa = enum(usize) {
4903 spill = 0,
4904 xtensa = 1,
4905 open = 8,
4906 close = 9,
4907 dup = 10,
4908 dup2 = 11,
4909 read = 12,
4910 write = 13,
4911 select = 14,
4912 lseek = 15,
4913 poll = 16,
4914 llseek = 17,
4915 epoll_wait = 18,
4916 epoll_ctl = 19,
4917 epoll_create = 20,
4918 creat = 21,
4919 truncate = 22,
4920 ftruncate = 23,
4921 readv = 24,
4922 writev = 25,
4923 fsync = 26,
4924 fdatasync = 27,
4925 truncate64 = 28,
4926 ftruncate64 = 29,
4927 pread64 = 30,
4928 pwrite64 = 31,
4929 link = 32,
4930 rename = 33,
4931 symlink = 34,
4932 readlink = 35,
4933 mknod = 36,
4934 pipe = 37,
4935 unlink = 38,
4936 rmdir = 39,
4937 mkdir = 40,
4938 chdir = 41,
4939 fchdir = 42,
4940 getcwd = 43,
4941 chmod = 44,
4942 chown = 45,
4943 stat = 46,
4944 stat64 = 47,
4945 lchown = 48,
4946 lstat = 49,
4947 lstat64 = 50,
4948 fchmod = 52,
4949 fchown = 53,
4950 fstat = 54,
4951 fstat64 = 55,
4952 flock = 56,
4953 access = 57,
4954 umask = 58,
4955 getdents = 59,
4956 getdents64 = 60,
4957 fcntl64 = 61,
4958 fallocate = 62,
4959 fadvise64_64 = 63,
4960 utime = 64,
4961 utimes = 65,
4962 ioctl = 66,
4963 fcntl = 67,
4964 setxattr = 68,
4965 getxattr = 69,
4966 listxattr = 70,
4967 removexattr = 71,
4968 lsetxattr = 72,
4969 lgetxattr = 73,
4970 llistxattr = 74,
4971 lremovexattr = 75,
4972 fsetxattr = 76,
4973 fgetxattr = 77,
4974 flistxattr = 78,
4975 fremovexattr = 79,
4976 mmap2 = 80,
4977 munmap = 81,
4978 mprotect = 82,
4979 brk = 83,
4980 mlock = 84,
4981 munlock = 85,
4982 mlockall = 86,
4983 munlockall = 87,
4984 mremap = 88,
4985 msync = 89,
4986 mincore = 90,
4987 madvise = 91,
4988 shmget = 92,
4989 shmat = 93,
4990 shmctl = 94,
4991 shmdt = 95,
4992 socket = 96,
4993 setsockopt = 97,
4994 getsockopt = 98,
4995 shutdown = 99,
4996 bind = 100,
4997 connect = 101,
4998 listen = 102,
4999 accept = 103,
5000 getsockname = 104,
5001 getpeername = 105,
5002 sendmsg = 106,
5003 recvmsg = 107,
5004 send = 108,
5005 recv = 109,
5006 sendto = 110,
5007 recvfrom = 111,
5008 socketpair = 112,
5009 sendfile = 113,
5010 sendfile64 = 114,
5011 sendmmsg = 115,
5012 clone = 116,
5013 execve = 117,
5014 exit = 118,
5015 exit_group = 119,
5016 getpid = 120,
5017 wait4 = 121,
5018 waitid = 122,
5019 kill = 123,
5020 tkill = 124,
5021 tgkill = 125,
5022 set_tid_address = 126,
5023 gettid = 127,
5024 setsid = 128,
5025 getsid = 129,
5026 prctl = 130,
5027 personality = 131,
5028 getpriority = 132,
5029 setpriority = 133,
5030 setitimer = 134,
5031 getitimer = 135,
5032 setuid = 136,
5033 getuid = 137,
5034 setgid = 138,
5035 getgid = 139,
5036 geteuid = 140,
5037 getegid = 141,
5038 setreuid = 142,
5039 setregid = 143,
5040 setresuid = 144,
5041 getresuid = 145,
5042 setresgid = 146,
5043 getresgid = 147,
5044 setpgid = 148,
5045 getpgid = 149,
5046 getppid = 150,
5047 getpgrp = 151,
5048 times = 154,
5049 acct = 155,
5050 sched_setaffinity = 156,
5051 sched_getaffinity = 157,
5052 capget = 158,
5053 capset = 159,
5054 ptrace = 160,
5055 semtimedop = 161,
5056 semget = 162,
5057 semop = 163,
5058 semctl = 164,
5059 msgget = 166,
5060 msgsnd = 167,
5061 msgrcv = 168,
5062 msgctl = 169,
5063 umount2 = 171,
5064 mount = 172,
5065 swapon = 173,
5066 chroot = 174,
5067 pivot_root = 175,
5068 umount = 176,
5069 swapoff = 177,
5070 sync = 178,
5071 syncfs = 179,
5072 setfsuid = 180,
5073 setfsgid = 181,
5074 sysfs = 182,
5075 ustat = 183,
5076 statfs = 184,
5077 fstatfs = 185,
5078 statfs64 = 186,
5079 fstatfs64 = 187,
5080 setrlimit = 188,
5081 getrlimit = 189,
5082 getrusage = 190,
5083 futex = 191,
5084 gettimeofday = 192,
5085 settimeofday = 193,
5086 adjtimex = 194,
5087 nanosleep = 195,
5088 getgroups = 196,
5089 setgroups = 197,
5090 sethostname = 198,
5091 setdomainname = 199,
5092 syslog = 200,
5093 vhangup = 201,
5094 uselib = 202,
5095 reboot = 203,
5096 quotactl = 204,
5097 nfsservctl = 205,
5098 sysctl = 206,
5099 bdflush = 207,
5100 uname = 208,
5101 sysinfo = 209,
5102 init_module = 210,
5103 delete_module = 211,
5104 sched_setparam = 212,
5105 sched_getparam = 213,
5106 sched_setscheduler = 214,
5107 sched_getscheduler = 215,
5108 sched_get_priority_max = 216,
5109 sched_get_priority_min = 217,
5110 sched_rr_get_interval = 218,
5111 sched_yield = 219,
5112 restart_syscall = 223,
5113 sigaltstack = 224,
5114 rt_sigreturn = 225,
5115 rt_sigaction = 226,
5116 rt_sigprocmask = 227,
5117 rt_sigpending = 228,
5118 rt_sigtimedwait = 229,
5119 rt_sigqueueinfo = 230,
5120 rt_sigsuspend = 231,
5121 mq_open = 232,
5122 mq_unlink = 233,
5123 mq_timedsend = 234,
5124 mq_timedreceive = 235,
5125 mq_notify = 236,
5126 mq_getsetattr = 237,
5127 io_setup = 239,
5128 io_destroy = 240,
5129 io_submit = 241,
5130 io_getevents = 242,
5131 io_cancel = 243,
5132 clock_settime = 244,
5133 clock_gettime = 245,
5134 clock_getres = 246,
5135 clock_nanosleep = 247,
5136 timer_create = 248,
5137 timer_delete = 249,
5138 timer_settime = 250,
5139 timer_gettime = 251,
5140 timer_getoverrun = 252,
5141 lookup_dcookie = 254,
5142 add_key = 256,
5143 request_key = 257,
5144 keyctl = 258,
5145 readahead = 260,
5146 remap_file_pages = 261,
5147 migrate_pages = 262,
5148 mbind = 263,
5149 get_mempolicy = 264,
5150 set_mempolicy = 265,
5151 unshare = 266,
5152 move_pages = 267,
5153 splice = 268,
5154 tee = 269,
5155 vmsplice = 270,
5156 pselect6 = 272,
5157 ppoll = 273,
5158 epoll_pwait = 274,
5159 epoll_create1 = 275,
5160 inotify_init = 276,
5161 inotify_add_watch = 277,
5162 inotify_rm_watch = 278,
5163 inotify_init1 = 279,
5164 getcpu = 280,
5165 kexec_load = 281,
5166 ioprio_set = 282,
5167 ioprio_get = 283,
5168 set_robust_list = 284,
5169 get_robust_list = 285,
5170 openat = 288,
5171 mkdirat = 289,
5172 mknodat = 290,
5173 unlinkat = 291,
5174 renameat = 292,
5175 linkat = 293,
5176 symlinkat = 294,
5177 readlinkat = 295,
5178 utimensat = 296,
5179 fchownat = 297,
5180 futimesat = 298,
5181 fstatat64 = 299,
5182 fchmodat = 300,
5183 faccessat = 301,
5184 signalfd = 304,
5185 eventfd = 306,
5186 recvmmsg = 307,
5187 setns = 308,
5188 signalfd4 = 309,
5189 dup3 = 310,
5190 pipe2 = 311,
5191 timerfd_create = 312,
5192 timerfd_settime = 313,
5193 timerfd_gettime = 314,
5194 eventfd2 = 316,
5195 preadv = 317,
5196 pwritev = 318,
5197 fanotify_init = 320,
5198 fanotify_mark = 321,
5199 process_vm_readv = 322,
5200 process_vm_writev = 323,
5201 name_to_handle_at = 324,
5202 open_by_handle_at = 325,
5203 sync_file_range = 326,
5204 perf_event_open = 327,
5205 rt_tgsigqueueinfo = 328,
5206 clock_adjtime = 329,
5207 prlimit64 = 330,
5208 kcmp = 331,
5209 finit_module = 332,
5210 accept4 = 333,
5211 sched_setattr = 334,
5212 sched_getattr = 335,
5213 renameat2 = 336,
5214 seccomp = 337,
5215 getrandom = 338,
5216 memfd_create = 339,
5217 bpf = 340,
5218 execveat = 341,
5219 userfaultfd = 342,
5220 membarrier = 343,
5221 mlock2 = 344,
5222 copy_file_range = 345,
5223 preadv2 = 346,
5224 pwritev2 = 347,
5225 pkey_mprotect = 348,
5226 pkey_alloc = 349,
5227 pkey_free = 350,
5228 statx = 351,
5229 rseq = 352,
5230 clock_gettime64 = 403,
5231 clock_settime64 = 404,
5232 clock_adjtime64 = 405,
5233 clock_getres_time64 = 406,
5234 clock_nanosleep_time64 = 407,
5235 timer_gettime64 = 408,
5236 timer_settime64 = 409,
5237 timerfd_gettime64 = 410,
5238 timerfd_settime64 = 411,
5239 utimensat_time64 = 412,
5240 pselect6_time64 = 413,
5241 ppoll_time64 = 414,
5242 io_pgetevents_time64 = 416,
5243 recvmmsg_time64 = 417,
5244 mq_timedsend_time64 = 418,
5245 mq_timedreceive_time64 = 419,
5246 semtimedop_time64 = 420,
5247 rt_sigtimedwait_time64 = 421,
5248 futex_time64 = 422,
5249 sched_rr_get_interval_time64 = 423,
5250 pidfd_send_signal = 424,
5251 io_uring_setup = 425,
5252 io_uring_enter = 426,
5253 io_uring_register = 427,
5254 open_tree = 428,
5255 move_mount = 429,
5256 fsopen = 430,
5257 fsconfig = 431,
5258 fsmount = 432,
5259 fspick = 433,
5260 pidfd_open = 434,
5261 clone3 = 435,
5262 close_range = 436,
5263 openat2 = 437,
5264 pidfd_getfd = 438,
5265 faccessat2 = 439,
5266 process_madvise = 440,
5267 epoll_pwait2 = 441,
5268 mount_setattr = 442,
5269 quotactl_fd = 443,
5270 landlock_create_ruleset = 444,
5271 landlock_add_rule = 445,
5272 landlock_restrict_self = 446,
5273 process_mrelease = 448,
5274 futex_waitv = 449,
5275 set_mempolicy_home_node = 450,
5276 cachestat = 451,
5277 fchmodat2 = 452,
5278 map_shadow_stack = 453,
5279 futex_wake = 454,
5280 futex_wait = 455,
5281 futex_requeue = 456,
5282};
5283
5284pub const Arm64 = enum(usize) {
5285 io_setup = 0,
5286 io_destroy = 1,
5287 io_submit = 2,
5288 io_cancel = 3,
5289 io_getevents = 4,
5290 setxattr = 5,
5291 lsetxattr = 6,
5292 fsetxattr = 7,
5293 getxattr = 8,
5294 lgetxattr = 9,
5295 fgetxattr = 10,
5296 listxattr = 11,
5297 llistxattr = 12,
5298 flistxattr = 13,
5299 removexattr = 14,
5300 lremovexattr = 15,
5301 fremovexattr = 16,
5302 getcwd = 17,
5303 lookup_dcookie = 18,
5304 eventfd2 = 19,
5305 epoll_create1 = 20,
5306 epoll_ctl = 21,
5307 epoll_pwait = 22,
5308 dup = 23,
5309 dup3 = 24,
5310 fcntl = 25,
5311 inotify_init1 = 26,
5312 inotify_add_watch = 27,
5313 inotify_rm_watch = 28,
5314 ioctl = 29,
5315 ioprio_set = 30,
5316 ioprio_get = 31,
5317 flock = 32,
5318 mknodat = 33,
5319 mkdirat = 34,
5320 unlinkat = 35,
5321 symlinkat = 36,
5322 linkat = 37,
5323 renameat = 38,
5324 umount2 = 39,
5325 mount = 40,
5326 pivot_root = 41,
5327 nfsservctl = 42,
5328 statfs = 43,
5329 fstatfs = 44,
5330 truncate = 45,
5331 ftruncate = 46,
5332 fallocate = 47,
5333 faccessat = 48,
5334 chdir = 49,
5335 fchdir = 50,
5336 chroot = 51,
5337 fchmod = 52,
5338 fchmodat = 53,
5339 fchownat = 54,
5340 fchown = 55,
5341 openat = 56,
5342 close = 57,
5343 vhangup = 58,
5344 pipe2 = 59,
5345 quotactl = 60,
5346 getdents64 = 61,
5347 lseek = 62,
5348 read = 63,
5349 write = 64,
5350 readv = 65,
5351 writev = 66,
5352 pread64 = 67,
5353 pwrite64 = 68,
5354 preadv = 69,
5355 pwritev = 70,
5356 sendfile64 = 71,
5357 pselect6 = 72,
5358 ppoll = 73,
5359 signalfd4 = 74,
5360 vmsplice = 75,
5361 splice = 76,
5362 tee = 77,
5363 readlinkat = 78,
5364 fstatat64 = 79,
5365 fstat64 = 80,
5366 sync = 81,
5367 fsync = 82,
5368 fdatasync = 83,
5369 sync_file_range = 84,
5370 timerfd_create = 85,
5371 timerfd_settime = 86,
5372 timerfd_gettime = 87,
5373 utimensat = 88,
5374 acct = 89,
5375 capget = 90,
5376 capset = 91,
5377 personality = 92,
5378 exit = 93,
5379 exit_group = 94,
5380 waitid = 95,
5381 set_tid_address = 96,
5382 unshare = 97,
5383 futex = 98,
5384 set_robust_list = 99,
5385 get_robust_list = 100,
5386 nanosleep = 101,
5387 getitimer = 102,
5388 setitimer = 103,
5389 kexec_load = 104,
5390 init_module = 105,
5391 delete_module = 106,
5392 timer_create = 107,
5393 timer_gettime = 108,
5394 timer_getoverrun = 109,
5395 timer_settime = 110,
5396 timer_delete = 111,
5397 clock_settime = 112,
5398 clock_gettime = 113,
5399 clock_getres = 114,
5400 clock_nanosleep = 115,
5401 syslog = 116,
5402 ptrace = 117,
5403 sched_setparam = 118,
5404 sched_setscheduler = 119,
5405 sched_getscheduler = 120,
5406 sched_getparam = 121,
5407 sched_setaffinity = 122,
5408 sched_getaffinity = 123,
5409 sched_yield = 124,
5410 sched_get_priority_max = 125,
5411 sched_get_priority_min = 126,
5412 sched_rr_get_interval = 127,
5413 restart_syscall = 128,
5414 kill = 129,
5415 tkill = 130,
5416 tgkill = 131,
5417 sigaltstack = 132,
5418 rt_sigsuspend = 133,
5419 rt_sigaction = 134,
5420 rt_sigprocmask = 135,
5421 rt_sigpending = 136,
5422 rt_sigtimedwait = 137,
5423 rt_sigqueueinfo = 138,
5424 rt_sigreturn = 139,
5425 setpriority = 140,
5426 getpriority = 141,
5427 reboot = 142,
5428 setregid = 143,
5429 setgid = 144,
5430 setreuid = 145,
5431 setuid = 146,
5432 setresuid = 147,
5433 getresuid = 148,
5434 setresgid = 149,
5435 getresgid = 150,
5436 setfsuid = 151,
5437 setfsgid = 152,
5438 times = 153,
5439 setpgid = 154,
5440 getpgid = 155,
5441 getsid = 156,
5442 setsid = 157,
5443 getgroups = 158,
5444 setgroups = 159,
5445 uname = 160,
5446 sethostname = 161,
5447 setdomainname = 162,
5448 getrlimit = 163,
5449 setrlimit = 164,
5450 getrusage = 165,
5451 umask = 166,
5452 prctl = 167,
5453 getcpu = 168,
5454 gettimeofday = 169,
5455 settimeofday = 170,
5456 adjtimex = 171,
5457 getpid = 172,
5458 getppid = 173,
5459 getuid = 174,
5460 geteuid = 175,
5461 getgid = 176,
5462 getegid = 177,
5463 gettid = 178,
5464 sysinfo = 179,
5465 mq_open = 180,
5466 mq_unlink = 181,
5467 mq_timedsend = 182,
5468 mq_timedreceive = 183,
5469 mq_notify = 184,
5470 mq_getsetattr = 185,
5471 msgget = 186,
5472 msgctl = 187,
5473 msgrcv = 188,
5474 msgsnd = 189,
5475 semget = 190,
5476 semctl = 191,
5477 semtimedop = 192,
5478 semop = 193,
5479 shmget = 194,
5480 shmctl = 195,
5481 shmat = 196,
5482 shmdt = 197,
5483 socket = 198,
5484 socketpair = 199,
5485 bind = 200,
5486 listen = 201,
5487 accept = 202,
5488 connect = 203,
5489 getsockname = 204,
5490 getpeername = 205,
5491 sendto = 206,
5492 recvfrom = 207,
5493 setsockopt = 208,
5494 getsockopt = 209,
5495 shutdown = 210,
5496 sendmsg = 211,
5497 recvmsg = 212,
5498 readahead = 213,
5499 brk = 214,
5500 munmap = 215,
5501 mremap = 216,
5502 add_key = 217,
5503 request_key = 218,
5504 keyctl = 219,
5505 clone = 220,
5506 execve = 221,
5507 mmap = 222,
5508 fadvise64_64 = 223,
5509 swapon = 224,
5510 swapoff = 225,
5511 mprotect = 226,
5512 msync = 227,
5513 mlock = 228,
5514 munlock = 229,
5515 mlockall = 230,
5516 munlockall = 231,
5517 mincore = 232,
5518 madvise = 233,
5519 remap_file_pages = 234,
5520 mbind = 235,
5521 get_mempolicy = 236,
5522 set_mempolicy = 237,
5523 migrate_pages = 238,
5524 move_pages = 239,
5525 rt_tgsigqueueinfo = 240,
5526 perf_event_open = 241,
5527 accept4 = 242,
5528 recvmmsg = 243,
5529 wait4 = 260,
5530 prlimit64 = 261,
5531 fanotify_init = 262,
5532 fanotify_mark = 263,
5533 name_to_handle_at = 264,
5534 open_by_handle_at = 265,
5535 clock_adjtime = 266,
5536 syncfs = 267,
5537 setns = 268,
5538 sendmmsg = 269,
5539 process_vm_readv = 270,
5540 process_vm_writev = 271,
5541 kcmp = 272,
5542 finit_module = 273,
5543 sched_setattr = 274,
5544 sched_getattr = 275,
5545 renameat2 = 276,
5546 seccomp = 277,
5547 getrandom = 278,
5548 memfd_create = 279,
5549 bpf = 280,
5550 execveat = 281,
5551 userfaultfd = 282,
5552 membarrier = 283,
5553 mlock2 = 284,
5554 copy_file_range = 285,
5555 preadv2 = 286,
5556 pwritev2 = 287,
5557 pkey_mprotect = 288,
5558 pkey_alloc = 289,
5559 pkey_free = 290,
5560 statx = 291,
5561 io_pgetevents = 292,
5562 rseq = 293,
5563 kexec_file_load = 294,
5564 pidfd_send_signal = 424,
5565 io_uring_setup = 425,
5566 io_uring_enter = 426,
5567 io_uring_register = 427,
5568 open_tree = 428,
5569 move_mount = 429,
5570 fsopen = 430,
5571 fsconfig = 431,
5572 fsmount = 432,
5573 fspick = 433,
5574 pidfd_open = 434,
5575 clone3 = 435,
5576 close_range = 436,
5577 openat2 = 437,
5578 pidfd_getfd = 438,
5579 faccessat2 = 439,
5580 process_madvise = 440,
5581 epoll_pwait2 = 441,
5582 mount_setattr = 442,
5583 quotactl_fd = 443,
5584 landlock_create_ruleset = 444,
5585 landlock_add_rule = 445,
5586 landlock_restrict_self = 446,
5587 memfd_secret = 447,
5588 process_mrelease = 448,
5589 futex_waitv = 449,
5590 set_mempolicy_home_node = 450,
5591 cachestat = 451,
5592 fchmodat2 = 452,
5593 map_shadow_stack = 453,
5594 futex_wake = 454,
5595 futex_wait = 455,
5596 futex_requeue = 456,
5597};
5598
5599pub const RiscV32 = enum(usize) {
5600 io_setup = 0,
5601 io_destroy = 1,
5602 io_submit = 2,
5603 io_cancel = 3,
5604 setxattr = 5,
5605 lsetxattr = 6,
5606 fsetxattr = 7,
5607 getxattr = 8,
5608 lgetxattr = 9,
5609 fgetxattr = 10,
5610 listxattr = 11,
5611 llistxattr = 12,
5612 flistxattr = 13,
5613 removexattr = 14,
5614 lremovexattr = 15,
5615 fremovexattr = 16,
5616 getcwd = 17,
5617 lookup_dcookie = 18,
5618 eventfd2 = 19,
5619 epoll_create1 = 20,
5620 epoll_ctl = 21,
5621 epoll_pwait = 22,
5622 dup = 23,
5623 dup3 = 24,
5624 fcntl64 = 25,
5625 inotify_init1 = 26,
5626 inotify_add_watch = 27,
5627 inotify_rm_watch = 28,
5628 ioctl = 29,
5629 ioprio_set = 30,
5630 ioprio_get = 31,
5631 flock = 32,
5632 mknodat = 33,
5633 mkdirat = 34,
5634 unlinkat = 35,
5635 symlinkat = 36,
5636 linkat = 37,
5637 umount2 = 39,
5638 mount = 40,
5639 pivot_root = 41,
5640 nfsservctl = 42,
5641 statfs64 = 43,
5642 fstatfs64 = 44,
5643 truncate64 = 45,
5644 ftruncate64 = 46,
5645 fallocate = 47,
5646 faccessat = 48,
5647 chdir = 49,
5648 fchdir = 50,
5649 chroot = 51,
5650 fchmod = 52,
5651 fchmodat = 53,
5652 fchownat = 54,
5653 fchown = 55,
5654 openat = 56,
5655 close = 57,
5656 vhangup = 58,
5657 pipe2 = 59,
5658 quotactl = 60,
5659 getdents64 = 61,
5660 llseek = 62,
5661 read = 63,
5662 write = 64,
5663 readv = 65,
5664 writev = 66,
5665 pread64 = 67,
5666 pwrite64 = 68,
5667 preadv = 69,
5668 pwritev = 70,
5669 sendfile64 = 71,
5670 signalfd4 = 74,
5671 vmsplice = 75,
5672 splice = 76,
5673 tee = 77,
5674 readlinkat = 78,
5675 sync = 81,
5676 fsync = 82,
5677 fdatasync = 83,
5678 sync_file_range = 84,
5679 timerfd_create = 85,
5680 acct = 89,
5681 capget = 90,
5682 capset = 91,
5683 personality = 92,
5684 exit = 93,
5685 exit_group = 94,
5686 waitid = 95,
5687 set_tid_address = 96,
5688 unshare = 97,
5689 set_robust_list = 99,
5690 get_robust_list = 100,
5691 getitimer = 102,
5692 setitimer = 103,
5693 kexec_load = 104,
5694 init_module = 105,
5695 delete_module = 106,
5696 timer_create = 107,
5697 timer_getoverrun = 109,
5698 timer_delete = 111,
5699 syslog = 116,
5700 ptrace = 117,
5701 sched_setparam = 118,
5702 sched_setscheduler = 119,
5703 sched_getscheduler = 120,
5704 sched_getparam = 121,
5705 sched_setaffinity = 122,
5706 sched_getaffinity = 123,
5707 sched_yield = 124,
5708 sched_get_priority_max = 125,
5709 sched_get_priority_min = 126,
5710 restart_syscall = 128,
5711 kill = 129,
5712 tkill = 130,
5713 tgkill = 131,
5714 sigaltstack = 132,
5715 rt_sigsuspend = 133,
5716 rt_sigaction = 134,
5717 rt_sigprocmask = 135,
5718 rt_sigpending = 136,
5719 rt_sigqueueinfo = 138,
5720 rt_sigreturn = 139,
5721 setpriority = 140,
5722 getpriority = 141,
5723 reboot = 142,
5724 setregid = 143,
5725 setgid = 144,
5726 setreuid = 145,
5727 setuid = 146,
5728 setresuid = 147,
5729 getresuid = 148,
5730 setresgid = 149,
5731 getresgid = 150,
5732 setfsuid = 151,
5733 setfsgid = 152,
5734 times = 153,
5735 setpgid = 154,
5736 getpgid = 155,
5737 getsid = 156,
5738 setsid = 157,
5739 getgroups = 158,
5740 setgroups = 159,
5741 uname = 160,
5742 sethostname = 161,
5743 setdomainname = 162,
5744 getrusage = 165,
5745 umask = 166,
5746 prctl = 167,
5747 getcpu = 168,
5748 getpid = 172,
5749 getppid = 173,
5750 getuid = 174,
5751 geteuid = 175,
5752 getgid = 176,
5753 getegid = 177,
5754 gettid = 178,
5755 sysinfo = 179,
5756 mq_open = 180,
5757 mq_unlink = 181,
5758 mq_notify = 184,
5759 mq_getsetattr = 185,
5760 msgget = 186,
5761 msgctl = 187,
5762 msgrcv = 188,
5763 msgsnd = 189,
5764 semget = 190,
5765 semctl = 191,
5766 semop = 193,
5767 shmget = 194,
5768 shmctl = 195,
5769 shmat = 196,
5770 shmdt = 197,
5771 socket = 198,
5772 socketpair = 199,
5773 bind = 200,
5774 listen = 201,
5775 accept = 202,
5776 connect = 203,
5777 getsockname = 204,
5778 getpeername = 205,
5779 sendto = 206,
5780 recvfrom = 207,
5781 setsockopt = 208,
5782 getsockopt = 209,
5783 shutdown = 210,
5784 sendmsg = 211,
5785 recvmsg = 212,
5786 readahead = 213,
5787 brk = 214,
5788 munmap = 215,
5789 mremap = 216,
5790 add_key = 217,
5791 request_key = 218,
5792 keyctl = 219,
5793 clone = 220,
5794 execve = 221,
5795 mmap2 = 222,
5796 fadvise64_64 = 223,
5797 swapon = 224,
5798 swapoff = 225,
5799 mprotect = 226,
5800 msync = 227,
5801 mlock = 228,
5802 munlock = 229,
5803 mlockall = 230,
5804 munlockall = 231,
5805 mincore = 232,
5806 madvise = 233,
5807 remap_file_pages = 234,
5808 mbind = 235,
5809 get_mempolicy = 236,
5810 set_mempolicy = 237,
5811 migrate_pages = 238,
5812 move_pages = 239,
5813 rt_tgsigqueueinfo = 240,
5814 perf_event_open = 241,
5815 accept4 = 242,
5816 prlimit64 = 261,
5817 fanotify_init = 262,
5818 fanotify_mark = 263,
5819 name_to_handle_at = 264,
5820 open_by_handle_at = 265,
5821 syncfs = 267,
5822 setns = 268,
5823 sendmmsg = 269,
5824 process_vm_readv = 270,
5825 process_vm_writev = 271,
5826 kcmp = 272,
5827 finit_module = 273,
5828 sched_setattr = 274,
5829 sched_getattr = 275,
5830 renameat2 = 276,
5831 seccomp = 277,
5832 getrandom = 278,
5833 memfd_create = 279,
5834 bpf = 280,
5835 execveat = 281,
5836 userfaultfd = 282,
5837 membarrier = 283,
5838 mlock2 = 284,
5839 copy_file_range = 285,
5840 preadv2 = 286,
5841 pwritev2 = 287,
5842 pkey_mprotect = 288,
5843 pkey_alloc = 289,
5844 pkey_free = 290,
5845 statx = 291,
5846 rseq = 293,
5847 kexec_file_load = 294,
5848 clock_gettime = 403,
5849 clock_settime = 404,
5850 clock_adjtime = 405,
5851 clock_getres = 406,
5852 clock_nanosleep = 407,
5853 timer_gettime = 408,
5854 timer_settime = 409,
5855 timerfd_gettime = 410,
5856 timerfd_settime = 411,
5857 utimensat = 412,
5858 pselect6 = 413,
5859 ppoll = 414,
5860 io_pgetevents = 416,
5861 recvmmsg = 417,
5862 mq_timedsend = 418,
5863 mq_timedreceive = 419,
5864 semtimedop = 420,
5865 rt_sigtimedwait = 421,
5866 futex = 422,
5867 sched_rr_get_interval = 423,
5868 pidfd_send_signal = 424,
5869 io_uring_setup = 425,
5870 io_uring_enter = 426,
5871 io_uring_register = 427,
5872 open_tree = 428,
5873 move_mount = 429,
5874 fsopen = 430,
5875 fsconfig = 431,
5876 fsmount = 432,
5877 fspick = 433,
5878 pidfd_open = 434,
5879 clone3 = 435,
5880 close_range = 436,
5881 openat2 = 437,
5882 pidfd_getfd = 438,
5883 faccessat2 = 439,
5884 process_madvise = 440,
5885 epoll_pwait2 = 441,
5886 mount_setattr = 442,
5887 quotactl_fd = 443,
5888 landlock_create_ruleset = 444,
5889 landlock_add_rule = 445,
5890 landlock_restrict_self = 446,
5891 memfd_secret = 447,
5892 process_mrelease = 448,
5893 futex_waitv = 449,
5894 set_mempolicy_home_node = 450,
5895 cachestat = 451,
5896 fchmodat2 = 452,
5897 map_shadow_stack = 453,
5898 futex_wake = 454,
5899 futex_wait = 455,
5900 futex_requeue = 456,
5901 riscv_flush_icache = (244 + 15),
5902 riscv_hwprobe = (244 + 14),
5903};
5904
5905pub const RiscV64 = enum(usize) {
5906 io_setup = 0,
5907 io_destroy = 1,
5908 io_submit = 2,
5909 io_cancel = 3,
5910 io_getevents = 4,
5911 setxattr = 5,
5912 lsetxattr = 6,
5913 fsetxattr = 7,
5914 getxattr = 8,
5915 lgetxattr = 9,
5916 fgetxattr = 10,
5917 listxattr = 11,
5918 llistxattr = 12,
5919 flistxattr = 13,
5920 removexattr = 14,
5921 lremovexattr = 15,
5922 fremovexattr = 16,
5923 getcwd = 17,
5924 lookup_dcookie = 18,
5925 eventfd2 = 19,
5926 epoll_create1 = 20,
5927 epoll_ctl = 21,
5928 epoll_pwait = 22,
5929 dup = 23,
5930 dup3 = 24,
5931 fcntl = 25,
5932 inotify_init1 = 26,
5933 inotify_add_watch = 27,
5934 inotify_rm_watch = 28,
5935 ioctl = 29,
5936 ioprio_set = 30,
5937 ioprio_get = 31,
5938 flock = 32,
5939 mknodat = 33,
5940 mkdirat = 34,
5941 unlinkat = 35,
5942 symlinkat = 36,
5943 linkat = 37,
5944 umount2 = 39,
5945 mount = 40,
5946 pivot_root = 41,
5947 nfsservctl = 42,
5948 statfs = 43,
5949 fstatfs = 44,
5950 truncate = 45,
5951 ftruncate = 46,
5952 fallocate = 47,
5953 faccessat = 48,
5954 chdir = 49,
5955 fchdir = 50,
5956 chroot = 51,
5957 fchmod = 52,
5958 fchmodat = 53,
5959 fchownat = 54,
5960 fchown = 55,
5961 openat = 56,
5962 close = 57,
5963 vhangup = 58,
5964 pipe2 = 59,
5965 quotactl = 60,
5966 getdents64 = 61,
5967 lseek = 62,
5968 read = 63,
5969 write = 64,
5970 readv = 65,
5971 writev = 66,
5972 pread64 = 67,
5973 pwrite64 = 68,
5974 preadv = 69,
5975 pwritev = 70,
5976 sendfile64 = 71,
5977 pselect6 = 72,
5978 ppoll = 73,
5979 signalfd4 = 74,
5980 vmsplice = 75,
5981 splice = 76,
5982 tee = 77,
5983 readlinkat = 78,
5984 fstatat64 = 79,
5985 fstat64 = 80,
5986 sync = 81,
5987 fsync = 82,
5988 fdatasync = 83,
5989 sync_file_range = 84,
5990 timerfd_create = 85,
5991 timerfd_settime = 86,
5992 timerfd_gettime = 87,
5993 utimensat = 88,
5994 acct = 89,
5995 capget = 90,
5996 capset = 91,
5997 personality = 92,
5998 exit = 93,
5999 exit_group = 94,
6000 waitid = 95,
6001 set_tid_address = 96,
6002 unshare = 97,
6003 futex = 98,
6004 set_robust_list = 99,
6005 get_robust_list = 100,
6006 nanosleep = 101,
6007 getitimer = 102,
6008 setitimer = 103,
6009 kexec_load = 104,
6010 init_module = 105,
6011 delete_module = 106,
6012 timer_create = 107,
6013 timer_gettime = 108,
6014 timer_getoverrun = 109,
6015 timer_settime = 110,
6016 timer_delete = 111,
6017 clock_settime = 112,
6018 clock_gettime = 113,
6019 clock_getres = 114,
6020 clock_nanosleep = 115,
6021 syslog = 116,
6022 ptrace = 117,
6023 sched_setparam = 118,
6024 sched_setscheduler = 119,
6025 sched_getscheduler = 120,
6026 sched_getparam = 121,
6027 sched_setaffinity = 122,
6028 sched_getaffinity = 123,
6029 sched_yield = 124,
6030 sched_get_priority_max = 125,
6031 sched_get_priority_min = 126,
6032 sched_rr_get_interval = 127,
6033 restart_syscall = 128,
6034 kill = 129,
6035 tkill = 130,
6036 tgkill = 131,
6037 sigaltstack = 132,
6038 rt_sigsuspend = 133,
6039 rt_sigaction = 134,
6040 rt_sigprocmask = 135,
6041 rt_sigpending = 136,
6042 rt_sigtimedwait = 137,
6043 rt_sigqueueinfo = 138,
6044 rt_sigreturn = 139,
6045 setpriority = 140,
6046 getpriority = 141,
6047 reboot = 142,
6048 setregid = 143,
6049 setgid = 144,
6050 setreuid = 145,
6051 setuid = 146,
6052 setresuid = 147,
6053 getresuid = 148,
6054 setresgid = 149,
6055 getresgid = 150,
6056 setfsuid = 151,
6057 setfsgid = 152,
6058 times = 153,
6059 setpgid = 154,
6060 getpgid = 155,
6061 getsid = 156,
6062 setsid = 157,
6063 getgroups = 158,
6064 setgroups = 159,
6065 uname = 160,
6066 sethostname = 161,
6067 setdomainname = 162,
6068 getrlimit = 163,
6069 setrlimit = 164,
6070 getrusage = 165,
6071 umask = 166,
6072 prctl = 167,
6073 getcpu = 168,
6074 gettimeofday = 169,
6075 settimeofday = 170,
6076 adjtimex = 171,
6077 getpid = 172,
6078 getppid = 173,
6079 getuid = 174,
6080 geteuid = 175,
6081 getgid = 176,
6082 getegid = 177,
6083 gettid = 178,
6084 sysinfo = 179,
6085 mq_open = 180,
6086 mq_unlink = 181,
6087 mq_timedsend = 182,
6088 mq_timedreceive = 183,
6089 mq_notify = 184,
6090 mq_getsetattr = 185,
6091 msgget = 186,
6092 msgctl = 187,
6093 msgrcv = 188,
6094 msgsnd = 189,
6095 semget = 190,
6096 semctl = 191,
6097 semtimedop = 192,
6098 semop = 193,
6099 shmget = 194,
6100 shmctl = 195,
6101 shmat = 196,
6102 shmdt = 197,
6103 socket = 198,
6104 socketpair = 199,
6105 bind = 200,
6106 listen = 201,
6107 accept = 202,
6108 connect = 203,
6109 getsockname = 204,
6110 getpeername = 205,
6111 sendto = 206,
6112 recvfrom = 207,
6113 setsockopt = 208,
6114 getsockopt = 209,
6115 shutdown = 210,
6116 sendmsg = 211,
6117 recvmsg = 212,
6118 readahead = 213,
6119 brk = 214,
6120 munmap = 215,
6121 mremap = 216,
6122 add_key = 217,
6123 request_key = 218,
6124 keyctl = 219,
6125 clone = 220,
6126 execve = 221,
6127 mmap = 222,
6128 fadvise64_64 = 223,
6129 swapon = 224,
6130 swapoff = 225,
6131 mprotect = 226,
6132 msync = 227,
6133 mlock = 228,
6134 munlock = 229,
6135 mlockall = 230,
6136 munlockall = 231,
6137 mincore = 232,
6138 madvise = 233,
6139 remap_file_pages = 234,
6140 mbind = 235,
6141 get_mempolicy = 236,
6142 set_mempolicy = 237,
6143 migrate_pages = 238,
6144 move_pages = 239,
6145 rt_tgsigqueueinfo = 240,
6146 perf_event_open = 241,
6147 accept4 = 242,
6148 recvmmsg = 243,
6149 wait4 = 260,
6150 prlimit64 = 261,
6151 fanotify_init = 262,
6152 fanotify_mark = 263,
6153 name_to_handle_at = 264,
6154 open_by_handle_at = 265,
6155 clock_adjtime = 266,
6156 syncfs = 267,
6157 setns = 268,
6158 sendmmsg = 269,
6159 process_vm_readv = 270,
6160 process_vm_writev = 271,
6161 kcmp = 272,
6162 finit_module = 273,
6163 sched_setattr = 274,
6164 sched_getattr = 275,
6165 renameat2 = 276,
6166 seccomp = 277,
6167 getrandom = 278,
6168 memfd_create = 279,
6169 bpf = 280,
6170 execveat = 281,
6171 userfaultfd = 282,
6172 membarrier = 283,
6173 mlock2 = 284,
6174 copy_file_range = 285,
6175 preadv2 = 286,
6176 pwritev2 = 287,
6177 pkey_mprotect = 288,
6178 pkey_alloc = 289,
6179 pkey_free = 290,
6180 statx = 291,
6181 io_pgetevents = 292,
6182 rseq = 293,
6183 kexec_file_load = 294,
6184 pidfd_send_signal = 424,
6185 io_uring_setup = 425,
6186 io_uring_enter = 426,
6187 io_uring_register = 427,
6188 open_tree = 428,
6189 move_mount = 429,
6190 fsopen = 430,
6191 fsconfig = 431,
6192 fsmount = 432,
6193 fspick = 433,
6194 pidfd_open = 434,
6195 clone3 = 435,
6196 close_range = 436,
6197 openat2 = 437,
6198 pidfd_getfd = 438,
6199 faccessat2 = 439,
6200 process_madvise = 440,
6201 epoll_pwait2 = 441,
6202 mount_setattr = 442,
6203 quotactl_fd = 443,
6204 landlock_create_ruleset = 444,
6205 landlock_add_rule = 445,
6206 landlock_restrict_self = 446,
6207 memfd_secret = 447,
6208 process_mrelease = 448,
6209 futex_waitv = 449,
6210 set_mempolicy_home_node = 450,
6211 cachestat = 451,
6212 fchmodat2 = 452,
6213 map_shadow_stack = 453,
6214 futex_wake = 454,
6215 futex_wait = 455,
6216 futex_requeue = 456,
6217 riscv_flush_icache = (244 + 15),
6218 riscv_hwprobe = (244 + 14),
6219};
6220
6221pub const LoongArch64 = enum(usize) {
32836222 io_setup = 0,
32846223 io_destroy = 1,
32856224 io_submit = 2,
......@@ -3318,7 +6257,6 @@ pub const Arm64 = enum(usize) {
33186257 unlinkat = 35,
33196258 symlinkat = 36,
33206259 linkat = 37,
3321 renameat = 38,
33226260 umount2 = 39,
33236261 mount = 40,
33246262 pivot_root = 41,
......@@ -3359,8 +6297,6 @@ pub const Arm64 = enum(usize) {
33596297 splice = 76,
33606298 tee = 77,
33616299 readlinkat = 78,
3362 fstatat64 = 79,
3363 fstat64 = 80,
33646300 sync = 81,
33656301 fsync = 82,
33666302 fdatasync = 83,
......@@ -3443,8 +6379,6 @@ pub const Arm64 = enum(usize) {
34436379 uname = 160,
34446380 sethostname = 161,
34456381 setdomainname = 162,
3446 getrlimit = 163,
3447 setrlimit = 164,
34486382 getrusage = 165,
34496383 umask = 166,
34506384 prctl = 167,
......@@ -3582,7 +6516,6 @@ pub const Arm64 = enum(usize) {
35826516 landlock_create_ruleset = 444,
35836517 landlock_add_rule = 445,
35846518 landlock_restrict_self = 446,
3585 memfd_secret = 447,
35866519 process_mrelease = 448,
35876520 futex_waitv = 449,
35886521 set_mempolicy_home_node = 450,
......@@ -3594,11 +6527,12 @@ pub const Arm64 = enum(usize) {
35946527 futex_requeue = 456,
35956528};
35966529
3597pub const RiscV32 = enum(usize) {
6530pub const Arc = enum(usize) {
35986531 io_setup = 0,
35996532 io_destroy = 1,
36006533 io_submit = 2,
36016534 io_cancel = 3,
6535 io_getevents_time32 = 4,
36026536 setxattr = 5,
36036537 lsetxattr = 6,
36046538 fsetxattr = 7,
......@@ -3632,6 +6566,7 @@ pub const RiscV32 = enum(usize) {
36326566 unlinkat = 35,
36336567 symlinkat = 36,
36346568 linkat = 37,
6569 renameat = 38,
36356570 umount2 = 39,
36366571 mount = 40,
36376572 pivot_root = 41,
......@@ -3665,16 +6600,23 @@ pub const RiscV32 = enum(usize) {
36656600 preadv = 69,
36666601 pwritev = 70,
36676602 sendfile64 = 71,
6603 pselect6_time32 = 72,
6604 ppoll_time32 = 73,
36686605 signalfd4 = 74,
36696606 vmsplice = 75,
36706607 splice = 76,
36716608 tee = 77,
36726609 readlinkat = 78,
6610 fstatat64 = 79,
6611 fstat64 = 80,
36736612 sync = 81,
36746613 fsync = 82,
36756614 fdatasync = 83,
36766615 sync_file_range = 84,
36776616 timerfd_create = 85,
6617 timerfd_settime32 = 86,
6618 timerfd_gettime32 = 87,
6619 utimensat_time32 = 88,
36786620 acct = 89,
36796621 capget = 90,
36806622 capset = 91,
......@@ -3684,16 +6626,24 @@ pub const RiscV32 = enum(usize) {
36846626 waitid = 95,
36856627 set_tid_address = 96,
36866628 unshare = 97,
6629 futex_time32 = 98,
36876630 set_robust_list = 99,
36886631 get_robust_list = 100,
6632 nanosleep_time32 = 101,
36896633 getitimer = 102,
36906634 setitimer = 103,
36916635 kexec_load = 104,
36926636 init_module = 105,
36936637 delete_module = 106,
36946638 timer_create = 107,
6639 timer_gettime32 = 108,
36956640 timer_getoverrun = 109,
6641 timer_settime32 = 110,
36966642 timer_delete = 111,
6643 clock_settime32 = 112,
6644 clock_gettime32 = 113,
6645 clock_getres_time32 = 114,
6646 clock_nanosleep_time32 = 115,
36976647 syslog = 116,
36986648 ptrace = 117,
36996649 sched_setparam = 118,
......@@ -3705,6 +6655,7 @@ pub const RiscV32 = enum(usize) {
37056655 sched_yield = 124,
37066656 sched_get_priority_max = 125,
37076657 sched_get_priority_min = 126,
6658 sched_rr_get_interval_time32 = 127,
37086659 restart_syscall = 128,
37096660 kill = 129,
37106661 tkill = 130,
......@@ -3714,6 +6665,7 @@ pub const RiscV32 = enum(usize) {
37146665 rt_sigaction = 134,
37156666 rt_sigprocmask = 135,
37166667 rt_sigpending = 136,
6668 rt_sigtimedwait_time32 = 137,
37176669 rt_sigqueueinfo = 138,
37186670 rt_sigreturn = 139,
37196671 setpriority = 140,
......@@ -3739,10 +6691,15 @@ pub const RiscV32 = enum(usize) {
37396691 uname = 160,
37406692 sethostname = 161,
37416693 setdomainname = 162,
6694 getrlimit = 163,
6695 setrlimit = 164,
37426696 getrusage = 165,
37436697 umask = 166,
37446698 prctl = 167,
37456699 getcpu = 168,
6700 gettimeofday = 169,
6701 settimeofday = 170,
6702 adjtimex_time32 = 171,
37466703 getpid = 172,
37476704 getppid = 173,
37486705 getuid = 174,
......@@ -3753,6 +6710,8 @@ pub const RiscV32 = enum(usize) {
37536710 sysinfo = 179,
37546711 mq_open = 180,
37556712 mq_unlink = 181,
6713 mq_timedsend_time32 = 182,
6714 mq_timedreceive_time32 = 183,
37566715 mq_notify = 184,
37576716 mq_getsetattr = 185,
37586717 msgget = 186,
......@@ -3761,6 +6720,7 @@ pub const RiscV32 = enum(usize) {
37616720 msgsnd = 189,
37626721 semget = 190,
37636722 semctl = 191,
6723 semtimedop_time32 = 192,
37646724 semop = 193,
37656725 shmget = 194,
37666726 shmctl = 195,
......@@ -3790,7 +6750,7 @@ pub const RiscV32 = enum(usize) {
37906750 keyctl = 219,
37916751 clone = 220,
37926752 execve = 221,
3793 mmap2 = 222,
6753 mmap_pgoff = 222,
37946754 fadvise64_64 = 223,
37956755 swapon = 224,
37966756 swapoff = 225,
......@@ -3811,11 +6771,14 @@ pub const RiscV32 = enum(usize) {
38116771 rt_tgsigqueueinfo = 240,
38126772 perf_event_open = 241,
38136773 accept4 = 242,
6774 recvmmsg_time32 = 243,
6775 wait4 = 260,
38146776 prlimit64 = 261,
38156777 fanotify_init = 262,
38166778 fanotify_mark = 263,
38176779 name_to_handle_at = 264,
38186780 open_by_handle_at = 265,
6781 clock_adjtime32 = 266,
38196782 syncfs = 267,
38206783 setns = 268,
38216784 sendmmsg = 269,
......@@ -3841,6 +6804,7 @@ pub const RiscV32 = enum(usize) {
38416804 pkey_alloc = 289,
38426805 pkey_free = 290,
38436806 statx = 291,
6807 io_pgetevents_time32 = 292,
38446808 rseq = 293,
38456809 kexec_file_load = 294,
38466810 clock_gettime = 403,
......@@ -3886,7 +6850,6 @@ pub const RiscV32 = enum(usize) {
38866850 landlock_create_ruleset = 444,
38876851 landlock_add_rule = 445,
38886852 landlock_restrict_self = 446,
3889 memfd_secret = 447,
38906853 process_mrelease = 448,
38916854 futex_waitv = 449,
38926855 set_mempolicy_home_node = 450,
......@@ -3896,16 +6859,19 @@ pub const RiscV32 = enum(usize) {
38966859 futex_wake = 454,
38976860 futex_wait = 455,
38986861 futex_requeue = 456,
3899 riscv_flush_icache = (244 + 15),
3900 riscv_hwprobe = (244 + 14),
6862 cacheflush = (244 + 0),
6863 arc_settls = (244 + 1),
6864 arc_gettls = (244 + 2),
6865 arc_usr_cmpxchg = (244 + 4),
6866 sysfs = (244 + 3),
39016867};
39026868
3903pub const RiscV64 = enum(usize) {
6869pub const CSky = enum(usize) {
39046870 io_setup = 0,
39056871 io_destroy = 1,
39066872 io_submit = 2,
39076873 io_cancel = 3,
3908 io_getevents = 4,
6874 io_getevents_time32 = 4,
39096875 setxattr = 5,
39106876 lsetxattr = 6,
39116877 fsetxattr = 7,
......@@ -3926,7 +6892,7 @@ pub const RiscV64 = enum(usize) {
39266892 epoll_pwait = 22,
39276893 dup = 23,
39286894 dup3 = 24,
3929 fcntl = 25,
6895 fcntl64 = 25,
39306896 inotify_init1 = 26,
39316897 inotify_add_watch = 27,
39326898 inotify_rm_watch = 28,
......@@ -3943,10 +6909,10 @@ pub const RiscV64 = enum(usize) {
39436909 mount = 40,
39446910 pivot_root = 41,
39456911 nfsservctl = 42,
3946 statfs = 43,
3947 fstatfs = 44,
3948 truncate = 45,
3949 ftruncate = 46,
6912 statfs64 = 43,
6913 fstatfs64 = 44,
6914 truncate64 = 45,
6915 ftruncate64 = 46,
39506916 fallocate = 47,
39516917 faccessat = 48,
39526918 chdir = 49,
......@@ -3962,7 +6928,7 @@ pub const RiscV64 = enum(usize) {
39626928 pipe2 = 59,
39636929 quotactl = 60,
39646930 getdents64 = 61,
3965 lseek = 62,
6931 llseek = 62,
39666932 read = 63,
39676933 write = 64,
39686934 readv = 65,
......@@ -3972,8 +6938,8 @@ pub const RiscV64 = enum(usize) {
39726938 preadv = 69,
39736939 pwritev = 70,
39746940 sendfile64 = 71,
3975 pselect6 = 72,
3976 ppoll = 73,
6941 pselect6_time32 = 72,
6942 ppoll_time32 = 73,
39776943 signalfd4 = 74,
39786944 vmsplice = 75,
39796945 splice = 76,
......@@ -3986,9 +6952,9 @@ pub const RiscV64 = enum(usize) {
39866952 fdatasync = 83,
39876953 sync_file_range = 84,
39886954 timerfd_create = 85,
3989 timerfd_settime = 86,
3990 timerfd_gettime = 87,
3991 utimensat = 88,
6955 timerfd_settime32 = 86,
6956 timerfd_gettime32 = 87,
6957 utimensat_time32 = 88,
39926958 acct = 89,
39936959 capget = 90,
39946960 capset = 91,
......@@ -3998,24 +6964,24 @@ pub const RiscV64 = enum(usize) {
39986964 waitid = 95,
39996965 set_tid_address = 96,
40006966 unshare = 97,
4001 futex = 98,
6967 futex_time32 = 98,
40026968 set_robust_list = 99,
40036969 get_robust_list = 100,
4004 nanosleep = 101,
6970 nanosleep_time32 = 101,
40056971 getitimer = 102,
40066972 setitimer = 103,
40076973 kexec_load = 104,
40086974 init_module = 105,
40096975 delete_module = 106,
40106976 timer_create = 107,
4011 timer_gettime = 108,
6977 timer_gettime32 = 108,
40126978 timer_getoverrun = 109,
4013 timer_settime = 110,
6979 timer_settime32 = 110,
40146980 timer_delete = 111,
4015 clock_settime = 112,
4016 clock_gettime = 113,
4017 clock_getres = 114,
4018 clock_nanosleep = 115,
6981 clock_settime32 = 112,
6982 clock_gettime32 = 113,
6983 clock_getres_time32 = 114,
6984 clock_nanosleep_time32 = 115,
40196985 syslog = 116,
40206986 ptrace = 117,
40216987 sched_setparam = 118,
......@@ -4027,7 +6993,7 @@ pub const RiscV64 = enum(usize) {
40276993 sched_yield = 124,
40286994 sched_get_priority_max = 125,
40296995 sched_get_priority_min = 126,
4030 sched_rr_get_interval = 127,
6996 sched_rr_get_interval_time32 = 127,
40316997 restart_syscall = 128,
40326998 kill = 129,
40336999 tkill = 130,
......@@ -4037,7 +7003,7 @@ pub const RiscV64 = enum(usize) {
40377003 rt_sigaction = 134,
40387004 rt_sigprocmask = 135,
40397005 rt_sigpending = 136,
4040 rt_sigtimedwait = 137,
7006 rt_sigtimedwait_time32 = 137,
40417007 rt_sigqueueinfo = 138,
40427008 rt_sigreturn = 139,
40437009 setpriority = 140,
......@@ -4071,7 +7037,7 @@ pub const RiscV64 = enum(usize) {
40717037 getcpu = 168,
40727038 gettimeofday = 169,
40737039 settimeofday = 170,
4074 adjtimex = 171,
7040 adjtimex_time32 = 171,
40757041 getpid = 172,
40767042 getppid = 173,
40777043 getuid = 174,
......@@ -4082,8 +7048,8 @@ pub const RiscV64 = enum(usize) {
40827048 sysinfo = 179,
40837049 mq_open = 180,
40847050 mq_unlink = 181,
4085 mq_timedsend = 182,
4086 mq_timedreceive = 183,
7051 mq_timedsend_time32 = 182,
7052 mq_timedreceive_time32 = 183,
40877053 mq_notify = 184,
40887054 mq_getsetattr = 185,
40897055 msgget = 186,
......@@ -4092,7 +7058,7 @@ pub const RiscV64 = enum(usize) {
40927058 msgsnd = 189,
40937059 semget = 190,
40947060 semctl = 191,
4095 semtimedop = 192,
7061 semtimedop_time32 = 192,
40967062 semop = 193,
40977063 shmget = 194,
40987064 shmctl = 195,
......@@ -4122,7 +7088,7 @@ pub const RiscV64 = enum(usize) {
41227088 keyctl = 219,
41237089 clone = 220,
41247090 execve = 221,
4125 mmap = 222,
7091 mmap2 = 222,
41267092 fadvise64_64 = 223,
41277093 swapon = 224,
41287094 swapoff = 225,
......@@ -4143,14 +7109,14 @@ pub const RiscV64 = enum(usize) {
41437109 rt_tgsigqueueinfo = 240,
41447110 perf_event_open = 241,
41457111 accept4 = 242,
4146 recvmmsg = 243,
7112 recvmmsg_time32 = 243,
41477113 wait4 = 260,
41487114 prlimit64 = 261,
41497115 fanotify_init = 262,
41507116 fanotify_mark = 263,
41517117 name_to_handle_at = 264,
41527118 open_by_handle_at = 265,
4153 clock_adjtime = 266,
7119 clock_adjtime32 = 266,
41547120 syncfs = 267,
41557121 setns = 268,
41567122 sendmmsg = 269,
......@@ -4176,9 +7142,29 @@ pub const RiscV64 = enum(usize) {
41767142 pkey_alloc = 289,
41777143 pkey_free = 290,
41787144 statx = 291,
4179 io_pgetevents = 292,
7145 io_pgetevents_time32 = 292,
41807146 rseq = 293,
41817147 kexec_file_load = 294,
7148 clock_gettime = 403,
7149 clock_settime = 404,
7150 clock_adjtime = 405,
7151 clock_getres = 406,
7152 clock_nanosleep = 407,
7153 timer_gettime = 408,
7154 timer_settime = 409,
7155 timerfd_gettime = 410,
7156 timerfd_settime = 411,
7157 utimensat = 412,
7158 pselect6 = 413,
7159 ppoll = 414,
7160 io_pgetevents = 416,
7161 recvmmsg = 417,
7162 mq_timedsend = 418,
7163 mq_timedreceive = 419,
7164 semtimedop = 420,
7165 rt_sigtimedwait = 421,
7166 futex = 422,
7167 sched_rr_get_interval = 423,
41827168 pidfd_send_signal = 424,
41837169 io_uring_setup = 425,
41847170 io_uring_enter = 426,
......@@ -4202,7 +7188,6 @@ pub const RiscV64 = enum(usize) {
42027188 landlock_create_ruleset = 444,
42037189 landlock_add_rule = 445,
42047190 landlock_restrict_self = 446,
4205 memfd_secret = 447,
42067191 process_mrelease = 448,
42077192 futex_waitv = 449,
42087193 set_mempolicy_home_node = 450,
......@@ -4212,16 +7197,16 @@ pub const RiscV64 = enum(usize) {
42127197 futex_wake = 454,
42137198 futex_wait = 455,
42147199 futex_requeue = 456,
4215 riscv_flush_icache = (244 + 15),
4216 riscv_hwprobe = (244 + 14),
7200 set_thread_area = (244 + 0),
7201 cacheflush = (244 + 1),
42177202};
42187203
4219pub const LoongArch64 = enum(usize) {
7204pub const Hexagon = enum(usize) {
42207205 io_setup = 0,
42217206 io_destroy = 1,
42227207 io_submit = 2,
42237208 io_cancel = 3,
4224 io_getevents = 4,
7209 io_getevents_time32 = 4,
42257210 setxattr = 5,
42267211 lsetxattr = 6,
42277212 fsetxattr = 7,
......@@ -4242,7 +7227,7 @@ pub const LoongArch64 = enum(usize) {
42427227 epoll_pwait = 22,
42437228 dup = 23,
42447229 dup3 = 24,
4245 fcntl = 25,
7230 fcntl64 = 25,
42467231 inotify_init1 = 26,
42477232 inotify_add_watch = 27,
42487233 inotify_rm_watch = 28,
......@@ -4255,14 +7240,15 @@ pub const LoongArch64 = enum(usize) {
42557240 unlinkat = 35,
42567241 symlinkat = 36,
42577242 linkat = 37,
7243 renameat = 38,
42587244 umount2 = 39,
42597245 mount = 40,
42607246 pivot_root = 41,
42617247 nfsservctl = 42,
4262 statfs = 43,
4263 fstatfs = 44,
4264 truncate = 45,
4265 ftruncate = 46,
7248 statfs64 = 43,
7249 fstatfs64 = 44,
7250 truncate64 = 45,
7251 ftruncate64 = 46,
42667252 fallocate = 47,
42677253 faccessat = 48,
42687254 chdir = 49,
......@@ -4278,7 +7264,7 @@ pub const LoongArch64 = enum(usize) {
42787264 pipe2 = 59,
42797265 quotactl = 60,
42807266 getdents64 = 61,
4281 lseek = 62,
7267 llseek = 62,
42827268 read = 63,
42837269 write = 64,
42847270 readv = 65,
......@@ -4287,22 +7273,24 @@ pub const LoongArch64 = enum(usize) {
42877273 pwrite64 = 68,
42887274 preadv = 69,
42897275 pwritev = 70,
4290 sendfile = 71,
4291 pselect6 = 72,
4292 ppoll = 73,
7276 sendfile64 = 71,
7277 pselect6_time32 = 72,
7278 ppoll_time32 = 73,
42937279 signalfd4 = 74,
42947280 vmsplice = 75,
42957281 splice = 76,
42967282 tee = 77,
42977283 readlinkat = 78,
7284 fstatat64 = 79,
7285 fstat64 = 80,
42987286 sync = 81,
42997287 fsync = 82,
43007288 fdatasync = 83,
43017289 sync_file_range = 84,
43027290 timerfd_create = 85,
4303 timerfd_settime = 86,
4304 timerfd_gettime = 87,
4305 utimensat = 88,
7291 timerfd_settime32 = 86,
7292 timerfd_gettime32 = 87,
7293 utimensat_time32 = 88,
43067294 acct = 89,
43077295 capget = 90,
43087296 capset = 91,
......@@ -4312,24 +7300,24 @@ pub const LoongArch64 = enum(usize) {
43127300 waitid = 95,
43137301 set_tid_address = 96,
43147302 unshare = 97,
4315 futex = 98,
7303 futex_time32 = 98,
43167304 set_robust_list = 99,
43177305 get_robust_list = 100,
4318 nanosleep = 101,
7306 nanosleep_time32 = 101,
43197307 getitimer = 102,
43207308 setitimer = 103,
43217309 kexec_load = 104,
43227310 init_module = 105,
43237311 delete_module = 106,
43247312 timer_create = 107,
4325 timer_gettime = 108,
7313 timer_gettime32 = 108,
43267314 timer_getoverrun = 109,
4327 timer_settime = 110,
7315 timer_settime32 = 110,
43287316 timer_delete = 111,
4329 clock_settime = 112,
4330 clock_gettime = 113,
4331 clock_getres = 114,
4332 clock_nanosleep = 115,
7317 clock_settime32 = 112,
7318 clock_gettime32 = 113,
7319 clock_getres_time32 = 114,
7320 clock_nanosleep_time32 = 115,
43337321 syslog = 116,
43347322 ptrace = 117,
43357323 sched_setparam = 118,
......@@ -4341,7 +7329,7 @@ pub const LoongArch64 = enum(usize) {
43417329 sched_yield = 124,
43427330 sched_get_priority_max = 125,
43437331 sched_get_priority_min = 126,
4344 sched_rr_get_interval = 127,
7332 sched_rr_get_interval_time32 = 127,
43457333 restart_syscall = 128,
43467334 kill = 129,
43477335 tkill = 130,
......@@ -4351,7 +7339,7 @@ pub const LoongArch64 = enum(usize) {
43517339 rt_sigaction = 134,
43527340 rt_sigprocmask = 135,
43537341 rt_sigpending = 136,
4354 rt_sigtimedwait = 137,
7342 rt_sigtimedwait_time32 = 137,
43557343 rt_sigqueueinfo = 138,
43567344 rt_sigreturn = 139,
43577345 setpriority = 140,
......@@ -4377,13 +7365,15 @@ pub const LoongArch64 = enum(usize) {
43777365 uname = 160,
43787366 sethostname = 161,
43797367 setdomainname = 162,
7368 getrlimit = 163,
7369 setrlimit = 164,
43807370 getrusage = 165,
43817371 umask = 166,
43827372 prctl = 167,
43837373 getcpu = 168,
43847374 gettimeofday = 169,
43857375 settimeofday = 170,
4386 adjtimex = 171,
7376 adjtimex_time32 = 171,
43877377 getpid = 172,
43887378 getppid = 173,
43897379 getuid = 174,
......@@ -4394,8 +7384,8 @@ pub const LoongArch64 = enum(usize) {
43947384 sysinfo = 179,
43957385 mq_open = 180,
43967386 mq_unlink = 181,
4397 mq_timedsend = 182,
4398 mq_timedreceive = 183,
7387 mq_timedsend_time32 = 182,
7388 mq_timedreceive_time32 = 183,
43997389 mq_notify = 184,
44007390 mq_getsetattr = 185,
44017391 msgget = 186,
......@@ -4404,7 +7394,7 @@ pub const LoongArch64 = enum(usize) {
44047394 msgsnd = 189,
44057395 semget = 190,
44067396 semctl = 191,
4407 semtimedop = 192,
7397 semtimedop_time32 = 192,
44087398 semop = 193,
44097399 shmget = 194,
44107400 shmctl = 195,
......@@ -4434,8 +7424,8 @@ pub const LoongArch64 = enum(usize) {
44347424 keyctl = 219,
44357425 clone = 220,
44367426 execve = 221,
4437 mmap = 222,
4438 fadvise64 = 223,
7427 mmap_pgoff = 222,
7428 fadvise64_64 = 223,
44397429 swapon = 224,
44407430 swapoff = 225,
44417431 mprotect = 226,
......@@ -4455,14 +7445,14 @@ pub const LoongArch64 = enum(usize) {
44557445 rt_tgsigqueueinfo = 240,
44567446 perf_event_open = 241,
44577447 accept4 = 242,
4458 recvmmsg = 243,
7448 recvmmsg_time32 = 243,
44597449 wait4 = 260,
44607450 prlimit64 = 261,
44617451 fanotify_init = 262,
44627452 fanotify_mark = 263,
44637453 name_to_handle_at = 264,
44647454 open_by_handle_at = 265,
4465 clock_adjtime = 266,
7455 clock_adjtime32 = 266,
44667456 syncfs = 267,
44677457 setns = 268,
44687458 sendmmsg = 269,
......@@ -4488,9 +7478,29 @@ pub const LoongArch64 = enum(usize) {
44887478 pkey_alloc = 289,
44897479 pkey_free = 290,
44907480 statx = 291,
4491 io_pgetevents = 292,
7481 io_pgetevents_time32 = 292,
44927482 rseq = 293,
44937483 kexec_file_load = 294,
7484 clock_gettime = 403,
7485 clock_settime = 404,
7486 clock_adjtime = 405,
7487 clock_getres = 406,
7488 clock_nanosleep = 407,
7489 timer_gettime = 408,
7490 timer_settime = 409,
7491 timerfd_gettime = 410,
7492 timerfd_settime = 411,
7493 utimensat = 412,
7494 pselect6 = 413,
7495 ppoll = 414,
7496 io_pgetevents = 416,
7497 recvmmsg = 417,
7498 mq_timedsend = 418,
7499 mq_timedreceive = 419,
7500 semtimedop = 420,
7501 rt_sigtimedwait = 421,
7502 futex = 422,
7503 sched_rr_get_interval = 423,
44947504 pidfd_send_signal = 424,
44957505 io_uring_setup = 425,
44967506 io_uring_enter = 426,
......@@ -4502,7 +7512,6 @@ pub const LoongArch64 = enum(usize) {
45027512 fsmount = 432,
45037513 fspick = 433,
45047514 pidfd_open = 434,
4505 clone3 = 435,
45067515 close_range = 436,
45077516 openat2 = 437,
45087517 pidfd_getfd = 438,
tools/generate_linux_syscalls.zig+303-40
......@@ -42,6 +42,12 @@ fn getOverridenNameNew(value: []const u8) ?[]const u8 {
4242 }
4343}
4444
45fn isReservedNameOld(name: []const u8) bool {
46 return std.mem.startsWith(u8, name, "available") or
47 std.mem.startsWith(u8, name, "reserved") or
48 std.mem.startsWith(u8, name, "unused");
49}
50
4551pub fn main() !void {
4652 var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
4753 defer arena.deinit();
......@@ -148,6 +154,25 @@ pub fn main() !void {
148154 \\
149155 );
150156 }
157 {
158 try writer.writeAll("pub const Sparc = enum(usize) {\n");
159 const table = try linux_dir.readFile("arch/sparc/kernel/syscalls/syscall.tbl", buf);
160 var lines = mem.tokenizeScalar(u8, table, '\n');
161 while (lines.next()) |line| {
162 if (line[0] == '#') continue;
163
164 var fields = mem.tokenizeAny(u8, line, " \t");
165 const number = fields.next() orelse return error.Incomplete;
166 const abi = fields.next() orelse return error.Incomplete;
167 if (mem.eql(u8, abi, "64")) continue;
168 const name = fields.next() orelse return error.Incomplete;
169 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
170
171 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number });
172 }
173
174 try writer.writeAll("};\n\n");
175 }
151176 {
152177 try writer.writeAll("pub const Sparc64 = enum(usize) {\n");
153178 const table = try linux_dir.readFile("arch/sparc/kernel/syscalls/syscall.tbl", buf);
......@@ -167,10 +192,30 @@ pub fn main() !void {
167192
168193 try writer.writeAll("};\n\n");
169194 }
195 {
196 try writer.writeAll("pub const M68k = enum(usize) {\n");
197
198 const table = try linux_dir.readFile("arch/m68k/kernel/syscalls/syscall.tbl", buf);
199 var lines = mem.tokenizeScalar(u8, table, '\n');
200 while (lines.next()) |line| {
201 if (line[0] == '#') continue;
202
203 var fields = mem.tokenizeAny(u8, line, " \t");
204 const number = fields.next() orelse return error.Incomplete;
205 // abi is always common
206 _ = fields.next() orelse return error.Incomplete;
207 const name = fields.next() orelse return error.Incomplete;
208 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
209
210 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number });
211 }
212
213 try writer.writeAll("};\n\n");
214 }
170215 {
171216 try writer.writeAll(
172 \\pub const Mips = enum(usize) {
173 \\ pub const Linux = 4000;
217 \\pub const MipsO32 = enum(usize) {
218 \\ const linux_base = 4000;
174219 \\
175220 \\
176221 );
......@@ -185,18 +230,18 @@ pub fn main() !void {
185230 // abi is always o32
186231 _ = fields.next() orelse return error.Incomplete;
187232 const name = fields.next() orelse return error.Incomplete;
188 if (mem.startsWith(u8, name, "unused")) continue;
233 if (isReservedNameOld(name)) continue;
189234 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
190235
191 try writer.print(" {p} = Linux + {s},\n", .{ zig.fmtId(fixed_name), number });
236 try writer.print(" {p} = linux_base + {s},\n", .{ zig.fmtId(fixed_name), number });
192237 }
193238
194239 try writer.writeAll("};\n\n");
195240 }
196241 {
197242 try writer.writeAll(
198 \\pub const Mips64 = enum(usize) {
199 \\ pub const Linux = 5000;
243 \\pub const MipsN64 = enum(usize) {
244 \\ const linux_base = 5000;
200245 \\
201246 \\
202247 );
......@@ -211,9 +256,36 @@ pub fn main() !void {
211256 // abi is always n64
212257 _ = fields.next() orelse return error.Incomplete;
213258 const name = fields.next() orelse return error.Incomplete;
259 if (isReservedNameOld(name)) continue;
260 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
261
262 try writer.print(" {p} = linux_base + {s},\n", .{ zig.fmtId(fixed_name), number });
263 }
264
265 try writer.writeAll("};\n\n");
266 }
267 {
268 try writer.writeAll(
269 \\pub const MipsN32 = enum(usize) {
270 \\ const linux_base = 6000;
271 \\
272 \\
273 );
274
275 const table = try linux_dir.readFile("arch/mips/kernel/syscalls/syscall_n32.tbl", buf);
276 var lines = mem.tokenizeScalar(u8, table, '\n');
277 while (lines.next()) |line| {
278 if (line[0] == '#') continue;
279
280 var fields = mem.tokenizeAny(u8, line, " \t");
281 const number = fields.next() orelse return error.Incomplete;
282 // abi is always n32
283 _ = fields.next() orelse return error.Incomplete;
284 const name = fields.next() orelse return error.Incomplete;
285 if (isReservedNameOld(name)) continue;
214286 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
215287
216 try writer.print(" {p} = Linux + {s},\n", .{ zig.fmtId(fixed_name), number });
288 try writer.print(" {p} = linux_base + {s},\n", .{ zig.fmtId(fixed_name), number });
217289 }
218290
219291 try writer.writeAll("};\n\n");
......@@ -254,6 +326,47 @@ pub fn main() !void {
254326 try writer.writeAll(list_64.items);
255327 try writer.writeAll("};\n\n");
256328 }
329 {
330 try writer.writeAll("pub const S390x = enum(usize) {\n");
331
332 const table = try linux_dir.readFile("arch/s390/kernel/syscalls/syscall.tbl", buf);
333 var lines = mem.tokenizeScalar(u8, table, '\n');
334 while (lines.next()) |line| {
335 if (line[0] == '#') continue;
336
337 var fields = mem.tokenizeAny(u8, line, " \t");
338 const number = fields.next() orelse return error.Incomplete;
339 const abi = fields.next() orelse return error.Incomplete;
340 if (mem.eql(u8, abi, "32")) continue; // 32-bit s390 support in linux is deprecated
341 const name = fields.next() orelse return error.Incomplete;
342 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
343
344 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number });
345 }
346
347 try writer.writeAll("};\n\n");
348 }
349 {
350 try writer.writeAll("pub const Xtensa = enum(usize) {\n");
351
352 const table = try linux_dir.readFile("arch/xtensa/kernel/syscalls/syscall.tbl", buf);
353 var lines = mem.tokenizeScalar(u8, table, '\n');
354 while (lines.next()) |line| {
355 if (line[0] == '#') continue;
356
357 var fields = mem.tokenizeAny(u8, line, " \t");
358 const number = fields.next() orelse return error.Incomplete;
359 // abi is always common
360 _ = fields.next() orelse return error.Incomplete;
361 const name = fields.next() orelse return error.Incomplete;
362 if (isReservedNameOld(name)) continue;
363 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
364
365 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number });
366 }
367
368 try writer.writeAll("};\n\n");
369 }
257370
258371 // Newer architectures (starting with aarch64 c. 2012) now use the same C
259372 // header file for their syscall numbers. Arch-specific headers are used to
......@@ -273,8 +386,8 @@ pub fn main() !void {
273386 "-P",
274387 "-nostdinc",
275388 // Using -I=[dir] includes the zig linux headers, which we don't want.
276 "-Iinclude",
277 "-Iinclude/uapi",
389 "-Itools/include",
390 "-Itools/include/uapi",
278391 // Output the syscall in a format we can easily recognize.
279392 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
280393 "arch/arm64/include/uapi/asm/unistd.h",
......@@ -328,9 +441,8 @@ pub fn main() !void {
328441 "-dD",
329442 "-P",
330443 "-nostdinc",
331 "-Iinclude",
332 "-Iinclude/uapi",
333 "-Iarch/riscv/include/uapi",
444 "-Itools/include",
445 "-Itools/include/uapi",
334446 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
335447 "arch/riscv/include/uapi/asm/unistd.h",
336448 };
......@@ -383,9 +495,8 @@ pub fn main() !void {
383495 "-dD",
384496 "-P",
385497 "-nostdinc",
386 "-Iinclude",
387 "-Iinclude/uapi",
388 "-Iarch/riscv/include/uapi",
498 "-Itools/include",
499 "-Itools/include/uapi",
389500 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
390501 "arch/riscv/include/uapi/asm/unistd.h",
391502 };
......@@ -427,24 +538,20 @@ pub fn main() !void {
427538 try writer.writeAll("};\n\n");
428539 }
429540 {
430 try writer.writeAll(
431 \\
432 \\pub const LoongArch64 = enum(usize) {
433 \\
434 );
541 try writer.writeAll("pub const LoongArch64 = enum(usize) {\n");
435542
436543 const child_args = [_][]const u8{
437544 zig_exe,
438545 "cc",
439 "-march=loongarch64",
440546 "-target",
441547 "loongarch64-linux-gnu",
442548 "-E",
443549 "-dD",
444550 "-P",
445551 "-nostdinc",
446 "-Iinclude",
447 "-Iinclude/uapi",
552 "-Itools/include",
553 "-Itools/include/uapi",
554 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
448555 "arch/loongarch/include/uapi/asm/unistd.h",
449556 };
450557
......@@ -468,27 +575,183 @@ pub fn main() !void {
468575 };
469576
470577 var lines = mem.tokenizeScalar(u8, defines, '\n');
471 loop: while (lines.next()) |line| {
472 var fields = mem.tokenizeAny(u8, line, " \t");
473 const cmd = fields.next() orelse return error.Incomplete;
474 if (!mem.eql(u8, cmd, "#define")) continue;
475 const define = fields.next() orelse return error.Incomplete;
476 const number = fields.next() orelse continue;
578 while (lines.next()) |line| {
579 var fields = mem.tokenizeAny(u8, line, " ");
580 const prefix = fields.next() orelse return error.Incomplete;
477581
478 if (!std.ascii.isDigit(number[0])) continue;
479 if (!mem.startsWith(u8, define, "__NR")) continue;
480 const name = mem.trimLeft(u8, mem.trimLeft(u8, define, "__NR3264_"), "__NR_");
481 if (mem.eql(u8, name, "arch_specific_syscall")) continue;
482 if (mem.eql(u8, name, "syscalls")) break :loop;
582 if (!mem.eql(u8, prefix, "zigsyscall")) continue;
483583
484 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
485 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number });
584 const sys_name = fields.next() orelse return error.Incomplete;
585 const value = fields.rest();
586 const name = (getOverridenNameNew(value) orelse sys_name)["sys_".len..];
587 const fixed_name = if (stdlib_renames_new.get(name)) |f| f else if (stdlib_renames.get(name)) |f| f else name;
588
589 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), value });
486590 }
487591
488 try writer.writeAll(
489 \\};
490 \\
491 );
592 try writer.writeAll("};\n\n");
593 }
594 {
595 try writer.writeAll("pub const Arc = enum(usize) {\n");
596
597 const child_args = [_][]const u8{
598 zig_exe,
599 "cc",
600 "-target",
601 "arc-freestanding-none",
602 "-E",
603 "-dD",
604 "-P",
605 "-nostdinc",
606 "-Itools/include",
607 "-Itools/include/uapi",
608 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
609 "arch/arc/include/uapi/asm/unistd.h",
610 };
611
612 const child_result = try std.process.Child.run(.{
613 .allocator = allocator,
614 .argv = &child_args,
615 .cwd = linux_path,
616 .cwd_dir = linux_dir,
617 });
618 if (child_result.stderr.len > 0) std.debug.print("{s}\n", .{child_result.stderr});
619
620 const defines = switch (child_result.term) {
621 .Exited => |code| if (code == 0) child_result.stdout else {
622 std.debug.print("zig cc exited with code {d}\n", .{code});
623 std.process.exit(1);
624 },
625 else => {
626 std.debug.print("zig cc crashed\n", .{});
627 std.process.exit(1);
628 },
629 };
630
631 var lines = mem.tokenizeScalar(u8, defines, '\n');
632 while (lines.next()) |line| {
633 var fields = mem.tokenizeAny(u8, line, " ");
634 const prefix = fields.next() orelse return error.Incomplete;
635
636 if (!mem.eql(u8, prefix, "zigsyscall")) continue;
637
638 const sys_name = fields.next() orelse return error.Incomplete;
639 const value = fields.rest();
640 const name = (getOverridenNameNew(value) orelse sys_name)["sys_".len..];
641 const fixed_name = if (stdlib_renames_new.get(name)) |f| f else if (stdlib_renames.get(name)) |f| f else name;
642
643 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), value });
644 }
645
646 try writer.writeAll("};\n\n");
647 }
648 {
649 try writer.writeAll("pub const CSky = enum(usize) {\n");
650
651 const child_args = [_][]const u8{
652 zig_exe,
653 "cc",
654 "-target",
655 "csky-freestanding-none",
656 "-E",
657 "-dD",
658 "-P",
659 "-nostdinc",
660 "-Itools/include",
661 "-Itools/include/uapi",
662 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
663 "arch/csky/include/uapi/asm/unistd.h",
664 };
665
666 const child_result = try std.process.Child.run(.{
667 .allocator = allocator,
668 .argv = &child_args,
669 .cwd = linux_path,
670 .cwd_dir = linux_dir,
671 });
672 if (child_result.stderr.len > 0) std.debug.print("{s}\n", .{child_result.stderr});
673
674 const defines = switch (child_result.term) {
675 .Exited => |code| if (code == 0) child_result.stdout else {
676 std.debug.print("zig cc exited with code {d}\n", .{code});
677 std.process.exit(1);
678 },
679 else => {
680 std.debug.print("zig cc crashed\n", .{});
681 std.process.exit(1);
682 },
683 };
684
685 var lines = mem.tokenizeScalar(u8, defines, '\n');
686 while (lines.next()) |line| {
687 var fields = mem.tokenizeAny(u8, line, " ");
688 const prefix = fields.next() orelse return error.Incomplete;
689
690 if (!mem.eql(u8, prefix, "zigsyscall")) continue;
691
692 const sys_name = fields.next() orelse return error.Incomplete;
693 const value = fields.rest();
694 const name = (getOverridenNameNew(value) orelse sys_name)["sys_".len..];
695 const fixed_name = if (stdlib_renames_new.get(name)) |f| f else if (stdlib_renames.get(name)) |f| f else name;
696
697 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), value });
698 }
699
700 try writer.writeAll("};\n\n");
701 }
702 {
703 try writer.writeAll("pub const Hexagon = enum(usize) {\n");
704
705 const child_args = [_][]const u8{
706 zig_exe,
707 "cc",
708 "-target",
709 "hexagon-freestanding-none",
710 "-E",
711 "-dD",
712 "-P",
713 "-nostdinc",
714 "-Itools/include",
715 "-Itools/include/uapi",
716 "-D __SYSCALL(nr, nm)=zigsyscall nm nr",
717 "arch/hexagon/include/uapi/asm/unistd.h",
718 };
719
720 const child_result = try std.process.Child.run(.{
721 .allocator = allocator,
722 .argv = &child_args,
723 .cwd = linux_path,
724 .cwd_dir = linux_dir,
725 });
726 if (child_result.stderr.len > 0) std.debug.print("{s}\n", .{child_result.stderr});
727
728 const defines = switch (child_result.term) {
729 .Exited => |code| if (code == 0) child_result.stdout else {
730 std.debug.print("zig cc exited with code {d}\n", .{code});
731 std.process.exit(1);
732 },
733 else => {
734 std.debug.print("zig cc crashed\n", .{});
735 std.process.exit(1);
736 },
737 };
738
739 var lines = mem.tokenizeScalar(u8, defines, '\n');
740 while (lines.next()) |line| {
741 var fields = mem.tokenizeAny(u8, line, " ");
742 const prefix = fields.next() orelse return error.Incomplete;
743
744 if (!mem.eql(u8, prefix, "zigsyscall")) continue;
745
746 const sys_name = fields.next() orelse return error.Incomplete;
747 const value = fields.rest();
748 const name = (getOverridenNameNew(value) orelse sys_name)["sys_".len..];
749 const fixed_name = if (stdlib_renames_new.get(name)) |f| f else if (stdlib_renames.get(name)) |f| f else name;
750
751 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), value });
752 }
753
754 try writer.writeAll("};\n\n");
492755 }
493756
494757 try buf_out.flush();