compat_wrapper.S 38.0 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3
/*
*    wrapper for 31 bit compatible system calls.
*
4
*    Copyright IBM Corp. 2000, 2006
L
Linus Torvalds 已提交
5
*    Author(s): Gerhard Tonn (ton@de.ibm.com),
H
Heiko Carstens 已提交
6 7
*		Thomas Spatzier (tspat@de.ibm.com)
*/
L
Linus Torvalds 已提交
8

9 10 11
#include <linux/linkage.h>

ENTRY(sys32_exit_wrapper)
L
Linus Torvalds 已提交
12 13
	lgfr	%r2,%r2			# int
	jg	sys_exit		# branch to sys_exit
H
Heiko Carstens 已提交
14

15
ENTRY(sys32_read_wrapper)
L
Linus Torvalds 已提交
16 17 18 19 20
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# char *
	llgfr	%r4,%r4			# size_t
	jg	sys32_read		# branch to sys_read

21
ENTRY(sys32_write_wrapper)
L
Linus Torvalds 已提交
22 23 24 25 26
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# size_t
	jg	sys32_write		# branch to system call

27
ENTRY(sys32_close_wrapper)
L
Linus Torvalds 已提交
28 29 30
	llgfr	%r2,%r2			# unsigned int
	jg	sys_close		# branch to system call

31
ENTRY(sys32_creat_wrapper)
L
Linus Torvalds 已提交
32 33 34 35
	llgtr	%r2,%r2			# const char *
	lgfr	%r3,%r3			# int
	jg	sys_creat		# branch to system call

36
ENTRY(sys32_link_wrapper)
L
Linus Torvalds 已提交
37 38 39 40
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# const char *
	jg	sys_link		# branch to system call

41
ENTRY(sys32_unlink_wrapper)
L
Linus Torvalds 已提交
42 43 44
	llgtr	%r2,%r2			# const char *
	jg	sys_unlink		# branch to system call

45
ENTRY(sys32_chdir_wrapper)
L
Linus Torvalds 已提交
46 47 48
	llgtr	%r2,%r2			# const char *
	jg	sys_chdir		# branch to system call

49
ENTRY(sys32_time_wrapper)
L
Linus Torvalds 已提交
50 51 52
	llgtr	%r2,%r2			# int *
	jg	compat_sys_time		# branch to system call

53
ENTRY(sys32_mknod_wrapper)
L
Linus Torvalds 已提交
54
	llgtr	%r2,%r2			# const char *
H
Heiko Carstens 已提交
55
	lgfr	%r3,%r3			# int
L
Linus Torvalds 已提交
56 57 58
	llgfr	%r4,%r4			# dev
	jg	sys_mknod		# branch to system call

59
ENTRY(sys32_chmod_wrapper)
L
Linus Torvalds 已提交
60 61 62 63
	llgtr	%r2,%r2			# const char *
	llgfr	%r3,%r3			# mode_t
	jg	sys_chmod		# branch to system call

64
ENTRY(sys32_lchown16_wrapper)
L
Linus Torvalds 已提交
65
	llgtr	%r2,%r2			# const char *
H
Heiko Carstens 已提交
66 67
	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t
	llgfr	%r4,%r4			# __kernel_old_uid_emu31_t
L
Linus Torvalds 已提交
68 69
	jg	sys32_lchown16		# branch to system call

H
Heiko Carstens 已提交
70
#sys32_getpid_wrapper				# void
L
Linus Torvalds 已提交
71

72
ENTRY(sys32_mount_wrapper)
L
Linus Torvalds 已提交
73 74 75 76 77 78 79
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# char *
	llgfr	%r5,%r5			# unsigned long
	llgtr	%r6,%r6			# void *
	jg	compat_sys_mount	# branch to system call

80
ENTRY(sys32_oldumount_wrapper)
L
Linus Torvalds 已提交
81 82 83
	llgtr	%r2,%r2			# char *
	jg	sys_oldumount		# branch to system call

84
ENTRY(sys32_setuid16_wrapper)
H
Heiko Carstens 已提交
85
	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t
L
Linus Torvalds 已提交
86 87
	jg	sys32_setuid16		# branch to system call

H
Heiko Carstens 已提交
88
#sys32_getuid16_wrapper			# void
L
Linus Torvalds 已提交
89

90
ENTRY(sys32_ptrace_wrapper)
L
Linus Torvalds 已提交
91 92 93 94
	lgfr	%r2,%r2			# long
	lgfr	%r3,%r3			# long
	llgtr	%r4,%r4			# long
	llgfr	%r5,%r5			# long
R
Roland McGrath 已提交
95
	jg	compat_sys_ptrace	# branch to system call
L
Linus Torvalds 已提交
96

97
ENTRY(sys32_alarm_wrapper)
L
Linus Torvalds 已提交
98 99 100
	llgfr	%r2,%r2			# unsigned int
	jg	sys_alarm		# branch to system call

101
ENTRY(compat_sys_utime_wrapper)
L
Linus Torvalds 已提交
102 103 104 105
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct compat_utimbuf *
	jg	compat_sys_utime	# branch to system call

106
ENTRY(sys32_access_wrapper)
L
Linus Torvalds 已提交
107 108 109 110
	llgtr	%r2,%r2			# const char *
	lgfr	%r3,%r3			# int
	jg	sys_access		# branch to system call

111
ENTRY(sys32_nice_wrapper)
L
Linus Torvalds 已提交
112 113 114
	lgfr	%r2,%r2			# int
	jg	sys_nice		# branch to system call

H
Heiko Carstens 已提交
115
#sys32_sync_wrapper			# void
L
Linus Torvalds 已提交
116

117
ENTRY(sys32_kill_wrapper)
L
Linus Torvalds 已提交
118 119 120 121
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	jg	sys_kill		# branch to system call

122
ENTRY(sys32_rename_wrapper)
L
Linus Torvalds 已提交
123 124 125 126
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# const char *
	jg	sys_rename		# branch to system call

127
ENTRY(sys32_mkdir_wrapper)
L
Linus Torvalds 已提交
128 129 130 131
	llgtr	%r2,%r2			# const char *
	lgfr	%r3,%r3			# int
	jg	sys_mkdir		# branch to system call

132
ENTRY(sys32_rmdir_wrapper)
L
Linus Torvalds 已提交
133 134 135
	llgtr	%r2,%r2			# const char *
	jg	sys_rmdir		# branch to system call

136
ENTRY(sys32_dup_wrapper)
L
Linus Torvalds 已提交
137 138 139
	llgfr	%r2,%r2			# unsigned int
	jg	sys_dup			# branch to system call

140
ENTRY(sys32_pipe_wrapper)
L
Linus Torvalds 已提交
141 142 143
	llgtr	%r2,%r2			# u32 *
	jg	sys_pipe		# branch to system call

144
ENTRY(compat_sys_times_wrapper)
L
Linus Torvalds 已提交
145 146 147
	llgtr	%r2,%r2			# struct compat_tms *
	jg	compat_sys_times	# branch to system call

148
ENTRY(sys32_brk_wrapper)
L
Linus Torvalds 已提交
149 150 151
	llgtr	%r2,%r2			# unsigned long
	jg	sys_brk			# branch to system call

152
ENTRY(sys32_setgid16_wrapper)
H
Heiko Carstens 已提交
153
	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t
L
Linus Torvalds 已提交
154 155
	jg	sys32_setgid16		# branch to system call

H
Heiko Carstens 已提交
156
#sys32_getgid16_wrapper			# void
L
Linus Torvalds 已提交
157

158
ENTRY(sys32_signal_wrapper)
H
Heiko Carstens 已提交
159
	lgfr	%r2,%r2			# int
L
Linus Torvalds 已提交
160 161 162
	llgtr	%r3,%r3			# __sighandler_t
	jg	sys_signal

H
Heiko Carstens 已提交
163
#sys32_geteuid16_wrapper		# void
L
Linus Torvalds 已提交
164

H
Heiko Carstens 已提交
165
#sys32_getegid16_wrapper		# void
L
Linus Torvalds 已提交
166

167
ENTRY(sys32_acct_wrapper)
L
Linus Torvalds 已提交
168 169 170
	llgtr	%r2,%r2			# char *
	jg	sys_acct		# branch to system call

171
ENTRY(sys32_umount_wrapper)
L
Linus Torvalds 已提交
172 173 174 175
	llgtr	%r2,%r2			# char *
	lgfr	%r3,%r3			# int
	jg	sys_umount		# branch to system call

176
ENTRY(compat_sys_ioctl_wrapper)
L
Linus Torvalds 已提交
177 178 179 180 181
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned int
	llgfr	%r4,%r4			# unsigned int
	jg	compat_sys_ioctl	# branch to system call

