diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-10-17 12:07:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-17 12:07:51 +0200 |
| commit | 1f8a72175b5352e77b41ed4d165acccad08ffb16 (patch) | |
| tree | d573a9ef3ad64fc8e257fe7a736e57e50c2d8e2d /lib/std/os/linux/mips.zig | |
| parent | 3091efaa1845bf049ce1d4aaacb95e3b1e346453 (diff) | |
| parent | 29fb9e4da7d60f32f7efe6d280a69e020cd117a7 (diff) | |
| download | zig-1f8a72175b5352e77b41ed4d165acccad08ffb16.tar.gz zig-1f8a72175b5352e77b41ed4d165acccad08ffb16.zip | |
Merge pull request #25610 from alexrp/std-os-linux-cleanup
`std.os.linux`: some miscellaneous cleanup in arch bits
Diffstat (limited to 'lib/std/os/linux/mips.zig')
| -rw-r--r-- | lib/std/os/linux/mips.zig | 160 |
1 files changed, 44 insertions, 116 deletions
diff --git a/lib/std/os/linux/mips.zig b/lib/std/os/linux/mips.zig index 6412c847bd..7468396a09 100644 --- a/lib/std/os/linux/mips.zig +++ b/lib/std/os/linux/mips.zig @@ -1,32 +1,20 @@ const builtin = @import("builtin"); const std = @import("../../std.zig"); -const maxInt = std.math.maxInt; -const linux = std.os.linux; -const SYS = linux.SYS; -const socklen_t = linux.socklen_t; -const iovec = std.posix.iovec; -const iovec_const = std.posix.iovec_const; -const uid_t = linux.uid_t; -const gid_t = linux.gid_t; -const pid_t = linux.pid_t; -const stack_t = linux.stack_t; -const sigset_t = linux.sigset_t; -const sockaddr = linux.sockaddr; -const timespec = linux.timespec; +const SYS = std.os.linux.SYS; -pub fn syscall0(number: SYS) usize { +pub fn syscall0(number: SYS) u32 { return asm volatile ( \\ syscall \\ beq $7, $zero, 1f \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn syscall_pipe(fd: *[2]i32) usize { +pub fn syscall_pipe(fd: *[2]i32) u32 { return asm volatile ( \\ .set noat \\ .set noreorder @@ -39,47 +27,47 @@ pub fn syscall_pipe(fd: *[2]i32) usize { \\ sw $2, 0($4) \\ sw $3, 4($4) \\ 2: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(SYS.pipe)), [fd] "{$4}" (fd), : .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn syscall1(number: SYS, arg1: usize) usize { +pub fn syscall1(number: SYS, arg1: u32) u32 { return asm volatile ( \\ syscall \\ beq $7, $zero, 1f \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), : .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize { +pub fn syscall2(number: SYS, arg1: u32, arg2: u32) u32 { return asm volatile ( \\ syscall \\ beq $7, $zero, 1f \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), [arg2] "{$5}" (arg2), : .{ .r1 = true, .r3 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize { +pub fn syscall3(number: SYS, arg1: u32, arg2: u32, arg3: u32) u32 { return asm volatile ( \\ syscall \\ beq $7, $zero, 1f \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), [arg2] "{$5}" (arg2), @@ -87,14 +75,14 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize { : .{ .r1 = true, .r3 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize { +pub fn syscall4(number: SYS, arg1: u32, arg2: u32, arg3: u32, arg4: u32) u32 { return asm volatile ( \\ syscall \\ beq $7, $zero, 1f \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), [arg2] "{$5}" (arg2), @@ -103,7 +91,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize { +pub fn syscall5(number: SYS, arg1: u32, arg2: u32, arg3: u32, arg4: u32, arg5: u32) u32 { return asm volatile ( \\ .set noat \\ subu $sp, $sp, 24 @@ -114,7 +102,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), [arg2] "{$5}" (arg2), @@ -129,13 +117,13 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, pub fn syscall6( number: SYS, - arg1: usize, - arg2: usize, - arg3: usize, - arg4: usize, - arg5: usize, - arg6: usize, -) usize { + arg1: u32, + arg2: u32, + arg3: u32, + arg4: u32, + arg5: u32, + arg6: u32, +) u32 { return asm volatile ( \\ .set noat \\ subu $sp, $sp, 24 @@ -147,7 +135,7 @@ pub fn syscall6( \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), [arg2] "{$5}" (arg2), @@ -160,14 +148,14 @@ pub fn syscall6( pub fn syscall7( number: SYS, - arg1: usize, - arg2: usize, - arg3: usize, - arg4: usize, - arg5: usize, - arg6: usize, - arg7: usize, -) usize { + arg1: u32, + arg2: u32, + arg3: u32, + arg4: u32, + arg5: u32, + arg6: u32, + arg7: u32, +) u32 { return asm volatile ( \\ .set noat \\ subu $sp, $sp, 32 @@ -180,7 +168,7 @@ pub fn syscall7( \\ blez $2, 1f \\ subu $2, $0, $2 \\ 1: - : [ret] "={$2}" (-> usize), + : [ret] "={$2}" (-> u32), : [number] "{$2}" (@intFromEnum(number)), [arg1] "{$4}" (arg1), [arg2] "{$5}" (arg2), @@ -192,7 +180,7 @@ pub fn syscall7( : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true }); } -pub fn clone() callconv(.naked) usize { +pub fn clone() callconv(.naked) u32 { // __clone(func, stack, flags, arg, ptid, tls, ctid) // 3, 4, 5, 6, 7, 8, 9 // @@ -243,47 +231,11 @@ pub fn clone() callconv(.naked) usize { ); } -pub const F = struct { - pub const DUPFD = 0; - pub const GETFD = 1; - pub const SETFD = 2; - pub const GETFL = 3; - pub const SETFL = 4; - - pub const SETOWN = 24; - pub const GETOWN = 23; - pub const SETSIG = 10; - pub const GETSIG = 11; - - pub const GETLK = 33; - pub const SETLK = 34; - pub const SETLKW = 35; - - pub const RDLCK = 0; - pub const WRLCK = 1; - pub const UNLCK = 2; - - pub const SETOWN_EX = 15; - pub const GETOWN_EX = 16; - - pub const GETOWNER_UIDS = 17; -}; - pub const VDSO = struct { pub const CGT_SYM = "__vdso_clock_gettime"; pub const CGT_VER = "LINUX_2.6"; }; -pub const Flock = extern struct { - type: i16, - whence: i16, - __pad0: [4]u8, - start: off_t, - len: off_t, - pid: pid_t, - __unused: [4]u8, -}; - pub const blksize_t = u32; pub const nlink_t = u32; pub const time_t = i32; @@ -300,51 +252,27 @@ pub const Stat = extern struct { ino: ino_t, mode: mode_t, nlink: nlink_t, - uid: uid_t, - gid: gid_t, + uid: std.os.linux.uid_t, + gid: std.os.linux.gid_t, rdev: dev_t, __pad1: [2]u32, size: off_t, - atim: i32, - atim_nsec: i32, - mtim: i32, - mtim_nsec: i32, - ctim: i32, - ctim_nsec: i32, + atim: std.os.linux.timespec, + mtim: std.os.linux.timespec, + ctim: std.os.linux.timespec, blksize: blksize_t, __pad3: u32, blocks: blkcnt_t, - pub fn atime(self: @This()) timespec { - return .{ - .sec = self.atim, - .nsec = self.atim_nsec, - }; + pub fn atime(self: @This()) std.os.linux.timespec { + return self.atim; } - pub fn mtime(self: @This()) timespec { - return .{ - .sec = self.mtim, - .nsec = self.mtim_nsec, - }; + pub fn mtime(self: @This()) std.os.linux.timespec { + return self.mtim; } - pub fn ctime(self: @This()) timespec { - return .{ - .sec = self.ctim, - .nsec = self.ctim_nsec, - }; + pub fn ctime(self: @This()) std.os.linux.timespec { + return self.ctim; } }; - -pub const timeval = extern struct { - sec: isize, - usec: isize, -}; - -pub const timezone = extern struct { - minuteswest: i32, - dsttime: i32, -}; - -pub const Elf_Symndx = u32; |
