summaryrefslogtreecommitdiff
path: root/arch/avr32/kernel/syscall-stubs.S
blob: cb3991552f14b56fdd79351b6bfb539d84548d62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
 * Copyright (C) 2005-2006 Atmel Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/*
 * Stubs for syscalls that require access to pt_regs or that take more
 * than five parameters.
 */

#define ARG6	r3

	.text
	.global __sys_rt_sigsuspend
	.type	__sys_rt_sigsuspend,@function
__sys_rt_sigsuspend:
	mov	r10, sp
	rjmp	sys_rt_sigsuspend

	.global	__sys_rt_sigreturn
	.type	__sys_rt_sigreturn,@function
__sys_rt_sigreturn:
	mov	r12, sp
	rjmp	sys_rt_sigreturn

	.global	__sys_mmap2
	.type	__sys_mmap2,@function
__sys_mmap2:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_mmap_pgoff
	sub	sp, -4
	popm	pc

	.global	__sys_sendto
	.type	__sys_sendto,@function
__sys_sendto:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_sendto
	sub	sp, -4
	popm	pc

	.global	__sys_recvfrom
	.type	__sys_recvfrom,@function
__sys_recvfrom:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_recvfrom
	sub	sp, -4
	popm	pc

	.global	__sys_pselect6
	.type	__sys_pselect6,@function
__sys_pselect6:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_pselect6
	sub	sp, -4
	popm	pc

	.global	__sys_splice
	.type	__sys_splice,@function
__sys_splice:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_splice
	sub	sp, -4
	popm	pc

	.global	__sys_epoll_pwait
	.type	__sys_epoll_pwait,@function
__sys_epoll_pwait:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_epoll_pwait
	sub	sp, -4
	popm	pc

	.global __sys_sync_file_range
	.type	__sys_sync_file_range,@function
__sys_sync_file_range:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_sync_file_range
	sub	sp, -4
	popm	pc

	.global __sys_fallocate
	.type	__sys_fallocate,@function
__sys_fallocate:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_fallocate
	sub	sp, -4
	popm	pc

	.global __sys_fanotify_mark
	.type	__sys_fanotify_mark,@function
__sys_fanotify_mark:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_fanotify_mark
	sub	sp, -4
	popm	pc

	.global __sys_process_vm_readv
	.type	__sys_process_vm_readv,@function
__sys_process_vm_readv:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_process_vm_readv
	sub	sp, -4
	popm	pc

	.global __sys_process_vm_writev
	.type	__sys_process_vm_writev,@function
__sys_process_vm_writev:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_process_vm_writev
	sub	sp, -4
	popm	pc

	.global __sys_copy_file_range
	.type	__sys_copy_file_range,@function
__sys_copy_file_range:
	pushm	lr
	st.w	--sp, ARG6
	call	sys_copy_file_range
	sub	sp, -4
	popm	pc