Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
	$NetBSD: syscalls.master,v 1.16 2014/05/29 10:41:48 njoly Exp $

;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94

; NetBSD system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
;
; Fields: number type [type-dependent ...]
;	number	system call number, must be in order
;	type	one of NODEF, UNIMPL, or NOARGS
;
; types:
;	NODEF	always included
;	UNIMPL	unimplemented, not included in system
;	NODEF	included, but don't define the syscall number
;	NOARGS	included, but don't define the syscall args structure
;
; arguments:
;	PAD	argument not part of the C interface, used only for padding
;
;
; The purpose of this syscalls.master is to map to the Linux types which
; are marshalled into the arg structure by the clientside rump_syscalls.c
; code in librumpclient.
;

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/socket.h>
#include <sys/mount.h>
#include <sys/sched.h>
#include <sys/syscallargs.h>

#include <compat/linux/common/linux_types.h>
#include <compat/linux/common/linux_signal.h>
#include <compat/linux/linux_syscallargs.h>
#include <compat/linux/linux_syscall.h>

#ifdef LINUX_SYS_socketcall
#include <compat/linux/common/linux_socketcall.h>
#endif

#include "rump_linux_syscallargs.h"

%%

0	NOARGS		{ int|linux_sys||nosys(void); }
1	UNIMPL 		exit
2	UNIMPL 		fork
3	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
4	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
			    size_t nbyte); }
5	NOARGS		{ int|linux_sys||open(const char *path, \
			    int flags, int mode); }
6	NOARGS	 	{ int|sys||close(int fd); }
7	UNIMPL		wait4
8	UNIMPL		creat
9	NOARGS 		{ int|sys||link(const char *path, const char *link); }
10	NOARGS 	 	{ int|linux_sys||unlink(const char *path); }
11	UNIMPL		execv
12	NOARGS 	 	{ int|sys||chdir(const char *path); }
13	NOARGS 	 	{ int|sys||fchdir(int fd); }
14	UNIMPL		mknod
15	NOARGS 	 	{ int|sys||chmod(const char *path, mode_t mode); }
16	NOARGS 	 	{ int|sys||__posix_chown(const char *path, uid_t uid, \
			    gid_t gid); }
17	UNIMPL		obreak
18	UNIMPL		getfsstat
19	UNIMPL		lseek
20	NOARGS 		{ pid_t|sys||getpid_with_ppid(void); } getpid
21	UNIMPL		mount
22	UNIMPL		unmount
23	NOARGS		{ int|sys||setuid(uid_t uid); }
24	NOARGS		{ uid_t|sys||getuid_with_euid(void); } getuid
25	NOARGS		{ uid_t|sys||geteuid(void); }
26	UNIMPL 		ptrace
27	NOARGS 		{ ssize_t|linux_sys||recvmsg(int s, \
			    struct linux_msghdr *msg, int flags); }
28	NOARGS 		{ ssize_t|linux_sys||sendmsg(int s, \
			    const struct linux_msghdr *msg, int flags); }
29	NOARGS 		{ ssize_t|linux_sys||recvfrom(int s, void *buf, \
			    int len, int flags, struct osockaddr *from, \
			    int *fromlenaddr); }
30	NOARGS		{ int|linux_sys||accept(int s, struct osockaddr *name, \
			    int *anamelen); }
31	NOARGS		{ int|linux_sys||getpeername(int fdes, \
			    struct osockaddr *asa, int *alen); }
32	NOARGS		{ int|linux_sys||getsockname(int fdes, \
			    struct osockaddr *asa, int *alen); }
33	NOARGS 		{ int|sys||access(const char *path, int flags); }
34	UNIMPL		chflags
35	UNIMPL		fchflags
36	NOARGS		{ void|sys||sync(void); }
37	UNIMPL 		kill
38	UNIMPL		stat
39	UNIMPL		getppid
40	UNIMPL		lstat
41	NOARGS 		{ int|sys||dup(int fd); }

; we mimic the librumpclient calling convention, therefore no linux_sys_pipe
42	NOARGS 		{ int|sys||pipe(void); }

43	UNIMPL		getegid
44	UNIMPL 		profil
45	UNIMPL 		ktrace
46	UNIMPL		sigaction
47	NOARGS 		{ gid_t|sys||getgid_with_egid(void); } getgid
48	UNIMPL		sigprocmask
49	UNIMPL		__getlogin
50	UNIMPL		__setlogin
51	UNIMPL		acct
52	UNIMPL  	sigpending
53	UNIMPL  	sigaltstack
54	NOARGS		{ int|linux_sys||ioctl(int fd, \
			    u_long com, void *data); }
