30,11 → 30,25 |
* @{ |
*/ |
/** @file |
* @ingroup libcarm32 |
* @brief Syscall routine. |
*/ |
|
#include <libc.h> |
|
|
/** Syscall routine. |
* |
* Stores p1-p4, id to r0-r4 registers and calls <code>swi</code> |
* instruction. Returned value is read from r0 register. |
* |
* @param p1 Parameter 1. |
* @param p2 Parameter 2. |
* @param p3 Parameter 3. |
* @param p4 Parameter 4. |
* @param id Number of syscall. |
* |
* @return Syscall return value. |
*/ |
sysarg_t __syscall(const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, |
const sysarg_t p4, const syscall_t id) |
{ |
53,7 → 67,8 |
"r" (__arm_reg_r4) |
); |
|
return __arm_reg_r0; } |
return __arm_reg_r0; |
} |
|
/** @} |
*/ |