diff options
author | Himbeer <himbeer@disroot.org> | 2024-08-01 13:07:30 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-08-01 13:07:30 +0200 |
commit | c22a1c2214d5f3256684fa08262501cfd70be915 (patch) | |
tree | 28ed508137c86d15bb2c7e15a6ec2802d1cea1ed /src/lib/TrapFrame.zig | |
parent | 017c63d49f4c6fdd2f762dd7d14323fbbdb7775e (diff) |
Flatten 'lib' directory into main 'src' tree
Diffstat (limited to 'src/lib/TrapFrame.zig')
-rw-r--r-- | src/lib/TrapFrame.zig | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/lib/TrapFrame.zig b/src/lib/TrapFrame.zig deleted file mode 100644 index 71556ed..0000000 --- a/src/lib/TrapFrame.zig +++ /dev/null @@ -1,38 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Himbeer <himbeer@disroot.org> -// -// SPDX-License-Identifier: AGPL-3.0-or-later - -general_purpose_registers: [32]usize, // Offset: 0 -floating_point_registers: [32]usize, // Offset: 256 -satp: usize, // Offset: 512 -stack_pointer: *allowzero u8, // Offset: 520 -hart_id: usize, // Offset: 528 - -const Self = @This(); - -pub fn setReturnValue(self: *Self, value: anytype) void { - switch (@typeInfo(@TypeOf(value))) { - .ErrorUnion => self.returnErrorUnion(value), - .ErrorSet => self.returnError(value), - else => self.returnValue(value), - } -} - -fn returnErrorUnion(self: *Self, error_union: anytype) void { - if (error_union) |value| { - self.returnValue(value); - } else |err| { - self.returnError(err); - } -} - -fn returnError(self: *Self, err: anyerror) void { - self.general_purpose_registers[11] = @intFromError(err); -} - -fn returnValue(self: *Self, value: anytype) void { - self.general_purpose_registers[11] = 0; - if (@typeInfo(@TypeOf(value)) != .Void) { - self.general_purpose_registers[10] = @bitCast(value); - } -} |