182
ENTRY(compat_sys_fcntl_wrapper)
L
Linus Torvalds 已提交
183
	llgfr	%r2,%r2			# unsigned int
H
Heiko Carstens 已提交
184
	llgfr	%r3,%r3			# unsigned int
L
Linus Torvalds 已提交
185 186 187
	llgfr	%r4,%r4			# unsigned long
	jg	compat_sys_fcntl	# branch to system call

188
ENTRY(sys32_setpgid_wrapper)
L
Linus Torvalds 已提交
189 190 191 192
	lgfr	%r2,%r2			# pid_t
	lgfr	%r3,%r3			# pid_t
	jg	sys_setpgid		# branch to system call

193
ENTRY(sys32_umask_wrapper)
L
Linus Torvalds 已提交
194 195 196
	lgfr	%r2,%r2			# int
	jg	sys_umask		# branch to system call

197
ENTRY(sys32_chroot_wrapper)
L
Linus Torvalds 已提交
198 199 200
	llgtr	%r2,%r2			# char *
	jg	sys_chroot		# branch to system call

201
ENTRY(sys32_ustat_wrapper)
H
Heiko Carstens 已提交
202
	llgfr	%r2,%r2			# dev_t
L
Linus Torvalds 已提交
203
	llgtr	%r3,%r3			# struct ustat *
C
Christoph Hellwig 已提交
204
	jg	compat_sys_ustat
L
Linus Torvalds 已提交
205

206
ENTRY(sys32_dup2_wrapper)
L
Linus Torvalds 已提交
207 208 209 210
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned int
	jg	sys_dup2		# branch to system call

H
Heiko Carstens 已提交
211
#sys32_getppid_wrapper			# void
L
Linus Torvalds 已提交
212

H
Heiko Carstens 已提交
213
#sys32_getpgrp_wrapper			# void
L
Linus Torvalds 已提交
214

H
Heiko Carstens 已提交
215
#sys32_setsid_wrapper			# void
L
Linus Torvalds 已提交
216

217
ENTRY(sys32_setreuid16_wrapper)
H
Heiko Carstens 已提交
218 219
	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t
	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t
L
Linus Torvalds 已提交
220 221
	jg	sys32_setreuid16	# branch to system call

222
ENTRY(sys32_setregid16_wrapper)
H
Heiko Carstens 已提交
223 224
	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t
	llgfr	%r3,%r3			# __kernel_old_gid_emu31_t
L
Linus Torvalds 已提交
225 226
	jg	sys32_setregid16	# branch to system call

227
ENTRY(sys_sigsuspend_wrapper)
228 229 230 231
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	llgfr	%r4,%r4			# old_sigset_t
	jg	sys_sigsuspend
L
Linus Torvalds 已提交
232

233
ENTRY(compat_sys_sigpending_wrapper)
L
Linus Torvalds 已提交
234 235 236
	llgtr	%r2,%r2			# compat_old_sigset_t *
	jg	compat_sys_sigpending	# branch to system call

237
ENTRY(sys32_sethostname_wrapper)
L
Linus Torvalds 已提交
238 239 240 241
	llgtr	%r2,%r2			# char *
	lgfr	%r3,%r3			# int
	jg	sys_sethostname		# branch to system call

242
ENTRY(compat_sys_setrlimit_wrapper)
L
Linus Torvalds 已提交
243 244 245 246
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# struct rlimit_emu31 *
	jg	compat_sys_setrlimit	# branch to system call

247
ENTRY(compat_sys_old_getrlimit_wrapper)
L
Linus Torvalds 已提交
248 249 250 251
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# struct rlimit_emu31 *
	jg	compat_sys_old_getrlimit # branch to system call

252
ENTRY(compat_sys_getrlimit_wrapper)
L
Linus Torvalds 已提交
253 254 255 256
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# struct rlimit_emu31 *
	jg	compat_sys_getrlimit	# branch to system call

257
ENTRY(sys32_mmap2_wrapper)
L
Linus Torvalds 已提交
258 259 260
	llgtr	%r2,%r2			# struct mmap_arg_struct_emu31 *
	jg	sys32_mmap2			# branch to system call

261
ENTRY(compat_sys_getrusage_wrapper)
L
Linus Torvalds 已提交
262 263 264 265
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# struct rusage_emu31 *
	jg	compat_sys_getrusage	# branch to system call

266
ENTRY(compat_sys_gettimeofday_wrapper)
L
Linus Torvalds 已提交
267 268
	llgtr	%r2,%r2			# struct timeval_emu31 *
	llgtr	%r3,%r3			# struct timezone *
269
	jg	compat_sys_gettimeofday	# branch to system call
L
Linus Torvalds 已提交
270

271
ENTRY(compat_sys_settimeofday_wrapper)
L
Linus Torvalds 已提交
272 273
	llgtr	%r2,%r2			# struct timeval_emu31 *
	llgtr	%r3,%r3			# struct timezone *
274
	jg	compat_sys_settimeofday	# branch to system call
L
Linus Torvalds 已提交
275

276
ENTRY(sys32_getgroups16_wrapper)
L
Linus Torvalds 已提交
277 278 279 280
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# __kernel_old_gid_emu31_t *
	jg	sys32_getgroups16	# branch to system call

281
ENTRY(sys32_setgroups16_wrapper)
L
Linus Torvalds 已提交
282 283 284 285
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# __kernel_old_gid_emu31_t *
	jg	sys32_setgroups16	# branch to system call

286
ENTRY(sys32_symlink_wrapper)
L
Linus Torvalds 已提交
287 288 289 290
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# const char *
	jg	sys_symlink		# branch to system call

291
ENTRY(sys32_readlink_wrapper)
L
Linus Torvalds 已提交
292 293 294 295 296
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# char *
	lgfr	%r4,%r4			# int
	jg	sys_readlink		# branch to system call

297
ENTRY(sys32_uselib_wrapper)
L
Linus Torvalds 已提交
298 299 300
	llgtr	%r2,%r2			# const char *
	jg	sys_uselib		# branch to system call

301
ENTRY(sys32_swapon_wrapper)
L
Linus Torvalds 已提交
302 303 304 305
	llgtr	%r2,%r2			# const char *
	lgfr	%r3,%r3			# int
	jg	sys_swapon		# branch to system call

306
ENTRY(sys32_reboot_wrapper)
L
Linus Torvalds 已提交
307 308 309 310 311 312
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	llgfr	%r4,%r4			# unsigned int
	llgtr	%r5,%r5			# void *
	jg	sys_reboot		# branch to system call

313
ENTRY(old32_readdir_wrapper)
L
Linus Torvalds 已提交
314 315 316 317 318
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# void *
	llgfr	%r4,%r4			# unsigned int
	jg	compat_sys_old_readdir	# branch to system call

319
ENTRY(old32_mmap_wrapper)
L
Linus Torvalds 已提交
320 321 322
	llgtr	%r2,%r2			# struct mmap_arg_struct_emu31 *
	jg	old32_mmap		# branch to system call

323
ENTRY(sys32_munmap_wrapper)
L
Linus Torvalds 已提交
324
	llgfr	%r2,%r2			# unsigned long
H
Heiko Carstens 已提交
325
	llgfr	%r3,%r3			# size_t
L
Linus Torvalds 已提交
326 327
	jg	sys_munmap		# branch to system call

328
ENTRY(sys32_fchmod_wrapper)
L
Linus Torvalds 已提交
329 330 331 332
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# mode_t
	jg	sys_fchmod		# branch to system call

333
ENTRY(sys32_fchown16_wrapper)
L
Linus Torvalds 已提交
334 335 336 337 338
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# compat_uid_t
	llgfr	%r4,%r4			# compat_uid_t
	jg	sys32_fchown16		# branch to system call

339
ENTRY(sys32_getpriority_wrapper)
L
Linus Torvalds 已提交
340 341 342 343
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	jg	sys_getpriority		# branch to system call

344
ENTRY(sys32_setpriority_wrapper)
L
Linus Torvalds 已提交
345 346 347 348 349
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	lgfr	%r4,%r4			# int
	jg	sys_setpriority		# branch to system call

350
ENTRY(compat_sys_statfs_wrapper)
L
Linus Torvalds 已提交
351 352 353 354
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct compat_statfs *
	jg	compat_sys_statfs	# branch to system call

355
ENTRY(compat_sys_fstatfs_wrapper)
L
Linus Torvalds 已提交
356 357 358 359
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# struct compat_statfs *
	jg	compat_sys_fstatfs	# branch to system call

360
ENTRY(compat_sys_socketcall_wrapper)
L
Linus Torvalds 已提交
361 362 363 364
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# u32 *
	jg	compat_sys_socketcall	# branch to system call

