summaryrefslogtreecommitdiff
path: root/include/kernel/sbi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/kernel/sbi.h')
-rw-r--r--include/kernel/sbi.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/kernel/sbi.h b/include/kernel/sbi.h
new file mode 100644
index 0000000..ec262ee
--- /dev/null
+++ b/include/kernel/sbi.h
@@ -0,0 +1,24 @@
+#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