authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-04 22:58:38+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-04 22:58:38+02:00
log35df61dec4f7b535a3f0cb8c9e3d4193f84d8835
treee656151c2c4d6d2fffcc027ec4293b81cf7e9246
parentea3be3d4fe2c4f0aae29c2889c2079fb18133726
parent09c87564c83da4144fa941974ceafc52390812b9

Merge pull request 'add `microblaze(el)-linux` and `sh(eb)-linux` arch bits' (#35625) from alexrp/zig:microblaze-superh into master

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35625

8 files changed, 2163 insertions(+), 35 deletions(-)

lib/std/Thread.zig+1-1
......@@ -1264,7 +1264,7 @@ const LinuxThreadImpl = struct {
12641264 \\ ori r12, r0, 91 # SYS_munmap
12651265 \\ brki r14, 0x8
12661266 \\ ori r12, r0, 1 # SYS_exit
1267 \\ or r5, r0, r0
1267 \\ ori r5, r0, 0
12681268 \\ brki r14, 0x8
12691269 :
12701270 : [ptr] "{r5}" (@intFromPtr(self.mapped.ptr)),
lib/std/os.zig-6
......@@ -18,12 +18,6 @@ pub fn targetRequiresLibC(target: *const std.Target) bool {
1818 // https://codeberg.org/ziglang/zig/issues/30943
1919 .hppa,
2020 .hppa64,
21 // https://codeberg.org/ziglang/zig/issues/30944
22 .microblaze,
23 .microblazeel,
24 // https://codeberg.org/ziglang/zig/issues/30946
25 .sh,
26 .sheb,
2721 => true,
2822 else => false,
2923 },
lib/std/os/linux.zig+26-1
......@@ -40,6 +40,7 @@ const arch_bits = switch (native_arch) {
4040 .loongarch32 => @import("linux/loongarch32.zig"),
4141 .loongarch64 => @import("linux/loongarch64.zig"),
4242 .m68k => @import("linux/m68k.zig"),
43 .microblaze, .microblazeel => @import("linux/microblaze.zig"),
4344 .mips, .mipsel => @import("linux/mips.zig"),
4445 .mips64, .mips64el => switch (builtin.abi) {
4546 .gnuabin32, .muslabin32 => @import("linux/mipsn32.zig"),
......@@ -51,6 +52,7 @@ const arch_bits = switch (native_arch) {
5152 .riscv32 => @import("linux/riscv32.zig"),
5253 .riscv64 => @import("linux/riscv64.zig"),
5354 .s390x => @import("linux/s390x.zig"),
55 .sh, .sheb => @import("linux/sh.zig"),
5456 .sparc => @import("linux/sparc.zig"),
5557 .sparc64 => @import("linux/sparc64.zig"),
5658 .x86 => @import("linux/x86.zig"),
......@@ -133,9 +135,12 @@ pub const SYS = switch (native_arch) {
133135 .arm, .armeb, .thumb, .thumbeb => syscalls.Arm,
134136 .csky => syscalls.CSky,
135137 .hexagon => syscalls.Hexagon,
138 .hppa => syscalls.Hppa,
139 .hppa64 => syscalls.Hppa64,
136140 .loongarch32 => syscalls.LoongArch32,
137141 .loongarch64 => syscalls.LoongArch64,
138142 .m68k => syscalls.M68k,
143 .microblaze, .microblazeel => syscalls.Microblaze,
139144 .mips, .mipsel => syscalls.MipsO32,
140145 .mips64, .mips64el => switch (builtin.abi) {
141146 .gnuabin32, .muslabin32 => syscalls.MipsN32,
......@@ -147,6 +152,7 @@ pub const SYS = switch (native_arch) {
147152 .riscv32 => syscalls.RiscV32,
148153 .riscv64 => syscalls.RiscV64,
149154 .s390x => syscalls.S390x,
155 .sh, .sheb => syscalls.Sh,
150156 .sparc => syscalls.Sparc,
151157 .sparc64 => syscalls.Sparc64,
152158 .x86 => syscalls.X86,
......@@ -293,8 +299,12 @@ pub const MAP = switch (native_arch) {
293299 .csky,
294300 .hexagon,
295301 .m68k,
302 .microblaze,
303 .microblazeel,
296304 .or1k,
297305 .s390x,
306 .sh,
307 .sheb,
298308 => packed struct(u32) {
299309 TYPE: MAP_TYPE,
300310 FIXED: bool = false,
......@@ -523,8 +533,12 @@ pub const O = switch (native_arch) {
523533 .arceb,
524534 .csky,
525535 .hexagon,
536 .microblaze,
537 .microblazeel,
526538 .or1k,
527539 .s390x,
540 .sh,
541 .sheb,
528542 .xtensa,
529543 .xtensaeb,
530544 => packed struct(u32) {
......@@ -6978,12 +6992,16 @@ pub const MINSIGSTKSZ = switch (native_arch) {
69786992 .mipsel,
69796993 .mips64,
69806994 .mips64el,
6995 .microblaze,
6996 .microblazeel,
69816997 .or1k,
69826998 .powerpc,
69836999 .powerpcle,
69847000 .riscv32,
69857001 .riscv64,
69867002 .s390x,
7003 .sh,
7004 .sheb,
69877005 .thumb,
69887006 .thumbeb,
69897007 .x86,
......@@ -7016,12 +7034,16 @@ pub const SIGSTKSZ = switch (native_arch) {
70167034 .mipsel,
70177035 .mips64,
70187036 .mips64el,
7037 .microblaze,
7038 .microblazeel,
70197039 .or1k,
70207040 .powerpc,
70217041 .powerpcle,
70227042 .riscv32,
70237043 .riscv64,
70247044 .s390x,
7045 .sh,
7046 .sheb,
70257047 .thumb,
70267048 .thumbeb,
70277049 .x86,
......@@ -10719,6 +10741,7 @@ pub const AUDIT = struct {
1071910741 .loongarch32 => .LOONGARCH32,
1072010742 .loongarch64 => .LOONGARCH64,
1072110743 .m68k => .M68K,
10744 .microblaze, .microblazeel => .MICROBLAZE,
1072210745 .mips => .MIPS,
1072310746 .mipsel => .MIPSEL,
1072410747 .mips64 => switch (native_abi) {
......@@ -10735,9 +10758,11 @@ pub const AUDIT = struct {
1073510758 .powerpc64le => .PPC64LE,
1073610759 .riscv32 => .RISCV32,
1073710760 .riscv64 => .RISCV64,
10761 .s390x => .S390X,
10762 .sh => .SHEL,
10763 .sheb => .SH,
1073810764 .sparc => .SPARC,
1073910765 .sparc64 => .SPARC64,
10740 .s390x => .S390X,
1074110766 .x86 => .I386,
1074210767 .x86_64 => .X86_64,
1074310768 .xtensa => .XTENSA,
lib/std/os/linux/microblaze.zig created+170
......@@ -0,0 +1,170 @@
1const builtin = @import("builtin");
2const std = @import("../../std.zig");
3const SYS = std.os.linux.SYS;
4
5pub const syscall_arg_t = u32;
6
7pub fn syscall0(
8 number: SYS,
9) u32 {
10 return asm volatile ("brki r14, 0x8"
11 : [ret] "={r3}" (-> u32),
12 : [number] "{r12}" (@intFromEnum(number)),
13 : .{ .r4 = true, .memory = true });
14}
15
16pub fn syscall1(
17 number: SYS,
18 arg1: syscall_arg_t,
19) u32 {
20 return asm volatile ("brki r14, 0x8"
21 : [ret] "={r3}" (-> u32),
22 : [number] "{r12}" (@intFromEnum(number)),
23 [arg1] "{r5}" (arg1),
24 : .{ .r4 = true, .memory = true });
25}
26
27pub fn syscall2(
28 number: SYS,
29 arg1: syscall_arg_t,
30 arg2: syscall_arg_t,
31) u32 {
32 return asm volatile ("brki r14, 0x8"
33 : [ret] "={r3}" (-> u32),
34 : [number] "{r12}" (@intFromEnum(number)),
35 [arg1] "{r5}" (arg1),
36 [arg2] "{r6}" (arg2),
37 : .{ .r4 = true, .memory = true });
38}
39
40pub fn syscall3(
41 number: SYS,
42 arg1: syscall_arg_t,
43 arg2: syscall_arg_t,
44 arg3: syscall_arg_t,
45) u32 {
46 return asm volatile ("brki r14, 0x8"
47 : [ret] "={r3}" (-> u32),
48 : [number] "{r12}" (@intFromEnum(number)),
49 [arg1] "{r5}" (arg1),
50 [arg2] "{r6}" (arg2),
51 [arg3] "{r7}" (arg3),
52 : .{ .r4 = true, .memory = true });
53}
54
55pub fn syscall4(
56 number: SYS,
57 arg1: syscall_arg_t,
58 arg2: syscall_arg_t,
59 arg3: syscall_arg_t,
60 arg4: syscall_arg_t,
61) u32 {
62 return asm volatile ("brki r14, 0x8"
63 : [ret] "={r3}" (-> u32),
64 : [number] "{r12}" (@intFromEnum(number)),
65 [arg1] "{r5}" (arg1),
66 [arg2] "{r6}" (arg2),
67 [arg3] "{r7}" (arg3),
68 [arg4] "{r8}" (arg4),
69 : .{ .r4 = true, .memory = true });
70}
71
72pub fn syscall5(
73 number: SYS,
74 arg1: syscall_arg_t,
75 arg2: syscall_arg_t,
76 arg3: syscall_arg_t,
77 arg4: syscall_arg_t,
78 arg5: syscall_arg_t,
79) u32 {
80 return asm volatile ("brki r14, 0x8"
81 : [ret] "={r3}" (-> u32),
82 : [number] "{r12}" (@intFromEnum(number)),
83 [arg1] "{r5}" (arg1),
84 [arg2] "{r6}" (arg2),
85 [arg3] "{r7}" (arg3),
86 [arg4] "{r8}" (arg4),
87 [arg5] "{r9}" (arg5),
88 : .{ .r4 = true, .memory = true });
89}
90
91pub fn syscall6(
92 number: SYS,
93 arg1: syscall_arg_t,
94 arg2: syscall_arg_t,
95 arg3: syscall_arg_t,
96 arg4: syscall_arg_t,
97 arg5: syscall_arg_t,
98 arg6: syscall_arg_t,
99) u32 {
100 return asm volatile ("brki r14, 0x8"
101 : [ret] "={r3}" (-> u32),
102 : [number] "{r12}" (@intFromEnum(number)),
103 [arg1] "{r5}" (arg1),
104 [arg2] "{r6}" (arg2),
105 [arg3] "{r7}" (arg3),
106 [arg4] "{r8}" (arg4),
107 [arg5] "{r9}" (arg5),
108 [arg6] "{r10}" (arg6),
109 : .{ .r4 = true, .memory = true });
110}
111
112pub fn clone() callconv(.naked) u32 {
113 // __clone(func, stack, flags, arg, ptid, tls, ctid)
114 // r5, r6, r7, r8, r9, r10, +28
115 //
116 // syscall(SYS_clone, flags, stack, ptid, ctid, tls)
117 // r12 r5, r6, r8, r9, r10
118 asm volatile (
119 \\ andi r6, r6, -4
120 \\
121 \\ addi r6, r6, -8
122 \\ swi r5, r6, 0
123 \\ swi r8, r6, 4
124 \\
125 \\ ori r12, r0, 120 # SYS_clone
126 \\ ori r5, r7, 0
127 \\ ori r7, r0, 0 # stack size
128 \\ ori r8, r9, 0
129 \\ lwi r9, r1, 28
130 \\ brki r14, 0x8
131 \\ beqi r3, 1f
132 \\
133 \\ // parent
134 \\ rtsd r15, 8
135 \\ nop
136 \\
137 \\ // child
138 \\1:
139 \\ ori r15, r0, 0
140 \\ ori r19, r0, 0
141 \\
142 \\ lwi r3, r1, 0
143 \\ lwi r5, r1, 4
144 \\ brald r15, r3
145 \\ nop
146 \\
147 \\ ori r12, r0, 1 # SYS_exit
148 \\ brki r14, 0x8
149 );
150}
151
152pub fn restore() callconv(.naked) noreturn {
153 asm volatile (
154 \\ brki r14, 0x8
155 :
156 : [number] "{r7}" (@intFromEnum(SYS.sigreturn)),
157 );
158}
159
160pub fn restore_rt() callconv(.naked) noreturn {
161 asm volatile (
162 \\ brki r14, 0x8
163 :
164 : [number] "{r7}" (@intFromEnum(SYS.rt_sigreturn)),
165 );
166}
167
168pub const time_t = i32;
169
170pub const VDSO = void;
lib/std/os/linux/sh.zig created+239
......@@ -0,0 +1,239 @@
1const builtin = @import("builtin");
2const std = @import("../../std.zig");
3const SYS = std.os.linux.SYS;
4
5pub const syscall_arg_t = u32;
6
7pub fn syscall0(
8 number: SYS,
9) u32 {
10 return asm volatile (
11 \\ trapa #31
12 \\ or r0, r0
13 \\ or r0, r0
14 \\ or r0, r0
15 \\ or r0, r0
16 \\ or r0, r0
17 : [ret] "={r0}" (-> u32),
18 : [number] "{r3}" (@intFromEnum(number)),
19 : .{ .memory = true });
20}
21
22pub fn syscall1(
23 number: SYS,
24 arg1: syscall_arg_t,
25) u32 {
26 return asm volatile (
27 \\ trapa #31
28 \\ or r0, r0
29 \\ or r0, r0
30 \\ or r0, r0
31 \\ or r0, r0
32 \\ or r0, r0
33 : [ret] "={r0}" (-> u32),
34 : [number] "{r3}" (@intFromEnum(number)),
35 [arg1] "{r4}" (arg1),
36 : .{ .memory = true });
37}
38
39pub fn syscall2(
40 number: SYS,
41 arg1: syscall_arg_t,
42 arg2: syscall_arg_t,
43) u32 {
44 return asm volatile (
45 \\ trapa #31
46 \\ or r0, r0
47 \\ or r0, r0
48 \\ or r0, r0
49 \\ or r0, r0
50 \\ or r0, r0
51 : [ret] "={r0}" (-> u32),
52 : [number] "{r3}" (@intFromEnum(number)),
53 [arg1] "{r4}" (arg1),
54 [arg2] "{r5}" (arg2),
55 : .{ .memory = true });
56}
57
58pub fn syscall3(
59 number: SYS,
60 arg1: syscall_arg_t,
61 arg2: syscall_arg_t,
62 arg3: syscall_arg_t,
63) u32 {
64 return asm volatile (
65 \\ trapa #31
66 \\ or r0, r0
67 \\ or r0, r0
68 \\ or r0, r0
69 \\ or r0, r0
70 \\ or r0, r0
71 : [ret] "={r0}" (-> u32),
72 : [number] "{r3}" (@intFromEnum(number)),
73 [arg1] "{r4}" (arg1),
74 [arg2] "{r5}" (arg2),
75 [arg3] "{r6}" (arg3),
76 : .{ .memory = true });
77}
78
79pub fn syscall4(
80 number: SYS,
81 arg1: syscall_arg_t,
82 arg2: syscall_arg_t,
83 arg3: syscall_arg_t,
84 arg4: syscall_arg_t,
85) u32 {
86 return asm volatile (
87 \\ trapa #31
88 \\ or r0, r0
89 \\ or r0, r0
90 \\ or r0, r0
91 \\ or r0, r0
92 \\ or r0, r0
93 : [ret] "={r0}" (-> u32),
94 : [number] "{r3}" (@intFromEnum(number)),
95 [arg1] "{r4}" (arg1),
96 [arg2] "{r5}" (arg2),
97 [arg3] "{r6}" (arg3),
98 [arg4] "{r7}" (arg4),
99 : .{ .memory = true });
100}
101
102pub fn syscall5(
103 number: SYS,
104 arg1: syscall_arg_t,
105 arg2: syscall_arg_t,
106 arg3: syscall_arg_t,
107 arg4: syscall_arg_t,
108 arg5: syscall_arg_t,
109) u32 {
110 return asm volatile (
111 \\ trapa #31
112 \\ or r0, r0
113 \\ or r0, r0
114 \\ or r0, r0
115 \\ or r0, r0
116 \\ or r0, r0
117 : [ret] "={r0}" (-> u32),
118 : [number] "{r3}" (@intFromEnum(number)),
119 [arg1] "{r4}" (arg1),
120 [arg2] "{r5}" (arg2),
121 [arg3] "{r6}" (arg3),
122 [arg4] "{r7}" (arg4),
123 [arg5] "{r0}" (arg5),
124 : .{ .memory = true });
125}
126
127pub fn syscall6(
128 number: SYS,
129 arg1: syscall_arg_t,
130 arg2: syscall_arg_t,
131 arg3: syscall_arg_t,
132 arg4: syscall_arg_t,
133 arg5: syscall_arg_t,
134 arg6: syscall_arg_t,
135) u32 {
136 return asm volatile (
137 \\ trapa #31
138 \\ or r0, r0
139 \\ or r0, r0
140 \\ or r0, r0
141 \\ or r0, r0
142 \\ or r0, r0
143 : [ret] "={r0}" (-> u32),
144 : [number] "{r3}" (@intFromEnum(number)),
145 [arg1] "{r4}" (arg1),
146 [arg2] "{r5}" (arg2),
147 [arg3] "{r6}" (arg3),
148 [arg4] "{r7}" (arg4),
149 [arg5] "{r0}" (arg5),
150 [arg6] "{r1}" (arg6),
151 : .{ .memory = true });
152}
153
154pub fn clone() callconv(.naked) u32 {
155 // __clone(func, stack, flags, arg, ptid, tls, ctid)
156 // r4, r5, r6, r7, +0, +4, +8
157 //
158 // syscall(SYS_clone, flags, stack, ptid, ctid, tls)
159 // r3 r4, r5, r6, r7, r0
160 asm volatile (
161 \\ mov #-4, r0
162 \\ and r0, r5
163 \\
164 \\ mov r4, r1
165 \\ mov r7, r2
166 \\
167 \\ mov #120, r3 ! SYS_clone
168 \\ mov r6, r4
169 \\ mov.l @r15, r6
170 \\ mov.l @(r15, 8), r7
171 \\ mov.l @(r15, 4), r0
172 \\ trapa #31
173 \\ or r0, r0
174 \\ or r0, r0
175 \\ or r0, r0
176 \\ or r0, r0
177 \\ or r0, r0
178 \\
179 \\ cmp/eq #0, r0
180 \\ bt 1f
181 \\
182 \\ // parent
183 \\ rts
184 \\ nop
185 \\
186 \\ // child
187 \\1:
188 );
189 if (builtin.unwind_tables != .none or !builtin.strip_debug_info) asm volatile (
190 \\ .cfi_undefined pr
191 );
192 asm volatile (
193 \\ mov #0, r0
194 \\ lds r0, pr
195 \\ mov r0, r14
196 \\
197 \\ mov r2, r4
198 \\ jsr @r1
199 \\ nop
200 \\
201 \\ mov #1, r3 ! SYS_exit
202 \\ trapa #31
203 \\ or r0, r0
204 \\ or r0, r0
205 \\ or r0, r0
206 \\ or r0, r0
207 \\ or r0, r0
208 );
209}
210
211pub fn restore() callconv(.naked) noreturn {
212 asm volatile (
213 \\ trapa #31
214 \\ or r0, r0
215 \\ or r0, r0
216 \\ or r0, r0
217 \\ or r0, r0
218 \\ or r0, r0
219 :
220 : [number] "{r3}" (@intFromEnum(SYS.sigreturn)),
221 );
222}
223
224pub fn restore_rt() callconv(.naked) noreturn {
225 asm volatile (
226 \\ trapa #31
227 \\ or r0, r0
228 \\ or r0, r0
229 \\ or r0, r0
230 \\ or r0, r0
231 \\ or r0, r0
232 :
233 : [number] "{r3}" (@intFromEnum(SYS.rt_sigreturn)),
234 );
235}
236
237pub const time_t = i32;
238
239pub const VDSO = void;
lib/std/os/linux/syscalls.zig+1718-12
......@@ -728,7 +728,7 @@ pub const X64 = enum(usize) {
728728 mknodat = 259,
729729 fchownat = 260,
730730 futimesat = 261,
731 fstatat64 = 262,
731 newfstatat = 262,
732732 unlinkat = 263,
733733 renameat = 264,
734734 linkat = 265,
......@@ -1083,7 +1083,7 @@ pub const X32 = enum(usize) {
10831083 mknodat = 1073742083,
10841084 fchownat = 1073742084,
10851085 futimesat = 1073742085,
1086 fstatat64 = 1073742086,
1086 newfstatat = 1073742086,
10871087 unlinkat = 1073742087,
10881088 renameat = 1073742088,
10891089 linkat = 1073742089,
......@@ -3653,7 +3653,7 @@ pub const MipsN64 = enum(usize) {
36533653 mknodat = 5249,
36543654 fchownat = 5250,
36553655 futimesat = 5251,
3656 fstatat64 = 5252,
3656 newfstatat = 5252,
36573657 unlinkat = 5253,
36583658 renameat = 5254,
36593659 linkat = 5255,
......@@ -4033,7 +4033,7 @@ pub const MipsN32 = enum(usize) {
40334033 mknodat = 6253,
40344034 fchownat = 6254,
40354035 futimesat = 6255,
4036 fstatat64 = 6256,
4036 newfstatat = 6256,
40374037 unlinkat = 6257,
40384038 renameat = 6258,
40394039 linkat = 6259,
......@@ -4486,7 +4486,7 @@ pub const PowerPC = enum(usize) {
44864486 signalfd = 305,
44874487 timerfd_create = 306,
44884488 eventfd = 307,
4489 sync_file_range = 308,
4489 sync_file_range2 = 308,
44904490 fallocate = 309,
44914491 subpage_prot = 310,
44924492 timerfd_settime = 311,
......@@ -4915,7 +4915,7 @@ pub const PowerPC64 = enum(usize) {
49154915 mknodat = 288,
49164916 fchownat = 289,
49174917 futimesat = 290,
4918 fstatat64 = 291,
4918 newfstatat = 291,
49194919 unlinkat = 292,
49204920 renameat = 293,
49214921 linkat = 294,
......@@ -4932,7 +4932,7 @@ pub const PowerPC64 = enum(usize) {
49324932 signalfd = 305,
49334933 timerfd_create = 306,
49344934 eventfd = 307,
4935 sync_file_range = 308,
4935 sync_file_range2 = 308,
49364936 fallocate = 309,
49374937 subpage_prot = 310,
49384938 timerfd_settime = 311,
......@@ -5299,7 +5299,7 @@ pub const S390x = enum(usize) {
52995299 mknodat = 290,
53005300 fchownat = 291,
53015301 futimesat = 292,
5302 fstatat64 = 293,
5302 newfstatat = 293,
53035303 unlinkat = 294,
53045304 renameat = 295,
53055305 linkat = 296,
......@@ -5755,7 +5755,7 @@ pub const Xtensa = enum(usize) {
57555755 process_vm_writev = 323,
57565756 name_to_handle_at = 324,
57575757 open_by_handle_at = 325,
5758 sync_file_range = 326,
5758 sync_file_range2 = 326,
57595759 perf_event_open = 327,
57605760 rt_tgsigqueueinfo = 328,
57615761 clock_adjtime = 329,
......@@ -6433,7 +6433,7 @@ pub const Arm64 = enum(usize) {
64336433 splice = 76,
64346434 tee = 77,
64356435 readlinkat = 78,
6436 fstatat64 = 79,
6436 newfstatat = 79,
64376437 fstat = 80,
64386438 sync = 81,
64396439 fsync = 82,
......@@ -7083,7 +7083,7 @@ pub const RiscV64 = enum(usize) {
70837083 splice = 76,
70847084 tee = 77,
70857085 readlinkat = 78,
7086 fstatat64 = 79,
7086 newfstatat = 79,
70877087 fstat = 80,
70887088 sync = 81,
70897089 fsync = 82,
......@@ -7732,7 +7732,7 @@ pub const LoongArch64 = enum(usize) {
77327732 splice = 76,
77337733 tee = 77,
77347734 readlinkat = 78,
7735 fstatat64 = 79,
7735 newfstatat = 79,
77367736 fstat = 80,
77377737 sync = 81,
77387738 fsync = 82,
......@@ -9381,3 +9381,1709 @@ pub const OpenRisc = enum(usize) {
93819381 listns = 470,
93829382 rseq_slice_yield = 471,
93839383};
9384
9385pub const Hppa = enum(usize) {
9386 restart_syscall = 0,
9387 exit = 1,
9388 fork = 2,
9389 read = 3,
9390 write = 4,
9391 open = 5,
9392 close = 6,
9393 waitpid = 7,
9394 creat = 8,
9395 link = 9,
9396 unlink = 10,
9397 execve = 11,
9398 chdir = 12,
9399 time = 13,
9400 mknod = 14,
9401 chmod = 15,
9402 lchown = 16,
9403 socket = 17,
9404 stat = 18,
9405 lseek = 19,
9406 getpid = 20,
9407 mount = 21,
9408 bind = 22,
9409 setuid = 23,
9410 getuid = 24,
9411 stime = 25,
9412 ptrace = 26,
9413 alarm = 27,
9414 fstat = 28,
9415 pause = 29,
9416 utime = 30,
9417 connect = 31,
9418 listen = 32,
9419 access = 33,
9420 nice = 34,
9421 accept = 35,
9422 sync = 36,
9423 kill = 37,
9424 rename = 38,
9425 mkdir = 39,
9426 rmdir = 40,
9427 dup = 41,
9428 pipe = 42,
9429 times = 43,
9430 getsockname = 44,
9431 brk = 45,
9432 setgid = 46,
9433 getgid = 47,
9434 signal = 48,
9435 geteuid = 49,
9436 getegid = 50,
9437 acct = 51,
9438 umount2 = 52,
9439 getpeername = 53,
9440 ioctl = 54,
9441 fcntl = 55,
9442 socketpair = 56,
9443 setpgid = 57,
9444 send = 58,
9445 uname = 59,
9446 umask = 60,
9447 chroot = 61,
9448 ustat = 62,
9449 dup2 = 63,
9450 getppid = 64,
9451 getpgrp = 65,
9452 setsid = 66,
9453 pivot_root = 67,
9454 sgetmask = 68,
9455 ssetmask = 69,
9456 setreuid = 70,
9457 setregid = 71,
9458 mincore = 72,
9459 sigpending = 73,
9460 sethostname = 74,
9461 setrlimit = 75,
9462 getrlimit = 76,
9463 getrusage = 77,
9464 gettimeofday = 78,
9465 settimeofday = 79,
9466 getgroups = 80,
9467 setgroups = 81,
9468 sendto = 82,
9469 symlink = 83,
9470 lstat = 84,
9471 readlink = 85,
9472 uselib = 86,
9473 swapon = 87,
9474 reboot = 88,
9475 mmap2 = 89,
9476 mmap = 90,
9477 munmap = 91,
9478 truncate = 92,
9479 ftruncate = 93,
9480 fchmod = 94,
9481 fchown = 95,
9482 getpriority = 96,
9483 setpriority = 97,
9484 recv = 98,
9485 statfs = 99,
9486 fstatfs = 100,
9487 stat64 = 101,
9488 syslog = 103,
9489 setitimer = 104,
9490 getitimer = 105,
9491 capget = 106,
9492 capset = 107,
9493 pread64 = 108,
9494 pwrite64 = 109,
9495 getcwd = 110,
9496 vhangup = 111,
9497 fstat64 = 112,
9498 vfork = 113,
9499 wait4 = 114,
9500 swapoff = 115,
9501 sysinfo = 116,
9502 shutdown = 117,
9503 fsync = 118,
9504 madvise = 119,
9505 clone = 120,
9506 setdomainname = 121,
9507 sendfile = 122,
9508 recvfrom = 123,
9509 adjtimex = 124,
9510 mprotect = 125,
9511 sigprocmask = 126,
9512 init_module = 128,
9513 delete_module = 129,
9514 quotactl = 131,
9515 getpgid = 132,
9516 fchdir = 133,
9517 bdflush = 134,
9518 sysfs = 135,
9519 personality = 136,
9520 setfsuid = 138,
9521 setfsgid = 139,
9522 llseek = 140,
9523 getdents = 141,
9524 newselect = 142,
9525 flock = 143,
9526 msync = 144,
9527 readv = 145,
9528 writev = 146,
9529 getsid = 147,
9530 fdatasync = 148,
9531 sysctl = 149,
9532 mlock = 150,
9533 munlock = 151,
9534 mlockall = 152,
9535 munlockall = 153,
9536 sched_setparam = 154,
9537 sched_getparam = 155,
9538 sched_setscheduler = 156,
9539 sched_getscheduler = 157,
9540 sched_yield = 158,
9541 sched_get_priority_max = 159,
9542 sched_get_priority_min = 160,
9543 sched_rr_get_interval = 161,
9544 nanosleep = 162,
9545 mremap = 163,
9546 setresuid = 164,
9547 getresuid = 165,
9548 sigaltstack = 166,
9549 poll = 168,
9550 setresgid = 170,
9551 getresgid = 171,
9552 prctl = 172,
9553 rt_sigreturn = 173,
9554 rt_sigaction = 174,
9555 rt_sigprocmask = 175,
9556 rt_sigpending = 176,
9557 rt_sigtimedwait = 177,
9558 rt_sigqueueinfo = 178,
9559 rt_sigsuspend = 179,
9560 chown = 180,
9561 setsockopt = 181,
9562 getsockopt = 182,
9563 sendmsg = 183,
9564 recvmsg = 184,
9565 semop = 185,
9566 semget = 186,
9567 semctl = 187,
9568 msgsnd = 188,
9569 msgrcv = 189,
9570 msgget = 190,
9571 msgctl = 191,
9572 shmat = 192,
9573 shmdt = 193,
9574 shmget = 194,
9575 shmctl = 195,
9576 lstat64 = 198,
9577 truncate64 = 199,
9578 ftruncate64 = 200,
9579 getdents64 = 201,
9580 fcntl64 = 202,
9581 gettid = 206,
9582 readahead = 207,
9583 tkill = 208,
9584 sendfile64 = 209,
9585 futex = 210,
9586 sched_setaffinity = 211,
9587 sched_getaffinity = 212,
9588 io_setup = 215,
9589 io_destroy = 216,
9590 io_getevents = 217,
9591 io_submit = 218,
9592 io_cancel = 219,
9593 exit_group = 222,
9594 lookup_dcookie = 223,
9595 epoll_create = 224,
9596 epoll_ctl = 225,
9597 epoll_wait = 226,
9598 remap_file_pages = 227,
9599 semtimedop = 228,
9600 mq_open = 229,
9601 mq_unlink = 230,
9602 mq_timedsend = 231,
9603 mq_timedreceive = 232,
9604 mq_notify = 233,
9605 mq_getsetattr = 234,
9606 waitid = 235,
9607 fadvise64_64 = 236,
9608 set_tid_address = 237,
9609 setxattr = 238,
9610 lsetxattr = 239,
9611 fsetxattr = 240,
9612 getxattr = 241,
9613 lgetxattr = 242,
9614 fgetxattr = 243,
9615 listxattr = 244,
9616 llistxattr = 245,
9617 flistxattr = 246,
9618 removexattr = 247,
9619 lremovexattr = 248,
9620 fremovexattr = 249,
9621 timer_create = 250,
9622 timer_settime = 251,
9623 timer_gettime = 252,
9624 timer_getoverrun = 253,
9625 timer_delete = 254,
9626 clock_settime = 255,
9627 clock_gettime = 256,
9628 clock_getres = 257,
9629 clock_nanosleep = 258,
9630 tgkill = 259,
9631 mbind = 260,
9632 get_mempolicy = 261,
9633 set_mempolicy = 262,
9634 add_key = 264,
9635 request_key = 265,
9636 keyctl = 266,
9637 ioprio_set = 267,
9638 ioprio_get = 268,
9639 inotify_init = 269,
9640 inotify_add_watch = 270,
9641 inotify_rm_watch = 271,
9642 migrate_pages = 272,
9643 pselect6 = 273,
9644 ppoll = 274,
9645 openat = 275,
9646 mkdirat = 276,
9647 mknodat = 277,
9648 fchownat = 278,
9649 futimesat = 279,
9650 fstatat64 = 280,
9651 unlinkat = 281,
9652 renameat = 282,
9653 linkat = 283,
9654 symlinkat = 284,
9655 readlinkat = 285,
9656 fchmodat = 286,
9657 faccessat = 287,
9658 unshare = 288,
9659 set_robust_list = 289,
9660 get_robust_list = 290,
9661 splice = 291,
9662 sync_file_range = 292,
9663 tee = 293,
9664 vmsplice = 294,
9665 move_pages = 295,
9666 getcpu = 296,
9667 epoll_pwait = 297,
9668 statfs64 = 298,
9669 fstatfs64 = 299,
9670 kexec_load = 300,
9671 utimensat = 301,
9672 signalfd = 302,
9673 eventfd = 304,
9674 fallocate = 305,
9675 timerfd_create = 306,
9676 timerfd_settime = 307,
9677 timerfd_gettime = 308,
9678 signalfd4 = 309,
9679 eventfd2 = 310,
9680 epoll_create1 = 311,
9681 dup3 = 312,
9682 pipe2 = 313,
9683 inotify_init1 = 314,
9684 preadv = 315,
9685 pwritev = 316,
9686 rt_tgsigqueueinfo = 317,
9687 perf_event_open = 318,
9688 recvmmsg = 319,
9689 accept4 = 320,
9690 prlimit64 = 321,
9691 fanotify_init = 322,
9692 fanotify_mark = 323,
9693 clock_adjtime = 324,
9694 name_to_handle_at = 325,
9695 open_by_handle_at = 326,
9696 syncfs = 327,
9697 setns = 328,
9698 sendmmsg = 329,
9699 process_vm_readv = 330,
9700 process_vm_writev = 331,
9701 kcmp = 332,
9702 finit_module = 333,
9703 sched_setattr = 334,
9704 sched_getattr = 335,
9705 utimes = 336,
9706 renameat2 = 337,
9707 seccomp = 338,
9708 getrandom = 339,
9709 memfd_create = 340,
9710 bpf = 341,
9711 execveat = 342,
9712 membarrier = 343,
9713 userfaultfd = 344,
9714 mlock2 = 345,
9715 copy_file_range = 346,
9716 preadv2 = 347,
9717 pwritev2 = 348,
9718 statx = 349,
9719 io_pgetevents = 350,
9720 pkey_mprotect = 351,
9721 pkey_alloc = 352,
9722 pkey_free = 353,
9723 rseq = 354,
9724 kexec_file_load = 355,
9725 cacheflush = 356,
9726 clock_gettime64 = 403,
9727 clock_settime64 = 404,
9728 clock_adjtime64 = 405,
9729 clock_getres_time64 = 406,
9730 clock_nanosleep_time64 = 407,
9731 timer_gettime64 = 408,
9732 timer_settime64 = 409,
9733 timerfd_gettime64 = 410,
9734 timerfd_settime64 = 411,
9735 utimensat_time64 = 412,
9736 pselect6_time64 = 413,
9737 ppoll_time64 = 414,
9738 io_pgetevents_time64 = 416,
9739 recvmmsg_time64 = 417,
9740 mq_timedsend_time64 = 418,
9741 mq_timedreceive_time64 = 419,
9742 semtimedop_time64 = 420,
9743 rt_sigtimedwait_time64 = 421,
9744 futex_time64 = 422,
9745 sched_rr_get_interval_time64 = 423,
9746 pidfd_send_signal = 424,
9747 io_uring_setup = 425,
9748 io_uring_enter = 426,
9749 io_uring_register = 427,
9750 open_tree = 428,
9751 move_mount = 429,
9752 fsopen = 430,
9753 fsconfig = 431,
9754 fsmount = 432,
9755 fspick = 433,
9756 pidfd_open = 434,
9757 clone3 = 435,
9758 close_range = 436,
9759 openat2 = 437,
9760 pidfd_getfd = 438,
9761 faccessat2 = 439,
9762 process_madvise = 440,
9763 epoll_pwait2 = 441,
9764 mount_setattr = 442,
9765 quotactl_fd = 443,
9766 landlock_create_ruleset = 444,
9767 landlock_add_rule = 445,
9768 landlock_restrict_self = 446,
9769 process_mrelease = 448,
9770 futex_waitv = 449,
9771 set_mempolicy_home_node = 450,
9772 cachestat = 451,
9773 fchmodat2 = 452,
9774 map_shadow_stack = 453,
9775 futex_wake = 454,
9776 futex_wait = 455,
9777 futex_requeue = 456,
9778 statmount = 457,
9779 listmount = 458,
9780 lsm_get_self_attr = 459,
9781 lsm_set_self_attr = 460,
9782 lsm_list_modules = 461,
9783 mseal = 462,
9784 setxattrat = 463,
9785 getxattrat = 464,
9786 listxattrat = 465,
9787 removexattrat = 466,
9788 open_tree_attr = 467,
9789 file_getattr = 468,
9790 file_setattr = 469,
9791 listns = 470,
9792 rseq_slice_yield = 471,
9793};
9794
9795pub const Hppa64 = enum(usize) {
9796 restart_syscall = 0,
9797 exit = 1,
9798 fork = 2,
9799 read = 3,
9800 write = 4,
9801 open = 5,
9802 close = 6,
9803 waitpid = 7,
9804 creat = 8,
9805 link = 9,
9806 unlink = 10,
9807 execve = 11,
9808 chdir = 12,
9809 time = 13,
9810 mknod = 14,
9811 chmod = 15,
9812 lchown = 16,
9813 socket = 17,
9814 stat = 18,
9815 lseek = 19,
9816 getpid = 20,
9817 mount = 21,
9818 bind = 22,
9819 setuid = 23,
9820 getuid = 24,
9821 stime = 25,
9822 ptrace = 26,
9823 alarm = 27,
9824 fstat = 28,
9825 pause = 29,
9826 utime = 30,
9827 connect = 31,
9828 listen = 32,
9829 access = 33,
9830 nice = 34,
9831 accept = 35,
9832 sync = 36,
9833 kill = 37,
9834 rename = 38,
9835 mkdir = 39,
9836 rmdir = 40,
9837 dup = 41,
9838 pipe = 42,
9839 times = 43,
9840 getsockname = 44,
9841 brk = 45,
9842 setgid = 46,
9843 getgid = 47,
9844 signal = 48,
9845 geteuid = 49,
9846 getegid = 50,
9847 acct = 51,
9848 umount2 = 52,
9849 getpeername = 53,
9850 ioctl = 54,
9851 fcntl = 55,
9852 socketpair = 56,
9853 setpgid = 57,
9854 send = 58,
9855 uname = 59,
9856 umask = 60,
9857 chroot = 61,
9858 ustat = 62,
9859 dup2 = 63,
9860 getppid = 64,
9861 getpgrp = 65,
9862 setsid = 66,
9863 pivot_root = 67,
9864 sgetmask = 68,
9865 ssetmask = 69,
9866 setreuid = 70,
9867 setregid = 71,
9868 mincore = 72,
9869 sigpending = 73,
9870 sethostname = 74,
9871 setrlimit = 75,
9872 getrlimit = 76,
9873 getrusage = 77,
9874 gettimeofday = 78,
9875 settimeofday = 79,
9876 getgroups = 80,
9877 setgroups = 81,
9878 sendto = 82,
9879 symlink = 83,
9880 lstat = 84,
9881 readlink = 85,
9882 uselib = 86,
9883 swapon = 87,
9884 reboot = 88,
9885 mmap2 = 89,
9886 mmap = 90,
9887 munmap = 91,
9888 truncate = 92,
9889 ftruncate = 93,
9890 fchmod = 94,
9891 fchown = 95,
9892 getpriority = 96,
9893 setpriority = 97,
9894 recv = 98,
9895 statfs = 99,
9896 fstatfs = 100,
9897 stat64 = 101,
9898 syslog = 103,
9899 setitimer = 104,
9900 getitimer = 105,
9901 capget = 106,
9902 capset = 107,
9903 pread64 = 108,
9904 pwrite64 = 109,
9905 getcwd = 110,
9906 vhangup = 111,
9907 fstat64 = 112,
9908 vfork = 113,
9909 wait4 = 114,
9910 swapoff = 115,
9911 sysinfo = 116,
9912 shutdown = 117,
9913 fsync = 118,
9914 madvise = 119,
9915 clone = 120,
9916 setdomainname = 121,
9917 sendfile = 122,
9918 recvfrom = 123,
9919 adjtimex = 124,
9920 mprotect = 125,
9921 sigprocmask = 126,
9922 init_module = 128,
9923 delete_module = 129,
9924 quotactl = 131,
9925 getpgid = 132,
9926 fchdir = 133,
9927 bdflush = 134,
9928 sysfs = 135,
9929 personality = 136,
9930 setfsuid = 138,
9931 setfsgid = 139,
9932 llseek = 140,
9933 getdents = 141,
9934 newselect = 142,
9935 flock = 143,
9936 msync = 144,
9937 readv = 145,
9938 writev = 146,
9939 getsid = 147,
9940 fdatasync = 148,
9941 sysctl = 149,
9942 mlock = 150,
9943 munlock = 151,
9944 mlockall = 152,
9945 munlockall = 153,
9946 sched_setparam = 154,
9947 sched_getparam = 155,
9948 sched_setscheduler = 156,
9949 sched_getscheduler = 157,
9950 sched_yield = 158,
9951 sched_get_priority_max = 159,
9952 sched_get_priority_min = 160,
9953 sched_rr_get_interval = 161,
9954 nanosleep = 162,
9955 mremap = 163,
9956 setresuid = 164,
9957 getresuid = 165,
9958 sigaltstack = 166,
9959 poll = 168,
9960 setresgid = 170,
9961 getresgid = 171,
9962 prctl = 172,
9963 rt_sigreturn = 173,
9964 rt_sigaction = 174,
9965 rt_sigprocmask = 175,
9966 rt_sigpending = 176,
9967 rt_sigtimedwait = 177,
9968 rt_sigqueueinfo = 178,
9969 rt_sigsuspend = 179,
9970 chown = 180,
9971 setsockopt = 181,
9972 getsockopt = 182,
9973 sendmsg = 183,
9974 recvmsg = 184,
9975 semop = 185,
9976 semget = 186,
9977 semctl = 187,
9978 msgsnd = 188,
9979 msgrcv = 189,
9980 msgget = 190,
9981 msgctl = 191,
9982 shmat = 192,
9983 shmdt = 193,
9984 shmget = 194,
9985 shmctl = 195,
9986 lstat64 = 198,
9987 truncate64 = 199,
9988 ftruncate64 = 200,
9989 getdents64 = 201,
9990 fcntl64 = 202,
9991 gettid = 206,
9992 readahead = 207,
9993 tkill = 208,
9994 sendfile64 = 209,
9995 futex = 210,
9996 sched_setaffinity = 211,
9997 sched_getaffinity = 212,
9998 io_setup = 215,
9999 io_destroy = 216,
10000 io_getevents = 217,
10001 io_submit = 218,
10002 io_cancel = 219,
10003 exit_group = 222,
10004 lookup_dcookie = 223,
10005 epoll_create = 224,
10006 epoll_ctl = 225,
10007 epoll_wait = 226,
10008 remap_file_pages = 227,
10009 semtimedop = 228,
10010 mq_open = 229,
10011 mq_unlink = 230,
10012 mq_timedsend = 231,
10013 mq_timedreceive = 232,
10014 mq_notify = 233,
10015 mq_getsetattr = 234,
10016 waitid = 235,
10017 fadvise64_64 = 236,
10018 set_tid_address = 237,
10019 setxattr = 238,
10020 lsetxattr = 239,
10021 fsetxattr = 240,
10022 getxattr = 241,
10023 lgetxattr = 242,
10024 fgetxattr = 243,
10025 listxattr = 244,
10026 llistxattr = 245,
10027 flistxattr = 246,
10028 removexattr = 247,
10029 lremovexattr = 248,
10030 fremovexattr = 249,
10031 timer_create = 250,
10032 timer_settime = 251,
10033 timer_gettime = 252,
10034 timer_getoverrun = 253,
10035 timer_delete = 254,
10036 clock_settime = 255,
10037 clock_gettime = 256,
10038 clock_getres = 257,
10039 clock_nanosleep = 258,
10040 tgkill = 259,
10041 mbind = 260,
10042 get_mempolicy = 261,
10043 set_mempolicy = 262,
10044 add_key = 264,
10045 request_key = 265,
10046 keyctl = 266,
10047 ioprio_set = 267,
10048 ioprio_get = 268,
10049 inotify_init = 269,
10050 inotify_add_watch = 270,
10051 inotify_rm_watch = 271,
10052 migrate_pages = 272,
10053 pselect6 = 273,
10054 ppoll = 274,
10055 openat = 275,
10056 mkdirat = 276,
10057 mknodat = 277,
10058 fchownat = 278,
10059 futimesat = 279,
10060 fstatat64 = 280,
10061 unlinkat = 281,
10062 renameat = 282,
10063 linkat = 283,
10064 symlinkat = 284,
10065 readlinkat = 285,
10066 fchmodat = 286,
10067 faccessat = 287,
10068 unshare = 288,
10069 set_robust_list = 289,
10070 get_robust_list = 290,
10071 splice = 291,
10072 sync_file_range = 292,
10073 tee = 293,
10074 vmsplice = 294,
10075 move_pages = 295,
10076 getcpu = 296,
10077 epoll_pwait = 297,
10078 statfs64 = 298,
10079 fstatfs64 = 299,
10080 kexec_load = 300,
10081 utimensat = 301,
10082 signalfd = 302,
10083 eventfd = 304,
10084 fallocate = 305,
10085 timerfd_create = 306,
10086 timerfd_settime = 307,
10087 timerfd_gettime = 308,
10088 signalfd4 = 309,
10089 eventfd2 = 310,
10090 epoll_create1 = 311,
10091 dup3 = 312,
10092 pipe2 = 313,
10093 inotify_init1 = 314,
10094 preadv = 315,
10095 pwritev = 316,
10096 rt_tgsigqueueinfo = 317,
10097 perf_event_open = 318,
10098 recvmmsg = 319,
10099 accept4 = 320,
10100 prlimit64 = 321,
10101 fanotify_init = 322,
10102 fanotify_mark = 323,
10103 clock_adjtime = 324,
10104 name_to_handle_at = 325,
10105 open_by_handle_at = 326,
10106 syncfs = 327,
10107 setns = 328,
10108 sendmmsg = 329,
10109 process_vm_readv = 330,
10110 process_vm_writev = 331,
10111 kcmp = 332,
10112 finit_module = 333,
10113 sched_setattr = 334,
10114 sched_getattr = 335,
10115 utimes = 336,
10116 renameat2 = 337,
10117 seccomp = 338,
10118 getrandom = 339,
10119 memfd_create = 340,
10120 bpf = 341,
10121 execveat = 342,
10122 membarrier = 343,
10123 userfaultfd = 344,
10124 mlock2 = 345,
10125 copy_file_range = 346,
10126 preadv2 = 347,
10127 pwritev2 = 348,
10128 statx = 349,
10129 io_pgetevents = 350,
10130 pkey_mprotect = 351,
10131 pkey_alloc = 352,
10132 pkey_free = 353,
10133 rseq = 354,
10134 kexec_file_load = 355,
10135 cacheflush = 356,
10136 pidfd_send_signal = 424,
10137 io_uring_setup = 425,
10138 io_uring_enter = 426,
10139 io_uring_register = 427,
10140 open_tree = 428,
10141 move_mount = 429,
10142 fsopen = 430,
10143 fsconfig = 431,
10144 fsmount = 432,
10145 fspick = 433,
10146 pidfd_open = 434,
10147 clone3 = 435,
10148 close_range = 436,
10149 openat2 = 437,
10150 pidfd_getfd = 438,
10151 faccessat2 = 439,
10152 process_madvise = 440,
10153 epoll_pwait2 = 441,
10154 mount_setattr = 442,
10155 quotactl_fd = 443,
10156 landlock_create_ruleset = 444,
10157 landlock_add_rule = 445,
10158 landlock_restrict_self = 446,
10159 process_mrelease = 448,
10160 futex_waitv = 449,
10161 set_mempolicy_home_node = 450,
10162 cachestat = 451,
10163 fchmodat2 = 452,
10164 map_shadow_stack = 453,
10165 futex_wake = 454,
10166 futex_wait = 455,
10167 futex_requeue = 456,
10168 statmount = 457,
10169 listmount = 458,
10170 lsm_get_self_attr = 459,
10171 lsm_set_self_attr = 460,
10172 lsm_list_modules = 461,
10173 mseal = 462,
10174 setxattrat = 463,
10175 getxattrat = 464,
10176 listxattrat = 465,
10177 removexattrat = 466,
10178 open_tree_attr = 467,
10179 file_getattr = 468,
10180 file_setattr = 469,
10181 listns = 470,
10182 rseq_slice_yield = 471,
10183};
10184
10185pub const Sh = enum(usize) {
10186 restart_syscall = 0,
10187 exit = 1,
10188 fork = 2,
10189 read = 3,
10190 write = 4,
10191 open = 5,
10192 close = 6,
10193 waitpid = 7,
10194 creat = 8,
10195 link = 9,
10196 unlink = 10,
10197 execve = 11,
10198 chdir = 12,
10199 time = 13,
10200 mknod = 14,
10201 chmod = 15,
10202 lchown = 16,
10203 oldstat = 18,
10204 lseek = 19,
10205 getpid = 20,
10206 mount = 21,
10207 umount = 22,
10208 setuid = 23,
10209 getuid = 24,
10210 stime = 25,
10211 ptrace = 26,
10212 alarm = 27,
10213 oldfstat = 28,
10214 pause = 29,
10215 utime = 30,
10216 access = 33,
10217 nice = 34,
10218 sync = 36,
10219 kill = 37,
10220 rename = 38,
10221 mkdir = 39,
10222 rmdir = 40,
10223 dup = 41,
10224 pipe = 42,
10225 times = 43,
10226 brk = 45,
10227 setgid = 46,
10228 getgid = 47,
10229 signal = 48,
10230 geteuid = 49,
10231 getegid = 50,
10232 acct = 51,
10233 umount2 = 52,
10234 ioctl = 54,
10235 fcntl = 55,
10236 setpgid = 57,
10237 umask = 60,
10238 chroot = 61,
10239 ustat = 62,
10240 dup2 = 63,
10241 getppid = 64,
10242 getpgrp = 65,
10243 setsid = 66,
10244 sigaction = 67,
10245 sgetmask = 68,
10246 ssetmask = 69,
10247 setreuid = 70,
10248 setregid = 71,
10249 sigsuspend = 72,
10250 sigpending = 73,
10251 sethostname = 74,
10252 setrlimit = 75,
10253 getrlimit = 76,
10254 getrusage = 77,
10255 gettimeofday = 78,
10256 settimeofday = 79,
10257 getgroups = 80,
10258 setgroups = 81,
10259 symlink = 83,
10260 oldlstat = 84,
10261 readlink = 85,
10262 uselib = 86,
10263 swapon = 87,
10264 reboot = 88,
10265 readdir = 89,
10266 mmap = 90,
10267 munmap = 91,
10268 truncate = 92,
10269 ftruncate = 93,
10270 fchmod = 94,
10271 fchown = 95,
10272 getpriority = 96,
10273 setpriority = 97,
10274 statfs = 99,
10275 fstatfs = 100,
10276 socketcall = 102,
10277 syslog = 103,
10278 setitimer = 104,
10279 getitimer = 105,
10280 stat = 106,
10281 lstat = 107,
10282 fstat = 108,
10283 olduname = 109,
10284 vhangup = 111,
10285 wait4 = 114,
10286 swapoff = 115,
10287 sysinfo = 116,
10288 ipc = 117,
10289 fsync = 118,
10290 sigreturn = 119,
10291 clone = 120,
10292 setdomainname = 121,
10293 uname = 122,
10294 cacheflush = 123,
10295 adjtimex = 124,
10296 mprotect = 125,
10297 sigprocmask = 126,
10298 init_module = 128,
10299 delete_module = 129,
10300 quotactl = 131,
10301 getpgid = 132,
10302 fchdir = 133,
10303 bdflush = 134,
10304 sysfs = 135,
10305 personality = 136,
10306 setfsuid = 138,
10307 setfsgid = 139,
10308 llseek = 140,
10309 getdents = 141,
10310 newselect = 142,
10311 flock = 143,
10312 msync = 144,
10313 readv = 145,
10314 writev = 146,
10315 getsid = 147,
10316 fdatasync = 148,
10317 sysctl = 149,
10318 mlock = 150,
10319 munlock = 151,
10320 mlockall = 152,
10321 munlockall = 153,
10322 sched_setparam = 154,
10323 sched_getparam = 155,
10324 sched_setscheduler = 156,
10325 sched_getscheduler = 157,
10326 sched_yield = 158,
10327 sched_get_priority_max = 159,
10328 sched_get_priority_min = 160,
10329 sched_rr_get_interval = 161,
10330 nanosleep = 162,
10331 mremap = 163,
10332 setresuid = 164,
10333 getresuid = 165,
10334 poll = 168,
10335 nfsservctl = 169,
10336 setresgid = 170,
10337 getresgid = 171,
10338 prctl = 172,
10339 rt_sigreturn = 173,
10340 rt_sigaction = 174,
10341 rt_sigprocmask = 175,
10342 rt_sigpending = 176,
10343 rt_sigtimedwait = 177,
10344 rt_sigqueueinfo = 178,
10345 rt_sigsuspend = 179,
10346 pread64 = 180,
10347 pwrite64 = 181,
10348 chown = 182,
10349 getcwd = 183,
10350 capget = 184,
10351 capset = 185,
10352 sigaltstack = 186,
10353 sendfile = 187,
10354 vfork = 190,
10355 ugetrlimit = 191,
10356 mmap2 = 192,
10357 truncate64 = 193,
10358 ftruncate64 = 194,
10359 stat64 = 195,
10360 lstat64 = 196,
10361 fstat64 = 197,
10362 lchown32 = 198,
10363 getuid32 = 199,
10364 getgid32 = 200,
10365 geteuid32 = 201,
10366 getegid32 = 202,
10367 setreuid32 = 203,
10368 setregid32 = 204,
10369 getgroups32 = 205,
10370 setgroups32 = 206,
10371 fchown32 = 207,
10372 setresuid32 = 208,
10373 getresuid32 = 209,
10374 setresgid32 = 210,
10375 getresgid32 = 211,
10376 chown32 = 212,
10377 setuid32 = 213,
10378 setgid32 = 214,
10379 setfsuid32 = 215,
10380 setfsgid32 = 216,
10381 pivot_root = 217,
10382 mincore = 218,
10383 madvise = 219,
10384 getdents64 = 220,
10385 fcntl64 = 221,
10386 gettid = 224,
10387 readahead = 225,
10388 setxattr = 226,
10389 lsetxattr = 227,
10390 fsetxattr = 228,
10391 getxattr = 229,
10392 lgetxattr = 230,
10393 fgetxattr = 231,
10394 listxattr = 232,
10395 llistxattr = 233,
10396 flistxattr = 234,
10397 removexattr = 235,
10398 lremovexattr = 236,
10399 fremovexattr = 237,
10400 tkill = 238,
10401 sendfile64 = 239,
10402 futex = 240,
10403 sched_setaffinity = 241,
10404 sched_getaffinity = 242,
10405 io_setup = 245,
10406 io_destroy = 246,
10407 io_getevents = 247,
10408 io_submit = 248,
10409 io_cancel = 249,
10410 fadvise64 = 250,
10411 exit_group = 252,
10412 lookup_dcookie = 253,
10413 epoll_create = 254,
10414 epoll_ctl = 255,
10415 epoll_wait = 256,
10416 remap_file_pages = 257,
10417 set_tid_address = 258,
10418 timer_create = 259,
10419 timer_settime = 260,
10420 timer_gettime = 261,
10421 timer_getoverrun = 262,
10422 timer_delete = 263,
10423 clock_settime = 264,
10424 clock_gettime = 265,
10425 clock_getres = 266,
10426 clock_nanosleep = 267,
10427 statfs64 = 268,
10428 fstatfs64 = 269,
10429 tgkill = 270,
10430 utimes = 271,
10431 fadvise64_64 = 272,
10432 mbind = 274,
10433 get_mempolicy = 275,
10434 set_mempolicy = 276,
10435 mq_open = 277,
10436 mq_unlink = 278,
10437 mq_timedsend = 279,
10438 mq_timedreceive = 280,
10439 mq_notify = 281,
10440 mq_getsetattr = 282,
10441 kexec_load = 283,
10442 waitid = 284,
10443 add_key = 285,
10444 request_key = 286,
10445 keyctl = 287,
10446 ioprio_set = 288,
10447 ioprio_get = 289,
10448 inotify_init = 290,
10449 inotify_add_watch = 291,
10450 inotify_rm_watch = 292,
10451 migrate_pages = 294,
10452 openat = 295,
10453 mkdirat = 296,
10454 mknodat = 297,
10455 fchownat = 298,
10456 futimesat = 299,
10457 fstatat64 = 300,
10458 unlinkat = 301,
10459 renameat = 302,
10460 linkat = 303,
10461 symlinkat = 304,
10462 readlinkat = 305,
10463 fchmodat = 306,
10464 faccessat = 307,
10465 pselect6 = 308,
10466 ppoll = 309,
10467 unshare = 310,
10468 set_robust_list = 311,
10469 get_robust_list = 312,
10470 splice = 313,
10471 sync_file_range = 314,
10472 tee = 315,
10473 vmsplice = 316,
10474 move_pages = 317,
10475 getcpu = 318,
10476 epoll_pwait = 319,
10477 utimensat = 320,
10478 signalfd = 321,
10479 timerfd_create = 322,
10480 eventfd = 323,
10481 fallocate = 324,
10482 timerfd_settime = 325,
10483 timerfd_gettime = 326,
10484 signalfd4 = 327,
10485 eventfd2 = 328,
10486 epoll_create1 = 329,
10487 dup3 = 330,
10488 pipe2 = 331,
10489 inotify_init1 = 332,
10490 preadv = 333,
10491 pwritev = 334,
10492 rt_tgsigqueueinfo = 335,
10493 perf_event_open = 336,
10494 fanotify_init = 337,
10495 fanotify_mark = 338,
10496 prlimit64 = 339,
10497 socket = 340,
10498 bind = 341,
10499 connect = 342,
10500 listen = 343,
10501 accept = 344,
10502 getsockname = 345,
10503 getpeername = 346,
10504 socketpair = 347,
10505 send = 348,
10506 sendto = 349,
10507 recv = 350,
10508 recvfrom = 351,
10509 shutdown = 352,
10510 setsockopt = 353,
10511 getsockopt = 354,
10512 sendmsg = 355,
10513 recvmsg = 356,
10514 recvmmsg = 357,
10515 accept4 = 358,
10516 name_to_handle_at = 359,
10517 open_by_handle_at = 360,
10518 clock_adjtime = 361,
10519 syncfs = 362,
10520 sendmmsg = 363,
10521 setns = 364,
10522 process_vm_readv = 365,
10523 process_vm_writev = 366,
10524 kcmp = 367,
10525 finit_module = 368,
10526 sched_getattr = 369,
10527 sched_setattr = 370,
10528 renameat2 = 371,
10529 seccomp = 372,
10530 getrandom = 373,
10531 memfd_create = 374,
10532 bpf = 375,
10533 execveat = 376,
10534 userfaultfd = 377,
10535 membarrier = 378,
10536 mlock2 = 379,
10537 copy_file_range = 380,
10538 preadv2 = 381,
10539 pwritev2 = 382,
10540 statx = 383,
10541 pkey_mprotect = 384,
10542 pkey_alloc = 385,
10543 pkey_free = 386,
10544 rseq = 387,
10545 sync_file_range2 = 388,
10546 semget = 393,
10547 semctl = 394,
10548 shmget = 395,
10549 shmctl = 396,
10550 shmat = 397,
10551 shmdt = 398,
10552 msgget = 399,
10553 msgsnd = 400,
10554 msgrcv = 401,
10555 msgctl = 402,
10556 clock_gettime64 = 403,
10557 clock_settime64 = 404,
10558 clock_adjtime64 = 405,
10559 clock_getres_time64 = 406,
10560 clock_nanosleep_time64 = 407,
10561 timer_gettime64 = 408,
10562 timer_settime64 = 409,
10563 timerfd_gettime64 = 410,
10564 timerfd_settime64 = 411,
10565 utimensat_time64 = 412,
10566 pselect6_time64 = 413,
10567 ppoll_time64 = 414,
10568 io_pgetevents_time64 = 416,
10569 recvmmsg_time64 = 417,
10570 mq_timedsend_time64 = 418,
10571 mq_timedreceive_time64 = 419,
10572 semtimedop_time64 = 420,
10573 rt_sigtimedwait_time64 = 421,
10574 futex_time64 = 422,
10575 sched_rr_get_interval_time64 = 423,
10576 pidfd_send_signal = 424,
10577 io_uring_setup = 425,
10578 io_uring_enter = 426,
10579 io_uring_register = 427,
10580 open_tree = 428,
10581 move_mount = 429,
10582 fsopen = 430,
10583 fsconfig = 431,
10584 fsmount = 432,
10585 fspick = 433,
10586 pidfd_open = 434,
10587 close_range = 436,
10588 openat2 = 437,
10589 pidfd_getfd = 438,
10590 faccessat2 = 439,
10591 process_madvise = 440,
10592 epoll_pwait2 = 441,
10593 mount_setattr = 442,
10594 quotactl_fd = 443,
10595 landlock_create_ruleset = 444,
10596 landlock_add_rule = 445,
10597 landlock_restrict_self = 446,
10598 process_mrelease = 448,
10599 futex_waitv = 449,
10600 set_mempolicy_home_node = 450,
10601 cachestat = 451,
10602 fchmodat2 = 452,
10603 map_shadow_stack = 453,
10604 futex_wake = 454,
10605 futex_wait = 455,
10606 futex_requeue = 456,
10607 statmount = 457,
10608 listmount = 458,
10609 lsm_get_self_attr = 459,
10610 lsm_set_self_attr = 460,
10611 lsm_list_modules = 461,
10612 mseal = 462,
10613 setxattrat = 463,
10614 getxattrat = 464,
10615 listxattrat = 465,
10616 removexattrat = 466,
10617 open_tree_attr = 467,
10618 file_getattr = 468,
10619 file_setattr = 469,
10620 listns = 470,
10621 rseq_slice_yield = 471,
10622};
10623
10624pub const Microblaze = enum(usize) {
10625 restart_syscall = 0,
10626 exit = 1,
10627 fork = 2,
10628 read = 3,
10629 write = 4,
10630 open = 5,
10631 close = 6,
10632 waitpid = 7,
10633 creat = 8,
10634 link = 9,
10635 unlink = 10,
10636 execve = 11,
10637 chdir = 12,
10638 time = 13,
10639 mknod = 14,
10640 chmod = 15,
10641 lchown = 16,
10642 @"break" = 17,
10643 oldstat = 18,
10644 lseek = 19,
10645 getpid = 20,
10646 mount = 21,
10647 umount = 22,
10648 setuid = 23,
10649 getuid = 24,
10650 stime = 25,
10651 ptrace = 26,
10652 alarm = 27,
10653 oldfstat = 28,
10654 pause = 29,
10655 utime = 30,
10656 stty = 31,
10657 gtty = 32,
10658 access = 33,
10659 nice = 34,
10660 ftime = 35,
10661 sync = 36,
10662 kill = 37,
10663 rename = 38,
10664 mkdir = 39,
10665 rmdir = 40,
10666 dup = 41,
10667 pipe = 42,
10668 times = 43,
10669 prof = 44,
10670 brk = 45,
10671 setgid = 46,
10672 getgid = 47,
10673 signal = 48,
10674 geteuid = 49,
10675 getegid = 50,
10676 acct = 51,
10677 umount2 = 52,
10678 lock = 53,
10679 ioctl = 54,
10680 fcntl = 55,
10681 mpx = 56,
10682 setpgid = 57,
10683 ulimit = 58,
10684 oldolduname = 59,
10685 umask = 60,
10686 chroot = 61,
10687 ustat = 62,
10688 dup2 = 63,
10689 getppid = 64,
10690 getpgrp = 65,
10691 setsid = 66,
10692 sigaction = 67,
10693 sgetmask = 68,
10694 ssetmask = 69,
10695 setreuid = 70,
10696 setregid = 71,
10697 sigsuspend = 72,
10698 sigpending = 73,
10699 sethostname = 74,
10700 setrlimit = 75,
10701 getrlimit = 76,
10702 getrusage = 77,
10703 gettimeofday = 78,
10704 settimeofday = 79,
10705 getgroups = 80,
10706 setgroups = 81,
10707 select = 82,
10708 symlink = 83,
10709 oldlstat = 84,
10710 readlink = 85,
10711 uselib = 86,
10712 swapon = 87,
10713 reboot = 88,
10714 readdir = 89,
10715 mmap = 90,
10716 munmap = 91,
10717 truncate = 92,
10718 ftruncate = 93,
10719 fchmod = 94,
10720 fchown = 95,
10721 getpriority = 96,
10722 setpriority = 97,
10723 profil = 98,
10724 statfs = 99,
10725 fstatfs = 100,
10726 ioperm = 101,
10727 socketcall = 102,
10728 syslog = 103,
10729 setitimer = 104,
10730 getitimer = 105,
10731 stat = 106,
10732 lstat = 107,
10733 fstat = 108,
10734 olduname = 109,
10735 iopl = 110,
10736 vhangup = 111,
10737 idle = 112,
10738 vm86old = 113,
10739 wait4 = 114,
10740 swapoff = 115,
10741 sysinfo = 116,
10742 ipc = 117,
10743 fsync = 118,
10744 sigreturn = 119,
10745 clone = 120,
10746 setdomainname = 121,
10747 uname = 122,
10748 modify_ldt = 123,
10749 adjtimex = 124,
10750 mprotect = 125,
10751 sigprocmask = 126,
10752 create_module = 127,
10753 init_module = 128,
10754 delete_module = 129,
10755 get_kernel_syms = 130,
10756 quotactl = 131,
10757 getpgid = 132,
10758 fchdir = 133,
10759 bdflush = 134,
10760 sysfs = 135,
10761 personality = 136,
10762 afs_syscall = 137,
10763 setfsuid = 138,
10764 setfsgid = 139,
10765 llseek = 140,
10766 getdents = 141,
10767 newselect = 142,
10768 flock = 143,
10769 msync = 144,
10770 readv = 145,
10771 writev = 146,
10772 getsid = 147,
10773 fdatasync = 148,
10774 sysctl = 149,
10775 mlock = 150,
10776 munlock = 151,
10777 mlockall = 152,
10778 munlockall = 153,
10779 sched_setparam = 154,
10780 sched_getparam = 155,
10781 sched_setscheduler = 156,
10782 sched_getscheduler = 157,
10783 sched_yield = 158,
10784 sched_get_priority_max = 159,
10785 sched_get_priority_min = 160,
10786 sched_rr_get_interval = 161,
10787 nanosleep = 162,
10788 mremap = 163,
10789 setresuid = 164,
10790 getresuid = 165,
10791 vm86 = 166,
10792 query_module = 167,
10793 poll = 168,
10794 nfsservctl = 169,
10795 setresgid = 170,
10796 getresgid = 171,
10797 prctl = 172,
10798 rt_sigreturn = 173,
10799 rt_sigaction = 174,
10800 rt_sigprocmask = 175,
10801 rt_sigpending = 176,
10802 rt_sigtimedwait = 177,
10803 rt_sigqueueinfo = 178,
10804 rt_sigsuspend = 179,
10805 pread64 = 180,
10806 pwrite64 = 181,
10807 chown = 182,
10808 getcwd = 183,
10809 capget = 184,
10810 capset = 185,
10811 sigaltstack = 186,
10812 sendfile = 187,
10813 getpmsg = 188,
10814 putpmsg = 189,
10815 vfork = 190,
10816 ugetrlimit = 191,
10817 mmap2 = 192,
10818 truncate64 = 193,
10819 ftruncate64 = 194,
10820 stat64 = 195,
10821 lstat64 = 196,
10822 fstat64 = 197,
10823 lchown32 = 198,
10824 getuid32 = 199,
10825 getgid32 = 200,
10826 geteuid32 = 201,
10827 getegid32 = 202,
10828 setreuid32 = 203,
10829 setregid32 = 204,
10830 getgroups32 = 205,
10831 setgroups32 = 206,
10832 fchown32 = 207,
10833 setresuid32 = 208,
10834 getresuid32 = 209,
10835 setresgid32 = 210,
10836 getresgid32 = 211,
10837 chown32 = 212,
10838 setuid32 = 213,
10839 setgid32 = 214,
10840 setfsuid32 = 215,
10841 setfsgid32 = 216,
10842 pivot_root = 217,
10843 mincore = 218,
10844 madvise = 219,
10845 getdents64 = 220,
10846 fcntl64 = 221,
10847 gettid = 224,
10848 readahead = 225,
10849 setxattr = 226,
10850 lsetxattr = 227,
10851 fsetxattr = 228,
10852 getxattr = 229,
10853 lgetxattr = 230,
10854 fgetxattr = 231,
10855 listxattr = 232,
10856 llistxattr = 233,
10857 flistxattr = 234,
10858 removexattr = 235,
10859 lremovexattr = 236,
10860 fremovexattr = 237,
10861 tkill = 238,
10862 sendfile64 = 239,
10863 futex = 240,
10864 sched_setaffinity = 241,
10865 sched_getaffinity = 242,
10866 set_thread_area = 243,
10867 get_thread_area = 244,
10868 io_setup = 245,
10869 io_destroy = 246,
10870 io_getevents = 247,
10871 io_submit = 248,
10872 io_cancel = 249,
10873 fadvise64 = 250,
10874 exit_group = 252,
10875 lookup_dcookie = 253,
10876 epoll_create = 254,
10877 epoll_ctl = 255,
10878 epoll_wait = 256,
10879 remap_file_pages = 257,
10880 set_tid_address = 258,
10881 timer_create = 259,
10882 timer_settime = 260,
10883 timer_gettime = 261,
10884 timer_getoverrun = 262,
10885 timer_delete = 263,
10886 clock_settime = 264,
10887 clock_gettime = 265,
10888 clock_getres = 266,
10889 clock_nanosleep = 267,
10890 statfs64 = 268,
10891 fstatfs64 = 269,
10892 tgkill = 270,
10893 utimes = 271,
10894 fadvise64_64 = 272,
10895 vserver = 273,
10896 mbind = 274,
10897 get_mempolicy = 275,
10898 set_mempolicy = 276,
10899 mq_open = 277,
10900 mq_unlink = 278,
10901 mq_timedsend = 279,
10902 mq_timedreceive = 280,
10903 mq_notify = 281,
10904 mq_getsetattr = 282,
10905 kexec_load = 283,
10906 waitid = 284,
10907 add_key = 286,
10908 request_key = 287,
10909 keyctl = 288,
10910 ioprio_set = 289,
10911 ioprio_get = 290,
10912 inotify_init = 291,
10913 inotify_add_watch = 292,
10914 inotify_rm_watch = 293,
10915 migrate_pages = 294,
10916 openat = 295,
10917 mkdirat = 296,
10918 mknodat = 297,
10919 fchownat = 298,
10920 futimesat = 299,
10921 fstatat64 = 300,
10922 unlinkat = 301,
10923 renameat = 302,
10924 linkat = 303,
10925 symlinkat = 304,
10926 readlinkat = 305,
10927 fchmodat = 306,
10928 faccessat = 307,
10929 pselect6 = 308,
10930 ppoll = 309,
10931 unshare = 310,
10932 set_robust_list = 311,
10933 get_robust_list = 312,
10934 splice = 313,
10935 sync_file_range = 314,
10936 tee = 315,
10937 vmsplice = 316,
10938 move_pages = 317,
10939 getcpu = 318,
10940 epoll_pwait = 319,
10941 utimensat = 320,
10942 signalfd = 321,
10943 timerfd_create = 322,
10944 eventfd = 323,
10945 fallocate = 324,
10946 semtimedop = 325,
10947 timerfd_settime = 326,
10948 timerfd_gettime = 327,
10949 semctl = 328,
10950 semget = 329,
10951 semop = 330,
10952 msgctl = 331,
10953 msgget = 332,
10954 msgrcv = 333,
10955 msgsnd = 334,
10956 shmat = 335,
10957 shmctl = 336,
10958 shmdt = 337,
10959 shmget = 338,
10960 signalfd4 = 339,
10961 eventfd2 = 340,
10962 epoll_create1 = 341,
10963 dup3 = 342,
10964 pipe2 = 343,
10965 inotify_init1 = 344,
10966 socket = 345,
10967 socketpair = 346,
10968 bind = 347,
10969 listen = 348,
10970 accept = 349,
10971 connect = 350,
10972 getsockname = 351,
10973 getpeername = 352,
10974 sendto = 353,
10975 send = 354,
10976 recvfrom = 355,
10977 recv = 356,
10978 setsockopt = 357,
10979 getsockopt = 358,
10980 shutdown = 359,
10981 sendmsg = 360,
10982 recvmsg = 361,
10983 accept4 = 362,
10984 preadv = 363,
10985 pwritev = 364,
10986 rt_tgsigqueueinfo = 365,
10987 perf_event_open = 366,
10988 recvmmsg = 367,
10989 fanotify_init = 368,
10990 fanotify_mark = 369,
10991 prlimit64 = 370,
10992 name_to_handle_at = 371,
10993 open_by_handle_at = 372,
10994 clock_adjtime = 373,
10995 syncfs = 374,
10996 setns = 375,
10997 sendmmsg = 376,
10998 process_vm_readv = 377,
10999 process_vm_writev = 378,
11000 kcmp = 379,
11001 finit_module = 380,
11002 sched_setattr = 381,
11003 sched_getattr = 382,
11004 renameat2 = 383,
11005 seccomp = 384,
11006 getrandom = 385,
11007 memfd_create = 386,
11008 bpf = 387,
11009 execveat = 388,
11010 userfaultfd = 389,
11011 membarrier = 390,
11012 mlock2 = 391,
11013 copy_file_range = 392,
11014 preadv2 = 393,
11015 pwritev2 = 394,
11016 pkey_mprotect = 395,
11017 pkey_alloc = 396,
11018 pkey_free = 397,
11019 statx = 398,
11020 io_pgetevents = 399,
11021 rseq = 400,
11022 clock_gettime64 = 403,
11023 clock_settime64 = 404,
11024 clock_adjtime64 = 405,
11025 clock_getres_time64 = 406,
11026 clock_nanosleep_time64 = 407,
11027 timer_gettime64 = 408,
11028 timer_settime64 = 409,
11029 timerfd_gettime64 = 410,
11030 timerfd_settime64 = 411,
11031 utimensat_time64 = 412,
11032 pselect6_time64 = 413,
11033 ppoll_time64 = 414,
11034 io_pgetevents_time64 = 416,
11035 recvmmsg_time64 = 417,
11036 mq_timedsend_time64 = 418,
11037 mq_timedreceive_time64 = 419,
11038 semtimedop_time64 = 420,
11039 rt_sigtimedwait_time64 = 421,
11040 futex_time64 = 422,
11041 sched_rr_get_interval_time64 = 423,
11042 pidfd_send_signal = 424,
11043 io_uring_setup = 425,
11044 io_uring_enter = 426,
11045 io_uring_register = 427,
11046 open_tree = 428,
11047 move_mount = 429,
11048 fsopen = 430,
11049 fsconfig = 431,
11050 fsmount = 432,
11051 fspick = 433,
11052 pidfd_open = 434,
11053 clone3 = 435,
11054 close_range = 436,
11055 openat2 = 437,
11056 pidfd_getfd = 438,
11057 faccessat2 = 439,
11058 process_madvise = 440,
11059 epoll_pwait2 = 441,
11060 mount_setattr = 442,
11061 quotactl_fd = 443,
11062 landlock_create_ruleset = 444,
11063 landlock_add_rule = 445,
11064 landlock_restrict_self = 446,
11065 process_mrelease = 448,
11066 futex_waitv = 449,
11067 set_mempolicy_home_node = 450,
11068 cachestat = 451,
11069 fchmodat2 = 452,
11070 map_shadow_stack = 453,
11071 futex_wake = 454,
11072 futex_wait = 455,
11073 futex_requeue = 456,
11074 statmount = 457,
11075 listmount = 458,
11076 lsm_get_self_attr = 459,
11077 lsm_set_self_attr = 460,
11078 lsm_list_modules = 461,
11079 mseal = 462,
11080 setxattrat = 463,
11081 getxattrat = 464,
11082 listxattrat = 465,
11083 removexattrat = 466,
11084 open_tree_attr = 467,
11085 file_getattr = 468,
11086 file_setattr = 469,
11087 listns = 470,
11088 rseq_slice_yield = 471,
11089};
lib/std/start.zig+5-5
......@@ -170,7 +170,7 @@ fn _start() callconv(.naked) noreturn {
170170 .loongarch32, .loongarch64 => ".cfi_undefined 1",
171171 .m68k => ".cfi_undefined %%pc",
172172 .m88k => ".cfi_undefined %%r1",
173 .microblaze, .microblazeel => ".cfi_undefined r15",
173 .microblaze, .microblazeel => "", // No CFI support.
174174 .mips, .mipsel, .mips64, .mips64el => ".cfi_undefined $ra",
175175 .or1k => ".cfi_undefined r9",
176176 .powerpc, .powerpcle, .powerpc64, .powerpc64le => ".cfi_undefined lr",
......@@ -345,11 +345,11 @@ fn _start() callconv(.naked) noreturn {
345345 ,
346346 .microblaze, .microblazeel =>
347347 // r1 = SP, r15 = LR, r19 = FP, r20 = GP
348 \\ ori r15, r0, r0
349 \\ ori r19, r0, r0
348 \\ ori r15, r0, 0
349 \\ ori r19, r0, 0
350350 \\ mfs r20, rpc
351 \\ addik r20, r20, _GLOBAL_OFFSET_TABLE_ + 8
352 \\ ori r5, r1, r0
351 \\ addi r20, r20, _GLOBAL_OFFSET_TABLE_ + 8
352 \\ ori r5, r1, 0
353353 \\ andi r1, r1, -4
354354 \\ brlid r15, %[posixCallMainAndExit]
355355 ,
tools/generate_linux_syscalls.zig+4-10
......@@ -20,11 +20,6 @@ const stdlib_renames = std.StaticStringMap([]const u8).initComptime(.{
2020 .{ "_llseek", "llseek" },
2121 .{ "_newselect", "newselect" },
2222 .{ "_sysctl", "sysctl" },
23 // Most 64-bit archs.
24 .{ "newfstat", "fstat64" },
25 .{ "newfstatat", "fstatat64" },
26 // POWER.
27 .{ "sync_file_range2", "sync_file_range" },
2823 // ARM EABI/Thumb.
2924 .{ "arm_sync_file_range", "sync_file_range" },
3025 .{ "arm_fadvise64_64", "fadvise64_64" },
......@@ -171,11 +166,10 @@ const architectures: []const Arch = &.{
171166 .{ .@"var" = "CSky", .table = .generic, .abi = &.{ .common, .@"32", .csky, .time32, .stat64, .rlimit } },
172167 .{ .@"var" = "Hexagon", .table = .generic, .abi = &.{ .common, .@"32", .hexagon, .time32, .stat64, .rlimit, .renameat } },
173168 .{ .@"var" = "OpenRisc", .table = .generic, .abi = &.{ .common, .@"32", .or1k, .time32, .stat64, .rlimit, .renameat } },
174 // .{ .@"var" = "Nios2", .table = .generic, .abi = &.{ .common, .@"32", .nios2, .time32, .stat64, .rlimit, .renameat } },
175 // .{ .@"var" = "Parisc", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"32" } },
176 // .{ .@"var" = "Parisc64", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"64" } },
177 // .{ .@"var" = "Sh", .table = .{ .specific = "arch/sh/kernel/syscalls/syscall.tbl" } },
178 // .{ .@"var" = "Microblaze", .table = .{ .specific = "arch/microblaze/kernel/syscalls/syscall.tbl" } },
169 .{ .@"var" = "Hppa", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"32" } },
170 .{ .@"var" = "Hppa64", .table = .{ .specific = "arch/parisc/kernel/syscalls/syscall.tbl" }, .abi = &.{ .common, .@"64" } },
171 .{ .@"var" = "Sh", .table = .{ .specific = "arch/sh/kernel/syscalls/syscall.tbl" } },
172 .{ .@"var" = "Microblaze", .table = .{ .specific = "arch/microblaze/kernel/syscalls/syscall.tbl" } },
179173};
180174
181175pub fn main(init: std.process.Init) !void {