lib: Add replacement extension and function ids

Take this opportunity to move the enums to macros as enums make
sbi_ecall_interface.h unusable in assembly files.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
Atish Patra
2019-11-24 23:33:44 -08:00
committed by Anup Patel
parent 7219477f7b
commit b8732feaf7

View File

@@ -12,28 +12,44 @@
/* clang-format off */ /* clang-format off */
enum sbi_ext_id { /* SBI Extension IDs */
SBI_EXT_0_1_SET_TIMER = 0x0, #define SBI_EXT_0_1_SET_TIMER 0x0
SBI_EXT_0_1_CONSOLE_PUTCHAR = 0x1, #define SBI_EXT_0_1_CONSOLE_PUTCHAR 0x1
SBI_EXT_0_1_CONSOLE_GETCHAR = 0x2, #define SBI_EXT_0_1_CONSOLE_GETCHAR 0x2
SBI_EXT_0_1_CLEAR_IPI = 0x3, #define SBI_EXT_0_1_CLEAR_IPI 0x3
SBI_EXT_0_1_SEND_IPI = 0x4, #define SBI_EXT_0_1_SEND_IPI 0x4
SBI_EXT_0_1_REMOTE_FENCE_I = 0x5, #define SBI_EXT_0_1_REMOTE_FENCE_I 0x5
SBI_EXT_0_1_REMOTE_SFENCE_VMA = 0x6, #define SBI_EXT_0_1_REMOTE_SFENCE_VMA 0x6
SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID = 0x7, #define SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID 0x7
SBI_EXT_0_1_SHUTDOWN = 0x8, #define SBI_EXT_0_1_SHUTDOWN 0x8
SBI_EXT_BASE = 0x10, #define SBI_EXT_BASE 0x10
}; #define SBI_EXT_TIME 0x54494D45
#define SBI_EXT_IPI 0x735049
#define SBI_EXT_RFENCE 0x52464E43
enum sbi_ext_base_fid { /* SBI function IDs for BASE extension*/
SBI_EXT_BASE_GET_SPEC_VERSION = 0, #define SBI_EXT_BASE_GET_SPEC_VERSION 0x0
SBI_EXT_BASE_GET_IMP_ID, #define SBI_EXT_BASE_GET_IMP_ID 0x1
SBI_EXT_BASE_GET_IMP_VERSION, #define SBI_EXT_BASE_GET_IMP_VERSION 0x2
SBI_EXT_BASE_PROBE_EXT, #define SBI_EXT_BASE_PROBE_EXT 0x3
SBI_EXT_BASE_GET_MVENDORID, #define SBI_EXT_BASE_GET_MVENDORID 0x4
SBI_EXT_BASE_GET_MARCHID, #define SBI_EXT_BASE_GET_MARCHID 0x5
SBI_EXT_BASE_GET_MIMPID, #define SBI_EXT_BASE_GET_MIMPID 0x6
};
/* SBI function IDs for TIME extension*/
#define SBI_EXT_TIME_SET_TIMER 0x0
/* SBI function IDs for IPI extension*/
#define SBI_EXT_IPI_SEND_IPI 0x0
/* SBI function IDs for RFENCE extension*/
#define SBI_EXT_RFENCE_REMOTE_FENCE_I 0x0
#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA 0x1
#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID 0x2
#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA 0x3
#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID 0x4
#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA 0x5
#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID 0x6
#define SBI_SPEC_VERSION_MAJOR_OFFSET 24 #define SBI_SPEC_VERSION_MAJOR_OFFSET 24
#define SBI_SPEC_VERSION_MAJOR_MASK 0x7f #define SBI_SPEC_VERSION_MAJOR_MASK 0x7f