Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Jun 2007 06:20:50 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 122132 for review
Message-ID:  <200706220620.l5M6KocJ051819@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=122132

Change 122132 by imp@imp_paco-paco on 2007/06/22 06:20:45

	IFC @122130

Affected files ...

.. //depot/projects/arm/src/contrib/less/NEWS#4 integrate
.. //depot/projects/arm/src/contrib/less/README#4 integrate
.. //depot/projects/arm/src/contrib/less/cmdbuf.c#4 integrate
.. //depot/projects/arm/src/contrib/less/command.c#4 integrate
.. //depot/projects/arm/src/contrib/less/forwback.c#4 integrate
.. //depot/projects/arm/src/contrib/less/less.man#4 integrate
.. //depot/projects/arm/src/contrib/less/less.nro#4 integrate
.. //depot/projects/arm/src/contrib/less/lessecho.man#3 integrate
.. //depot/projects/arm/src/contrib/less/lessecho.nro#3 integrate
.. //depot/projects/arm/src/contrib/less/lesskey.man#4 integrate
.. //depot/projects/arm/src/contrib/less/lesskey.nro#4 integrate
.. //depot/projects/arm/src/contrib/less/main.c#5 integrate
.. //depot/projects/arm/src/contrib/less/optfunc.c#4 integrate
.. //depot/projects/arm/src/contrib/less/screen.c#4 integrate
.. //depot/projects/arm/src/contrib/less/version.c#4 integrate
.. //depot/projects/arm/src/etc/devd.conf#6 integrate
.. //depot/projects/arm/src/etc/rc.resume#2 integrate
.. //depot/projects/arm/src/etc/rc.suspend#2 integrate
.. //depot/projects/arm/src/lib/libc/net/sctp_connectx.3#3 integrate
.. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#14 integrate
.. //depot/projects/arm/src/share/man/man9/lock.9#5 integrate
.. //depot/projects/arm/src/share/man/man9/locking.9#4 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi.c#23 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpiio.h#5 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpivar.h#12 integrate
.. //depot/projects/arm/src/sys/dev/sound/usb/uaudio.c#15 integrate
.. //depot/projects/arm/src/sys/dev/usb/ehci.c#15 integrate
.. //depot/projects/arm/src/sys/dev/usb/ehci_pci.c#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/hid.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_aue.c#14 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_rue.c#7 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_rum.c#4 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_udav.c#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_ural.c#23 integrate
.. //depot/projects/arm/src/sys/dev/usb/ohci.c#16 integrate
.. //depot/projects/arm/src/sys/dev/usb/ohci_pci.c#10 integrate
.. //depot/projects/arm/src/sys/dev/usb/sl811hs.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/slhci_pccard.c#3 integrate
.. //depot/projects/arm/src/sys/dev/usb/uark.c#3 integrate
.. //depot/projects/arm/src/sys/dev/usb/ubsa.c#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/ubser.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/ucom.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/ucycom.c#4 integrate
.. //depot/projects/arm/src/sys/dev/usb/udbp.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/ufm.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/ufoma.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/uftdi.c#8 integrate
.. //depot/projects/arm/src/sys/dev/usb/uhci_pci.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/uhid.c#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/uhub.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/uipaq.c#4 integrate
.. //depot/projects/arm/src/sys/dev/usb/ukbd.c#10 integrate
.. //depot/projects/arm/src/sys/dev/usb/ulpt.c#6 integrate
.. //depot/projects/arm/src/sys/dev/usb/umass.c#17 integrate
.. //depot/projects/arm/src/sys/dev/usb/umodem.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/ums.c#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/uplcom.c#15 integrate
.. //depot/projects/arm/src/sys/dev/usb/urio.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb.c#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb_mem.c#7 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb_port.h#9 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb_quirks.c#14 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb_quirks.h#7 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb_subr.c#16 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdevs#33 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdi.c#10 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdi_util.c#5 integrate
.. //depot/projects/arm/src/sys/dev/usb/uscanner.c#11 integrate
.. //depot/projects/arm/src/sys/dev/usb/uvisor.c#8 integrate
.. //depot/projects/arm/src/sys/dev/usb/uvscom.c#9 integrate
.. //depot/projects/arm/src/sys/i386/acpica/acpi_machdep.c#8 integrate
.. //depot/projects/arm/src/sys/kern/kern_conf.c#11 integrate
.. //depot/projects/arm/src/sys/kern/subr_unit.c#4 integrate
.. //depot/projects/arm/src/sys/modules/slhci/Makefile#2 integrate
.. //depot/projects/arm/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#4 integrate
.. //depot/projects/arm/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#7 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/busdma_machdep.c#6 integrate
.. //depot/projects/arm/src/usr.sbin/acpi/acpiconf/acpiconf.c#2 integrate

Differences ...

