Subversion Repositories HelenOS

Rev

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
 */