summaryrefslogtreecommitdiff
path: root/include/kernel/sbi.h
blob: ec262ee16777fd9c9958fb5b45841aac963d3efa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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