==== //depot/projects/arm/src/contrib/less/NEWS#4 (text+ko) ====

@@ -13,7 +13,7 @@
 ======================================================================
 
 
-	Major changes between "less" versions 394 and 403
+	Major changes between "less" versions 394 and 406
 
 * Allow decimal point in number for % (percent) command.
 

==== //depot/projects/arm/src/contrib/less/README#4 (text+ko) ====

@@ -1,7 +1,7 @@
 
-                            Less, version 403
+                            Less, version 406
 
-    This is the distribution of less, version 403, released 25 May 2007.
+    This is the distribution of less, version 406, released 19 Jun 2007.
     This program is part of the GNU project (http://www.gnu.org).
 
     This program is free software.  You may redistribute it and/or

==== //depot/projects/arm/src/contrib/less/cmdbuf.c#4 (text+ko) ====

@@ -1390,11 +1390,14 @@
 		}
 		if (strcmp(line, HISTFILE_SEARCH_SECTION) == 0)
 			ml = &mlist_search;
+		else if (strcmp(line, HISTFILE_SHELL_SECTION) == 0)
+		{
 #if SHELL_ESCAPE || PIPEC
-		else if (strcmp(line, HISTFILE_SHELL_SECTION) == 0)
 			ml = &mlist_shell;
+#else
+			ml = NULL;
 #endif
-		else if (*line == '"')
+		} else if (*line == '"')
 		{
 			if (ml != NULL)
 				cmd_addhist(ml, line+1);
@@ -1444,11 +1447,18 @@
 #if CMD_HISTORY
 	char *filename;
 	FILE *f;
+	int modified = 0;
 
 	filename = histfile_name();
 	if (filename == NULL)
 		return;
-	if (!mlist_search.modified && !mlist_shell.modified)
+	if (mlist_search.modified)
+		modified = 1;
+#if SHELL_ESCAPE || PIPEC
+	if (mlist_shell.modified)
+		modified = 1;
+#endif
+	if (!modified)
 		return;
 	f = fopen(filename, "w");
 	free(filename);

==== //depot/projects/arm/src/contrib/less/command.c#4 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/less/command.c,v 1.7 2007/06/04 01:43:11 delphij Exp $ */
+/* $FreeBSD: src/contrib/less/command.c,v 1.8 2007/06/21 10:44:50 delphij Exp $ */
 /*
  * Copyright (C) 1984-2007  Mark Nudelman
  *
@@ -87,7 +87,7 @@
 cmd_exec()
 {
 	clear_attn();
-	line_left();
+	clear_bot();
 	flush();
 }
 

==== //depot/projects/arm/src/contrib/less/forwback.c#4 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/less/forwback.c,v 1.6 2007/06/04 01:43:11 delphij Exp $ */
+/* $FreeBSD: src/contrib/less/forwback.c,v 1.7 2007/06/21 10:44:50 delphij Exp $ */
 /*
  * Copyright (C) 1984-2007  Mark Nudelman
  *
@@ -142,9 +142,6 @@
 				clear();
 				home();
 			}
-		} else
-		{
-			clear_bot();
 		}
 
 		if (pos != position(BOTTOM_PLUS_ONE) || empty_screen())

==== //depot/projects/arm/src/contrib/less/less.man#4 (text+ko) ====

@@ -1544,4 +1544,4 @@
 
 
 
-                           Version 403: 25 May 2007                    LESS(1)
+                           Version 406: 19 Jun 2007                    LESS(1)

==== //depot/projects/arm/src/contrib/less/less.nro#4 (text+ko) ====

@@ -1,4 +1,4 @@
-.TH LESS 1 "Version 403: 25 May 2007"
+.TH LESS 1 "Version 406: 19 Jun 2007"
 .SH NAME
 less \- opposite of more
 .SH SYNOPSIS

==== //depot/projects/arm/src/contrib/less/lessecho.man#3 (text+ko) ====

@@ -46,4 +46,4 @@
 
 
 
-                           Version 403: 25 May 2007                LESSECHO(1)
+                           Version 406: 19 Jun 2007                LESSECHO(1)

==== //depot/projects/arm/src/contrib/less/lessecho.nro#3 (text+ko) ====

@@ -1,4 +1,4 @@
-.TH LESSECHO 1 "Version 403: 25 May 2007"
+.TH LESSECHO 1 "Version 406: 19 Jun 2007"
 .SH NAME
 lessecho \- expand metacharacters
 .SH SYNOPSIS

==== //depot/projects/arm/src/contrib/less/lesskey.man#4 (text+ko) ====

@@ -357,4 +357,4 @@
 
 
 
-                           Version 403: 25 May 2007                 LESSKEY(1)
+                           Version 406: 19 Jun 2007                 LESSKEY(1)

==== //depot/projects/arm/src/contrib/less/lesskey.nro#4 (text+ko) ====

@@ -1,4 +1,4 @@
-.TH LESSKEY 1 "Version 403: 25 May 2007"
+.TH LESSKEY 1 "Version 406: 19 Jun 2007"
 .SH NAME
 lesskey \- specify key bindings for less
 .SH SYNOPSIS

==== //depot/projects/arm/src/contrib/less/main.c#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/less/main.c,v 1.7 2007/06/16 02:43:44 delphij Exp $ */
+/* $FreeBSD: src/contrib/less/main.c,v 1.8 2007/06/21 10:39:24 delphij Exp $ */
 /*
  * Copyright (C) 1984-2007  Mark Nudelman
  *
@@ -142,7 +142,8 @@
 	if (s != NULL)
 		scan_option(save(s));
 
-#define	isoptstring(s)	(((s)[0] == '-' || (s)[0] == '+') && (s)[1] != '\0')
+#define	isoptstring(s)	less_is_more   ? (((s)[0] == '-') && (s)[1] != '\0') : \
+			(((s)[0] == '-' || (s)[0] == '+') && (s)[1] != '\0')
 	while (argc > 0 && (isoptstring(*argv) || isoptpending()))
 	{
 		s = *argv++;

==== //depot/projects/arm/src/contrib/less/optfunc.c#4 (text+ko) ====

@@ -45,6 +45,9 @@
 extern char *wproto;
 extern IFILE curr_ifile;
 extern char version[];
+extern int jump_sline;
+extern int jump_sline_fraction;
+extern int less_is_more;
 #if LOGFILE
 extern char *namelogfile;
 extern int force_logfile;
@@ -53,9 +56,6 @@
 #if TAGS
 public char *tagoption = NULL;
 extern char *tags;
-extern int jump_sline;
-extern int jump_sline_fraction;
-extern int less_is_more;
 #endif
 #if MSDOS_COMPILER
 extern int nm_fg_color, nm_bg_color;

==== //depot/projects/arm/src/contrib/less/screen.c#4 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/less/screen.c,v 1.6 2007/06/04 01:43:11 delphij Exp $ */
+/* $FreeBSD: src/contrib/less/screen.c,v 1.7 2007/06/21 10:44:50 delphij Exp $ */
 /*
  * Copyright (C) 1984-2007  Mark Nudelman
  *
@@ -626,7 +626,25 @@
 	char *capname;
 {
 	char name[16];
+	char *s;
 
+	s = lgetenv("LESS_TERMCAP_DEBUG");
+	if (s != NULL && *s != '\0')
+	{
+		struct env { struct env *next; char *name; char *value; };
+		static struct env *envs = NULL;
+		struct env *p;
+		for (p = envs;  p != NULL;  p = p->next)
+			if (strcmp(p->name, capname) == 0)
+				return p->value;
+		p = (struct env *) ecalloc(1, sizeof(struct env));
+		p->name = save(capname);
+		p->value = (char *) ecalloc(strlen(capname)+3, sizeof(char));
+		sprintf(p->value, "<%s>", capname);
+		p->next = envs;
+		envs = p;
+		return p->value;
+	}
 	strcpy(name, "LESS_TERMCAP_");
 	strcat(name, capname);
 	return (lgetenv(name));

==== //depot/projects/arm/src/contrib/less/version.c#4 (text+ko) ====

@@ -690,6 +690,9 @@
 v402  3/30/07	Fix autoconf bug when memcpy etc are inline;
 		fix bug in terminating number following -j option.
 v403  5/25/07	Fix Windows build.
+v404  6/5/07	Fix display bug with F command and long lines.
+v405  6/17/07	Fix display bug when using -w option.
+v406  6/17/07	Fix secure build.
 */
 
-char version[] = "403";
+char version[] = "406";

==== //depot/projects/arm/src/etc/devd.conf#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/devd.conf,v 1.37 2007/04/08 16:05:23 pjd Exp $
+# $FreeBSD: src/etc/devd.conf,v 1.38 2007/06/21 22:50:36 njl Exp $
 #
 # Refer to devd.conf(5) and devd(8) man pages for the details on how to
 # run and configure devd.
@@ -258,6 +258,19 @@
 	action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'";
 };
 
