Merge branches 'sh/serial-rework' and 'sh/oprofile'
[pandora-kernel.git] / arch / avr32 / kernel / syscall-stubs.S
1 /*
2  * Copyright (C) 2005-2006 Atmel Corporation
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 /*
10  * Stubs for syscalls that require access to pt_regs or that take more
11  * than five parameters.
12  */
13
14 #define ARG6    r3
15
16         .text
17         .global __sys_rt_sigsuspend
18         .type   __sys_rt_sigsuspend,@function
19 __sys_rt_sigsuspend:
20         mov     r10, sp
21         rjmp    sys_rt_sigsuspend
22
23         .global __sys_sigaltstack
24         .type   __sys_sigaltstack,@function
25 __sys_sigaltstack:
26         mov     r10, sp
27         rjmp    sys_sigaltstack
28
29         .global __sys_rt_sigreturn
30         .type   __sys_rt_sigreturn,@function
31 __sys_rt_sigreturn:
32         mov     r12, sp
33         rjmp    sys_rt_sigreturn
34
35         .global __sys_fork
36         .type   __sys_fork,@function
37 __sys_fork:
38         mov     r12, sp
39         rjmp    sys_fork
40
41         .global __sys_clone
42         .type   __sys_clone,@function
43 __sys_clone:
44         mov     r8, sp
45         rjmp    sys_clone
46
47         .global __sys_vfork
48         .type   __sys_vfork,@function
49 __sys_vfork:
50         mov     r12, sp
51         rjmp    sys_vfork
52
53         .global __sys_execve
54         .type   __sys_execve,@function
55 __sys_execve:
56         mov     r9, sp
57         rjmp    sys_execve
58
59         .global __sys_mmap2
60         .type   __sys_mmap2,@function
61 __sys_mmap2:
62         pushm   lr
63         st.w    --sp, ARG6
64         rcall   sys_mmap2
65         sub     sp, -4
66         popm    pc
67
68         .global __sys_sendto
69         .type   __sys_sendto,@function
70 __sys_sendto:
71         pushm   lr
72         st.w    --sp, ARG6
73         rcall   sys_sendto
74         sub     sp, -4
75         popm    pc
76
77         .global __sys_recvfrom
78         .type   __sys_recvfrom,@function
79 __sys_recvfrom:
80         pushm   lr
81         st.w    --sp, ARG6
82         rcall   sys_recvfrom
83         sub     sp, -4
84         popm    pc
85
86         .global __sys_pselect6
87         .type   __sys_pselect6,@function
88 __sys_pselect6:
89         pushm   lr
90         st.w    --sp, ARG6
91         rcall   sys_pselect6
92         sub     sp, -4
93         popm    pc
94
95         .global __sys_splice
96         .type   __sys_splice,@function
97 __sys_splice:
98         pushm   lr
99         st.w    --sp, ARG6
100         rcall   sys_splice
101         sub     sp, -4
102         popm    pc
103
104         .global __sys_epoll_pwait
105         .type   __sys_epoll_pwait,@function
106 __sys_epoll_pwait:
107         pushm   lr
108         st.w    --sp, ARG6
109         rcall   sys_epoll_pwait
110         sub     sp, -4
111         popm    pc
112
113         .global __sys_sync_file_range
114         .type   __sys_sync_file_range,@function
115 __sys_sync_file_range:
116         pushm   lr
117         st.w    --sp, ARG6
118         rcall   sys_sync_file_range
119         sub     sp, -4
120         popm    pc