365
ENTRY(sys32_syslog_wrapper)
L
Linus Torvalds 已提交
366 367 368 369 370
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# char *
	lgfr	%r4,%r4			# int
	jg	sys_syslog		# branch to system call

371
ENTRY(compat_sys_newstat_wrapper)
L
Linus Torvalds 已提交
372 373 374 375
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct stat_emu31 *
	jg	compat_sys_newstat	# branch to system call

376
ENTRY(compat_sys_newlstat_wrapper)
L
Linus Torvalds 已提交
377 378 379 380
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct stat_emu31 *
	jg	compat_sys_newlstat	# branch to system call

381
ENTRY(compat_sys_newfstat_wrapper)
L
Linus Torvalds 已提交
382 383 384 385
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# struct stat_emu31 *
	jg	compat_sys_newfstat	# branch to system call

H
Heiko Carstens 已提交
386
#sys32_vhangup_wrapper			# void
L
Linus Torvalds 已提交
387

388
ENTRY(sys32_swapoff_wrapper)
L
Linus Torvalds 已提交
389 390 391
	llgtr	%r2,%r2			# const char *
	jg	sys_swapoff		# branch to system call

392
ENTRY(compat_sys_sysinfo_wrapper)
L
Linus Torvalds 已提交
393
	llgtr	%r2,%r2			# struct sysinfo_emu31 *
394
	jg	compat_sys_sysinfo	# branch to system call
L
Linus Torvalds 已提交
395

396
ENTRY(sys32_ipc_wrapper)
L
Linus Torvalds 已提交
397 398 399 400 401 402 403
	llgfr	%r2,%r2			# uint
	lgfr	%r3,%r3			# int
	lgfr	%r4,%r4			# int
	lgfr	%r5,%r5			# int
	llgfr	%r6,%r6			# u32
	jg	sys32_ipc		# branch to system call

404
ENTRY(sys32_fsync_wrapper)
L
Linus Torvalds 已提交
405 406 407
	llgfr	%r2,%r2			# unsigned int
	jg	sys_fsync		# branch to system call

H
Heiko Carstens 已提交
408
#sys32_sigreturn_wrapper		# done in sigreturn_glue
L
Linus Torvalds 已提交
409

H
Heiko Carstens 已提交
410
#sys32_clone_wrapper			# done in clone_glue
L
Linus Torvalds 已提交
411

412
ENTRY(sys32_setdomainname_wrapper)
L
Linus Torvalds 已提交
413 414 415 416
	llgtr	%r2,%r2			# char *
	lgfr	%r3,%r3			# int
	jg	sys_setdomainname	# branch to system call

417
ENTRY(sys32_newuname_wrapper)
L
Linus Torvalds 已提交
418
	llgtr	%r2,%r2			# struct new_utsname *
419
	jg	sys_newuname		# branch to system call
L
Linus Torvalds 已提交
420

421
ENTRY(compat_sys_adjtimex_wrapper)
422 423
	llgtr	%r2,%r2			# struct compat_timex *
	jg	compat_sys_adjtimex	# branch to system call
L
Linus Torvalds 已提交
424

425
ENTRY(sys32_mprotect_wrapper)
L
Linus Torvalds 已提交
426 427 428 429 430
	llgtr	%r2,%r2			# unsigned long (actually pointer
	llgfr	%r3,%r3			# size_t
	llgfr	%r4,%r4			# unsigned long
	jg	sys_mprotect		# branch to system call

431
ENTRY(sys_init_module_wrapper)
L
Linus Torvalds 已提交
432 433 434
	llgtr	%r2,%r2			# void *
	llgfr	%r3,%r3			# unsigned long
	llgtr	%r4,%r4			# char *
435
	jg	sys_init_module		# branch to system call
L
Linus Torvalds 已提交
436

437
ENTRY(sys_delete_module_wrapper)
L
Linus Torvalds 已提交
438 439
	llgtr	%r2,%r2			# const char *
	llgfr	%r3,%r3			# unsigned int
440
	jg	sys_delete_module	# branch to system call
L
Linus Torvalds 已提交
441

442
ENTRY(sys32_quotactl_wrapper)
L
Linus Torvalds 已提交
443 444 445 446 447 448
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# qid_t
	llgtr	%r5,%r5			# caddr_t
	jg	sys_quotactl		# branch to system call

449
ENTRY(sys32_getpgid_wrapper)
L
Linus Torvalds 已提交
450 451 452
	lgfr	%r2,%r2			# pid_t
	jg	sys_getpgid		# branch to system call

453
ENTRY(sys32_fchdir_wrapper)
L
Linus Torvalds 已提交
454 455 456
	llgfr	%r2,%r2			# unsigned int
	jg	sys_fchdir		# branch to system call

457
ENTRY(sys32_bdflush_wrapper)
L
Linus Torvalds 已提交
458 459 460 461
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# long
	jg	sys_bdflush		# branch to system call

462
ENTRY(sys32_sysfs_wrapper)
L
Linus Torvalds 已提交
463 464 465 466 467
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	jg	sys_sysfs		# branch to system call

468
ENTRY(sys32_personality_wrapper)
469
	llgfr	%r2,%r2			# unsigned int
470
	jg	sys_s390_personality	# branch to system call
L
Linus Torvalds 已提交
471

472
ENTRY(sys32_setfsuid16_wrapper)
H
Heiko Carstens 已提交
473
	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t
L
Linus Torvalds 已提交
474 475
	jg	sys32_setfsuid16	# branch to system call

476
ENTRY(sys32_setfsgid16_wrapper)
H
Heiko Carstens 已提交
477
	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t
L
Linus Torvalds 已提交
478 479
	jg	sys32_setfsgid16	# branch to system call

480
ENTRY(sys32_llseek_wrapper)
L
Linus Torvalds 已提交
481 482 483 484 485 486 487
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	llgtr	%r5,%r5			# loff_t *
	llgfr	%r6,%r6			# unsigned int
	jg	sys_llseek		# branch to system call

488
ENTRY(sys32_getdents_wrapper)
L
Linus Torvalds 已提交
489 490 491 492 493
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# void *
	llgfr	%r4,%r4			# unsigned int
	jg	compat_sys_getdents	# branch to system call

494
ENTRY(compat_sys_select_wrapper)
L
Linus Torvalds 已提交
495 496 497 498 499 500 501
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# compat_fd_set *
	llgtr	%r4,%r4			# compat_fd_set *
	llgtr	%r5,%r5			# compat_fd_set *
	llgtr	%r6,%r6			# struct compat_timeval *
	jg	compat_sys_select	# branch to system call

502
ENTRY(sys32_flock_wrapper)
L
Linus Torvalds 已提交
503 504 505 506
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned int
	jg	sys_flock		# branch to system call

507
ENTRY(sys32_msync_wrapper)
L
Linus Torvalds 已提交
508 509 510 511 512
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# size_t
	lgfr	%r4,%r4			# int
	jg	sys_msync		# branch to system call

513
ENTRY(compat_sys_readv_wrapper)
L
Linus Torvalds 已提交
514 515 516 517 518
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const struct compat_iovec *
	llgfr	%r4,%r4			# unsigned long
	jg	compat_sys_readv	# branch to system call

519
ENTRY(compat_sys_writev_wrapper)
L
Linus Torvalds 已提交
520 521 522 523 524
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const struct compat_iovec *
	llgfr	%r4,%r4			# unsigned long
	jg	compat_sys_writev	# branch to system call

525
ENTRY(sys32_getsid_wrapper)
L
Linus Torvalds 已提交
526 527 528
	lgfr	%r2,%r2			# pid_t
	jg	sys_getsid		# branch to system call

529
ENTRY(sys32_fdatasync_wrapper)
L
Linus Torvalds 已提交
530 531 532
	llgfr	%r2,%r2			# unsigned int
	jg	sys_fdatasync		# branch to system call

533
ENTRY(sys32_mlock_wrapper)
L
Linus Torvalds 已提交
534 535 536 537
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# size_t
	jg	sys_mlock		# branch to system call

538
ENTRY(sys32_munlock_wrapper)
L
Linus Torvalds 已提交
539 540 541 542
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# size_t
	jg	sys_munlock		# branch to system call

543
ENTRY(sys32_mlockall_wrapper)
L
Linus Torvalds 已提交
544 545 546
	lgfr	%r2,%r2			# int
	jg	sys_mlockall		# branch to system call

H
Heiko Carstens 已提交
547
#sys32_munlockall_wrapper		# void
L
Linus Torvalds 已提交
548

549
ENTRY(sys32_sched_setparam_wrapper)
L
Linus Torvalds 已提交
550 551 552 553
	lgfr	%r2,%r2			# pid_t
	llgtr	%r3,%r3			# struct sched_param *
	jg	sys_sched_setparam	# branch to system call

