aboutsummaryrefslogtreecommitdiff
path: root/src/sbi/base.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbi/base.zig')
-rw-r--r--src/sbi/base.zig94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/sbi/base.zig b/src/sbi/base.zig
deleted file mode 100644
index 053d4dc..0000000
--- a/src/sbi/base.zig
+++ /dev/null
@@ -1,94 +0,0 @@
-// SPDX-FileCopyrightText: 2024 Himbeer <himbeer@disroot.org>
-//
-// SPDX-License-Identifier: AGPL-3.0-or-later
-
-const instructions = @import("../instructions.zig");
-const sbierr = @import("error.zig");
-
-const ExtId: usize = 0x10;
-
-const FnId = enum(usize) {
- GetSpecVer = 0,
- GetImpId = 1,
- GetImpVer = 2,
- ProbeExt = 3,
- GetMVendorId = 4,
- GetMArchId = 5,
- GetMImpId = 6,
-};
-
-pub const ImpId = enum(isize) {
- Bbl = 0,
- OpenSbi = 1,
- Xvisor = 2,
- Kvm = 3,
- RustSbi = 4,
- Diosix = 5,
- Coffer = 6,
- Xen = 7,
- PolarFire = 8,
- _,
-};
-
-pub fn specVer() !isize {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.GetSpecVer), 0, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return ret.val;
-}
-
-pub fn impId() !ImpId {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.GetImpId), 0, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return @enumFromInt(ret.val);
-}
-
-pub fn impVer() !isize {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.GetImpVer), 0, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return ret.val;
-}
-
-pub fn probeExt(ext_id: usize) !bool {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.ProbeExt), ext_id, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return ret.val != 0;
-}
-
-pub fn mVendorId() !isize {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.GetMVendorId), 0, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return ret.val;
-}
-
-pub fn mArchId() !isize {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.GetMarchId), 0, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return ret.val;
-}
-
-pub fn mImpId() !isize {
- const ret = instructions.ecall(ExtId, @intFromEnum(FnId.GetMImpId), 0, 0, 0);
- if (ret.err != 0) {
- return sbierr.errorFromCode(ret.err);
- }
-
- return ret.val;
-}