From owner-p4-projects@FreeBSD.ORG Fri Jun 22 06:20:53 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6DAA16A46B; Fri, 22 Jun 2007 06:20:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8018216A400 for ; Fri, 22 Jun 2007 06:20:52 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6E78013C465 for ; Fri, 22 Jun 2007 06:20:52 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5M6Kq9E051824 for ; Fri, 22 Jun 2007 06:20:52 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5M6KocJ051819 for perforce@freebsd.org; Fri, 22 Jun 2007 06:20:50 GMT (envelope-from imp@freebsd.org) Date: Fri, 22 Jun 2007 06:20:50 GMT Message-Id: <200706220620.l5M6KocJ051819@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 122132 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jun 2007 06:20:53 -0000 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 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1041 2007/06/18 12:03:02 yar Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1045 2007/06/21 20:27:23 bmah Exp $ 2000 @@ -305,8 +305,9 @@ Security event auditing is now supported in the &os; kernel, and is enabled by the AUDIT kernel - configuration option. More information can be found in the - &man.audit.4; manual page. + configuration option. The option is enabled in the + GENERIC kernel. More information can be found + in the &man.audit.4; manual page. 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; + The &man.firewire.4; code is now MPSAFE. + icee(4), a generic I2C EEPROM driver, has been added. A bug which prevented the &man.ichsmb.4; kernel module @@ -793,6 +796,8 @@ The IP over FireWire (&man.fwip.4;) driver is now enabled in the GENERIC kernel. + The &man.gem.4; driver now supports &man.altq.4;. + 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 /usr/share/doc/legal/intel_ipw/LICENSE @@ -846,7 +851,7 @@ [&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;. + &man.mxge.4;. &merged; The &man.nfe.4; driver, an open-source driver for nForce Ethernet devices, has been added, originally from @@ -1134,8 +1139,10 @@ 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 SCTP kernel option. + transport protocol, and is defined in RFC 4960. It is enabled + in &os; with the SCTP kernel option and is + part of the GENERIC kernel. More + information can be found in the &man.sctp.4; manual page. The IPV6_V6ONLY socket option now works for UDP. @@ -1316,6 +1323,12 @@ The &man.mpt.4; driver is now MPSAFE. + [&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. + 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; @@ -1492,6 +1505,9 @@ in the C language. Note that it currently supports checkout mode only. &merged; + The &man.dhclient.8; program now supports the Classless Static + Route option as described in RFC 3442. + The &man.dhclient.8; program now sends the host's name in DHCP requests if it is not specified in the configuration file. &merged; @@ -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. + 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 datasize resource limit + has little practical effect for typical applications. The + vmemoryuse resource limit, however, can be + used to bound the total virtual memory used by a process, as + described in &man.limits.1;. 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; + The &man.netstat.1; utility now supports printing + &man.sctp.4; protocol statistics. + The /etc/nsswitch.conf file is now installed statically instead of being generated on every reboot. @@ -1931,7 +1957,7 @@ flag to display the &man.jail.8; ID for each process. &merged; The &man.touch.1; utility now supports a - 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; The &man.traceroute.8; program now supports @@ -2117,7 +2143,7 @@ 1.0.3 to 1.0.4. GNU Diffutils has been updated - to 2.8.7. + from 2.7 to 2.8.7. DRM has been updated to a snapshot from DRI CVS as of 20060517. @@ -2135,7 +2161,7 @@ netcat has been updated from the version in a 4 February 2005 OpenBSD snapshot to the version - included in OpenBSD 4.1. + included in OpenBSD 4.1. &merged; GCC has been updated from 3.4.4 to 4.2.0. @@ -2151,7 +2177,7 @@ 4.1.8 to 4.1.23. less has been updated from v381 - to v403. + to v406. libpcap has been updated from 0.9.1 to 0.9.4. &merged; ==== //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 -__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 @@ -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) <<<