554
ENTRY(sys32_sched_getparam_wrapper)
L
Linus Torvalds 已提交
555 556 557 558
	lgfr	%r2,%r2			# pid_t
	llgtr	%r3,%r3			# struct sched_param *
	jg	sys_sched_getparam	# branch to system call

559
ENTRY(sys32_sched_setscheduler_wrapper)
L
Linus Torvalds 已提交
560 561 562 563 564
	lgfr	%r2,%r2			# pid_t
	lgfr	%r3,%r3			# int
	llgtr	%r4,%r4			# struct sched_param *
	jg	sys_sched_setscheduler	# branch to system call

565
ENTRY(sys32_sched_getscheduler_wrapper)
L
Linus Torvalds 已提交
566 567 568
	lgfr	%r2,%r2			# pid_t
	jg	sys_sched_getscheduler	# branch to system call

H
Heiko Carstens 已提交
569
#sys32_sched_yield_wrapper		# void
L
Linus Torvalds 已提交
570

571
ENTRY(sys32_sched_get_priority_max_wrapper)
L
Linus Torvalds 已提交
572 573 574
	lgfr	%r2,%r2			# int
	jg	sys_sched_get_priority_max	# branch to system call

575
ENTRY(sys32_sched_get_priority_min_wrapper)
L
Linus Torvalds 已提交
576 577 578
	lgfr	%r2,%r2			# int
	jg	sys_sched_get_priority_min	# branch to system call

579
ENTRY(compat_sys_nanosleep_wrapper)
L
Linus Torvalds 已提交
580 581 582 583
	llgtr	%r2,%r2			# struct compat_timespec *
	llgtr	%r3,%r3			# struct compat_timespec *
	jg	compat_sys_nanosleep		# branch to system call

584
ENTRY(sys32_mremap_wrapper)
L
Linus Torvalds 已提交
585 586 587 588 589 590 591
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	llgfr	%r5,%r5			# unsigned long
	llgfr	%r6,%r6			# unsigned long
	jg	sys_mremap		# branch to system call

592
ENTRY(sys32_setresuid16_wrapper)
H
Heiko Carstens 已提交
593 594 595
	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t
	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t
	llgfr	%r4,%r4			# __kernel_old_uid_emu31_t
L
Linus Torvalds 已提交
596 597
	jg	sys32_setresuid16	# branch to system call

598
ENTRY(sys32_getresuid16_wrapper)
L
Linus Torvalds 已提交
599 600 601 602 603
	llgtr	%r2,%r2			# __kernel_old_uid_emu31_t *
	llgtr	%r3,%r3			# __kernel_old_uid_emu31_t *
	llgtr	%r4,%r4			# __kernel_old_uid_emu31_t *
	jg	sys32_getresuid16	# branch to system call

604
ENTRY(sys32_poll_wrapper)
H
Heiko Carstens 已提交
605 606
	llgtr	%r2,%r2			# struct pollfd *
	llgfr	%r3,%r3			# unsigned int
607
	lgfr	%r4,%r4			# int
L
Linus Torvalds 已提交
608 609
	jg	sys_poll		# branch to system call

610
ENTRY(sys32_setresgid16_wrapper)
H
Heiko Carstens 已提交
611 612 613
	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t
	llgfr	%r3,%r3			# __kernel_old_gid_emu31_t
	llgfr	%r4,%r4			# __kernel_old_gid_emu31_t
L
Linus Torvalds 已提交
614 615
	jg	sys32_setresgid16	# branch to system call

616
ENTRY(sys32_getresgid16_wrapper)
L
Linus Torvalds 已提交
617 618 619 620 621
	llgtr	%r2,%r2			# __kernel_old_gid_emu31_t *
	llgtr	%r3,%r3			# __kernel_old_gid_emu31_t *
	llgtr	%r4,%r4			# __kernel_old_gid_emu31_t *
	jg	sys32_getresgid16	# branch to system call

622
ENTRY(sys32_prctl_wrapper)
L
Linus Torvalds 已提交
623 624 625 626 627 628 629
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	llgfr	%r5,%r5			# unsigned long
	llgfr	%r6,%r6			# unsigned long
	jg	sys_prctl		# branch to system call

H
Heiko Carstens 已提交
630
#sys32_rt_sigreturn_wrapper		# done in rt_sigreturn_glue
L
Linus Torvalds 已提交
631

632
ENTRY(sys32_pread64_wrapper)
L
Linus Torvalds 已提交
633 634 635 636 637 638 639
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# char *
	llgfr	%r4,%r4			# size_t
	llgfr	%r5,%r5			# u32
	llgfr	%r6,%r6			# u32
	jg	sys32_pread64		# branch to system call

640
ENTRY(sys32_pwrite64_wrapper)
L
Linus Torvalds 已提交
641 642 643 644 645 646 647
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# size_t
	llgfr	%r5,%r5			# u32
	llgfr	%r6,%r6			# u32
	jg	sys32_pwrite64		# branch to system call

648
ENTRY(sys32_chown16_wrapper)
L
Linus Torvalds 已提交
649
	llgtr	%r2,%r2			# const char *
H
Heiko Carstens 已提交
650 651
	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t
	llgfr	%r4,%r4			# __kernel_old_gid_emu31_t
L
Linus Torvalds 已提交
652 653
	jg	sys32_chown16		# branch to system call

654
ENTRY(sys32_getcwd_wrapper)
L
Linus Torvalds 已提交
655 656 657 658
	llgtr	%r2,%r2			# char *
	llgfr	%r3,%r3			# unsigned long
	jg	sys_getcwd		# branch to system call

659
ENTRY(sys32_capget_wrapper)
L
Linus Torvalds 已提交
660 661 662 663
	llgtr	%r2,%r2			# cap_user_header_t
	llgtr	%r3,%r3			# cap_user_data_t
	jg	sys_capget		# branch to system call

664
ENTRY(sys32_capset_wrapper)
L
Linus Torvalds 已提交
665 666 667 668
	llgtr	%r2,%r2			# cap_user_header_t
	llgtr	%r3,%r3			# const cap_user_data_t
	jg	sys_capset		# branch to system call

669
ENTRY(sys32_sendfile_wrapper)
L
Linus Torvalds 已提交
670 671 672 673 674 675
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	llgtr	%r4,%r4			# __kernel_off_emu31_t *
	llgfr	%r5,%r5			# size_t
	jg	sys32_sendfile		# branch to system call

H
Heiko Carstens 已提交
676
#sys32_vfork_wrapper			# done in vfork_glue
L
Linus Torvalds 已提交
677

678
ENTRY(sys32_truncate64_wrapper)
L
Linus Torvalds 已提交
679 680 681 682 683
	llgtr	%r2,%r2			# const char *
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	jg	sys32_truncate64	# branch to system call

684
ENTRY(sys32_ftruncate64_wrapper)
L
Linus Torvalds 已提交
685 686 687 688 689
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	jg	sys32_ftruncate64	# branch to system call

690
ENTRY(sys32_lchown_wrapper)
L
Linus Torvalds 已提交
691 692 693 694 695
	llgtr	%r2,%r2			# const char *
	llgfr	%r3,%r3			# uid_t
	llgfr	%r4,%r4			# gid_t
	jg	sys_lchown		# branch to system call

H
Heiko Carstens 已提交
696 697 698 699
#sys32_getuid_wrapper			# void
#sys32_getgid_wrapper			# void
#sys32_geteuid_wrapper			# void
#sys32_getegid_wrapper			# void
L
Linus Torvalds 已提交
700

701
ENTRY(sys32_setreuid_wrapper)
L
Linus Torvalds 已提交
702 703 704 705
	llgfr	%r2,%r2			# uid_t
	llgfr	%r3,%r3			# uid_t
	jg	sys_setreuid		# branch to system call

706
ENTRY(sys32_setregid_wrapper)
L
Linus Torvalds 已提交
707 708 709 710
	llgfr	%r2,%r2			# gid_t
	llgfr	%r3,%r3			# gid_t
	jg	sys_setregid		# branch to system call

711
ENTRY(sys32_getgroups_wrapper)
L
Linus Torvalds 已提交
712 713 714 715
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# gid_t *
	jg	sys_getgroups		# branch to system call

716
ENTRY(sys32_setgroups_wrapper)
L
Linus Torvalds 已提交
717 718 719 720
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# gid_t *
	jg	sys_setgroups		# branch to system call

721
ENTRY(sys32_fchown_wrapper)
L
Linus Torvalds 已提交
722 723 724 725 726
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# uid_t
	llgfr	%r4,%r4			# gid_t
	jg	sys_fchown		# branch to system call