55	UNIMPL		reboot
56	UNIMPL		revoke
57	NOARGS 	 	{ int|sys||symlink(const char *path, \
			    const char *link); }
58	NOARGS 	 	{ ssize_t|sys||readlink(const char *path, char *buf, \
			    int count); }
59	UNIMPL 		execve
60	NOARGS 	 	{ mode_t|sys||umask(mode_t newmask); }
61	NOARGS 	 	{ int|sys||chroot(const char *path); }
62	UNIMPL		fstat43
63	UNIMPL		getkerninfo
64	UNIMPL		getpagesize
65	UNIMPL		msync
66	UNIMPL 		vfork
67	UNIMPL		vread
68	UNIMPL		vwrite
69	UNIMPL 		sbrk
70	UNIMPL 		sstk
71	UNIMPL  	mmap
72	UNIMPL 		ovadvise
73	UNIMPL 		munmap
74	UNIMPL 		mprotect
75	UNIMPL 		madvise
76	UNIMPL		vhangup
77	UNIMPL		vlimit
78	UNIMPL 		mincore
79	NOARGS 		{ int|sys||getgroups(int gidsetsize, \
			    int *gidset); }
80	NOARGS 		{ int|sys||setgroups(int gidsetsize, \
			    const int *gidset); }
81	NOARGS 		{ int|sys||getpgrp(void); }
82	NOARGS 		{ int|sys||setpgid(int pid, int pgid); }
83	UNIMPL		setitimer
84	UNIMPL		wait
85	UNIMPL		swapon
86	UNIMPL		getitimer
87	UNIMPL		gethostname
88	UNIMPL		sethostname
89	UNIMPL		getdtablesize
90	NOARGS 	 	{ int|sys||dup2(int from, int to); }
91	UNIMPL		getdopt
92	NOARGS		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
93	UNIMPL		select
94	UNIMPL		setdopt
95	NOARGS		{ int|sys||fsync(int fd); }
96	UNIMPL		setpriority
97	UNIMPL		socket
98	NOARGS		{ int|linux_sys||connect(int s, \
			    const struct osockaddr *name, \
			    unsigned int namelen); }
99	UNIMPL		accept
100	UNIMPL 		getpriority

101	UNIMPL		send
102	UNIMPL		recv

103	UNIMPL		sigreturn
104	NOARGS		{ int|linux_sys||bind(int s, \
			    const struct osockaddr *name, unsigned namelen); }
105	NOARGS		{ int|linux_sys||setsockopt(int s, int level, \
			    int name, const void *val, int optlen); }
106	NOARGS		{ int|sys||listen(int s, int backlog); }
107	UNIMPL		vtimes
108	UNIMPL		sigvec
109	UNIMPL		sigblock
110	UNIMPL		sigsetmask
111	UNIMPL		sigsuspend
112	UNIMPL		sigstack
113	UNIMPL		orecvmsg
114	UNIMPL		osendmsg
115	UNIMPL		vtrace
116	UNIMPL		gettimeofday
117	UNIMPL 		getrusage
118	NOARGS		{ int|linux_sys||getsockopt(int s, int level, \
			    int name, void *val, int *avalsize); }
119	UNIMPL		resuba
120	NOARGS 		{ ssize_t|sys||readv(int fd, \
			    const struct iovec *iovp, int iovcnt); }
121	NOARGS 		{ ssize_t|sys||writev(int fd, \
			    const struct iovec *iovp, int iovcnt); }
122	UNIMPL		settimeofday
123	NOARGS 	 	{ int|sys||__posix_fchown(int fd, int uid, int gid); }
124	NOARGS 	 	{ int|sys||fchmod(int fd, mode_t mode); }
125	UNIMPL		orecvfrom
126	NOARGS 		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
127	NOARGS 		{ int|sys||setregid(gid_t rgid, gid_t egid); }
128	NOARGS 	 	{ int|sys||__posix_rename(const char *from, \
			    const char *to); }
129	UNIMPL		otruncate
130	UNIMPL		oftruncate
131	NOARGS 	 	{ int|sys||flock(int fd, int how); }
132	UNIMPL 	 	mkfifo
133	NOARGS 	 	{ int|linux_sys||sendto(int s, void *buf, \
			    int len, int flags, const struct osockaddr *to, \
			    int tolen); }
