summaryrefslogtreecommitdiff
path: root/lume-legacy/include/kernel/sbi.h
diff options
context:
space:
mode:
Diffstat (limited to 'lume-legacy/include/kernel/sbi.h')
-rw-r--r--lume-legacy/include/kernel/sbi.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/lume-legacy/include/kernel/sbi.h b/lume-legacy/include/kernel/sbi.h
new file mode 100644
index 0000000..a6be5b3
--- /dev/null
+++ b/lume-legacy/include/kernel/sbi.h
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 Richard QIn
+ */
+
+#pragma once
+#include "common/types.h"
+
+// SBI Extension IDs
+#define SBI_EID_SRST 0x53525354
+
+// SBI Function IDs for SRST
+#define SBI_FID_SRST_RESET 0
+
+// Reset Types
+#define SBI_SRST_TYPE_SHUTDOWN 0
+#define SBI_SRST_TYPE_COLD_REBOOT 1
+#define SBI_SRST_TYPE_WARM_REBOOT 2
+
+// Reset Reasons
+#define SBI_SRST_REASON_NONE 0
+#define SBI_SRST_REASON_SYSTEM_FAILURE 1
+
+namespace SBI
+{
+ void set_timer(uint64 stime_value);
+ void sbi_shutdown();
+ void sbi_reboot();
+} // namespace SBI