Rev 2131 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2131 | Rev 2281 | ||
---|---|---|---|
Line 36... | Line 36... | ||
36 | #include <libc.h> |
36 | #include <libc.h> |
37 | 37 | ||
38 | sysarg_t __syscall(const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, |
38 | sysarg_t __syscall(const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, |
39 | const sysarg_t p4, const syscall_t id) |
39 | const sysarg_t p4, const syscall_t id) |
40 | { |
40 | { |
- | 41 | register sysarg_t __arm_reg_r0 asm("r0") = p1; |
|
- | 42 | register sysarg_t __arm_reg_r1 asm("r1") = p2; |
|
- | 43 | register sysarg_t __arm_reg_r2 asm("r2") = p3; |
|
- | 44 | register sysarg_t __arm_reg_r3 asm("r3") = p4; |
|
- | 45 | register sysarg_t __arm_reg_r4 asm("r4") = id; |
|
- | 46 | ||
41 | /* TODO */ |
47 | asm volatile ( "swi" |
- | 48 | : "=r" (__arm_reg_r0) |
|
- | 49 | : "r" (__arm_reg_r0), |
|
- | 50 | "r" (__arm_reg_r1), |
|
- | 51 | "r" (__arm_reg_r2), |
|
- | 52 | "r" (__arm_reg_r3), |
|
- | 53 | "r" (__arm_reg_r4) |
|
- | 54 | // TODO:Alf WHY???? ... copy from mips |
|
- | 55 | // : "lr" /* We are a function call, although C does not know it */ |
|
42 | return 0; |
56 | ); |
43 | } |
57 | |
- | 58 | return __arm_reg_r0; } |
|
44 | 59 | ||
45 | /** @} |
60 | /** @} |
46 | */ |
61 | */ |