727
ENTRY(sys32_setresuid_wrapper)
L
Linus Torvalds 已提交
728 729 730 731 732
	llgfr	%r2,%r2			# uid_t
	llgfr	%r3,%r3			# uid_t
	llgfr	%r4,%r4			# uid_t
	jg	sys_setresuid		# branch to system call

733
ENTRY(sys32_getresuid_wrapper)
L
Linus Torvalds 已提交
734 735 736 737 738
	llgtr	%r2,%r2			# uid_t *
	llgtr	%r3,%r3			# uid_t *
	llgtr	%r4,%r4			# uid_t *
	jg	sys_getresuid		# branch to system call

739
ENTRY(sys32_setresgid_wrapper)
L
Linus Torvalds 已提交
740 741 742 743 744
	llgfr	%r2,%r2			# gid_t
	llgfr	%r3,%r3			# gid_t
	llgfr	%r4,%r4			# gid_t
	jg	sys_setresgid		# branch to system call

745
ENTRY(sys32_getresgid_wrapper)
L
Linus Torvalds 已提交
746 747 748 749 750
	llgtr	%r2,%r2			# gid_t *
	llgtr	%r3,%r3			# gid_t *
	llgtr	%r4,%r4			# gid_t *
	jg	sys_getresgid		# branch to system call

751
ENTRY(sys32_chown_wrapper)
L
Linus Torvalds 已提交
752 753 754 755 756
	llgtr	%r2,%r2			# const char *
	llgfr	%r3,%r3			# uid_t
	llgfr	%r4,%r4			# gid_t
	jg	sys_chown		# branch to system call

757
ENTRY(sys32_setuid_wrapper)
L
Linus Torvalds 已提交
758 759 760
	llgfr	%r2,%r2			# uid_t
	jg	sys_setuid		# branch to system call

761
ENTRY(sys32_setgid_wrapper)
L
Linus Torvalds 已提交
762 763 764
	llgfr	%r2,%r2			# gid_t
	jg	sys_setgid		# branch to system call

765
ENTRY(sys32_setfsuid_wrapper)
L
Linus Torvalds 已提交
766 767 768
	llgfr	%r2,%r2			# uid_t
	jg	sys_setfsuid		# branch to system call

769
ENTRY(sys32_setfsgid_wrapper)
L
Linus Torvalds 已提交
770 771 772
	llgfr	%r2,%r2			# gid_t
	jg	sys_setfsgid		# branch to system call

773
ENTRY(sys32_pivot_root_wrapper)
L
Linus Torvalds 已提交
774 775 776 777
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# const char *
	jg	sys_pivot_root		# branch to system call

778
ENTRY(sys32_mincore_wrapper)
L
Linus Torvalds 已提交
779 780 781 782 783
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# size_t
	llgtr	%r4,%r4			# unsigned char *
	jg	sys_mincore		# branch to system call

784
ENTRY(sys32_madvise_wrapper)
L
Linus Torvalds 已提交
785 786 787 788 789
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# size_t
	lgfr	%r4,%r4			# int
	jg	sys_madvise		# branch to system call

790
ENTRY(sys32_getdents64_wrapper)
L
Linus Torvalds 已提交
791 792 793 794 795
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# void *
	llgfr	%r4,%r4			# unsigned int
	jg	sys_getdents64		# branch to system call

796
ENTRY(compat_sys_fcntl64_wrapper)
L
Linus Torvalds 已提交
797
	llgfr	%r2,%r2			# unsigned int
H
Heiko Carstens 已提交
798
	llgfr	%r3,%r3			# unsigned int
L
Linus Torvalds 已提交
799 800 801
	llgfr	%r4,%r4			# unsigned long
	jg	compat_sys_fcntl64	# branch to system call

802
ENTRY(sys32_stat64_wrapper)
L
Linus Torvalds 已提交
803 804 805 806
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct stat64 *
	jg	sys32_stat64		# branch to system call

807
ENTRY(sys32_lstat64_wrapper)
L
Linus Torvalds 已提交
808 809 810 811
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct stat64 *
	jg	sys32_lstat64		# branch to system call

812
ENTRY(sys32_stime_wrapper)
L
Linus Torvalds 已提交
813 814 815
	llgtr	%r2,%r2			# long *
	jg	compat_sys_stime	# branch to system call

816
ENTRY(sys32_sysctl_wrapper)
817 818
	llgtr	%r2,%r2 		# struct compat_sysctl_args *
	jg	compat_sys_sysctl
L
Linus Torvalds 已提交
819

820
ENTRY(sys32_fstat64_wrapper)
L
Linus Torvalds 已提交
821 822 823 824
	llgfr	%r2,%r2			# unsigned long
	llgtr	%r3,%r3			# struct stat64 *
	jg	sys32_fstat64		# branch to system call

825
ENTRY(sys32_setxattr_wrapper)
L
Linus Torvalds 已提交
826 827 828 829 830 831 832
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# void *
	llgfr	%r5,%r5			# size_t
	lgfr	%r6,%r6			# int
	jg	sys_setxattr

833
ENTRY(sys32_lsetxattr_wrapper)
L
Linus Torvalds 已提交
834 835 836 837 838 839 840
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# void *
	llgfr	%r5,%r5			# size_t
	lgfr	%r6,%r6			# int
	jg	sys_lsetxattr

841
ENTRY(sys32_fsetxattr_wrapper)
L
Linus Torvalds 已提交
842 843 844 845 846 847 848
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# void *
	llgfr	%r5,%r5			# size_t
	lgfr	%r6,%r6			# int
	jg	sys_fsetxattr

849
ENTRY(sys32_getxattr_wrapper)
L
Linus Torvalds 已提交
850 851 852 853 854 855
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# void *
	llgfr	%r5,%r5			# size_t
	jg	sys_getxattr

856
ENTRY(sys32_lgetxattr_wrapper)
L
Linus Torvalds 已提交
857 858 859 860 861 862
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# void *
	llgfr	%r5,%r5			# size_t
	jg	sys_lgetxattr

863
ENTRY(sys32_fgetxattr_wrapper)
L
Linus Torvalds 已提交
864 865 866 867 868 869
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# void *
	llgfr	%r5,%r5			# size_t
	jg	sys_fgetxattr

870
ENTRY(sys32_listxattr_wrapper)
L
Linus Torvalds 已提交
871 872 873 874 875
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgfr	%r4,%r4			# size_t
	jg	sys_listxattr

876
ENTRY(sys32_llistxattr_wrapper)
L
Linus Torvalds 已提交
877 878 879 880 881
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	llgfr	%r4,%r4			# size_t
	jg	sys_llistxattr

882
ENTRY(sys32_flistxattr_wrapper)
L
Linus Torvalds 已提交
883 884 885 886 887
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# char *
	llgfr	%r4,%r4			# size_t
	jg	sys_flistxattr

888
ENTRY(sys32_removexattr_wrapper)
L
Linus Torvalds 已提交
889 890 891 892
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	jg	sys_removexattr

893
ENTRY(sys32_lremovexattr_wrapper)
L
Linus Torvalds 已提交
894 895 896 897
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# char *
	jg	sys_lremovexattr

898
ENTRY(sys32_fremovexattr_wrapper)
L
Linus Torvalds 已提交
899 900 901 902
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# char *
	jg	sys_fremovexattr

903
ENTRY(sys32_sched_setaffinity_wrapper)
L
Linus Torvalds 已提交
904 905 906 907 908
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# unsigned int
	llgtr	%r4,%r4			# unsigned long *
	jg	compat_sys_sched_setaffinity

909
ENTRY(sys32_sched_getaffinity_wrapper)
L
Linus Torvalds 已提交
910 911 912 913 914
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# unsigned int
	llgtr	%r4,%r4			# unsigned long *
	jg	compat_sys_sched_getaffinity

915
ENTRY(sys32_exit_group_wrapper)
L
Linus Torvalds 已提交
916 917 918
	lgfr	%r2,%r2			# int
	jg	sys_exit_group		# branch to system call

919
ENTRY(sys32_set_tid_address_wrapper)
L
Linus Torvalds 已提交
920 921 922
	llgtr	%r2,%r2			# int *
	jg	sys_set_tid_address	# branch to system call

923
ENTRY(sys_epoll_create_wrapper)
L
Linus Torvalds 已提交
924 925 926
	lgfr	%r2,%r2			# int
	jg	sys_epoll_create	# branch to system call

927
ENTRY(sys_epoll_ctl_wrapper)
L
Linus Torvalds 已提交
928 929 930 931 932 933
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	lgfr	%r4,%r4			# int
	llgtr	%r5,%r5			# struct epoll_event *
	jg	sys_epoll_ctl		# branch to system call

