Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/tls-maxphys]: src/sys/rump/kern/lib/libsys_linux support utimes on non-a...



details:   https://anonhg.NetBSD.org/src/rev/ded8b68d97e0
branches:  tls-maxphys
changeset: 852972:ded8b68d97e0
user:      pooka <pooka%NetBSD.org@localhost>
date:      Mon Apr 08 20:54:48 2013 +0000

description:
support utimes on non-alpha linux platforms

diffstat:

 sys/rump/kern/lib/libsys_linux/syscalls.master |  607 +++++++++++++++++++++++++
 1 files changed, 607 insertions(+), 0 deletions(-)

diffs (truncated from 611 to 300 lines):

diff -r 345d1f135c85 -r ded8b68d97e0 sys/rump/kern/lib/libsys_linux/syscalls.master
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/rump/kern/lib/libsys_linux/syscalls.master    Mon Apr 08 20:54:48 2013 +0000
@@ -0,0 +1,607 @@
+       $NetBSD: syscalls.master,v 1.4.4.2 2013/04/08 20:54:48 pooka 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 "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      NODEF           { 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     NODEF           { 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     NODEF           { ssize_t|linux_sys||recvmsg(int s, \
+                           struct linux_msghdr *msg, int flags); }
+28     NODEF           { ssize_t|linux_sys||sendmsg(int s, \
+                           const struct linux_msghdr *msg, int flags); }
+29     NODEF           { ssize_t|linux_sys||recvfrom(int s, void *buf, \
+                           int len, int flags, struct osockaddr *from, \
+                           int *fromlenaddr); }
+30     NODEF           { int|linux_sys||accept(int s, struct osockaddr *name, \
+                           int *anamelen); }
+31     NODEF           { int|linux_sys||getpeername(int fdes, \
+                           struct osockaddr *asa, int *alen); }
+32     NODEF           { 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     NODEF           { 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     NODEF           { 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     NODEF           { 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    NODEF           { int|linux_sys||bind(int s, \
+                           const struct osockaddr *name, unsigned namelen); }
+105    NODEF           { 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    NODEF           { 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    NODEF           { 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    NODEF           { 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    NODEF           { ssize_t|linux_sys||pread(int fd, char *buf, \
+                           size_t nbyte, int PAD, linux_off_t offset); }
+174    NODEF           { ssize_t|linux_sys||pwrite(int fd, char *buf, \
+                           size_t nbyte, int PAD, linux_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    NODEF           { int|linux_sys||getrlimit(int which, \
+                           struct orlimit *rlp); }
+195    NODEF           { 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, \



Home | Main Index | Thread Index | Old Index