PERFORCE change 164620 for review
John Baldwin
jhb at FreeBSD.org
Wed Jun 17 20:03:51 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=164620
Change 164620 by jhb at jhb_jhbbsd on 2009/06/17 20:03:33
IFC @164619
Affected files ...
.. //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#4 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npe.c#8 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#55 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#55 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#55 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#56 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#59 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#60 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#6 integrate
.. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_isc_sysent.c#12 integrate
.. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_xenix_sysent.c#14 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#92 integrate
.. //depot/projects/smpng/sys/kern/kern_sysctl.c#66 integrate
.. //depot/projects/smpng/sys/kern/makesyscalls.sh#28 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#91 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#97 integrate
.. //depot/projects/smpng/sys/kern/systrace_args.c#18 integrate
.. //depot/projects/smpng/sys/net/bpf.c#88 integrate
.. //depot/projects/smpng/sys/net/if_tun.c#63 integrate
.. //depot/projects/smpng/sys/netinet/tcp_subr.c#116 integrate
.. //depot/projects/smpng/sys/netinet6/in6_proto.c#31 integrate
.. //depot/projects/smpng/sys/powerpc/include/spr.h#16 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/cpu.c#15 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#90 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#90 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#94 integrate
.. //depot/projects/smpng/sys/sys/vimage.h#16 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#32 integrate
Differences ...
==== //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.4 2009/04/21 22:48:12 stas Exp $
+# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $
#
# Device wiring for the Gateworks Cambria 2358.
@@ -21,11 +21,11 @@
hint.npe.0.mac="C"
hint.npe.0.mii="C"
hint.npe.0.phy=1
-#hint.npe.1.at="ixp0"
-#hint.npe.1.npeid="A"
-#hint.npe.1.mac="A"
-#hint.npe.1.mii="C"
-#hint.npe.1.phy=2
+hint.npe.1.at="ixp0"
+hint.npe.1.npeid="A"
+hint.npe.1.mac="A"
+hint.npe.1.mii="C"
+hint.npe.1.phy=2
# FLASH
hint.cfi.0.at="ixp0"
==== //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npe.c#8 (text+ko) ====
@@ -57,7 +57,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.11 2009/06/17 03:09:13 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.12 2009/06/17 17:57:52 sam Exp $");
/*
* Intel XScale Network Processing Engine (NPE) support.
@@ -804,20 +804,34 @@
IX_NPEDL_CTXT_REG_RESET_CINDEX,
};
-#define IX_NPEDL_RESET_NPE_PARITY 0x0800
#define IX_NPEDL_PARITY_BIT_MASK 0x3F00FFFF
#define IX_NPEDL_CONFIG_CTRL_REG_MASK 0x3F3FFFFF
+#if 0
+/*
+ * Reset the NPE and its coprocessor using the
+ * fuse bits in the feature control register.
+ */
+static void
+npe_reset(int npeid)
+{
+ uint32_t mask = EXP_FCTRL_NPEA << npeid;
+ uint32_t v;
+
+ v = ixp4xx_read_feature_bits();
+ ixp4xx_write_feature_bits(v &~ mask);
+ /* un-fuse and un-reset the NPE & coprocessor */
+ ixp4xx_write_feature_bits(v | mask);
+}
+#endif
+
static int
npe_cpu_reset(struct ixpnpe_softc *sc)
{
#define N(a) (sizeof(a) / sizeof(a[0]))
- struct ixp425_softc *sa =
- device_get_softc(device_get_parent(sc->sc_dev));
uint32_t ctxtReg; /* identifies Context Store reg (0-3) */
uint32_t regAddr;
uint32_t regVal;
- uint32_t resetNpeParity;
uint32_t ixNpeConfigCtrlRegVal;
int i, error = 0;
@@ -935,33 +949,15 @@
/* Reset the Watch-count register */
npe_reg_write(sc, IX_NPEDL_REG_OFFSET_WC, 0);
-
+#if 0
/*
* WR IXA00055043 - Remove IMEM Parity Introduced by NPE Reset Operation
+ * XXX Removed because it breaks IXP435 operation; e.g. on Gateworks
+ * XXX 2358 boards reseting NPE-A after NPE-C is running causes both
+ * XXX npe's to stop working
*/
-
- /*
- * Reset the NPE and its coprocessor - to reset internal
- * states and remove parity error. Note this makes no
- * sense based on the documentation. The feature control
- * register always reads back as 0 on the ixp425 and further
- * the bit definition of NPEA/NPEB is off by 1 according to
- * the Intel documention--so we're blindly following the
- * Intel code w/o any real understanding.
- */
- regVal = EXP_BUS_READ_4(sa, EXP_FCTRL_OFFSET);
- DPRINTFn(2, sc->sc_dev, "%s: FCTRL 0x%x\n", __func__, regVal);
- resetNpeParity =
- IX_NPEDL_RESET_NPE_PARITY << (1 + device_get_unit(sc->sc_dev));
- DPRINTFn(2, sc->sc_dev, "%s: FCTRL fuse parity, write 0x%x\n",
- __func__, regVal | resetNpeParity);
- EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal | resetNpeParity);
-
- /* un-fuse and un-reset the NPE & coprocessor */
- DPRINTFn(2, sc->sc_dev, "%s: FCTRL unfuse parity, write 0x%x\n",
- __func__, regVal & resetNpeParity);
- EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal &~ resetNpeParity);
-
+ npe_reset(sc->sc_npeid);
+#endif
/*
* Call NpeMgr function to stop the NPE again after the Feature Control
* has unfused and Un-Reset the NPE and its associated Coprocessors.
==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#55 (text+ko) ====
@@ -2,8 +2,8 @@
* System call prototypes.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.102 2009/06/15 20:40:23 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.103 2009/06/17 19:53:47 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb
*/
#ifndef _FREEBSD32_SYSPROTO_H_
==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#55 (text+ko) ====
@@ -2,8 +2,8 @@
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.101 2009/06/15 20:40:23 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.102 2009/06/17 19:53:47 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb
*/
#define FREEBSD32_SYS_syscall 0
==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#55 (text+ko) ====
@@ -2,8 +2,8 @@
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.92 2009/06/15 20:40:23 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.93 2009/06/17 19:53:47 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb
*/
const char *freebsd32_syscallnames[] = {
@@ -25,7 +25,7 @@
"chmod", /* 15 = chmod */
"chown", /* 16 = chown */
"break", /* 17 = break */
- "compat4.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */
+ "compat4.freebsd32_getfsstat", /* 18 = freebsd4 freebsd32_getfsstat */
"obs_olseek", /* 19 = obsolete olseek */
"getpid", /* 20 = getpid */
"mount", /* 21 = mount */
@@ -164,8 +164,8 @@
"#154", /* 154 = nlm_syscall */
"#155", /* 155 = nfssvc */
"obs_ogetdirentries", /* 156 = obsolete ogetdirentries */
- "compat4.freebsd32_statfs", /* 157 = old freebsd32_statfs */
- "compat4.freebsd32_fstatfs", /* 158 = old freebsd32_fstatfs */
+ "compat4.freebsd32_statfs", /* 157 = freebsd4 freebsd32_statfs */
+ "compat4.freebsd32_fstatfs", /* 158 = freebsd4 freebsd32_fstatfs */
"#159", /* 159 = nosys */
"#160", /* 160 = lgetfh */
"getfh", /* 161 = getfh */
@@ -180,8 +180,8 @@
"freebsd32_msgsys", /* 170 = freebsd32_msgsys */
"freebsd32_shmsys", /* 171 = freebsd32_shmsys */
"#172", /* 172 = nosys */
- "compat6.freebsd32_pread", /* 173 = old freebsd32_pread */
- "compat6.freebsd32_pwrite", /* 174 = old freebsd32_pwrite */
+ "compat6.freebsd32_pread", /* 173 = freebsd6 freebsd32_pread */
+ "compat6.freebsd32_pwrite", /* 174 = freebsd6 freebsd32_pwrite */
"#175", /* 175 = nosys */
"ntp_adjtime", /* 176 = ntp_adjtime */
"#177", /* 177 = sfork */
@@ -204,11 +204,11 @@
"getrlimit", /* 194 = getrlimit */
"setrlimit", /* 195 = setrlimit */
"freebsd32_getdirentries", /* 196 = freebsd32_getdirentries */
- "compat6.freebsd32_mmap", /* 197 = old freebsd32_mmap */
+ "compat6.freebsd32_mmap", /* 197 = freebsd6 freebsd32_mmap */
"__syscall", /* 198 = __syscall */
- "compat6.freebsd32_lseek", /* 199 = old freebsd32_lseek */
- "compat6.freebsd32_truncate", /* 200 = old freebsd32_truncate */
- "compat6.freebsd32_ftruncate", /* 201 = old freebsd32_ftruncate */
+ "compat6.freebsd32_lseek", /* 199 = freebsd6 freebsd32_lseek */
+ "compat6.freebsd32_truncate", /* 200 = freebsd6 freebsd32_truncate */
+ "compat6.freebsd32_ftruncate", /* 201 = freebsd6 freebsd32_ftruncate */
"freebsd32_sysctl", /* 202 = freebsd32_sysctl */
"mlock", /* 203 = mlock */
"munlock", /* 204 = munlock */
@@ -304,7 +304,7 @@
"#294", /* 294 = nosys */
"#295", /* 295 = nosys */
"#296", /* 296 = nosys */
- "compat4.freebsd32_fhstatfs", /* 297 = old freebsd32_fhstatfs */
+ "compat4.freebsd32_fhstatfs", /* 297 = freebsd4 freebsd32_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 */
- "compat4.freebsd32_sendfile", /* 336 = old freebsd32_sendfile */
+ "compat4.freebsd32_sendfile", /* 336 = freebsd4 freebsd32_sendfile */
"kldsym", /* 337 = kldsym */
"freebsd32_jail", /* 338 = freebsd32_jail */
"#339", /* 339 = pioctl */
"sigprocmask", /* 340 = sigprocmask */
"sigsuspend", /* 341 = sigsuspend */
- "compat4.freebsd32_sigaction", /* 342 = old freebsd32_sigaction */
+ "compat4.freebsd32_sigaction", /* 342 = freebsd4 freebsd32_sigaction */
"sigpending", /* 343 = sigpending */
- "compat4.freebsd32_sigreturn", /* 344 = old freebsd32_sigreturn */
+ "compat4.freebsd32_sigreturn", /* 344 = freebsd4 freebsd32_sigreturn */
"freebsd32_sigtimedwait", /* 345 = freebsd32_sigtimedwait */
"freebsd32_sigwaitinfo", /* 346 = freebsd32_sigwaitinfo */
"__acl_get_file", /* 347 = __acl_get_file */
==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#56 (text+ko) ====
@@ -2,8 +2,8 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.103 2009/06/15 20:40:23 jhb Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.104 2009/06/17 19:53:47 jhb Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb
*/
#include "opt_compat.h"
@@ -56,7 +56,7 @@
{ AS(chmod_args), (sy_call_t *)chmod, AUE_CHMOD, NULL, 0, 0, 0 }, /* 15 = chmod */
{ AS(chown_args), (sy_call_t *)chown, AUE_CHOWN, NULL, 0, 0, 0 }, /* 16 = chown */
{ AS(obreak_args), (sy_call_t *)obreak, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = break */
- { compat4(AS(freebsd4_freebsd32_getfsstat_args),freebsd32_getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = old freebsd32_getfsstat */
+ { compat4(AS(freebsd4_freebsd32_getfsstat_args),freebsd32_getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = freebsd4 freebsd32_getfsstat */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 19 = obsolete olseek */
{ 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 20 = getpid */
{ AS(mount_args), (sy_call_t *)mount, AUE_MOUNT, NULL, 0, 0, 0 }, /* 21 = mount */
@@ -195,8 +195,8 @@
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 154 = nlm_syscall */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 155 = nfssvc */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 156 = obsolete ogetdirentries */
- { compat4(AS(freebsd4_freebsd32_statfs_args),freebsd32_statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = old freebsd32_statfs */
- { compat4(AS(freebsd4_freebsd32_fstatfs_args),freebsd32_fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = old freebsd32_fstatfs */
+ { compat4(AS(freebsd4_freebsd32_statfs_args),freebsd32_statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = freebsd4 freebsd32_statfs */
+ { compat4(AS(freebsd4_freebsd32_fstatfs_args),freebsd32_fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = freebsd4 freebsd32_fstatfs */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 159 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 160 = lgetfh */
{ AS(getfh_args), (sy_call_t *)getfh, AUE_NFS_GETFH, NULL, 0, 0, 0 }, /* 161 = getfh */
@@ -211,8 +211,8 @@
{ AS(freebsd32_msgsys_args), (sy_call_t *)freebsd32_msgsys, AUE_MSGSYS, NULL, 0, 0, 0 }, /* 170 = freebsd32_msgsys */
{ AS(freebsd32_shmsys_args), (sy_call_t *)freebsd32_shmsys, AUE_SHMSYS, NULL, 0, 0, 0 }, /* 171 = freebsd32_shmsys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 172 = nosys */
- { compat6(AS(freebsd6_freebsd32_pread_args),freebsd32_pread), AUE_PREAD, NULL, 0, 0, 0 }, /* 173 = old freebsd32_pread */
- { compat6(AS(freebsd6_freebsd32_pwrite_args),freebsd32_pwrite), AUE_PWRITE, NULL, 0, 0, 0 }, /* 174 = old freebsd32_pwrite */
+ { compat6(AS(freebsd6_freebsd32_pread_args),freebsd32_pread), AUE_PREAD, NULL, 0, 0, 0 }, /* 173 = freebsd6 freebsd32_pread */
+ { compat6(AS(freebsd6_freebsd32_pwrite_args),freebsd32_pwrite), AUE_PWRITE, NULL, 0, 0, 0 }, /* 174 = freebsd6 freebsd32_pwrite */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 175 = nosys */
{ AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0, 0 }, /* 176 = ntp_adjtime */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 177 = sfork */
@@ -235,11 +235,11 @@
{ AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0, 0 }, /* 194 = getrlimit */
{ AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 195 = setrlimit */
{ AS(freebsd32_getdirentries_args), (sy_call_t *)freebsd32_getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0, 0 }, /* 196 = freebsd32_getdirentries */
- { compat6(AS(freebsd6_freebsd32_mmap_args),freebsd32_mmap), AUE_MMAP, NULL, 0, 0, 0 }, /* 197 = old freebsd32_mmap */
+ { compat6(AS(freebsd6_freebsd32_mmap_args),freebsd32_mmap), AUE_MMAP, NULL, 0, 0, 0 }, /* 197 = freebsd6 freebsd32_mmap */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 198 = __syscall */
- { compat6(AS(freebsd6_freebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0, 0 }, /* 199 = old freebsd32_lseek */
- { compat6(AS(freebsd6_freebsd32_truncate_args),freebsd32_truncate), AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 200 = old freebsd32_truncate */
- { compat6(AS(freebsd6_freebsd32_ftruncate_args),freebsd32_ftruncate), AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 201 = old freebsd32_ftruncate */
+ { compat6(AS(freebsd6_freebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0, 0 }, /* 199 = freebsd6 freebsd32_lseek */
+ { compat6(AS(freebsd6_freebsd32_truncate_args),freebsd32_truncate), AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 200 = freebsd6 freebsd32_truncate */
+ { compat6(AS(freebsd6_freebsd32_ftruncate_args),freebsd32_ftruncate), AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 201 = freebsd6 freebsd32_ftruncate */
{ AS(freebsd32_sysctl_args), (sy_call_t *)freebsd32_sysctl, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 202 = freebsd32_sysctl */
{ AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0, 0 }, /* 203 = mlock */
{ AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, 0 }, /* 204 = munlock */
@@ -335,7 +335,7 @@
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 294 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 295 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 296 = nosys */
- { compat4(AS(freebsd4_freebsd32_fhstatfs_args),freebsd32_fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = old freebsd32_fhstatfs */
+ { compat4(AS(freebsd4_freebsd32_fhstatfs_args),freebsd32_fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = freebsd4 freebsd32_fhstatfs */
{ AS(fhopen_args), (sy_call_t *)fhopen, AUE_FHOPEN, NULL, 0, 0, 0 }, /* 298 = fhopen */
{ AS(fhstat_args), (sy_call_t *)fhstat, AUE_FHSTAT, NULL, 0, 0, 0 }, /* 299 = fhstat */
{ AS(modnext_args), (sy_call_t *)modnext, AUE_NULL, NULL, 0, 0, 0 }, /* 300 = modnext */
@@ -374,15 +374,15 @@
{ AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0, 0 }, /* 333 = sched_get_priority_min */
{ AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0 }, /* 334 = sched_rr_get_interval */
{ AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0, 0 }, /* 335 = utrace */
- { compat4(AS(freebsd4_freebsd32_sendfile_args),freebsd32_sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = old freebsd32_sendfile */
+ { compat4(AS(freebsd4_freebsd32_sendfile_args),freebsd32_sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = freebsd4 freebsd32_sendfile */
{ AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0, 0 }, /* 337 = kldsym */
{ AS(freebsd32_jail_args), (sy_call_t *)freebsd32_jail, AUE_JAIL, NULL, 0, 0, 0 }, /* 338 = freebsd32_jail */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 339 = pioctl */
{ AS(sigprocmask_args), (sy_call_t *)sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 340 = sigprocmask */
{ AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, 0 }, /* 341 = sigsuspend */
- { compat4(AS(freebsd4_freebsd32_sigaction_args),freebsd32_sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = old freebsd32_sigaction */
+ { compat4(AS(freebsd4_freebsd32_sigaction_args),freebsd32_sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = freebsd4 freebsd32_sigaction */
{ AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0 }, /* 343 = sigpending */
- { compat4(AS(freebsd4_freebsd32_sigreturn_args),freebsd32_sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = old freebsd32_sigreturn */
+ { compat4(AS(freebsd4_freebsd32_sigreturn_args),freebsd32_sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = freebsd4 freebsd32_sigreturn */
{ AS(freebsd32_sigtimedwait_args), (sy_call_t *)freebsd32_sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 345 = freebsd32_sigtimedwait */
{ AS(freebsd32_sigwaitinfo_args), (sy_call_t *)freebsd32_sigwaitinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 346 = freebsd32_sigwaitinfo */
{ AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0, 0 }, /* 347 = __acl_get_file */
==== //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#59 (text+ko) ====
@@ -1,19 +1,21 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.117 2009/06/15 20:38:55 jhb Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.118 2009/06/17 19:50:38 jhb Exp $
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
; from: src/sys/kern/syscalls.master 1.107
;
; System call name/number master file.
; Processed to created init_sysent.c, syscalls.c and syscall.h.
-; Columns: number audit type nargs name alt{name,tag,rtyp}/comments
+; Columns: number audit type name alt{name,tag,rtyp}/comments
; number system call number, must be in order
; audit the audit event associated with the system call
; A value of AUE_NULL means no auditing, but it also means that
; there is no audit event for the call at this time. For the
; case where the event exists, but we don't want auditing, the
; event should be #defined to AUE_NULL in audit_kevents.h.
-; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT,
-; NODEF, NOARGS, NOPROTO, NOIMPL, NOSTD, COMPAT4
+; type one of STD, OBSOL, UNIMPL, COMPAT, COMPAT4, COMPAT6,
+; LIBCOMPAT, NODEF, NOARGS, NOPROTO, NOSTD
+; The COMPAT* options may be combined with one or more NO*
+; options separated by '|' with no spaces (e.g. COMPAT|NOARGS)
; name psuedo-prototype of syscall routine
; If one of the following alts is different, then all appear:
; altname name of system call if different
@@ -25,11 +27,12 @@
; STD always included
; COMPAT included on COMPAT #ifdef
; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat)
+; COMPAT6 included on COMPAT4 #ifdef (FreeBSD 6 compat)
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
; OBSOL obsolete, not included in system, only specifies name
; UNIMPL not implemented, placeholder only
; NOSTD implemented but as a lkm that can be statically
-; compiled in; sysent entry will be filled with lkmsys
+; compiled in; sysent entry will be filled with lkmressys
; so the SYSCALL_MODULE macro works
; NOARGS same as STD except do not create structure in sys/sysproto.h
; NODEF same as STD except only have the entry in the syscall table
==== //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#60 (text+ko) ====
@@ -29,7 +29,7 @@
#include "opt_compat.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.151 2009/06/15 19:01:53 jamie Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.152 2009/06/17 15:01:01 bz Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -44,6 +44,7 @@
#include <sys/file.h>
#include <sys/filedesc.h>
#include <sys/filio.h>
+#include <sys/jail.h>
#include <sys/kbio.h>
#include <sys/kernel.h>
#include <sys/linker_set.h>
==== //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#6 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.5 2009/06/09 15:18:01 rmacklem Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.7 2009/06/17 15:01:01 bz Exp $");
/*
* vnode op calls for Sun NFS version 2, 3 and 4
@@ -49,6 +49,7 @@
#include <sys/mount.h>
#include <sys/bio.h>
#include <sys/buf.h>
+#include <sys/jail.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/namei.h>
@@ -992,22 +993,23 @@
struct componentname *cnp = ap->a_cnp;
struct vnode *dvp = ap->a_dvp;
struct vnode **vpp = ap->a_vpp;
+ struct mount *mp = dvp->v_mount;
int flags = cnp->cn_flags;
struct vnode *newvp;
struct nfsmount *nmp;
struct nfsnode *np;
- int error = 0, attrflag, dattrflag;
+ int error = 0, attrflag, dattrflag, ltype;
struct thread *td = cnp->cn_thread;
struct nfsfh *nfhp;
struct nfsvattr dnfsva, nfsva;
*vpp = NULLVP;
- if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) &&
+ if ((flags & ISLASTCN) && (mp->mnt_flag & MNT_RDONLY) &&
(cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME))
return (EROFS);
if (dvp->v_type != VDIR)
return (ENOTDIR);
- nmp = VFSTONFS(dvp->v_mount);
+ nmp = VFSTONFS(mp);
np = VTONFS(dvp);
/* For NFSv4, wait until any remove is done. */
@@ -1073,7 +1075,7 @@
}
if ((cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME) &&
(flags & ISLASTCN) && error == ENOENT) {
- if (dvp->v_mount->mnt_flag & MNT_RDONLY)
+ if (mp->mnt_flag & MNT_RDONLY)
error = EROFS;
else
error = EJUSTRETURN;
@@ -1093,8 +1095,7 @@
FREE((caddr_t)nfhp, M_NFSFH);
return (EISDIR);
}
- error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, td, &np,
- NULL);
+ error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL);
if (error)
return (error);
newvp = NFSTOV(np);
@@ -1106,14 +1107,37 @@
return (0);
}
- if ((flags & ISDOTDOT)) {
+ if (flags & ISDOTDOT) {
+ ltype = VOP_ISLOCKED(dvp);
+ error = vfs_busy(mp, MBF_NOWAIT);
+ if (error != 0) {
+ VOP_UNLOCK(dvp, 0);
+ error = vfs_busy(mp, 0);
+ vn_lock(dvp, ltype | LK_RETRY);
+ if (error == 0 && (dvp->v_iflag & VI_DOOMED)) {
+ vfs_unbusy(mp);
+ error = ENOENT;
+ }
+ if (error != 0)
+ return (error);
+ }
VOP_UNLOCK(dvp, 0);
- error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, td, &np,
- NULL);
- vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
- if (error)
+ error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL);
+ if (error == 0)
+ newvp = NFSTOV(np);
+ vfs_unbusy(mp);
+ vn_lock(dvp, ltype | LK_RETRY);
+ if (dvp->v_iflag & VI_DOOMED) {
+ if (error == 0) {
+ if (newvp == dvp)
+ vrele(newvp);
+ else
+ vput(newvp);
+ }
+ error = ENOENT;
+ }
+ if (error != 0)
return (error);
- newvp = NFSTOV(np);
if (attrflag)
(void) nfscl_loadattrcache(&newvp, &nfsva, NULL, NULL,
0, 1);
@@ -1125,8 +1149,7 @@
(void) nfscl_loadattrcache(&newvp, &nfsva, NULL, NULL,
0, 1);
} else {
- error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, td, &np,
- NULL);
+ error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL);
if (error)
return (error);
newvp = NFSTOV(np);
==== //depot/projects/smpng/sys/i386/ibcs2/ibcs2_isc_sysent.c#12 (text+ko) ====
@@ -2,7 +2,7 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/i386/ibcs2/ibcs2_isc_sysent.c,v 1.19 2009/05/08 20:16:04 ed Exp $
+ * $FreeBSD: src/sys/i386/ibcs2/ibcs2_isc_sysent.c,v 1.20 2009/06/17 19:53:20 jhb Exp $
* created from FreeBSD: head/sys/i386/ibcs2/syscalls.isc 160798 2006-07-28 19:05:28Z jhb
*/
@@ -18,25 +18,25 @@
/* The casts are bogus but will do for now. */
struct sysent isc_sysent[] = {
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 1 = isc_setostype */
- { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0 }, /* 2 = ibcs2_rename */
- { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0 }, /* 3 = ibcs2_sigaction */
- { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 4 = ibcs2_sigprocmask */
- { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0 }, /* 5 = ibcs2_sigpending */
- { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0 }, /* 6 = getgroups */
- { AS(setgroups_args), (sy_call_t *)setgroups, AUE_SETGROUPS, NULL, 0, 0 }, /* 7 = setgroups */
- { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0 }, /* 8 = ibcs2_pathconf */
- { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0 }, /* 9 = ibcs2_fpathconf */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 10 = nosys */
- { AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait, AUE_WAIT4, NULL, 0, 0 }, /* 11 = ibcs2_wait */
- { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0 }, /* 12 = setsid */
- { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0 }, /* 13 = getpid */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 14 = isc_adduser */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 15 = isc_setuser */
- { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0 }, /* 16 = ibcs2_sysconf */
- { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0 }, /* 17 = ibcs2_sigsuspend */
- { AS(ibcs2_symlink_args), (sy_call_t *)ibcs2_symlink, AUE_SYMLINK, NULL, 0, 0 }, /* 18 = ibcs2_symlink */
- { AS(ibcs2_readlink_args), (sy_call_t *)ibcs2_readlink, AUE_READLINK, NULL, 0, 0 }, /* 19 = ibcs2_readlink */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 20 = isc_getmajor */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 1 = isc_setostype */
+ { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0, 0 }, /* 2 = ibcs2_rename */
+ { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0, 0 }, /* 3 = ibcs2_sigaction */
+ { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0, 0 }, /* 4 = ibcs2_sigprocmask */
+ { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0, 0 }, /* 5 = ibcs2_sigpending */
+ { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 6 = getgroups */
+ { AS(setgroups_args), (sy_call_t *)setgroups, AUE_SETGROUPS, NULL, 0, 0, 0 }, /* 7 = setgroups */
+ { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0, 0 }, /* 8 = ibcs2_pathconf */
+ { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0, 0 }, /* 9 = ibcs2_fpathconf */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 10 = nosys */
+ { AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait, AUE_WAIT4, NULL, 0, 0, 0 }, /* 11 = ibcs2_wait */
+ { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0, 0 }, /* 12 = setsid */
+ { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 13 = getpid */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 14 = isc_adduser */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 15 = isc_setuser */
+ { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0, 0 }, /* 16 = ibcs2_sysconf */
+ { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = ibcs2_sigsuspend */
+ { AS(ibcs2_symlink_args), (sy_call_t *)ibcs2_symlink, AUE_SYMLINK, NULL, 0, 0, 0 }, /* 18 = ibcs2_symlink */
+ { AS(ibcs2_readlink_args), (sy_call_t *)ibcs2_readlink, AUE_READLINK, NULL, 0, 0, 0 }, /* 19 = ibcs2_readlink */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 20 = isc_getmajor */
};
==== //depot/projects/smpng/sys/i386/ibcs2/ibcs2_xenix_sysent.c#14 (text+ko) ====
@@ -2,7 +2,7 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix_sysent.c,v 1.20 2009/05/08 20:16:04 ed Exp $
+ * $FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix_sysent.c,v 1.21 2009/06/17 19:53:20 jhb Exp $
* created from FreeBSD: head/sys/i386/ibcs2/syscalls.xenix 160798 2006-07-28 19:05:28Z jhb
*/
@@ -17,61 +17,61 @@
/* The casts are bogus but will do for now. */
struct sysent xenix_sysent[] = {
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 1 = xenix_xlocking */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 2 = xenix_creatsem */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 3 = xenix_opensem */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 4 = xenix_sigsem */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 5 = xenix_waitsem */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 6 = xenix_nbwaitsem */
- { AS(xenix_rdchk_args), (sy_call_t *)xenix_rdchk, AUE_NULL, NULL, 0, 0 }, /* 7 = xenix_rdchk */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 8 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 9 = nosys */
- { AS(xenix_chsize_args), (sy_call_t *)xenix_chsize, AUE_FTRUNCATE, NULL, 0, 0 }, /* 10 = xenix_chsize */
- { AS(xenix_ftime_args), (sy_call_t *)xenix_ftime, AUE_NULL, NULL, 0, 0 }, /* 11 = xenix_ftime */
- { AS(xenix_nap_args), (sy_call_t *)xenix_nap, AUE_NULL, NULL, 0, 0 }, /* 12 = xenix_nap */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 13 = xenix_sdget */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 14 = xenix_sdfree */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 15 = xenix_sdenter */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 16 = xenix_sdleave */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 17 = xenix_sdgetv */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 18 = xenix_sdwaitv */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 19 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 20 = nosys */
- { 0, (sy_call_t *)xenix_scoinfo, AUE_NULL, NULL, 0, 0 }, /* 21 = xenix_scoinfo */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 22 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 23 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 24 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 25 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 26 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 27 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 28 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 29 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 30 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 31 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 32 = xenix_proctl */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 33 = xenix_execseg */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 34 = xenix_unexecseg */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 35 = nosys */
- { AS(select_args), (sy_call_t *)select, AUE_SELECT, NULL, 0, 0 }, /* 36 = select */
- { AS(xenix_eaccess_args), (sy_call_t *)xenix_eaccess, AUE_EACCESS, NULL, 0, 0 }, /* 37 = xenix_eaccess */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 38 = xenix_paccess */
- { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0 }, /* 39 = ibcs2_sigaction */
- { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 40 = ibcs2_sigprocmask */
- { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0 }, /* 41 = ibcs2_sigpending */
- { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0 }, /* 42 = ibcs2_sigsuspend */
- { AS(ibcs2_getgroups_args), (sy_call_t *)ibcs2_getgroups, AUE_GETGROUPS, NULL, 0, 0 }, /* 43 = ibcs2_getgroups */
- { AS(ibcs2_setgroups_args), (sy_call_t *)ibcs2_setgroups, AUE_SETGROUPS, NULL, 0, 0 }, /* 44 = ibcs2_setgroups */
- { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0 }, /* 45 = ibcs2_sysconf */
- { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0 }, /* 46 = ibcs2_pathconf */
- { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0 }, /* 47 = ibcs2_fpathconf */
- { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0 }, /* 48 = ibcs2_rename */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 49 = nosys */
- { AS(xenix_utsname_args), (sy_call_t *)xenix_utsname, AUE_NULL, NULL, 0, 0 }, /* 50 = xenix_utsname */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 51 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 52 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 53 = nosys */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 54 = nosys */
- { AS(getitimer_args), (sy_call_t *)getitimer, AUE_GETITIMER, NULL, 0, 0 }, /* 55 = getitimer */
- { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0 }, /* 56 = setitimer */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 1 = xenix_xlocking */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 2 = xenix_creatsem */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 3 = xenix_opensem */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 4 = xenix_sigsem */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 5 = xenix_waitsem */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 6 = xenix_nbwaitsem */
+ { AS(xenix_rdchk_args), (sy_call_t *)xenix_rdchk, AUE_NULL, NULL, 0, 0, 0 }, /* 7 = xenix_rdchk */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 8 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 9 = nosys */
+ { AS(xenix_chsize_args), (sy_call_t *)xenix_chsize, AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 10 = xenix_chsize */
+ { AS(xenix_ftime_args), (sy_call_t *)xenix_ftime, AUE_NULL, NULL, 0, 0, 0 }, /* 11 = xenix_ftime */
+ { AS(xenix_nap_args), (sy_call_t *)xenix_nap, AUE_NULL, NULL, 0, 0, 0 }, /* 12 = xenix_nap */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 13 = xenix_sdget */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 14 = xenix_sdfree */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 15 = xenix_sdenter */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 16 = xenix_sdleave */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = xenix_sdgetv */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 18 = xenix_sdwaitv */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 19 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 20 = nosys */
+ { 0, (sy_call_t *)xenix_scoinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 21 = xenix_scoinfo */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 22 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 23 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 24 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 25 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 26 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 27 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 28 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 29 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 30 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 31 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 32 = xenix_proctl */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 33 = xenix_execseg */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 34 = xenix_unexecseg */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 35 = nosys */
+ { AS(select_args), (sy_call_t *)select, AUE_SELECT, NULL, 0, 0, 0 }, /* 36 = select */
+ { AS(xenix_eaccess_args), (sy_call_t *)xenix_eaccess, AUE_EACCESS, NULL, 0, 0, 0 }, /* 37 = xenix_eaccess */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 38 = xenix_paccess */
+ { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0, 0 }, /* 39 = ibcs2_sigaction */
+ { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0, 0 }, /* 40 = ibcs2_sigprocmask */
+ { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0, 0 }, /* 41 = ibcs2_sigpending */
+ { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0, 0 }, /* 42 = ibcs2_sigsuspend */
+ { AS(ibcs2_getgroups_args), (sy_call_t *)ibcs2_getgroups, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 43 = ibcs2_getgroups */
+ { AS(ibcs2_setgroups_args), (sy_call_t *)ibcs2_setgroups, AUE_SETGROUPS, NULL, 0, 0, 0 }, /* 44 = ibcs2_setgroups */
+ { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0, 0 }, /* 45 = ibcs2_sysconf */
+ { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0, 0 }, /* 46 = ibcs2_pathconf */
+ { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0, 0 }, /* 47 = ibcs2_fpathconf */
+ { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0, 0 }, /* 48 = ibcs2_rename */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 49 = nosys */
+ { AS(xenix_utsname_args), (sy_call_t *)xenix_utsname, AUE_NULL, NULL, 0, 0, 0 }, /* 50 = xenix_utsname */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 51 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 52 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 53 = nosys */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 54 = nosys */
+ { AS(getitimer_args), (sy_call_t *)getitimer, AUE_GETITIMER, NULL, 0, 0, 0 }, /* 55 = getitimer */
+ { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0, 0 }, /* 56 = setitimer */
};
==== //depot/projects/smpng/sys/kern/init_sysent.c#92 (text+ko) ====
@@ -2,8 +2,8 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/init_sysent.c,v 1.249 2009/06/15 20:40:23 jhb Exp $
- * created from FreeBSD: head/sys/kern/syscalls.master 194262 2009-06-15 20:38:55Z jhb
+ * $FreeBSD: src/sys/kern/init_sysent.c,v 1.250 2009/06/17 19:53:47 jhb Exp $
+ * created from FreeBSD: head/sys/kern/syscalls.master 194390 2009-06-17 19:50:38Z jhb
*/
#include "opt_compat.h"
@@ -46,7 +46,7 @@
{ AS(chmod_args), (sy_call_t *)chmod, AUE_CHMOD, NULL, 0, 0, 0 }, /* 15 = chmod */
{ AS(chown_args), (sy_call_t *)chown, AUE_CHOWN, NULL, 0, 0, 0 }, /* 16 = chown */
{ AS(obreak_args), (sy_call_t *)obreak, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = break */
- { compat4(AS(freebsd4_getfsstat_args),getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = old getfsstat */
+ { compat4(AS(freebsd4_getfsstat_args),getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = freebsd4 getfsstat */
{ compat(AS(olseek_args),lseek), AUE_LSEEK, NULL, 0, 0, 0 }, /* 19 = old lseek */
{ 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 20 = getpid */
{ AS(mount_args), (sy_call_t *)mount, AUE_MOUNT, NULL, 0, 0, 0 }, /* 21 = mount */
@@ -185,14 +185,14 @@
{ AS(nlm_syscall_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 154 = nlm_syscall */
{ AS(nfssvc_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 155 = nfssvc */
{ compat(AS(ogetdirentries_args),getdirentries), AUE_GETDIRENTRIES, NULL, 0, 0, 0 }, /* 156 = old getdirentries */
- { compat4(AS(freebsd4_statfs_args),statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = old statfs */
- { compat4(AS(freebsd4_fstatfs_args),fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = old fstatfs */
+ { compat4(AS(freebsd4_statfs_args),statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = freebsd4 statfs */
+ { compat4(AS(freebsd4_fstatfs_args),fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = freebsd4 fstatfs */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 159 = nosys */
{ AS(lgetfh_args), (sy_call_t *)lgetfh, AUE_LGETFH, NULL, 0, 0, 0 }, /* 160 = lgetfh */
{ AS(getfh_args), (sy_call_t *)getfh, AUE_NFS_GETFH, NULL, 0, 0, 0 }, /* 161 = getfh */
- { compat4(AS(freebsd4_getdomainname_args),getdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 162 = old getdomainname */
- { compat4(AS(freebsd4_setdomainname_args),setdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 163 = old setdomainname */
- { compat4(AS(freebsd4_uname_args),uname), AUE_NULL, NULL, 0, 0, 0 }, /* 164 = old uname */
+ { compat4(AS(freebsd4_getdomainname_args),getdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 162 = freebsd4 getdomainname */
+ { compat4(AS(freebsd4_setdomainname_args),setdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 163 = freebsd4 setdomainname */
+ { compat4(AS(freebsd4_uname_args),uname), AUE_NULL, NULL, 0, 0, 0 }, /* 164 = freebsd4 uname */
{ AS(sysarch_args), (sy_call_t *)sysarch, AUE_SYSARCH, NULL, 0, 0, 0 }, /* 165 = sysarch */
{ AS(rtprio_args), (sy_call_t *)rtprio, AUE_RTPRIO, NULL, 0, 0, 0 }, /* 166 = rtprio */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 167 = nosys */
@@ -325,7 +325,7 @@
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 294 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 295 = nosys */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 296 = nosys */
- { compat4(AS(freebsd4_fhstatfs_args),fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = old fhstatfs */
+ { compat4(AS(freebsd4_fhstatfs_args),fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = freebsd4 fhstatfs */
{ AS(fhopen_args), (sy_call_t *)fhopen, AUE_FHOPEN, NULL, 0, 0, 0 }, /* 298 = fhopen */
{ AS(fhstat_args), (sy_call_t *)fhstat, AUE_FHSTAT, NULL, 0, 0, 0 }, /* 299 = fhstat */
{ AS(modnext_args), (sy_call_t *)modnext, AUE_NULL, NULL, 0, 0, 0 }, /* 300 = modnext */
@@ -364,15 +364,15 @@
{ AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0, 0 }, /* 333 = sched_get_priority_min */
{ AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0 }, /* 334 = sched_rr_get_interval */
{ AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0, 0 }, /* 335 = utrace */
- { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = old sendfile */
+ { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = freebsd4 sendfile */
{ AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0, 0 }, /* 337 = kldsym */
{ AS(jail_args), (sy_call_t *)jail, AUE_JAIL, NULL, 0, 0, 0 }, /* 338 = jail */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 339 = pioctl */
{ AS(sigprocmask_args), (sy_call_t *)sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 340 = sigprocmask */
{ AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, 0 }, /* 341 = sigsuspend */
- { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = old sigaction */
+ { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = freebsd4 sigaction */
{ AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0 }, /* 343 = sigpending */
- { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = old sigreturn */
+ { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = freebsd4 sigreturn */
{ AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 345 = sigtimedwait */
{ AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 346 = sigwaitinfo */
{ AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0, 0 }, /* 347 = __acl_get_file */
@@ -403,7 +403,7 @@
{ AS(extattr_get_fd_args), (sy_call_t *)extattr_get_fd, AUE_EXTATTR_GET_FD, NULL, 0, 0, 0 }, /* 372 = extattr_get_fd */
{ AS(extattr_delete_fd_args), (sy_call_t *)extattr_delete_fd, AUE_EXTATTR_DELETE_FD, NULL, 0, 0, 0 }, /* 373 = extattr_delete_fd */
{ AS(__setugid_args), (sy_call_t *)__setugid, AUE_NULL, NULL, 0, 0, 0 }, /* 374 = __setugid */
- { AS(nfsclnt_args), (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 375 = nfsclnt */
+ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 375 = nfsclnt */
{ AS(eaccess_args), (sy_call_t *)eaccess, AUE_EACCESS, NULL, 0, 0, 0 }, /* 376 = eaccess */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 377 = afs_syscall */
{ AS(nmount_args), (sy_call_t *)nmount, AUE_NMOUNT, NULL, 0, 0, 0 }, /* 378 = nmount */
==== //depot/projects/smpng/sys/kern/kern_sysctl.c#66 (text+ko) ====
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.197 2009/06/15 19:01:53 jamie Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.198 2009/06/17 15:01:01 bz Exp $");
#include "opt_compat.h"
#include "opt_ktrace.h"
@@ -48,6 +48,7 @@
#include <sys/malloc.h>
#include <sys/priv.h>
#include <sys/proc.h>
+#include <sys/jail.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/sx.h>
==== //depot/projects/smpng/sys/kern/makesyscalls.sh#28 (text+ko) ====
@@ -1,6 +1,6 @@
#! /bin/sh -
# @(#)makesyscalls.sh 8.1 (Berkeley) 6/10/93
-# $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.72 2009/06/01 16:13:06 rwatson Exp $
+# $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.74 2009/06/17 19:50:38 jhb Exp $
set -e
@@ -213,6 +213,19 @@
print
exit 1
}
+ # Returns true if the type "name" is the first flag in the type field
+ function type(name, flags, n) {
+ n = split($3, flags, /\|/)
+ return (n > 0 && flags[1] == name)
+ }
+ # Returns true if the flag "name" is set in the type field
+ function flag(name, flags, i, n) {
+ n = split($3, flags, /\|/)
+ for (i = 1; i <= n; i++)
+ if (flags[i] == name)
+ return 1
+ return 0
+ }
function align_sysent_comment(column) {
printf("\t") > sysent
column = column + 8 - column % 8
@@ -241,7 +254,7 @@
rettype="int"
end=NF
}
- if ($3 == "NODEF") {
+ if (flag("NODEF")) {
auditev="AUE_NULL"
funcname=$4
argssize = "AS(" $6 ")"
@@ -267,11 +280,11 @@
funcalias = funcname
if (argalias == "") {
argalias = funcname "_args"
- if ($3 == "COMPAT")
+ if (flag("COMPAT"))
argalias = "o" argalias
- if ($3 == "COMPAT4")
+ if (flag("COMPAT4"))
argalias = "freebsd4_" argalias
- if ($3 == "COMPAT6")
+ if (flag("COMPAT6"))
argalias = "freebsd6_" argalias
}
f++
@@ -325,8 +338,8 @@
flags = "0";
}
- $3 == "STD" || $3 == "NODEF" || $3 == "NOARGS" || $3 == "NOPROTO" \
- || $3 == "NOIMPL" || $3 == "NOSTD" {
+ type("STD") || type("NODEF") || type("NOARGS") || type("NOPROTO") \
+ || type("NOSTD") {
parseline()
printf("\t/* %s */\n\tcase %d: {\n", funcname, syscall) > systrace
printf("\t/* %s */\n\tcase %d:\n", funcname, syscall) > systracetmp
@@ -352,8 +365,8 @@
}
printf("\t\t*n_args = %d;\n\t\tbreak;\n\t}\n", argc) > systrace
printf("\t\tbreak;\n") > systracetmp
- if (argc != 0 && $3 != "NOARGS" && $3 != "NOPROTO" && \
- $3 != "NODEF") {
+ if (argc != 0 && !flag("NOARGS") && !flag("NOPROTO") && \
+ !flag("NODEF")) {
printf("struct %s {\n", argalias) > sysarg
for (i = 1; i <= argc; i++)
printf("\tchar %s_l_[PADL_(%s)]; " \
@@ -363,10 +376,10 @@
argname[i], argtype[i]) > sysarg
printf("};\n") > sysarg
}
- else if ($3 != "NOARGS" && $3 != "NOPROTO" && $3 != "NODEF")
+ else if (!flag("NOARGS") && !flag("NOPROTO") && !flag("NODEF"))
printf("struct %s {\n\tregister_t dummy;\n};\n",
argalias) > sysarg
- if ($3 != "NOPROTO" && $3 != "NODEF") {
+ if (!flag("NOPROTO") && !flag("NODEF")) {
printf("%s\t%s(struct thread *, struct %s *)",
rettype, funcname, argalias) > sysdcl
printf(";\n") > sysdcl
@@ -375,10 +388,7 @@
}
printf("\t{ %s, (sy_call_t *)", argssize) > sysent
column = 8 + 2 + length(argssize) + 15
- if ($3 == "NOIMPL") {
- printf("%s },", "nosys, AUE_NULL, NULL, 0, 0, 0") > sysent
- column = column + length("nosys") + length("AUE_NULL") + 3
- } else if ($3 == "NOSTD") {
+ if (flag("NOSTD")) {
printf("%s },", "lkmressys, AUE_NULL, NULL, 0, 0, 0") > sysent
column = column + length("lkmressys") + length("AUE_NULL") + 3
} else {
@@ -389,7 +399,7 @@
printf("/* %d = %s */\n", syscall, funcalias) > sysent
printf("\t\"%s\",\t\t\t/* %d = %s */\n",
funcalias, syscall, funcalias) > sysnames
- if ($3 != "NODEF") {
+ if (!flag("NODEF")) {
printf("#define\t%s%s\t%d\n", syscallprefix,
funcalias, syscall) > syshdr
printf(" \\\n\t%s.o", funcalias) > sysmk
@@ -397,28 +407,32 @@
syscall++
next
}
- $3 == "COMPAT" || $3 == "COMPAT4" || $3 == "COMPAT6" || $3 == "CPT_NOA" {
- if ($3 == "COMPAT" || $3 == "CPT_NOA") {
+ type("COMPAT") || type("COMPAT4") || type("COMPAT6") {
+ if (flag("COMPAT")) {
ncompat++
out = syscompat
outdcl = syscompatdcl
wrap = "compat"
prefix = "o"
- } else if ($3 == "COMPAT4") {
+ descr = "old"
+ } else if (flag("COMPAT4")) {
ncompat4++
out = syscompat4
outdcl = syscompat4dcl
wrap = "compat4"
prefix = "freebsd4_"
- } else if ($3 == "COMPAT6") {
+ descr = "freebsd4"
+ } else if (flag("COMPAT6")) {
ncompat6++
out = syscompat6
outdcl = syscompat6dcl
wrap = "compat6"
prefix = "freebsd6_"
+ descr = "freebsd6"
}
parseline()
- if (argc != 0 && $3 != "CPT_NOA") {
+ if (argc != 0 && !flag("NOARGS") && !flag("NOPROTO") && \
+ !flag("NODEF")) {
printf("struct %s {\n", argalias) > out
for (i = 1; i <= argc; i++)
printf("\tchar %s_l_[PADL_(%s)]; %s %s; " \
@@ -428,22 +442,32 @@
argname[i], argtype[i]) > out
printf("};\n") > out
}
- else if($3 != "CPT_NOA")
+ else if (!flag("NOARGS") && !flag("NOPROTO") && !flag("NODEF"))
printf("struct %s {\n\tregister_t dummy;\n};\n",
argalias) > sysarg
- printf("%s\t%s%s(struct thread *, struct %s *);\n",
- rettype, prefix, funcname, argalias) > outdcl
- printf("\t{ %s(%s,%s), %s, NULL, 0, 0, %s },",
- wrap, argssize, funcname, auditev, flags) > sysent
- align_sysent_comment(8 + 9 + \
- length(argssize) + 1 + length(funcname) + length(auditev) + length(flags) + 4)
- printf("/* %d = old %s */\n", syscall, funcalias) > sysent
- printf("\t\"%s.%s\",\t\t/* %d = old %s */\n",
- wrap, funcalias, syscall, funcalias) > sysnames
- if ($3 == "COMPAT" || $3 == "CPT_NOA") {
+ if (!flag("NOPROTO") && !flag("NODEF")) {
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list