934
ENTRY(sys_epoll_wait_wrapper)
L
Linus Torvalds 已提交
935 936 937 938 939 940
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# struct epoll_event *
	lgfr	%r4,%r4			# int
	lgfr	%r5,%r5			# int
	jg	sys_epoll_wait		# branch to system call

941
ENTRY(sys32_lookup_dcookie_wrapper)
L
Linus Torvalds 已提交
942 943 944 945 946 947
	sllg	%r2,%r2,32		# get high word of 64bit dcookie
	or	%r2,%r3			# get low word of 64bit dcookie
	llgtr	%r3,%r4			# char *
	llgfr	%r4,%r5			# size_t
	jg	sys_lookup_dcookie

948
ENTRY(sys32_fadvise64_wrapper)
L
Linus Torvalds 已提交
949 950 951 952 953
	lgfr	%r2,%r2			# int
	sllg	%r3,%r3,32		# get high word of 64bit loff_t
	or	%r3,%r4			# get low word of 64bit loff_t
	llgfr	%r4,%r5			# size_t (unsigned long)
	lgfr	%r5,%r6			# int
954
	jg	sys32_fadvise64
L
Linus Torvalds 已提交
955

956
ENTRY(sys32_fadvise64_64_wrapper)
L
Linus Torvalds 已提交
957
	llgtr	%r2,%r2			# struct fadvise64_64_args *
958
	jg	sys32_fadvise64_64
L
Linus Torvalds 已提交
959

960
ENTRY(sys32_clock_settime_wrapper)
L
Linus Torvalds 已提交
961 962 963 964
	lgfr	%r2,%r2			# clockid_t (int)
	llgtr	%r3,%r3			# struct compat_timespec *
	jg	compat_sys_clock_settime

965
ENTRY(sys32_clock_gettime_wrapper)
L
Linus Torvalds 已提交
966 967 968 969
	lgfr	%r2,%r2			# clockid_t (int)
	llgtr	%r3,%r3			# struct compat_timespec *
	jg	compat_sys_clock_gettime

970
ENTRY(sys32_clock_getres_wrapper)
L
Linus Torvalds 已提交
971 972 973 974
	lgfr	%r2,%r2			# clockid_t (int)
	llgtr	%r3,%r3			# struct compat_timespec *
	jg	compat_sys_clock_getres

975
ENTRY(sys32_clock_nanosleep_wrapper)
L
Linus Torvalds 已提交
976 977 978 979 980 981
	lgfr	%r2,%r2			# clockid_t (int)
	lgfr	%r3,%r3			# int
	llgtr	%r4,%r4			# struct compat_timespec *
	llgtr	%r5,%r5			# struct compat_timespec *
	jg	compat_sys_clock_nanosleep

982
ENTRY(sys32_timer_create_wrapper)
L
Linus Torvalds 已提交
983 984 985
	lgfr	%r2,%r2			# timer_t (int)
	llgtr	%r3,%r3			# struct compat_sigevent *
	llgtr	%r4,%r4			# timer_t *
986
	jg	compat_sys_timer_create
L
Linus Torvalds 已提交
987

988
ENTRY(sys32_timer_settime_wrapper)
L
Linus Torvalds 已提交
989 990 991 992 993 994
	lgfr	%r2,%r2			# timer_t (int)
	lgfr	%r3,%r3			# int
	llgtr	%r4,%r4			# struct compat_itimerspec *
	llgtr	%r5,%r5			# struct compat_itimerspec *
	jg	compat_sys_timer_settime

995
ENTRY(sys32_timer_gettime_wrapper)
L
Linus Torvalds 已提交
996 997 998 999
	lgfr	%r2,%r2			# timer_t (int)
	llgtr	%r3,%r3			# struct compat_itimerspec *
	jg	compat_sys_timer_gettime

1000
ENTRY(sys32_timer_getoverrun_wrapper)
L
Linus Torvalds 已提交
1001 1002 1003
	lgfr	%r2,%r2			# timer_t (int)
	jg	sys_timer_getoverrun

1004
ENTRY(sys32_timer_delete_wrapper)
L
Linus Torvalds 已提交
1005 1006 1007
	lgfr	%r2,%r2			# timer_t (int)
	jg	sys_timer_delete

1008
ENTRY(sys32_io_setup_wrapper)
L
Linus Torvalds 已提交
1009 1010 1011 1012
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# u32 *
	jg	compat_sys_io_setup

1013
ENTRY(sys32_io_destroy_wrapper)
L
Linus Torvalds 已提交
1014 1015 1016
	llgfr	%r2,%r2			# (aio_context_t) u32
	jg	sys_io_destroy

1017
ENTRY(sys32_io_getevents_wrapper)
L
Linus Torvalds 已提交
1018 1019 1020 1021 1022 1023 1024
	llgfr	%r2,%r2			# (aio_context_t) u32
	lgfr	%r3,%r3			# long
	lgfr	%r4,%r4			# long
	llgtr	%r5,%r5			# struct io_event *
	llgtr	%r6,%r6			# struct compat_timespec *
	jg	compat_sys_io_getevents

1025
ENTRY(sys32_io_submit_wrapper)
L
Linus Torvalds 已提交
1026 1027 1028 1029 1030
	llgfr	%r2,%r2			# (aio_context_t) u32
	lgfr	%r3,%r3			# long
	llgtr	%r4,%r4			# struct iocb **
	jg	compat_sys_io_submit

1031
ENTRY(sys32_io_cancel_wrapper)
L
Linus Torvalds 已提交
1032 1033 1034 1035 1036
	llgfr	%r2,%r2			# (aio_context_t) u32
	llgtr	%r3,%r3			# struct iocb *
	llgtr	%r4,%r4			# struct io_event *
	jg	sys_io_cancel

1037
ENTRY(compat_sys_statfs64_wrapper)
L
Linus Torvalds 已提交
1038 1039 1040 1041 1042
	llgtr	%r2,%r2			# const char *
	llgfr	%r3,%r3			# compat_size_t
	llgtr	%r4,%r4			# struct compat_statfs64 *
	jg	compat_sys_statfs64

1043
ENTRY(compat_sys_fstatfs64_wrapper)
L
Linus Torvalds 已提交
1044 1045 1046 1047 1048
	llgfr	%r2,%r2			# unsigned int fd
	llgfr	%r3,%r3			# compat_size_t
	llgtr	%r4,%r4			# struct compat_statfs64 *
	jg	compat_sys_fstatfs64

1049
ENTRY(compat_sys_mq_open_wrapper)
L
Linus Torvalds 已提交
1050 1051 1052 1053 1054 1055
	llgtr	%r2,%r2			# const char *
	lgfr	%r3,%r3			# int
	llgfr	%r4,%r4			# mode_t
	llgtr	%r5,%r5			# struct compat_mq_attr *
	jg	compat_sys_mq_open

1056
ENTRY(sys32_mq_unlink_wrapper)
L
Linus Torvalds 已提交
1057 1058 1059
	llgtr	%r2,%r2			# const char *
	jg	sys_mq_unlink

1060
ENTRY(compat_sys_mq_timedsend_wrapper)
L
Linus Torvalds 已提交
1061 1062 1063 1064 1065 1066 1067
	lgfr	%r2,%r2			# mqd_t
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# size_t
	llgfr	%r5,%r5			# unsigned int
	llgtr	%r6,%r6			# const struct compat_timespec *
	jg	compat_sys_mq_timedsend

1068
ENTRY(compat_sys_mq_timedreceive_wrapper)
L
Linus Torvalds 已提交
1069 1070 1071 1072 1073 1074 1075
	lgfr	%r2,%r2			# mqd_t
	llgtr	%r3,%r3			# char *
	llgfr	%r4,%r4			# size_t
	llgtr	%r5,%r5			# unsigned int *
	llgtr	%r6,%r6			# const struct compat_timespec *
	jg	compat_sys_mq_timedreceive

1076
ENTRY(compat_sys_mq_notify_wrapper)
L
Linus Torvalds 已提交
1077 1078 1079 1080
	lgfr	%r2,%r2			# mqd_t
	llgtr	%r3,%r3			# struct compat_sigevent *
	jg	compat_sys_mq_notify

1081
ENTRY(compat_sys_mq_getsetattr_wrapper)
L
Linus Torvalds 已提交
1082 1083 1084 1085 1086
	lgfr	%r2,%r2			# mqd_t
	llgtr	%r3,%r3			# struct compat_mq_attr *
	llgtr	%r4,%r4			# struct compat_mq_attr *
	jg	compat_sys_mq_getsetattr

1087
ENTRY(compat_sys_add_key_wrapper)
L
Linus Torvalds 已提交
1088 1089 1090 1091 1092 1093 1094
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# const char *
	llgtr	%r4,%r4			# const void *
	llgfr	%r5,%r5			# size_t
	llgfr	%r6,%r6			# (key_serial_t) u32
	jg	sys_add_key

