forked from Mirrors/opensbi
		
	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:
		@@ -12,28 +12,44 @@
 | 
			
		||||
 | 
			
		||||
/* clang-format off */
 | 
			
		||||
 | 
			
		||||
enum sbi_ext_id {
 | 
			
		||||
	SBI_EXT_0_1_SET_TIMER = 0x0,
 | 
			
		||||
	SBI_EXT_0_1_CONSOLE_PUTCHAR = 0x1,
 | 
			
		||||
	SBI_EXT_0_1_CONSOLE_GETCHAR = 0x2,
 | 
			
		||||
	SBI_EXT_0_1_CLEAR_IPI = 0x3,
 | 
			
		||||
	SBI_EXT_0_1_SEND_IPI = 0x4,
 | 
			
		||||
	SBI_EXT_0_1_REMOTE_FENCE_I = 0x5,
 | 
			
		||||
	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,
 | 
			
		||||
};
 | 
			
		||||
/* SBI Extension IDs */
 | 
			
		||||
#define	SBI_EXT_0_1_SET_TIMER			0x0
 | 
			
		||||
#define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
 | 
			
		||||
#define SBI_EXT_0_1_CONSOLE_GETCHAR		0x2
 | 
			
		||||
#define SBI_EXT_0_1_CLEAR_IPI			0x3
 | 
			
		||||
#define SBI_EXT_0_1_SEND_IPI			0x4
 | 
			
		||||
#define SBI_EXT_0_1_REMOTE_FENCE_I		0x5
 | 
			
		||||
#define SBI_EXT_0_1_REMOTE_SFENCE_VMA		0x6
 | 
			
		||||
#define SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID	0x7
 | 
			
		||||
#define SBI_EXT_0_1_SHUTDOWN			0x8
 | 
			
		||||
#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_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,
 | 
			
		||||
};
 | 
			
		||||
/* SBI function IDs for BASE extension*/
 | 
			
		||||
#define SBI_EXT_BASE_GET_SPEC_VERSION		0x0
 | 
			
		||||
#define SBI_EXT_BASE_GET_IMP_ID			0x1
 | 
			
		||||
#define	SBI_EXT_BASE_GET_IMP_VERSION		0x2
 | 
			
		||||
#define	SBI_EXT_BASE_PROBE_EXT			0x3
 | 
			
		||||
#define	SBI_EXT_BASE_GET_MVENDORID		0x4
 | 
			
		||||
#define	SBI_EXT_BASE_GET_MARCHID		0x5
 | 
			
		||||
#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_MASK	0x7f
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user