emulate ppoll which is essentially our polltsdiff -r1.76 -r1.77 src/sys/compat/linux/arch/alpha/syscalls.master
(pooka)
--- src/sys/compat/linux/arch/alpha/syscalls.master 2011/11/18 04:03:50 1.76
+++ src/sys/compat/linux/arch/alpha/syscalls.master 2012/09/19 21:19:14 1.77
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.76 2011/11/18 04:03:50 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.77 2012/09/19 21:19:14 pooka Exp $ | |
2 | ; | 2 | ; | |
3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | 3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | |
4 | 4 | |||
5 | ; NetBSD alpha COMPAT_LINUX system call name/number "master" file. | 5 | ; NetBSD alpha COMPAT_LINUX system call name/number "master" file. | |
6 | ; (See syscalls.conf to see what it is processed into.) | 6 | ; (See syscalls.conf to see what it is processed into.) | |
7 | ; | 7 | ; | |
8 | ; Fields: number type [type-dependent ...] | 8 | ; Fields: number type [type-dependent ...] | |
9 | ; number system call number, must be in order | 9 | ; number system call number, must be in order | |
10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | 10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | |
11 | ; the compatibility options defined in syscalls.conf. | 11 | ; the compatibility options defined in syscalls.conf. | |
12 | ; | 12 | ; | |
13 | ; types: | 13 | ; types: | |
14 | ; STD always included | 14 | ; STD always included | |
@@ -702,27 +702,29 @@ | @@ -702,27 +702,29 @@ | |||
702 | 451 UNIMPL mkdirat | 702 | 451 UNIMPL mkdirat | |
703 | 452 UNIMPL mknodat | 703 | 452 UNIMPL mknodat | |
704 | 453 UNIMPL fchownat | 704 | 453 UNIMPL fchownat | |
705 | 454 UNIMPL futimesat | 705 | 454 UNIMPL futimesat | |
706 | 455 UNIMPL fstatat64 | 706 | 455 UNIMPL fstatat64 | |
707 | 456 UNIMPL unlinkat | 707 | 456 UNIMPL unlinkat | |
708 | 457 UNIMPL renameat | 708 | 457 UNIMPL renameat | |
709 | 458 UNIMPL linkat | 709 | 458 UNIMPL linkat | |
710 | 459 UNIMPL symlinkat | 710 | 459 UNIMPL symlinkat | |
711 | 460 UNIMPL readlinkat | 711 | 460 UNIMPL readlinkat | |
712 | 461 UNIMPL fchmodat | 712 | 461 UNIMPL fchmodat | |
713 | 462 UNIMPL faccessat | 713 | 462 UNIMPL faccessat | |
714 | 463 UNIMPL pselect6 | 714 | 463 UNIMPL pselect6 | |
715 | 464 UNIMPL ppoll | 715 | 464 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
716 | struct linux_timespec *timeout, \ | |||
717 | linux_sigset_t *sigset); } | |||
716 | 465 UNIMPL unshare | 718 | 465 UNIMPL unshare | |
717 | 466 STD { int|linux_sys||set_robust_list( \ | 719 | 466 STD { int|linux_sys||set_robust_list( \ | |
718 | struct linux_robust_list_head *head, size_t len); } | 720 | struct linux_robust_list_head *head, size_t len); } | |
719 | 467 STD { int|linux_sys||get_robust_list(int pid, \ | 721 | 467 STD { int|linux_sys||get_robust_list(int pid, \ | |
720 | struct linux_robust_list_head **head, \ | 722 | struct linux_robust_list_head **head, \ | |
721 | size_t *len); } | 723 | size_t *len); } | |
722 | 468 UNIMPL splice | 724 | 468 UNIMPL splice | |
723 | 469 UNIMPL sync_file_range | 725 | 469 UNIMPL sync_file_range | |
724 | 470 UNIMPL tee | 726 | 470 UNIMPL tee | |
725 | 471 UNIMPL vmsplice | 727 | 471 UNIMPL vmsplice | |
726 | 472 UNIMPL move_pages | 728 | 472 UNIMPL move_pages | |
727 | 473 UNIMPL getcpu | 729 | 473 UNIMPL getcpu | |
728 | 474 UNIMPL epoll_wait | 730 | 474 UNIMPL epoll_wait |
--- src/sys/compat/linux/arch/amd64/syscalls.master 2011/11/18 04:03:50 1.40
+++ src/sys/compat/linux/arch/amd64/syscalls.master 2012/09/19 21:19:14 1.41
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.40 2011/11/18 04:03:50 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.41 2012/09/19 21:19:14 pooka Exp $ | |
2 | 2 | |||
3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | 3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | |
4 | 4 | |||
5 | ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file. | 5 | ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file. | |
6 | ; (See syscalls.conf to see what it is processed into.) | 6 | ; (See syscalls.conf to see what it is processed into.) | |
7 | ; | 7 | ; | |
8 | ; Fields: number type [type-dependent ...] | 8 | ; Fields: number type [type-dependent ...] | |
9 | ; number system call number, must be in order | 9 | ; number system call number, must be in order | |
10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | 10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | |
11 | ; the compatibility options defined in syscalls.conf. | 11 | ; the compatibility options defined in syscalls.conf. | |
12 | ; | 12 | ; | |
13 | ; types: | 13 | ; types: | |
14 | ; STD always included | 14 | ; STD always included | |
@@ -466,27 +466,29 @@ | @@ -466,27 +466,29 @@ | |||
466 | 258 UNIMPL mkdirat | 466 | 258 UNIMPL mkdirat | |
467 | 259 UNIMPL mknodat | 467 | 259 UNIMPL mknodat | |
468 | 260 UNIMPL fchownat | 468 | 260 UNIMPL fchownat | |
469 | 261 UNIMPL futimesat | 469 | 261 UNIMPL futimesat | |
470 | 262 UNIMPL newfstatat | 470 | 262 UNIMPL newfstatat | |
471 | 263 UNIMPL unlinkat | 471 | 263 UNIMPL unlinkat | |
472 | 264 UNIMPL renameat | 472 | 264 UNIMPL renameat | |
473 | 265 UNIMPL linkat | 473 | 265 UNIMPL linkat | |
474 | 266 UNIMPL symlinkat | 474 | 266 UNIMPL symlinkat | |
475 | 267 UNIMPL readlinkat | 475 | 267 UNIMPL readlinkat | |
476 | 268 UNIMPL fchmodat | 476 | 268 UNIMPL fchmodat | |
477 | 269 UNIMPL faccessat | 477 | 269 UNIMPL faccessat | |
478 | 270 UNIMPL pselect6 | 478 | 270 UNIMPL pselect6 | |
479 | 271 UNIMPL ppoll | 479 | 271 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
480 | struct linux_timespec *timeout, \ | |||
481 | linux_sigset_t *sigset); } | |||
480 | 272 UNIMPL unshare | 482 | 272 UNIMPL unshare | |
481 | 273 STD { int|linux_sys||set_robust_list( \ | 483 | 273 STD { int|linux_sys||set_robust_list( \ | |
482 | struct linux_robust_list_head *head, size_t len); } | 484 | struct linux_robust_list_head *head, size_t len); } | |
483 | 274 STD { int|linux_sys||get_robust_list(int pid, \ | 485 | 274 STD { int|linux_sys||get_robust_list(int pid, \ | |
484 | struct linux_robust_list_head **head, \ | 486 | struct linux_robust_list_head **head, \ | |
485 | size_t *len); } | 487 | size_t *len); } | |
486 | 275 UNIMPL splice | 488 | 275 UNIMPL splice | |
487 | 276 UNIMPL tee | 489 | 276 UNIMPL tee | |
488 | 277 UNIMPL sync_file_range | 490 | 277 UNIMPL sync_file_range | |
489 | 278 UNIMPL vmsplice | 491 | 278 UNIMPL vmsplice | |
490 | 279 UNIMPL move_pages | 492 | 279 UNIMPL move_pages | |
491 | 280 UNIMPL utimensat | 493 | 280 UNIMPL utimensat | |
492 | 281 UNIMPL epoll_pwait | 494 | 281 UNIMPL epoll_pwait |
--- src/sys/compat/linux/arch/arm/syscalls.master 2011/11/18 04:03:50 1.48
+++ src/sys/compat/linux/arch/arm/syscalls.master 2012/09/19 21:19:14 1.49
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.48 2011/11/18 04:03:50 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.49 2012/09/19 21:19:14 pooka Exp $ | |
2 | 2 | |||
3 | ; Derived from sys/compat/linux/arch/*/syscalls.master | 3 | ; Derived from sys/compat/linux/arch/*/syscalls.master | |
4 | ; and from Linux 2.4.12 arch/arm/kernel/calls.S | 4 | ; and from Linux 2.4.12 arch/arm/kernel/calls.S | |
5 | 5 | |||
6 | ; NetBSD/arm COMPAT_LINUX system call name/number "master" file. | 6 | ; NetBSD/arm COMPAT_LINUX system call name/number "master" file. | |
7 | ; (See syscalls.conf to see what it is processed into.) | 7 | ; (See syscalls.conf to see what it is processed into.) | |
8 | ; | 8 | ; | |
9 | ; Fields: number type [type-dependent ...] | 9 | ; Fields: number type [type-dependent ...] | |
10 | ; number system call number, must be in order | 10 | ; number system call number, must be in order | |
11 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | 11 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | |
12 | ; the compatibility options defined in syscalls.conf. | 12 | ; the compatibility options defined in syscalls.conf. | |
13 | ; | 13 | ; | |
14 | ; types: | 14 | ; types: | |
@@ -507,27 +507,29 @@ | @@ -507,27 +507,29 @@ | |||
507 | 323 UNIMPL mkdirat | 507 | 323 UNIMPL mkdirat | |
508 | 324 UNIMPL mknodat | 508 | 324 UNIMPL mknodat | |
509 | 325 UNIMPL fchownat | 509 | 325 UNIMPL fchownat | |
510 | 326 UNIMPL futimesat | 510 | 326 UNIMPL futimesat | |
511 | 327 UNIMPL fstatat64 | 511 | 327 UNIMPL fstatat64 | |
512 | 328 UNIMPL unlinkat | 512 | 328 UNIMPL unlinkat | |
513 | 329 UNIMPL renameat | 513 | 329 UNIMPL renameat | |
514 | 330 UNIMPL linkat | 514 | 330 UNIMPL linkat | |
515 | 331 UNIMPL symlinkat | 515 | 331 UNIMPL symlinkat | |
516 | 332 UNIMPL readlinkat | 516 | 332 UNIMPL readlinkat | |
517 | 333 UNIMPL fchmodat | 517 | 333 UNIMPL fchmodat | |
518 | 334 UNIMPL faccessat | 518 | 334 UNIMPL faccessat | |
519 | 335 UNIMPL pselect6 | 519 | 335 UNIMPL pselect6 | |
520 | 336 UNIMPL ppoll | 520 | 336 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
521 | struct linux_timespec *timeout, \ | |||
522 | linux_sigset_t *sigset); } | |||
521 | 337 UNIMPL unshare | 523 | 337 UNIMPL unshare | |
522 | 338 STD { int|linux_sys||set_robust_list( \ | 524 | 338 STD { int|linux_sys||set_robust_list( \ | |
523 | struct linux_robust_list_head *head, size_t len); } | 525 | struct linux_robust_list_head *head, size_t len); } | |
524 | 339 STD { int|linux_sys||get_robust_list(int pid, \ | 526 | 339 STD { int|linux_sys||get_robust_list(int pid, \ | |
525 | struct linux_robust_list_head **head, \ | 527 | struct linux_robust_list_head **head, \ | |
526 | size_t *len); } | 528 | size_t *len); } | |
527 | 340 UNIMPL splice | 529 | 340 UNIMPL splice | |
528 | 341 UNIMPL sync_file_range2 | 530 | 341 UNIMPL sync_file_range2 | |
529 | 342 UNIMPL tee | 531 | 342 UNIMPL tee | |
530 | 343 UNIMPL vmsplice | 532 | 343 UNIMPL vmsplice | |
531 | 344 UNIMPL move_pages | 533 | 344 UNIMPL move_pages | |
532 | 345 UNIMPL getcpu | 534 | 345 UNIMPL getcpu | |
533 | 346 UNIMPL epoll_wait | 535 | 346 UNIMPL epoll_wait |
--- src/sys/compat/linux/arch/i386/syscalls.master 2011/11/18 04:03:50 1.107
+++ src/sys/compat/linux/arch/i386/syscalls.master 2012/09/19 21:19:14 1.108
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.107 2011/11/18 04:03:50 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.108 2012/09/19 21:19:14 pooka Exp $ | |
2 | 2 | |||
3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | 3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | |
4 | 4 | |||
5 | ; NetBSD i386 COMPAT_LINUX system call name/number "master" file. | 5 | ; NetBSD i386 COMPAT_LINUX system call name/number "master" file. | |
6 | ; (See syscalls.conf to see what it is processed into.) | 6 | ; (See syscalls.conf to see what it is processed into.) | |
7 | ; | 7 | ; | |
8 | ; Fields: number type [type-dependent ...] | 8 | ; Fields: number type [type-dependent ...] | |
9 | ; number system call number, must be in order | 9 | ; number system call number, must be in order | |
10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | 10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | |
11 | ; the compatibility options defined in syscalls.conf. | 11 | ; the compatibility options defined in syscalls.conf. | |
12 | ; | 12 | ; | |
13 | ; types: | 13 | ; types: | |
14 | ; STD always included | 14 | ; STD always included | |
@@ -480,27 +480,29 @@ | @@ -480,27 +480,29 @@ | |||
480 | 296 UNIMPL mkdirat | 480 | 296 UNIMPL mkdirat | |
481 | 297 UNIMPL mknodat | 481 | 297 UNIMPL mknodat | |
482 | 298 UNIMPL fchownat | 482 | 298 UNIMPL fchownat | |
483 | 299 UNIMPL futimesat | 483 | 299 UNIMPL futimesat | |
484 | 300 UNIMPL fstatat64 | 484 | 300 UNIMPL fstatat64 | |
485 | 301 UNIMPL unlinkat | 485 | 301 UNIMPL unlinkat | |
486 | 302 UNIMPL renameat | 486 | 302 UNIMPL renameat | |
487 | 303 UNIMPL linkat | 487 | 303 UNIMPL linkat | |
488 | 304 UNIMPL symlinkat | 488 | 304 UNIMPL symlinkat | |
489 | 305 UNIMPL readlinkat | 489 | 305 UNIMPL readlinkat | |
490 | 306 UNIMPL fchmodat | 490 | 306 UNIMPL fchmodat | |
491 | 307 UNIMPL faccessat | 491 | 307 UNIMPL faccessat | |
492 | 308 UNIMPL pselect6 | 492 | 308 UNIMPL pselect6 | |
493 | 309 UNIMPL ppoll | 493 | 309 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
494 | struct linux_timespec *timeout, \ | |||
495 | linux_sigset_t *sigset); } | |||
494 | 310 UNIMPL unshare | 496 | 310 UNIMPL unshare | |
495 | 311 STD { int|linux_sys||set_robust_list( \ | 497 | 311 STD { int|linux_sys||set_robust_list( \ | |
496 | struct linux_robust_list_head *head, size_t len); } | 498 | struct linux_robust_list_head *head, size_t len); } | |
497 | 312 STD { int|linux_sys||get_robust_list(int pid, \ | 499 | 312 STD { int|linux_sys||get_robust_list(int pid, \ | |
498 | struct linux_robust_list_head **head, \ | 500 | struct linux_robust_list_head **head, \ | |
499 | size_t *len); } | 501 | size_t *len); } | |
500 | 313 UNIMPL splice | 502 | 313 UNIMPL splice | |
501 | 314 UNIMPL sync_file_range | 503 | 314 UNIMPL sync_file_range | |
502 | 315 UNIMPL tee | 504 | 315 UNIMPL tee | |
503 | 316 UNIMPL vmsplice | 505 | 316 UNIMPL vmsplice | |
504 | 317 UNIMPL move_pages | 506 | 317 UNIMPL move_pages | |
505 | 318 UNIMPL getcpu | 507 | 318 UNIMPL getcpu | |
506 | 319 UNIMPL epoll_wait | 508 | 319 UNIMPL epoll_wait |
--- src/sys/compat/linux/arch/m68k/syscalls.master 2011/11/18 04:03:50 1.73
+++ src/sys/compat/linux/arch/m68k/syscalls.master 2012/09/19 21:19:14 1.74
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.73 2011/11/18 04:03:50 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.74 2012/09/19 21:19:14 pooka Exp $ | |
2 | 2 | |||
3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | 3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | |
4 | 4 | |||
5 | ; NetBSD m68k COMPAT_LINUX system call name/number "master" file. | 5 | ; NetBSD m68k COMPAT_LINUX system call name/number "master" file. | |
6 | ; (See syscalls.conf to see what it is processed into.) | 6 | ; (See syscalls.conf to see what it is processed into.) | |
7 | ; | 7 | ; | |
8 | ; Fields: number type [type-dependent ...] | 8 | ; Fields: number type [type-dependent ...] | |
9 | ; number system call number, must be in order | 9 | ; number system call number, must be in order | |
10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | 10 | ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of | |
11 | ; the compatibility options defined in syscalls.conf. | 11 | ; the compatibility options defined in syscalls.conf. | |
12 | ; | 12 | ; | |
13 | ; types: | 13 | ; types: | |
14 | ; STD always included | 14 | ; STD always included | |
@@ -488,27 +488,29 @@ | @@ -488,27 +488,29 @@ | |||
488 | 289 UNIMPL mkdirat | 488 | 289 UNIMPL mkdirat | |
489 | 290 UNIMPL mknodat | 489 | 290 UNIMPL mknodat | |
490 | 291 UNIMPL fchownat | 490 | 291 UNIMPL fchownat | |
491 | 292 UNIMPL futimesat | 491 | 292 UNIMPL futimesat | |
492 | 293 UNIMPL fstatat64 | 492 | 293 UNIMPL fstatat64 | |
493 | 294 UNIMPL unlinkat | 493 | 294 UNIMPL unlinkat | |
494 | 295 UNIMPL renameat | 494 | 295 UNIMPL renameat | |
495 | 296 UNIMPL linkat | 495 | 296 UNIMPL linkat | |
496 | 297 UNIMPL symlinkat | 496 | 297 UNIMPL symlinkat | |
497 | 298 UNIMPL readlinkat | 497 | 298 UNIMPL readlinkat | |
498 | 299 UNIMPL fchmodat | 498 | 299 UNIMPL fchmodat | |
499 | 300 UNIMPL faccessat | 499 | 300 UNIMPL faccessat | |
500 | 301 UNIMPL pselect6 | 500 | 301 UNIMPL pselect6 | |
501 | 302 UNIMPL ppoll | 501 | 302 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
502 | struct linux_timespec *timeout, \ | |||
503 | linux_sigset_t *sigset); } | |||
502 | 303 UNIMPL unshare | 504 | 303 UNIMPL unshare | |
503 | 304 STD { int|linux_sys||set_robust_list( \ | 505 | 304 STD { int|linux_sys||set_robust_list( \ | |
504 | struct linux_robust_list_head *head, size_t len); } | 506 | struct linux_robust_list_head *head, size_t len); } | |
505 | 305 STD { int|linux_sys||get_robust_list(int pid, \ | 507 | 305 STD { int|linux_sys||get_robust_list(int pid, \ | |
506 | struct linux_robust_list_head **head, \ | 508 | struct linux_robust_list_head **head, \ | |
507 | size_t *len); } | 509 | size_t *len); } | |
508 | 306 UNIMPL splice | 510 | 306 UNIMPL splice | |
509 | 307 UNIMPL sync_file_range | 511 | 307 UNIMPL sync_file_range | |
510 | 308 UNIMPL tee | 512 | 308 UNIMPL tee | |
511 | 309 UNIMPL vmsplice | 513 | 309 UNIMPL vmsplice | |
512 | 310 UNIMPL move_pages | 514 | 310 UNIMPL move_pages | |
513 | 311 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ | 515 | 311 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ | |
514 | unsigned int len, unsigned long *mask); } | 516 | unsigned int len, unsigned long *mask); } |
--- src/sys/compat/linux/arch/mips/syscalls.master 2011/11/18 04:03:51 1.43
+++ src/sys/compat/linux/arch/mips/syscalls.master 2012/09/19 21:19:15 1.44
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.43 2011/11/18 04:03:51 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.44 2012/09/19 21:19:15 pooka Exp $ | |
2 | 2 | |||
3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | 3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | |
4 | 4 | |||
5 | ; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master | 5 | ; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master | |
6 | ; from Linux's arch/mips/kernel/syscalls.h | 6 | ; from Linux's arch/mips/kernel/syscalls.h | |
7 | 7 | |||
8 | ; NetBSD mips COMPAT_LINUX system call name/number "master" file. | 8 | ; NetBSD mips COMPAT_LINUX system call name/number "master" file. | |
9 | ; (See syscalls.conf to see what it is processed into.) | 9 | ; (See syscalls.conf to see what it is processed into.) | |
10 | ; | 10 | ; | |
11 | ; Expect problems with | 11 | ; Expect problems with | |
12 | ; 48 signal: undefined in Linux??? | 12 | ; 48 signal: undefined in Linux??? | |
13 | ; 86 uselib: needs a.out | 13 | ; 86 uselib: needs a.out | |
14 | ; | 14 | ; | |
@@ -477,27 +477,29 @@ | @@ -477,27 +477,29 @@ | |||
477 | 289 UNIMPL mkdirat | 477 | 289 UNIMPL mkdirat | |
478 | 290 UNIMPL mknodat | 478 | 290 UNIMPL mknodat | |
479 | 291 UNIMPL fchownat | 479 | 291 UNIMPL fchownat | |
480 | 292 UNIMPL futimesat | 480 | 292 UNIMPL futimesat | |
481 | 293 UNIMPL fstatat64 | 481 | 293 UNIMPL fstatat64 | |
482 | 294 UNIMPL unlinkat | 482 | 294 UNIMPL unlinkat | |
483 | 295 UNIMPL renameat | 483 | 295 UNIMPL renameat | |
484 | 296 UNIMPL linkat | 484 | 296 UNIMPL linkat | |
485 | 297 UNIMPL symlinkat | 485 | 297 UNIMPL symlinkat | |
486 | 298 UNIMPL readlinkat | 486 | 298 UNIMPL readlinkat | |
487 | 299 UNIMPL fchmodat | 487 | 299 UNIMPL fchmodat | |
488 | 300 UNIMPL faccessat | 488 | 300 UNIMPL faccessat | |
489 | 301 UNIMPL pselect6 | 489 | 301 UNIMPL pselect6 | |
490 | 302 UNIMPL ppoll | 490 | 302 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
491 | struct linux_timespec *timeout, \ | |||
492 | linux_sigset_t *sigset); } | |||
491 | 303 UNIMPL unshare | 493 | 303 UNIMPL unshare | |
492 | 304 UNIMPL splice | 494 | 304 UNIMPL splice | |
493 | 305 UNIMPL sync_file_range | 495 | 305 UNIMPL sync_file_range | |
494 | 306 UNIMPL tee | 496 | 306 UNIMPL tee | |
495 | 307 UNIMPL vmsplice | 497 | 307 UNIMPL vmsplice | |
496 | 308 UNIMPL move_pages | 498 | 308 UNIMPL move_pages | |
497 | 309 STD { int|linux_sys||set_robust_list( \ | 499 | 309 STD { int|linux_sys||set_robust_list( \ | |
498 | struct linux_robust_list_head *head, size_t len); } | 500 | struct linux_robust_list_head *head, size_t len); } | |
499 | 310 STD { int|linux_sys||get_robust_list(int pid, \ | 501 | 310 STD { int|linux_sys||get_robust_list(int pid, \ | |
500 | struct linux_robust_list_head **head, \ | 502 | struct linux_robust_list_head **head, \ | |
501 | size_t *len); } | 503 | size_t *len); } | |
502 | 311 UNIMPL kexec_load | 504 | 311 UNIMPL kexec_load | |
503 | 312 UNIMPL getcpu | 505 | 312 UNIMPL getcpu |
--- src/sys/compat/linux/arch/powerpc/syscalls.master 2011/11/18 04:03:51 1.50
+++ src/sys/compat/linux/arch/powerpc/syscalls.master 2012/09/19 21:19:15 1.51
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | $NetBSD: syscalls.master,v 1.50 2011/11/18 04:03:51 christos Exp $ | 1 | $NetBSD: syscalls.master,v 1.51 2012/09/19 21:19:15 pooka Exp $ | |
2 | 2 | |||
3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | 3 | ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 | |
4 | 4 | |||
5 | ; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master | 5 | ; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master | |
6 | ; sys/compat/linux/arch/m68k/syscalls.master | 6 | ; sys/compat/linux/arch/m68k/syscalls.master | |
7 | ; and from Linux's arch/ppc/kernel/misc.S | 7 | ; and from Linux's arch/ppc/kernel/misc.S | |
8 | ; | 8 | ; | |
9 | ; We have problems for a few syscalls, specially: | 9 | ; We have problems for a few syscalls, specially: | |
10 | ; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???). | 10 | ; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???). | |
11 | ; | 11 | ; | |
12 | ; Expect problems with the following, which have an architecture dependent | 12 | ; Expect problems with the following, which have an architecture dependent | |
13 | ; implementation in Linux/powerpc: | 13 | ; implementation in Linux/powerpc: | |
14 | ; 29 pause | 14 | ; 29 pause | |
@@ -466,27 +466,29 @@ | @@ -466,27 +466,29 @@ | |||
466 | 268 UNIMPL kexec_load | 466 | 268 UNIMPL kexec_load | |
467 | 269 UNIMPL add_key | 467 | 269 UNIMPL add_key | |
468 | 270 UNIMPL request_key | 468 | 270 UNIMPL request_key | |
469 | 271 UNIMPL keyctl | 469 | 271 UNIMPL keyctl | |
470 | 272 UNIMPL waitid | 470 | 272 UNIMPL waitid | |
471 | 273 UNIMPL ioprio_set | 471 | 273 UNIMPL ioprio_set | |
472 | 274 UNIMPL ioprio_get | 472 | 274 UNIMPL ioprio_get | |
473 | 275 UNIMPL inotify_init | 473 | 275 UNIMPL inotify_init | |
474 | 276 UNIMPL inotify_add_watch | 474 | 276 UNIMPL inotify_add_watch | |
475 | 277 UNIMPL inotify_rm_watch | 475 | 277 UNIMPL inotify_rm_watch | |
476 | 278 UNIMPL spu_run | 476 | 278 UNIMPL spu_run | |
477 | 279 UNIMPL spu_create | 477 | 279 UNIMPL spu_create | |
478 | 280 UNIMPL pselect6 | 478 | 280 UNIMPL pselect6 | |
479 | 281 UNIMPL ppoll | 479 | 281 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ | |
480 | struct linux_timespec *timeout, \ | |||
481 | linux_sigset_t *sigset); } | |||
480 | 282 UNIMPL unshare | 482 | 282 UNIMPL unshare | |
481 | 283 UNIMPL splice | 483 | 283 UNIMPL splice | |
482 | 284 UNIMPL tee | 484 | 284 UNIMPL tee | |
483 | 285 UNIMPL vmsplice | 485 | 285 UNIMPL vmsplice | |
484 | 286 UNIMPL openat | 486 | 286 UNIMPL openat | |
485 | 287 UNIMPL mkdirat | 487 | 287 UNIMPL mkdirat | |
486 | 288 UNIMPL mknodat | 488 | 288 UNIMPL mknodat | |
487 | 289 UNIMPL fchownat | 489 | 289 UNIMPL fchownat | |
488 | 290 UNIMPL futimesat | 490 | 290 UNIMPL futimesat | |
489 | 291 UNIMPL fstatat64 | 491 | 291 UNIMPL fstatat64 | |
490 | 292 UNIMPL unlinkat | 492 | 292 UNIMPL unlinkat | |
491 | 293 UNIMPL renameat | 493 | 293 UNIMPL renameat | |
492 | 294 UNIMPL linkat | 494 | 294 UNIMPL linkat |
--- src/sys/compat/linux/common/linux_misc.c 2011/10/14 09:23:28 1.219
+++ src/sys/compat/linux/common/linux_misc.c 2012/09/19 21:19:15 1.220
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | /* $NetBSD: linux_misc.c,v 1.219 2011/10/14 09:23:28 hannken Exp $ */ | 1 | /* $NetBSD: linux_misc.c,v 1.220 2012/09/19 21:19:15 pooka Exp $ */ | |
2 | 2 | |||
3 | /*- | 3 | /*- | |
4 | * Copyright (c) 1995, 1998, 1999, 2008 The NetBSD Foundation, Inc. | 4 | * Copyright (c) 1995, 1998, 1999, 2008 The NetBSD Foundation, Inc. | |
5 | * All rights reserved. | 5 | * All rights reserved. | |
6 | * | 6 | * | |
7 | * This code is derived from software contributed to The NetBSD Foundation | 7 | * This code is derived from software contributed to The NetBSD Foundation | |
8 | * by Frank van der Linden and Eric Haszlakiewicz; by Jason R. Thorpe | 8 | * by Frank van der Linden and Eric Haszlakiewicz; by Jason R. Thorpe | |
9 | * of the Numerical Aerospace Simulation Facility, NASA Ames Research Center. | 9 | * of the Numerical Aerospace Simulation Facility, NASA Ames Research Center. | |
10 | * | 10 | * | |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without | |
12 | * modification, are permitted provided that the following conditions | 12 | * modification, are permitted provided that the following conditions | |
13 | * are met: | 13 | * are met: | |
14 | * 1. Redistributions of source code must retain the above copyright | 14 | * 1. Redistributions of source code must retain the above copyright | |
@@ -47,42 +47,43 @@ | @@ -47,42 +47,43 @@ | |||
47 | * linux_sys_readdir : linux_misc_notalpha.c | 47 | * linux_sys_readdir : linux_misc_notalpha.c | |
48 | * linux_sys_setresgid : linux_misc_notalpha.c | 48 | * linux_sys_setresgid : linux_misc_notalpha.c | |
49 | * linux_sys_time : linux_misc_notalpha.c | 49 | * linux_sys_time : linux_misc_notalpha.c | |
50 | * linux_sys_utime : linux_misc_notalpha.c | 50 | * linux_sys_utime : linux_misc_notalpha.c | |
51 | * linux_sys_waitpid : linux_misc_notalpha.c | 51 | * linux_sys_waitpid : linux_misc_notalpha.c | |
52 | * linux_sys_old_mmap : linux_oldmmap.c | 52 | * linux_sys_old_mmap : linux_oldmmap.c | |
53 | * linux_sys_oldolduname : linux_oldolduname.c | 53 | * linux_sys_oldolduname : linux_oldolduname.c | |
54 | * linux_sys_oldselect : linux_oldselect.c | 54 | * linux_sys_oldselect : linux_oldselect.c | |
55 | * linux_sys_olduname : linux_olduname.c | 55 | * linux_sys_olduname : linux_olduname.c | |
56 | * linux_sys_pipe : linux_pipe.c | 56 | * linux_sys_pipe : linux_pipe.c | |
57 | */ | 57 | */ | |
58 | 58 | |||
59 | #include <sys/cdefs.h> | 59 | #include <sys/cdefs.h> | |
60 | __KERNEL_RCSID(0, "$NetBSD: linux_misc.c,v 1.219 2011/10/14 09:23:28 hannken Exp $"); | 60 | __KERNEL_RCSID(0, "$NetBSD: linux_misc.c,v 1.220 2012/09/19 21:19:15 pooka Exp $"); | |
61 | 61 | |||
62 | #include <sys/param.h> | 62 | #include <sys/param.h> | |
63 | #include <sys/systm.h> | 63 | #include <sys/systm.h> | |
64 | #include <sys/namei.h> | 64 | #include <sys/namei.h> | |
65 | #include <sys/proc.h> | 65 | #include <sys/proc.h> | |
66 | #include <sys/dirent.h> | 66 | #include <sys/dirent.h> | |
67 | #include <sys/file.h> | 67 | #include <sys/file.h> | |
68 | #include <sys/stat.h> | 68 | #include <sys/stat.h> | |
69 | #include <sys/filedesc.h> | 69 | #include <sys/filedesc.h> | |
70 | #include <sys/ioctl.h> | 70 | #include <sys/ioctl.h> | |
71 | #include <sys/kernel.h> | 71 | #include <sys/kernel.h> | |
72 | #include <sys/malloc.h> | 72 | #include <sys/malloc.h> | |
73 | #include <sys/mbuf.h> | 73 | #include <sys/mbuf.h> | |
74 | #include <sys/mman.h> | 74 | #include <sys/mman.h> | |
75 | #include <sys/mount.h> | 75 | #include <sys/mount.h> | |
76 | #include <sys/poll.h> | |||
76 | #include <sys/prot.h> | 77 | #include <sys/prot.h> | |
77 | #include <sys/reboot.h> | 78 | #include <sys/reboot.h> | |
78 | #include <sys/resource.h> | 79 | #include <sys/resource.h> | |
79 | #include <sys/resourcevar.h> | 80 | #include <sys/resourcevar.h> | |
80 | #include <sys/select.h> | 81 | #include <sys/select.h> | |
81 | #include <sys/signal.h> | 82 | #include <sys/signal.h> | |
82 | #include <sys/signalvar.h> | 83 | #include <sys/signalvar.h> | |
83 | #include <sys/socket.h> | 84 | #include <sys/socket.h> | |
84 | #include <sys/time.h> | 85 | #include <sys/time.h> | |
85 | #include <sys/times.h> | 86 | #include <sys/times.h> | |
86 | #include <sys/vnode.h> | 87 | #include <sys/vnode.h> | |
87 | #include <sys/uio.h> | 88 | #include <sys/uio.h> | |
88 | #include <sys/wait.h> | 89 | #include <sys/wait.h> | |
@@ -109,26 +110,27 @@ __KERNEL_RCSID(0, "$NetBSD: linux_misc.c | @@ -109,26 +110,27 @@ __KERNEL_RCSID(0, "$NetBSD: linux_misc.c | |||
109 | 110 | |||
110 | #include <compat/linux/common/linux_fcntl.h> | 111 | #include <compat/linux/common/linux_fcntl.h> | |
111 | #include <compat/linux/common/linux_mmap.h> | 112 | #include <compat/linux/common/linux_mmap.h> | |
112 | #include <compat/linux/common/linux_dirent.h> | 113 | #include <compat/linux/common/linux_dirent.h> | |
113 | #include <compat/linux/common/linux_util.h> | 114 | #include <compat/linux/common/linux_util.h> | |
114 | #include <compat/linux/common/linux_misc.h> | 115 | #include <compat/linux/common/linux_misc.h> | |
115 | #ifndef COMPAT_LINUX32 | 116 | #ifndef COMPAT_LINUX32 | |
116 | #include <compat/linux/common/linux_statfs.h> | 117 | #include <compat/linux/common/linux_statfs.h> | |
117 | #include <compat/linux/common/linux_limit.h> | 118 | #include <compat/linux/common/linux_limit.h> | |
118 | #endif | 119 | #endif | |
119 | #include <compat/linux/common/linux_ptrace.h> | 120 | #include <compat/linux/common/linux_ptrace.h> | |
120 | #include <compat/linux/common/linux_reboot.h> | 121 | #include <compat/linux/common/linux_reboot.h> | |
121 | #include <compat/linux/common/linux_emuldata.h> | 122 | #include <compat/linux/common/linux_emuldata.h> | |
123 | #include <compat/linux/common/linux_sched.h> | |||
122 | 124 | |||
123 | #include <compat/linux/linux_syscallargs.h> | 125 | #include <compat/linux/linux_syscallargs.h> | |
124 | 126 | |||
125 | #ifndef COMPAT_LINUX32 | 127 | #ifndef COMPAT_LINUX32 | |
126 | const int linux_ptrace_request_map[] = { | 128 | const int linux_ptrace_request_map[] = { | |
127 | LINUX_PTRACE_TRACEME, PT_TRACE_ME, | 129 | LINUX_PTRACE_TRACEME, PT_TRACE_ME, | |
128 | LINUX_PTRACE_PEEKTEXT, PT_READ_I, | 130 | LINUX_PTRACE_PEEKTEXT, PT_READ_I, | |
129 | LINUX_PTRACE_PEEKDATA, PT_READ_D, | 131 | LINUX_PTRACE_PEEKDATA, PT_READ_D, | |
130 | LINUX_PTRACE_POKETEXT, PT_WRITE_I, | 132 | LINUX_PTRACE_POKETEXT, PT_WRITE_I, | |
131 | LINUX_PTRACE_POKEDATA, PT_WRITE_D, | 133 | LINUX_PTRACE_POKEDATA, PT_WRITE_D, | |
132 | LINUX_PTRACE_CONT, PT_CONTINUE, | 134 | LINUX_PTRACE_CONT, PT_CONTINUE, | |
133 | LINUX_PTRACE_KILL, PT_KILL, | 135 | LINUX_PTRACE_KILL, PT_KILL, | |
134 | LINUX_PTRACE_ATTACH, PT_ATTACH, | 136 | LINUX_PTRACE_ATTACH, PT_ATTACH, | |
@@ -910,26 +912,62 @@ linux_select1(struct lwp *l, register_t | @@ -910,26 +912,62 @@ linux_select1(struct lwp *l, register_t | |||
910 | if (uts.tv_sec < 0) | 912 | if (uts.tv_sec < 0) | |
911 | timespecclear(&uts); | 913 | timespecclear(&uts); | |
912 | } else | 914 | } else | |
913 | timespecclear(&uts); | 915 | timespecclear(&uts); | |
914 | ltv.tv_sec = uts.tv_sec; | 916 | ltv.tv_sec = uts.tv_sec; | |
915 | ltv.tv_usec = uts.tv_nsec / 1000; | 917 | ltv.tv_usec = uts.tv_nsec / 1000; | |
916 | if ((error = copyout(<v, timeout, sizeof(ltv)))) | 918 | if ((error = copyout(<v, timeout, sizeof(ltv)))) | |
917 | return error; | 919 | return error; | |
918 | } | 920 | } | |
919 | 921 | |||
920 | return 0; | 922 | return 0; | |
921 | } | 923 | } | |
922 | 924 | |||
925 | int | |||
926 | linux_sys_ppoll(struct lwp *l, | |||
927 | const struct linux_sys_ppoll_args *uap, register_t *retval) | |||
928 | { | |||
929 | /* { | |||
930 | syscallarg(struct pollfd *) fds; | |||
931 | syscallarg(int) nfds; | |||
932 | syscallarg(struct linux_timespec *) timeout; | |||
933 | syscallarg(linux_sigset_t *) sigset; | |||
934 | } */ | |||
935 | struct linux_timespec lts0, *lts; | |||
936 | struct timespec ts0, *ts = NULL; | |||
937 | linux_sigset_t lsigmask0, *lsigmask; | |||
938 | sigset_t sigmask0, *sigmask = NULL; | |||
939 | int error; | |||
940 | ||||
941 | lts = SCARG(uap, timeout); | |||
942 | if (lts) { | |||
943 | if ((error = copyin(lts, <s0, sizeof(lts0))) != 0) | |||
944 | return error; | |||
945 | linux_to_native_timespec(&ts0, <s0); | |||
946 | ts = &ts0; | |||
947 | } | |||
948 | ||||
949 | lsigmask = SCARG(uap, sigset); | |||
950 | if (lsigmask) { | |||
951 | if ((error = copyin(lsigmask, &lsigmask0, sizeof(lsigmask0)))) | |||
952 | return error; | |||
953 | linux_to_native_sigset(&sigmask0, &lsigmask0); | |||
954 | sigmask = &sigmask0; | |||
955 | } | |||
956 | ||||
957 | return pollcommon(retval, SCARG(uap, fds), SCARG(uap, nfds), | |||
958 | ts, sigmask); | |||
959 | } | |||
960 | ||||
923 | /* | 961 | /* | |
924 | * Set the 'personality' (emulation mode) for the current process. Only | 962 | * Set the 'personality' (emulation mode) for the current process. Only | |
925 | * accept the Linux personality here (0). This call is needed because | 963 | * accept the Linux personality here (0). This call is needed because | |
926 | * the Linux ELF crt0 issues it in an ugly kludge to make sure that | 964 | * the Linux ELF crt0 issues it in an ugly kludge to make sure that | |
927 | * ELF binaries run in Linux mode, not SVR4 mode. | 965 | * ELF binaries run in Linux mode, not SVR4 mode. | |
928 | */ | 966 | */ | |
929 | int | 967 | int | |
930 | linux_sys_personality(struct lwp *l, const struct linux_sys_personality_args *uap, register_t *retval) | 968 | linux_sys_personality(struct lwp *l, const struct linux_sys_personality_args *uap, register_t *retval) | |
931 | { | 969 | { | |
932 | /* { | 970 | /* { | |
933 | syscallarg(unsigned long) per; | 971 | syscallarg(unsigned long) per; | |
934 | } */ | 972 | } */ | |
935 | struct linux_emuldata *led; | 973 | struct linux_emuldata *led; |