+# User requested suspend, so perform preparation steps and then execute
+# the actual suspend process.
+notify 10 {
+	match "system"		"ACPI";
+	match "subsystem"	"Suspend";
+	action "/etc/rc.suspend acpi $notify";
+};
+notify 10 {
+	match "system"		"ACPI";
+	match "subsystem"	"Resume";
+	action "/etc/rc.resume acpi $notify";
+};
+
 /* EXAMPLES TO END OF FILE
 
 # The following might be an example of something that a vendor might
@@ -296,6 +309,7 @@
 # Button:	Button pressed (0 for power, 1 for sleep)
 # CMBAT:	ACPI battery events
 # Lid:		Lid state (0 is closed, 1 is open)
+# Suspend, Resume: Suspend and resume notification
 # Thermal:	ACPI thermal zone events
 #
 # This example calls a script when the AC state changes, passing the

==== //depot/projects/arm/src/etc/rc.resume#2 (text+ko) ====

@@ -24,13 +24,13 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.resume,v 1.7 2003/12/30 17:30:39 njl Exp $
+# $FreeBSD: src/etc/rc.resume,v 1.8 2007/06/21 22:50:36 njl Exp $
 #
 
 # sample run command file for APM Resume Event
 
 if [ $# -ne 2 ]; then
-	echo "Usage: $0 [apm|acpi] [standby,suspend|1-5]"
+	echo "Usage: $0 [apm|acpi] [standby,suspend|1-4]"
 	exit 1
 fi
 
@@ -48,9 +48,13 @@
 # pccardq | awk -F '~' '$5 == "inactive" \
 #	{ printf("pccardc power %d 1", $1); }' | sh
 
-# UHCI has trouble resuming so we just load/unload it.  You
-# should add any other kernel modules you want reloaded here.
-# kldload usb
+# If a device driver has problems resuming, try unloading it before
+# suspend and reloading it on resume.  Example:
+# kldunload usb
+
+# wpa_supplicant(8) doesn't seem to reassociate during resume.  Uncomment
+# the following to signal it to reassociate.
+# /usr/sbin/wpa_cli reassociate
 
 logger -t $subsystem resumed at `date +'%Y%m%d %H:%M:%S'`
 sync && sync && sync

==== //depot/projects/arm/src/etc/rc.suspend#2 (text+ko) ====

@@ -24,13 +24,13 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.suspend,v 1.6 2004/01/21 03:03:40 njl Exp $
+# $FreeBSD: src/etc/rc.suspend,v 1.7 2007/06/21 22:50:36 njl Exp $
 #
 
 # sample run command file for APM Suspend Event
 
 if [ $# -ne 2 ]; then
-	echo "Usage: $0 [apm|acpi] [standby,suspend|1-5]"
+	echo "Usage: $0 [apm|acpi] [standby,suspend|1-4]"
 	exit 1
 fi
 
@@ -48,15 +48,20 @@
 # pccardq | awk -F '~' '$5 == "filled" && $4 ~ /sio/ \
 #	{ printf("pccardc power %d 0", $1); }' | sh
 
-# UHCI has trouble resuming so we just load/unload it.  You
-# should add any other kernel modules you want unloaded here.
+# If a device driver has problems suspending, try unloading it before
+# suspend and reloading it on resume.  Example:
 # kldunload usb
 
 logger -t $subsystem suspend at `date +'%Y%m%d %H:%M:%S'`
 sync && sync && sync
-[ $subsystem = "apm" ] && sleep 3
+sleep 3
 
 rm -f /var/run/rc.suspend.pid
-[ $subsystem = "apm" ] && zzz
+if [ $subsystem = "apm" ]; then
+	/usr/sbin/zzz
+else
+	# Notify the kernel to continue the suspend process
+	/usr/sbin/acpiconf -k 0
+fi
 
 exit 0

==== //depot/projects/arm/src/lib/libc/net/sctp_connectx.3#3 (text+ko) ====

@@ -29,9 +29,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/net/sctp_connectx.3,v 1.3 2007/06/18 10:20:32 brueffer Exp $
+.\" $FreeBSD: src/lib/libc/net/sctp_connectx.3,v 1.5 2007/06/19 16:29:46 brueffer Exp $
 .\"
-.Dd December 15, 2006
+.Dd June 19, 2007
 .Dt SCTP_CONNECTX 3
 .Os
 .Sh NAME
@@ -44,7 +44,7 @@
 .In sys/socket.h
 .In netinet/sctp.h
 .Ft int
-.Fn sctp_connectx "int s" "struct sockaddr *" "int addrcnt"
+.Fn sctp_connectx "int s" "struct sockaddr *" "int addrcnt" "sctp_assoc_t *"
 .Sh DESCRIPTION
 The
 .Fn sctp_connectx
@@ -73,6 +73,12 @@
 the extra addresses sent in the
 .Fn sctp_connectx
 call will be silently discarded from the association.
+On
+successful completion the provided
+.Fa "sctp_assoc_t *"
+will be
+filled in with the association identification of the newly
+forming association.
 .Sh RETURN VALUES
 The call returns 0 on success and -1 upon failure.
 .Sh ERRORS

==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#14 (text+ko) ====

@@ -30,7 +30,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1041 2007/06/18 12:03:02 yar Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1045 2007/06/21 20:27:23 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -305,8 +305,9 @@
 
     <para>Security event auditing is now supported in the &os; kernel,
       and is enabled by the <literal>AUDIT</literal> kernel
-      configuration option.  More information can be found in the
-      &man.audit.4; manual page.</para>
+      configuration option.  The option is enabled in the
+      <filename>GENERIC</filename> kernel.  More information can be found
+      in the &man.audit.4; manual page.</para>
 
     <para>Support for the Camellia block cipher has been added to the
       &os; kernel.  It can now be specified as a cipher in IPsec.  More
@@ -587,6 +588,8 @@
 	page.
 	&merged;</para>
 
+      <para>The &man.firewire.4; code is now MPSAFE.</para>
+
       <para>icee(4), a generic I2C EEPROM driver, has been added.</para>
 
       <para>A bug which prevented the &man.ichsmb.4; kernel module
@@ -793,6 +796,8 @@
 	<para>The IP over FireWire (&man.fwip.4;) driver is now enabled in
 	  the <filename>GENERIC</filename> kernel.</para>
 
+	<para>The &man.gem.4; driver now supports &man.altq.4;.</para>
+
 	<para>The firmware images needed by the &man.ipw.4; driver are now
 	  part of the &os; base system.  For the loaded firmware to work the
 	  license at <filename>/usr/share/doc/legal/intel_ipw/LICENSE</filename>
@@ -846,7 +851,7 @@
 	<para>[&arch.amd64;, &arch.i386;] The &man.mxge.4; driver,
 	  which supports Myricom Myri10GE 10 Gigabit Ethernet
 	  adapters, has been added.  For more details, see
-	  &man.mxge.4;.</para>
+	  &man.mxge.4;.  &merged;</para>
 
 	<para>The &man.nfe.4; driver, an open-source driver for nForce
 	  Ethernet devices, has been added, originally from
@@ -1134,8 +1139,10 @@
 
       <para>Support has been added for the Stream Control Transmission
 	Protocol (SCTP).  SCTP implements a reliable, message-oriented
-	transport protocol, and is defined in RFC 3268.  It is enabled
-	in &os; with the <literal>SCTP</literal> kernel option.</para>
+	transport protocol, and is defined in RFC 4960.  It is enabled
+	in &os; with the <literal>SCTP</literal> kernel option and is
+	part of the <filename>GENERIC</filename> kernel.  More
+	information can be found in the &man.sctp.4; manual page.</para>
 
       <para>The <literal>IPV6_V6ONLY</literal> socket option
 	now works for UDP.</para>
@@ -1316,6 +1323,12 @@
 
       <para>The &man.mpt.4; driver is now MPSAFE.</para>
 
+      <para>[&arch.amd64;, &arch.i386;] Experimental support for the
+	TMPFS file system has been added.  TMPFS is an efficient
+	memory file system originally developed for the NetBSD project
+	during the Google Summer of Code.  More information can be
+	found in the &man.tmpfs.5; manual page.</para>
+
       <para>The &man.twa.4; driver has been updated to the 3.70.03.007
 	release on the 3ware Web site.  It now supports AMCC's 3ware
 	9650 series of SATA controllers.  &merged;</para>
@@ -1492,6 +1505,9 @@
       in the C language.  Note that it currently supports checkout mode
       only. &merged;</para>
 
+    <para>The &man.dhclient.8; program now supports the Classless Static
+      Route option as described in RFC 3442.</para>
+
     <para>The &man.dhclient.8; program now sends the host's name in
       DHCP requests if it is not specified in the configuration
       file. &merged;</para>
@@ -1696,7 +1712,14 @@
       programs.  Due to the use of different algorithms and data
       structures, jemalloc may expose some previously-unknown bugs in
       userland code, although most of the &os; base system and common
-      ports have been tested and/or fixed.</para>
+      ports have been tested and/or fixed.  Note that jemalloc uses
+      &man.mmap.2; to obtain memory and only uses &man.sbrk.2; under
+      limited circumstances (and then only for 32-bit architectures).
+      As a result, the <literal>datasize</literal> resource limit
+      has little practical effect for typical applications.  The
+      <literal>vmemoryuse</literal> resource limit, however, can be
+      used to bound the total virtual memory used by a process, as
+      described in &man.limits.1;.</para>
 
     <para>The &man.mdconfig.8; utility now supports producing
       device listings formatted as XML.  Currently, the
@@ -1765,6 +1788,9 @@
       differs depending on which stack is compiled into
       the kernel since they each keep different statistics.  &merged;</para>
 
+    <para>The &man.netstat.1; utility now supports printing
+      &man.sctp.4; protocol statistics.</para>
+
     <para>The <filename>/etc/nsswitch.conf</filename> file is now
       installed statically instead of being generated on every
       reboot.</para>
@@ -1931,7 +1957,7 @@
       flag to display the &man.jail.8; ID for each process.  &merged;</para>
 
     <para>The &man.touch.1; utility now supports a <option>-A</option>
-      flag that allows the access and modification times of a file be
+      flag that allows the access and modification times of a file to be
       adjusted by a specified value.  &merged;</para>
 
     <para>The &man.traceroute.8; program now supports
@@ -2117,7 +2143,7 @@
       1.0.3 to 1.0.4.</para>
 
     <para>GNU <application>Diffutils</application> has been updated
-      to 2.8.7.</para>
+      from 2.7 to 2.8.7.</para>
 
     <para><application>DRM</application> has
       been updated to a snapshot from DRI CVS as of 20060517.
@@ -2135,7 +2161,7 @@
 
     <para><application>netcat</application> has been updated from the
       version in a 4 February 2005 OpenBSD snapshot to the version
-      included in OpenBSD 4.1.</para>
+      included in OpenBSD 4.1.  &merged;</para>
 
     <para><application>GCC</application> has been updated from 3.4.4
       to 4.2.0.</para>
@@ -2151,7 +2177,7 @@
       4.1.8 to 4.1.23.</para>
 
     <para><application>less</application> has been updated from v381
-      to v403.</para>
+      to v406.</para>
 
     <para><application>libpcap</application> has been updated from
       0.9.1 to 0.9.4. &merged;</para>

==== //depot/projects/arm/src/share/man/man9/lock.9#5 (text+ko) ====

@@ -24,7 +24,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/lock.9,v 1.16 2007/03/30 18:07:26 julian Exp $
+.\" $FreeBSD: src/share/man/man9/lock.9,v 1.17 2007/06/21 16:39:25 brueffer Exp $
 .\"
 .Dd June 20, 2006
 .Dt LOCK 9
@@ -273,7 +273,6 @@
 will be the result of trying.
 .Sh SEE ALSO
 .Xr condvar 9 ,
-.Xr mutex 9 ,
 .Xr locking 9 ,
 .Xr mutex 9 ,
 .Xr rwlock 9 ,

==== //depot/projects/arm/src/share/man/man9/locking.9#4 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/locking.9,v 1.9 2007/06/01 03:11:47 delphij Exp $
+.\" $FreeBSD: src/share/man/man9/locking.9,v 1.10 2007/06/21 16:39:25 brueffer Exp $
 .\"
 .Dd March 14, 2007
 .Dt LOCKING 9
@@ -300,14 +300,14 @@
 .El
 .Sh SEE ALSO
 .Xr condvar 9 ,
-.Xr lock 9
+.Xr lock 9 ,
 .Xr mtx_pool 9 ,
 .Xr rwlock 9 ,
 .Xr sema 9 ,
 .Xr sleep 9 ,
-.Xr sx 9
+.Xr sx 9 ,
 .Xr LOCK_PROFILING 9 ,
-.Xr WITNESS 9 ,
+.Xr WITNESS 9
 .Sh HISTORY
 These
 functions appeared in

==== //depot/projects/arm/src/sys/dev/acpica/acpi.c#23 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.239 2007/06/15 18:02:33 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.240 2007/06/21 22:50:37 njl Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -136,6 +136,7 @@
 static ACPI_STATUS acpi_probe_child(ACPI_HANDLE handle, UINT32 level,
 		    void *context, void **status);
 static BOOLEAN	acpi_MatchHid(ACPI_HANDLE h, const char *hid);
+static ACPI_STATUS acpi_EnterSleepState(struct acpi_softc *sc, int state);
 static void	acpi_shutdown_final(void *arg, int howto);
 static void	acpi_enable_fixed_events(struct acpi_softc *sc);
 static int	acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate);
@@ -412,6 +413,7 @@
 
     sc = device_get_softc(dev);
     sc->acpi_dev = dev;
+    callout_init(&sc->susp_force_to, TRUE);
 
     error = ENXIO;
 
@@ -594,7 +596,7 @@
 
     /* Pick the first valid sleep state for the sleep button default. */
     sc->acpi_sleep_button_sx = ACPI_S_STATES_MAX + 1;
