Module Name: src Committed By: manu Date: Mon Aug 8 12:17:29 UTC 2011
Modified Files: src/sys/kern: init_sysent.c syscalls.c src/sys/rump/include/rump: rump_syscalls.h rumpvnode_if.h src/sys/rump/librump/rumpkern: rump_syscalls.c src/sys/rump/librump/rumpvfs: rumpvnode_if.c src/sys/sys: syscall.h syscallargs.h vnode_if.h Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.256 -r1.257 src/sys/kern/init_sysent.c cvs rdiff -u -r1.247 -r1.248 src/sys/kern/syscalls.c cvs rdiff -u -r1.51 -r1.52 src/sys/rump/include/rump/rump_syscalls.h cvs rdiff -u -r1.11 -r1.12 src/sys/rump/include/rump/rumpvnode_if.h cvs rdiff -u -r1.73 -r1.74 src/sys/rump/librump/rumpkern/rump_syscalls.c cvs rdiff -u -r1.10 -r1.11 src/sys/rump/librump/rumpvfs/rumpvnode_if.c cvs rdiff -u -r1.243 -r1.244 src/sys/sys/syscall.h cvs rdiff -u -r1.226 -r1.227 src/sys/sys/syscallargs.h cvs rdiff -u -r1.82 -r1.83 src/sys/sys/vnode_if.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/init_sysent.c diff -u src/sys/kern/init_sysent.c:1.256 src/sys/kern/init_sysent.c:1.257 --- src/sys/kern/init_sysent.c:1.256 Mon Jul 18 11:43:53 2011 +++ src/sys/kern/init_sysent.c Mon Aug 8 12:17:27 2011 @@ -1,14 +1,14 @@ -/* $NetBSD: init_sysent.c,v 1.256 2011/07/18 11:43:53 drochner Exp $ */ +/* $NetBSD: init_sysent.c,v 1.257 2011/08/08 12:17:27 manu Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.250 2011/07/18 11:28:24 drochner Exp + * created from NetBSD: syscalls.master,v 1.251 2011/08/08 12:08:53 manu Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.256 2011/07/18 11:43:53 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.257 2011/08/08 12:17:27 manu Exp $"); #include "opt_modular.h" #include "opt_ntp.h" @@ -1106,36 +1106,36 @@ (sy_call_t *)sys_kqueue1 }, /* 455 = kqueue1 */ { ns(struct sys_paccept_args), 0, (sy_call_t *)sys_paccept }, /* 456 = paccept */ - { 0, 0, 0, - sys_nosys }, /* 457 = filler */ - { 0, 0, 0, - sys_nosys }, /* 458 = filler */ - { 0, 0, 0, - sys_nosys }, /* 459 = filler */ - { 0, 0, 0, - sys_nosys }, /* 460 = filler */ - { 0, 0, 0, - sys_nosys }, /* 461 = filler */ - { 0, 0, 0, - sys_nosys }, /* 462 = filler */ - { 0, 0, 0, - sys_nosys }, /* 463 = filler */ - { 0, 0, 0, - sys_nosys }, /* 464 = filler */ - { 0, 0, 0, - sys_nosys }, /* 465 = filler */ - { 0, 0, 0, - sys_nosys }, /* 466 = filler */ - { 0, 0, 0, - sys_nosys }, /* 467 = filler */ - { 0, 0, 0, - sys_nosys }, /* 468 = filler */ - { 0, 0, 0, - sys_nosys }, /* 469 = filler */ - { 0, 0, 0, - sys_nosys }, /* 470 = filler */ - { 0, 0, 0, - sys_nosys }, /* 471 = filler */ + { ns(struct sys_linkat_args), 0, + (sy_call_t *)sys_linkat }, /* 457 = linkat */ + { ns(struct sys_renameat_args), 0, + (sy_call_t *)sys_renameat }, /* 458 = renameat */ + { ns(struct sys_mkfifoat_args), 0, + (sy_call_t *)sys_mkfifoat }, /* 459 = mkfifoat */ + { ns(struct sys_mknodat_args), 0, + (sy_call_t *)sys_mknodat }, /* 460 = mknodat */ + { ns(struct sys_mkdirat_args), 0, + (sy_call_t *)sys_mkdirat }, /* 461 = mkdirat */ + { ns(struct sys_faccessat_args), 0, + (sy_call_t *)sys_faccessat }, /* 462 = faccessat */ + { ns(struct sys_fchmodat_args), 0, + (sy_call_t *)sys_fchmodat }, /* 463 = fchmodat */ + { ns(struct sys_fchownat_args), 0, + (sy_call_t *)sys_fchownat }, /* 464 = fchownat */ + { ns(struct sys_fexecve_args), 0, + (sy_call_t *)sys_fexecve }, /* 465 = fexecve */ + { ns(struct sys_fstatat_args), 0, + (sy_call_t *)sys_fstatat }, /* 466 = fstatat */ + { ns(struct sys_utimensat_args), 0, + (sy_call_t *)sys_utimensat }, /* 467 = utimensat */ + { ns(struct sys_openat_args), 0, + (sy_call_t *)sys_openat }, /* 468 = openat */ + { ns(struct sys_readlinkat_args), 0, + (sy_call_t *)sys_readlinkat }, /* 469 = readlinkat */ + { ns(struct sys_symlinkat_args), 0, + (sy_call_t *)sys_symlinkat }, /* 470 = symlinkat */ + { ns(struct sys_unlinkat_args), 0, + (sy_call_t *)sys_unlinkat }, /* 471 = unlinkat */ { 0, 0, 0, sys_nosys }, /* 472 = filler */ { 0, 0, 0, Index: src/sys/kern/syscalls.c diff -u src/sys/kern/syscalls.c:1.247 src/sys/kern/syscalls.c:1.248 --- src/sys/kern/syscalls.c:1.247 Mon Jul 18 11:43:53 2011 +++ src/sys/kern/syscalls.c Mon Aug 8 12:17:28 2011 @@ -1,14 +1,14 @@ -/* $NetBSD: syscalls.c,v 1.247 2011/07/18 11:43:53 drochner Exp $ */ +/* $NetBSD: syscalls.c,v 1.248 2011/08/08 12:17:28 manu Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.250 2011/07/18 11:28:24 drochner Exp + * created from NetBSD: syscalls.master,v 1.251 2011/08/08 12:08:53 manu Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.247 2011/07/18 11:43:53 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.248 2011/08/08 12:17:28 manu Exp $"); #if defined(_KERNEL_OPT) #include "opt_modular.h" @@ -546,21 +546,21 @@ /* 454 */ "dup3", /* 455 */ "kqueue1", /* 456 */ "paccept", - /* 457 */ "# filler", - /* 458 */ "# filler", - /* 459 */ "# filler", - /* 460 */ "# filler", - /* 461 */ "# filler", - /* 462 */ "# filler", - /* 463 */ "# filler", - /* 464 */ "# filler", - /* 465 */ "# filler", - /* 466 */ "# filler", - /* 467 */ "# filler", - /* 468 */ "# filler", - /* 469 */ "# filler", - /* 470 */ "# filler", - /* 471 */ "# filler", + /* 457 */ "linkat", + /* 458 */ "renameat", + /* 459 */ "mkfifoat", + /* 460 */ "mknodat", + /* 461 */ "mkdirat", + /* 462 */ "faccessat", + /* 463 */ "fchmodat", + /* 464 */ "fchownat", + /* 465 */ "fexecve", + /* 466 */ "fstatat", + /* 467 */ "utimensat", + /* 468 */ "openat", + /* 469 */ "readlinkat", + /* 470 */ "symlinkat", + /* 471 */ "unlinkat", /* 472 */ "# filler", /* 473 */ "# filler", /* 474 */ "# filler", Index: src/sys/rump/include/rump/rump_syscalls.h diff -u src/sys/rump/include/rump/rump_syscalls.h:1.51 src/sys/rump/include/rump/rump_syscalls.h:1.52 --- src/sys/rump/include/rump/rump_syscalls.h:1.51 Mon Jul 18 11:43:53 2011 +++ src/sys/rump/include/rump/rump_syscalls.h Mon Aug 8 12:17:28 2011 @@ -1,10 +1,10 @@ -/* $NetBSD: rump_syscalls.h,v 1.51 2011/07/18 11:43:53 drochner Exp $ */ +/* $NetBSD: rump_syscalls.h,v 1.52 2011/08/08 12:17:28 manu Exp $ */ /* * System call protos in rump namespace. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.250 2011/07/18 11:28:24 drochner Exp + * created from NetBSD: syscalls.master,v 1.251 2011/08/08 12:08:53 manu Exp */ #ifndef _RUMP_RUMP_SYSCALLS_H_ @@ -25,6 +25,10 @@ #define RUMP_SYS_RENAME_GETSID rump___sysimpl_getsid #endif +#ifndef RUMP_SYS_RENAME_UTIMENSAT +#define RUMP_SYS_RENAME_UTIMENSAT rump___sysimpl_utimensat +#endif + #ifndef RUMP_SYS_RENAME_CHFLAGS #define RUMP_SYS_RENAME_CHFLAGS rump___sysimpl_chflags #endif @@ -41,6 +45,10 @@ #define RUMP_SYS_RENAME_FHSTATVFS1 rump___sysimpl_fhstatvfs140 #endif +#ifndef RUMP_SYS_RENAME_FEXECVE +#define RUMP_SYS_RENAME_FEXECVE rump___sysimpl_fexecve +#endif + #ifndef RUMP_SYS_RENAME_PWRITEV #define RUMP_SYS_RENAME_PWRITEV rump___sysimpl_pwritev #endif @@ -49,6 +57,10 @@ #define RUMP_SYS_RENAME_EXTATTR_GET_LINK rump___sysimpl_extattr_get_link #endif +#ifndef RUMP_SYS_RENAME_MKDIRAT +#define RUMP_SYS_RENAME_MKDIRAT rump___sysimpl_mkdirat +#endif + #ifndef RUMP_SYS_RENAME___GETCWD #define RUMP_SYS_RENAME___GETCWD rump___sysimpl___getcwd #endif @@ -105,6 +117,10 @@ #define RUMP_SYS_RENAME_SETPGID rump___sysimpl_setpgid #endif +#ifndef RUMP_SYS_RENAME_FACCESSAT +#define RUMP_SYS_RENAME_FACCESSAT rump___sysimpl_faccessat +#endif + #ifndef RUMP_SYS_RENAME_FSETXATTR #define RUMP_SYS_RENAME_FSETXATTR rump___sysimpl_fsetxattr #endif @@ -145,6 +161,10 @@ #define RUMP_SYS_RENAME_FCHFLAGS rump___sysimpl_fchflags #endif +#ifndef RUMP_SYS_RENAME_OPENAT +#define RUMP_SYS_RENAME_OPENAT rump___sysimpl_openat +#endif + #ifndef RUMP_SYS_RENAME_DUP #define RUMP_SYS_RENAME_DUP rump___sysimpl_dup #endif @@ -265,6 +285,10 @@ #define RUMP_SYS_RENAME_GETGID_WITH_EGID rump___sysimpl_getgid #endif +#ifndef RUMP_SYS_RENAME_SYMLINKAT +#define RUMP_SYS_RENAME_SYMLINKAT rump___sysimpl_symlinkat +#endif + #ifndef RUMP_SYS_RENAME_FSYNC_RANGE #define RUMP_SYS_RENAME_FSYNC_RANGE rump___sysimpl_fsync_range #endif @@ -277,6 +301,10 @@ #define RUMP_SYS_RENAME_GETRLIMIT rump___sysimpl_getrlimit #endif +#ifndef RUMP_SYS_RENAME_RENAMEAT +#define RUMP_SYS_RENAME_RENAMEAT rump___sysimpl_renameat +#endif + #ifndef RUMP_SYS_RENAME_FGETXATTR #define RUMP_SYS_RENAME_FGETXATTR rump___sysimpl_fgetxattr #endif @@ -353,6 +381,10 @@ #define RUMP_SYS_RENAME__KSEM_DESTROY rump___sysimpl__ksem_destroy #endif +#ifndef RUMP_SYS_RENAME_MKNODAT +#define RUMP_SYS_RENAME_MKNODAT rump___sysimpl_mknodat +#endif + #ifndef RUMP_SYS_RENAME_CHDIR #define RUMP_SYS_RENAME_CHDIR rump___sysimpl_chdir #endif @@ -421,6 +453,10 @@ #define RUMP_SYS_RENAME_LSEEK rump___sysimpl_lseek #endif +#ifndef RUMP_SYS_RENAME_MKFIFOAT +#define RUMP_SYS_RENAME_MKFIFOAT rump___sysimpl_mkfifoat +#endif + #ifndef RUMP_SYS_RENAME_EXTATTR_DELETE_FD #define RUMP_SYS_RENAME_EXTATTR_DELETE_FD rump___sysimpl_extattr_delete_fd #endif @@ -437,6 +473,10 @@ #define RUMP_SYS_RENAME__KSEM_WAIT rump___sysimpl__ksem_wait #endif +#ifndef RUMP_SYS_RENAME_FCHOWNAT +#define RUMP_SYS_RENAME_FCHOWNAT rump___sysimpl_fchownat +#endif + #ifndef RUMP_SYS_RENAME_SETUID #define RUMP_SYS_RENAME_SETUID rump___sysimpl_setuid #endif @@ -521,10 +561,18 @@ #define RUMP_SYS_RENAME_UTIMES rump___sysimpl_utimes50 #endif +#ifndef RUMP_SYS_RENAME_FCHMODAT +#define RUMP_SYS_RENAME_FCHMODAT rump___sysimpl_fchmodat +#endif + #ifndef RUMP_SYS_RENAME_SYNC #define RUMP_SYS_RENAME_SYNC rump___sysimpl_sync #endif +#ifndef RUMP_SYS_RENAME_UNLINKAT +#define RUMP_SYS_RENAME_UNLINKAT rump___sysimpl_unlinkat +#endif + #ifndef RUMP_SYS_RENAME_LLISTXATTR #define RUMP_SYS_RENAME_LLISTXATTR rump___sysimpl_llistxattr #endif @@ -573,6 +621,14 @@ #define RUMP_SYS_RENAME_SETREUID rump___sysimpl_setreuid #endif +#ifndef RUMP_SYS_RENAME_FSTATAT +#define RUMP_SYS_RENAME_FSTATAT rump___sysimpl_fstatat +#endif + +#ifndef RUMP_SYS_RENAME_LINKAT +#define RUMP_SYS_RENAME_LINKAT rump___sysimpl_linkat +#endif + #ifndef RUMP_SYS_RENAME_SOCKETPAIR #define RUMP_SYS_RENAME_SOCKETPAIR rump___sysimpl_socketpair #endif @@ -613,6 +669,10 @@ #define RUMP_SYS_RENAME_ACCEPT rump___sysimpl_accept #endif +#ifndef RUMP_SYS_RENAME_READLINKAT +#define RUMP_SYS_RENAME_READLINKAT rump___sysimpl_readlinkat +#endif + #ifndef RUMP_SYS_RENAME_GETXATTR #define RUMP_SYS_RENAME_GETXATTR rump___sysimpl_getxattr #endif @@ -808,6 +868,21 @@ int rump_sys_dup3(int, int, int) __RENAME(RUMP_SYS_RENAME_DUP3); int rump_sys_kqueue1(int) __RENAME(RUMP_SYS_RENAME_KQUEUE1); int rump_sys_paccept(int, struct sockaddr *, socklen_t *, const sigset_t *, int) __RENAME(RUMP_SYS_RENAME_PACCEPT); +int rump_sys_linkat(int, const char *, int, const char *, int) __RENAME(RUMP_SYS_RENAME_LINKAT); +int rump_sys_renameat(int, const char *, int, const char *) __RENAME(RUMP_SYS_RENAME_RENAMEAT); +int rump_sys_mkfifoat(int, const char *, mode_t) __RENAME(RUMP_SYS_RENAME_MKFIFOAT); +int rump_sys_mknodat(int, const char *, mode_t, uint32_t) __RENAME(RUMP_SYS_RENAME_MKNODAT); +int rump_sys_mkdirat(int, const char *, mode_t) __RENAME(RUMP_SYS_RENAME_MKDIRAT); +int rump_sys_faccessat(int, const char *, int, int) __RENAME(RUMP_SYS_RENAME_FACCESSAT); +int rump_sys_fchmodat(int, const char *, mode_t, int) __RENAME(RUMP_SYS_RENAME_FCHMODAT); +int rump_sys_fchownat(int, const char *, uid_t, gid_t, int) __RENAME(RUMP_SYS_RENAME_FCHOWNAT); +int rump_sys_fexecve(int, char *const *, char *const *) __RENAME(RUMP_SYS_RENAME_FEXECVE); +int rump_sys_fstatat(int, const char *, struct stat *, int) __RENAME(RUMP_SYS_RENAME_FSTATAT); +int rump_sys_utimensat(int, const char *, const struct timespec *, int) __RENAME(RUMP_SYS_RENAME_UTIMENSAT); +int rump_sys_openat(int, const char *, int, ...) __RENAME(RUMP_SYS_RENAME_OPENAT); +int rump_sys_readlinkat(int, const char *, char *, size_t) __RENAME(RUMP_SYS_RENAME_READLINKAT); +int rump_sys_symlinkat(const char *, int, const char *) __RENAME(RUMP_SYS_RENAME_SYMLINKAT); +int rump_sys_unlinkat(int, const char *, int) __RENAME(RUMP_SYS_RENAME_UNLINKAT); int rump_sys_pipe(int *); #endif /* _RUMP_RUMP_SYSCALLS_H_ */ Index: src/sys/rump/include/rump/rumpvnode_if.h diff -u src/sys/rump/include/rump/rumpvnode_if.h:1.11 src/sys/rump/include/rump/rumpvnode_if.h:1.12 --- src/sys/rump/include/rump/rumpvnode_if.h:1.11 Mon Jul 11 08:27:39 2011 +++ src/sys/rump/include/rump/rumpvnode_if.h Mon Aug 8 12:17:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpvnode_if.h,v 1.11 2011/07/11 08:27:39 hannken Exp $ */ +/* $NetBSD: rumpvnode_if.h,v 1.12 2011/08/08 12:17:28 manu Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated! Index: src/sys/rump/librump/rumpkern/rump_syscalls.c diff -u src/sys/rump/librump/rumpkern/rump_syscalls.c:1.73 src/sys/rump/librump/rumpkern/rump_syscalls.c:1.74 --- src/sys/rump/librump/rumpkern/rump_syscalls.c:1.73 Mon Jul 18 11:43:54 2011 +++ src/sys/rump/librump/rumpkern/rump_syscalls.c Mon Aug 8 12:17:28 2011 @@ -1,14 +1,14 @@ -/* $NetBSD: rump_syscalls.c,v 1.73 2011/07/18 11:43:54 drochner Exp $ */ +/* $NetBSD: rump_syscalls.c,v 1.74 2011/08/08 12:17:28 manu Exp $ */ /* * System call vector and marshalling for rump. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.250 2011/07/18 11:28:24 drochner Exp + * created from NetBSD: syscalls.master,v 1.251 2011/08/08 12:08:53 manu Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.73 2011/07/18 11:43:54 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.74 2011/08/08 12:17:28 manu Exp $"); #include <sys/param.h> #include <sys/fstypes.h> @@ -4121,6 +4121,393 @@ } rsys_alias(sys_paccept,rump_enosys) +int rump___sysimpl_linkat(int, const char *, int, const char *, int); +int +rump___sysimpl_linkat(int fd1, const char * name1, int fd2, const char * name2, int flags) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_linkat_args callarg; + + SPARG(&callarg, fd1) = fd1; + SPARG(&callarg, name1) = name1; + SPARG(&callarg, fd2) = fd2; + SPARG(&callarg, name2) = name2; + SPARG(&callarg, flags) = flags; + + error = rsys_syscall(SYS_linkat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_linkat,rump_enosys) + +int rump___sysimpl_renameat(int, const char *, int, const char *); +int +rump___sysimpl_renameat(int fromfd, const char * from, int tofd, const char * to) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_renameat_args callarg; + + SPARG(&callarg, fromfd) = fromfd; + SPARG(&callarg, from) = from; + SPARG(&callarg, tofd) = tofd; + SPARG(&callarg, to) = to; + + error = rsys_syscall(SYS_renameat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_renameat,rump_enosys) + +int rump___sysimpl_mkfifoat(int, const char *, mode_t); +int +rump___sysimpl_mkfifoat(int fd, const char * path, mode_t mode) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_mkfifoat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, mode) = mode; + + error = rsys_syscall(SYS_mkfifoat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_mkfifoat,rump_enosys) + +int rump___sysimpl_mknodat(int, const char *, mode_t, uint32_t); +int +rump___sysimpl_mknodat(int fd, const char * path, mode_t mode, uint32_t dev) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_mknodat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, mode) = mode; + SPARG(&callarg, dev) = dev; + + error = rsys_syscall(SYS_mknodat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_mknodat,rump_enosys) + +int rump___sysimpl_mkdirat(int, const char *, mode_t); +int +rump___sysimpl_mkdirat(int fd, const char * path, mode_t mode) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_mkdirat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, mode) = mode; + + error = rsys_syscall(SYS_mkdirat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_mkdirat,rump_enosys) + +int rump___sysimpl_faccessat(int, const char *, int, int); +int +rump___sysimpl_faccessat(int fd, const char * path, int amode, int flag) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_faccessat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, amode) = amode; + SPARG(&callarg, flag) = flag; + + error = rsys_syscall(SYS_faccessat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_faccessat,rump_enosys) + +int rump___sysimpl_fchmodat(int, const char *, mode_t, int); +int +rump___sysimpl_fchmodat(int fd, const char * path, mode_t mode, int flag) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_fchmodat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, mode) = mode; + SPARG(&callarg, flag) = flag; + + error = rsys_syscall(SYS_fchmodat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_fchmodat,rump_enosys) + +int rump___sysimpl_fchownat(int, const char *, uid_t, gid_t, int); +int +rump___sysimpl_fchownat(int fd, const char * path, uid_t owner, gid_t group, int flag) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_fchownat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, owner) = owner; + SPARG(&callarg, group) = group; + SPARG(&callarg, flag) = flag; + + error = rsys_syscall(SYS_fchownat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_fchownat,rump_enosys) + +int rump___sysimpl_fexecve(int, char *const *, char *const *); +int +rump___sysimpl_fexecve(int fd, char *const * argp, char *const * envp) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_fexecve_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, argp) = argp; + SPARG(&callarg, envp) = envp; + + error = rsys_syscall(SYS_fexecve, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_fexecve,rump_enosys) + +int rump___sysimpl_fstatat(int, const char *, struct stat *, int); +int +rump___sysimpl_fstatat(int fd, const char * path, struct stat * buf, int flag) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_fstatat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, buf) = buf; + SPARG(&callarg, flag) = flag; + + error = rsys_syscall(SYS_fstatat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_fstatat,rump_enosys) + +int rump___sysimpl_utimensat(int, const char *, const struct timespec *, int); +int +rump___sysimpl_utimensat(int fd, const char * path, const struct timespec * tptr, int flag) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_utimensat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, tptr) = tptr; + SPARG(&callarg, flag) = flag; + + error = rsys_syscall(SYS_utimensat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_utimensat,rump_enosys) + +int rump___sysimpl_openat(int, const char *, int, mode_t); +int +rump___sysimpl_openat(int fd, const char * path, int oflags, mode_t mode) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_openat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, oflags) = oflags; + SPARG(&callarg, mode) = mode; + + error = rsys_syscall(SYS_openat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_openat,rump_enosys) + +int rump___sysimpl_readlinkat(int, const char *, char *, size_t); +int +rump___sysimpl_readlinkat(int fd, const char * path, char * buf, size_t bufsize) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_readlinkat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, buf) = buf; + SPARG(&callarg, bufsize) = bufsize; + + error = rsys_syscall(SYS_readlinkat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_readlinkat,rump_enosys) + +int rump___sysimpl_symlinkat(const char *, int, const char *); +int +rump___sysimpl_symlinkat(const char * path1, int fd, const char * path2) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_symlinkat_args callarg; + + SPARG(&callarg, path1) = path1; + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path2) = path2; + + error = rsys_syscall(SYS_symlinkat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_symlinkat,rump_enosys) + +int rump___sysimpl_unlinkat(int, const char *, int); +int +rump___sysimpl_unlinkat(int fd, const char * path, int flag) +{ + register_t retval[2] = {0, 0}; + int error = 0; + int rv = -1; + struct sys_unlinkat_args callarg; + + SPARG(&callarg, fd) = fd; + SPARG(&callarg, path) = path; + SPARG(&callarg, flag) = flag; + + error = rsys_syscall(SYS_unlinkat, &callarg, sizeof(callarg), retval); + rsys_seterrno(error); + if (error == 0) { + if (sizeof(int) > sizeof(register_t)) + rv = *(int *)retval; + else + rv = *retval; + } + return rv; +} +rsys_alias(sys_unlinkat,rump_enosys) + int rump_sys_pipe(int *); int rump_sys_pipe(int *fd) @@ -5146,36 +5533,36 @@ (sy_call_t *)sys_kqueue1 }, /* 455 = kqueue1 */ { ns(struct sys_paccept_args), 0, (sy_call_t *)sys_paccept }, /* 456 = paccept */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 457 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 458 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 459 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 460 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 461 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 462 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 463 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 464 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 465 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 466 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 467 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 468 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 469 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 470 = filler */ - { 0, 0, SYCALL_NOSYS, - (sy_call_t *)rump_enosys }, /* 471 = filler */ + { ns(struct sys_linkat_args), 0, + (sy_call_t *)sys_linkat }, /* 457 = linkat */ + { ns(struct sys_renameat_args), 0, + (sy_call_t *)sys_renameat }, /* 458 = renameat */ + { ns(struct sys_mkfifoat_args), 0, + (sy_call_t *)sys_mkfifoat }, /* 459 = mkfifoat */ + { ns(struct sys_mknodat_args), 0, + (sy_call_t *)sys_mknodat }, /* 460 = mknodat */ + { ns(struct sys_mkdirat_args), 0, + (sy_call_t *)sys_mkdirat }, /* 461 = mkdirat */ + { ns(struct sys_faccessat_args), 0, + (sy_call_t *)sys_faccessat }, /* 462 = faccessat */ + { ns(struct sys_fchmodat_args), 0, + (sy_call_t *)sys_fchmodat }, /* 463 = fchmodat */ + { ns(struct sys_fchownat_args), 0, + (sy_call_t *)sys_fchownat }, /* 464 = fchownat */ + { ns(struct sys_fexecve_args), 0, + (sy_call_t *)sys_fexecve }, /* 465 = fexecve */ + { ns(struct sys_fstatat_args), 0, + (sy_call_t *)sys_fstatat }, /* 466 = fstatat */ + { ns(struct sys_utimensat_args), 0, + (sy_call_t *)sys_utimensat }, /* 467 = utimensat */ + { ns(struct sys_openat_args), 0, + (sy_call_t *)sys_openat }, /* 468 = openat */ + { ns(struct sys_readlinkat_args), 0, + (sy_call_t *)sys_readlinkat }, /* 469 = readlinkat */ + { ns(struct sys_symlinkat_args), 0, + (sy_call_t *)sys_symlinkat }, /* 470 = symlinkat */ + { ns(struct sys_unlinkat_args), 0, + (sy_call_t *)sys_unlinkat }, /* 471 = unlinkat */ { 0, 0, SYCALL_NOSYS, (sy_call_t *)rump_enosys }, /* 472 = filler */ { 0, 0, SYCALL_NOSYS, Index: src/sys/rump/librump/rumpvfs/rumpvnode_if.c diff -u src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.10 src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.11 --- src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.10 Mon Jul 11 08:27:39 2011 +++ src/sys/rump/librump/rumpvfs/rumpvnode_if.c Mon Aug 8 12:17:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpvnode_if.c,v 1.10 2011/07/11 08:27:39 hannken Exp $ */ +/* $NetBSD: rumpvnode_if.c,v 1.11 2011/08/08 12:17:28 manu Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated! @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.10 2011/07/11 08:27:39 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.11 2011/08/08 12:17:28 manu Exp $"); #include <sys/param.h> #include <sys/mount.h> Index: src/sys/sys/syscall.h diff -u src/sys/sys/syscall.h:1.243 src/sys/sys/syscall.h:1.244 --- src/sys/sys/syscall.h:1.243 Mon Jul 18 11:43:54 2011 +++ src/sys/sys/syscall.h Mon Aug 8 12:17:27 2011 @@ -1,10 +1,10 @@ -/* $NetBSD: syscall.h,v 1.243 2011/07/18 11:43:54 drochner Exp $ */ +/* $NetBSD: syscall.h,v 1.244 2011/08/08 12:17:27 manu Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.250 2011/07/18 11:28:24 drochner Exp + * created from NetBSD: syscalls.master,v 1.251 2011/08/08 12:08:53 manu Exp */ #ifndef _SYS_SYSCALL_H_ @@ -1294,6 +1294,51 @@ /* syscall: "paccept" ret: "int" args: "int" "struct sockaddr *" "socklen_t *" "const sigset_t *" "int" */ #define SYS_paccept 456 -#define SYS_MAXSYSCALL 457 +/* syscall: "linkat" ret: "int" args: "int" "const char *" "int" "const char *" "int" */ +#define SYS_linkat 457 + +/* syscall: "renameat" ret: "int" args: "int" "const char *" "int" "const char *" */ +#define SYS_renameat 458 + +/* syscall: "mkfifoat" ret: "int" args: "int" "const char *" "mode_t" */ +#define SYS_mkfifoat 459 + +/* syscall: "mknodat" ret: "int" args: "int" "const char *" "mode_t" "uint32_t" */ +#define SYS_mknodat 460 + +/* syscall: "mkdirat" ret: "int" args: "int" "const char *" "mode_t" */ +#define SYS_mkdirat 461 + +/* syscall: "faccessat" ret: "int" args: "int" "const char *" "int" "int" */ +#define SYS_faccessat 462 + +/* syscall: "fchmodat" ret: "int" args: "int" "const char *" "mode_t" "int" */ +#define SYS_fchmodat 463 + +/* syscall: "fchownat" ret: "int" args: "int" "const char *" "uid_t" "gid_t" "int" */ +#define SYS_fchownat 464 + +/* syscall: "fexecve" ret: "int" args: "int" "char *const *" "char *const *" */ +#define SYS_fexecve 465 + +/* syscall: "fstatat" ret: "int" args: "int" "const char *" "struct stat *" "int" */ +#define SYS_fstatat 466 + +/* syscall: "utimensat" ret: "int" args: "int" "const char *" "const struct timespec *" "int" */ +#define SYS_utimensat 467 + +/* syscall: "openat" ret: "int" args: "int" "const char *" "int" "..." */ +#define SYS_openat 468 + +/* syscall: "readlinkat" ret: "int" args: "int" "const char *" "char *" "size_t" */ +#define SYS_readlinkat 469 + +/* syscall: "symlinkat" ret: "int" args: "const char *" "int" "const char *" */ +#define SYS_symlinkat 470 + +/* syscall: "unlinkat" ret: "int" args: "int" "const char *" "int" */ +#define SYS_unlinkat 471 + +#define SYS_MAXSYSCALL 472 #define SYS_NSYSENT 512 #endif /* _SYS_SYSCALL_H_ */ Index: src/sys/sys/syscallargs.h diff -u src/sys/sys/syscallargs.h:1.226 src/sys/sys/syscallargs.h:1.227 --- src/sys/sys/syscallargs.h:1.226 Mon Jul 18 11:43:54 2011 +++ src/sys/sys/syscallargs.h Mon Aug 8 12:17:27 2011 @@ -1,10 +1,10 @@ -/* $NetBSD: syscallargs.h,v 1.226 2011/07/18 11:43:54 drochner Exp $ */ +/* $NetBSD: syscallargs.h,v 1.227 2011/08/08 12:17:27 manu Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.250 2011/07/18 11:28:24 drochner Exp + * created from NetBSD: syscalls.master,v 1.251 2011/08/08 12:08:53 manu Exp */ #ifndef _SYS_SYSCALLARGS_H_ @@ -2565,6 +2565,123 @@ }; check_syscall_args(sys_paccept) +struct sys_linkat_args { + syscallarg(int) fd1; + syscallarg(const char *) name1; + syscallarg(int) fd2; + syscallarg(const char *) name2; + syscallarg(int) flags; +}; +check_syscall_args(sys_linkat) + +struct sys_renameat_args { + syscallarg(int) fromfd; + syscallarg(const char *) from; + syscallarg(int) tofd; + syscallarg(const char *) to; +}; +check_syscall_args(sys_renameat) + +struct sys_mkfifoat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(mode_t) mode; +}; +check_syscall_args(sys_mkfifoat) + +struct sys_mknodat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(mode_t) mode; + syscallarg(uint32_t) dev; +}; +check_syscall_args(sys_mknodat) + +struct sys_mkdirat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(mode_t) mode; +}; +check_syscall_args(sys_mkdirat) + +struct sys_faccessat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(int) amode; + syscallarg(int) flag; +}; +check_syscall_args(sys_faccessat) + +struct sys_fchmodat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(mode_t) mode; + syscallarg(int) flag; +}; +check_syscall_args(sys_fchmodat) + +struct sys_fchownat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(uid_t) owner; + syscallarg(gid_t) group; + syscallarg(int) flag; +}; +check_syscall_args(sys_fchownat) + +struct sys_fexecve_args { + syscallarg(int) fd; + syscallarg(char *const *) argp; + syscallarg(char *const *) envp; +}; +check_syscall_args(sys_fexecve) + +struct sys_fstatat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(struct stat *) buf; + syscallarg(int) flag; +}; +check_syscall_args(sys_fstatat) + +struct sys_utimensat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(const struct timespec *) tptr; + syscallarg(int) flag; +}; +check_syscall_args(sys_utimensat) + +struct sys_openat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(int) oflags; + syscallarg(mode_t) mode; +}; +check_syscall_args(sys_openat) + +struct sys_readlinkat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(char *) buf; + syscallarg(size_t) bufsize; +}; +check_syscall_args(sys_readlinkat) + +struct sys_symlinkat_args { + syscallarg(const char *) path1; + syscallarg(int) fd; + syscallarg(const char *) path2; +}; +check_syscall_args(sys_symlinkat) + +struct sys_unlinkat_args { + syscallarg(int) fd; + syscallarg(const char *) path; + syscallarg(int) flag; +}; +check_syscall_args(sys_unlinkat) + /* * System call prototypes. */ @@ -3415,4 +3532,34 @@ int sys_paccept(struct lwp *, const struct sys_paccept_args *, register_t *); +int sys_linkat(struct lwp *, const struct sys_linkat_args *, register_t *); + +int sys_renameat(struct lwp *, const struct sys_renameat_args *, register_t *); + +int sys_mkfifoat(struct lwp *, const struct sys_mkfifoat_args *, register_t *); + +int sys_mknodat(struct lwp *, const struct sys_mknodat_args *, register_t *); + +int sys_mkdirat(struct lwp *, const struct sys_mkdirat_args *, register_t *); + +int sys_faccessat(struct lwp *, const struct sys_faccessat_args *, register_t *); + +int sys_fchmodat(struct lwp *, const struct sys_fchmodat_args *, register_t *); + +int sys_fchownat(struct lwp *, const struct sys_fchownat_args *, register_t *); + +int sys_fexecve(struct lwp *, const struct sys_fexecve_args *, register_t *); + +int sys_fstatat(struct lwp *, const struct sys_fstatat_args *, register_t *); + +int sys_utimensat(struct lwp *, const struct sys_utimensat_args *, register_t *); + +int sys_openat(struct lwp *, const struct sys_openat_args *, register_t *); + +int sys_readlinkat(struct lwp *, const struct sys_readlinkat_args *, register_t *); + +int sys_symlinkat(struct lwp *, const struct sys_symlinkat_args *, register_t *); + +int sys_unlinkat(struct lwp *, const struct sys_unlinkat_args *, register_t *); + #endif /* _SYS_SYSCALLARGS_H_ */ Index: src/sys/sys/vnode_if.h diff -u src/sys/sys/vnode_if.h:1.82 src/sys/sys/vnode_if.h:1.83 --- src/sys/sys/vnode_if.h:1.82 Mon Jul 11 08:27:39 2011 +++ src/sys/sys/vnode_if.h Mon Aug 8 12:17:27 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: vnode_if.h,v 1.82 2011/07/11 08:27:39 hannken Exp $ */ +/* $NetBSD: vnode_if.h,v 1.83 2011/08/08 12:17:27 manu Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated!