PERFORCE change 144476 for review

Edward Tomasz Napierala trasz at FreeBSD.org
Wed Jul 2 10:04:35 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=144476

Change 144476 by trasz at trasz_traszkan on 2008/07/02 10:03:54

	IFC

Affected files ...

.. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/getaddrinfo.3#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/hexdump.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/hexdump.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/libutil.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/dhclient/dhclient.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/sconfig/sconfig.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/boot2/boot2.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/pecoff/imgact_pecoff.c#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/pecoff/imgact_pecoff.h#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/ceddk.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/if_ce.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/cpddk.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/if_cp.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/ctddk.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/if_ct.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/cxddk.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/if_cx.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephy.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephyreg.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_pci.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_user.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/smbfs/smbfs_node.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/pecoff/Makefile#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_bridge.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_syscalls.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rlreg.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/unbzip2.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/znew#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/su/su.1#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mountd/exports.5#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcstat/pmcstat.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wpa/wpa_supplicant/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate

Differences ...

==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.143 2008/06/14 10:42:18 ed Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.144 2008/07/01 21:54:08 danger Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,9 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20080701: wpa_supplicant.conf moved to share/examples/etc/
+OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf
+OLD_DIRS+=usr/share/examples/wpa_supplicant
 # 20080614: sgtty removed
 OLD_FILES+=usr/include/sys/ttychars.h
 OLD_FILES+=usr/include/sys/ttydev.h

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/getaddrinfo.3#2 (text+ko) ====

@@ -16,9 +16,9 @@
 .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 .\" PERFORMANCE OF THIS SOFTWARE.
 .\"
-.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.33 2007/06/06 19:24:02 remko Exp $
+.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.34 2008/07/01 22:59:20 danger Exp $
 .\"
-.Dd June 6, 2007
+.Dd July 1, 2008
 .Dt GETADDRINFO 3
 .Os
 .Sh NAME
@@ -237,6 +237,11 @@
 .Fa ai_family
 equals
 .Dv AF_INET6 .
+Note: this flag is currently
+.Em not
+supported, see the
+.Sx BUGS
+section.
 .El
 .El
 .Pp
@@ -485,6 +490,18 @@
 .%B "Proceedings of the freenix track: 2000 USENIX annual technical conference"
 .%D June 2000
 .Re
+.Sh BUGS
+The
+.Nm
+function as implemented in
+.Fx
+currently does not support
+.Dv AI_ALL
+and
+.Dv AI_V4MAPPED
+flags and returns
+.Dv EAI_BADFLAGS
+if one of them is specified.
 .Sh STANDARDS
 The
 .Fn getaddrinfo

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/Makefile#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/4/93
-#	$FreeBSD: src/lib/libutil/Makefile,v 1.67 2008/04/23 00:49:12 scf Exp $
+#	$FreeBSD: src/lib/libutil/Makefile,v 1.68 2008/07/01 22:30:57 jhb Exp $
 
 SHLIBDIR?= /lib
 
@@ -9,9 +9,9 @@
 SHLIB_MAJOR= 7
 
 SRCS=	_secure_path.c auth.c gr_util.c expand_number.c flopen.c fparseln.c \
-	humanize_number.c kld.c login.c login_auth.c login_cap.c login_class.c \
-	login_crypt.c login_ok.c login_times.c login_tty.c logout.c \
-	logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \
+	hexdump.c humanize_number.c kld.c login.c login_auth.c login_cap.c \
+	login_class.c login_crypt.c login_ok.c login_times.c login_tty.c \
+	logout.c logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \
 	stub.c trimdomain.c uucplock.c
 INCS=	libutil.h login_cap.h
 

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/libutil.h#2 (text+ko) ====

@@ -33,7 +33,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libutil/libutil.h,v 1.47 2008/04/23 00:49:12 scf Exp $
+ * $FreeBSD: src/lib/libutil/libutil.h,v 1.48 2008/07/01 22:30:57 jhb Exp $
  */
 
 #ifndef _LIBUTIL_H_
@@ -71,6 +71,7 @@
 int	extattr_namespace_to_string(int _attrnamespace, char **_string);
 int	extattr_string_to_namespace(const char *_string, int *_attrnamespace);
 int	flopen(const char *_path, int _flags, ...);
