diff options
Diffstat (limited to 'system/libraries/os/cpu.zig')
| -rw-r--r-- | system/libraries/os/cpu.zig | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/system/libraries/os/cpu.zig b/system/libraries/os/cpu.zig new file mode 100644 index 0000000..1f3ea53 --- /dev/null +++ b/system/libraries/os/cpu.zig @@ -0,0 +1,19 @@ +//! CPU information + +const sys = @import("sys"); +const types = @import("types.zig"); + +const ERROR_RESULT: u64 = @bitCast(@as(i64, -1)); + +pub fn info(buffer: []u8) ?[]const u8 { + const result = sys.syscall(.cpuinfo, .{ + @intFromPtr(buffer.ptr), + buffer.len, + }); + + if (result == ERROR_RESULT or result == 0) { + return null; + } + + return buffer[0..@intCast(result)]; +} |
