Fukurō
A highly portable microkernel
Loading...
Searching...
No Matches
sbi.h File Reference

Go to the source code of this file.

Data Structures

struct  SbiRet
 

Macros

#define SBI_SUCCESS   0
 
#define SBI_ERR_FAILED   -1
 
#define SBI_ERR_NOT_SUPPORTED   -2
 
#define SBI_ERR_INVALID_PARAM   -3
 
#define SBI_ERR_DENIED   -4
 
#define SBI_ERR_INVALID_ADDRESS   -5
 
#define SBI_ERR_ALREADY_AVAILABLE   -6
 
#define SBI_ERR_ALREADY_STARTED   -7
 
#define SBI_ERR_ALREADY_STOPPED   -8
 
#define SBI_ERR_NO_SHMEM   -9
 
#define SBI_EID_BASE_EXT   0x10
 
#define SBI_FID_GET_SPEC_VERSION   0x0
 
#define SBI_FID_GET_IMPLEM_ID   0x1
 
#define SBI_FID_GET_IMPLEM_VERSION   0x2
 
#define SBI_FID_PROBE_EXTENSION   0x3
 
#define SBI_FID_GET_MACHINE_VENDOR   0x4
 
#define SBI_FID_GET_MACHINE_ARCH   0x5
 
#define SBI_FID_GET_MACHINE_IMPLEM   0x6
 
#define SBI_EID_LEGACY_SET_TIMER   0x00
 
#define SBI_EID_LEGACY_PUTCHAR   0x01
 
#define SBI_EID_LEGACY_GETCHAR   0x02
 
#define SBI_EID_LEGACY_CLEAR_IPI   0x03
 
#define SBI_EID_LEGACY_SHUTDOWN   0x08
 
#define SBI_EID_TIMER_EXT   0x54494D45
 
#define SBI_FID_SET_TIMER   0x0
 
#define SBI_EID_DEBUG_CONSOLE_EXT   0x4442434E
 
#define SBI_FID_CONSOLE_WRITE   0x0
 
#define SBI_FID_CONSOLE_READ   0x1
 
#define SBI_FID_CONSOLE_WRITE_BYTE   0x2
 
#define SBI_EID_SYSTEM_SUSPEND_EXT   0x53555350
 
#define SBI_FID_SYSTEM_SUSPEND   0x0
 

Enumerations

enum  {
  SBI_IMPLEM_BBL = 0 , SBI_IMPLEM_OPENSBI , SBI_IMPLEM_XVISOR , SBI_IMPLEM_KVM ,
  SBI_IMPLEM_RUSTSBI , SBI_IMPLEM_DIOSIX , SBI_IMPLEM_COFFER , SBI_IMPLEM_XEN ,
  SBI_IMPLEM_POLAFIRE
}
 

Functions

SbiRet sbi_call (long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long fid, long eid)
 

Macro Definition Documentation

◆ SBI_EID_BASE_EXT

#define SBI_EID_BASE_EXT   0x10

◆ SBI_EID_DEBUG_CONSOLE_EXT

#define SBI_EID_DEBUG_CONSOLE_EXT   0x4442434E

◆ SBI_EID_LEGACY_CLEAR_IPI

#define SBI_EID_LEGACY_CLEAR_IPI   0x03

◆ SBI_EID_LEGACY_GETCHAR

#define SBI_EID_LEGACY_GETCHAR   0x02

◆ SBI_EID_LEGACY_PUTCHAR

#define SBI_EID_LEGACY_PUTCHAR   0x01

◆ SBI_EID_LEGACY_SET_TIMER

#define SBI_EID_LEGACY_SET_TIMER   0x00

◆ SBI_EID_LEGACY_SHUTDOWN

#define SBI_EID_LEGACY_SHUTDOWN   0x08

◆ SBI_EID_SYSTEM_SUSPEND_EXT

#define SBI_EID_SYSTEM_SUSPEND_EXT   0x53555350

◆ SBI_EID_TIMER_EXT

#define SBI_EID_TIMER_EXT   0x54494D45

◆ SBI_ERR_ALREADY_AVAILABLE

#define SBI_ERR_ALREADY_AVAILABLE   -6

◆ SBI_ERR_ALREADY_STARTED

#define SBI_ERR_ALREADY_STARTED   -7

◆ SBI_ERR_ALREADY_STOPPED

#define SBI_ERR_ALREADY_STOPPED   -8

◆ SBI_ERR_DENIED

#define SBI_ERR_DENIED   -4

◆ SBI_ERR_FAILED

#define SBI_ERR_FAILED   -1

◆ SBI_ERR_INVALID_ADDRESS

#define SBI_ERR_INVALID_ADDRESS   -5

◆ SBI_ERR_INVALID_PARAM

#define SBI_ERR_INVALID_PARAM   -3

◆ SBI_ERR_NO_SHMEM

#define SBI_ERR_NO_SHMEM   -9

◆ SBI_ERR_NOT_SUPPORTED

#define SBI_ERR_NOT_SUPPORTED   -2

◆ SBI_FID_CONSOLE_READ

#define SBI_FID_CONSOLE_READ   0x1

◆ SBI_FID_CONSOLE_WRITE

#define SBI_FID_CONSOLE_WRITE   0x0

◆ SBI_FID_CONSOLE_WRITE_BYTE

#define SBI_FID_CONSOLE_WRITE_BYTE   0x2

◆ SBI_FID_GET_IMPLEM_ID

#define SBI_FID_GET_IMPLEM_ID   0x1

◆ SBI_FID_GET_IMPLEM_VERSION

#define SBI_FID_GET_IMPLEM_VERSION   0x2

◆ SBI_FID_GET_MACHINE_ARCH

#define SBI_FID_GET_MACHINE_ARCH   0x5

◆ SBI_FID_GET_MACHINE_IMPLEM

#define SBI_FID_GET_MACHINE_IMPLEM   0x6

◆ SBI_FID_GET_MACHINE_VENDOR

#define SBI_FID_GET_MACHINE_VENDOR   0x4

◆ SBI_FID_GET_SPEC_VERSION

#define SBI_FID_GET_SPEC_VERSION   0x0

◆ SBI_FID_PROBE_EXTENSION

#define SBI_FID_PROBE_EXTENSION   0x3

◆ SBI_FID_SET_TIMER

#define SBI_FID_SET_TIMER   0x0

◆ SBI_FID_SYSTEM_SUSPEND

#define SBI_FID_SYSTEM_SUSPEND   0x0

◆ SBI_SUCCESS

#define SBI_SUCCESS   0

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SBI_IMPLEM_BBL 
SBI_IMPLEM_OPENSBI 
SBI_IMPLEM_XVISOR 
SBI_IMPLEM_KVM 
SBI_IMPLEM_RUSTSBI 
SBI_IMPLEM_DIOSIX 
SBI_IMPLEM_COFFER 
SBI_IMPLEM_XEN 
SBI_IMPLEM_POLAFIRE 

Function Documentation

◆ sbi_call()

SbiRet sbi_call ( long  arg0,
long  arg1,
long  arg2,
long  arg3,
long  arg4,
long  arg5,
long  fid,
long  eid 
)
inline