authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-26 05:29:15+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-30 01:32:47+02:00
log2598aa574bf8a4c033a29b441b2faa791849e1a5
tree4ef099dfe2e6e5f6ffe81945ecaa22a7832b8e93
parentfb249cf3e130c292c639f2357ba3b7f66b2aa1b1
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

generate_linux_syscalls: Add generation code for sparc32.


1 files changed, 19 insertions(+), 0 deletions(-)

tools/generate_linux_syscalls.zig+19
......@@ -148,6 +148,25 @@ pub fn main() !void {
148148 \\
149149 );
150150 }
151 {
152 try writer.writeAll("pub const Sparc = enum(usize) {\n");
153 const table = try linux_dir.readFile("arch/sparc/kernel/syscalls/syscall.tbl", buf);
154 var lines = mem.tokenizeScalar(u8, table, '\n');
155 while (lines.next()) |line| {
156 if (line[0] == '#') continue;
157
158 var fields = mem.tokenizeAny(u8, line, " \t");
159 const number = fields.next() orelse return error.Incomplete;
160 const abi = fields.next() orelse return error.Incomplete;
161 if (mem.eql(u8, abi, "64")) continue;
162 const name = fields.next() orelse return error.Incomplete;
163 const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
164
165 try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number });
166 }
167
168 try writer.writeAll("};\n\n");
169 }
151170 {
152171 try writer.writeAll("pub const Sparc64 = enum(usize) {\n");
153172 const table = try linux_dir.readFile("arch/sparc/kernel/syscalls/syscall.tbl", buf);