diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-07-26 05:47:13 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2024-07-30 01:32:48 +0200 |
| commit | 09914868ea552167130e06977aee689b8be989f0 (patch) | |
| tree | 05ebf4c22956486e37391eec2ecfa0e09c7e589e /tools/generate_linux_syscalls.zig | |
| parent | 6e7d619dc33c3b9968d6fccdd51661e22f9db5e6 (diff) | |
| download | zig-09914868ea552167130e06977aee689b8be989f0.tar.gz zig-09914868ea552167130e06977aee689b8be989f0.zip | |
generate_linux_syscalls: Add generation code for m68k.
Diffstat (limited to 'tools/generate_linux_syscalls.zig')
| -rw-r--r-- | tools/generate_linux_syscalls.zig | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/generate_linux_syscalls.zig b/tools/generate_linux_syscalls.zig index fb0e0fb93d..e730c47642 100644 --- a/tools/generate_linux_syscalls.zig +++ b/tools/generate_linux_syscalls.zig @@ -187,6 +187,26 @@ pub fn main() !void { try writer.writeAll("};\n\n"); } { + try writer.writeAll("pub const M68k = enum(usize) {\n"); + + const table = try linux_dir.readFile("arch/m68k/kernel/syscalls/syscall.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 common + _ = 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} = {s},\n", .{ zig.fmtId(fixed_name), number }); + } + + try writer.writeAll("};\n\n"); + } + { try writer.writeAll( \\pub const MipsO32 = enum(usize) { \\ const linux_base = 4000; |