+void	hexdump(const void *ptr, int length, const char *hdr, int flags);
 void	login(struct utmp *_ut);
 int	login_tty(int _fd);
 int	logout(const char *_line);
@@ -171,4 +172,11 @@
 #define HN_GETSCALE		0x10
 #define HN_AUTOSCALE		0x20
 
+/* hexdump(3) */
+#define	HD_COLUMN_MASK		0xff
+#define	HD_DELIM_MASK		0xff00
+#define	HD_OMIT_COUNT		(1 << 16)
+#define	HD_OMIT_HEX		(1 << 17)
+#define	HD_OMIT_CHARS		(1 << 18)
+
 #endif /* !_LIBUTIL_H_ */

==== //depot/projects/soc2008/trasz_nfs4acl/sbin/dhclient/dhclient.c#2 (text+ko) ====

@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/dhclient/dhclient.c,v 1.23 2008/03/22 16:24:02 sam Exp $");
+__FBSDID("$FreeBSD: src/sbin/dhclient/dhclient.c,v 1.24 2008/06/30 20:23:49 ed Exp $");
 
 #include "dhcpd.h"
 #include "privsep.h"
@@ -2612,6 +2612,7 @@
 
 	setproctitle("%s [priv]", ifi->name);
 
+	setsid();
 	dup2(nullfd, STDIN_FILENO);
 	dup2(nullfd, STDOUT_FILENO);
 	dup2(nullfd, STDERR_FILENO);

==== //depot/projects/soc2008/trasz_nfs4acl/sbin/sconfig/sconfig.c#2 (text+ko) ====

@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/sconfig/sconfig.c,v 1.5 2008/02/19 07:09:18 ru Exp $");
+__FBSDID("$FreeBSD: src/sbin/sconfig/sconfig.c,v 1.6 2008/06/30 21:18:27 rik Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -276,6 +276,15 @@
 	system (buf);
 }
 