-    for (state = ACPI_STATE_S1; state < ACPI_STATE_S5; state++)
+    for (state = ACPI_STATE_S1; state <= ACPI_STATE_S4; state++)
 	if (ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) {
 	    sc->acpi_sleep_button_sx = state;
 	    break;
@@ -2143,7 +2145,151 @@
     return (acpi_SetInteger(ACPI_ROOT_OBJECT, "_PIC", model));
 }
 
+/*
+ * DEPRECATED.  This interface has serious deficiencies and will be
+ * removed.
+ *
+ * Immediately enter the sleep state.  In the old model, acpiconf(8) ran
+ * rc.suspend and rc.resume so we don't have to notify devd(8) to do this.
+ */
+ACPI_STATUS
+acpi_SetSleepState(struct acpi_softc *sc, int state)
+{
+    static int once;
+
+    if (!once) {
+	printf(
+"warning: acpi_SetSleepState() deprecated, need to update your software\n");
+	once = 1;
+    }
+    return (acpi_EnterSleepState(sc, state));
+}
+
 static void
+acpi_sleep_force(void *arg)
+{
+    struct acpi_softc *sc;
+
+    printf("acpi: suspend request timed out, forcing sleep now\n");
+    sc = arg;
+    if (ACPI_FAILURE(acpi_EnterSleepState(sc, sc->acpi_next_sstate)))
+	printf("acpi: force sleep state S%d failed\n", sc->acpi_next_sstate);
+}
+
+/*
+ * Request that the system enter the given suspend state.  All /dev/apm
+ * devices and devd(8) will be notified.  Userland then has a chance to
+ * save state and acknowledge the request.  The system sleeps once all
+ * acks are in.
+ */
+int
+acpi_ReqSleepState(struct acpi_softc *sc, int state)
+{
+    struct apm_clone_data *clone;
+
+    if (state < ACPI_STATE_S1 || state > ACPI_STATE_S5)
+	return (EINVAL);
+
+    /* S5 (soft-off) should be entered directly with no waiting. */
+    if (state == ACPI_STATE_S5) {
+	if (ACPI_SUCCESS(acpi_EnterSleepState(sc, state)))
+	    return (0);
+	else
+	    return (ENXIO);
+    }
+
+    /* If a suspend request is already in progress, just return. */
+    ACPI_LOCK(acpi);
+    if (sc->acpi_next_sstate != 0) {
+    	ACPI_UNLOCK(acpi);
+	return (0);
+    }
+
+    /* Record the pending state and notify all apm devices. */
+    sc->acpi_next_sstate = state;
+    STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) {
+	clone->notify_status = APM_EV_NONE;
+	if ((clone->flags & ACPI_EVF_DEVD) == 0) {
+	    selwakeuppri(&clone->sel_read, PZERO);
+	    KNOTE_UNLOCKED(&clone->sel_read.si_note, 0);
+	}
+    }
+
+    /* Now notify devd(8) also. */
+    acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state);
+
+    /*
+     * Set a timeout to fire if userland doesn't ack the suspend request
+     * in time.  This way we still eventually go to sleep if we were
+     * overheating or running low on battery, even if userland is hung.
+     * We cancel this timeout once all userland acks are in or the
+     * suspend request is aborted.
+     */
+    callout_reset(&sc->susp_force_to, 10 * hz, acpi_sleep_force, sc);
+    ACPI_UNLOCK(acpi);
+    return (0);
+}
+
+/*
+ * Acknowledge (or reject) a pending sleep state.  The caller has
+ * prepared for suspend and is now ready for it to proceed.  If the
+ * error argument is non-zero, it indicates suspend should be cancelled
+ * and gives an errno value describing why.  Once all votes are in,
+ * we suspend the system.
+ */
+int
+acpi_AckSleepState(struct apm_clone_data *clone, int error)
+{
+    struct acpi_softc *sc;
+    int ret, sleeping;
+
+    /* If no pending sleep state, return an error. */
+    ACPI_LOCK(acpi);
+    sc = clone->acpi_sc;
+    if (sc->acpi_next_sstate == 0) {
+    	ACPI_UNLOCK(acpi);
+	return (ENXIO);
+    }
+
+    /* Caller wants to abort suspend process. */
+    if (error) {
+	sc->acpi_next_sstate = 0;
+	callout_stop(&sc->susp_force_to);
+	printf("acpi: listener on %s cancelled the pending suspend\n",
+	    devtoname(clone->cdev));
+    	ACPI_UNLOCK(acpi);
+	return (0);
+    }
+
+    /*
+     * Mark this device as acking the suspend request.  Then, walk through
+     * all devices, seeing if they agree yet.  We only count devices that
+     * are writable since read-only devices couldn't ack the request.
+     */
+    clone->notify_status = APM_EV_ACKED;
+    sleeping = TRUE;
+    STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) {
+	if ((clone->flags & ACPI_EVF_WRITE) != 0 &&
+	    clone->notify_status != APM_EV_ACKED) {
+	    sleeping = FALSE;
+	    break;
+	}
+    }
+
+    /* If all devices have voted "yes", we will suspend now. */
+    if (sleeping)
+	callout_stop(&sc->susp_force_to);
+    ACPI_UNLOCK(acpi);
+    ret = 0;
+    if (sleeping) {
+	if (ACPI_FAILURE(acpi_EnterSleepState(sc, sc->acpi_next_sstate)))
+		ret = ENODEV;
+    }
+
+    return (ret);
+}
+
+static void
 acpi_sleep_enable(void *arg)
 {
 
@@ -2159,12 +2305,12 @@
 };
 
 /*
- * Set the system sleep state
+ * Enter the desired system sleep state.
  *
  * Currently we support S1-S5 but S4 is only S4BIOS
  */
