| ... | @@ -237,6 +237,31 @@ pub fn main() !void { | ... | @@ -237,6 +237,31 @@ pub fn main() !void { |
| 237 | | 237 | |
| 238 | try writer.writeAll("};\n\n"); | 238 | try writer.writeAll("};\n\n"); |
| 239 | } | 239 | } |
| | 240 | { |
| | 241 | try writer.writeAll( |
| | 242 | \\pub const MipsN32 = enum(usize) { |
| | 243 | \\ const linux_base = 6000; |
| | 244 | \\ |
| | 245 | \\ |
| | 246 | ); |
| | 247 | |
| | 248 | const table = try linux_dir.readFile("arch/mips/kernel/syscalls/syscall_n32.tbl", buf); |
| | 249 | var lines = mem.tokenizeScalar(u8, table, '\n'); |
| | 250 | while (lines.next()) |line| { |
| | 251 | if (line[0] == '#') continue; |
| | 252 | |
| | 253 | var fields = mem.tokenizeAny(u8, line, " \t"); |
| | 254 | const number = fields.next() orelse return error.Incomplete; |
| | 255 | // abi is always n32 |
| | 256 | _ = fields.next() orelse return error.Incomplete; |
| | 257 | const name = fields.next() orelse return error.Incomplete; |
| | 258 | const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name; |
| | 259 | |
| | 260 | try writer.print(" {p} = linux_base + {s},\n", .{ zig.fmtId(fixed_name), number }); |
| | 261 | } |
| | 262 | |
| | 263 | try writer.writeAll("};\n\n"); |
| | 264 | } |
| 240 | { | 265 | { |
| 241 | try writer.writeAll("pub const PowerPC = enum(usize) {\n"); | 266 | try writer.writeAll("pub const PowerPC = enum(usize) {\n"); |
| 242 | | 267 | |