Fixes sparc syscall interface (XCC)
[akaros.git] / kern / arch / sparc / ros / syscall.h
1 #ifndef _ROS_ARCH_SYSCALL_H
2 #define _ROS_ARCH_SYSCALL_H
3
4 #ifndef ROS_KERNEL
5
6 #include <errno.h>
7
8 static inline long __attribute__((always_inline))
9 __ros_arch_syscall(long _a0, long _a1)
10 {
11         register long a0 asm("g1") = _a0;
12         register long a1 asm("o0") = _a1;
13
14         asm volatile("ta 8" : "=r"(a0) : "0"(a0),"r"(a1) : "memory");
15
16         return a0;
17 }
18
19 #endif /* ifndef ROS_KERNEL */
20
21 #endif