-ACPI_STATUS
-acpi_SetSleepState(struct acpi_softc *sc, int state)
+static ACPI_STATUS
+acpi_EnterSleepState(struct acpi_softc *sc, int state)
 {
     ACPI_STATUS	status;
     UINT8	TypeA;
@@ -2173,14 +2319,13 @@
 
     ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state);
 
+    /* Re-entry once we're suspending is not allowed. */
     status = AE_OK;
     ACPI_LOCK(acpi);
     if (sc->acpi_sleep_disabled) {
-	if (sc->acpi_sstate != ACPI_STATE_S0)
-	    status = AE_ERROR;
 	ACPI_UNLOCK(acpi);
 	printf("acpi: suspend request ignored (not ready yet)\n");
-	return (status);
+	return (AE_ERROR);
     }
     sc->acpi_sleep_disabled = 1;
     ACPI_UNLOCK(acpi);
@@ -2276,6 +2421,7 @@
      * Back out state according to how far along we got in the suspend
      * process.  This handles both the error and success cases.
      */
+    sc->acpi_next_sstate = 0;
     if (slp_state >= ACPI_SS_GPE_SET) {
 	acpi_wake_prep_walk(state);
 	sc->acpi_sstate = ACPI_STATE_S0;
@@ -2289,7 +2435,10 @@
 
     /* Allow another sleep request after a while. */
     if (state != ACPI_STATE_S5)
-	timeout(acpi_sleep_enable, (caddr_t)sc, hz * ACPI_MINIMUM_AWAKETIME);
+	timeout(acpi_sleep_enable, sc, hz * ACPI_MINIMUM_AWAKETIME);
+
+    /* Run /etc/rc.resume after we are back. */
+    acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state);
 
     mtx_unlock(&Giant);
     return_ACPI_STATUS (status);
