summaryrefslogtreecommitdiff
path: root/include/sbi/sbi_ecall_interface.h
diff options
context:
space:
mode:
authorAtish Patra <atish.patra@wdc.com>2019-10-02 23:59:39 +0300
committerAnup Patel <anup@brainfault.org>2019-10-03 06:26:55 +0300
commit0790be0f2c932f66ab0717661f9adb919c1b01e8 (patch)
tree98537494e8a90afb0bffbbca2a4312d3b4df902f /include/sbi/sbi_ecall_interface.h
parent848ed4f644097d1c9ba44bef3307fa2538c84bd4 (diff)
downloadopensbi-0790be0f2c932f66ab0717661f9adb919c1b01e8.tar.xz
lib: Implement SBI v0.2
SBI v0.2 introduces a base specification which is mandatory to implement for any SBI implementations that is not legacy. Add support for the base extension. Signed-off-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Anup Patel <anup.patel@wdc.com>
Diffstat (limited to 'include/sbi/sbi_ecall_interface.h')
-rw-r--r--include/sbi/sbi_ecall_interface.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/sbi/sbi_ecall_interface.h b/include/sbi/sbi_ecall_interface.h
index a7564d6..cfdf9e1 100644
--- a/include/sbi/sbi_ecall_interface.h
+++ b/include/sbi/sbi_ecall_interface.h
@@ -22,8 +22,22 @@ enum sbi_ext_id {
SBI_EXT_0_1_REMOTE_SFENCE_VMA = 0x6,
SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID = 0x7,
SBI_EXT_0_1_SHUTDOWN = 0x8,
+ SBI_EXT_BASE = 0x10,
};
+enum sbi_ext_base_fid {
+ SBI_EXT_BASE_GET_SPEC_VERSION = 0,
+ SBI_EXT_BASE_GET_IMP_ID,
+ SBI_EXT_BASE_GET_IMP_VERSION,
+ SBI_EXT_BASE_PROBE_EXT,
+ SBI_EXT_BASE_GET_MVENDORID,
+ SBI_EXT_BASE_GET_MARCHID,
+ SBI_EXT_BASE_GET_MIMPID,
+};
+
+#define SBI_SPEC_VERSION_MAJOR_OFFSET 24
+#define SBI_SPEC_VERSION_MAJOR_MASK 0x7f
+#define SBI_SPEC_VERSION_MINOR_MASK 0xffffff
/* clang-format on */
#endif