libutil: add O_NOCTTY back to old pty open code
[minix.git] / lib / libc / arch / arm / sys-minix / _ipc.S
blob352f33ce8099b5f8740e2fde6836c284a7996da4
1 #include <minix/ipcconst.h>
2 #include <machine/asm.h>
4 /**========================================================================* */
5 /*                           IPC assembly routines                        * */
6 /**========================================================================* */
7 ENTRY(_send_orig)
8         push    {fp}
9         mov     fp, sp
10         mov     r2, r1       /* r2 = msg ptr */
11         mov     r1, r0       /* r1 = src_dest */
12         mov     r0, #SEND    /* _send(dest, ptr) */
13         mov     r3, #IPCVEC  /* r3 determines the SVC type */
14         svc     #0           /* trap to kernel */
15         pop     {fp}
16         bx      lr
18 ENTRY(_receive_orig)
19         push    {fp}
20         mov     fp, sp
21         push    {r2}         /* save status ptr */
22         mov     r2, r1       /* r2 = msg ptr */
23         mov     r1, r0       /* r1 = src_dest */
24         mov     r0, #RECEIVE /* _receive(src, ptr) */
25         mov     r3, #IPCVEC  /* r3 determines the SVC type */
26         svc     #0           /* trap to kernel */
27         pop     {r2}         /* restore status ptr */
28         str     r1, [r2]
29         pop     {fp}
30         bx      lr
32 ENTRY(_sendrec_orig)
33         push    {fp}
34         mov     fp, sp
35         mov     r2, r1       /* r2 = msg ptr */
36         mov     r1, r0       /* r1 = src_dest */
37         mov     r0, #SENDREC /* _sendrec(srcdest, ptr) */
38         mov     r3, #IPCVEC  /* r3 determines the SVC type */
39         svc     #0           /* trap to kernel */
40         pop     {fp}
41         bx      lr
43 ENTRY(_minix_kernel_info_struct)
44         push    {fp}
45         mov     fp, sp
46         push    {r0}
47         mov     r1, #0
48         mov     r2, #0
49         mov     r0, #MINIX_KERNINFO /* kerninfo() */
50         mov     r3, #IPCVEC  /* r3 determines the SVC type */
51         svc     #0           /* trap to kernel */
52         pop     {r0}         /* r0 = return struct ptr */
53         ldr     r0, [r0]
54         mov     r0, r1
55         pop     {fp}
56         bx      lr
58 ENTRY(_notify_orig)
59         push    {fp}
60         mov     fp, sp
61         mov     r1, r0       /* r1 = src_dest */
62         mov     r0, #NOTIFY  /* _notify(srcdst) */
63         mov     r3, #IPCVEC  /* r3 determines the SVC type */
64         svc     #0           /* trap to kernel */
65         pop     {fp}
66         bx      lr
68 ENTRY(_sendnb_orig)
69         push    {fp}
70         mov     fp, sp
71         mov     r2, r1       /* r2 = msg ptr */
72         mov     r1, r0       /* r1 = src_dest */
73         mov     r0, #SENDNB  /* _sendnb(dest, ptr) */
74         mov     r3, #IPCVEC  /* r3 determines the SVC type */
75         svc     #0           /* trap to kernel */
76         pop     {fp}
77         bx      lr
80 ENTRY(_do_kernel_call_orig)
81         /* r0 already holds msg ptr */
82         mov     r3, #KERVEC /* r3 determines the SVC type */
83         svc     #0          /* trap to kernel */
84         bx      lr