]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/s390/kernel/compat_wrapper.S
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[net-next-2.6.git] / arch / s390 / kernel / compat_wrapper.S
CommitLineData
1da177e4 1/*
54dfe5dd 2* arch/s390/kernel/compat_wrapper.S
1da177e4
LT
3* wrapper for 31 bit compatible system calls.
4*
54dfe5dd 5* Copyright (C) IBM Corp. 2000,2006
1da177e4 6* Author(s): Gerhard Tonn (ton@de.ibm.com),
25d83cbf
HC
7* Thomas Spatzier (tspat@de.ibm.com)
8*/
1da177e4 9
25d83cbf 10 .globl sys32_exit_wrapper
1da177e4
LT
11sys32_exit_wrapper:
12 lgfr %r2,%r2 # int
13 jg sys_exit # branch to sys_exit
25d83cbf
HC
14
15 .globl sys32_read_wrapper
1da177e4
LT
16sys32_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
25d83cbf 22 .globl sys32_write_wrapper
1da177e4
LT
23sys32_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
25d83cbf 29 .globl sys32_open_wrapper
1da177e4
LT
30sys32_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
25d83cbf 36 .globl sys32_close_wrapper
1da177e4
LT
37sys32_close_wrapper:
38 llgfr %r2,%r2 # unsigned int
39 jg sys_close # branch to system call
40
25d83cbf 41 .globl sys32_creat_wrapper
1da177e4
LT
42sys32_creat_wrapper:
43 llgtr %r2,%r2 # const char *
44 lgfr %r3,%r3 # int
45 jg sys_creat # branch to system call
46
25d83cbf 47 .globl sys32_link_wrapper
1da177e4
LT
48sys32_link_wrapper:
49 llgtr %r2,%r2 # const char *
50 llgtr %r3,%r3 # const char *
51 jg sys_link # branch to system call
52
25d83cbf 53 .globl sys32_unlink_wrapper
1da177e4
LT
54sys32_unlink_wrapper:
55 llgtr %r2,%r2 # const char *
56 jg sys_unlink # branch to system call
57
25d83cbf 58 .globl sys32_chdir_wrapper
1da177e4
LT
59sys32_chdir_wrapper:
60 llgtr %r2,%r2 # const char *
61 jg sys_chdir # branch to system call
62
25d83cbf 63 .globl sys32_time_wrapper
1da177e4
LT
64sys32_time_wrapper:
65 llgtr %r2,%r2 # int *
66 jg compat_sys_time # branch to system call
67
25d83cbf 68 .globl sys32_mknod_wrapper
1da177e4
LT
69sys32_mknod_wrapper:
70 llgtr %r2,%r2 # const char *
25d83cbf 71 lgfr %r3,%r3 # int
1da177e4
LT
72 llgfr %r4,%r4 # dev
73 jg sys_mknod # branch to system call
74
25d83cbf 75 .globl sys32_chmod_wrapper
1da177e4
LT
76sys32_chmod_wrapper:
77 llgtr %r2,%r2 # const char *
78 llgfr %r3,%r3 # mode_t
79 jg sys_chmod # branch to system call
80
25d83cbf 81 .globl sys32_lchown16_wrapper
1da177e4
LT
82sys32_lchown16_wrapper:
83 llgtr %r2,%r2 # const char *
25d83cbf
HC
84 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
85 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
1da177e4
LT
86 jg sys32_lchown16 # branch to system call
87
25d83cbf 88 .globl sys32_lseek_wrapper
1da177e4
LT
89sys32_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
25d83cbf 95#sys32_getpid_wrapper # void
1da177e4 96
25d83cbf 97 .globl sys32_mount_wrapper
1da177e4
LT
98sys32_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
25d83cbf 106 .globl sys32_oldumount_wrapper
1da177e4
LT
107sys32_oldumount_wrapper:
108 llgtr %r2,%r2 # char *
109 jg sys_oldumount # branch to system call
110
25d83cbf 111 .globl sys32_setuid16_wrapper
1da177e4 112sys32_setuid16_wrapper:
25d83cbf 113 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
1da177e4
LT
114 jg sys32_setuid16 # branch to system call
115
25d83cbf 116#sys32_getuid16_wrapper # void
1da177e4 117
25d83cbf 118 .globl sys32_ptrace_wrapper
1da177e4
LT
119sys32_ptrace_wrapper:
120 lgfr %r2,%r2 # long
121 lgfr %r3,%r3 # long
122 llgtr %r4,%r4 # long
123 llgfr %r5,%r5 # long
b499d76b 124 jg compat_sys_ptrace # branch to system call
1da177e4 125
25d83cbf 126 .globl sys32_alarm_wrapper
1da177e4
LT
127sys32_alarm_wrapper:
128 llgfr %r2,%r2 # unsigned int
129 jg sys_alarm # branch to system call
130
25d83cbf 131 .globl compat_sys_utime_wrapper
1da177e4
LT
132compat_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
25d83cbf 137 .globl sys32_access_wrapper
1da177e4
LT
138sys32_access_wrapper:
139 llgtr %r2,%r2 # const char *
140 lgfr %r3,%r3 # int
141 jg sys_access # branch to system call
142
25d83cbf 143 .globl sys32_nice_wrapper
1da177e4
LT
144sys32_nice_wrapper:
145 lgfr %r2,%r2 # int
146 jg sys_nice # branch to system call
147
25d83cbf 148#sys32_sync_wrapper # void
1da177e4 149
25d83cbf 150 .globl sys32_kill_wrapper
1da177e4
LT
151sys32_kill_wrapper:
152 lgfr %r2,%r2 # int
153 lgfr %r3,%r3 # int
154 jg sys_kill # branch to system call
155
25d83cbf 156 .globl sys32_rename_wrapper
1da177e4
LT
157sys32_rename_wrapper:
158 llgtr %r2,%r2 # const char *
159 llgtr %r3,%r3 # const char *
160 jg sys_rename # branch to system call
161
25d83cbf 162 .globl sys32_mkdir_wrapper
1da177e4
LT
163sys32_mkdir_wrapper:
164 llgtr %r2,%r2 # const char *
165 lgfr %r3,%r3 # int
166 jg sys_mkdir # branch to system call
167
25d83cbf 168 .globl sys32_rmdir_wrapper
1da177e4
LT
169sys32_rmdir_wrapper:
170 llgtr %r2,%r2 # const char *
171 jg sys_rmdir # branch to system call
172
25d83cbf 173 .globl sys32_dup_wrapper
1da177e4
LT
174sys32_dup_wrapper:
175 llgfr %r2,%r2 # unsigned int
176 jg sys_dup # branch to system call
177
25d83cbf 178 .globl sys32_pipe_wrapper
1da177e4
LT
179sys32_pipe_wrapper:
180 llgtr %r2,%r2 # u32 *
181 jg sys_pipe # branch to system call
182
25d83cbf 183 .globl compat_sys_times_wrapper
1da177e4
LT
184compat_sys_times_wrapper:
185 llgtr %r2,%r2 # struct compat_tms *
186 jg compat_sys_times # branch to system call
187
25d83cbf 188 .globl sys32_brk_wrapper
1da177e4
LT
189sys32_brk_wrapper:
190 llgtr %r2,%r2 # unsigned long
191 jg sys_brk # branch to system call
192
25d83cbf 193 .globl sys32_setgid16_wrapper
1da177e4 194sys32_setgid16_wrapper:
25d83cbf 195 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
1da177e4
LT
196 jg sys32_setgid16 # branch to system call
197
25d83cbf 198#sys32_getgid16_wrapper # void
1da177e4
LT
199
200 .globl sys32_signal_wrapper
201sys32_signal_wrapper:
25d83cbf 202 lgfr %r2,%r2 # int
1da177e4
LT
203 llgtr %r3,%r3 # __sighandler_t
204 jg sys_signal
205
25d83cbf 206#sys32_geteuid16_wrapper # void
1da177e4 207
25d83cbf 208#sys32_getegid16_wrapper # void
1da177e4 209
25d83cbf 210 .globl sys32_acct_wrapper
1da177e4
LT
211sys32_acct_wrapper:
212 llgtr %r2,%r2 # char *
213 jg sys_acct # branch to system call
214
25d83cbf 215 .globl sys32_umount_wrapper
1da177e4
LT
216sys32_umount_wrapper:
217 llgtr %r2,%r2 # char *
218 lgfr %r3,%r3 # int
219 jg sys_umount # branch to system call
220
25d83cbf 221 .globl compat_sys_ioctl_wrapper
1da177e4
LT
222compat_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
25d83cbf 228 .globl compat_sys_fcntl_wrapper
1da177e4
LT
229compat_sys_fcntl_wrapper:
230 llgfr %r2,%r2 # unsigned int
25d83cbf 231 llgfr %r3,%r3 # unsigned int
1da177e4
LT
232 llgfr %r4,%r4 # unsigned long
233 jg compat_sys_fcntl # branch to system call
234
25d83cbf 235 .globl sys32_setpgid_wrapper
1da177e4
LT
236sys32_setpgid_wrapper:
237 lgfr %r2,%r2 # pid_t
238 lgfr %r3,%r3 # pid_t
239 jg sys_setpgid # branch to system call
240
25d83cbf 241 .globl sys32_umask_wrapper
1da177e4
LT
242sys32_umask_wrapper:
243 lgfr %r2,%r2 # int
244 jg sys_umask # branch to system call
245
25d83cbf 246 .globl sys32_chroot_wrapper
1da177e4
LT
247sys32_chroot_wrapper:
248 llgtr %r2,%r2 # char *
249 jg sys_chroot # branch to system call
250
251 .globl sys32_ustat_wrapper
252sys32_ustat_wrapper:
25d83cbf 253 llgfr %r2,%r2 # dev_t
1da177e4 254 llgtr %r3,%r3 # struct ustat *
2b1c6bd7 255 jg compat_sys_ustat
1da177e4 256
25d83cbf 257 .globl sys32_dup2_wrapper
1da177e4
LT
258sys32_dup2_wrapper:
259 llgfr %r2,%r2 # unsigned int
260 llgfr %r3,%r3 # unsigned int
261 jg sys_dup2 # branch to system call
262
25d83cbf 263#sys32_getppid_wrapper # void
1da177e4 264
25d83cbf 265#sys32_getpgrp_wrapper # void
1da177e4 266
25d83cbf 267#sys32_setsid_wrapper # void
1da177e4 268
25d83cbf 269 .globl sys32_sigaction_wrapper
1da177e4 270sys32_sigaction_wrapper:
25d83cbf 271 lgfr %r2,%r2 # int
1da177e4
LT
272 llgtr %r3,%r3 # const struct old_sigaction *
273 llgtr %r4,%r4 # struct old_sigaction32 *
274 jg sys32_sigaction # branch to system call
275
25d83cbf 276 .globl sys32_setreuid16_wrapper
1da177e4 277sys32_setreuid16_wrapper:
25d83cbf
HC
278 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
279 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
1da177e4
LT
280 jg sys32_setreuid16 # branch to system call
281
25d83cbf 282 .globl sys32_setregid16_wrapper
1da177e4 283sys32_setregid16_wrapper:
25d83cbf
HC
284 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
285 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
1da177e4
LT
286 jg sys32_setregid16 # branch to system call
287
54dfe5dd
HC
288 .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
1da177e4 294
25d83cbf 295 .globl compat_sys_sigpending_wrapper
1da177e4
LT
296compat_sys_sigpending_wrapper:
297 llgtr %r2,%r2 # compat_old_sigset_t *
298 jg compat_sys_sigpending # branch to system call
299
25d83cbf 300 .globl sys32_sethostname_wrapper
1da177e4
LT
301sys32_sethostname_wrapper:
302 llgtr %r2,%r2 # char *
303 lgfr %r3,%r3 # int
304 jg sys_sethostname # branch to system call
305
25d83cbf 306 .globl compat_sys_setrlimit_wrapper
1da177e4
LT
307compat_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
25d83cbf 312 .globl compat_sys_old_getrlimit_wrapper
1da177e4
LT
313compat_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
25d83cbf 318 .globl compat_sys_getrlimit_wrapper
1da177e4
LT
319compat_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
25d83cbf 324 .globl sys32_mmap2_wrapper
1da177e4
LT
325sys32_mmap2_wrapper:
326 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
327 jg sys32_mmap2 # branch to system call
328
25d83cbf 329 .globl compat_sys_getrusage_wrapper
1da177e4
LT
330compat_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
b418da16
CH
335 .globl compat_sys_gettimeofday_wrapper
336compat_sys_gettimeofday_wrapper:
1da177e4
LT
337 llgtr %r2,%r2 # struct timeval_emu31 *
338 llgtr %r3,%r3 # struct timezone *
b418da16 339 jg compat_sys_gettimeofday # branch to system call
1da177e4 340
b418da16
CH
341 .globl compat_sys_settimeofday_wrapper
342compat_sys_settimeofday_wrapper:
1da177e4
LT
343 llgtr %r2,%r2 # struct timeval_emu31 *
344 llgtr %r3,%r3 # struct timezone *
b418da16 345 jg compat_sys_settimeofday # branch to system call
1da177e4 346
25d83cbf 347 .globl sys32_getgroups16_wrapper
1da177e4
LT
348sys32_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
25d83cbf 353 .globl sys32_setgroups16_wrapper
1da177e4
LT
354sys32_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
25d83cbf 359 .globl sys32_symlink_wrapper
1da177e4
LT
360sys32_symlink_wrapper:
361 llgtr %r2,%r2 # const char *
362 llgtr %r3,%r3 # const char *
363 jg sys_symlink # branch to system call
364
25d83cbf 365 .globl sys32_readlink_wrapper
1da177e4
LT
366sys32_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
25d83cbf 372 .globl sys32_uselib_wrapper
1da177e4
LT
373sys32_uselib_wrapper:
374 llgtr %r2,%r2 # const char *
375 jg sys_uselib # branch to system call
376
25d83cbf 377 .globl sys32_swapon_wrapper
1da177e4
LT
378sys32_swapon_wrapper:
379 llgtr %r2,%r2 # const char *
380 lgfr %r3,%r3 # int
381 jg sys_swapon # branch to system call
382
25d83cbf 383 .globl sys32_reboot_wrapper
1da177e4
LT
384sys32_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
25d83cbf 391 .globl old32_readdir_wrapper
1da177e4
LT
392old32_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
25d83cbf 398 .globl old32_mmap_wrapper
1da177e4
LT
399old32_mmap_wrapper:
400 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
401 jg old32_mmap # branch to system call
402
25d83cbf 403 .globl sys32_munmap_wrapper
1da177e4
LT
404sys32_munmap_wrapper:
405 llgfr %r2,%r2 # unsigned long
25d83cbf 406 llgfr %r3,%r3 # size_t
1da177e4
LT
407 jg sys_munmap # branch to system call
408
25d83cbf 409 .globl sys32_truncate_wrapper
1da177e4
LT
410sys32_truncate_wrapper:
411 llgtr %r2,%r2 # const char *
593c4f73 412 lgfr %r3,%r3 # long
1da177e4
LT
413 jg sys_truncate # branch to system call
414
25d83cbf 415 .globl sys32_ftruncate_wrapper
1da177e4
LT
416sys32_ftruncate_wrapper:
417 llgfr %r2,%r2 # unsigned int
418 llgfr %r3,%r3 # unsigned long
419 jg sys_ftruncate # branch to system call
420
25d83cbf 421 .globl sys32_fchmod_wrapper
1da177e4
LT
422sys32_fchmod_wrapper:
423 llgfr %r2,%r2 # unsigned int
424 llgfr %r3,%r3 # mode_t
425 jg sys_fchmod # branch to system call
426
25d83cbf 427 .globl sys32_fchown16_wrapper
1da177e4
LT
428sys32_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
25d83cbf 434 .globl sys32_getpriority_wrapper
1da177e4
LT
435sys32_getpriority_wrapper:
436 lgfr %r2,%r2 # int
437 lgfr %r3,%r3 # int
438 jg sys_getpriority # branch to system call
439
25d83cbf 440 .globl sys32_setpriority_wrapper
1da177e4
LT
441sys32_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
25d83cbf 447 .globl compat_sys_statfs_wrapper
1da177e4
LT
448compat_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
25d83cbf 453 .globl compat_sys_fstatfs_wrapper
1da177e4
LT
454compat_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
25d83cbf 459 .globl compat_sys_socketcall_wrapper
1da177e4
LT
460compat_sys_socketcall_wrapper:
461 lgfr %r2,%r2 # int
462 llgtr %r3,%r3 # u32 *
463 jg compat_sys_socketcall # branch to system call
464
25d83cbf 465 .globl sys32_syslog_wrapper
1da177e4
LT
466sys32_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
25d83cbf 472 .globl compat_sys_setitimer_wrapper
1da177e4
LT
473compat_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
25d83cbf 479 .globl compat_sys_getitimer_wrapper
1da177e4
LT
480compat_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
25d83cbf 485 .globl compat_sys_newstat_wrapper
1da177e4
LT
486compat_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
25d83cbf 491 .globl compat_sys_newlstat_wrapper
1da177e4
LT
492compat_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
25d83cbf 497 .globl compat_sys_newfstat_wrapper
1da177e4
LT
498compat_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
25d83cbf 503#sys32_vhangup_wrapper # void
1da177e4 504
25d83cbf 505 .globl compat_sys_wait4_wrapper
1da177e4
LT
506compat_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
25d83cbf 513 .globl sys32_swapoff_wrapper
1da177e4
LT
514sys32_swapoff_wrapper:
515 llgtr %r2,%r2 # const char *
516 jg sys_swapoff # branch to system call
517
d4d23add
KM
518 .globl compat_sys_sysinfo_wrapper
519compat_sys_sysinfo_wrapper:
1da177e4 520 llgtr %r2,%r2 # struct sysinfo_emu31 *
d4d23add 521 jg compat_sys_sysinfo # branch to system call
1da177e4 522
25d83cbf 523 .globl sys32_ipc_wrapper
1da177e4
LT
524sys32_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
25d83cbf 532 .globl sys32_fsync_wrapper
1da177e4
LT
533sys32_fsync_wrapper:
534 llgfr %r2,%r2 # unsigned int
535 jg sys_fsync # branch to system call
536
25d83cbf 537#sys32_sigreturn_wrapper # done in sigreturn_glue
1da177e4 538
25d83cbf 539#sys32_clone_wrapper # done in clone_glue
1da177e4 540
25d83cbf 541 .globl sys32_setdomainname_wrapper
1da177e4
LT
542sys32_setdomainname_wrapper:
543 llgtr %r2,%r2 # char *
544 lgfr %r3,%r3 # int
545 jg sys_setdomainname # branch to system call
546
25d83cbf 547 .globl sys32_newuname_wrapper
1da177e4
LT
548sys32_newuname_wrapper:
549 llgtr %r2,%r2 # struct new_utsname *
e28cbf22 550 jg sys_newuname # branch to system call
1da177e4 551
25d83cbf 552 .globl compat_sys_adjtimex_wrapper
3158e941
SR
553compat_sys_adjtimex_wrapper:
554 llgtr %r2,%r2 # struct compat_timex *
555 jg compat_sys_adjtimex # branch to system call
1da177e4 556
25d83cbf 557 .globl sys32_mprotect_wrapper
1da177e4
LT
558sys32_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
25d83cbf 564 .globl compat_sys_sigprocmask_wrapper
1da177e4
LT
565compat_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
2e50195f
HC
571 .globl sys_init_module_wrapper
572sys_init_module_wrapper:
1da177e4
LT
573 llgtr %r2,%r2 # void *
574 llgfr %r3,%r3 # unsigned long
575 llgtr %r4,%r4 # char *
2e50195f 576 jg sys_init_module # branch to system call
1da177e4 577
2e50195f
HC
578 .globl sys_delete_module_wrapper
579sys_delete_module_wrapper:
1da177e4
LT
580 llgtr %r2,%r2 # const char *
581 llgfr %r3,%r3 # unsigned int
2e50195f 582 jg sys_delete_module # branch to system call
1da177e4 583
25d83cbf 584 .globl sys32_quotactl_wrapper
1da177e4
LT
585sys32_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
25d83cbf 592 .globl sys32_getpgid_wrapper
1da177e4
LT
593sys32_getpgid_wrapper:
594 lgfr %r2,%r2 # pid_t
595 jg sys_getpgid # branch to system call
596
25d83cbf 597 .globl sys32_fchdir_wrapper
1da177e4
LT
598sys32_fchdir_wrapper:
599 llgfr %r2,%r2 # unsigned int
600 jg sys_fchdir # branch to system call
601
25d83cbf 602 .globl sys32_bdflush_wrapper
1da177e4
LT
603sys32_bdflush_wrapper:
604 lgfr %r2,%r2 # int
605 lgfr %r3,%r3 # long
606 jg sys_bdflush # branch to system call
607
25d83cbf 608 .globl sys32_sysfs_wrapper
1da177e4
LT
609sys32_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
25d83cbf 615 .globl sys32_personality_wrapper
1da177e4 616sys32_personality_wrapper:
3a110370 617 llgfr %r2,%r2 # unsigned int
26689452 618 jg sys_s390_personality # branch to system call
1da177e4 619
25d83cbf 620 .globl sys32_setfsuid16_wrapper
1da177e4 621sys32_setfsuid16_wrapper:
25d83cbf 622 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
1da177e4
LT
623 jg sys32_setfsuid16 # branch to system call
624
25d83cbf 625 .globl sys32_setfsgid16_wrapper
1da177e4 626sys32_setfsgid16_wrapper:
25d83cbf 627 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
1da177e4
LT
628 jg sys32_setfsgid16 # branch to system call
629
25d83cbf 630 .globl sys32_llseek_wrapper
1da177e4
LT
631sys32_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
25d83cbf 639 .globl sys32_getdents_wrapper
1da177e4
LT
640sys32_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
25d83cbf 646 .globl compat_sys_select_wrapper
1da177e4
LT
647compat_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
25d83cbf 655 .globl sys32_flock_wrapper
1da177e4
LT
656sys32_flock_wrapper:
657 llgfr %r2,%r2 # unsigned int
658 llgfr %r3,%r3 # unsigned int
659 jg sys_flock # branch to system call
660
25d83cbf 661 .globl sys32_msync_wrapper
1da177e4
LT
662sys32_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
25d83cbf 668 .globl compat_sys_readv_wrapper
1da177e4
LT
669compat_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
25d83cbf 675 .globl compat_sys_writev_wrapper
1da177e4
LT
676compat_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
25d83cbf 682 .globl sys32_getsid_wrapper
1da177e4
LT
683sys32_getsid_wrapper:
684 lgfr %r2,%r2 # pid_t
685 jg sys_getsid # branch to system call
686
25d83cbf 687 .globl sys32_fdatasync_wrapper
1da177e4
LT
688sys32_fdatasync_wrapper:
689 llgfr %r2,%r2 # unsigned int
690 jg sys_fdatasync # branch to system call
691
25d83cbf 692 .globl sys32_mlock_wrapper
1da177e4
LT
693sys32_mlock_wrapper:
694 llgfr %r2,%r2 # unsigned long
695 llgfr %r3,%r3 # size_t
696 jg sys_mlock # branch to system call
697
25d83cbf 698 .globl sys32_munlock_wrapper
1da177e4
LT
699sys32_munlock_wrapper:
700 llgfr %r2,%r2 # unsigned long
701 llgfr %r3,%r3 # size_t
702 jg sys_munlock # branch to system call
703
25d83cbf 704 .globl sys32_mlockall_wrapper
1da177e4
LT
705sys32_mlockall_wrapper:
706 lgfr %r2,%r2 # int
707 jg sys_mlockall # branch to system call
708
25d83cbf 709#sys32_munlockall_wrapper # void
1da177e4 710
25d83cbf 711 .globl sys32_sched_setparam_wrapper
1da177e4
LT
712sys32_sched_setparam_wrapper:
713 lgfr %r2,%r2 # pid_t
714 llgtr %r3,%r3 # struct sched_param *
715 jg sys_sched_setparam # branch to system call
716
25d83cbf 717 .globl sys32_sched_getparam_wrapper
1da177e4
LT
718sys32_sched_getparam_wrapper:
719 lgfr %r2,%r2 # pid_t
720 llgtr %r3,%r3 # struct sched_param *
721 jg sys_sched_getparam # branch to system call
722
25d83cbf 723 .globl sys32_sched_setscheduler_wrapper
1da177e4
LT
724sys32_sched_setscheduler_wrapper:
725 lgfr %r2,%r2 # pid_t
726 lgfr %r3,%r3 # int
727 llgtr %r4,%r4 # struct sched_param *
728 jg sys_sched_setscheduler # branch to system call
729
25d83cbf 730 .globl sys32_sched_getscheduler_wrapper
1da177e4
LT
731sys32_sched_getscheduler_wrapper:
732 lgfr %r2,%r2 # pid_t
733 jg sys_sched_getscheduler # branch to system call
734
25d83cbf 735#sys32_sched_yield_wrapper # void
1da177e4 736
25d83cbf 737 .globl sys32_sched_get_priority_max_wrapper
1da177e4
LT
738sys32_sched_get_priority_max_wrapper:
739 lgfr %r2,%r2 # int
740 jg sys_sched_get_priority_max # branch to system call
741
25d83cbf 742 .globl sys32_sched_get_priority_min_wrapper
1da177e4
LT
743sys32_sched_get_priority_min_wrapper:
744 lgfr %r2,%r2 # int
745 jg sys_sched_get_priority_min # branch to system call
746
25d83cbf 747 .globl sys32_sched_rr_get_interval_wrapper
1da177e4
LT
748sys32_sched_rr_get_interval_wrapper:
749 lgfr %r2,%r2 # pid_t
750 llgtr %r3,%r3 # struct compat_timespec *
751 jg sys32_sched_rr_get_interval # branch to system call
752
25d83cbf 753 .globl compat_sys_nanosleep_wrapper
1da177e4
LT
754compat_sys_nanosleep_wrapper:
755 llgtr %r2,%r2 # struct compat_timespec *
756 llgtr %r3,%r3 # struct compat_timespec *
757 jg compat_sys_nanosleep # branch to system call
758
25d83cbf 759 .globl sys32_mremap_wrapper
1da177e4
LT
760sys32_mremap_wrapper:
761 llgfr %r2,%r2 # unsigned long
762 llgfr %r3,%r3 # unsigned long
763 llgfr %r4,%r4 # unsigned long
764 llgfr %r5,%r5 # unsigned long
765 llgfr %r6,%r6 # unsigned long
766 jg sys_mremap # branch to system call
767
25d83cbf 768 .globl sys32_setresuid16_wrapper
1da177e4 769sys32_setresuid16_wrapper:
25d83cbf
HC
770 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
771 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
772 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
1da177e4
LT
773 jg sys32_setresuid16 # branch to system call
774
25d83cbf 775 .globl sys32_getresuid16_wrapper
1da177e4
LT
776sys32_getresuid16_wrapper:
777 llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
778 llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
779 llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
780 jg sys32_getresuid16 # branch to system call
781
25d83cbf 782 .globl sys32_poll_wrapper
1da177e4 783sys32_poll_wrapper:
25d83cbf
HC
784 llgtr %r2,%r2 # struct pollfd *
785 llgfr %r3,%r3 # unsigned int
786 lgfr %r4,%r4 # long
1da177e4
LT
787 jg sys_poll # branch to system call
788
25d83cbf 789 .globl compat_sys_nfsservctl_wrapper
1da177e4 790compat_sys_nfsservctl_wrapper:
25d83cbf 791 lgfr %r2,%r2 # int
1da177e4
LT
792 llgtr %r3,%r3 # struct compat_nfsctl_arg*
793 llgtr %r4,%r4 # union compat_nfsctl_res*
794 jg compat_sys_nfsservctl # branch to system call
795
25d83cbf 796 .globl sys32_setresgid16_wrapper
1da177e4 797sys32_setresgid16_wrapper:
25d83cbf
HC
798 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
799 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
800 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
1da177e4
LT
801 jg sys32_setresgid16 # branch to system call
802
25d83cbf 803 .globl sys32_getresgid16_wrapper
1da177e4
LT
804sys32_getresgid16_wrapper:
805 llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
806 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
807 llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
808 jg sys32_getresgid16 # branch to system call
809
25d83cbf 810 .globl sys32_prctl_wrapper
1da177e4
LT
811sys32_prctl_wrapper:
812 lgfr %r2,%r2 # int
813 llgfr %r3,%r3 # unsigned long
814 llgfr %r4,%r4 # unsigned long
815 llgfr %r5,%r5 # unsigned long
816 llgfr %r6,%r6 # unsigned long
817 jg sys_prctl # branch to system call
818
25d83cbf 819#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
1da177e4 820
25d83cbf 821 .globl sys32_rt_sigaction_wrapper
1da177e4
LT
822sys32_rt_sigaction_wrapper:
823 lgfr %r2,%r2 # int
824 llgtr %r3,%r3 # const struct sigaction_emu31 *
825 llgtr %r4,%r4 # const struct sigaction_emu31 *
826 llgfr %r5,%r5 # size_t
827 jg sys32_rt_sigaction # branch to system call
828
25d83cbf 829 .globl sys32_rt_sigprocmask_wrapper
1da177e4
LT
830sys32_rt_sigprocmask_wrapper:
831 lgfr %r2,%r2 # int
832 llgtr %r3,%r3 # old_sigset_emu31 *
833 llgtr %r4,%r4 # old_sigset_emu31 *
834 llgfr %r5,%r5 # size_t
835 jg sys32_rt_sigprocmask # branch to system call
836
25d83cbf 837 .globl sys32_rt_sigpending_wrapper
1da177e4
LT
838sys32_rt_sigpending_wrapper:
839 llgtr %r2,%r2 # sigset_emu31 *
840 llgfr %r3,%r3 # size_t
841 jg sys32_rt_sigpending # branch to system call
842
25d83cbf 843 .globl compat_sys_rt_sigtimedwait_wrapper
1da177e4
LT
844compat_sys_rt_sigtimedwait_wrapper:
845 llgtr %r2,%r2 # const sigset_emu31_t *
846 llgtr %r3,%r3 # siginfo_emu31_t *
847 llgtr %r4,%r4 # const struct compat_timespec *
848 llgfr %r5,%r5 # size_t
849 jg compat_sys_rt_sigtimedwait # branch to system call
850
25d83cbf 851 .globl sys32_rt_sigqueueinfo_wrapper
1da177e4
LT
852sys32_rt_sigqueueinfo_wrapper:
853 lgfr %r2,%r2 # int
854 lgfr %r3,%r3 # int
855 llgtr %r4,%r4 # siginfo_emu31_t *
856 jg sys32_rt_sigqueueinfo # branch to system call
857
54dfe5dd
HC
858 .globl compat_sys_rt_sigsuspend_wrapper
859compat_sys_rt_sigsuspend_wrapper:
860 llgtr %r2,%r2 # compat_sigset_t *
861 llgfr %r3,%r3 # compat_size_t
862 jg compat_sys_rt_sigsuspend
1da177e4 863
25d83cbf 864 .globl sys32_pread64_wrapper
1da177e4
LT
865sys32_pread64_wrapper:
866 llgfr %r2,%r2 # unsigned int
867 llgtr %r3,%r3 # char *
868 llgfr %r4,%r4 # size_t
869 llgfr %r5,%r5 # u32
870 llgfr %r6,%r6 # u32
871 jg sys32_pread64 # branch to system call
872
25d83cbf 873 .globl sys32_pwrite64_wrapper
1da177e4
LT
874sys32_pwrite64_wrapper:
875 llgfr %r2,%r2 # unsigned int
876 llgtr %r3,%r3 # const char *
877 llgfr %r4,%r4 # size_t
878 llgfr %r5,%r5 # u32
879 llgfr %r6,%r6 # u32
880 jg sys32_pwrite64 # branch to system call
881
25d83cbf 882 .globl sys32_chown16_wrapper
1da177e4
LT
883sys32_chown16_wrapper:
884 llgtr %r2,%r2 # const char *
25d83cbf
HC
885 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
886 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
1da177e4
LT
887 jg sys32_chown16 # branch to system call
888
25d83cbf 889 .globl sys32_getcwd_wrapper
1da177e4
LT
890sys32_getcwd_wrapper:
891 llgtr %r2,%r2 # char *
892 llgfr %r3,%r3 # unsigned long
893 jg sys_getcwd # branch to system call
894
25d83cbf 895 .globl sys32_capget_wrapper
1da177e4
LT
896sys32_capget_wrapper:
897 llgtr %r2,%r2 # cap_user_header_t
898 llgtr %r3,%r3 # cap_user_data_t
899 jg sys_capget # branch to system call
900
25d83cbf 901 .globl sys32_capset_wrapper
1da177e4
LT
902sys32_capset_wrapper:
903 llgtr %r2,%r2 # cap_user_header_t
904 llgtr %r3,%r3 # const cap_user_data_t
905 jg sys_capset # branch to system call
906
907 .globl sys32_sigaltstack_wrapper
908sys32_sigaltstack_wrapper:
25d83cbf
HC
909 llgtr %r2,%r2 # const stack_emu31_t *
910 llgtr %r3,%r3 # stack_emu31_t *
1da177e4
LT
911 jg sys32_sigaltstack
912
25d83cbf 913 .globl sys32_sendfile_wrapper
1da177e4
LT
914sys32_sendfile_wrapper:
915 lgfr %r2,%r2 # int
916 lgfr %r3,%r3 # int
917 llgtr %r4,%r4 # __kernel_off_emu31_t *
918 llgfr %r5,%r5 # size_t
919 jg sys32_sendfile # branch to system call
920
25d83cbf 921#sys32_vfork_wrapper # done in vfork_glue
1da177e4 922
25d83cbf 923 .globl sys32_truncate64_wrapper
1da177e4
LT
924sys32_truncate64_wrapper:
925 llgtr %r2,%r2 # const char *
926 llgfr %r3,%r3 # unsigned long
927 llgfr %r4,%r4 # unsigned long
928 jg sys32_truncate64 # branch to system call
929
25d83cbf 930 .globl sys32_ftruncate64_wrapper
1da177e4
LT
931sys32_ftruncate64_wrapper:
932 llgfr %r2,%r2 # unsigned int
933 llgfr %r3,%r3 # unsigned long
934 llgfr %r4,%r4 # unsigned long
935 jg sys32_ftruncate64 # branch to system call
936
25d83cbf 937 .globl sys32_lchown_wrapper
1da177e4
LT
938sys32_lchown_wrapper:
939 llgtr %r2,%r2 # const char *
940 llgfr %r3,%r3 # uid_t
941 llgfr %r4,%r4 # gid_t
942 jg sys_lchown # branch to system call
943
25d83cbf
HC
944#sys32_getuid_wrapper # void
945#sys32_getgid_wrapper # void
946#sys32_geteuid_wrapper # void
947#sys32_getegid_wrapper # void
1da177e4
LT
948
949 .globl sys32_setreuid_wrapper
950sys32_setreuid_wrapper:
951 llgfr %r2,%r2 # uid_t
952 llgfr %r3,%r3 # uid_t
953 jg sys_setreuid # branch to system call
954
955 .globl sys32_setregid_wrapper
956sys32_setregid_wrapper:
957 llgfr %r2,%r2 # gid_t
958 llgfr %r3,%r3 # gid_t
959 jg sys_setregid # branch to system call
960
25d83cbf 961 .globl sys32_getgroups_wrapper
1da177e4
LT
962sys32_getgroups_wrapper:
963 lgfr %r2,%r2 # int
964 llgtr %r3,%r3 # gid_t *
965 jg sys_getgroups # branch to system call
966
25d83cbf 967 .globl sys32_setgroups_wrapper
1da177e4
LT
968sys32_setgroups_wrapper:
969 lgfr %r2,%r2 # int
970 llgtr %r3,%r3 # gid_t *
971 jg sys_setgroups # branch to system call
972
25d83cbf 973 .globl sys32_fchown_wrapper
1da177e4
LT
974sys32_fchown_wrapper:
975 llgfr %r2,%r2 # unsigned int
976 llgfr %r3,%r3 # uid_t
977 llgfr %r4,%r4 # gid_t
978 jg sys_fchown # branch to system call
979
25d83cbf 980 .globl sys32_setresuid_wrapper
1da177e4
LT
981sys32_setresuid_wrapper:
982 llgfr %r2,%r2 # uid_t
983 llgfr %r3,%r3 # uid_t
984 llgfr %r4,%r4 # uid_t
985 jg sys_setresuid # branch to system call
986
25d83cbf 987 .globl sys32_getresuid_wrapper
1da177e4
LT
988sys32_getresuid_wrapper:
989 llgtr %r2,%r2 # uid_t *
990 llgtr %r3,%r3 # uid_t *
991 llgtr %r4,%r4 # uid_t *
992 jg sys_getresuid # branch to system call
993
25d83cbf 994 .globl sys32_setresgid_wrapper
1da177e4
LT
995sys32_setresgid_wrapper:
996 llgfr %r2,%r2 # gid_t
997 llgfr %r3,%r3 # gid_t
998 llgfr %r4,%r4 # gid_t
999 jg sys_setresgid # branch to system call
1000
25d83cbf 1001 .globl sys32_getresgid_wrapper
1da177e4
LT
1002sys32_getresgid_wrapper:
1003 llgtr %r2,%r2 # gid_t *
1004 llgtr %r3,%r3 # gid_t *
1005 llgtr %r4,%r4 # gid_t *
1006 jg sys_getresgid # branch to system call
1007
25d83cbf 1008 .globl sys32_chown_wrapper
1da177e4
LT
1009sys32_chown_wrapper:
1010 llgtr %r2,%r2 # const char *
1011 llgfr %r3,%r3 # uid_t
1012 llgfr %r4,%r4 # gid_t
1013 jg sys_chown # branch to system call
1014
25d83cbf 1015 .globl sys32_setuid_wrapper
1da177e4
LT
1016sys32_setuid_wrapper:
1017 llgfr %r2,%r2 # uid_t
1018 jg sys_setuid # branch to system call
1019
25d83cbf 1020 .globl sys32_setgid_wrapper
1da177e4
LT
1021sys32_setgid_wrapper:
1022 llgfr %r2,%r2 # gid_t
1023 jg sys_setgid # branch to system call
1024
25d83cbf 1025 .globl sys32_setfsuid_wrapper
1da177e4
LT
1026sys32_setfsuid_wrapper:
1027 llgfr %r2,%r2 # uid_t
1028 jg sys_setfsuid # branch to system call
1029
25d83cbf 1030 .globl sys32_setfsgid_wrapper
1da177e4
LT
1031sys32_setfsgid_wrapper:
1032 llgfr %r2,%r2 # gid_t
1033 jg sys_setfsgid # branch to system call
1034
25d83cbf 1035 .globl sys32_pivot_root_wrapper
1da177e4
LT
1036sys32_pivot_root_wrapper:
1037 llgtr %r2,%r2 # const char *
1038 llgtr %r3,%r3 # const char *
1039 jg sys_pivot_root # branch to system call
1040
25d83cbf 1041 .globl sys32_mincore_wrapper
1da177e4
LT
1042sys32_mincore_wrapper:
1043 llgfr %r2,%r2 # unsigned long
1044 llgfr %r3,%r3 # size_t
1045 llgtr %r4,%r4 # unsigned char *
1046 jg sys_mincore # branch to system call
1047
25d83cbf 1048 .globl sys32_madvise_wrapper
1da177e4
LT
1049sys32_madvise_wrapper:
1050 llgfr %r2,%r2 # unsigned long
1051 llgfr %r3,%r3 # size_t
1052 lgfr %r4,%r4 # int
1053 jg sys_madvise # branch to system call
1054
25d83cbf 1055 .globl sys32_getdents64_wrapper
1da177e4
LT
1056sys32_getdents64_wrapper:
1057 llgfr %r2,%r2 # unsigned int
1058 llgtr %r3,%r3 # void *
1059 llgfr %r4,%r4 # unsigned int
1060 jg sys_getdents64 # branch to system call
1061
25d83cbf 1062 .globl compat_sys_fcntl64_wrapper
1da177e4
LT
1063compat_sys_fcntl64_wrapper:
1064 llgfr %r2,%r2 # unsigned int
25d83cbf 1065 llgfr %r3,%r3 # unsigned int
1da177e4
LT
1066 llgfr %r4,%r4 # unsigned long
1067 jg compat_sys_fcntl64 # branch to system call
1068
1069 .globl sys32_stat64_wrapper
1070sys32_stat64_wrapper:
1071 llgtr %r2,%r2 # char *
1072 llgtr %r3,%r3 # struct stat64 *
1073 jg sys32_stat64 # branch to system call
1074
1075 .globl sys32_lstat64_wrapper
1076sys32_lstat64_wrapper:
1077 llgtr %r2,%r2 # char *
1078 llgtr %r3,%r3 # struct stat64 *
1079 jg sys32_lstat64 # branch to system call
1080
1081 .globl sys32_stime_wrapper
1082sys32_stime_wrapper:
1083 llgtr %r2,%r2 # long *
1084 jg compat_sys_stime # branch to system call
1085
25d83cbf 1086 .globl sys32_sysctl_wrapper
1da177e4 1087sys32_sysctl_wrapper:
4ddf61ea
EB
1088 llgtr %r2,%r2 # struct compat_sysctl_args *
1089 jg compat_sys_sysctl
1da177e4
LT
1090
1091 .globl sys32_fstat64_wrapper
1092sys32_fstat64_wrapper:
1093 llgfr %r2,%r2 # unsigned long
1094 llgtr %r3,%r3 # struct stat64 *
1095 jg sys32_fstat64 # branch to system call
1096
25d83cbf 1097 .globl compat_sys_futex_wrapper
1da177e4
LT
1098compat_sys_futex_wrapper:
1099 llgtr %r2,%r2 # u32 *
1100 lgfr %r3,%r3 # int
1101 lgfr %r4,%r4 # int
1102 llgtr %r5,%r5 # struct compat_timespec *
1103 llgtr %r6,%r6 # u32 *
1104 lgf %r0,164(%r15) # int
1105 stg %r0,160(%r15)
1106 jg compat_sys_futex # branch to system call
1107
1108 .globl sys32_setxattr_wrapper
1109sys32_setxattr_wrapper:
1110 llgtr %r2,%r2 # char *
1111 llgtr %r3,%r3 # char *
1112 llgtr %r4,%r4 # void *
1113 llgfr %r5,%r5 # size_t
1114 lgfr %r6,%r6 # int
1115 jg sys_setxattr
1116
1117 .globl sys32_lsetxattr_wrapper
1118sys32_lsetxattr_wrapper:
1119 llgtr %r2,%r2 # char *
1120 llgtr %r3,%r3 # char *
1121 llgtr %r4,%r4 # void *
1122 llgfr %r5,%r5 # size_t
1123 lgfr %r6,%r6 # int
1124 jg sys_lsetxattr
1125
1126 .globl sys32_fsetxattr_wrapper
1127sys32_fsetxattr_wrapper:
1128 lgfr %r2,%r2 # int
1129 llgtr %r3,%r3 # char *
1130 llgtr %r4,%r4 # void *
1131 llgfr %r5,%r5 # size_t
1132 lgfr %r6,%r6 # int
1133 jg sys_fsetxattr
1134
1135 .globl sys32_getxattr_wrapper
1136sys32_getxattr_wrapper:
1137 llgtr %r2,%r2 # char *
1138 llgtr %r3,%r3 # char *
1139 llgtr %r4,%r4 # void *
1140 llgfr %r5,%r5 # size_t
1141 jg sys_getxattr
1142
1143 .globl sys32_lgetxattr_wrapper
1144sys32_lgetxattr_wrapper:
1145 llgtr %r2,%r2 # char *
1146 llgtr %r3,%r3 # char *
1147 llgtr %r4,%r4 # void *
1148 llgfr %r5,%r5 # size_t
1149 jg sys_lgetxattr
1150
1151 .globl sys32_fgetxattr_wrapper
1152sys32_fgetxattr_wrapper:
1153 lgfr %r2,%r2 # int
1154 llgtr %r3,%r3 # char *
1155 llgtr %r4,%r4 # void *
1156 llgfr %r5,%r5 # size_t
1157 jg sys_fgetxattr
1158
1159 .globl sys32_listxattr_wrapper
1160sys32_listxattr_wrapper:
1161 llgtr %r2,%r2 # char *
1162 llgtr %r3,%r3 # char *
1163 llgfr %r4,%r4 # size_t
1164 jg sys_listxattr
1165
1166 .globl sys32_llistxattr_wrapper
1167sys32_llistxattr_wrapper:
1168 llgtr %r2,%r2 # char *
1169 llgtr %r3,%r3 # char *
1170 llgfr %r4,%r4 # size_t
1171 jg sys_llistxattr
1172
1173 .globl sys32_flistxattr_wrapper
1174sys32_flistxattr_wrapper:
1175 lgfr %r2,%r2 # int
1176 llgtr %r3,%r3 # char *
1177 llgfr %r4,%r4 # size_t
1178 jg sys_flistxattr
1179
1180 .globl sys32_removexattr_wrapper
1181sys32_removexattr_wrapper:
1182 llgtr %r2,%r2 # char *
1183 llgtr %r3,%r3 # char *
1184 jg sys_removexattr
1185
1186 .globl sys32_lremovexattr_wrapper
1187sys32_lremovexattr_wrapper:
1188 llgtr %r2,%r2 # char *
1189 llgtr %r3,%r3 # char *
1190 jg sys_lremovexattr
1191
1192 .globl sys32_fremovexattr_wrapper
1193sys32_fremovexattr_wrapper:
1194 lgfr %r2,%r2 # int
1195 llgtr %r3,%r3 # char *
1196 jg sys_fremovexattr
1197
1198 .globl sys32_sched_setaffinity_wrapper
1199sys32_sched_setaffinity_wrapper:
1200 lgfr %r2,%r2 # int
1201 llgfr %r3,%r3 # unsigned int
1202 llgtr %r4,%r4 # unsigned long *
1203 jg compat_sys_sched_setaffinity
1204
1205 .globl sys32_sched_getaffinity_wrapper
1206sys32_sched_getaffinity_wrapper:
1207 lgfr %r2,%r2 # int
1208 llgfr %r3,%r3 # unsigned int
1209 llgtr %r4,%r4 # unsigned long *
1210 jg compat_sys_sched_getaffinity
1211
25d83cbf 1212 .globl sys32_exit_group_wrapper
1da177e4
LT
1213sys32_exit_group_wrapper:
1214 lgfr %r2,%r2 # int
1215 jg sys_exit_group # branch to system call
1216
25d83cbf 1217 .globl sys32_set_tid_address_wrapper
1da177e4
LT
1218sys32_set_tid_address_wrapper:
1219 llgtr %r2,%r2 # int *
1220 jg sys_set_tid_address # branch to system call
1221
25d83cbf 1222 .globl sys_epoll_create_wrapper
1da177e4
LT
1223sys_epoll_create_wrapper:
1224 lgfr %r2,%r2 # int
1225 jg sys_epoll_create # branch to system call
1226
25d83cbf 1227 .globl sys_epoll_ctl_wrapper
1da177e4
LT
1228sys_epoll_ctl_wrapper:
1229 lgfr %r2,%r2 # int
1230 lgfr %r3,%r3 # int
1231 lgfr %r4,%r4 # int
1232 llgtr %r5,%r5 # struct epoll_event *
1233 jg sys_epoll_ctl # branch to system call
1234
25d83cbf 1235 .globl sys_epoll_wait_wrapper
1da177e4
LT
1236sys_epoll_wait_wrapper:
1237 lgfr %r2,%r2 # int
1238 llgtr %r3,%r3 # struct epoll_event *
1239 lgfr %r4,%r4 # int
1240 lgfr %r5,%r5 # int
1241 jg sys_epoll_wait # branch to system call
1242
1243 .globl sys32_lookup_dcookie_wrapper
1244sys32_lookup_dcookie_wrapper:
1245 sllg %r2,%r2,32 # get high word of 64bit dcookie
1246 or %r2,%r3 # get low word of 64bit dcookie
1247 llgtr %r3,%r4 # char *
1248 llgfr %r4,%r5 # size_t
1249 jg sys_lookup_dcookie
1250
1251 .globl sys32_fadvise64_wrapper
1252sys32_fadvise64_wrapper:
1253 lgfr %r2,%r2 # int
1254 sllg %r3,%r3,32 # get high word of 64bit loff_t
1255 or %r3,%r4 # get low word of 64bit loff_t
1256 llgfr %r4,%r5 # size_t (unsigned long)
1257 lgfr %r5,%r6 # int
068e1b94 1258 jg sys32_fadvise64
1da177e4
LT
1259
1260 .globl sys32_fadvise64_64_wrapper
1261sys32_fadvise64_64_wrapper:
1262 llgtr %r2,%r2 # struct fadvise64_64_args *
068e1b94 1263 jg sys32_fadvise64_64
1da177e4
LT
1264
1265 .globl sys32_clock_settime_wrapper
1266sys32_clock_settime_wrapper:
1267 lgfr %r2,%r2 # clockid_t (int)
1268 llgtr %r3,%r3 # struct compat_timespec *
1269 jg compat_sys_clock_settime
1270
1271 .globl sys32_clock_gettime_wrapper
1272sys32_clock_gettime_wrapper:
1273 lgfr %r2,%r2 # clockid_t (int)
1274 llgtr %r3,%r3 # struct compat_timespec *
1275 jg compat_sys_clock_gettime
1276
1277 .globl sys32_clock_getres_wrapper
1278sys32_clock_getres_wrapper:
1279 lgfr %r2,%r2 # clockid_t (int)
1280 llgtr %r3,%r3 # struct compat_timespec *
1281 jg compat_sys_clock_getres
1282
1283 .globl sys32_clock_nanosleep_wrapper
1284sys32_clock_nanosleep_wrapper:
1285 lgfr %r2,%r2 # clockid_t (int)
1286 lgfr %r3,%r3 # int
1287 llgtr %r4,%r4 # struct compat_timespec *
1288 llgtr %r5,%r5 # struct compat_timespec *
1289 jg compat_sys_clock_nanosleep
1290
1291 .globl sys32_timer_create_wrapper
1292sys32_timer_create_wrapper:
1293 lgfr %r2,%r2 # timer_t (int)
1294 llgtr %r3,%r3 # struct compat_sigevent *
1295 llgtr %r4,%r4 # timer_t *
3a0f69d5 1296 jg compat_sys_timer_create
1da177e4
LT
1297
1298 .globl sys32_timer_settime_wrapper
1299sys32_timer_settime_wrapper:
1300 lgfr %r2,%r2 # timer_t (int)
1301 lgfr %r3,%r3 # int
1302 llgtr %r4,%r4 # struct compat_itimerspec *
1303 llgtr %r5,%r5 # struct compat_itimerspec *
1304 jg compat_sys_timer_settime
1305
1306 .globl sys32_timer_gettime_wrapper
1307sys32_timer_gettime_wrapper:
1308 lgfr %r2,%r2 # timer_t (int)
1309 llgtr %r3,%r3 # struct compat_itimerspec *
1310 jg compat_sys_timer_gettime
1311
1312 .globl sys32_timer_getoverrun_wrapper
1313sys32_timer_getoverrun_wrapper:
1314 lgfr %r2,%r2 # timer_t (int)
1315 jg sys_timer_getoverrun
1316
1317 .globl sys32_timer_delete_wrapper
1318sys32_timer_delete_wrapper:
1319 lgfr %r2,%r2 # timer_t (int)
1320 jg sys_timer_delete
1321
1322 .globl sys32_io_setup_wrapper
1323sys32_io_setup_wrapper:
1324 llgfr %r2,%r2 # unsigned int
1325 llgtr %r3,%r3 # u32 *
1326 jg compat_sys_io_setup
1327
1328 .globl sys32_io_destroy_wrapper
1329sys32_io_destroy_wrapper:
1330 llgfr %r2,%r2 # (aio_context_t) u32
1331 jg sys_io_destroy
1332
1333 .globl sys32_io_getevents_wrapper
1334sys32_io_getevents_wrapper:
1335 llgfr %r2,%r2 # (aio_context_t) u32
1336 lgfr %r3,%r3 # long
1337 lgfr %r4,%r4 # long
1338 llgtr %r5,%r5 # struct io_event *
1339 llgtr %r6,%r6 # struct compat_timespec *
1340 jg compat_sys_io_getevents
1341
1342 .globl sys32_io_submit_wrapper
1343sys32_io_submit_wrapper:
1344 llgfr %r2,%r2 # (aio_context_t) u32
1345 lgfr %r3,%r3 # long
1346 llgtr %r4,%r4 # struct iocb **
1347 jg compat_sys_io_submit
1348
1349 .globl sys32_io_cancel_wrapper
1350sys32_io_cancel_wrapper:
1351 llgfr %r2,%r2 # (aio_context_t) u32
1352 llgtr %r3,%r3 # struct iocb *
1353 llgtr %r4,%r4 # struct io_event *
1354 jg sys_io_cancel
1355
1356 .globl compat_sys_statfs64_wrapper
1357compat_sys_statfs64_wrapper:
1358 llgtr %r2,%r2 # const char *
1359 llgfr %r3,%r3 # compat_size_t
1360 llgtr %r4,%r4 # struct compat_statfs64 *
1361 jg compat_sys_statfs64
1362
1363 .globl compat_sys_fstatfs64_wrapper
1364compat_sys_fstatfs64_wrapper:
1365 llgfr %r2,%r2 # unsigned int fd
1366 llgfr %r3,%r3 # compat_size_t
1367 llgtr %r4,%r4 # struct compat_statfs64 *
1368 jg compat_sys_fstatfs64
1369
1370 .globl compat_sys_mq_open_wrapper
1371compat_sys_mq_open_wrapper:
1372 llgtr %r2,%r2 # const char *
1373 lgfr %r3,%r3 # int
1374 llgfr %r4,%r4 # mode_t
1375 llgtr %r5,%r5 # struct compat_mq_attr *
1376 jg compat_sys_mq_open
1377
1378 .globl sys32_mq_unlink_wrapper
1379sys32_mq_unlink_wrapper:
1380 llgtr %r2,%r2 # const char *
1381 jg sys_mq_unlink
1382
1383 .globl compat_sys_mq_timedsend_wrapper
1384compat_sys_mq_timedsend_wrapper:
1385 lgfr %r2,%r2 # mqd_t
1386 llgtr %r3,%r3 # const char *
1387 llgfr %r4,%r4 # size_t
1388 llgfr %r5,%r5 # unsigned int
1389 llgtr %r6,%r6 # const struct compat_timespec *
1390 jg compat_sys_mq_timedsend
1391
1392 .globl compat_sys_mq_timedreceive_wrapper
1393compat_sys_mq_timedreceive_wrapper:
1394 lgfr %r2,%r2 # mqd_t
1395 llgtr %r3,%r3 # char *
1396 llgfr %r4,%r4 # size_t
1397 llgtr %r5,%r5 # unsigned int *
1398 llgtr %r6,%r6 # const struct compat_timespec *
1399 jg compat_sys_mq_timedreceive
1400
1401 .globl compat_sys_mq_notify_wrapper
1402compat_sys_mq_notify_wrapper:
1403 lgfr %r2,%r2 # mqd_t
1404 llgtr %r3,%r3 # struct compat_sigevent *
1405 jg compat_sys_mq_notify
1406
1407 .globl compat_sys_mq_getsetattr_wrapper
1408compat_sys_mq_getsetattr_wrapper:
1409 lgfr %r2,%r2 # mqd_t
1410 llgtr %r3,%r3 # struct compat_mq_attr *
1411 llgtr %r4,%r4 # struct compat_mq_attr *
1412 jg compat_sys_mq_getsetattr
1413
1414 .globl compat_sys_add_key_wrapper
1415compat_sys_add_key_wrapper:
1416 llgtr %r2,%r2 # const char *
1417 llgtr %r3,%r3 # const char *
1418 llgtr %r4,%r4 # const void *
1419 llgfr %r5,%r5 # size_t
1420 llgfr %r6,%r6 # (key_serial_t) u32
1421 jg sys_add_key
1422
1423 .globl compat_sys_request_key_wrapper
1424compat_sys_request_key_wrapper:
1425 llgtr %r2,%r2 # const char *
1426 llgtr %r3,%r3 # const char *
1427 llgtr %r4,%r4 # const void *
1428 llgfr %r5,%r5 # (key_serial_t) u32
1429 jg sys_request_key
1430
1431 .globl sys32_remap_file_pages_wrapper
1432sys32_remap_file_pages_wrapper:
1433 llgfr %r2,%r2 # unsigned long
1434 llgfr %r3,%r3 # unsigned long
1435 llgfr %r4,%r4 # unsigned long
1436 llgfr %r5,%r5 # unsigned long
1437 llgfr %r6,%r6 # unsigned long
1438 jg sys_remap_file_pages
1439
1440 .globl compat_sys_waitid_wrapper
1441compat_sys_waitid_wrapper:
1442 lgfr %r2,%r2 # int
1443 lgfr %r3,%r3 # pid_t
1444 llgtr %r4,%r4 # siginfo_emu31_t *
1445 lgfr %r5,%r5 # int
1446 llgtr %r6,%r6 # struct rusage_emu31 *
1447 jg compat_sys_waitid
cf13f0ea
HC
1448
1449 .globl compat_sys_kexec_load_wrapper
1450compat_sys_kexec_load_wrapper:
1451 llgfr %r2,%r2 # unsigned long
1452 llgfr %r3,%r3 # unsigned long
1453 llgtr %r4,%r4 # struct kexec_segment *
1454 llgfr %r5,%r5 # unsigned long
1455 jg compat_sys_kexec_load
d2013485
MS
1456
1457 .globl sys_ioprio_set_wrapper
1458sys_ioprio_set_wrapper:
1459 lgfr %r2,%r2 # int
1460 lgfr %r3,%r3 # int
1461 lgfr %r4,%r4 # int
1462 jg sys_ioprio_set
1463
1464 .globl sys_ioprio_get_wrapper
1465sys_ioprio_get_wrapper:
1466 lgfr %r2,%r2 # int
1467 lgfr %r3,%r3 # int
1468 jg sys_ioprio_get
1469
1470 .globl sys_inotify_add_watch_wrapper
1471sys_inotify_add_watch_wrapper:
1472 lgfr %r2,%r2 # int
1473 llgtr %r3,%r3 # const char *
1474 llgfr %r4,%r4 # u32
1475 jg sys_inotify_add_watch
1476
1477 .globl sys_inotify_rm_watch_wrapper
1478sys_inotify_rm_watch_wrapper:
1479 lgfr %r2,%r2 # int
1480 llgfr %r3,%r3 # u32
1481 jg sys_inotify_rm_watch
54dfe5dd
HC
1482
1483 .globl compat_sys_openat_wrapper
1484compat_sys_openat_wrapper:
cd2d2bf6 1485 llgfr %r2,%r2 # unsigned int
54dfe5dd
HC
1486 llgtr %r3,%r3 # const char *
1487 lgfr %r4,%r4 # int
1488 lgfr %r5,%r5 # int
1489 jg compat_sys_openat
1490
1491 .globl sys_mkdirat_wrapper
1492sys_mkdirat_wrapper:
1493 lgfr %r2,%r2 # int
1494 llgtr %r3,%r3 # const char *
1495 lgfr %r4,%r4 # int
1496 jg sys_mkdirat
1497
1498 .globl sys_mknodat_wrapper
1499sys_mknodat_wrapper:
1500 lgfr %r2,%r2 # int
1501 llgtr %r3,%r3 # const char *
1502 lgfr %r4,%r4 # int
1503 llgfr %r5,%r5 # unsigned int
1504 jg sys_mknodat
1505
1506 .globl sys_fchownat_wrapper
1507sys_fchownat_wrapper:
1508 lgfr %r2,%r2 # int
1509 llgtr %r3,%r3 # const char *
1510 llgfr %r4,%r4 # uid_t
1511 llgfr %r5,%r5 # gid_t
1512 lgfr %r6,%r6 # int
1513 jg sys_fchownat
1514
1515 .globl compat_sys_futimesat_wrapper
1516compat_sys_futimesat_wrapper:
cd2d2bf6 1517 llgfr %r2,%r2 # unsigned int
54dfe5dd
HC
1518 llgtr %r3,%r3 # char *
1519 llgtr %r4,%r4 # struct timeval *
1520 jg compat_sys_futimesat
1521
ed3d021b
HC
1522 .globl sys32_fstatat64_wrapper
1523sys32_fstatat64_wrapper:
cd2d2bf6 1524 llgfr %r2,%r2 # unsigned int
54dfe5dd 1525 llgtr %r3,%r3 # char *
19bf9cbf 1526 llgtr %r4,%r4 # struct stat64 *
54dfe5dd 1527 lgfr %r5,%r5 # int
ed3d021b 1528 jg sys32_fstatat64
54dfe5dd
HC
1529
1530 .globl sys_unlinkat_wrapper
1531sys_unlinkat_wrapper:
1532 lgfr %r2,%r2 # int
1533 llgtr %r3,%r3 # const char *
1534 lgfr %r4,%r4 # int
1535 jg sys_unlinkat
1536
1537 .globl sys_renameat_wrapper
1538sys_renameat_wrapper:
1539 lgfr %r2,%r2 # int
1540 llgtr %r3,%r3 # const char *
1541 lgfr %r4,%r4 # int
1542 llgtr %r5,%r5 # const char *
1543 jg sys_renameat
1544
1545 .globl sys_linkat_wrapper
1546sys_linkat_wrapper:
1547 lgfr %r2,%r2 # int
1548 llgtr %r3,%r3 # const char *
1549 lgfr %r4,%r4 # int
1550 llgtr %r5,%r5 # const char *
c04030e1 1551 lgfr %r6,%r6 # int
54dfe5dd
HC
1552 jg sys_linkat
1553
1554 .globl sys_symlinkat_wrapper
1555sys_symlinkat_wrapper:
1556 llgtr %r2,%r2 # const char *
1557 lgfr %r3,%r3 # int
1558 llgtr %r4,%r4 # const char *
1559 jg sys_symlinkat
1560
1561 .globl sys_readlinkat_wrapper
1562sys_readlinkat_wrapper:
1563 lgfr %r2,%r2 # int
1564 llgtr %r3,%r3 # const char *
1565 llgtr %r4,%r4 # char *
1566 lgfr %r5,%r5 # int
1567 jg sys_readlinkat
1568
1569 .globl sys_fchmodat_wrapper
1570sys_fchmodat_wrapper:
1571 lgfr %r2,%r2 # int
1572 llgtr %r3,%r3 # const char *
1573 llgfr %r4,%r4 # mode_t
1574 jg sys_fchmodat
1575
1576 .globl sys_faccessat_wrapper
1577sys_faccessat_wrapper:
1578 lgfr %r2,%r2 # int
1579 llgtr %r3,%r3 # const char *
1580 lgfr %r4,%r4 # int
1581 jg sys_faccessat
1582
1583 .globl compat_sys_pselect6_wrapper
1584compat_sys_pselect6_wrapper:
1585 lgfr %r2,%r2 # int
1586 llgtr %r3,%r3 # fd_set *
1587 llgtr %r4,%r4 # fd_set *
1588 llgtr %r5,%r5 # fd_set *
1589 llgtr %r6,%r6 # struct timespec *
1590 llgt %r0,164(%r15) # void *
1591 stg %r0,160(%r15)
1592 jg compat_sys_pselect6
1593
1594 .globl compat_sys_ppoll_wrapper
1595compat_sys_ppoll_wrapper:
1596 llgtr %r2,%r2 # struct pollfd *
1597 llgfr %r3,%r3 # unsigned int
1598 llgtr %r4,%r4 # struct timespec *
1599 llgtr %r5,%r5 # const sigset_t *
1600 llgfr %r6,%r6 # size_t
1601 jg compat_sys_ppoll
e7684277
HC
1602
1603 .globl sys_unshare_wrapper
1604sys_unshare_wrapper:
1605 llgfr %r2,%r2 # unsigned long
1606 jg sys_unshare
a3266a93
MS
1607
1608 .globl compat_sys_set_robust_list_wrapper
1609compat_sys_set_robust_list_wrapper:
1610 llgtr %r2,%r2 # struct compat_robust_list_head *
1611 llgfr %r3,%r3 # size_t
1612 jg compat_sys_set_robust_list
1613
1614 .globl compat_sys_get_robust_list_wrapper
1615compat_sys_get_robust_list_wrapper:
1616 lgfr %r2,%r2 # int
1617 llgtr %r3,%r3 # compat_uptr_t_t *
1618 llgtr %r4,%r4 # compat_size_t *
1619 jg compat_sys_get_robust_list
1620
1621 .globl sys_splice_wrapper
1622sys_splice_wrapper:
1623 lgfr %r2,%r2 # int
1624 llgtr %r3,%r3 # loff_t *
1625 lgfr %r4,%r4 # int
1626 llgtr %r5,%r5 # loff_t *
1627 llgfr %r6,%r6 # size_t
1628 llgf %r0,164(%r15) # unsigned int
1629 stg %r0,160(%r15)
1630 jg sys_splice
1631
1632 .globl sys_sync_file_range_wrapper
1633sys_sync_file_range_wrapper:
1634 lgfr %r2,%r2 # int
1635 sllg %r3,%r3,32 # get high word of 64bit loff_t
1636 or %r3,%r4 # get low word of 64bit loff_t
1637 sllg %r4,%r5,32 # get high word of 64bit loff_t
1638 or %r4,%r6 # get low word of 64bit loff_t
1639 llgf %r5,164(%r15) # unsigned int
1640 jg sys_sync_file_range
1641
1642 .globl sys_tee_wrapper
1643sys_tee_wrapper:
1644 lgfr %r2,%r2 # int
1645 lgfr %r3,%r3 # int
1646 llgfr %r4,%r4 # size_t
1647 llgfr %r5,%r5 # unsigned int
1648 jg sys_tee
01596778
MS
1649
1650 .globl compat_sys_vmsplice_wrapper
1651compat_sys_vmsplice_wrapper:
1652 lgfr %r2,%r2 # int
1653 llgtr %r3,%r3 # compat_iovec *
1654 llgfr %r4,%r4 # unsigned int
1655 llgfr %r5,%r5 # unsigned int
1656 jg compat_sys_vmsplice
8abfe01d
HC
1657
1658 .globl sys_getcpu_wrapper
1659sys_getcpu_wrapper:
1660 llgtr %r2,%r2 # unsigned *
1661 llgtr %r3,%r3 # unsigned *
1662 llgtr %r4,%r4 # struct getcpu_cache *
f4880391 1663 jg sys_getcpu
10c16a37
HC
1664
1665 .globl compat_sys_epoll_pwait_wrapper
1666compat_sys_epoll_pwait_wrapper:
1667 lgfr %r2,%r2 # int
1668 llgtr %r3,%r3 # struct compat_epoll_event *
1669 lgfr %r4,%r4 # int
1670 lgfr %r5,%r5 # int
1671 llgtr %r6,%r6 # compat_sigset_t *
1672 llgf %r0,164(%r15) # compat_size_t
1673 stg %r0,160(%r15)
1674 jg compat_sys_epoll_pwait
fb1c1719
HC
1675
1676 .globl compat_sys_utimes_wrapper
1677compat_sys_utimes_wrapper:
1678 llgtr %r2,%r2 # char *
1679 llgtr %r3,%r3 # struct compat_timeval *
1680 jg compat_sys_utimes
fd5d8bf0
HC
1681
1682 .globl compat_sys_utimensat_wrapper
1683compat_sys_utimensat_wrapper:
1684 llgfr %r2,%r2 # unsigned int
1685 llgtr %r3,%r3 # char *
1686 llgtr %r4,%r4 # struct compat_timespec *
1687 lgfr %r5,%r5 # int
1688 jg compat_sys_utimensat
913f11ee
HC
1689
1690 .globl compat_sys_signalfd_wrapper
1691compat_sys_signalfd_wrapper:
1692 lgfr %r2,%r2 # int
1693 llgtr %r3,%r3 # compat_sigset_t *
1694 llgfr %r4,%r4 # compat_size_t
1695 jg compat_sys_signalfd
1696
913f11ee
HC
1697 .globl sys_eventfd_wrapper
1698sys_eventfd_wrapper:
1699 llgfr %r2,%r2 # unsigned int
1700 jg sys_eventfd
7a8e0c8d
MS
1701
1702 .globl sys_fallocate_wrapper
1703sys_fallocate_wrapper:
1704 lgfr %r2,%r2 # int
1705 lgfr %r3,%r3 # int
1706 sllg %r4,%r4,32 # get high word of 64bit loff_t
1707 lr %r4,%r5 # get low word of 64bit loff_t
1708 sllg %r5,%r6,32 # get high word of 64bit loff_t
1709 l %r5,164(%r15) # get low word of 64bit loff_t
1710 jg sys_fallocate
1ee92a1c
HC
1711
1712 .globl sys_timerfd_create_wrapper
1713sys_timerfd_create_wrapper:
1714 lgfr %r2,%r2 # int
1715 lgfr %r3,%r3 # int
1716 jg sys_timerfd_create
1717
1718 .globl compat_sys_timerfd_settime_wrapper
1719compat_sys_timerfd_settime_wrapper:
1720 lgfr %r2,%r2 # int
1721 lgfr %r3,%r3 # int
1722 llgtr %r4,%r4 # struct compat_itimerspec *
1723 llgtr %r5,%r5 # struct compat_itimerspec *
1724 jg compat_sys_timerfd_settime
1725
1726 .globl compat_sys_timerfd_gettime_wrapper
1727compat_sys_timerfd_gettime_wrapper:
1728 lgfr %r2,%r2 # int
1729 llgtr %r3,%r3 # struct compat_itimerspec *
1730 jg compat_sys_timerfd_gettime
519620cc
HC
1731
1732 .globl compat_sys_signalfd4_wrapper
1733compat_sys_signalfd4_wrapper:
1734 lgfr %r2,%r2 # int
1735 llgtr %r3,%r3 # compat_sigset_t *
1736 llgfr %r4,%r4 # compat_size_t
1737 lgfr %r5,%r5 # int
1738 jg compat_sys_signalfd4
1739
1740 .globl sys_eventfd2_wrapper
1741sys_eventfd2_wrapper:
1742 llgfr %r2,%r2 # unsigned int
1743 lgfr %r3,%r3 # int
1744 jg sys_eventfd2
1745
1746 .globl sys_inotify_init1_wrapper
1747sys_inotify_init1_wrapper:
1748 lgfr %r2,%r2 # int
1749 jg sys_inotify_init1
1750
1751 .globl sys_pipe2_wrapper
1752sys_pipe2_wrapper:
1753 llgtr %r2,%r2 # u32 *
1754 lgfr %r3,%r3 # int
1755 jg sys_pipe2 # branch to system call
1756
1757 .globl sys_dup3_wrapper
1758sys_dup3_wrapper:
1759 llgfr %r2,%r2 # unsigned int
1760 llgfr %r3,%r3 # unsigned int
1761 lgfr %r4,%r4 # int
1762 jg sys_dup3 # branch to system call
1763
1764 .globl sys_epoll_create1_wrapper
1765sys_epoll_create1_wrapper:
1766 lgfr %r2,%r2 # int
1767 jg sys_epoll_create1 # branch to system call
e34a6280
MH
1768
1769 .globl sys32_readahead_wrapper
1770sys32_readahead_wrapper:
1771 lgfr %r2,%r2 # int
1772 llgfr %r3,%r3 # u32
1773 llgfr %r4,%r4 # u32
1774 lgfr %r5,%r5 # s32
1775 jg sys32_readahead # branch to system call
1776
1777 .globl sys32_sendfile64_wrapper
1778sys32_sendfile64_wrapper:
1779 lgfr %r2,%r2 # int
1780 lgfr %r3,%r3 # int
1781 llgtr %r4,%r4 # compat_loff_t *
1782 lgfr %r5,%r5 # s32
1783 jg sys32_sendfile64 # branch to system call
1784
1785 .globl sys_tkill_wrapper
1786sys_tkill_wrapper:
1787 lgfr %r2,%r2 # pid_t
1788 lgfr %r3,%r3 # int
1789 jg sys_tkill # branch to system call
1790
1791 .globl sys_tgkill_wrapper
1792sys_tgkill_wrapper:
1793 lgfr %r2,%r2 # pid_t
1794 lgfr %r3,%r3 # pid_t
1795 lgfr %r4,%r4 # int
1796 jg sys_tgkill # branch to system call
1797
1798 .globl compat_sys_keyctl_wrapper
1799compat_sys_keyctl_wrapper:
1800 llgfr %r2,%r2 # u32
1801 llgfr %r3,%r3 # u32
1802 llgfr %r4,%r4 # u32
1803 llgfr %r5,%r5 # u32
1804 llgfr %r6,%r6 # u32
1805 jg compat_sys_keyctl # branch to system call
a93e11f9
HC
1806
1807 .globl compat_sys_preadv_wrapper
1808compat_sys_preadv_wrapper:
1809 llgfr %r2,%r2 # unsigned long
1810 llgtr %r3,%r3 # compat_iovec *
1811 llgfr %r4,%r4 # unsigned long
1812 llgfr %r5,%r5 # u32
1813 llgfr %r6,%r6 # u32
1814 jg compat_sys_preadv # branch to system call
1815
1816 .globl compat_sys_pwritev_wrapper
1817compat_sys_pwritev_wrapper:
1818 llgfr %r2,%r2 # unsigned long
1819 llgtr %r3,%r3 # compat_iovec *
1820 llgfr %r4,%r4 # unsigned long
1821 llgfr %r5,%r5 # u32
1822 llgfr %r6,%r6 # u32
1823 jg compat_sys_pwritev # branch to system call
fc39453d
HC
1824
1825 .globl compat_sys_rt_tgsigqueueinfo_wrapper
1826compat_sys_rt_tgsigqueueinfo_wrapper:
1827 lgfr %r2,%r2 # compat_pid_t
1828 lgfr %r3,%r3 # compat_pid_t
1829 lgfr %r4,%r4 # int
1830 llgtr %r5,%r5 # struct compat_siginfo *
1831 jg compat_sys_rt_tgsigqueueinfo_wrapper # branch to system call
310d6b67 1832
cdd6c482
IM
1833 .globl sys_perf_event_open_wrapper
1834sys_perf_event_open_wrapper:
1835 llgtr %r2,%r2 # const struct perf_event_attr *
310d6b67
HC
1836 lgfr %r3,%r3 # pid_t
1837 lgfr %r4,%r4 # int
1838 lgfr %r5,%r5 # int
1839 llgfr %r6,%r6 # unsigned long
cdd6c482 1840 jg sys_perf_event_open # branch to system call
2d70ca23
HC
1841
1842 .globl sys_clone_wrapper
1843sys_clone_wrapper:
1844 llgfr %r2,%r2 # unsigned long
1845 llgfr %r3,%r3 # unsigned long
1846 llgtr %r4,%r4 # int *
1847 llgtr %r5,%r5 # int *
1848 jg sys_clone # branch to system call
3e86a8c6
HC
1849
1850 .globl sys32_execve_wrapper
1851sys32_execve_wrapper:
1852 llgtr %r2,%r2 # char *
1853 llgtr %r3,%r3 # compat_uptr_t *
1854 llgtr %r4,%r4 # compat_uptr_t *
1855 jg sys32_execve # branch to system call
b47ac63c
HC
1856
1857 .globl sys_fanotify_init_wrapper
1858sys_fanotify_init_wrapper:
1859 llgfr %r2,%r2 # unsigned int
1860 llgfr %r3,%r3 # unsigned int
1861 jg sys_fanotify_init # branch to system call
1862
1863 .globl sys_fanotify_mark_wrapper
1864sys_fanotify_mark_wrapper:
1865 lgfr %r2,%r2 # int
1866 llgfr %r3,%r3 # unsigned int
1867 sllg %r4,%r4,32 # get high word of 64bit mask
1868 lr %r4,%r5 # get low word of 64bit mask
1869 llgfr %r5,%r6 # unsigned int
1870 llgt %r6,164(%r15) # char *
1871 jg sys_fanotify_mark # branch to system call
1872
1873 .globl sys_prlimit64_wrapper
1874sys_prlimit64_wrapper:
1875 lgfr %r2,%r2 # pid_t
1876 llgfr %r3,%r3 # unsigned int
1877 llgtr %r4,%r4 # const struct rlimit64 __user *
1878 llgtr %r5,%r5 # struct rlimit64 __user *
1879 jg sys_prlimit64 # branch to system call