1 #ifndef _RV_HART_H_
2 #define _RV_HART_H_
3 
4 #include <stdint.h>
5 
6 void __attribute__((noreturn)) rv_hart_hang(void);
7 int rv_hart_misa_ext_chk(char ext);
8 
9 void rv_enterSupervisor(void) __attribute__((naked, noinline));
10 void rv_enterUser(void) __attribute__((naked, noinline));
11 
12 void __attribute__((noreturn))
13 rv_hart_switch_mode_from_M(uintptr_t arg0, uintptr_t arg1,
14                            uintptr_t next_addr, uintptr_t next_mode);
15 
16 #endif
17