1095
ENTRY(compat_sys_request_key_wrapper)
L
Linus Torvalds 已提交
1096 1097 1098 1099 1100 1101
	llgtr	%r2,%r2			# const char *
	llgtr	%r3,%r3			# const char *
	llgtr	%r4,%r4			# const void *
	llgfr	%r5,%r5			# (key_serial_t) u32
	jg	sys_request_key

1102
ENTRY(sys32_remap_file_pages_wrapper)
L
Linus Torvalds 已提交
1103 1104 1105 1106 1107 1108 1109
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# unsigned long
	llgfr	%r4,%r4			# unsigned long
	llgfr	%r5,%r5			# unsigned long
	llgfr	%r6,%r6			# unsigned long
	jg	sys_remap_file_pages

1110
ENTRY(compat_sys_kexec_load_wrapper)
H
Heiko Carstens 已提交
1111 1112 1113 1114 1115
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# unsigned long
	llgtr	%r4,%r4			# struct kexec_segment *
	llgfr	%r5,%r5			# unsigned long
	jg	compat_sys_kexec_load
1116

1117
ENTRY(sys_ioprio_set_wrapper)
1118 1119 1120 1121 1122
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	lgfr	%r4,%r4			# int
	jg	sys_ioprio_set

1123
ENTRY(sys_ioprio_get_wrapper)
1124 1125 1126 1127
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	jg	sys_ioprio_get

1128
ENTRY(sys_inotify_add_watch_wrapper)
1129 1130 1131 1132 1133
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# u32
	jg	sys_inotify_add_watch

1134
ENTRY(sys_inotify_rm_watch_wrapper)
1135 1136 1137
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# u32
	jg	sys_inotify_rm_watch
1138

1139
ENTRY(sys_mkdirat_wrapper)
1140 1141 1142 1143 1144
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	lgfr	%r4,%r4			# int
	jg	sys_mkdirat

1145
ENTRY(sys_mknodat_wrapper)
1146 1147 1148 1149 1150 1151
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	lgfr	%r4,%r4			# int
	llgfr	%r5,%r5			# unsigned int
	jg	sys_mknodat

1152
ENTRY(sys_fchownat_wrapper)
1153 1154 1155 1156 1157 1158 1159
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# uid_t
	llgfr	%r5,%r5			# gid_t
	lgfr	%r6,%r6			# int
	jg	sys_fchownat

1160
ENTRY(compat_sys_futimesat_wrapper)
1161
	llgfr	%r2,%r2			# unsigned int
1162 1163 1164 1165
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# struct timeval *
	jg	compat_sys_futimesat

1166
ENTRY(sys32_fstatat64_wrapper)
1167
	llgfr	%r2,%r2			# unsigned int
1168
	llgtr	%r3,%r3			# char *
H
Heiko Carstens 已提交
1169
	llgtr	%r4,%r4			# struct stat64 *
1170
	lgfr	%r5,%r5			# int
1171
	jg	sys32_fstatat64
1172

1173
ENTRY(sys_unlinkat_wrapper)
1174 1175 1176 1177 1178
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	lgfr	%r4,%r4			# int
	jg	sys_unlinkat

1179
ENTRY(sys_renameat_wrapper)
1180 1181 1182 1183 1184 1185
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	lgfr	%r4,%r4			# int
	llgtr	%r5,%r5			# const char *
	jg	sys_renameat

1186
ENTRY(sys_linkat_wrapper)
1187 1188 1189 1190
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	lgfr	%r4,%r4			# int
	llgtr	%r5,%r5			# const char *
1191
	lgfr	%r6,%r6			# int
1192 1193
	jg	sys_linkat

1194
ENTRY(sys_symlinkat_wrapper)
1195 1196 1197 1198 1199
	llgtr	%r2,%r2			# const char *
	lgfr	%r3,%r3			# int
	llgtr	%r4,%r4			# const char *
	jg	sys_symlinkat

1200
ENTRY(sys_readlinkat_wrapper)
1201 1202 1203 1204 1205 1206
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	llgtr	%r4,%r4			# char *
	lgfr	%r5,%r5			# int
	jg	sys_readlinkat

1207
ENTRY(sys_fchmodat_wrapper)
1208 1209 1210 1211 1212
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	llgfr	%r4,%r4			# mode_t
	jg	sys_fchmodat

1213
ENTRY(sys_faccessat_wrapper)
1214 1215 1216 1217 1218
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char *
	lgfr	%r4,%r4			# int
	jg	sys_faccessat

1219
ENTRY(compat_sys_pselect6_wrapper)
1220 1221 1222 1223 1224 1225 1226 1227 1228
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# fd_set *
	llgtr	%r4,%r4			# fd_set *
	llgtr	%r5,%r5			# fd_set *
	llgtr	%r6,%r6			# struct timespec *
	llgt	%r0,164(%r15)		# void *
	stg	%r0,160(%r15)
	jg	compat_sys_pselect6

1229
ENTRY(compat_sys_ppoll_wrapper)
1230 1231 1232 1233 1234 1235
	llgtr	%r2,%r2			# struct pollfd *
	llgfr	%r3,%r3			# unsigned int
	llgtr	%r4,%r4			# struct timespec *
	llgtr	%r5,%r5			# const sigset_t *
	llgfr	%r6,%r6			# size_t
	jg	compat_sys_ppoll
1236

1237
ENTRY(sys_unshare_wrapper)
1238 1239
	llgfr	%r2,%r2			# unsigned long
	jg	sys_unshare
1240

1241
ENTRY(sys_splice_wrapper)
1242 1243 1244 1245 1246 1247 1248 1249 1250
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# loff_t *
	lgfr	%r4,%r4			# int
	llgtr	%r5,%r5			# loff_t *
	llgfr	%r6,%r6			# size_t
	llgf	%r0,164(%r15)		# unsigned int
	stg	%r0,160(%r15)
	jg	sys_splice

1251
ENTRY(sys_sync_file_range_wrapper)
1252 1253 1254 1255 1256 1257 1258 1259
	lgfr	%r2,%r2			# int
	sllg	%r3,%r3,32		# get high word of 64bit loff_t
	or	%r3,%r4			# get low word of 64bit loff_t
	sllg	%r4,%r5,32		# get high word of 64bit loff_t
	or	%r4,%r6			# get low word of 64bit loff_t
	llgf	%r5,164(%r15)		# unsigned int
	jg	sys_sync_file_range

1260
ENTRY(sys_tee_wrapper)
1261 1262 1263 1264 1265
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	llgfr	%r4,%r4			# size_t
	llgfr	%r5,%r5			# unsigned int
	jg	sys_tee
1266

1267
ENTRY(compat_sys_vmsplice_wrapper)
1268 1269 1270 1271 1272
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# compat_iovec *
	llgfr	%r4,%r4			# unsigned int
	llgfr	%r5,%r5			# unsigned int
	jg	compat_sys_vmsplice
1273

1274
ENTRY(sys_getcpu_wrapper)
1275 1276 1277
	llgtr	%r2,%r2			# unsigned *
	llgtr	%r3,%r3			# unsigned *
	llgtr	%r4,%r4			# struct getcpu_cache *
P
Paul Mundt 已提交
1278
	jg	sys_getcpu
1279

1280
ENTRY(compat_sys_epoll_pwait_wrapper)
1281 1282 1283 1284 1285 1286 1287 1288
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# struct compat_epoll_event *
	lgfr	%r4,%r4			# int
	lgfr	%r5,%r5			# int
	llgtr	%r6,%r6			# compat_sigset_t *
	llgf	%r0,164(%r15)		# compat_size_t
	stg	%r0,160(%r15)
	jg	compat_sys_epoll_pwait
H
Heiko Carstens 已提交
1289

1290
ENTRY(compat_sys_utimes_wrapper)
H
Heiko Carstens 已提交
1291 1292 1293
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# struct compat_timeval *
	jg	compat_sys_utimes
H
Heiko Carstens 已提交
1294

1295
ENTRY(compat_sys_utimensat_wrapper)
H
Heiko Carstens 已提交
1296 1297 1298 1299 1300
	llgfr	%r2,%r2			# unsigned int
	llgtr	%r3,%r3			# char *
	llgtr	%r4,%r4			# struct compat_timespec *
	lgfr	%r5,%r5			# int
	jg	compat_sys_utimensat
1301

1302
ENTRY(compat_sys_signalfd_wrapper)
1303 1304 1305 1306 1307
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# compat_sigset_t *
	llgfr	%r4,%r4			# compat_size_t
	jg	compat_sys_signalfd

