on risc-v, initialize core_stacktops; fix halt
[akaros.git] / kern / arch / riscv / ros / syscall.h
1 #ifndef _ROS_ARCH_SYSCALL_H
2 #define _ROS_ARCH_SYSCALL_H
3
4 #ifndef ROS_KERNEL
5
6 static inline long __attribute__((always_inline))
7 __ros_arch_syscall(long _a0, long _a1)
8 {
9         register long a0 asm("a0") = _a0;
10         register long a1 asm("a1") = _a1;
11
12         asm volatile("syscall" : "=r"(a0) : "0"(a0),"r"(a1) : "memory");
13
14         return a0;
15 }
16
17 #endif /* ifndef ROS_KERNEL */
18
19 #endif