PERFORCE change 122132 for review
Warner Losh
imp at FreeBSD.org
Fri Jun 22 06:20:53 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=122132
Change 122132 by imp at 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) <<<
More information about the p4-projects
mailing list