blob: 3afba804fe97e9e9eb19ee9f2040cf3466f23361 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07002* wrapper for 31 bit compatible system calls.
3*
Heiko Carstensa53c8fa2012-07-20 11:15:04 +02004* Copyright IBM Corp. 2000, 2006
Linus Torvalds1da177e2005-04-16 15:20:36 -07005* Author(s): Gerhard Tonn (ton@de.ibm.com),
Heiko Carstens25d83cb2006-09-28 16:56:37 +02006* Thomas Spatzier (tspat@de.ibm.com)
7*/
Linus Torvalds1da177e2005-04-16 15:20:36 -07008
Jan Glauber144d6342011-07-24 10:48:19 +02009#include <linux/linkage.h>
10
11ENTRY(sys32_exit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 lgfr %r2,%r2 # int
13 jg sys_exit # branch to sys_exit
Heiko Carstens25d83cb2006-09-28 16:56:37 +020014
Jan Glauber144d6342011-07-24 10:48:19 +020015ENTRY(sys32_read_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 llgfr %r2,%r2 # unsigned int
17 llgtr %r3,%r3 # char *
18 llgfr %r4,%r4 # size_t
19 jg sys32_read # branch to sys_read
20
Jan Glauber144d6342011-07-24 10:48:19 +020021ENTRY(sys32_write_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 llgfr %r2,%r2 # unsigned int
23 llgtr %r3,%r3 # const char *
24 llgfr %r4,%r4 # size_t
25 jg sys32_write # branch to system call
26
Jan Glauber144d6342011-07-24 10:48:19 +020027ENTRY(sys32_open_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070028 llgtr %r2,%r2 # const char *
29 lgfr %r3,%r3 # int
30 lgfr %r4,%r4 # int
31 jg sys_open # branch to system call
32
Jan Glauber144d6342011-07-24 10:48:19 +020033ENTRY(sys32_close_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070034 llgfr %r2,%r2 # unsigned int
35 jg sys_close # branch to system call
36
Jan Glauber144d6342011-07-24 10:48:19 +020037ENTRY(sys32_creat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 llgtr %r2,%r2 # const char *
39 lgfr %r3,%r3 # int
40 jg sys_creat # branch to system call
41
Jan Glauber144d6342011-07-24 10:48:19 +020042ENTRY(sys32_link_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 llgtr %r2,%r2 # const char *
44 llgtr %r3,%r3 # const char *
45 jg sys_link # branch to system call
46
Jan Glauber144d6342011-07-24 10:48:19 +020047ENTRY(sys32_unlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070048 llgtr %r2,%r2 # const char *
49 jg sys_unlink # branch to system call
50
Jan Glauber144d6342011-07-24 10:48:19 +020051ENTRY(sys32_chdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070052 llgtr %r2,%r2 # const char *
53 jg sys_chdir # branch to system call
54
Jan Glauber144d6342011-07-24 10:48:19 +020055ENTRY(sys32_time_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070056 llgtr %r2,%r2 # int *
57 jg compat_sys_time # branch to system call
58
Jan Glauber144d6342011-07-24 10:48:19 +020059ENTRY(sys32_mknod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +020061 lgfr %r3,%r3 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -070062 llgfr %r4,%r4 # dev
63 jg sys_mknod # branch to system call
64
Jan Glauber144d6342011-07-24 10:48:19 +020065ENTRY(sys32_chmod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070066 llgtr %r2,%r2 # const char *
67 llgfr %r3,%r3 # mode_t
68 jg sys_chmod # branch to system call
69
Jan Glauber144d6342011-07-24 10:48:19 +020070ENTRY(sys32_lchown16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070071 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +020072 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
73 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 jg sys32_lchown16 # branch to system call
75
Jan Glauber144d6342011-07-24 10:48:19 +020076ENTRY(sys32_lseek_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 llgfr %r2,%r2 # unsigned int
78 lgfr %r3,%r3 # off_t
79 llgfr %r4,%r4 # unsigned int
80 jg sys_lseek # branch to system call
81
Heiko Carstens25d83cb2006-09-28 16:56:37 +020082#sys32_getpid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -070083
Jan Glauber144d6342011-07-24 10:48:19 +020084ENTRY(sys32_mount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070085 llgtr %r2,%r2 # char *
86 llgtr %r3,%r3 # char *
87 llgtr %r4,%r4 # char *
88 llgfr %r5,%r5 # unsigned long
89 llgtr %r6,%r6 # void *
90 jg compat_sys_mount # branch to system call
91
Jan Glauber144d6342011-07-24 10:48:19 +020092ENTRY(sys32_oldumount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 llgtr %r2,%r2 # char *
94 jg sys_oldumount # branch to system call
95
Jan Glauber144d6342011-07-24 10:48:19 +020096ENTRY(sys32_setuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +020097 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -070098 jg sys32_setuid16 # branch to system call
99
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200100#sys32_getuid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101
Jan Glauber144d6342011-07-24 10:48:19 +0200102ENTRY(sys32_ptrace_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103 lgfr %r2,%r2 # long
104 lgfr %r3,%r3 # long
105 llgtr %r4,%r4 # long
106 llgfr %r5,%r5 # long
Roland McGrathb499d762008-05-07 09:22:57 +0200107 jg compat_sys_ptrace # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108
Jan Glauber144d6342011-07-24 10:48:19 +0200109ENTRY(sys32_alarm_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110 llgfr %r2,%r2 # unsigned int
111 jg sys_alarm # branch to system call
112
Jan Glauber144d6342011-07-24 10:48:19 +0200113ENTRY(compat_sys_utime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114 llgtr %r2,%r2 # char *
115 llgtr %r3,%r3 # struct compat_utimbuf *
116 jg compat_sys_utime # branch to system call
117
Jan Glauber144d6342011-07-24 10:48:19 +0200118ENTRY(sys32_access_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 llgtr %r2,%r2 # const char *
120 lgfr %r3,%r3 # int
121 jg sys_access # branch to system call
122
Jan Glauber144d6342011-07-24 10:48:19 +0200123ENTRY(sys32_nice_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 lgfr %r2,%r2 # int
125 jg sys_nice # branch to system call
126
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200127#sys32_sync_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128
Jan Glauber144d6342011-07-24 10:48:19 +0200129ENTRY(sys32_kill_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130 lgfr %r2,%r2 # int
131 lgfr %r3,%r3 # int
132 jg sys_kill # branch to system call
133
Jan Glauber144d6342011-07-24 10:48:19 +0200134ENTRY(sys32_rename_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135 llgtr %r2,%r2 # const char *
136 llgtr %r3,%r3 # const char *
137 jg sys_rename # branch to system call
138
Jan Glauber144d6342011-07-24 10:48:19 +0200139ENTRY(sys32_mkdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140 llgtr %r2,%r2 # const char *
141 lgfr %r3,%r3 # int
142 jg sys_mkdir # branch to system call
143
Jan Glauber144d6342011-07-24 10:48:19 +0200144ENTRY(sys32_rmdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145 llgtr %r2,%r2 # const char *
146 jg sys_rmdir # branch to system call
147
Jan Glauber144d6342011-07-24 10:48:19 +0200148ENTRY(sys32_dup_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149 llgfr %r2,%r2 # unsigned int
150 jg sys_dup # branch to system call
151
Jan Glauber144d6342011-07-24 10:48:19 +0200152ENTRY(sys32_pipe_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153 llgtr %r2,%r2 # u32 *
154 jg sys_pipe # branch to system call
155
Jan Glauber144d6342011-07-24 10:48:19 +0200156ENTRY(compat_sys_times_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157 llgtr %r2,%r2 # struct compat_tms *
158 jg compat_sys_times # branch to system call
159
Jan Glauber144d6342011-07-24 10:48:19 +0200160ENTRY(sys32_brk_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 llgtr %r2,%r2 # unsigned long
162 jg sys_brk # branch to system call
163
Jan Glauber144d6342011-07-24 10:48:19 +0200164ENTRY(sys32_setgid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200165 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 jg sys32_setgid16 # branch to system call
167
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200168#sys32_getgid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169
Jan Glauber144d6342011-07-24 10:48:19 +0200170ENTRY(sys32_signal_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200171 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 llgtr %r3,%r3 # __sighandler_t
173 jg sys_signal
174
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200175#sys32_geteuid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200177#sys32_getegid16_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178
Jan Glauber144d6342011-07-24 10:48:19 +0200179ENTRY(sys32_acct_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180 llgtr %r2,%r2 # char *
181 jg sys_acct # branch to system call
182
Jan Glauber144d6342011-07-24 10:48:19 +0200183ENTRY(sys32_umount_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184 llgtr %r2,%r2 # char *
185 lgfr %r3,%r3 # int
186 jg sys_umount # branch to system call
187
Jan Glauber144d6342011-07-24 10:48:19 +0200188ENTRY(compat_sys_ioctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189 llgfr %r2,%r2 # unsigned int
190 llgfr %r3,%r3 # unsigned int
191 llgfr %r4,%r4 # unsigned int
192 jg compat_sys_ioctl # branch to system call
193
Jan Glauber144d6342011-07-24 10:48:19 +0200194ENTRY(compat_sys_fcntl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200196 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197 llgfr %r4,%r4 # unsigned long
198 jg compat_sys_fcntl # branch to system call
199
Jan Glauber144d6342011-07-24 10:48:19 +0200200ENTRY(sys32_setpgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201 lgfr %r2,%r2 # pid_t
202 lgfr %r3,%r3 # pid_t
203 jg sys_setpgid # branch to system call
204
Jan Glauber144d6342011-07-24 10:48:19 +0200205ENTRY(sys32_umask_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 lgfr %r2,%r2 # int
207 jg sys_umask # branch to system call
208
Jan Glauber144d6342011-07-24 10:48:19 +0200209ENTRY(sys32_chroot_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700210 llgtr %r2,%r2 # char *
211 jg sys_chroot # branch to system call
212
Jan Glauber144d6342011-07-24 10:48:19 +0200213ENTRY(sys32_ustat_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200214 llgfr %r2,%r2 # dev_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215 llgtr %r3,%r3 # struct ustat *
Christoph Hellwig2b1c6bd2008-11-28 10:09:09 +0100216 jg compat_sys_ustat
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217
Jan Glauber144d6342011-07-24 10:48:19 +0200218ENTRY(sys32_dup2_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219 llgfr %r2,%r2 # unsigned int
220 llgfr %r3,%r3 # unsigned int
221 jg sys_dup2 # branch to system call
222
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200223#sys32_getppid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200225#sys32_getpgrp_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200227#sys32_setsid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228
Jan Glauber144d6342011-07-24 10:48:19 +0200229ENTRY(sys32_sigaction_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200230 lgfr %r2,%r2 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231 llgtr %r3,%r3 # const struct old_sigaction *
232 llgtr %r4,%r4 # struct old_sigaction32 *
233 jg sys32_sigaction # branch to system call
234
Jan Glauber144d6342011-07-24 10:48:19 +0200235ENTRY(sys32_setreuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200236 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
237 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238 jg sys32_setreuid16 # branch to system call
239
Jan Glauber144d6342011-07-24 10:48:19 +0200240ENTRY(sys32_setregid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200241 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
242 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243 jg sys32_setregid16 # branch to system call
244
Jan Glauber144d6342011-07-24 10:48:19 +0200245ENTRY(sys_sigsuspend_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -0800246 lgfr %r2,%r2 # int
247 lgfr %r3,%r3 # int
248 llgfr %r4,%r4 # old_sigset_t
249 jg sys_sigsuspend
Linus Torvalds1da177e2005-04-16 15:20:36 -0700250
Jan Glauber144d6342011-07-24 10:48:19 +0200251ENTRY(compat_sys_sigpending_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252 llgtr %r2,%r2 # compat_old_sigset_t *
253 jg compat_sys_sigpending # branch to system call
254
Jan Glauber144d6342011-07-24 10:48:19 +0200255ENTRY(sys32_sethostname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700256 llgtr %r2,%r2 # char *
257 lgfr %r3,%r3 # int
258 jg sys_sethostname # branch to system call
259
Jan Glauber144d6342011-07-24 10:48:19 +0200260ENTRY(compat_sys_setrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700261 llgfr %r2,%r2 # unsigned int
262 llgtr %r3,%r3 # struct rlimit_emu31 *
263 jg compat_sys_setrlimit # branch to system call
264
Jan Glauber144d6342011-07-24 10:48:19 +0200265ENTRY(compat_sys_old_getrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700266 llgfr %r2,%r2 # unsigned int
267 llgtr %r3,%r3 # struct rlimit_emu31 *
268 jg compat_sys_old_getrlimit # branch to system call
269
Jan Glauber144d6342011-07-24 10:48:19 +0200270ENTRY(compat_sys_getrlimit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271 llgfr %r2,%r2 # unsigned int
272 llgtr %r3,%r3 # struct rlimit_emu31 *
273 jg compat_sys_getrlimit # branch to system call
274
Jan Glauber144d6342011-07-24 10:48:19 +0200275ENTRY(sys32_mmap2_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700276 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
277 jg sys32_mmap2 # branch to system call
278
Jan Glauber144d6342011-07-24 10:48:19 +0200279ENTRY(compat_sys_getrusage_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280 lgfr %r2,%r2 # int
281 llgtr %r3,%r3 # struct rusage_emu31 *
282 jg compat_sys_getrusage # branch to system call
283
Jan Glauber144d6342011-07-24 10:48:19 +0200284ENTRY(compat_sys_gettimeofday_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700285 llgtr %r2,%r2 # struct timeval_emu31 *
286 llgtr %r3,%r3 # struct timezone *
Christoph Hellwigb418da12008-10-15 22:02:06 -0700287 jg compat_sys_gettimeofday # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700288
Jan Glauber144d6342011-07-24 10:48:19 +0200289ENTRY(compat_sys_settimeofday_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700290 llgtr %r2,%r2 # struct timeval_emu31 *
291 llgtr %r3,%r3 # struct timezone *
Christoph Hellwigb418da12008-10-15 22:02:06 -0700292 jg compat_sys_settimeofday # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700293
Jan Glauber144d6342011-07-24 10:48:19 +0200294ENTRY(sys32_getgroups16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700295 lgfr %r2,%r2 # int
296 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
297 jg sys32_getgroups16 # branch to system call
298
Jan Glauber144d6342011-07-24 10:48:19 +0200299ENTRY(sys32_setgroups16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700300 lgfr %r2,%r2 # int
301 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
302 jg sys32_setgroups16 # branch to system call
303
Jan Glauber144d6342011-07-24 10:48:19 +0200304ENTRY(sys32_symlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305 llgtr %r2,%r2 # const char *
306 llgtr %r3,%r3 # const char *
307 jg sys_symlink # branch to system call
308
Jan Glauber144d6342011-07-24 10:48:19 +0200309ENTRY(sys32_readlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700310 llgtr %r2,%r2 # const char *
311 llgtr %r3,%r3 # char *
312 lgfr %r4,%r4 # int
313 jg sys_readlink # branch to system call
314
Jan Glauber144d6342011-07-24 10:48:19 +0200315ENTRY(sys32_uselib_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700316 llgtr %r2,%r2 # const char *
317 jg sys_uselib # branch to system call
318
Jan Glauber144d6342011-07-24 10:48:19 +0200319ENTRY(sys32_swapon_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700320 llgtr %r2,%r2 # const char *
321 lgfr %r3,%r3 # int
322 jg sys_swapon # branch to system call
323
Jan Glauber144d6342011-07-24 10:48:19 +0200324ENTRY(sys32_reboot_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700325 lgfr %r2,%r2 # int
326 lgfr %r3,%r3 # int
327 llgfr %r4,%r4 # unsigned int
328 llgtr %r5,%r5 # void *
329 jg sys_reboot # branch to system call
330
Jan Glauber144d6342011-07-24 10:48:19 +0200331ENTRY(old32_readdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700332 llgfr %r2,%r2 # unsigned int
333 llgtr %r3,%r3 # void *
334 llgfr %r4,%r4 # unsigned int
335 jg compat_sys_old_readdir # branch to system call
336
Jan Glauber144d6342011-07-24 10:48:19 +0200337ENTRY(old32_mmap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700338 llgtr %r2,%r2 # struct mmap_arg_struct_emu31 *
339 jg old32_mmap # branch to system call
340
Jan Glauber144d6342011-07-24 10:48:19 +0200341ENTRY(sys32_munmap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700342 llgfr %r2,%r2 # unsigned long
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200343 llgfr %r3,%r3 # size_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 jg sys_munmap # branch to system call
345
Jan Glauber144d6342011-07-24 10:48:19 +0200346ENTRY(sys32_truncate_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700347 llgtr %r2,%r2 # const char *
Heiko Carstens593c4f72009-10-06 10:34:06 +0200348 lgfr %r3,%r3 # long
Linus Torvalds1da177e2005-04-16 15:20:36 -0700349 jg sys_truncate # branch to system call
350
Jan Glauber144d6342011-07-24 10:48:19 +0200351ENTRY(sys32_ftruncate_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352 llgfr %r2,%r2 # unsigned int
353 llgfr %r3,%r3 # unsigned long
354 jg sys_ftruncate # branch to system call
355
Jan Glauber144d6342011-07-24 10:48:19 +0200356ENTRY(sys32_fchmod_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700357 llgfr %r2,%r2 # unsigned int
358 llgfr %r3,%r3 # mode_t
359 jg sys_fchmod # branch to system call
360
Jan Glauber144d6342011-07-24 10:48:19 +0200361ENTRY(sys32_fchown16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700362 llgfr %r2,%r2 # unsigned int
363 llgfr %r3,%r3 # compat_uid_t
364 llgfr %r4,%r4 # compat_uid_t
365 jg sys32_fchown16 # branch to system call
366
Jan Glauber144d6342011-07-24 10:48:19 +0200367ENTRY(sys32_getpriority_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700368 lgfr %r2,%r2 # int
369 lgfr %r3,%r3 # int
370 jg sys_getpriority # branch to system call
371
Jan Glauber144d6342011-07-24 10:48:19 +0200372ENTRY(sys32_setpriority_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700373 lgfr %r2,%r2 # int
374 lgfr %r3,%r3 # int
375 lgfr %r4,%r4 # int
376 jg sys_setpriority # branch to system call
377
Jan Glauber144d6342011-07-24 10:48:19 +0200378ENTRY(compat_sys_statfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700379 llgtr %r2,%r2 # char *
380 llgtr %r3,%r3 # struct compat_statfs *
381 jg compat_sys_statfs # branch to system call
382
Jan Glauber144d6342011-07-24 10:48:19 +0200383ENTRY(compat_sys_fstatfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700384 llgfr %r2,%r2 # unsigned int
385 llgtr %r3,%r3 # struct compat_statfs *
386 jg compat_sys_fstatfs # branch to system call
387
Jan Glauber144d6342011-07-24 10:48:19 +0200388ENTRY(compat_sys_socketcall_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700389 lgfr %r2,%r2 # int
390 llgtr %r3,%r3 # u32 *
391 jg compat_sys_socketcall # branch to system call
392
Jan Glauber144d6342011-07-24 10:48:19 +0200393ENTRY(sys32_syslog_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394 lgfr %r2,%r2 # int
395 llgtr %r3,%r3 # char *
396 lgfr %r4,%r4 # int
397 jg sys_syslog # branch to system call
398
Jan Glauber144d6342011-07-24 10:48:19 +0200399ENTRY(compat_sys_setitimer_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700400 lgfr %r2,%r2 # int
401 llgtr %r3,%r3 # struct itimerval_emu31 *
402 llgtr %r4,%r4 # struct itimerval_emu31 *
403 jg compat_sys_setitimer # branch to system call
404
Jan Glauber144d6342011-07-24 10:48:19 +0200405ENTRY(compat_sys_getitimer_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700406 lgfr %r2,%r2 # int
407 llgtr %r3,%r3 # struct itimerval_emu31 *
408 jg compat_sys_getitimer # branch to system call
409
Jan Glauber144d6342011-07-24 10:48:19 +0200410ENTRY(compat_sys_newstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700411 llgtr %r2,%r2 # char *
412 llgtr %r3,%r3 # struct stat_emu31 *
413 jg compat_sys_newstat # branch to system call
414
Jan Glauber144d6342011-07-24 10:48:19 +0200415ENTRY(compat_sys_newlstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700416 llgtr %r2,%r2 # char *
417 llgtr %r3,%r3 # struct stat_emu31 *
418 jg compat_sys_newlstat # branch to system call
419
Jan Glauber144d6342011-07-24 10:48:19 +0200420ENTRY(compat_sys_newfstat_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421 llgfr %r2,%r2 # unsigned int
422 llgtr %r3,%r3 # struct stat_emu31 *
423 jg compat_sys_newfstat # branch to system call
424
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200425#sys32_vhangup_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700426
Jan Glauber144d6342011-07-24 10:48:19 +0200427ENTRY(compat_sys_wait4_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700428 lgfr %r2,%r2 # pid_t
429 llgtr %r3,%r3 # unsigned int *
430 lgfr %r4,%r4 # int
431 llgtr %r5,%r5 # struct rusage *
432 jg compat_sys_wait4 # branch to system call
433
Jan Glauber144d6342011-07-24 10:48:19 +0200434ENTRY(sys32_swapoff_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700435 llgtr %r2,%r2 # const char *
436 jg sys_swapoff # branch to system call
437
Jan Glauber144d6342011-07-24 10:48:19 +0200438ENTRY(compat_sys_sysinfo_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700439 llgtr %r2,%r2 # struct sysinfo_emu31 *
Kyle McMartind4d23ad2007-02-10 01:46:00 -0800440 jg compat_sys_sysinfo # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700441
Jan Glauber144d6342011-07-24 10:48:19 +0200442ENTRY(sys32_ipc_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700443 llgfr %r2,%r2 # uint
444 lgfr %r3,%r3 # int
445 lgfr %r4,%r4 # int
446 lgfr %r5,%r5 # int
447 llgfr %r6,%r6 # u32
448 jg sys32_ipc # branch to system call
449
Jan Glauber144d6342011-07-24 10:48:19 +0200450ENTRY(sys32_fsync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700451 llgfr %r2,%r2 # unsigned int
452 jg sys_fsync # branch to system call
453
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200454#sys32_sigreturn_wrapper # done in sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700455
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200456#sys32_clone_wrapper # done in clone_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700457
Jan Glauber144d6342011-07-24 10:48:19 +0200458ENTRY(sys32_setdomainname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700459 llgtr %r2,%r2 # char *
460 lgfr %r3,%r3 # int
461 jg sys_setdomainname # branch to system call
462
Jan Glauber144d6342011-07-24 10:48:19 +0200463ENTRY(sys32_newuname_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700464 llgtr %r2,%r2 # struct new_utsname *
Christoph Hellwige28cbf22010-03-10 15:21:19 -0800465 jg sys_newuname # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700466
Jan Glauber144d6342011-07-24 10:48:19 +0200467ENTRY(compat_sys_adjtimex_wrapper)
Stephen Rothwell3158e942006-03-26 01:37:29 -0800468 llgtr %r2,%r2 # struct compat_timex *
469 jg compat_sys_adjtimex # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700470
Jan Glauber144d6342011-07-24 10:48:19 +0200471ENTRY(sys32_mprotect_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700472 llgtr %r2,%r2 # unsigned long (actually pointer
473 llgfr %r3,%r3 # size_t
474 llgfr %r4,%r4 # unsigned long
475 jg sys_mprotect # branch to system call
476
Jan Glauber144d6342011-07-24 10:48:19 +0200477ENTRY(compat_sys_sigprocmask_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700478 lgfr %r2,%r2 # int
479 llgtr %r3,%r3 # compat_old_sigset_t *
480 llgtr %r4,%r4 # compat_old_sigset_t *
481 jg compat_sys_sigprocmask # branch to system call
482
Jan Glauber144d6342011-07-24 10:48:19 +0200483ENTRY(sys_init_module_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700484 llgtr %r2,%r2 # void *
485 llgfr %r3,%r3 # unsigned long
486 llgtr %r4,%r4 # char *
Heiko Carstens2e501952009-09-22 22:58:43 +0200487 jg sys_init_module # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700488
Jan Glauber144d6342011-07-24 10:48:19 +0200489ENTRY(sys_delete_module_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700490 llgtr %r2,%r2 # const char *
491 llgfr %r3,%r3 # unsigned int
Heiko Carstens2e501952009-09-22 22:58:43 +0200492 jg sys_delete_module # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700493
Jan Glauber144d6342011-07-24 10:48:19 +0200494ENTRY(sys32_quotactl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700495 llgfr %r2,%r2 # unsigned int
496 llgtr %r3,%r3 # const char *
497 llgfr %r4,%r4 # qid_t
498 llgtr %r5,%r5 # caddr_t
499 jg sys_quotactl # branch to system call
500
Jan Glauber144d6342011-07-24 10:48:19 +0200501ENTRY(sys32_getpgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700502 lgfr %r2,%r2 # pid_t
503 jg sys_getpgid # branch to system call
504
Jan Glauber144d6342011-07-24 10:48:19 +0200505ENTRY(sys32_fchdir_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700506 llgfr %r2,%r2 # unsigned int
507 jg sys_fchdir # branch to system call
508
Jan Glauber144d6342011-07-24 10:48:19 +0200509ENTRY(sys32_bdflush_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700510 lgfr %r2,%r2 # int
511 lgfr %r3,%r3 # long
512 jg sys_bdflush # branch to system call
513
Jan Glauber144d6342011-07-24 10:48:19 +0200514ENTRY(sys32_sysfs_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700515 lgfr %r2,%r2 # int
516 llgfr %r3,%r3 # unsigned long
517 llgfr %r4,%r4 # unsigned long
518 jg sys_sysfs # branch to system call
519
Jan Glauber144d6342011-07-24 10:48:19 +0200520ENTRY(sys32_personality_wrapper)
Heiko Carstens3a110372010-08-13 10:06:39 +0200521 llgfr %r2,%r2 # unsigned int
Heiko Carstens26689452009-01-14 14:14:36 +0100522 jg sys_s390_personality # branch to system call
Linus Torvalds1da177e2005-04-16 15:20:36 -0700523
Jan Glauber144d6342011-07-24 10:48:19 +0200524ENTRY(sys32_setfsuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200525 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700526 jg sys32_setfsuid16 # branch to system call
527
Jan Glauber144d6342011-07-24 10:48:19 +0200528ENTRY(sys32_setfsgid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200529 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700530 jg sys32_setfsgid16 # branch to system call
531
Jan Glauber144d6342011-07-24 10:48:19 +0200532ENTRY(sys32_llseek_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700533 llgfr %r2,%r2 # unsigned int
534 llgfr %r3,%r3 # unsigned long
535 llgfr %r4,%r4 # unsigned long
536 llgtr %r5,%r5 # loff_t *
537 llgfr %r6,%r6 # unsigned int
538 jg sys_llseek # branch to system call
539
Jan Glauber144d6342011-07-24 10:48:19 +0200540ENTRY(sys32_getdents_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700541 llgfr %r2,%r2 # unsigned int
542 llgtr %r3,%r3 # void *
543 llgfr %r4,%r4 # unsigned int
544 jg compat_sys_getdents # branch to system call
545
Jan Glauber144d6342011-07-24 10:48:19 +0200546ENTRY(compat_sys_select_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700547 lgfr %r2,%r2 # int
548 llgtr %r3,%r3 # compat_fd_set *
549 llgtr %r4,%r4 # compat_fd_set *
550 llgtr %r5,%r5 # compat_fd_set *
551 llgtr %r6,%r6 # struct compat_timeval *
552 jg compat_sys_select # branch to system call
553
Jan Glauber144d6342011-07-24 10:48:19 +0200554ENTRY(sys32_flock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700555 llgfr %r2,%r2 # unsigned int
556 llgfr %r3,%r3 # unsigned int
557 jg sys_flock # branch to system call
558
Jan Glauber144d6342011-07-24 10:48:19 +0200559ENTRY(sys32_msync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700560 llgfr %r2,%r2 # unsigned long
561 llgfr %r3,%r3 # size_t
562 lgfr %r4,%r4 # int
563 jg sys_msync # branch to system call
564
Jan Glauber144d6342011-07-24 10:48:19 +0200565ENTRY(compat_sys_readv_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700566 lgfr %r2,%r2 # int
567 llgtr %r3,%r3 # const struct compat_iovec *
568 llgfr %r4,%r4 # unsigned long
569 jg compat_sys_readv # branch to system call
570
Jan Glauber144d6342011-07-24 10:48:19 +0200571ENTRY(compat_sys_writev_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700572 lgfr %r2,%r2 # int
573 llgtr %r3,%r3 # const struct compat_iovec *
574 llgfr %r4,%r4 # unsigned long
575 jg compat_sys_writev # branch to system call
576
Jan Glauber144d6342011-07-24 10:48:19 +0200577ENTRY(sys32_getsid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700578 lgfr %r2,%r2 # pid_t
579 jg sys_getsid # branch to system call
580
Jan Glauber144d6342011-07-24 10:48:19 +0200581ENTRY(sys32_fdatasync_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700582 llgfr %r2,%r2 # unsigned int
583 jg sys_fdatasync # branch to system call
584
Jan Glauber144d6342011-07-24 10:48:19 +0200585ENTRY(sys32_mlock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700586 llgfr %r2,%r2 # unsigned long
587 llgfr %r3,%r3 # size_t
588 jg sys_mlock # branch to system call
589
Jan Glauber144d6342011-07-24 10:48:19 +0200590ENTRY(sys32_munlock_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700591 llgfr %r2,%r2 # unsigned long
592 llgfr %r3,%r3 # size_t
593 jg sys_munlock # branch to system call
594
Jan Glauber144d6342011-07-24 10:48:19 +0200595ENTRY(sys32_mlockall_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596 lgfr %r2,%r2 # int
597 jg sys_mlockall # branch to system call
598
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200599#sys32_munlockall_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700600
Jan Glauber144d6342011-07-24 10:48:19 +0200601ENTRY(sys32_sched_setparam_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700602 lgfr %r2,%r2 # pid_t
603 llgtr %r3,%r3 # struct sched_param *
604 jg sys_sched_setparam # branch to system call
605
Jan Glauber144d6342011-07-24 10:48:19 +0200606ENTRY(sys32_sched_getparam_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700607 lgfr %r2,%r2 # pid_t
608 llgtr %r3,%r3 # struct sched_param *
609 jg sys_sched_getparam # branch to system call
610
Jan Glauber144d6342011-07-24 10:48:19 +0200611ENTRY(sys32_sched_setscheduler_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700612 lgfr %r2,%r2 # pid_t
613 lgfr %r3,%r3 # int
614 llgtr %r4,%r4 # struct sched_param *
615 jg sys_sched_setscheduler # branch to system call
616
Jan Glauber144d6342011-07-24 10:48:19 +0200617ENTRY(sys32_sched_getscheduler_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700618 lgfr %r2,%r2 # pid_t
619 jg sys_sched_getscheduler # branch to system call
620
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200621#sys32_sched_yield_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700622
Jan Glauber144d6342011-07-24 10:48:19 +0200623ENTRY(sys32_sched_get_priority_max_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700624 lgfr %r2,%r2 # int
625 jg sys_sched_get_priority_max # branch to system call
626
Jan Glauber144d6342011-07-24 10:48:19 +0200627ENTRY(sys32_sched_get_priority_min_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700628 lgfr %r2,%r2 # int
629 jg sys_sched_get_priority_min # branch to system call
630
Jan Glauber144d6342011-07-24 10:48:19 +0200631ENTRY(sys32_sched_rr_get_interval_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700632 lgfr %r2,%r2 # pid_t
633 llgtr %r3,%r3 # struct compat_timespec *
634 jg sys32_sched_rr_get_interval # branch to system call
635
Jan Glauber144d6342011-07-24 10:48:19 +0200636ENTRY(compat_sys_nanosleep_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700637 llgtr %r2,%r2 # struct compat_timespec *
638 llgtr %r3,%r3 # struct compat_timespec *
639 jg compat_sys_nanosleep # branch to system call
640
Jan Glauber144d6342011-07-24 10:48:19 +0200641ENTRY(sys32_mremap_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642 llgfr %r2,%r2 # unsigned long
643 llgfr %r3,%r3 # unsigned long
644 llgfr %r4,%r4 # unsigned long
645 llgfr %r5,%r5 # unsigned long
646 llgfr %r6,%r6 # unsigned long
647 jg sys_mremap # branch to system call
648
Jan Glauber144d6342011-07-24 10:48:19 +0200649ENTRY(sys32_setresuid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200650 llgfr %r2,%r2 # __kernel_old_uid_emu31_t
651 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
652 llgfr %r4,%r4 # __kernel_old_uid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700653 jg sys32_setresuid16 # branch to system call
654
Jan Glauber144d6342011-07-24 10:48:19 +0200655ENTRY(sys32_getresuid16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700656 llgtr %r2,%r2 # __kernel_old_uid_emu31_t *
657 llgtr %r3,%r3 # __kernel_old_uid_emu31_t *
658 llgtr %r4,%r4 # __kernel_old_uid_emu31_t *
659 jg sys32_getresuid16 # branch to system call
660
Jan Glauber144d6342011-07-24 10:48:19 +0200661ENTRY(sys32_poll_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200662 llgtr %r2,%r2 # struct pollfd *
663 llgfr %r3,%r3 # unsigned int
Linus Torvaldsfaf30902012-02-21 17:24:20 -0800664 lgfr %r4,%r4 # int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700665 jg sys_poll # branch to system call
666
Jan Glauber144d6342011-07-24 10:48:19 +0200667ENTRY(sys32_setresgid16_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200668 llgfr %r2,%r2 # __kernel_old_gid_emu31_t
669 llgfr %r3,%r3 # __kernel_old_gid_emu31_t
670 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700671 jg sys32_setresgid16 # branch to system call
672
Jan Glauber144d6342011-07-24 10:48:19 +0200673ENTRY(sys32_getresgid16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700674 llgtr %r2,%r2 # __kernel_old_gid_emu31_t *
675 llgtr %r3,%r3 # __kernel_old_gid_emu31_t *
676 llgtr %r4,%r4 # __kernel_old_gid_emu31_t *
677 jg sys32_getresgid16 # branch to system call
678
Jan Glauber144d6342011-07-24 10:48:19 +0200679ENTRY(sys32_prctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700680 lgfr %r2,%r2 # int
681 llgfr %r3,%r3 # unsigned long
682 llgfr %r4,%r4 # unsigned long
683 llgfr %r5,%r5 # unsigned long
684 llgfr %r6,%r6 # unsigned long
685 jg sys_prctl # branch to system call
686
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200687#sys32_rt_sigreturn_wrapper # done in rt_sigreturn_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700688
Jan Glauber144d6342011-07-24 10:48:19 +0200689ENTRY(sys32_rt_sigaction_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700690 lgfr %r2,%r2 # int
691 llgtr %r3,%r3 # const struct sigaction_emu31 *
692 llgtr %r4,%r4 # const struct sigaction_emu31 *
693 llgfr %r5,%r5 # size_t
694 jg sys32_rt_sigaction # branch to system call
695
Jan Glauber144d6342011-07-24 10:48:19 +0200696ENTRY(sys32_rt_sigprocmask_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700697 lgfr %r2,%r2 # int
698 llgtr %r3,%r3 # old_sigset_emu31 *
699 llgtr %r4,%r4 # old_sigset_emu31 *
700 llgfr %r5,%r5 # size_t
701 jg sys32_rt_sigprocmask # branch to system call
702
Jan Glauber144d6342011-07-24 10:48:19 +0200703ENTRY(sys32_rt_sigpending_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700704 llgtr %r2,%r2 # sigset_emu31 *
705 llgfr %r3,%r3 # size_t
706 jg sys32_rt_sigpending # branch to system call
707
Jan Glauber144d6342011-07-24 10:48:19 +0200708ENTRY(compat_sys_rt_sigtimedwait_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700709 llgtr %r2,%r2 # const sigset_emu31_t *
710 llgtr %r3,%r3 # siginfo_emu31_t *
711 llgtr %r4,%r4 # const struct compat_timespec *
712 llgfr %r5,%r5 # size_t
713 jg compat_sys_rt_sigtimedwait # branch to system call
714
Jan Glauber144d6342011-07-24 10:48:19 +0200715ENTRY(sys32_rt_sigqueueinfo_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700716 lgfr %r2,%r2 # int
717 lgfr %r3,%r3 # int
718 llgtr %r4,%r4 # siginfo_emu31_t *
719 jg sys32_rt_sigqueueinfo # branch to system call
720
Jan Glauber144d6342011-07-24 10:48:19 +0200721ENTRY(compat_sys_rt_sigsuspend_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -0800722 llgtr %r2,%r2 # compat_sigset_t *
723 llgfr %r3,%r3 # compat_size_t
724 jg compat_sys_rt_sigsuspend
Linus Torvalds1da177e2005-04-16 15:20:36 -0700725
Jan Glauber144d6342011-07-24 10:48:19 +0200726ENTRY(sys32_pread64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700727 llgfr %r2,%r2 # unsigned int
728 llgtr %r3,%r3 # char *
729 llgfr %r4,%r4 # size_t
730 llgfr %r5,%r5 # u32
731 llgfr %r6,%r6 # u32
732 jg sys32_pread64 # branch to system call
733
Jan Glauber144d6342011-07-24 10:48:19 +0200734ENTRY(sys32_pwrite64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700735 llgfr %r2,%r2 # unsigned int
736 llgtr %r3,%r3 # const char *
737 llgfr %r4,%r4 # size_t
738 llgfr %r5,%r5 # u32
739 llgfr %r6,%r6 # u32
740 jg sys32_pwrite64 # branch to system call
741
Jan Glauber144d6342011-07-24 10:48:19 +0200742ENTRY(sys32_chown16_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700743 llgtr %r2,%r2 # const char *
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200744 llgfr %r3,%r3 # __kernel_old_uid_emu31_t
745 llgfr %r4,%r4 # __kernel_old_gid_emu31_t
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746 jg sys32_chown16 # branch to system call
747
Jan Glauber144d6342011-07-24 10:48:19 +0200748ENTRY(sys32_getcwd_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700749 llgtr %r2,%r2 # char *
750 llgfr %r3,%r3 # unsigned long
751 jg sys_getcwd # branch to system call
752
Jan Glauber144d6342011-07-24 10:48:19 +0200753ENTRY(sys32_capget_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700754 llgtr %r2,%r2 # cap_user_header_t
755 llgtr %r3,%r3 # cap_user_data_t
756 jg sys_capget # branch to system call
757
Jan Glauber144d6342011-07-24 10:48:19 +0200758ENTRY(sys32_capset_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700759 llgtr %r2,%r2 # cap_user_header_t
760 llgtr %r3,%r3 # const cap_user_data_t
761 jg sys_capset # branch to system call
762
Jan Glauber144d6342011-07-24 10:48:19 +0200763ENTRY(sys32_sigaltstack_wrapper)
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200764 llgtr %r2,%r2 # const stack_emu31_t *
765 llgtr %r3,%r3 # stack_emu31_t *
Linus Torvalds1da177e2005-04-16 15:20:36 -0700766 jg sys32_sigaltstack
767
Jan Glauber144d6342011-07-24 10:48:19 +0200768ENTRY(sys32_sendfile_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700769 lgfr %r2,%r2 # int
770 lgfr %r3,%r3 # int
771 llgtr %r4,%r4 # __kernel_off_emu31_t *
772 llgfr %r5,%r5 # size_t
773 jg sys32_sendfile # branch to system call
774
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200775#sys32_vfork_wrapper # done in vfork_glue
Linus Torvalds1da177e2005-04-16 15:20:36 -0700776
Jan Glauber144d6342011-07-24 10:48:19 +0200777ENTRY(sys32_truncate64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778 llgtr %r2,%r2 # const char *
779 llgfr %r3,%r3 # unsigned long
780 llgfr %r4,%r4 # unsigned long
781 jg sys32_truncate64 # branch to system call
782
Jan Glauber144d6342011-07-24 10:48:19 +0200783ENTRY(sys32_ftruncate64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700784 llgfr %r2,%r2 # unsigned int
785 llgfr %r3,%r3 # unsigned long
786 llgfr %r4,%r4 # unsigned long
787 jg sys32_ftruncate64 # branch to system call
788
Jan Glauber144d6342011-07-24 10:48:19 +0200789ENTRY(sys32_lchown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700790 llgtr %r2,%r2 # const char *
791 llgfr %r3,%r3 # uid_t
792 llgfr %r4,%r4 # gid_t
793 jg sys_lchown # branch to system call
794
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200795#sys32_getuid_wrapper # void
796#sys32_getgid_wrapper # void
797#sys32_geteuid_wrapper # void
798#sys32_getegid_wrapper # void
Linus Torvalds1da177e2005-04-16 15:20:36 -0700799
Jan Glauber144d6342011-07-24 10:48:19 +0200800ENTRY(sys32_setreuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700801 llgfr %r2,%r2 # uid_t
802 llgfr %r3,%r3 # uid_t
803 jg sys_setreuid # branch to system call
804
Jan Glauber144d6342011-07-24 10:48:19 +0200805ENTRY(sys32_setregid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700806 llgfr %r2,%r2 # gid_t
807 llgfr %r3,%r3 # gid_t
808 jg sys_setregid # branch to system call
809
Jan Glauber144d6342011-07-24 10:48:19 +0200810ENTRY(sys32_getgroups_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700811 lgfr %r2,%r2 # int
812 llgtr %r3,%r3 # gid_t *
813 jg sys_getgroups # branch to system call
814
Jan Glauber144d6342011-07-24 10:48:19 +0200815ENTRY(sys32_setgroups_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700816 lgfr %r2,%r2 # int
817 llgtr %r3,%r3 # gid_t *
818 jg sys_setgroups # branch to system call
819
Jan Glauber144d6342011-07-24 10:48:19 +0200820ENTRY(sys32_fchown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700821 llgfr %r2,%r2 # unsigned int
822 llgfr %r3,%r3 # uid_t
823 llgfr %r4,%r4 # gid_t
824 jg sys_fchown # branch to system call
825
Jan Glauber144d6342011-07-24 10:48:19 +0200826ENTRY(sys32_setresuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700827 llgfr %r2,%r2 # uid_t
828 llgfr %r3,%r3 # uid_t
829 llgfr %r4,%r4 # uid_t
830 jg sys_setresuid # branch to system call
831
Jan Glauber144d6342011-07-24 10:48:19 +0200832ENTRY(sys32_getresuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700833 llgtr %r2,%r2 # uid_t *
834 llgtr %r3,%r3 # uid_t *
835 llgtr %r4,%r4 # uid_t *
836 jg sys_getresuid # branch to system call
837
Jan Glauber144d6342011-07-24 10:48:19 +0200838ENTRY(sys32_setresgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700839 llgfr %r2,%r2 # gid_t
840 llgfr %r3,%r3 # gid_t
841 llgfr %r4,%r4 # gid_t
842 jg sys_setresgid # branch to system call
843
Jan Glauber144d6342011-07-24 10:48:19 +0200844ENTRY(sys32_getresgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700845 llgtr %r2,%r2 # gid_t *
846 llgtr %r3,%r3 # gid_t *
847 llgtr %r4,%r4 # gid_t *
848 jg sys_getresgid # branch to system call
849
Jan Glauber144d6342011-07-24 10:48:19 +0200850ENTRY(sys32_chown_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700851 llgtr %r2,%r2 # const char *
852 llgfr %r3,%r3 # uid_t
853 llgfr %r4,%r4 # gid_t
854 jg sys_chown # branch to system call
855
Jan Glauber144d6342011-07-24 10:48:19 +0200856ENTRY(sys32_setuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700857 llgfr %r2,%r2 # uid_t
858 jg sys_setuid # branch to system call
859
Jan Glauber144d6342011-07-24 10:48:19 +0200860ENTRY(sys32_setgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700861 llgfr %r2,%r2 # gid_t
862 jg sys_setgid # branch to system call
863
Jan Glauber144d6342011-07-24 10:48:19 +0200864ENTRY(sys32_setfsuid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865 llgfr %r2,%r2 # uid_t
866 jg sys_setfsuid # branch to system call
867
Jan Glauber144d6342011-07-24 10:48:19 +0200868ENTRY(sys32_setfsgid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700869 llgfr %r2,%r2 # gid_t
870 jg sys_setfsgid # branch to system call
871
Jan Glauber144d6342011-07-24 10:48:19 +0200872ENTRY(sys32_pivot_root_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700873 llgtr %r2,%r2 # const char *
874 llgtr %r3,%r3 # const char *
875 jg sys_pivot_root # branch to system call
876
Jan Glauber144d6342011-07-24 10:48:19 +0200877ENTRY(sys32_mincore_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700878 llgfr %r2,%r2 # unsigned long
879 llgfr %r3,%r3 # size_t
880 llgtr %r4,%r4 # unsigned char *
881 jg sys_mincore # branch to system call
882
Jan Glauber144d6342011-07-24 10:48:19 +0200883ENTRY(sys32_madvise_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700884 llgfr %r2,%r2 # unsigned long
885 llgfr %r3,%r3 # size_t
886 lgfr %r4,%r4 # int
887 jg sys_madvise # branch to system call
888
Jan Glauber144d6342011-07-24 10:48:19 +0200889ENTRY(sys32_getdents64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700890 llgfr %r2,%r2 # unsigned int
891 llgtr %r3,%r3 # void *
892 llgfr %r4,%r4 # unsigned int
893 jg sys_getdents64 # branch to system call
894
Jan Glauber144d6342011-07-24 10:48:19 +0200895ENTRY(compat_sys_fcntl64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700896 llgfr %r2,%r2 # unsigned int
Heiko Carstens25d83cb2006-09-28 16:56:37 +0200897 llgfr %r3,%r3 # unsigned int
Linus Torvalds1da177e2005-04-16 15:20:36 -0700898 llgfr %r4,%r4 # unsigned long
899 jg compat_sys_fcntl64 # branch to system call
900
Jan Glauber144d6342011-07-24 10:48:19 +0200901ENTRY(sys32_stat64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700902 llgtr %r2,%r2 # char *
903 llgtr %r3,%r3 # struct stat64 *
904 jg sys32_stat64 # branch to system call
905
Jan Glauber144d6342011-07-24 10:48:19 +0200906ENTRY(sys32_lstat64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700907 llgtr %r2,%r2 # char *
908 llgtr %r3,%r3 # struct stat64 *
909 jg sys32_lstat64 # branch to system call
910
Jan Glauber144d6342011-07-24 10:48:19 +0200911ENTRY(sys32_stime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700912 llgtr %r2,%r2 # long *
913 jg compat_sys_stime # branch to system call
914
Jan Glauber144d6342011-07-24 10:48:19 +0200915ENTRY(sys32_sysctl_wrapper)
Eric W. Biederman4ddf61e2009-04-03 00:52:35 -0700916 llgtr %r2,%r2 # struct compat_sysctl_args *
917 jg compat_sys_sysctl
Linus Torvalds1da177e2005-04-16 15:20:36 -0700918
Jan Glauber144d6342011-07-24 10:48:19 +0200919ENTRY(sys32_fstat64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700920 llgfr %r2,%r2 # unsigned long
921 llgtr %r3,%r3 # struct stat64 *
922 jg sys32_fstat64 # branch to system call
923
Jan Glauber144d6342011-07-24 10:48:19 +0200924ENTRY(compat_sys_futex_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700925 llgtr %r2,%r2 # u32 *
926 lgfr %r3,%r3 # int
927 lgfr %r4,%r4 # int
928 llgtr %r5,%r5 # struct compat_timespec *
929 llgtr %r6,%r6 # u32 *
930 lgf %r0,164(%r15) # int
931 stg %r0,160(%r15)
932 jg compat_sys_futex # branch to system call
933
Jan Glauber144d6342011-07-24 10:48:19 +0200934ENTRY(sys32_setxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700935 llgtr %r2,%r2 # char *
936 llgtr %r3,%r3 # char *
937 llgtr %r4,%r4 # void *
938 llgfr %r5,%r5 # size_t
939 lgfr %r6,%r6 # int
940 jg sys_setxattr
941
Jan Glauber144d6342011-07-24 10:48:19 +0200942ENTRY(sys32_lsetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700943 llgtr %r2,%r2 # char *
944 llgtr %r3,%r3 # char *
945 llgtr %r4,%r4 # void *
946 llgfr %r5,%r5 # size_t
947 lgfr %r6,%r6 # int
948 jg sys_lsetxattr
949
Jan Glauber144d6342011-07-24 10:48:19 +0200950ENTRY(sys32_fsetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700951 lgfr %r2,%r2 # int
952 llgtr %r3,%r3 # char *
953 llgtr %r4,%r4 # void *
954 llgfr %r5,%r5 # size_t
955 lgfr %r6,%r6 # int
956 jg sys_fsetxattr
957
Jan Glauber144d6342011-07-24 10:48:19 +0200958ENTRY(sys32_getxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700959 llgtr %r2,%r2 # char *
960 llgtr %r3,%r3 # char *
961 llgtr %r4,%r4 # void *
962 llgfr %r5,%r5 # size_t
963 jg sys_getxattr
964
Jan Glauber144d6342011-07-24 10:48:19 +0200965ENTRY(sys32_lgetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700966 llgtr %r2,%r2 # char *
967 llgtr %r3,%r3 # char *
968 llgtr %r4,%r4 # void *
969 llgfr %r5,%r5 # size_t
970 jg sys_lgetxattr
971
Jan Glauber144d6342011-07-24 10:48:19 +0200972ENTRY(sys32_fgetxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700973 lgfr %r2,%r2 # int
974 llgtr %r3,%r3 # char *
975 llgtr %r4,%r4 # void *
976 llgfr %r5,%r5 # size_t
977 jg sys_fgetxattr
978
Jan Glauber144d6342011-07-24 10:48:19 +0200979ENTRY(sys32_listxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700980 llgtr %r2,%r2 # char *
981 llgtr %r3,%r3 # char *
982 llgfr %r4,%r4 # size_t
983 jg sys_listxattr
984
Jan Glauber144d6342011-07-24 10:48:19 +0200985ENTRY(sys32_llistxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700986 llgtr %r2,%r2 # char *
987 llgtr %r3,%r3 # char *
988 llgfr %r4,%r4 # size_t
989 jg sys_llistxattr
990
Jan Glauber144d6342011-07-24 10:48:19 +0200991ENTRY(sys32_flistxattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700992 lgfr %r2,%r2 # int
993 llgtr %r3,%r3 # char *
994 llgfr %r4,%r4 # size_t
995 jg sys_flistxattr
996
Jan Glauber144d6342011-07-24 10:48:19 +0200997ENTRY(sys32_removexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700998 llgtr %r2,%r2 # char *
999 llgtr %r3,%r3 # char *
1000 jg sys_removexattr
1001
Jan Glauber144d6342011-07-24 10:48:19 +02001002ENTRY(sys32_lremovexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001003 llgtr %r2,%r2 # char *
1004 llgtr %r3,%r3 # char *
1005 jg sys_lremovexattr
1006
Jan Glauber144d6342011-07-24 10:48:19 +02001007ENTRY(sys32_fremovexattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001008 lgfr %r2,%r2 # int
1009 llgtr %r3,%r3 # char *
1010 jg sys_fremovexattr
1011
Jan Glauber144d6342011-07-24 10:48:19 +02001012ENTRY(sys32_sched_setaffinity_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001013 lgfr %r2,%r2 # int
1014 llgfr %r3,%r3 # unsigned int
1015 llgtr %r4,%r4 # unsigned long *
1016 jg compat_sys_sched_setaffinity
1017
Jan Glauber144d6342011-07-24 10:48:19 +02001018ENTRY(sys32_sched_getaffinity_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001019 lgfr %r2,%r2 # int
1020 llgfr %r3,%r3 # unsigned int
1021 llgtr %r4,%r4 # unsigned long *
1022 jg compat_sys_sched_getaffinity
1023
Jan Glauber144d6342011-07-24 10:48:19 +02001024ENTRY(sys32_exit_group_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001025 lgfr %r2,%r2 # int
1026 jg sys_exit_group # branch to system call
1027
Jan Glauber144d6342011-07-24 10:48:19 +02001028ENTRY(sys32_set_tid_address_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001029 llgtr %r2,%r2 # int *
1030 jg sys_set_tid_address # branch to system call
1031
Jan Glauber144d6342011-07-24 10:48:19 +02001032ENTRY(sys_epoll_create_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001033 lgfr %r2,%r2 # int
1034 jg sys_epoll_create # branch to system call
1035
Jan Glauber144d6342011-07-24 10:48:19 +02001036ENTRY(sys_epoll_ctl_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001037 lgfr %r2,%r2 # int
1038 lgfr %r3,%r3 # int
1039 lgfr %r4,%r4 # int
1040 llgtr %r5,%r5 # struct epoll_event *
1041 jg sys_epoll_ctl # branch to system call
1042
Jan Glauber144d6342011-07-24 10:48:19 +02001043ENTRY(sys_epoll_wait_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001044 lgfr %r2,%r2 # int
1045 llgtr %r3,%r3 # struct epoll_event *
1046 lgfr %r4,%r4 # int
1047 lgfr %r5,%r5 # int
1048 jg sys_epoll_wait # branch to system call
1049
Jan Glauber144d6342011-07-24 10:48:19 +02001050ENTRY(sys32_lookup_dcookie_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001051 sllg %r2,%r2,32 # get high word of 64bit dcookie
1052 or %r2,%r3 # get low word of 64bit dcookie
1053 llgtr %r3,%r4 # char *
1054 llgfr %r4,%r5 # size_t
1055 jg sys_lookup_dcookie
1056
Jan Glauber144d6342011-07-24 10:48:19 +02001057ENTRY(sys32_fadvise64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001058 lgfr %r2,%r2 # int
1059 sllg %r3,%r3,32 # get high word of 64bit loff_t
1060 or %r3,%r4 # get low word of 64bit loff_t
1061 llgfr %r4,%r5 # size_t (unsigned long)
1062 lgfr %r5,%r6 # int
Martin Schwidefsky068e1b92005-07-13 01:10:46 -07001063 jg sys32_fadvise64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001064
Jan Glauber144d6342011-07-24 10:48:19 +02001065ENTRY(sys32_fadvise64_64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001066 llgtr %r2,%r2 # struct fadvise64_64_args *
Martin Schwidefsky068e1b92005-07-13 01:10:46 -07001067 jg sys32_fadvise64_64
Linus Torvalds1da177e2005-04-16 15:20:36 -07001068
Jan Glauber144d6342011-07-24 10:48:19 +02001069ENTRY(sys32_clock_settime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001070 lgfr %r2,%r2 # clockid_t (int)
1071 llgtr %r3,%r3 # struct compat_timespec *
1072 jg compat_sys_clock_settime
1073
Jan Glauber144d6342011-07-24 10:48:19 +02001074ENTRY(sys32_clock_gettime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001075 lgfr %r2,%r2 # clockid_t (int)
1076 llgtr %r3,%r3 # struct compat_timespec *
1077 jg compat_sys_clock_gettime
1078
Jan Glauber144d6342011-07-24 10:48:19 +02001079ENTRY(sys32_clock_getres_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001080 lgfr %r2,%r2 # clockid_t (int)
1081 llgtr %r3,%r3 # struct compat_timespec *
1082 jg compat_sys_clock_getres
1083
Jan Glauber144d6342011-07-24 10:48:19 +02001084ENTRY(sys32_clock_nanosleep_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001085 lgfr %r2,%r2 # clockid_t (int)
1086 lgfr %r3,%r3 # int
1087 llgtr %r4,%r4 # struct compat_timespec *
1088 llgtr %r5,%r5 # struct compat_timespec *
1089 jg compat_sys_clock_nanosleep
1090
Jan Glauber144d6342011-07-24 10:48:19 +02001091ENTRY(sys32_timer_create_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001092 lgfr %r2,%r2 # timer_t (int)
1093 llgtr %r3,%r3 # struct compat_sigevent *
1094 llgtr %r4,%r4 # timer_t *
Christoph Hellwig3a0f69d2006-01-09 20:52:08 -08001095 jg compat_sys_timer_create
Linus Torvalds1da177e2005-04-16 15:20:36 -07001096
Jan Glauber144d6342011-07-24 10:48:19 +02001097ENTRY(sys32_timer_settime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001098 lgfr %r2,%r2 # timer_t (int)
1099 lgfr %r3,%r3 # int
1100 llgtr %r4,%r4 # struct compat_itimerspec *
1101 llgtr %r5,%r5 # struct compat_itimerspec *
1102 jg compat_sys_timer_settime
1103
Jan Glauber144d6342011-07-24 10:48:19 +02001104ENTRY(sys32_timer_gettime_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001105 lgfr %r2,%r2 # timer_t (int)
1106 llgtr %r3,%r3 # struct compat_itimerspec *
1107 jg compat_sys_timer_gettime
1108
Jan Glauber144d6342011-07-24 10:48:19 +02001109ENTRY(sys32_timer_getoverrun_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001110 lgfr %r2,%r2 # timer_t (int)
1111 jg sys_timer_getoverrun
1112
Jan Glauber144d6342011-07-24 10:48:19 +02001113ENTRY(sys32_timer_delete_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001114 lgfr %r2,%r2 # timer_t (int)
1115 jg sys_timer_delete
1116
Jan Glauber144d6342011-07-24 10:48:19 +02001117ENTRY(sys32_io_setup_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001118 llgfr %r2,%r2 # unsigned int
1119 llgtr %r3,%r3 # u32 *
1120 jg compat_sys_io_setup
1121
Jan Glauber144d6342011-07-24 10:48:19 +02001122ENTRY(sys32_io_destroy_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001123 llgfr %r2,%r2 # (aio_context_t) u32
1124 jg sys_io_destroy
1125
Jan Glauber144d6342011-07-24 10:48:19 +02001126ENTRY(sys32_io_getevents_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001127 llgfr %r2,%r2 # (aio_context_t) u32
1128 lgfr %r3,%r3 # long
1129 lgfr %r4,%r4 # long
1130 llgtr %r5,%r5 # struct io_event *
1131 llgtr %r6,%r6 # struct compat_timespec *
1132 jg compat_sys_io_getevents
1133
Jan Glauber144d6342011-07-24 10:48:19 +02001134ENTRY(sys32_io_submit_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001135 llgfr %r2,%r2 # (aio_context_t) u32
1136 lgfr %r3,%r3 # long
1137 llgtr %r4,%r4 # struct iocb **
1138 jg compat_sys_io_submit
1139
Jan Glauber144d6342011-07-24 10:48:19 +02001140ENTRY(sys32_io_cancel_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001141 llgfr %r2,%r2 # (aio_context_t) u32
1142 llgtr %r3,%r3 # struct iocb *
1143 llgtr %r4,%r4 # struct io_event *
1144 jg sys_io_cancel
1145
Jan Glauber144d6342011-07-24 10:48:19 +02001146ENTRY(compat_sys_statfs64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001147 llgtr %r2,%r2 # const char *
1148 llgfr %r3,%r3 # compat_size_t
1149 llgtr %r4,%r4 # struct compat_statfs64 *
1150 jg compat_sys_statfs64
1151
Jan Glauber144d6342011-07-24 10:48:19 +02001152ENTRY(compat_sys_fstatfs64_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001153 llgfr %r2,%r2 # unsigned int fd
1154 llgfr %r3,%r3 # compat_size_t
1155 llgtr %r4,%r4 # struct compat_statfs64 *
1156 jg compat_sys_fstatfs64
1157
Jan Glauber144d6342011-07-24 10:48:19 +02001158ENTRY(compat_sys_mq_open_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001159 llgtr %r2,%r2 # const char *
1160 lgfr %r3,%r3 # int
1161 llgfr %r4,%r4 # mode_t
1162 llgtr %r5,%r5 # struct compat_mq_attr *
1163 jg compat_sys_mq_open
1164
Jan Glauber144d6342011-07-24 10:48:19 +02001165ENTRY(sys32_mq_unlink_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001166 llgtr %r2,%r2 # const char *
1167 jg sys_mq_unlink
1168
Jan Glauber144d6342011-07-24 10:48:19 +02001169ENTRY(compat_sys_mq_timedsend_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001170 lgfr %r2,%r2 # mqd_t
1171 llgtr %r3,%r3 # const char *
1172 llgfr %r4,%r4 # size_t
1173 llgfr %r5,%r5 # unsigned int
1174 llgtr %r6,%r6 # const struct compat_timespec *
1175 jg compat_sys_mq_timedsend
1176
Jan Glauber144d6342011-07-24 10:48:19 +02001177ENTRY(compat_sys_mq_timedreceive_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001178 lgfr %r2,%r2 # mqd_t
1179 llgtr %r3,%r3 # char *
1180 llgfr %r4,%r4 # size_t
1181 llgtr %r5,%r5 # unsigned int *
1182 llgtr %r6,%r6 # const struct compat_timespec *
1183 jg compat_sys_mq_timedreceive
1184
Jan Glauber144d6342011-07-24 10:48:19 +02001185ENTRY(compat_sys_mq_notify_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001186 lgfr %r2,%r2 # mqd_t
1187 llgtr %r3,%r3 # struct compat_sigevent *
1188 jg compat_sys_mq_notify
1189
Jan Glauber144d6342011-07-24 10:48:19 +02001190ENTRY(compat_sys_mq_getsetattr_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001191 lgfr %r2,%r2 # mqd_t
1192 llgtr %r3,%r3 # struct compat_mq_attr *
1193 llgtr %r4,%r4 # struct compat_mq_attr *
1194 jg compat_sys_mq_getsetattr
1195
Jan Glauber144d6342011-07-24 10:48:19 +02001196ENTRY(compat_sys_add_key_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001197 llgtr %r2,%r2 # const char *
1198 llgtr %r3,%r3 # const char *
1199 llgtr %r4,%r4 # const void *
1200 llgfr %r5,%r5 # size_t
1201 llgfr %r6,%r6 # (key_serial_t) u32
1202 jg sys_add_key
1203
Jan Glauber144d6342011-07-24 10:48:19 +02001204ENTRY(compat_sys_request_key_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001205 llgtr %r2,%r2 # const char *
1206 llgtr %r3,%r3 # const char *
1207 llgtr %r4,%r4 # const void *
1208 llgfr %r5,%r5 # (key_serial_t) u32
1209 jg sys_request_key
1210
Jan Glauber144d6342011-07-24 10:48:19 +02001211ENTRY(sys32_remap_file_pages_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001212 llgfr %r2,%r2 # unsigned long
1213 llgfr %r3,%r3 # unsigned long
1214 llgfr %r4,%r4 # unsigned long
1215 llgfr %r5,%r5 # unsigned long
1216 llgfr %r6,%r6 # unsigned long
1217 jg sys_remap_file_pages
1218
Jan Glauber144d6342011-07-24 10:48:19 +02001219ENTRY(compat_sys_waitid_wrapper)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001220 lgfr %r2,%r2 # int
1221 lgfr %r3,%r3 # pid_t
1222 llgtr %r4,%r4 # siginfo_emu31_t *
1223 lgfr %r5,%r5 # int
1224 llgtr %r6,%r6 # struct rusage_emu31 *
1225 jg compat_sys_waitid
Heiko Carstenscf13f0e2005-06-25 14:58:11 -07001226
Jan Glauber144d6342011-07-24 10:48:19 +02001227ENTRY(compat_sys_kexec_load_wrapper)
Heiko Carstenscf13f0e2005-06-25 14:58:11 -07001228 llgfr %r2,%r2 # unsigned long
1229 llgfr %r3,%r3 # unsigned long
1230 llgtr %r4,%r4 # struct kexec_segment *
1231 llgfr %r5,%r5 # unsigned long
1232 jg compat_sys_kexec_load
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001233
Jan Glauber144d6342011-07-24 10:48:19 +02001234ENTRY(sys_ioprio_set_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001235 lgfr %r2,%r2 # int
1236 lgfr %r3,%r3 # int
1237 lgfr %r4,%r4 # int
1238 jg sys_ioprio_set
1239
Jan Glauber144d6342011-07-24 10:48:19 +02001240ENTRY(sys_ioprio_get_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001241 lgfr %r2,%r2 # int
1242 lgfr %r3,%r3 # int
1243 jg sys_ioprio_get
1244
Jan Glauber144d6342011-07-24 10:48:19 +02001245ENTRY(sys_inotify_add_watch_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001246 lgfr %r2,%r2 # int
1247 llgtr %r3,%r3 # const char *
1248 llgfr %r4,%r4 # u32
1249 jg sys_inotify_add_watch
1250
Jan Glauber144d6342011-07-24 10:48:19 +02001251ENTRY(sys_inotify_rm_watch_wrapper)
Martin Schwidefskyd2013482005-08-01 21:11:34 -07001252 lgfr %r2,%r2 # int
1253 llgfr %r3,%r3 # u32
1254 jg sys_inotify_rm_watch
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001255
Jan Glauber144d6342011-07-24 10:48:19 +02001256ENTRY(compat_sys_openat_wrapper)
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001257 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001258 llgtr %r3,%r3 # const char *
1259 lgfr %r4,%r4 # int
1260 lgfr %r5,%r5 # int
1261 jg compat_sys_openat
1262
Jan Glauber144d6342011-07-24 10:48:19 +02001263ENTRY(sys_mkdirat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001264 lgfr %r2,%r2 # int
1265 llgtr %r3,%r3 # const char *
1266 lgfr %r4,%r4 # int
1267 jg sys_mkdirat
1268
Jan Glauber144d6342011-07-24 10:48:19 +02001269ENTRY(sys_mknodat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001270 lgfr %r2,%r2 # int
1271 llgtr %r3,%r3 # const char *
1272 lgfr %r4,%r4 # int
1273 llgfr %r5,%r5 # unsigned int
1274 jg sys_mknodat
1275
Jan Glauber144d6342011-07-24 10:48:19 +02001276ENTRY(sys_fchownat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001277 lgfr %r2,%r2 # int
1278 llgtr %r3,%r3 # const char *
1279 llgfr %r4,%r4 # uid_t
1280 llgfr %r5,%r5 # gid_t
1281 lgfr %r6,%r6 # int
1282 jg sys_fchownat
1283
Jan Glauber144d6342011-07-24 10:48:19 +02001284ENTRY(compat_sys_futimesat_wrapper)
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001285 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001286 llgtr %r3,%r3 # char *
1287 llgtr %r4,%r4 # struct timeval *
1288 jg compat_sys_futimesat
1289
Jan Glauber144d6342011-07-24 10:48:19 +02001290ENTRY(sys32_fstatat64_wrapper)
Heiko Carstenscd2d2bf2006-02-03 03:03:52 -08001291 llgfr %r2,%r2 # unsigned int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001292 llgtr %r3,%r3 # char *
Heiko Carstens19bf9cb2006-02-12 12:35:03 +01001293 llgtr %r4,%r4 # struct stat64 *
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001294 lgfr %r5,%r5 # int
Heiko Carstensed3d0212006-02-17 13:52:50 -08001295 jg sys32_fstatat64
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001296
Jan Glauber144d6342011-07-24 10:48:19 +02001297ENTRY(sys_unlinkat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001298 lgfr %r2,%r2 # int
1299 llgtr %r3,%r3 # const char *
1300 lgfr %r4,%r4 # int
1301 jg sys_unlinkat
1302
Jan Glauber144d6342011-07-24 10:48:19 +02001303ENTRY(sys_renameat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001304 lgfr %r2,%r2 # int
1305 llgtr %r3,%r3 # const char *
1306 lgfr %r4,%r4 # int
1307 llgtr %r5,%r5 # const char *
1308 jg sys_renameat
1309
Jan Glauber144d6342011-07-24 10:48:19 +02001310ENTRY(sys_linkat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001311 lgfr %r2,%r2 # int
1312 llgtr %r3,%r3 # const char *
1313 lgfr %r4,%r4 # int
1314 llgtr %r5,%r5 # const char *
Ulrich Drepperc04030e2006-02-24 13:04:21 -08001315 lgfr %r6,%r6 # int
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001316 jg sys_linkat
1317
Jan Glauber144d6342011-07-24 10:48:19 +02001318ENTRY(sys_symlinkat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001319 llgtr %r2,%r2 # const char *
1320 lgfr %r3,%r3 # int
1321 llgtr %r4,%r4 # const char *
1322 jg sys_symlinkat
1323
Jan Glauber144d6342011-07-24 10:48:19 +02001324ENTRY(sys_readlinkat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001325 lgfr %r2,%r2 # int
1326 llgtr %r3,%r3 # const char *
1327 llgtr %r4,%r4 # char *
1328 lgfr %r5,%r5 # int
1329 jg sys_readlinkat
1330
Jan Glauber144d6342011-07-24 10:48:19 +02001331ENTRY(sys_fchmodat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001332 lgfr %r2,%r2 # int
1333 llgtr %r3,%r3 # const char *
1334 llgfr %r4,%r4 # mode_t
1335 jg sys_fchmodat
1336
Jan Glauber144d6342011-07-24 10:48:19 +02001337ENTRY(sys_faccessat_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001338 lgfr %r2,%r2 # int
1339 llgtr %r3,%r3 # const char *
1340 lgfr %r4,%r4 # int
1341 jg sys_faccessat
1342
Jan Glauber144d6342011-07-24 10:48:19 +02001343ENTRY(compat_sys_pselect6_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001344 lgfr %r2,%r2 # int
1345 llgtr %r3,%r3 # fd_set *
1346 llgtr %r4,%r4 # fd_set *
1347 llgtr %r5,%r5 # fd_set *
1348 llgtr %r6,%r6 # struct timespec *
1349 llgt %r0,164(%r15) # void *
1350 stg %r0,160(%r15)
1351 jg compat_sys_pselect6
1352
Jan Glauber144d6342011-07-24 10:48:19 +02001353ENTRY(compat_sys_ppoll_wrapper)
Heiko Carstens54dfe5dd2006-02-01 03:06:38 -08001354 llgtr %r2,%r2 # struct pollfd *
1355 llgfr %r3,%r3 # unsigned int
1356 llgtr %r4,%r4 # struct timespec *
1357 llgtr %r5,%r5 # const sigset_t *
1358 llgfr %r6,%r6 # size_t
1359 jg compat_sys_ppoll
Heiko Carstense7684272006-02-11 17:56:02 -08001360
Jan Glauber144d6342011-07-24 10:48:19 +02001361ENTRY(sys_unshare_wrapper)
Heiko Carstense7684272006-02-11 17:56:02 -08001362 llgfr %r2,%r2 # unsigned long
1363 jg sys_unshare
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001364
Jan Glauber144d6342011-07-24 10:48:19 +02001365ENTRY(compat_sys_set_robust_list_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001366 llgtr %r2,%r2 # struct compat_robust_list_head *
1367 llgfr %r3,%r3 # size_t
1368 jg compat_sys_set_robust_list
1369
Jan Glauber144d6342011-07-24 10:48:19 +02001370ENTRY(compat_sys_get_robust_list_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001371 lgfr %r2,%r2 # int
1372 llgtr %r3,%r3 # compat_uptr_t_t *
1373 llgtr %r4,%r4 # compat_size_t *
1374 jg compat_sys_get_robust_list
1375
Jan Glauber144d6342011-07-24 10:48:19 +02001376ENTRY(sys_splice_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001377 lgfr %r2,%r2 # int
1378 llgtr %r3,%r3 # loff_t *
1379 lgfr %r4,%r4 # int
1380 llgtr %r5,%r5 # loff_t *
1381 llgfr %r6,%r6 # size_t
1382 llgf %r0,164(%r15) # unsigned int
1383 stg %r0,160(%r15)
1384 jg sys_splice
1385
Jan Glauber144d6342011-07-24 10:48:19 +02001386ENTRY(sys_sync_file_range_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001387 lgfr %r2,%r2 # int
1388 sllg %r3,%r3,32 # get high word of 64bit loff_t
1389 or %r3,%r4 # get low word of 64bit loff_t
1390 sllg %r4,%r5,32 # get high word of 64bit loff_t
1391 or %r4,%r6 # get low word of 64bit loff_t
1392 llgf %r5,164(%r15) # unsigned int
1393 jg sys_sync_file_range
1394
Jan Glauber144d6342011-07-24 10:48:19 +02001395ENTRY(sys_tee_wrapper)
Martin Schwidefskya3266a92006-04-27 18:40:33 -07001396 lgfr %r2,%r2 # int
1397 lgfr %r3,%r3 # int
1398 llgfr %r4,%r4 # size_t
1399 llgfr %r5,%r5 # unsigned int
1400 jg sys_tee
Martin Schwidefsky01596772006-05-15 09:44:05 -07001401
Jan Glauber144d6342011-07-24 10:48:19 +02001402ENTRY(compat_sys_vmsplice_wrapper)
Martin Schwidefsky01596772006-05-15 09:44:05 -07001403 lgfr %r2,%r2 # int
1404 llgtr %r3,%r3 # compat_iovec *
1405 llgfr %r4,%r4 # unsigned int
1406 llgfr %r5,%r5 # unsigned int
1407 jg compat_sys_vmsplice
Heiko Carstens8abfe012006-10-04 20:02:09 +02001408
Jan Glauber144d6342011-07-24 10:48:19 +02001409ENTRY(sys_getcpu_wrapper)
Heiko Carstens8abfe012006-10-04 20:02:09 +02001410 llgtr %r2,%r2 # unsigned *
1411 llgtr %r3,%r3 # unsigned *
1412 llgtr %r4,%r4 # struct getcpu_cache *
Paul Mundtf4880392006-10-27 12:39:10 +02001413 jg sys_getcpu
Heiko Carstens10c16a32007-03-19 13:18:56 +01001414
Jan Glauber144d6342011-07-24 10:48:19 +02001415ENTRY(compat_sys_epoll_pwait_wrapper)
Heiko Carstens10c16a32007-03-19 13:18:56 +01001416 lgfr %r2,%r2 # int
1417 llgtr %r3,%r3 # struct compat_epoll_event *
1418 lgfr %r4,%r4 # int
1419 lgfr %r5,%r5 # int
1420 llgtr %r6,%r6 # compat_sigset_t *
1421 llgf %r0,164(%r15) # compat_size_t
1422 stg %r0,160(%r15)
1423 jg compat_sys_epoll_pwait
Heiko Carstensfb1c1712007-03-19 13:19:07 +01001424
Jan Glauber144d6342011-07-24 10:48:19 +02001425ENTRY(compat_sys_utimes_wrapper)
Heiko Carstensfb1c1712007-03-19 13:19:07 +01001426 llgtr %r2,%r2 # char *
1427 llgtr %r3,%r3 # struct compat_timeval *
1428 jg compat_sys_utimes
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001429
Jan Glauber144d6342011-07-24 10:48:19 +02001430ENTRY(compat_sys_utimensat_wrapper)
Heiko Carstensfd5d8bf2007-05-21 11:25:20 +02001431 llgfr %r2,%r2 # unsigned int
1432 llgtr %r3,%r3 # char *
1433 llgtr %r4,%r4 # struct compat_timespec *
1434 lgfr %r5,%r5 # int
1435 jg compat_sys_utimensat
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001436
Jan Glauber144d6342011-07-24 10:48:19 +02001437ENTRY(compat_sys_signalfd_wrapper)
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001438 lgfr %r2,%r2 # int
1439 llgtr %r3,%r3 # compat_sigset_t *
1440 llgfr %r4,%r4 # compat_size_t
1441 jg compat_sys_signalfd
1442
Jan Glauber144d6342011-07-24 10:48:19 +02001443ENTRY(sys_eventfd_wrapper)
Heiko Carstens913f11ee2007-05-21 11:25:21 +02001444 llgfr %r2,%r2 # unsigned int
1445 jg sys_eventfd
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001446
Jan Glauber144d6342011-07-24 10:48:19 +02001447ENTRY(sys_fallocate_wrapper)
Martin Schwidefsky7a8e0c82007-07-27 12:29:16 +02001448 lgfr %r2,%r2 # int
1449 lgfr %r3,%r3 # int
1450 sllg %r4,%r4,32 # get high word of 64bit loff_t
1451 lr %r4,%r5 # get low word of 64bit loff_t
1452 sllg %r5,%r6,32 # get high word of 64bit loff_t
1453 l %r5,164(%r15) # get low word of 64bit loff_t
1454 jg sys_fallocate
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001455
Jan Glauber144d6342011-07-24 10:48:19 +02001456ENTRY(sys_timerfd_create_wrapper)
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001457 lgfr %r2,%r2 # int
1458 lgfr %r3,%r3 # int
1459 jg sys_timerfd_create
1460
Jan Glauber144d6342011-07-24 10:48:19 +02001461ENTRY(compat_sys_timerfd_settime_wrapper)
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001462 lgfr %r2,%r2 # int
1463 lgfr %r3,%r3 # int
1464 llgtr %r4,%r4 # struct compat_itimerspec *
1465 llgtr %r5,%r5 # struct compat_itimerspec *
1466 jg compat_sys_timerfd_settime
1467
Jan Glauber144d6342011-07-24 10:48:19 +02001468ENTRY(compat_sys_timerfd_gettime_wrapper)
Heiko Carstens1ee92a12008-02-09 18:24:28 +01001469 lgfr %r2,%r2 # int
1470 llgtr %r3,%r3 # struct compat_itimerspec *
1471 jg compat_sys_timerfd_gettime
Heiko Carstens519620c2008-08-01 16:39:15 +02001472
Jan Glauber144d6342011-07-24 10:48:19 +02001473ENTRY(compat_sys_signalfd4_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001474 lgfr %r2,%r2 # int
1475 llgtr %r3,%r3 # compat_sigset_t *
1476 llgfr %r4,%r4 # compat_size_t
1477 lgfr %r5,%r5 # int
1478 jg compat_sys_signalfd4
1479
Jan Glauber144d6342011-07-24 10:48:19 +02001480ENTRY(sys_eventfd2_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001481 llgfr %r2,%r2 # unsigned int
1482 lgfr %r3,%r3 # int
1483 jg sys_eventfd2
1484
Jan Glauber144d6342011-07-24 10:48:19 +02001485ENTRY(sys_inotify_init1_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001486 lgfr %r2,%r2 # int
1487 jg sys_inotify_init1
1488
Jan Glauber144d6342011-07-24 10:48:19 +02001489ENTRY(sys_pipe2_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001490 llgtr %r2,%r2 # u32 *
1491 lgfr %r3,%r3 # int
1492 jg sys_pipe2 # branch to system call
1493
Jan Glauber144d6342011-07-24 10:48:19 +02001494ENTRY(sys_dup3_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001495 llgfr %r2,%r2 # unsigned int
1496 llgfr %r3,%r3 # unsigned int
1497 lgfr %r4,%r4 # int
1498 jg sys_dup3 # branch to system call
1499
Jan Glauber144d6342011-07-24 10:48:19 +02001500ENTRY(sys_epoll_create1_wrapper)
Heiko Carstens519620c2008-08-01 16:39:15 +02001501 lgfr %r2,%r2 # int
1502 jg sys_epoll_create1 # branch to system call
Michael Holzheue34a6282009-01-23 16:40:27 +01001503
Jan Glauber144d6342011-07-24 10:48:19 +02001504ENTRY(sys32_readahead_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001505 lgfr %r2,%r2 # int
1506 llgfr %r3,%r3 # u32
1507 llgfr %r4,%r4 # u32
1508 lgfr %r5,%r5 # s32
1509 jg sys32_readahead # branch to system call
1510
Jan Glauber144d6342011-07-24 10:48:19 +02001511ENTRY(sys32_sendfile64_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001512 lgfr %r2,%r2 # int
1513 lgfr %r3,%r3 # int
1514 llgtr %r4,%r4 # compat_loff_t *
1515 lgfr %r5,%r5 # s32
1516 jg sys32_sendfile64 # branch to system call
1517
Jan Glauber144d6342011-07-24 10:48:19 +02001518ENTRY(sys_tkill_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001519 lgfr %r2,%r2 # pid_t
1520 lgfr %r3,%r3 # int
1521 jg sys_tkill # branch to system call
1522
Jan Glauber144d6342011-07-24 10:48:19 +02001523ENTRY(sys_tgkill_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001524 lgfr %r2,%r2 # pid_t
1525 lgfr %r3,%r3 # pid_t
1526 lgfr %r4,%r4 # int
1527 jg sys_tgkill # branch to system call
1528
Jan Glauber144d6342011-07-24 10:48:19 +02001529ENTRY(compat_sys_keyctl_wrapper)
Michael Holzheue34a6282009-01-23 16:40:27 +01001530 llgfr %r2,%r2 # u32
1531 llgfr %r3,%r3 # u32
1532 llgfr %r4,%r4 # u32
1533 llgfr %r5,%r5 # u32
1534 llgfr %r6,%r6 # u32
1535 jg compat_sys_keyctl # branch to system call
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001536
Jan Glauber144d6342011-07-24 10:48:19 +02001537ENTRY(compat_sys_preadv_wrapper)
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001538 llgfr %r2,%r2 # unsigned long
1539 llgtr %r3,%r3 # compat_iovec *
1540 llgfr %r4,%r4 # unsigned long
1541 llgfr %r5,%r5 # u32
1542 llgfr %r6,%r6 # u32
1543 jg compat_sys_preadv # branch to system call
1544
Jan Glauber144d6342011-07-24 10:48:19 +02001545ENTRY(compat_sys_pwritev_wrapper)
Heiko Carstensa93e11f2009-04-14 15:36:17 +02001546 llgfr %r2,%r2 # unsigned long
1547 llgtr %r3,%r3 # compat_iovec *
1548 llgfr %r4,%r4 # unsigned long
1549 llgfr %r5,%r5 # u32
1550 llgfr %r6,%r6 # u32
1551 jg compat_sys_pwritev # branch to system call
Heiko Carstensfc394532009-06-12 10:26:48 +02001552
Jan Glauber144d6342011-07-24 10:48:19 +02001553ENTRY(compat_sys_rt_tgsigqueueinfo_wrapper)
Heiko Carstensfc394532009-06-12 10:26:48 +02001554 lgfr %r2,%r2 # compat_pid_t
1555 lgfr %r3,%r3 # compat_pid_t
1556 lgfr %r4,%r4 # int
1557 llgtr %r5,%r5 # struct compat_siginfo *
1558 jg compat_sys_rt_tgsigqueueinfo_wrapper # branch to system call
Heiko Carstens310d6b62009-06-12 10:26:49 +02001559
Jan Glauber144d6342011-07-24 10:48:19 +02001560ENTRY(sys_perf_event_open_wrapper)
Ingo Molnarcdd6c482009-09-21 12:02:48 +02001561 llgtr %r2,%r2 # const struct perf_event_attr *
Heiko Carstens310d6b62009-06-12 10:26:49 +02001562 lgfr %r3,%r3 # pid_t
1563 lgfr %r4,%r4 # int
1564 lgfr %r5,%r5 # int
1565 llgfr %r6,%r6 # unsigned long
Ingo Molnarcdd6c482009-09-21 12:02:48 +02001566 jg sys_perf_event_open # branch to system call
Heiko Carstens2d70ca22009-09-22 22:58:41 +02001567
Jan Glauber144d6342011-07-24 10:48:19 +02001568ENTRY(sys_clone_wrapper)
Heiko Carstens2d70ca22009-09-22 22:58:41 +02001569 llgfr %r2,%r2 # unsigned long
1570 llgfr %r3,%r3 # unsigned long
1571 llgtr %r4,%r4 # int *
1572 llgtr %r5,%r5 # int *
1573 jg sys_clone # branch to system call
Heiko Carstens3e86a8c2009-09-22 22:58:42 +02001574
Jan Glauber144d6342011-07-24 10:48:19 +02001575ENTRY(sys32_execve_wrapper)
Heiko Carstens3e86a8c2009-09-22 22:58:42 +02001576 llgtr %r2,%r2 # char *
1577 llgtr %r3,%r3 # compat_uptr_t *
1578 llgtr %r4,%r4 # compat_uptr_t *
1579 jg sys32_execve # branch to system call
Heiko Carstensb47ac632010-08-13 10:06:41 +02001580
Jan Glauber144d6342011-07-24 10:48:19 +02001581ENTRY(sys_fanotify_init_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001582 llgfr %r2,%r2 # unsigned int
1583 llgfr %r3,%r3 # unsigned int
1584 jg sys_fanotify_init # branch to system call
1585
Jan Glauber144d6342011-07-24 10:48:19 +02001586ENTRY(sys_fanotify_mark_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001587 lgfr %r2,%r2 # int
1588 llgfr %r3,%r3 # unsigned int
1589 sllg %r4,%r4,32 # get high word of 64bit mask
1590 lr %r4,%r5 # get low word of 64bit mask
1591 llgfr %r5,%r6 # unsigned int
1592 llgt %r6,164(%r15) # char *
1593 jg sys_fanotify_mark # branch to system call
1594
Jan Glauber144d6342011-07-24 10:48:19 +02001595ENTRY(sys_prlimit64_wrapper)
Heiko Carstensb47ac632010-08-13 10:06:41 +02001596 lgfr %r2,%r2 # pid_t
1597 llgfr %r3,%r3 # unsigned int
1598 llgtr %r4,%r4 # const struct rlimit64 __user *
1599 llgtr %r5,%r5 # struct rlimit64 __user *
1600 jg sys_prlimit64 # branch to system call
Heiko Carstens737fd5f2011-03-23 10:15:55 +01001601
Jan Glauber144d6342011-07-24 10:48:19 +02001602ENTRY(sys_name_to_handle_at_wrapper)
Heiko Carstens737fd5f2011-03-23 10:15:55 +01001603 lgfr %r2,%r2 # int
1604 llgtr %r3,%r3 # const char __user *
1605 llgtr %r4,%r4 # struct file_handle __user *
1606 llgtr %r5,%r5 # int __user *
1607 lgfr %r6,%r6 # int
1608 jg sys_name_to_handle_at
Heiko Carstens50694962011-03-23 10:15:56 +01001609
Jan Glauber144d6342011-07-24 10:48:19 +02001610ENTRY(compat_sys_open_by_handle_at_wrapper)
Heiko Carstens50694962011-03-23 10:15:56 +01001611 lgfr %r2,%r2 # int
1612 llgtr %r3,%r3 # struct file_handle __user *
1613 lgfr %r4,%r4 # int
1614 jg compat_sys_open_by_handle_at
Heiko Carstens26e8a332011-03-23 10:15:57 +01001615
Jan Glauber144d6342011-07-24 10:48:19 +02001616ENTRY(compat_sys_clock_adjtime_wrapper)
Heiko Carstens26e8a332011-03-23 10:15:57 +01001617 lgfr %r2,%r2 # clockid_t (int)
1618 llgtr %r3,%r3 # struct compat_timex __user *
1619 jg compat_sys_clock_adjtime
Heiko Carstensd0d2e312011-03-23 10:15:58 +01001620
Jan Glauber144d6342011-07-24 10:48:19 +02001621ENTRY(sys_syncfs_wrapper)
Heiko Carstensd0d2e312011-03-23 10:15:58 +01001622 lgfr %r2,%r2 # int
1623 jg sys_syncfs
Eric W. Biederman7b21fdd2011-05-27 19:28:27 -07001624
Jan Glauber017ec182011-10-30 15:16:09 +01001625ENTRY(sys_setns_wrapper)
Eric W. Biederman7b21fdd2011-05-27 19:28:27 -07001626 lgfr %r2,%r2 # int
1627 lgfr %r3,%r3 # int
1628 jg sys_setns
Heiko Carstens80025292011-11-14 11:18:59 +01001629
1630ENTRY(compat_sys_process_vm_readv_wrapper)
1631 lgfr %r2,%r2 # compat_pid_t
1632 llgtr %r3,%r3 # struct compat_iovec __user *
1633 llgfr %r4,%r4 # unsigned long
1634 llgtr %r5,%r5 # struct compat_iovec __user *
1635 llgfr %r6,%r6 # unsigned long
1636 llgf %r0,164(%r15) # unsigned long
1637 stg %r0,160(%r15)
Heiko Carstens82aabdb2012-08-07 09:48:13 +02001638 jg compat_sys_process_vm_readv
Heiko Carstens80025292011-11-14 11:18:59 +01001639
1640ENTRY(compat_sys_process_vm_writev_wrapper)
1641 lgfr %r2,%r2 # compat_pid_t
1642 llgtr %r3,%r3 # struct compat_iovec __user *
1643 llgfr %r4,%r4 # unsigned long
1644 llgtr %r5,%r5 # struct compat_iovec __user *
1645 llgfr %r6,%r6 # unsigned long
1646 llgf %r0,164(%r15) # unsigned long
1647 stg %r0,160(%r15)
Heiko Carstens82aabdb2012-08-07 09:48:13 +02001648 jg compat_sys_process_vm_writev
Jan Glaubere4b8b3f2012-07-31 10:52:05 +02001649
1650ENTRY(sys_s390_runtime_instr_wrapper)
1651 lgfr %r2,%r2 # int
1652 lgfr %r3,%r3 # int
1653 jg sys_s390_runtime_instr
Heiko Carstensc0162b02012-09-13 15:55:38 +02001654
1655ENTRY(sys_kcmp_wrapper)
1656 lgfr %r2,%r2 # pid_t
1657 lgfr %r3,%r3 # pid_t
1658 lgfr %r4,%r4 # int
1659 llgfr %r5,%r5 # unsigned long
1660 llgfr %r6,%r6 # unsigned long
1661 jg sys_kcmp