@@ -2599,11 +2748,15 @@
 static void
 acpi_system_eventhandler_sleep(void *arg, int state)
 {
+    int ret;
 
     ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state);
 
-    if (state >= ACPI_STATE_S0 && state <= ACPI_S_STATES_MAX)
-	acpi_SetSleepState((struct acpi_softc *)arg, state);
+    /* Request that the system prepare to enter the given suspend state. */
+    ret = acpi_ReqSleepState((struct acpi_softc *)arg, state);
+    if (ret != 0)
+	printf("acpi: request to enter state S%d failed (err %d)\n",
+	    state, ret);
 
     return_VOID;
 }
@@ -2865,7 +3018,20 @@
 
     /* Core system ioctls. */
     switch (cmd) {
-    case ACPIIO_SETSLPSTATE:
+    case ACPIIO_REQSLPSTATE:
+	state = *(int *)addr;
+	if (state != ACPI_STATE_S5)
+	    error = acpi_ReqSleepState(sc, state);
+	else {
+	    printf("power off via acpi ioctl not supported\n");
+	    error = ENXIO;
+	}
+	break;
+    case ACPIIO_ACKSLPSTATE:
+	error = *(int *)addr;
+	error = acpi_AckSleepState(sc->acpi_clone, error);
+	break;
+    case ACPIIO_SETSLPSTATE:	/* DEPRECATED */
 	error = EINVAL;
 	state = *(int *)addr;
 	if (state >= ACPI_STATE_S0 && state <= ACPI_S_STATES_MAX)
@@ -3196,7 +3362,8 @@
 			goto out;
 		}
 
-		acpi_SetSleepState(sc, acpi_state);
+		if (ACPI_FAILURE(acpi_EnterSleepState(sc, acpi_state)))
+			error = ENXIO;
 		break;
 	default:
 		error = EINVAL;

==== //depot/projects/arm/src/sys/dev/acpica/acpiio.h#5 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/acpica/acpiio.h,v 1.16 2005/10/23 00:16:41 njl Exp $
+ * $FreeBSD: src/sys/dev/acpica/acpiio.h,v 1.17 2007/06/21 22:50:37 njl Exp $
  */
 
 #ifndef _ACPIIO_H_
@@ -33,7 +33,13 @@
 /*
  * Core ACPI subsystem ioctls
  */
-#define ACPIIO_SETSLPSTATE	_IOW('P', 3, int)
+#define ACPIIO_SETSLPSTATE	_IOW('P', 3, int) /* DEPRECATED */
+
+/* Request S1-5 sleep state. User is notified and then sleep proceeds. */
+#define ACPIIO_REQSLPSTATE	_IOW('P', 4, int)
+

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706220620.l5M6KocJ051819>