commit 4028762a9a7fed702e87622ed89800d87bfe7077 (tree)
parent 2598aa574bf8a4c033a29b441b2faa791849e1a5
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Fri, 26 Jul 2024 05:37:43 +0200
generate_linux_syscalls: Add generation code for mips n32.
Diffstat:
1 file changed, 25 insertions(+), 0 deletions(-)
diff --git a/tools/generate_linux_syscalls.zig b/tools/generate_linux_syscalls.zig
@@ -238,6 +238,31 @@ pub fn main() !void {
try writer.writeAll("};\n\n");
}
{
+ try writer.writeAll(
+ \\pub const MipsN32 = enum(usize) {
+ \\ const linux_base = 6000;
+ \\
+ \\
+ );
+
+ const table = try linux_dir.readFile("arch/mips/kernel/syscalls/syscall_n32.tbl", buf);
+ var lines = mem.tokenizeScalar(u8, table, '\n');
+ while (lines.next()) |line| {
+ if (line[0] == '#') continue;
+
+ var fields = mem.tokenizeAny(u8, line, " \t");
+ const number = fields.next() orelse return error.Incomplete;
+ // abi is always n32
+ _ = fields.next() orelse return error.Incomplete;
+ const name = fields.next() orelse return error.Incomplete;
+ const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name;
+
+ try writer.print(" {p} = linux_base + {s},\n", .{ zig.fmtId(fixed_name), number });
+ }
+
+ try writer.writeAll("};\n\n");
+ }
+ {
try writer.writeAll("pub const PowerPC = enum(usize) {\n");
const table = try linux_dir.readFile("arch/powerpc/kernel/syscalls/syscall.tbl", buf);