aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux/riscv64.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-10-17 12:07:51 +0200
committerGitHub <noreply@github.com>2025-10-17 12:07:51 +0200
commit1f8a72175b5352e77b41ed4d165acccad08ffb16 (patch)
treed573a9ef3ad64fc8e257fe7a736e57e50c2d8e2d /lib/std/os/linux/riscv64.zig
parent3091efaa1845bf049ce1d4aaacb95e3b1e346453 (diff)
parent29fb9e4da7d60f32f7efe6d280a69e020cd117a7 (diff)
downloadzig-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/riscv64.zig')
-rw-r--r--lib/std/os/linux/riscv64.zig113
1 files changed, 31 insertions, 82 deletions
diff --git a/lib/std/os/linux/riscv64.zig b/lib/std/os/linux/riscv64.zig
index 5331620451..e404693df0 100644
--- a/lib/std/os/linux/riscv64.zig
+++ b/lib/std/os/linux/riscv64.zig
@@ -1,45 +1,34 @@
const builtin = @import("builtin");
const std = @import("../../std.zig");
-const iovec = std.posix.iovec;
-const iovec_const = std.posix.iovec_const;
-const linux = std.os.linux;
-const SYS = linux.SYS;
-const uid_t = std.os.linux.uid_t;
-const gid_t = std.os.linux.gid_t;
-const pid_t = std.os.linux.pid_t;
-const stack_t = linux.stack_t;
-const sigset_t = linux.sigset_t;
-const sockaddr = linux.sockaddr;
-const socklen_t = linux.socklen_t;
-const timespec = std.os.linux.timespec;
+const SYS = std.os.linux.SYS;
-pub fn syscall0(number: SYS) usize {
+pub fn syscall0(number: SYS) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
: .{ .memory = true });
}
-pub fn syscall1(number: SYS, arg1: usize) usize {
+pub fn syscall1(number: SYS, arg1: u64) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
[arg1] "{x10}" (arg1),
: .{ .memory = true });
}
-pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
+pub fn syscall2(number: SYS, arg1: u64, arg2: u64) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
[arg1] "{x10}" (arg1),
[arg2] "{x11}" (arg2),
: .{ .memory = true });
}
-pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
+pub fn syscall3(number: SYS, arg1: u64, arg2: u64, arg3: u64) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
[arg1] "{x10}" (arg1),
[arg2] "{x11}" (arg2),
@@ -47,9 +36,9 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
: .{ .memory = true });
}
-pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
+pub fn syscall4(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
[arg1] "{x10}" (arg1),
[arg2] "{x11}" (arg2),
@@ -58,9 +47,9 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
: .{ .memory = true });
}
-pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
+pub fn syscall5(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64, arg5: u64) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
[arg1] "{x10}" (arg1),
[arg2] "{x11}" (arg2),
@@ -72,15 +61,15 @@ 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: u64,
+ arg2: u64,
+ arg3: u64,
+ arg4: u64,
+ arg5: u64,
+ arg6: u64,
+) u64 {
return asm volatile ("ecall"
- : [ret] "={x10}" (-> usize),
+ : [ret] "={x10}" (-> u64),
: [number] "{x17}" (@intFromEnum(number)),
[arg1] "{x10}" (arg1),
[arg2] "{x11}" (arg2),
@@ -91,7 +80,7 @@ pub fn syscall6(
: .{ .memory = true });
}
-pub fn clone() callconv(.naked) usize {
+pub fn clone() callconv(.naked) u64 {
// __clone(func, stack, flags, arg, ptid, tls, ctid)
// a0, a1, a2, a3, a4, a5, a6
//
@@ -135,30 +124,6 @@ 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 GETLK = 5;
- pub const SETLK = 6;
- pub const SETLKW = 7;
- pub const SETOWN = 8;
- pub const GETOWN = 9;
- pub const SETSIG = 10;
- pub const GETSIG = 11;
-
- 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 blksize_t = i32;
pub const nlink_t = u32;
pub const time_t = i64;
@@ -168,54 +133,38 @@ pub const ino_t = u64;
pub const dev_t = u64;
pub const blkcnt_t = i64;
-pub const timeval = extern struct {
- sec: time_t,
- usec: i64,
-};
-
-pub const Flock = extern struct {
- type: i16,
- whence: i16,
- start: off_t,
- len: off_t,
- pid: pid_t,
- __unused: [4]u8,
-};
-
// The `stat` definition used by the Linux kernel.
pub const Stat = extern struct {
dev: dev_t,
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,
- __pad: usize,
+ __pad: u64,
size: off_t,
blksize: blksize_t,
__pad2: i32,
blocks: blkcnt_t,
- atim: timespec,
- mtim: timespec,
- ctim: timespec,
+ atim: std.os.linux.timespec,
+ mtim: std.os.linux.timespec,
+ ctim: std.os.linux.timespec,
__unused: [2]u32,
- pub fn atime(self: @This()) timespec {
+ pub fn atime(self: @This()) std.os.linux.timespec {
return self.atim;
}
- pub fn mtime(self: @This()) timespec {
+ pub fn mtime(self: @This()) std.os.linux.timespec {
return self.mtim;
}
- pub fn ctime(self: @This()) timespec {
+ pub fn ctime(self: @This()) std.os.linux.timespec {
return self.ctim;
}
};
-pub const Elf_Symndx = u32;
-
pub const VDSO = struct {
pub const CGT_SYM = "__vdso_clock_gettime";
pub const CGT_VER = "LINUX_4.15";