2 // Acess2 ARMv7 - System Calls
5 #include "../../../../Kernel/include/syscalls.h"
43 @ ; RSI - Second Param
44 @ mov rcx, rdx ; RDX - Third
51 _errno: .long 0 @ Placed in .text, to allow use of relative addressing
53 .macro syscall0 _name, _num
61 .macro syscall5 _name, _num
72 .macro syscall6 _name, _num
84 #define SYSCALL0(_name,_num) syscall0 _name, _num
85 #define SYSCALL1(_name,_num) SYSCALL0(_name, _num)
86 #define SYSCALL2(_name,_num) SYSCALL0(_name, _num)
87 #define SYSCALL3(_name,_num) SYSCALL0(_name, _num)
88 #define SYSCALL4(_name,_num) SYSCALL0(_name, _num)
89 // TODO: 5/6 need special handling, because the args are on the stack
90 #define SYSCALL5(_name,_num) syscall5 _name, _num
91 #define SYSCALL6(_name,_num) syscall6 _name, _num
93 // Override the clone syscall
94 #define _exit _exit_raw
95 #define _clone _clone_raw
96 #include "syscalls.s.h"
108 @ If in child, set SP