134	NOARGS	 	{ int|sys||shutdown(int s, int how); }
135	NOARGS	 	{ int|linux_sys||socketpair(int domain, int type, \
			    int protocol, int *rsv); }
136	NOARGS 	 	{ int|sys||mkdir(const char *path, mode_t mode); }
137	NOARGS 	 	{ int|sys||rmdir(const char *path); }
138	UNIMPL		utimes

139	UNIMPL		4.2 sigreturn
140	UNIMPL		adjtime
141	UNIMPL		ogetpeername
142	UNIMPL		ogethostid
143	UNIMPL		osethostid
144	UNIMPL		ogetrlimit
145	UNIMPL		osetrlimit
146	UNIMPL		okillpg
147	NOARGS 		{ int|sys||setsid(void); }
148	UNIMPL		quotactl
149	UNIMPL		oquota
150	UNIMPL		ogetsockname

; Syscalls 151-180 inclusive are reserved for vendor-specific
; system calls.  (This includes various calls added for compatibity
; with other Unix variants.)
; Some of these calls are now supported by BSD...
151	UNIMPL
152	UNIMPL
153	UNIMPL
154	UNIMPL
155	UNIMPL		nfssvc
156	UNIMPL		ogetdirentries
157	UNIMPL		statfs12
158	UNIMPL		fstatfs12
159	UNIMPL
160	UNIMPL
161	UNIMPL		getfh30
162	UNIMPL		ogetdomainname
163	UNIMPL		osetdomainname
164	UNIMPL		ouname
165	UNIMPL 		sysarch
166	UNIMPL
167	UNIMPL
168	UNIMPL
169	UNIMPL		1.0 semsys
170	UNIMPL		1.0 msgsys
171	UNIMPL		1.0 shmsys
172	UNIMPL
173	NOARGS 	 	{ ssize_t|sys||pread(int fd, char *buf, \
			    size_t nbyte, int PAD, off_t offset); }
174	NOARGS 	 	{ ssize_t|sys||pwrite(int fd, char *buf, \
			    size_t nbyte, int PAD, off_t offset); }
175	UNIMPL		ntp_gettime
176	UNIMPL		ntp_adjtime
177	UNIMPL
178	UNIMPL
179	UNIMPL
180	UNIMPL

; Syscalls 180-199 are used by/reserved for BSD
181	NOARGS 		{ int|sys||setgid(gid_t gid); }
182	NOARGS 		{ int|sys||setegid(gid_t egid); }
183	NOARGS 		{ int|sys||seteuid(uid_t euid); }
184	UNIMPL		lfs_bmapv
185	UNIMPL		lfs_markv
186	UNIMPL		lfs_segclean
187	UNIMPL		lfs_segwait
188	UNIMPL		stat12
189	UNIMPL		fstat12
190	UNIMPL		lstat12
191	UNIMPL 		pathconf
192	UNIMPL 		fpathconf
193	UNIMPL
194	NOARGS 		{ int|linux_sys||getrlimit(int which, \
			    struct orlimit *rlp); }
195	NOARGS 		{ int|linux_sys||setrlimit(int which, \
			    const struct orlimit *rlp); }
196	UNIMPL		getdirentries
197	UNIMPL		mmap
198	UNIMPL		__syscall
199	NOARGS 	 	{ off_t|sys||lseek(int fd, int PAD, off_t offset, \
			    int whence); }
200	NOARGS 	 	{ int|sys||truncate(const char *path, int PAD, \
			    off_t length); }
201	NOARGS 	 	{ int|sys||ftruncate(int fd, int PAD, off_t length); }
202	UNIMPL		__sysctl
203	UNIMPL		mlock
204	UNIMPL		munlock
205	UNIMPL		undelete
206	UNIMPL		futimes
207	NOARGS 	 	{ pid_t|sys||getpgid(pid_t pid); }
208	UNIMPL	 	reboot
209	NOARGS 	 	{ int|sys||poll(struct pollfd *fds, u_int nfds, \
			    int timeout); }
