zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 9475ff8a892586676acf1233add3e0650c233236 (tree)
parent 645a38aeb69846b7b692fabdd63f62d6e5a17464
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Thu,  4 Jun 2026 12:52:02 +0200

std.os.linux: generate syscalls for hppa, microblaze, sh

Diffstat:
Mlib/std/os/linux.zig | 4++++
Mlib/std/os/linux/syscalls.zig | 1730++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Mtools/generate_linux_syscalls.zig | 14++++----------
3 files changed, 1726 insertions(+), 22 deletions(-)

diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig @@ -133,9 +133,12 @@ pub const SYS = switch (native_arch) { .arm, .armeb, .thumb, .thumbeb => syscalls.Arm, .csky => syscalls.CSky, .hexagon => syscalls.Hexagon, + .hppa => syscalls.Hppa, + .hppa64 => syscalls.Hppa64, .loongarch32 => syscalls.LoongArch32, .loongarch64 => syscalls.LoongArch64, .m68k => syscalls.M68k, + .microblaze, .microblazeel => syscalls.Microblaze, .mips, .mipsel => syscalls.MipsO32, .mips64, .mips64el => switch (builtin.abi) { .gnuabin32, .muslabin32 => syscalls.MipsN32, @@ -147,6 +150,7 @@ pub const SYS = switch (native_arch) { .riscv32 => syscalls.RiscV32, .riscv64 => syscalls.RiscV64, .s390x => syscalls.S390x, + .sh, .sheb => syscalls.Sh, .sparc => syscalls.Sparc, .sparc64 => syscalls.Sparc64, .x86 => syscalls.X86, diff --git a/lib/std/os/linux/syscalls.zig b/lib/std/os/linux/syscalls.zig @@ -728,7 +728,7 @@ pub const X64 = enum(usize) { mknodat = 259, fchownat = 260, futimesat = 261, - fstatat64 = 262, + newfstatat = 262, unlinkat = 263, renameat = 264, linkat = 265, @@ -1083,7 +1083,7 @@ pub const X32 = enum(usize) { mknodat = 1073742083, fchownat = 1073742084, futimesat = 1073742085, - fstatat64 = 1073742086, + newfstatat = 1073742086, unlinkat = 1073742087, renameat = 1073742088, linkat = 1073742089, @@ -3653,7 +3653,7 @@ pub const MipsN64 = enum(usize) { mknodat = 5249, fchownat = 5250, futimesat = 5251, - fstatat64 = 5252, + newfstatat = 5252, unlinkat = 5253, renameat = 5254, linkat = 5255, @@ -4033,7 +4033,7 @@ pub const MipsN32 = enum(usize) { mknodat = 6253, fchownat = 6254, futimesat = 6255, - fstatat64 = 6256, + newfstatat = 6256, unlinkat = 6257, renameat = 6258, linkat = 6259, @@ -4486,7 +4486,7 @@ pub const PowerPC = enum(usize) { signalfd = 305, timerfd_create = 306, eventfd = 307, - sync_file_range = 308, + sync_file_range2 = 308, fallocate = 309, subpage_prot = 310, timerfd_settime = 311, @@ -4915,7 +4915,7 @@ pub const PowerPC64 = enum(usize) { mknodat = 288, fchownat = 289, futimesat = 290, - fstatat64 = 291, + newfstatat = 291, unlinkat = 292, renameat = 293, linkat = 294, @@ -4932,7 +4932,7 @@ pub const PowerPC64 = enum(usize) { signalfd = 305, timerfd_create = 306, eventfd = 307, - sync_file_range = 308, + sync_file_range2 = 308, fallocate = 309, subpage_prot = 310, timerfd_settime = 311, @@ -5299,7 +5299,7 @@ pub const S390x = enum(usize) { mknodat = 290, fchownat = 291, futimesat = 292, - fstatat64 = 293, + newfstatat = 293, unlinkat = 294, renameat = 295, linkat = 296, @@ -5755,7 +5755,7 @@ pub const Xtensa = enum(usize) { process_vm_writev = 323, name_to_handle_at = 324, open_by_handle_at = 325, - sync_file_range = 326, + sync_file_range2 = 326, perf_event_open = 327, rt_tgsigqueueinfo = 328, clock_adjtime = 329, @@ -6433,7 +6433,7 @@ pub const Arm64 = enum(usize) { splice = 76, tee = 77, readlinkat = 78, - fstatat64 = 79, + newfstatat = 79, fstat = 80, sync = 81, fsync = 82, @@ -7083,7 +7083,7 @@ pub const RiscV64 = enum(usize) { splice = 76, tee = 77, readlinkat = 78, - fstatat64 = 79, + newfstatat = 79, fstat = 80, sync = 81, fsync = 82, @@ -7732,7 +7732,7 @@ pub const LoongArch64 = enum(usize) { splice = 76, tee = 77, readlinkat = 78, - fstatat64 = 79, + newfstatat = 79, fstat = 80, sync = 81, fsync = 82, @@ -9381,3 +9381,1709 @@ pub const OpenRisc = enum(usize) { listns = 470, rseq_slice_yield = 471, }; + +pub const Hppa = enum(usize) { + restart_syscall = 0, + exit = 1, + fork = 2, + read = 3, + write = 4, + open = 5, + close = 6, + waitpid = 7, + creat = 8, + link = 9, + unlink = 10, + execve = 11, + chdir = 12, + time = 13, + mknod = 14, + chmod = 15, + lchown = 16, + socket = 17, + stat = 18, + lseek = 19, + getpid = 20, + mount = 21, + bind = 22, + setuid = 23, + getuid = 24, + stime = 25, + ptrace = 26, + alarm = 27, + fstat = 28, + pause = 29, + utime = 30, + connect = 31, + listen = 32, + access = 33, + nice = 34, + accept = 35, + sync = 36, + kill = 37, + rename = 38, + mkdir = 39, + rmdir = 40, + dup = 41, + pipe = 42, + times = 43, + getsockname = 44, + brk = 45, + setgid = 46, + getgid = 47, + signal = 48, + geteuid = 49, + getegid = 50, + acct = 51, + umount2 = 52, + getpeername = 53, + ioctl = 54, + fcntl = 55, + socketpair = 56, + setpgid = 57, + send = 58, + uname = 59, + umask = 60, + chroot = 61, + ustat = 62, + dup2 = 63, + getppid = 64, + getpgrp = 65, + setsid = 66, + pivot_root = 67, + sgetmask = 68, + ssetmask = 69, + setreuid = 70, + setregid = 71, + mincore = 72, + sigpending = 73, + sethostname = 74, + setrlimit = 75, + getrlimit = 76, + getrusage = 77, + gettimeofday = 78, + settimeofday = 79, + getgroups = 80, + setgroups = 81, + sendto = 82, + symlink = 83, + lstat = 84, + readlink = 85, + uselib = 86, + swapon = 87, + reboot = 88, + mmap2 = 89, + mmap = 90, + munmap = 91, + truncate = 92, + ftruncate = 93, + fchmod = 94, + fchown = 95, + getpriority = 96, + setpriority = 97, + recv = 98, + statfs = 99, + fstatfs = 100, + stat64 = 101, + syslog = 103, + setitimer = 104, + getitimer = 105, + capget = 106, + capset = 107, + pread64 = 108, + pwrite64 = 109, + getcwd = 110, + vhangup = 111, + fstat64 = 112, + vfork = 113, + wait4 = 114, + swapoff = 115, + sysinfo = 116, + shutdown = 117, + fsync = 118, + madvise = 119, + clone = 120, + setdomainname = 121, + sendfile = 122, + recvfrom = 123, + adjtimex = 124, + mprotect = 125, + sigprocmask = 126, + init_module = 128, + delete_module = 129, + quotactl = 131, + getpgid = 132, + fchdir = 133, + bdflush = 134, + sysfs = 135, + personality = 136, + setfsuid = 138, + setfsgid = 139, + llseek = 140, + getdents = 141, + newselect = 142, + flock = 143, + msync = 144, + readv = 145, + writev = 146, + getsid = 147, + fdatasync = 148, + sysctl = 149, + mlock = 150, + munlock = 151, + mlockall = 152, + munlockall = 153, + sched_setparam = 154, + sched_getparam = 155, + sched_setscheduler = 156, + sched_getscheduler = 157, + sched_yield = 158, + sched_get_priority_max = 159, + sched_get_priority_min = 160, + sched_rr_get_interval = 161, + nanosleep = 162, + mremap = 163, + setresuid = 164, + getresuid = 165, + sigaltstack = 166, + poll = 168, + setresgid = 170, + getresgid = 171, + prctl = 172, + rt_sigreturn = 173, + rt_sigaction = 174, + rt_sigprocmask = 175, + rt_sigpending = 176, + rt_sigtimedwait = 177, + rt_sigqueueinfo = 178, + rt_sigsuspend = 179, + chown = 180, + setsockopt = 181, + getsockopt = 182, + sendmsg = 183, + recvmsg = 184, + semop = 185, + semget = 186, + semctl = 187, + msgsnd = 188, + msgrcv = 189, + msgget = 190, + msgctl = 191, + shmat = 192, + shmdt = 193, + shmget = 194, + shmctl = 195, + lstat64 = 198, + truncate64 = 199, + ftruncate64 = 200, + getdents64 = 201, + fcntl64 = 202, + gettid = 206, + readahead = 207, + tkill = 208, + sendfile64 = 209, + futex = 210, + sched_setaffinity = 211, + sched_getaffinity = 212, + io_setup = 215, + io_destroy = 216, + io_getevents = 217, + io_submit = 218, + io_cancel = 219, + exit_group = 222, + lookup_dcookie = 223, + epoll_create = 224, + epoll_ctl = 225, + epoll_wait = 226, + remap_file_pages = 227, + semtimedop = 228, + mq_open = 229, + mq_unlink = 230, + mq_timedsend = 231, + mq_timedreceive = 232, + mq_notify = 233, + mq_getsetattr = 234, + waitid = 235, + fadvise64_64 = 236, + set_tid_address = 237, + setxattr = 238, + lsetxattr = 239, + fsetxattr = 240, + getxattr = 241, + lgetxattr = 242, + fgetxattr = 243, + listxattr = 244, + llistxattr = 245, + flistxattr = 246, + removexattr = 247, + lremovexattr = 248, + fremovexattr = 249, + timer_create = 250, + timer_settime = 251, + timer_gettime = 252, + timer_getoverrun = 253, + timer_delete = 254, + clock_settime = 255, + clock_gettime = 256, + clock_getres = 257, + clock_nanosleep = 258, + tgkill = 259, + mbind = 260, + get_mempolicy = 261, + set_mempolicy = 262, + add_key = 264, + request_key = 265, + keyctl = 266, + ioprio_set = 267, + ioprio_get = 268, + inotify_init = 269, + inotify_add_watch = 270, + inotify_rm_watch = 271, + migrate_pages = 272, + pselect6 = 273, + ppoll = 274, + openat = 275, + mkdirat = 276, + mknodat = 277, + fchownat = 278, + futimesat = 279, + fstatat64 = 280, + unlinkat = 281, + renameat = 282, + linkat = 283, + symlinkat = 284, + readlinkat = 285, + fchmodat = 286, + faccessat = 287, + unshare = 288, + set_robust_list = 289, + get_robust_list = 290, + splice = 291, + sync_file_range = 292, + tee = 293, + vmsplice = 294, + move_pages = 295, + getcpu = 296, + epoll_pwait = 297, + statfs64 = 298, + fstatfs64 = 299, + kexec_load = 300, + utimensat = 301, + signalfd = 302, + eventfd = 304, + fallocate = 305, + timerfd_create = 306, + timerfd_settime = 307, + timerfd_gettime = 308, + signalfd4 = 309, + eventfd2 = 310, + epoll_create1 = 311, + dup3 = 312, + pipe2 = 313, + inotify_init1 = 314, + preadv = 315, + pwritev = 316, + rt_tgsigqueueinfo = 317, + perf_event_open = 318, + recvmmsg = 319, + accept4 = 320, + prlimit64 = 321, + fanotify_init = 322, + fanotify_mark = 323, + clock_adjtime = 324, + name_to_handle_at = 325, + open_by_handle_at = 326, + syncfs = 327, + setns = 328, + sendmmsg = 329, + process_vm_readv = 330, + process_vm_writev = 331, + kcmp = 332, + finit_module = 333, + sched_setattr = 334, + sched_getattr = 335, + utimes = 336, + renameat2 = 337, + seccomp = 338, + getrandom = 339, + memfd_create = 340, + bpf = 341, + execveat = 342, + membarrier = 343, + userfaultfd = 344, + mlock2 = 345, + copy_file_range = 346, + preadv2 = 347, + pwritev2 = 348, + statx = 349, + io_pgetevents = 350, + pkey_mprotect = 351, + pkey_alloc = 352, + pkey_free = 353, + rseq = 354, + kexec_file_load = 355, + cacheflush = 356, + clock_gettime64 = 403, + clock_settime64 = 404, + clock_adjtime64 = 405, + clock_getres_time64 = 406, + clock_nanosleep_time64 = 407, + timer_gettime64 = 408, + timer_settime64 = 409, + timerfd_gettime64 = 410, + timerfd_settime64 = 411, + utimensat_time64 = 412, + pselect6_time64 = 413, + ppoll_time64 = 414, + io_pgetevents_time64 = 416, + recvmmsg_time64 = 417, + mq_timedsend_time64 = 418, + mq_timedreceive_time64 = 419, + semtimedop_time64 = 420, + rt_sigtimedwait_time64 = 421, + futex_time64 = 422, + sched_rr_get_interval_time64 = 423, + pidfd_send_signal = 424, + io_uring_setup = 425, + io_uring_enter = 426, + io_uring_register = 427, + open_tree = 428, + move_mount = 429, + fsopen = 430, + fsconfig = 431, + fsmount = 432, + fspick = 433, + pidfd_open = 434, + clone3 = 435, + close_range = 436, + openat2 = 437, + pidfd_getfd = 438, + faccessat2 = 439, + process_madvise = 440, + epoll_pwait2 = 441, + mount_setattr = 442, + quotactl_fd = 443, + landlock_create_ruleset = 444, + landlock_add_rule = 445, + landlock_restrict_self = 446, + process_mrelease = 448, + futex_waitv = 449, + set_mempolicy_home_node = 450, + cachestat = 451, + fchmodat2 = 452, + map_shadow_stack = 453, + futex_wake = 454, + futex_wait = 455, + futex_requeue = 456, + statmount = 457, + listmount = 458, + lsm_get_self_attr = 459, + lsm_set_self_attr = 460, + lsm_list_modules = 461, + mseal = 462, + setxattrat = 463, + getxattrat = 464, + listxattrat = 465, + removexattrat = 466, + open_tree_attr = 467, + file_getattr = 468, + file_setattr = 469, + listns = 470, + rseq_slice_yield = 471, +}; + +pub const Hppa64 = enum(usize) { + restart_syscall = 0, + exit = 1, + fork = 2, + read = 3, + write = 4, + open = 5, + close = 6, + waitpid = 7, + creat = 8, + link = 9, + unlink = 10, + execve = 11, + chdir = 12, + time = 13, + mknod = 14, + chmod = 15, + lchown = 16, + socket = 17, + stat = 18, + lseek = 19, + getpid = 20, + mount = 21, + bind = 22, + setuid = 23, + getuid = 24, + stime = 25, + ptrace = 26, + alarm = 27, + fstat = 28, + pause = 29, + utime = 30, + connect = 31, + listen = 32, + access = 33, + nice = 34, + accept = 35, + sync = 36, + kill = 37, + rename = 38, + mkdir = 39, + rmdir = 40, + dup = 41, + pipe = 42, + times = 43, + getsockname = 44, + brk = 45, + setgid = 46, + getgid = 47, + signal = 48, + geteuid = 49, + getegid = 50, + acct = 51, + umount2 = 52, + getpeername = 53, + ioctl = 54, + fcntl = 55, + socketpair = 56, + setpgid = 57, + send = 58, + uname = 59, + umask = 60, + chroot = 61, + ustat = 62, + dup2 = 63, + getppid = 64, + getpgrp = 65, + setsid = 66, + pivot_root = 67, + sgetmask = 68, + ssetmask = 69, + setreuid = 70, + setregid = 71, + mincore = 72, + sigpending = 73, + sethostname = 74, + setrlimit = 75, + getrlimit = 76, + getrusage = 77, + gettimeofday = 78, + settimeofday = 79, + getgroups = 80, + setgroups = 81, + sendto = 82, + symlink = 83, + lstat = 84, + readlink = 85, + uselib = 86, + swapon = 87, + reboot = 88, + mmap2 = 89, + mmap = 90, + munmap = 91, + truncate = 92, + ftruncate = 93, + fchmod = 94, + fchown = 95, + getpriority = 96, + setpriority = 97, + recv = 98, + statfs = 99, + fstatfs = 100, + stat64 = 101, + syslog = 103, + setitimer = 104, + getitimer = 105, + capget = 106, + capset = 107, + pread64 = 108, + pwrite64 = 109, + getcwd = 110, + vhangup = 111, + fstat64 = 112, + vfork = 113, + wait4 = 114, + swapoff = 115, + sysinfo = 116, + shutdown = 117, + fsync = 118, + madvise = 119, + clone = 120, + setdomainname = 121, + sendfile = 122, + recvfrom = 123, + adjtimex = 124, + mprotect = 125, + sigprocmask = 126, + init_module = 128, + delete_module = 129, + quotactl = 131, + getpgid = 132, + fchdir = 133, + bdflush = 134, + sysfs = 135, + personality = 136, + setfsuid = 138, + setfsgid = 139, + llseek = 140, + getdents = 141, + newselect = 142, + flock = 143, + msync = 144, + readv = 145, + writev = 146, + getsid = 147, + fdatasync = 148, + sysctl = 149, + mlock = 150, + munlock = 151, + mlockall = 152, + munlockall = 153, + sched_setparam = 154, + sched_getparam = 155, + sched_setscheduler = 156, + sched_getscheduler = 157, + sched_yield = 158, + sched_get_priority_max = 159, + sched_get_priority_min = 160, + sched_rr_get_interval = 161, + nanosleep = 162, + mremap = 163, + setresuid = 164, + getresuid = 165, + sigaltstack = 166, + poll = 168, + setresgid = 170, + getresgid = 171, + prctl = 172, + rt_sigreturn = 173, + rt_sigaction = 174, + rt_sigprocmask = 175, + rt_sigpending = 176, + rt_sigtimedwait = 177, + rt_sigqueueinfo = 178, + rt_sigsuspend = 179, + chown = 180, + setsockopt = 181, + getsockopt = 182, + sendmsg = 183, + recvmsg = 184, + semop = 185, + semget = 186, + semctl = 187, + msgsnd = 188, + msgrcv = 189, + msgget = 190, + msgctl = 191, + shmat = 192, + shmdt = 193, + shmget = 194, + shmctl = 195, + lstat64 = 198, + truncate64 = 199, + ftruncate64 = 200, + getdents64 = 201, + fcntl64 = 202, + gettid = 206, + readahead = 207, + tkill = 208, + sendfile64 = 209, + futex = 210, + sched_setaffinity = 211, + sched_getaffinity = 212, + io_setup = 215, + io_destroy = 216, + io_getevents = 217, + io_submit = 218, + io_cancel = 219, + exit_group = 222, + lookup_dcookie = 223, + epoll_create = 224, + epoll_ctl = 225, + epoll_wait = 226, + remap_file_pages = 227, + semtimedop = 228, + mq_open = 229, + mq_unlink = 230, + mq_timedsend = 231, + mq_timedreceive = 232, + mq_notify = 233, + mq_getsetattr = 234, + waitid = 235, + fadvise64_64 = 236, + set_tid_address = 237, + setxattr = 238, + lsetxattr = 239, + fsetxattr = 240, + getxattr = 241, + lgetxattr = 242, + fgetxattr = 243, + listxattr = 244, + llistxattr = 245, + flistxattr = 246, + removexattr = 247, + lremovexattr = 248, + fremovexattr = 249, + timer_create = 250, + timer_settime = 251, + timer_gettime = 252, + timer_getoverrun = 253, + timer_delete = 254, + clock_settime = 255, + clock_gettime = 256, + clock_getres = 257, + clock_nanosleep = 258, + tgkill = 259, + mbind = 260, + get_mempolicy = 261, + set_mempolicy = 262, + add_key = 264, + request_key = 265, + keyctl = 266, + ioprio_set = 267, + ioprio_get = 268, + inotify_init = 269, + inotify_add_watch = 270, + inotify_rm_watch = 271, + migrate_pages = 272, + pselect6 = 273, + ppoll = 274, + openat = 275, + mkdirat = 276, + mknodat = 277, + fchownat = 278, + futimesat = 279, + fstatat64 = 280, + unlinkat = 281, + renameat = 282, + linkat = 283, + symlinkat = 284, + readlinkat = 285, + fchmodat = 286, + faccessat = 287, + unshare = 288, + set_robust_list = 289, + get_robust_list = 290, + splice = 291, + sync_file_range = 292, + tee = 293, + vmsplice = 294, + move_pages = 295, + getcpu = 296, + epoll_pwait = 297, + statfs64 = 298, + fstatfs64 = 299, + kexec_load = 300, + utimensat = 301, + signalfd = 302, + eventfd = 304, + fallocate = 305, + timerfd_create = 306, + timerfd_settime = 307, + timerfd_gettime = 308, + signalfd4 = 309, + eventfd2 = 310, + epoll_create1 = 311, + dup3 = 312, + pipe2 = 313, + inotify_init1 = 314, + preadv = 315, + pwritev = 316, + rt_tgsigqueueinfo = 317, + perf_event_open = 318, + recvmmsg = 319, + accept4 = 320, + prlimit64 = 321, + fanotify_init = 322, + fanotify_mark = 323, + clock_adjtime = 324, + name_to_handle_at = 325, + open_by_handle_at = 326, + syncfs = 327, + setns = 328, + sendmmsg = 329, + process_vm_readv = 330, + process_vm_writev = 331, + kcmp = 332, + finit_module = 333, + sched_setattr = 334, + sched_getattr = 335, + utimes = 336, + renameat2 = 337, + seccomp = 338, + getrandom = 339, + memfd_create = 340, + bpf = 341, + execveat = 342, + membarrier = 343, + userfaultfd = 344, + mlock2 = 345, + copy_file_range = 346, + preadv2 = 347, + pwritev2 = 348, + statx = 349, + io_pgetevents = 350, + pkey_mprotect = 351, + pkey_alloc = 352, + pkey_free = 353, + rseq = 354, + kexec_file_load = 355, + cacheflush = 356, + pidfd_send_signal = 424, + io_uring_setup = 425, + io_uring_enter = 426, + io_uring_register = 427, + open_tree = 428, + move_mount = 429, + fsopen = 430, + fsconfig = 431, + fsmount = 432, + fspick = 433, + pidfd_open = 434, + clone3 = 435, + close_range = 436, + openat2 = 437, + pidfd_getfd = 438, + faccessat2 = 439, + process_madvise = 440, + epoll_pwait2 = 441, + mount_setattr = 442, + quotactl_fd = 443, + landlock_create_ruleset = 444, + landlock_add_rule = 445, + landlock_restrict_self = 446, + process_mrelease = 448, + futex_waitv = 449, + set_mempolicy_home_node = 450, + cachestat = 451, + fchmodat2 = 452, + map_shadow_stack = 453, + futex_wake = 454, + futex_wait = 455, + futex_requeue = 456, + statmount = 457, + listmount = 458, + lsm_get_self_attr = 459, + lsm_set_self_attr = 460, + lsm_list_modules = 461, + mseal = 462, + setxattrat = 463, + getxattrat = 464, + listxattrat = 465, + removexattrat = 466, + open_tree_attr = 467, + file_getattr = 468, + file_setattr = 469, + listns = 470, + rseq_slice_yield = 471, +}; + +pub const Sh = enum(usize) { + restart_syscall = 0, + exit = 1, + fork = 2, + read = 3, + write = 4, + open = 5, + close = 6, + waitpid = 7, + creat = 8, + link = 9, + unlink = 10, + execve = 11, + chdir = 12, + time = 13, + mknod = 14, + chmod = 15, + lchown = 16, + oldstat = 18, + lseek = 19, + getpid = 20, + mount = 21, + umount = 22, + setuid = 23, + getuid = 24, + stime = 25, + ptrace = 26, + alarm = 27, + oldfstat = 28, + pause = 29, + utime = 30, + access = 33, + nice = 34, + sync = 36, + kill = 37, + rename = 38, + mkdir = 39, + rmdir = 40, + dup = 41, + pipe = 42, + times = 43, + brk = 45, + setgid = 46, + getgid = 47, + signal = 48, + geteuid = 49, + getegid = 50, + acct = 51, + umount2 = 52, + ioctl = 54, + fcntl = 55, + setpgid = 57, + umask = 60, + chroot = 61, + ustat = 62, + dup2 = 63, + getppid = 64, + getpgrp = 65, + setsid = 66, + sigaction = 67, + sgetmask = 68, + ssetmask = 69, + setreuid = 70, + setregid = 71, + sigsuspend = 72, + sigpending = 73, + sethostname = 74, + setrlimit = 75, + getrlimit = 76, + getrusage = 77, + gettimeofday = 78, + settimeofday = 79, + getgroups = 80, + setgroups = 81, + symlink = 83, + oldlstat = 84, + readlink = 85, + uselib = 86, + swapon = 87, + reboot = 88, + readdir = 89, + mmap = 90, + munmap = 91, + truncate = 92, + ftruncate = 93, + fchmod = 94, + fchown = 95, + getpriority = 96, + setpriority = 97, + statfs = 99, + fstatfs = 100, + socketcall = 102, + syslog = 103, + setitimer = 104, + getitimer = 105, + stat = 106, + lstat = 107, + fstat = 108, + olduname = 109, + vhangup = 111, + wait4 = 114, + swapoff = 115, + sysinfo = 116, + ipc = 117, + fsync = 118, + sigreturn = 119, + clone = 120, + setdomainname = 121, + uname = 122, + cacheflush = 123, + adjtimex = 124, + mprotect = 125, + sigprocmask = 126, + init_module = 128, + delete_module = 129, + quotactl = 131, + getpgid = 132, + fchdir = 133, + bdflush = 134, + sysfs = 135, + personality = 136, + setfsuid = 138, + setfsgid = 139, + llseek = 140, + getdents = 141, + newselect = 142, + flock = 143, + msync = 144, + readv = 145, + writev = 146, + getsid = 147, + fdatasync = 148, + sysctl = 149, + mlock = 150, + munlock = 151, + mlockall = 152, + munlockall = 153, + sched_setparam = 154, + sched_getparam = 155, + sched_setscheduler = 156, + sched_getscheduler = 157, + sched_yield = 158, + sched_get_priority_max = 159, + sched_get_priority_min = 160, + sched_rr_get_interval = 161, + nanosleep = 162, + mremap = 163, + setresuid = 164, + getresuid = 165, + poll = 168, + nfsservctl = 169, + setresgid = 170, + getresgid = 171, + prctl = 172, + rt_sigreturn = 173, + rt_sigaction = 174, + rt_sigprocmask = 175, + rt_sigpending = 176, + rt_sigtimedwait = 177, + rt_sigqueueinfo = 178, + rt_sigsuspend = 179, + pread64 = 180, + pwrite64 = 181, + chown = 182, + getcwd = 183, + capget = 184, + capset = 185, + sigaltstack = 186, + sendfile = 187, + vfork = 190, + ugetrlimit = 191, + mmap2 = 192, + truncate64 = 193, + ftruncate64 = 194, + stat64 = 195, + lstat64 = 196, + fstat64 = 197, + lchown32 = 198, + getuid32 = 199, + getgid32 = 200, + geteuid32 = 201, + getegid32 = 202, + setreuid32 = 203, + setregid32 = 204, + getgroups32 = 205, + setgroups32 = 206, + fchown32 = 207, + setresuid32 = 208, + getresuid32 = 209, + setresgid32 = 210, + getresgid32 = 211, + chown32 = 212, + setuid32 = 213, + setgid32 = 214, + setfsuid32 = 215, + setfsgid32 = 216, + pivot_root = 217, + mincore = 218, + madvise = 219, + getdents64 = 220, + fcntl64 = 221, + gettid = 224, + readahead = 225, + setxattr = 226, + lsetxattr = 227, + fsetxattr = 228, + getxattr = 229, + lgetxattr = 230, + fgetxattr = 231, + listxattr = 232, + llistxattr = 233, + flistxattr = 234, + removexattr = 235, + lremovexattr = 236, + fremovexattr = 237, + tkill = 238, + sendfile64 = 239, + futex = 240, + sched_setaffinity = 241, + sched_getaffinity = 242, + io_setup = 245, + io_destroy = 246, + io_getevents = 247, + io_submit = 248, + io_cancel = 249, + fadvise64 = 250, + exit_group = 252, + lookup_dcookie = 253, + epoll_create = 254, + epoll_ctl = 255, + epoll_wait = 256, + remap_file_pages = 257, + set_tid_address = 258, + timer_create = 259, + timer_settime = 260, + timer_gettime = 261, + timer_getoverrun = 262, + timer_delete = 263, + clock_settime = 264, + clock_gettime = 265, + clock_getres = 266, + clock_nanosleep = 267, + statfs64 = 268, + fstatfs64 = 269, + tgkill = 270, + utimes = 271, + fadvise64_64 = 272, + mbind = 274, + get_mempolicy = 275, + set_mempolicy = 276, + mq_open = 277, + mq_unlink = 278, + mq_timedsend = 279, + mq_timedreceive = 280, + mq_notify = 281, + mq_getsetattr = 282, + kexec_load = 283, + waitid = 284, + add_key = 285, + request_key = 286, + keyctl = 287, + ioprio_set = 288, + ioprio_get = 289, + inotify_init = 290, + inotify_add_watch = 291, + inotify_rm_watch = 292, + migrate_pages = 294, + openat = 295, + mkdirat = 296, + mknodat = 297, + fchownat = 298, + futimesat = 299, + fstatat64 = 300, + unlinkat = 301, + renameat = 302, + linkat = 303, + symlinkat = 304, + readlinkat = 305, + fchmodat = 306, + faccessat = 307, + pselect6 = 308, + ppoll = 309, + unshare = 310, + set_robust_list = 311, + get_robust_list = 312, + splice = 313, + sync_file_range = 314, + tee = 315, + vmsplice = 316, + move_pages = 317, + getcpu = 318, + epoll_pwait = 319, + utimensat = 320, + signalfd = 321, + timerfd_create = 322, + eventfd = 323, + fallocate = 324, + timerfd_settime = 325, + timerfd_gettime = 326, + signalfd4 = 327, + eventfd2 = 328, + epoll_create1 = 329, + dup3 = 330, + pipe2 = 331, + inotify_init1 = 332, + preadv = 333, + pwritev = 334, + rt_tgsigqueueinfo = 335, + perf_event_open = 336, + fanotify_init = 337, + fanotify_mark = 338, + prlimit64 = 339, + socket = 340, + bind = 341, + connect = 342, + listen = 343, + accept = 344, + getsockname = 345, + getpeername = 346, + socketpair = 347, + send = 348, + sendto = 349, + recv = 350, + recvfrom = 351, + shutdown = 352, + setsockopt = 353, + getsockopt = 354, + sendmsg = 355, + recvmsg = 356, + recvmmsg = 357, + accept4 = 358, + name_to_handle_at = 359, + open_by_handle_at = 360, + clock_adjtime = 361, + syncfs = 362, + sendmmsg = 363, + setns = 364, + process_vm_readv = 365, + process_vm_writev = 366, + kcmp = 367, + finit_module = 368, + sched_getattr = 369, + sched_setattr = 370, + renameat2 = 371, + seccomp = 372, + getrandom = 373, + memfd_create = 374, + bpf = 375, + execveat = 376, + userfaultfd = 377, + membarrier = 378, + mlock2 = 379, + copy_file_range = 380, + preadv2 = 381, + pwritev2 = 382, + statx = 383, + pkey_mprotect = 384, + pkey_alloc = 385, + pkey_free = 386, + rseq = 387, + sync_file_range2 = 388, + semget = 393, + semctl = 394, + shmget = 395, + shmctl = 396, + shmat = 397, + shmdt = 398, + msgget = 399, + msgsnd = 400, + msgrcv = 401, + msgctl = 402, + clock_gettime64 = 403, + clock_settime64 = 404, + clock_adjtime64 = 405, + clock_getres_time64 = 406, + clock_nanosleep_time64 = 407, + timer_gettime64 = 408, + timer_settime64 = 409, + timerfd_gettime64 = 410, + timerfd_settime64 = 411, + utimensat_time64 = 412, + pselect6_time64 = 413, + ppoll_time64 = 414, + io_pgetevents_time64 = 416, + recvmmsg_time64 = 417, + mq_timedsend_time64 = 418, + mq_timedreceive_time64 = 419, + semtimedop_time64 = 420, + rt_sigtimedwait_time64 = 421, + futex_time64 = 422, + sched_rr_get_interval_time64 = 423, + pidfd_send_signal = 424, + io_uring_setup = 425, + io_uring_enter = 426, + io_uring_register = 427, + open_tree = 428, + move_mount = 429, + fsopen = 430, + fsconfig = 431, + fsmount = 432, + fspick = 433, + pidfd_open = 434, + close_range = 436, + openat2 = 437, + pidfd_getfd = 438, + faccessat2 = 439, + process_madvise = 440, + epoll_pwait2 = 441, + mount_setattr = 442, + quotactl_fd = 443, + landlock_create_ruleset = 444, + landlock_add_rule = 445, + landlock_restrict_self = 446, + process_mrelease = 448, + futex_waitv = 449, + set_mempolicy_home_node = 450, + cachestat = 451, + fchmodat2 = 452, + map_shadow_stack = 453, + futex_wake = 454, + futex_wait = 455, + futex_requeue = 456, + statmount = 457, + listmount = 458, + lsm_get_self_attr = 459, + lsm_set_self_attr = 460, + lsm_list_modules = 461, + mseal = 462, + setxattrat = 463, + getxattrat = 464, + listxattrat = 465, + removexattrat = 466, + open_tree_attr = 467, + file_getattr = 468, + file_setattr = 469, + listns = 470, + rseq_slice_yield = 471, +}; + +pub const Microblaze = enum(usize) { + restart_syscall = 0, + exit = 1, + fork = 2, + read = 3, + write = 4, + open = 5, + close = 6, + waitpid = 7, + creat = 8, + link = 9, + unlink = 10, + execve = 11, + chdir = 12, + time = 13, + mknod = 14, + chmod = 15, + lchown = 16, + @"break" = 17, + oldstat = 18, + lseek = 19, + getpid = 20, + mount = 21, + umount = 22, + setuid = 23, + getuid = 24, + stime = 25, + ptrace = 26, + alarm = 27, + oldfstat = 28, + pause = 29, + utime = 30, + stty = 31, + gtty = 32, + access = 33, + nice = 34, + ftime = 35, + sync = 36, + kill = 37, + rename = 38, + mkdir = 39, + rmdir = 40, + dup = 41, + pipe = 42, + times = 43, + prof = 44, + brk = 45, + setgid = 46, + getgid = 47, + signal = 48, + geteuid = 49, + getegid = 50, + acct = 51, + umount2 = 52, + lock = 53, + ioctl = 54, + fcntl = 55, + mpx = 56, + setpgid = 57, + ulimit = 58, + oldolduname = 59, + umask = 60, + chroot = 61, + ustat = 62, + dup2 = 63, + getppid = 64, + getpgrp = 65, + setsid = 66, + sigaction = 67, + sgetmask = 68, + ssetmask = 69, + setreuid = 70, + setregid = 71, + sigsuspend = 72, + sigpending = 73, + sethostname = 74, + setrlimit = 75, + getrlimit = 76, + getrusage = 77, + gettimeofday = 78, + settimeofday = 79, + getgroups = 80, + setgroups = 81, + select = 82, + symlink = 83, + oldlstat = 84, + readlink = 85, + uselib = 86, + swapon = 87, + reboot = 88, + readdir = 89, + mmap = 90, + munmap = 91, + truncate = 92, + ftruncate = 93, + fchmod = 94, + fchown = 95, + getpriority = 96, + setpriority = 97, + profil = 98, + statfs = 99, + fstatfs = 100, + ioperm = 101, + socketcall = 102, + syslog = 103, + setitimer = 104, + getitimer = 105, + stat = 106, + lstat = 107, + fstat = 108, + olduname = 109, + iopl = 110, + vhangup = 111, + idle = 112, + vm86old = 113, + wait4 = 114, + swapoff = 115, + sysinfo = 116, + ipc = 117, + fsync = 118, + sigreturn = 119, + clone = 120, + setdomainname = 121, + uname = 122, + modify_ldt = 123, + adjtimex = 124, + mprotect = 125, + sigprocmask = 126, + create_module = 127, + init_module = 128, + delete_module = 129, + get_kernel_syms = 130, + quotactl = 131, + getpgid = 132, + fchdir = 133, + bdflush = 134, + sysfs = 135, + personality = 136, + afs_syscall = 137, + setfsuid = 138, + setfsgid = 139, + llseek = 140, + getdents = 141, + newselect = 142, + flock = 143, + msync = 144, + readv = 145, + writev = 146, + getsid = 147, + fdatasync = 148, + sysctl = 149, + mlock = 150, + munlock = 151, + mlockall = 152, + munlockall = 153, + sched_setparam = 154, + sched_getparam = 155, + sched_setscheduler = 156, + sched_getscheduler = 157, + sched_yield = 158, + sched_get_priority_max = 159, + sched_get_priority_min = 160, + sched_rr_get_interval = 161, + nanosleep = 162, + mremap = 163, + setresuid = 164, + getresuid = 165, + vm86 = 166, + query_module = 167, + poll = 168, + nfsservctl = 169, + setresgid = 170, + getresgid = 171, + prctl = 172, + rt_sigreturn = 173, + rt_sigaction = 174, + rt_sigprocmask = 175, + rt_sigpending = 176, + rt_sigtimedwait = 177, + rt_sigqueueinfo = 178, + rt_sigsuspend = 179, + pread64 = 180, + pwrite64 = 181, + chown = 182, + getcwd = 183, + capget = 184, + capset = 185, + sigaltstack = 186, + sendfile = 187, + getpmsg = 188, + putpmsg = 189, + vfork = 190, + ugetrlimit = 191, + mmap2 = 192, + truncate64 = 193, + ftruncate64 = 194, + stat64 = 195, + lstat64 = 196, + fstat64 = 197, + lchown32 = 198, + getuid32 = 199, + getgid32 = 200, + geteuid32 = 201, + getegid32 = 202, + setreuid32 = 203, + setregid32 = 204, + getgroups32 = 205, + setgroups32 = 206, + fchown32 = 207, + setresuid32 = 208, + getresuid32 = 209, + setresgid32 = 210, + getresgid32 = 211, + chown32 = 212, + setuid32 = 213, + setgid32 = 214, + setfsuid32 = 215, + setfsgid32 = 216, + pivot_root = 217, + mincore = 218, + madvise = 219, + getdents64 = 220, + fcntl64 = 221, + gettid = 224, + readahead = 225, + setxattr = 226, + lsetxattr = 227, + fsetxattr = 228, + getxattr = 229, + lgetxattr = 230, + fgetxattr = 231, + listxattr = 232, + llistxattr = 233, + flistxattr = 234, + removexattr = 235, + lremovexattr = 236, + fremovexattr = 237, + tkill = 238, + sendfile64 = 239, + futex = 240, + sched_setaffinity = 241, + sched_getaffinity = 242, + set_thread_area = 243, + get_thread_area = 244, + io_setup = 245, + io_destroy = 246, + io_getevents = 247, + io_submit = 248, + io_cancel = 249, + fadvise64 = 250, + exit_group = 252, + lookup_dcookie = 253, + epoll_create = 254, + epoll_ctl = 255, + epoll_wait = 256, + remap_file_pages = 257, + set_tid_address = 258, + timer_create = 259, + timer_settime = 260, + timer_gettime = 261, + timer_getoverrun = 262, + timer_delete = 263, + clock_settime = 264, + clock_gettime = 265, + clock_getres = 266, + clock_nanosleep = 267, + statfs64 = 268, + fstatfs64 = 269, + tgkill = 270, + utimes = 271, + fadvise64_64 = 272, + vserver = 273, + mbind = 274, + get_mempolicy = 275, + set_mempolicy = 276, + mq_open = 277, + mq_unlink = 278, + mq_timedsend = 279, + mq_timedreceive = 280, + mq_notify = 281, + mq_getsetattr = 282, + kexec_load = 283, + waitid = 284, + add_key = 286, + request_key = 287, + keyctl = 288, + ioprio_set = 289, + ioprio_get = 290, + inotify_init = 291, + inotify_add_watch = 292, + inotify_rm_watch = 293, + migrate_pages = 294, + openat = 295, + mkdirat = 296, + mknodat = 297, + fchownat = 298, + futimesat = 299, + fstatat64 = 300, + unlinkat = 301, + renameat = 302, + linkat = 303, + symlinkat = 304, + readlinkat = 305, + fchmodat = 306, + faccessat = 307, + pselect6 = 308, + ppoll = 309, + unshare = 310, + set_robust_list = 311, + get_robust_list = 312, + splice = 313, + sync_file_range = 314, + tee = 315, + vmsplice = 316, + move_pages = 317, + getcpu = 318, + epoll_pwait = 319, + utimensat = 320, + signalfd = 321, + timerfd_create = 322, + eventfd = 323, + fallocate = 324, + semtimedop = 325, + timerfd_settime = 326, + timerfd_gettime = 327, + semctl = 328, + semget = 329, + semop = 330, + msgctl = 331, + msgget = 332, + msgrcv = 333, + msgsnd = 334, + shmat = 335, + shmctl = 336, + shmdt = 337, + shmget = 338, + signalfd4 = 339, + eventfd2 = 340, + epoll_create1 = 341, + dup3 = 342, + pipe2 = 343, + inotify_init1 = 344, + socket = 345, + socketpair = 346, + bind = 347, + listen = 348, + accept = 349, + connect = 350, + getsockname = 351, + getpeername = 352, + sendto = 353, + send = 354, + recvfrom = 355, + recv = 356, + setsockopt = 357, + getsockopt = 358, + shutdown = 359, + sendmsg = 360, + recvmsg = 361, + accept4 = 362, + preadv = 363, + pwritev = 364, + rt_tgsigqueueinfo = 365, + perf_event_open = 366, + recvmmsg = 367, + fanotify_init = 368, + fanotify_mark = 369, + prlimit64 = 370, + name_to_handle_at = 371, + open_by_handle_at = 372, + clock_adjtime = 373, + syncfs = 374, + setns = 375, + sendmmsg = 376, + process_vm_readv = 377, + process_vm_writev = 378, + kcmp = 379, + finit_module = 380, + sched_setattr = 381, + sched_getattr = 382, + renameat2 = 383, + seccomp = 384, + getrandom = 385, + memfd_create = 386, + bpf = 387, + execveat = 388, + userfaultfd = 389, + membarrier = 390, + mlock2 = 391, + copy_file_range = 392, + preadv2 = 393, + pwritev2 = 394, + pkey_mprotect = 395, + pkey_alloc = 396, + pkey_free = 397, + statx = 398, + io_pgetevents = 399, + rseq = 400, + clock_gettime64 = 403, + clock_settime64 = 404, + clock_adjtime64 = 405, + clock_getres_time64 = 406, + clock_nanosleep_time64 = 407, + timer_gettime64 = 408, + timer_settime64 = 409, + timerfd_gettime64 = 410, + timerfd_settime64 = 411, + utimensat_time64 = 412, + pselect6_time64 = 413, + ppoll_time64 = 414, + io_pgetevents_time64 = 416, + recvmmsg_time64 = 417, + mq_timedsend_time64 = 418, + mq_timedreceive_time64 = 419, + semtimedop_time64 = 420, + rt_sigtimedwait_time64 = 421, + futex_time64 = 422, + sched_rr_get_interval_time64 = 423, + pidfd_send_signal = 424, + io_uring_setup = 425, + io_uring_enter = 426, + io_uring_register = 427, + open_tree = 428, + move_mount = 429, + fsopen = 430, + fsconfig = 431, + fsmount = 432, + fspick = 433, + pidfd_open = 434, + clone3 = 435, + close_range = 436, + openat2 = 437, + pidfd_getfd = 438, + faccessat2 = 439, + process_madvise = 440, + epoll_pwait2 = 441, + mount_setattr = 442, + quotactl_fd = 443, + landlock_create_ruleset = 444, + landlock_add_rule = 445, + landlock_restrict_self = 446, + process_mrelease = 448, + futex_waitv = 449, + set_mempolicy_home_node = 450, + cachestat = 451, + fchmodat2 = 452, + map_shadow_stack = 453, + futex_wake = 454, + futex_wait = 455, + futex_requeue = 456, + statmount = 457, + listmount = 458, + lsm_get_self_attr = 459, + lsm_set_self_attr = 460, + lsm_list_modules = 461, + mseal = 462, + setxattrat = 463, + getxattrat = 464, + listxattrat = 465, + removexattrat = 466, + open_tree_attr = 467, + file_getattr = 468, + file_setattr = 469, + listns = 470, + rseq_slice_yield = 471, +}; diff --git a/tools/generate_linux_syscalls.zig b/tools/generate_linux_syscalls.zig @@ -20,11 +20,6 @@ const stdlib_renames = std.StaticStringMap([]const u8).initComptime(.{ .{ "_llseek", "llseek" }, .{ "_newselect", "newselect" }, .{ "_sysctl", "sysctl" }, - // Most 64-bit archs. - .{ "newfstat", "fstat64" }, - .{ "newfstatat", "fstatat64" }, - // POWER. - .{ "sync_file_range2", "sync_file_range" }, // ARM EABI/Thumb. .{ "arm_sync_file_range", "sync_file_range" }, .{ "arm_fadvise64_64", "fadvise64_64" }, @@ -171,11 +166,10 @@ const architectures: []const Arch = &.{ .{ .@"var" = "CSky", .table = .generic, .abi = &.{ .common, .@"32", .csky, .time32, .stat64, .rlimit } }, .{ .@"var" = "Hexagon", .table = .generic, .abi = &.{ .common, .@"32", .hexagon, .time32, .stat64, .rlimit, .renameat } }, .{ .@"var" = "OpenRisc", .table = .generic, .abi = &.{ .common, .@"32", .or1k, .time32, .stat64, .rlimit, .renameat } }, - // .{ .@"var" = "Nios2", .table = .generic, .abi = &.{ .common, .@"32", .nios2, .time32, .stat64, .rlimit, .renameat } }, - // .{ .@"var" = "Parisc", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"32" } }, - // .{ .@"var" = "Parisc64", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"64" } }, - // .{ .@"var" = "Sh", .table = .{ .specific = "arch/sh/kernel/syscalls/syscall.tbl" } }, - // .{ .@"var" = "Microblaze", .table = .{ .specific = "arch/microblaze/kernel/syscalls/syscall.tbl" } }, + .{ .@"var" = "Hppa", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"32" } }, + .{ .@"var" = "Hppa64", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"64" } }, + .{ .@"var" = "Sh", .table = .{ .specific = "arch/sh/kernel/syscalls/syscall.tbl" } }, + .{ .@"var" = "Microblaze", .table = .{ .specific = "arch/microblaze/kernel/syscalls/syscall.tbl" } }, }; pub fn main(init: std.process.Init) !void {