31 lines
923 B
C
31 lines
923 B
C
#ifndef SBI_H
|
|
#define SBI_H
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#define EID_DEBUG_CONSOLE 0x4442434E
|
|
#define EID_TIMER 0x54494D45
|
|
|
|
#define FID_CONSOLE_WRITE 0
|
|
#define FID_SET_TIMER 0
|
|
|
|
typedef struct {
|
|
long error;
|
|
long value;
|
|
} sbiret;
|
|
|
|
sbiret sbi_ecall6(
|
|
int fid, int eid, size_t arg0, size_t arg1, size_t arg2, size_t arg3, size_t arg4, size_t arg5);
|
|
|
|
#define sbi_ecall5(fid, eid, a0, a1, a2, a3, a4) sbi_ecall6(fid, eid, a0, a1, a2, a3, a4, 0)
|
|
#define sbi_ecall4(fid, eid, a0, a1, a2, a3) sbi_ecall5(fid, eid, a0, a1, a2, a3, 0)
|
|
#define sbi_ecall3(fid, eid, a0, a1, a2) sbi_ecall4(fid, eid, a0, a1, a2, 0)
|
|
#define sbi_ecall2(fid, eid, a0, a1) sbi_ecall3(fid, eid, a0, a1, 0)
|
|
#define sbi_ecall1(fid, eid, a0) sbi_ecall2(fid, eid, a0, 0)
|
|
#define sbi_ecall0(fid, eid) sbi_ecall1(fid, eid, 0)
|
|
|
|
sbiret sbi_debug_console_write(const char* str, size_t len);
|
|
sbiret sbi_set_timer(uint64_t stime_value);
|
|
|
|
#endif
|