;
; Syscalls 210-219 are reserved for dynamically loaded syscalls
;
210	UNIMPL	 	afssys
211	UNIMPL
212	UNIMPL
213	UNIMPL
214	UNIMPL
215	UNIMPL
216	UNIMPL
217	UNIMPL
218	UNIMPL
219	UNIMPL
220	UNIMPL		compat_14_semctl
221	UNIMPL		semget
222	UNIMPL		semop
223	UNIMPL		semconfig
224	UNIMPL 		compat_14_msgctl
225	UNIMPL 		msgget
226	UNIMPL 		msgsnd
227	UNIMPL 		msgrcv
228	UNIMPL		shmat
229	UNIMPL		compat_14_shmctl
230	UNIMPL		shmdt
231	UNIMPL		shmget

232	UNIMPL		clock_gettime
233	UNIMPL		clock_settime
234	UNIMPL		clock_getres
235	UNIMPL		timer_create
236	UNIMPL		timer_delete
237	UNIMPL		timer_settime
238	UNIMPL		timer_gettime
239	UNIMPL		timer_getoverrun
;
; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
;
240	UNIMPL		nanosleep
241	NOARGS 	 	{ int|linux_sys||fdatasync(int fd); }
242	UNIMPL		mlockall
243	UNIMPL		munlockall
244	UNIMPL		__sigtimedwait
245	UNIMPL		sigqueueinfo
246	UNIMPL		modctl
247	UNIMPL		_ksem_init
248	UNIMPL		_ksem_open
249	UNIMPL		_ksem_unlink
250	UNIMPL		_ksem_close
251	UNIMPL		_ksem_post
252	UNIMPL		_ksem_wait
253	UNIMPL		_ksem_trywait
254	UNIMPL		_ksem_getvalue
255	UNIMPL		_ksem_destroy
256	UNIMPL		_ksem_timedwait

257	UNIMPL		mq_open
258	UNIMPL		mq_close
259	UNIMPL		mq_unlink
260	UNIMPL		mq_getattr
261	UNIMPL		mq_setattr
262	UNIMPL		mq_notify
263	UNIMPL		mq_send
264	UNIMPL		mq_receive
265	UNIMPL		mq_timedsend
266	UNIMPL		mq_timedreceive
267	UNIMPL
268	UNIMPL
269	UNIMPL
270	UNIMPL		__posix_rename
271	UNIMPL		swapctl
272	UNIMPL		getdents
273	UNIMPL		minherit
274	UNIMPL 	 	lchmod
275	NOARGS 	 	{ int|sys||__posix_lchown(const char *path, uid_t uid, \
			    gid_t gid); }
276	UNIMPL		lutimes
277	UNIMPL		msync
278	UNIMPL		stat
279	UNIMPL		fstat
280	UNIMPL		lstat
281	UNIMPL		sigaltstack
282	UNIMPL		vfork
283	UNIMPL		__posix_chown
284	UNIMPL		__posix_fchown
285	UNIMPL		__posix_lchown
286	NOARGS 		{ pid_t|sys||getsid(pid_t pid); }

287	UNIMPL		__clone
288	UNIMPL		fktrace
289	UNIMPL 		{ ssize_t|sys||preadv(int fd, \
			    const struct iovec *iovp, int iovcnt, \
			    int PAD, off_t offset); }
290	UNIMPL 		{ ssize_t|sys||pwritev(int fd, \
			    const struct iovec *iovp, int iovcnt, \
			    int PAD, off_t offset); }
291	UNIMPL		sigaction
292	UNIMPL		sigpending
293	UNIMPL		sigprocmask
294	UNIMPL		sigsuspend
295	UNIMPL		sigreturn
296	NOARGS 	 	{ int|sys||__getcwd(char *bufp, size_t length); }
297	NOARGS 	 	{ int|sys||fchroot(int fd); }
298	UNIMPL		fhopen
299	UNIMPL		fhstat
300	UNIMPL		fhstatfs
301	UNIMPL		____semctl13
302	UNIMPL		__msgctl13
303	UNIMPL		__shmctl13
304	UNIMPL 	 	lchflags
305	UNIMPL		issetugid
306	UNIMPL		utrace
307	UNIMPL		getcontext
308	UNIMPL		setcontext
309	UNIMPL		_lwp_create
310	UNIMPL		_lwp_exit
311	UNIMPL		_lwp_self
312	UNIMPL		_lwp_wait
313	UNIMPL		_lwp_suspend
314	UNIMPL		_lwp_continue
315	UNIMPL		_lwp_wakeup
316	UNIMPL		_lwp_getprivate
317	UNIMPL		_lwp_setprivate
318	UNIMPL		_lwp_kill
319	UNIMPL		_lwp_detach
320	UNIMPL		_lwp_park
321	UNIMPL		_lwp_unpark
322	UNIMPL		_lwp_unpark_all
323	UNIMPL		_lwp_setname
324	UNIMPL		_lwp_getname
325	UNIMPL		_lwp_ctl

