svn commit: r214078 - in projects/binutils-2.17: contrib/bsnmp/lib
contrib/netcat contrib/top include lib/libc/include
lib/libradius lib/libthr lib/libthr/thread libexec/bootpd
sbin/camcontrol sbin...
Dimitry Andric
dim at FreeBSD.org
Tue Oct 19 21:02:06 UTC 2010
Author: dim
Date: Tue Oct 19 21:02:05 2010
New Revision: 214078
URL: http://svn.freebsd.org/changeset/base/214078
Log:
Sync: merge r213992 through r214076 from ^/head.
Added:
projects/binutils-2.17/sys/net80211/ieee80211_ratectl_none.c
- copied unchanged from r214075, head/sys/net80211/ieee80211_ratectl_none.c
projects/binutils-2.17/sys/nfs/nfs_mountcommon.h
- copied unchanged from r214075, head/sys/nfs/nfs_mountcommon.h
Modified:
projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3
projects/binutils-2.17/contrib/netcat/nc.1
projects/binutils-2.17/contrib/netcat/netcat.c
projects/binutils-2.17/contrib/netcat/socks.c
projects/binutils-2.17/include/pthread.h
projects/binutils-2.17/lib/libc/include/namespace.h
projects/binutils-2.17/lib/libc/include/un-namespace.h
projects/binutils-2.17/lib/libradius/Makefile
projects/binutils-2.17/lib/libthr/pthread.map
projects/binutils-2.17/lib/libthr/thread/thr_private.h
projects/binutils-2.17/lib/libthr/thread/thr_rwlock.c
projects/binutils-2.17/lib/libthr/thread/thr_rwlockattr.c
projects/binutils-2.17/libexec/bootpd/bootptab.5
projects/binutils-2.17/sbin/camcontrol/camcontrol.8
projects/binutils-2.17/sbin/camcontrol/camcontrol.c
projects/binutils-2.17/sbin/routed/routed.8
projects/binutils-2.17/sbin/setkey/setkey.8
projects/binutils-2.17/sbin/sunlabel/sunlabel.8
projects/binutils-2.17/share/man/man4/lagg.4
projects/binutils-2.17/share/man/man4/man4.arm/mge.4
projects/binutils-2.17/share/man/man4/man4.i386/ep.4
projects/binutils-2.17/share/man/man4/man4.i386/mse.4
projects/binutils-2.17/share/man/man4/man4.powerpc/tsec.4
projects/binutils-2.17/share/man/man4/nxge.4
projects/binutils-2.17/share/man/man5/freebsd-update.conf.5
projects/binutils-2.17/share/man/man9/Makefile
projects/binutils-2.17/share/man/man9/vrele.9
projects/binutils-2.17/share/man/man9/zone.9
projects/binutils-2.17/sys/arm/mv/mv_sata.c
projects/binutils-2.17/sys/conf/files
projects/binutils-2.17/sys/dev/acpica/acpi.c
projects/binutils-2.17/sys/dev/acpica/acpi_if.m
projects/binutils-2.17/sys/dev/acpica/acpi_pci.c
projects/binutils-2.17/sys/dev/ata/ata-all.c
projects/binutils-2.17/sys/dev/ata/ata-all.h
projects/binutils-2.17/sys/dev/ata/ata-pci.c
projects/binutils-2.17/sys/dev/ata/ata-sata.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-ahci.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-intel.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-marvell.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-nvidia.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-promise.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-siliconimage.c
projects/binutils-2.17/sys/dev/ata/chipsets/ata-via.c
projects/binutils-2.17/sys/dev/firewire/fwohci.c
projects/binutils-2.17/sys/dev/if_ndis/if_ndis.c
projects/binutils-2.17/sys/dev/md/md.c
projects/binutils-2.17/sys/dev/mii/brgphy.c
projects/binutils-2.17/sys/dev/pci/pci.c
projects/binutils-2.17/sys/fs/msdosfs/msdosfs_lookup.c
projects/binutils-2.17/sys/fs/nfsclient/nfs_clnode.c
projects/binutils-2.17/sys/fs/nfsclient/nfs_clvfsops.c
projects/binutils-2.17/sys/fs/nfsclient/nfs_clvnops.c
projects/binutils-2.17/sys/fs/nfsclient/nfsmount.h
projects/binutils-2.17/sys/geom/geom_dev.c
projects/binutils-2.17/sys/kern/kern_resource.c
projects/binutils-2.17/sys/kern/kern_shutdown.c
projects/binutils-2.17/sys/kern/vfs_mount.c
projects/binutils-2.17/sys/kern/vfs_mountroot.c
projects/binutils-2.17/sys/modules/mps/Makefile
projects/binutils-2.17/sys/modules/wlan/Makefile
projects/binutils-2.17/sys/net80211/ieee80211_ratectl.c
projects/binutils-2.17/sys/net80211/ieee80211_ratectl.h
projects/binutils-2.17/sys/netinet/libalias/libalias.3
projects/binutils-2.17/sys/nfs/nfs_lock.c
projects/binutils-2.17/sys/nfs/nfs_lock.h
projects/binutils-2.17/sys/nfsclient/nfs.h
projects/binutils-2.17/sys/nfsclient/nfs_bio.c
projects/binutils-2.17/sys/nfsclient/nfs_nfsiod.c
projects/binutils-2.17/sys/nfsclient/nfs_node.c
projects/binutils-2.17/sys/nfsclient/nfs_vfsops.c
projects/binutils-2.17/sys/nfsclient/nfs_vnops.c
projects/binutils-2.17/sys/nfsclient/nfsmount.h
projects/binutils-2.17/sys/nfsclient/nfsnode.h
projects/binutils-2.17/sys/nfsserver/nfs_serv.c
projects/binutils-2.17/sys/nlm/nlm_advlock.c
projects/binutils-2.17/sys/nlm/nlm_prot_impl.c
projects/binutils-2.17/sys/sparc64/include/tick.h
projects/binutils-2.17/sys/sparc64/sparc64/mp_machdep.c
projects/binutils-2.17/sys/sparc64/sparc64/tick.c
projects/binutils-2.17/sys/sys/systm.h
projects/binutils-2.17/sys/vm/uma_core.c
projects/binutils-2.17/usr.bin/calendar/calendars/calendar.freebsd
projects/binutils-2.17/usr.bin/nc/Makefile
projects/binutils-2.17/usr.bin/uudecode/uudecode.c
projects/binutils-2.17/usr.sbin/apmd/apmd.8
projects/binutils-2.17/usr.sbin/gpioctl/gpioctl.8
projects/binutils-2.17/usr.sbin/pc-sysinstall/backend-query/list-tzones.sh
projects/binutils-2.17/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh
projects/binutils-2.17/usr.sbin/ppp/ipcp.c
Directory Properties:
projects/binutils-2.17/ (props changed)
projects/binutils-2.17/cddl/contrib/opensolaris/ (props changed)
projects/binutils-2.17/contrib/bind9/ (props changed)
projects/binutils-2.17/contrib/binutils/ (props changed)
projects/binutils-2.17/contrib/bzip2/ (props changed)
projects/binutils-2.17/contrib/ee/ (props changed)
projects/binutils-2.17/contrib/expat/ (props changed)
projects/binutils-2.17/contrib/file/ (props changed)
projects/binutils-2.17/contrib/gdb/ (props changed)
projects/binutils-2.17/contrib/gdtoa/ (props changed)
projects/binutils-2.17/contrib/gnu-sort/ (props changed)
projects/binutils-2.17/contrib/groff/ (props changed)
projects/binutils-2.17/contrib/less/ (props changed)
projects/binutils-2.17/contrib/libpcap/ (props changed)
projects/binutils-2.17/contrib/llvm/ (props changed)
projects/binutils-2.17/contrib/llvm/tools/clang/ (props changed)
projects/binutils-2.17/contrib/ncurses/ (props changed)
projects/binutils-2.17/contrib/netcat/ (props changed)
projects/binutils-2.17/contrib/ntp/ (props changed)
projects/binutils-2.17/contrib/one-true-awk/ (props changed)
projects/binutils-2.17/contrib/openbsm/ (props changed)
projects/binutils-2.17/contrib/openpam/ (props changed)
projects/binutils-2.17/contrib/pf/ (props changed)
projects/binutils-2.17/contrib/sendmail/ (props changed)
projects/binutils-2.17/contrib/tcpdump/ (props changed)
projects/binutils-2.17/contrib/tcsh/ (props changed)
projects/binutils-2.17/contrib/top/ (props changed)
projects/binutils-2.17/contrib/top/install-sh (props changed)
projects/binutils-2.17/contrib/tzcode/stdtime/ (props changed)
projects/binutils-2.17/contrib/tzcode/zic/ (props changed)
projects/binutils-2.17/contrib/tzdata/ (props changed)
projects/binutils-2.17/contrib/wpa/ (props changed)
projects/binutils-2.17/contrib/xz/ (props changed)
projects/binutils-2.17/crypto/openssh/ (props changed)
projects/binutils-2.17/crypto/openssl/ (props changed)
projects/binutils-2.17/lib/libc/ (props changed)
projects/binutils-2.17/lib/libc/stdtime/ (props changed)
projects/binutils-2.17/lib/libutil/ (props changed)
projects/binutils-2.17/lib/libz/ (props changed)
projects/binutils-2.17/sbin/ (props changed)
projects/binutils-2.17/sbin/ipfw/ (props changed)
projects/binutils-2.17/share/mk/bsd.arch.inc.mk (props changed)
projects/binutils-2.17/share/zoneinfo/ (props changed)
projects/binutils-2.17/sys/ (props changed)
projects/binutils-2.17/sys/amd64/include/xen/ (props changed)
projects/binutils-2.17/sys/cddl/contrib/opensolaris/ (props changed)
projects/binutils-2.17/sys/contrib/dev/acpica/ (props changed)
projects/binutils-2.17/sys/contrib/pf/ (props changed)
projects/binutils-2.17/sys/contrib/x86emu/ (props changed)
projects/binutils-2.17/sys/dev/xen/xenpci/ (props changed)
projects/binutils-2.17/usr.bin/calendar/ (props changed)
projects/binutils-2.17/usr.bin/csup/ (props changed)
projects/binutils-2.17/usr.bin/procstat/ (props changed)
projects/binutils-2.17/usr.sbin/zic/ (props changed)
Modified: projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3 Tue Oct 19 21:02:05 2010 (r214078)
@@ -134,7 +134,6 @@ is not zero,
.Fa v.octetstring.octets
points to a string allocated by
.Xr malloc 3 .
-.Pp
.Bd -literal -offset indent
#define SNMP_COMMUNITY_MAXLEN 128
#define SNMP_MAX_BINDINGS 100
Modified: projects/binutils-2.17/contrib/netcat/nc.1
==============================================================================
--- projects/binutils-2.17/contrib/netcat/nc.1 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/contrib/netcat/nc.1 Tue Oct 19 21:02:05 2010 (r214078)
@@ -1,4 +1,4 @@
-.\" $OpenBSD: nc.1,v 1.53 2010/02/23 23:00:52 schwarze Exp $
+.\" $OpenBSD: nc.1,v 1.55 2010/07/25 07:51:39 guenther Exp $
.\"
.\" Copyright (c) 1996 David Sacerdote
.\" All rights reserved.
@@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 3, 2010
+.Dd July 25, 2010
.Dt NC 1
.Os
.Sh NAME
@@ -46,7 +46,7 @@
.Op Fl p Ar source_port
.Op Fl s Ar source_ip_address
.Op Fl T Ar ToS
-.Op Fl V Ar fib
+.Op Fl V Ar rtable
.Op Fl w Ar timeout
.Op Fl X Ar proxy_protocol
.Oo Xo
@@ -158,7 +158,6 @@ TCP_NOOPT
socket option.
.It Fl O Ar length
Specifies the size of the TCP send buffer.
-When
.It Fl P Ar proxy_username
Specifies a username to present to a proxy server that requires authentication.
If no username is specified then authentication will not be attempted.
@@ -202,8 +201,10 @@ Specifies to use
sockets.
.It Fl u
Use UDP instead of the default option of TCP.
-.It Fl V Ar fib
-Set the routing table (FIB).
+.It Fl V Ar rtable
+Set the routing table
+.Pq Dq FIB
+to be used.
The default is 0.
.It Fl v
Have
Modified: projects/binutils-2.17/contrib/netcat/netcat.c
==============================================================================
--- projects/binutils-2.17/contrib/netcat/netcat.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/contrib/netcat/netcat.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -1,4 +1,4 @@
-/* $OpenBSD: netcat.c,v 1.95 2010/02/27 00:58:56 nicm Exp $ */
+/* $OpenBSD: netcat.c,v 1.98 2010/07/03 04:44:51 guenther Exp $ */
/*
* Copyright (c) 2001 Eric Jackson <ericj at monkey.org>
*
@@ -93,7 +93,7 @@ int Iflag; /* TCP receive buffer siz
int Oflag; /* TCP send buffer size */
int Sflag; /* TCP MD5 signature option */
int Tflag = -1; /* IP Type of Service */
-u_int rdomain;
+u_int rtableid;
int timeout = -1;
int family = AF_UNSPEC;
@@ -139,7 +139,6 @@ main(int argc, char *argv[])
{ NULL, 0, NULL, 0 }
};
- rdomain = 0;
ret = 1;
ipsec_count = 0;
s = 0;
@@ -235,10 +234,10 @@ main(int argc, char *argv[])
case 'V':
if (sysctlbyname("net.fibs", &numfibs, &intsize, NULL, 0) == -1)
errx(1, "Multiple FIBS not supported");
- rdomain = (unsigned int)strtonum(optarg, 0,
+ rtableid = (unsigned int)strtonum(optarg, 0,
numfibs - 1, &errstr);
if (errstr)
- errx(1, "FIB %s: %s", errstr, optarg);
+ errx(1, "rtable %s: %s", errstr, optarg);
break;
case 'v':
vflag = 1;
@@ -371,11 +370,11 @@ main(int argc, char *argv[])
*/
if (uflag) {
int rv, plen;
- char buf[8192];
+ char buf[16384];
struct sockaddr_storage z;
len = sizeof(z);
- plen = jflag ? 8192 : 1024;
+ plen = jflag ? 16384 : 2048;
rv = recvfrom(s, buf, plen, MSG_PEEK,
(struct sockaddr *)&z, &len);
if (rv < 0)
@@ -561,8 +560,8 @@ remote_connect(const char *host, const c
add_ipsec_policy(s, ipsec_policy[1]);
#endif
- if (rdomain) {
- if (setfib(rdomain) == -1)
+ if (rtableid) {
+ if (setfib(rtableid) == -1)
err(1, "setfib");
}
@@ -634,8 +633,8 @@ local_listen(char *host, char *port, str
res0->ai_protocol)) < 0)
continue;
- if (rdomain) {
- if (setfib(rdomain) == -1)
+ if (rtableid) {
+ if (setfib(rtableid) == -1)
err(1, "setfib");
}
@@ -680,12 +679,12 @@ void
readwrite(int nfd)
{
struct pollfd pfd[2];
- unsigned char buf[8192];
+ unsigned char buf[16384];
int n, wfd = fileno(stdin);
int lfd = fileno(stdout);
int plen;
- plen = jflag ? 8192 : 1024;
+ plen = jflag ? 16384 : 2048;
/* Setup Network FD */
pfd[0].fd = nfd;
@@ -827,10 +826,9 @@ build_ports(char *p)
hi = strtonum(p, 1, PORT_MAX, &errstr);
if (errstr)
errx(1, "port number %s: %s", errstr, p);
- portlist[0] = calloc(1, PORT_MAX_LEN);
+ portlist[0] = strdup(p);
if (portlist[0] == NULL)
err(1, NULL);
- portlist[0] = p;
}
}
@@ -947,7 +945,7 @@ help(void)
\t-t Answer TELNET negotiation\n\
\t-U Use UNIX domain socket\n\
\t-u UDP mode\n\
- \t-V fib Specify alternate routing table (FIB)\n\
+ \t-V rtable Specify alternate routing table\n\
\t-v Verbose\n\
\t-w secs\t Timeout for connects and final net reads\n\
\t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\
@@ -992,7 +990,7 @@ usage(int ret)
"usage: nc [-46DdhklnrStUuvz] [-I length] [-i interval] [-O length]\n"
#endif
"\t [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS]\n"
- "\t [-V fib] [-w timeout] [-X proxy_protocol]\n"
+ "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n"
"\t [-x proxy_address[:port]] [hostname] [port]\n");
if (ret)
exit(1);
Modified: projects/binutils-2.17/contrib/netcat/socks.c
==============================================================================
--- projects/binutils-2.17/contrib/netcat/socks.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/contrib/netcat/socks.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -1,4 +1,4 @@
-/* $OpenBSD: socks.c,v 1.17 2006/09/25 04:51:20 ray Exp $ */
+/* $OpenBSD: socks.c,v 1.18 2010/04/20 07:26:35 nicm Exp $ */
/*
* Copyright (c) 1999 Niklas Hallqvist. All rights reserved.
@@ -167,11 +167,11 @@ socks_connect(const char *host, const ch
buf[2] = SOCKS_NOAUTH;
cnt = atomicio(vwrite, proxyfd, buf, 3);
if (cnt != 3)
- err(1, "write failed (%d/3)", cnt);
+ err(1, "write failed (%zu/3)", cnt);
cnt = atomicio(read, proxyfd, buf, 2);
if (cnt != 2)
- err(1, "read failed (%d/3)", cnt);
+ err(1, "read failed (%zu/3)", cnt);
if (buf[1] == SOCKS_NOMETHOD)
errx(1, "authentication method negotiation failed");
@@ -220,11 +220,11 @@ socks_connect(const char *host, const ch
cnt = atomicio(vwrite, proxyfd, buf, wlen);
if (cnt != wlen)
- err(1, "write failed (%d/%d)", cnt, wlen);
+ err(1, "write failed (%zu/%zu)", cnt, wlen);
cnt = atomicio(read, proxyfd, buf, 10);
if (cnt != 10)
- err(1, "read failed (%d/10)", cnt);
+ err(1, "read failed (%zu/10)", cnt);
if (buf[1] != 0)
errx(1, "connection failed, SOCKS error %d", buf[1]);
} else if (socksv == 4) {
@@ -242,11 +242,11 @@ socks_connect(const char *host, const ch
cnt = atomicio(vwrite, proxyfd, buf, wlen);
if (cnt != wlen)
- err(1, "write failed (%d/%d)", cnt, wlen);
+ err(1, "write failed (%zu/%zu)", cnt, wlen);
cnt = atomicio(read, proxyfd, buf, 8);
if (cnt != 8)
- err(1, "read failed (%d/8)", cnt);
+ err(1, "read failed (%zu/8)", cnt);
if (buf[1] != 90)
errx(1, "connection failed, SOCKS error %d", buf[1]);
} else if (socksv == -1) {
@@ -272,7 +272,7 @@ socks_connect(const char *host, const ch
cnt = atomicio(vwrite, proxyfd, buf, r);
if (cnt != r)
- err(1, "write failed (%d/%d)", cnt, r);
+ err(1, "write failed (%zu/%d)", cnt, r);
if (authretry > 1) {
char resp[1024];
@@ -290,7 +290,7 @@ socks_connect(const char *host, const ch
errx(1, "Proxy auth response too long");
r = strlen(buf);
if ((cnt = atomicio(vwrite, proxyfd, buf, r)) != r)
- err(1, "write failed (%d/%d)", cnt, r);
+ err(1, "write failed (%zu/%d)", cnt, r);
}
/* Terminate headers */
Modified: projects/binutils-2.17/include/pthread.h
==============================================================================
--- projects/binutils-2.17/include/pthread.h Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/include/pthread.h Tue Oct 19 21:02:05 2010 (r214078)
@@ -135,6 +135,15 @@ enum pthread_mutextype {
#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECK
+enum pthread_rwlocktype_np
+{
+ PTHREAD_RWLOCK_PREFER_READER_NP,
+ PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
+ PTHREAD_RWLOCK_PREFER_WRITER_NP,
+ PTHREAD_RWLOCK_DEFAULT_NP =
+ PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+};
+
struct _pthread_cleanup_info {
__uintptr_t pthread_cleanup_pad[8];
};
@@ -233,11 +242,14 @@ int pthread_rwlock_tryrdlock(pthread_rw
int pthread_rwlock_trywrlock(pthread_rwlock_t *);
int pthread_rwlock_unlock(pthread_rwlock_t *);
int pthread_rwlock_wrlock(pthread_rwlock_t *);
-int pthread_rwlockattr_init(pthread_rwlockattr_t *);
+int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
+int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *,
+ int *);
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *,
int *);
+int pthread_rwlockattr_init(pthread_rwlockattr_t *);
+int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, int);
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int);
-int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
pthread_t pthread_self(void);
int pthread_setspecific(pthread_key_t, const void *);
Modified: projects/binutils-2.17/lib/libc/include/namespace.h
==============================================================================
--- projects/binutils-2.17/lib/libc/include/namespace.h Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libc/include/namespace.h Tue Oct 19 21:02:05 2010 (r214078)
@@ -177,8 +177,10 @@
#define pthread_rwlock_unlock _pthread_rwlock_unlock
#define pthread_rwlock_wrlock _pthread_rwlock_wrlock
#define pthread_rwlockattr_destroy _pthread_rwlockattr_destroy
+#define pthread_rwlockattr_getkind_np _pthread_rwlockattr_getkind_np
#define pthread_rwlockattr_getpshared _pthread_rwlockattr_getpshared
#define pthread_rwlockattr_init _pthread_rwlockattr_init
+#define pthread_rwlockattr_setkind_np _pthread_rwlockattr_setkind_np
#define pthread_rwlockattr_setpshared _pthread_rwlockattr_setpshared
#define pthread_self _pthread_self
#define pthread_set_name_np _pthread_set_name_np
Modified: projects/binutils-2.17/lib/libc/include/un-namespace.h
==============================================================================
--- projects/binutils-2.17/lib/libc/include/un-namespace.h Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libc/include/un-namespace.h Tue Oct 19 21:02:05 2010 (r214078)
@@ -158,8 +158,10 @@
#undef pthread_rwlock_unlock
#undef pthread_rwlock_wrlock
#undef pthread_rwlockattr_destroy
+#undef pthread_rwlockattr_getkind_np
#undef pthread_rwlockattr_getpshared
#undef pthread_rwlockattr_init
+#undef pthread_rwlockattr_setkind_np
#undef pthread_rwlockattr_setpshared
#undef pthread_self
#undef pthread_set_name_np
Modified: projects/binutils-2.17/lib/libradius/Makefile
==============================================================================
--- projects/binutils-2.17/lib/libradius/Makefile Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libradius/Makefile Tue Oct 19 21:02:05 2010 (r214078)
@@ -33,6 +33,39 @@ CFLAGS+= -Wall
SHLIB_MAJOR= 4
MAN= libradius.3 radius.conf.5
+MLINKS+=libradius.3 rad_acct_open.3 \
+ libradius.3 rad_add_server.3 \
+ libradius.3 rad_auth_open.3 \
+ libradius.3 rad_close.3 \
+ libradius.3 rad_config.3 \
+ libradius.3 rad_continue_send_request.3 \
+ libradius.3 rad_create_request.3 \
+ libradius.3 rad_create_response.3 \
+ libradius.3 rad_cvt_addr.3 \
+ libradius.3 rad_cvt_int.3 \
+ libradius.3 rad_cvt_string.3 \
+ libradius.3 rad_demangle.3 \
+ libradius.3 rad_demangle_mppe_key.3 \
+ libradius.3 rad_get_attr.3 \
+ libradius.3 rad_get_vendor_attr.3 \
+ libradius.3 rad_init_send_request.3 \
+ libradius.3 rad_put_addr.3 \
+ libradius.3 rad_put_attr.3 \
+ libradius.3 rad_put_int.3 \
+ libradius.3 rad_put_message_authentic.3 \
+ libradius.3 rad_put_string.3 \
+ libradius.3 rad_put_vendor_addr.3 \
+ libradius.3 rad_put_vendor_attr.3 \
+ libradius.3 rad_put_vendor_int.3 \
+ libradius.3 rad_put_vendor_string.3 \
+ libradius.3 rad_receive_request.3 \
+ libradius.3 rad_request_authenticator.3 \
+ libradius.3 rad_send_request.3 \
+ libradius.3 rad_send_response.3 \
+ libradius.3 rad_server_open.3 \
+ libradius.3 rad_server_secret.3 \
+ libradius.3 rad_strerror.3
+
WARNS?= 3
.if ${MK_OPENSSL} == "no"
Modified: projects/binutils-2.17/lib/libthr/pthread.map
==============================================================================
--- projects/binutils-2.17/lib/libthr/pthread.map Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libthr/pthread.map Tue Oct 19 21:02:05 2010 (r214078)
@@ -318,7 +318,9 @@ FBSDprivate_1.0 {
_pthread_rwlock_wrlock;
_pthread_rwlockattr_destroy;
_pthread_rwlockattr_getpshared;
+ _pthread_rwlockattr_getkind_np;
_pthread_rwlockattr_init;
+ _pthread_rwlockattr_setkind_np;
_pthread_rwlockattr_setpshared;
_pthread_self;
_pthread_set_name_np;
@@ -401,6 +403,8 @@ FBSD_1.1 {
FBSD_1.2 {
openat;
+ pthread_rwlockattr_getkind_np;
+ pthread_rwlockattr_setkind_np;
setcontext;
swapcontext;
};
Modified: projects/binutils-2.17/lib/libthr/thread/thr_private.h
==============================================================================
--- projects/binutils-2.17/lib/libthr/thread/thr_private.h Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libthr/thread/thr_private.h Tue Oct 19 21:02:05 2010 (r214078)
@@ -285,11 +285,14 @@ struct pthread_prio {
struct pthread_rwlockattr {
int pshared;
+ int kind;
};
struct pthread_rwlock {
struct urwlock lock;
struct pthread *owner;
+ int recurse;
+ int kind;
};
/*
Modified: projects/binutils-2.17/lib/libthr/thread/thr_rwlock.c
==============================================================================
--- projects/binutils-2.17/lib/libthr/thread/thr_rwlock.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libthr/thread/thr_rwlock.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -63,13 +63,19 @@ __weak_reference(_pthread_rwlock_timedwr
*/
static int
-rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr __unused)
+rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr)
{
pthread_rwlock_t prwlock;
prwlock = (pthread_rwlock_t)calloc(1, sizeof(struct pthread_rwlock));
if (prwlock == NULL)
return (ENOMEM);
+ if (attr != NULL)
+ prwlock->kind = (*attr)->kind;
+ else
+ prwlock->kind = PTHREAD_RWLOCK_DEFAULT_NP;
+ if (prwlock->kind == PTHREAD_RWLOCK_PREFER_READER_NP)
+ prwlock->lock.rw_flags |= URWLOCK_PREFER_READER;
*rwlock = prwlock;
return (0);
}
@@ -112,7 +118,7 @@ init_static(struct pthread *thread, pthr
}
int
-_pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr)
+_pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr)
{
*rwlock = NULL;
return (rwlock_init(rwlock, attr));
@@ -260,6 +266,14 @@ rwlock_wrlock_common (pthread_rwlock_t *
CHECK_AND_INIT_RWLOCK
+ if (__predict_false(prwlock->owner == curthread)) {
+ if (__predict_false(
+ prwlock->kind == PTHREAD_RWLOCK_PREFER_WRITER_NP)) {
+ prwlock->recurse++;
+ return (0);
+ }
+ }
+
/*
* POSIX said the validity of the abstimeout parameter need
* not be checked if the lock can be immediately acquired.
@@ -335,6 +349,13 @@ _pthread_rwlock_unlock (pthread_rwlock_t
if (state & URWLOCK_WRITE_OWNER) {
if (__predict_false(prwlock->owner != curthread))
return (EPERM);
+ if (__predict_false(
+ prwlock->kind == PTHREAD_RWLOCK_PREFER_WRITER_NP)) {
+ if (prwlock->recurse > 0) {
+ prwlock->recurse--;
+ return (0);
+ }
+ }
prwlock->owner = NULL;
}
Modified: projects/binutils-2.17/lib/libthr/thread/thr_rwlockattr.c
==============================================================================
--- projects/binutils-2.17/lib/libthr/thread/thr_rwlockattr.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/lib/libthr/thread/thr_rwlockattr.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -36,8 +36,10 @@
__weak_reference(_pthread_rwlockattr_destroy, pthread_rwlockattr_destroy);
__weak_reference(_pthread_rwlockattr_getpshared, pthread_rwlockattr_getpshared);
+__weak_reference(_pthread_rwlockattr_getkind_np, pthread_rwlockattr_getkind_np);
__weak_reference(_pthread_rwlockattr_init, pthread_rwlockattr_init);
__weak_reference(_pthread_rwlockattr_setpshared, pthread_rwlockattr_setpshared);
+__weak_reference(_pthread_rwlockattr_setkind_np, pthread_rwlockattr_setkind_np);
int
_pthread_rwlockattr_destroy(pthread_rwlockattr_t *rwlockattr)
@@ -81,6 +83,7 @@ _pthread_rwlockattr_init(pthread_rwlocka
return(ENOMEM);
prwlockattr->pshared = PTHREAD_PROCESS_PRIVATE;
+ prwlockattr->kind = PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP;
*rwlockattr = prwlockattr;
return(0);
@@ -98,3 +101,21 @@ _pthread_rwlockattr_setpshared(pthread_r
return(0);
}
+int
+_pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr, int kind)
+{
+ if (kind != PTHREAD_RWLOCK_PREFER_READER_NP &&
+ kind != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP &&
+ kind != PTHREAD_RWLOCK_PREFER_WRITER_NP) {
+ return (EINVAL);
+ }
+ (*attr)->kind = kind;
+ return (0);
+}
+
+int
+_pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *attr, int *kind)
+{
+ *kind = (*attr)->kind;
+ return (0);
+}
Modified: projects/binutils-2.17/libexec/bootpd/bootptab.5
==============================================================================
--- projects/binutils-2.17/libexec/bootpd/bootptab.5 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/libexec/bootpd/bootptab.5 Tue Oct 19 21:02:05 2010 (r214078)
@@ -388,7 +388,6 @@ hardware address.
An example
.Pa /etc/bootptab
file follows:
-.Pp
.Bd -literal -offset indent
# Sample bootptab file (domain=andrew.cmu.edu)
Modified: projects/binutils-2.17/sbin/camcontrol/camcontrol.8
==============================================================================
--- projects/binutils-2.17/sbin/camcontrol/camcontrol.8 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sbin/camcontrol/camcontrol.8 Tue Oct 19 21:02:05 2010 (r214078)
@@ -207,9 +207,6 @@ A device identifier can take one of thre
.Bl -tag -width 14n
.It deviceUNIT
Specify a device name and unit number combination, like "da5" or "cd3".
-Note that character device node names (e.g.\& /dev/da0) are
-.Em not
-allowed here.
.It bus:target
Specify a bus number and target id.
The bus number can be determined from
Modified: projects/binutils-2.17/sbin/camcontrol/camcontrol.c
==============================================================================
--- projects/binutils-2.17/sbin/camcontrol/camcontrol.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sbin/camcontrol/camcontrol.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -4605,15 +4605,7 @@ main(int argc, char **argv)
char name[30];
int rv;
- /*
- * First catch people who try to do things like:
- * camcontrol tur /dev/da0
- * camcontrol doesn't take device nodes as arguments.
- */
- if (argv[2][0] == '/') {
- warnx("%s is not a valid device identifier", argv[2]);
- errx(1, "please read the camcontrol(8) man page");
- } else if (isdigit(argv[2][0])) {
+ if (isdigit(argv[2][0])) {
/* device specified as bus:target[:lun] */
rv = parse_btl(argv[2], &bus, &target, &lun, &arglist);
if (rv < 2)
Modified: projects/binutils-2.17/sbin/routed/routed.8
==============================================================================
--- projects/binutils-2.17/sbin/routed/routed.8 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sbin/routed/routed.8 Tue Oct 19 21:02:05 2010 (r214078)
@@ -440,7 +440,6 @@ The
file is comprised of a series of lines, each in
one of the following two formats or consist of parameters described later.
Blank lines and lines starting with '#' are comments.
-.Pp
.Bd -ragged
.Cm net
.Ar Nname[/mask]
Modified: projects/binutils-2.17/sbin/setkey/setkey.8
==============================================================================
--- projects/binutils-2.17/sbin/setkey/setkey.8 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sbin/setkey/setkey.8 Tue Oct 19 21:02:05 2010 (r214078)
@@ -565,7 +565,6 @@ There are small, but important, differen
See
.Xr ipsec_set_policy 3
for details.
-.Pp
.El
.Pp
.\"
@@ -583,7 +582,6 @@ in the
of the
.Ar protocol
parameter:
-.Pp
.Bd -literal -offset indent
algorithm keylen (bits) comment
hmac-md5 128 ah: rfc2403
@@ -616,7 +614,6 @@ in the
of the
.Ar protocol
parameter:
-.Pp
.Bd -literal -offset indent
algorithm keylen (bits) comment
des-cbc 64 esp-old: rfc1829, esp: rfc2405
@@ -643,7 +640,6 @@ in the
of the
.Ar protocol
parameter:
-.Pp
.Bd -literal -offset indent
algorithm comment
deflate rfc2394
Modified: projects/binutils-2.17/sbin/sunlabel/sunlabel.8
==============================================================================
--- projects/binutils-2.17/sbin/sunlabel/sunlabel.8 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sbin/sunlabel/sunlabel.8 Tue Oct 19 21:02:05 2010 (r214078)
@@ -120,7 +120,6 @@ Options are listed in alphabetical order
Note that only those option combinations listed under
.Sx SYNOPSIS
are allowable.
-.Pp
.Bl -tag -width ".Fl b Ar bootpath"
.It Fl b Ar bootpath
Specify that
Modified: projects/binutils-2.17/share/man/man4/lagg.4
==============================================================================
--- projects/binutils-2.17/share/man/man4/lagg.4 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man4/lagg.4 Tue Oct 19 21:02:05 2010 (r214078)
@@ -16,7 +16,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 8, 2010
+.Dd October 18, 2010
.Dt LAGG 4
.Os
.Sh NAME
@@ -73,14 +73,14 @@ The interface link state is used to vali
not.
.Bl -tag -width loadbalance
.It Ic failover
-Sends traffic only through the master port.
+Sends traffic only through the active port.
If the master port becomes unavailable,
the next active port is used.
The first interface added is the master port;
any interfaces added after that are used as failover devices.
.Pp
By default, received traffic is only accepted when they are received
-through the master port.
+through the active port.
This constraint can be relaxed by setting the
.Va net.link.lagg.failover_rx_all
.Xr sysctl 8
Modified: projects/binutils-2.17/share/man/man4/man4.arm/mge.4
==============================================================================
--- projects/binutils-2.17/share/man/man4/man4.arm/mge.4 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man4/man4.arm/mge.4 Tue Oct 19 21:02:05 2010 (r214078)
@@ -47,7 +47,6 @@ system-on-chip devices.
The
.Nm
driver supports the following media types:
-.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options
@@ -62,7 +61,6 @@ Set 1000baseT operation
The
.Nm
driver supports the following media options:
-.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Set full duplex operation
Modified: projects/binutils-2.17/share/man/man4/man4.i386/ep.4
==============================================================================
--- projects/binutils-2.17/share/man/man4/man4.i386/ep.4 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man4/man4.i386/ep.4 Tue Oct 19 21:02:05 2010 (r214078)
@@ -57,7 +57,6 @@ Parallel Tasking chipset.
.Pp
Various models of these cards come with a different assortment of
connectors:
-.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It AUI/DIX
Standard 15 pin connector, also known as 10base5 (thick-net)
@@ -74,7 +73,6 @@ To override this, use the following medi
or in your
.Pa /etc/rc.conf
file.
-.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It 10base5/AUI
Use the AUI port.
Modified: projects/binutils-2.17/share/man/man4/man4.i386/mse.4
==============================================================================
--- projects/binutils-2.17/share/man/man4/man4.i386/mse.4 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man4/man4.i386/mse.4 Tue Oct 19 21:02:05 2010 (r214078)
@@ -147,7 +147,6 @@ or in the User Configuration Menu at
the boot time
(see
.Xr boot 8 ) .
-.Pp
.Bl -tag -width MOUSE
.It bit 4..7 ACCELERATION
This flag controls the amount of acceleration effect.
Modified: projects/binutils-2.17/share/man/man4/man4.powerpc/tsec.4
==============================================================================
--- projects/binutils-2.17/share/man/man4/man4.powerpc/tsec.4 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man4/man4.powerpc/tsec.4 Tue Oct 19 21:02:05 2010 (r214078)
@@ -47,7 +47,6 @@ some of the Freescale system-on-chip dev
The
.Nm
driver supports the following media types:
-.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options
@@ -62,7 +61,6 @@ Set 1000baseT operation
The
.Nm
driver supports the following media options:
-.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Set full duplex operation
Modified: projects/binutils-2.17/share/man/man4/nxge.4
==============================================================================
--- projects/binutils-2.17/share/man/man4/nxge.4 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man4/nxge.4 Tue Oct 19 21:02:05 2010 (r214078)
@@ -49,7 +49,7 @@ The
.Nm
driver provides support for Neterion Xframe-I and Xframe-II adapters.
The driver supports TCP Segmentation Offload (TSO/LSO),
-Large Receive Offlaod (LRO), Jumbo Frames (5 buffer mode),
+Large Receive Offload (LRO), Jumbo Frames (5 buffer mode),
Header Separation (Rx 2 buffer mode), VLAN, and Promiscuous mode.
.Pp
For general information and support, please visit the Neterion support page
Modified: projects/binutils-2.17/share/man/man5/freebsd-update.conf.5
==============================================================================
--- projects/binutils-2.17/share/man/man5/freebsd-update.conf.5 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man5/freebsd-update.conf.5 Tue Oct 19 21:02:05 2010 (r214078)
@@ -47,7 +47,6 @@ Unless stated otherwise, specifying an o
error.
.Pp
The possible options and their meanings are as follows:
-.Pp
.Bl -tag -width ".Cm BackupKernelSymbolFiles"
.It Cm KeyPrint
The single parameter following this keyword is the SHA256 hash
Modified: projects/binutils-2.17/share/man/man9/Makefile
==============================================================================
--- projects/binutils-2.17/share/man/man9/Makefile Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man9/Makefile Tue Oct 19 21:02:05 2010 (r214078)
@@ -1212,11 +1212,17 @@ MLINKS+=sysctl_ctx_init.9 sysctl_ctx_ent
sysctl_ctx_init.9 sysctl_ctx_free.9
MLINKS+=taskqueue.9 TASK_INIT.9 \
taskqueue.9 taskqueue_create.9 \
+ taskqueue.9 taskqueue_create_fast.9 \
taskqueue.9 TASKQUEUE_DECLARE.9 \
taskqueue.9 TASKQUEUE_DEFINE.9 \
+ taskqueue.9 TASKQUEUE_DEFINE_THREAD.9 \
+ taskqueue.9 taskqueue_drain.9 \
taskqueue.9 taskqueue_enqueue.9 \
- taskqueue.9 taskqueue_find.9 \
+ taskqueue.9 taskqueue_enqueue_fast.9 \
+ taskqueue.9 TASKQUEUE_FAST_DEFINE.9 \
+ taskqueue.9 TASKQUEUE_FAST_DEFINE_THREAD.9 \
taskqueue.9 taskqueue_free.9 \
+ taskqueue.9 taskqueue_member.9 \
taskqueue.9 taskqueue_run.9
MLINKS+=time.9 boottime.9 \
time.9 time_second.9 \
Modified: projects/binutils-2.17/share/man/man9/vrele.9
==============================================================================
--- projects/binutils-2.17/share/man/man9/vrele.9 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man9/vrele.9 Tue Oct 19 21:02:05 2010 (r214078)
@@ -59,7 +59,7 @@ The
.Fn vrele
function takes an unlocked vnode and returns with the vnode unlocked.
.Pp
-.The
+The
.Fn vput
function should be given a locked vnode as argument, the vnode is unlocked
after the function returned.
Modified: projects/binutils-2.17/share/man/man9/zone.9
==============================================================================
--- projects/binutils-2.17/share/man/man9/zone.9 Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/share/man/man9/zone.9 Tue Oct 19 21:02:05 2010 (r214078)
@@ -153,6 +153,13 @@ Items are released back to the zone from
calling
.Fn uma_zfree
with a pointer to the zone and a pointer to the item.
+If
+.Fa item
+is
+.Dv NULL ,
+then
+.Fn uma_zfree
+does nothing.
.Pp
The variations
.Fn uma_zalloc_arg
Modified: projects/binutils-2.17/sys/arm/mv/mv_sata.c
==============================================================================
--- projects/binutils-2.17/sys/arm/mv/mv_sata.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sys/arm/mv/mv_sata.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -710,7 +710,7 @@ sata_channel_status(device_t dev)
if ((icr & SATA_ICR_DEV(ch->unit)) || iecr) {
/* Disable EDMA before accessing SATA registers */
sata_edma_ctrl(dev, 0);
- ata_sata_phy_check_events(dev);
+ ata_sata_phy_check_events(dev, -1);
/* Ack device and error interrupt */
SATA_OUTL(sc, SATA_ICR, ~SATA_ICR_DEV(ch->unit));
Modified: projects/binutils-2.17/sys/conf/files
==============================================================================
--- projects/binutils-2.17/sys/conf/files Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sys/conf/files Tue Oct 19 21:02:05 2010 (r214078)
@@ -2453,6 +2453,7 @@ net80211/ieee80211_power.c optional wlan
net80211/ieee80211_proto.c optional wlan
net80211/ieee80211_radiotap.c optional wlan
net80211/ieee80211_ratectl.c optional wlan
+net80211/ieee80211_ratectl_none.c optional wlan
net80211/ieee80211_regdomain.c optional wlan
net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt
net80211/ieee80211_scan.c optional wlan
Modified: projects/binutils-2.17/sys/dev/acpica/acpi.c
==============================================================================
--- projects/binutils-2.17/sys/dev/acpica/acpi.c Tue Oct 19 20:53:30 2010 (r214077)
+++ projects/binutils-2.17/sys/dev/acpica/acpi.c Tue Oct 19 21:02:05 2010 (r214078)
@@ -66,10 +66,6 @@ __FBSDID("$FreeBSD$");
#include <dev/acpica/acpivar.h>
#include <dev/acpica/acpiio.h>
-#include "pci_if.h"
-#include <dev/pci/pcivar.h>
-#include <dev/pci/pci_private.h>
-
#include <vm/vm_param.h>
MALLOC_DEFINE(M_ACPIDEV, "acpidev", "ACPI devices");
@@ -133,8 +129,7 @@ static ACPI_STATUS acpi_device_scan_cb(A
void *context, void **retval);
static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev,
int max_depth, acpi_scan_cb_t user_fn, void *arg);
-static int acpi_set_powerstate_method(device_t bus, device_t child,
- int state);
+static int acpi_set_powerstate(device_t child, int state);
static int acpi_isa_pnp_probe(device_t bus, device_t child,
struct isa_pnp_id *ids);
static void acpi_probe_children(device_t bus);
@@ -205,9 +200,6 @@ static device_method_t acpi_methods[] =
DEVMETHOD(acpi_pwr_for_sleep, acpi_device_pwr_for_sleep),
DEVMETHOD(acpi_scan_children, acpi_device_scan_children),
- /* PCI emulation */
- DEVMETHOD(pci_set_powerstate, acpi_set_powerstate_method),
-
/* ISA emulation */
DEVMETHOD(isa_pnp_probe, acpi_isa_pnp_probe),
@@ -262,12 +254,6 @@ TUNABLE_INT("debug.acpi.interpreter_slac
SYSCTL_INT(_debug_acpi, OID_AUTO, interpreter_slack, CTLFLAG_RDTUN,
&acpi_interpreter_slack, 1, "Turn on interpreter slack mode.");
-/* Power devices off and on in suspend and resume. XXX Remove once tested. */
-static int acpi_do_powerstate = 1;
-TUNABLE_INT("debug.acpi.do_powerstate", &acpi_do_powerstate);
-SYSCTL_INT(_debug_acpi, OID_AUTO, do_powerstate, CTLFLAG_RW,
- &acpi_do_powerstate, 1, "Turn off devices when suspending.");
-
/* Reset system clock while resuming. XXX Remove once tested. */
static int acpi_reset_clock = 1;
TUNABLE_INT("debug.acpi.reset_clock", &acpi_reset_clock);
@@ -668,45 +654,43 @@ acpi_attach(device_t dev)
return_VALUE (error);
}
+static void
+acpi_set_power_children(device_t dev, int state)
+{
+ device_t child, parent;
+ device_t *devlist;
+ struct pci_devinfo *dinfo;
+ int dstate, i, numdevs;
+
+ if (device_get_children(dev, &devlist, &numdevs) != 0)
+ return;
+
+ /*
+ * Retrieve and set D-state for the sleep state if _SxD is present.
+ * Skip children who aren't attached since they are handled separately.
+ */
+ parent = device_get_parent(dev);
+ for (i = 0; i < numdevs; i++) {
+ child = devlist[i];
+ dinfo = device_get_ivars(child);
+ dstate = state;
+ if (device_is_attached(child) &&
+ acpi_device_pwr_for_sleep(parent, dev, &dstate) == 0)
+ acpi_set_powerstate(child, dstate);
+ }
+ free(devlist, M_TEMP);
+}
+
static int
acpi_suspend(device_t dev)
{
- device_t child, *devlist;
- int error, i, numdevs, pstate;
+ int error;
GIANT_REQUIRED;
- /* First give child devices a chance to suspend. */
error = bus_generic_suspend(dev);
- if (error)
- return (error);
-
- /*
- * Now, set them into the appropriate power state, usually D3. If the
- * device has an _SxD method for the next sleep state, use that power
- * state instead.
- */
- error = device_get_children(dev, &devlist, &numdevs);
- if (error)
- return (error);
- for (i = 0; i < numdevs; i++) {
- /* If the device is not attached, we've powered it down elsewhere. */
- child = devlist[i];
- if (!device_is_attached(child))
- continue;
-
- /*
- * Default to D3 for all sleep states. The _SxD method is optional
- * so set the powerstate even if it's absent.
- */
- pstate = PCI_POWERSTATE_D3;
- error = acpi_device_pwr_for_sleep(device_get_parent(child),
- child, &pstate);
- if ((error == 0 || error == ESRCH) && acpi_do_powerstate)
- pci_set_powerstate(child, pstate);
- }
- free(devlist, M_TEMP);
- error = 0;
+ if (error == 0)
+ acpi_set_power_children(dev, ACPI_STATE_D3);
return (error);
}
@@ -714,28 +698,10 @@ acpi_suspend(device_t dev)
static int
acpi_resume(device_t dev)
{
- ACPI_HANDLE handle;
- int i, numdevs, error;
- device_t child, *devlist;
GIANT_REQUIRED;
- /*
- * Put all devices in D0 before resuming them. Call _S0D on each one
- * since some systems expect this.
- */
- error = device_get_children(dev, &devlist, &numdevs);
- if (error)
- return (error);
- for (i = 0; i < numdevs; i++) {
- child = devlist[i];
- handle = acpi_get_handle(child);
- if (handle)
- AcpiEvaluateObject(handle, "_S0D", NULL, NULL);
- if (device_is_attached(child) && acpi_do_powerstate)
- pci_set_powerstate(child, PCI_POWERSTATE_D0);
- }
- free(devlist, M_TEMP);
+ acpi_set_power_children(dev, ACPI_STATE_D0);
return (bus_generic_resume(dev));
}
@@ -811,7 +777,7 @@ static void
acpi_probe_nomatch(device_t bus, device_t child)
{
#ifdef ACPI_ENABLE_POWERDOWN_NODRIVER
- pci_set_powerstate(child, PCI_POWERSTATE_D3);
+ acpi_set_powerstate(child, ACPI_STATE_D3);
#endif
}
@@ -833,9 +799,9 @@ acpi_driver_added(device_t dev, driver_t
child = devlist[i];
if (device_get_state(child) == DS_NOTPRESENT) {
#ifdef ACPI_ENABLE_POWERDOWN_NODRIVER
- pci_set_powerstate(child, PCI_POWERSTATE_D0);
+ acpi_set_powerstate(child, ACPI_STATE_D0);
if (device_probe_and_attach(child) != 0)
- pci_set_powerstate(child, PCI_POWERSTATE_D3);
+ acpi_set_powerstate(child, ACPI_STATE_D3);
#else
device_probe_and_attach(child);
#endif
@@ -1401,9 +1367,7 @@ acpi_device_pwr_for_sleep(device_t bus,
ACPI_HANDLE handle;
ACPI_STATUS status;
char sxd[8];
- int error;
- sc = device_get_softc(bus);
handle = acpi_get_handle(dev);
/*
@@ -1412,7 +1376,7 @@ acpi_device_pwr_for_sleep(device_t bus,
* set to D3 and it appears that such legacy devices may
* need special handling in their drivers.
*/
- if (handle == NULL ||
+ if (dstate == NULL || handle == NULL ||
acpi_MatchHid(handle, "PNP0500") ||
acpi_MatchHid(handle, "PNP0501") ||
acpi_MatchHid(handle, "PNP0502") ||
@@ -1421,28 +1385,19 @@ acpi_device_pwr_for_sleep(device_t bus,
return (ENXIO);
/*
- * Override next state with the value from _SxD, if present. If no
- * dstate argument was provided, don't fetch the return value.
+ * Override next state with the value from _SxD, if present.
+ * Note illegal _S0D is evaluated because some systems expect this.
*/
+ sc = device_get_softc(bus);
snprintf(sxd, sizeof(sxd), "_S%dD", sc->acpi_sstate);
- if (dstate)
- status = acpi_GetInteger(handle, sxd, dstate);
- else
- status = AcpiEvaluateObject(handle, sxd, NULL, NULL);
-
- switch (status) {
- case AE_OK:
- error = 0;
- break;
- case AE_NOT_FOUND:
- error = ESRCH;
- break;
- default:
- error = ENXIO;
- break;
+ status = acpi_GetInteger(handle, sxd, dstate);
+ if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
+ device_printf(dev, "failed to get %s on %s: %s\n", sxd,
+ acpi_name(handle), AcpiFormatException(status));
+ return (ENXIO);
}
- return (error);
+ return (0);
}
/* Callback arg for our implementation of walking the namespace. */
@@ -1524,13 +1479,11 @@ acpi_device_scan_children(device_t bus,
* device power states since it's close enough to ACPI.
*/
static int
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list