PERFORCE change 122619 for review
Peter Wemm
peter at FreeBSD.org
Sun Jul 1 08:10:07 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=122619
Change 122619 by peter at peter_overcee on 2007/07/01 08:09:42
Try things a little differently. Expose compat syscall numbers to
syscall.h for libc pseudo wrappers.
Affected files ...
.. //depot/projects/hammer/sys/kern/init_sysent.c#60 edit
.. //depot/projects/hammer/sys/kern/makesyscalls.sh#9 edit
.. //depot/projects/hammer/sys/kern/syscalls.c#58 edit
.. //depot/projects/hammer/sys/kern/syscalls.master#59 edit
.. //depot/projects/hammer/sys/kern/systrace_args.c#4 edit
.. //depot/projects/hammer/sys/sys/syscall.h#57 edit
.. //depot/projects/hammer/sys/sys/syscall.mk#57 edit
.. //depot/projects/hammer/sys/sys/sysproto.h#58 edit
Differences ...
==== //depot/projects/hammer/sys/kern/init_sysent.c#60 (text+ko) ====
@@ -27,6 +27,12 @@
#define compat4(n, name) 0, (sy_call_t *)nosys
#endif
+#ifdef COMPAT_FREEBSD6
+#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name)
+#else
+#define compat6(n, name) 0, (sy_call_t *)nosys
+#endif
+
/* The casts are bogus but will do for now. */
struct sysent sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = syscall */
@@ -202,8 +208,8 @@
{ AS(msgsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 170 = msgsys */
{ AS(shmsys_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0 }, /* 171 = shmsys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 172 = nosys */
- { AS(pread_args), (sy_call_t *)pread, AUE_PREAD, NULL, 0, 0 }, /* 173 = pread */
- { AS(pwrite_args), (sy_call_t *)pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 174 = pwrite */
+ { compat6(AS(freebsd6_pread_args),pread), AUE_PREAD, NULL, 0, 0 }, /* 173 = old pread */
+ { compat6(AS(freebsd6_pwrite_args),pwrite), AUE_PWRITE, NULL, 0, 0 }, /* 174 = old pwrite */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 175 = nosys */
{ AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0 }, /* 176 = ntp_adjtime */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 177 = sfork */
@@ -226,11 +232,11 @@
{ AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0 }, /* 194 = getrlimit */
{ AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0 }, /* 195 = setrlimit */
{ AS(getdirentries_args), (sy_call_t *)getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0 }, /* 196 = getdirentries */
- { AS(mmap_args), (sy_call_t *)mmap, AUE_MMAP, NULL, 0, 0 }, /* 197 = mmap */
+ { compat6(AS(freebsd6_mmap_args),mmap), AUE_MMAP, NULL, 0, 0 }, /* 197 = old mmap */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 198 = __syscall */
- { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 199 = lseek */
- { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = truncate */
- { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = ftruncate */
+ { compat6(AS(freebsd6_lseek_args),lseek), AUE_LSEEK, NULL, 0, 0 }, /* 199 = old lseek */
+ { compat6(AS(freebsd6_truncate_args),truncate), AUE_TRUNCATE, NULL, 0, 0 }, /* 200 = old truncate */
+ { compat6(AS(freebsd6_ftruncate_args),ftruncate), AUE_FTRUNCATE, NULL, 0, 0 }, /* 201 = old ftruncate */
{ AS(sysctl_args), (sy_call_t *)__sysctl, AUE_SYSCTL, NULL, 0, 0 }, /* 202 = __sysctl */
{ AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0 }, /* 203 = mlock */
{ AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0 }, /* 204 = munlock */
@@ -504,10 +510,10 @@
{ AS(sctp_generic_sendmsg_args), (sy_call_t *)sctp_generic_sendmsg, AUE_NULL, NULL, 0, 0 }, /* 472 = sctp_generic_sendmsg */
{ AS(sctp_generic_sendmsg_iov_args), (sy_call_t *)sctp_generic_sendmsg_iov, AUE_NULL, NULL, 0, 0 }, /* 473 = sctp_generic_sendmsg_iov */
{ AS(sctp_generic_recvmsg_args), (sy_call_t *)sctp_generic_recvmsg, AUE_NULL, NULL, 0, 0 }, /* 474 = sctp_generic_recvmsg */
- { AS(_new_pread_args), (sy_call_t *)_new_pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = _new_pread */
- { AS(_new_pwrite_args), (sy_call_t *)_new_pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = _new_pwrite */
- { AS(_new_mmap_args), (sy_call_t *)_new_mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = _new_mmap */
- { AS(_new_lseek_args), (sy_call_t *)_new_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = _new_lseek */
- { AS(_new_truncate_args), (sy_call_t *)_new_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = _new_truncate */
- { AS(_new_ftruncate_args), (sy_call_t *)_new_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = _new_ftruncate */
+ { AS(pread_args), (sy_call_t *)pread, AUE_PREAD, NULL, 0, 0 }, /* 475 = pread */
+ { AS(pwrite_args), (sy_call_t *)pwrite, AUE_PWRITE, NULL, 0, 0 }, /* 476 = pwrite */
+ { AS(mmap_args), (sy_call_t *)mmap, AUE_MMAP, NULL, 0, 0 }, /* 477 = mmap */
+ { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = lseek */
+ { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = truncate */
+ { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = ftruncate */
};
==== //depot/projects/hammer/sys/kern/makesyscalls.sh#9 (text+ko) ====
@@ -430,10 +430,16 @@
align_sysent_comment(8 + 9 + \
length(argssize) + 1 + length(funcname) + length(auditev) + 4)
printf("/* %d = old %s */\n", syscall, funcalias) > sysent
- printf("\t\"old.%s\",\t\t/* %d = old %s */\n",
- funcalias, syscall, funcalias) > sysnames
- printf("\t\t\t\t/* %d is old %s */\n",
- syscall, funcalias) > syshdr
+ printf("\t\"%s.%s\",\t\t/* %d = old %s */\n",
+ wrap, funcalias, syscall, funcalias) > sysnames
+ if ($3 == "COMPAT" || $3 == "CPT_NOA") {
+ printf("\t\t\t\t/* %d is old %s */\n",
+ syscall, funcalias) > syshdr
+ } else {
+ printf("#define\t%s%s%s\t%d\n", syscallprefix,
+ prefix, funcalias, syscall) > syshdr
+ printf(" \\\n\t%s%s.o", prefix, funcalias) > sysmk
+ }
syscall++
next
}
==== //depot/projects/hammer/sys/kern/syscalls.c#58 (text+ko) ====
@@ -15,7 +15,7 @@
"open", /* 5 = open */
"close", /* 6 = close */
"wait4", /* 7 = wait4 */
- "old.creat", /* 8 = old creat */
+ "compat.creat", /* 8 = old creat */
"link", /* 9 = link */
"unlink", /* 10 = unlink */
"obs_execv", /* 11 = obsolete execv */
@@ -25,8 +25,8 @@
"chmod", /* 15 = chmod */
"chown", /* 16 = chown */
"break", /* 17 = break */
- "old.getfsstat", /* 18 = old getfsstat */
- "old.lseek", /* 19 = old lseek */
+ "compat4.getfsstat", /* 18 = old getfsstat */
+ "compat.lseek", /* 19 = old lseek */
"getpid", /* 20 = getpid */
"mount", /* 21 = mount */
"unmount", /* 22 = unmount */
@@ -45,21 +45,21 @@
"fchflags", /* 35 = fchflags */
"sync", /* 36 = sync */
"kill", /* 37 = kill */
- "old.stat", /* 38 = old stat */
+ "compat.stat", /* 38 = old stat */
"getppid", /* 39 = getppid */
- "old.lstat", /* 40 = old lstat */
+ "compat.lstat", /* 40 = old lstat */
"dup", /* 41 = dup */
"pipe", /* 42 = pipe */
"getegid", /* 43 = getegid */
"profil", /* 44 = profil */
"ktrace", /* 45 = ktrace */
- "old.sigaction", /* 46 = old sigaction */
+ "compat.sigaction", /* 46 = old sigaction */
"getgid", /* 47 = getgid */
- "old.sigprocmask", /* 48 = old sigprocmask */
+ "compat.sigprocmask", /* 48 = old sigprocmask */
"getlogin", /* 49 = getlogin */
"setlogin", /* 50 = setlogin */
"acct", /* 51 = acct */
- "old.sigpending", /* 52 = old sigpending */
+ "compat.sigpending", /* 52 = old sigpending */
"sigaltstack", /* 53 = sigaltstack */
"ioctl", /* 54 = ioctl */
"reboot", /* 55 = reboot */
@@ -69,16 +69,16 @@
"execve", /* 59 = execve */
"umask", /* 60 = umask */
"chroot", /* 61 = chroot */
- "old.fstat", /* 62 = old fstat */
- "old.getkerninfo", /* 63 = old getkerninfo */
- "old.getpagesize", /* 64 = old getpagesize */
+ "compat.fstat", /* 62 = old fstat */
+ "compat.getkerninfo", /* 63 = old getkerninfo */
+ "compat.getpagesize", /* 64 = old getpagesize */
"msync", /* 65 = msync */
"vfork", /* 66 = vfork */
"obs_vread", /* 67 = obsolete vread */
"obs_vwrite", /* 68 = obsolete vwrite */
"sbrk", /* 69 = sbrk */
"sstk", /* 70 = sstk */
- "old.mmap", /* 71 = old mmap */
+ "compat.mmap", /* 71 = old mmap */
"vadvise", /* 72 = vadvise */
"munmap", /* 73 = munmap */
"mprotect", /* 74 = mprotect */
@@ -91,11 +91,11 @@
"getpgrp", /* 81 = getpgrp */
"setpgid", /* 82 = setpgid */
"setitimer", /* 83 = setitimer */
- "old.wait", /* 84 = old wait */
+ "compat.wait", /* 84 = old wait */
"swapon", /* 85 = swapon */
"getitimer", /* 86 = getitimer */
- "old.gethostname", /* 87 = old gethostname */
- "old.sethostname", /* 88 = old sethostname */
+ "compat.gethostname", /* 87 = old gethostname */
+ "compat.sethostname", /* 88 = old sethostname */
"getdtablesize", /* 89 = getdtablesize */
"dup2", /* 90 = dup2 */
"#91", /* 91 = getdopt */
@@ -106,22 +106,22 @@
"setpriority", /* 96 = setpriority */
"socket", /* 97 = socket */
"connect", /* 98 = connect */
- "old.accept", /* 99 = old accept */
+ "compat.accept", /* 99 = old accept */
"getpriority", /* 100 = getpriority */
- "old.send", /* 101 = old send */
- "old.recv", /* 102 = old recv */
- "old.sigreturn", /* 103 = old sigreturn */
+ "compat.send", /* 101 = old send */
+ "compat.recv", /* 102 = old recv */
+ "compat.sigreturn", /* 103 = old sigreturn */
"bind", /* 104 = bind */
"setsockopt", /* 105 = setsockopt */
"listen", /* 106 = listen */
"obs_vtimes", /* 107 = obsolete vtimes */
- "old.sigvec", /* 108 = old sigvec */
- "old.sigblock", /* 109 = old sigblock */
- "old.sigsetmask", /* 110 = old sigsetmask */
- "old.sigsuspend", /* 111 = old sigsuspend */
- "old.sigstack", /* 112 = old sigstack */
- "old.recvmsg", /* 113 = old recvmsg */
- "old.sendmsg", /* 114 = old sendmsg */
+ "compat.sigvec", /* 108 = old sigvec */
+ "compat.sigblock", /* 109 = old sigblock */
+ "compat.sigsetmask", /* 110 = old sigsetmask */
+ "compat.sigsuspend", /* 111 = old sigsuspend */
+ "compat.sigstack", /* 112 = old sigstack */
+ "compat.recvmsg", /* 113 = old recvmsg */
+ "compat.sendmsg", /* 114 = old sendmsg */
"obs_vtrace", /* 115 = obsolete vtrace */
"gettimeofday", /* 116 = gettimeofday */
"getrusage", /* 117 = getrusage */
@@ -132,12 +132,12 @@
"settimeofday", /* 122 = settimeofday */
"fchown", /* 123 = fchown */
"fchmod", /* 124 = fchmod */
- "old.recvfrom", /* 125 = old recvfrom */
+ "compat.recvfrom", /* 125 = old recvfrom */
"setreuid", /* 126 = setreuid */
"setregid", /* 127 = setregid */
"rename", /* 128 = rename */
- "old.truncate", /* 129 = old truncate */
- "old.ftruncate", /* 130 = old ftruncate */
+ "compat.truncate", /* 129 = old truncate */
+ "compat.ftruncate", /* 130 = old ftruncate */
"flock", /* 131 = flock */
"mkfifo", /* 132 = mkfifo */
"sendto", /* 133 = sendto */
@@ -148,24 +148,24 @@
"utimes", /* 138 = utimes */
"obs_4.2", /* 139 = obsolete 4.2 sigreturn */
"adjtime", /* 140 = adjtime */
- "old.getpeername", /* 141 = old getpeername */
- "old.gethostid", /* 142 = old gethostid */
- "old.sethostid", /* 143 = old sethostid */
- "old.getrlimit", /* 144 = old getrlimit */
- "old.setrlimit", /* 145 = old setrlimit */
- "old.killpg", /* 146 = old killpg */
+ "compat.getpeername", /* 141 = old getpeername */
+ "compat.gethostid", /* 142 = old gethostid */
+ "compat.sethostid", /* 143 = old sethostid */
+ "compat.getrlimit", /* 144 = old getrlimit */
+ "compat.setrlimit", /* 145 = old setrlimit */
+ "compat.killpg", /* 146 = old killpg */
"setsid", /* 147 = setsid */
"quotactl", /* 148 = quotactl */
- "old.quota", /* 149 = old quota */
- "old.getsockname", /* 150 = old getsockname */
+ "compat.quota", /* 149 = old quota */
+ "compat.getsockname", /* 150 = old getsockname */
"#151", /* 151 = sem_lock */
"#152", /* 152 = sem_wakeup */
"#153", /* 153 = asyncdaemon */
"#154", /* 154 = nosys */
"nfssvc", /* 155 = nfssvc */
- "old.getdirentries", /* 156 = old getdirentries */
- "old.statfs", /* 157 = old statfs */
- "old.fstatfs", /* 158 = old fstatfs */
+ "compat.getdirentries", /* 156 = old getdirentries */
+ "compat4.statfs", /* 157 = old statfs */
+ "compat4.fstatfs", /* 158 = old fstatfs */
"#159", /* 159 = nosys */
"lgetfh", /* 160 = lgetfh */
"getfh", /* 161 = getfh */
@@ -180,8 +180,8 @@
"msgsys", /* 170 = msgsys */
"shmsys", /* 171 = shmsys */
"#172", /* 172 = nosys */
- "pread", /* 173 = pread */
- "pwrite", /* 174 = pwrite */
+ "compat6.pread", /* 173 = old pread */
+ "compat6.pwrite", /* 174 = old pwrite */
"#175", /* 175 = nosys */
"ntp_adjtime", /* 176 = ntp_adjtime */
"#177", /* 177 = sfork */
@@ -204,11 +204,11 @@
"getrlimit", /* 194 = getrlimit */
"setrlimit", /* 195 = setrlimit */
"getdirentries", /* 196 = getdirentries */
- "mmap", /* 197 = mmap */
+ "compat6.mmap", /* 197 = old mmap */
"__syscall", /* 198 = __syscall */
- "lseek", /* 199 = lseek */
- "truncate", /* 200 = truncate */
- "ftruncate", /* 201 = ftruncate */
+ "compat6.lseek", /* 199 = old lseek */
+ "compat6.truncate", /* 200 = old truncate */
+ "compat6.ftruncate", /* 201 = old ftruncate */
"__sysctl", /* 202 = __sysctl */
"mlock", /* 203 = mlock */
"munlock", /* 204 = munlock */
@@ -304,7 +304,7 @@
"#294", /* 294 = nosys */
"#295", /* 295 = nosys */
"#296", /* 296 = nosys */
- "old.fhstatfs", /* 297 = old fhstatfs */
+ "compat4.fhstatfs", /* 297 = old fhstatfs */
"fhopen", /* 298 = fhopen */
"fhstat", /* 299 = fhstat */
"modnext", /* 300 = modnext */
@@ -343,15 +343,15 @@
"sched_get_priority_min", /* 333 = sched_get_priority_min */
"sched_rr_get_interval", /* 334 = sched_rr_get_interval */
"utrace", /* 335 = utrace */
- "old.sendfile", /* 336 = old sendfile */
+ "compat4.sendfile", /* 336 = old sendfile */
"kldsym", /* 337 = kldsym */
"jail", /* 338 = jail */
"#339", /* 339 = pioctl */
"sigprocmask", /* 340 = sigprocmask */
"sigsuspend", /* 341 = sigsuspend */
- "old.sigaction", /* 342 = old sigaction */
+ "compat4.sigaction", /* 342 = old sigaction */
"sigpending", /* 343 = sigpending */
- "old.sigreturn", /* 344 = old sigreturn */
+ "compat4.sigreturn", /* 344 = old sigreturn */
"sigtimedwait", /* 345 = sigtimedwait */
"sigwaitinfo", /* 346 = sigwaitinfo */
"__acl_get_file", /* 347 = __acl_get_file */
@@ -482,10 +482,10 @@
"sctp_generic_sendmsg", /* 472 = sctp_generic_sendmsg */
"sctp_generic_sendmsg_iov", /* 473 = sctp_generic_sendmsg_iov */
"sctp_generic_recvmsg", /* 474 = sctp_generic_recvmsg */
- "_new_pread", /* 475 = _new_pread */
- "_new_pwrite", /* 476 = _new_pwrite */
- "_new_mmap", /* 477 = _new_mmap */
- "_new_lseek", /* 478 = _new_lseek */
- "_new_truncate", /* 479 = _new_truncate */
- "_new_ftruncate", /* 480 = _new_ftruncate */
+ "pread", /* 475 = pread */
+ "pwrite", /* 476 = pwrite */
+ "mmap", /* 477 = mmap */
+ "lseek", /* 478 = lseek */
+ "truncate", /* 479 = truncate */
+ "ftruncate", /* 480 = ftruncate */
};
==== //depot/projects/hammer/sys/kern/syscalls.master#59 (text+ko) ====
@@ -334,9 +334,9 @@
int a4); }
; XXX should be { int shmsys(int which, ...); }
172 AUE_NULL UNIMPL nosys
-173 AUE_PREAD STD { ssize_t pread(int fd, void *buf, \
+173 AUE_PREAD COMPAT6 { ssize_t pread(int fd, void *buf, \
size_t nbyte, int pad, off_t offset); }
-174 AUE_PWRITE STD { ssize_t pwrite(int fd, const void *buf, \
+174 AUE_PWRITE COMPAT6 { ssize_t pwrite(int fd, const void *buf, \
size_t nbyte, int pad, off_t offset); }
175 AUE_NULL UNIMPL nosys
176 AUE_NTP_ADJTIME STD { int ntp_adjtime(struct timex *tp); }
@@ -367,16 +367,16 @@
__setrlimit_args int
196 AUE_GETDIRENTRIES STD { int getdirentries(int fd, char *buf, \
u_int count, long *basep); }
-197 AUE_MMAP STD { caddr_t mmap(caddr_t addr, size_t len, \
+197 AUE_MMAP COMPAT6 { caddr_t mmap(caddr_t addr, size_t len, \
int prot, int flags, int fd, int pad, \
off_t pos); }
198 AUE_NULL STD { int nosys(void); } __syscall \
__syscall_args int
-199 AUE_LSEEK STD { off_t lseek(int fd, int pad, off_t offset, \
+199 AUE_LSEEK COMPAT6 { off_t lseek(int fd, int pad, off_t offset, \
int whence); }
-200 AUE_TRUNCATE STD { int truncate(char *path, int pad, \
+200 AUE_TRUNCATE COMPAT6 { int truncate(char *path, int pad, \
off_t length); }
-201 AUE_FTRUNCATE STD { int ftruncate(int fd, int pad, \
+201 AUE_FTRUNCATE COMPAT6 { int ftruncate(int fd, int pad, \
off_t length); }
202 AUE_SYSCTL STD { int __sysctl(int *name, u_int namelen, \
void *old, size_t *oldlenp, void *new, \
@@ -838,15 +838,15 @@
474 AUE_NULL STD { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
struct sockaddr * from, __socklen_t *fromlenaddr, \
struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
-475 AUE_PREAD STD { ssize_t _new_pread(int fd, void *buf, \
+475 AUE_PREAD STD { ssize_t pread(int fd, void *buf, \
size_t nbyte, off_t offset); }
-476 AUE_PWRITE STD { ssize_t _new_pwrite(int fd, const void *buf, \
+476 AUE_PWRITE STD { ssize_t pwrite(int fd, const void *buf, \
size_t nbyte, off_t offset); }
-477 AUE_MMAP STD { caddr_t _new_mmap(caddr_t addr, size_t len, \
+477 AUE_MMAP STD { caddr_t mmap(caddr_t addr, size_t len, \
int prot, int flags, int fd, off_t pos); }
-478 AUE_LSEEK STD { off_t _new_lseek(int fd, off_t offset, \
+478 AUE_LSEEK STD { off_t lseek(int fd, off_t offset, \
int whence); }
-479 AUE_TRUNCATE STD { int _new_truncate(char *path, off_t length); }
-480 AUE_FTRUNCATE STD { int _new_ftruncate(int fd, off_t length); }
+479 AUE_TRUNCATE STD { int truncate(char *path, off_t length); }
+480 AUE_FTRUNCATE STD { int ftruncate(int fd, off_t length); }
; Please copy any additions and changes to the following compatability tables:
; sys/compat/freebsd32/syscalls.master
==== //depot/projects/hammer/sys/kern/systrace_args.c#4 (text+ko) ====
@@ -927,28 +927,6 @@
*n_args = 4;
break;
}
- /* pread */
- case 173: {
- struct pread_args *p = params;
- iarg[0] = p->fd; /* int */
- uarg[1] = (intptr_t) p->buf; /* void * */
- uarg[2] = p->nbyte; /* size_t */
- iarg[3] = p->pad; /* int */
- iarg[4] = p->offset; /* off_t */
- *n_args = 5;
- break;
- }
- /* pwrite */
- case 174: {
- struct pwrite_args *p = params;
- iarg[0] = p->fd; /* int */
- uarg[1] = (intptr_t) p->buf; /* const void * */
- uarg[2] = p->nbyte; /* size_t */
- iarg[3] = p->pad; /* int */
- iarg[4] = p->offset; /* off_t */
- *n_args = 5;
- break;
- }
/* ntp_adjtime */
case 176: {
struct ntp_adjtime_args *p = params;
@@ -1043,52 +1021,11 @@
*n_args = 4;
break;
}
- /* mmap */
- case 197: {
- struct mmap_args *p = params;
- uarg[0] = (intptr_t) p->addr; /* caddr_t */
- uarg[1] = p->len; /* size_t */
- iarg[2] = p->prot; /* int */
- iarg[3] = p->flags; /* int */
- iarg[4] = p->fd; /* int */
- iarg[5] = p->pad; /* int */
- iarg[6] = p->pos; /* off_t */
- *n_args = 7;
- break;
- }
/* nosys */
case 198: {
*n_args = 0;
break;
}
- /* lseek */
- case 199: {
- struct lseek_args *p = params;
- iarg[0] = p->fd; /* int */
- iarg[1] = p->pad; /* int */
- iarg[2] = p->offset; /* off_t */
- iarg[3] = p->whence; /* int */
- *n_args = 4;
- break;
- }
- /* truncate */
- case 200: {
- struct truncate_args *p = params;
- uarg[0] = (intptr_t) p->path; /* char * */
- iarg[1] = p->pad; /* int */
- iarg[2] = p->length; /* off_t */
- *n_args = 3;
- break;
- }
- /* ftruncate */
- case 201: {
- struct ftruncate_args *p = params;
- iarg[0] = p->fd; /* int */
- iarg[1] = p->pad; /* int */
- iarg[2] = p->length; /* off_t */
- *n_args = 3;
- break;
- }
/* __sysctl */
case 202: {
struct sysctl_args *p = params;
@@ -2832,9 +2769,9 @@
*n_args = 7;
break;
}
- /* _new_pread */
+ /* pread */
case 475: {
- struct _new_pread_args *p = params;
+ struct pread_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->buf; /* void * */
uarg[2] = p->nbyte; /* size_t */
@@ -2842,9 +2779,9 @@
*n_args = 4;
break;
}
- /* _new_pwrite */
+ /* pwrite */
case 476: {
- struct _new_pwrite_args *p = params;
+ struct pwrite_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->buf; /* const void * */
uarg[2] = p->nbyte; /* size_t */
@@ -2852,9 +2789,9 @@
*n_args = 4;
break;
}
- /* _new_mmap */
+ /* mmap */
case 477: {
- struct _new_mmap_args *p = params;
+ struct mmap_args *p = params;
uarg[0] = (intptr_t) p->addr; /* caddr_t */
uarg[1] = p->len; /* size_t */
iarg[2] = p->prot; /* int */
@@ -2864,26 +2801,26 @@
*n_args = 6;
break;
}
- /* _new_lseek */
+ /* lseek */
case 478: {
- struct _new_lseek_args *p = params;
+ struct lseek_args *p = params;
iarg[0] = p->fd; /* int */
iarg[1] = p->offset; /* off_t */
iarg[2] = p->whence; /* int */
*n_args = 3;
break;
}
- /* _new_truncate */
+ /* truncate */
case 479: {
- struct _new_truncate_args *p = params;
+ struct truncate_args *p = params;
uarg[0] = (intptr_t) p->path; /* char * */
iarg[1] = p->length; /* off_t */
*n_args = 2;
break;
}
- /* _new_ftruncate */
+ /* ftruncate */
case 480: {
- struct _new_ftruncate_args *p = params;
+ struct ftruncate_args *p = params;
iarg[0] = p->fd; /* int */
iarg[1] = p->length; /* off_t */
*n_args = 2;
==== //depot/projects/hammer/sys/sys/syscall.h#57 (text+ko) ====
@@ -24,7 +24,7 @@
#define SYS_chmod 15
#define SYS_chown 16
#define SYS_break 17
- /* 18 is old getfsstat */
+#define SYS_freebsd4_getfsstat 18
/* 19 is old lseek */
#define SYS_getpid 20
#define SYS_mount 21
@@ -156,8 +156,8 @@
/* 150 is old getsockname */
#define SYS_nfssvc 155
/* 156 is old getdirentries */
- /* 157 is old statfs */
- /* 158 is old fstatfs */
+#define SYS_freebsd4_statfs 157
+#define SYS_freebsd4_fstatfs 158
#define SYS_lgetfh 160
#define SYS_getfh 161
#define SYS_getdomainname 162
@@ -168,8 +168,8 @@
#define SYS_semsys 169
#define SYS_msgsys 170
#define SYS_shmsys 171
-#define SYS_pread 173
-#define SYS_pwrite 174
+#define SYS_freebsd6_pread 173
+#define SYS_freebsd6_pwrite 174
#define SYS_ntp_adjtime 176
#define SYS_setgid 181
#define SYS_setegid 182
@@ -182,11 +182,11 @@
#define SYS_getrlimit 194
#define SYS_setrlimit 195
#define SYS_getdirentries 196
-#define SYS_mmap 197
+#define SYS_freebsd6_mmap 197
#define SYS___syscall 198
-#define SYS_lseek 199
-#define SYS_truncate 200
-#define SYS_ftruncate 201
+#define SYS_freebsd6_lseek 199
+#define SYS_freebsd6_truncate 200
+#define SYS_freebsd6_ftruncate 201
#define SYS___sysctl 202
#define SYS_mlock 203
#define SYS_munlock 204
@@ -233,7 +233,7 @@
#define SYS_nlstat 280
#define SYS_preadv 289
#define SYS_pwritev 290
- /* 297 is old fhstatfs */
+#define SYS_freebsd4_fhstatfs 297
#define SYS_fhopen 298
#define SYS_fhstat 299
#define SYS_modnext 300
@@ -272,14 +272,14 @@
#define SYS_sched_get_priority_min 333
#define SYS_sched_rr_get_interval 334
#define SYS_utrace 335
- /* 336 is old sendfile */
+#define SYS_freebsd4_sendfile 336
#define SYS_kldsym 337
#define SYS_jail 338
#define SYS_sigprocmask 340
#define SYS_sigsuspend 341
- /* 342 is old sigaction */
+#define SYS_freebsd4_sigaction 342
#define SYS_sigpending 343
- /* 344 is old sigreturn */
+#define SYS_freebsd4_sigreturn 344
#define SYS_sigtimedwait 345
#define SYS_sigwaitinfo 346
#define SYS___acl_get_file 347
@@ -397,10 +397,10 @@
#define SYS_sctp_generic_sendmsg 472
#define SYS_sctp_generic_sendmsg_iov 473
#define SYS_sctp_generic_recvmsg 474
-#define SYS__new_pread 475
-#define SYS__new_pwrite 476
-#define SYS__new_mmap 477
-#define SYS__new_lseek 478
-#define SYS__new_truncate 479
-#define SYS__new_ftruncate 480
+#define SYS_pread 475
+#define SYS_pwrite 476
+#define SYS_mmap 477
+#define SYS_lseek 478
+#define SYS_truncate 479
+#define SYS_ftruncate 480
#define SYS_MAXSYSCALL 481
==== //depot/projects/hammer/sys/sys/syscall.mk#57 (text+ko) ====
@@ -19,6 +19,7 @@
chmod.o \
chown.o \
break.o \
+ freebsd4_getfsstat.o \
getpid.o \
mount.o \
unmount.o \
@@ -107,6 +108,8 @@
setsid.o \
quotactl.o \
nfssvc.o \
+ freebsd4_statfs.o \
+ freebsd4_fstatfs.o \
lgetfh.o \
getfh.o \
getdomainname.o \
@@ -117,8 +120,8 @@
semsys.o \
msgsys.o \
shmsys.o \
- pread.o \
- pwrite.o \
+ freebsd6_pread.o \
+ freebsd6_pwrite.o \
ntp_adjtime.o \
setgid.o \
setegid.o \
@@ -131,11 +134,11 @@
getrlimit.o \
setrlimit.o \
getdirentries.o \
- mmap.o \
+ freebsd6_mmap.o \
__syscall.o \
- lseek.o \
- truncate.o \
- ftruncate.o \
+ freebsd6_lseek.o \
+ freebsd6_truncate.o \
+ freebsd6_ftruncate.o \
__sysctl.o \
mlock.o \
munlock.o \
@@ -182,6 +185,7 @@
nlstat.o \
preadv.o \
pwritev.o \
+ freebsd4_fhstatfs.o \
fhopen.o \
fhstat.o \
modnext.o \
@@ -217,11 +221,14 @@
sched_get_priority_min.o \
sched_rr_get_interval.o \
utrace.o \
+ freebsd4_sendfile.o \
kldsym.o \
jail.o \
sigprocmask.o \
sigsuspend.o \
+ freebsd4_sigaction.o \
sigpending.o \
+ freebsd4_sigreturn.o \
sigtimedwait.o \
sigwaitinfo.o \
__acl_get_file.o \
@@ -339,9 +346,9 @@
sctp_generic_sendmsg.o \
sctp_generic_sendmsg_iov.o \
sctp_generic_recvmsg.o \
- _new_pread.o \
- _new_pwrite.o \
- _new_mmap.o \
- _new_lseek.o \
- _new_truncate.o \
- _new_ftruncate.o
+ pread.o \
+ pwrite.o \
+ mmap.o \
+ lseek.o \
+ truncate.o \
+ ftruncate.o
==== //depot/projects/hammer/sys/sys/sysproto.h#58 (text+ko) ====
@@ -534,20 +534,6 @@
char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)];
char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)];
};
-struct pread_args {
- char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
- char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
- char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
- char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
- char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
-};
-struct pwrite_args {
- char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
- char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)];
- char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
- char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
- char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
-};
struct ntp_adjtime_args {
char tp_l_[PADL_(struct timex *)]; struct timex * tp; char tp_r_[PADR_(struct timex *)];
};
@@ -594,31 +580,6 @@
char count_l_[PADL_(u_int)]; u_int count; char count_r_[PADR_(u_int)];
char basep_l_[PADL_(long *)]; long * basep; char basep_r_[PADR_(long *)];
};
-struct mmap_args {
- char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
- char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
- char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)];
- char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
- char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
- char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
- char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)];
-};
-struct lseek_args {
- char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
- char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
- char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
- char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)];
-};
-struct truncate_args {
- char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
- char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
- char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
-};
-struct ftruncate_args {
- char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
- char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
- char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
-};
struct sysctl_args {
char name_l_[PADL_(int *)]; int * name; char name_r_[PADR_(int *)];
char namelen_l_[PADL_(u_int)]; u_int namelen; char namelen_r_[PADR_(u_int)];
@@ -1497,19 +1458,19 @@
char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)];
char msg_flags_l_[PADL_(int *)]; int * msg_flags; char msg_flags_r_[PADR_(int *)];
};
-struct _new_pread_args {
+struct pread_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
};
-struct _new_pwrite_args {
+struct pwrite_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)];
char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
};
-struct _new_mmap_args {
+struct mmap_args {
char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)];
@@ -1517,16 +1478,16 @@
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)];
};
-struct _new_lseek_args {
+struct lseek_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)];
};
-struct _new_truncate_args {
+struct truncate_args {
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
};
-struct _new_ftruncate_args {
+struct ftruncate_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
};
@@ -1644,8 +1605,6 @@
int semsys(struct thread *, struct semsys_args *);
int msgsys(struct thread *, struct msgsys_args *);
int shmsys(struct thread *, struct shmsys_args *);
-int pread(struct thread *, struct pread_args *);
-int pwrite(struct thread *, struct pwrite_args *);
int ntp_adjtime(struct thread *, struct ntp_adjtime_args *);
int setgid(struct thread *, struct setgid_args *);
int setegid(struct thread *, struct setegid_args *);
@@ -1658,10 +1617,6 @@
int getrlimit(struct thread *, struct __getrlimit_args *);
int setrlimit(struct thread *, struct __setrlimit_args *);
int getdirentries(struct thread *, struct getdirentries_args *);
-int mmap(struct thread *, struct mmap_args *);
-int lseek(struct thread *, struct lseek_args *);
-int truncate(struct thread *, struct truncate_args *);
-int ftruncate(struct thread *, struct ftruncate_args *);
int __sysctl(struct thread *, struct sysctl_args *);
int mlock(struct thread *, struct mlock_args *);
int munlock(struct thread *, struct munlock_args *);
@@ -1865,12 +1820,12 @@
int sctp_generic_sendmsg(struct thread *, struct sctp_generic_sendmsg_args *);
int sctp_generic_sendmsg_iov(struct thread *, struct sctp_generic_sendmsg_iov_args *);
int sctp_generic_recvmsg(struct thread *, struct sctp_generic_recvmsg_args *);
-int _new_pread(struct thread *, struct _new_pread_args *);
-int _new_pwrite(struct thread *, struct _new_pwrite_args *);
-int _new_mmap(struct thread *, struct _new_mmap_args *);
-int _new_lseek(struct thread *, struct _new_lseek_args *);
-int _new_truncate(struct thread *, struct _new_truncate_args *);
-int _new_ftruncate(struct thread *, struct _new_ftruncate_args *);
+int pread(struct thread *, struct pread_args *);
+int pwrite(struct thread *, struct pwrite_args *);
+int mmap(struct thread *, struct mmap_args *);
+int lseek(struct thread *, struct lseek_args *);
+int truncate(struct thread *, struct truncate_args *);
+int ftruncate(struct thread *, struct ftruncate_args *);
#ifdef COMPAT_43
@@ -2090,6 +2045,57 @@
#endif /* COMPAT_FREEBSD4 */
+
+#ifdef COMPAT_FREEBSD6
+
+struct freebsd6_pread_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
+ char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
+};
+struct freebsd6_pwrite_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)];
+ char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
+};
+struct freebsd6_mmap_args {
+ char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
+ char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
+ char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)];
+ char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char pos_l_[PADL_(off_t)]; off_t pos; char pos_r_[PADR_(off_t)];
+};
+struct freebsd6_lseek_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char offset_l_[PADL_(off_t)]; off_t offset; char offset_r_[PADR_(off_t)];
+ char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)];
+};
+struct freebsd6_truncate_args {
+ char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
+};
+struct freebsd6_ftruncate_args {
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
+};
+int freebsd6_pread(struct thread *, struct freebsd6_pread_args *);
+int freebsd6_pwrite(struct thread *, struct freebsd6_pwrite_args *);
+int freebsd6_mmap(struct thread *, struct freebsd6_mmap_args *);
+int freebsd6_lseek(struct thread *, struct freebsd6_lseek_args *);
+int freebsd6_truncate(struct thread *, struct freebsd6_truncate_args *);
+int freebsd6_ftruncate(struct thread *, struct freebsd6_ftruncate_args *);
+
+#endif /* COMPAT_FREEBSD6 */
+
#define SYS_AUE_syscall AUE_NULL
#define SYS_AUE_exit AUE_EXIT
#define SYS_AUE_fork AUE_FORK
@@ -2204,8 +2210,6 @@
#define SYS_AUE_semsys AUE_SEMSYS
#define SYS_AUE_msgsys AUE_MSGSYS
#define SYS_AUE_shmsys AUE_SHMSYS
-#define SYS_AUE_pread AUE_PREAD
-#define SYS_AUE_pwrite AUE_PWRITE
#define SYS_AUE_ntp_adjtime AUE_NTP_ADJTIME
#define SYS_AUE_setgid AUE_SETGID
#define SYS_AUE_setegid AUE_SETEGID
@@ -2218,10 +2222,6 @@
#define SYS_AUE_getrlimit AUE_GETRLIMIT
#define SYS_AUE_setrlimit AUE_SETRLIMIT
#define SYS_AUE_getdirentries AUE_GETDIRENTRIES
-#define SYS_AUE_mmap AUE_MMAP
-#define SYS_AUE_lseek AUE_LSEEK
-#define SYS_AUE_truncate AUE_TRUNCATE
-#define SYS_AUE_ftruncate AUE_FTRUNCATE
#define SYS_AUE___sysctl AUE_SYSCTL
#define SYS_AUE_mlock AUE_MLOCK
#define SYS_AUE_munlock AUE_MUNLOCK
@@ -2425,12 +2425,12 @@
#define SYS_AUE_sctp_generic_sendmsg AUE_NULL
#define SYS_AUE_sctp_generic_sendmsg_iov AUE_NULL
#define SYS_AUE_sctp_generic_recvmsg AUE_NULL
-#define SYS_AUE__new_pread AUE_PREAD
-#define SYS_AUE__new_pwrite AUE_PWRITE
-#define SYS_AUE__new_mmap AUE_MMAP
-#define SYS_AUE__new_lseek AUE_LSEEK
-#define SYS_AUE__new_truncate AUE_TRUNCATE
-#define SYS_AUE__new_ftruncate AUE_FTRUNCATE
+#define SYS_AUE_pread AUE_PREAD
+#define SYS_AUE_pwrite AUE_PWRITE
+#define SYS_AUE_mmap AUE_MMAP
+#define SYS_AUE_lseek AUE_LSEEK
+#define SYS_AUE_truncate AUE_TRUNCATE
+#define SYS_AUE_ftruncate AUE_FTRUNCATE
#undef PAD_
#undef PADL_
More information about the p4-projects
mailing list