; Syscalls 326-339 reserved for LWP syscalls.
326	UNIMPL
327	UNIMPL
328	UNIMPL
329	UNIMPL
; SA system calls.
330	UNIMPL		sa_register
331	UNIMPL		sa_stacks
332	UNIMPL		sa_enable
333	UNIMPL		sa_setconcurrency
334	UNIMPL		sa_yield
335	UNIMPL		sa_preempt
336	UNIMPL 		sys_sa_unblockyield
;
; Syscalls 337-339 are reserved for other scheduler activation syscalls.
;
337	UNIMPL
338	UNIMPL
339	UNIMPL

340	UNIMPL		__sigaction_sigtramp
341	UNIMPL		pmc_get_info
342	UNIMPL		pmc_control
343	UNIMPL		rasctl
344	UNIMPL		kqueue
345	UNIMPL		kevent

; Scheduling system calls.
346	UNIMPL		_sched_setparam
347	UNIMPL		_sched_getparam
348	UNIMPL		_sched_setaffinity
349	UNIMPL		_sched_getaffinity
350	UNIMPL		sched_yield
351	UNIMPL
352	UNIMPL
353	UNIMPL

354	UNIMPL		fsync_range
355	UNIMPL		uuidgen
356	UNIMPL		getvfsstat
357	UNIMPL		statvfs1
358	UNIMPL		fstatvfs1
359	UNIMPL		fhstatvfs1
360	UNIMPL		extattrctl
361	UNIMPL		extattr_set_file
362	UNIMPL		extattr_get_file
363	UNIMPL		extattr_delete_file
364	UNIMPL		extattr_set_fd
365	UNIMPL		extattr_get_fd
366	UNIMPL		extattr_delete_fd
367	UNIMPL		extattr_set_link
368	UNIMPL		extattr_get_link
369	UNIMPL		extattr_delete_link
370	UNIMPL		extattr_list_fd
371	UNIMPL		extattr_list_file
372	UNIMPL		extattr_list_link
373	UNIMPL		pselect
374	UNIMPL		pollts
375	UNIMPL		setxattr
376	UNIMPL		lsetxattr
377	UNIMPL		fsetxattr
378	UNIMPL		getxattr
379	UNIMPL		lgetxattr
380	UNIMPL		fgetxattr
381	UNIMPL		listxattr
382	UNIMPL		llistxattr
383	UNIMPL		flistxattr
384	UNIMPL		removexattr
385	UNIMPL		lremovexattr
386	UNIMPL		fremovexattr
387	UNIMPL		stat30
388	UNIMPL		fstat30
389	UNIMPL		lstat30
390	NOARGS		{ int|linux_sys||getdents64(int fd, \
			    struct linux_dirent64 *dent, unsigned int count); }
391	UNIMPL		old posix_fadvise
392	UNIMPL		fhstat
393	UNIMPL		ntp_gettime
394	NOARGS	 	{ int|linux_sys||socket(int domain, \
			    int type, int protocol); }
395	UNIMPL		getfh
396	UNIMPL		fhopen
397	UNIMPL		fhstatvfs1
398	UNIMPL		fhstat

; Asynchronous I/O system calls
399	UNIMPL		aio_cancel
400	UNIMPL		aio_error
401	UNIMPL		aio_fsync
402	UNIMPL		aio_read
403	UNIMPL		aio_return
404	UNIMPL		aio_suspend
405	UNIMPL		aio_write
406	UNIMPL		lio_listio

407	UNIMPL
408	UNIMPL
409	UNIMPL

410	UNIMPL		mount
411	UNIMPL		mremap

; Processor-sets system calls
412	UNIMPL		pset_create
413	UNIMPL		pset_destroy
414	UNIMPL		pset_assign
415	UNIMPL		_pset_bind
416	UNIMPL		fadvise
417	NOARGS  	{ int|linux_sys||select(int nd, \
			    fd_set *in, fd_set *ou, fd_set *ex, \
			    struct timeval50 *tv); }
418	NOARGS		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
			    struct timezone *tzp); }
419	NOARGS		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
			    struct timezone *tzp); }
