blob: ee51ca9e23b56e1ba0380323f4cac8193d63c627 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08002* arch/s390/kernel/compat_wrapper.S
Linus Torvalds1da177e2005-04-16 15:20:36 -07003* wrapper for 31 bit compatible system calls.
4*
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08005* Copyright (C) IBM Corp. 2000,2006
Linus Torvalds1da177e2005-04-16 15:20:36 -07006* Author(s): Gerhard Tonn (ton@de.ibm.com),
Heiko Carstens25d83cb2006-09-28 16:56:37 +02007* Thomas Spatzier (tspat@de.ibm.com)
8*/
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
Heiko Carstens25d83cb2006-09-28 16:56:37 +020010 .globl sys32_exit_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070011sys32_exit_wrapper:
12 lgfr %r2,%r2 # int
13 jg sys_exit # branch to sys_exit
Heiko Carstens25d83cb2006-09-28 16:56:37 +020014
15 .globl sys32_read_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070016sys32_read_wrapper:
17 llgfr %r2,%r2 # unsigned int
18 llgtr %r3,%r3 # char *
19 llgfr %r4,%r4 # size_t
20 jg sys32_read # branch to sys_read
21
Heiko Carstens25d83cb2006-09-28 16:56:37 +020022 .globl sys32_write_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070023sys32_write_wrapper:
24 llgfr %r2,%r2 # unsigned int
25 llgtr %r3,%r3 # const char *
26 llgfr %r4,%r4 # size_t
27 jg sys32_write # branch to system call
28
Heiko Carstens25d83cb2006-09-28 16:56:37 +020029 .globl sys32_open_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070030sys32_open_wrapper:
31 llgtr %r2,%r2 # const char *
32 lgfr %r3,%r3 # int
33 lgfr %r4,%r4 # int
34 jg sys_open # branch to system call
35
Heiko Carstens25d83cb2006-09-28 16:56:37 +020036 .globl sys32_close_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070037sys32_close_wrapper:
38 llgfr %r2,%r2 # unsigned int
39 jg sys_close # branch to system call
40
Heiko Carstens25d83cb2006-09-28 16:56:37 +020041 .globl sys32_creat_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070042sys32_creat_wrapper:
43 llgtr %r2,%r2 # const char *
44 lgfr %r3,%r3 # int
45 jg sys_creat # branch to system call
46
Heiko Carstens25d83cb2006-09-28 16:56:37 +020047 .globl sys32_link_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070048sys32_link_wrapper:
49 llgtr %r2,%r2 # const char *
50 llgtr %r3,%r3 # const char *
51 jg sys_link # branch to system call
52
Heiko Carstens25d83cb2006-09-28 16:56:37 +020053 .globl sys32_unlink_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070054sys32_unlink_wrapper:
55 llgtr %r2,%r2 # const char *
56 jg sys_unlink # branch to system call
57
Heiko Carstens25d83cb2006-09-28 16:56:37 +020058 .globl sys32_chdir_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070059sys32_chdir_wrapper:
60 llgtr %r2,%r2 # const char *
61 jg sys_chdir # branch to system call
62
Heiko Carstens25d83cb2006-09-28 16:56:37 +020063 .globl sys32_time_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070064sys32_time_wrapper:
65 llgtr %r2,%r2 # int *
66 jg compat_sys_time # branch to system call
67
Heiko Carstens25d83cb2006-09-28 16:56:37 +020068 .globl sys32_mknod_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070069sys32_mknod_wrapper:
70 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +020071 lgfr %r3,%r3 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 llgfr %r4,%r4 # dev
73 jg sys_mknod # branch to system call
74
Heiko Carstens25d83cb2006-09-28 16:56:37 +020075 .globl sys32_chmod_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070076sys32_chmod_wrapper:
77 llgtr %r2,%r2 # const char *
78 llgfr %r3,%r3 # mode_t
79 jg sys_chmod # branch to system call
80
Heiko Carstens25d83cb2006-09-28 16:56:37 +020081 .globl sys32_lchown16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070082sys32_lchown16_wrapper:
83 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +020084 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
85 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -070086 jg sys32_lchown16 # branch to system call
87
Heiko Carstens25d83cb2006-09-28 16:56:37 +020088 .globl sys32_lseek_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070089sys32_lseek_wrapper:
90 llgfr %r2,%r2 # unsigned int
91 lgfr %r3,%r3 # off_t
92 llgfr %r4,%r4 # unsigned int
93 jg sys_lseek # branch to system call
94
Heiko Carstens25d83cb2006-09-28 16:56:37 +020095#sys32_getpid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -070096
Heiko Carstens25d83cb2006-09-28 16:56:37 +020097 .globl sys32_mount_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -070098sys32_mount_wrapper:
99 llgtr %r2,%r2 # char *
100 llgtr %r3,%r3 # char *
101 llgtr %r4,%r4 # char *
102 llgfr %r5,%r5 # unsigned long
103 llgtr %r6,%r6 # void *
104 jg compat_sys_mount # branch to system call
105
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200106 .globl sys32_oldumount_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107sys32_oldumount_wrapper:
108 llgtr %r2,%r2 # char *
109 jg sys_oldumount # branch to system call
110
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200111 .globl sys32_setuid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112sys32_setuid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200113 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114 jg sys32_setuid16 # branch to system call
115
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200116#sys32_getuid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200118 .globl sys32_ptrace_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119sys32_ptrace_wrapper:
120 lgfr %r2,%r2 # long
121 lgfr %r3,%r3 # long
122 llgtr %r4,%r4 # long
123 llgfr %r5,%r5 # long
Roland McGrathb499d762008-05-07 09:22:57 +0200124 jg compat_sys_ptrace # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200126 .globl sys32_alarm_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127sys32_alarm_wrapper:
128 llgfr %r2,%r2 # unsigned int
129 jg sys_alarm # branch to system call
130
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200131 .globl compat_sys_utime_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132compat_sys_utime_wrapper:
133 llgtr %r2,%r2 # char *
134 llgtr %r3,%r3 # struct compat_utimbuf *
135 jg compat_sys_utime # branch to system call
136
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200137 .globl sys32_access_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138sys32_access_wrapper:
139 llgtr %r2,%r2 # const char *
140 lgfr %r3,%r3 # int
141 jg sys_access # branch to system call
142
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200143 .globl sys32_nice_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144sys32_nice_wrapper:
145 lgfr %r2,%r2 # int
146 jg sys_nice # branch to system call
147
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200148#sys32_sync_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200150 .globl sys32_kill_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151sys32_kill_wrapper:
152 lgfr %r2,%r2 # int
153 lgfr %r3,%r3 # int
154 jg sys_kill # branch to system call
155
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200156 .globl sys32_rename_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157sys32_rename_wrapper:
158 llgtr %r2,%r2 # const char *
159 llgtr %r3,%r3 # const char *
160 jg sys_rename # branch to system call
161
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200162 .globl sys32_mkdir_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163sys32_mkdir_wrapper:
164 llgtr %r2,%r2 # const char *
165 lgfr %r3,%r3 # int
166 jg sys_mkdir # branch to system call
167
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200168 .globl sys32_rmdir_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169sys32_rmdir_wrapper:
170 llgtr %r2,%r2 # const char *
171 jg sys_rmdir # branch to system call
172
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200173 .globl sys32_dup_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700174sys32_dup_wrapper:
175 llgfr %r2,%r2 # unsigned int
176 jg sys_dup # branch to system call
177
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200178 .globl sys32_pipe_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179sys32_pipe_wrapper:
180 llgtr %r2,%r2 # u32 *
181 jg sys_pipe # branch to system call
182
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200183 .globl compat_sys_times_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184compat_sys_times_wrapper:
185 llgtr %r2,%r2 # struct compat_tms *
186 jg compat_sys_times # branch to system call
187
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200188 .globl sys32_brk_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189sys32_brk_wrapper:
190 llgtr %r2,%r2 # unsigned long
191 jg sys_brk # branch to system call
192
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200193 .globl sys32_setgid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194sys32_setgid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200195 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 jg sys32_setgid16 # branch to system call
197
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200198#sys32_getgid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199
200 .globl sys32_signal_wrapper
201sys32_signal_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200202 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203 llgtr %r3,%r3 # __sighandler_t
204 jg sys_signal
205
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200206#sys32_geteuid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200208#sys32_getegid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200210 .globl sys32_acct_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211sys32_acct_wrapper:
212 llgtr %r2,%r2 # char *
213 jg sys_acct # branch to system call
214
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200215 .globl sys32_umount_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216sys32_umount_wrapper:
217 llgtr %r2,%r2 # char *
218 lgfr %r3,%r3 # int
219 jg sys_umount # branch to system call
220
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200221 .globl compat_sys_ioctl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222compat_sys_ioctl_wrapper:
223 llgfr %r2,%r2 # unsigned int
224 llgfr %r3,%r3 # unsigned int
225 llgfr %r4,%r4 # unsigned int
226 jg compat_sys_ioctl # branch to system call
227
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200228 .globl compat_sys_fcntl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700229compat_sys_fcntl_wrapper:
230 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200231 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 llgfr %r4,%r4 # unsigned long
233 jg compat_sys_fcntl # branch to system call
234
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200235 .globl sys32_setpgid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700236sys32_setpgid_wrapper:
237 lgfr %r2,%r2 # pid_t
238 lgfr %r3,%r3 # pid_t
239 jg sys_setpgid # branch to system call
240
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200241 .globl sys32_umask_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242sys32_umask_wrapper:
243 lgfr %r2,%r2 # int
244 jg sys_umask # branch to system call
245
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200246 .globl sys32_chroot_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700247sys32_chroot_wrapper:
248 llgtr %r2,%r2 # char *
249 jg sys_chroot # branch to system call
250
251 .globl sys32_ustat_wrapper
252sys32_ustat_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200253 llgfr %r2,%r2 # dev_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700254 llgtr %r3,%r3 # struct ustat *
255 jg sys_ustat
256
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200257 .globl sys32_dup2_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258sys32_dup2_wrapper:
259 llgfr %r2,%r2 # unsigned int
260 llgfr %r3,%r3 # unsigned int
261 jg sys_dup2 # branch to system call
262
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200263#sys32_getppid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200265#sys32_getpgrp_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700266
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200267#sys32_setsid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200269 .globl sys32_sigaction_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700270sys32_sigaction_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200271 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700272 llgtr %r3,%r3 # const struct old_sigaction *
273 llgtr %r4,%r4 # struct old_sigaction32 *
274 jg sys32_sigaction # branch to system call
275
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200276 .globl sys32_setreuid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277sys32_setreuid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200278 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
279 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280 jg sys32_setreuid16 # branch to system call
281
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200282 .globl sys32_setregid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700283sys32_setregid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200284 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
285 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700286 jg sys32_setregid16 # branch to system call
287
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -0800288 .globl sys_sigsuspend_wrapper
289sys_sigsuspend_wrapper:
290 lgfr %r2,%r2 # int
291 lgfr %r3,%r3 # int
292 llgfr %r4,%r4 # old_sigset_t
293 jg sys_sigsuspend
Linus Torvalds1da177e2005-04-16 15:20:36 -0700294
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200295 .globl compat_sys_sigpending_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700296compat_sys_sigpending_wrapper:
297 llgtr %r2,%r2 # compat_old_sigset_t *
298 jg compat_sys_sigpending # branch to system call
299
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200300 .globl sys32_sethostname_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700301sys32_sethostname_wrapper:
302 llgtr %r2,%r2 # char *
303 lgfr %r3,%r3 # int
304 jg sys_sethostname # branch to system call
305
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200306 .globl compat_sys_setrlimit_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700307compat_sys_setrlimit_wrapper:
308 llgfr %r2,%r2 # unsigned int
309 llgtr %r3,%r3 # struct rlimit_emu31 *
310 jg compat_sys_setrlimit # branch to system call
311
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200312 .globl compat_sys_old_getrlimit_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313compat_sys_old_getrlimit_wrapper:
314 llgfr %r2,%r2 # unsigned int
315 llgtr %r3,%r3 # struct rlimit_emu31 *
316 jg compat_sys_old_getrlimit # branch to system call
317
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200318 .globl compat_sys_getrlimit_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700319compat_sys_getrlimit_wrapper:
320 llgfr %r2,%r2 # unsigned int
321 llgtr %r3,%r3 # struct rlimit_emu31 *
322 jg compat_sys_getrlimit # branch to system call
323
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200324 .globl sys32_mmap2_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700325sys32_mmap2_wrapper:
326 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
327 jg sys32_mmap2 # branch to system call
328
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200329 .globl compat_sys_getrusage_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330compat_sys_getrusage_wrapper:
331 lgfr %r2,%r2 # int
332 llgtr %r3,%r3 # struct rusage_emu31 *
333 jg compat_sys_getrusage # branch to system call
334
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200335 .globl sys32_gettimeofday_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336sys32_gettimeofday_wrapper:
337 llgtr %r2,%r2 # struct timeval_emu31 *
338 llgtr %r3,%r3 # struct timezone *
339 jg sys32_gettimeofday # branch to system call
340
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200341 .globl sys32_settimeofday_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700342sys32_settimeofday_wrapper:
343 llgtr %r2,%r2 # struct timeval_emu31 *
344 llgtr %r3,%r3 # struct timezone *
345 jg sys32_settimeofday # branch to system call
346
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200347 .globl sys32_getgroups16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700348sys32_getgroups16_wrapper:
349 lgfr %r2,%r2 # int
350 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
351 jg sys32_getgroups16 # branch to system call
352
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200353 .globl sys32_setgroups16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354sys32_setgroups16_wrapper:
355 lgfr %r2,%r2 # int
356 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
357 jg sys32_setgroups16 # branch to system call
358
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200359 .globl sys32_symlink_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700360sys32_symlink_wrapper:
361 llgtr %r2,%r2 # const char *
362 llgtr %r3,%r3 # const char *
363 jg sys_symlink # branch to system call
364
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200365 .globl sys32_readlink_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700366sys32_readlink_wrapper:
367 llgtr %r2,%r2 # const char *
368 llgtr %r3,%r3 # char *
369 lgfr %r4,%r4 # int
370 jg sys_readlink # branch to system call
371
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200372 .globl sys32_uselib_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700373sys32_uselib_wrapper:
374 llgtr %r2,%r2 # const char *
375 jg sys_uselib # branch to system call
376
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200377 .globl sys32_swapon_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700378sys32_swapon_wrapper:
379 llgtr %r2,%r2 # const char *
380 lgfr %r3,%r3 # int
381 jg sys_swapon # branch to system call
382
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200383 .globl sys32_reboot_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700384sys32_reboot_wrapper:
385 lgfr %r2,%r2 # int
386 lgfr %r3,%r3 # int
387 llgfr %r4,%r4 # unsigned int
388 llgtr %r5,%r5 # void *
389 jg sys_reboot # branch to system call
390
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200391 .globl old32_readdir_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392old32_readdir_wrapper:
393 llgfr %r2,%r2 # unsigned int
394 llgtr %r3,%r3 # void *
395 llgfr %r4,%r4 # unsigned int
396 jg compat_sys_old_readdir # branch to system call
397
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200398 .globl old32_mmap_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700399old32_mmap_wrapper:
400 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
401 jg old32_mmap # branch to system call
402
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200403 .globl sys32_munmap_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700404sys32_munmap_wrapper:
405 llgfr %r2,%r2 # unsigned long
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200406 llgfr %r3,%r3 # size_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700407 jg sys_munmap # branch to system call
408
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200409 .globl sys32_truncate_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700410sys32_truncate_wrapper:
411 llgtr %r2,%r2 # const char *
412 llgfr %r3,%r3 # unsigned long
413 jg sys_truncate # branch to system call
414
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200415 .globl sys32_ftruncate_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700416sys32_ftruncate_wrapper:
417 llgfr %r2,%r2 # unsigned int
418 llgfr %r3,%r3 # unsigned long
419 jg sys_ftruncate # branch to system call
420
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200421 .globl sys32_fchmod_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700422sys32_fchmod_wrapper:
423 llgfr %r2,%r2 # unsigned int
424 llgfr %r3,%r3 # mode_t
425 jg sys_fchmod # branch to system call
426
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200427 .globl sys32_fchown16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700428sys32_fchown16_wrapper:
429 llgfr %r2,%r2 # unsigned int
430 llgfr %r3,%r3 # compat_uid_t
431 llgfr %r4,%r4 # compat_uid_t
432 jg sys32_fchown16 # branch to system call
433
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200434 .globl sys32_getpriority_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700435sys32_getpriority_wrapper:
436 lgfr %r2,%r2 # int
437 lgfr %r3,%r3 # int
438 jg sys_getpriority # branch to system call
439
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200440 .globl sys32_setpriority_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700441sys32_setpriority_wrapper:
442 lgfr %r2,%r2 # int
443 lgfr %r3,%r3 # int
444 lgfr %r4,%r4 # int
445 jg sys_setpriority # branch to system call
446
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200447 .globl compat_sys_statfs_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700448compat_sys_statfs_wrapper:
449 llgtr %r2,%r2 # char *
450 llgtr %r3,%r3 # struct compat_statfs *
451 jg compat_sys_statfs # branch to system call
452
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200453 .globl compat_sys_fstatfs_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700454compat_sys_fstatfs_wrapper:
455 llgfr %r2,%r2 # unsigned int
456 llgtr %r3,%r3 # struct compat_statfs *
457 jg compat_sys_fstatfs # branch to system call
458
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200459 .globl compat_sys_socketcall_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700460compat_sys_socketcall_wrapper:
461 lgfr %r2,%r2 # int
462 llgtr %r3,%r3 # u32 *
463 jg compat_sys_socketcall # branch to system call
464
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200465 .globl sys32_syslog_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700466sys32_syslog_wrapper:
467 lgfr %r2,%r2 # int
468 llgtr %r3,%r3 # char *
469 lgfr %r4,%r4 # int
470 jg sys_syslog # branch to system call
471
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200472 .globl compat_sys_setitimer_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700473compat_sys_setitimer_wrapper:
474 lgfr %r2,%r2 # int
475 llgtr %r3,%r3 # struct itimerval_emu31 *
476 llgtr %r4,%r4 # struct itimerval_emu31 *
477 jg compat_sys_setitimer # branch to system call
478
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200479 .globl compat_sys_getitimer_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700480compat_sys_getitimer_wrapper:
481 lgfr %r2,%r2 # int
482 llgtr %r3,%r3 # struct itimerval_emu31 *
483 jg compat_sys_getitimer # branch to system call
484
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200485 .globl compat_sys_newstat_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700486compat_sys_newstat_wrapper:
487 llgtr %r2,%r2 # char *
488 llgtr %r3,%r3 # struct stat_emu31 *
489 jg compat_sys_newstat # branch to system call
490
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200491 .globl compat_sys_newlstat_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700492compat_sys_newlstat_wrapper:
493 llgtr %r2,%r2 # char *
494 llgtr %r3,%r3 # struct stat_emu31 *
495 jg compat_sys_newlstat # branch to system call
496
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200497 .globl compat_sys_newfstat_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700498compat_sys_newfstat_wrapper:
499 llgfr %r2,%r2 # unsigned int
500 llgtr %r3,%r3 # struct stat_emu31 *
501 jg compat_sys_newfstat # branch to system call
502
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200503#sys32_vhangup_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700504
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200505 .globl compat_sys_wait4_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700506compat_sys_wait4_wrapper:
507 lgfr %r2,%r2 # pid_t
508 llgtr %r3,%r3 # unsigned int *
509 lgfr %r4,%r4 # int
510 llgtr %r5,%r5 # struct rusage *
511 jg compat_sys_wait4 # branch to system call
512
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200513 .globl sys32_swapoff_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700514sys32_swapoff_wrapper:
515 llgtr %r2,%r2 # const char *
516 jg sys_swapoff # branch to system call
517
Kyle McMartind4d23ad2007-02-10 01:46:00 -0800518 .globl compat_sys_sysinfo_wrapper
519compat_sys_sysinfo_wrapper:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700520 llgtr %r2,%r2 # struct sysinfo_emu31 *
Kyle McMartind4d23ad2007-02-10 01:46:00 -0800521 jg compat_sys_sysinfo # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700522
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200523 .globl sys32_ipc_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700524sys32_ipc_wrapper:
525 llgfr %r2,%r2 # uint
526 lgfr %r3,%r3 # int
527 lgfr %r4,%r4 # int
528 lgfr %r5,%r5 # int
529 llgfr %r6,%r6 # u32
530 jg sys32_ipc # branch to system call
531
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200532 .globl sys32_fsync_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700533sys32_fsync_wrapper:
534 llgfr %r2,%r2 # unsigned int
535 jg sys_fsync # branch to system call
536
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200537#sys32_sigreturn_wrapper # done in sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700538
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200539#sys32_clone_wrapper # done in clone_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700540
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200541 .globl sys32_setdomainname_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542sys32_setdomainname_wrapper:
543 llgtr %r2,%r2 # char *
544 lgfr %r3,%r3 # int
545 jg sys_setdomainname # branch to system call
546
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200547 .globl sys32_newuname_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700548sys32_newuname_wrapper:
549 llgtr %r2,%r2 # struct new_utsname *
550 jg s390x_newuname # branch to system call
551
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200552 .globl compat_sys_adjtimex_wrapper
Stephen Rothwell3158e942006-03-26 01:37:29 -0800553compat_sys_adjtimex_wrapper:
554 llgtr %r2,%r2 # struct compat_timex *
555 jg compat_sys_adjtimex # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700556
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200557 .globl sys32_mprotect_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700558sys32_mprotect_wrapper:
559 llgtr %r2,%r2 # unsigned long (actually pointer
560 llgfr %r3,%r3 # size_t
561 llgfr %r4,%r4 # unsigned long
562 jg sys_mprotect # branch to system call
563
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200564 .globl compat_sys_sigprocmask_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700565compat_sys_sigprocmask_wrapper:
566 lgfr %r2,%r2 # int
567 llgtr %r3,%r3 # compat_old_sigset_t *
568 llgtr %r4,%r4 # compat_old_sigset_t *
569 jg compat_sys_sigprocmask # branch to system call
570
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200571 .globl sys32_init_module_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700572sys32_init_module_wrapper:
573 llgtr %r2,%r2 # void *
574 llgfr %r3,%r3 # unsigned long
575 llgtr %r4,%r4 # char *
576 jg sys32_init_module # branch to system call
577
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200578 .globl sys32_delete_module_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700579sys32_delete_module_wrapper:
580 llgtr %r2,%r2 # const char *
581 llgfr %r3,%r3 # unsigned int
582 jg sys32_delete_module # branch to system call
583
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200584 .globl sys32_quotactl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700585sys32_quotactl_wrapper:
586 llgfr %r2,%r2 # unsigned int
587 llgtr %r3,%r3 # const char *
588 llgfr %r4,%r4 # qid_t
589 llgtr %r5,%r5 # caddr_t
590 jg sys_quotactl # branch to system call
591
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200592 .globl sys32_getpgid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700593sys32_getpgid_wrapper:
594 lgfr %r2,%r2 # pid_t
595 jg sys_getpgid # branch to system call
596
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200597 .globl sys32_fchdir_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700598sys32_fchdir_wrapper:
599 llgfr %r2,%r2 # unsigned int
600 jg sys_fchdir # branch to system call
601
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200602 .globl sys32_bdflush_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700603sys32_bdflush_wrapper:
604 lgfr %r2,%r2 # int
605 lgfr %r3,%r3 # long
606 jg sys_bdflush # branch to system call
607
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200608 .globl sys32_sysfs_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700609sys32_sysfs_wrapper:
610 lgfr %r2,%r2 # int
611 llgfr %r3,%r3 # unsigned long
612 llgfr %r4,%r4 # unsigned long
613 jg sys_sysfs # branch to system call
614
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200615 .globl sys32_personality_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700616sys32_personality_wrapper:
617 llgfr %r2,%r2 # unsigned long
618 jg s390x_personality # branch to system call
619
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200620 .globl sys32_setfsuid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700621sys32_setfsuid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200622 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700623 jg sys32_setfsuid16 # branch to system call
624
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200625 .globl sys32_setfsgid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700626sys32_setfsgid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200627 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700628 jg sys32_setfsgid16 # branch to system call
629
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200630 .globl sys32_llseek_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700631sys32_llseek_wrapper:
632 llgfr %r2,%r2 # unsigned int
633 llgfr %r3,%r3 # unsigned long
634 llgfr %r4,%r4 # unsigned long
635 llgtr %r5,%r5 # loff_t *
636 llgfr %r6,%r6 # unsigned int
637 jg sys_llseek # branch to system call
638
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200639 .globl sys32_getdents_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700640sys32_getdents_wrapper:
641 llgfr %r2,%r2 # unsigned int
642 llgtr %r3,%r3 # void *
643 llgfr %r4,%r4 # unsigned int
644 jg compat_sys_getdents # branch to system call
645
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200646 .globl compat_sys_select_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700647compat_sys_select_wrapper:
648 lgfr %r2,%r2 # int
649 llgtr %r3,%r3 # compat_fd_set *
650 llgtr %r4,%r4 # compat_fd_set *
651 llgtr %r5,%r5 # compat_fd_set *
652 llgtr %r6,%r6 # struct compat_timeval *
653 jg compat_sys_select # branch to system call
654
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200655 .globl sys32_flock_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700656sys32_flock_wrapper:
657 llgfr %r2,%r2 # unsigned int
658 llgfr %r3,%r3 # unsigned int
659 jg sys_flock # branch to system call
660
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200661 .globl sys32_msync_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700662sys32_msync_wrapper:
663 llgfr %r2,%r2 # unsigned long
664 llgfr %r3,%r3 # size_t
665 lgfr %r4,%r4 # int
666 jg sys_msync # branch to system call
667
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200668 .globl compat_sys_readv_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700669compat_sys_readv_wrapper:
670 lgfr %r2,%r2 # int
671 llgtr %r3,%r3 # const struct compat_iovec *
672 llgfr %r4,%r4 # unsigned long
673 jg compat_sys_readv # branch to system call
674
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200675 .globl compat_sys_writev_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700676compat_sys_writev_wrapper:
677 lgfr %r2,%r2 # int
678 llgtr %r3,%r3 # const struct compat_iovec *
679 llgfr %r4,%r4 # unsigned long
680 jg compat_sys_writev # branch to system call
681
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200682 .globl sys32_getsid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700683sys32_getsid_wrapper:
684 lgfr %r2,%r2 # pid_t
685 jg sys_getsid # branch to system call
686
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200687 .globl sys32_fdatasync_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700688sys32_fdatasync_wrapper:
689 llgfr %r2,%r2 # unsigned int
690 jg sys_fdatasync # branch to system call
691
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200692#sys32_sysctl_wrapper # tbd
Linus Torvalds1da177e2005-04-16 15:20:36 -0700693
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200694 .globl sys32_mlock_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700695sys32_mlock_wrapper:
696 llgfr %r2,%r2 # unsigned long
697 llgfr %r3,%r3 # size_t
698 jg sys_mlock # branch to system call
699
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200700 .globl sys32_munlock_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700701sys32_munlock_wrapper:
702 llgfr %r2,%r2 # unsigned long
703 llgfr %r3,%r3 # size_t
704 jg sys_munlock # branch to system call
705
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200706 .globl sys32_mlockall_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700707sys32_mlockall_wrapper:
708 lgfr %r2,%r2 # int
709 jg sys_mlockall # branch to system call
710
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200711#sys32_munlockall_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700712
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200713 .globl sys32_sched_setparam_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700714sys32_sched_setparam_wrapper:
715 lgfr %r2,%r2 # pid_t
716 llgtr %r3,%r3 # struct sched_param *
717 jg sys_sched_setparam # branch to system call
718
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200719 .globl sys32_sched_getparam_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700720sys32_sched_getparam_wrapper:
721 lgfr %r2,%r2 # pid_t
722 llgtr %r3,%r3 # struct sched_param *
723 jg sys_sched_getparam # branch to system call
724
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200725 .globl sys32_sched_setscheduler_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700726sys32_sched_setscheduler_wrapper:
727 lgfr %r2,%r2 # pid_t
728 lgfr %r3,%r3 # int
729 llgtr %r4,%r4 # struct sched_param *
730 jg sys_sched_setscheduler # branch to system call
731
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200732 .globl sys32_sched_getscheduler_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700733sys32_sched_getscheduler_wrapper:
734 lgfr %r2,%r2 # pid_t
735 jg sys_sched_getscheduler # branch to system call
736
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200737#sys32_sched_yield_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200739 .globl sys32_sched_get_priority_max_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700740sys32_sched_get_priority_max_wrapper:
741 lgfr %r2,%r2 # int
742 jg sys_sched_get_priority_max # branch to system call
743
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200744 .globl sys32_sched_get_priority_min_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700745sys32_sched_get_priority_min_wrapper:
746 lgfr %r2,%r2 # int
747 jg sys_sched_get_priority_min # branch to system call
748
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200749 .globl sys32_sched_rr_get_interval_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700750sys32_sched_rr_get_interval_wrapper:
751 lgfr %r2,%r2 # pid_t
752 llgtr %r3,%r3 # struct compat_timespec *
753 jg sys32_sched_rr_get_interval # branch to system call
754
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200755 .globl compat_sys_nanosleep_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700756compat_sys_nanosleep_wrapper:
757 llgtr %r2,%r2 # struct compat_timespec *
758 llgtr %r3,%r3 # struct compat_timespec *
759 jg compat_sys_nanosleep # branch to system call
760
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200761 .globl sys32_mremap_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700762sys32_mremap_wrapper:
763 llgfr %r2,%r2 # unsigned long
764 llgfr %r3,%r3 # unsigned long
765 llgfr %r4,%r4 # unsigned long
766 llgfr %r5,%r5 # unsigned long
767 llgfr %r6,%r6 # unsigned long
768 jg sys_mremap # branch to system call
769
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200770 .globl sys32_setresuid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700771sys32_setresuid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200772 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
773 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
774 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700775 jg sys32_setresuid16 # branch to system call
776
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200777 .globl sys32_getresuid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778sys32_getresuid16_wrapper:
779 llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
780 llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
781 llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
782 jg sys32_getresuid16 # branch to system call
783
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200784 .globl sys32_poll_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700785sys32_poll_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200786 llgtr %r2,%r2 # struct pollfd *
787 llgfr %r3,%r3 # unsigned int
788 lgfr %r4,%r4 # long
Linus Torvalds1da177e2005-04-16 15:20:36 -0700789 jg sys_poll # branch to system call
790
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200791 .globl compat_sys_nfsservctl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700792compat_sys_nfsservctl_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200793 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700794 llgtr %r3,%r3 # struct compat_nfsctl_arg*
795 llgtr %r4,%r4 # union compat_nfsctl_res*
796 jg compat_sys_nfsservctl # branch to system call
797
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200798 .globl sys32_setresgid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700799sys32_setresgid16_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200800 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
801 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
802 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700803 jg sys32_setresgid16 # branch to system call
804
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200805 .globl sys32_getresgid16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700806sys32_getresgid16_wrapper:
807 llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
808 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
809 llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
810 jg sys32_getresgid16 # branch to system call
811
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200812 .globl sys32_prctl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813sys32_prctl_wrapper:
814 lgfr %r2,%r2 # int
815 llgfr %r3,%r3 # unsigned long
816 llgfr %r4,%r4 # unsigned long
817 llgfr %r5,%r5 # unsigned long
818 llgfr %r6,%r6 # unsigned long
819 jg sys_prctl # branch to system call
820
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200821#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200823 .globl sys32_rt_sigaction_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700824sys32_rt_sigaction_wrapper:
825 lgfr %r2,%r2 # int
826 llgtr %r3,%r3 # const struct sigaction_emu31 *
827 llgtr %r4,%r4 # const struct sigaction_emu31 *
828 llgfr %r5,%r5 # size_t
829 jg sys32_rt_sigaction # branch to system call
830
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200831 .globl sys32_rt_sigprocmask_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700832sys32_rt_sigprocmask_wrapper:
833 lgfr %r2,%r2 # int
834 llgtr %r3,%r3 # old_sigset_emu31 *
835 llgtr %r4,%r4 # old_sigset_emu31 *
836 llgfr %r5,%r5 # size_t
837 jg sys32_rt_sigprocmask # branch to system call
838
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200839 .globl sys32_rt_sigpending_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700840sys32_rt_sigpending_wrapper:
841 llgtr %r2,%r2 # sigset_emu31 *
842 llgfr %r3,%r3 # size_t
843 jg sys32_rt_sigpending # branch to system call
844
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200845 .globl compat_sys_rt_sigtimedwait_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700846compat_sys_rt_sigtimedwait_wrapper:
847 llgtr %r2,%r2 # const sigset_emu31_t *
848 llgtr %r3,%r3 # siginfo_emu31_t *
849 llgtr %r4,%r4 # const struct compat_timespec *
850 llgfr %r5,%r5 # size_t
851 jg compat_sys_rt_sigtimedwait # branch to system call
852
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200853 .globl sys32_rt_sigqueueinfo_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700854sys32_rt_sigqueueinfo_wrapper:
855 lgfr %r2,%r2 # int
856 lgfr %r3,%r3 # int
857 llgtr %r4,%r4 # siginfo_emu31_t *
858 jg sys32_rt_sigqueueinfo # branch to system call
859
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -0800860 .globl compat_sys_rt_sigsuspend_wrapper
861compat_sys_rt_sigsuspend_wrapper:
862 llgtr %r2,%r2 # compat_sigset_t *
863 llgfr %r3,%r3 # compat_size_t
864 jg compat_sys_rt_sigsuspend
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200866 .globl sys32_pread64_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700867sys32_pread64_wrapper:
868 llgfr %r2,%r2 # unsigned int
869 llgtr %r3,%r3 # char *
870 llgfr %r4,%r4 # size_t
871 llgfr %r5,%r5 # u32
872 llgfr %r6,%r6 # u32
873 jg sys32_pread64 # branch to system call
874
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200875 .globl sys32_pwrite64_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700876sys32_pwrite64_wrapper:
877 llgfr %r2,%r2 # unsigned int
878 llgtr %r3,%r3 # const char *
879 llgfr %r4,%r4 # size_t
880 llgfr %r5,%r5 # u32
881 llgfr %r6,%r6 # u32
882 jg sys32_pwrite64 # branch to system call
883
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200884 .globl sys32_chown16_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700885sys32_chown16_wrapper:
886 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200887 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
888 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700889 jg sys32_chown16 # branch to system call
890
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200891 .globl sys32_getcwd_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700892sys32_getcwd_wrapper:
893 llgtr %r2,%r2 # char *
894 llgfr %r3,%r3 # unsigned long
895 jg sys_getcwd # branch to system call
896
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200897 .globl sys32_capget_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700898sys32_capget_wrapper:
899 llgtr %r2,%r2 # cap_user_header_t
900 llgtr %r3,%r3 # cap_user_data_t
901 jg sys_capget # branch to system call
902
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200903 .globl sys32_capset_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700904sys32_capset_wrapper:
905 llgtr %r2,%r2 # cap_user_header_t
906 llgtr %r3,%r3 # const cap_user_data_t
907 jg sys_capset # branch to system call
908
909 .globl sys32_sigaltstack_wrapper
910sys32_sigaltstack_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200911 llgtr %r2,%r2 # const stack_emu31_t *
912 llgtr %r3,%r3 # stack_emu31_t *
Linus Torvalds1da177e2005-04-16 15:20:36 -0700913 jg sys32_sigaltstack
914
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200915 .globl sys32_sendfile_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700916sys32_sendfile_wrapper:
917 lgfr %r2,%r2 # int
918 lgfr %r3,%r3 # int
919 llgtr %r4,%r4 # __kernel_off_emu31_t *
920 llgfr %r5,%r5 # size_t
921 jg sys32_sendfile # branch to system call
922
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200923#sys32_vfork_wrapper # done in vfork_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700924
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200925 .globl sys32_truncate64_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700926sys32_truncate64_wrapper:
927 llgtr %r2,%r2 # const char *
928 llgfr %r3,%r3 # unsigned long
929 llgfr %r4,%r4 # unsigned long
930 jg sys32_truncate64 # branch to system call
931
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200932 .globl sys32_ftruncate64_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700933sys32_ftruncate64_wrapper:
934 llgfr %r2,%r2 # unsigned int
935 llgfr %r3,%r3 # unsigned long
936 llgfr %r4,%r4 # unsigned long
937 jg sys32_ftruncate64 # branch to system call
938
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200939 .globl sys32_lchown_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700940sys32_lchown_wrapper:
941 llgtr %r2,%r2 # const char *
942 llgfr %r3,%r3 # uid_t
943 llgfr %r4,%r4 # gid_t
944 jg sys_lchown # branch to system call
945
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200946#sys32_getuid_wrapper # void
947#sys32_getgid_wrapper # void
948#sys32_geteuid_wrapper # void
949#sys32_getegid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700950
951 .globl sys32_setreuid_wrapper
952sys32_setreuid_wrapper:
953 llgfr %r2,%r2 # uid_t
954 llgfr %r3,%r3 # uid_t
955 jg sys_setreuid # branch to system call
956
957 .globl sys32_setregid_wrapper
958sys32_setregid_wrapper:
959 llgfr %r2,%r2 # gid_t
960 llgfr %r3,%r3 # gid_t
961 jg sys_setregid # branch to system call
962
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200963 .globl sys32_getgroups_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700964sys32_getgroups_wrapper:
965 lgfr %r2,%r2 # int
966 llgtr %r3,%r3 # gid_t *
967 jg sys_getgroups # branch to system call
968
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200969 .globl sys32_setgroups_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700970sys32_setgroups_wrapper:
971 lgfr %r2,%r2 # int
972 llgtr %r3,%r3 # gid_t *
973 jg sys_setgroups # branch to system call
974
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200975 .globl sys32_fchown_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700976sys32_fchown_wrapper:
977 llgfr %r2,%r2 # unsigned int
978 llgfr %r3,%r3 # uid_t
979 llgfr %r4,%r4 # gid_t
980 jg sys_fchown # branch to system call
981
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200982 .globl sys32_setresuid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700983sys32_setresuid_wrapper:
984 llgfr %r2,%r2 # uid_t
985 llgfr %r3,%r3 # uid_t
986 llgfr %r4,%r4 # uid_t
987 jg sys_setresuid # branch to system call
988
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200989 .globl sys32_getresuid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700990sys32_getresuid_wrapper:
991 llgtr %r2,%r2 # uid_t *
992 llgtr %r3,%r3 # uid_t *
993 llgtr %r4,%r4 # uid_t *
994 jg sys_getresuid # branch to system call
995
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200996 .globl sys32_setresgid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -0700997sys32_setresgid_wrapper:
998 llgfr %r2,%r2 # gid_t
999 llgfr %r3,%r3 # gid_t
1000 llgfr %r4,%r4 # gid_t
1001 jg sys_setresgid # branch to system call
1002
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001003 .globl sys32_getresgid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001004sys32_getresgid_wrapper:
1005 llgtr %r2,%r2 # gid_t *
1006 llgtr %r3,%r3 # gid_t *
1007 llgtr %r4,%r4 # gid_t *
1008 jg sys_getresgid # branch to system call
1009
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001010 .globl sys32_chown_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001011sys32_chown_wrapper:
1012 llgtr %r2,%r2 # const char *
1013 llgfr %r3,%r3 # uid_t
1014 llgfr %r4,%r4 # gid_t
1015 jg sys_chown # branch to system call
1016
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001017 .globl sys32_setuid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001018sys32_setuid_wrapper:
1019 llgfr %r2,%r2 # uid_t
1020 jg sys_setuid # branch to system call
1021
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001022 .globl sys32_setgid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001023sys32_setgid_wrapper:
1024 llgfr %r2,%r2 # gid_t
1025 jg sys_setgid # branch to system call
1026
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001027 .globl sys32_setfsuid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001028sys32_setfsuid_wrapper:
1029 llgfr %r2,%r2 # uid_t
1030 jg sys_setfsuid # branch to system call
1031
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001032 .globl sys32_setfsgid_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001033sys32_setfsgid_wrapper:
1034 llgfr %r2,%r2 # gid_t
1035 jg sys_setfsgid # branch to system call
1036
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001037 .globl sys32_pivot_root_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001038sys32_pivot_root_wrapper:
1039 llgtr %r2,%r2 # const char *
1040 llgtr %r3,%r3 # const char *
1041 jg sys_pivot_root # branch to system call
1042
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001043 .globl sys32_mincore_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001044sys32_mincore_wrapper:
1045 llgfr %r2,%r2 # unsigned long
1046 llgfr %r3,%r3 # size_t
1047 llgtr %r4,%r4 # unsigned char *
1048 jg sys_mincore # branch to system call
1049
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001050 .globl sys32_madvise_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001051sys32_madvise_wrapper:
1052 llgfr %r2,%r2 # unsigned long
1053 llgfr %r3,%r3 # size_t
1054 lgfr %r4,%r4 # int
1055 jg sys_madvise # branch to system call
1056
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001057 .globl sys32_getdents64_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001058sys32_getdents64_wrapper:
1059 llgfr %r2,%r2 # unsigned int
1060 llgtr %r3,%r3 # void *
1061 llgfr %r4,%r4 # unsigned int
1062 jg sys_getdents64 # branch to system call
1063
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001064 .globl compat_sys_fcntl64_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001065compat_sys_fcntl64_wrapper:
1066 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001067 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -07001068 llgfr %r4,%r4 # unsigned long
1069 jg compat_sys_fcntl64 # branch to system call
1070
1071 .globl sys32_stat64_wrapper
1072sys32_stat64_wrapper:
1073 llgtr %r2,%r2 # char *
1074 llgtr %r3,%r3 # struct stat64 *
1075 jg sys32_stat64 # branch to system call
1076
1077 .globl sys32_lstat64_wrapper
1078sys32_lstat64_wrapper:
1079 llgtr %r2,%r2 # char *
1080 llgtr %r3,%r3 # struct stat64 *
1081 jg sys32_lstat64 # branch to system call
1082
1083 .globl sys32_stime_wrapper
1084sys32_stime_wrapper:
1085 llgtr %r2,%r2 # long *
1086 jg compat_sys_stime # branch to system call
1087
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001088 .globl sys32_sysctl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001089sys32_sysctl_wrapper:
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001090 llgtr %r2,%r2 # struct __sysctl_args32 *
1091 jg sys32_sysctl
Linus Torvalds1da177e2005-04-16 15:20:36 -07001092
1093 .globl sys32_fstat64_wrapper
1094sys32_fstat64_wrapper:
1095 llgfr %r2,%r2 # unsigned long
1096 llgtr %r3,%r3 # struct stat64 *
1097 jg sys32_fstat64 # branch to system call
1098
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001099 .globl compat_sys_futex_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001100compat_sys_futex_wrapper:
1101 llgtr %r2,%r2 # u32 *
1102 lgfr %r3,%r3 # int
1103 lgfr %r4,%r4 # int
1104 llgtr %r5,%r5 # struct compat_timespec *
1105 llgtr %r6,%r6 # u32 *
1106 lgf %r0,164(%r15) # int
1107 stg %r0,160(%r15)
1108 jg compat_sys_futex # branch to system call
1109
1110 .globl sys32_setxattr_wrapper
1111sys32_setxattr_wrapper:
1112 llgtr %r2,%r2 # char *
1113 llgtr %r3,%r3 # char *
1114 llgtr %r4,%r4 # void *
1115 llgfr %r5,%r5 # size_t
1116 lgfr %r6,%r6 # int
1117 jg sys_setxattr
1118
1119 .globl sys32_lsetxattr_wrapper
1120sys32_lsetxattr_wrapper:
1121 llgtr %r2,%r2 # char *
1122 llgtr %r3,%r3 # char *
1123 llgtr %r4,%r4 # void *
1124 llgfr %r5,%r5 # size_t
1125 lgfr %r6,%r6 # int
1126 jg sys_lsetxattr
1127
1128 .globl sys32_fsetxattr_wrapper
1129sys32_fsetxattr_wrapper:
1130 lgfr %r2,%r2 # int
1131 llgtr %r3,%r3 # char *
1132 llgtr %r4,%r4 # void *
1133 llgfr %r5,%r5 # size_t
1134 lgfr %r6,%r6 # int
1135 jg sys_fsetxattr
1136
1137 .globl sys32_getxattr_wrapper
1138sys32_getxattr_wrapper:
1139 llgtr %r2,%r2 # char *
1140 llgtr %r3,%r3 # char *
1141 llgtr %r4,%r4 # void *
1142 llgfr %r5,%r5 # size_t
1143 jg sys_getxattr
1144
1145 .globl sys32_lgetxattr_wrapper
1146sys32_lgetxattr_wrapper:
1147 llgtr %r2,%r2 # char *
1148 llgtr %r3,%r3 # char *
1149 llgtr %r4,%r4 # void *
1150 llgfr %r5,%r5 # size_t
1151 jg sys_lgetxattr
1152
1153 .globl sys32_fgetxattr_wrapper
1154sys32_fgetxattr_wrapper:
1155 lgfr %r2,%r2 # int
1156 llgtr %r3,%r3 # char *
1157 llgtr %r4,%r4 # void *
1158 llgfr %r5,%r5 # size_t
1159 jg sys_fgetxattr
1160
1161 .globl sys32_listxattr_wrapper
1162sys32_listxattr_wrapper:
1163 llgtr %r2,%r2 # char *
1164 llgtr %r3,%r3 # char *
1165 llgfr %r4,%r4 # size_t
1166 jg sys_listxattr
1167
1168 .globl sys32_llistxattr_wrapper
1169sys32_llistxattr_wrapper:
1170 llgtr %r2,%r2 # char *
1171 llgtr %r3,%r3 # char *
1172 llgfr %r4,%r4 # size_t
1173 jg sys_llistxattr
1174
1175 .globl sys32_flistxattr_wrapper
1176sys32_flistxattr_wrapper:
1177 lgfr %r2,%r2 # int
1178 llgtr %r3,%r3 # char *
1179 llgfr %r4,%r4 # size_t
1180 jg sys_flistxattr
1181
1182 .globl sys32_removexattr_wrapper
1183sys32_removexattr_wrapper:
1184 llgtr %r2,%r2 # char *
1185 llgtr %r3,%r3 # char *
1186 jg sys_removexattr
1187
1188 .globl sys32_lremovexattr_wrapper
1189sys32_lremovexattr_wrapper:
1190 llgtr %r2,%r2 # char *
1191 llgtr %r3,%r3 # char *
1192 jg sys_lremovexattr
1193
1194 .globl sys32_fremovexattr_wrapper
1195sys32_fremovexattr_wrapper:
1196 lgfr %r2,%r2 # int
1197 llgtr %r3,%r3 # char *
1198 jg sys_fremovexattr
1199
1200 .globl sys32_sched_setaffinity_wrapper
1201sys32_sched_setaffinity_wrapper:
1202 lgfr %r2,%r2 # int
1203 llgfr %r3,%r3 # unsigned int
1204 llgtr %r4,%r4 # unsigned long *
1205 jg compat_sys_sched_setaffinity
1206
1207 .globl sys32_sched_getaffinity_wrapper
1208sys32_sched_getaffinity_wrapper:
1209 lgfr %r2,%r2 # int
1210 llgfr %r3,%r3 # unsigned int
1211 llgtr %r4,%r4 # unsigned long *
1212 jg compat_sys_sched_getaffinity
1213
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001214 .globl sys32_exit_group_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001215sys32_exit_group_wrapper:
1216 lgfr %r2,%r2 # int
1217 jg sys_exit_group # branch to system call
1218
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001219 .globl sys32_set_tid_address_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001220sys32_set_tid_address_wrapper:
1221 llgtr %r2,%r2 # int *
1222 jg sys_set_tid_address # branch to system call
1223
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001224 .globl sys_epoll_create_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001225sys_epoll_create_wrapper:
1226 lgfr %r2,%r2 # int
1227 jg sys_epoll_create # branch to system call
1228
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001229 .globl sys_epoll_ctl_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001230sys_epoll_ctl_wrapper:
1231 lgfr %r2,%r2 # int
1232 lgfr %r3,%r3 # int
1233 lgfr %r4,%r4 # int
1234 llgtr %r5,%r5 # struct epoll_event *
1235 jg sys_epoll_ctl # branch to system call
1236
Heiko Carstens25d83cb2006-09-28 16:56:37 +02001237 .globl sys_epoll_wait_wrapper
Linus Torvalds1da177e2005-04-16 15:20:36 -07001238sys_epoll_wait_wrapper:
1239 lgfr %r2,%r2 # int
1240 llgtr %r3,%r3 # struct epoll_event *
1241 lgfr %r4,%r4 # int
1242 lgfr %r5,%r5 # int
1243 jg sys_epoll_wait # branch to system call
1244
1245 .globl sys32_lookup_dcookie_wrapper
1246sys32_lookup_dcookie_wrapper:
1247 sllg %r2,%r2,32 # get high word of 64bit dcookie
1248 or %r2,%r3 # get low word of 64bit dcookie
1249 llgtr %r3,%r4 # char *
1250 llgfr %r4,%r5 # size_t
1251 jg sys_lookup_dcookie
1252
1253 .globl sys32_fadvise64_wrapper
1254sys32_fadvise64_wrapper:
1255 lgfr %r2,%r2 # int
1256 sllg %r3,%r3,32 # get high word of 64bit loff_t
1257 or %r3,%r4 # get low word of 64bit loff_t
1258 llgfr %r4,%r5 # size_t (unsigned long)
1259 lgfr %r5,%r6 # int
Martin Schwidefsky068e1b92005-07-13 01:10:46 -07001260 jg sys32_fadvise64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001261
1262 .globl sys32_fadvise64_64_wrapper
1263sys32_fadvise64_64_wrapper:
1264 llgtr %r2,%r2 # struct fadvise64_64_args *
Martin Schwidefsky068e1b92005-07-13 01:10:46 -07001265 jg sys32_fadvise64_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001266
1267 .globl sys32_clock_settime_wrapper
1268sys32_clock_settime_wrapper:
1269 lgfr %r2,%r2 # clockid_t (int)
1270 llgtr %r3,%r3 # struct compat_timespec *
1271 jg compat_sys_clock_settime
1272
1273 .globl sys32_clock_gettime_wrapper
1274sys32_clock_gettime_wrapper:
1275 lgfr %r2,%r2 # clockid_t (int)
1276 llgtr %r3,%r3 # struct compat_timespec *
1277 jg compat_sys_clock_gettime
1278
1279 .globl sys32_clock_getres_wrapper
1280sys32_clock_getres_wrapper:
1281 lgfr %r2,%r2 # clockid_t (int)
1282 llgtr %r3,%r3 # struct compat_timespec *
1283 jg compat_sys_clock_getres
1284
1285 .globl sys32_clock_nanosleep_wrapper
1286sys32_clock_nanosleep_wrapper:
1287 lgfr %r2,%r2 # clockid_t (int)
1288 lgfr %r3,%r3 # int
1289 llgtr %r4,%r4 # struct compat_timespec *
1290 llgtr %r5,%r5 # struct compat_timespec *
1291 jg compat_sys_clock_nanosleep
1292
1293 .globl sys32_timer_create_wrapper
1294sys32_timer_create_wrapper:
1295 lgfr %r2,%r2 # timer_t (int)
1296 llgtr %r3,%r3 # struct compat_sigevent *
1297 llgtr %r4,%r4 # timer_t *
Christoph Hellwig3a0f69d2006-01-09 20:52:08 -08001298 jg compat_sys_timer_create
Linus Torvalds1da177e2005-04-16 15:20:36 -07001299
1300 .globl sys32_timer_settime_wrapper
1301sys32_timer_settime_wrapper:
1302 lgfr %r2,%r2 # timer_t (int)
1303 lgfr %r3,%r3 # int
1304 llgtr %r4,%r4 # struct compat_itimerspec *
1305 llgtr %r5,%r5 # struct compat_itimerspec *
1306 jg compat_sys_timer_settime
1307
1308 .globl sys32_timer_gettime_wrapper
1309sys32_timer_gettime_wrapper:
1310 lgfr %r2,%r2 # timer_t (int)
1311 llgtr %r3,%r3 # struct compat_itimerspec *
1312 jg compat_sys_timer_gettime
1313
1314 .globl sys32_timer_getoverrun_wrapper
1315sys32_timer_getoverrun_wrapper:
1316 lgfr %r2,%r2 # timer_t (int)
1317 jg sys_timer_getoverrun
1318
1319 .globl sys32_timer_delete_wrapper
1320sys32_timer_delete_wrapper:
1321 lgfr %r2,%r2 # timer_t (int)
1322 jg sys_timer_delete
1323
1324 .globl sys32_io_setup_wrapper
1325sys32_io_setup_wrapper:
1326 llgfr %r2,%r2 # unsigned int
1327 llgtr %r3,%r3 # u32 *
1328 jg compat_sys_io_setup
1329
1330 .globl sys32_io_destroy_wrapper
1331sys32_io_destroy_wrapper:
1332 llgfr %r2,%r2 # (aio_context_t) u32
1333 jg sys_io_destroy
1334
1335 .globl sys32_io_getevents_wrapper
1336sys32_io_getevents_wrapper:
1337 llgfr %r2,%r2 # (aio_context_t) u32
1338 lgfr %r3,%r3 # long
1339 lgfr %r4,%r4 # long
1340 llgtr %r5,%r5 # struct io_event *
1341 llgtr %r6,%r6 # struct compat_timespec *
1342 jg compat_sys_io_getevents
1343
1344 .globl sys32_io_submit_wrapper
1345sys32_io_submit_wrapper:
1346 llgfr %r2,%r2 # (aio_context_t) u32
1347 lgfr %r3,%r3 # long
1348 llgtr %r4,%r4 # struct iocb **
1349 jg compat_sys_io_submit
1350
1351 .globl sys32_io_cancel_wrapper
1352sys32_io_cancel_wrapper:
1353 llgfr %r2,%r2 # (aio_context_t) u32
1354 llgtr %r3,%r3 # struct iocb *
1355 llgtr %r4,%r4 # struct io_event *
1356 jg sys_io_cancel
1357
1358 .globl compat_sys_statfs64_wrapper
1359compat_sys_statfs64_wrapper:
1360 llgtr %r2,%r2 # const char *
1361 llgfr %r3,%r3 # compat_size_t
1362 llgtr %r4,%r4 # struct compat_statfs64 *
1363 jg compat_sys_statfs64
1364
1365 .globl compat_sys_fstatfs64_wrapper
1366compat_sys_fstatfs64_wrapper:
1367 llgfr %r2,%r2 # unsigned int fd
1368 llgfr %r3,%r3 # compat_size_t
1369 llgtr %r4,%r4 # struct compat_statfs64 *
1370 jg compat_sys_fstatfs64
1371
1372 .globl compat_sys_mq_open_wrapper
1373compat_sys_mq_open_wrapper:
1374 llgtr %r2,%r2 # const char *
1375 lgfr %r3,%r3 # int
1376 llgfr %r4,%r4 # mode_t
1377 llgtr %r5,%r5 # struct compat_mq_attr *
1378 jg compat_sys_mq_open
1379
1380 .globl sys32_mq_unlink_wrapper
1381sys32_mq_unlink_wrapper:
1382 llgtr %r2,%r2 # const char *
1383 jg sys_mq_unlink
1384
1385 .globl compat_sys_mq_timedsend_wrapper
1386compat_sys_mq_timedsend_wrapper:
1387 lgfr %r2,%r2 # mqd_t
1388 llgtr %r3,%r3 # const char *
1389 llgfr %r4,%r4 # size_t
1390 llgfr %r5,%r5 # unsigned int
1391 llgtr %r6,%r6 # const struct compat_timespec *
1392 jg compat_sys_mq_timedsend
1393
1394 .globl compat_sys_mq_timedreceive_wrapper
1395compat_sys_mq_timedreceive_wrapper:
1396 lgfr %r2,%r2 # mqd_t
1397 llgtr %r3,%r3 # char *
1398 llgfr %r4,%r4 # size_t
1399 llgtr %r5,%r5 # unsigned int *
1400 llgtr %r6,%r6 # const struct compat_timespec *
1401 jg compat_sys_mq_timedreceive
1402
1403 .globl compat_sys_mq_notify_wrapper
1404compat_sys_mq_notify_wrapper:
1405 lgfr %r2,%r2 # mqd_t
1406 llgtr %r3,%r3 # struct compat_sigevent *
1407 jg compat_sys_mq_notify
1408
1409 .globl compat_sys_mq_getsetattr_wrapper
1410compat_sys_mq_getsetattr_wrapper:
1411 lgfr %r2,%r2 # mqd_t
1412 llgtr %r3,%r3 # struct compat_mq_attr *
1413 llgtr %r4,%r4 # struct compat_mq_attr *
1414 jg compat_sys_mq_getsetattr
1415
1416 .globl compat_sys_add_key_wrapper
1417compat_sys_add_key_wrapper:
1418 llgtr %r2,%r2 # const char *
1419 llgtr %r3,%r3 # const char *
1420 llgtr %r4,%r4 # const void *
1421 llgfr %r5,%r5 # size_t
1422 llgfr %r6,%r6 # (key_serial_t) u32
1423 jg sys_add_key
1424
1425 .globl compat_sys_request_key_wrapper
1426compat_sys_request_key_wrapper:
1427 llgtr %r2,%r2 # const char *
1428 llgtr %r3,%r3 # const char *
1429 llgtr %r4,%r4 # const void *
1430 llgfr %r5,%r5 # (key_serial_t) u32
1431 jg sys_request_key
1432
1433 .globl sys32_remap_file_pages_wrapper
1434sys32_remap_file_pages_wrapper:
1435 llgfr %r2,%r2 # unsigned long
1436 llgfr %r3,%r3 # unsigned long
1437 llgfr %r4,%r4 # unsigned long
1438 llgfr %r5,%r5 # unsigned long
1439 llgfr %r6,%r6 # unsigned long
1440 jg sys_remap_file_pages
1441
1442 .globl compat_sys_waitid_wrapper
1443compat_sys_waitid_wrapper:
1444 lgfr %r2,%r2 # int
1445 lgfr %r3,%r3 # pid_t
1446 llgtr %r4,%r4 # siginfo_emu31_t *
1447 lgfr %r5,%r5 # int
1448 llgtr %r6,%r6 # struct rusage_emu31 *
1449 jg compat_sys_waitid
Heiko Carstenscf13f0e2005-06-25 14:58:11 -07001450
1451 .globl compat_sys_kexec_load_wrapper
1452compat_sys_kexec_load_wrapper:
1453 llgfr %r2,%r2 # unsigned long
1454 llgfr %r3,%r3 # unsigned long
1455 llgtr %r4,%r4 # struct kexec_segment *
1456 llgfr %r5,%r5 # unsigned long
1457 jg compat_sys_kexec_load
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001458
1459 .globl sys_ioprio_set_wrapper
1460sys_ioprio_set_wrapper:
1461 lgfr %r2,%r2 # int
1462 lgfr %r3,%r3 # int
1463 lgfr %r4,%r4 # int
1464 jg sys_ioprio_set
1465
1466 .globl sys_ioprio_get_wrapper
1467sys_ioprio_get_wrapper:
1468 lgfr %r2,%r2 # int
1469 lgfr %r3,%r3 # int
1470 jg sys_ioprio_get
1471
1472 .globl sys_inotify_add_watch_wrapper
1473sys_inotify_add_watch_wrapper:
1474 lgfr %r2,%r2 # int
1475 llgtr %r3,%r3 # const char *
1476 llgfr %r4,%r4 # u32
1477 jg sys_inotify_add_watch
1478
1479 .globl sys_inotify_rm_watch_wrapper
1480sys_inotify_rm_watch_wrapper:
1481 lgfr %r2,%r2 # int
1482 llgfr %r3,%r3 # u32
1483 jg sys_inotify_rm_watch
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001484
1485 .globl compat_sys_openat_wrapper
1486compat_sys_openat_wrapper:
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001487 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001488 llgtr %r3,%r3 # const char *
1489 lgfr %r4,%r4 # int
1490 lgfr %r5,%r5 # int
1491 jg compat_sys_openat
1492
1493 .globl sys_mkdirat_wrapper
1494sys_mkdirat_wrapper:
1495 lgfr %r2,%r2 # int
1496 llgtr %r3,%r3 # const char *
1497 lgfr %r4,%r4 # int
1498 jg sys_mkdirat
1499
1500 .globl sys_mknodat_wrapper
1501sys_mknodat_wrapper:
1502 lgfr %r2,%r2 # int
1503 llgtr %r3,%r3 # const char *
1504 lgfr %r4,%r4 # int
1505 llgfr %r5,%r5 # unsigned int
1506 jg sys_mknodat
1507
1508 .globl sys_fchownat_wrapper
1509sys_fchownat_wrapper:
1510 lgfr %r2,%r2 # int
1511 llgtr %r3,%r3 # const char *
1512 llgfr %r4,%r4 # uid_t
1513 llgfr %r5,%r5 # gid_t
1514 lgfr %r6,%r6 # int
1515 jg sys_fchownat
1516
1517 .globl compat_sys_futimesat_wrapper
1518compat_sys_futimesat_wrapper:
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001519 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001520 llgtr %r3,%r3 # char *
1521 llgtr %r4,%r4 # struct timeval *
1522 jg compat_sys_futimesat
1523
Heiko Carstensed3d0212006-02-17 13:52:50 -08001524 .globl sys32_fstatat64_wrapper
1525sys32_fstatat64_wrapper:
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001526 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001527 llgtr %r3,%r3 # char *
Heiko Carstens19bf9cb2006-02-12 12:35:03 +01001528 llgtr %r4,%r4 # struct stat64 *
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001529 lgfr %r5,%r5 # int
Heiko Carstensed3d0212006-02-17 13:52:50 -08001530 jg sys32_fstatat64
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001531
1532 .globl sys_unlinkat_wrapper
1533sys_unlinkat_wrapper:
1534 lgfr %r2,%r2 # int
1535 llgtr %r3,%r3 # const char *
1536 lgfr %r4,%r4 # int
1537 jg sys_unlinkat
1538
1539 .globl sys_renameat_wrapper
1540sys_renameat_wrapper:
1541 lgfr %r2,%r2 # int
1542 llgtr %r3,%r3 # const char *
1543 lgfr %r4,%r4 # int
1544 llgtr %r5,%r5 # const char *
1545 jg sys_renameat
1546
1547 .globl sys_linkat_wrapper
1548sys_linkat_wrapper:
1549 lgfr %r2,%r2 # int
1550 llgtr %r3,%r3 # const char *
1551 lgfr %r4,%r4 # int
1552 llgtr %r5,%r5 # const char *
Ulrich Drepperc04030e2006-02-24 13:04:21 -08001553 lgfr %r6,%r6 # int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001554 jg sys_linkat
1555
1556 .globl sys_symlinkat_wrapper
1557sys_symlinkat_wrapper:
1558 llgtr %r2,%r2 # const char *
1559 lgfr %r3,%r3 # int
1560 llgtr %r4,%r4 # const char *
1561 jg sys_symlinkat
1562
1563 .globl sys_readlinkat_wrapper
1564sys_readlinkat_wrapper:
1565 lgfr %r2,%r2 # int
1566 llgtr %r3,%r3 # const char *
1567 llgtr %r4,%r4 # char *
1568 lgfr %r5,%r5 # int
1569 jg sys_readlinkat
1570
1571 .globl sys_fchmodat_wrapper
1572sys_fchmodat_wrapper:
1573 lgfr %r2,%r2 # int
1574 llgtr %r3,%r3 # const char *
1575 llgfr %r4,%r4 # mode_t
1576 jg sys_fchmodat
1577
1578 .globl sys_faccessat_wrapper
1579sys_faccessat_wrapper:
1580 lgfr %r2,%r2 # int
1581 llgtr %r3,%r3 # const char *
1582 lgfr %r4,%r4 # int
1583 jg sys_faccessat
1584
1585 .globl compat_sys_pselect6_wrapper
1586compat_sys_pselect6_wrapper:
1587 lgfr %r2,%r2 # int
1588 llgtr %r3,%r3 # fd_set *
1589 llgtr %r4,%r4 # fd_set *
1590 llgtr %r5,%r5 # fd_set *
1591 llgtr %r6,%r6 # struct timespec *
1592 llgt %r0,164(%r15) # void *
1593 stg %r0,160(%r15)
1594 jg compat_sys_pselect6
1595
1596 .globl compat_sys_ppoll_wrapper
1597compat_sys_ppoll_wrapper:
1598 llgtr %r2,%r2 # struct pollfd *
1599 llgfr %r3,%r3 # unsigned int
1600 llgtr %r4,%r4 # struct timespec *
1601 llgtr %r5,%r5 # const sigset_t *
1602 llgfr %r6,%r6 # size_t
1603 jg compat_sys_ppoll
Heiko Carstense7684272006-02-11 17:56:02 -08001604
1605 .globl sys_unshare_wrapper
1606sys_unshare_wrapper:
1607 llgfr %r2,%r2 # unsigned long
1608 jg sys_unshare
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001609
1610 .globl compat_sys_set_robust_list_wrapper
1611compat_sys_set_robust_list_wrapper:
1612 llgtr %r2,%r2 # struct compat_robust_list_head *
1613 llgfr %r3,%r3 # size_t
1614 jg compat_sys_set_robust_list
1615
1616 .globl compat_sys_get_robust_list_wrapper
1617compat_sys_get_robust_list_wrapper:
1618 lgfr %r2,%r2 # int
1619 llgtr %r3,%r3 # compat_uptr_t_t *
1620 llgtr %r4,%r4 # compat_size_t *
1621 jg compat_sys_get_robust_list
1622
1623 .globl sys_splice_wrapper
1624sys_splice_wrapper:
1625 lgfr %r2,%r2 # int
1626 llgtr %r3,%r3 # loff_t *
1627 lgfr %r4,%r4 # int
1628 llgtr %r5,%r5 # loff_t *
1629 llgfr %r6,%r6 # size_t
1630 llgf %r0,164(%r15) # unsigned int
1631 stg %r0,160(%r15)
1632 jg sys_splice
1633
1634 .globl sys_sync_file_range_wrapper
1635sys_sync_file_range_wrapper:
1636 lgfr %r2,%r2 # int
1637 sllg %r3,%r3,32 # get high word of 64bit loff_t
1638 or %r3,%r4 # get low word of 64bit loff_t
1639 sllg %r4,%r5,32 # get high word of 64bit loff_t
1640 or %r4,%r6 # get low word of 64bit loff_t
1641 llgf %r5,164(%r15) # unsigned int
1642 jg sys_sync_file_range
1643
1644 .globl sys_tee_wrapper
1645sys_tee_wrapper:
1646 lgfr %r2,%r2 # int
1647 lgfr %r3,%r3 # int
1648 llgfr %r4,%r4 # size_t
1649 llgfr %r5,%r5 # unsigned int
1650 jg sys_tee
Martin Schwidefsky01596772006-05-15 09:44:05 -07001651
1652 .globl compat_sys_vmsplice_wrapper
1653compat_sys_vmsplice_wrapper:
1654 lgfr %r2,%r2 # int
1655 llgtr %r3,%r3 # compat_iovec *
1656 llgfr %r4,%r4 # unsigned int
1657 llgfr %r5,%r5 # unsigned int
1658 jg compat_sys_vmsplice
Heiko Carstens8abfe012006-10-04 20:02:09 +02001659
1660 .globl sys_getcpu_wrapper
1661sys_getcpu_wrapper:
1662 llgtr %r2,%r2 # unsigned *
1663 llgtr %r3,%r3 # unsigned *
1664 llgtr %r4,%r4 # struct getcpu_cache *
Paul Mundtf4880392006-10-27 12:39:10 +02001665 jg sys_getcpu
Heiko Carstens10c16a32007-03-19 13:18:56 +01001666
1667 .globl compat_sys_epoll_pwait_wrapper
1668compat_sys_epoll_pwait_wrapper:
1669 lgfr %r2,%r2 # int
1670 llgtr %r3,%r3 # struct compat_epoll_event *
1671 lgfr %r4,%r4 # int
1672 lgfr %r5,%r5 # int
1673 llgtr %r6,%r6 # compat_sigset_t *
1674 llgf %r0,164(%r15) # compat_size_t
1675 stg %r0,160(%r15)
1676 jg compat_sys_epoll_pwait
Heiko Carstensfb1c1712007-03-19 13:19:07 +01001677
1678 .globl compat_sys_utimes_wrapper
1679compat_sys_utimes_wrapper:
1680 llgtr %r2,%r2 # char *
1681 llgtr %r3,%r3 # struct compat_timeval *
1682 jg compat_sys_utimes
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001683
1684 .globl compat_sys_utimensat_wrapper
1685compat_sys_utimensat_wrapper:
1686 llgfr %r2,%r2 # unsigned int
1687 llgtr %r3,%r3 # char *
1688 llgtr %r4,%r4 # struct compat_timespec *
1689 lgfr %r5,%r5 # int
1690 jg compat_sys_utimensat
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001691
1692 .globl compat_sys_signalfd_wrapper
1693compat_sys_signalfd_wrapper:
1694 lgfr %r2,%r2 # int
1695 llgtr %r3,%r3 # compat_sigset_t *
1696 llgfr %r4,%r4 # compat_size_t
1697 jg compat_sys_signalfd
1698
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001699 .globl sys_eventfd_wrapper
1700sys_eventfd_wrapper:
1701 llgfr %r2,%r2 # unsigned int
1702 jg sys_eventfd
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001703
1704 .globl sys_fallocate_wrapper
1705sys_fallocate_wrapper:
1706 lgfr %r2,%r2 # int
1707 lgfr %r3,%r3 # int
1708 sllg %r4,%r4,32 # get high word of 64bit loff_t
1709 lr %r4,%r5 # get low word of 64bit loff_t
1710 sllg %r5,%r6,32 # get high word of 64bit loff_t
1711 l %r5,164(%r15) # get low word of 64bit loff_t
1712 jg sys_fallocate
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001713
1714 .globl sys_timerfd_create_wrapper
1715sys_timerfd_create_wrapper:
1716 lgfr %r2,%r2 # int
1717 lgfr %r3,%r3 # int
1718 jg sys_timerfd_create
1719
1720 .globl compat_sys_timerfd_settime_wrapper
1721compat_sys_timerfd_settime_wrapper:
1722 lgfr %r2,%r2 # int
1723 lgfr %r3,%r3 # int
1724 llgtr %r4,%r4 # struct compat_itimerspec *
1725 llgtr %r5,%r5 # struct compat_itimerspec *
1726 jg compat_sys_timerfd_settime
1727
1728 .globl compat_sys_timerfd_gettime_wrapper
1729compat_sys_timerfd_gettime_wrapper:
1730 lgfr %r2,%r2 # int
1731 llgtr %r3,%r3 # struct compat_itimerspec *
1732 jg compat_sys_timerfd_gettime
Heiko Carstens519620c2008-08-01 16:39:15 +02001733
1734 .globl compat_sys_signalfd4_wrapper
1735compat_sys_signalfd4_wrapper:
1736 lgfr %r2,%r2 # int
1737 llgtr %r3,%r3 # compat_sigset_t *
1738 llgfr %r4,%r4 # compat_size_t
1739 lgfr %r5,%r5 # int
1740 jg compat_sys_signalfd4
1741
1742 .globl sys_eventfd2_wrapper
1743sys_eventfd2_wrapper:
1744 llgfr %r2,%r2 # unsigned int
1745 lgfr %r3,%r3 # int
1746 jg sys_eventfd2
1747
1748 .globl sys_inotify_init1_wrapper
1749sys_inotify_init1_wrapper:
1750 lgfr %r2,%r2 # int
1751 jg sys_inotify_init1
1752
1753 .globl sys_pipe2_wrapper
1754sys_pipe2_wrapper:
1755 llgtr %r2,%r2 # u32 *
1756 lgfr %r3,%r3 # int
1757 jg sys_pipe2 # branch to system call
1758
1759 .globl sys_dup3_wrapper
1760sys_dup3_wrapper:
1761 llgfr %r2,%r2 # unsigned int
1762 llgfr %r3,%r3 # unsigned int
1763 lgfr %r4,%r4 # int
1764 jg sys_dup3 # branch to system call
1765
1766 .globl sys_epoll_create1_wrapper
1767sys_epoll_create1_wrapper:
1768 lgfr %r2,%r2 # int
1769 jg sys_epoll_create1 # branch to system call