1308
ENTRY(sys_eventfd_wrapper)
1309 1310
	llgfr	%r2,%r2			# unsigned int
	jg	sys_eventfd
1311

1312
ENTRY(sys_fallocate_wrapper)
1313 1314 1315 1316 1317 1318 1319
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	sllg	%r4,%r4,32		# get high word of 64bit loff_t
	lr	%r4,%r5			# get low word of 64bit loff_t
	sllg	%r5,%r6,32		# get high word of 64bit loff_t
	l	%r5,164(%r15)		# get low word of 64bit loff_t
	jg	sys_fallocate
1320

1321
ENTRY(sys_timerfd_create_wrapper)
1322 1323 1324 1325
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	jg	sys_timerfd_create

1326
ENTRY(compat_sys_signalfd4_wrapper)
H
Heiko Carstens 已提交
1327 1328 1329 1330 1331 1332
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# compat_sigset_t *
	llgfr	%r4,%r4			# compat_size_t
	lgfr	%r5,%r5			# int
	jg	compat_sys_signalfd4

1333
ENTRY(sys_eventfd2_wrapper)
H
Heiko Carstens 已提交
1334 1335 1336 1337
	llgfr	%r2,%r2			# unsigned int
	lgfr	%r3,%r3			# int
	jg	sys_eventfd2

1338
ENTRY(sys_inotify_init1_wrapper)
H
Heiko Carstens 已提交
1339 1340 1341
	lgfr	%r2,%r2			# int
	jg	sys_inotify_init1

1342
ENTRY(sys_pipe2_wrapper)
H
Heiko Carstens 已提交
1343 1344 1345 1346
	llgtr	%r2,%r2			# u32 *
	lgfr	%r3,%r3			# int
	jg	sys_pipe2		# branch to system call

1347
ENTRY(sys_dup3_wrapper)
H
Heiko Carstens 已提交
1348 1349 1350 1351 1352
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned int
	lgfr	%r4,%r4			# int
	jg	sys_dup3		# branch to system call

1353
ENTRY(sys_epoll_create1_wrapper)
H
Heiko Carstens 已提交
1354 1355
	lgfr	%r2,%r2			# int
	jg	sys_epoll_create1	# branch to system call
1356

1357
ENTRY(sys32_readahead_wrapper)
1358 1359 1360 1361 1362 1363
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# u32
	llgfr	%r4,%r4			# u32
	lgfr	%r5,%r5			# s32
	jg	sys32_readahead		# branch to system call

1364
ENTRY(sys32_sendfile64_wrapper)
1365 1366 1367 1368 1369 1370
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	llgtr	%r4,%r4			# compat_loff_t *
	lgfr	%r5,%r5			# s32
	jg	sys32_sendfile64	# branch to system call

1371
ENTRY(sys_tkill_wrapper)
1372 1373 1374 1375
	lgfr	%r2,%r2			# pid_t
	lgfr	%r3,%r3			# int
	jg	sys_tkill		# branch to system call

1376
ENTRY(sys_tgkill_wrapper)
1377 1378 1379 1380 1381
	lgfr	%r2,%r2			# pid_t
	lgfr	%r3,%r3			# pid_t
	lgfr	%r4,%r4			# int
	jg	sys_tgkill		# branch to system call

1382
ENTRY(compat_sys_keyctl_wrapper)
1383 1384 1385 1386 1387 1388
	llgfr	%r2,%r2			# u32
	llgfr	%r3,%r3			# u32
	llgfr	%r4,%r4			# u32
	llgfr	%r5,%r5			# u32
	llgfr	%r6,%r6			# u32
	jg	compat_sys_keyctl	# branch to system call
1389

1390
ENTRY(sys_perf_event_open_wrapper)
1391
	llgtr	%r2,%r2			# const struct perf_event_attr *
1392 1393 1394 1395
	lgfr	%r3,%r3			# pid_t
	lgfr	%r4,%r4			# int
	lgfr	%r5,%r5			# int
	llgfr	%r6,%r6			# unsigned long
1396
	jg	sys_perf_event_open	# branch to system call
1397

1398
ENTRY(sys_clone_wrapper)
1399 1400 1401 1402 1403
	llgfr	%r2,%r2			# unsigned long
	llgfr	%r3,%r3			# unsigned long
	llgtr	%r4,%r4			# int *
	llgtr	%r5,%r5			# int *
	jg	sys_clone		# branch to system call
1404

1405
ENTRY(sys32_execve_wrapper)
1406 1407 1408
	llgtr	%r2,%r2			# char *
	llgtr	%r3,%r3			# compat_uptr_t *
	llgtr	%r4,%r4			# compat_uptr_t *
1409
	jg	compat_sys_execve	# branch to system call
1410

1411
ENTRY(sys_fanotify_init_wrapper)
1412 1413 1414 1415
	llgfr	%r2,%r2			# unsigned int
	llgfr	%r3,%r3			# unsigned int
	jg	sys_fanotify_init	# branch to system call

1416
ENTRY(sys_fanotify_mark_wrapper)
1417 1418 1419 1420 1421 1422 1423 1424
	lgfr	%r2,%r2			# int
	llgfr	%r3,%r3			# unsigned int
	sllg	%r4,%r4,32		# get high word of 64bit mask
	lr	%r4,%r5			# get low word of 64bit mask
	llgfr	%r5,%r6			# unsigned int
	llgt	%r6,164(%r15)		# char *
	jg	sys_fanotify_mark	# branch to system call

1425
ENTRY(sys_prlimit64_wrapper)
1426 1427 1428 1429 1430
	lgfr	%r2,%r2			# pid_t
	llgfr	%r3,%r3			# unsigned int
	llgtr	%r4,%r4			# const struct rlimit64 __user *
	llgtr	%r5,%r5			# struct rlimit64 __user *
	jg	sys_prlimit64		# branch to system call
1431

1432
ENTRY(sys_name_to_handle_at_wrapper)
1433 1434 1435 1436 1437 1438
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char __user *
	llgtr	%r4,%r4			# struct file_handle __user *
	llgtr	%r5,%r5			# int __user *
	lgfr	%r6,%r6			# int
	jg	sys_name_to_handle_at
1439

1440
ENTRY(compat_sys_clock_adjtime_wrapper)
1441 1442 1443
	lgfr	%r2,%r2			# clockid_t (int)
	llgtr	%r3,%r3			# struct compat_timex __user *
	jg	compat_sys_clock_adjtime
H
Heiko Carstens 已提交
1444

1445
ENTRY(sys_syncfs_wrapper)
H
Heiko Carstens 已提交
1446 1447
	lgfr	%r2,%r2			# int
	jg	sys_syncfs
1448

1449
ENTRY(sys_setns_wrapper)
1450 1451 1452
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	jg	sys_setns
1453 1454 1455 1456 1457 1458 1459 1460 1461

ENTRY(compat_sys_process_vm_readv_wrapper)
	lgfr	%r2,%r2			# compat_pid_t
	llgtr	%r3,%r3			# struct compat_iovec __user *
	llgfr	%r4,%r4			# unsigned long
	llgtr	%r5,%r5			# struct compat_iovec __user *
	llgfr	%r6,%r6			# unsigned long
	llgf	%r0,164(%r15)		# unsigned long
	stg	%r0,160(%r15)
1462
	jg	compat_sys_process_vm_readv
1463 1464 1465 1466 1467 1468 1469 1470 1471

ENTRY(compat_sys_process_vm_writev_wrapper)
	lgfr	%r2,%r2			# compat_pid_t
	llgtr	%r3,%r3			# struct compat_iovec __user *
	llgfr	%r4,%r4			# unsigned long
	llgtr	%r5,%r5			# struct compat_iovec __user *
	llgfr	%r6,%r6			# unsigned long
	llgf	%r0,164(%r15)		# unsigned long
	stg	%r0,160(%r15)
1472
	jg	compat_sys_process_vm_writev
1473 1474 1475 1476 1477

ENTRY(sys_s390_runtime_instr_wrapper)
	lgfr	%r2,%r2			# int
	lgfr	%r3,%r3			# int
	jg	sys_s390_runtime_instr
1478 1479 1480 1481 1482 1483 1484 1485

ENTRY(sys_kcmp_wrapper)
	lgfr	%r2,%r2			# pid_t
	lgfr	%r3,%r3			# pid_t
	lgfr	%r4,%r4			# int
	llgfr	%r5,%r5			# unsigned long
	llgfr	%r6,%r6			# unsigned long
	jg	sys_kcmp
1486 1487 1488 1489 1490 1491

ENTRY(sys_finit_module_wrapper)
	lgfr	%r2,%r2			# int
	llgtr	%r3,%r3			# const char __user *
	lgfr	%r4,%r4			# int
	jg	sys_finit_module