420	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
			    const struct timveval50 *tptr); }
421	UNIMPL		adjtime
422	UNIMPL		lfs_segwait
423	NOARGS		{ int|sys|50|futimes(int fd, \
			    const struct timeval *tptr); }
424	NOARGS		{ int|sys|50|lutimes(const char *path, \
			    const struct timeval *tptr); }
425	UNIMPL		setitimer
426	UNIMPL		getitimer
427	NOARGS		{ int|linux_sys||clock_gettime(clockid_t which, \
			    struct linux_timespec *tp); }
428	NOARGS		{ int|linux_sys||clock_settime(clockid_t which, \
			    struct linux_timespec *tp); }
429	NOARGS		{ int|linux_sys||clock_getres(clockid_t which, \
			    struct linux_timespec *tp); }
430	NOARGS		{ int|linux_sys||nanosleep( \
			   const struct linux_timespec *rqtp, \
			   struct linux_timespec *rmtp); }
431	UNIMPL		__sigtimedwait
432	UNIMPL		mq_timedsend
433	UNIMPL		mq_timedreceive
434	UNIMPL		_lwp_park
435	UNIMPL		kevent
436	UNIMPL		pselect
437	NOARGS		{ int|linux_sys||ppoll(struct pollfd *fds, \
			    u_int nfds, const struct linux_timespec *timeout, \
			    const linux_sigset_t *mask);}
438	UNIMPL		aio_suspend
439	NOARGS  		{ int|linux_sys||stat64(const char *path, \
			    struct linux_stat64 *sp); }
440	NOARGS  		{ int|linux_sys||fstat64(int fd, \
			    struct linux_stat64 *sp); }
441	NOARGS  		{ int|linux_sys||lstat64(const char *path, \
			    struct linux_stat64 *sp); }
442	UNIMPL		__semctl
443	UNIMPL		shmctl
444	UNIMPL		msgctl
445	UNIMPL		getrusage
446	UNIMPL		timer_settime
447	UNIMPL		timer_gettime
448	UNIMPL		ntp_gettime
449	UNIMPL		wait4
450	NOARGS  		{ int|linux_sys||mknod(const char *path, mode_t mode, \
			    int dev); }
451	UNIMPL		fhstat

; 452 only ever appeared in 5.99.x and can be reused after netbsd-7
452	UNIMPL		5.99 quotactl
453	NOARGS		{ int|linux_sys||pipe2(int *pfds, int flags); }
454	NOARGS		{ int|linux_sys||dup3(int from, int to, int flags); }
455	UNIMPL		kqueue1
456	UNIMPL		paccept
457	NOARGS		{ int|linux_sys||linkat(int fd1, const char *name1, \
			    int fd2, const char *name2, int flags); }
458	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
			    int tofd, const char *to); }
459	UNIMPL		mkfifoat
460	STD		{ int|rump_linux_sys||mknodat(int fd, const char *path, \
			    mode_t mode, int PAD, unsigned dev); }
461	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
			    mode_t mode); }
462	NOARGS		{ int|linux_sys||faccessat(int fd, const char *path, \
			    int amode); }
463	NOARGS		{ int|linux_sys||fchmodat(int fd, const char *path, \
			    mode_t mode); }
464	NOARGS		{ int|linux_sys||fchownat(int fd, const char *path, \
			    uid_t owner, gid_t group, int flag); }
465	UNIMPL		fexecve
466	NOARGS		{ int|linux_sys||fstatat64(int fd, const char *path, \
			   struct linux_stat *sp, int flag); }
467	NOARGS		{ int|linux_sys||utimensat(int fd, const char *path, \
			    struct linux_timespec *times, int flag); }
468	NOARGS		{ int|linux_sys||openat(int fd, const char *path, \
			    int flags, ... mode_t mode); }
469	NOARGS		{ int|sys||readlinkat(int fd, const char *path, \
			    char *buf, size_t bufsize); }
470	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
			    const char *path2); }
471	NOARGS		{ int|linux_sys||unlinkat(int fd, const char *path, \
			    int flag); }
472	UNIMPL		futimens
473	UNIMPL		__quotactl
474	UNIMPL		posix_spawn
475	UNIMPL		recvmmsg
476	UNIMPL		sendmmsg
477	NOARGS		{ int|linux_sys||clock_nanosleep(clockid_t which, \
			    int flags, struct linux_timespec *rqtp, \
			    struct linux_timespec *rmtp); }