+static void
+set_debug_ifconfig (int on)
+{
+	char buf [64];
+	sprintf (buf, "ifconfig %s %sdebug 2>/dev/null", chan_name,
+		 on ? "" : "-");
+	system (buf);
+}
+
 static char *
 format_long (unsigned long val)
 {
@@ -724,6 +733,7 @@
 	int i, mode, loop, nrzi, dpll, invclk, phony, use16, crc4, unfram, ami;
 	int higain, clk, keepalive, debug, port, dlci, invrclk, invtclk;
 	int monitor, dir, scrambler, rloop, cablen;
+	int mode_valid;
 	long baud, timeslots, mtu, rqlen;
 
 	for (i=0; i<argc; ++i) {
@@ -792,7 +802,17 @@
 			ioctl (fd, SERIAL_SETPROTO, "zaptel\0");
 		} else if (strncasecmp ("debug=", argv[i], 6) == 0) {
 			debug = strtol (argv[i]+6, 0, 10);
-			ioctl (fd, SERIAL_SETDEBUG, &debug);
+			mode_valid = ioctl (fd, SERIAL_GETMODE, &mode) >= 0;
+			if (!mode_valid || mode != SERIAL_ASYNC) {
+				if (debug == 0) {
+					set_debug_ifconfig(0);
+				} else {
+					ioctl (fd, SERIAL_SETDEBUG, &debug);
+					set_debug_ifconfig(1);
+				}
+			} else {
+				ioctl (fd, SERIAL_SETDEBUG, &debug);
+			}
 		} else if (strncasecmp ("loop=", argv[i], 5) == 0) {
 			loop = (strcasecmp ("on", argv[i] + 5) == 0);
 			ioctl (fd, SERIAL_SETLOOP, &loop);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#4 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.623 2008/06/21 19:19:09 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.624 2008/07/02 05:41:23 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -173,7 +173,6 @@
 vm_offset_t virtual_avail;	/* VA of first avail page (after kernel bss) */
 vm_offset_t virtual_end;	/* VA of last avail page (end of kernel AS) */
 
-static int nkpt;
 static int ndmpdp;
 static vm_paddr_t dmaplimit;
 vm_offset_t kernel_vm_end;
@@ -543,7 +542,6 @@
 	kernel_pmap->pm_root = NULL;
 	kernel_pmap->pm_active = -1;	/* don't allow deactivation */
 	TAILQ_INIT(&kernel_pmap->pm_pvchunk);
-	nkpt = NKPT;
 
 	/*
 	 * Reserve some special page table entries/VA space for temporary
@@ -650,7 +648,7 @@
 	 * page table pages.
 	 */ 
 	pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
-	for (i = 0; i < nkpt; i++) {
+	for (i = 0; i < NKPT; i++) {
 		if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V))
 			continue;
 		mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME);
@@ -1708,10 +1706,8 @@
 	mtx_assert(&kernel_map->system_mtx, MA_OWNED);
 	if (kernel_vm_end == 0) {
 		kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
-		nkpt = 0;
 		while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) {
 			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
-			nkpt++;
 			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
 				kernel_vm_end = kernel_map->max_offset;
 				break;                       
@@ -1725,7 +1721,7 @@
 		pde = pmap_pde(kernel_pmap, kernel_vm_end);
 		if (pde == NULL) {
 			/* We need a new PDP entry */
-			nkpg = vm_page_alloc(NULL, nkpt,
+			nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT,
 			    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
 			if (nkpg == NULL)
 				panic("pmap_growkernel: no memory to grow kernel");
@@ -1749,9 +1745,6 @@
 		    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
 		if (nkpg == NULL)
 			panic("pmap_growkernel: no memory to grow kernel");
-
-		nkpt++;
-
 		pmap_zero_page(nkpg);
 		paddr = VM_PAGE_TO_PHYS(nkpg);
 		newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/boot2/boot2.c#2 (text+ko) ====

@@ -14,7 +14,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.86 2008/02/28 17:08:05 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.87 2008/07/01 11:18:51 nyan Exp $");
 
 #include <sys/param.h>
 #include <sys/disklabel.h>
@@ -472,7 +472,7 @@
 		dsk.slice = WHOLE_DISK_SLICE;
 		if (arg[1] == ',') {
 		    dsk.slice = *arg - '0' + 1;
-		    if (dsk.slice > NDOSPART)
+		    if (dsk.slice > NDOSPART + 1)
 			return -1;
 		    arg += 2;
 		}

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/ceddk.h#2 (text+ko) ====

@@ -13,7 +13,7 @@
  * works or modified versions.
  *
  * $Cronyx: ceddk.h,v 1.2.6.1 2005/11/09 13:01:39 rik Exp $
- * $FreeBSD: src/sys/dev/ce/ceddk.h,v 1.1 2006/01/27 09:02:09 rik Exp $
+ * $FreeBSD: src/sys/dev/ce/ceddk.h,v 1.2 2008/06/30 21:18:27 rik Exp $
  */
 
 #define TAU32_UserContext_Add	void	*sys;
@@ -72,6 +72,7 @@
 	TAU32_UserRequest *rx_queue;
 	TAU32_UserRequest *tx_queue;
 	unsigned char debug;
+	unsigned char debug_shadow;
 	void (*transmit) (struct _ce_chan_t*, void*, int);
 	void (*receive) (struct _ce_chan_t*, unsigned char*, int);
 	void (*error) (struct _ce_chan_t*, int);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/if_ce.c#2 (text+ko) ====

@@ -16,7 +16,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ce/if_ce.c,v 1.9 2007/07/27 11:59:56 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ce/if_ce.c,v 1.11 2008/07/01 14:41:03 dds Exp $");
 
 #include <sys/param.h>
 
@@ -962,8 +962,8 @@
 
 	if (! (ifp->if_flags & IFF_DEBUG))
 		d->chan->debug = 0;
-	else if (! d->chan->debug)
-		d->chan->debug = 1;
+	else
+		d->chan->debug = d->chan->debug_shadow;
 
 	switch (cmd) {
 	default:	   CE_DEBUG2 (d, ("ioctl 0x%lx\n", cmd));   return 0;
@@ -1333,7 +1333,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1374,7 +1374,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1404,7 +1404,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1424,7 +1424,7 @@
 		CE_DEBUG2 (d, ("ioctl: setcfg\n"));
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1526,7 +1526,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1562,7 +1562,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1590,7 +1590,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1614,19 +1614,24 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
 #endif
 		if (error)
 			return error;
+#ifndef	NETGRAPH
+		/*
+		 * The debug_shadow is always greater than zero for logic 
+		 * simplicity.  For switching debug off the IFF_DEBUG is
+		 * responsible.
+		 */
+		d->chan->debug_shadow = (*(int*)data) ? (*(int*)data) : 1;
+		if (d->ifp->if_flags & IFF_DEBUG)
+			d->chan->debug = d->chan->debug_shadow;
+#else
 		d->chan->debug = *(int*)data;
-#ifndef	NETGRAPH
-		if (d->chan->debug)
-			d->ifp->if_flags |= IFF_DEBUG;
-		else
-			d->ifp->if_flags &= ~IFF_DEBUG;
 #endif
 		return 0;
 
@@ -1642,7 +1647,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1668,7 +1673,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1698,7 +1703,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1722,7 +1727,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1750,7 +1755,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1776,7 +1781,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1804,7 +1809,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1832,7 +1837,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1860,7 +1865,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1893,7 +1898,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1920,7 +1925,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1939,7 +1944,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);
@@ -1977,7 +1982,7 @@
 		/* Only for superuser! */
 #if __FreeBSD_version < 500000
 		error = suser (p);
-#elsif __FreeBSD_version < 700000
+#elif __FreeBSD_version < 700000
 		error = suser (td);
 #else
 		error = priv_check (td, PRIV_DRIVER);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/cpddk.h#2 (text+ko) ====

@@ -16,7 +16,7 @@
  * works or modified versions.
  *
  * $Cronyx: cpddk.h,v 1.8.4.20 2004/12/06 16:21:06 rik Exp $
- * $FreeBSD: src/sys/dev/cp/cpddk.h,v 1.4 2005/01/06 01:42:32 imp Exp $
+ * $FreeBSD: src/sys/dev/cp/cpddk.h,v 1.5 2008/06/30 21:18:27 rik Exp $
  */
 #define NBRD		6	/* the maximum number of installed boards */
 #define NCHAN		4	/* the number of channels on the board */
@@ -205,6 +205,7 @@
 	void *tag [NTBUF];		/* system dependent data per buffer */
 	void *sys;			/* system dependent data per channel */
 	unsigned char debug;		/* debug level, 0..2 */
+	unsigned char debug_shadow;	/* debug shadow */
 
 	void (*transmit) (struct _cp_chan_t *c, void *tag, int len);
 	void (*receive) (struct _cp_chan_t *c, unsigned char *data, int len);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/if_cp.c#2 (text+ko) ====

@@ -22,7 +22,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.34 2007/07/27 11:59:56 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.35 2008/06/30 21:18:27 rik Exp $");
 
 #include <sys/param.h>
 #include <sys/ucred.h>
@@ -733,8 +733,8 @@
 
 	if (! (ifp->if_flags & IFF_DEBUG))
 		d->chan->debug = 0;
-	else if (! d->chan->debug)
-		d->chan->debug = 1;
+	else
+		d->chan->debug = d->chan->debug_shadow;
 
 	switch (cmd) {
 	default:	   CP_DEBUG2 (d, ("ioctl 0x%lx\n", cmd));   return 0;
@@ -1349,12 +1349,17 @@
 		error = priv_check (td, PRIV_DRIVER);
 		if (error)
 			return error;
+#ifndef	NETGRAPH
+		/*
+		 * The debug_shadow is always greater than zero for logic 
+		 * simplicity.  For switching debug off the IFF_DEBUG is
+		 * responsible.
+		 */
+		d->chan->debug_shadow = (*(int*)data) ? (*(int*)data) : 1;
+		if (d->ifp->if_flags & IFF_DEBUG)
+			d->chan->debug = d->chan->debug_shadow;
+#else
 		d->chan->debug = *(int*)data;
-#ifndef	NETGRAPH
-		if (d->chan->debug)
-			d->ifp->if_flags |= IFF_DEBUG;
-		else
-			d->ifp->if_flags &= ~IFF_DEBUG;
 #endif
 		return 0;
 

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/ctddk.h#2 (text+ko) ====

@@ -12,7 +12,7 @@
  * all derivative works or modified versions.
  *
  * Cronyx Id: ctddk.h,v 1.1.2.3 2003/12/11 17:33:44 rik Exp $
- * $FreeBSD: src/sys/dev/ctau/ctddk.h,v 1.2 2005/01/06 01:42:33 imp Exp $
+ * $FreeBSD: src/sys/dev/ctau/ctddk.h,v 1.3 2008/06/30 21:18:27 rik Exp $
  */
 #define NBRD		3	/* the maximum number of installed boards */
 #define NPORT		32	/* the number of i/o ports per board */
@@ -412,6 +412,7 @@
 	void *attach [NBUF];		/* system dependent data per buffer */
 	void *sys;			/* system dependent data per channel */
 	int debug;
+	int debug_shadow;
 
 	int e1_first_int;
 	unsigned char *sccrx, *scctx;  /* pointers to SCC rx and tx buffers */

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/if_ct.c#2 (text+ko) ====

@@ -22,7 +22,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.35 2007/10/12 06:03:43 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.36 2008/06/30 21:18:27 rik Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -949,8 +949,8 @@
 
 	if (! (ifp->if_flags & IFF_DEBUG))
 		d->chan->debug = 0;
-	else if (! d->chan->debug)
-		d->chan->debug = 1;
+	else
+		d->chan->debug = d->chan->debug_shadow;
 
 	switch (cmd) {
 	default:	   CT_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0;
@@ -1529,12 +1529,17 @@
 		error = priv_check (td, PRIV_DRIVER);
 		if (error)
 			return error;
+#ifndef	NETGRAPH
+		/*
+		 * The debug_shadow is always greater than zero for logic 
+		 * simplicity.  For switching debug off the IFF_DEBUG is
+		 * responsible.
+		 */
+		c->debug_shadow = (*(int*)data) ? (*(int*)data) : 1;
+		if (d->ifp->if_flags & IFF_DEBUG)
+			c->debug = c->debug_shadow;
+#else
 		c->debug = *(int*)data;
-#ifndef	NETGRAPH
-		if (d->chan->debug)
-			d->ifp->if_flags |= IFF_DEBUG;
-		else
-			d->ifp->if_flags &= (~IFF_DEBUG);
 #endif
 		return 0;
 

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/cxddk.h#2 (text+ko) ====

@@ -15,7 +15,7 @@
  * all derivative works or modified versions.
  *
  * Cronyx Id: cxddk.h,v 1.1.2.1 2003/11/12 17:13:41 rik Exp $
- * $FreeBSD: src/sys/dev/cx/cxddk.h,v 1.2 2005/01/06 01:42:34 imp Exp $
+ * $FreeBSD: src/sys/dev/cx/cxddk.h,v 1.3 2008/06/30 21:18:27 rik Exp $
  */
 
 #ifndef port_t
@@ -337,6 +337,7 @@
 
 	void *sys;
 	int debug;
+	int debug_shadow;
 	void *attach [2];
 	char *received_data;
 	int received_len;

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/if_cx.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.58 2007/10/12 06:03:43 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.59 2008/06/30 21:18:27 rik Exp $");
 
 #include <sys/param.h>
 
@@ -1102,10 +1102,14 @@
 	if (error)
 		return error;
 
+	s = splhigh ();
+	CX_LOCK (bd);
 	if (! (ifp->if_flags & IFF_DEBUG))
 		d->chan->debug = 0;
-	else if (! d->chan->debug)
-		d->chan->debug = 1;
+	else
+		d->chan->debug = d->chan->debug_shadow;
+	CX_UNLOCK (bd);
+	splx (s);
 
 	switch (cmd) {
 	default:	   CX_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0;
@@ -1745,6 +1749,8 @@
 			cx_enable_receive (c, 0);
 			cx_enable_transmit (c, 0);
 		} else if (c->mode == M_ASYNC && *(int*)data == SERIAL_HDLC) {
+			if (d->ifp->if_flags & IFF_DEBUG)
+				c->debug = c->debug_shadow;
 			cx_set_mode (c, M_HDLC);
 			cx_enable_receive (c, 1);
 			cx_enable_transmit (c, 1);
@@ -1913,15 +1919,24 @@
 			return error;
 		s = splhigh ();
 		CX_LOCK (bd);
+#ifndef	NETGRAPH
+		if (c->mode == M_ASYNC) {
+			c->debug = *(int*)data;
+		} else {
+			/*
+			 * The debug_shadow is always greater than zero for
+			 * logic simplicity.  For switching debug off the
+			 * IFF_DEBUG is responsible (for !M_ASYNC mode).
+			 */
+			c->debug_shadow = (*(int*)data) ? (*(int*)data) : 1;
+			if (d->ifp->if_flags & IFF_DEBUG)
+				c->debug = c->debug_shadow;
+		}
+#else
 		c->debug = *(int*)data;
+#endif
 		CX_UNLOCK (bd);
 		splx (s);
-#ifndef	NETGRAPH
-		if (d->chan->debug)
-			d->ifp->if_flags |= IFF_DEBUG;
-		else
-			d->ifp->if_flags &= (~IFF_DEBUG);
-#endif
 		return 0;
 	}
 

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephy.c#2 (text+ko) ====

@@ -31,10 +31,10 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mii/rgephy.c,v 1.19 2008/03/05 01:15:10 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mii/rgephy.c,v 1.20 2008/07/02 08:10:18 yongari Exp $");
 
 /*
- * Driver for the RealTek 8169S/8110S/8211B internal 10/100/1000 PHY.
+ * Driver for the RealTek 8169S/8110S/8211B/8211C internal 10/100/1000 PHY.
  */
 
 #include <sys/param.h>
@@ -531,6 +531,18 @@
 static void
 rgephy_reset(struct mii_softc *sc)
 {
+	struct rgephy_softc *rsc;
+	uint16_t ssr;
+
+	rsc = (struct rgephy_softc *)sc;
+	if (rsc->mii_revision == 3) {
+		/* RTL8211C(L) */
+		ssr = PHY_READ(sc, RGEPHY_MII_SSR);
+		if ((ssr & RGEPHY_SSR_ALDPS) != 0) {
+			ssr &= ~RGEPHY_SSR_ALDPS;
+			PHY_WRITE(sc, RGEPHY_MII_SSR, ssr);
+		}
+	}
 
 	mii_phy_reset(sc);
 	DELAY(1000);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephyreg.h#2 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/mii/rgephyreg.h,v 1.3 2007/10/29 02:17:07 yongari Exp $
+ * $FreeBSD: src/sys/dev/mii/rgephyreg.h,v 1.4 2008/07/02 08:10:18 yongari Exp $
  */
 
 #ifndef _DEV_MII_RGEPHYREG_H_
@@ -137,7 +137,7 @@
 #define RGEPHY_EXTSTS_T_FD_CAP	0x2000	/* 1000base-T FD capable */
 #define RGEPHY_EXTSTS_T_HD_CAP	0x1000	/* 1000base-T HD capable */
 
-/* RTL8211B(L) */
+/* RTL8211B(L)/RTL8211C(L) */
 #define RGEPHY_MII_SSR		0x11	/* PHY Specific status register */
 #define	RGEPHY_SSR_S1000	0x8000	/* 1000Mbps */
 #define	RGEPHY_SSR_S100		0x4000	/* 100Mbps */
@@ -148,6 +148,7 @@
 #define	RGEPHY_SSR_SPD_DPLX_RESOLVED	0x0800	/* speed/duplex resolved */
 #define	RGEPHY_SSR_LINK		0x0400	/* link up */
 #define	RGEPHY_SSR_MDI_XOVER	0x0040	/* MDI crossover */
+#define	RGEPHY_SSR_ALDPS	0x0008	/* RTL8211C(L) only */
 #define	RGEPHY_SSR_JABBER	0x0001	/* Jabber */
 
 #endif /* _DEV_RGEPHY_MIIREG_H_ */

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_pci.c#2 (text+ko) ====

@@ -99,7 +99,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.52 2008/05/10 01:27:23 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.53 2008/07/01 19:44:38 jhb Exp $");
 
 #include <dev/mpt/mpt.h>
 #include <dev/mpt/mpt_cam.h>
@@ -688,7 +688,7 @@
 		mpt_free_bus_resources(mpt);
 		mpt_raid_free_mem(mpt);
 		if (mpt->eh != NULL) {
-                        EVENTHANDLER_DEREGISTER(shutdown_final, mpt->eh);
+                        EVENTHANDLER_DEREGISTER(shutdown_post_sync, mpt->eh);
 		}
 	}
 	return(0);

==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_user.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_user.c,v 1.1 2008/05/06 20:49:52 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_user.c,v 1.2 2008/07/01 19:48:15 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -47,6 +47,13 @@
 	uint16_t	action_status;
 };
 
+struct mpt_page_memory {
+	bus_dma_tag_t	tag;
+	bus_dmamap_t	map;
+	bus_addr_t	paddr;
+	void		*vaddr;
+};
+
 static mpt_probe_handler_t	mpt_user_probe;
 static mpt_attach_handler_t	mpt_user_attach;
 static mpt_enable_handler_t	mpt_user_enable;
@@ -180,6 +187,56 @@
 }
 
 static int
+mpt_alloc_buffer(struct mpt_softc *mpt, struct mpt_page_memory *page_mem,
+    size_t len)
+{
+	struct mpt_map_info mi;
+	int error;
+
+	page_mem->vaddr = NULL;
+
+	/* Limit requests to 16M. */
+	if (len > 16 * 1024 * 1024)
+		return (ENOSPC);
+	error = mpt_dma_tag_create(mpt, mpt->parent_dmat, 1, 0,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    len, 1, len, 0, &page_mem->tag);
+	if (error)
+		return (error);
+	error = bus_dmamem_alloc(page_mem->tag, &page_mem->vaddr,
+	    BUS_DMA_NOWAIT, &page_mem->map);
+	if (error) {
+		bus_dma_tag_destroy(page_mem->tag);
+		return (error);
+	}
+	mi.mpt = mpt;
+	error = bus_dmamap_load(page_mem->tag, page_mem->map, page_mem->vaddr,
+	    len, mpt_map_rquest, &mi, BUS_DMA_NOWAIT);
+	if (error == 0)
+		error = mi.error;
+	if (error) {
+		bus_dmamem_free(page_mem->tag, page_mem->vaddr, page_mem->map);
+		bus_dma_tag_destroy(page_mem->tag);
+		page_mem->vaddr = NULL;
+		return (error);
+	}
+	page_mem->paddr = mi.phys;
+	return (0);
+}
+
+static void
+mpt_free_buffer(struct mpt_page_memory *page_mem)
+{
+
+	if (page_mem->vaddr == NULL)
+		return;
+	bus_dmamap_unload(page_mem->tag, page_mem->map);
+	bus_dmamem_free(page_mem->tag, page_mem->vaddr, page_mem->map);
+	bus_dma_tag_destroy(page_mem->tag);
+	page_mem->vaddr = NULL;
+}
+
+static int
 mpt_user_read_cfg_header(struct mpt_softc *mpt,
     struct mpt_cfg_page_req *page_req)
 {
@@ -225,7 +282,7 @@
 
 static int
 mpt_user_read_cfg_page(struct mpt_softc *mpt, struct mpt_cfg_page_req *page_req,
-    void *mpt_page)
+    struct mpt_page_memory *mpt_page)
 {
 	CONFIG_PAGE_HEADER *hdr;
 	request_t    *req;
@@ -238,15 +295,14 @@
 		return (ENOMEM);
 	}
 
-	hdr = mpt_page;
+	hdr = mpt_page->vaddr;
 	params.Action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT;
 	params.PageVersion = hdr->PageVersion;
 	params.PageLength = hdr->PageLength;
 	params.PageNumber = hdr->PageNumber;
 	params.PageType = hdr->PageType & MPI_CONFIG_PAGETYPE_MASK;
 	params.PageAddress = page_req->page_address;
-	error = mpt_issue_cfg_req(mpt, req, &params,
-				  req->req_pbuf + MPT_RQSL(mpt),
+	error = mpt_issue_cfg_req(mpt, req, &params, mpt_page->paddr,
 				  page_req->len, TRUE, 5000);
 	if (error != 0) {
 		mpt_prt(mpt, "mpt_user_read_cfg_page timed out\n");

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list