From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 00:41:32 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3CE8A106566B; Sun, 10 Jul 2011 00:41:32 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1330F8FC0A; Sun, 10 Jul 2011 00:41:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6A0fVXN022981; Sun, 10 Jul 2011 00:41:31 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6A0fVea022978; Sun, 10 Jul 2011 00:41:31 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107100041.p6A0fVea022978@svn.freebsd.org> From: Kirk McKusick Date: Sun, 10 Jul 2011 00:41:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223900 - in head/sys: geom ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 00:41:32 -0000 Author: mckusick Date: Sun Jul 10 00:41:31 2011 New Revision: 223900 URL: http://svn.freebsd.org/changeset/base/223900 Log: Allow disk partitions associated with UFS read-only mounted filesystems to be opened for writing. This functionality used to be special-cased for just the root filesystem, but with this change is now available for all UFS filesystems. This change is needed for journaled soft updates recovery. Discussed with: Jeff Roberson Modified: head/sys/geom/geom_vfs.c head/sys/ufs/ffs/ffs_vfsops.c Modified: head/sys/geom/geom_vfs.c ============================================================================== --- head/sys/geom/geom_vfs.c Sat Jul 9 23:05:50 2011 (r223899) +++ head/sys/geom/geom_vfs.c Sun Jul 10 00:41:31 2011 (r223900) @@ -171,7 +171,7 @@ g_vfs_open(struct vnode *vp, struct g_co gp = g_new_geomf(&g_vfs_class, "%s.%s", fsname, pp->name); cp = g_new_consumer(gp); g_attach(cp, pp); - error = g_access(cp, 1, wr, 1); + error = g_access(cp, 1, wr, wr); if (error) { g_wither_geom(gp, ENXIO); return (error); Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Sat Jul 9 23:05:50 2011 (r223899) +++ head/sys/ufs/ffs/ffs_vfsops.c Sun Jul 10 00:41:31 2011 (r223900) @@ -273,7 +273,10 @@ ffs_mount(struct mount *mp) softdep_unmount(mp); DROP_GIANT(); g_topology_lock(); - g_access(ump->um_cp, 0, -1, 0); + /* + * Drop our write and exclusive access. + */ + g_access(ump->um_cp, 0, -1, -1); g_topology_unlock(); PICKUP_GIANT(); fs->fs_ronly = 1; @@ -327,13 +330,9 @@ ffs_mount(struct mount *mp) DROP_GIANT(); g_topology_lock(); /* - * If we're the root device, we may not have an E count - * yet, get it now. + * Request exclusive write access. */ - if (ump->um_cp->ace == 0) - error = g_access(ump->um_cp, 0, 1, 1); - else - error = g_access(ump->um_cp, 0, 1, 0); + error = g_access(ump->um_cp, 0, 1, 1); g_topology_unlock(); PICKUP_GIANT(); if (error) @@ -665,13 +664,6 @@ ffs_mountfs(devvp, mp, td) DROP_GIANT(); g_topology_lock(); error = g_vfs_open(devvp, &cp, "ffs", ronly ? 0 : 1); - - /* - * If we are a root mount, drop the E flag so fsck can do its magic. - * We will pick it up again when we remount R/W. - */ - if (error == 0 && ronly && (mp->mnt_flag & MNT_ROOTFS)) - error = g_access(cp, 0, 0, -1); g_topology_unlock(); PICKUP_GIANT(); VOP_UNLOCK(devvp, 0); @@ -932,7 +924,7 @@ ffs_mountfs(devvp, mp, td) strlcpy(fs->fs_fsmnt, mp->mnt_stat.f_mntonname, MAXMNTLEN); mp->mnt_stat.f_iosize = fs->fs_bsize; - if( mp->mnt_flag & MNT_ROOTFS) { + if (mp->mnt_flag & MNT_ROOTFS) { /* * Root mount; update timestamp in mount structure. * this will be used by the common root mount code From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 00:53:05 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 443DB106564A; Sun, 10 Jul 2011 00:53:05 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 345D28FC14; Sun, 10 Jul 2011 00:53:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6A0r5Aa023401; Sun, 10 Jul 2011 00:53:05 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6A0r5Oq023398; Sun, 10 Jul 2011 00:53:05 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107100053.p6A0r5Oq023398@svn.freebsd.org> From: Kirk McKusick Date: Sun, 10 Jul 2011 00:53:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223901 - in head/sys: i386 kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 00:53:05 -0000 Author: mckusick Date: Sun Jul 10 00:53:04 2011 New Revision: 223901 URL: http://svn.freebsd.org/changeset/base/223901 Log: Update tags build script Modified: head/sys/i386/Makefile head/sys/kern/Make.tags.inc Modified: head/sys/i386/Makefile ============================================================================== --- head/sys/i386/Makefile Sun Jul 10 00:41:31 2011 (r223900) +++ head/sys/i386/Makefile Sun Jul 10 00:53:04 2011 (r223901) @@ -25,7 +25,7 @@ links:: (cd $$i && { rm -f tags; ln -s ../tags tags; }) done SI386= ${SYS}/i386/acpica/*.[ch] ${SYS}/i386/bios/*.[ch] \ - ${SYS}/i386/cpufreq/*.[ch] ${SYS}/i386/pci/*.[ch] \ + ${SYS}/i386/pci/*.[ch] ${SYS}/i386/pci/*.[ch] \ ${SYS}/i386/i386/*.[ch] ${SYS}/i386/ibcs2/*.[ch] \ ${SYS}/i386/include/*.[ch] ${SYS}/i386/isa/*.[ch] \ ${SYS}/i386/linux/*.[ch] Modified: head/sys/kern/Make.tags.inc ============================================================================== --- head/sys/kern/Make.tags.inc Sun Jul 10 00:41:31 2011 (r223900) +++ head/sys/kern/Make.tags.inc Sun Jul 10 00:53:04 2011 (r223901) @@ -37,6 +37,7 @@ COMM= ${SYS}/dev/advansys/*.[ch] \ ${SYS}/fs/smbfs/*.[ch] \ ${SYS}/fs/udf/*.[ch] \ ${SYS}/fs/unionfs/*.[ch] \ + ${SYS}/geom/*.[ch] \ ${SYS}/kern/*.[ch] \ ${SYS}/net/*.[ch] \ ${SYS}/netatalk/*.[ch] \ @@ -55,6 +56,7 @@ COMM= ${SYS}/dev/advansys/*.[ch] \ ${SYS}/sys/*.[ch] COMMDIR1= ${SYS}/conf \ + ${SYS}/geom \ ${SYS}/kern \ ${SYS}/net \ ${SYS}/netatalk \ From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 03:30:14 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE288106564A; Sun, 10 Jul 2011 03:30:14 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail04.syd.optusnet.com.au (mail04.syd.optusnet.com.au [211.29.132.185]) by mx1.freebsd.org (Postfix) with ESMTP id 217EA8FC12; Sun, 10 Jul 2011 03:30:13 +0000 (UTC) Received: from c122-106-165-191.carlnfd1.nsw.optusnet.com.au (c122-106-165-191.carlnfd1.nsw.optusnet.com.au [122.106.165.191]) by mail04.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p6A3U5an018624 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 10 Jul 2011 13:30:06 +1000 Date: Sun, 10 Jul 2011 13:30:05 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Kirk McKusick In-Reply-To: <201107100041.p6A0fVea022978@svn.freebsd.org> Message-ID: <20110710114730.T1039@besplex.bde.org> References: <201107100041.p6A0fVea022978@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223900 - in head/sys: geom ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 03:30:14 -0000 On Sun, 10 Jul 2011, Kirk McKusick wrote: > Log: > Allow disk partitions associated with UFS read-only mounted > filesystems to be opened for writing. This functionality used to > be special-cased for just the root filesystem, but with this change > is now available for all UFS filesystems. This change is needed for > journaled soft updates recovery. > > Discussed with: Jeff Roberson This seems too unsafe to me, but it may help fix some other bugs: 1. It was broken even for the root file systems due to some bugs in frobbing the E flag. It worked initially, but stopped working after the root file sys was mounted read-write -- changing it back to read-only didn't work, so in particular the root file system remained un-fsckable after shutting down to single user mode and mounting it read-only in order to fsck it. I have some patches that might fix this (enclosed). I'm not sure if this is fixed in -current or if moving the E flag frobbing in this commit fixes it. 2. tunefs should now work on file systems mounted read-only. I think this once sort of worked, but the E flag broke this too (except initially for root), but tunefs has poor error handling when it turns out that that the file system is mounted read-write. I have some patches that might fix this (not all enclosed). % Index: ffs_vfsops.c % =================================================================== % RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_vfsops.c,v % retrieving revision 1.345 % diff -u -2 -r1.345 ffs_vfsops.c % --- ffs_vfsops.c 10 Aug 2008 12:15:36 -0000 1.345 % +++ ffs_vfsops.c 14 Aug 2008 15:51:01 -0000 % @@ -229,9 +229,18 @@ % } % vn_finished_write(mp); % + % + /* % + * Decrement the W count, and decrement the E count % + * if we are remounting root (fsck magic). % + */ Improve comments. Might be OBE. % DROP_GIANT(); % g_topology_lock(); % - g_access(ump->um_cp, 0, -1, 0); % + error = g_access(ump->um_cp, 0, -1, % + (mp->mnt_flag & MNT_ROOTFS) ? -1 : 0); This might be the fix. % g_topology_unlock(); % PICKUP_GIANT(); % + if (error) % + return (error); % + Add missing error handling. g_access() can easily fail, although it rarely fails in the above since the above asks for less access than has already been granted. % fs->fs_ronly = 1; % MNT_ILOCK(mp); % @@ -273,18 +282,18 @@ % } % } % - DROP_GIANT(); % - g_topology_lock(); % + % /* % - * If we're the root device, we may not have an E count % - * yet, get it now. % + * Increment the W count, and increment the E count % + * if we are remounting root (fsck magic). % */ % - if (ump->um_cp->ace == 0) % - error = g_access(ump->um_cp, 0, 1, 1); % - else % - error = g_access(ump->um_cp, 0, 1, 0); % + DROP_GIANT(); % + g_topology_lock(); % + error = g_access(ump->um_cp, 0, 1, % + (mp->mnt_flag & MNT_ROOTFS) ? 1 : 0); Improve comments and style. Don't be so verbose, except in the comments. % g_topology_unlock(); % PICKUP_GIANT(); % if (error) % return (error); % + % if ((error = vn_start_write(NULL, &mp, V_WAIT)) != 0) % return (error); % @@ -596,13 +605,13 @@ % dev = devvp->v_rdev; % cred = td ? td->td_ucred : NOCRED; % - % ronly = (mp->mnt_flag & MNT_RDONLY) != 0; % + % DROP_GIANT(); % g_topology_lock(); % error = g_vfs_open(devvp, &cp, "ffs", ronly ? 0 : 1); % - % /* % - * If we are a root mount, drop the E flag so fsck can do its magic. % - * We will pick it up again when we remount R/W. % + * If we are mounting root ro, then decrement the E count (which % + * g_access() just incremented) so that fsck can do its magic. % + * We will increment it again if we remount rw. % */ Probably OBE. % if (error == 0 && ronly && (mp->mnt_flag & MNT_ROOTFS)) % @@ -610,4 +619,5 @@ % g_topology_unlock(); % PICKUP_GIANT(); % + % VOP_UNLOCK(devvp, 0); % if (error) % @@ -620,4 +630,5 @@ % devvp->v_bufobj.bo_private = cp; % devvp->v_bufobj.bo_ops = &ffs_ops; % + devvp->v_bufobj.bo_flag |= BO_MPSAFE; Unrelated. % % bp = NULL; Part of a patch for tunefs: % Index: tunefs.c % =================================================================== % RCS file: /home/ncvs/src/sbin/tunefs/tunefs.c,v % retrieving revision 1.42 % diff -u -2 -r1.42 tunefs.c % --- tunefs.c 9 Apr 2004 19:58:40 -0000 1.42 % +++ tunefs.c 10 Apr 2004 02:10:11 -0000 % ... % @@ -224,12 +224,14 @@ % usage(); % % - on = special = argv[0]; % + special = argv[0]; % if (ufs_disk_fillout(&disk, special) == -1) % goto err; % - if (disk.d_name != special) { % + if (disk.d_name != special) % special = disk.d_name; % - if (statfs(special, &stfs) == 0 && % - strcmp(special, stfs.f_mntonname) == 0) % - active = 1; % + stfsp = getmntpt(special); % + if (stfsp != NULL) { % + if (pflag == 0 && (stfsp->f_flags & MNT_RDONLY) == 0) % + errx(1, % + "cannot work on read-write mounted file system"); % } % getmntpt() is essentially a copy of the function of the same name in fsck_ffs. It is used for similar things. Here it is used to check more carefully if the fs is already mounted, and to bail out early if it is already mounted r/w. newfs_foofs should use a similar function, which should be in libc near the fstab access functions. I got ps@ to do add getmntpt() in newfs_msdos and started from there in tunefs. Better access control in the kernel might make this function less needed in applications, but it is still good for error handling. I forget what replaced the hotroot stuff in fsck_ffs, or what the unpatched version of tunefs does instead of bailing out -- it apparently just continues until sbwrite() fails. This was written before the E flag existed. I think exclusive access just breaks read-only mounted file systems. % ... % @@ -370,12 +368,13 @@ % goto err; % ufs_disk_close(&disk); % - if (active) { % + if (stfsp != NULL) { % bzero(&args, sizeof(args)); % - if (mount("ufs", on, % - stfs.f_flags | MNT_UPDATE | MNT_RELOAD, &args) < 0) % + if (mount("ufs", stfsp->f_mntonname, % + stfsp->f_flags | MNT_UPDATE | MNT_RELOAD, &args) < 0) % err(9, "%s: reload", special); % warnx("file system reloaded"); % } % exit(0); % + % err: % if (disk.d_error != NULL) 'active' is no longer needed, since we are more careful in finding the mounted file system if there is one. Exclusivivity should also fix races in the above, since we should open the device r/w and thus get exclusive access for the whole operation, but this seems to be broken with the help of libufs. I don't like libufs at all. Here its brokenness is that it obfuscates the open modes and thus helps confuse tunefs into using wrong ones. tunefs should use O_RDONLY for the -p case and O_RDWR otherwise. What it actually does is: - O_RDONLY via ufs_disk_fullout(). Use this for most of the program. - O_RDWR via sbwrite(). sbwrite() calls ufs_disk_write() which changes the open mode to O_RDWR extremely non-atomically. It just does `close(disk->f_fd); disk->d_fd = open(disk->d_name, O_RDWR)'. So even if you had exclusive access by opening the device O_RDWR, every single ufs_disk_write() drops it. These bugs don't quite duplicate old ones in tunefs. tunefs used to use getsb() instead of ufs_disk_fillout(), and putsb() instead of ufs_disk_write(). So it too used O_RDONLY for most of the program. But it was more careful in putsb(). It held the O_RDONLY fd open while opening a (different) O_RDWR descriptor and documented this as being "an interlock to prevent the device from being mounted while we are switching mode". However, I think O_RDONLY never gave any useful interlock. libufs's bugs also affect newfs. The main one that I knew about was that the error returned by sbwrite() is always ignored. This worked before libufs by using wtfs() for superblock writes too. (wtfs() has unclean but working error handling. It exits on error. Libraries shouldn't exit on error, so libufs tries to preserve error codes and messages from possibly-deeply-nested routines. Applications, faced with the complexity of this, too often don't even know about it and don't even check for errors. newfs should probably use a wrapper function to recover its old error handling for superblock writes. Using the library would still require several more lines of code and complications than just doing it.) Add the close/open race to this. wtfs() (local in newfs) uses bwrite() in libufs, and bwrite() uses ufs_disk_write(), giving the close/open race. fsck_ffs mercifully doesn't use libufs, so it is missing these bugs. It uses write(), but otherwise has more specialized error handling than a library can reasonably do. This is why I don't like libraries like libufs. They make simple things more complicated and buggy by wrapping layers around them, and can't help for not so simple things. Bruce From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 05:01:20 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id A13EC106564A; Sun, 10 Jul 2011 05:01:20 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 19B1B1500E8; Sun, 10 Jul 2011 05:01:20 +0000 (UTC) Message-ID: <4E19321F.1090801@FreeBSD.org> Date: Sat, 09 Jul 2011 22:01:19 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: Warner Losh References: <201107080135.p681ZXZu087112@svn.freebsd.org> In-Reply-To: X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Tai-hwa Liang , Craig Rodrigues , svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r223854 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 05:01:20 -0000 On 07/08/2011 15:29, Warner Losh wrote: > > On Jul 8, 2011, at 2:25 AM, Craig Rodrigues wrote: > >> Hi, >> >> While not ideal, would it be possible consider setting WARNS to set >> different levels >> depending on what the value of ${MACHINE_ARCH} is? >> >> Something like: >> >> .if ${MACHINE_ARCH} != "sparc64" (or whatever the correct value is) >> WARNS ?= 0 >> .else >> WARNS ?= 2 >> .endif >> >> This would at least be an attempt to prevent people from adding new >> code to libstand which introduce new warnings. > > We've avoided this in the tree, and I'd urge against it. It gives a > false sense of security and tends to make problems linger. I'd like to > strongly argue against it. If I'm missing something here, feel free to correct me. But what you seem to be saying is that WARNS should be kept down to the LCD, is that right? If so, wouldn't that mean that the problems are just going to be ignored perpetually? ISTM that what Craig is proposing gives us the benefits of noticing breakage faster at higher WARNS levels for those arches that support them, while allowing interested folks to pick up the work on the less-well-supported arches as time allows. I don't see a downside to that. Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 05:30:41 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63185106564A; Sun, 10 Jul 2011 05:30:41 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id F32508FC0A; Sun, 10 Jul 2011 05:30:40 +0000 (UTC) Received: from 63.imp.bsdimp.com (63.imp.bsdimp.com [10.0.0.63]) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id p6A5P724012246 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sat, 9 Jul 2011 23:25:07 -0600 (MDT) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <4E19321F.1090801@FreeBSD.org> Date: Sat, 9 Jul 2011 23:25:13 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201107080135.p681ZXZu087112@svn.freebsd.org> <4E19321F.1090801@FreeBSD.org> To: Doug Barton X-Mailer: Apple Mail (2.1084) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Sat, 09 Jul 2011 23:25:08 -0600 (MDT) Cc: Tai-hwa Liang , Craig Rodrigues , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-head@FreeBSD.org Subject: Re: svn commit: r223854 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 05:30:41 -0000 On Jul 9, 2011, at 11:01 PM, Doug Barton wrote: > On 07/08/2011 15:29, Warner Losh wrote: >>=20 >> On Jul 8, 2011, at 2:25 AM, Craig Rodrigues wrote: >>=20 >>> Hi, >>>=20 >>> While not ideal, would it be possible consider setting WARNS to set >>> different levels >>> depending on what the value of ${MACHINE_ARCH} is? >>>=20 >>> Something like: >>>=20 >>> .if ${MACHINE_ARCH} !=3D "sparc64" (or whatever the correct value = is) >>> WARNS ?=3D 0 >>> .else >>> WARNS ?=3D 2 >>> .endif >>>=20 >>> This would at least be an attempt to prevent people from adding new >>> code to libstand which introduce new warnings. >>=20 >> We've avoided this in the tree, and I'd urge against it. It gives a >> false sense of security and tends to make problems linger. I'd like = to >> strongly argue against it. >=20 > If I'm missing something here, feel free to correct me. But what you > seem to be saying is that WARNS should be kept down to the LCD, is = that > right? Yes. > If so, wouldn't that mean that the problems are just going to be > ignored perpetually? No. History has shown that they are properly fixed on all platforms in = the fullness of time. > ISTM that what Craig is proposing gives us the benefits of noticing > breakage faster at higher WARNS levels for those arches that support > them, while allowing interested folks to pick up the work on the > less-well-supported arches as time allows. I don't see a downside to = that. Yes. I understand Craig's theory. The down-side is that people just if = !mips or if !arm stuff out thinking it is safe to do so, when in fact = the warnings are telling you about real (or potentially real) bugs on = the platform in question. So instead of making things safer, you are = really masking the bugs. Better to fix the warnings on those platforms = than to pretend that WARNS=3D9 on i386 is "good enough" and that you can = bump that down to WARNS=3D1 when you encounter something you don't = understand. So, it might catch one or two trivial things, but if we do it throughout = the tree I worry that the very good efforts to raise the warnings for = all ports will come to a stop and we'll wind up with fewer bug fixes for = the platforms that complain. Having the low WARNS=3D today motivates = people to fix stuff... Warner= From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 05:34:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2EC37106566B; Sun, 10 Jul 2011 05:34:50 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1E1A58FC21; Sun, 10 Jul 2011 05:34:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6A5YoYM031836; Sun, 10 Jul 2011 05:34:50 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6A5YnT6031834; Sun, 10 Jul 2011 05:34:49 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107100534.p6A5YnT6031834@svn.freebsd.org> From: Kirk McKusick Date: Sun, 10 Jul 2011 05:34:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223902 - head/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 05:34:50 -0000 Author: mckusick Date: Sun Jul 10 05:34:49 2011 New Revision: 223902 URL: http://svn.freebsd.org/changeset/base/223902 Log: When first creating snapshots, we may free some blocks within it. These blocks should not have TRIM applied to them. Submitted by: Kostik Belousov Modified: head/sys/ufs/ffs/ffs_alloc.c Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Sun Jul 10 00:53:04 2011 (r223901) +++ head/sys/ufs/ffs/ffs_alloc.c Sun Jul 10 05:34:49 2011 (r223902) @@ -2038,7 +2038,11 @@ ffs_blkfree(ump, fs, devvp, bno, size, i ffs_snapblkfree(fs, devvp, bno, size, inum, vtype, dephd)) { return; } - if (!ump->um_candelete) { + /* + * Nothing to delay if TRIM is disabled, or the operation is + * performed on the snapshot. + */ + if (!ump->um_candelete || devvp->v_type == VREG) { ffs_blkfree_cg(ump, fs, devvp, bno, size, inum, dephd); return; } From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 05:50:08 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id D20DF106566B; Sun, 10 Jul 2011 05:50:08 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 467B8153A89; Sun, 10 Jul 2011 05:50:08 +0000 (UTC) Message-ID: <4E193D8F.8020304@FreeBSD.org> Date: Sat, 09 Jul 2011 22:50:07 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: Warner Losh References: <201107080135.p681ZXZu087112@svn.freebsd.org> <4E19321F.1090801@FreeBSD.org> In-Reply-To: X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Tai-hwa Liang , Craig Rodrigues , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-head@FreeBSD.org Subject: Re: svn commit: r223854 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 05:50:09 -0000 On 07/09/2011 22:25, Warner Losh wrote: > Having the low WARNS= today motivates people to fix stuff... I see absolutely no evidence of that, but it's clear that your opinion is not likely to change, so I'll leave it alone. -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 06:57:00 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE0C7106566C; Sun, 10 Jul 2011 06:57:00 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B3F9E8FC0C; Sun, 10 Jul 2011 06:57:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6A6v0bg034241; Sun, 10 Jul 2011 06:57:00 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6A6v0Hv034239; Sun, 10 Jul 2011 06:57:00 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201107100657.p6A6v0Hv034239@svn.freebsd.org> From: Kevin Lo Date: Sun, 10 Jul 2011 06:57:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223903 - head/lib/libc/xdr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 06:57:01 -0000 Author: kevlo Date: Sun Jul 10 06:57:00 2011 New Revision: 223903 URL: http://svn.freebsd.org/changeset/base/223903 Log: Add a HISTORY section Requested by: arundel Modified: head/lib/libc/xdr/xdr.3 Modified: head/lib/libc/xdr/xdr.3 ============================================================================== --- head/lib/libc/xdr/xdr.3 Sun Jul 10 05:34:49 2011 (r223902) +++ head/lib/libc/xdr/xdr.3 Sun Jul 10 06:57:00 2011 (r223903) @@ -840,3 +840,8 @@ Returns one if it succeeds, zero otherwi .%O RFC1014 .%Q "Sun Microsystems, Inc., USC\-ISI" .Re +.Sh HISTORY +The +.Nm xdr_sizeof +function first appeared in +.Fx 9.0 . From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 06:57:53 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5640D106566B; Sun, 10 Jul 2011 06:57:53 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from ns.kevlo.org (kevlo.org [220.128.136.52]) by mx1.freebsd.org (Postfix) with ESMTP id D0E588FC12; Sun, 10 Jul 2011 06:57:52 +0000 (UTC) Received: from [127.0.0.1] (kevlo@kevlo.org [220.128.136.52]) by ns.kevlo.org (8.14.3/8.14.3) with ESMTP id p6A6vp48022431; Sun, 10 Jul 2011 14:57:51 +0800 (CST) From: Kevin Lo To: Alexander Best In-Reply-To: <20110709081413.GA84325@freebsd.org> References: <201107090743.p697huB2086379@svn.freebsd.org> <20110709081413.GA84325@freebsd.org> Content-Type: text/plain; charset="us-ascii" Date: Sun, 10 Jul 2011 14:57:51 +0800 Message-ID: <1310281071.2446.5.camel@srgsec> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223877 - in head: include/rpc lib/libc/xdr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 06:57:53 -0000 On Sat, 2011-07-09 at 08:14 +0000, Alexander Best wrote: > On Sat Jul 9 11, Kevin Lo wrote: > > Author: kevlo > > Date: Sat Jul 9 07:43:56 2011 > > New Revision: 223877 > > URL: http://svn.freebsd.org/changeset/base/223877 > > > > Log: > > - Add xdr_sizeof(3) to libc > > - Document xdr_sizeof(3); from NetBSD > > > > Discussed with: kib > > > > Modified: > > head/include/rpc/xdr.h > > head/lib/libc/xdr/Makefile.inc > > head/lib/libc/xdr/Symbol.map > > head/lib/libc/xdr/xdr.3 > > head/lib/libc/xdr/xdr_sizeof.c > > > > Modified: head/include/rpc/xdr.h > > ============================================================================== > > --- head/include/rpc/xdr.h Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/include/rpc/xdr.h Sat Jul 9 07:43:56 2011 (r223877) > > @@ -285,43 +285,46 @@ struct xdr_discrim { > > * These are the "generic" xdr routines. > > */ > > __BEGIN_DECLS > > -extern bool_t xdr_void(void); > > -extern bool_t xdr_int(XDR *, int *); > > -extern bool_t xdr_u_int(XDR *, u_int *); > > -extern bool_t xdr_long(XDR *, long *); > > -extern bool_t xdr_u_long(XDR *, u_long *); > > -extern bool_t xdr_short(XDR *, short *); > > -extern bool_t xdr_u_short(XDR *, u_short *); > > -extern bool_t xdr_int16_t(XDR *, int16_t *); > > -extern bool_t xdr_u_int16_t(XDR *, u_int16_t *); > > -extern bool_t xdr_uint16_t(XDR *, u_int16_t *); > > -extern bool_t xdr_int32_t(XDR *, int32_t *); > > -extern bool_t xdr_u_int32_t(XDR *, u_int32_t *); > > -extern bool_t xdr_uint32_t(XDR *, u_int32_t *); > > -extern bool_t xdr_int64_t(XDR *, int64_t *); > > -extern bool_t xdr_u_int64_t(XDR *, u_int64_t *); > > -extern bool_t xdr_uint64_t(XDR *, u_int64_t *); > > -extern bool_t xdr_bool(XDR *, bool_t *); > > -extern bool_t xdr_enum(XDR *, enum_t *); > > -extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t); > > -extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int); > > -extern bool_t xdr_opaque(XDR *, char *, u_int); > > -extern bool_t xdr_string(XDR *, char **, u_int); > > -extern bool_t xdr_union(XDR *, enum_t *, char *, const struct xdr_discrim *, xdrproc_t); > > -extern bool_t xdr_char(XDR *, char *); > > -extern bool_t xdr_u_char(XDR *, u_char *); > > -extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t); > > -extern bool_t xdr_float(XDR *, float *); > > -extern bool_t xdr_double(XDR *, double *); > > -extern bool_t xdr_quadruple(XDR *, long double *); > > -extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t); > > -extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t); > > -extern bool_t xdr_wrapstring(XDR *, char **); > > -extern void xdr_free(xdrproc_t, void *); > > -extern bool_t xdr_hyper(XDR *, quad_t *); > > -extern bool_t xdr_u_hyper(XDR *, u_quad_t *); > > -extern bool_t xdr_longlong_t(XDR *, quad_t *); > > -extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); > > +extern bool_t xdr_void(void); > > +extern bool_t xdr_int(XDR *, int *); > > +extern bool_t xdr_u_int(XDR *, u_int *); > > +extern bool_t xdr_long(XDR *, long *); > > +extern bool_t xdr_u_long(XDR *, u_long *); > > +extern bool_t xdr_short(XDR *, short *); > > +extern bool_t xdr_u_short(XDR *, u_short *); > > +extern bool_t xdr_int16_t(XDR *, int16_t *); > > +extern bool_t xdr_u_int16_t(XDR *, u_int16_t *); > > +extern bool_t xdr_uint16_t(XDR *, u_int16_t *); > > +extern bool_t xdr_int32_t(XDR *, int32_t *); > > +extern bool_t xdr_u_int32_t(XDR *, u_int32_t *); > > +extern bool_t xdr_uint32_t(XDR *, u_int32_t *); > > +extern bool_t xdr_int64_t(XDR *, int64_t *); > > +extern bool_t xdr_u_int64_t(XDR *, u_int64_t *); > > +extern bool_t xdr_uint64_t(XDR *, u_int64_t *); > > +extern bool_t xdr_bool(XDR *, bool_t *); > > +extern bool_t xdr_enum(XDR *, enum_t *); > > +extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, > > + xdrproc_t); > > +extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int); > > +extern bool_t xdr_opaque(XDR *, char *, u_int); > > +extern bool_t xdr_string(XDR *, char **, u_int); > > +extern bool_t xdr_union(XDR *, enum_t *, char *, > > + const struct xdr_discrim *, xdrproc_t); > > +extern bool_t xdr_char(XDR *, char *); > > +extern bool_t xdr_u_char(XDR *, u_char *); > > +extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t); > > +extern bool_t xdr_float(XDR *, float *); > > +extern bool_t xdr_double(XDR *, double *); > > +extern bool_t xdr_quadruple(XDR *, long double *); > > +extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t); > > +extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t); > > +extern bool_t xdr_wrapstring(XDR *, char **); > > +extern void xdr_free(xdrproc_t, void *); > > +extern bool_t xdr_hyper(XDR *, quad_t *); > > +extern bool_t xdr_u_hyper(XDR *, u_quad_t *); > > +extern bool_t xdr_longlong_t(XDR *, quad_t *); > > +extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); > > +extern unsigned long xdr_sizeof(xdrproc_t, void *); > > __END_DECLS > > > > /* > > > > Modified: head/lib/libc/xdr/Makefile.inc > > ============================================================================== > > --- head/lib/libc/xdr/Makefile.inc Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/lib/libc/xdr/Makefile.inc Sat Jul 9 07:43:56 2011 (r223877) > > @@ -3,7 +3,8 @@ > > > > .PATH: ${.CURDIR}/xdr ${.CURDIR}/. > > SRCS+= xdr.c xdr_array.c xdr_float.c xdr_mem.c \ > > - xdr_rec.c xdr_reference.c xdr_stdio.c > > + xdr_rec.c xdr_reference.c xdr_sizeof.c \ > > + xdr_stdio.c > > > > SYM_MAPS+= ${.CURDIR}/xdr/Symbol.map > > > > @@ -39,6 +40,7 @@ MLINKS+= rpc_xdr.3 xdr_accepted_reply.3 > > xdr.3 xdr_reference.3 \ > > xdr.3 xdr_setpos.3 \ > > xdr.3 xdr_short.3 \ > > + xdr.3 xdr_sizeof.3 \ > > xdr.3 xdrstdio_create.3 \ > > xdr.3 xdr_string.3 \ > > xdr.3 xdr_u_char.3 \ > > > > Modified: head/lib/libc/xdr/Symbol.map > > ============================================================================== > > --- head/lib/libc/xdr/Symbol.map Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/lib/libc/xdr/Symbol.map Sat Jul 9 07:43:56 2011 (r223877) > > @@ -42,7 +42,6 @@ FBSD_1.0 { > > xdrrec_endofrecord; > > xdr_reference; > > xdr_pointer; > > - /* xdr_sizeof; */ /* Why is xdr_sizeof.c not included in Makefileinc? */ > > xdrstdio_create; > > }; > > > > @@ -51,3 +50,7 @@ FBSD_1.1 { > > xdr_uint32_t; > > xdr_uint64_t; > > }; > > + > > +FBSD_1.2 { > > + xdr_sizeof; > > +}; > > > > Modified: head/lib/libc/xdr/xdr.3 > > ============================================================================== > > --- head/lib/libc/xdr/xdr.3 Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/lib/libc/xdr/xdr.3 Sat Jul 9 07:43:56 2011 (r223877) > > how about adding a HISTORY section to the xdr(3) man page, with a note that > xdr_sizeof() was added in freebsd 9.0 and was optained from netbsd? Committed in r223903. Kevin From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 07:07:17 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C211106564A; Sun, 10 Jul 2011 07:07:17 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from ns.kevlo.org (kevlo.org [220.128.136.52]) by mx1.freebsd.org (Postfix) with ESMTP id 8AC7F8FC14; Sun, 10 Jul 2011 07:07:16 +0000 (UTC) Received: from [127.0.0.1] (kevlo@kevlo.org [220.128.136.52]) by ns.kevlo.org (8.14.3/8.14.3) with ESMTP id p6A77EqY031648; Sun, 10 Jul 2011 15:07:14 +0800 (CST) From: Kevin Lo To: Bruce Evans In-Reply-To: <20110710020439.U2667@besplex.bde.org> References: <201107090743.p697huB2086379@svn.freebsd.org> <20110710020439.U2667@besplex.bde.org> Content-Type: text/plain; charset="us-ascii" Date: Sun, 10 Jul 2011 15:07:14 +0800 Message-ID: <1310281634.2446.7.camel@srgsec> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223877 - in head: include/rpc lib/libc/xdr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 07:07:17 -0000 On Sun, 2011-07-10 at 03:45 +1000, Bruce Evans wrote: > On Sat, 9 Jul 2011, Kevin Lo wrote: > > > Log: > > - Add xdr_sizeof(3) to libc > > - Document xdr_sizeof(3); from NetBSD > > > > Discussed with: kib > > Any reason to further break the style of every changed line of the header? Does it break style(9)? > > Modified: head/include/rpc/xdr.h > > ============================================================================== > > --- head/include/rpc/xdr.h Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/include/rpc/xdr.h Sat Jul 9 07:43:56 2011 (r223877) > > @@ -285,43 +285,46 @@ struct xdr_discrim { > > * These are the "generic" xdr routines. > > */ > > __BEGIN_DECLS > > -extern bool_t xdr_void(void); > > -extern bool_t xdr_int(XDR *, int *); > > -extern bool_t xdr_u_int(XDR *, u_int *); > > -extern bool_t xdr_long(XDR *, long *); > > -extern bool_t xdr_u_long(XDR *, u_long *); > > -extern bool_t xdr_short(XDR *, short *); > > -extern bool_t xdr_u_short(XDR *, u_short *); > > -extern bool_t xdr_int16_t(XDR *, int16_t *); > > -extern bool_t xdr_u_int16_t(XDR *, u_int16_t *); > > -extern bool_t xdr_uint16_t(XDR *, u_int16_t *); > > -extern bool_t xdr_int32_t(XDR *, int32_t *); > > -extern bool_t xdr_u_int32_t(XDR *, u_int32_t *); > > -extern bool_t xdr_uint32_t(XDR *, u_int32_t *); > > -extern bool_t xdr_int64_t(XDR *, int64_t *); > > -extern bool_t xdr_u_int64_t(XDR *, u_int64_t *); > > -extern bool_t xdr_uint64_t(XDR *, u_int64_t *); > > -extern bool_t xdr_bool(XDR *, bool_t *); > > -extern bool_t xdr_enum(XDR *, enum_t *); > > -extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t); > > -extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int); > > -extern bool_t xdr_opaque(XDR *, char *, u_int); > > -extern bool_t xdr_string(XDR *, char **, u_int); > > -extern bool_t xdr_union(XDR *, enum_t *, char *, const struct xdr_discrim *, xdrproc_t); > > -extern bool_t xdr_char(XDR *, char *); > > -extern bool_t xdr_u_char(XDR *, u_char *); > > -extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t); > > -extern bool_t xdr_float(XDR *, float *); > > -extern bool_t xdr_double(XDR *, double *); > > -extern bool_t xdr_quadruple(XDR *, long double *); > > -extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t); > > -extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t); > > -extern bool_t xdr_wrapstring(XDR *, char **); > > -extern void xdr_free(xdrproc_t, void *); > > -extern bool_t xdr_hyper(XDR *, quad_t *); > > -extern bool_t xdr_u_hyper(XDR *, u_quad_t *); > > -extern bool_t xdr_longlong_t(XDR *, quad_t *); > > -extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); > > Old brokenness: bogus externs (they have no effect, except for some > pre-K&R compilers, but even support for K&R was dropped long ago). > > > +extern bool_t xdr_void(void); > > +extern bool_t xdr_int(XDR *, int *); > > +extern bool_t xdr_u_int(XDR *, u_int *); > > +extern bool_t xdr_long(XDR *, long *); > > +extern bool_t xdr_u_long(XDR *, u_long *); > > +extern bool_t xdr_short(XDR *, short *); > > +extern bool_t xdr_u_short(XDR *, u_short *); > > +extern bool_t xdr_int16_t(XDR *, int16_t *); > > +extern bool_t xdr_u_int16_t(XDR *, u_int16_t *); > > +extern bool_t xdr_uint16_t(XDR *, u_int16_t *); > > +extern bool_t xdr_int32_t(XDR *, int32_t *); > > +extern bool_t xdr_u_int32_t(XDR *, u_int32_t *); > > +extern bool_t xdr_uint32_t(XDR *, u_int32_t *); > > +extern bool_t xdr_int64_t(XDR *, int64_t *); > > +extern bool_t xdr_u_int64_t(XDR *, u_int64_t *); > > +extern bool_t xdr_uint64_t(XDR *, u_int64_t *); > > +extern bool_t xdr_bool(XDR *, bool_t *); > > +extern bool_t xdr_enum(XDR *, enum_t *); > > +extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, > > + xdrproc_t); > > +extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int); > > +extern bool_t xdr_opaque(XDR *, char *, u_int); > > +extern bool_t xdr_string(XDR *, char **, u_int); > > +extern bool_t xdr_union(XDR *, enum_t *, char *, > > + const struct xdr_discrim *, xdrproc_t); > > +extern bool_t xdr_char(XDR *, char *); > > +extern bool_t xdr_u_char(XDR *, u_char *); > > +extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t); > > +extern bool_t xdr_float(XDR *, float *); > > +extern bool_t xdr_double(XDR *, double *); > > +extern bool_t xdr_quadruple(XDR *, long double *); > > +extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t); > > +extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t); > > +extern bool_t xdr_wrapstring(XDR *, char **); > > +extern void xdr_free(xdrproc_t, void *); > > +extern bool_t xdr_hyper(XDR *, quad_t *); > > +extern bool_t xdr_u_hyper(XDR *, u_quad_t *); > > +extern bool_t xdr_longlong_t(XDR *, quad_t *); > > +extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); > > New style bugs in old code: excessive indentation (to match the excessive > indentation in 1 line of new code). > > > +extern unsigned long xdr_sizeof(xdrproc_t, void *); > > New style bugs in new code: verboseness and associated style > inconsistencies. 'unsigned foo' is spelled u_foo in KNF to avoid > verboseness, and that style is used everywhere else in this file, even > more so than usual since even the function names are spelled with > u_foo. If u_foo were spelled normally, the indentation would not be > excessive. This is the main reason for using u_foo. > > I think it also has an non-style bug -- a type mismatch. It returns > u_long instead of the usual bool_t since it returns sizes of ojects. But > size_t doesn't always have type unsigned long. It has type size_t, which > is u_int on all 32-bit arches. This bug is old. xdr_size_t() is full > of type errors -- see below. > > > ... > > Modified: head/lib/libc/xdr/xdr.3 > > ============================================================================== > > --- head/lib/libc/xdr/xdr.3 Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/lib/libc/xdr/xdr.3 Sat Jul 9 07:43:56 2011 (r223877) > > @@ -31,6 +31,7 @@ > > .Nm xdr_reference , > > .Nm xdr_setpos , > > .Nm xdr_short , > > +.Nm xdr_sizeof, > > .Nm xdrstdio_create , > > .Nm xdr_string , > > .Nm xdr_u_char , > > @@ -561,6 +562,18 @@ A filter primitive that translates betwe > > integers and their external representations. > > This routine returns one if it succeeds, zero otherwise. > > .Pp > > +.It Xo > > +.Ft unsigned long > > Another `unsigned long'. The man page was already less consistent > than the header in using u_foo. It uses `unsigned foo' for xdr_u_char(), > xdr_u_short() and xdr_u_long, plain unsigned for xdr_u_int(), and > uquad_t (sic) for xdr_ulonglong_t() (sic), so that the arg type doesn't > match the function name literally for these functions. OTOH, it uses > u_foo consistently for more specialized args (like counts and sizes) > whose type isn't determined by the type of the data being translated. > > > +.Xc > > +.It Xo > > +.Fn xdr_sizeof "xdrproc_t func" "void *data" > > +.Xc > > Using .Xo/.Xc is probably another style bug, but this man page does it > consistently. > > > +.Pp > > +This routine returns the amount of memory required to encode > > +.Fa data > > +using filter > > +.Fa func . > > +.Pp > > .It Li "#ifdef _STDIO_H_" > > .It Li "/* XDR using stdio library */" > > .It Xo > > > > Modified: head/lib/libc/xdr/xdr_sizeof.c > > ============================================================================== > > --- head/lib/libc/xdr/xdr_sizeof.c Fri Jul 8 20:41:12 2011 (r223876) > > +++ head/lib/libc/xdr/xdr_sizeof.c Sat Jul 9 07:43:56 2011 (r223877) > > @@ -94,7 +94,7 @@ x_inline(xdrs, len) > > if (xdrs->x_op != XDR_ENCODE) { > > return (NULL); > > } > > - if (len < (u_int)xdrs->x_base) { > > + if (len < (u_int)(uintptr_t)xdrs->x_base) { > > /* x_private was already allocated */ > > xdrs->x_handy += len; > > return ((int32_t *) xdrs->x_private); > > Shouldn't the u_int be size_t? u_int doesn't match size_t any better than > u_long does. > > I now see that the return type of unsigned long is an old mistake too. > Dusty decks like rpc have zillions of type errors. The next one > (visible in the above) is int32_t instead of any of size_t, the return > type or u_int. Then xdr_sizeof() uses the caddr_t mistake. Then at > the end, xdr_sizeof() bogusly casts the value to be returned to unsigned > (spelled as plain unsigned) instead of to any of size_t, the return > type, u_int or int32_t. > > > @@ -106,7 +106,7 @@ x_inline(xdrs, len) > > xdrs->x_base = 0; > > return (NULL); > > } > > - xdrs->x_base = (caddr_t) len; > > + xdrs->x_base = (caddr_t)(uintptr_t)len; > > xdrs->x_handy += len; > > return ((int32_t *) xdrs->x_private); > > } > > > > xdr_inline() has similar type errors, but its return type is int32_t > and it casts to that fairly consistently. > > I noticed the following other old bugs in the man page: > - all the functions that are declared as returning bool_t are documented > as returning int. bool_t is only documented to be used once (for the > xdr_bool() pointer type. I prefer to use plain int. > - size_t isn't used for any API. u_int and not u_long is used for all > the size args that should really have type size_t. > - the phrase "translates between [unsigned] ANSI C long long integers and > their external representations" is used ad nauseum, but ANSI C doesn't > exist. Informally, "ANSI C" means the pre-ISO-C90, and neither it > not C90 have the long long mistake, so long long integers are further > from being "ANSI C" than all other integers. For the actuall-ANSI-C > integers, the duplicated phrase says "C [unsigned]" instead of > "[unsigned] ANSI C" (note that this is also missing the bug of > misplacing "[unsigned]"). The phrase for xdr_bool() says that > booleans (bool_t's) are C integers, so bool_t must be int even in > the one place that it is documented, except it is not clear that the > "integer" here must be int. > - xdr_longlong_t() and xdr_ulonglong_t() look like they support the > [unsigned] long long mistake, and are documented to translate between > [unsigned] ANSI C long long integers and their external representations, > but their arg type is [u_]quad_t, so they actually only support BSD > [unsigned] quad integers. Support for other C99 types is similarly > absent (but present in practice in the same way as for long long while > quad_t remains the same as long long, int64_t and intmax_t, and similarly > for other intN_t). > - xdr_longlong_t() and xdr_ulonglong_t() have a bogus _t in their name. > > Another man page, rpc.3, says that the xdr's x_inline function pointer > is for a function that returns `long *'. This is inconsistent with > the int32_t returns for the xdr x_inline function remarked on above. > It is also inconsistent with the actual declaration of the x_inline > function pointer in xdr.h. That uses int32_t too. It was changed to > use int32_t instead of long in 1996. Patches are welcome. Thanks! > Bruce Kevin From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 07:14:33 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56AB5106566B; Sun, 10 Jul 2011 07:14:33 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4668A8FC14; Sun, 10 Jul 2011 07:14:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6A7EXwq034799; Sun, 10 Jul 2011 07:14:33 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6A7EXHZ034797; Sun, 10 Jul 2011 07:14:33 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201107100714.p6A7EXHZ034797@svn.freebsd.org> From: Kevin Lo Date: Sun, 10 Jul 2011 07:14:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223904 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 07:14:33 -0000 Author: kevlo Date: Sun Jul 10 07:14:32 2011 New Revision: 223904 URL: http://svn.freebsd.org/changeset/base/223904 Log: style(9) cleanup Modified: head/lib/libstand/zalloc_defs.h Modified: head/lib/libstand/zalloc_defs.h ============================================================================== --- head/lib/libstand/zalloc_defs.h Sun Jul 10 06:57:00 2011 (r223903) +++ head/lib/libstand/zalloc_defs.h Sun Jul 10 07:14:32 2011 (r223904) @@ -38,8 +38,8 @@ #define DMALLOCDEBUG /* add debugging code to gather stats */ #define ZALLOCDEBUG -#include #include +#include #include "stand.h" typedef uintptr_t iaddr_t; /* unsigned int same size as pointer */ From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 07:25:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 564E2106564A; Sun, 10 Jul 2011 07:25:35 +0000 (UTC) (envelope-from avatar@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4489F8FC13; Sun, 10 Jul 2011 07:25:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6A7PZcw035173; Sun, 10 Jul 2011 07:25:35 GMT (envelope-from avatar@svn.freebsd.org) Received: (from avatar@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6A7PZfG035166; Sun, 10 Jul 2011 07:25:35 GMT (envelope-from avatar@svn.freebsd.org) Message-Id: <201107100725.p6A7PZfG035166@svn.freebsd.org> From: Tai-hwa Liang Date: Sun, 10 Jul 2011 07:25:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223905 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 07:25:35 -0000 Author: avatar Date: Sun Jul 10 07:25:34 2011 New Revision: 223905 URL: http://svn.freebsd.org/changeset/base/223905 Log: - Removing some unneeded definitions of NULL(cruft related to 1970's C). In C90, NULL is guaranteed to be declared in and also in . Though the correct way to define NULL in FreeBSD is to include , other parts of libstand still require to build; therefore, we keep in stand.h and add a note about this; - Removing no longer used 'Prototype' definition. Quote from bde@: 'Cruft related to getting incomplete struct declarations within prototypes forward-declared before the structs. It doesn't mean "prototype" but only part of a prototype-related hack. No longer used.' - Replacing iaddr_t with uintptr_t; - Removing use of long double to determine alignment. Use a fixed 16 byte alignment instead; Reviewed by: bde Obtained from: DragonFlyBSD (partially) MFC after: 1 month Modified: head/lib/libstand/stand.h head/lib/libstand/zalloc.c head/lib/libstand/zalloc_defs.h head/lib/libstand/zalloc_malloc.c head/lib/libstand/zalloc_mem.h head/lib/libstand/zalloc_protos.h Modified: head/lib/libstand/stand.h ============================================================================== --- head/lib/libstand/stand.h Sun Jul 10 07:14:32 2011 (r223904) +++ head/lib/libstand/stand.h Sun Jul 10 07:25:34 2011 (r223905) @@ -65,15 +65,13 @@ #include #include #include + +/* this header intentionally exports NULL from */ #include #define CHK(fmt, args...) printf("%s(%d): " fmt "\n", __func__, __LINE__ , ##args) #define PCHK(fmt, args...) {printf("%s(%d): " fmt "\n", __func__, __LINE__ , ##args); getchar();} -#ifndef NULL -#define NULL 0 -#endif - /* Avoid unwanted userlandish components */ #define _KERNEL #include Modified: head/lib/libstand/zalloc.c ============================================================================== --- head/lib/libstand/zalloc.c Sun Jul 10 07:14:32 2011 (r223904) +++ head/lib/libstand/zalloc.c Sun Jul 10 07:25:34 2011 (r223905) @@ -77,7 +77,7 @@ __FBSDID("$FreeBSD$"); */ void * -znalloc(MemPool *mp, iaddr_t bytes) +znalloc(MemPool *mp, uintptr_t bytes) { /* * align according to pool object size (can be 0). This is @@ -136,7 +136,7 @@ znalloc(MemPool *mp, iaddr_t bytes) */ void -zfree(MemPool *mp, void *ptr, iaddr_t bytes) +zfree(MemPool *mp, void *ptr, uintptr_t bytes) { /* * align according to pool object size (can be 0). This is @@ -153,7 +153,7 @@ zfree(MemPool *mp, void *ptr, iaddr_t by if ((char *)ptr < (char *)mp->mp_Base || (char *)ptr + bytes > (char *)mp->mp_End || - ((iaddr_t)ptr & MEMNODE_SIZE_MASK) != 0) + ((uintptr_t)ptr & MEMNODE_SIZE_MASK) != 0) panic("zfree(%p,%ju): wild pointer", ptr, (uintmax_t)bytes); /* @@ -245,7 +245,7 @@ zfree(MemPool *mp, void *ptr, iaddr_t by */ void -zextendPool(MemPool *mp, void *base, iaddr_t bytes) +zextendPool(MemPool *mp, void *base, uintptr_t bytes) { if (mp->mp_Size == 0) { mp->mp_Base = base; Modified: head/lib/libstand/zalloc_defs.h ============================================================================== --- head/lib/libstand/zalloc_defs.h Sun Jul 10 07:14:32 2011 (r223904) +++ head/lib/libstand/zalloc_defs.h Sun Jul 10 07:25:34 2011 (r223905) @@ -39,20 +39,11 @@ #define ZALLOCDEBUG #include -#include #include "stand.h" - -typedef uintptr_t iaddr_t; /* unsigned int same size as pointer */ -typedef intptr_t saddr_t; /* signed int same size as pointer */ #include "zalloc_mem.h" -#define Prototype extern #define Library extern -#ifndef NULL -#define NULL ((void *)0) -#endif - /* * block extension for sbrk() */ @@ -61,8 +52,7 @@ typedef intptr_t saddr_t; /* signed int #define BLKEXTENDMASK (BLKEXTEND - 1) /* - * required malloc alignment. Use sizeof(long double) for architecture - * independance. + * required malloc alignment. Just hardwire to 16. * * Note: if we implement a more sophisticated realloc, we should ensure that * MALLOCALIGN is at least as large as MemNode. @@ -73,10 +63,8 @@ typedef struct Guard { size_t ga_Magic; /* must be at least 32 bits */ } Guard; -#define MATYPE long double -#define MALLOCALIGN ((sizeof(MATYPE) > sizeof(Guard)) ? sizeof(MATYPE) : sizeof(Guard)) +#define MALLOCALIGN 16 #define GAMAGIC 0x55FF44FD #define GAFREE 0x5F54F4DF #include "zalloc_protos.h" - Modified: head/lib/libstand/zalloc_malloc.c ============================================================================== --- head/lib/libstand/zalloc_malloc.c Sun Jul 10 07:14:32 2011 (r223904) +++ head/lib/libstand/zalloc_malloc.c Sun Jul 10 07:25:34 2011 (r223905) @@ -126,7 +126,7 @@ Free(void *ptr, const char *file, int li void * Calloc(size_t n1, size_t n2, const char *file, int line) { - iaddr_t bytes = (iaddr_t)n1 * (iaddr_t)n2; + uintptr_t bytes = (uintptr_t)n1 * (uintptr_t)n2; void *res; if ((res = Malloc(bytes, file, line)) != NULL) { Modified: head/lib/libstand/zalloc_mem.h ============================================================================== --- head/lib/libstand/zalloc_mem.h Sun Jul 10 07:14:32 2011 (r223904) +++ head/lib/libstand/zalloc_mem.h Sun Jul 10 07:25:34 2011 (r223905) @@ -37,15 +37,15 @@ typedef struct MemNode { struct MemNode *mr_Next; - iaddr_t mr_Bytes; + uintptr_t mr_Bytes; } MemNode; typedef struct MemPool { void *mp_Base; void *mp_End; MemNode *mp_First; - iaddr_t mp_Size; - iaddr_t mp_Used; + uintptr_t mp_Size; + uintptr_t mp_Used; } MemPool; #define MEMNODE_SIZE_MASK ((sizeof(MemNode) <= 8) ? 7 : 15) Modified: head/lib/libstand/zalloc_protos.h ============================================================================== --- head/lib/libstand/zalloc_protos.h Sun Jul 10 07:14:32 2011 (r223904) +++ head/lib/libstand/zalloc_protos.h Sun Jul 10 07:25:34 2011 (r223905) @@ -29,7 +29,7 @@ * $FreeBSD$ */ -Library void *znalloc(struct MemPool *mpool, iaddr_t bytes); -Library void zfree(struct MemPool *mpool, void *ptr, iaddr_t bytes); -Library void zextendPool(MemPool *mp, void *base, iaddr_t bytes); +Library void *znalloc(struct MemPool *mpool, uintptr_t bytes); +Library void zfree(struct MemPool *mpool, void *ptr, uintptr_t bytes); +Library void zextendPool(MemPool *mp, void *base, uintptr_t bytes); Library void zallocstats(struct MemPool *mp); From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 08:12:37 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBB03106564A; Sun, 10 Jul 2011 08:12:37 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail06.syd.optusnet.com.au (mail06.syd.optusnet.com.au [211.29.132.187]) by mx1.freebsd.org (Postfix) with ESMTP id 7011E8FC14; Sun, 10 Jul 2011 08:12:37 +0000 (UTC) Received: from c122-106-165-191.carlnfd1.nsw.optusnet.com.au (c122-106-165-191.carlnfd1.nsw.optusnet.com.au [122.106.165.191]) by mail06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p6A8CXDQ009113 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 10 Jul 2011 18:12:35 +1000 Date: Sun, 10 Jul 2011 18:12:33 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Kevin Lo In-Reply-To: <1310281634.2446.7.camel@srgsec> Message-ID: <20110710175609.Q2019@besplex.bde.org> References: <201107090743.p697huB2086379@svn.freebsd.org> <20110710020439.U2667@besplex.bde.org> <1310281634.2446.7.camel@srgsec> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Bruce Evans Subject: Re: svn commit: r223877 - in head: include/rpc lib/libc/xdr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 08:12:38 -0000 On Sun, 10 Jul 2011, Kevin Lo wrote: > On Sun, 2011-07-10 at 03:45 +1000, Bruce Evans wrote: >> On Sat, 9 Jul 2011, Kevin Lo wrote: >> >>> Log: >>> - Add xdr_sizeof(3) to libc >>> - Document xdr_sizeof(3); from NetBSD >>> >>> Discussed with: kib >> >> Any reason to further break the style of every changed line of the header? > > Does it break style(9)? Of course. I gave the details. style(9) doesn't give any examples of excessive indentation, although its exact rules for indentation became hard to see when it was mangled to become a man page (the mangling gives it the usual 5 space margins of man pages, so a 1 tab indentation becomes 13 space position which is reasonably well rendered as 1 tab followed by 5 spaces, but this destroys the literal tab structure of the source style). >>> Modified: head/include/rpc/xdr.h >>> ============================================================================== >>> --- head/include/rpc/xdr.h Fri Jul 8 20:41:12 2011 (r223876) >>> +++ head/include/rpc/xdr.h Sat Jul 9 07:43:56 2011 (r223877) >>> @@ -285,43 +285,46 @@ struct xdr_discrim { >>> * These are the "generic" xdr routines. >>> */ >>> __BEGIN_DECLS >>> -extern bool_t xdr_void(void); >>> -extern bool_t xdr_int(XDR *, int *); > [...] >> >> Old brokenness: bogus externs (they have no effect, except for some >> pre-K&R compilers, but even support for K&R was dropped long ago). style(9) and even xdr's own man page gives examples of the correct number of externs to use in prototypes (none). Like most of style(9), this rule is not explicitly stated but is only given as an example (by not using it). >> Another man page, rpc.3, says that the xdr's x_inline function pointer >> is for a function that returns `long *'. This is inconsistent with >> the int32_t returns for the xdr x_inline function remarked on above. >> It is also inconsistent with the actual declaration of the x_inline >> function pointer in xdr.h. That uses int32_t too. It was changed to >> use int32_t instead of long in 1996. > > Patches are welcome. Thanks! The patches are trivial except for man pages and type errors. First put almost everything back to where it was so that there is only 1 line of new style bugs... Removing all the externs is optional. I don't like to create large diffs even to remove such style bugs. You created large diffs to add nearby style bugs (the extra tabs). Bruce From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 08:27:01 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3743F106564A; Sun, 10 Jul 2011 08:27:01 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail07.syd.optusnet.com.au (mail07.syd.optusnet.com.au [211.29.132.188]) by mx1.freebsd.org (Postfix) with ESMTP id AB1958FC08; Sun, 10 Jul 2011 08:27:00 +0000 (UTC) Received: from c122-106-165-191.carlnfd1.nsw.optusnet.com.au (c122-106-165-191.carlnfd1.nsw.optusnet.com.au [122.106.165.191]) by mail07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p6A8Qv31026742 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 10 Jul 2011 18:26:58 +1000 Date: Sun, 10 Jul 2011 18:26:57 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Kevin Lo In-Reply-To: <201107100714.p6A7EXHZ034797@svn.freebsd.org> Message-ID: <20110710181242.K2019@besplex.bde.org> References: <201107100714.p6A7EXHZ034797@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223904 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 08:27:01 -0000 On Sun, 10 Jul 2011, Kevin Lo wrote: > Log: > style(9) cleanup > > Modified: > head/lib/libstand/zalloc_defs.h > > Modified: head/lib/libstand/zalloc_defs.h > ============================================================================== > --- head/lib/libstand/zalloc_defs.h Sun Jul 10 06:57:00 2011 (r223903) > +++ head/lib/libstand/zalloc_defs.h Sun Jul 10 07:14:32 2011 (r223904) > @@ -38,8 +38,8 @@ > #define DMALLOCDEBUG /* add debugging code to gather stats */ > #define ZALLOCDEBUG > > -#include > #include > +#include > #include "stand.h" > > typedef uintptr_t iaddr_t; /* unsigned int same size as pointer */ > It still uses a wrong path to stdint.h, sigh. It needs to be a bit careful to avoid any libc features, but there are unlikely to be any in and in practice there cannot be any since is just a like to . Similarly for a few other includes, especially in bzipfs.c. There's a instead of the standard and in practice identical , and a ... The only other dubious includes in libstand are of and . For these, the standard includes are less obviously correct since they are intentionally not just symlinks to the ones. It happens that the new order is still correct when there is no bogus group of includes. sys/stdint.h was also unsorted internally (d was after r but should be before). Bruce From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 14:03:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 272E3106564A; Sun, 10 Jul 2011 14:03:14 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 16CB18FC08; Sun, 10 Jul 2011 14:03:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AE3DPX048761; Sun, 10 Jul 2011 14:03:13 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AE3DDI048759; Sun, 10 Jul 2011 14:03:13 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201107101403.p6AE3DDI048759@svn.freebsd.org> From: Kevin Lo Date: Sun, 10 Jul 2011 14:03:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223906 - head/include/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 14:03:14 -0000 Author: kevlo Date: Sun Jul 10 14:03:13 2011 New Revision: 223906 URL: http://svn.freebsd.org/changeset/base/223906 Log: Revert the previous change and add xdr_sizeof Requested by: bde Modified: head/include/rpc/xdr.h Modified: head/include/rpc/xdr.h ============================================================================== --- head/include/rpc/xdr.h Sun Jul 10 07:25:34 2011 (r223905) +++ head/include/rpc/xdr.h Sun Jul 10 14:03:13 2011 (r223906) @@ -285,45 +285,43 @@ struct xdr_discrim { * These are the "generic" xdr routines. */ __BEGIN_DECLS -extern bool_t xdr_void(void); -extern bool_t xdr_int(XDR *, int *); -extern bool_t xdr_u_int(XDR *, u_int *); -extern bool_t xdr_long(XDR *, long *); -extern bool_t xdr_u_long(XDR *, u_long *); -extern bool_t xdr_short(XDR *, short *); -extern bool_t xdr_u_short(XDR *, u_short *); -extern bool_t xdr_int16_t(XDR *, int16_t *); -extern bool_t xdr_u_int16_t(XDR *, u_int16_t *); -extern bool_t xdr_uint16_t(XDR *, u_int16_t *); -extern bool_t xdr_int32_t(XDR *, int32_t *); -extern bool_t xdr_u_int32_t(XDR *, u_int32_t *); -extern bool_t xdr_uint32_t(XDR *, u_int32_t *); -extern bool_t xdr_int64_t(XDR *, int64_t *); -extern bool_t xdr_u_int64_t(XDR *, u_int64_t *); -extern bool_t xdr_uint64_t(XDR *, u_int64_t *); -extern bool_t xdr_bool(XDR *, bool_t *); -extern bool_t xdr_enum(XDR *, enum_t *); -extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, - xdrproc_t); -extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int); -extern bool_t xdr_opaque(XDR *, char *, u_int); -extern bool_t xdr_string(XDR *, char **, u_int); -extern bool_t xdr_union(XDR *, enum_t *, char *, - const struct xdr_discrim *, xdrproc_t); -extern bool_t xdr_char(XDR *, char *); -extern bool_t xdr_u_char(XDR *, u_char *); -extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t); -extern bool_t xdr_float(XDR *, float *); -extern bool_t xdr_double(XDR *, double *); -extern bool_t xdr_quadruple(XDR *, long double *); -extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t); -extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t); -extern bool_t xdr_wrapstring(XDR *, char **); -extern void xdr_free(xdrproc_t, void *); -extern bool_t xdr_hyper(XDR *, quad_t *); -extern bool_t xdr_u_hyper(XDR *, u_quad_t *); -extern bool_t xdr_longlong_t(XDR *, quad_t *); -extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); +extern bool_t xdr_void(void); +extern bool_t xdr_int(XDR *, int *); +extern bool_t xdr_u_int(XDR *, u_int *); +extern bool_t xdr_long(XDR *, long *); +extern bool_t xdr_u_long(XDR *, u_long *); +extern bool_t xdr_short(XDR *, short *); +extern bool_t xdr_u_short(XDR *, u_short *); +extern bool_t xdr_int16_t(XDR *, int16_t *); +extern bool_t xdr_u_int16_t(XDR *, u_int16_t *); +extern bool_t xdr_uint16_t(XDR *, u_int16_t *); +extern bool_t xdr_int32_t(XDR *, int32_t *); +extern bool_t xdr_u_int32_t(XDR *, u_int32_t *); +extern bool_t xdr_uint32_t(XDR *, u_int32_t *); +extern bool_t xdr_int64_t(XDR *, int64_t *); +extern bool_t xdr_u_int64_t(XDR *, u_int64_t *); +extern bool_t xdr_uint64_t(XDR *, u_int64_t *); +extern bool_t xdr_bool(XDR *, bool_t *); +extern bool_t xdr_enum(XDR *, enum_t *); +extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t); +extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int); +extern bool_t xdr_opaque(XDR *, char *, u_int); +extern bool_t xdr_string(XDR *, char **, u_int); +extern bool_t xdr_union(XDR *, enum_t *, char *, const struct xdr_discrim *, xdrproc_t); +extern bool_t xdr_char(XDR *, char *); +extern bool_t xdr_u_char(XDR *, u_char *); +extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t); +extern bool_t xdr_float(XDR *, float *); +extern bool_t xdr_double(XDR *, double *); +extern bool_t xdr_quadruple(XDR *, long double *); +extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t); +extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t); +extern bool_t xdr_wrapstring(XDR *, char **); +extern void xdr_free(xdrproc_t, void *); +extern bool_t xdr_hyper(XDR *, quad_t *); +extern bool_t xdr_u_hyper(XDR *, u_quad_t *); +extern bool_t xdr_longlong_t(XDR *, quad_t *); +extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *); extern unsigned long xdr_sizeof(xdrproc_t, void *); __END_DECLS From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 14:20:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC711106564A; Sun, 10 Jul 2011 14:20:11 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9B6E18FC17; Sun, 10 Jul 2011 14:20:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AEKBEb049339; Sun, 10 Jul 2011 14:20:11 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AEKBCX049335; Sun, 10 Jul 2011 14:20:11 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201107101420.p6AEKBCX049335@svn.freebsd.org> From: Jilles Tjoelker Date: Sun, 10 Jul 2011 14:20:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223907 - in head: lib/libc/gen tools/regression/lib/libc/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 14:20:11 -0000 Author: jilles Date: Sun Jul 10 14:20:11 2011 New Revision: 223907 URL: http://svn.freebsd.org/changeset/base/223907 Log: posix_spawn: If an error is detected in the child process, reap the zombie. Formerly, in this case an error was returned but the pid was also returned to the application, requiring the application to use unspecified behaviour (the returned pid in error situations) to avoid zombies. Now, reap the zombie and do not return the pid. MFC after: 2 weeks Added: head/tools/regression/lib/libc/gen/test-posix_spawn.c (contents, props changed) Modified: head/lib/libc/gen/posix_spawn.c head/tools/regression/lib/libc/gen/Makefile Modified: head/lib/libc/gen/posix_spawn.c ============================================================================== --- head/lib/libc/gen/posix_spawn.c Sun Jul 10 14:03:13 2011 (r223906) +++ head/lib/libc/gen/posix_spawn.c Sun Jul 10 14:20:11 2011 (r223907) @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" #include +#include #include #include @@ -216,7 +217,9 @@ do_posix_spawn(pid_t *pid, const char *p error = errno; _exit(127); default: - if (pid != NULL) + if (error != 0) + _waitpid(p, NULL, WNOHANG); + else if (pid != NULL) *pid = p; return (error); } Modified: head/tools/regression/lib/libc/gen/Makefile ============================================================================== --- head/tools/regression/lib/libc/gen/Makefile Sun Jul 10 14:03:13 2011 (r223906) +++ head/tools/regression/lib/libc/gen/Makefile Sun Jul 10 14:20:11 2011 (r223907) @@ -1,6 +1,6 @@ # $FreeBSD$ -TESTS= test-fmtcheck test-fnmatch test-fpclassify test-wordexp +TESTS= test-fmtcheck test-fnmatch test-fpclassify test-posix_spawn test-wordexp .PHONY: tests tests: ${TESTS} Added: head/tools/regression/lib/libc/gen/test-posix_spawn.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/lib/libc/gen/test-posix_spawn.c Sun Jul 10 14:20:11 2011 (r223907) @@ -0,0 +1,90 @@ +/*- + * Copyright (c) 2011 Jilles Tjoelker + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Test program for posix_spawn() and posix_spawnp() as specified by + * IEEE Std. 1003.1-2008. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +#include +#include +#include +#include +#include +#include + +int +main(int argc, char *argv[]) +{ + int error, status; + pid_t pid, waitres; + char *myargs[4]; + char *myenv[2] = { "answer=42", NULL }; + + /* Make sure we have no child processes. */ + while (waitpid(-1, NULL, 0) != -1) + ; + assert(errno == ECHILD); + + /* Simple test. */ + myargs[0] = "sh"; + myargs[1] = "-c"; + myargs[2] = "exit $answer"; + myargs[3] = NULL; + error = posix_spawnp(&pid, myargs[0], NULL, NULL, myargs, myenv); + assert(error == 0); + waitres = waitpid(pid, &status, 0); + assert(waitres == pid); + assert(WIFEXITED(status) && WEXITSTATUS(status) == 42); + + /* + * If the executable does not exist, the function shall either fail + * and not create a child process or succeed and create a child + * process that exits with status 127. + */ + myargs[0] = "/var/empty/nonexistent"; + myargs[1] = NULL; + error = posix_spawn(&pid, myargs[0], NULL, NULL, myargs, myenv); + if (error == 0) { + waitres = waitpid(pid, &status, 0); + assert(waitres == pid); + assert(WIFEXITED(status) && WEXITSTATUS(status) == 127); + } else { + assert(error == ENOENT); + waitres = waitpid(-1, NULL, 0); + assert(waitres == -1 && errno == ECHILD); + } + + printf("PASS posix_spawn()\n"); + printf("PASS posix_spawnp()\n"); + + return (0); +} From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 15:01:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 915701065670; Sun, 10 Jul 2011 15:01:14 +0000 (UTC) (envelope-from antoine@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 815568FC0A; Sun, 10 Jul 2011 15:01:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AF1EBN050621; Sun, 10 Jul 2011 15:01:14 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AF1Emm050619; Sun, 10 Jul 2011 15:01:14 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201107101501.p6AF1Emm050619@svn.freebsd.org> From: Antoine Brodin Date: Sun, 10 Jul 2011 15:01:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223908 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 15:01:14 -0000 Author: antoine Date: Sun Jul 10 15:01:14 2011 New Revision: 223908 URL: http://svn.freebsd.org/changeset/base/223908 Log: Add more obsolete files. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Jul 10 14:20:11 2011 (r223907) +++ head/ObsoleteFiles.inc Sun Jul 10 15:01:14 2011 (r223908) @@ -53,6 +53,16 @@ OLD_FILES+=usr/include/nfsclient/nfsdisk OLD_FILES+=sbin/mount_newnfs OLD_FILES+=usr/share/man/man8/mount_newnfs.8.gz OLD_FILES+=usr/include/nfsclient/nfs_kdtrace.h +# 20110628: calendar.msk removed +OLD_FILES+=usr/share/calendar/ru_RU.KOI8-R/calendar.msk +# 20110517: libpkg removed +OLD_FILES+=usr/include/pkg.h +OLD_FILES+=usr/lib/libpkg.a +OLD_FILES+=usr/lib/libpkg.so +OLD_LIBS+=usr/lib/libpkg.so.0 +OLD_FILES+=usr/lib/libpkg_p.a +# 20110517: libsbuf version bump +OLD_LIBS+=lib/libsbuf.so.5 # 20110502: new clang import which bumps version from 2.9 to 3.0 OLD_FILES+=usr/include/clang/2.9/emmintrin.h OLD_FILES+=usr/include/clang/2.9/mm_malloc.h @@ -81,6 +91,8 @@ OLD_FILES+=usr/lib/libobjc_p.a OLD_FILES+=usr/libexec/cc1obj OLD_LIBS+=usr/lib/libobjc.so.4 OLD_DIRS+=usr/include/objc +# 20110331: firmware.img created at build time +OLD_FILES+=usr/share/examples/kld/firmware/fwimage/firmware.img # 20110224: sticky.8 -> sticky.7 OLD_FILES+=usr/share/man/man8/sticky.8.gz # 20110220: new clang import which bumps version from 2.8 to 2.9 @@ -91,6 +103,8 @@ OLD_FILES+=usr/include/clang/2.8/pmmintr OLD_FILES+=usr/include/clang/2.8/tmmintrin.h OLD_FILES+=usr/include/clang/2.8/xmmintrin.h OLD_DIRS+=usr/include/clang/2.8 +# 20110119: netinet/sctp_cc_functions.h removed +OLD_FILES+=usr/include/netinet/sctp_cc_functions.h # 20110119: Remove SYSCTL_*X* sysctl additions. OLD_FILES+=usr/share/man/man9/SYSCTL_XINT.9.gz \ usr/share/man/man9/SYSCTL_XLONG.9.gz @@ -146,6 +160,8 @@ OLD_FILES+=usr/share/man/man8/MAKEDEV.8. OLD_FILES+=usr/share/man/man9/vgonel.9.gz # 20101112: removed gasp.info OLD_FILES+=usr/share/info/gasp.info.gz +# 20101109: machine/mutex.h removed +OLD_FILES+=usr/include/machine/mutex.h # 20101109: headers moved from machine/ to x86/ .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" OLD_FILES+=usr/include/machine/mptable.h From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 15:02:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB054106564A; Sun, 10 Jul 2011 15:02:25 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D17AD8FC08; Sun, 10 Jul 2011 15:02:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AF2PVq050690; Sun, 10 Jul 2011 15:02:25 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AF2PUA050688; Sun, 10 Jul 2011 15:02:25 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201107101502.p6AF2PUA050688@svn.freebsd.org> From: Jilles Tjoelker Date: Sun, 10 Jul 2011 15:02:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223909 - head/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 15:02:26 -0000 Author: jilles Date: Sun Jul 10 15:02:25 2011 New Revision: 223909 URL: http://svn.freebsd.org/changeset/base/223909 Log: sh(1): Extend documentation about subshells. Because sh executes commands in subshell environments without forking in more and more cases (particularly from 8.0 on), it makes sense to describe subshell environments more precisely using ideas from POSIX, together with some FreeBSD-specific items. In particular, the hash and times builtins may not behave as if their state is copied for a subshell environment while leaving the parent shell environment unchanged. Modified: head/bin/sh/sh.1 Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sun Jul 10 15:01:14 2011 (r223908) +++ head/bin/sh/sh.1 Sun Jul 10 15:02:25 2011 (r223909) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 24, 2011 +.Dd July 10, 2011 .Dt SH 1 .Os .Sh NAME @@ -861,7 +861,9 @@ causes asynchronous execution of the pre .Ss Background Commands (&) If a command is terminated by the control operator ampersand .Pq Ql & , -the shell executes the command asynchronously; +the shell executes the command in a subshell environment (see +.Sx Grouping Commands Together +below) and asynchronously; the shell does not wait for the command to finish before executing the next command. .Pp @@ -1024,7 +1026,41 @@ or .D1 Li { Ar list Ns Li \&; } .Pp The first form executes the commands in a subshell environment. -Note that built-in commands thus executed do not affect the current shell. +A subshell environment has its own copy of: +.Pp +.Bl -enum +.It +The current working directory as set by +.Ic cd . +.It +The file creation mask as set by +.Ic umask . +.It +References to open files. +.It +Traps as set by +.Ic trap . +.It +Known jobs. +.It +Positional parameters and variables. +.It +Shell options. +.It +Shell functions. +.It +Shell aliases. +.El +.Pp +These are copied from the parent shell environment, +except that trapped (but not ignored) signals are reset to the default action +and known jobs are cleared. +Any changes do not affect the parent shell environment. +.Pp +A subshell environment may be implemented as a child process or differently. +If job control is enabled in an interactive shell, +commands grouped in parentheses can be suspended and continued as a unit. +.Pp The second form never forks another shell, so it is slightly more efficient. Grouping commands together this way allows the user to @@ -1552,10 +1588,12 @@ The command is executed in a subshell en except that the built-in commands .Ic jobid , .Ic jobs , -.Ic times and .Ic trap -return information about the main shell environment +return information about the parent shell environment +and +.Ic times +returns information about the same process if they are the only command in a command substitution. .Ss Arithmetic Expansion Arithmetic expansion provides a mechanism for evaluating an arithmetic @@ -2359,8 +2397,8 @@ If there are zero positional parameters, A built-in equivalent of .Xr test 1 . .It Ic times -Print the amount of time spent executing the shell and its children. -The first output line shows the user and system times for the shell +Print the amount of time spent executing the shell process and its children. +The first output line shows the user and system times for the shell process itself, the second one contains the user and system times for the children. .It Ic trap Oo Ar action Oc Ar signal ... @@ -2386,7 +2424,7 @@ Omitting the .Ar action is another way to request the default action, for compatibility reasons this usage is not recommended though. -In a subshell environment, +In a subshell or utility environment, the shell resets trapped (but not ignored) signals to the default action. The .Ic trap From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 16:30:03 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3247106564A; Sun, 10 Jul 2011 16:30:02 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 86AB48FC08; Sun, 10 Jul 2011 16:30:02 +0000 (UTC) Received: from 63.imp.bsdimp.com (63.imp.bsdimp.com [10.0.0.63]) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id p6AGTkag017398 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sun, 10 Jul 2011 10:29:46 -0600 (MDT) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <4E193D8F.8020304@FreeBSD.org> Date: Sun, 10 Jul 2011 10:29:33 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: <09A31F44-A572-4B8A-BC57-3DC15D6F1B80@bsdimp.com> References: <201107080135.p681ZXZu087112@svn.freebsd.org> <4E19321F.1090801@FreeBSD.org> <4E193D8F.8020304@FreeBSD.org> To: Doug Barton X-Mailer: Apple Mail (2.1084) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Sun, 10 Jul 2011 10:29:46 -0600 (MDT) Cc: Tai-hwa Liang , Craig Rodrigues , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-head@FreeBSD.org Subject: Re: svn commit: r223854 - head/lib/libstand X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 16:30:03 -0000 On Jul 9, 2011, at 11:50 PM, Doug Barton wrote: > On 07/09/2011 22:25, Warner Losh wrote: >> Having the low WARNS=3D today motivates people to fix stuff... >=20 > I see absolutely no evidence of that, but it's clear that your opinion > is not likely to change, so I'll leave it alone. As someone who usually has to fix things when people screw up, I'm very = familiar with the problem and when people fix things for the better. There is one lingering problem in the area: the socket interface is safe = from an alignment point of view, but we haven't tagged the structures = properly to keep the compiler happy. Turns out to be kinda tricky... Warner From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 16:45:40 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D63231065686; Sun, 10 Jul 2011 16:45:40 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail02.syd.optusnet.com.au (mail02.syd.optusnet.com.au [211.29.132.183]) by mx1.freebsd.org (Postfix) with ESMTP id 558958FC24; Sun, 10 Jul 2011 16:45:39 +0000 (UTC) Received: from c122-106-165-191.carlnfd1.nsw.optusnet.com.au (c122-106-165-191.carlnfd1.nsw.optusnet.com.au [122.106.165.191]) by mail02.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p6AGjb0H025423 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 11 Jul 2011 02:45:38 +1000 Date: Mon, 11 Jul 2011 02:45:37 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Kevin Lo In-Reply-To: <201107101403.p6AE3DDI048759@svn.freebsd.org> Message-ID: <20110711024523.S3259@besplex.bde.org> References: <201107101403.p6AE3DDI048759@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223906 - head/include/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 16:45:40 -0000 On Sun, 10 Jul 2011, Kevin Lo wrote: > Log: > Revert the previous change and add xdr_sizeof > > Requested by: bde > > Modified: > head/include/rpc/xdr.h Thanks. Bruce From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 18:57:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45AE7106566B; Sun, 10 Jul 2011 18:57:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3660D8FC12; Sun, 10 Jul 2011 18:57:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AIvanC057681; Sun, 10 Jul 2011 18:57:36 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AIvao5057679; Sun, 10 Jul 2011 18:57:36 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107101857.p6AIvao5057679@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 10 Jul 2011 18:57:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223911 - head/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 18:57:36 -0000 Author: kib Date: Sun Jul 10 18:57:35 2011 New Revision: 223911 URL: http://svn.freebsd.org/changeset/base/223911 Log: Update locking annotations for the struct vnode. MFC after: 3 days Modified: head/sys/sys/vnode.h Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Sun Jul 10 16:05:51 2011 (r223910) +++ head/sys/sys/vnode.h Sun Jul 10 18:57:35 2011 (r223911) @@ -75,12 +75,9 @@ struct vpollinfo { * Lock reference: * c - namecache mutex * f - freelist mutex - * G - Giant * i - interlock - * m - mntvnodes mutex + * m - mount point interlock * p - pollinfo lock - * s - spechash mutex - * S - syncer mutex * u - Only a reference to the vnode is needed to read. * v - vnode lock * @@ -165,7 +162,7 @@ struct vnode { /* * Hooks for various subsystems and features. */ - struct vpollinfo *v_pollinfo; /* G Poll events, p for *v_pi */ + struct vpollinfo *v_pollinfo; /* i Poll events, p for *v_pi */ struct label *v_label; /* MAC label for vnode */ struct lockf *v_lockf; /* Byte-level lock list */ }; From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 20:15:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3878106566C; Sun, 10 Jul 2011 20:15:21 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C43D98FC14; Sun, 10 Jul 2011 20:15:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AKFL7g060051; Sun, 10 Jul 2011 20:15:21 GMT (envelope-from ivoras@svn.freebsd.org) Received: (from ivoras@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AKFLgw060049; Sun, 10 Jul 2011 20:15:21 GMT (envelope-from ivoras@svn.freebsd.org) Message-Id: <201107102015.p6AKFLgw060049@svn.freebsd.org> From: Ivan Voras Date: Sun, 10 Jul 2011 20:15:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223912 - head/share/man/man8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 20:15:21 -0000 Author: ivoras Date: Sun Jul 10 20:15:21 2011 New Revision: 223912 URL: http://svn.freebsd.org/changeset/base/223912 Log: Cross reference nanobsd(8) Modified: head/share/man/man8/picobsd.8 Modified: head/share/man/man8/picobsd.8 ============================================================================== --- head/share/man/man8/picobsd.8 Sun Jul 10 18:57:35 2011 (r223911) +++ head/share/man/man8/picobsd.8 Sun Jul 10 20:15:21 2011 (r223912) @@ -647,7 +647,8 @@ already exists on disk (e.g.\& as a resu .Sh SEE ALSO .Xr crunchgen 1 , .Xr mdconfig 8 , -.Xr swapon 8 +.Xr swapon 8 , +.Xr nanobsd 8 .Sh AUTHORS .An -nosplit .An Andrzej Bialecki Aq abial@FreeBSD.org , From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 20:35:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A641106564A; Sun, 10 Jul 2011 20:35:51 +0000 (UTC) (envelope-from niclas.zeising@gmail.com) Received: from mail.lysator.liu.se (mail.lysator.liu.se [IPv6:2001:6b0:17:f0a0::3]) by mx1.freebsd.org (Postfix) with ESMTP id C3DA88FC16; Sun, 10 Jul 2011 20:35:50 +0000 (UTC) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 0991840019; Sun, 10 Jul 2011 22:35:49 +0200 (CEST) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id F2F594001A; Sun, 10 Jul 2011 22:35:48 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bernadotte.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL,FREEMAIL_FROM autolearn=disabled version=3.3.1 X-Spam-Score: 0.0 Received: from mx.daemonic.se (mx.daemonic.se [IPv6:2001:470:dca9:0:1::3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id BE06140019; Sun, 10 Jul 2011 22:35:48 +0200 (CEST) Received: from mail.daemonic.se (mail.daemonic.se [IPv6:2001:470:dca9:0:1::4]) by mx.daemonic.se (Postfix) with ESMTPS id 2E047119C08; Sun, 10 Jul 2011 22:35:48 +0200 (CEST) Received: from [IPv6:2001:470:dca9:1::4] (vivi.daemonic.se [IPv6:2001:470:dca9:1::4]) by mail.daemonic.se (Postfix) with ESMTPSA id EEEB812B1E5; Sun, 10 Jul 2011 22:35:47 +0200 (CEST) Message-ID: <4E1A0D22.7060501@gmail.com> Date: Sun, 10 Jul 2011 22:35:46 +0200 From: Niclas Zeising User-Agent: Mutt/1.5.21 MIME-Version: 1.0 To: Ivan Voras References: <201107102015.p6AKFLgw060049@svn.freebsd.org> In-Reply-To: <201107102015.p6AKFLgw060049@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223912 - head/share/man/man8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 20:35:51 -0000 On 2011-07-10 22:15, Ivan Voras wrote: > Author: ivoras > Date: Sun Jul 10 20:15:21 2011 > New Revision: 223912 > URL: http://svn.freebsd.org/changeset/base/223912 > > Log: > Cross reference nanobsd(8) > > Modified: > head/share/man/man8/picobsd.8 > > Modified: head/share/man/man8/picobsd.8 > ============================================================================== > --- head/share/man/man8/picobsd.8 Sun Jul 10 18:57:35 2011 (r223911) > +++ head/share/man/man8/picobsd.8 Sun Jul 10 20:15:21 2011 (r223912) > @@ -647,7 +647,8 @@ already exists on disk (e.g.\& as a resu > .Sh SEE ALSO > .Xr crunchgen 1 , > .Xr mdconfig 8 , > -.Xr swapon 8 > +.Xr swapon 8 , > +.Xr nanobsd 8 > .Sh AUTHORS > .An -nosplit > .An Andrzej Bialecki Aq abial@FreeBSD.org , Not to nitpick, but shouldn't .Xr be sorted alphabetically? Regards! -- Niclas From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 20:45:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 98165106566B; Sun, 10 Jul 2011 20:45:13 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 891838FC14; Sun, 10 Jul 2011 20:45:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AKjDis060919; Sun, 10 Jul 2011 20:45:13 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AKjDiE060917; Sun, 10 Jul 2011 20:45:13 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107102045.p6AKjDiE060917@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 10 Jul 2011 20:45:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223913 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 20:45:13 -0000 Author: kib Date: Sun Jul 10 20:45:13 2011 New Revision: 223913 URL: http://svn.freebsd.org/changeset/base/223913 Log: Style. MFC after: 3 days Modified: head/sys/vm/vm_mmap.c Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Sun Jul 10 20:15:21 2011 (r223912) +++ head/sys/vm/vm_mmap.c Sun Jul 10 20:45:13 2011 (r223913) @@ -1424,7 +1424,7 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, if (td->td_proc->p_vmspace->vm_map.size + size > lim_cur(td->td_proc, RLIMIT_VMEM)) { PROC_UNLOCK(td->td_proc); - return(ENOMEM); + return (ENOMEM); } if (racct_set(td->td_proc, RACCT_VMEM, td->td_proc->p_vmspace->vm_map.size + size)) { From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 20:49:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14007106564A; Sun, 10 Jul 2011 20:49:13 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0E6C8FC16; Sun, 10 Jul 2011 20:49:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AKnDFb061062; Sun, 10 Jul 2011 20:49:13 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AKnDmd061059; Sun, 10 Jul 2011 20:49:13 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107102049.p6AKnDmd061059@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 10 Jul 2011 20:49:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223914 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 20:49:14 -0000 Author: kib Date: Sun Jul 10 20:49:13 2011 New Revision: 223914 URL: http://svn.freebsd.org/changeset/base/223914 Log: Extract the code to translate VM error into errno, into an exported function vm_mmap_to_errno(). It is useful for the drivers that implement mmap(2)-like functionality, to be able to return error codes consistent with mmap(2). Sponsored by: The FreeBSD Foundation No objections from: alc MFC after: 1 week Modified: head/sys/vm/vm_extern.h head/sys/vm/vm_mmap.c Modified: head/sys/vm/vm_extern.h ============================================================================== --- head/sys/vm/vm_extern.h Sun Jul 10 20:45:13 2011 (r223913) +++ head/sys/vm/vm_extern.h Sun Jul 10 20:49:13 2011 (r223914) @@ -72,6 +72,7 @@ int vm_fault_wire(vm_map_t, vm_offset_t, int vm_forkproc(struct thread *, struct proc *, struct thread *, struct vmspace *, int); void vm_waitproc(struct proc *); int vm_mmap(vm_map_t, vm_offset_t *, vm_size_t, vm_prot_t, vm_prot_t, int, objtype_t, void *, vm_ooffset_t); +int vm_mmap_to_errno(int rv); void vm_set_page_size(void); void vm_sync_icache(vm_map_t, vm_offset_t, vm_size_t); struct vmspace *vmspace_alloc(vm_offset_t, vm_offset_t); Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Sun Jul 10 20:45:13 2011 (r223913) +++ head/sys/vm/vm_mmap.c Sun Jul 10 20:49:13 2011 (r223914) @@ -1535,6 +1535,13 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_map_wire(map, *addr, *addr + size, VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES); + return (vm_mmap_to_errno(rv)); +} + +int +vm_mmap_to_errno(int rv) +{ + switch (rv) { case KERN_SUCCESS: return (0); From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 22:09:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 006111065740; Sun, 10 Jul 2011 22:09:35 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E3FD88FC15; Sun, 10 Jul 2011 22:09:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AM9YMf063484; Sun, 10 Jul 2011 22:09:34 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AM9Y1S063482; Sun, 10 Jul 2011 22:09:34 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201107102209.p6AM9Y1S063482@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 10 Jul 2011 22:09:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223915 - stable/8/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 22:09:35 -0000 Author: yongari Date: Sun Jul 10 22:09:34 2011 New Revision: 223915 URL: http://svn.freebsd.org/changeset/base/223915 Log: MFC r223683: Document two known hardware errata which requires manual link configuration. Submitted by: Aries Lee (arieslee <> jmicron com) Modified: stable/8/share/man/man4/jme.4 Directory Properties: stable/8/share/man/man4/ (props changed) Modified: stable/8/share/man/man4/jme.4 ============================================================================== --- stable/8/share/man/man4/jme.4 Sun Jul 10 20:49:13 2011 (r223914) +++ stable/8/share/man/man4/jme.4 Sun Jul 10 22:09:34 2011 (r223915) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 20, 2010 +.Dd June 29, 2011 .Dt JME 4 .Os .Sh NAME @@ -178,3 +178,17 @@ address once station address is reprogra It is highly recommended not to reprogram station address and it is responsibility of administrator to store original station address into a safe place when station address should be changed. +.Pp +There are two known 1000baseT link establishment issues with JMC25x. +If the full mask revision number of JMC25x controller is less than +or equal to 4 and link partner enabled IEEE 802.3az Energy Efficient +Ethernet feature, the controller would not be able to establish a +1000baseT link. +Also if the length of cable is longer than 120 meters, controller +can not establish a 1000baseT link. +The known workaround for the issue is to force manual link +configuration with 100baseTX instead of relying on auto-negotiation. +The full mask revision number of controller could be checked with +verbose kernel boot option. +Use lower nibble of chip revision number to get full mask revision of +the controller. From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 22:09:54 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30A1F10656D4; Sun, 10 Jul 2011 22:09:54 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 204418FC22; Sun, 10 Jul 2011 22:09:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6AM9s8A063530; Sun, 10 Jul 2011 22:09:54 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6AM9sqQ063528; Sun, 10 Jul 2011 22:09:54 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201107102209.p6AM9sqQ063528@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 10 Jul 2011 22:09:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223916 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 22:09:54 -0000 Author: yongari Date: Sun Jul 10 22:09:53 2011 New Revision: 223916 URL: http://svn.freebsd.org/changeset/base/223916 Log: MFC r223683: Document two known hardware errata which requires manual link configuration. Submitted by: Aries Lee (arieslee <> jmicron com) Modified: stable/7/share/man/man4/jme.4 Directory Properties: stable/7/share/man/man4/ (props changed) Modified: stable/7/share/man/man4/jme.4 ============================================================================== --- stable/7/share/man/man4/jme.4 Sun Jul 10 22:09:34 2011 (r223915) +++ stable/7/share/man/man4/jme.4 Sun Jul 10 22:09:53 2011 (r223916) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 20, 2010 +.Dd June 29, 2011 .Dt JME 4 .Os .Sh NAME @@ -178,3 +178,17 @@ address once station address is reprogra It is highly recommended not to reprogram station address and it is responsibility of administrator to store original station address into a safe place when station address should be changed. +.Pp +There are two known 1000baseT link establishment issues with JMC25x. +If the full mask revision number of JMC25x controller is less than +or equal to 4 and link partner enabled IEEE 802.3az Energy Efficient +Ethernet feature, the controller would not be able to establish a +1000baseT link. +Also if the length of cable is longer than 120 meters, controller +can not establish a 1000baseT link. +The known workaround for the issue is to force manual link +configuration with 100baseTX instead of relying on auto-negotiation. +The full mask revision number of controller could be checked with +verbose kernel boot option. +Use lower nibble of chip revision number to get full mask revision of +the controller. From owner-svn-src-all@FreeBSD.ORG Sun Jul 10 23:47:03 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 973EB106566B; Sun, 10 Jul 2011 23:47:03 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 872F28FC0C; Sun, 10 Jul 2011 23:47:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6ANl3bL066323; Sun, 10 Jul 2011 23:47:03 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6ANl3qK066321; Sun, 10 Jul 2011 23:47:03 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107102347.p6ANl3qK066321@svn.freebsd.org> From: Doug Barton Date: Sun, 10 Jul 2011 23:47:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jul 2011 23:47:03 -0000 Author: dougb Date: Sun Jul 10 23:47:03 2011 New Revision: 223917 URL: http://svn.freebsd.org/changeset/base/223917 Log: Make sure we load kernel modules from the same path as the running kernel Modified: head/etc/rc.d/kld Modified: head/etc/rc.d/kld ============================================================================== --- head/etc/rc.d/kld Sun Jul 10 22:09:53 2011 (r223916) +++ head/etc/rc.d/kld Sun Jul 10 23:47:03 2011 (r223917) @@ -41,11 +41,24 @@ kld_start() { [ -n "$kld_list" ] || return - local _kld + local _kernel_path _module_path _kld _path + + _kernel_path=`$SYSCTL_N kern.bootfile` + _kernel_path="${_kernel_path%/*}" + + _module_path=`$SYSCTL_N kern.module_path` + _module_path="${_module_path#*\;}" + _module_path="$_kernel_path `ltr $_module_path \; ' '`" echo 'Loading kernel modules:' for _kld in $kld_list ; do - load_kld -e ${_kld}.ko $_kld + for _path in $_module_path ; do + if [ -x "${_path}/${_kld}.ko" ]; then + load_kld -e ${_kld}.ko ${_path}/${_kld}.ko + continue 2 + fi + done + warn "${_kld}.ko not found in $_module_path" done } From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 00:42:58 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4F65106564A; Mon, 11 Jul 2011 00:42:58 +0000 (UTC) (envelope-from inyaoo@gmail.com) Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by mx1.freebsd.org (Postfix) with ESMTP id 2ABD38FC13; Mon, 11 Jul 2011 00:42:57 +0000 (UTC) Received: by fxe6 with SMTP id 6so2901767fxe.17 for ; Sun, 10 Jul 2011 17:42:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=Apc5lD7VeELW8O1Jrj7N09ulGpoLuSDxiYaqIxAqV04=; b=CYNs3iRFzXIzNqqRg8pwsgILen7Z4PSsiWKquTZO8Apxgto3P4AscU6RW6cRwqSMA7 f3l2j4bEseoJ+Xdj/0ElbUc0z8et69AMByaKo9qrrgdWdK7DBgL00kf6NDX+ptZ34ULf O6uqaCR5NCaq48XUWAilYjfkVxhMOLYRvU8Nk= Received: by 10.223.144.129 with SMTP id z1mr6845697fau.57.1310344976785; Sun, 10 Jul 2011 17:42:56 -0700 (PDT) Received: from localhost (lvps83-169-33-85.dedicated.hosteurope.de [83.169.33.85]) by mx.google.com with ESMTPS id q28sm1391198fag.34.2011.07.10.17.42.54 (version=SSLv3 cipher=OTHER); Sun, 10 Jul 2011 17:42:56 -0700 (PDT) From: Pan Tsu To: Doug Barton References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> Date: Mon, 11 Jul 2011 04:42:52 +0400 In-Reply-To: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> (Doug Barton's message of "Sun, 10 Jul 2011 23:47:03 +0000 (UTC)") Message-ID: <86ipr9sl4j.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 00:42:59 -0000 Doug Barton writes: > Author: dougb > Date: Sun Jul 10 23:47:03 2011 > New Revision: 223917 > URL: http://svn.freebsd.org/changeset/base/223917 > > Log: > Make sure we load kernel modules from the same path as the running kernel > > Modified: > head/etc/rc.d/kld > > Modified: head/etc/rc.d/kld > ============================================================================== > --- head/etc/rc.d/kld Sun Jul 10 22:09:53 2011 (r223916) > +++ head/etc/rc.d/kld Sun Jul 10 23:47:03 2011 (r223917) > @@ -41,11 +41,24 @@ kld_start() > { > [ -n "$kld_list" ] || return > > - local _kld > + local _kernel_path _module_path _kld _path > + > + _kernel_path=`$SYSCTL_N kern.bootfile` > + _kernel_path="${_kernel_path%/*}" > + > + _module_path=`$SYSCTL_N kern.module_path` > + _module_path="${_module_path#*\;}" > + _module_path="$_kernel_path `ltr $_module_path \; ' '`" [...] Doesn't /boot/support.4th already populates kern.module_path with the path of successfully booted kernel? How is this different? From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 00:53:32 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id B4C61106564A; Mon, 11 Jul 2011 00:53:32 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id EE0ED15363F; Mon, 11 Jul 2011 00:53:31 +0000 (UTC) Message-ID: <4E1A498B.9080506@FreeBSD.org> Date: Sun, 10 Jul 2011 17:53:31 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: Pan Tsu References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <86ipr9sl4j.fsf@gmail.com> In-Reply-To: <86ipr9sl4j.fsf@gmail.com> X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 00:53:32 -0000 On 07/10/2011 17:42, Pan Tsu wrote: > Doug Barton writes: > >> Author: dougb >> Date: Sun Jul 10 23:47:03 2011 >> New Revision: 223917 >> URL: http://svn.freebsd.org/changeset/base/223917 >> >> Log: >> Make sure we load kernel modules from the same path as the running kernel >> >> Modified: >> head/etc/rc.d/kld >> >> Modified: head/etc/rc.d/kld >> ============================================================================== >> --- head/etc/rc.d/kld Sun Jul 10 22:09:53 2011 (r223916) >> +++ head/etc/rc.d/kld Sun Jul 10 23:47:03 2011 (r223917) >> @@ -41,11 +41,24 @@ kld_start() >> { >> [ -n "$kld_list" ] || return >> >> - local _kld >> + local _kernel_path _module_path _kld _path >> + >> + _kernel_path=`$SYSCTL_N kern.bootfile` >> + _kernel_path="${_kernel_path%/*}" >> + >> + _module_path=`$SYSCTL_N kern.module_path` >> + _module_path="${_module_path#*\;}" >> + _module_path="$_kernel_path `ltr $_module_path \; ' '`" > [...] > > Doesn't /boot/support.4th already populates kern.module_path with > the path of successfully booted kernel? How is this different? When you test it, what happens? -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 01:38:17 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C509F106566C; Mon, 11 Jul 2011 01:38:17 +0000 (UTC) (envelope-from inyaoo@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 643A98FC0A; Mon, 11 Jul 2011 01:38:17 +0000 (UTC) Received: by iyb11 with SMTP id 11so4191771iyb.13 for ; Sun, 10 Jul 2011 18:38:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=pr1EREYclLFtDXkzndXNFB+RhHrz4YXqvkLhstuqeOk=; b=hsc7Ui2SxFsxnilYjNRQDEXfnzLiwqci26geBcVPFStyEJxuJwQ3Q7k/AjQQ8oKfrS Qylq+oZFfoChxdfye0fZ20Y9t+tVYRUG1LhvSaUZ9IY8greSZtveeaemrwpwzjvHBkak p2sTONS1qadNEZ6HUNXNo+y9s0JhPNQADEL14= Received: by 10.231.24.193 with SMTP id w1mr4073639ibb.41.1310348296409; Sun, 10 Jul 2011 18:38:16 -0700 (PDT) Received: from localhost (tor-exit-router41-readme.formlessnetworking.net [199.48.147.41]) by mx.google.com with ESMTPS id e23sm7440944ibe.6.2011.07.10.18.38.14 (version=SSLv3 cipher=OTHER); Sun, 10 Jul 2011 18:38:15 -0700 (PDT) From: Pan Tsu To: Doug Barton References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <86ipr9sl4j.fsf@gmail.com> <4E1A498B.9080506@FreeBSD.org> Date: Mon, 11 Jul 2011 05:38:11 +0400 In-Reply-To: <4E1A498B.9080506@FreeBSD.org> (Doug Barton's message of "Sun, 10 Jul 2011 17:53:31 -0700") Message-ID: <86vcv97g1o.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 01:38:17 -0000 Doug Barton writes: > On 07/10/2011 17:42, Pan Tsu wrote: >> Doug Barton writes: >> >>> Author: dougb >>> Date: Sun Jul 10 23:47:03 2011 >>> New Revision: 223917 >>> URL: http://svn.freebsd.org/changeset/base/223917 >>> >>> Log: >>> Make sure we load kernel modules from the same path as the running kernel >>> >>> Modified: >>> head/etc/rc.d/kld >>> >>> Modified: head/etc/rc.d/kld >>> ============================================================================== >>> --- head/etc/rc.d/kld Sun Jul 10 22:09:53 2011 (r223916) >>> +++ head/etc/rc.d/kld Sun Jul 10 23:47:03 2011 (r223917) >>> @@ -41,11 +41,24 @@ kld_start() >>> { >>> [ -n "$kld_list" ] || return >>> >>> - local _kld >>> + local _kernel_path _module_path _kld _path >>> + >>> + _kernel_path=`$SYSCTL_N kern.bootfile` >>> + _kernel_path="${_kernel_path%/*}" >>> + >>> + _module_path=`$SYSCTL_N kern.module_path` >>> + _module_path="${_module_path#*\;}" >>> + _module_path="$_kernel_path `ltr $_module_path \; ' '`" >> [...] >> >> Doesn't /boot/support.4th already populates kern.module_path with >> the path of successfully booted kernel? How is this different? > > When you test it, what happens? /boot/foo is replaced by /boot/foo. But ignore my noise, I didn't test with other loaders, loading manually and booting from boot2. From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:16:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50E491065670; Mon, 11 Jul 2011 05:16:13 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 409DD8FC15; Mon, 11 Jul 2011 05:16:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5GDXU076672; Mon, 11 Jul 2011 05:16:13 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5GDdY076670; Mon, 11 Jul 2011 05:16:13 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107110516.p6B5GDdY076670@svn.freebsd.org> From: Kirk McKusick Date: Mon, 11 Jul 2011 05:16:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223918 - stable/8/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:16:13 -0000 Author: mckusick Date: Mon Jul 11 05:16:12 2011 New Revision: 223918 URL: http://svn.freebsd.org/changeset/base/223918 Log: MFC r223902: When first creating snapshots, we may free some blocks within it. These blocks should not have TRIM applied to them. Submitted by: Kostik Belousov Modified: stable/8/sys/ufs/ffs/ffs_alloc.c Modified: stable/8/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- stable/8/sys/ufs/ffs/ffs_alloc.c Sun Jul 10 23:47:03 2011 (r223917) +++ stable/8/sys/ufs/ffs/ffs_alloc.c Mon Jul 11 05:16:12 2011 (r223918) @@ -2032,7 +2032,11 @@ ffs_blkfree(ump, fs, devvp, bno, size, i ffs_snapblkfree(fs, devvp, bno, size, inum)) { return; } - if (!ump->um_candelete) { + /* + * Nothing to delay if TRIM is disabled, or the operation is + * performed on the snapshot. + */ + if (!ump->um_candelete || devvp->v_type == VREG) { ffs_blkfree_cg(ump, fs, devvp, bno, size, inum); return; } From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:17:46 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC53D1065672; Mon, 11 Jul 2011 05:17:46 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD3F38FC18; Mon, 11 Jul 2011 05:17:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5HkuU076758; Mon, 11 Jul 2011 05:17:46 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5HknT076755; Mon, 11 Jul 2011 05:17:46 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107110517.p6B5HknT076755@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 11 Jul 2011 05:17:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223919 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:17:47 -0000 Author: ae Date: Mon Jul 11 05:17:46 2011 New Revision: 223919 URL: http://svn.freebsd.org/changeset/base/223919 Log: Include sys/sbuf.h directly. Modified: head/sys/kern/vfs_mount.c head/sys/kern/vfs_mountroot.c Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Mon Jul 11 05:16:12 2011 (r223918) +++ head/sys/kern/vfs_mount.c Mon Jul 11 05:17:46 2011 (r223919) @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/kern/vfs_mountroot.c ============================================================================== --- head/sys/kern/vfs_mountroot.c Mon Jul 11 05:16:12 2011 (r223918) +++ head/sys/kern/vfs_mountroot.c Mon Jul 11 05:17:46 2011 (r223919) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:19:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 218F11065675; Mon, 11 Jul 2011 05:19:29 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ED68B8FC13; Mon, 11 Jul 2011 05:19:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5JSAq076845; Mon, 11 Jul 2011 05:19:28 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5JSqK076843; Mon, 11 Jul 2011 05:19:28 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107110519.p6B5JSqK076843@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 11 Jul 2011 05:19:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223920 - head/sys/dev/md X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:19:29 -0000 Author: ae Date: Mon Jul 11 05:19:28 2011 New Revision: 223920 URL: http://svn.freebsd.org/changeset/base/223920 Log: Include sys/sbuf.h directly. Modified: head/sys/dev/md/md.c Modified: head/sys/dev/md/md.c ============================================================================== --- head/sys/dev/md/md.c Mon Jul 11 05:17:46 2011 (r223919) +++ head/sys/dev/md/md.c Mon Jul 11 05:19:28 2011 (r223920) @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:22:32 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13EE0106566C; Mon, 11 Jul 2011 05:22:32 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 016228FC13; Mon, 11 Jul 2011 05:22:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5MVCE077004; Mon, 11 Jul 2011 05:22:31 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5MVBR076978; Mon, 11 Jul 2011 05:22:31 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107110522.p6B5MVBR076978@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 11 Jul 2011 05:22:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223921 - in head/sys/geom: . cache concat eli gate label mirror mountver multipath nop raid raid3 sched shsec stripe vinum virstor X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:22:32 -0000 Author: ae Date: Mon Jul 11 05:22:31 2011 New Revision: 223921 URL: http://svn.freebsd.org/changeset/base/223921 Log: Include sys/sbuf.h directly. Reviewed by: pjd Modified: head/sys/geom/cache/g_cache.c head/sys/geom/concat/g_concat.c head/sys/geom/eli/g_eli.c head/sys/geom/gate/g_gate.c head/sys/geom/geom_bsd.c head/sys/geom/geom_ccd.c head/sys/geom/geom_disk.c head/sys/geom/geom_pc98.c head/sys/geom/geom_sunlabel.c head/sys/geom/label/g_label_gpt.c head/sys/geom/mirror/g_mirror.c head/sys/geom/mountver/g_mountver.c head/sys/geom/multipath/g_multipath.c head/sys/geom/nop/g_nop.c head/sys/geom/raid/g_raid.c head/sys/geom/raid3/g_raid3.c head/sys/geom/sched/g_sched.c head/sys/geom/sched/gs_rr.c head/sys/geom/shsec/g_shsec.c head/sys/geom/stripe/g_stripe.c head/sys/geom/vinum/geom_vinum.c head/sys/geom/vinum/geom_vinum_drive.c head/sys/geom/vinum/geom_vinum_list.c head/sys/geom/vinum/geom_vinum_subr.c head/sys/geom/virstor/g_virstor.c Modified: head/sys/geom/cache/g_cache.c ============================================================================== --- head/sys/geom/cache/g_cache.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/cache/g_cache.c Mon Jul 11 05:22:31 2011 (r223921) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/concat/g_concat.c ============================================================================== --- head/sys/geom/concat/g_concat.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/concat/g_concat.c Mon Jul 11 05:22:31 2011 (r223921) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/eli/g_eli.c Mon Jul 11 05:22:31 2011 (r223921) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/gate/g_gate.c ============================================================================== --- head/sys/geom/gate/g_gate.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/gate/g_gate.c Mon Jul 11 05:22:31 2011 (r223921) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/geom_bsd.c ============================================================================== --- head/sys/geom/geom_bsd.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/geom_bsd.c Mon Jul 11 05:22:31 2011 (r223921) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/geom_ccd.c ============================================================================== --- head/sys/geom/geom_ccd.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/geom_ccd.c Mon Jul 11 05:22:31 2011 (r223921) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include /* Modified: head/sys/geom/geom_disk.c ============================================================================== --- head/sys/geom/geom_disk.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/geom_disk.c Mon Jul 11 05:22:31 2011 (r223921) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/geom_pc98.c ============================================================================== --- head/sys/geom/geom_pc98.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/geom_pc98.c Mon Jul 11 05:22:31 2011 (r223921) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/geom/geom_sunlabel.c ============================================================================== --- head/sys/geom/geom_sunlabel.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/geom_sunlabel.c Mon Jul 11 05:22:31 2011 (r223921) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/label/g_label_gpt.c ============================================================================== --- head/sys/geom/label/g_label_gpt.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/label/g_label_gpt.c Mon Jul 11 05:22:31 2011 (r223921) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/geom/mirror/g_mirror.c ============================================================================== --- head/sys/geom/mirror/g_mirror.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/mirror/g_mirror.c Mon Jul 11 05:22:31 2011 (r223921) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/mountver/g_mountver.c ============================================================================== --- head/sys/geom/mountver/g_mountver.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/mountver/g_mountver.c Mon Jul 11 05:22:31 2011 (r223921) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/multipath/g_multipath.c ============================================================================== --- head/sys/geom/multipath/g_multipath.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/multipath/g_multipath.c Mon Jul 11 05:22:31 2011 (r223921) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/nop/g_nop.c ============================================================================== --- head/sys/geom/nop/g_nop.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/nop/g_nop.c Mon Jul 11 05:22:31 2011 (r223921) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/raid/g_raid.c ============================================================================== --- head/sys/geom/raid/g_raid.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/raid/g_raid.c Mon Jul 11 05:22:31 2011 (r223921) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/raid3/g_raid3.c ============================================================================== --- head/sys/geom/raid3/g_raid3.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/raid3/g_raid3.c Mon Jul 11 05:22:31 2011 (r223921) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/sched/g_sched.c ============================================================================== --- head/sys/geom/sched/g_sched.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/sched/g_sched.c Mon Jul 11 05:22:31 2011 (r223921) @@ -111,6 +111,7 @@ #include #include #include +#include #include #include #include /* we access curthread */ Modified: head/sys/geom/sched/gs_rr.c ============================================================================== --- head/sys/geom/sched/gs_rr.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/sched/gs_rr.c Mon Jul 11 05:22:31 2011 (r223921) @@ -59,6 +59,7 @@ #include #include #include +#include #include #include "gs_scheduler.h" Modified: head/sys/geom/shsec/g_shsec.c ============================================================================== --- head/sys/geom/shsec/g_shsec.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/shsec/g_shsec.c Mon Jul 11 05:22:31 2011 (r223921) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/stripe/g_stripe.c ============================================================================== --- head/sys/geom/stripe/g_stripe.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/stripe/g_stripe.c Mon Jul 11 05:22:31 2011 (r223921) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/geom/vinum/geom_vinum.c ============================================================================== --- head/sys/geom/vinum/geom_vinum.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/vinum/geom_vinum.c Mon Jul 11 05:22:31 2011 (r223921) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/geom/vinum/geom_vinum_drive.c ============================================================================== --- head/sys/geom/vinum/geom_vinum_drive.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/vinum/geom_vinum_drive.c Mon Jul 11 05:22:31 2011 (r223921) @@ -27,8 +27,10 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include +#include #include #include Modified: head/sys/geom/vinum/geom_vinum_list.c ============================================================================== --- head/sys/geom/vinum/geom_vinum_list.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/vinum/geom_vinum_list.c Mon Jul 11 05:22:31 2011 (r223921) @@ -28,8 +28,10 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include +#include #include #include Modified: head/sys/geom/vinum/geom_vinum_subr.c ============================================================================== --- head/sys/geom/vinum/geom_vinum_subr.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/vinum/geom_vinum_subr.c Mon Jul 11 05:22:31 2011 (r223921) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include Modified: head/sys/geom/virstor/g_virstor.c ============================================================================== --- head/sys/geom/virstor/g_virstor.c Mon Jul 11 05:19:28 2011 (r223920) +++ head/sys/geom/virstor/g_virstor.c Mon Jul 11 05:22:31 2011 (r223921) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:31:53 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AF351065677; Mon, 11 Jul 2011 05:31:53 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4A5E68FC13; Mon, 11 Jul 2011 05:31:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5Vrhe077308; Mon, 11 Jul 2011 05:31:53 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5Vrfn077306; Mon, 11 Jul 2011 05:31:53 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107110531.p6B5Vrfn077306@svn.freebsd.org> From: Xin LI Date: Mon, 11 Jul 2011 05:31:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223922 - head/usr.bin/rpcgen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:31:53 -0000 Author: delphij Date: Mon Jul 11 05:31:52 2011 New Revision: 223922 URL: http://svn.freebsd.org/changeset/base/223922 Log: Use strlcpy(). MFC after: 1 month Modified: head/usr.bin/rpcgen/rpc_scan.c Modified: head/usr.bin/rpcgen/rpc_scan.c ============================================================================== --- head/usr.bin/rpcgen/rpc_scan.c Mon Jul 11 05:22:31 2011 (r223921) +++ head/usr.bin/rpcgen/rpc_scan.c Mon Jul 11 05:31:52 2011 (r223922) @@ -329,10 +329,9 @@ findstrconst(char **str, const char **va error("unterminated string constant"); } p++; - size = p - *str; - tmp = xmalloc(size + 1); - (void) strncpy(tmp, *str, size); - tmp[size] = 0; + size = p - *str + 1; + tmp = xmalloc(size); + (void) strlcpy(tmp, *str, size); *val = tmp; *str = p; } @@ -352,13 +351,12 @@ findchrconst(char **str, const char **va error("unterminated string constant"); } p++; - size = p - *str; - if (size != 3) { + size = p - *str + 1; + if (size != 4) { error("empty char string"); } - tmp = xmalloc(size + 1); - (void) strncpy(tmp, *str, size); - tmp[size] = 0; + tmp = xmalloc(size); + (void) strlcpy(tmp, *str, size); *val = tmp; *str = p; } @@ -381,10 +379,9 @@ findconst(char **str, const char **val) p++; } while (isdigit(*p)); } - size = p - *str; - tmp = xmalloc(size + 1); - (void) strncpy(tmp, *str, size); - tmp[size] = 0; + size = p - *str + 1; + tmp = xmalloc(size); + (void) strlcpy(tmp, *str, size); *val = tmp; *str = p; } @@ -438,8 +435,7 @@ findkind(char **mark, token *tokp) tokp->kind = TOK_IDENT; for (len = 0; isalnum(str[len]) || str[len] == '_'; len++); tmp = xmalloc(len + 1); - (void) strncpy(tmp, str, len); - tmp[len] = 0; + (void) strlcpy(tmp, str, len + 1); tokp->str = tmp; *mark = str + len; } From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:40:47 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BF2E106564A; Mon, 11 Jul 2011 05:40:47 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0CA608FC0A; Mon, 11 Jul 2011 05:40:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5ekab077603; Mon, 11 Jul 2011 05:40:46 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5ekvP077601; Mon, 11 Jul 2011 05:40:46 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107110540.p6B5ekvP077601@svn.freebsd.org> From: Xin LI Date: Mon, 11 Jul 2011 05:40:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223923 - head/usr.bin/calendar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:40:47 -0000 Author: delphij Date: Mon Jul 11 05:40:46 2011 New Revision: 223923 URL: http://svn.freebsd.org/changeset/base/223923 Log: Use a pair of parentheses to ensure right evaluation order. Modified: head/usr.bin/calendar/pom.c Modified: head/usr.bin/calendar/pom.c ============================================================================== --- head/usr.bin/calendar/pom.c Mon Jul 11 05:31:52 2011 (r223922) +++ head/usr.bin/calendar/pom.c Mon Jul 11 05:40:46 2011 (r223923) @@ -155,7 +155,7 @@ fpom(int year, double utcoffset, double tomorrow = potm(days_tomorrow); /* 31 December 00:00:01 */ olddir = today > tomorrow ? -1 : +1; - yeardays = 1 + isleap(year) ? DAYSPERLEAPYEAR : DAYSPERYEAR; /* reuse */ + yeardays = 1 + (isleap(year) ? DAYSPERLEAPYEAR : DAYSPERYEAR); /* reuse */ for (d = 0; d <= yeardays; d++) { today = potm(days_today); tomorrow = potm(days_tomorrow); From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:46:16 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57E01106566C; Mon, 11 Jul 2011 05:46:16 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 48B328FC1D; Mon, 11 Jul 2011 05:46:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5kGKi077811; Mon, 11 Jul 2011 05:46:16 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5kG9V077809; Mon, 11 Jul 2011 05:46:16 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107110546.p6B5kG9V077809@svn.freebsd.org> From: Xin LI Date: Mon, 11 Jul 2011 05:46:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223924 - head/usr.bin/gcore X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:46:16 -0000 Author: delphij Date: Mon Jul 11 05:46:15 2011 New Revision: 223924 URL: http://svn.freebsd.org/changeset/base/223924 Log: Match size_t and ssize_t by using %zu and %zd instead of %d. MFC after: 1 month Modified: head/usr.bin/gcore/elfcore.c Modified: head/usr.bin/gcore/elfcore.c ============================================================================== --- head/usr.bin/gcore/elfcore.c Mon Jul 11 05:40:46 2011 (r223923) +++ head/usr.bin/gcore/elfcore.c Mon Jul 11 05:46:15 2011 (r223924) @@ -183,7 +183,7 @@ elf_coredump(int efd __unused, int fd, p ptrace(PT_IO, pid, (caddr_t)&iorequest, 0); ngot = iorequest.piod_len; if ((size_t)ngot < nwant) - errx(1, "short read wanted %d, got %d", + errx(1, "short read wanted %zu, got %zd", nwant, ngot); ngot = write(fd, buf, nwant); if (ngot == -1) From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:50:24 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3512106566B; Mon, 11 Jul 2011 05:50:24 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9BB3B8FC17; Mon, 11 Jul 2011 05:50:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5oOX0077965; Mon, 11 Jul 2011 05:50:24 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5oOFH077963; Mon, 11 Jul 2011 05:50:24 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107110550.p6B5oOFH077963@svn.freebsd.org> From: Xin LI Date: Mon, 11 Jul 2011 05:50:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223925 - head/usr.bin/ipcs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:50:25 -0000 Author: delphij Date: Mon Jul 11 05:50:24 2011 New Revision: 223925 URL: http://svn.freebsd.org/changeset/base/223925 Log: Use %zu when printing size_t. MFC after: 1 month Modified: head/usr.bin/ipcs/ipc.c Modified: head/usr.bin/ipcs/ipc.c ============================================================================== --- head/usr.bin/ipcs/ipc.c Mon Jul 11 05:46:15 2011 (r223924) +++ head/usr.bin/ipcs/ipc.c Mon Jul 11 05:50:24 2011 (r223925) @@ -120,7 +120,7 @@ sysctlgatherstruct(void *addr, size_t si if (rv == -1) err(1, "sysctlbyname: %s", xp->sysctl); if (tsiz != xp->size) - errx(1, "%s size mismatch (expected %d, got %d)", + errx(1, "%s size mismatch (expected %zu, got %zu)", xp->sysctl, xp->size, tsiz); } } @@ -199,7 +199,7 @@ kget(int idx, void *addr, size_t size) err(1, "sysctlbyname: %s", sym2sysctl[idx]); if (tsiz != size) errx(1, "%s size mismatch " - "(expected %d, got %d)", + "(expected %zu, got %zu)", sym2sysctl[idx], size, tsiz); break; } From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 05:57:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E9761065687; Mon, 11 Jul 2011 05:57:50 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1F5008FC19; Mon, 11 Jul 2011 05:57:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B5voA0078212; Mon, 11 Jul 2011 05:57:50 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B5vokw078210; Mon, 11 Jul 2011 05:57:50 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107110557.p6B5vokw078210@svn.freebsd.org> From: Xin LI Date: Mon, 11 Jul 2011 05:57:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223926 - head/usr.bin/tftp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 05:57:50 -0000 Author: delphij Date: Mon Jul 11 05:57:49 2011 New Revision: 223926 URL: http://svn.freebsd.org/changeset/base/223926 Log: peeraddr is only used in sizeof() evaluations, so instead of declaring it a variable, use typedef. MFC after: 1 month Modified: head/usr.bin/tftp/main.c Modified: head/usr.bin/tftp/main.c ============================================================================== --- head/usr.bin/tftp/main.c Mon Jul 11 05:50:24 2011 (r223925) +++ head/usr.bin/tftp/main.c Mon Jul 11 05:57:49 2011 (r223926) @@ -77,7 +77,7 @@ __FBSDID("$FreeBSD$"); #define MAXLINE 200 #define TIMEOUT 5 /* secs between rexmt's */ -static struct sockaddr_storage peeraddr; +typedef struct sockaddr_storage peeraddr; static int connected; static char mode[32]; jmp_buf toplevel; From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 08:24:00 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1EFA7106564A; Mon, 11 Jul 2011 08:24:00 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E25D8FC0C; Mon, 11 Jul 2011 08:24:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B8O0VL082509; Mon, 11 Jul 2011 08:24:00 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B8O0jg082504; Mon, 11 Jul 2011 08:24:00 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201107110824.p6B8O0jg082504@svn.freebsd.org> From: Aleksandr Rybalko Date: Mon, 11 Jul 2011 08:23:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223927 - in head/sys: conf dev/rt X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 08:24:00 -0000 Author: ray Date: Mon Jul 11 08:23:59 2011 New Revision: 223927 URL: http://svn.freebsd.org/changeset/base/223927 Log: Support of Ralink Ethernet MAC, used in RT3050F/RT3052F and I belive in other Ralink SoCs. Approved by: adrian (mentor) Added: head/sys/dev/rt/ head/sys/dev/rt/if_rt.c (contents, props changed) head/sys/dev/rt/if_rtreg.h (contents, props changed) head/sys/dev/rt/if_rtvar.h (contents, props changed) Modified: head/sys/conf/files.mips head/sys/conf/options.mips Modified: head/sys/conf/files.mips ============================================================================== --- head/sys/conf/files.mips Mon Jul 11 05:57:49 2011 (r223926) +++ head/sys/conf/files.mips Mon Jul 11 08:23:59 2011 (r223927) @@ -106,4 +106,5 @@ dev/siba/siba_pcib.c optional siba pci dev/hwpmc/hwpmc_mips.c optional hwpmc dev/hwpmc/hwpmc_mips24k.c optional hwpmc +dev/rt/if_rt.c optional rt dev/nvram2env/nvram2env.c optional nvram2env Modified: head/sys/conf/options.mips ============================================================================== --- head/sys/conf/options.mips Mon Jul 11 05:57:49 2011 (r223926) +++ head/sys/conf/options.mips Mon Jul 11 08:23:59 2011 (r223927) @@ -70,3 +70,11 @@ OCTEON_BOARD_CAPK_0100ND opt_cvmx.h # Options that control the Atheros SoC peripherals # ARGE_DEBUG opt_global.h + +# +# Options that control the Ralink RT305xF Etherenet MAC. +# +IF_RT_DEBUG opt_if_rt.h +IF_RT_PHY_SUPPORT opt_if_rt.h +IF_RT_RING_DATA_COUNT opt_if_rt.h + Added: head/sys/dev/rt/if_rt.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/rt/if_rt.c Mon Jul 11 08:23:59 2011 (r223927) @@ -0,0 +1,2616 @@ +/*- + * Copyright (c) 2011, Aleksandr Rybalko + * based on hard work + * by Alexander Egorenkov + * and by Damien Bergamini + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "if_rtvar.h" +#include "if_rtreg.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#ifdef IF_RT_PHY_SUPPORT +#include "miibus_if.h" +#endif + +/* + * Defines and macros + */ +#define RT_MAX_AGG_SIZE 3840 + +#define RT_TX_DATA_SEG0_SIZE MJUMPAGESIZE + +#define RT_MS(_v, _f) (((_v) & _f) >> _f##_S) +#define RT_SM(_v, _f) (((_v) << _f##_S) & _f) + +#define RT_TX_WATCHDOG_TIMEOUT 5 + +/* + * Static function prototypes + */ +static int rt_probe(device_t dev); +static int rt_attach(device_t dev); +static int rt_detach(device_t dev); +static int rt_shutdown(device_t dev); +static int rt_suspend(device_t dev); +static int rt_resume(device_t dev); +static void rt_init_locked(void *priv); +static void rt_init(void *priv); +static void rt_stop_locked(void *priv); +static void rt_stop(void *priv); +static void rt_start(struct ifnet *ifp); +static int rt_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static void rt_periodic(void *arg); +static void rt_tx_watchdog(void *arg); +static void rt_intr(void *arg); +static void rt_tx_coherent_intr(struct rt_softc *sc); +static void rt_rx_coherent_intr(struct rt_softc *sc); +static void rt_rx_delay_intr(struct rt_softc *sc); +static void rt_tx_delay_intr(struct rt_softc *sc); +static void rt_rx_intr(struct rt_softc *sc); +static void rt_tx_intr(struct rt_softc *sc, int qid); +static void rt_rx_done_task(void *context, int pending); +static void rt_tx_done_task(void *context, int pending); +static void rt_periodic_task(void *context, int pending); +static int rt_rx_eof(struct rt_softc *sc, int limit); +static void rt_tx_eof(struct rt_softc *sc, + struct rt_softc_tx_ring *ring); +static void rt_update_stats(struct rt_softc *sc); +static void rt_watchdog(struct rt_softc *sc); +static void rt_update_raw_counters(struct rt_softc *sc); +static void rt_intr_enable(struct rt_softc *sc, uint32_t intr_mask); +static void rt_intr_disable(struct rt_softc *sc, uint32_t intr_mask); +static int rt_txrx_enable(struct rt_softc *sc); +static int rt_alloc_rx_ring(struct rt_softc *sc, + struct rt_softc_rx_ring *ring); +static void rt_reset_rx_ring(struct rt_softc *sc, + struct rt_softc_rx_ring *ring); +static void rt_free_rx_ring(struct rt_softc *sc, + struct rt_softc_rx_ring *ring); +static int rt_alloc_tx_ring(struct rt_softc *sc, + struct rt_softc_tx_ring *ring, int qid); +static void rt_reset_tx_ring(struct rt_softc *sc, + struct rt_softc_tx_ring *ring); +static void rt_free_tx_ring(struct rt_softc *sc, + struct rt_softc_tx_ring *ring); +static void rt_dma_map_addr(void *arg, bus_dma_segment_t *segs, + int nseg, int error); +static void rt_sysctl_attach(struct rt_softc *sc); +#ifdef IF_RT_PHY_SUPPORT +void rt_miibus_statchg(device_t); +static int rt_miibus_readreg(device_t, int, int); +static int rt_miibus_writereg(device_t, int, int, int); +#endif +static int rt_ifmedia_upd(struct ifnet *); +static void rt_ifmedia_sts(struct ifnet *, struct ifmediareq *); + +SYSCTL_NODE(_hw, OID_AUTO, rt, CTLFLAG_RD, 0, "RT driver parameters"); +#ifdef IF_RT_DEBUG +static int rt_debug = 0; +SYSCTL_INT(_hw_rt, OID_AUTO, debug, CTLFLAG_RW, &rt_debug, 0, + "RT debug level"); +TUNABLE_INT("hw.rt.debug", &rt_debug); +#endif + +static int +rt_probe(device_t dev) +{ + device_set_desc(dev, "Ralink RT305XF onChip Ethernet MAC"); + return (0); +} + +/* + * macaddr_atoi - translate string MAC address to uint8_t array + */ +static int +macaddr_atoi(const char *str, uint8_t *mac) +{ + int count, i; + unsigned int amac[ETHER_ADDR_LEN]; /* Aligned version */ + + count = sscanf(str, "%x%*c%x%*c%x%*c%x%*c%x%*c%x", + &amac[0], &amac[1], &amac[2], + &amac[3], &amac[4], &amac[5]); + if (count < ETHER_ADDR_LEN) { + memset(mac, 0, ETHER_ADDR_LEN); + return (1); + } + + /* Copy aligned to result */ + for (i = 0; i < ETHER_ADDR_LEN; i ++) + mac[i] = (amac[i] & 0xff); + + return (0); +} + +#ifdef USE_GENERATED_MAC_ADDRESS +static char * +kernenv_next(char *cp) +{ + + if (cp != NULL) { + while (*cp != 0) + cp++; + cp++; + if (*cp == 0) + cp = NULL; + } + return (cp); +} + +/* + * generate_mac(uin8_t *mac) + * This is MAC address generator for cases when real device MAC address + * unknown or not yet accessible. + * Use 'b','s','d' signature and 3 octets from CRC32 on kenv. + * MAC = 'b', 's', 'd', CRC[3]^CRC[2], CRC[1], CRC[0] + * + * Output - MAC address, that do not change between reboots, if hints or + * bootloader info unchange. + */ +static void +generate_mac(uint8_t *mac) +{ + unsigned char *cp; + int i = 0; + uint32_t crc = 0xffffffff; + + /* Generate CRC32 on kenv */ + if (dynamic_kenv) { + for (cp = kenvp[0]; cp != NULL; cp = kenvp[++i]) { + crc = calculate_crc32c(crc, cp, strlen(cp) + 1); + } + } else { + for (cp = kern_envp; cp != NULL; cp = kernenv_next(cp)) { + crc = calculate_crc32c(crc, cp, strlen(cp) + 1); + } + } + crc = ~crc; + + mac[0] = 'b'; + mac[1] = 's'; + mac[2] = 'd'; + mac[3] = (crc >> 24) ^ ((crc >> 16) & 0xff); + mac[4] = (crc >> 8) & 0xff; + mac[5] = crc & 0xff; +} +#endif + +/* + * ether_request_mac - try to find usable MAC address. + */ +static int +ether_request_mac(device_t dev, uint8_t *mac) +{ + char *var; + + /* + * "ethaddr" is passed via envp on RedBoot platforms + * "kmac" is passed via argv on RouterBOOT platforms + */ +#if defined(__U_BOOT__) || defined(__REDBOOT__) || defined(__ROUTERBOOT__) + if ((var = getenv("ethaddr")) != NULL || + (var = getenv("kmac")) != NULL ) { + + if(!macaddr_atoi(var, mac)) { + printf("%s: use %s macaddr from KENV\n", + device_get_nameunit(dev), var); + freeenv(var); + return (0); + } + freeenv(var); + } +#endif + + /* + * Try from hints + * hint.[dev].[unit].macaddr + */ + if (!resource_string_value(device_get_name(dev), + device_get_unit(dev), "macaddr", (const char **)&var)) { + + if(!macaddr_atoi(var, mac)) { + printf("%s: use %s macaddr from hints\n", + device_get_nameunit(dev), var); + return (0); + } + } + +#ifdef USE_GENERATED_MAC_ADDRESS + generate_mac(mac); + + device_printf(dev, "use generated %02x:%02x:%02x:%02x:%02x:%02x " + "macaddr\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); +#else + /* Hardcoded */ + mac[0] = 0x00; + mac[1] = 0x18; + mac[2] = 0xe7; + mac[3] = 0xd5; + mac[4] = 0x83; + mac[5] = 0x90; + + device_printf(dev, "use hardcoded 00:18:e7:d5:83:90 macaddr\n"); +#endif + + return (0); +} + +static int +rt_attach(device_t dev) +{ + struct rt_softc *sc; + struct ifnet *ifp; + int error, i; + + sc = device_get_softc(dev); + sc->dev = dev; + + mtx_init(&sc->lock, device_get_nameunit(dev), MTX_NETWORK_LOCK, + MTX_DEF | MTX_RECURSE); + + sc->mem_rid = 0; + sc->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->mem_rid, + RF_ACTIVE); + if (sc->mem == NULL) { + device_printf(dev, "could not allocate memory resource\n"); + error = ENXIO; + goto fail; + } + + sc->bst = rman_get_bustag(sc->mem); + sc->bsh = rman_get_bushandle(sc->mem); + + sc->irq_rid = 0; + sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irq_rid, + RF_ACTIVE); + if (sc->irq == NULL) { + device_printf(dev, + "could not allocate interrupt resource\n"); + error = ENXIO; + goto fail; + } + +#ifdef IF_RT_DEBUG + sc->debug = rt_debug; + + SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "debug", CTLFLAG_RW, &sc->debug, 0, "rt debug level"); +#endif + + device_printf(dev, "RT305XF Ethernet MAC (rev 0x%08x)\n", + sc->mac_rev); + + /* Reset hardware */ + RT_WRITE(sc, GE_PORT_BASE + FE_RST_GLO, PSE_RESET); + + RT_WRITE(sc, GDMA1_BASE + GDMA_FWD_CFG, + ( + GDM_ICS_EN | /* Enable IP Csum */ + GDM_TCS_EN | /* Enable TCP Csum */ + GDM_UCS_EN | /* Enable UDP Csum */ + GDM_STRPCRC | /* Strip CRC from packet */ + GDM_DST_PORT_CPU << GDM_UFRC_P_SHIFT | /* Forward UCast to CPU */ + GDM_DST_PORT_CPU << GDM_BFRC_P_SHIFT | /* Forward BCast to CPU */ + GDM_DST_PORT_CPU << GDM_MFRC_P_SHIFT | /* Forward MCast to CPU */ + GDM_DST_PORT_CPU << GDM_OFRC_P_SHIFT /* Forward Other to CPU */ + )); + + /* allocate Tx and Rx rings */ + for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) { + error = rt_alloc_tx_ring(sc, &sc->tx_ring[i], i); + if (error != 0) { + device_printf(dev, "could not allocate Tx ring #%d\n", + i); + goto fail; + } + } + + sc->tx_ring_mgtqid = 5; + + error = rt_alloc_rx_ring(sc, &sc->rx_ring); + if (error != 0) { + device_printf(dev, "could not allocate Rx ring\n"); + goto fail; + } + + callout_init(&sc->periodic_ch, 0); + callout_init_mtx(&sc->tx_watchdog_ch, &sc->lock, 0); + + ifp = sc->ifp = if_alloc(IFT_ETHER); + if (ifp == NULL) { + device_printf(dev, "could not if_alloc()\n"); + error = ENOMEM; + goto fail; + } + + ifp->if_softc = sc; + if_initname(ifp, device_get_name(sc->dev), device_get_unit(sc->dev)); + ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_init = rt_init; + ifp->if_ioctl = rt_ioctl; + ifp->if_start = rt_start; + ifp->if_mtu = ETHERMTU; +#define RT_TX_QLEN 256 + + IFQ_SET_MAXLEN(&ifp->if_snd, RT_TX_QLEN); + ifp->if_snd.ifq_drv_maxlen = RT_TX_QLEN; + IFQ_SET_READY(&ifp->if_snd); + +#ifdef IF_RT_PHY_SUPPORT + error = mii_attach(dev, &sc->rt_miibus, ifp, rt_ifmedia_upd, + rt_ifmedia_sts, BMSR_DEFCAPMASK, MII_PHY_ANY, MII_OFFSET_ANY, 0); + if (error != 0) { + device_printf(dev, "attaching PHYs failed\n"); + error = ENXIO; + goto fail; + } +#else + ifmedia_init(&sc->rt_ifmedia, 0, rt_ifmedia_upd, rt_ifmedia_sts); + ifmedia_add(&sc->rt_ifmedia, IFM_ETHER | IFM_100_TX | IFM_FDX, 0, + NULL); + ifmedia_set(&sc->rt_ifmedia, IFM_ETHER | IFM_100_TX | IFM_FDX); + +#endif /* IF_RT_PHY_SUPPORT */ + + ether_request_mac(dev, sc->mac_addr); + ether_ifattach(ifp, sc->mac_addr); + + /* + * Tell the upper layer(s) we support long frames. + */ + ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); + ifp->if_capabilities |= IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_MTU; + ifp->if_capabilities |= IFCAP_RXCSUM|IFCAP_TXCSUM; + ifp->if_capenable |= IFCAP_RXCSUM|IFCAP_TXCSUM; + + /* init task queue */ + TASK_INIT(&sc->rx_done_task, 0, rt_rx_done_task, sc); + TASK_INIT(&sc->tx_done_task, 0, rt_tx_done_task, sc); + TASK_INIT(&sc->periodic_task, 0, rt_periodic_task, sc); + + sc->rx_process_limit = 100; + + sc->taskqueue = taskqueue_create("rt_taskq", M_NOWAIT, + taskqueue_thread_enqueue, &sc->taskqueue); + + taskqueue_start_threads(&sc->taskqueue, 1, PI_NET, "%s taskq", + device_get_nameunit(sc->dev)); + + rt_sysctl_attach(sc); + + /* set up interrupt */ + error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, + NULL, rt_intr, sc, &sc->irqh); + if (error != 0) { + printf("%s: could not set up interrupt\n", + device_get_nameunit(dev)); + goto fail; + } +#ifdef IF_RT_DEBUG + device_printf(dev, "debug var at %#08x\n", (u_int)&(sc->debug)); +#endif + + return (0); + +fail: + /* free Tx and Rx rings */ + for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) + rt_free_tx_ring(sc, &sc->tx_ring[i]); + + rt_free_rx_ring(sc, &sc->rx_ring); + + mtx_destroy(&sc->lock); + + if (sc->mem != NULL) + bus_release_resource(dev, SYS_RES_MEMORY, sc->mem_rid, + sc->mem); + + if (sc->irq != NULL) + bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid, + sc->irq); + + return (error); +} + +/* + * Set media options. + */ +static int +rt_ifmedia_upd(struct ifnet *ifp) +{ + struct rt_softc *sc; +#ifdef IF_RT_PHY_SUPPORT + struct mii_data *mii; + int error = 0; + + sc = ifp->if_softc; + RT_SOFTC_LOCK(sc); + + mii = device_get_softc(sc->rt_miibus); + if (mii->mii_instance) { + struct mii_softc *miisc; + for (miisc = LIST_FIRST(&mii->mii_phys); miisc != NULL; + miisc = LIST_NEXT(miisc, mii_list)) + mii_phy_reset(miisc); + } + if (mii) + error = mii_mediachg(mii); + RT_SOFTC_UNLOCK(sc); + + return (error); + +#else /* !IF_RT_PHY_SUPPORT */ + + struct ifmedia *ifm; + struct ifmedia_entry *ife; + + sc = ifp->if_softc; + ifm = &sc->rt_ifmedia; + ife = ifm->ifm_cur; + + if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER) + return (EINVAL); + + if (IFM_SUBTYPE(ife->ifm_media) == IFM_AUTO) { + device_printf(sc->dev, + "AUTO is not supported for multiphy MAC"); + return (EINVAL); + } + + /* + * Ignore everything + */ + return (0); +#endif /* IF_RT_PHY_SUPPORT */ +} + +/* + * Report current media status. + */ +static void +rt_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +{ +#ifdef IF_RT_PHY_SUPPORT + struct rt_softc *sc; + struct mii_data *mii; + + sc = ifp->if_softc; + + RT_SOFTC_LOCK(sc); + mii = device_get_softc(sc->rt_miibus); + mii_pollstat(mii); + ifmr->ifm_active = mii->mii_media_active; + ifmr->ifm_status = mii->mii_media_status; + ifmr->ifm_active = IFM_ETHER | IFM_100_TX | IFM_FDX; + ifmr->ifm_status = IFM_AVALID | IFM_ACTIVE; + RT_SOFTC_UNLOCK(sc); +#else /* !IF_RT_PHY_SUPPORT */ + + ifmr->ifm_status = IFM_AVALID | IFM_ACTIVE; + ifmr->ifm_active = IFM_ETHER | IFM_100_TX | IFM_FDX; +#endif /* IF_RT_PHY_SUPPORT */ +} + +static int +rt_detach(device_t dev) +{ + struct rt_softc *sc; + struct ifnet *ifp; + int i; + + sc = device_get_softc(dev); + ifp = sc->ifp; + + RT_DPRINTF(sc, RT_DEBUG_ANY, "detaching\n"); + + RT_SOFTC_LOCK(sc); + + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + + callout_stop(&sc->periodic_ch); + callout_stop(&sc->tx_watchdog_ch); + + taskqueue_drain(sc->taskqueue, &sc->rx_done_task); + taskqueue_drain(sc->taskqueue, &sc->tx_done_task); + taskqueue_drain(sc->taskqueue, &sc->periodic_task); + + /* free Tx and Rx rings */ + for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) + rt_free_tx_ring(sc, &sc->tx_ring[i]); + + rt_free_rx_ring(sc, &sc->rx_ring); + + RT_SOFTC_UNLOCK(sc); + +#ifdef IF_RT_PHY_SUPPORT + if (sc->rt_miibus != NULL) + device_delete_child(dev, sc->rt_miibus); +#endif + + ether_ifdetach(ifp); + if_free(ifp); + + taskqueue_free(sc->taskqueue); + + mtx_destroy(&sc->lock); + + bus_generic_detach(dev); + bus_teardown_intr(dev, sc->irq, sc->irqh); + bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid, sc->irq); + bus_release_resource(dev, SYS_RES_MEMORY, sc->mem_rid, sc->mem); + + return (0); +} + +static int +rt_shutdown(device_t dev) +{ + struct rt_softc *sc; + + sc = device_get_softc(dev); + RT_DPRINTF(sc, RT_DEBUG_ANY, "shutting down\n"); + rt_stop(sc); + + return (0); +} + +static int +rt_suspend(device_t dev) +{ + struct rt_softc *sc; + + sc = device_get_softc(dev); + RT_DPRINTF(sc, RT_DEBUG_ANY, "suspending\n"); + rt_stop(sc); + + return (0); +} + +static int +rt_resume(device_t dev) +{ + struct rt_softc *sc; + struct ifnet *ifp; + + sc = device_get_softc(dev); + ifp = sc->ifp; + + RT_DPRINTF(sc, RT_DEBUG_ANY, "resuming\n"); + + if (ifp->if_flags & IFF_UP) + rt_init(sc); + + return (0); +} + +/* + * rt_init_locked - Run initialization process having locked mtx. + */ +static void +rt_init_locked(void *priv) +{ + struct rt_softc *sc; + struct ifnet *ifp; +#ifdef IF_RT_PHY_SUPPORT + struct mii_data *mii; +#endif + int i, ntries; + uint32_t tmp; + + sc = priv; + ifp = sc->ifp; +#ifdef IF_RT_PHY_SUPPORT + mii = device_get_softc(sc->rt_miibus); +#endif + + RT_DPRINTF(sc, RT_DEBUG_ANY, "initializing\n"); + + RT_SOFTC_ASSERT_LOCKED(sc); + + /* hardware reset */ + RT_WRITE(sc, GE_PORT_BASE + FE_RST_GLO, PSE_RESET); + rt305x_sysctl_set(SYSCTL_RSTCTRL, SYSCTL_RSTCTRL_FRENG); + + /* Fwd to CPU (uni|broad|multi)cast and Unknown */ + RT_WRITE(sc, GDMA1_BASE + GDMA_FWD_CFG, + ( + GDM_ICS_EN | /* Enable IP Csum */ + GDM_TCS_EN | /* Enable TCP Csum */ + GDM_UCS_EN | /* Enable UDP Csum */ + GDM_STRPCRC | /* Strip CRC from packet */ + GDM_DST_PORT_CPU << GDM_UFRC_P_SHIFT | /* Forward UCast to CPU */ + GDM_DST_PORT_CPU << GDM_BFRC_P_SHIFT | /* Forward BCast to CPU */ + GDM_DST_PORT_CPU << GDM_MFRC_P_SHIFT | /* Forward MCast to CPU */ + GDM_DST_PORT_CPU << GDM_OFRC_P_SHIFT /* Forward Other to CPU */ + )); + + /* disable DMA engine */ + RT_WRITE(sc, PDMA_BASE + PDMA_GLO_CFG, 0); + RT_WRITE(sc, PDMA_BASE + PDMA_RST_IDX, 0xffffffff); + + /* wait while DMA engine is busy */ + for (ntries = 0; ntries < 100; ntries++) { + tmp = RT_READ(sc, PDMA_BASE + PDMA_GLO_CFG); + if (!(tmp & (FE_TX_DMA_BUSY | FE_RX_DMA_BUSY))) + break; + DELAY(1000); + } + + if (ntries == 100) { + device_printf(sc->dev, "timeout waiting for DMA engine\n"); + goto fail; + } + + /* reset Rx and Tx rings */ + tmp = FE_RST_DRX_IDX0 | + FE_RST_DTX_IDX3 | + FE_RST_DTX_IDX2 | + FE_RST_DTX_IDX1 | + FE_RST_DTX_IDX0; + + RT_WRITE(sc, PDMA_BASE + PDMA_RST_IDX, tmp); + + /* XXX switch set mac address */ + for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) + rt_reset_tx_ring(sc, &sc->tx_ring[i]); + + for (i = 0; i < RT_SOFTC_TX_RING_COUNT; i++) { + /* update TX_BASE_PTRx */ + RT_WRITE(sc, PDMA_BASE + TX_BASE_PTR(i), + sc->tx_ring[i].desc_phys_addr); + RT_WRITE(sc, PDMA_BASE + TX_MAX_CNT(i), + RT_SOFTC_TX_RING_DESC_COUNT); + RT_WRITE(sc, PDMA_BASE + TX_CTX_IDX(i), 0); + } + + /* init Rx ring */ + rt_reset_rx_ring(sc, &sc->rx_ring); + + /* update RX_BASE_PTR0 */ + RT_WRITE(sc, PDMA_BASE + RX_BASE_PTR0, + sc->rx_ring.desc_phys_addr); + RT_WRITE(sc, PDMA_BASE + RX_MAX_CNT0, + RT_SOFTC_RX_RING_DATA_COUNT); + RT_WRITE(sc, PDMA_BASE + RX_CALC_IDX0, + RT_SOFTC_RX_RING_DATA_COUNT - 1); + + /* write back DDONE, 16byte burst enable RX/TX DMA */ + RT_WRITE(sc, PDMA_BASE + PDMA_GLO_CFG, + FE_TX_WB_DDONE | FE_DMA_BT_SIZE16 | FE_RX_DMA_EN | FE_TX_DMA_EN); + + /* disable interrupts mitigation */ + RT_WRITE(sc, PDMA_BASE + DELAY_INT_CFG, 0); + + /* clear pending interrupts */ + RT_WRITE(sc, GE_PORT_BASE + FE_INT_STATUS, 0xffffffff); + + /* enable interrupts */ + tmp = CNT_PPE_AF | + CNT_GDM_AF | + PSE_P2_FC | + GDM_CRC_DROP | + PSE_BUF_DROP | + GDM_OTHER_DROP | + PSE_P1_FC | + PSE_P0_FC | + PSE_FQ_EMPTY | + INT_TX_COHERENT | + INT_RX_COHERENT | + INT_TXQ3_DONE | + INT_TXQ2_DONE | + INT_TXQ1_DONE | + INT_TXQ0_DONE | + INT_RX_DONE; + + sc->intr_enable_mask = tmp; + + RT_WRITE(sc, GE_PORT_BASE + FE_INT_ENABLE, tmp); + + if (rt_txrx_enable(sc) != 0) + goto fail; + +#ifdef IF_RT_PHY_SUPPORT + if (mii) mii_mediachg(mii); +#endif /* IF_RT_PHY_SUPPORT */ + + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + + sc->periodic_round = 0; + + callout_reset(&sc->periodic_ch, hz / 10, rt_periodic, sc); + + return; + +fail: + rt_stop_locked(sc); +} + +/* + * rt_init - lock and initialize device. + */ +static void +rt_init(void *priv) +{ + struct rt_softc *sc; + + sc = priv; + RT_SOFTC_LOCK(sc); + rt_init_locked(sc); + RT_SOFTC_UNLOCK(sc); +} + +/* + * rt_stop_locked - stop TX/RX w/ lock + */ +static void +rt_stop_locked(void *priv) +{ + struct rt_softc *sc; + struct ifnet *ifp; + + sc = priv; + ifp = sc->ifp; + + RT_DPRINTF(sc, RT_DEBUG_ANY, "stopping\n"); + + RT_SOFTC_ASSERT_LOCKED(sc); + sc->tx_timer = 0; + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + callout_stop(&sc->periodic_ch); + callout_stop(&sc->tx_watchdog_ch); + RT_SOFTC_UNLOCK(sc); + taskqueue_block(sc->taskqueue); + + /* + * Sometime rt_stop_locked called from isr and we get panic + * When found, I fix it + */ +#ifdef notyet + taskqueue_drain(sc->taskqueue, &sc->rx_done_task); + taskqueue_drain(sc->taskqueue, &sc->tx_done_task); + taskqueue_drain(sc->taskqueue, &sc->periodic_task); +#endif + RT_SOFTC_LOCK(sc); + + /* disable interrupts */ + RT_WRITE(sc, GE_PORT_BASE + FE_INT_ENABLE, 0); + + /* reset adapter */ + RT_WRITE(sc, GE_PORT_BASE + FE_RST_GLO, PSE_RESET); + + RT_WRITE(sc, GDMA1_BASE + GDMA_FWD_CFG, + ( + GDM_ICS_EN | /* Enable IP Csum */ + GDM_TCS_EN | /* Enable TCP Csum */ + GDM_UCS_EN | /* Enable UDP Csum */ + GDM_STRPCRC | /* Strip CRC from packet */ + GDM_DST_PORT_CPU << GDM_UFRC_P_SHIFT | /* Forward UCast to CPU */ + GDM_DST_PORT_CPU << GDM_BFRC_P_SHIFT | /* Forward BCast to CPU */ + GDM_DST_PORT_CPU << GDM_MFRC_P_SHIFT | /* Forward MCast to CPU */ + GDM_DST_PORT_CPU << GDM_OFRC_P_SHIFT /* Forward Other to CPU */ + )); +} + +static void +rt_stop(void *priv) +{ + struct rt_softc *sc; + + sc = priv; + RT_SOFTC_LOCK(sc); + rt_stop_locked(sc); + RT_SOFTC_UNLOCK(sc); +} + +/* + * rt_tx_data - transmit packet. + */ +static int +rt_tx_data(struct rt_softc *sc, struct mbuf *m, int qid) +{ + struct ifnet *ifp; + struct rt_softc_tx_ring *ring; + struct rt_softc_tx_data *data; + struct rt_txdesc *desc; + struct mbuf *m_d; + bus_dma_segment_t dma_seg[RT_SOFTC_MAX_SCATTER]; + int error, ndmasegs, ndescs, i; + + KASSERT(qid >= 0 && qid < RT_SOFTC_TX_RING_COUNT, + ("%s: Tx data: invalid qid=%d\n", + device_get_nameunit(sc->dev), qid)); + + RT_SOFTC_TX_RING_ASSERT_LOCKED(&sc->tx_ring[qid]); + + ifp = sc->ifp; + ring = &sc->tx_ring[qid]; + desc = &ring->desc[ring->desc_cur]; + data = &ring->data[ring->data_cur]; + + error = bus_dmamap_load_mbuf_sg(ring->data_dma_tag, data->dma_map, m, + dma_seg, &ndmasegs, 0); + if (error != 0) { + /* too many fragments, linearize */ + + RT_DPRINTF(sc, RT_DEBUG_TX, + "could not load mbuf DMA map, trying to linearize " + "mbuf: ndmasegs=%d, len=%d, error=%d\n", + ndmasegs, m->m_pkthdr.len, error); + + m_d = m_collapse(m, M_DONTWAIT, 16); + if (m_d == NULL) { + m_freem(m); + m = NULL; + return (ENOMEM); + } + m = m_d; + + sc->tx_defrag_packets++; + + error = bus_dmamap_load_mbuf_sg(ring->data_dma_tag, + data->dma_map, m, dma_seg, &ndmasegs, 0); + if (error != 0) { + device_printf(sc->dev, "could not load mbuf DMA map: " + "ndmasegs=%d, len=%d, error=%d\n", + ndmasegs, m->m_pkthdr.len, error); + m_freem(m); + return (error); + } + } + + if (m->m_pkthdr.len == 0) + ndmasegs = 0; + + /* determine how many Tx descs are required */ + ndescs = 1 + ndmasegs / 2; + if ((ring->desc_queued + ndescs) > + (RT_SOFTC_TX_RING_DESC_COUNT - 2)) { + RT_DPRINTF(sc, RT_DEBUG_TX, + "there are not enough Tx descs\n"); + + sc->no_tx_desc_avail++; + + bus_dmamap_unload(ring->data_dma_tag, data->dma_map); + m_freem(m); + return (EFBIG); + } + + data->m = m; + + /* set up Tx descs */ + for (i = 0; i < ndmasegs; i += 2) { + /* Set destenation */ + desc->dst = (TXDSCR_DST_PORT_GDMA1); + if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) + desc->dst |= (TXDSCR_IP_CSUM_GEN|TXDSCR_UDP_CSUM_GEN| + TXDSCR_TCP_CSUM_GEN); + /* Set queue id */ + desc->qn = qid; + /* No PPPoE */ + desc->pppoe = 0; + /* No VLAN */ + desc->vid = 0; + + desc->sdp0 = htole32(dma_seg[i].ds_addr); + desc->sdl0 = htole16(dma_seg[i].ds_len | + ( ((i+1) == ndmasegs )?RT_TXDESC_SDL0_LASTSEG:0 )); + + if ((i+1) < ndmasegs) { + desc->sdp1 = htole32(dma_seg[i+1].ds_addr); + desc->sdl1 = htole16(dma_seg[i+1].ds_len | + ( ((i+2) == ndmasegs )?RT_TXDESC_SDL1_LASTSEG:0 )); + } else { + desc->sdp1 = 0; + desc->sdl1 = 0; + } + + if ((i+2) < ndmasegs) { + ring->desc_queued++; + ring->desc_cur = (ring->desc_cur + 1) % + RT_SOFTC_TX_RING_DESC_COUNT; + } + desc = &ring->desc[ring->desc_cur]; + } + + RT_DPRINTF(sc, RT_DEBUG_TX, "sending data: len=%d, ndmasegs=%d, " + "DMA ds_len=%d/%d/%d/%d/%d\n", + m->m_pkthdr.len, ndmasegs, + (int) dma_seg[0].ds_len, + (int) dma_seg[1].ds_len, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 08:24:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDFC9106568D; Mon, 11 Jul 2011 08:24:36 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE8E98FC16; Mon, 11 Jul 2011 08:24:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B8Oakf082564; Mon, 11 Jul 2011 08:24:36 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B8OaFj082562; Mon, 11 Jul 2011 08:24:36 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201107110824.p6B8OaFj082562@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 11 Jul 2011 08:24:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223928 - head/usr.bin/calendar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 08:24:37 -0000 Author: edwin Date: Mon Jul 11 08:24:36 2011 New Revision: 223928 URL: http://svn.freebsd.org/changeset/base/223928 Log: Fix the interpreter for: Jul/Sat+3 Every third saturday of July - Jul/Sat+3 which was able to be done via: Jul/SatThird Every third saturday of July - Jul/SatThird Add interpreters for: SatFourth Every third saturday of each month - SatFourth Sat+4 Every third saturday of each month - Sat+4 Sat Every saturday of each month - Sat MFC after: 2 weeks Modified: head/usr.bin/calendar/parsedata.c Modified: head/usr.bin/calendar/parsedata.c ============================================================================== --- head/usr.bin/calendar/parsedata.c Mon Jul 11 08:23:59 2011 (r223927) +++ head/usr.bin/calendar/parsedata.c Mon Jul 11 08:24:36 2011 (r223928) @@ -548,6 +548,24 @@ parsedaymonth(char *date, int *yearp, in continue; } + /* Every so-manied dayofweek of every month of the year */ + if (lflags == (F_DAYOFWEEK | F_MODIFIERINDEX | F_VARIABLE)) { + offset = indextooffset(modifierindex); + + for (m = 0; m < 12; m++) { + dow = first_dayofweek_of_month(year, m); + d = (idayofweek - dow + 8) % 7; + d += (offset - 1) * 7; + if (remember_ymd(year, m, d)) { + remember(&remindex, + yearp, monthp, dayp, edp, + year, m, d, NULL); + continue; + } + } + continue; + } + /* A certain dayofweek of a month */ if (lflags == (F_MONTH | F_DAYOFWEEK | F_MODIFIERINDEX | F_VARIABLE)) { @@ -918,6 +936,16 @@ indextooffset(char *s) int i; struct fixs *n; + if (s[0] == '+' || s[0] == '-') { + char ss[9]; + for (i = -100; i < 100; i++) { + sprintf(ss, "%s%d", (i > 0) ? "+" : "", i); + if (strcmp(ss, s) == 0) + return (i); + } + return (0); + } + for (i = 0; i < 6; i++) { if (strcasecmp(s, sequences[i]) == 0) { if (i == 5) From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 08:42:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1787A1065674; Mon, 11 Jul 2011 08:42:10 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 083368FC22; Mon, 11 Jul 2011 08:42:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6B8g9Il083098; Mon, 11 Jul 2011 08:42:09 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6B8g94t083096; Mon, 11 Jul 2011 08:42:09 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201107110842.p6B8g94t083096@svn.freebsd.org> From: Aleksandr Rybalko Date: Mon, 11 Jul 2011 08:42:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223929 - head/sys/dev/rt X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 08:42:10 -0000 Author: ray Date: Mon Jul 11 08:42:09 2011 New Revision: 223929 URL: http://svn.freebsd.org/changeset/base/223929 Log: Fix typo, lost 0 in SYSCTL_ADD_INT usage. Modified: head/sys/dev/rt/if_rt.c Modified: head/sys/dev/rt/if_rt.c ============================================================================== --- head/sys/dev/rt/if_rt.c Mon Jul 11 08:24:36 2011 (r223928) +++ head/sys/dev/rt/if_rt.c Mon Jul 11 08:42:09 2011 (r223929) @@ -2390,7 +2390,7 @@ rt_sysctl_attach(struct rt_softc *sc) SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(stats), OID_AUTO, "TXQ3_data_queued", CTLFLAG_RD, &sc->tx_ring[3].data_queued, - "Tx AC3 data queued"); + 0, "Tx AC3 data queued"); SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(stats), OID_AUTO, "TXQ2_desc_queued", CTLFLAG_RD, &sc->tx_ring[2].desc_queued, From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 09:00:16 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A0AA106564A; Mon, 11 Jul 2011 09:00:12 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id C13CC8FC0A; Mon, 11 Jul 2011 09:00:11 +0000 (UTC) Received: from localhost (58.wheelsystems.com [83.12.187.58]) by mail.dawidek.net (Postfix) with ESMTPSA id 5BD102D6; Mon, 11 Jul 2011 10:59:58 +0200 (CEST) Date: Mon, 11 Jul 2011 10:59:53 +0200 From: Pawel Jakub Dawidek To: Bruce Evans Message-ID: <20110711085953.GA1675@garage.freebsd.pl> References: <201107100041.p6A0fVea022978@svn.freebsd.org> <20110710114730.T1039@besplex.bde.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="FL5UXtIhxfXey3p5" Content-Disposition: inline In-Reply-To: <20110710114730.T1039@besplex.bde.org> X-OS: FreeBSD 9.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Kirk McKusick Subject: Re: svn commit: r223900 - in head/sys: geom ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 09:00:16 -0000 --FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jul 10, 2011 at 01:30:05PM +1000, Bruce Evans wrote: > % DROP_GIANT(); > % g_topology_lock(); > % - g_access(ump->um_cp, 0, -1, 0); > % + error =3D g_access(ump->um_cp, 0, -1, > % + (mp->mnt_flag & MNT_ROOTFS) ? -1 : 0); >=20 > This might be the fix. >=20 > % g_topology_unlock(); > % PICKUP_GIANT(); > % + if (error) > % + return (error); > % + >=20 > Add missing error handling. g_access() can easily fail, although it > rarely fails in the above since the above asks for less access than > has already been granted. It never fails when you are closing. From g_access(): error =3D pp->geom->access(pp, dcr, dcw, dce); KASSERT(dcr > 0 || dcw > 0 || dce > 0 || error =3D=3D 0, ("Geom provider %s::%s failed closing ->access()", pp->geom->class->name, pp->name)); --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://yomoli.com --FL5UXtIhxfXey3p5 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk4au4gACgkQForvXbEpPzTwSgCgglBysBQBFGzk0bkr9I7aZUpn VagAoIcw9NYarEp0uuvAno2/lcW8PnYi =odtJ -----END PGP SIGNATURE----- --FL5UXtIhxfXey3p5-- From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 10:02:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D232A106564A; Mon, 11 Jul 2011 10:02:27 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C2FF78FC20; Mon, 11 Jul 2011 10:02:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BA2RpZ085491; Mon, 11 Jul 2011 10:02:27 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BA2R7l085489; Mon, 11 Jul 2011 10:02:27 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107111002.p6BA2R7l085489@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 11 Jul 2011 10:02:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223930 - head/sys/geom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 10:02:27 -0000 Author: ae Date: Mon Jul 11 10:02:27 2011 New Revision: 223930 URL: http://svn.freebsd.org/changeset/base/223930 Log: Remove include of sys/sbuf.h from geom/geom.h. sbuf support is not always required for geom/geom.h users, and no need to depend from it. PR: kern/158398 Modified: head/sys/geom/geom.h Modified: head/sys/geom/geom.h ============================================================================== --- head/sys/geom/geom.h Mon Jul 11 08:42:09 2011 (r223929) +++ head/sys/geom/geom.h Mon Jul 11 10:02:27 2011 (r223930) @@ -44,7 +44,6 @@ #include #include #include -#include #include struct g_class; From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 10:41:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 550101065674; Mon, 11 Jul 2011 10:41:09 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 459738FC1D; Mon, 11 Jul 2011 10:41:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BAf9AG086660; Mon, 11 Jul 2011 10:41:09 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BAf9Vp086657; Mon, 11 Jul 2011 10:41:09 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201107111041.p6BAf9Vp086657@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 11 Jul 2011 10:41:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223931 - head/usr.bin/ncal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 10:41:09 -0000 Author: edwin Date: Mon Jul 11 10:41:08 2011 New Revision: 223931 URL: http://svn.freebsd.org/changeset/base/223931 Log: ncal(1) highlights the current date (or a date provided via parameter) even if stdout is not a tty. If stdout is not a tty the data is normally processed by other tools and no control sequences are expected. PR: bin/158580 MFC after: 1 week Modified: head/usr.bin/ncal/ncal.1 head/usr.bin/ncal/ncal.c Modified: head/usr.bin/ncal/ncal.1 ============================================================================== --- head/usr.bin/ncal/ncal.1 Mon Jul 11 10:02:27 2011 (r223930) +++ head/usr.bin/ncal/ncal.1 Mon Jul 11 10:41:08 2011 (r223931) @@ -171,6 +171,8 @@ that, two after that and the whole year. will warn about these combinations. .Pp A year starts on January 1. +.P +Highlighting of dates is disabled if stdout is not a tty. .Sh SEE ALSO .Xr calendar 3 , .Xr strftime 3 Modified: head/usr.bin/ncal/ncal.c ============================================================================== --- head/usr.bin/ncal/ncal.c Mon Jul 11 10:02:27 2011 (r223930) +++ head/usr.bin/ncal/ncal.c Mon Jul 11 10:41:08 2011 (r223931) @@ -822,7 +822,8 @@ mkmonthr(int y, int m, int jd_flag, stru dt.d = j - jan1 + 1; else sdater(j, &dt); - if (j == highlightdate && !flag_nohighlight) + if (j == highlightdate && !flag_nohighlight + && isatty(STDOUT_FILENO)) highlight(mlines->lines[i] + k, ds + dt.d * dw, dw, &l); else From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 10:42:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE805106566C; Mon, 11 Jul 2011 10:42:36 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF38A8FC17; Mon, 11 Jul 2011 10:42:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BAga3V086737; Mon, 11 Jul 2011 10:42:36 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BAgaEE086735; Mon, 11 Jul 2011 10:42:36 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201107111042.p6BAgaEE086735@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 11 Jul 2011 10:42:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223932 - head/usr.bin/ncal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 10:42:36 -0000 Author: edwin Date: Mon Jul 11 10:42:36 2011 New Revision: 223932 URL: http://svn.freebsd.org/changeset/base/223932 Log: Fix typo in order of markup and text. Modified: head/usr.bin/ncal/ncal.1 Modified: head/usr.bin/ncal/ncal.1 ============================================================================== --- head/usr.bin/ncal/ncal.1 Mon Jul 11 10:41:08 2011 (r223931) +++ head/usr.bin/ncal/ncal.1 Mon Jul 11 10:42:36 2011 (r223932) @@ -171,7 +171,7 @@ that, two after that and the whole year. will warn about these combinations. .Pp A year starts on January 1. -.P +.Pp Highlighting of dates is disabled if stdout is not a tty. .Sh SEE ALSO .Xr calendar 3 , From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 12:51:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C583106566C; Mon, 11 Jul 2011 12:51:36 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0CBB18FC15; Mon, 11 Jul 2011 12:51:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BCpZ4T094277; Mon, 11 Jul 2011 12:51:35 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BCpZ1c094275; Mon, 11 Jul 2011 12:51:35 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107111251.p6BCpZ1c094275@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 11 Jul 2011 12:51:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223933 - head/usr.sbin/bsnmpd/modules/snmp_hostres X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 12:51:36 -0000 Author: ae Date: Mon Jul 11 12:51:35 2011 New Revision: 223933 URL: http://svn.freebsd.org/changeset/base/223933 Log: Use full buffer size in read(2) call, there is no need to preserve the last byte of the buffer. Since we call refresh_device_tbl() for any devctl event types - no need to check the first byte of buffer. Remove these checks. Also remove logging for the case of unknown devd message. It incorrectly triggers when all devctl events are not fit into one buffer and part of unread data will be read in the next pass. When length of data readed from devctl is equal to sizeof(buf), then try to read from socket again, to read full data. MFC after: 2 weeks Modified: head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c Modified: head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c ============================================================================== --- head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c Mon Jul 11 10:42:36 2011 (r223932) +++ head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c Mon Jul 11 12:51:35 2011 (r223933) @@ -449,7 +449,8 @@ devd_socket_callback(int fd, void *arg _ HRDBG("called"); - read_len = read(fd, buf, sizeof(buf) - 1); +again: + read_len = read(fd, buf, sizeof(buf)); if (read_len < 0) { if (errno == EBADF) { devd_sock = -1; @@ -476,16 +477,9 @@ devd_socket_callback(int fd, void *arg _ syslog(LOG_ERR, "Closing devd_fd, revert to devinfo polling"); } else { - switch (buf[0]) { - case '+': - case '-': - case '?': - case '!': - refresh_device_tbl(1); - return; - default: - syslog(LOG_ERR, "unknown message from devd socket"); - } + if (read_len == sizeof(buf)) + goto again; + refresh_device_tbl(1); } } From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 13:10:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DAB5106564A; Mon, 11 Jul 2011 13:10:35 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4A9918FC12; Mon, 11 Jul 2011 13:10:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BDAZT4094847; Mon, 11 Jul 2011 13:10:35 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BDAZMT094841; Mon, 11 Jul 2011 13:10:35 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201107111310.p6BDAZMT094841@svn.freebsd.org> From: Martin Matuska Date: Mon, 11 Jul 2011 13:10:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223934 - in vendor/xz/dist: . po src/common src/liblzma/api/lzma src/liblzma/common src/liblzma/delta src/liblzma/lz src/liblzma/lzma src/liblzma/simple src/lzmainfo src/xz src/xzdec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 13:10:35 -0000 Author: mm Date: Mon Jul 11 13:10:34 2011 New Revision: 223934 URL: http://svn.freebsd.org/changeset/base/223934 Log: Update vendor/xz from v5.0 branch (post-5.0.3) Git commit: edf339227a966f24aebe1845fcca9429b8f6e318 Added: vendor/xz/dist/po/fr.po vendor/xz/dist/po/pl.po Modified: vendor/xz/dist/ChangeLog vendor/xz/dist/THANKS vendor/xz/dist/po/LINGUAS vendor/xz/dist/po/it.po vendor/xz/dist/src/common/tuklib_open_stdxxx.c vendor/xz/dist/src/liblzma/api/lzma/block.h vendor/xz/dist/src/liblzma/api/lzma/container.h vendor/xz/dist/src/liblzma/api/lzma/filter.h vendor/xz/dist/src/liblzma/api/lzma/version.h vendor/xz/dist/src/liblzma/common/alone_decoder.c vendor/xz/dist/src/liblzma/common/alone_encoder.c vendor/xz/dist/src/liblzma/common/block_buffer_encoder.c vendor/xz/dist/src/liblzma/common/block_encoder.c vendor/xz/dist/src/liblzma/common/common.c vendor/xz/dist/src/liblzma/common/common.h vendor/xz/dist/src/liblzma/common/filter_common.c vendor/xz/dist/src/liblzma/common/index.c vendor/xz/dist/src/liblzma/common/index_decoder.c vendor/xz/dist/src/liblzma/common/index_encoder.c vendor/xz/dist/src/liblzma/common/stream_buffer_encoder.c vendor/xz/dist/src/liblzma/common/stream_encoder.c vendor/xz/dist/src/liblzma/delta/delta_encoder.c vendor/xz/dist/src/liblzma/lz/lz_decoder.c vendor/xz/dist/src/liblzma/lz/lz_encoder.c vendor/xz/dist/src/liblzma/lz/lz_encoder_hash.h vendor/xz/dist/src/liblzma/lzma/lzma2_decoder.c vendor/xz/dist/src/liblzma/lzma/lzma2_encoder.c vendor/xz/dist/src/liblzma/simple/arm.c vendor/xz/dist/src/liblzma/simple/armthumb.c vendor/xz/dist/src/liblzma/simple/ia64.c vendor/xz/dist/src/liblzma/simple/powerpc.c vendor/xz/dist/src/liblzma/simple/simple_coder.c vendor/xz/dist/src/liblzma/simple/sparc.c vendor/xz/dist/src/lzmainfo/lzmainfo.c vendor/xz/dist/src/xz/coder.c vendor/xz/dist/src/xz/file_io.c vendor/xz/dist/src/xz/hardware.h vendor/xz/dist/src/xz/list.c vendor/xz/dist/src/xz/message.c vendor/xz/dist/src/xz/message.h vendor/xz/dist/src/xz/options.c vendor/xz/dist/src/xz/signals.c vendor/xz/dist/src/xz/suffix.c vendor/xz/dist/src/xz/util.h vendor/xz/dist/src/xz/xz.1 vendor/xz/dist/src/xzdec/xzdec.c Modified: vendor/xz/dist/ChangeLog ============================================================================== --- vendor/xz/dist/ChangeLog Mon Jul 11 12:51:35 2011 (r223933) +++ vendor/xz/dist/ChangeLog Mon Jul 11 13:10:34 2011 (r223934) @@ -1,3 +1,328 @@ +commit edf339227a966f24aebe1845fcca9429b8f6e318 +Author: Anders F Bjorklund +Date: Fri Nov 5 12:56:11 2010 +0100 + + add build script for macosx universal + +commit 7fcc6334ea8923550ba6b5347ff99dc8432234b0 +Author: Lasse Collin +Date: Thu Jun 16 12:15:29 2011 +0300 + + liblzma: Remove unneeded semicolon. + +commit 631f4d3ae6adfda84d1a110781d9402c12e16cfc +Author: Lasse Collin +Date: Sat May 28 16:43:26 2011 +0300 + + Don't call close(-1) in tuklib_open_stdxxx() on error. + + Thanks to Jim Meyering. + +commit c89faf4c9e5970e7f7f8a25521ed9aa62d1a2d9a +Author: Lasse Collin +Date: Sat May 28 09:47:56 2011 +0300 + + Translations: Update Italian translation. + + Thanks to Milo Casagrande. + +commit 6fe2fc9b6ab5bf6848140823e9536370834f42fb +Author: Lasse Collin +Date: Sat May 28 08:46:04 2011 +0300 + + Tests: Add a test file for the bug in the previous commit. + +commit 6c4d4db2bc8d8b682bd927144d37daa2ab21a6d6 +Author: Lasse Collin +Date: Fri May 27 22:25:44 2011 +0300 + + xz: Fix error handling in xz -lvv. + + It could do an invalid free() and read past the end + of the uninitialized filters array. + +commit 844f84fcad9670c543550edf7c7e42630c8f7715 +Author: Lasse Collin +Date: Fri May 27 22:09:49 2011 +0300 + + liblzma: Handle allocation failures correctly in lzma_index_init(). + + Thanks to Jim Meyering. + +commit 240e8b9791df597063a3b68d04ffcb3aa4f2de6a +Author: Lasse Collin +Date: Mon May 23 18:30:30 2011 +0300 + + Build: Set GZIP_ENV=-9n in top-level Makefile.am. + +commit e32cb264ea72a4459810f30abad70dae5a4fa17d +Author: Lasse Collin +Date: Sat May 21 16:59:22 2011 +0300 + + Bump version and soname for 5.0.3. + +commit 65cff45f8fd1c250491557157cce0f5f38481082 +Author: Lasse Collin +Date: Sat May 21 16:56:53 2011 +0300 + + Update NEWS for 5.0.3. + +commit 316c67ffdae1f811ac95e838d5290a013bff4ca7 +Author: Lasse Collin +Date: Sat May 21 16:28:44 2011 +0300 + + Add French translation. + + It is known that the BCJ filter --help text is only + partially translated. + +commit 1931175eea6d09c0845d6e8e334a7333647f11c0 +Author: Lasse Collin +Date: Sat May 21 15:12:10 2011 +0300 + + xz: Translate also the string used to print the program name. + + French needs a space before a colon, e.g. "xz : foo error". + +commit 841dc1f891b48b23f84c0f0e0c86c7c4e4bdcdf5 +Author: Lasse Collin +Date: Tue May 17 12:26:28 2011 +0300 + + Update THANKS. + +commit 0f7e2d36240ebf1159d5fb85d8cd7422337a0d3f +Author: Lasse Collin +Date: Tue May 17 12:21:33 2011 +0300 + + Update INSTALL with a note about linker problem on OpenSolaris x86. + +commit 793d857e01e1725f16fc0c8af8172c91a9e38617 +Author: Lasse Collin +Date: Tue May 17 12:01:37 2011 +0300 + + Build: Fix initialization of enable_check_* variables in configure.ac. + + This doesn't matter much in practice since it is unlikely + that anyone would have such environment variable names. + + Thanks to Wim Lewis. + +commit afcff45cee04c5c7d9c333504046ffb63d1418b5 +Author: Lasse Collin +Date: Tue May 17 11:54:38 2011 +0300 + + Add underscores to attributes (__attribute((__foo__))). + +commit 22159c6ba2300a006f2e46ce85ae132e2d2f7d57 +Author: Lasse Collin +Date: Mon Apr 18 19:35:49 2011 +0300 + + Update THANKS. + +commit 5e3499059515033d1ce44b6fb0fa49183c7ac633 +Author: Martin Väth +Date: Fri Apr 15 04:54:49 2011 -0400 + + xzgrep: fix typo in $0 parsing + + Reported-by: Diego Elio Pettenò + Signed-off-by: Martin Väth + Signed-off-by: Mike Frysinger + +commit 1125611b9b8d4a209b6a73d2c76e1b39c065972a +Author: Lasse Collin +Date: Tue Apr 12 11:59:49 2011 +0300 + + Remove doubled words from documentation and comments. + + Spot candidates by running these commands: + git ls-files |xargs perl -0777 -n \ + -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \ + -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}' + + Thanks to Jim Meyering for the original patch. + +commit 3f8fa53837bae8b44f3addf19923e26401336c3d +Author: Lasse Collin +Date: Mon Apr 11 21:04:13 2011 +0300 + + liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too. + +commit 320d734c20d0776e3eb80f6b5984ddeb494715b5 +Author: Lasse Collin +Date: Mon Apr 11 20:59:07 2011 +0300 + + liblzma: Document lzma_raw_(enc|dec)oder_memusage() better. + + It didn't mention the return value that is used if + an error occurs. + +commit 2ee4edeffc8d9734bf68230df31b20ac6a94c9b5 +Author: Lasse Collin +Date: Mon Apr 11 13:59:50 2011 +0300 + + liblzma: Don't create an empty Block in lzma_stream_buffer_encode(). + + Empty Block was created if the input buffer was empty. + Empty Block wastes a few bytes of space, but more importantly + it triggers a bug in XZ Utils 5.0.1 and older when trying + to decompress such a file. 5.0.1 and older consider such + files to be corrupt. I thought that no encoder creates empty + Blocks when releasing 5.0.2 but I was wrong. + +commit 73f56fb87d54091d0c4fd22d70e6f042902e3b63 +Author: Lasse Collin +Date: Mon Apr 11 13:28:40 2011 +0300 + + liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK. + + This return value was missing from the API comments of + four functions. + +commit 4ce1cf97a88ae1640a380dd19cbc255d729f966b +Author: Lasse Collin +Date: Mon Apr 11 13:21:28 2011 +0300 + + liblzma: Validate encoder arguments better. + + The biggest problem was that the integrity check type + wasn't validated, and e.g. lzma_easy_buffer_encode() + would create a corrupt .xz Stream if given an unsupported + Check ID. Luckily applications don't usually try to use + an unsupport Check ID, so this bug is unlikely to cause + many real-world problems. + +commit 972f05d7a4268dbe42573701f83faa45d03249eb +Author: Lasse Collin +Date: Sat Apr 9 18:29:30 2011 +0300 + + Update THANKS. + +commit 28154eeaf6e3442cd1e174f4e81266d60c4dac60 +Author: Lasse Collin +Date: Sat Apr 9 18:28:58 2011 +0300 + + liblzma: Add missing #ifdefs to filter_common.c. + + Passing --disable-decoders to configure broke a few + encoders due to missing #ifdefs in filter_common.c. + + Thanks to Jason Gorski for the patch. + +commit aa95516d3d509c6b7895ee519004afcf500a0759 +Author: Lasse Collin +Date: Sat Apr 2 14:49:56 2011 +0300 + + liblzma: Fix a memory leak in stream_encoder.c. + + It leaks old filter options structures (hundred bytes or so) + every time the lzma_stream is reinitialized. With the xz tool, + this happens when compressing multiple files. + +commit 58f52c72f49562a08042da9a2f4bbdf4dd162d0c +Author: Lasse Collin +Date: Fri Apr 1 08:47:46 2011 +0300 + + Bumped version and liblzma soname to 5.0.2. + +commit 162779682e01d15f0ce386ef7f40d1be05ad0053 +Author: Lasse Collin +Date: Fri Apr 1 08:47:20 2011 +0300 + + Updated NEWS for 5.0.2. + +commit 45553f9b4b0175c292023010dc41520347004852 +Author: Lasse Collin +Date: Thu Mar 31 15:06:58 2011 +0300 + + Update INSTALL with another note about IRIX. + +commit af9d48d5515eadef689b1ce9ffb91e4dbcbc7f35 +Author: Lasse Collin +Date: Thu Mar 31 12:22:55 2011 +0300 + + Tests: Add a new file to test empty LZMA2 streams. + +commit d099ef9f517b59ab8e3b6f6aa0543c3643983470 +Author: Lasse Collin +Date: Thu Mar 31 11:54:48 2011 +0300 + + liblzma: Fix decoding of LZMA2 streams having no uncompressed data. + + The decoder considered empty LZMA2 streams to be corrupt. + This shouldn't matter much with .xz files, because no encoder + creates empty LZMA2 streams in .xz. This bug is more likely + to cause problems in applications that use raw LZMA2 streams. + +commit df87249b26e79a75fd91041e85512944fc247b57 +Author: Lasse Collin +Date: Thu Mar 24 01:42:49 2011 +0200 + + Scripts: Better fix for xzgrep. + + Now it uses "grep -q". + + Thanks to Gregory Margo. + +commit 68c453e1c7b09dc9c7d2ef9d994c46f5b367f5d3 +Author: Lasse Collin +Date: Thu Mar 24 01:22:18 2011 +0200 + + Updated THANKS. + +commit b441d39855516ae618faffd5156261b8b413394f +Author: Lasse Collin +Date: Thu Mar 24 01:21:32 2011 +0200 + + Scripts: Fix xzgrep -l. + + It didn't work at all. It tried to use the -q option + for grep, but it appended it after "--". This works + around it by redirecting to /dev/null. The downside + is that this can be slower with big files compared + to proper use of "grep -q". + + Thanks to Gregory Margo. + +commit 82d5164839517f55daeadd9ee88c76425db30224 +Author: Lasse Collin +Date: Fri Feb 4 22:49:31 2011 +0200 + + xz: Clean up suffix.c. + + struct suffix_pair isn't needed in compresed_name() + so get rid of it there. + +commit 6decc8b41882c2250f0450eb87b83c9fbf495e95 +Author: Lasse Collin +Date: Fri Feb 4 11:29:47 2011 +0200 + + xz: Check if the file already has custom suffix when compressing. + + Now "xz -S .test foo.test" refuses to compress the + file because it already has the suffix .test. The man + page had it documented this way already. + +commit ecda90061df8d39399e707e5c76c2ec0a0f400e5 +Author: Lasse Collin +Date: Wed Feb 2 23:01:51 2011 +0200 + + Updated THANKS. + +commit 0fda1ae5b1aa0a5c629a09e5228db8ba1cd0dd5f +Author: Lasse Collin +Date: Wed Feb 2 23:00:33 2011 +0200 + + Translations: Add Polish translation. + + Thanks to Jakub Bogusz. + +commit 00be32978fedc5038748438bf685ac1713d1db83 +Author: Lasse Collin +Date: Wed Feb 2 22:24:00 2011 +0200 + + Updated THANKS. + commit 7232fcf96bf4bd5f9cd4fc6c93ca2912c665e004 Author: Lasse Collin Date: Fri Jan 28 20:26:38 2011 +0200 Modified: vendor/xz/dist/THANKS ============================================================================== --- vendor/xz/dist/THANKS Mon Jul 11 12:51:35 2011 (r223933) +++ vendor/xz/dist/THANKS Mon Jul 11 13:10:34 2011 (r223934) @@ -10,6 +10,9 @@ has been important. :-) In alphabetical - Karl Berry - Anders F. Björklund - Emmanuel Blot + - Martin Blumenstingl + - Jakub Bogusz + - Maarten Bosmans - Trent W. Buck - David Burklund - Daniel Mealha Cabrita @@ -22,6 +25,7 @@ has been important. :-) In alphabetical - Gilles Espinasse - Denis Excoffier - Mike Frysinger + - Jason Gorski - Juan Manuel Guerrero - Joachim Henke - Peter Ivanov @@ -34,7 +38,9 @@ has been important. :-) In alphabetical - Peter Lawler - Hin-Tak Leung - Andraž 'ruskie' Levstik + - Wim Lewis - Lorenzo De Liso + - Gregory Margo - Jim Meyering - RafaÅ‚ MużyÅ‚o - Adrien Nader @@ -43,6 +49,7 @@ has been important. :-) In alphabetical - Andre Noll - Peter O'Gorman - Igor Pavlov + - Diego Elio Pettenò - Elbert Pol - Mikko Pouru - Robert Readman @@ -55,10 +62,12 @@ has been important. :-) In alphabetical - Dan Shechter - Stuart Shelton - Jonathan Stott + - Dan Stromberg - Paul Townsend - Mohammed Adnène Trojette - Alexey Tourbin - Patrick J. Volkerding + - Martin Väth - Christian Weisgerber - Bert Wesarg - Ralf Wildenhues Modified: vendor/xz/dist/po/LINGUAS ============================================================================== --- vendor/xz/dist/po/LINGUAS Mon Jul 11 12:51:35 2011 (r223933) +++ vendor/xz/dist/po/LINGUAS Mon Jul 11 13:10:34 2011 (r223934) @@ -1,3 +1,5 @@ cs de +fr it +pl Added: vendor/xz/dist/po/fr.po ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/xz/dist/po/fr.po Mon Jul 11 13:10:34 2011 (r223934) @@ -0,0 +1,864 @@ +# XZ Utils French Translation +# This file is put in the public domain. +# Adrien Nader , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: xz-utils\n" +"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" +"POT-Creation-Date: 2011-05-21 14:35+0200\n" +"PO-Revision-Date: 2010-09-24 21;12+0200\n" +"Last-Translator: Adrien Nader \n" +"Language-Team: None\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" + +#: src/xz/args.c:338 +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s : Format de fichier inconnu" + +#: src/xz/args.c:361 src/xz/args.c:369 +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s : Type de vérification d'intégrité inconnu" + +#: src/xz/args.c:396 +msgid "Only one file can be specified with `--files' or `--files0'." +msgstr "Un seul fichier peut être spécifié avec `--files' ou `--files0'." + +#: src/xz/args.c:459 +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variable d'environnement %s contient trop d'arguments" + +#: src/xz/coder.c:105 +msgid "Maximum number of filters is four" +msgstr "Le nombre maximal de filtres est quatre" + +#: src/xz/coder.c:118 +msgid "Memory usage limit is too low for the given filter setup." +msgstr "La limite d'utilisation mémoire est trop basse pour la configuration de filtres donnée." + +#: src/xz/coder.c:148 +msgid "Using a preset in raw mode is discouraged." +msgstr "Utiliser un préréglage en mode `raw' est déconseillé." + +#: src/xz/coder.c:150 +msgid "The exact options of the presets may vary between software versions." +msgstr "Le détail des préréglages peut varier entre différentes versions du logiciel." + +#: src/xz/coder.c:176 +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Le format .lzma ne prend en charge que le filtre LZMA1" + +#: src/xz/coder.c:184 +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz" + +#: src/xz/coder.c:203 +#, c-format +msgid "Using up to % threads." +msgstr "Jusqu'à % threads seront utilisés." + +#: src/xz/coder.c:216 +msgid "Unsupported filter chain or filter options" +msgstr "Enchaînement ou options de filtres non pris en charge" + +#: src/xz/coder.c:224 +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La décompression nécessitera %s MiB de mémoire." + +#: src/xz/coder.c:259 +#, c-format +msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#: src/xz/coder.c:313 +#, c-format +msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#. TRANSLATORS: When compression or decompression finishes, +#. and xz is going to remove the source file, xz first checks +#. if the source file still exists, and if it does, does its +#. device and inode numbers match what xz saw when it opened +#. the source file. If these checks fail, this message is +#. shown, %s being the filename, and the file is not deleted. +#. The check for device and inode numbers is there, because +#. it is possible that the user has put a new file in place +#. of the original file, and in that case it obviously +#. shouldn't be removed. +#: src/xz/file_io.c:136 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s : Le fichier a apparemment été déplacé, suppression annulée" + +#: src/xz/file_io.c:143 src/xz/file_io.c:635 +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s : Impossible de supprimer : %s" + +#: src/xz/file_io.c:168 +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s : Impossible de modifier le propriétaire du fichier : %s" + +#: src/xz/file_io.c:174 +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s : Impossible de modifier le groupe propriétaire du fichier : %s" + +#: src/xz/file_io.c:193 +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s : Impossible de modifier les permissions du fichier : %s" + +#: src/xz/file_io.c:340 src/xz/file_io.c:423 +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s est un lien symbolique : ignoré" + +#: src/xz/file_io.c:468 +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s est un répertoire : ignoré" + +#: src/xz/file_io.c:474 +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s n'est pas un fichier régulier : ignoré" + +#: src/xz/file_io.c:491 +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s : Le fichier possède les bits `setuid' ou `setgid' : ignoré" + +#: src/xz/file_io.c:498 +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s : Le fichier possède le bit `sticky' : ignoré" + +#: src/xz/file_io.c:505 +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s : Le fichier d'entrée a plus d'un lien matériel : ignoré" + +#: src/xz/file_io.c:761 +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Impossible de rétablir le drapeau O_APPEND sur la sortie standard : %s" + +#: src/xz/file_io.c:773 +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +#: src/xz/file_io.c:809 src/xz/file_io.c:1008 +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier pour créer un 'sparse file' : %s" + +#: src/xz/file_io.c:883 +#, c-format +msgid "%s: Read error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/file_io.c:906 +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier : %s" + +#: src/xz/file_io.c:916 +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s : Fin de fichier inattendue" + +#: src/xz/file_io.c:966 +#, c-format +msgid "%s: Write error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/hardware.c:101 +msgid "Disabled" +msgstr "Désactivé" + +#. TRANSLATORS: Test with "xz --info-memory" to see if +#. the alignment looks nice. +#: src/xz/hardware.c:120 +msgid "Total amount of physical memory (RAM): " +msgstr "Quantité totale de mémoire physique (RAM) : " + +#: src/xz/hardware.c:122 +msgid "Memory usage limit for compression: " +msgstr "Limite d'utilisation pour la compression : " + +#: src/xz/hardware.c:124 +msgid "Memory usage limit for decompression: " +msgstr "Limite d'utilisation pour la décompression : " + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables, so the width must not +#. exceed ten columns with a fixed-width font. +#: src/xz/list.c:62 +msgid "None" +msgstr "Aucune" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). This and other "Unknown-N" +#. strings are used in tables, so the width must not exceed ten +#. columns with a fixed-width font. It's OK to omit the dash if +#. you need space for one extra letter, but don't use spaces. +#: src/xz/list.c:69 +msgid "Unknown-2" +msgstr "Inconnue-2" + +#: src/xz/list.c:70 +msgid "Unknown-3" +msgstr "Inconnue-3" + +#: src/xz/list.c:72 +msgid "Unknown-5" +msgstr "Inconnue-5" + +#: src/xz/list.c:73 +msgid "Unknown-6" +msgstr "Inconnue-6" + +#: src/xz/list.c:74 +msgid "Unknown-7" +msgstr "Inconnue-7" + +#: src/xz/list.c:75 +msgid "Unknown-8" +msgstr "Inconnue-8" + +#: src/xz/list.c:76 +msgid "Unknown-9" +msgstr "Inconnue-9" + +#: src/xz/list.c:78 +msgid "Unknown-11" +msgstr "Inconnue-11" + +#: src/xz/list.c:79 +msgid "Unknown-12" +msgstr "Inconnue-12" + +#: src/xz/list.c:80 +msgid "Unknown-13" +msgstr "Inconnue-13" + +#: src/xz/list.c:81 +msgid "Unknown-14" +msgstr "Inconnue-14" + +#: src/xz/list.c:82 +msgid "Unknown-15" +msgstr "Inconnue-15" + +#: src/xz/list.c:126 +#, c-format +msgid "%s: File is empty" +msgstr "%s : Le fichier est vide" + +#: src/xz/list.c:131 +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s : Trop petit pour être un fichier xz valide." + +#. TRANSLATORS: These are column headings. From Strms (Streams) +#. to Ratio, the columns are right aligned. Check and Filename +#. are left aligned. If you need longer words, it's OK to +#. use two lines here. Test with "xz -l foo.xz". +#: src/xz/list.c:612 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Flux Blocs Compressé Décompressé Ratio Vérif Nom de fichier" + +#: src/xz/list.c:652 +#, c-format +msgid " Streams: %s\n" +msgstr " Flux : %s\n" + +#: src/xz/list.c:654 +#, c-format +msgid " Blocks: %s\n" +msgstr " Blocs : %s\n" + +#: src/xz/list.c:656 +#, c-format +msgid " Compressed size: %s\n" +msgstr " Taille compressé : %s\n" + +#: src/xz/list.c:659 +#, c-format +msgid " Uncompressed size: %s\n" +msgstr " Taille décompressé : %s\n" + +#: src/xz/list.c:662 +#, c-format +msgid " Ratio: %s\n" +msgstr " Ratio : %s\n" + +#: src/xz/list.c:664 +#, c-format +msgid " Check: %s\n" +msgstr " Vérification : %s\n" + +#: src/xz/list.c:665 +#, c-format +msgid " Stream padding: %s\n" +msgstr " Octets de rembourrage du flux : %s\n" + +#. TRANSLATORS: The second line is column headings. All except +#. Check are right aligned; Check is left aligned. Test with +#. "xz -lv foo.xz". +#: src/xz/list.c:693 +msgid "" +" Streams:\n" +" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +msgstr "" +" Flux :\n" +" Flux Blocs PositionComp PositionDécomp TailleComp TailleDécomp Ratio Vérif. Bourrage" + +#. TRANSLATORS: The second line is column headings. All +#. except Check are right aligned; Check is left aligned. +#: src/xz/list.c:748 +#, c-format +msgid "" +" Blocks:\n" +" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +msgstr "" +" Blocs :\n" +" Flux Bloc PositionComp PositionDécomp TailleTot TailleDécomp Ratio Vérif." + +#. TRANSLATORS: These are additional column headings +#. for the most verbose listing mode. CheckVal +#. (Check value), Flags, and Filters are left aligned. +#. Header (Block Header Size), CompSize, and MemUsage +#. are right aligned. %*s is replaced with 0-120 +#. spaces to make the CheckVal column wide enough. +#. Test with "xz -lvv foo.xz". +#: src/xz/list.c:760 +#, c-format +msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +msgstr " ValVérif %*sEn-tête Drapeaux TailleComp UtilMém Filtres" + +#: src/xz/list.c:838 src/xz/list.c:1007 +#, c-format +msgid " Memory needed: %s MiB\n" +msgstr " Mémoire nécessaire : %s MiB\n" + +#: src/xz/list.c:840 src/xz/list.c:1009 +#, c-format +msgid " Sizes in headers: %s\n" +msgstr " Tailles stockées dans l'en-tête : %s\n" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "Yes" +msgstr "Oui" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "No" +msgstr "Non" + +#. TRANSLATORS: %s is an integer. Only the plural form of this +#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". +#: src/xz/list.c:986 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fichier\n" +msgstr[1] "%s fichiers\n" + +#: src/xz/list.c:999 +msgid "Totals:" +msgstr "Totaux :" + +#: src/xz/list.c:1000 +#, c-format +msgid " Number of files: %s\n" +msgstr " Nombre de fichiers : %s\n" + +#: src/xz/list.c:1072 +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list ne marche que sur les fichiers .xz (--format=xz ou --format=auto)" + +#: src/xz/list.c:1078 +msgid "--list does not support reading from standard input" +msgstr "--list est incompatible avec la lecture sur l'entrée standard" + +#: src/xz/main.c:89 +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s : Erreur lors de la lecture des noms de fichiers : %s" + +#: src/xz/main.c:96 +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s : Fin des données inattendue lors de la lecture des noms de fichiers" + +#: src/xz/main.c:120 +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" +msgstr "%s : Caractère NULL détecté lors de la lecture des noms de fichiers ; peut-être pensiez-vous à `--files0' plutot qu'a `--files' ?" + +#: src/xz/main.c:174 +msgid "Compression and decompression with --robot are not supported yet." +msgstr "La compression et la décompression ne marchent pas encore avec --robot." + +#: src/xz/main.c:231 +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Impossible de lire à la fois les données et les noms de fichiers depuis l'entrée standard" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "%s : " + +#: src/xz/message.c:796 src/xz/message.c:846 +msgid "Internal error (bug)" +msgstr "Erreur interne (bug)" + +#: src/xz/message.c:803 +msgid "Cannot establish signal handlers" +msgstr "Impossible d'installer le gestionnaire de signaux" + +#: src/xz/message.c:812 +msgid "No integrity check; not verifying file integrity" +msgstr "Pas de données de vérification d'intégrité ; vérification non effectuée" + +#: src/xz/message.c:815 +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Méthode de vérification d'intégrité non prise en charge ; vérification non effectuée" + +#: src/xz/message.c:822 +msgid "Memory usage limit reached" +msgstr "Limite d'utilisation mémoire atteinte" + +#: src/xz/message.c:825 +msgid "File format not recognized" +msgstr "Format de fichier inconnu" + +#: src/xz/message.c:828 +msgid "Unsupported options" +msgstr "Options non prises en charge" + +#: src/xz/message.c:831 +msgid "Compressed data is corrupt" +msgstr "Les données compressées sont corrompues" + +#: src/xz/message.c:834 +msgid "Unexpected end of input" +msgstr "Fin des données inattendue " + +#: src/xz/message.c:885 +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB de mémoire sont nécessaires, la limite étant %s." + +#: src/xz/message.c:1052 +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s : Enchaînement de filtres : %s\n" + +#: src/xz/message.c:1062 +#, c-format +msgid "Try `%s --help' for more information." +msgstr "Utilisez `%s --help' pour plus d'informations." + +#: src/xz/message.c:1088 +#, c-format +msgid "" +"Usage: %s [OPTION]... [FILE]...\n" +"Compress or decompress FILEs in the .xz format.\n" +"\n" +msgstr "" +"Utilisation : %s [OPTION]... [FICHIER]...\n" +"Compresse ou decompresse FICHIER(s) au format .xz.\n" +"\n" + +#: src/xz/message.c:1095 +msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Les arguments obligatoires pour les options longues le sont aussi pour les\n" +"options courtes.\n" + +#: src/xz/message.c:1099 +msgid " Operation mode:\n" +msgstr " Mode d'opération :\n" + +#: src/xz/message.c:1102 +msgid "" +" -z, --compress force compression\n" +" -d, --decompress force decompression\n" +" -t, --test test compressed file integrity\n" +" -l, --list list information about .xz files" +msgstr "" +" -z, --compress forcer la compression\n" +" -d, --decompress forcer la décompression\n" +" -t, --test tester l'intégrité du fichier compressé\n" +" -l, --list lister les informations à propos des fichiers .xz" + +#: src/xz/message.c:1108 +msgid "" +"\n" +" Operation modifiers:\n" +msgstr "" +"\n" +" Modifictauers :\n" + +#: src/xz/message.c:1111 +msgid "" +" -k, --keep keep (don't delete) input files\n" +" -f, --force force overwrite of output file and (de)compress links\n" +" -c, --stdout write to standard output and don't delete input files" +msgstr "" +" -k, --keep ne pas supprimer les fichiers d'entrée (\"keep\")\n" +" -f, --force forcer l'écrasement du fichier de sortie et\n" +" (dé)compresser les liens\n" +" -c, --stdout écrire sur la sortie standard et ne pas supprimer les\n" +" fichiers d'entrée" + +#: src/xz/message.c:1117 +msgid "" +" --single-stream decompress only the first stream, and silently\n" +" ignore possible remaining input data" +msgstr "" +" --single-stream décompresser uniquement le premier flux et ignorer\n" +" silenciseusement les données éventuellement restantes" + +#: src/xz/message.c:1120 +msgid "" +" --no-sparse do not create sparse files when decompressing\n" +" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" +" --files[=FILE] read filenames to process from FILE; if FILE is\n" +" omitted, filenames are read from the standard input;\n" +" filenames must be terminated with the newline character\n" +" --files0[=FILE] like --files but use the null character as terminator" +msgstr "" +" --no-sparse ne pas créer de 'sparse file' lors de la décompression\n" +" -S, --suffix=.SUF utiliser le suffixe `.SUF' pour les fichiers compressés\n" +" --files[=FILE] lire les fichiers sur lesquels opérer depuis FILE ; si\n" +" FILE est omis, ceux-ci sont lus depuis l'entrée standard\n" +" et doivent être suivis d'un caractère de retour à la ligne\n" +" --files0[=FILE] comme --files mais avec un caractère null comme séparateur" + +#: src/xz/message.c:1129 +msgid "" +"\n" +" Basic file format and compression options:\n" +msgstr "" +"\n" +" Options basiques de format de fichier et de compression :\n" + +#: src/xz/message.c:1131 +msgid "" +" -F, --format=FMT file format to encode or decode; possible values are\n" +" `auto' (default), `xz', `lzma', and `raw'\n" +" -C, --check=CHECK integrity check type: `none' (use with caution),\n" +" `crc32', `crc64' (default), or `sha256'" +msgstr "" +" -F, --format=FMT format de fichier à encoder ou décoder ; les possibilités\n" +" sont : `auto' (par défaut), `xz', `lzma' et `raw'\n" +" -C, --check=CHECK type de vérification d'intégrité : `none' (à utiliser avec\n" +" précaution), `crc32', `crc64' (par défaut) ou `sha256'" + +#: src/xz/message.c:1138 +msgid "" +" -0 ... -9 compression preset; default is 6; take compressor *and*\n" +" decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 préréglage de compression ; 6 par défaut ; pensez à\n" +" l'utilisation mémoire du compresseur *et* du décompresseur\n" +" avant d'utiliser 7, 8 ou 9 !" + +#: src/xz/message.c:1142 +msgid "" +" -e, --extreme try to improve compression ratio by using more CPU time;\n" +" does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme essayer d'améliorer la compression en utilisant davantage\n" +" de temps processeur sans affecter les besoins mémoire du\n" +" décompresseur" + +#: src/xz/message.c:1147 +msgid "" +" --block-size=SIZE\n" +" when compressing to the .xz format, start a new block\n" +" after every SIZE bytes of input; 0=disabled (default)" +msgstr "" +" --block-size=SIZE\n" +" pour une compression au format .xz, entamer un nouveau\n" +" bloc après SIZE octets d'entrée ; 0=désactivé (par défaut)" + +#: src/xz/message.c:1151 +#, no-c-format +msgid "" +" --memlimit-compress=LIMIT\n" +" --memlimit-decompress=LIMIT\n" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 14:15:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC9CE1065680; Mon, 11 Jul 2011 14:15:27 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A982B8FC26; Mon, 11 Jul 2011 14:15:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BEFRV2096907; Mon, 11 Jul 2011 14:15:27 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BEFRXI096899; Mon, 11 Jul 2011 14:15:27 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201107111415.p6BEFRXI096899@svn.freebsd.org> From: Martin Matuska Date: Mon, 11 Jul 2011 14:15:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223935 - in head: contrib/xz contrib/xz/po contrib/xz/src/common contrib/xz/src/liblzma/api/lzma contrib/xz/src/liblzma/common contrib/xz/src/liblzma/delta contrib/xz/src/liblzma/lz co... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 14:15:27 -0000 Author: mm Date: Mon Jul 11 14:15:27 2011 New Revision: 223935 URL: http://svn.freebsd.org/changeset/base/223935 Log: Update xz to git snapshot of v5.0 branch as of 20110711 (post-5.0.3) For architectures with __NO_STRICT_ALIGNMENT define TUKLIB_FAST_UNALIGNED_ACCESS MFC after: 2 weeks Added: head/contrib/xz/po/fr.po - copied unchanged from r223934, vendor/xz/dist/po/fr.po head/contrib/xz/po/pl.po - copied unchanged from r223934, vendor/xz/dist/po/pl.po Modified: head/contrib/xz/ChangeLog head/contrib/xz/FREEBSD-Xlist head/contrib/xz/FREEBSD-upgrade head/contrib/xz/THANKS head/contrib/xz/po/LINGUAS head/contrib/xz/po/it.po head/contrib/xz/src/common/tuklib_open_stdxxx.c head/contrib/xz/src/liblzma/api/lzma/block.h head/contrib/xz/src/liblzma/api/lzma/container.h head/contrib/xz/src/liblzma/api/lzma/filter.h head/contrib/xz/src/liblzma/api/lzma/version.h head/contrib/xz/src/liblzma/common/alone_decoder.c head/contrib/xz/src/liblzma/common/alone_encoder.c head/contrib/xz/src/liblzma/common/block_buffer_encoder.c head/contrib/xz/src/liblzma/common/block_encoder.c head/contrib/xz/src/liblzma/common/common.c head/contrib/xz/src/liblzma/common/common.h head/contrib/xz/src/liblzma/common/filter_common.c head/contrib/xz/src/liblzma/common/index.c head/contrib/xz/src/liblzma/common/index_decoder.c head/contrib/xz/src/liblzma/common/index_encoder.c head/contrib/xz/src/liblzma/common/stream_buffer_encoder.c head/contrib/xz/src/liblzma/common/stream_encoder.c head/contrib/xz/src/liblzma/delta/delta_encoder.c head/contrib/xz/src/liblzma/lz/lz_decoder.c head/contrib/xz/src/liblzma/lz/lz_encoder.c head/contrib/xz/src/liblzma/lz/lz_encoder_hash.h head/contrib/xz/src/liblzma/lzma/lzma2_decoder.c head/contrib/xz/src/liblzma/lzma/lzma2_encoder.c head/contrib/xz/src/liblzma/simple/arm.c head/contrib/xz/src/liblzma/simple/armthumb.c head/contrib/xz/src/liblzma/simple/ia64.c head/contrib/xz/src/liblzma/simple/powerpc.c head/contrib/xz/src/liblzma/simple/simple_coder.c head/contrib/xz/src/liblzma/simple/sparc.c head/contrib/xz/src/lzmainfo/lzmainfo.c head/contrib/xz/src/xz/coder.c head/contrib/xz/src/xz/file_io.c head/contrib/xz/src/xz/hardware.h head/contrib/xz/src/xz/list.c head/contrib/xz/src/xz/message.c head/contrib/xz/src/xz/message.h head/contrib/xz/src/xz/options.c head/contrib/xz/src/xz/signals.c head/contrib/xz/src/xz/suffix.c head/contrib/xz/src/xz/util.h head/contrib/xz/src/xz/xz.1 head/contrib/xz/src/xzdec/xzdec.c head/lib/liblzma/config.h Directory Properties: head/contrib/xz/ (props changed) Modified: head/contrib/xz/ChangeLog ============================================================================== --- head/contrib/xz/ChangeLog Mon Jul 11 13:10:34 2011 (r223934) +++ head/contrib/xz/ChangeLog Mon Jul 11 14:15:27 2011 (r223935) @@ -1,3 +1,328 @@ +commit edf339227a966f24aebe1845fcca9429b8f6e318 +Author: Anders F Bjorklund +Date: Fri Nov 5 12:56:11 2010 +0100 + + add build script for macosx universal + +commit 7fcc6334ea8923550ba6b5347ff99dc8432234b0 +Author: Lasse Collin +Date: Thu Jun 16 12:15:29 2011 +0300 + + liblzma: Remove unneeded semicolon. + +commit 631f4d3ae6adfda84d1a110781d9402c12e16cfc +Author: Lasse Collin +Date: Sat May 28 16:43:26 2011 +0300 + + Don't call close(-1) in tuklib_open_stdxxx() on error. + + Thanks to Jim Meyering. + +commit c89faf4c9e5970e7f7f8a25521ed9aa62d1a2d9a +Author: Lasse Collin +Date: Sat May 28 09:47:56 2011 +0300 + + Translations: Update Italian translation. + + Thanks to Milo Casagrande. + +commit 6fe2fc9b6ab5bf6848140823e9536370834f42fb +Author: Lasse Collin +Date: Sat May 28 08:46:04 2011 +0300 + + Tests: Add a test file for the bug in the previous commit. + +commit 6c4d4db2bc8d8b682bd927144d37daa2ab21a6d6 +Author: Lasse Collin +Date: Fri May 27 22:25:44 2011 +0300 + + xz: Fix error handling in xz -lvv. + + It could do an invalid free() and read past the end + of the uninitialized filters array. + +commit 844f84fcad9670c543550edf7c7e42630c8f7715 +Author: Lasse Collin +Date: Fri May 27 22:09:49 2011 +0300 + + liblzma: Handle allocation failures correctly in lzma_index_init(). + + Thanks to Jim Meyering. + +commit 240e8b9791df597063a3b68d04ffcb3aa4f2de6a +Author: Lasse Collin +Date: Mon May 23 18:30:30 2011 +0300 + + Build: Set GZIP_ENV=-9n in top-level Makefile.am. + +commit e32cb264ea72a4459810f30abad70dae5a4fa17d +Author: Lasse Collin +Date: Sat May 21 16:59:22 2011 +0300 + + Bump version and soname for 5.0.3. + +commit 65cff45f8fd1c250491557157cce0f5f38481082 +Author: Lasse Collin +Date: Sat May 21 16:56:53 2011 +0300 + + Update NEWS for 5.0.3. + +commit 316c67ffdae1f811ac95e838d5290a013bff4ca7 +Author: Lasse Collin +Date: Sat May 21 16:28:44 2011 +0300 + + Add French translation. + + It is known that the BCJ filter --help text is only + partially translated. + +commit 1931175eea6d09c0845d6e8e334a7333647f11c0 +Author: Lasse Collin +Date: Sat May 21 15:12:10 2011 +0300 + + xz: Translate also the string used to print the program name. + + French needs a space before a colon, e.g. "xz : foo error". + +commit 841dc1f891b48b23f84c0f0e0c86c7c4e4bdcdf5 +Author: Lasse Collin +Date: Tue May 17 12:26:28 2011 +0300 + + Update THANKS. + +commit 0f7e2d36240ebf1159d5fb85d8cd7422337a0d3f +Author: Lasse Collin +Date: Tue May 17 12:21:33 2011 +0300 + + Update INSTALL with a note about linker problem on OpenSolaris x86. + +commit 793d857e01e1725f16fc0c8af8172c91a9e38617 +Author: Lasse Collin +Date: Tue May 17 12:01:37 2011 +0300 + + Build: Fix initialization of enable_check_* variables in configure.ac. + + This doesn't matter much in practice since it is unlikely + that anyone would have such environment variable names. + + Thanks to Wim Lewis. + +commit afcff45cee04c5c7d9c333504046ffb63d1418b5 +Author: Lasse Collin +Date: Tue May 17 11:54:38 2011 +0300 + + Add underscores to attributes (__attribute((__foo__))). + +commit 22159c6ba2300a006f2e46ce85ae132e2d2f7d57 +Author: Lasse Collin +Date: Mon Apr 18 19:35:49 2011 +0300 + + Update THANKS. + +commit 5e3499059515033d1ce44b6fb0fa49183c7ac633 +Author: Martin Väth +Date: Fri Apr 15 04:54:49 2011 -0400 + + xzgrep: fix typo in $0 parsing + + Reported-by: Diego Elio Pettenò + Signed-off-by: Martin Väth + Signed-off-by: Mike Frysinger + +commit 1125611b9b8d4a209b6a73d2c76e1b39c065972a +Author: Lasse Collin +Date: Tue Apr 12 11:59:49 2011 +0300 + + Remove doubled words from documentation and comments. + + Spot candidates by running these commands: + git ls-files |xargs perl -0777 -n \ + -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \ + -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}' + + Thanks to Jim Meyering for the original patch. + +commit 3f8fa53837bae8b44f3addf19923e26401336c3d +Author: Lasse Collin +Date: Mon Apr 11 21:04:13 2011 +0300 + + liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too. + +commit 320d734c20d0776e3eb80f6b5984ddeb494715b5 +Author: Lasse Collin +Date: Mon Apr 11 20:59:07 2011 +0300 + + liblzma: Document lzma_raw_(enc|dec)oder_memusage() better. + + It didn't mention the return value that is used if + an error occurs. + +commit 2ee4edeffc8d9734bf68230df31b20ac6a94c9b5 +Author: Lasse Collin +Date: Mon Apr 11 13:59:50 2011 +0300 + + liblzma: Don't create an empty Block in lzma_stream_buffer_encode(). + + Empty Block was created if the input buffer was empty. + Empty Block wastes a few bytes of space, but more importantly + it triggers a bug in XZ Utils 5.0.1 and older when trying + to decompress such a file. 5.0.1 and older consider such + files to be corrupt. I thought that no encoder creates empty + Blocks when releasing 5.0.2 but I was wrong. + +commit 73f56fb87d54091d0c4fd22d70e6f042902e3b63 +Author: Lasse Collin +Date: Mon Apr 11 13:28:40 2011 +0300 + + liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK. + + This return value was missing from the API comments of + four functions. + +commit 4ce1cf97a88ae1640a380dd19cbc255d729f966b +Author: Lasse Collin +Date: Mon Apr 11 13:21:28 2011 +0300 + + liblzma: Validate encoder arguments better. + + The biggest problem was that the integrity check type + wasn't validated, and e.g. lzma_easy_buffer_encode() + would create a corrupt .xz Stream if given an unsupported + Check ID. Luckily applications don't usually try to use + an unsupport Check ID, so this bug is unlikely to cause + many real-world problems. + +commit 972f05d7a4268dbe42573701f83faa45d03249eb +Author: Lasse Collin +Date: Sat Apr 9 18:29:30 2011 +0300 + + Update THANKS. + +commit 28154eeaf6e3442cd1e174f4e81266d60c4dac60 +Author: Lasse Collin +Date: Sat Apr 9 18:28:58 2011 +0300 + + liblzma: Add missing #ifdefs to filter_common.c. + + Passing --disable-decoders to configure broke a few + encoders due to missing #ifdefs in filter_common.c. + + Thanks to Jason Gorski for the patch. + +commit aa95516d3d509c6b7895ee519004afcf500a0759 +Author: Lasse Collin +Date: Sat Apr 2 14:49:56 2011 +0300 + + liblzma: Fix a memory leak in stream_encoder.c. + + It leaks old filter options structures (hundred bytes or so) + every time the lzma_stream is reinitialized. With the xz tool, + this happens when compressing multiple files. + +commit 58f52c72f49562a08042da9a2f4bbdf4dd162d0c +Author: Lasse Collin +Date: Fri Apr 1 08:47:46 2011 +0300 + + Bumped version and liblzma soname to 5.0.2. + +commit 162779682e01d15f0ce386ef7f40d1be05ad0053 +Author: Lasse Collin +Date: Fri Apr 1 08:47:20 2011 +0300 + + Updated NEWS for 5.0.2. + +commit 45553f9b4b0175c292023010dc41520347004852 +Author: Lasse Collin +Date: Thu Mar 31 15:06:58 2011 +0300 + + Update INSTALL with another note about IRIX. + +commit af9d48d5515eadef689b1ce9ffb91e4dbcbc7f35 +Author: Lasse Collin +Date: Thu Mar 31 12:22:55 2011 +0300 + + Tests: Add a new file to test empty LZMA2 streams. + +commit d099ef9f517b59ab8e3b6f6aa0543c3643983470 +Author: Lasse Collin +Date: Thu Mar 31 11:54:48 2011 +0300 + + liblzma: Fix decoding of LZMA2 streams having no uncompressed data. + + The decoder considered empty LZMA2 streams to be corrupt. + This shouldn't matter much with .xz files, because no encoder + creates empty LZMA2 streams in .xz. This bug is more likely + to cause problems in applications that use raw LZMA2 streams. + +commit df87249b26e79a75fd91041e85512944fc247b57 +Author: Lasse Collin +Date: Thu Mar 24 01:42:49 2011 +0200 + + Scripts: Better fix for xzgrep. + + Now it uses "grep -q". + + Thanks to Gregory Margo. + +commit 68c453e1c7b09dc9c7d2ef9d994c46f5b367f5d3 +Author: Lasse Collin +Date: Thu Mar 24 01:22:18 2011 +0200 + + Updated THANKS. + +commit b441d39855516ae618faffd5156261b8b413394f +Author: Lasse Collin +Date: Thu Mar 24 01:21:32 2011 +0200 + + Scripts: Fix xzgrep -l. + + It didn't work at all. It tried to use the -q option + for grep, but it appended it after "--". This works + around it by redirecting to /dev/null. The downside + is that this can be slower with big files compared + to proper use of "grep -q". + + Thanks to Gregory Margo. + +commit 82d5164839517f55daeadd9ee88c76425db30224 +Author: Lasse Collin +Date: Fri Feb 4 22:49:31 2011 +0200 + + xz: Clean up suffix.c. + + struct suffix_pair isn't needed in compresed_name() + so get rid of it there. + +commit 6decc8b41882c2250f0450eb87b83c9fbf495e95 +Author: Lasse Collin +Date: Fri Feb 4 11:29:47 2011 +0200 + + xz: Check if the file already has custom suffix when compressing. + + Now "xz -S .test foo.test" refuses to compress the + file because it already has the suffix .test. The man + page had it documented this way already. + +commit ecda90061df8d39399e707e5c76c2ec0a0f400e5 +Author: Lasse Collin +Date: Wed Feb 2 23:01:51 2011 +0200 + + Updated THANKS. + +commit 0fda1ae5b1aa0a5c629a09e5228db8ba1cd0dd5f +Author: Lasse Collin +Date: Wed Feb 2 23:00:33 2011 +0200 + + Translations: Add Polish translation. + + Thanks to Jakub Bogusz. + +commit 00be32978fedc5038748438bf685ac1713d1db83 +Author: Lasse Collin +Date: Wed Feb 2 22:24:00 2011 +0200 + + Updated THANKS. + commit 7232fcf96bf4bd5f9cd4fc6c93ca2912c665e004 Author: Lasse Collin Date: Fri Jan 28 20:26:38 2011 +0200 Modified: head/contrib/xz/FREEBSD-Xlist ============================================================================== --- head/contrib/xz/FREEBSD-Xlist Mon Jul 11 13:10:34 2011 (r223934) +++ head/contrib/xz/FREEBSD-Xlist Mon Jul 11 14:15:27 2011 (r223935) @@ -28,6 +28,7 @@ dos/ extra/ lib/ m4/ +macosx/ makefile.am src/*/*.rc src/liblzma/liblzma.pc.in Modified: head/contrib/xz/FREEBSD-upgrade ============================================================================== --- head/contrib/xz/FREEBSD-upgrade Mon Jul 11 13:10:34 2011 (r223934) +++ head/contrib/xz/FREEBSD-upgrade Mon Jul 11 14:15:27 2011 (r223935) @@ -4,7 +4,7 @@ xz The source code is pulled with git: - git clone http://git.tukaani.org/xz.git xz + git clone --branch=v5.0 http://git.tukaani.org/xz.git xz ChangeLog is generated with: @@ -25,4 +25,4 @@ To make local changes to xz, simply patc branch (aka HEAD). Never make local changes on the vendor branch. mm@FreeBSD.org -10-May-2010 +11-July-2011 Modified: head/contrib/xz/THANKS ============================================================================== --- head/contrib/xz/THANKS Mon Jul 11 13:10:34 2011 (r223934) +++ head/contrib/xz/THANKS Mon Jul 11 14:15:27 2011 (r223935) @@ -10,6 +10,9 @@ has been important. :-) In alphabetical - Karl Berry - Anders F. Björklund - Emmanuel Blot + - Martin Blumenstingl + - Jakub Bogusz + - Maarten Bosmans - Trent W. Buck - David Burklund - Daniel Mealha Cabrita @@ -22,6 +25,7 @@ has been important. :-) In alphabetical - Gilles Espinasse - Denis Excoffier - Mike Frysinger + - Jason Gorski - Juan Manuel Guerrero - Joachim Henke - Peter Ivanov @@ -34,7 +38,9 @@ has been important. :-) In alphabetical - Peter Lawler - Hin-Tak Leung - Andraž 'ruskie' Levstik + - Wim Lewis - Lorenzo De Liso + - Gregory Margo - Jim Meyering - RafaÅ‚ MużyÅ‚o - Adrien Nader @@ -43,6 +49,7 @@ has been important. :-) In alphabetical - Andre Noll - Peter O'Gorman - Igor Pavlov + - Diego Elio Pettenò - Elbert Pol - Mikko Pouru - Robert Readman @@ -55,10 +62,12 @@ has been important. :-) In alphabetical - Dan Shechter - Stuart Shelton - Jonathan Stott + - Dan Stromberg - Paul Townsend - Mohammed Adnène Trojette - Alexey Tourbin - Patrick J. Volkerding + - Martin Väth - Christian Weisgerber - Bert Wesarg - Ralf Wildenhues Modified: head/contrib/xz/po/LINGUAS ============================================================================== --- head/contrib/xz/po/LINGUAS Mon Jul 11 13:10:34 2011 (r223934) +++ head/contrib/xz/po/LINGUAS Mon Jul 11 14:15:27 2011 (r223935) @@ -1,3 +1,5 @@ cs de +fr it +pl Copied: head/contrib/xz/po/fr.po (from r223934, vendor/xz/dist/po/fr.po) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/xz/po/fr.po Mon Jul 11 14:15:27 2011 (r223935, copy of r223934, vendor/xz/dist/po/fr.po) @@ -0,0 +1,864 @@ +# XZ Utils French Translation +# This file is put in the public domain. +# Adrien Nader , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: xz-utils\n" +"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" +"POT-Creation-Date: 2011-05-21 14:35+0200\n" +"PO-Revision-Date: 2010-09-24 21;12+0200\n" +"Last-Translator: Adrien Nader \n" +"Language-Team: None\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" + +#: src/xz/args.c:338 +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s : Format de fichier inconnu" + +#: src/xz/args.c:361 src/xz/args.c:369 +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s : Type de vérification d'intégrité inconnu" + +#: src/xz/args.c:396 +msgid "Only one file can be specified with `--files' or `--files0'." +msgstr "Un seul fichier peut être spécifié avec `--files' ou `--files0'." + +#: src/xz/args.c:459 +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variable d'environnement %s contient trop d'arguments" + +#: src/xz/coder.c:105 +msgid "Maximum number of filters is four" +msgstr "Le nombre maximal de filtres est quatre" + +#: src/xz/coder.c:118 +msgid "Memory usage limit is too low for the given filter setup." +msgstr "La limite d'utilisation mémoire est trop basse pour la configuration de filtres donnée." + +#: src/xz/coder.c:148 +msgid "Using a preset in raw mode is discouraged." +msgstr "Utiliser un préréglage en mode `raw' est déconseillé." + +#: src/xz/coder.c:150 +msgid "The exact options of the presets may vary between software versions." +msgstr "Le détail des préréglages peut varier entre différentes versions du logiciel." + +#: src/xz/coder.c:176 +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Le format .lzma ne prend en charge que le filtre LZMA1" + +#: src/xz/coder.c:184 +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz" + +#: src/xz/coder.c:203 +#, c-format +msgid "Using up to % threads." +msgstr "Jusqu'à % threads seront utilisés." + +#: src/xz/coder.c:216 +msgid "Unsupported filter chain or filter options" +msgstr "Enchaînement ou options de filtres non pris en charge" + +#: src/xz/coder.c:224 +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La décompression nécessitera %s MiB de mémoire." + +#: src/xz/coder.c:259 +#, c-format +msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#: src/xz/coder.c:313 +#, c-format +msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#. TRANSLATORS: When compression or decompression finishes, +#. and xz is going to remove the source file, xz first checks +#. if the source file still exists, and if it does, does its +#. device and inode numbers match what xz saw when it opened +#. the source file. If these checks fail, this message is +#. shown, %s being the filename, and the file is not deleted. +#. The check for device and inode numbers is there, because +#. it is possible that the user has put a new file in place +#. of the original file, and in that case it obviously +#. shouldn't be removed. +#: src/xz/file_io.c:136 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s : Le fichier a apparemment été déplacé, suppression annulée" + +#: src/xz/file_io.c:143 src/xz/file_io.c:635 +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s : Impossible de supprimer : %s" + +#: src/xz/file_io.c:168 +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s : Impossible de modifier le propriétaire du fichier : %s" + +#: src/xz/file_io.c:174 +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s : Impossible de modifier le groupe propriétaire du fichier : %s" + +#: src/xz/file_io.c:193 +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s : Impossible de modifier les permissions du fichier : %s" + +#: src/xz/file_io.c:340 src/xz/file_io.c:423 +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s est un lien symbolique : ignoré" + +#: src/xz/file_io.c:468 +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s est un répertoire : ignoré" + +#: src/xz/file_io.c:474 +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s n'est pas un fichier régulier : ignoré" + +#: src/xz/file_io.c:491 +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s : Le fichier possède les bits `setuid' ou `setgid' : ignoré" + +#: src/xz/file_io.c:498 +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s : Le fichier possède le bit `sticky' : ignoré" + +#: src/xz/file_io.c:505 +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s : Le fichier d'entrée a plus d'un lien matériel : ignoré" + +#: src/xz/file_io.c:761 +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Impossible de rétablir le drapeau O_APPEND sur la sortie standard : %s" + +#: src/xz/file_io.c:773 +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +#: src/xz/file_io.c:809 src/xz/file_io.c:1008 +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier pour créer un 'sparse file' : %s" + +#: src/xz/file_io.c:883 +#, c-format +msgid "%s: Read error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/file_io.c:906 +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier : %s" + +#: src/xz/file_io.c:916 +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s : Fin de fichier inattendue" + +#: src/xz/file_io.c:966 +#, c-format +msgid "%s: Write error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/hardware.c:101 +msgid "Disabled" +msgstr "Désactivé" + +#. TRANSLATORS: Test with "xz --info-memory" to see if +#. the alignment looks nice. +#: src/xz/hardware.c:120 +msgid "Total amount of physical memory (RAM): " +msgstr "Quantité totale de mémoire physique (RAM) : " + +#: src/xz/hardware.c:122 +msgid "Memory usage limit for compression: " +msgstr "Limite d'utilisation pour la compression : " + +#: src/xz/hardware.c:124 +msgid "Memory usage limit for decompression: " +msgstr "Limite d'utilisation pour la décompression : " + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables, so the width must not +#. exceed ten columns with a fixed-width font. +#: src/xz/list.c:62 +msgid "None" +msgstr "Aucune" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). This and other "Unknown-N" +#. strings are used in tables, so the width must not exceed ten +#. columns with a fixed-width font. It's OK to omit the dash if +#. you need space for one extra letter, but don't use spaces. +#: src/xz/list.c:69 +msgid "Unknown-2" +msgstr "Inconnue-2" + +#: src/xz/list.c:70 +msgid "Unknown-3" +msgstr "Inconnue-3" + +#: src/xz/list.c:72 +msgid "Unknown-5" +msgstr "Inconnue-5" + +#: src/xz/list.c:73 +msgid "Unknown-6" +msgstr "Inconnue-6" + +#: src/xz/list.c:74 +msgid "Unknown-7" +msgstr "Inconnue-7" + +#: src/xz/list.c:75 +msgid "Unknown-8" +msgstr "Inconnue-8" + +#: src/xz/list.c:76 +msgid "Unknown-9" +msgstr "Inconnue-9" + +#: src/xz/list.c:78 +msgid "Unknown-11" +msgstr "Inconnue-11" + +#: src/xz/list.c:79 +msgid "Unknown-12" +msgstr "Inconnue-12" + +#: src/xz/list.c:80 +msgid "Unknown-13" +msgstr "Inconnue-13" + +#: src/xz/list.c:81 +msgid "Unknown-14" +msgstr "Inconnue-14" + +#: src/xz/list.c:82 +msgid "Unknown-15" +msgstr "Inconnue-15" + +#: src/xz/list.c:126 +#, c-format +msgid "%s: File is empty" +msgstr "%s : Le fichier est vide" + +#: src/xz/list.c:131 +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s : Trop petit pour être un fichier xz valide." + +#. TRANSLATORS: These are column headings. From Strms (Streams) +#. to Ratio, the columns are right aligned. Check and Filename +#. are left aligned. If you need longer words, it's OK to +#. use two lines here. Test with "xz -l foo.xz". +#: src/xz/list.c:612 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Flux Blocs Compressé Décompressé Ratio Vérif Nom de fichier" + +#: src/xz/list.c:652 +#, c-format +msgid " Streams: %s\n" +msgstr " Flux : %s\n" + +#: src/xz/list.c:654 +#, c-format +msgid " Blocks: %s\n" +msgstr " Blocs : %s\n" + +#: src/xz/list.c:656 +#, c-format +msgid " Compressed size: %s\n" +msgstr " Taille compressé : %s\n" + +#: src/xz/list.c:659 +#, c-format +msgid " Uncompressed size: %s\n" +msgstr " Taille décompressé : %s\n" + +#: src/xz/list.c:662 +#, c-format +msgid " Ratio: %s\n" +msgstr " Ratio : %s\n" + +#: src/xz/list.c:664 +#, c-format +msgid " Check: %s\n" +msgstr " Vérification : %s\n" + +#: src/xz/list.c:665 +#, c-format +msgid " Stream padding: %s\n" +msgstr " Octets de rembourrage du flux : %s\n" + +#. TRANSLATORS: The second line is column headings. All except +#. Check are right aligned; Check is left aligned. Test with +#. "xz -lv foo.xz". +#: src/xz/list.c:693 +msgid "" +" Streams:\n" +" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +msgstr "" +" Flux :\n" +" Flux Blocs PositionComp PositionDécomp TailleComp TailleDécomp Ratio Vérif. Bourrage" + +#. TRANSLATORS: The second line is column headings. All +#. except Check are right aligned; Check is left aligned. +#: src/xz/list.c:748 +#, c-format +msgid "" +" Blocks:\n" +" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +msgstr "" +" Blocs :\n" +" Flux Bloc PositionComp PositionDécomp TailleTot TailleDécomp Ratio Vérif." + +#. TRANSLATORS: These are additional column headings +#. for the most verbose listing mode. CheckVal +#. (Check value), Flags, and Filters are left aligned. +#. Header (Block Header Size), CompSize, and MemUsage +#. are right aligned. %*s is replaced with 0-120 +#. spaces to make the CheckVal column wide enough. +#. Test with "xz -lvv foo.xz". +#: src/xz/list.c:760 +#, c-format +msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +msgstr " ValVérif %*sEn-tête Drapeaux TailleComp UtilMém Filtres" + +#: src/xz/list.c:838 src/xz/list.c:1007 +#, c-format +msgid " Memory needed: %s MiB\n" +msgstr " Mémoire nécessaire : %s MiB\n" + +#: src/xz/list.c:840 src/xz/list.c:1009 +#, c-format +msgid " Sizes in headers: %s\n" +msgstr " Tailles stockées dans l'en-tête : %s\n" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "Yes" +msgstr "Oui" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "No" +msgstr "Non" + +#. TRANSLATORS: %s is an integer. Only the plural form of this +#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". +#: src/xz/list.c:986 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fichier\n" +msgstr[1] "%s fichiers\n" + +#: src/xz/list.c:999 +msgid "Totals:" +msgstr "Totaux :" + +#: src/xz/list.c:1000 +#, c-format +msgid " Number of files: %s\n" +msgstr " Nombre de fichiers : %s\n" + +#: src/xz/list.c:1072 +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list ne marche que sur les fichiers .xz (--format=xz ou --format=auto)" + +#: src/xz/list.c:1078 +msgid "--list does not support reading from standard input" +msgstr "--list est incompatible avec la lecture sur l'entrée standard" + +#: src/xz/main.c:89 +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s : Erreur lors de la lecture des noms de fichiers : %s" + +#: src/xz/main.c:96 +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s : Fin des données inattendue lors de la lecture des noms de fichiers" + +#: src/xz/main.c:120 +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" +msgstr "%s : Caractère NULL détecté lors de la lecture des noms de fichiers ; peut-être pensiez-vous à `--files0' plutot qu'a `--files' ?" + +#: src/xz/main.c:174 +msgid "Compression and decompression with --robot are not supported yet." +msgstr "La compression et la décompression ne marchent pas encore avec --robot." + +#: src/xz/main.c:231 +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Impossible de lire à la fois les données et les noms de fichiers depuis l'entrée standard" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "%s : " + +#: src/xz/message.c:796 src/xz/message.c:846 +msgid "Internal error (bug)" +msgstr "Erreur interne (bug)" + +#: src/xz/message.c:803 +msgid "Cannot establish signal handlers" +msgstr "Impossible d'installer le gestionnaire de signaux" + +#: src/xz/message.c:812 +msgid "No integrity check; not verifying file integrity" +msgstr "Pas de données de vérification d'intégrité ; vérification non effectuée" + +#: src/xz/message.c:815 +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Méthode de vérification d'intégrité non prise en charge ; vérification non effectuée" + +#: src/xz/message.c:822 +msgid "Memory usage limit reached" +msgstr "Limite d'utilisation mémoire atteinte" + +#: src/xz/message.c:825 +msgid "File format not recognized" +msgstr "Format de fichier inconnu" + +#: src/xz/message.c:828 +msgid "Unsupported options" +msgstr "Options non prises en charge" + +#: src/xz/message.c:831 +msgid "Compressed data is corrupt" +msgstr "Les données compressées sont corrompues" + +#: src/xz/message.c:834 +msgid "Unexpected end of input" +msgstr "Fin des données inattendue " + +#: src/xz/message.c:885 +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB de mémoire sont nécessaires, la limite étant %s." + +#: src/xz/message.c:1052 +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s : Enchaînement de filtres : %s\n" + +#: src/xz/message.c:1062 +#, c-format +msgid "Try `%s --help' for more information." +msgstr "Utilisez `%s --help' pour plus d'informations." + +#: src/xz/message.c:1088 +#, c-format +msgid "" +"Usage: %s [OPTION]... [FILE]...\n" +"Compress or decompress FILEs in the .xz format.\n" +"\n" +msgstr "" +"Utilisation : %s [OPTION]... [FICHIER]...\n" +"Compresse ou decompresse FICHIER(s) au format .xz.\n" +"\n" + +#: src/xz/message.c:1095 +msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Les arguments obligatoires pour les options longues le sont aussi pour les\n" +"options courtes.\n" + +#: src/xz/message.c:1099 +msgid " Operation mode:\n" +msgstr " Mode d'opération :\n" + +#: src/xz/message.c:1102 +msgid "" +" -z, --compress force compression\n" +" -d, --decompress force decompression\n" +" -t, --test test compressed file integrity\n" +" -l, --list list information about .xz files" +msgstr "" +" -z, --compress forcer la compression\n" +" -d, --decompress forcer la décompression\n" +" -t, --test tester l'intégrité du fichier compressé\n" +" -l, --list lister les informations à propos des fichiers .xz" + +#: src/xz/message.c:1108 +msgid "" +"\n" +" Operation modifiers:\n" +msgstr "" +"\n" +" Modifictauers :\n" + +#: src/xz/message.c:1111 +msgid "" +" -k, --keep keep (don't delete) input files\n" +" -f, --force force overwrite of output file and (de)compress links\n" +" -c, --stdout write to standard output and don't delete input files" +msgstr "" +" -k, --keep ne pas supprimer les fichiers d'entrée (\"keep\")\n" +" -f, --force forcer l'écrasement du fichier de sortie et\n" +" (dé)compresser les liens\n" +" -c, --stdout écrire sur la sortie standard et ne pas supprimer les\n" +" fichiers d'entrée" + +#: src/xz/message.c:1117 +msgid "" +" --single-stream decompress only the first stream, and silently\n" +" ignore possible remaining input data" +msgstr "" +" --single-stream décompresser uniquement le premier flux et ignorer\n" +" silenciseusement les données éventuellement restantes" + +#: src/xz/message.c:1120 +msgid "" +" --no-sparse do not create sparse files when decompressing\n" +" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" +" --files[=FILE] read filenames to process from FILE; if FILE is\n" +" omitted, filenames are read from the standard input;\n" +" filenames must be terminated with the newline character\n" +" --files0[=FILE] like --files but use the null character as terminator" +msgstr "" +" --no-sparse ne pas créer de 'sparse file' lors de la décompression\n" +" -S, --suffix=.SUF utiliser le suffixe `.SUF' pour les fichiers compressés\n" +" --files[=FILE] lire les fichiers sur lesquels opérer depuis FILE ; si\n" +" FILE est omis, ceux-ci sont lus depuis l'entrée standard\n" +" et doivent être suivis d'un caractère de retour à la ligne\n" +" --files0[=FILE] comme --files mais avec un caractère null comme séparateur" + +#: src/xz/message.c:1129 +msgid "" +"\n" +" Basic file format and compression options:\n" +msgstr "" +"\n" +" Options basiques de format de fichier et de compression :\n" + +#: src/xz/message.c:1131 +msgid "" +" -F, --format=FMT file format to encode or decode; possible values are\n" +" `auto' (default), `xz', `lzma', and `raw'\n" +" -C, --check=CHECK integrity check type: `none' (use with caution),\n" +" `crc32', `crc64' (default), or `sha256'" +msgstr "" +" -F, --format=FMT format de fichier à encoder ou décoder ; les possibilités\n" +" sont : `auto' (par défaut), `xz', `lzma' et `raw'\n" +" -C, --check=CHECK type de vérification d'intégrité : `none' (à utiliser avec\n" +" précaution), `crc32', `crc64' (par défaut) ou `sha256'" + +#: src/xz/message.c:1138 +msgid "" +" -0 ... -9 compression preset; default is 6; take compressor *and*\n" +" decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 préréglage de compression ; 6 par défaut ; pensez à\n" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 15:14:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7694106566B; Mon, 11 Jul 2011 15:14:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 8F7068FC0A; Mon, 11 Jul 2011 15:14:49 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 44F2546B1A; Mon, 11 Jul 2011 11:14:49 -0400 (EDT) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id BAADE8A02E; Mon, 11 Jul 2011 11:14:48 -0400 (EDT) From: John Baldwin To: Edwin Groothuis Date: Mon, 11 Jul 2011 11:04:10 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110617; KDE/4.5.5; amd64; ; ) References: <201107110824.p6B8OaFj082562@svn.freebsd.org> In-Reply-To: <201107110824.p6B8OaFj082562@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201107111104.10409.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Mon, 11 Jul 2011 11:14:48 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223928 - head/usr.bin/calendar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 15:14:49 -0000 On Monday, July 11, 2011 4:24:36 am Edwin Groothuis wrote: > Author: edwin > Date: Mon Jul 11 08:24:36 2011 > New Revision: 223928 > URL: http://svn.freebsd.org/changeset/base/223928 > > Log: > Fix the interpreter for: > > Jul/Sat+3 Every third saturday of July - Jul/Sat+3 > > which was able to be done via: > > Jul/SatThird Every third saturday of July - Jul/SatThird > > Add interpreters for: > > SatFourth Every third saturday of each month - SatFourth > Sat+4 Every third saturday of each month - Sat+4 > Sat Every saturday of each month - Sat > > MFC after: 2 weeks > > Modified: > head/usr.bin/calendar/parsedata.c > > Modified: head/usr.bin/calendar/parsedata.c > ============================================================================== > --- head/usr.bin/calendar/parsedata.c Mon Jul 11 08:23:59 2011 (r223927) > +++ head/usr.bin/calendar/parsedata.c Mon Jul 11 08:24:36 2011 (r223928) > @@ -548,6 +548,24 @@ parsedaymonth(char *date, int *yearp, in > @@ -918,6 +936,16 @@ indextooffset(char *s) > int i; > struct fixs *n; > > + if (s[0] == '+' || s[0] == '-') { > + char ss[9]; > + for (i = -100; i < 100; i++) { > + sprintf(ss, "%s%d", (i > 0) ? "+" : "", i); > + if (strcmp(ss, s) == 0) > + return (i); > + } > + return (0); > + } > + Hmm, did you consider using something like strtol instead? -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 15:14:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C64B106564A; Mon, 11 Jul 2011 15:14:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 6152C8FC0C; Mon, 11 Jul 2011 15:14:50 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 16DC646B2A; Mon, 11 Jul 2011 11:14:50 -0400 (EDT) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 94D1E8A02F; Mon, 11 Jul 2011 11:14:49 -0400 (EDT) From: John Baldwin To: Doug Barton Date: Mon, 11 Jul 2011 11:14:32 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110617; KDE/4.5.5; amd64; ; ) References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <86ipr9sl4j.fsf@gmail.com> <4E1A498B.9080506@FreeBSD.org> In-Reply-To: <4E1A498B.9080506@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201107111114.33159.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Mon, 11 Jul 2011 11:14:49 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Pan Tsu Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 15:14:50 -0000 On Sunday, July 10, 2011 8:53:31 pm Doug Barton wrote: > On 07/10/2011 17:42, Pan Tsu wrote: > > Doug Barton writes: > > > >> Author: dougb > >> Date: Sun Jul 10 23:47:03 2011 > >> New Revision: 223917 > >> URL: http://svn.freebsd.org/changeset/base/223917 > >> > >> Log: > >> Make sure we load kernel modules from the same path as the running kernel > >> > >> Modified: > >> head/etc/rc.d/kld > >> > >> Modified: head/etc/rc.d/kld > >> ============================================================================== > >> --- head/etc/rc.d/kld Sun Jul 10 22:09:53 2011 (r223916) > >> +++ head/etc/rc.d/kld Sun Jul 10 23:47:03 2011 (r223917) > >> @@ -41,11 +41,24 @@ kld_start() > >> { > >> [ -n "$kld_list" ] || return > >> > >> - local _kld > >> + local _kernel_path _module_path _kld _path > >> + > >> + _kernel_path=`$SYSCTL_N kern.bootfile` > >> + _kernel_path="${_kernel_path%/*}" > >> + > >> + _module_path=`$SYSCTL_N kern.module_path` > >> + _module_path="${_module_path#*\;}" > >> + _module_path="$_kernel_path `ltr $_module_path \; ' '`" > > [...] > > > > Doesn't /boot/support.4th already populates kern.module_path with > > the path of successfully booted kernel? How is this different? > > When you test it, what happens? If you do 'boot foo' at the loader prompt you get /boot/foo;/boot/kernel;/boot/modules. It is arguably broken that the old /boot/kernel is still in the list, but that bug should be fixed in the loader, not here. However, I've never had a problem with kldload doing the wrong thing when using 'boot foo'. Do you have an actual use case that is broken? Oh, and if you use 'nextboot -k foo' or set 'kernel=foo' in loader.conf then it will DTRT. However, I would expect this script to be equivalent to a for loop of 'kldload foo', but now it isn't since you are using a divergent algorithm. That violates POLA IMO. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 16:48:52 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5E4E106566C; Mon, 11 Jul 2011 16:48:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A58968FC0A; Mon, 11 Jul 2011 16:48:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BGmqFr001498; Mon, 11 Jul 2011 16:48:52 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BGmqVB001492; Mon, 11 Jul 2011 16:48:52 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107111648.p6BGmqVB001492@svn.freebsd.org> From: John Baldwin Date: Mon, 11 Jul 2011 16:48:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223936 - in head: contrib/top usr.bin/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 16:48:52 -0000 Author: jhb Date: Mon Jul 11 16:48:52 2011 New Revision: 223936 URL: http://svn.freebsd.org/changeset/base/223936 Log: Allow per-CPU statistics to be toggled at runtime via the 'P' key. While here, make -P a toggle similar to other options such as -I. Reviewed by: arundel MFC after: 1 week Modified: head/contrib/top/commands.c head/contrib/top/display.c head/contrib/top/top.X head/contrib/top/top.c head/usr.bin/top/machine.c Modified: head/contrib/top/commands.c ============================================================================== --- head/contrib/top/commands.c Mon Jul 11 14:15:27 2011 (r223935) +++ head/contrib/top/commands.c Mon Jul 11 16:48:52 2011 (r223936) @@ -88,6 +88,7 @@ o - specify sort order (vcsw, ivcs stdout); #endif fputs("\ +P - toggle the displaying of per-CPU statistics\n\ r - renice a process\n\ s - change number of seconds to delay between updates\n\ S - toggle the displaying of system processes\n\ Modified: head/contrib/top/display.c ============================================================================== --- head/contrib/top/display.c Mon Jul 11 14:15:27 2011 (r223935) +++ head/contrib/top/display.c Mon Jul 11 16:48:52 2011 (r223936) @@ -151,16 +151,14 @@ int display_resize() return(smart_terminal ? lines : Largest); } -int display_init(statics) +int display_updatecpus(statics) struct statics *statics; { register int lines; - register char **pp; - register int *ip; register int i; - + /* call resize to do the dirty work */ lines = display_resize(); num_cpus = statics->ncpus; @@ -170,6 +168,21 @@ struct statics *statics; for (i = num_cpus; i > 9; i /= 10) cpustates_column++; + return(lines); +} + +int display_init(statics) + +struct statics *statics; + +{ + register int lines; + register char **pp; + register int *ip; + register int i; + + lines = display_updatecpus(statics); + /* only do the rest if we need to */ if (lines > -1) { Modified: head/contrib/top/top.X ============================================================================== --- head/contrib/top/top.X Mon Jul 11 14:15:27 2011 (r223935) +++ head/contrib/top/top.X Mon Jul 11 16:48:52 2011 (r223936) @@ -205,6 +205,7 @@ The options .BR \-H , .BR \-I , .BR \-j , +.BR \-P , .BR \-S , .BR \-t , .BR \-u , @@ -314,6 +315,9 @@ Toggle the display of .IR jail (8) ID. .TP +.B P +Toggle the display of per-CPU statistics. +.TP .B t Toggle the display of the .I top Modified: head/contrib/top/top.c ============================================================================== --- head/contrib/top/top.c Mon Jul 11 14:15:27 2011 (r223935) +++ head/contrib/top/top.c Mon Jul 11 16:48:52 2011 (r223936) @@ -196,9 +196,9 @@ char *argv[]; fd_set readfds; #ifdef ORDER - static char command_chars[] = "\f qh?en#sdkriIutHmSCajzo"; + static char command_chars[] = "\f qh?en#sdkriIutHmSCajzPo"; #else - static char command_chars[] = "\f qh?en#sdkriIutHmSCajz"; + static char command_chars[] = "\f qh?en#sdkriIutHmSCajzP"; #endif /* these defines enumerate the "strchr"s of the commands in command_chars */ #define CMD_redraw 0 @@ -225,8 +225,9 @@ char *argv[]; #define CMD_showargs 20 #define CMD_jidtog 21 #define CMD_kidletog 22 +#define CMD_pcputog 23 #ifdef ORDER -#define CMD_order 23 +#define CMD_order 24 #endif /* set the buffer for stdout */ @@ -411,7 +412,7 @@ char *argv[]; break; case 'P': - pcpu_stats = Yes; + pcpu_stats = !pcpu_stats; break; case 'z': @@ -1088,6 +1089,16 @@ restart: ps.kidle ? "D" : "Not d"); putchar('\r'); break; + case CMD_pcputog: + pcpu_stats = !pcpu_stats; + new_message(MT_standout | MT_delayed, + " Displaying %sCPU statistics.", + pcpu_stats ? "per-" : "global "); + toggle_pcpustats(&statics); + max_topn = display_updatecpus(&statics); + reset_display(); + putchar('\r'); + break; default: new_message(MT_standout, " BAD CASE IN SWITCH!"); putchar('\r'); Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Mon Jul 11 14:15:27 2011 (r223935) +++ head/usr.bin/top/machine.c Mon Jul 11 16:48:52 2011 (r223936) @@ -239,19 +239,48 @@ static const char *format_nice(const str static void getsysctl(const char *name, void *ptr, size_t len); static int swapmode(int *retavail, int *retfree); +void +toggle_pcpustats(struct statics *statics) +{ + + if (ncpus == 1) + return; + + /* Adjust display based on ncpus */ + if (pcpu_stats) { + y_mem += ncpus - 1; /* 3 */ + y_swap += ncpus - 1; /* 4 */ + y_idlecursor += ncpus - 1; /* 5 */ + y_message += ncpus - 1; /* 5 */ + y_header += ncpus - 1; /* 6 */ + y_procs += ncpus - 1; /* 7 */ + Header_lines += ncpus - 1; /* 7 */ + statics->ncpus = ncpus; + } else { + y_mem = 3; + y_swap = 4; + y_idlecursor = 5; + y_message = 5; + y_header = 6; + y_procs = 7; + Header_lines = 7; + statics->ncpus = 1; + } +} + int machine_init(struct statics *statics, char do_unames) { - int pagesize; - size_t modelen; + int i, j, empty, pagesize; + size_t size; struct passwd *pw; - modelen = sizeof(smpmode); - if ((sysctlbyname("machdep.smp_active", &smpmode, &modelen, + size = sizeof(smpmode); + if ((sysctlbyname("machdep.smp_active", &smpmode, &size, NULL, 0) != 0 && - sysctlbyname("kern.smp.active", &smpmode, &modelen, + sysctlbyname("kern.smp.active", &smpmode, &size, NULL, 0) != 0) || - modelen != sizeof(smpmode)) + size != sizeof(smpmode)) smpmode = 0; if (do_unames) { @@ -299,51 +328,37 @@ machine_init(struct statics *statics, ch statics->order_names = ordernames; #endif - /* Adjust display based on ncpus */ - if (pcpu_stats) { - int i, j, empty; - size_t size; - - cpumask = 0; - ncpus = 0; - GETSYSCTL("kern.smp.maxcpus", maxcpu); - size = sizeof(long) * maxcpu * CPUSTATES; - times = malloc(size); - if (times == NULL) - err(1, "malloc %zd bytes", size); - if (sysctlbyname("kern.cp_times", times, &size, NULL, 0) == -1) - err(1, "sysctlbyname kern.cp_times"); - pcpu_cp_time = calloc(1, size); - maxid = (size / CPUSTATES / sizeof(long)) - 1; - for (i = 0; i <= maxid; i++) { - empty = 1; - for (j = 0; empty && j < CPUSTATES; j++) { - if (times[i * CPUSTATES + j] != 0) - empty = 0; - } - if (!empty) { - cpumask |= (1ul << i); - ncpus++; - } + /* Allocate state for per-CPU stats. */ + cpumask = 0; + ncpus = 0; + GETSYSCTL("kern.smp.maxcpus", maxcpu); + size = sizeof(long) * maxcpu * CPUSTATES; + times = malloc(size); + if (times == NULL) + err(1, "malloc %zd bytes", size); + if (sysctlbyname("kern.cp_times", times, &size, NULL, 0) == -1) + err(1, "sysctlbyname kern.cp_times"); + pcpu_cp_time = calloc(1, size); + maxid = (size / CPUSTATES / sizeof(long)) - 1; + for (i = 0; i <= maxid; i++) { + empty = 1; + for (j = 0; empty && j < CPUSTATES; j++) { + if (times[i * CPUSTATES + j] != 0) + empty = 0; } - - if (ncpus > 1) { - y_mem += ncpus - 1; /* 3 */ - y_swap += ncpus - 1; /* 4 */ - y_idlecursor += ncpus - 1; /* 5 */ - y_message += ncpus - 1; /* 5 */ - y_header += ncpus - 1; /* 6 */ - y_procs += ncpus - 1; /* 7 */ - Header_lines += ncpus - 1; /* 7 */ + if (!empty) { + cpumask |= (1ul << i); + ncpus++; } - size = sizeof(long) * ncpus * CPUSTATES; - pcpu_cp_old = calloc(1, size); - pcpu_cp_diff = calloc(1, size); - pcpu_cpu_states = calloc(1, size); - statics->ncpus = ncpus; - } else { - statics->ncpus = 1; } + size = sizeof(long) * ncpus * CPUSTATES; + pcpu_cp_old = calloc(1, size); + pcpu_cp_diff = calloc(1, size); + pcpu_cpu_states = calloc(1, size); + statics->ncpus = 1; + + if (pcpu_stats) + toggle_pcpustats(statics); /* all done! */ return (0); @@ -398,14 +413,11 @@ get_system_info(struct system_info *si) int i, j; size_t size; - /* get the cp_time array */ - if (pcpu_stats) { - size = (maxid + 1) * CPUSTATES * sizeof(long); - if (sysctlbyname("kern.cp_times", pcpu_cp_time, &size, NULL, 0) == -1) - err(1, "sysctlbyname kern.cp_times"); - } else { - GETSYSCTL("kern.cp_time", cp_time); - } + /* get the CPU stats */ + size = (maxid + 1) * CPUSTATES * sizeof(long); + if (sysctlbyname("kern.cp_times", pcpu_cp_time, &size, NULL, 0) == -1) + err(1, "sysctlbyname kern.cp_times"); + GETSYSCTL("kern.cp_time", cp_time); GETSYSCTL("vm.loadavg", sysload); GETSYSCTL("kern.lastpid", lastpid); @@ -413,21 +425,17 @@ get_system_info(struct system_info *si) for (i = 0; i < 3; i++) si->load_avg[i] = (double)sysload.ldavg[i] / sysload.fscale; - if (pcpu_stats) { - for (i = j = 0; i <= maxid; i++) { - if ((cpumask & (1ul << i)) == 0) - continue; - /* convert cp_time counts to percentages */ - percentages(CPUSTATES, &pcpu_cpu_states[j * CPUSTATES], - &pcpu_cp_time[j * CPUSTATES], - &pcpu_cp_old[j * CPUSTATES], - &pcpu_cp_diff[j * CPUSTATES]); - j++; - } - } else { - /* convert cp_time counts to percentages */ - percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff); + /* convert cp_time counts to percentages */ + for (i = j = 0; i <= maxid; i++) { + if ((cpumask & (1ul << i)) == 0) + continue; + percentages(CPUSTATES, &pcpu_cpu_states[j * CPUSTATES], + &pcpu_cp_time[j * CPUSTATES], + &pcpu_cp_old[j * CPUSTATES], + &pcpu_cp_diff[j * CPUSTATES]); + j++; } + percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff); /* sum memory & swap statistics */ { From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 16:51:30 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34EA5106564A; Mon, 11 Jul 2011 16:51:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 263B18FC08; Mon, 11 Jul 2011 16:51:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BGpUkm001610; Mon, 11 Jul 2011 16:51:30 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BGpUKd001608; Mon, 11 Jul 2011 16:51:30 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107111651.p6BGpUKd001608@svn.freebsd.org> From: John Baldwin Date: Mon, 11 Jul 2011 16:51:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223937 - head/contrib/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 16:51:30 -0000 Author: jhb Date: Mon Jul 11 16:51:29 2011 New Revision: 223937 URL: http://svn.freebsd.org/changeset/base/223937 Log: Add a leading space to the status messages output after toggling the 'C' and 'H' flags at runtime. This matches messages output for other toggles which leave the first column in the message blank to hold the cursor. PR: bin/158775 Submitted by: arundel MFC after: 3 days Modified: head/contrib/top/top.c Modified: head/contrib/top/top.c ============================================================================== --- head/contrib/top/top.c Mon Jul 11 16:48:52 2011 (r223936) +++ head/contrib/top/top.c Mon Jul 11 16:51:29 2011 (r223937) @@ -1020,7 +1020,7 @@ restart: case CMD_thrtog: ps.thread = !ps.thread; new_message(MT_standout | MT_delayed, - "Displaying threads %s", + " Displaying threads %s", ps.thread ? "separately" : "as a count"); header_text = format_header(uname_field); reset_display(); @@ -1029,7 +1029,7 @@ restart: case CMD_wcputog: ps.wcpu = !ps.wcpu; new_message(MT_standout | MT_delayed, - "Displaying %sCPU", + " Displaying %sCPU", ps.wcpu ? "W" : ""); header_text = format_header(uname_field); reset_display(); From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 20:43:59 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B7021065676; Mon, 11 Jul 2011 20:43:59 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8A2588FC15; Mon, 11 Jul 2011 20:43:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BKhxjM008573; Mon, 11 Jul 2011 20:43:59 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BKhxOX008571; Mon, 11 Jul 2011 20:43:59 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107112043.p6BKhxOX008571@svn.freebsd.org> From: Marius Strobl Date: Mon, 11 Jul 2011 20:43:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223938 - head/sys/boot/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 20:43:59 -0000 Author: marius Date: Mon Jul 11 20:43:59 2011 New Revision: 223938 URL: http://svn.freebsd.org/changeset/base/223938 Log: Since r219452 the alignment of __dmadat has changed, revealing that fsread() bogusly casts its contents around causing alignment faults on sparc64 and most likely also on at least powerpc. Fix this by copying the contents bytewise instead as partly already done here. Solving this the right way costs some space, i.e. 148 bytes with GCC and 16 bytes with clang on x86 there are still some bytes left there though, and an acceptable hack which tricks the compiler into only using a 2-byte alignment instead of the native one when accessing the contents turned out to even take up more space that. Modified: head/sys/boot/common/ufsread.c Modified: head/sys/boot/common/ufsread.c ============================================================================== --- head/sys/boot/common/ufsread.c Mon Jul 11 16:51:29 2011 (r223937) +++ head/sys/boot/common/ufsread.c Mon Jul 11 20:43:59 2011 (r223938) @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include #include + #ifdef UFS_SMALL_CGBASE /* XXX: Revert to old (broken for over 1.5Tb filesystems) version of cgbase (see sys/ufs/ffs/fs.h rev 1.39) so that small boot loaders (e.g. boot2) can @@ -90,7 +91,7 @@ static ssize_t fsread(ino_t, void *, siz static uint8_t ls, dsk_meta; static uint32_t fs_off; -static __inline int +static __inline uint8_t fsfind(const char *name, ino_t * ino) { char buf[DEV_BSIZE]; @@ -158,7 +159,7 @@ static int sblock_try[] = SBLOCKSEARCH; #elif defined(UFS1_ONLY) #define DIP(field) dp1.field #else -#define DIP(field) fs->fs_magic == FS_UFS1_MAGIC ? dp1.field : dp2.field +#define DIP(field) fs.fs_magic == FS_UFS1_MAGIC ? dp1.field : dp2.field #endif static ssize_t @@ -173,7 +174,7 @@ fsread(ino_t inode, void *buf, size_t nb static ino_t inomap; char *blkbuf; void *indbuf; - struct fs *fs; + struct fs fs; char *s; size_t n, nb, size, off, vboff; ufs_lbn_t lbn; @@ -181,30 +182,29 @@ fsread(ino_t inode, void *buf, size_t nb static ufs2_daddr_t blkmap, indmap; u_int u; - blkbuf = dmadat->blkbuf; indbuf = dmadat->indbuf; - fs = (struct fs *)dmadat->sbbuf; if (!dsk_meta) { inomap = 0; for (n = 0; sblock_try[n] != -1; n++) { - if (dskread(fs, sblock_try[n] / DEV_BSIZE, + if (dskread(dmadat->sbbuf, sblock_try[n] / DEV_BSIZE, SBLOCKSIZE / DEV_BSIZE)) return -1; + memcpy(&fs, dmadat->sbbuf, sizeof(struct fs)); if (( #if defined(UFS1_ONLY) - fs->fs_magic == FS_UFS1_MAGIC + fs.fs_magic == FS_UFS1_MAGIC #elif defined(UFS2_ONLY) - (fs->fs_magic == FS_UFS2_MAGIC && - fs->fs_sblockloc == sblock_try[n]) + (fs.fs_magic == FS_UFS2_MAGIC && + fs.fs_sblockloc == sblock_try[n]) #else - fs->fs_magic == FS_UFS1_MAGIC || - (fs->fs_magic == FS_UFS2_MAGIC && - fs->fs_sblockloc == sblock_try[n]) + fs.fs_magic == FS_UFS1_MAGIC || + (fs.fs_magic == FS_UFS2_MAGIC && + fs.fs_sblockloc == sblock_try[n]) #endif ) && - fs->fs_bsize <= MAXBSIZE && - fs->fs_bsize >= sizeof(struct fs)) + fs.fs_bsize <= MAXBSIZE && + fs.fs_bsize >= sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -212,12 +212,13 @@ fsread(ino_t inode, void *buf, size_t nb return -1; } dsk_meta++; - } + } else + memcpy(&fs, dmadat->sbbuf, sizeof(struct fs)); if (!inode) return 0; if (inomap != inode) { - n = IPERVBLK(fs); - if (dskread(blkbuf, INO_TO_VBA(fs, n, inode), DBPERVBLK)) + n = IPERVBLK(&fs); + if (dskread(blkbuf, INO_TO_VBA(&fs, n, inode), DBPERVBLK)) return -1; n = INO_TO_VBO(n, inode); #if defined(UFS1_ONLY) @@ -227,13 +228,12 @@ fsread(ino_t inode, void *buf, size_t nb memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, sizeof(struct ufs2_dinode)); #else - if (fs->fs_magic == FS_UFS1_MAGIC) + if (fs.fs_magic == FS_UFS1_MAGIC) memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, sizeof(struct ufs1_dinode)); else memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, sizeof(struct ufs2_dinode)); - #endif inomap = inode; fs_off = 0; @@ -246,15 +246,15 @@ fsread(ino_t inode, void *buf, size_t nb nbyte = n; nb = nbyte; while (nb) { - lbn = lblkno(fs, fs_off); - off = blkoff(fs, fs_off); + lbn = lblkno(&fs, fs_off); + off = blkoff(&fs, fs_off); if (lbn < NDADDR) { addr = DIP(di_db[lbn]); - } else if (lbn < NDADDR + NINDIR(fs)) { - n = INDIRPERVBLK(fs); + } else if (lbn < NDADDR + NINDIR(&fs)) { + n = INDIRPERVBLK(&fs); addr = DIP(di_ib[0]); u = (u_int)(lbn - NDADDR) / n * DBPERVBLK; - vbaddr = fsbtodb(fs, addr) + u; + vbaddr = fsbtodb(&fs, addr) + u; if (indmap != vbaddr) { if (dskread(indbuf, vbaddr, DBPERVBLK)) return -1; @@ -262,21 +262,25 @@ fsread(ino_t inode, void *buf, size_t nb } n = (lbn - NDADDR) & (n - 1); #if defined(UFS1_ONLY) - addr = ((ufs1_daddr_t *)indbuf)[n]; + memcpy(&addr, (ufs1_daddr_t *)indbuf + n, + sizeof(ufs1_daddr_t)); #elif defined(UFS2_ONLY) - addr = ((ufs2_daddr_t *)indbuf)[n]; + memcpy(&addr, (ufs2_daddr_t *)indbuf + n, + sizeof(ufs2_daddr_t)); #else - if (fs->fs_magic == FS_UFS1_MAGIC) - addr = ((ufs1_daddr_t *)indbuf)[n]; + if (fs.fs_magic == FS_UFS1_MAGIC) + memcpy(&addr, (ufs1_daddr_t *)indbuf + n, + sizeof(ufs1_daddr_t)); else - addr = ((ufs2_daddr_t *)indbuf)[n]; + memcpy(&addr, (ufs2_daddr_t *)indbuf + n, + sizeof(ufs2_daddr_t)); #endif } else { return -1; } - vbaddr = fsbtodb(fs, addr) + (off >> VBLKSHIFT) * DBPERVBLK; + vbaddr = fsbtodb(&fs, addr) + (off >> VBLKSHIFT) * DBPERVBLK; vboff = off & VBLKMASK; - n = sblksize(fs, size, lbn) - (off & ~VBLKMASK); + n = sblksize(&fs, size, lbn) - (off & ~VBLKMASK); if (n > VBLKSIZE) n = VBLKSIZE; if (blkmap != vbaddr) { From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 22:01:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 456751065672; Mon, 11 Jul 2011 22:01:40 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 355258FC17; Mon, 11 Jul 2011 22:01:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BM1eov010938; Mon, 11 Jul 2011 22:01:40 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6BM1ejf010936; Mon, 11 Jul 2011 22:01:40 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201107112201.p6BM1ejf010936@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 11 Jul 2011 22:01:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223939 - head/usr.bin/calendar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 22:01:40 -0000 Author: edwin Date: Mon Jul 11 22:01:39 2011 New Revision: 223939 URL: http://svn.freebsd.org/changeset/base/223939 Log: Fix run-time breakage when encoutering invalid input-data. PR: bin/157718 Modified: head/usr.bin/calendar/parsedata.c Modified: head/usr.bin/calendar/parsedata.c ============================================================================== --- head/usr.bin/calendar/parsedata.c Mon Jul 11 20:43:59 2011 (r223938) +++ head/usr.bin/calendar/parsedata.c Mon Jul 11 22:01:39 2011 (r223939) @@ -818,6 +818,8 @@ showflags(int flags) static const char * getmonthname(int i) { + if (i <= 0 || i > 12) + return (""); if (nmonths[i - 1].len != 0 && nmonths[i - 1].name != NULL) return (nmonths[i - 1].name); return (months[i - 1]); From owner-svn-src-all@FreeBSD.ORG Mon Jul 11 23:16:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24F43106566C; Mon, 11 Jul 2011 23:16:36 +0000 (UTC) (envelope-from inyaoo@gmail.com) Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by mx1.freebsd.org (Postfix) with ESMTP id 60A0D8FC13; Mon, 11 Jul 2011 23:16:34 +0000 (UTC) Received: by fxe6 with SMTP id 6so3662987fxe.17 for ; Mon, 11 Jul 2011 16:16:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=WgX1hA+2XFM/gzyVPjJb++PD9A3ZcDsfFNGTaF3WN1c=; b=OUpEt6z4xL144+8D5+LNkhFQghi4dfmDWXF4McDWq//FSmjUxMpc99eW1A492gT7lt 5zRHPFJmuWYInyajLrVng3jtQc9KabbfShEoLDI7e6uLe0xnZMiaJ+UACp2nx9LF7bbD 0Gygb6AQgTkhtbVvOJqKX1h06UBQmBc8FeT20= Received: by 10.223.54.90 with SMTP id p26mr5251886fag.44.1310426194030; Mon, 11 Jul 2011 16:16:34 -0700 (PDT) Received: from localhost (tor6.anonymizer.ccc.de [80.237.226.76]) by mx.google.com with ESMTPS id b13sm9545481fab.12.2011.07.11.16.16.29 (version=SSLv3 cipher=OTHER); Mon, 11 Jul 2011 16:16:30 -0700 (PDT) From: Pan Tsu To: Edwin Groothuis References: <201107111041.p6BAf9Vp086657__48646.3516056121$1310380900$gmane$org@svn.freebsd.org> Date: Tue, 12 Jul 2011 03:16:18 +0400 In-Reply-To: <201107111041.p6BAf9Vp086657__48646.3516056121$1310380900$gmane$org@svn.freebsd.org> (Edwin Groothuis's message of "Mon, 11 Jul 2011 10:41:09 +0000 (UTC)") Message-ID: <86vcv8be7x.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223931 - head/usr.bin/ncal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 23:16:36 -0000 Edwin Groothuis writes: > Author: edwin > Date: Mon Jul 11 10:41:08 2011 > New Revision: 223931 > URL: http://svn.freebsd.org/changeset/base/223931 > > Log: > ncal(1) highlights the current date (or a date provided via parameter) > even if stdout is not a tty. If stdout is not a tty the data is > normally processed by other tools and no control sequences are > expected. > > PR: bin/158580 > MFC after: 1 week What about "cal" mode? $ cal | vis July 2011 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 _\^H1_\^H1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 00:13:20 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 2A180106566B; Tue, 12 Jul 2011 00:13:20 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 8F2A414E714; Tue, 12 Jul 2011 00:13:19 +0000 (UTC) Message-ID: <4E1B919F.7000800@FreeBSD.org> Date: Mon, 11 Jul 2011 17:13:19 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: John Baldwin References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <86ipr9sl4j.fsf@gmail.com> <4E1A498B.9080506@FreeBSD.org> <201107111114.33159.jhb@freebsd.org> In-Reply-To: <201107111114.33159.jhb@freebsd.org> X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Pan Tsu Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 00:13:20 -0000 On 07/11/2011 08:14, John Baldwin wrote: > On Sunday, July 10, 2011 8:53:31 pm Doug Barton wrote: >> On 07/10/2011 17:42, Pan Tsu wrote: >>> Doug Barton writes: >>> >>> Doesn't /boot/support.4th already populates kern.module_path with >>> the path of successfully booted kernel? How is this different? >> >> When you test it, what happens? > > If you do 'boot foo' at the loader prompt you get > /boot/foo;/boot/kernel;/boot/modules. No, I don't actually, which was my point to Pan: sysctl kern.bootfile kern.bootfile: /boot/kernel.patched/kernel sysctl kern.module_path kern.module_path: /boot/kernel;/boot/modules;/usr/local/modules That was after hitting "2. Escape to the loader prompt" at the beastie menu, and typing 'boot kernel.patched'. The fact that it did not work as one might expect was the reason I wrote the code that I did. > It is arguably broken that the old /boot/kernel is still in the list, but that > bug should be fixed in the loader, not here. I think that given the fact that we seem to have multiple broken versions (as in, my version is broken one way, yours seems to be broken a different way), it's hard for me to imagine removing the "belt and suspenders" that I've already added. Not to mention the need to support RELENG[78]. > However, I've never had a > problem with kldload doing the wrong thing when using 'boot foo'. Do you have > an actual use case that is broken? I was initially hoping to avoid the gymnastics, but given that module_path wasn't doing TRT I thought it safe to err on the side of caution. > Oh, and if you use 'nextboot -k foo' or set 'kernel=foo' in loader.conf then > it will DTRT. However, I would expect this script to be equivalent to a for > loop of 'kldload foo', but now it isn't since you are using a divergent > algorithm. That violates POLA IMO. It's not clear to me how what I'm doing is different than what _should_ be happening. If you can spell that out to me I'd really appreciate it. Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 00:31:12 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C0C9106564A; Tue, 12 Jul 2011 00:31:12 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0D0208FC25; Tue, 12 Jul 2011 00:31:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6C0VBsU015316; Tue, 12 Jul 2011 00:31:11 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6C0VB59015314; Tue, 12 Jul 2011 00:31:11 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201107120031.p6C0VB59015314@svn.freebsd.org> From: "David E. O'Brien" Date: Tue, 12 Jul 2011 00:31:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223940 - head/usr.bin/wall X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 00:31:12 -0000 Author: obrien Date: Tue Jul 12 00:31:11 2011 New Revision: 223940 URL: http://svn.freebsd.org/changeset/base/223940 Log: If one's message is longer than the buffer size, then we reset 'cnt' at the wrong point and the actual column # get out of sync across the buffer size. Modified: head/usr.bin/wall/wall.c Modified: head/usr.bin/wall/wall.c ============================================================================== --- head/usr.bin/wall/wall.c Mon Jul 11 22:01:39 2011 (r223939) +++ head/usr.bin/wall/wall.c Tue Jul 12 00:31:11 2011 (r223940) @@ -239,8 +239,9 @@ makemsg(char *fname) err(1, "can't read %s", fname); setegid(egid); } + cnt = 0; while (fgets(lbuf, sizeof(lbuf), stdin)) { - for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { + for (p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { if (ch == '\r') { putc('\r', fp); cnt = 0; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 01:16:44 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 218D8106566C; Tue, 12 Jul 2011 01:16:44 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 119358FC08; Tue, 12 Jul 2011 01:16:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6C1GhG8016646; Tue, 12 Jul 2011 01:16:43 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6C1GhTN016644; Tue, 12 Jul 2011 01:16:43 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107120116.p6C1GhTN016644@svn.freebsd.org> From: Xin LI Date: Tue, 12 Jul 2011 01:16:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223941 - stable/8/contrib/libpcap/bpf/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 01:16:44 -0000 Author: delphij Date: Tue Jul 12 01:16:43 2011 New Revision: 223941 URL: http://svn.freebsd.org/changeset/base/223941 Log: MFC r223616: Incorporate vendor commit ecdc5c0a7f7591a7cd4a: In userland, sign extend the offset for JA instructions. We currently use that to implement "ip6 protochain", and "pc" might be wider than "pc->k", in which case we need to arrange that "pc->k" be sign-extended, by casting it to bpf_int32. PR: kern/157188 Submitted by: plosher Modified: stable/8/contrib/libpcap/bpf/net/bpf_filter.c Directory Properties: stable/8/contrib/libpcap/ (props changed) Modified: stable/8/contrib/libpcap/bpf/net/bpf_filter.c ============================================================================== --- stable/8/contrib/libpcap/bpf/net/bpf_filter.c Tue Jul 12 00:31:11 2011 (r223940) +++ stable/8/contrib/libpcap/bpf/net/bpf_filter.c Tue Jul 12 01:16:43 2011 (r223941) @@ -396,7 +396,18 @@ bpf_filter(pc, p, wirelen, buflen) continue; case BPF_JMP|BPF_JA: +#if defined(KERNEL) || defined(_KERNEL) + /* + * No backward jumps allowed. + */ pc += pc->k; +#else + /* + * XXX - we currently implement "ip6 protochain" + * with backward jumps, so sign-extend pc->k. + */ + pc += (bpf_int32)pc->k; +#endif continue; case BPF_JMP|BPF_JGT|BPF_K: From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 08:18:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AA6E106566B; Tue, 12 Jul 2011 08:18:21 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe06.c2i.net [212.247.154.162]) by mx1.freebsd.org (Postfix) with ESMTP id 544E18FC1E; Tue, 12 Jul 2011 08:18:19 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.1 cv=XR4AdwVFe5G+K9PtySS1/JOnv6WK/hruile8wX/SUjk= c=1 sm=1 a=SvYTsOw2Z4kA:10 a=hGtlSgWVjhEA:10 a=WQU8e4WWZSUA:10 a=N659UExz7-8A:10 a=CL8lFSKtTFcA:10 a=i9M/sDlu2rpZ9XS819oYzg==:17 a=6I5d2MoRAAAA:8 a=gnin_I_kWrHKaqee9MAA:9 a=pILNOxqGKmIA:10 a=i9M/sDlu2rpZ9XS819oYzg==:117 Received: from [188.126.198.129] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe06.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 150735387; Tue, 12 Jul 2011 10:18:18 +0200 From: Hans Petter Selasky To: "src-committers@freebsd.org" Date: Tue, 12 Jul 2011 10:16:20 +0200 User-Agent: KMail/1.13.5 (FreeBSD/8.2-STABLE; KDE/4.4.5; amd64; ; ) References: <201106272032.p5RKWJkx012547@svn.freebsd.org> In-Reply-To: <201106272032.p5RKWJkx012547@svn.freebsd.org> X-Face: *nPdTl_}RuAI6^PVpA02T?$%Xa^>@hE0uyUIoiha$pC:9TVgl.Oq, NwSZ4V"|LR.+tj}g5 %V,x^qOs~mnU3]Gn; cQLv&.N>TrxmSFf+p6(30a/{)KUU!s}w\IhQBj}[g}bj0I3^glmC( :AuzV9:.hESm-x4h240C`9=w MIME-Version: 1.0 Content-Type: Text/Plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Message-Id: <201107121016.20991.hselasky@c2i.net> Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" Subject: Re: svn commit: r223604 - head/etc/devd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 08:18:21 -0000 On Monday 27 June 2011 22:32:19 Hans Petter Selasky wrote: > Author: hselasky > Date: Mon Jun 27 20:32:19 2011 > New Revision: 223604 > URL: http://svn.freebsd.org/changeset/base/223604 > > Log: > Regenerate usb.conf after r223566. > > Modified: > head/etc/devd/usb.conf > Should the installation of this file be if'ed somehow? --HPS From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 08:20:16 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E340106566B; Tue, 12 Jul 2011 08:20:16 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F18B28FC17; Tue, 12 Jul 2011 08:20:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6C8KFwd029217; Tue, 12 Jul 2011 08:20:15 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6C8KFYk029213; Tue, 12 Jul 2011 08:20:15 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107120820.p6C8KFYk029213@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 08:20:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223944 - head/sys/dev/gem X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 08:20:16 -0000 Author: marius Date: Tue Jul 12 08:20:15 2011 New Revision: 223944 URL: http://svn.freebsd.org/changeset/base/223944 Log: According to the OpenSolaris source the PCI latency and the cache line size should be set for Sun ERI. Tested by: yongari Modified: head/sys/dev/gem/if_gem.c head/sys/dev/gem/if_gem_pci.c head/sys/dev/gem/if_gemreg.h Modified: head/sys/dev/gem/if_gem.c ============================================================================== --- head/sys/dev/gem/if_gem.c Tue Jul 12 03:47:07 2011 (r223943) +++ head/sys/dev/gem/if_gem.c Tue Jul 12 08:20:15 2011 (r223944) @@ -626,7 +626,9 @@ gem_reset(struct gem_softc *sc) gem_reset_tx(sc); /* Do a full reset. */ - GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX); + GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX | + (sc->sc_variant == GEM_SUN_ERI ? GEM_ERI_CACHE_LINE_SIZE << + GEM_RESET_CLSZ_SHFT : 0)); GEM_BANK2_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, 0)) @@ -716,11 +718,12 @@ gem_reset_rx(struct gem_softc *sc) DELAY(5000); /* Reset the ERX. */ - GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX); + GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX | + (sc->sc_variant == GEM_SUN_ERI ? GEM_ERI_CACHE_LINE_SIZE << + GEM_RESET_CLSZ_SHFT : 0)); GEM_BANK2_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, - 0)) { + if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_RX, 0)) { device_printf(sc->sc_dev, "cannot reset receiver\n"); return (1); } @@ -808,11 +811,12 @@ gem_reset_tx(struct gem_softc *sc) DELAY(5000); /* Finally, reset the ETX. */ - GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_TX); + GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_TX | + (sc->sc_variant == GEM_SUN_ERI ? GEM_ERI_CACHE_LINE_SIZE << + GEM_RESET_CLSZ_SHFT : 0)); GEM_BANK2_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, - 0)) { + if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_TX, 0)) { device_printf(sc->sc_dev, "cannot reset transmitter\n"); return (1); } Modified: head/sys/dev/gem/if_gem_pci.c ============================================================================== --- head/sys/dev/gem/if_gem_pci.c Tue Jul 12 03:47:07 2011 (r223943) +++ head/sys/dev/gem/if_gem_pci.c Tue Jul 12 08:20:15 2011 (r223944) @@ -177,6 +177,10 @@ gem_pci_attach(device_t dev) if (pci_get_intpin(dev) == 0) pci_set_intpin(dev, 1); + /* Set the PCI latency timer for Sun ERIs. */ + if (sc->sc_variant == GEM_SUN_ERI) + pci_write_config(dev, PCIR_LATTIMER, GEM_ERI_LATENCY_TIMER, 1); + sc->sc_dev = dev; sc->sc_flags |= GEM_PCI; Modified: head/sys/dev/gem/if_gemreg.h ============================================================================== --- head/sys/dev/gem/if_gemreg.h Tue Jul 12 03:47:07 2011 (r223943) +++ head/sys/dev/gem/if_gemreg.h Tue Jul 12 08:20:15 2011 (r223944) @@ -35,7 +35,7 @@ /* register definitions for Apple GMAC, Sun ERI and Sun GEM */ /* - * First bank: this registers live at the start of the PCI + * First bank: these registers live at the start of the PCI * mapping, and at the start of the second bank of the SBus * version. */ @@ -93,7 +93,7 @@ "b\x10MAC_CONTROL\0b\x11MIF\0b\x12IBERR\0\0" /* - * Second bank: this registers live at offset 0x1000 of the PCI + * Second bank: these registers live at offset 0x1000 of the PCI * mapping, and at the start of the first bank of the SBus * version. */ @@ -128,7 +128,7 @@ /* GEM_PCI_BIF_DIAG register bits */ #define GEN_PCI_BIF_DIAG_BC_SM 0x007f0000 /* burst ctrl. state machine */ -#define GEN_PCI_BIF_DIAG_SM 0xff000000 /* BIF state machine */ +#define GEN_PCI_BIF_DIAG_SM 0xff000000 /* BIF state machine */ /* Bits in GEM_SBUS_CONFIG register */ #define GEM_SBUS_CFG_BURST_32 0x00000001 /* 32 byte bursts */ @@ -147,6 +147,8 @@ #define GEM_RESET_TX 0x00000001 /* Reset TX half. */ #define GEM_RESET_RX 0x00000002 /* Reset RX half. */ #define GEM_RESET_PCI_RSTOUT 0x00000004 /* Force PCI RSTOUT#. */ +#define GEM_RESET_CLSZ_MASK 0x00ff0000 /* ERI cache line size */ +#define GEM_RESET_CLSZ_SHFT 16 /* The rest of the registers live in the first bank again. */ @@ -586,6 +588,10 @@ #define GEM_PHYAD_INTERNAL 1 #define GEM_PHYAD_EXTERNAL 0 +/* Miscellaneous */ +#define GEM_ERI_CACHE_LINE_SIZE 16 +#define GEM_ERI_LATENCY_TIMER 64 + /* * descriptor table structures */ @@ -594,7 +600,11 @@ struct gem_desc { uint64_t gd_addr; }; -/* Transmit flags */ +/* + * Transmit flags + * GEM_TD_CXSUM_ENABLE, GEM_TD_CXSUM_START, GEM_TD_CXSUM_STUFF and + * GEM_TD_INTERRUPT_ME only need to be set in the first descriptor of a group. + */ #define GEM_TD_BUFSIZE 0x0000000000007fffULL #define GEM_TD_CXSUM_START 0x00000000001f8000ULL /* Cxsum start offset */ #define GEM_TD_CXSUM_STARTSHFT 15 @@ -605,10 +615,6 @@ struct gem_desc { #define GEM_TD_START_OF_PACKET 0x0000000080000000ULL #define GEM_TD_INTERRUPT_ME 0x0000000100000000ULL /* Interrupt me now */ #define GEM_TD_NO_CRC 0x0000000200000000ULL /* do not insert crc */ -/* - * Only need to set GEM_TD_CXSUM_ENABLE, GEM_TD_CXSUM_STUFF, - * GEM_TD_CXSUM_START, and GEM_TD_INTERRUPT_ME in 1st descriptor of a group. - */ /* Receive flags */ #define GEM_RD_CHECKSUM 0x000000000000ffffULL /* is the complement */ @@ -618,7 +624,6 @@ struct gem_desc { #define GEM_RD_HASH_PASS 0x1000000000000000ULL /* passed hash filter */ #define GEM_RD_ALTERNATE_MAC 0x2000000000000000ULL /* Alternate MAC adrs */ #define GEM_RD_BAD_CRC 0x4000000000000000ULL - #define GEM_RD_BUFSHIFT 16 #define GEM_RD_BUFLEN(x) (((x) & GEM_RD_BUFSIZE) >> GEM_RD_BUFSHIFT) From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 09:03:38 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B96EA106566C; Tue, 12 Jul 2011 09:03:38 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8FE388FC1E; Tue, 12 Jul 2011 09:03:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6C93cZB030549; Tue, 12 Jul 2011 09:03:38 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6C93cZe030547; Tue, 12 Jul 2011 09:03:38 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107120903.p6C93cZe030547@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 12 Jul 2011 09:03:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223945 - head/sbin/newfs_msdos X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 09:03:38 -0000 Author: ae Date: Tue Jul 12 09:03:38 2011 New Revision: 223945 URL: http://svn.freebsd.org/changeset/base/223945 Log: Add SIGINFO handler. Reviewed by: kib Obtained from: NetBSD (partly) MFC after: 2 weeks Modified: head/sbin/newfs_msdos/newfs_msdos.c Modified: head/sbin/newfs_msdos/newfs_msdos.c ============================================================================== --- head/sbin/newfs_msdos/newfs_msdos.c Tue Jul 12 08:20:15 2011 (r223944) +++ head/sbin/newfs_msdos/newfs_msdos.c Tue Jul 12 09:03:38 2011 (r223945) @@ -44,6 +44,7 @@ static const char rcsid[] = #include #include #include +#include #include #include #include @@ -216,6 +217,9 @@ static const u_int8_t bootcode[] = { 0 }; +static volatile sig_atomic_t got_siginfo; +static void infohandler(int); + static void check_mounted(const char *, mode_t); static void getstdfmt(const char *, struct bpb *); static void getdiskinfo(int, const char *, const char *, int, @@ -243,6 +247,7 @@ main(int argc, char *argv[]) int opt_N = 0; int Iflag = 0, mflag = 0, oflag = 0; char buf[MAXPATHLEN]; + struct sigaction si_sa; struct stat sb; struct timeval tv; struct bpb bpb; @@ -604,7 +609,19 @@ main(int argc, char *argv[]) if (!(img = malloc(bpb.bpbBytesPerSec))) err(1, NULL); dir = bpb.bpbResSectors + (bpb.bpbFATsecs ? bpb.bpbFATsecs : bpb.bpbBigFATsecs) * bpb.bpbFATs; + memset(&si_sa, 0, sizeof(si_sa)); + si_sa.sa_handler = infohandler; + if (sigaction(SIGINFO, &si_sa, 0) == -1) + err(1, "sigaction SIGINFO"); for (lsn = 0; lsn < dir + (fat == 32 ? bpb.bpbSecPerClust : rds); lsn++) { + if (got_siginfo) { + fprintf(stderr,"%s: writing sector %u of %u (%u%%)\n", + fname, lsn, + (dir + (fat == 32 ? bpb.bpbSecPerClust: rds)), + (lsn * 100) / (dir + + (fat == 32 ? bpb.bpbSecPerClust: rds))); + got_siginfo = 0; + } x = lsn; if (opt_B && fat == 32 && bpb.bpbBackup != MAXU16 && @@ -1017,3 +1034,10 @@ usage(void) "\t-u sectors/track\n"); exit(1); } + +static void +infohandler(int sig __unused) +{ + + got_siginfo = 1; +} From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 10:07:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50C14106566B; Tue, 12 Jul 2011 10:07:08 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 40DB78FC0C; Tue, 12 Jul 2011 10:07:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CA78f1034626; Tue, 12 Jul 2011 10:07:08 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CA78VD034624; Tue, 12 Jul 2011 10:07:08 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107121007.p6CA78VD034624@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Tue, 12 Jul 2011 10:07:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223946 - head/sbin/newfs_msdos X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 10:07:08 -0000 Author: ae Date: Tue Jul 12 10:07:07 2011 New Revision: 223946 URL: http://svn.freebsd.org/changeset/base/223946 Log: Use NULL instead of 0 for third argument of sigaction(2). Pointed by: kib MFC after: 2 weeks Modified: head/sbin/newfs_msdos/newfs_msdos.c Modified: head/sbin/newfs_msdos/newfs_msdos.c ============================================================================== --- head/sbin/newfs_msdos/newfs_msdos.c Tue Jul 12 09:03:38 2011 (r223945) +++ head/sbin/newfs_msdos/newfs_msdos.c Tue Jul 12 10:07:07 2011 (r223946) @@ -611,7 +611,7 @@ main(int argc, char *argv[]) dir = bpb.bpbResSectors + (bpb.bpbFATsecs ? bpb.bpbFATsecs : bpb.bpbBigFATsecs) * bpb.bpbFATs; memset(&si_sa, 0, sizeof(si_sa)); si_sa.sa_handler = infohandler; - if (sigaction(SIGINFO, &si_sa, 0) == -1) + if (sigaction(SIGINFO, &si_sa, NULL) == -1) err(1, "sigaction SIGINFO"); for (lsn = 0; lsn < dir + (fat == 32 ? bpb.bpbSecPerClust : rds); lsn++) { if (got_siginfo) { From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 10:27:00 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F2461065674; Tue, 12 Jul 2011 10:27:00 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail05.syd.optusnet.com.au (mail05.syd.optusnet.com.au [211.29.132.186]) by mx1.freebsd.org (Postfix) with ESMTP id DCBA08FC18; Tue, 12 Jul 2011 10:26:59 +0000 (UTC) Received: from c122-106-165-191.carlnfd1.nsw.optusnet.com.au (c122-106-165-191.carlnfd1.nsw.optusnet.com.au [122.106.165.191]) by mail05.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p6CAQrpr014518 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 12 Jul 2011 20:26:56 +1000 Date: Tue, 12 Jul 2011 20:26:53 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: "Andrey V. Elsukov" In-Reply-To: <201107111002.p6BA2R7l085489@svn.freebsd.org> Message-ID: <20110712200015.N1311@besplex.bde.org> References: <201107111002.p6BA2R7l085489@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223930 - head/sys/geom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 10:27:00 -0000 On Mon, 11 Jul 2011, Andrey V. Elsukov wrote: > Log: > Remove include of sys/sbuf.h from geom/geom.h. > sbuf support is not always required for geom/geom.h users, and no need to > depend from it. > > PR: kern/158398 Thanks. It's not easy to recover from pollution. > Modified: head/sys/geom/geom.h > ============================================================================== > --- head/sys/geom/geom.h Mon Jul 11 08:42:09 2011 (r223929) > +++ head/sys/geom/geom.h Mon Jul 11 10:02:27 2011 (r223930) > @@ -44,7 +44,6 @@ > #include > #include > #include > -#include > #include > > struct g_class; > Any chance of fixing more pollution? -). 2 more polluting nested includes are visible in just the above (the last 2). 3 more are above . There are many more disk-related ones in . sys/disk.h still includes for reasons that are probably only historical (I think the reason for this include moved from there to here). has massive pollution. It even has an ifdef to avoid depending on but this was tuned into nonsense by including unconditionally. Many disk drivers started using mutexes without actually including soon after a polluting include of was added in one of the headers. I gave up trying to police pollution with this. This problem may have been reduced by centralizing things in geom and collateral churning of APIs. Most disk drivers now include only for general disk things, and the pollution there has been reduced to: - , and . Presumably needed for geom structs, but shouldn't be exported. Not too bad compared with all of and its prerequisites. The disk drivers would have to have been fixed to include if they want to actually use their mutexes. - and its polluting . Bruce From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 10:40:23 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DAC8106564A; Tue, 12 Jul 2011 10:40:23 +0000 (UTC) (envelope-from vadim@nuclight.avtf.net) Received: from nuclight.avtf.net (208.88.188.90.adsl.tomsknet.ru [90.188.88.208]) by mx1.freebsd.org (Postfix) with ESMTP id 99B1D8FC1E; Tue, 12 Jul 2011 10:40:22 +0000 (UTC) Received: from kernblitz.nuclight.avtf.net (vadim@localhost [127.0.0.1]) by nuclight.avtf.net (8.14.4/8.14.4) with ESMTP id p6CA4blV070453; Tue, 12 Jul 2011 17:04:37 +0700 (NOVST) (envelope-from vadim@kernblitz.nuclight.avtf.net) Received: (from vadim@localhost) by kernblitz.nuclight.avtf.net (8.14.4/8.14.4/Submit) id p6CA4apj070450; Tue, 12 Jul 2011 17:04:36 +0700 (NOVST) (envelope-from vadim) Message-Id: <201107121004.p6CA4apj070450@kernblitz.nuclight.avtf.net> To: Nathan Whitehorn From: Vadim Goncharov In-Reply-To: =?UTF-8?Q?=3C201107092301=2Ep69N1sUp019626=5F=5F19145=2E506?= =?UTF-8?Q?0652972=241310252550=24gmane=24org=40svn=2Efreebsd=2Eorg=3E?= References: <201107092301.p69N1sUp019626__19145.5060652972$1310252550$gmane$org@svn.freebsd.org> X-Comment-To: Nathan Whitehorn Date: Tue, 12 Jul 2011 17:04:35 +0700 User-Agent: slrn/0.9.9p1 (FreeBSD) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-all@FreeBSD.org Subject: Re: svn commit: r223897 - in head: release usr.sbin/bsdinstall/scripts X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vadim_nuclight@mail.ru List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 10:40:23 -0000 Hi Nathan Whitehorn! On Sat, 9 Jul 2011 23:01:54 +0000 (UTC); Nathan Whitehorn wrote: > New Revision: 223897 > URL: http://svn.freebsd.org/changeset/base/223897 > Log: > Per request of the docs team, install docs as packages, instead of via > the normal distfile mechanism. Thanks to Marc Fonvieille for the patch and > for putting up with me taking entirely too long to commit this! [...] > "Network" "Networking configuration" \ > "Services" "Set daemons to run on startup" \ > "Time Zone" "Set system timezone" \ > + "Handbook" "Install FreeBSD Handbook (requires network)" \ [...] > + --checklist "This menu will allow you to install the whole documentation set > +from the FreeBSD Documentation Project: Handbook, FAQ and articles.\n\n > +Please select the language versions you wish to install. At minimum, > +you should install the English version, this is the original version > +of the documentation.\n\n > +NB: This requires a working, configured network connection." 0 0 0 \ [...] > + en "English Documentation (recommended)" ${DIST_DOC_EN:-on} \ Umm, _configured network_ even for original English docs? In 8.2R those doc packages for every lang were installed by sysinstall from CD (DVD1 actually), as it should really be for new user - e.g. if network could be configured only after reading Handbook, installing mpd5 from CD/DVD packages, and so on. Or am I missing something, and it will still be available on the disk? -- WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_nuclight@mail.ru [Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight] From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 11:47:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24FFD106566B; Tue, 12 Jul 2011 11:47:09 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 158318FC0A; Tue, 12 Jul 2011 11:47:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CBl8k3037549; Tue, 12 Jul 2011 11:47:08 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CBl8hY037547; Tue, 12 Jul 2011 11:47:08 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201107121147.p6CBl8hY037547@svn.freebsd.org> From: Michael Tuexen Date: Tue, 12 Jul 2011 11:47:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223947 - head/usr.bin/netstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 11:47:09 -0000 Author: tuexen Date: Tue Jul 12 11:47:08 2011 New Revision: 223947 URL: http://svn.freebsd.org/changeset/base/223947 Log: Truncate link addresses like it is done for any other address type. MFC after: 4 weeks Modified: head/usr.bin/netstat/if.c Modified: head/usr.bin/netstat/if.c ============================================================================== --- head/usr.bin/netstat/if.c Tue Jul 12 10:07:07 2011 (r223946) +++ head/usr.bin/netstat/if.c Tue Jul 12 11:47:08 2011 (r223947) @@ -394,7 +394,7 @@ intpr(int interval1, u_long ifnetaddr, v n = cp - sa->sa_data + 1; cp = sa->sa_data; hexprint: - while (--n >= 0) + while ((--n >= 0) && (m < 30)) m += printf("%02x%c", *cp++ & 0xff, n > 0 ? ':' : ' '); m = 32 - m; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 12:29:33 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 410A9106564A; Tue, 12 Jul 2011 12:29:33 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 30BAE8FC08; Tue, 12 Jul 2011 12:29:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CCTX1O038853; Tue, 12 Jul 2011 12:29:33 GMT (envelope-from zec@svn.freebsd.org) Received: (from zec@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CCTXsX038849; Tue, 12 Jul 2011 12:29:33 GMT (envelope-from zec@svn.freebsd.org) Message-Id: <201107121229.p6CCTXsX038849@svn.freebsd.org> From: Marko Zec Date: Tue, 12 Jul 2011 12:29:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223948 - in stable/8/sys: net netinet netinet6 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 12:29:33 -0000 Author: zec Date: Tue Jul 12 12:29:32 2011 New Revision: 223948 URL: http://svn.freebsd.org/changeset/base/223948 Log: MFC r223862: Permit ARP to proceed for IPv4 host routes for which the gateway is the same as the host address. This already works fine for INET6 and ND6. While here, remove two function pointers from struct lltable which are only initialized but never used. Modified: stable/8/sys/net/if_llatbl.h stable/8/sys/netinet/in.c stable/8/sys/netinet6/in6.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/net/if_llatbl.h ============================================================================== --- stable/8/sys/net/if_llatbl.h Tue Jul 12 11:47:08 2011 (r223947) +++ stable/8/sys/net/if_llatbl.h Tue Jul 12 12:29:32 2011 (r223948) @@ -146,15 +146,12 @@ struct lltable { int llt_af; struct ifnet *llt_ifp; - struct llentry * (*llt_new)(const struct sockaddr *, u_int); void (*llt_free)(struct lltable *, struct llentry *); void (*llt_prefix_free)(struct lltable *, const struct sockaddr *prefix, const struct sockaddr *mask); struct llentry * (*llt_lookup)(struct lltable *, u_int flags, const struct sockaddr *l3addr); - int (*llt_rtcheck)(struct ifnet *, u_int flags, - const struct sockaddr *); int (*llt_dump)(struct lltable *, struct sysctl_req *); }; Modified: stable/8/sys/netinet/in.c ============================================================================== --- stable/8/sys/netinet/in.c Tue Jul 12 11:47:08 2011 (r223947) +++ stable/8/sys/netinet/in.c Tue Jul 12 12:29:32 2011 (r223948) @@ -1399,6 +1399,18 @@ in_lltable_rtcheck(struct ifnet *ifp, u_ /* XXX rtalloc1 should take a const param */ rt = rtalloc1(__DECONST(struct sockaddr *, l3addr), 0, 0); + + /* + * If the gateway for an existing host route matches the target L3 + * address, allow for ARP to proceed. + */ + if (rt != NULL && (rt->rt_flags & (RTF_HOST|RTF_GATEWAY)) && + rt->rt_gateway->sa_family == AF_INET && + memcmp(rt->rt_gateway->sa_data, l3addr->sa_data, 4) == 0) { + RTFREE_LOCKED(rt); + return (0); + } + if (rt == NULL || (!(flags & LLE_PUB) && ((rt->rt_flags & RTF_GATEWAY) || (rt->rt_ifp != ifp)))) { @@ -1581,10 +1593,8 @@ in_domifattach(struct ifnet *ifp) llt = lltable_init(ifp, AF_INET); if (llt != NULL) { - llt->llt_new = in_lltable_new; llt->llt_free = in_lltable_free; llt->llt_prefix_free = in_lltable_prefix_free; - llt->llt_rtcheck = in_lltable_rtcheck; llt->llt_lookup = in_lltable_lookup; llt->llt_dump = in_lltable_dump; } Modified: stable/8/sys/netinet6/in6.c ============================================================================== --- stable/8/sys/netinet6/in6.c Tue Jul 12 11:47:08 2011 (r223947) +++ stable/8/sys/netinet6/in6.c Tue Jul 12 12:29:32 2011 (r223948) @@ -2581,10 +2581,8 @@ in6_domifattach(struct ifnet *ifp) ext->scope6_id = scope6_ifattach(ifp); ext->lltable = lltable_init(ifp, AF_INET6); if (ext->lltable != NULL) { - ext->lltable->llt_new = in6_lltable_new; ext->lltable->llt_free = in6_lltable_free; ext->lltable->llt_prefix_free = in6_lltable_prefix_free; - ext->lltable->llt_rtcheck = in6_lltable_rtcheck; ext->lltable->llt_lookup = in6_lltable_lookup; ext->lltable->llt_dump = in6_lltable_dump; } From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 13:06:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F31851065672; Tue, 12 Jul 2011 13:06:44 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E364D8FC14; Tue, 12 Jul 2011 13:06:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CD6iOf039935; Tue, 12 Jul 2011 13:06:44 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CD6iRd039933; Tue, 12 Jul 2011 13:06:44 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107121306.p6CD6iRd039933@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 13:06:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223949 - head/sys/dev/gem X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 13:06:45 -0000 Author: marius Date: Tue Jul 12 13:06:44 2011 New Revision: 223949 URL: http://svn.freebsd.org/changeset/base/223949 Log: Correct r223648; as gem_init_locked() was calling gem_setladrf(), which sets GEM_MAC_RX_CONFIG based on sc_mac_rxcfg which in turn is initialized to zero, before reading the supposedly default configuration we were effectively not basing sc_mac_rxcfg and thus GEM_MAC_RX_CONFIG on the default configuration. Solve this by calling gem_setladrf() after reading in the default configuration of GEM_MAC_RX_CONFIG. This also avoids the need to distinguish whether gem_setladrf() should enable the RX MAC again and should be slightly more correct as we're now doing all of the RX MAC configuration in the intended step. Modified: head/sys/dev/gem/if_gem.c Modified: head/sys/dev/gem/if_gem.c ============================================================================== --- head/sys/dev/gem/if_gem.c Tue Jul 12 12:29:32 2011 (r223948) +++ head/sys/dev/gem/if_gem.c Tue Jul 12 13:06:44 2011 (r223949) @@ -121,7 +121,7 @@ static void gem_rint_timeout(void *arg); #endif static inline void gem_rxcksum(struct mbuf *m, uint64_t flags); static void gem_rxdrain(struct gem_softc *sc); -static void gem_setladrf(struct gem_softc *sc, u_int enable); +static void gem_setladrf(struct gem_softc *sc); static void gem_start(struct ifnet *ifp); static void gem_start_locked(struct ifnet *ifp); static void gem_stop(struct ifnet *ifp, int disable); @@ -772,24 +772,22 @@ gem_reset_rxdma(struct gem_softc *sc) GEM_RX_CONFIG_CXM_START_SHFT) | (GEM_THRSH_1024 << GEM_RX_CONFIG_FIFO_THRS_SHIFT) | (ETHER_ALIGN << GEM_RX_CONFIG_FBOFF_SHFT)); - /* Adjust for the SBus clock probably isn't worth the fuzz. */ + /* Adjusting for the SBus clock probably isn't worth the fuzz. */ GEM_BANK1_WRITE_4(sc, GEM_RX_BLANKING, ((6 * (sc->sc_flags & GEM_PCI66) != 0 ? 2 : 1) << GEM_RX_BLANKING_TIME_SHIFT) | 6); GEM_BANK1_WRITE_4(sc, GEM_RX_PAUSE_THRESH, (3 * sc->sc_rxfifosize / 256) | ((sc->sc_rxfifosize / 256) << 12)); - /* - * Clear the RX filter and reprogram it. This will also set the - * current RX MAC configuration. - */ - gem_setladrf(sc, 0); GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, GEM_BANK1_READ_4(sc, GEM_RX_CONFIG) | GEM_RX_CONFIG_RXDMA_EN); GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_MASK, GEM_MAC_RX_DONE | GEM_MAC_RX_FRAME_CNT); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, - sc->sc_mac_rxcfg | GEM_MAC_RX_ENABLE); + /* + * Clear the RX filter and reprogram it. This will also set the + * current RX MAC configuration and enable it. + */ + gem_setladrf(sc); } static int @@ -983,7 +981,6 @@ gem_init_locked(struct gem_softc *sc) gem_init_regs(sc); /* step 5. RX MAC registers & counters */ - gem_setladrf(sc, 0); /* step 6 & 7. Program Descriptor Ring Base Addresses. */ /* NOTE: we use only 32-bit DMA addresses here. */ @@ -1055,7 +1052,7 @@ gem_init_locked(struct gem_softc *sc) (ETHER_ALIGN << GEM_RX_CONFIG_FBOFF_SHFT) | GEM_RX_CONFIG_RXDMA_EN); - /* Adjust for the SBus clock probably isn't worth the fuzz. */ + /* Adjusting for the SBus clock probably isn't worth the fuzz. */ GEM_BANK1_WRITE_4(sc, GEM_RX_BLANKING, ((6 * (sc->sc_flags & GEM_PCI66) != 0 ? 2 : 1) << GEM_RX_BLANKING_TIME_SHIFT) | 6); @@ -1072,10 +1069,14 @@ gem_init_locked(struct gem_softc *sc) /* step 12. RX_MAC Configuration Register */ v = GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG); - v |= GEM_MAC_RX_ENABLE | GEM_MAC_RX_STRIP_CRC; - (void)gem_disable_rx(sc); - sc->sc_mac_rxcfg = v & ~GEM_MAC_RX_ENABLE; - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, v); + v &= ~GEM_MAC_RX_ENABLE; + v |= GEM_MAC_RX_STRIP_CRC; + sc->sc_mac_rxcfg = v; + /* + * Clear the RX filter and reprogram it. This will also set the + * current RX MAC configuration and enable it. + */ + gem_setladrf(sc); /* step 13. TX_MAC Configuration Register */ v = GEM_BANK1_READ_4(sc, GEM_MAC_TX_CONFIG); @@ -2156,7 +2157,7 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && ((ifp->if_flags ^ sc->sc_ifflags) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) - gem_setladrf(sc, 1); + gem_setladrf(sc); else gem_init_locked(sc); } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) @@ -2174,7 +2175,7 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, case SIOCDELMULTI: GEM_LOCK(sc); if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) - gem_setladrf(sc, 1); + gem_setladrf(sc); GEM_UNLOCK(sc); break; case SIOCGIFMEDIA: @@ -2199,7 +2200,7 @@ gem_ioctl(struct ifnet *ifp, u_long cmd, } static void -gem_setladrf(struct gem_softc *sc, u_int enable) +gem_setladrf(struct gem_softc *sc) { struct ifnet *ifp = sc->sc_ifp; struct ifmultiaddr *inm; @@ -2269,7 +2270,5 @@ gem_setladrf(struct gem_softc *sc, u_int chipit: sc->sc_mac_rxcfg = v; - if (enable) - v |= GEM_MAC_RX_ENABLE; - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, v); + GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, v | GEM_MAC_RX_ENABLE); } From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 13:16:47 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37D881065672; Tue, 12 Jul 2011 13:16:47 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 23EC88FC0C; Tue, 12 Jul 2011 13:16:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CDGlMe040322; Tue, 12 Jul 2011 13:16:47 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CDGkT2040316; Tue, 12 Jul 2011 13:16:46 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201107121316.p6CDGkT2040316@svn.freebsd.org> From: Martin Matuska Date: Tue, 12 Jul 2011 13:16:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223950 - in stable/8: cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/opensolaris/common/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 13:16:47 -0000 Author: mm Date: Tue Jul 12 13:16:46 2011 New Revision: 223950 URL: http://svn.freebsd.org/changeset/base/223950 Log: MFC r223623: Add a new "REFCOMPRESSRATIO" property. For snapshots, this is the same as COMPRESSRATIO, but for filesystems/volumes, the COMPRESSRATIO is based on the data "USED" (ie, includes blocks in children, but not blocks shared with the origin). This is needed to figure out how much space a filesystem would use if it were not compressed (ignoring snapshots). Illumos-gate revision: 13387 Obtained from: Illumos (Feature #1092) Modified: stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs.8 stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c stable/8/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c stable/8/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Directory Properties: stable/8/cddl/contrib/opensolaris/ (props changed) stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Jul 12 13:06:44 2011 (r223949) +++ stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Jul 12 13:16:46 2011 (r223950) @@ -6,6 +6,7 @@ .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] +.\" Copyright 2011 by Delphix. All rights reserved. .TH zfs 1M "24 Sep 2009" "SunOS 5.11" "System Administration Commands" .SH NAME zfs \- configures ZFS file systems @@ -389,7 +390,7 @@ This property can also be referred to by .ad .sp .6 .RS 4n -The compression ratio achieved for this dataset, expressed as a multiplier. Compression can be turned on by running: \fBzfs set compression=on \fIdataset\fR\fR. The default value is \fBoff\fR. +For non-snapshots, the compression ratio achieved for the \fBused\fR space of this dataset, expressed as a multiplier. The \fBused\fR property includes descendant datasets, and, for clones, does not include the space shared with the origin snapshot. For snapshots, the \fBcompressratio\fR is the same as the \fBrefcompressratio\fR property. Compression can be turned on by running: \fBzfs set compression=on \fIdataset\fR\fR. The default value is \fBoff\fR. .RE .sp @@ -453,6 +454,17 @@ This property can also be referred to by .ne 2 .mk .na +\fB\fBrefcompressratio\fR\fR +.ad +.sp .6 +.RS 4n +The compression ratio achieved for the \fBreferenced\fR space of this dataset, expressed as a multiplier. See also the \fBcompressratio\fR property. +.RE + +.sp +.ne 2 +.mk +.na \fB\fBtype\fR\fR .ad .sp .6 @@ -1278,7 +1290,7 @@ Recursively destroy all dependents, incl Force an unmount of any file systems using the \fBunmount -f\fR command. This option has no effect on non-file systems or unmounted file systems. .RE -Extreme care should be taken when applying either the \fB-r\fR or the \fB-f\fR options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use. +Extreme care should be taken when applying either the \fB-r\fR or the \fB-R\fR options, as they can destroy large portions of a pool and cause unexpected behavior for mounted file systems in use. .RE .sp Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Jul 12 13:06:44 2011 (r223949) +++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Jul 12 13:16:46 2011 (r223950) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2010 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ #include @@ -2038,6 +2039,7 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop } break; + case ZFS_PROP_REFRATIO: case ZFS_PROP_COMPRESSRATIO: if (get_numeric_property(zhp, prop, src, &source, &val) != 0) return (-1); Modified: stable/8/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Tue Jul 12 13:06:44 2011 (r223949) +++ stable/8/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Tue Jul 12 13:16:46 2011 (r223950) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ /* Portions Copyright 2010 Robert Milkowski */ @@ -311,6 +312,9 @@ zfs_prop_init(void) zprop_register_number(ZFS_PROP_COMPRESSRATIO, "compressratio", 0, PROP_READONLY, ZFS_TYPE_DATASET, "<1.00x or higher if compressed>", "RATIO"); + zprop_register_number(ZFS_PROP_REFRATIO, "refcompressratio", 0, + PROP_READONLY, ZFS_TYPE_DATASET, + "<1.00x or higher if compressed>", "REFRATIO"); zprop_register_number(ZFS_PROP_VOLBLOCKSIZE, "volblocksize", ZVOL_DEFAULT_BLOCKSIZE, PROP_ONETIME, ZFS_TYPE_VOLUME, "512 to 128k, power of 2", "VOLBLOCK"); Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Jul 12 13:06:44 2011 (r223949) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Jul 12 13:16:46 2011 (r223950) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ #include @@ -2150,7 +2151,7 @@ dsl_dataset_sync(dsl_dataset_t *ds, zio_ void dsl_dataset_stats(dsl_dataset_t *ds, nvlist_t *nv) { - uint64_t refd, avail, uobjs, aobjs; + uint64_t refd, avail, uobjs, aobjs, ratio; dsl_dir_stats(ds->ds_dir, nv); @@ -2177,6 +2178,11 @@ dsl_dataset_stats(dsl_dataset_t *ds, nvl dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_DEFER_DESTROY, DS_IS_DEFER_DESTROY(ds) ? 1 : 0); + ratio = ds->ds_phys->ds_compressed_bytes == 0 ? 100 : + (ds->ds_phys->ds_uncompressed_bytes * 100 / + ds->ds_phys->ds_compressed_bytes); + dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_REFRATIO, ratio); + if (ds->ds_phys->ds_next_snap_obj) { /* * This is a snapshot; override the dd's space used with @@ -2184,10 +2190,7 @@ dsl_dataset_stats(dsl_dataset_t *ds, nvl */ dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_USED, ds->ds_phys->ds_unique_bytes); - dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_COMPRESSRATIO, - ds->ds_phys->ds_compressed_bytes == 0 ? 100 : - (ds->ds_phys->ds_uncompressed_bytes * 100 / - ds->ds_phys->ds_compressed_bytes)); + dsl_prop_nvlist_add_uint64(nv, ZFS_PROP_COMPRESSRATIO, ratio); } } Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Tue Jul 12 13:06:44 2011 (r223949) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Tue Jul 12 13:16:46 2011 (r223950) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ /* Portions Copyright 2010 Robert Milkowski */ @@ -124,6 +125,7 @@ typedef enum { ZFS_PROP_DEDUP, ZFS_PROP_MLSLABEL, ZFS_PROP_SYNC, + ZFS_PROP_REFRATIO, ZFS_NUM_PROPS } zfs_prop_t; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 13:22:17 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AA91106566B; Tue, 12 Jul 2011 13:22:17 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A6738FC1F; Tue, 12 Jul 2011 13:22:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CDMH81040525; Tue, 12 Jul 2011 13:22:17 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CDMHJ6040522; Tue, 12 Jul 2011 13:22:17 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107121322.p6CDMHJ6040522@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 13:22:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223951 - head/sys/dev/cas X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 13:22:17 -0000 Author: marius Date: Tue Jul 12 13:22:17 2011 New Revision: 223951 URL: http://svn.freebsd.org/changeset/base/223951 Log: Partially merge r223648, r223648 and r223949 from gem(4): - Consistently use the newly introduced sc_mac_rxcfg throughout the driver instead of reading the old content of CAS_MAC_RX_CONF. - Increment if_iqdrops instead of if_ierrors in case of RX buffer allocation failure. - According to the Cassini datasheet the RX MAC should also be disabled in cas_setladrf() before changing its configuration. - Add error messages to gem_disable_{r,t}x() and take advantage of these throughout the driver instead of duplicating their functionality all over the place. Modified: head/sys/dev/cas/if_cas.c head/sys/dev/cas/if_casvar.h Modified: head/sys/dev/cas/if_cas.c ============================================================================== --- head/sys/dev/cas/if_cas.c Tue Jul 12 13:16:46 2011 (r223950) +++ head/sys/dev/cas/if_cas.c Tue Jul 12 13:22:17 2011 (r223951) @@ -759,7 +759,7 @@ cas_reset_rx(struct cas_softc *sc) * Resetting while DMA is in progress can cause a bus hang, so we * disable DMA first. */ - cas_disable_rx(sc); + (void)cas_disable_rx(sc); CAS_WRITE_4(sc, CAS_RX_CONF, 0); CAS_BARRIER(sc, CAS_RX_CONF, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); @@ -771,7 +771,7 @@ cas_reset_rx(struct cas_softc *sc) ((sc->sc_flags & CAS_SERDES) != 0 ? CAS_RESET_PCS_DIS : 0)); CAS_BARRIER(sc, CAS_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_RESET, CAS_RESET_RX | CAS_RESET_TX, 0)) { + if (!cas_bitwait(sc, CAS_RESET, CAS_RESET_RX, 0)) { device_printf(sc->sc_dev, "cannot reset receiver\n"); return (1); } @@ -786,7 +786,7 @@ cas_reset_tx(struct cas_softc *sc) * Resetting while DMA is in progress can cause a bus hang, so we * disable DMA first. */ - cas_disable_tx(sc); + (void)cas_disable_tx(sc); CAS_WRITE_4(sc, CAS_TX_CONF, 0); CAS_BARRIER(sc, CAS_TX_CONF, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); @@ -798,7 +798,7 @@ cas_reset_tx(struct cas_softc *sc) ((sc->sc_flags & CAS_SERDES) != 0 ? CAS_RESET_PCS_DIS : 0)); CAS_BARRIER(sc, CAS_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_RESET, CAS_RESET_RX | CAS_RESET_TX, 0)) { + if (!cas_bitwait(sc, CAS_RESET, CAS_RESET_TX, 0)) { device_printf(sc->sc_dev, "cannot reset transmitter\n"); return (1); } @@ -813,7 +813,10 @@ cas_disable_rx(struct cas_softc *sc) CAS_READ_4(sc, CAS_MAC_RX_CONF) & ~CAS_MAC_RX_CONF_EN); CAS_BARRIER(sc, CAS_MAC_RX_CONF, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - return (cas_bitwait(sc, CAS_MAC_RX_CONF, CAS_MAC_RX_CONF_EN, 0)); + if (cas_bitwait(sc, CAS_MAC_RX_CONF, CAS_MAC_RX_CONF_EN, 0)) + return (1); + device_printf(sc->sc_dev, "cannot disable RX MAC\n"); + return (0); } static int @@ -824,7 +827,10 @@ cas_disable_tx(struct cas_softc *sc) CAS_READ_4(sc, CAS_MAC_TX_CONF) & ~CAS_MAC_TX_CONF_EN); CAS_BARRIER(sc, CAS_MAC_TX_CONF, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - return (cas_bitwait(sc, CAS_MAC_TX_CONF, CAS_MAC_TX_CONF_EN, 0)); + if (cas_bitwait(sc, CAS_MAC_TX_CONF, CAS_MAC_TX_CONF_EN, 0)) + return (1); + device_printf(sc->sc_dev, "cannot disable TX MAC\n"); + return (0); } static inline void @@ -987,7 +993,6 @@ cas_init_locked(struct cas_softc *sc) cas_init_regs(sc); /* step 5. RX MAC registers & counters */ - cas_setladrf(sc); /* step 6 & 7. Program Ring Base Addresses. */ CAS_WRITE_4(sc, CAS_TX_DESC3_BASE_HI, @@ -1132,23 +1137,20 @@ cas_init_locked(struct cas_softc *sc) /* step 11. Configure Media. */ /* step 12. RX_MAC Configuration Register */ - v = CAS_READ_4(sc, CAS_MAC_RX_CONF) & ~CAS_MAC_RX_CONF_STRPPAD; - v |= CAS_MAC_RX_CONF_EN | CAS_MAC_RX_CONF_STRPFCS; - CAS_WRITE_4(sc, CAS_MAC_RX_CONF, 0); - CAS_BARRIER(sc, CAS_MAC_RX_CONF, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_MAC_RX_CONF, CAS_MAC_RX_CONF_EN, 0)) - device_printf(sc->sc_dev, "cannot configure RX MAC\n"); - CAS_WRITE_4(sc, CAS_MAC_RX_CONF, v); + v = CAS_READ_4(sc, CAS_MAC_RX_CONF); + v &= ~(CAS_MAC_RX_CONF_STRPPAD | CAS_MAC_RX_CONF_EN); + v |= CAS_MAC_RX_CONF_STRPFCS; + sc->sc_mac_rxcfg = v; + /* + * Clear the RX filter and reprogram it. This will also set the + * current RX MAC configuration and enable it. + */ + cas_setladrf(sc); /* step 13. TX_MAC Configuration Register */ v = CAS_READ_4(sc, CAS_MAC_TX_CONF); v |= CAS_MAC_TX_CONF_EN; - CAS_WRITE_4(sc, CAS_MAC_TX_CONF, 0); - CAS_BARRIER(sc, CAS_MAC_TX_CONF, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_MAC_TX_CONF, CAS_MAC_TX_CONF_EN, 0)) - device_printf(sc->sc_dev, "cannot configure TX MAC\n"); + (void)cas_disable_tx(sc); CAS_WRITE_4(sc, CAS_MAC_TX_CONF, v); /* step 14. Issue Transmit Pending command. */ @@ -1742,7 +1744,7 @@ cas_rint(struct cas_softc *sc) /* Pass it on. */ (*ifp->if_input)(ifp, m); } else - ifp->if_ierrors++; + ifp->if_iqdrops++; if ((word1 & CAS_RC1_RELEASE_HDR) != 0 && refcount_release(&rxds->rxds_refcount) != 0) @@ -1838,7 +1840,7 @@ cas_rint(struct cas_softc *sc) /* Pass it on. */ (*ifp->if_input)(ifp, m); } else - ifp->if_ierrors++; + ifp->if_iqdrops++; if ((word1 & CAS_RC1_RELEASE_DATA) != 0 && refcount_release(&rxds->rxds_refcount) != 0) @@ -2330,8 +2332,8 @@ cas_mii_statchg(device_t dev) * the Cassini+ ASIC Specification. */ - rxcfg = CAS_READ_4(sc, CAS_MAC_RX_CONF); - rxcfg &= ~(CAS_MAC_RX_CONF_EN | CAS_MAC_RX_CONF_CARR); + rxcfg = sc->sc_mac_rxcfg; + rxcfg &= ~CAS_MAC_RX_CONF_CARR; txcfg = CAS_MAC_TX_CONF_EN_IPG0 | CAS_MAC_TX_CONF_NGU | CAS_MAC_TX_CONF_NGUL; if ((IFM_OPTIONS(sc->sc_mii->mii_media_active) & IFM_FDX) != 0) @@ -2340,17 +2342,9 @@ cas_mii_statchg(device_t dev) rxcfg |= CAS_MAC_RX_CONF_CARR; txcfg |= CAS_MAC_TX_CONF_CARR; } - CAS_WRITE_4(sc, CAS_MAC_TX_CONF, 0); - CAS_BARRIER(sc, CAS_MAC_TX_CONF, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_MAC_TX_CONF, CAS_MAC_TX_CONF_EN, 0)) - device_printf(sc->sc_dev, "cannot disable TX MAC\n"); + (void)cas_disable_tx(sc); CAS_WRITE_4(sc, CAS_MAC_TX_CONF, txcfg); - CAS_WRITE_4(sc, CAS_MAC_RX_CONF, 0); - CAS_BARRIER(sc, CAS_MAC_RX_CONF, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_MAC_RX_CONF, CAS_MAC_RX_CONF_EN, 0)) - device_printf(sc->sc_dev, "cannot disable RX MAC\n"); + (void)cas_disable_rx(sc); CAS_WRITE_4(sc, CAS_MAC_RX_CONF, rxcfg); v = CAS_READ_4(sc, CAS_MAC_CTRL_CONF) & @@ -2408,6 +2402,7 @@ cas_mii_statchg(device_t dev) v |= CAS_MAC_XIF_CONF_FDXLED; CAS_WRITE_4(sc, CAS_MAC_XIF_CONF, v); + sc->sc_mac_rxcfg = rxcfg; if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && (sc->sc_flags & CAS_LINK) != 0) { CAS_WRITE_4(sc, CAS_MAC_TX_CONF, @@ -2522,23 +2517,21 @@ cas_setladrf(struct cas_softc *sc) CAS_LOCK_ASSERT(sc, MA_OWNED); - /* Get the current RX configuration. */ - v = CAS_READ_4(sc, CAS_MAC_RX_CONF); - /* - * Turn off promiscuous mode, promiscuous group mode (all multicast), - * and hash filter. Depending on the case, the right bit will be - * enabled. + * Turn off the RX MAC and the hash filter as required by the Sun + * Cassini programming restrictions. */ - v &= ~(CAS_MAC_RX_CONF_PROMISC | CAS_MAC_RX_CONF_HFILTER | - CAS_MAC_RX_CONF_PGRP); - + v = sc->sc_mac_rxcfg & ~(CAS_MAC_RX_CONF_HFILTER | + CAS_MAC_RX_CONF_EN); CAS_WRITE_4(sc, CAS_MAC_RX_CONF, v); CAS_BARRIER(sc, CAS_MAC_RX_CONF, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!cas_bitwait(sc, CAS_MAC_RX_CONF, CAS_MAC_RX_CONF_HFILTER, 0)) - device_printf(sc->sc_dev, "cannot disable RX hash filter\n"); + if (!cas_bitwait(sc, CAS_MAC_RX_CONF, CAS_MAC_RX_CONF_HFILTER | + CAS_MAC_RX_CONF_EN, 0)) + device_printf(sc->sc_dev, + "cannot disable RX MAC or hash filter\n"); + v &= ~(CAS_MAC_RX_CONF_PROMISC | CAS_MAC_RX_CONF_PGRP); if ((ifp->if_flags & IFF_PROMISC) != 0) { v |= CAS_MAC_RX_CONF_PROMISC; goto chipit; @@ -2584,7 +2577,8 @@ cas_setladrf(struct cas_softc *sc) hash[i]); chipit: - CAS_WRITE_4(sc, CAS_MAC_RX_CONF, v); + sc->sc_mac_rxcfg = v; + CAS_WRITE_4(sc, CAS_MAC_RX_CONF, v | CAS_MAC_RX_CONF_EN); } static int cas_pci_attach(device_t dev); Modified: head/sys/dev/cas/if_casvar.h ============================================================================== --- head/sys/dev/cas/if_casvar.h Tue Jul 12 13:16:46 2011 (r223950) +++ head/sys/dev/cas/if_casvar.h Tue Jul 12 13:22:17 2011 (r223951) @@ -196,6 +196,8 @@ struct cas_softc { u_int sc_rxcptr; /* next ready RX completion */ u_int sc_rxdptr; /* next ready RX descriptor */ + uint32_t sc_mac_rxcfg; /* RX MAC conf. % CAS_MAC_RX_CONF_EN */ + int sc_ifflags; }; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 13:28:39 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6DE4106564A; Tue, 12 Jul 2011 13:28:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D7EE18FC16; Tue, 12 Jul 2011 13:28:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CDSdvg040748; Tue, 12 Jul 2011 13:28:39 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CDSdMT040746; Tue, 12 Jul 2011 13:28:39 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107121328.p6CDSdMT040746@svn.freebsd.org> From: John Baldwin Date: Tue, 12 Jul 2011 13:28:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223952 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 13:28:40 -0000 Author: jhb Date: Tue Jul 12 13:28:39 2011 New Revision: 223952 URL: http://svn.freebsd.org/changeset/base/223952 Log: Properly align the end of a candidate back region based on the window's granularity when growing a PCI-PCI window up. Tested by: dougb MFC after: 3 days Modified: head/sys/dev/pci/pci_pci.c Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Tue Jul 12 13:22:17 2011 (r223951) +++ head/sys/dev/pci/pci_pci.c Tue Jul 12 13:28:39 2011 (r223952) @@ -954,7 +954,7 @@ pcib_grow_window(struct pcib_softc *sc, if (bootverbose) printf("\tback candidate range: %#lx-%#lx\n", start_free, back); - back = roundup2(back + 1, w->step) - 1; + back = roundup2(back + 1, 1ul << w->step) - 1; back -= rman_get_end(w->res); } else back = 0; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 13:46:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9461C106564A; Tue, 12 Jul 2011 13:46:13 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 830538FC08; Tue, 12 Jul 2011 13:46:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CDkDIW041326; Tue, 12 Jul 2011 13:46:13 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CDkDfp041322; Tue, 12 Jul 2011 13:46:13 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201107121346.p6CDkDfp041322@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 12 Jul 2011 13:46:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223953 - in head: gnu/usr.bin/groff/tmac lib/libprocstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 13:46:13 -0000 Author: pluknet Date: Tue Jul 12 13:46:13 2011 New Revision: 223953 URL: http://svn.freebsd.org/changeset/base/223953 Log: Provide a simple manual page for libprocstat(3). Reviewed by: jilles, gjb Added: head/lib/libprocstat/libprocstat.3 (contents, props changed) Modified: head/gnu/usr.bin/groff/tmac/mdoc.local head/lib/libprocstat/Makefile Modified: head/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- head/gnu/usr.bin/groff/tmac/mdoc.local Tue Jul 12 13:28:39 2011 (r223952) +++ head/gnu/usr.bin/groff/tmac/mdoc.local Tue Jul 12 13:46:13 2011 (r223953) @@ -56,6 +56,7 @@ .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libpmc Performance Monitoring Counters Interface Library (libpmc, \-lpmc) .ds doc-str-Lb-libproc Processor Monitoring and Analysis Library (libproc, \-lproc) +.ds doc-str-Lb-libprocstat Process and Files Information Retrieval (libprocstat, \-lprocstat) .ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-librtld_db Run-time Linker Debugging Library (librtld_db, \-lrtld_db) Modified: head/lib/libprocstat/Makefile ============================================================================== --- head/lib/libprocstat/Makefile Tue Jul 12 13:28:39 2011 (r223952) +++ head/lib/libprocstat/Makefile Tue Jul 12 13:46:13 2011 (r223953) @@ -15,13 +15,15 @@ SRCS= cd9660.c \ VERSION_DEF= ${.CURDIR}/Versions.def SYMBOL_MAPS= ${.CURDIR}/Symbol.map -INCS= libprocstat.h +INCS= libprocstat.h CFLAGS+= -I. -I${.CURDIR} -D_KVM_VNODE SHLIB_MAJOR= 1 -WITHOUT_MAN= yes + DPADD= ${LIBKVM} ${LIBUTIL} LDADD= -lkvm -lutil +MAN= libprocstat.3 + .if ${MK_NCP} != "no" CFLAGS+= -DLIBPROCSTAT_NWFS SRCS+= nwfs.c Added: head/lib/libprocstat/libprocstat.3 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libprocstat/libprocstat.3 Tue Jul 12 13:46:13 2011 (r223953) @@ -0,0 +1,251 @@ +.\" Copyright (c) 2011 Sergey Kandaurov +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 12, 2011 +.Dt LIBPROCSTAT 3 +.Os +.Sh NAME +.Nm procstat_open_kvm , +.Nm procstat_open_sysctl , +.Nm procstat_close , +.Nm procstat_getfiles , +.Nm procstat_getprocs , +.Nm procstat_freefiles , +.Nm procstat_freeprocs , +.Nm procstat_get_pipe_info , +.Nm procstat_get_pts_info , +.Nm procstat_get_socket_info , +.Nm procstat_get_vnode_info +.Nd library interface for file and process information retrieval +.Sh LIBRARY +.Lb libprocstat +.Sh SYNOPSIS +.In sys/param.h +.In sys/queue.h +.In libprocstat.h +.Ft void +.Fn procstat_close "struct procstat *procstat" +.Ft void +.Fo procstat_freefiles +.Fa "struct procstat *procstat" +.Fa "struct filestat_list *head" +.Fc +.Ft void +.Fn procstat_freeprocs "struct procstat *procstat" "struct kinfo_proc *p" +.Ft int +.Fo procstat_get_pipe_info +.Fa "struct procstat *procstat" +.Fa "struct filestat *fst" +.Fa "struct pipestat *pipe" +.Fa "char *errbuf" +.Fc +.Ft int +.Fo procstat_get_pts_info +.Fa "struct procstat *procstat" +.Fa "struct filestat *fst" +.Fa "struct ptsstat *pts" +.Fa "char *errbuf" +.Fc +.Ft int +.Fo procstat_get_socket_info +.Fa "struct procstat *procstat" +.Fa "struct filestat *fst" +.Fa "struct sockstat *sock" +.Fa "char *errbuf" +.Fc +.Ft int +.Fo procstat_get_vnode_info +.Fa "struct procstat *procstat" +.Fa "struct filestat *fst" +.Fa "struct vnstat *vn" +.Fa "char *errbuf" +.Fc +.Ft "struct filestat_list *" +.Fo procstat_getfiles +.Fa "struct procstat *procstat" +.Fa "struct kinfo_proc *kp" +.Fa "int mmapped" +.Fc +.Ft "struct kinfo_proc *" +.Fo procstat_getprocs +.Fa "struct procstat *procstat" +.Fa "int what" +.Fa "int arg" +.Fa "unsigned int *count" +.Fc +.Ft "struct procstat *" +.Fn procstat_open_kvm "const char *nlistf" "const char *memf" +.Ft "struct procstat *" +.Fn procstat_open_sysctl void +.Sh DESCRIPTION +The +.Nm libprocstat +library contains the API for runtime file and process information +retrieval from the running kernel via the +.Xr sysctl 3 +library backend, and for post-mortem analysis via the +.Xr kvm 3 +library backend. +.Pp +The +.Fn procstat_open_kvm +and +.Fn procstat_open_sysctl +functions use the +.Xr kvm 3 +or +.Xr sysctl 3 +library routines, respectively, to access kernel state information +used to retrieve processes and files states. +The +.Fa nlistf +argument is the executable image of the kernel being examined. +If this argument is +.Dv NULL , +the currently running kernel is assumed. +The +.Fa memf +argument is the kernel memory device file. +If this argument is +.Dv NULL , +then +.Pa /dev/mem +is assumed. +See +.Xr kvm_open 3 +for more details. +Both functions dynamically allocate and return a +.Vt procstat +structure pointer used in the rest of the +.Nm libprocstat +library routines until the corresponding +.Fn procstat_close +call that cleans up the resources allocated by the +.Fn procstat_open_* +functions. +.Pp +The +.Fn procstat_getprocs +function gets a pointer to the +.Vt procstat +structure from one of the +.Fn procstat_open_* +functions and returns a dynamically allocated (sub-)set of active processes +in the kernel filled in to array of +.Vt kinfo_proc +structures. +The +.Fa what +and +.Fa arg +arguments constitute a filtering predicate as described in the +.Xr kvm_getprocs 3 +function. +The number of processes found is returned in the reference parameter +.Fa cnt . +The caller is responsible to free the allocated memory with a subsequent +.Fn procstat_freeprocs +function call. +.Pp +The +.Fn procstat_getfiles +function gets a pointer to the +.Vt procstat +structure initialized with one of the +.Fn procstat_open_* +functions, a pointer to +.Vt kinfo_proc +structure from the array obtained from the +.Fn kvm_getprocs +function, and returns a dynamically allocated linked list of filled in +.Vt filestat_list +structures using the STAILQ macros defined in +.Xr queue 3 . +The caller is responsible to free the allocated memory with a subsequent +.Fn procstat_freefiles +function call. +.Pp +The +.Fn procstat_get_pipe_info , +.Fn procstat_get_pts_info , +.Fn procstat_get_socket_info +and +.Fn procstat_get_vnode_info +functions are used to retrive information about pipes, pseudo-terminals, +sockets, and vnodes, respectively. +Each of them have a similar interface API. +The +.Fa procstat +argument is a pointer obtained from one of +.Fn procstat_open_* +functions. +The +.Ft filestat Fa fst +argument is an element of STAILQ linked list as obtained from the +.Fn procstat_getfiles +function. +The +.Ft filestat +structure contains a +.Fa fs_type +field that specifies a file type and a corresponding function to be +called among the +.Nm procstat_get_*_info +function family. +The actual object is returned in the 3rd reference parameter. +The +.Fa errbuf +argument indicates an actual error message in case of failure. +.Pp +.Bl -tag -width 20n -compact -offset indent +.It Li PS_FST_TYPE_FIFO +.Nm procstat_get_vnode_info +.It Li PS_FST_TYPE_VNODE +.Nm procstat_get_vnode_info +.It Li PS_FST_TYPE_SOCKET +.Nm procstat_get_socket_info +.It Li PS_FST_TYPE_PIPE +.Nm procstat_get_pipe_info +.It Li PS_FST_TYPE_PTS +.Nm procstat_get_pts_info +.El +.Sh SEE ALSO +.Xr fstat 1 , +.Xr fuser 1 , +.Xr pipe 2 , +.Xr socket 2 , +.Xr kvm 3 , +.Xr queue 3 , +.Xr sysctl 3 , +.Xr pts 4 , +.Xr vnode 9 +.Sh HISTORY +The +.Nm libprocstat +library appeared in +.Fx 9.0 . +.Sh AUTHORS +.An Stanislav Sedov Aq stas@FreeBSD.org From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 14:04:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2C2C0106566C; Tue, 12 Jul 2011 14:04:37 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0354A8FC20; Tue, 12 Jul 2011 14:04:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CE4adM041890; Tue, 12 Jul 2011 14:04:36 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CE4aYR041888; Tue, 12 Jul 2011 14:04:36 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201107121404.p6CE4aYR041888@svn.freebsd.org> From: Rick Macklem Date: Tue, 12 Jul 2011 14:04:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223954 - head/usr.sbin/mountd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 14:04:37 -0000 Author: rmacklem Date: Tue Jul 12 14:04:36 2011 New Revision: 223954 URL: http://svn.freebsd.org/changeset/base/223954 Log: Try and fix the exports.5 man page so that it clarifies how NFSv4 exports are handled. Improved by informal review comments from mckusick, kudak at mit.edu and bde. This is a content change. MFC after: 2 weeks Modified: head/usr.sbin/mountd/exports.5 Modified: head/usr.sbin/mountd/exports.5 ============================================================================== --- head/usr.sbin/mountd/exports.5 Tue Jul 12 13:46:13 2011 (r223953) +++ head/usr.sbin/mountd/exports.5 Tue Jul 12 14:04:36 2011 (r223954) @@ -28,7 +28,7 @@ .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" $FreeBSD$ .\" -.Dd December 3, 2009 +.Dd July 12, 2011 .Dt EXPORTS 5 .Os .Sh NAME @@ -72,6 +72,13 @@ that can be mounted on by the correspond There are three forms of this specification. The first is to list all mount points as absolute directory paths separated by whitespace. +This list of directory paths should be considered an +.Dq administrative control , +since it is only enforced by the +.Xr mountd 8 +daemon and not the kernel. +As such, it only applies to NFSv2 and NFSv3 mounts and only +with respect to the client's use of the mount protocol. The second is to specify the pathname of the root of the file system followed by the .Fl alldirs @@ -81,8 +88,21 @@ including regular files if the .Fl r option is used on .Xr mountd 8 . +Because NFSv4 does not use the mount protocol, +the +.Dq administrative controls +are not applied. +Thus, all the above export line(s) should be considered to have the +.Fl alldirs +flag, even if the line is specified without it. The third form has the string ``V4:'' followed by a single absolute path name, to specify the NFSv4 tree root. +This line does not export any file system, but simply marks where the root +of the server's directory tree is for NFSv4 clients. +The exported file systems for NFSv4 are specified via the other lines +in the +.Xr exports 5 +file in the same way as for NFSv2 and NFSv3. The pathnames must not have any symbolic links in them and should not have any .Dq Pa \&. From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 14:18:55 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D437106566B; Tue, 12 Jul 2011 14:18:55 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D9BF28FC12; Tue, 12 Jul 2011 14:18:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CEIsUF042383; Tue, 12 Jul 2011 14:18:54 GMT (envelope-from ivoras@svn.freebsd.org) Received: (from ivoras@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CEIsoI042381; Tue, 12 Jul 2011 14:18:54 GMT (envelope-from ivoras@svn.freebsd.org) Message-Id: <201107121418.p6CEIsoI042381@svn.freebsd.org> From: Ivan Voras Date: Tue, 12 Jul 2011 14:18:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223955 - head/share/man/man8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 14:18:55 -0000 Author: ivoras Date: Tue Jul 12 14:18:54 2011 New Revision: 223955 URL: http://svn.freebsd.org/changeset/base/223955 Log: Sort Xr's by number then by name Nitpicked by: niclas zeising at gmail.com :) Modified: head/share/man/man8/picobsd.8 Modified: head/share/man/man8/picobsd.8 ============================================================================== --- head/share/man/man8/picobsd.8 Tue Jul 12 14:04:36 2011 (r223954) +++ head/share/man/man8/picobsd.8 Tue Jul 12 14:18:54 2011 (r223955) @@ -647,8 +647,8 @@ already exists on disk (e.g.\& as a resu .Sh SEE ALSO .Xr crunchgen 1 , .Xr mdconfig 8 , -.Xr swapon 8 , -.Xr nanobsd 8 +.Xr nanobsd 8 , +.Xr swapon 8 .Sh AUTHORS .An -nosplit .An Andrzej Bialecki Aq abial@FreeBSD.org , From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 14:28:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A6FD1065674; Tue, 12 Jul 2011 14:28:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1AC888FC20; Tue, 12 Jul 2011 14:28:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CESDNB042699; Tue, 12 Jul 2011 14:28:13 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CESDOF042697; Tue, 12 Jul 2011 14:28:13 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107121428.p6CESDOF042697@svn.freebsd.org> From: John Baldwin Date: Tue, 12 Jul 2011 14:28:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223956 - stable/7/usr.bin/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 14:28:14 -0000 Author: jhb Date: Tue Jul 12 14:28:13 2011 New Revision: 223956 URL: http://svn.freebsd.org/changeset/base/223956 Log: MFC 182966: Display the sum of the runtime of all the threads in a process when it's multithreaded instead of picking the time of the first thread found. Modified: stable/7/usr.bin/top/machine.c Directory Properties: stable/7/usr.bin/top/ (props changed) Modified: stable/7/usr.bin/top/machine.c ============================================================================== --- stable/7/usr.bin/top/machine.c Tue Jul 12 14:18:54 2011 (r223955) +++ stable/7/usr.bin/top/machine.c Tue Jul 12 14:28:13 2011 (r223956) @@ -726,6 +726,7 @@ get_process_info(struct system_info *si, prev_pp = pp; } else { prev_pp->ki_pctcpu += pp->ki_pctcpu; + prev_pp->ki_runtime += pp->ki_runtime; } } From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 14:43:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B0118106566B; Tue, 12 Jul 2011 14:43:49 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A0AE48FC0A; Tue, 12 Jul 2011 14:43:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CEhnGn043167; Tue, 12 Jul 2011 14:43:49 GMT (envelope-from gallatin@svn.freebsd.org) Received: (from gallatin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CEhnjt043165; Tue, 12 Jul 2011 14:43:49 GMT (envelope-from gallatin@svn.freebsd.org) Message-Id: <201107121443.p6CEhnjt043165@svn.freebsd.org> From: Andrew Gallatin Date: Tue, 12 Jul 2011 14:43:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223957 - head/sys/dev/mxge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 14:43:49 -0000 Author: gallatin Date: Tue Jul 12 14:43:49 2011 New Revision: 223957 URL: http://svn.freebsd.org/changeset/base/223957 Log: Fix media reporting for dual port CX4 myri10ge NICs MFC after: 7 days Sponsored by: Myricom, Inc. Modified: head/sys/dev/mxge/if_mxge.c Modified: head/sys/dev/mxge/if_mxge.c ============================================================================== --- head/sys/dev/mxge/if_mxge.c Tue Jul 12 14:28:13 2011 (r223956) +++ head/sys/dev/mxge/if_mxge.c Tue Jul 12 14:43:49 2011 (r223957) @@ -2834,7 +2834,7 @@ mxge_media_init(mxge_softc_t *sc) return; } } - if (*ptr == 'C') { + if (*ptr == 'C' || *(ptr +1) == 'C') { /* -C is CX4 */ sc->connector = MXGE_CX4; mxge_media_set(sc, IFM_10G_CX4); From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 15:07:18 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34C12106564A; Tue, 12 Jul 2011 15:07:18 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 247658FC13; Tue, 12 Jul 2011 15:07:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CF7IeV043901; Tue, 12 Jul 2011 15:07:18 GMT (envelope-from gallatin@svn.freebsd.org) Received: (from gallatin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CF7Iah043898; Tue, 12 Jul 2011 15:07:18 GMT (envelope-from gallatin@svn.freebsd.org) Message-Id: <201107121507.p6CF7Iah043898@svn.freebsd.org> From: Andrew Gallatin Date: Tue, 12 Jul 2011 15:07:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223958 - head/sys/dev/mxge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 15:07:18 -0000 Author: gallatin Date: Tue Jul 12 15:07:17 2011 New Revision: 223958 URL: http://svn.freebsd.org/changeset/base/223958 Log: Update mxge(4) firmware to the latest version available from Myricom (1.4.53a). MFC after: 7 days Sponored by: Myricom, Inc. Modified: head/sys/dev/mxge/eth_z8e.h head/sys/dev/mxge/ethp_z8e.h head/sys/dev/mxge/rss_eth_z8e.h head/sys/dev/mxge/rss_ethp_z8e.h Modified: head/sys/dev/mxge/eth_z8e.h ============================================================================== --- head/sys/dev/mxge/eth_z8e.h Tue Jul 12 14:43:49 2011 (r223957) +++ head/sys/dev/mxge/eth_z8e.h Tue Jul 12 15:07:17 2011 (r223958) @@ -1,6 +1,6 @@ /******************************************************************************* -Copyright (c) 2006-2010, Myricom Inc. +Copyright (c) 2006-2011, Myricom Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -28,7287 +28,7495 @@ POSSIBILITY OF SUCH DAMAGE. $FreeBSD$ ***************************************************************************/ -static unsigned int eth_z8e_uncompressed_length = 367564 ; -static unsigned int eth_z8e_length = 116477 ; -static unsigned char eth_z8e[116477 + 1] = - "\x78\x9c\xec\xbd\x7f\x78\x54\x45\xb2\x37\x5e\x99\x0c\x32\x89\x81" - "\x19\x31\xe2\x88\xb8\x0e\x8a\x1a\x5d\x90\xa8\xb8\x1b\x5d\xd0\x28" - "\xe0\xa2\xf2\x23\xab\xe8\x46\x45\x03\x1a\x70\xd0\x88\x11\x02\x0c" - "\x10\x32\x61\xc0\xdd\x04\xf9\xa5\x46\x8d\x10\x48\x80\xe0\xc5\x5d" - "\x54\x44\xbc\x46\x05\x9c\xdd\x64\xbf\x0f\xf7\x5e\x92\x61\xf7\xb2" - "\xef\x9b\xdd\x2f\x7b\x77\xc4\xc8\x8e\xbc\x01\x46\x32\x90\x31\x99" - "\x39\xfd\xfd\x54\xf7\x39\xc9\xcc\x30\x41\x79\xef\x7d\x9e\xef\x3f" - "\x9b\xe7\x99\x9c\x73\xfa\x74\x57\x57\x57\x57\x55\x57\x77\x57\xd7" - "\x21\xba\xf0\x3f\x3f\x59\xf8\x92\x42\xa6\x86\xe0\xef\xfe\x2f\xca" +static unsigned int eth_z8e_uncompressed_length = 375636 ; +static unsigned int eth_z8e_length = 119802 ; +static unsigned char eth_z8e[119802 + 1] = + "\x78\x9c\xec\xbd\x7f\x78\x54\xd5\xb5\x3f\xbc\x32\x99\xc8\x24\x06" + "\x26\x62\xc4\x29\xc5\x76\xb0\x41\xa3\x05\x89\x16\xdb\xd4\x42\x0d" + "\x02\x1a\x2c\xbf\x14\x6c\xa3\xa2\x09\x1a\xe8\xa0\x11\x22\x44\x18" + "\x20\x64\xc2\x80\x36\x41\x20\xa9\xa0\x46\x09\x09\xbd\xf2\x23\x56" + "\xac\xd8\x02\x62\x45\x19\x24\xf6\x4b\x7b\x93\x0c\xed\x8b\xf7\x9b" + "\xdb\x17\x6f\x47\x6e\x84\x94\x1b\x60\x4a\x06\x32\x26\x33\x67\xbf" + "\x9f\xb5\xf7\x39\xc9\xcc\x30\x41\xb9\xf7\x3e\xcf\xfb\x4f\xf3\x3c" + "\x93\x73\xce\x3e\x7b\xaf\xbd\xf6\xda\x6b\xad\xbd\xf6\xde\x6b\xaf" + "\x43\x74\xe5\x7f\x3e\xb2\xf0\x25\x81\x4c\x07\x8a\x0f\xfd\x37\xca" "\xff\xf3\xef\x9f\x7f\xff\xfc\xfb\xe7\xdf\x3f\xff\xfe\xf9\xf7\xcf" - "\xbf\xff\x7f\xff\x82\x29\x34\xfa\xb4\xc9\x4c\xbf\x5f\x4f\xd4\xe9" - "\xb1\x0c\xf5\x53\x57\xf1\x5b\xaf\x8b\x08\x5e\xa5\x60\x9c\x1f\xca" - "\x57\xfe\xbd\x86\x34\xd3\x7a\xb2\x5c\x63\xa3\x8c\x71\x9b\x88\xaa" - "\x06\x8b\xf6\xd7\xdf\x14\xc1\x15\x6f\x8a\xf6\xf1\xdb\x89\x9a\x86" - "\x13\xbd\x3e\x58\x84\x00\x63\xba\x9f\x9e\x9a\xc6\x30\x56\xe0\x99" - "\xdf\xaf\x1c\x2c\x82\x48\x2f\x41\xfa\x41\x4e\x5f\x3e\x18\xb0\x32" - "\x89\x3c\x6f\x8a\x70\x0c\x5c\x0b\x97\x67\x98\xe3\x87\x49\x5c\xea" - "\x13\xe0\x30\x8c\x06\x3f\x15\x8c\x3f\x0f\x8c\x0c\x03\xaf\x90\x89" - "\x52\x18\x5e\x87\x87\xec\x21\x8f\xf7\x32\x94\x0d\xa1\x3d\x59\x5c" - "\x76\x1d\xf2\x08\x0f\xa5\x36\xb9\x22\xe4\xb8\x86\x52\x8e\x51\xfa" - "\x16\x5c\x4d\xb8\xbe\xc1\x6d\x5d\xa1\xca\x0d\x67\x18\x28\x9b\xd2" - "\xe9\x49\xcb\xee\x29\x0b\xd8\x8e\x32\x32\x23\xef\x9c\x90\xc9\x6b" - "\x52\x79\x6d\x69\x7a\x5e\x13\xf2\x4e\x37\xf2\xaa\x77\xa6\xfb\xf5" - "\x77\x17\xe3\x9d\x2b\xfe\x9d\xf9\x35\xfd\x5d\x06\xde\x55\x25\xe0" - "\x67\xf6\x75\x45\xe8\x18\xa5\xed\x04\x2e\x8e\x46\xf4\x08\x97\xd1" - "\xf3\x5f\x82\xfc\x4d\xf1\xb0\x88\xf4\x77\x83\xf0\xce\x1f\xff\x6e" - "\x7f\xb6\xfe\xee\x72\xbc\x8b\xc4\xbf\x4b\x31\xca\xd9\x3b\x3d\xe9" - "\xf6\x24\xed\xe4\xfa\x53\x54\xdd\xdc\x86\xf4\x31\xc8\x53\xce\x79" - "\xa6\x39\xca\x89\xfb\x8a\xdf\x35\xd6\xf5\xd4\xcf\x79\x66\x18\x70" - "\xfc\x28\x1f\x43\x53\xd0\x32\xbd\xd4\x28\x3f\xde\xc1\x30\x48\xd2" - "\x90\xe1\xf8\x29\x6d\x22\xc3\xe1\x67\xdc\x0f\xe5\x76\xeb\xf7\x0e" - "\x6e\x5f\x6c\x9f\x13\x99\x01\xb6\x1f\x0c\xd1\x8b\xf0\xeb\x6f\x31" - "\x78\x60\xbe\x5d\x68\xee\x2b\xc8\x2c\x56\x6d\xa9\xd3\x3c\x82\x7c" - "\xae\x30\x39\x86\x90\xfb\x28\x5d\x6c\x07\x7e\xb4\x76\x09\x59\xdc" - "\xc5\x22\xec\x73\xb5\x53\x4b\xb0\x9d\xdc\x41\x11\xf0\x45\xce\x50" - "\xd9\x19\xb2\xf8\x22\x27\xa8\xec\x25\xb2\x37\x95\x7e\x4d\xc9\xf8" - "\x4b\x33\x09\x72\x0f\xe5\xb2\x6d\xd4\x52\xd3\x46\xee\x9a\xf8\xb2" - "\xee\xab\xc8\xde\x8c\x67\xf4\x9d\x95\xf1\x68\x72\x44\x28\x92\xbe" - "\xa5\xae\xf4\x6d\x32\xbb\x87\x91\xa9\xb9\xd0\x6b\xe0\xe2\x67\x5c" - "\x56\x1e\x27\xcb\xb6\xd9\xe0\xa1\xe3\x8c\xef\xbb\x75\x1f\x2c\x09" - "\x9b\x1a\xed\x93\xa8\xd1\x7e\x84\x9a\xec\x63\xa9\xc9\x35\x9e\xd6" - "\x1e\xa7\x8c\xc6\xf0\x18\x6a\x32\xdf\x07\x19\x1b\x4f\xbe\x76\xdc" - "\x3b\xa2\xc8\x13\x22\xc7\x42\x02\x7f\x5c\x7c\xa8\xea\x39\xb2\xf8" - "\x15\x4c\xd0\xf7\xe2\x23\xbf\x2b\x21\x62\xfa\xf2\x73\xb2\x76\xcc" - "\xbf\x82\xec\xc0\x2f\x00\x5c\xee\x38\x4a\x19\x97\x0d\xb7\x53\x36" - "\x70\xee\xef\xab\x8e\x90\xb9\x94\xd2\xfa\x90\xad\x4c\xcd\x23\x65" - "\xbc\x7d\xf3\x9b\x22\xc0\x3c\xda\xb1\x34\x1f\x72\x9a\x31\x09\x75" - "\xb7\x73\x7d\x6b\x21\xeb\xee\x2d\x64\xee\x58\x94\x9f\x52\xfb\xa6" - "\x68\xc3\x3b\xa7\xf1\x0e\xfc\xd4\x86\xf7\x81\x51\x99\x64\xf3\x45" - "\x72\xe9\x8b\xae\x80\x99\x61\x0c\x0c\x51\x0a\xc3\xb3\xba\x28\x15" - "\xed\xe9\x07\x7c\xee\xa8\x45\xfa\xb5\xc8\x87\xf2\x3b\xfc\xf4\x9a" - "\x9d\xcb\x8b\xcb\x9f\x08\x69\x97\x3f\x71\x46\x7b\xeb\x89\x0e\xf1" - "\xd6\x13\xa7\xa3\x6f\x3d\xf1\xad\x7b\x31\x59\xa2\x97\x3f\x11\x6c" - "\x29\x96\x7d\x60\x6b\x29\x46\x1f\x44\xc9\xb2\xec\x04\xd9\x9e\x7a" - "\x09\x7d\x1f\xf9\x1b\x2d\x9b\x43\x76\x2d\x6d\x47\xbe\x2f\xf2\x67" - "\x7a\xaa\x94\x04\xee\x9d\xc9\xda\xd7\x91\xfe\xae\x5f\xc9\x90\x05" - "\x6d\x1a\xe0\xf0\x9b\xea\xaa\xb9\xde\x60\xda\x87\x7e\xfc\xda\xf0" - "\x0b\xe0\xd7\x2e\xd2\xdf\x65\xd9\x74\x0f\x5c\x9e\x42\x9b\xbb\x88" - "\x46\x69\x94\x72\x9c\x06\x8c\x01\xfe\xb6\x3e\xe8\x36\x54\x5b\xb5" - "\xf7\xd0\x0d\xe5\x54\xd6\xd9\xe9\x24\xd6\x4d\xac\x97\x58\x4f\xa1" - "\x9e\x0a\xd4\xd3\x2a\x65\xf1\x4d\x11\x12\xe9\x7b\x0f\x21\x3d\x10" - "\x5a\xea\x4c\x09\x2e\x75\x9a\x3a\xd2\xf7\xfe\x27\xf2\xec\xf4\x9b" - "\xb6\xd8\x74\x1a\x06\x18\x16\x64\x22\x38\x20\x42\xa9\x80\x59\xfc" - "\xc9\xd9\x56\xf3\xa6\x37\xc5\x11\xe4\x3b\xdc\x03\x0b\xb0\x01\x07" - "\xf4\x1f\x10\x30\xd2\x40\xeb\xb6\x35\xc8\xc7\xe5\x7d\xe1\x5c\xd6" - "\xdf\x7e\x5f\x51\x80\xac\x11\x4a\x17\xdd\xaa\x3e\xe4\x09\xb0\x9e" - "\x1d\x10\xa6\x8b\x3a\x3d\x94\xc7\xb0\xb9\x9c\xaf\x3d\x40\x28\xf7" - "\x9f\xc2\xed\x84\x7e\xa3\x29\x9d\xc2\x99\x02\x9d\xde\xd6\x88\xf2" - "\xaa\xee\x81\x79\x06\x8e\x5c\x07\xf7\xb5\xc4\x13\xfc\xd0\x58\x14" - "\xa6\x01\xd5\x94\x8a\x72\x0f\x33\x3c\x86\x05\x3e\xf0\xa3\xad\xff" - "\xd9\x58\x14\x24\x4d\xc4\xc1\xf4\xeb\xf0\xea\xe2\xe0\x21\x5d\x00" - "\x1e\xf3\x5f\x13\xca\x0c\xa8\x93\xf0\x1e\xfa\x44\x63\x78\x61\x32" - "\x3b\x24\xbe\x8f\x32\x8c\x4e\xd6\x31\x80\xe9\x5d\x78\x2f\xb5\x93" - "\xd5\x12\x74\x3b\x53\x5b\x4a\x89\xb8\xfc\x07\x65\x81\x7e\xa2\x23" - "\x3f\x95\x79\x8e\xdf\xfb\x22\xa7\x91\x67\xe0\x37\xa2\xc3\x99\x3a" - "\xa0\x9d\xcc\x8c\x33\xca\xbb\x18\xcf\xd8\xbe\x7c\x68\xc2\xa3\x63" - "\xe9\xd1\xf1\xf7\x8f\x1f\x4b\x93\xef\x19\x37\x96\xb2\xef\x18\x99" - "\x7d\xdb\x4f\x73\x6e\xa3\xbc\x5f\x3e\x34\x96\xf2\xa6\x8c\xa5\x87" - "\xf1\xcb\x7b\x78\xc2\x43\xe3\x27\x3c\x3c\x96\xf2\xef\xbb\x1f\x4f" - "\xe3\xc6\xde\x92\xfd\xf3\x91\x79\xe3\xee\x9f\x40\xbf\x98\x76\x6b" - "\xf6\xad\xb7\xd2\x3d\x13\x26\xdd\x92\x9d\xad\x5f\x6f\xc9\xe6\x2c" - "\x8f\xe7\x4c\x78\x78\x64\xde\xbc\x17\x4b\x5e\x1c\x39\xe5\xfe\x71" - "\x9c\xc2\x63\x72\x0c\xef\x64\x45\xcf\x6a\x4c\xe3\x90\x38\x35\x91" - "\x34\xe8\x8c\xcd\xe8\x7b\xfc\xda\xbd\x65\x47\x21\xfb\xb6\x3f\x6f" - "\xe6\x3e\x93\xba\xd5\xca\xe3\x95\xb9\xd3\x63\x3d\x02\xda\xe5\x31" - "\xed\x30\xa6\x21\xcf\xe0\xc5\x78\x77\xa3\x3e\x76\xf4\xc3\xfb\x48" - "\xfc\xfb\x41\xd0\xb3\xd6\x51\x2d\x0e\x22\x1f\x7e\xa0\x77\x08\x3a" - "\x10\x74\x0d\x52\x87\x3b\xbf\x1f\xf8\x3a\x05\x75\xb4\x41\x26\x41" - "\x1b\x5b\x4e\x8c\xac\xb7\xa1\x5f\x0e\x39\x96\x50\xea\x49\xb2\x5d" - "\xd2\x52\x92\x4b\xdc\x3f\xbe\x12\x1d\xc6\x99\x1e\x18\xe9\x12\x06" - "\xfa\x1c\x70\x0e\xeb\x70\xca\x63\xf4\x82\x9f\xe1\xac\xc5\x3b\x1d" - "\xd6\x23\x2d\xd0\x0f\xd0\xdf\xbf\xd1\xdc\x59\x24\xd2\xb7\xec\xd0" - "\xba\xb3\xe4\x98\x80\x72\x0d\x06\x3f\xa3\xfe\x50\x13\xea\x14\xdb" - "\x26\xa6\xa0\xff\x53\x30\x56\xa1\x2d\xd6\x26\xf0\x35\xe4\xe8\xc3" - "\xa0\xe8\xce\x27\x95\x76\x89\x39\xba\x0a\xcf\xab\x3e\xfc\x56\xb8" - "\x91\xb6\x44\xa6\xf5\xc3\x33\xec\x09\xf0\x91\x70\x52\xf4\x14\xd2" - "\xe7\x52\x2a\xd2\xff\x00\x5a\xb7\xca\xfc\xa7\x64\xf9\xfe\x48\xdb" - "\x0e\x78\xdf\x6a\xe9\x1f\x9e\x06\xef\x70\x1a\xec\x84\x4b\x2a\x51" - "\xbe\x83\xf5\x9d\xd2\xc1\x83\xdf\xe6\x31\x0e\xed\x08\x2a\xf8\xfa" - "\x33\xe4\x55\xe1\x30\xf8\xed\x46\xd0\xa5\x11\xa3\x56\x53\x29\xdb" - "\x36\x97\xa0\xfd\x03\xf2\xd5\xf8\x38\xb8\x9a\xf3\x6a\x22\x9f\x84" - "\x25\x7a\x00\x70\x43\xde\x25\xed\x74\xac\x98\x4c\x7e\xba\x64\x8c" - "\xe6\x76\x52\x4c\x5b\xb2\x18\x0f\xe0\x6d\xee\xec\x76\x62\xbc\xbc" - "\x64\x84\x2c\x0b\xfc\x74\xdc\x38\x8f\x9d\xf1\x67\x1d\x81\x7e\x1d" - "\x8d\x3e\x4f\x43\x7d\xc1\x84\x3e\xcf\x60\x7a\x00\xdf\x56\x0d\x57" - "\xc0\xc9\x14\x8b\x9c\xc0\x8b\x4c\x4c\x0f\x7f\x2f\x8c\x90\xe2\xa9" - "\x41\xd9\x09\x3c\xf5\x24\x60\x8f\x8d\x79\x9f\x97\xf0\xfe\x1e\xbc" - "\xbf\x57\x7f\x0f\x59\x1d\x54\x9c\x50\xff\x6a\xbc\xbf\x8f\xfb\x10" - "\xb2\x98\xea\x27\xdb\x8e\xcd\x6c\x4b\xf6\xe6\xaf\x4b\xc8\xbf\x17" - "\xf9\x1f\x00\xbe\x21\x1e\x27\x38\x7f\xad\xce\xf7\xc8\x6f\x41\xfe" - "\x43\x09\xf5\x0f\x43\xfe\x87\x63\xf0\x4b\x68\xff\xa5\x0d\x78\x9f" - "\xcf\x7c\x8a\x6b\x21\xf2\xf4\x67\xf9\x67\xdd\xd3\x58\xc4\xfd\x73" - "\xa9\x23\x21\x7f\x2e\xf2\x3d\xcf\x74\x96\x34\xea\x60\x1a\xd9\x76" - "\xe8\x76\xcd\x11\x85\xc3\xa5\xd3\x12\xca\x94\xa0\xcc\x7c\xa6\xaf" - "\xe4\xb3\xce\xa4\x65\x2a\x12\xca\xec\x90\x7c\xaa\xea\xd1\xfb\x58" - "\x95\xd1\xf5\x5a\x2c\x0c\x6e\x1b\x6c\xad\x4b\x0f\xc6\xc3\xb8\x6c" - "\x07\xea\x5d\xba\x46\xe9\x8c\x8b\xc1\x13\xb7\x22\xed\x6d\xc0\x3c" - "\xc3\x7c\x04\x39\x0b\xf9\x82\x61\xe8\xdd\x89\x19\x8a\x77\x33\x47" - "\x5a\x4b\x89\xef\x47\xf2\x3d\xc3\x16\xdd\x93\x74\x79\xca\x1c\x89" - "\x2b\xa7\x67\x72\x3a\xcb\xb1\xe8\x7e\x50\x53\x30\x33\x7f\x01\x79" - "\x37\xe1\x39\xaa\xd7\xf1\x2a\x9e\x53\x80\xff\x69\xe8\x74\xf0\xec" - "\x44\xe6\xc7\xd1\x48\xaf\xd4\xdf\x2f\xe7\xfc\xb8\xbf\x45\xbf\x4f" - "\x01\x8f\x9d\xd6\xe5\x0c\x32\x75\xd9\x62\x59\x37\xe4\xca\x28\xaf" - "\x29\xbe\x1f\x87\x77\xb3\x70\xbd\x1f\xd7\x5f\xe0\xfa\x0b\x5c\x47" - "\xba\xcf\x90\xdd\x1d\x95\xf2\xc5\xcf\x57\xe0\xfa\x10\xae\xfd\x70" - "\x7d\x18\xb8\x7d\x0b\xba\x07\x83\xe0\xe9\x04\x9e\x69\x47\x1f\xb2" - "\xdc\xf7\x57\x7d\x98\xe9\xe7\x3a\xa3\x86\x2e\x38\xd5\x9b\xa6\xeb" - "\x07\x5d\x1e\xf4\xb4\xee\x89\x4c\x97\x3c\xc0\xdf\xcb\xf5\x0b\x05" - "\xab\x9f\xea\x27\x95\x47\x53\xe5\xcc\xaa\xbf\xf5\x34\x95\x2f\x25" - "\xb6\x4e\x5c\xd7\x97\x85\x84\xc0\xb5\x94\xe9\xea\xa7\xcb\xca\x41" - "\x13\x33\x9e\xf3\x98\x4e\x32\xbf\x84\x7b\x69\x7b\x4c\x7f\xc3\xb6" - "\xbf\x6c\x6f\x42\x7f\xb3\x9c\xaf\x91\xfd\x0d\xda\x19\x38\x33\xfe" - "\xe0\x69\x1e\x27\x2f\x32\xf8\x06\xfc\xdd\xde\x2b\x63\x83\xcd\xf1" - "\x70\x14\x5f\x31\x7f\x0c\x2c\xd6\x65\x12\xf4\x82\x0e\x0b\xa5\x96" - "\x32\xaf\x0e\x1e\xed\xa7\xdf\x4e\x94\xb6\xd8\xaa\x0f\xcf\xf2\xfb" - "\x10\x74\x13\xe7\x4f\x2d\x66\x19\x1b\x3c\xcd\x78\x2f\xdf\xa5\xed" - "\xcb\x63\x9c\x52\x8b\xe4\xbb\x62\x3f\x58\xcc\x78\x27\xeb\xe1\x77" - "\x25\xf2\xdd\xea\x5e\xb8\x5b\x0e\xe8\x70\x53\x93\xd9\x52\xa2\x62" - "\x4b\x03\x18\xd4\x74\x53\x39\xf5\xf3\x45\x0e\xd3\xd4\x88\x88\x8e" - "\x2c\xa7\x34\x5f\x64\x27\xdd\x48\x74\x89\x2f\x72\x84\x6e\x22\x1a" - "\xe6\x8b\x54\x61\x6c\xaf\xe7\xf7\x5f\xdc\x40\x29\x29\xb8\xba\xaf" - "\x2f\x37\xa5\xf8\x22\x25\x34\xbc\xdc\x8c\x6b\x11\xdd\xd7\x4f\x74" - "\xfa\x22\x93\x90\xaf\x90\xa6\x46\xc5\xa9\xf1\xfd\xc4\xdf\x0b\xa2" - "\x64\x9b\xf4\xb2\x70\xfb\x22\xb0\xb3\x23\x07\x91\xae\x89\xa9\xd1" - "\xef\xf0\xeb\x14\x5a\xc5\x96\x03\x53\xa3\xa7\xc4\xb8\x97\xbf\xc0" - "\xf3\xdf\x85\x30\x91\xf0\x45\xc6\x50\x4b\x28\x84\x7c\x6e\x21\x2a" - "\xb7\x34\x3c\x75\xc6\x44\xdd\x18\xa3\xb5\xca\x2d\xd0\xe3\x5b\x5a" - "\xbb\xd1\x0e\x8c\x5f\xff\xbb\x7b\x29\xae\xab\xb6\xfc\x2f\xf9\x5c" - "\xb1\x25\x20\x2c\x5b\x5a\x6f\xc6\xa4\x85\xdb\xe0\x8b\xb4\x51\x01" - "\xcc\xee\xa9\x8b\x83\x82\xf1\x1f\xb8\x9c\xe7\x2c\x63\x08\x7a\xd1" - "\x3a\x75\xb1\x5b\xe0\x9d\x45\xa4\x6d\x69\xf5\x45\xda\x09\x75\x04" - "\x00\xef\x6b\x09\xaf\x62\xab\x05\x79\x83\x9c\x2f\x16\x0e\xc3\xe0" - "\xbc\x53\xa3\x64\x15\x95\x5b\x2d\xdd\x69\x5b\xc2\xdd\x69\x5b\xed" - "\xf8\x4d\x14\xe9\x5b\x1f\x17\x9e\xcc\xdf\x09\x8c\xa7\x28\xef\xc4" - "\xb3\x2b\x8c\x39\x82\xa4\x65\x94\xfa\x23\xbf\x13\xfc\x32\x1e\x7c" - "\x07\x7c\xb7\x56\x4b\x7c\x57\x6d\x7d\x2b\x2c\xdb\xb1\xf5\x4d\xd5" - "\x8e\xad\x6f\x70\x7a\x07\x6c\x09\xdc\x37\x74\xa8\x77\x9f\xa0\xdc" - "\x34\x59\xae\x62\x6b\x83\xb0\x6c\x3d\x10\x86\x3c\x81\xae\xe5\x4c" - "\x47\xd0\xb5\x9c\x69\x09\xf8\x0d\x3e\xd7\x6a\x12\x69\x5b\x0f\x00" - "\x9f\x56\x94\x3f\xde\x2d\xc7\xf8\xad\xe1\xb0\x82\xdd\x09\x38\xd3" - "\xc1\xaf\xa9\x80\x11\x16\x15\xdb\x2c\xdd\x1e\x07\x4d\x5d\x2c\xc2" - "\x53\x23\xcb\x23\x05\x8b\x29\x75\x04\x95\x03\xdf\x7d\xa0\x51\x21" - "\xda\xd9\x84\xeb\x78\xbc\xa7\x4b\x51\xd7\x17\x80\x1b\xe6\xfa\x44" - "\xe5\x36\x8b\x48\xdf\x06\x5b\x87\x0a\x19\xa7\xef\x3c\x64\xc3\xb3" - "\xfd\x3b\x89\xdf\xb6\x1c\xad\x62\x5b\xbe\x66\xd9\x36\xd1\xe0\x21" - "\xe6\x1f\x45\xb7\x2a\x9a\x12\x12\x11\x5f\x64\x13\x81\xc7\x6c\x2d" - "\xa1\x23\xfc\x1e\xf3\x8a\x9d\xe8\x67\xe6\xa9\x12\x5c\xeb\x89\xf9" - "\xa7\xa5\xf8\x65\xce\xfb\x05\xf3\xd0\x94\xe2\xd0\xf2\x91\x54\x9c" - "\x82\x67\x77\x41\xc4\x42\x4f\x15\x9b\xcb\xa3\x15\xdb\xb2\x5a\x8a" - "\xb9\x5f\x0e\xa3\x0c\x97\x2b\x22\x6b\x0a\x6c\xeb\x14\x11\xb1\xba" - "\x82\xe6\x01\x4e\xb7\x68\x09\x4d\x42\xde\x62\xe2\xf6\x30\x1f\x71" - "\xfe\xc9\xed\xc2\x1f\xb5\x6c\x6b\xe5\xb6\x89\x81\xe5\xd4\xdc\x7e" - "\x3b\xf1\xfc\xa6\xb9\xbd\x9e\xf9\x54\x13\x96\x6d\x3b\xc0\xa3\xdd" - "\x93\xdb\xcb\xfb\x3d\x75\x86\x52\x90\x16\x6d\x76\xee\xc4\xfb\x26" - "\xe4\x3b\x28\xf9\x76\xca\x99\x88\x35\x62\xd9\x66\x8f\x54\x6c\x6b" - "\x98\x72\xa6\x5b\x34\x3b\xab\xe8\xc9\xf6\x72\xd0\x6a\x27\x4d\x3e" - "\x11\x49\x6d\x29\x2e\x44\x9e\x4e\xa4\xd7\x4b\xfe\x9f\x7c\xa2\x43" - "\x4c\x79\x49\x9c\x9a\x72\xe6\xef\x62\xb2\x53\x7c\x51\xe0\xa2\x81" - "\x17\x2f\x17\x1a\xcb\xc5\xc1\xb6\x9d\x74\xf1\x11\x3f\xb1\x4c\x4c" - "\x9a\xa9\x89\xc9\x27\x4e\x89\xa7\x5e\x62\xda\x8c\xa1\x66\x27\xe4" - "\xc7\x55\xc5\xf4\xce\x69\x76\xee\x45\xfd\xe3\x01\xd7\x2d\x7c\xae" - "\x4d\xc8\xeb\xb5\x3e\x79\xc2\x46\x07\xdb\xaa\x28\x92\xb6\xcd\x1e" - "\xad\xdc\x96\xa5\xa5\x6d\x9b\xa8\x55\x6e\xcb\x17\x69\xdb\x76\x44" - "\x2a\xb7\x35\x44\xd3\xb6\x81\x07\xea\xb3\xd0\x4f\x69\xdc\xe7\x5d" - "\x98\xef\xe3\xf9\xfa\x2e\xee\xff\x8a\xfa\x1c\x61\xa9\xcf\x87\x2e" - "\x14\x8a\xf7\xeb\x73\x78\xce\x2e\xd2\xea\xf3\xbb\xd3\xea\x27\x22" - "\x5f\xbe\x92\xaf\x7a\x27\xf3\xa5\x1c\x8b\x56\xd5\x3f\x8b\xb1\x23" - "\x15\xef\x5d\xf8\x55\xe0\x57\x8d\xb4\x00\xe0\x5f\xd2\xa9\x60\x06" - "\xc4\x5d\xeb\x61\xa3\x62\x8e\x9e\xb6\xdd\x32\x35\x7a\xb7\x00\x0d" - "\x21\x27\xf5\x01\xad\xb2\x3e\x2c\xd2\xb7\x67\x85\x25\xef\x6f\xbf" - "\x81\x61\x77\x2f\xcd\xe2\xb9\xbc\x59\x54\x6e\xcf\x41\xda\x6f\xc2" - "\xcc\xab\x96\xed\x3b\x34\xcb\x3b\xd0\x45\xdb\x1b\x1e\x7c\x59\x04" - "\xa3\x15\xdb\x5b\xb5\x8a\xed\x07\x22\x17\xc1\xf6\x75\xed\x25\xd6" - "\x4f\x91\xfd\x02\x34\xf8\x03\xe8\x51\x2f\xfb\xdf\xe7\x82\x0c\x2c" - "\x1e\x52\xde\xdc\x0e\x5e\x28\x7e\x4f\xea\xa6\x96\xd0\x61\x49\x53" - "\xe0\xb1\x83\x79\x8a\xfb\xf7\xa9\x62\x2a\x47\x5d\x0d\x5a\xe5\xf6" - "\x03\xd1\x4a\xc0\x4d\x43\x3d\xe9\x3b\x1e\x08\x4b\x79\xdd\x01\x7e" - "\xdd\x8b\x32\x7f\x20\xc5\xe3\x3b\x26\xf6\xa5\x23\x59\x57\xb1\x7e" - "\x9a\x1a\x09\x33\xcf\xfc\x83\xf5\x9a\xd2\x53\x54\x60\xe8\x29\xd6" - "\x51\x3c\x9f\x60\x3d\xa5\xe9\x7a\x4a\xd3\xf5\x94\x7c\xb6\x40\xd7" - "\x54\x6c\x69\x65\x7d\x34\xd5\xa5\xf4\xcc\xd4\x68\xb6\x00\x6f\x64" - "\x00\x46\xab\xea\x0b\xe4\x59\xb5\xe5\x6b\x99\x5f\xd2\x69\xab\x45" - "\x83\xbe\xd1\xa0\x6f\x34\xa5\x6f\xf2\x75\x7d\x63\x32\xf4\x4d\x14" - "\xe3\x1a\x64\x4a\x4b\xa6\x6f\x34\x5d\xdf\x44\x85\xd2\x37\x9a\xae" - "\x6f\x38\x3d\xaa\xeb\x9b\x68\x12\x7d\xa3\x55\x6c\xe5\xf6\xa6\xea" - "\x7a\xa6\x9c\xf5\x0c\xb7\x57\xab\xdc\x7a\x40\x53\x7a\x26\x80\xb9" - "\x84\x89\xf5\x4c\x14\x65\x34\x43\xcf\x74\x4a\x7d\x60\x61\x5d\xd3" - "\xfd\x2b\x82\xfe\x74\x10\xeb\x18\xa9\x4f\x22\xc3\x22\xac\x4f\x40" - "\xbf\xbb\x13\xf5\x89\x58\xb5\xcd\x8e\x7b\x9b\xd2\x53\xdb\x26\x5a" - "\x97\x8b\x08\xf4\x49\xd6\x54\x57\x08\x7d\xfd\x37\xcc\xa9\xa1\xb7" - "\x5d\x25\xe5\x3e\x57\x84\xa0\x07\xf2\x45\x4b\x39\x41\xe7\x80\x7f" - "\xa3\xd0\x15\x44\x90\xcb\x1d\x90\xcf\x56\xd4\xdd\xd0\x52\xfc\x67" - "\x82\xbc\xdb\x27\xb7\x77\xf8\x9e\x0a\x65\xd9\x26\x9f\x10\x41\xd0" - "\xc7\xff\x54\x71\x39\xf4\x4b\x56\xb0\xb9\x7d\x1f\x4d\x6a\x13\xda" - "\xa4\x19\x7e\x07\xf0\x68\x98\x3c\xc7\x6b\x7d\xea\x25\x1b\xe4\x4c" - "\x78\xa1\x17\xff\x73\xf2\x09\x9b\x75\x7a\x1b\xfd\x68\xd2\x4c\xa1" - "\x41\x9e\x40\x77\xc8\x19\xe4\x11\x32\x36\x11\x32\x97\x0f\x39\xdb" - "\x11\x49\x90\x33\xc8\xcc\xf5\xb8\x77\x28\xfa\xd5\xe7\x43\xce\x72" - "\x34\x39\x9e\xb5\xc9\x39\x1c\xe4\x21\x9f\xd7\xb8\x20\x6b\x39\x90" - "\x0b\x29\x6b\x9a\x2a\xe7\xd4\x98\x7e\x26\x5d\xd6\xd0\x17\x78\xef" - "\xc2\xaf\x02\xbf\xe4\xb2\x56\x1c\x23\x6b\x2f\xe9\xb2\x96\xa6\x64" - "\x0d\x7d\x9a\x1a\x5d\xaa\xe4\x8d\xe1\xf3\x3c\xaf\x47\xde\xd2\xb7" - "\xef\x10\x6c\x4f\x4a\xde\x61\x99\xdb\x8e\x71\x65\x7b\x2b\xe4\xed" - "\x80\x56\xf1\x0e\xe0\x89\x20\xeb\x4d\xf0\xe6\x7f\xf1\x58\x37\xa5" - "\x58\xfc\x57\x41\x74\x48\x39\xea\x6a\x85\x2e\xfb\x3b\xf4\xe8\x7f" - "\x3d\x15\xa2\x3a\xc0\xda\xa1\xa5\x6d\x6f\x80\x3c\x1d\xd0\x2a\xa5" - "\x3c\x4d\x8c\x2e\x65\x98\x3b\x26\xf6\xc0\x90\x63\x65\xbc\x3c\xf5" - "\xb5\xbe\xd8\xe9\xb9\x7a\x8c\x9f\x3e\x29\x61\x7b\x05\xf7\x13\xfd" - "\xd4\x30\x51\xbf\x87\xfd\x53\x23\xd7\xa6\x59\x06\x8b\xcb\xe8\xb2" - "\xe3\xe4\xb0\x80\xdf\x09\xf7\x19\xb8\xcf\x98\x7a\xe3\x17\xb0\x23" - "\x02\xcc\x53\x9d\x2c\x87\xc2\x33\x9a\xe7\x5c\xb9\xe0\x43\x8b\xe8" - "\xcc\xca\x10\xe9\xbb\xcb\x44\xb7\x9d\xd7\xb0\xac\x78\x1e\x88\xf6" - "\x0f\xc7\x75\xd0\xa6\xb3\x94\x89\x9f\x7d\x93\x47\x2b\x67\xdb\x09" - "\xf7\xd9\x62\x91\x3d\x7d\xed\x42\x1a\x61\x0d\x91\xa5\xd6\xa3\xe5" - "\x5b\x97\xdb\x78\x2d\x27\x93\xef\x85\xa7\xce\x59\x7b\x96\xcc\x6c" - "\x57\x6a\x69\xa8\xcf\x65\x15\x62\x7e\x16\xd5\xce\x83\x7e\xf0\x90" - "\xbd\xd6\x23\x76\x45\x3b\x99\x06\x5b\x1a\x0c\x5c\x18\x37\xe0\x79" - "\x15\xf0\x1c\xfa\xc8\xe2\x5c\xfa\x83\x8b\x92\xae\x81\x76\x7a\x1c" - "\x3d\xed\xef\xe3\xfd\x74\x83\x26\x7d\xbc\x2f\x35\xe8\xd4\xc7\x7a" - "\x99\x99\xc7\xe8\xe8\x42\x11\x5c\xf7\x1c\x31\x2d\xec\xee\x88\xf8" - "\x0a\x74\x2c\x2f\x8b\xd2\x55\x53\x17\x5f\x2d\x7c\xed\xc2\xeb\x73" - "\x9d\xa0\x5a\xbc\x2f\x2b\x15\x9a\x96\xb6\x7b\x86\xa8\xdc\x3d\xbd" - "\x63\xa1\x88\xf0\x5a\x09\xea\xf0\xfb\xe9\xce\x72\xd5\x17\xdb\x72" - "\xe4\x3c\xcf\xb2\x7b\x3a\x60\x5d\xc2\xb0\x9a\x51\x3e\x5a\xb9\xbb" - "\xb0\xd3\x33\xcc\xe2\xa7\x3f\x4c\x97\xf9\x2c\xdb\x72\x8a\x97\xd0" - "\x95\xc7\x69\x58\xae\xb4\xf5\x2b\x76\x97\xb0\x3e\x40\x9a\x0d\x69" - "\x93\x00\xdf\x85\xfc\x39\x7e\xfa\xb0\x5a\xd9\xb1\xc3\x26\x19\xf9" - "\x70\xef\xe0\xfb\x38\xfe\x49\x91\xdb\x2b\xe8\x2f\x47\xef\x66\x0b" - "\xa7\x99\x63\x36\x5f\x6c\xf8\xe5\x26\x7f\xdd\xab\xcf\xb7\x35\xc0" - "\xd6\x22\xf7\x32\x1a\x8a\xfe\x61\xfc\x7e\xe7\x76\x89\x63\xc2\x33" - "\x2c\x7f\xdb\x92\x30\xe6\x09\xc3\x0e\xfa\xa9\xa2\xa6\x2f\x7a\x0a" - "\xb6\x75\xce\x8a\xc0\xba\x85\x3d\xb4\xfc\x72\xea\x62\x4d\xf0\x3d" - "\xeb\xa3\x5a\xa4\x33\xdd\x3a\x3d\xd7\x64\x1a\x34\xeb\xbb\x5f\x76" - "\x17\xab\x79\xe1\x35\x25\xc2\x23\xc8\xfb\x23\xde\x9f\xb8\x66\x81" - "\xa2\x43\xfd\xc4\x0e\xe8\x11\x5e\x7f\xad\x05\xbd\xe7\xdb\x45\x18" - "\x30\x9d\x7e\xba\x29\xa8\xaf\xf3\x84\x7c\x91\x09\xac\x5b\x92\x8e" - "\x5b\xbc\xff\xd3\x0b\xff\xda\xaa\x96\xa1\xd0\x43\x52\x37\xed\xab" - "\x2a\x53\x78\x87\x19\xae\xb7\xec\x34\xb5\xe1\xfd\xfc\x90\xc0\xf8" - "\xb4\xaf\x82\xe7\x11\xde\x85\x5d\x9c\xf6\x06\x78\x5b\x78\xe7\x31" - "\x4e\xd7\xbe\xe1\xfd\x51\x17\x1d\xc3\xbc\xaf\xb6\x67\x4d\xe6\xda" - "\x72\x5e\x83\x51\xeb\x48\xd7\x62\x3e\x34\xa2\xc1\xc0\x8b\x6d\x0c" - "\xd0\xd7\xc2\x36\x07\xdb\x1a\xbc\xa6\x3f\xbf\x54\x84\xd9\xe6\x40" - "\xde\x11\x46\x1b\xb8\x7d\xaa\x5d\xd7\xe6\xc6\xb6\x0b\x38\x04\x31" - "\x87\x96\x34\x98\xbf\x98\x2c\x0e\x45\x6b\x0b\xb7\x97\xdb\xc2\x6d" - "\x96\x6d\x91\x3a\x16\x63\x44\xe4\x76\xd4\x2f\xd3\xf3\x01\x0b\xf3" - "\x9f\x1f\x4f\x53\x3c\x75\x2d\x25\xf2\x51\x4f\x3f\x5a\xb6\x59\xdc" - "\xdf\xd1\x8f\xdc\x9a\x38\x7a\x8c\x86\xf3\x7c\x37\x95\xaf\x1a\xdb" - "\xd9\x61\xe6\xdf\x86\x7c\x1e\x93\x7d\xa5\xac\x6f\x65\xde\x4b\x91" - "\xb7\x0d\x79\xd2\xf4\xbc\x69\x6a\x3f\x47\x5e\xfb\xf3\x15\xe3\x58" - "\x3f\x3f\x0d\x77\x04\xe5\x78\xbf\x2f\xcf\x78\x16\x78\x06\x2e\xad" - "\xa2\xb2\x21\x3f\x39\x2e\xef\x58\x78\x3c\x8b\x9e\x15\xed\xa8\xe7" - "\x72\xe6\x29\xf7\x62\xba\x02\x7c\xf9\x65\xd9\x32\xba\x94\xf9\x49" - "\xa4\xed\x2e\x55\x74\x1f\x5e\x24\x3c\xb0\x3d\xa1\x51\x8b\x17\xd2" - "\x95\x90\xa3\x92\xe3\x34\x7c\x79\x41\xa9\x03\xb8\x12\xad\x3b\x49" - "\x24\x75\x50\xda\x6e\x97\x2f\xf2\x35\xd5\x9e\xe4\xf5\x97\xe1\x75" - "\x06\x2f\xe2\x7e\xe7\xf9\xf4\x05\xe8\x5a\xa1\xd6\x0f\xae\xbb\x82" - "\xd7\xef\x8f\xd2\x75\x66\x6e\x2f\x7e\x29\xa8\xfb\x8c\x38\x2b\xa6" - "\x0b\x35\xa6\xb9\xfc\x74\x5d\x36\xae\x15\xf2\xe7\xa1\x19\xfa\xb3" - "\x0b\xf9\xda\xc4\x59\x8d\xf3\x54\xa0\xfd\x11\xe1\x49\x61\x99\xd8" - "\xdb\xe9\xb9\x2e\xcb\x4f\x63\x75\x79\x1f\x1e\x62\x58\x7d\xe0\xe0" - "\x42\xdf\x12\xf3\x26\xf0\x78\xd5\x51\x96\xc2\x78\xcc\x92\x72\x01" - "\x58\xb5\x26\xa5\xb7\x35\xe0\xba\xd9\xa3\x39\xa1\xa3\x9d\xda\xaa" - "\xcf\x1a\xe4\xbd\xfe\x4e\xe8\xe3\x68\x72\xf8\xfb\xaa\xbc\x43\x98" - "\xc7\xaf\x6b\x57\x70\xf6\x55\x78\x87\x1c\xe7\xe7\x13\xfc\x1c\xb2" - "\x7c\xde\xe0\xab\xce\x45\xfd\xc7\xb9\xde\x76\x35\x9f\xbf\xee\x44" - "\x07\xea\x40\x1b\xda\xfd\x34\xb2\x49\xed\x65\x7c\xde\xd0\x87\xec" - "\xd9\x58\x76\x58\xe6\x94\x4c\xdf\xf0\x5e\x73\x9d\x94\x3f\x27\x78" - "\xbe\x42\xd7\x1b\xbc\xd6\x92\x71\x94\x6e\xd8\xd9\x6c\x97\xfc\x6d" - "\x12\xa6\xeb\x27\xbd\xaf\x05\x4d\xbc\xdf\xa4\xd4\xd7\x0d\x3b\xcf" - "\xfd\x5d\x8f\xf6\x5d\xbf\x1e\xbf\x1a\xfd\x19\xf3\xff\xeb\xf7\xe2" - "\x3e\x03\xbf\x1a\x49\xbb\x8d\x85\x29\x7e\xbc\xeb\x80\xcd\xce\xcf" - "\x7e\xba\xbe\x42\x6c\x1c\x6e\x82\x5d\x22\xef\x6b\xaf\xe0\x75\x82" - "\xeb\xf7\xa0\xbf\xc6\xa8\xbe\xb8\x41\xee\x29\x02\x37\xa6\xbb\x70" - "\x57\x8b\x70\x53\x59\x08\x78\x5f\xdf\xd6\x54\x1d\x22\xc7\xf5\xdc" - "\xfe\xeb\x03\xdc\xa6\x10\xe8\xcf\xd7\xf9\xd5\x22\xd8\x58\x13\x21" - "\xde\xf7\xea\xf4\xdc\x00\xf9\x73\x92\x5a\x73\xd8\xb7\x8b\xe1\xe9" - "\x3c\x21\x8c\xf6\x2b\x9d\xf6\x79\x03\xf7\x25\x9e\x6f\x47\xdb\xad" - "\x27\xe9\x86\x05\x22\xfd\xb3\x86\x46\x27\xd1\x26\xe8\x11\x8c\x35" - "\x72\x2d\x1e\x7a\x89\x61\x62\xfc\xbf\xae\xc6\xd8\xa7\x59\x83\xf7" - "\x6b\xf1\x0e\x63\x4f\xb0\xd9\x19\x26\x86\x15\xe5\xf6\xa1\xfc\x3e" - "\x2d\x68\xc6\x58\x8d\x3e\xff\xbc\xa1\xac\x18\x7a\xa6\x47\x6f\xdd" - "\x30\x74\xd9\x09\x11\x36\xda\xc7\x7b\xa1\x80\x0b\xfe\x7f\xce\xde" - "\x27\xff\xf7\xe0\x9c\xf5\x6f\x8d\xc3\x55\x9f\x69\xa0\x4b\x7c\x9f" - "\x65\x1d\x50\xfd\x75\x43\x24\xbe\xbf\xb2\x0e\xe0\x37\x1e\xbf\xe9" - "\xf8\x15\xe9\xcf\xb1\xbf\xec\x98\x7b\x48\x6b\xd6\x9e\x4e\x4f\x16" - "\xc6\xff\xe1\x0d\xaa\x1f\x38\x1d\xed\x60\x1e\xf9\x96\x2c\xbc\x5e" - "\xc7\xfb\xa0\x9c\xce\xfc\xcc\xe9\x1a\xec\x19\x3c\xe7\xe1\xbd\x8d" - "\x65\x75\x9d\x46\x71\xef\x7d\x2b\xc1\x73\x4b\xba\x18\xff\x2d\x72" - "\x8d\x71\x79\x45\x05\xf3\x29\xf2\x4c\xb3\x46\x2a\x2a\x50\xdf\x4e" - "\x83\xae\x48\xab\xe2\xf7\xcc\x93\x48\x6f\x02\x5d\xe4\x1a\x7a\x08" - "\xf3\xbd\xe4\xb6\x46\x56\xa0\xc7\x26\xb3\xd4\x07\x58\x1f\xb5\xd3" - "\x8d\x21\xe8\x2c\xf4\xed\x67\xbb\xd4\x58\x73\xe3\x19\x7e\x86\xae" - "\xfc\x12\xf7\xc1\x66\xb4\xb2\x6b\xd5\x87\xfe\x6e\x13\xf5\xef\x32" - "\x51\x6e\x64\xd5\x37\x43\x23\xe9\xef\xb6\xfb\x02\x7b\xa8\x25\xb2" - "\x9b\x1c\xcf\x49\x18\xdf\xf8\xc0\x03\xee\xc5\x22\xfa\x41\xd7\x0e" - "\xb3\x2f\x72\xca\x8b\xb1\xf9\xea\xe3\x74\xa3\xa4\xc7\x2b\x47\x31" - "\xea\x3f\x25\x61\xeb\xf4\x09\x84\xd7\xce\x16\x91\xb5\xc7\x44\x08" - "\xf6\x5d\xfa\x9a\x2e\x1a\xb1\x61\x09\x65\xd7\x74\xd1\xf0\xcd\x5d" - "\x94\x25\xfe\x91\x65\xaa\x81\xdd\xf6\xd4\x19\x1b\x41\x27\xe4\x0f" - "\x2c\x26\xcb\xe6\x25\x24\x79\x24\x5a\x09\xfb\x2d\x02\xfb\xed\x54" - "\x16\xeb\xc6\x1e\xfb\xad\x5b\xda\xc5\xbb\xdb\x14\x1f\xed\x6e\x1b" - "\xe0\xa4\x94\x8c\x19\x64\x03\x7e\xee\x93\x74\xe3\x8d\x19\x6d\xb0" - "\x1d\xd1\x66\xbf\xde\x5e\x5c\xc7\x58\x9d\xd4\x5f\xb6\x15\xfa\x5a" - "\x54\x7e\xb6\xab\xcf\x71\xd8\xc4\x3c\x15\x62\xb9\x41\x1b\x6e\xba" - "\x87\xf7\x62\xf7\x0c\x09\x9b\xe7\xd7\x88\x30\xa7\x97\x0c\x13\x61" - "\xa4\x67\x71\xdd\xbb\x90\xde\xe9\xb9\x29\xcf\x6f\xda\xb4\xb3\x2f" - "\x1e\xc5\xfc\x48\xd7\x2b\x37\xfd\x51\x98\xca\xc1\xa3\xdb\xb3\x96" - "\x45\x60\x7b\x9f\x64\x99\xbd\xe9\xd0\xd4\x22\x11\x71\xcc\xe5\x7d" - "\xf1\x9b\xbc\xbc\x67\xcf\x7b\x75\xef\xc3\xb6\xf9\xbe\x7d\x7a\x1e" - "\x2f\x78\xae\x60\x2d\x02\xcc\x55\xdb\xb3\x04\xe6\xe7\xf1\x36\x3c" - "\x51\x5f\x76\x3c\xfb\x8a\xbc\x2e\xfd\x52\x7e\x9c\xe1\xa7\x07\x0b" - "\x19\x77\xde\x93\x65\xdd\x09\x7b\xeb\xd2\x63\xf4\xe3\x89\x21\xd0" - "\x01\xef\x31\xfe\x4f\xcc\xd1\xf7\x55\xa5\xbf\x0b\xd2\x30\xfe\xdf" - "\x5f\xca\x69\x25\xc3\xc8\x5e\xe2\x10\x81\xbe\x6c\x26\xe9\x83\x62" - "\xa2\xcb\x51\xa6\xc4\x80\x83\x71\xea\x37\x1d\xa6\x47\x1e\x41\x5a" - "\x85\x01\x07\x79\x2e\xc3\x73\x75\x4f\x1e\x55\x66\x47\x4c\x99\x47" - "\x3a\x4c\x37\xfd\x06\x69\x7b\x13\xca\x1c\x4c\x28\x73\x24\xa6\x4c" - "\xb9\x5e\x4f\x30\xbe\xcc\x08\x8a\x2f\x33\xc2\x76\x2e\x6e\x23\x86" - "\x27\x94\x19\x9d\x50\x66\xfc\xb9\xb8\x8d\xc8\x4f\x28\xe3\x4c\x28" - "\xe3\x8a\xa1\x25\xfb\x83\x64\x23\x6d\x75\x42\x99\x9a\x84\x32\x3b" - "\x8d\xe7\xbe\x7c\x7e\xe6\x6f\x22\x3b\x78\x33\xc0\xfd\xf9\x3a\xfa" - "\xa7\xe3\xad\xe7\x3b\xf5\xb2\x81\x24\xed\x8a\xc4\xd7\x37\x32\x23" - "\xbe\xbe\x91\x43\xcf\x6d\xd7\xc8\xec\x84\x32\xb9\x09\x65\xf2\x62" - "\xca\xd4\xa9\x7a\x46\x16\x26\x94\x29\x49\x28\xb3\xf2\x5c\xbe\x1a" - "\x59\x9d\x50\x66\x47\x42\x99\x86\xef\xa1\x05\x8f\xe3\xca\x37\x6b" - "\x30\xdb\xca\xf7\xc2\x46\xb8\x79\x18\xfb\x1c\xf0\xde\xe4\xb6\xae" - "\x70\x3f\xde\x0f\xe1\xf1\xaa\xd1\x15\xc6\xd8\x72\x33\xe6\x3f\xb7" - "\x95\x1b\x63\x16\xfb\x63\xb0\x4c\x2b\x1b\x7b\x64\xa0\x2f\x5b\x94" - "\xeb\x31\x7c\xb5\xb8\xae\xc6\xa1\x3c\x4e\xdd\x3c\xad\xc7\x26\x56" - "\xfe\x4b\xa4\xe0\xdc\xfc\xae\xb1\x37\x5a\xab\xfc\x3c\x52\xd8\x26" - "\x6f\x74\xc9\x32\x15\x31\x76\x34\xd7\x1f\xda\xb3\x24\x6c\x8e\xc7" - "\xe3\x66\xe7\x79\xf0\xc8\x80\x6d\xe4\x6a\x81\x65\xc1\xfb\xd7\xcd" - "\x35\xb0\x81\x60\xf7\x33\x6e\x47\xe9\xe6\xa0\xb4\xc9\xe6\x76\x11" - "\xdf\xfb\x4a\xef\x94\xfb\xdb\xca\x26\x1d\x95\xd5\x84\xfa\xd9\x76" - "\x6f\x2a\x3e\x4d\x1d\x72\xfc\x65\xdb\x6d\xd4\x23\x8d\xa5\x41\xe0" - "\x35\xaa\xc7\xff\xc3\x4f\xa3\xa6\x49\x5b\xa3\x62\x5f\x31\xef\xbd" - "\xf3\x1e\x52\x63\x28\x87\xf3\x80\xff\x6f\x1e\x61\xb4\x17\x63\x3d" - "\x64\xec\xe6\xc8\xf9\x68\xa6\xfa\x70\x54\x69\x3c\x4f\xf6\x03\xaf" - "\x8c\x5a\x1f\xdf\xef\xa3\xea\xe2\xfb\x7d\xd4\xae\x78\x9e\x34\x81" - "\x27\x47\x35\x25\x94\x39\x9c\x50\xa6\x2d\xa6\xcc\x7a\xbd\x9e\x70" - "\x7c\x99\x6c\x4b\x7c\x99\x6c\x7b\xcc\x33\xda\x98\x9d\xd5\x33\xf7" - "\x91\xbe\x45\xd9\x39\x31\xcf\xa6\x2a\xa9\x3f\xb3\x27\x19\x69\xbc" - "\x76\xb4\xf9\x4d\xe5\xdb\xa2\xc3\x73\x26\xc8\x3b\xe7\x2f\x4d\xc0" - "\x61\x75\x02\x0e\x3d\xf2\xaf\xef\xa7\xff\xfe\x18\xdd\x52\xa2\xef" - "\xa7\xb7\x63\xcc\x9e\xca\xcf\x80\x55\x8d\xfc\xa0\x43\xf6\xc1\x04" - "\x78\x47\x12\xe0\xb5\xc7\x3c\xdb\xf0\x1c\x89\x69\x83\x2d\xd5\x2e" - "\xfd\x04\x61\xbf\xdd\x92\x69\xa4\xf3\x9c\x12\xf8\x06\xdc\x72\xac" - "\xc9\x65\x9f\xad\x41\x47\xe9\x16\xf6\x69\xd2\x75\xf9\x2d\xb1\xf2" - "\x4f\xaa\x5d\xb7\x4c\x8b\xc7\xe3\x96\xc2\x78\x3c\x6e\x29\x89\x69" - "\x57\xc8\xba\x9c\x7e\x61\x8d\x3c\xf4\x18\xdb\x3e\xec\x6b\x27\x7d" - "\xa7\x96\xc1\x66\x3b\x43\x36\xf6\x59\x3b\x56\x42\xa9\x3e\x57\x00" - "\x73\xb9\xdd\xfe\x3e\xf9\x29\x7d\x5f\xb9\xee\xf7\xe7\x00\xfc\xc3" - "\x06\x3f\x6a\xab\xf6\x95\x6b\x95\x9f\xd6\x23\x0d\xfa\x6f\xd4\x0c" - "\x65\xe7\x36\x04\x85\x3b\xbf\x1a\xf4\xc4\xbc\xe8\xd6\x3f\xeb\xf3" - "\x88\x2a\xf6\xbd\x82\xee\x09\x60\x8c\xcf\x50\x7b\xe5\xb7\x0e\x8d" - "\xe1\xeb\x90\x63\xc9\xdd\xe2\x28\xdd\xfa\x25\xdb\x00\x2c\xa3\xec" - "\xc3\xd5\x18\x09\x12\xcf\xbd\x7d\x91\xe3\xd2\x76\xc3\x7b\xbf\x5e" - "\x36\x3f\xa6\x6c\x50\x9f\x1b\x07\xf8\xdd\xa8\x08\x99\x1b\x43\x41" - "\x02\x9c\x4c\x65\xef\xdd\xfa\x65\x23\xe4\x15\x65\x56\x1b\x65\x78" - "\x1e\xcd\x65\xac\x25\x64\xbe\xb9\x94\xcc\xde\x25\x47\x25\x6c\xc3" - "\x97\x02\xb6\x74\xbb\xaf\x34\x40\xbe\x50\x2b\xaf\x75\x99\x95\x0f" - "\xcc\xad\xfe\xd4\x30\x59\x3a\x2a\xf7\x15\xfb\x71\x1f\xad\xdc\xe7" - "\x02\x6e\x90\xa7\x5b\xcd\xac\x6f\x62\x69\x37\x61\x42\xde\x43\x53" - "\x27\x8f\xfc\xe5\x43\xf7\x4f\x9b\x70\xa7\x63\xda\x9c\x17\x66\x15" - "\x8e\x7c\x71\x41\x89\x63\xd1\xbc\x39\x25\x73\xe6\x3e\xeb\xc8\x76" - "\x5d\xe7\x72\xcc\x2c\x51\xd7\xac\xa2\x99\xf3\x4b\xc6\xf2\xed\x08" - "\x47\xf1\xbc\x59\x0b\xe5\xed\x8d\xe9\x14\x0f\x64\x4e\xc9\xac\x79" - "\x8e\xeb\x0a\x47\x38\xee\x9b\x39\xa7\x68\xc1\xbc\x59\x49\x61\xdd" - "\xe9\x98\x37\x6b\xde\xac\x99\x85\x8e\xb1\x8e\x6c\x86\x1c\x0b\x2e" - "\xa6\x3f\xb3\x8d\x71\x8c\xc7\xaf\x75\x1e\x71\x48\x1f\xcf\xfc\x8a" - "\x7f\x6e\xdb\x73\xee\x58\x76\xdb\x81\x78\x9e\xbb\xad\x35\x9e\xe7" - "\x6e\x0b\x9c\x3b\x96\xdd\x96\x30\xfe\x8d\x4e\x18\xff\x46\x0f\x3d" - "\x77\x2c\x1b\x9d\x30\xfe\x8d\x4e\x18\xff\x46\xf7\x8c\x7f\xe0\x25" - "\xff\x0a\xa9\x17\x46\x27\x8c\x7f\xa3\x13\xc6\xbf\xd1\x2b\x13\x9e" - "\xab\x62\x9e\x2f\xc5\x73\x7d\xec\xf8\x88\xe7\x3d\x86\x7c\xf6\xea" - "\x97\xd1\x07\x8c\x3c\xac\xeb\xa1\x9b\xdb\xf4\xbc\xfe\x98\xbc\x01" - "\x3d\x6f\xa8\x47\xfe\xc0\x47\xec\xeb\xa6\xe6\xeb\xb7\x3f\xc6\x3a" - "\x9d\xfd\xdc\x78\x6c\x82\x7c\x5c\x7d\x92\x46\xff\x91\x61\x31\x0f" - "\xb3\xdf\xa3\x78\xeb\x89\xce\xda\x41\x64\xe1\x32\xb5\xaf\x91\x59" - "\x78\x6e\x6d\xc7\x95\x90\x96\x81\x1f\x74\xca\xed\xb0\x7f\x37\x97" - "\xaa\xf1\xe2\xf6\x3a\x69\xf3\xa3\x8c\x0e\x5f\xce\x6b\x00\xc7\x8e" - "\x32\x96\x75\x6a\x2c\x6e\xc3\x7d\x06\xf3\x34\xca\x9b\x85\xe9\xb6" - "\x5b\x70\x25\xa4\xd9\xf0\xcb\x04\xbc\x3a\x03\xde\xca\xc1\xc9\x6d" - "\xcb\x44\x3b\xb7\x67\x3e\x68\x22\xeb\x3a\x8f\xd6\xea\xd3\xd8\xb6" - "\xbe\xfd\xb0\x5a\x5b\xd8\x0d\x5b\xfe\x8b\xfc\x5a\xa4\x27\x9f\x27" - "\xfd\x04\xf6\xdf\xed\x07\xd4\x7a\xcb\x4f\xd0\xff\x0f\x86\xd4\xda" - "\xe9\x6e\xf6\xbf\xe8\x3a\x46\x3f\xf9\x18\xd7\x6e\x5c\xdf\x36\xe0" - "\x7b\xe5\x7c\xfb\x27\xa3\x85\x27\xe5\x61\x86\x9b\x90\x3e\x09\xfa" - "\xad\xcb\x1a\x29\xcf\x4f\xf2\xce\x29\x3c\xa9\x0f\x25\x49\x2f\x87" - "\xcd\xd0\xe5\xa7\x9f\xec\x61\x7c\x63\xd2\xab\x85\x67\xe0\x34\xce" - "\xef\xe7\xfa\x50\xa6\x2f\x5b\xdb\xf0\x6b\x55\x7e\xe8\x3f\x69\x4b" - "\x68\xc7\x77\xc7\xe8\xa7\x33\x55\x3b\x7e\xba\x2f\xa1\xee\x48\xf2" - "\x76\xfc\x34\x13\xed\xf8\x2e\x79\x3b\x7e\x9a\x2d\x69\x6b\x42\x5b" - "\x4c\xe7\xbc\x9b\x84\xb6\x7c\x27\xe9\x1e\x9f\x5e\xa8\xdb\x42\x3c" - "\x27\xb3\xe1\x9d\x2c\xfb\x70\x69\x6f\xbf\xe9\xf9\x56\x5b\xab\x29" - "\x2f\x49\x9d\xf5\xc2\xd3\xff\x61\x3f\xfd\xf4\x88\x84\xd3\x9b\xbe" - "\x57\xe1\x02\x3a\x99\x24\x9d\x58\x1e\xac\x7d\xf5\xb7\x31\x2f\x51" - "\x6b\x21\x39\x90\xff\x9f\x78\x8d\xb5\xcc\xf9\xa5\x22\x68\xd0\x11" - "\xef\xb2\x12\xde\x85\x63\xde\x8d\x8f\x7b\xb7\xac\x27\x7d\xba\x91" - "\xfe\xc3\xfa\x29\x67\x75\x42\x3f\xa1\x7f\xee\xb8\x2a\xbe\xdd\x39" - "\x35\xaa\x7d\xe8\xa3\x73\x68\x9d\xd3\x80\x3e\xea\x4e\xde\x47\x39" - "\x87\x93\xf3\x5a\x8e\x5c\x47\x13\x83\x28\x09\xbc\x3b\x78\x8e\xdd" - "\x2d\x79\x50\xef\xa7\x73\xfb\xe7\x8e\x11\x46\xff\xfc\xb0\x36\xde" - "\x51\x9c\xd0\xc6\x28\x60\x9c\x50\x6d\xbd\x73\x6c\x02\xec\x8a\xe4" - "\xbc\x78\x47\x1d\xda\x19\x4d\xde\xce\x3b\xf6\xf6\xcd\x8b\x77\xb4" - "\xa2\x3d\xd1\x73\x79\xf1\x8e\xa0\x2a\x43\x49\xca\xdc\x99\x21\x3c" - "\xc9\xea\xb9\x73\xb8\x3b\xc2\x76\xee\x9d\xbc\x97\x62\x8f\x49\x1f" - "\x13\xcf\x7f\x68\x03\x97\x63\xfa\x45\x94\x9e\xe5\x7e\x38\xe6\x20" - "\xd3\xf7\xf1\x64\xa7\xe7\xce\x9a\x04\x5a\x9d\x3a\x46\x3f\xbb\xaa" - "\xc3\x94\x52\xaf\xe8\xf5\xb3\x2f\x13\x70\x6a\x48\x4e\xaf\x3b\x0f" - "\x81\x5e\xa7\x92\xd3\xeb\xce\xf6\xbe\xe9\xf5\x33\xee\xff\x53\xe7" - "\xd2\xeb\x67\x8e\x58\x7a\xc1\xd6\x95\xed\xbb\xd6\x0e\xde\xe8\x2e" - "\x10\xb5\xdc\xd6\x28\xd9\xac\xe0\x15\x55\xa6\x9d\xcb\x4c\xb3\x86" - "\x15\x9f\xc0\x86\xb4\x9c\xa4\x9f\x8d\x31\xe4\x7f\x60\x35\xf5\x17" - "\xdd\x4f\xb0\x1f\x51\x0a\x97\xf3\xb9\x4e\x79\x7d\x91\x6c\xe2\xf9" - "\x47\x42\xbd\xd5\xc9\x75\xc1\xcf\x76\x81\xa6\xaf\x25\x49\x3f\xa0" - "\xfc\xcb\xc6\x50\xbc\x8e\xf8\x99\x3f\xbe\x8f\x40\x37\x94\xd3\xb7" - "\x9d\xbe\xf7\x77\xfe\x3e\x1b\x93\x77\x6e\x9f\x8d\xf9\x56\xf5\xd7" - "\x98\x3f\xc6\xe3\x37\xc6\x99\xbc\xbf\xc6\x94\xf7\xdd\x5f\x63\x6a" - "\xfa\xee\xaf\x31\x0d\xdc\x5f\x68\x6f\x30\x7e\xdc\x18\x73\x28\xbe" - "\xbd\xa8\x17\xe5\x84\xe9\xa2\x4b\xf9\xf9\x87\xb6\xdb\xf8\xb1\x8e" - "\xe3\xbe\xaa\x2d\x23\xf0\x72\xca\x30\xc6\xf1\x42\x61\xf4\x09\x1b" - "\x34\x5c\xbf\x24\xf9\x7e\x2b\xcf\x71\x5b\xaa\x89\x78\x1f\xd9\xf1" - "\x23\xb6\xdd\xc7\xfe\x41\x33\x51\x2b\xee\x4d\xc7\xe8\xee\x57\x35" - "\x93\xa9\x94\xf7\x3c\xa5\x5f\xb8\x5c\x43\x18\x7b\x24\xb6\x2f\x78" - "\xef\x93\xe7\xa6\x6b\xd5\xdc\xe9\xef\xc7\xe8\xae\x59\xaa\x5f\xee" - "\x7e\x29\x9e\x8e\x77\x51\xf2\x7e\xb9\xcb\x8e\x7e\xf9\x7b\xf2\x7e" - "\xb9\x6b\x74\xdf\xfd\x72\x57\x1e\xfa\xe5\xef\xe7\xca\xd1\x5d\x4e" - "\x5d\x8e\x56\x70\x19\xc7\x5c\x9e\x8f\xdf\xf5\x17\xce\x83\x7b\xc8" - "\xc8\x5d\x7c\xa4\x3c\x65\x64\xbb\x21\x47\xb2\x4c\x0d\x60\xc9\xfa" - "\xf5\x3c\xd5\x3a\x8c\x58\xb8\x5e\x6b\x7b\x32\x39\xb9\x4b\xf6\xd3" - "\xcd\xc5\xc4\x7b\xf1\xf9\x9b\x18\xc6\x3c\xa2\x93\x74\xf7\x48\xce" - "\xc7\xe9\x37\x87\x62\xe5\xe4\xee\x9e\x7c\xac\xeb\xf4\xbc\x24\x3a" - "\x9d\xc4\xf9\xe2\x61\xdf\xad\xb7\xbf\xbf\x1c\x47\x38\x3f\xe7\x4b" - "\xc8\x93\xaf\xe4\xf1\xee\x9a\x78\x79\xbc\xbb\x38\x9e\x3f\xef\x92" - "\xe5\x34\xe8\x39\x3f\x8d\x6d\x02\x0e\x3f\x98\xbf\xce\x2f\x9b\x77" - "\xb7\x27\xc8\x26\x78\x20\x77\x8d\xe2\x81\xdc\x17\xe2\x71\xcd\x35" - "\x27\xe7\x81\xdc\xa1\x7d\xf3\x40\x6e\x4e\xdf\x3c\x90\x3b\x8d\x79" - "\xc0\x4f\xb9\xab\xe3\x65\x33\xb7\x28\xbe\xed\xa8\x57\xca\x26\x5d" - "\x72\x21\xb2\x09\x5b\xe8\xd2\xbe\xe4\x90\x65\x8a\xfd\x47\x6a\xbb" - "\x8c\xbd\x8e\x1f\x44\x33\x0b\xe4\x0a\xf8\xdd\xe3\xe0\x35\x25\xe8" - "\xf8\x1c\xa6\xe1\x66\x79\xf6\xf0\x9e\xd1\xb1\x74\x5c\xab\xce\xc7" - "\xb9\x91\xf7\x53\xde\x57\x56\xf4\xbc\x77\x79\x7c\xfb\xef\x99\x96" - "\x9c\x9e\xf7\x14\x81\x9e\xee\xe4\xf4\xbc\xa7\xa2\x6f\x7a\xde\x53" - "\xcf\x67\x8f\xce\x95\xa9\x7b\xf6\x3a\x16\x4a\x1b\x45\x96\x39\x49" - "\xf7\x5e\xf6\xc3\xc6\xa7\x7b\x42\xf1\xe3\xd3\x3d\x47\x2e\x7c\x7c" - "\xba\x37\x27\xf9\xf8\x74\x6f\x5e\xf2\xf1\xe9\x5e\xa7\x92\x87\x7b" - "\xeb\xe2\xe5\xe1\xde\xf2\x78\x9e\x00\xed\xfe\xc7\xc6\xa7\x7b\x83" - "\x09\x32\xb0\xee\x18\x8d\x7b\x09\x36\x45\xb9\xea\xb7\xf1\xb7\xc7" - "\xe3\x38\x2e\x23\x79\xbf\x8d\x1b\x8e\x7e\x5b\x97\xbc\xdf\xc6\xe5" - "\xf6\xdd\x6f\xe3\x78\x0f\x7a\xdd\xb9\xfd\x36\xae\xe4\xc2\x6d\x8a" - "\x71\x3b\xe2\xfb\x6c\xdc\xfa\x0b\xef\xb3\x71\xed\xc9\xfb\x6c\xbc" - "\x39\x79\x9f\x8d\x1f\xaa\xfa\x6c\xfc\xb4\xf8\x3e\x1b\x3f\x3a\xbe" - "\xcf\x40\xb7\xff\x66\x9f\xa1\x7f\xcc\xca\x3f\x61\xfc\xc7\x98\xb7" - "\xf7\xef\xf4\x8c\xdf\xe9\xa7\x09\x25\x6a\x6e\x3d\x41\x8d\x1d\xaa" - "\x0f\x3f\x40\x9e\xba\x73\xc7\x81\xf1\x07\xf4\xb4\x5f\x9e\xdb\x0f" - "\xe3\xdb\xa0\xa3\xdb\x9b\x4a\xe5\xde\x96\xea\x43\xa6\x39\xf2\x79" - "\x97\xf0\xfe\xd4\x04\xde\x2c\x4a\x41\x1f\x0b\x5f\x38\x42\xac\xd7" - "\x91\x3f\xc4\x70\xf8\xcc\x65\x3c\xac\x09\xd9\x17\x32\xc6\x9f\xc7" - "\xa7\xc6\xec\x2d\xbb\x15\xf0\xee\x9b\xa0\x78\x75\x42\xa2\xfd\x5b" - "\x8b\x77\x57\x28\x3e\xfd\xf9\xd7\x09\x38\xec\x49\xce\xa7\x13\x0e" - "\xa2\x0d\xb5\xc9\xf9\x74\x42\xa0\x6f\x3e\xbd\x0f\xfd\x4f\xb5\x31" - "\x73\x9f\x41\x4f\x45\xfc\x09\x73\x9f\xfb\xb2\xac\x21\xc5\x3b\xd2" - "\x26\xaa\xdc\x6d\xee\xf4\xdc\x97\x68\xff\xa1\x6f\xee\x6b\xd6\x71" - "\xfe\x43\x42\xf9\x3e\xec\xbf\xfb\xd8\xfe\xfb\x20\x39\xce\xf7\x9d" - "\xc7\xfe\xbb\x8f\xed\xbf\x0f\xce\x95\xad\xfb\x74\xfb\x2f\xd9\x1c" - "\xef\xbe\xf6\xe4\xfd\xff\xf3\x84\xfe\xa7\xfc\x12\xcc\x87\x65\xf9" - "\xf8\x7c\x23\x62\xf3\xb1\x6f\x12\xe7\x65\x1e\x49\x92\x37\x3f\x11" - "\x66\x1f\xf9\xca\xcf\xe1\x3d\xf6\xa5\x4a\xca\x7b\x3f\xdf\xa9\xe4" - "\x71\xa2\x39\x5e\x1e\x7f\xde\x14\x2f\x8f\xf7\x39\x13\xca\xb5\xc5" - "\xbf\x07\xff\xfc\x8f\xe9\xd8\x89\xd3\x12\x78\xe0\x8b\x63\x34\xf1" - "\x8f\x8a\x07\xee\xbf\x31\x1e\x8f\x89\x45\xc9\x79\x60\xe2\x4a\xb4" - "\xff\x8b\xe4\x3c\x30\xb1\xae\x6f\x1e\x98\xb8\x17\xb4\xfc\x22\x96" - "\x6f\x1f\x2e\xcd\xed\x9f\x90\xc7\x9f\x5c\xe7\x4d\x0c\x27\x5f\x23" - "\xb8\xdf\xa6\x68\x7c\xff\xc4\x78\x1a\xdf\x9f\x15\x4f\x43\xb4\xe5" - "\xbf\x4f\xc3\x9e\xd8\x07\x9d\x9e\xfb\x13\xe5\xdf\x77\x8c\x1e\xd0" - "\xe5\xff\xc1\x4b\x12\x70\xdc\xa3\x70\x49\xb6\x2e\x72\x3f\xcf\x7f" - "\x7d\xc9\x69\x79\x7f\x7b\xf2\x36\x3f\x60\xc6\x18\xe4\xd3\xce\x91" - "\xa5\x07\x86\x22\xfd\x61\x5e\x0f\xe5\xf5\x90\xcd\x48\x7f\x38\x42" - "\x16\x39\x5e\xf5\x8c\x4b\x0f\xe4\xb2\x2f\x0a\xd3\x9f\xf9\xd7\x3a" - "\x94\xf2\x78\x0c\x62\xbc\x0a\x4a\xa5\xdf\x82\x75\x25\xf3\xfa\x35" - "\xcc\xeb\x0f\x48\xfb\x8f\xf7\x59\xd8\x8f\xd0\xea\xa2\x3c\x5f\x28" - "\x42\x06\xbf\x73\xfe\x04\xd8\x35\x2c\x17\x9c\xdf\xc8\xab\xd6\xcd" - "\xca\x13\x74\xd3\x03\x4d\xc9\xfb\xf8\x81\x23\x7d\xf3\xce\x03\x61" - "\xd5\xcf\x0f\x8e\x88\xef\xe7\x07\x6d\x9a\x67\xe0\x34\x6e\x2b\x78" - "\xe0\x82\xe4\xa4\xc4\x21\x82\x7d\xea\xfb\x15\x4f\xb4\x16\x97\xd1" - "\x8f\x8e\xd3\x83\x55\xb2\x3e\x93\x08\x5b\x97\xa7\x50\x93\xd4\x01" - "\x0f\x7e\x23\xf1\x44\x9e\x82\x08\x99\xc4\x8a\xe7\x5b\xf9\x5d\xad" - "\x47\x84\x91\xef\x10\xef\x09\xf0\x99\x65\xf0\xc2\xa5\x47\xe9\xc1" - "\xf7\xe2\xca\x43\x13\xf8\x14\x8c\x40\xad\x94\xc7\x07\xdb\x8c\x35" - "\xdd\x95\x78\x4e\xbe\xee\x3b\xc9\x62\xf8\x3e\x28\x9f\xb1\x07\xfb" - "\xdc\xbf\x64\x9c\xf8\xac\x0c\xe3\x74\x7e\x3d\x30\x69\xba\xc1\xbf" - "\xca\xd7\x72\x52\x51\xaf\x2f\xdf\x24\x97\x9f\x26\x39\xce\xb3\x36" - "\x18\x23\x07\x93\xea\x63\xe1\xa8\xf8\x1f\x93\x1a\x0c\x7f\x3c\xdc" - "\x37\x7d\x0f\x2c\x03\x9f\xf6\x04\x7c\x60\x47\xdc\x7b\x58\xc1\x98" - "\x6c\x39\x1f\x0c\xee\x73\xc5\xb3\xcc\x0f\x93\x1d\xe7\x5b\xf3\x4b" - "\xb5\x53\xde\xeb\xe7\xf0\xd6\x64\x69\x2f\x31\x8c\xf3\xe3\x38\x79" - "\x7d\xdc\xdc\x42\xee\xdd\xf3\xde\xd6\x94\x27\x95\xdc\x4f\x49\x58" - "\x23\x9c\xbc\x53\xfa\x53\xe9\x72\xff\x54\x24\x51\x0e\x26\x1f\x34" - "\xc6\xe8\x84\xf4\x36\x43\xee\x31\xaf\x65\xb8\x09\xeb\xac\x53\xcc" - "\x4a\x16\xa6\x4c\xd7\xd2\x62\xe7\x6b\x53\xa4\xfd\x67\xac\x97\xe2" - "\xbd\x39\xa1\x5c\xc2\xfa\xdf\xe4\x9d\xa2\xef\x75\xfa\x0c\xf4\x6f" - "\x88\xf7\xb6\x54\x0c\x84\x29\xab\x13\xd6\x2b\x82\x6b\xe5\xf9\xf6" - "\xbf\x02\xee\x54\x5d\xef\xe5\x25\xd8\x78\x53\x76\xba\x4f\x9c\xaf" - "\xfd\x53\xfa\x68\xff\x94\xde\xf6\xcf\x65\xb8\x53\x13\xd6\x12\xa7" - "\xca\xf6\x47\xcf\xd1\x7f\x53\x87\x42\x7f\x19\x74\x83\xcd\x3d\x75" - "\x81\x61\xab\xf3\xfa\x41\xdf\xb6\xfa\xd4\xde\xf5\x3f\x55\xae\x77" - "\xfd\x2f\x98\xcc\x56\xf7\x93\xdc\x5b\x8d\xaf\xbb\xda\x5a\x93\xac" - "\x2d\x53\xfb\x58\xff\x9b\xaa\xaf\xff\xe5\x39\xe2\xf5\xd9\x54\x7f" - "\x7c\x1f\x4e\x4d\xe8\xc3\x3c\x8a\xef\xc3\x29\x3b\xff\x6f\xc7\x35" - "\x06\x94\x9a\x9a\x6a\x4a\x4d\x31\xa5\xa4\xe2\x35\x9a\x48\xfd\x53" - "\xcd\xa9\xfd\xf0\xbb\x48\xbf\xf6\x37\xa5\x9a\xcc\xf8\xf5\xd3\xaf" - "\x17\x25\x3c\xf7\xe7\xb2\xf8\x99\xf5\x6b\xbf\x84\xe7\x8b\xbe\xe7" - "\x7d\x7f\xbd\x5e\xa3\x7e\x73\xc2\x73\xbf\xef\x79\x7f\xd1\x7f\xb3" - "\x3c\x9d\xf3\x1c\xef\x87\x76\xff\xdc\x85\x33\x8b\xe6\x14\xca\xfd" - "\xe2\x59\x8e\x99\xcf\x3c\x33\x6b\xfe\x7c\x47\xc9\x8b\x8e\x7b\xef" - "\x79\xe8\xd6\x3b\x1d\x6a\xdb\xb9\x68\xec\x75\x85\xe9\x34\x79\xd1" - "\x3c\x7e\x31\xf9\xe1\xfb\xf3\x1d\x79\xf7\xde\x13\xff\xd2\x00\x23" - "\xb7\x97\xcf\x07\x25\x46\xfe\x72\x2b\x07\x13\xad\x7e\x53\xea\x9e" - "\x36\xf6\xf3\x55\x6b\x1e\x8f\x2e\x3f\xc8\xfe\xa3\x5d\x6e\xe1\xbd" - "\x86\xf7\xf4\x1f\xba\x8e\x1b\x31\xb2\xae\x9c\x8a\x9f\xe6\xf3\x2b" - "\x0f\xdd\x23\xf6\x07\xc9\xf1\x00\x99\x8e\xd2\x13\xaf\x36\xc1\x2a" - "\xe2\x67\x9f\x3f\x42\x0e\x37\x59\x50\xfe\x16\xbc\x4b\x11\x77\x69" - "\x48\x0b\xe9\xbe\xd0\x8f\xdc\x23\xd3\xf6\x97\x1b\xf9\xac\xc7\xe8" - "\xa1\xaf\xc5\x7e\x21\x9f\xf9\x7c\x90\xca\xf7\xd0\xa7\xc2\xf4\x0b" - "\x17\xeb\x86\x9a\x41\x64\xe6\xbd\xd0\xb7\x07\x91\xe5\xed\xc1\x1c" - "\x0b\xe4\xa1\x9d\xc6\x5e\x68\x25\x9e\xfd\xf4\xc4\x7a\xae\x9b\xf3" - "\x6a\xa6\x5f\x6c\xe5\xfc\x9b\xe3\xf3\x1f\xe9\xdd\x8b\x7d\x68\xa7" - "\x09\xf9\xa6\x7e\x49\x56\x6b\x54\x7c\x1b\x4e\x7f\xd7\x7f\xf3\x44" - "\x4a\xf1\xa1\x2b\x0e\x46\xca\x49\xf9\xfc\x3c\x7c\xdd\xe2\xa8\x88" - "\xb0\x7f\xfa\xe4\x76\xb7\x58\xf7\x02\x99\x21\xd3\x29\xde\x79\xec" - "\xa3\xf0\x70\x46\xed\x2c\x32\xa3\xfd\x43\x8f\xd3\xb4\x31\x8e\x29" - "\x44\xee\xc9\x64\xfe\x77\x17\xfb\x1b\xee\x2e\x5b\xfb\x27\x32\xff" - "\xb6\xab\xdc\xd4\x25\xec\x54\x5a\x22\x02\x82\xe3\x03\x85\x44\x98" - "\x7d\xfc\x0f\xce\x88\x72\x9e\xb9\x9d\x6e\x3b\xb5\x94\x84\x68\xd9" - "\x11\x11\xae\xf8\x93\x3a\x1b\xd0\xdc\x1e\x62\xff\x45\xcb\xb2\xc9" - "\x94\x7a\x2c\x9f\x4c\xcd\xce\x6a\xf2\x4d\x0f\x51\xe9\x11\x11\x38" - "\x38\xe3\x6b\x6a\x71\xee\xa2\x82\x56\x32\x1d\x6c\xfb\x1b\xc9\x18" - "\x37\xab\xbe\xb1\x95\x9d\x21\xfb\xb2\x39\x9c\x76\x86\x96\x2c\xa3" - "\x01\x4b\xfe\x4c\x56\x5f\xa0\x15\xf5\x9c\xa0\xc7\x0f\x53\x0a\xe0" - "\x99\x96\xfe\x8d\xec\x4b\x1f\x63\x3f\xdf\x5c\xaa\x29\x23\xbb\x70" - "\x67\x65\x74\xb9\xb3\x6c\x5d\x22\x6b\x50\xa7\x3b\x2b\xb3\xa5\x18" - "\xf9\xdb\xf6\xd1\xc0\x56\xca\xdc\x7f\xbc\xd5\x54\x7d\x9a\x86\x72" - "\x9b\x8e\xa1\x6d\x35\xa7\x91\x7f\xd5\x7e\xaf\x86\xb2\xb1\x65\x22" - "\x69\xfb\x5b\x7d\xf9\x61\xd2\x00\xab\xba\x8b\x86\xd6\x74\x91\x5d" - "\xab\xdc\xef\xe5\x72\xed\xf4\xc8\x1d\xbe\x83\x44\xa5\xcb\x44\xb4" - "\x7b\xd5\x87\x7e\xe8\xc4\xfe\x1f\x3c\xdd\x60\xf6\x1d\x6c\xa7\xe6" - "\x50\x17\xb5\xd0\x5f\xc9\xe7\xfa\x87\xf7\xb7\x4f\x37\xf4\xd3\x20" - "\x04\xde\x25\x6d\xa8\x4b\xf1\x8e\xbb\x99\xcf\x2a\x97\xd3\xba\x32" - "\xca\x28\x5e\x42\xfd\x8f\x23\x5d\xcd\xed\xeb\x03\xbe\xc8\x3f\xbc" - "\x4b\xa4\x3f\xee\x13\xeb\xcb\x9a\x29\xb5\x25\x54\xcd\x7e\x9f\xa6" - "\x68\xfa\x37\x36\x5f\xe8\x10\xf9\x8a\xff\xee\xd5\x2c\x81\xf0\x6a" - "\x8d\x2c\xef\x9d\x3d\x64\xf2\x99\xcf\x92\x2f\x3f\x44\x5f\xa0\x6e" - "\xb1\xea\x9b\xa1\xd0\x5b\xb9\x2d\xa1\x30\x9f\x77\xca\x16\x1d\xf6" - "\xf4\x75\xf3\x68\xc4\xe6\xd3\x34\x7c\xd3\x69\xca\x12\x9d\x59\x26" - "\xf6\xb1\xe5\xb3\xa9\x9b\x70\xcd\x68\x23\x0b\xda\xae\xfc\xb1\xd3" - "\x74\x5f\xdb\xee\x2c\xaa\xed\xea\xf5\xb5\xed\xea\xe8\xf5\xb5\x05" - "\x4f\xed\x62\x7f\x5b\x3f\x4d\x1b\x6f\x3d\x48\xfd\x21\x27\x4e\xe6" - "\xef\x75\x27\xc9\xbc\xe2\x24\xd1\xcd\xe5\x26\x72\xcc\xe6\x73\x16" - "\x8f\x5e\xe7\x43\xdf\xf0\xfd\x51\x7a\xe4\x08\xae\x19\xf8\xa5\x40" - "\x26\xfe\xc8\xed\x6c\xd3\xf9\x18\x69\x26\xa4\xfd\x01\xd7\x54\x5c" - "\xf7\xb9\x6b\x44\x50\x54\x7c\x94\xd3\x61\xa2\x74\xe6\x67\xe5\xdf" - "\xfb\x51\x4e\xa7\xe7\x91\x3d\x7e\x7a\x7e\xb8\xc1\xd7\x4a\xc7\x3f" - "\xb4\xeb\x8b\xa3\x27\x38\x0e\x55\x50\xe2\xd5\xed\x4c\xe1\x98\x54" - "\x7a\x3a\xe3\x70\x15\xd7\x7b\x94\x1e\xe5\x7a\xac\xf8\x41\x4e\x1f" - "\xa9\x32\xca\x76\x74\x3b\x51\xe7\xa3\x97\x21\x5d\x18\xe9\x68\xb7" - "\x99\xdf\x7d\x74\xf4\x84\x49\xe5\xc9\x32\x01\x66\x58\x87\x0f\xd9" - "\x7f\x68\x1a\xcb\x78\x87\xc9\x2a\x1a\x67\x8c\xa6\x9a\x37\xc5\xc1" - "\x4d\x6f\x8a\x26\x25\x7b\x8f\xe6\xfb\xa9\xc8\xc9\x38\x62\x1c\x6f" - "\x5a\x8d\x77\x8d\x18\x85\x98\x2e\x4d\x85\xec\x4f\xf6\x28\xec\xbf" - "\x8b\xe3\xda\x20\x3c\x79\x7c\xc6\xd7\xfa\x7e\xd9\x81\x7e\xd0\x01" - "\xf9\x2d\x6d\xed\xf4\xdb\xae\x40\x3f\xf7\xbf\x91\xc9\x17\x39\x4a" - "\xa3\x32\xc9\xce\xf6\x60\xed\x9b\xc2\x8f\x6b\x80\xfd\x3b\xc1\x2f" - "\x57\x1d\xa7\x47\xff\xf0\xe3\x4c\xca\xfc\x0f\x17\xe9\xfa\xe9\xd1" - "\xbf\xc5\xe8\xa7\x59\xcd\xfe\x86\x18\xdd\xf4\xc4\x65\xe7\xea\xa6" - "\xc7\x2f\x51\xba\x09\xb2\x2f\x75\x51\xd4\xaf\xd2\x1f\x8b\x26\xa4" - "\xeb\x7e\x22\x8f\x7d\x99\x90\x1e\xd6\xd3\x9b\x13\xd2\x83\x7a\xfa" - "\x00\x43\xf7\xb5\x30\x1e\x8b\x58\xf7\xe5\x7f\xcb\xba\xaf\x65\x86" - "\xae\xfb\xa4\xfe\xc9\xff\xb3\xd8\x0a\x5d\xb4\x90\xf5\x4d\xfe\x7b" - "\x8c\xbf\xd8\x4f\x06\xee\x69\x48\x7b\x81\xd3\xd6\xff\x95\xcc\xf8" - "\x19\x7a\xef\x0b\xd6\x7b\xac\xf3\x58\xf7\x6d\x1c\x2c\x5a\x37\xbe" - "\x29\x0e\xd7\xc8\xd8\x3a\xbf\xec\xd1\x7f\xaf\x20\x6d\x35\xd2\x5e" - "\xc1\x7b\xd6\x83\x4c\x93\xe6\xfc\x06\x9e\x23\xb7\x81\x9f\x4b\x35" - "\x53\x36\xad\x45\x7f\xf3\x79\xc3\x95\xa0\xaf\x35\x85\x8a\x7d\x25" - "\x7c\x86\x35\xca\x3e\x69\x6d\x2d\x25\x6d\x2c\x77\x83\x57\x40\xce" - "\x7c\xae\xaf\xa9\x2c\x24\x8e\xf3\xb9\x3b\xc6\xa1\x60\xf1\x03\x1c" - "\x8f\x28\xa5\xc9\x49\xc4\x7e\xe1\xac\xb3\x81\x8b\x79\x3d\x70\x52" - "\x31\x54\xf2\x0b\xfd\x54\xb7\x53\xf5\xf5\x13\xeb\x39\xde\xd9\x51" - "\xfa\xe5\x0e\xcc\xf7\xc2\xdc\x36\x6b\xb4\x9c\xf8\x1c\x0c\x64\x8c" - "\xcf\x2f\x3a\x37\x9a\x34\xe7\x7a\xe3\x2c\x0c\xc7\xbe\x43\x1e\x5f" - "\x6b\x98\x18\x67\x3f\xfd\x32\xd4\x5c\xda\xc0\xe5\xab\x99\x36\xc2" - "\xe3\x36\x60\xa4\x48\x18\x26\x39\x6f\x74\xfa\x29\x5f\xad\x9d\xa7" - "\x7f\xe8\x6f\x9e\x1e\x24\xd6\xfb\xbe\x00\x60\x94\x1e\x55\x30\x00" - "\x4b\x60\x0c\x88\x7b\xa7\xc3\x1f\xb0\x4c\x7c\x0b\xf8\x85\xdc\x5f" - "\x7c\x2e\x92\xf7\xdb\x40\x97\x0c\xf6\x95\x57\xb6\xe8\x2f\x4f\xd4" - "\xfe\x95\x48\x3f\xdb\x09\x7e\xfb\x65\x3b\x9f\x5b\xe2\xf3\x9c\xe7" - "\x3b\xcb\x09\x1a\x0d\x37\xce\x73\x6a\x8b\xfe\x67\xcf\x72\x02\xb6" - "\x7d\xb3\x49\xec\x02\xfe\xed\x7c\x9e\x13\xf8\x4f\x62\x3e\xd4\xdb" - "\x14\x7c\xe3\x71\x49\xf3\xd1\x9c\x86\xb9\xe3\x01\xa3\xff\xb9\xbd" - "\xdc\x16\xbc\xb3\x2b\x1b\x51\x1c\xf2\xd3\x63\x41\x7e\x8f\x34\x33" - "\xe7\x1f\x05\x3d\xe6\xc3\x18\xf6\xc1\xd1\xa8\x69\xdd\x12\x32\x2b" - "\x9d\xf6\x44\x1a\x97\x57\x3a\xed\x71\x6f\xaf\x4e\x7b\xfc\x63\xa5" - "\xd3\x14\x8d\x95\x4e\x7b\xfc\x5d\xa5\xd3\x1e\xdf\x22\xf7\xc5\xa0" - "\xd3\xf8\x1d\xeb\x35\x43\xa7\x6d\x1a\x2c\x0e\xb0\xee\xe8\xf4\x3c" - "\xbe\xde\xd0\x6d\x6b\x90\xc6\xba\x83\x71\x54\x7a\x2a\x3f\x20\xfe" - "\xdf\x2c\x52\x7e\x07\x7c\xef\xe4\xf3\x0b\x01\xfd\x9e\xc7\x93\x14" - "\xa5\xe3\x1e\x6f\xeb\xd5\x71\x8f\x3b\x7b\xcb\xb2\x8e\x7b\xfc\x3b" - "\xa5\xe3\x54\x7a\xed\xe3\xac\xe3\xf2\x03\x4c\x03\x1d\xbe\x89\xd7" - "\xf0\xf4\xfc\xa0\xe3\xa3\xc1\x58\x1d\x17\x2f\x5f\x4f\x8c\x31\x74" - "\x1c\xeb\x36\x3c\x4f\xf2\x53\xba\x9c\x67\xb3\x9c\x55\x81\xe6\x86" - "\xdc\x71\x1f\x70\x9b\x39\xae\x19\xd3\x6d\xdc\x09\xea\xaf\x9f\x1d" - "\xd2\xdb\xfd\x44\x85\xe1\xfb\xe8\xa7\xc7\xd7\x27\xb3\xa3\x7b\x63" - "\x0f\xd2\xd5\x7c\x76\xde\x57\x7e\x94\x7c\xd5\xa2\xbc\x25\x72\x84" - "\x0a\x4a\xa0\x2b\x52\x9f\xff\x92\xfb\x16\xf3\x8e\x9f\xf1\x95\x75" - "\x0f\xc6\xd2\xe6\x82\x10\x5d\x84\xb9\xfa\x97\xeb\x4c\x78\xe7\x8a" - "\x7b\x27\xd7\x18\x6e\x9e\xc7\x71\xeb\x9e\xd8\xd5\xd7\x7c\xff\xc2" - "\xea\x9b\x3e\xb6\xef\xfa\xa6\x3f\x26\xeb\x83\x4d\x85\x39\xd0\x25" - "\x27\x69\xba\x9c\x97\xc8\xf8\x36\x2b\x92\xc2\xaa\xd4\xdf\xf7\xeb" - "\xe3\xfd\xbb\xdf\x53\xfe\xdf\xbe\xa7\xfc\x37\xac\x8b\xd0\x3e\x6b" - "\xd4\x13\x0f\x67\x60\xc4\xc8\x77\x1c\xf9\x9e\xbc\x44\x5f\x8b\xf9" - "\xd2\x3d\x4c\xce\xd1\xec\x06\x4c\xe6\xbf\xb5\xc8\x27\x63\x86\x40" - "\x57\x8e\x5f\x4c\x1c\xaf\x25\xb6\xec\xe4\x5e\x1a\x3f\x49\xe7\x59" - "\xf7\xcb\xf0\x55\x93\x8c\xa1\xd9\x08\x9b\x14\x63\x1c\xc7\xed\xd3" - "\xd7\x3f\x9e\xac\x87\xde\xac\x8b\xf1\x8b\x6d\x87\x9e\xbb\x9a\xe3" - "\x1a\xb0\x7d\xb9\x4e\xcd\x37\x2f\x87\x7e\x1e\xc4\xe7\x61\xf8\x6c" - "\x4c\x41\x34\xcf\xd4\x28\xe3\x8b\x3d\xe9\x37\xca\xf6\xb5\xce\xc2" - "\xf5\xea\x75\xb2\x8f\x69\xa8\xd3\xf3\x54\xa6\x51\x86\x61\xb3\x9f" - "\x22\xc6\xe5\xab\xe5\x99\xd2\x48\x3b\xeb\xc2\xcb\x61\x8b\x0e\x52" - "\xf5\xcc\x20\x55\xcf\x53\x13\xfd\x34\xdd\x76\xbe\xb3\x19\x7d\xb7" - "\xef\xa9\x95\x17\xde\x3e\xd2\xdb\xf7\x94\xf7\x7b\xda\x77\xbe\x7a" - "\x23\x17\x5e\xaf\x4d\xaf\xb7\x20\xe7\xc2\xe9\x5a\x50\xf4\xc3\xe9" - "\x9a\xad\xd3\xb5\xa0\xee\x7b\xe8\x9a\xac\x9e\xc3\x3f\xbc\x1e\x87" - "\x5e\xcf\x0c\x4b\xb2\x7a\x48\xfe\xf5\x79\x6e\xca\x62\xc4\xb0\xe4" - "\x78\xae\x2a\xbe\xdc\x8c\xbc\xd8\x58\xbd\x2a\xce\xeb\x8c\x42\x23" - "\x56\xaf\x1e\x4b\x16\xba\x7a\xc6\xf2\x82\x3a\x1e\xdf\x85\xe6\xa7" - "\x19\x2b\x39\x3e\xea\xf8\x65\xea\x4c\xb6\x5e\xa6\xfa\x7c\x31\x82" - "\x39\xa6\x95\x10\xf9\xd4\x58\x2d\xf7\xdb\xa1\xd7\x67\xfc\x91\xfd" - "\xef\xd5\x7e\xe1\x8c\x23\x4a\xee\x67\x60\x8e\x38\x23\xab\x6f\x18" - "\xfb\x76\xd5\x97\x65\xf7\xeb\xcb\xa7\xbe\xd3\x33\x73\xa8\x9f\xe6" - "\x66\x48\x3f\xfa\xf4\xcf\x0f\x60\xfe\xa0\xc7\xd5\x7b\xe6\xed\x98" - "\x18\x82\x18\x0b\x9f\xfe\x9d\xee\xfb\x0f\x1a\x94\x83\x96\x33\xa7" - "\x19\x34\x30\xd2\x91\xe6\x34\x68\x00\x9b\x26\xc3\x57\x17\xe1\xb3" - "\x39\x21\x75\x0e\x7b\xe6\x1a\x51\xb9\xaf\x4e\xc1\x9e\xd9\xaa\xec" - "\x16\xd4\xd7\x9d\x6f\x96\x73\xa5\x32\x9e\x2b\x3d\x5d\x1c\x4c\xdb" - "\x57\x67\xe0\x21\xe6\xdb\x4d\x7c\xde\x7b\x54\x44\xc5\xe9\x62\x9b" - "\x80\xcf\xc6\xc9\xf7\xf3\xb3\x4c\x98\x5b\x82\x26\x33\xbf\x15\x1d" - "\x1c\x2f\x46\xc2\xce\x00\xde\xd5\x0c\xd7\x8f\x6b\x70\x69\x16\xc7" - "\xba\xd0\xdb\x33\xf3\x2f\xda\xaa\xcf\x0f\x68\x9d\x76\x93\x81\xef" - "\x66\x79\x8e\xf5\x69\xb4\xbf\x40\xda\x6d\x0a\x1f\xbb\x89\x7d\xf8" - "\xb5\xf4\x7d\xbb\xc4\x52\x3b\xed\x99\x17\x90\x73\x25\xae\x73\x14" - "\xc7\x83\xe3\xb9\x11\xec\x11\x94\x9b\xd6\x43\x37\xc0\x15\x9d\x06" - "\xdd\x9e\x26\x35\x16\xab\x36\x86\x96\xda\x4d\x8d\x41\x79\xc6\x8e" - "\x86\x3b\xdc\xdf\xa9\x58\xcf\x4f\xaf\x37\x68\xd7\x83\x13\xf0\xe1" - "\x3c\xca\xa7\xe9\xe9\x5d\x06\x4e\x52\x5e\xd3\xf9\xcc\xee\xcc\x7a" - "\x3e\x2b\xa4\xe8\xdf\x98\x81\x3c\x87\xcf\xa5\xff\xd3\x81\x18\xfa" - "\xa7\x32\xbf\x31\xfd\x79\x7d\x03\x74\xb9\x04\xb4\xb4\xa8\x33\x0e" - "\x6c\xc3\x3c\xc3\x67\xe9\x33\x18\x4f\xad\xd2\xa0\x79\xbe\x59\xad" - "\x8d\x3d\x33\x29\xa6\x1f\xd0\x5e\x3b\xdb\x67\x29\x46\xfb\xb9\x0c" - "\xd3\x80\xe3\x3b\x72\xdd\xc0\xe7\xe2\x4e\xcf\x33\x85\x89\x6d\x5a" - "\xa1\xce\x8f\x90\xf2\x27\x79\x66\x65\x8f\x7c\x0c\x16\xc1\x12\x87" - "\x08\xab\xb3\xc8\xcf\x8c\xd8\x53\x16\x34\xf7\x25\xf7\xcc\x83\x32" - "\x56\xa4\x49\xae\x25\xc0\xce\x9a\xb5\x58\x00\x37\xd5\xf7\xb3\x7e" - "\xa1\xd2\x0a\x37\xe1\x0a\x1e\x7b\xe6\x8c\x40\xdd\x41\xb7\x8c\xab" - "\x82\xb6\xcd\xaa\x62\x9e\x33\xf8\x8c\xd7\x1e\x95\x9f\x78\xe1\x63" - "\xac\x47\x0c\x9a\x03\xff\xf4\x4e\x4f\xe1\x70\x03\x7f\x23\x3f\xf7" - "\x1d\xe7\xe1\x7d\x9a\x26\x47\x58\xea\x57\x75\x4e\xa8\x30\xcf\x90" - "\x5b\xae\x83\xfb\x99\xf5\x0b\xd3\x43\xd1\xa2\xb0\x38\x1e\x96\xdd" - "\xa4\xe2\x53\x32\xcf\x43\x1e\x97\x84\xfb\x21\x4f\x55\x2f\x8c\x42" - "\x9b\x7a\xd7\x83\x27\xfb\xf6\x4b\xff\x3b\xd5\x1f\x85\x51\x6e\x57" - "\x2f\xbe\x2c\x7f\x85\x3d\xfd\xcf\xef\x42\x6e\x3b\xc7\xb3\x95\x7a" - "\xa5\x64\x18\xe3\x1b\xe4\x38\xb1\x92\xd7\x01\x7f\x3c\xe3\xce\x79" - "\x8c\x3e\xeb\xe5\xc5\x59\x43\x63\xe1\x08\xb7\xdd\x64\xe8\x27\xa5" - "\x3b\x82\x98\xa7\x92\x43\xed\xb1\xcc\x9a\x18\x83\xb3\xd7\xc0\xa7" - "\x57\x27\xcc\x72\x26\xf2\x24\xd7\xcd\xf1\xf7\x74\xd8\xac\x4b\x6c" - "\x47\x69\xd6\x34\x85\xd7\x33\x07\xb9\x1f\xfb\x1a\xd3\x8c\x38\x9f" - "\xaf\x2b\x1d\x82\x7e\x9e\xfd\xe7\xd7\xd5\xd9\xa1\x90\x8a\xe5\x38" - "\xeb\x2f\xc2\xb4\x85\x69\xc5\x6b\xe8\x41\x19\xa3\x43\x9e\x2b\x9f" - "\x25\xcf\x98\x0f\x2c\xde\x22\xe3\xc7\xea\xfe\x80\xc1\xa6\xe2\x88" - "\xdc\x6b\x70\x97\xf0\x39\xdb\x08\xcf\xef\xa4\xbf\x5b\x63\x49\x84" - "\x1e\x0e\xb3\x4c\xcc\xce\xe2\xf3\xf3\x21\x29\x4b\xb3\x47\x1b\x67" - "\xe6\x39\xa6\xa5\xe8\xcc\x27\xe8\xa1\x54\xb6\x8b\x1c\x6e\x8e\x77" - "\xf0\x2c\x9f\x1f\x22\xbd\x7f\x69\xad\x49\x1c\x52\xf2\x3f\x7b\x99" - "\x8c\x23\x28\xf7\xae\x8e\x42\x27\xa4\xfe\xe3\x28\xcd\x7e\x43\xad" - "\xf5\x18\x3a\xea\xd9\x01\xbc\x7f\xe5\xd7\x61\xa0\x2e\x8c\x7f\x33" - "\xcd\xe7\xea\x92\xd9\xcb\x8c\xf9\x0a\x9f\xb9\x53\x7b\x61\xbd\xf0" - "\xfc\x34\xbb\x94\xaf\xbd\x7d\xf0\x7b\x86\xd5\x7e\xae\x5e\x78\x96" - "\x0c\xd9\x2b\xbe\x86\xcf\x6d\xcf\x6a\xe2\xfa\xfb\x1a\x2f\x84\xfb" - "\x31\xee\x27\xcb\x31\x47\xf2\xbe\x49\xbe\xb7\xf6\x6c\xa1\xd1\x06" - "\x83\x26\xaa\x0d\xcf\xee\xeb\x48\xdf\x6d\x89\x69\xfb\x3e\x49\x8b" - "\xde\xf7\x67\x62\x68\xc3\xcf\x21\x35\xae\x3d\xbb\x07\xfc\x51\xaf" - "\x78\x4d\xa5\x41\x76\xb6\x89\xa5\xd0\x05\x12\xc7\x39\x64\xc8\x3a" - "\xf2\xc2\xfe\xfb\x76\xa8\xda\xe3\x7a\x16\xed\x7f\x56\x8f\x9b\xf0" - "\x6c\x05\xe3\x92\xb4\x9d\x71\x38\x3a\x8b\xd8\xbe\x50\x71\x14\x9c" - "\x2f\x30\xbe\x8e\xeb\xb9\x8f\x9d\x77\x48\x1d\xce\x31\x15\xba\x9d" - "\xfd\x42\xdd\x59\xd4\xd1\xed\x84\x5e\xc8\x32\x75\x7a\x9c\xd0\xff" - "\xa7\xc2\xaa\x4e\xe7\x0c\x03\x57\xc6\x0d\x76\xb3\xa5\x53\xcc\x49" - "\x4e\x5f\xae\x57\xc6\x79\x72\xf6\xc7\xcf\x82\xdf\x45\x3f\x24\x0e" - "\x13\xec\xf2\x40\xb0\xb2\x61\xbd\xb6\x50\x1c\xe0\x78\x62\x98\x7b" - "\x04\xd6\x81\x77\x07\x2e\xf7\xc2\x16\x7f\xd2\x54\xb0\x98\x72\x31" - "\x47\x26\x71\x56\xe4\x6c\xd6\x70\x5d\x28\x46\x73\xbc\x6e\x3c\x67" - "\xeb\xcf\x23\xf8\xb9\x63\xa1\x98\xde\xe9\x99\x63\x33\xf6\x04\x55" - "\x2c\x9c\x39\x8e\x9e\xf8\x41\xa9\x4f\xf0\xf9\x21\x8e\x33\xa5\x61" - "\xee\x13\xe0\x7a\x0b\x78\xfe\x8a\xfa\x90\x0f\xf2\x3f\x43\xb6\x33" - "\x98\x7a\xd3\x20\xfc\xb2\xfa\xd8\x3b\x0d\x30\x5e\x1d\x69\x0d\xeb" - "\x0d\x5c\x07\x86\x72\x4d\x3f\x10\xb7\x9d\x06\x6e\x48\x3f\xb0\x4e" - "\xa5\x47\x38\xde\x21\xfb\x36\xe2\xfd\x41\x03\x57\x03\x07\xae\x8f" - "\xcf\x6b\x8a\xf4\xdd\x76\x8e\x35\xc3\xf5\x05\x97\x72\x7c\xdf\x39" - "\x61\x03\xdf\x1f\xca\xc7\x65\x35\x42\xf0\xd8\xc9\xba\xd7\x31\x84" - "\xa8\x25\xc4\xfa\xe4\xb9\x49\x8d\x35\x21\x5e\xdf\x1e\x82\x3a\xae" - "\xe8\x10\x4e\xd2\xba\x9d\x49\xfb\x97\xcb\x20\x7f\x85\xd4\x0d\xab" - "\x76\x5f\xa1\x89\x89\xd0\x11\x28\xd7\x3d\x91\xd7\x96\x20\xb3\xcf" - "\xed\x69\x2a\x0d\xf0\x19\x4b\xe8\x9b\xe7\xf6\x20\x8f\x9d\x6d\x2c" - "\xcc\xaf\x58\x67\xa5\xb2\x5e\xf2\x2e\x1c\xcd\x30\x3e\x36\xbb\xc8" - "\xdc\xe4\xfa\x61\xdf\x01\x00\xdc\x76\x25\x37\xcf\xb5\x1b\x76\x09" - "\xee\xc3\xf1\xfb\xdd\xcf\xf9\x13\xe7\x66\x4f\xbf\xf8\x62\x49\xc1" - "\xbc\x59\x7c\xc9\xba\x6e\xc1\x8d\xe9\xb1\x73\x70\xd6\xc1\x2a\x3e" - "\xc2\xf3\x36\x5e\xef\x7a\x7d\x90\xb1\x7f\xfb\x7c\xcf\xf9\x2f\xdd" - "\x4f\xfc\x6e\x9e\x4b\xb0\xcd\x8d\x77\x45\xbf\x2b\x5d\x26\x6d\xa0" - "\x2f\x2d\x64\x4a\xac\x6f\xf6\xcc\x92\x99\x45\x77\xf2\x4e\x4d\x7a" - "\xb2\x7a\xca\x13\xea\x69\xe8\xa9\x47\xe9\xc0\x90\x89\xf3\x55\x76" - "\xef\x12\x69\x6d\x79\xea\x8c\xee\xf3\x47\x8c\xb5\x94\x3e\xfc\xeb" - "\xf2\xa3\xab\xbe\x60\x7a\x73\x4c\x29\xd3\x47\x4b\x5a\x4d\x6c\xcb" - "\x94\xe1\x9e\xe7\xb4\x72\x6d\x46\x8f\x53\xb4\xff\x74\x2b\xc6\x98" - "\xa2\x6c\x51\xb9\x9b\xd7\x75\xb3\xfa\x9a\xc7\xc6\xfa\x26\xb0\x2f" - "\x5b\x1b\x15\x4d\xec\xd3\x8f\xa0\xe2\xf3\x56\xa5\x63\x8a\x36\x35" - "\xd9\x89\xf1\xf8\xf5\x51\x2a\x7a\xdb\x6c\xc7\x38\x32\x84\xfe\x05" - "\xf7\x9b\xb8\x2c\xbf\x8b\xeb\xe7\xab\x4e\xd4\x99\xc1\x85\xe0\xc6" - "\x14\xa1\xfe\xc8\xac\xdf\xa4\xe2\x67\x12\x29\x72\x97\x2d\x15\x14" - "\xee\x7f\x91\x99\xac\x03\x33\x2c\x57\xff\x68\xa8\xfd\xee\xbb\xc6" - "\xe4\xb8\xcb\x4a\x21\xbd\x91\xb0\x55\xc4\xc6\xd5\xfa\x2a\xfc\xc8" - "\x8d\xe5\x24\xfd\x2c\x2a\xbf\x0a\x27\xc3\x75\x8d\x47\x14\xf3\x99" - "\x66\x2d\xbd\xdb\xe1\x5e\x40\xa6\x0f\xba\xfc\x26\x8e\x1d\xcf\x36" - "\x16\x7f\x5b\xe0\x28\xbd\x70\xe3\x17\x48\x43\xfb\x5d\xa2\xa2\xdb" - "\xa1\x6c\x93\x17\xe6\x68\xab\xba\x1d\xbd\xf0\xcd\xc4\xf0\xdd\x6f" - "\x93\xa9\xbe\x2c\x60\xf2\x99\xef\x22\x9f\x23\x44\x5f\xe0\x3e\x29" - "\x2d\x51\x27\xdb\x3b\x0c\xa3\xd6\xa3\x55\xb8\xbf\x23\x93\x7e\x2e" - "\xd1\x74\x92\x5e\xd8\xb2\xab\x8f\x72\x7c\x0e\xb8\x23\xbd\xe1\xd1" - "\x4e\xcf\x0b\xe8\xff\x7b\xcc\xfa\x78\x07\xbd\xfc\x02\xf8\xbf\x48" - "\xea\x7f\xbc\x7f\xa4\x43\xc6\x16\x9e\x4b\x46\x9e\xe4\x63\x1e\xaf" - "\xcd\x0a\x2f\xf7\xab\x38\xfb\x4d\x80\xcf\x3c\xf4\xe1\x1f\xd1\xdf" - "\xe7\xba\x95\xf7\xa8\xfa\x0d\x0c\x53\x86\xfb\x8c\xe8\x8e\x7a\x28" - "\x13\xec\x6e\x8a\x62\x4e\x1d\x39\x2b\xf2\x9b\xdb\x4f\xcb\x58\x97" - "\xac\x3f\xde\x9f\xfd\x7b\x93\x2f\x7c\xca\xeb\x5b\xa9\x51\x0b\x6c" - "\x0f\x5f\xcd\x29\xaf\x8a\x89\x19\xa5\x66\xfa\x2b\x35\xbb\xfe\x77" - "\xb9\xaf\xfc\xaf\x48\x17\xe5\x4c\xe7\xee\xb3\x62\x9a\xcf\xfc\xbf" - "\x88\xbf\x7d\xc2\xba\x10\x74\x77\x9c\xa4\xb9\xff\xb6\x1f\x70\x3e" - "\xf8\x2f\xc0\x92\xb1\xb4\xc6\xd2\x17\xb8\x47\x9b\x0e\x1b\x7a\x32" - "\x69\x0c\x92\x14\xef\x1a\xab\xeb\x49\x93\x06\x9d\xcb\x31\xcf\xa0" - "\x6b\x47\x73\xbb\xf0\x9c\xcd\xcf\xb8\x8e\xe0\xab\x75\xb9\x77\x93" - "\x35\xf2\x24\xeb\xe0\x7c\xd6\xaf\x48\x9f\x56\x7b\x56\xea\xe4\x3c" - "\xfd\x79\x92\xfe\x3c\x51\x7f\x1e\xaf\x3f\xe7\xea\xcf\x63\xf8\x59" - "\xe9\xee\x17\x9d\x3d\xe3\x8a\xa9\xff\x21\x3c\xbb\x8c\xbe\x00\x3e" - "\x03\xac\xae\x65\x72\x0c\xd0\xf1\x18\xad\xe3\x95\xad\x3f\x1b\xf8" - "\x5c\x65\x8d\x2c\xfb\x9f\xc2\x27\x1c\x8f\x4f\xb1\x25\x06\x1f\xb2" - "\xba\x72\x7f\x08\x3e\x36\x2b\xc7\xe7\xff\x6f\xe0\xc3\xb8\x70\x1a" - "\xea\xaf\x48\xc0\xa7\xda\xc0\x27\x29\xbf\x2d\x14\x01\x1e\xff\xe6" - "\x5f\x21\xe3\xfd\xf6\xe7\xb1\xad\xb6\xcb\x88\x5f\x57\x7c\xf8\x7c" - "\xf1\xeb\x20\x0b\x76\xe4\x41\xfb\x8b\xeb\xf5\x71\x7e\xaf\xb2\x05" - "\x5f\xca\x30\x7c\x8a\xd0\xd6\x1d\xeb\x54\x5b\x77\xae\xe4\x18\x6e" - "\x8b\xe9\x4a\xb7\x4b\x04\x30\x37\xfb\x8a\xe7\x0f\xb1\x70\x8b\x4a" - "\xe6\xcf\x7f\xe1\x4e\x47\xd1\xcc\xb9\xb3\x1c\xd7\x15\x3a\xe6\x3b" - "\xe7\xcc\x2e\x99\x15\xbf\xcf\x6e\xd3\xbf\x97\x22\xcf\x0f\xb0\xbd" - "\x2d\xe7\x5b\xe0\x7f\xd6\xdb\xca\xe7\xf3\xa5\x66\xe1\x79\x29\x87" - "\x75\xfd\xe6\xd7\xc8\xcc\x67\x8a\x81\x4f\x8d\xa1\xe3\x8d\x39\x12" - "\xeb\x78\xa4\xc3\xfe\x9b\x3b\x3a\x26\x9d\xf3\x1e\x30\xd2\x18\xbe" - "\xae\x9b\xfa\x1f\xa5\x97\xe6\x70\x9d\x49\x69\x78\x56\xd4\x61\x7c" - "\xe5\xef\x0d\x98\xa0\x53\x04\xc7\x63\xe2\x73\x79\x28\x27\x8e\xd1" - "\xbc\x2b\x58\xf7\xf2\x37\x79\x94\x5d\x2f\x80\xe3\xbc\x91\x28\x53" - "\x8f\x34\xf3\x5a\xe4\xc5\x5c\x81\xe3\x28\x71\xde\x09\x1c\x1f\x01" - "\xe9\x16\x3d\xce\x14\xa7\x3d\xc6\xf1\x0b\x90\x66\x8b\x49\x7b\x81" - "\x63\xa5\x23\xcd\xa1\xc3\x5b\xc6\x74\xc6\x73\xae\xbe\x96\xc2\x79" - "\x5e\xd5\xeb\x2d\x8f\xc5\x99\x3f\x9e\x71\xeb\xcd\xd9\x8e\x69\x0f" - "\xff\x64\xec\x5d\xcf\xbc\x38\x77\x76\x3a\x49\xb2\x67\x61\xb8\xcc" - "\xbe\xd5\x75\xe3\x9d\x8e\xe2\x59\xb3\xe6\x39\x16\xcd\x9a\x5b\xe2" - "\x98\xb9\x68\xe6\xe2\x74\x9a\xfd\xe2\xbc\x67\xf8\xf4\x3d\x77\xcb" - "\xfc\x82\x67\x66\x3f\xcb\xce\x10\x2a\x77\x7a\xdc\x38\x3e\x8d\x75" - "\x9b\x1e\xaf\xe2\xc0\x3a\xb6\x35\xd2\xf6\xd6\xe1\x9e\xe3\x38\xd9" - "\x71\x6d\xc2\x6f\x2f\x7e\x0d\xf8\x1d\xc6\xef\xd0\x71\x72\x4d\xc7" - "\x75\x4f\xa7\x67\xfe\x18\xc3\x9e\xe8\xe5\xa1\xf9\x79\x06\x0f\x61" - "\xfc\xdf\xa3\xc6\xb7\xf9\xe5\x2d\x11\x29\x3f\x3d\x3c\xb5\xee\x6c" - "\x2f\x4f\x71\x1c\xca\x16\xf6\xf5\x59\x88\xf7\xe0\x61\xd0\x9f\xe7" - "\xd5\x69\x4c\xb7\x63\xb4\x70\x01\xe6\xe3\x07\x39\x86\x0a\xae\x4d" - "\xe0\x97\x83\x2a\x6e\xc9\xfc\x08\xf2\x0d\x43\x1d\x7b\xf5\x3a\xd4" - "\xf3\x60\x71\x80\xbf\x9d\x71\x54\x7f\x66\x58\x80\x31\x80\xef\xf9" - "\xaa\xef\xa9\x59\xd9\x6f\x52\xcd\x1b\x8d\x77\x25\xdb\xf5\x3a\xbc" - "\xa0\x45\xf9\x66\x8f\x5c\xfb\x93\xf3\x2b\x5e\x3b\xb4\xa6\xdc\x2d" - "\x80\xcf\x29\x2d\xf5\x09\x19\x7f\xdc\x57\xde\x05\x1d\x71\xdb\x6d" - "\x3e\x97\xcc\x9f\xc2\x6b\x8b\x53\x8a\x85\xc6\xf1\xa9\xb5\xd4\xe7" - "\x5b\xb9\x9c\xb0\xec\xad\xd3\xd6\x0e\xc8\x55\xb6\x00\xc7\xa3\x2b" - "\x29\xd7\x61\x86\x99\xb6\xc7\x69\xfe\x2d\x6a\xae\xe6\x9a\xae\xec" - "\xb3\x92\xd5\x86\x0f\x1e\x64\x34\x0b\xcf\x35\x86\x0e\xf0\x53\x89" - "\x53\xf7\x97\xf2\xaa\xf6\x97\x1c\xd6\x9f\x1b\x74\x1c\x53\x38\x46" - "\x06\xf0\x3f\xc4\x7d\x87\x79\x6f\x03\xee\x0f\x83\x3e\x07\x15\x7d" - "\x4a\xa4\x0d\x08\xbb\x86\xdf\x1f\xe6\xef\x8c\xe0\xdd\x61\x15\x7f" - "\xa2\x24\x83\xdb\xdc\xeb\x53\x59\x93\x0b\x5c\x07\xf0\xde\x23\x64" - "\xa9\xc1\x77\x96\xe5\xb3\x84\x63\x59\xee\x32\xf4\x0e\xeb\x99\x82" - "\x28\xe4\x54\xda\xdd\x0b\xc6\x1b\xfa\xa6\x97\x0f\x16\xe4\x27\xd3" - "\x25\xc9\xfa\x5d\xd1\x7f\xc1\xef\x84\x67\x5e\x0d\x70\xda\x25\xfb" - "\x80\xe3\x74\x9e\xed\xb1\xef\xbb\x95\x8e\x5c\xb0\xb3\x67\x2e\xa2" - "\xe3\xc1\x31\xbf\xfd\x8c\x5b\x97\xdc\x0f\xd6\xf5\xc6\x82\xc3\x86" - "\xde\x30\xe0\x58\x53\x84\x66\x75\xe1\x5f\xc5\xee\x30\xaf\x9d\xf3" - "\x78\x29\xed\x11\xc0\x19\x78\x46\x9d\x8d\xd2\x2a\x77\x43\x27\x2e" - "\x58\x0d\x1d\x63\x96\x36\xa7\x67\xde\x07\xbd\xba\x68\x61\x56\x2c" - "\x4c\x61\xd9\x1d\x66\xb8\xac\x8f\xd8\x26\x29\x88\x9a\x39\x3e\x49" - "\x58\x1f\x5f\xa0\x83\x17\xe6\x1b\xb8\x82\x86\x07\x0c\x7c\xf5\x6f" - "\x3c\x41\x57\x2d\x68\x98\x1a\xed\x66\x1f\xe1\x26\xd5\x9f\x2e\xa9" - "\x6f\xf0\x6e\x27\xca\x56\xf9\xe9\xa5\x80\x2e\x43\x07\x51\x7e\x67" - "\x63\xd9\x78\xe4\x59\xb8\x4b\xf7\x73\x3d\x84\xfe\x3d\x1c\xc3\xfb" - "\xdb\x63\xd6\x02\x0e\xab\x3e\xbc\xab\xfc\x28\x2d\x0c\xc6\xa4\xeb" - "\x7d\xdb\x98\x77\x94\x16\x6d\x57\xf3\xea\xdd\x0d\xaa\xfc\x22\x75" - "\x76\x45\xc7\x91\x75\x01\x9f\xe3\x62\x19\x97\xb4\x97\x7d\xbc\x28" - "\xcb\x18\x2f\x00\x6b\x8f\xa4\xf9\x60\xb1\x97\xe9\xa4\xe2\x40\xcc" - "\x6b\x51\x74\x5a\x94\x17\x47\x7b\x1e\x37\x51\x0f\xd3\x69\xe0\x72" - "\xa1\x0d\x0c\xa5\x88\x82\xc5\x66\x62\x79\x61\x19\xe7\x3d\x23\xf0" - "\x87\xb4\xab\x14\xdd\x16\xad\x37\xe8\x66\xf4\x1d\xd3\xc9\x4f\x8b" - "\x88\x69\x1b\xdf\xc6\xfe\x87\x8e\x1a\x6d\x07\x4d\x79\x1d\x1c\xcf" - "\xf5\xba\x5c\x1c\xf4\x0e\x61\x9f\x82\xf9\xef\x36\x9a\x7f\x42\x8d" - "\xae\xd1\xa4\x68\xbb\x28\x08\xda\xe6\xc5\xcc\x1b\x0e\x30\x7d\x59" - "\x56\x80\x67\x48\x8f\xc9\x74\x40\xf9\xb7\xcc\xaf\x87\xbd\x1f\x92" - "\xb2\xbc\x50\xc6\xce\x60\x19\x38\xc4\x34\x62\xbd\xc8\xb2\xc4\x32" - "\xc0\xf2\xa4\x68\xe4\x9a\x14\x43\xa3\x26\xa6\x8f\x4e\xa7\x3d\x09" - "\xba\x7c\x96\xa3\x68\xac\xd2\xc5\x8e\xac\xeb\x0a\x47\xc9\x00\x28" - "\x8e\xfb\xc6\xdd\xe9\xc8\x1b\x7b\x9d\xcb\x39\x62\x8a\xba\x8c\xcb" - "\x9b\xc4\xd7\xf4\xf8\x79\x97\x03\xf5\xec\x89\x9f\xbb\x95\xe5\x2a" - "\xfd\xe1\x3a\xe8\x4f\xe9\xbf\x83\xd3\x39\x1e\xe9\xba\xb9\x44\x51" - "\xe0\xbd\xf6\x38\xfa\xd4\xb2\xbb\x8a\xe3\xdf\x4e\xc5\x9c\x71\xca" - "\x19\xf1\x5d\x2d\xde\x6d\x46\xfa\xc0\x62\x8e\x9b\xff\x77\xa1\xa5" - "\xed\xae\xe2\xb9\xbd\xa8\xdc\x96\x1f\x4c\xfb\x2a\x8c\x9f\x37\x98" - "\xd6\xe0\x9c\x70\xa3\x5b\x74\x7a\x16\x0f\x37\xda\xc5\x6b\x00\xa0" - "\x53\xd5\x54\x97\x88\x32\x8d\x0a\x5c\x1c\xa3\x1a\xb0\x53\x79\x0d" - "\x60\x31\xda\xff\x42\x85\x9a\x5f\x2e\x06\xff\xcf\x6b\xd7\x75\x59" - "\x1e\x9e\x61\xff\xdd\xbe\x4b\xf6\xab\xc7\x2e\x63\x5b\x6b\x2b\x6e" - "\x7a\x08\xf3\x01\xaf\x01\x13\xb0\x2e\xd2\x63\xf8\x49\x78\x3f\xd4" - "\xdf\x52\x5b\xf5\x51\xbd\x35\x45\xc5\x0b\x84\x8c\x97\xd7\x9a\xb4" - "\xfc\x1e\xff\x09\xbc\x1b\xb8\xdc\xc6\xfe\x15\xf9\xe0\xbd\x72\xce" - "\x63\xbc\x5b\xe7\xd1\xfc\xeb\x4c\x5a\x18\xfd\x68\x53\xf6\x73\x3b" - "\xeb\x4f\xcc\x2d\x97\x64\x1a\xe3\x9a\x1c\x0f\x4d\x54\xae\xe6\x33" - "\x4b\x6e\xe7\x72\xa7\x3d\x66\xcc\x19\x5c\xf5\xd7\x64\xca\x39\x4a" - "\x58\xf3\xa4\x90\xf2\x71\x5d\x92\x66\xe8\x58\xde\x47\xb3\x2e\x17" - "\x41\x5e\x47\xb4\x46\x44\x50\xc6\x60\xe7\xb1\x83\x8e\x93\xaf\xb4" - "\xb3\x9c\x7d\xec\xa4\x0d\x84\x7a\xd5\xb8\x11\x55\xe3\x06\xea\x0f" - "\xa6\xde\x34\x03\xe3\x43\xca\x71\x5a\xdc\xca\xf8\x33\x6d\x78\x3d" - "\x5e\x03\xad\x7c\x3c\x4e\x32\x7d\xd2\x3f\x1e\xce\xbe\x11\xdc\x56" - "\x6b\x04\x6d\x8e\x6d\x97\x49\xf3\xaf\xf5\xa0\x5d\x26\xb4\xcb\x75" - "\x82\x65\x26\xcc\x3e\x2b\x90\xb7\xc1\x32\xce\xb1\x9c\x3f\x2f\x09" - "\xc7\xb6\x91\xf5\xbf\x6a\xc3\xd2\x2b\x92\xb5\x51\x98\xb8\x8d\x92" - "\x06\x27\x74\x79\x93\x78\xb2\xfe\x68\xa7\x25\x3b\x07\x2e\x67\x5f" - "\x91\xdd\x55\xd0\x6f\xe3\xb8\x0f\x31\x7e\xae\x67\x3c\x93\xf5\x17" - "\xc3\x53\xb0\x96\x36\x58\x97\x97\xcf\xe8\xf4\x2c\x5d\x99\x9c\xde" - "\x4b\xb7\x9f\x9f\xde\x4b\x17\x73\x79\xc6\x83\xf7\x00\xac\x11\x4c" - "\xd6\xc1\xb7\x98\xaf\x55\x24\xab\x77\xe0\xf2\x3a\xc6\x2b\xe9\x3b" - "\xc1\xf2\xa2\xeb\x20\xf0\xa1\x80\x9c\x08\xd6\x49\x9d\x9e\xd2\x9e" - "\xf5\x2f\x6b\x8a\x23\x55\xea\x07\x93\x58\x9f\x0c\x86\x75\xf9\x7a" - "\xde\x0b\x19\x87\xfa\x93\xbe\xd7\xf8\x9b\x0e\x15\xbb\xcb\xb5\x15" - "\x3f\xbe\xc6\x9a\x42\x77\x07\x53\x7f\x9c\x6e\x75\x45\x86\x33\x0d" - "\x01\xd3\x05\x39\x1e\xc9\xf3\x54\xb5\x76\x51\x0a\xfb\x7f\x8d\x8c" - "\xc7\x1d\x4c\xdb\x5d\xae\xf6\x16\x4a\x31\xfe\x55\x4d\x32\xd6\x6f" - "\xf1\x0c\xfd\xf2\x75\x91\x92\xcb\x2b\x37\x88\x55\x0d\xa3\x35\x8f" - "\x55\x38\x96\x58\x61\x47\x2e\x7b\x44\x13\x1c\xe7\xbf\x61\x74\x2f" - "\x9f\x28\x3f\x1a\x83\x4f\x50\x3e\x92\x9c\x07\x96\x5d\x75\x7e\x1e" - "\x28\xfd\x96\xdf\x33\xdd\xd5\x5c\x65\xd9\x78\xc3\x4e\x11\x2b\xae" - "\xdc\xe0\x28\xe3\xfa\x4b\x5b\x55\xdd\x4c\x93\x5c\xde\x57\x98\x04" - "\xba\x94\x23\x6f\xb1\xa1\x07\x98\x5f\xac\x51\xfe\x06\x02\x49\x9e" - "\xc6\x3b\xd8\x3f\xc5\x7e\xb5\x56\xda\x10\x94\xdf\x0b\xf4\xb8\x9c" - "\x41\xb7\x73\x23\xc6\x61\x0a\xa5\xed\x86\x5e\x59\xb6\xcb\x4f\x5e" - "\x19\xcf\x08\x63\x70\x08\x30\xc2\x55\xca\x4f\xd6\x22\xe3\x08\x41" - "\xa6\x39\x76\x10\xcb\x35\xd2\x32\x81\x37\xc7\x11\xc2\x7c\x67\x59" - "\xa0\x67\x5c\xf2\xe4\x42\x57\x08\xf9\xed\x1d\x8c\x4b\x43\x3b\x40" - "\xbb\x37\x4c\xda\x8e\xb3\xa3\xec\xc4\x6d\x3e\xbb\x62\xc8\x8e\x5f" - "\xdf\x4c\xe6\xff\xc7\xfe\x34\x15\xdf\x4a\x99\xcb\x7f\x62\xa6\xff" - "\x93\x43\x26\xa6\x83\x9f\x96\x85\x15\xed\xca\x72\x8c\xfe\xf1\x53" - "\x69\x9d\xd4\x9d\x2b\x9e\x08\x4c\x8d\x88\xef\xd4\x7a\x68\x19\xf4" - "\xdf\x73\x87\xd4\x7b\x97\x37\x71\x0d\x88\xed\x79\xc7\x9c\xf9\x8e" - "\xc2\x17\x17\xcd\x1d\x36\x2c\x6e\xae\x64\x96\x67\x63\x3c\x65\x45" - "\x6a\x3c\x2d\xeb\x89\x7f\xc4\x76\x09\x9e\xd1\x7e\xd7\x39\x31\xce" - "\x27\x15\xe8\xee\xcf\x05\xd9\xd4\x7b\x7f\x0b\x4d\xba\x25\xe6\xf1" - "\x36\x9a\x74\xeb\x6d\x05\x0f\xcd\x9a\x59\xb8\x38\x26\xf5\xf6\xd8" - "\x75\xbd\x75\x1b\x50\x77\xea\x90\x7b\xa1\x2b\x52\xa6\x2c\xe5\xb1" - "\xc5\xfd\x46\x59\x44\xfc\x03\xfa\x3a\x07\x32\x56\xd0\x5c\x12\xa1" - "\x66\xe8\x32\x71\x25\xeb\xf0\xfe\xea\xcc\x1f\xec\x29\xf0\x96\x15" - "\x6d\x0f\xc2\xae\x3b\xc3\xeb\x33\x28\xf7\x69\x4b\x35\xc7\xfa\x6d" - "\xd0\xe3\x98\xbb\x4b\x90\x7e\x09\xae\x9b\x70\xbd\x08\xd7\x2d\x8e" - "\xb9\x98\xf7\xb0\x8f\xf5\x42\xf6\xb1\x76\x4b\x5f\x97\x9b\x43\xe5" - "\xc4\xbe\x22\x78\x3f\x82\x6d\x10\x3f\xb9\xf9\xfb\x60\xfc\x4d\xba" - "\x5c\xa4\x2d\x70\x3c\x47\xd9\x7c\x15\x72\xff\x08\x33\xb0\xca\x86" - "\x62\xb1\x31\x9f\xbf\xa5\x35\x1c\xe9\x7f\x49\x4d\xf9\x92\x52\xed" - "\xfd\xa3\x9d\x1e\x77\xab\x9f\x9e\x5f\xcd\x74\xea\xeb\xdb\x9f\x4c" - "\xe7\x44\xfb\xb0\xd7\x36\x5c\x45\xd2\xbe\xd5\xed\xb9\xcd\x72\x5c" - "\x28\x1f\x11\x63\xd3\xf1\xfe\x65\xba\xb2\x4f\x44\x54\xd9\xa7\xe5" - "\x93\x0c\x39\xc0\x7d\xbe\xc1\xa7\x71\x71\xd7\xe6\x96\xcc\x9a\x37" - "\xab\xd0\x71\xdd\xfc\x74\x8a\x89\xba\xe6\x9c\x35\xd7\x31\x6f\xd6" - "\x4b\x0b\x66\xcd\x97\x11\xd3\xf8\x6d\xdc\x98\x9f\x29\xd2\xff\xb5" - "\xde\x38\x0f\xe4\x18\xc2\xf4\x2d\xdf\xc7\xb1\xba\xc4\xaa\x4f\x86" - "\xb3\x4f\x87\x9a\x6f\x74\xe7\xc4\xcf\x37\x3c\x79\xca\xce\x6b\x98" - "\xa1\xe6\x3a\xcb\xbf\xe6\xe7\xa3\xb4\xdc\xd9\x1b\x17\x7c\xf9\x15" - "\xa0\xa5\x49\xd1\xcd\x72\xac\xd3\xb3\xdc\x66\xd0\xcd\x4f\x9e\x6a" - "\xdd\x96\x6a\x97\xfa\x03\x63\x2c\xf4\x5f\xdc\xf8\xaa\xbe\xf9\xb9" - "\xdc\x0e\xde\x48\x95\xeb\xbd\x69\x0d\x85\x5c\x17\xc3\x3c\x86\xf2" - "\xe8\x9f\x19\xd0\x9b\xac\xdf\x2a\x0c\x78\xa8\x93\xb8\x3e\x7d\x1e" - "\x74\x39\xca\xcb\xfd\x70\xad\xa2\xa1\x90\x75\x0a\xc7\x96\xd0\x2a" - "\x01\x47\xee\xe3\x79\xaa\xd9\xc6\x94\xb1\xe9\x01\x8b\xd7\x69\xa1" - "\x1b\x4a\xf8\xfb\xb0\x9c\xa6\x62\x86\x95\x17\xf2\xda\x30\xea\x9a" - "\x0e\xfc\x0f\xf5\xfa\xbc\x7b\xaa\xd9\xee\x64\xb8\x7e\x5a\x5e\xc5" - "\xf0\x54\x4c\xb4\xe5\x21\x3f\x95\x45\x7a\xed\x27\x4f\x4e\xcc\xbc" - "\x0c\xf8\x28\x3c\x43\xc0\x45\xc6\xdf\x54\x3e\x88\xb2\xdd\xac\x3f" - "\xab\xf4\xb6\x1b\xed\xe9\xf4\x78\xa0\xff\xdc\x01\x63\x6f\xdd\xaf" - "\xb7\x9b\xf1\x63\xdc\x63\x71\xd6\xf1\x2d\x66\x7c\x51\xae\x34\x46" - "\xb6\x79\x5d\xa6\x1f\xd2\xd6\xf7\xfa\x36\x97\xb7\x26\xea\x8d\x17" - "\xe7\x3a\x8a\xe6\xcc\x7d\xbe\x60\xd1\xcc\xe7\x67\x15\x2c\x28\x1e" - "\xe1\x58\x30\xf7\xe9\xa2\x17\x9f\x79\x9e\xb9\x66\x7e\xc9\x82\x67" - "\x9e\x77\xb0\x66\x29\x18\x3f\x69\x52\xc1\xbd\x8f\x3c\xfc\x58\x3a" - "\xdd\x3b\x13\x69\x98\xf9\x4f\xca\x1e\xa1\x5e\x3d\x34\x61\xdc\xa3" - "\x05\xe3\xa6\x3e\x32\x65\x9a\x3c\x0c\xd1\xf3\x7e\xfc\xdc\xe4\x19" - "\xe2\xf8\xd0\x06\x5e\x9a\x8e\xfe\xed\x77\x94\x7e\x95\xa9\xe2\x68" - "\xaf\x18\x1f\x1f\x47\x7b\x05\xe6\xb2\x2b\x60\x65\xae\xc0\xd8\xbf" - "\xf2\x00\x7e\x98\xa7\xfe\xca\xa2\xf8\x2b\x6d\x6a\xa7\x67\x45\x71" - "\x2f\x7f\xfd\x2a\x53\xee\x8f\x57\xcb\x7d\x67\x13\xde\x41\xff\x97" - "\xaf\x8f\x7d\xd7\x3b\x9f\x5c\xb1\xa3\x67\x3e\xd9\xa3\x53\x56\x1c" - "\x36\xe6\x96\x48\x73\x62\x5e\x99\xc6\xf3\x4a\xb5\x9e\xf4\xab\xcb" - "\x24\x4f\xf5\x29\xdf\x16\x32\xe6\x95\x2c\xdb\xbc\x4f\xac\xe6\x1f" - "\x2b\x6d\xb1\x32\x2e\x63\x37\xea\x32\xce\xe5\xe4\xfa\x9d\xa5\x7b" - "\x38\xaf\x69\xc3\x3e\x9e\x0e\x5b\x01\xe3\x57\xa7\x10\x69\xdd\xc3" - "\x15\x4e\x2b\xf3\x78\x8d\x9b\xed\x66\x9d\x9f\x06\x1e\xa7\x95\x6b" - "\x84\xc7\x53\xaf\xe6\x94\x9e\x3f\xb3\x5e\x17\x2b\x86\xdc\xcb\xfe" - "\x27\x3c\x77\x42\x9d\x2b\x7b\x79\xf6\x57\x99\xcc\x0b\xbd\x73\xd9" - "\x95\x71\xfa\xbf\x43\x7e\xaf\x6e\xe5\x1e\x23\x0e\x40\xc9\x30\x32" - "\x99\x87\xad\xa7\x2a\x93\x28\xf7\xd3\xca\x42\xae\x83\xe9\xe9\xa7" - "\x15\x6c\x33\x98\x7b\xe9\xb7\x32\xd0\x43\x3f\x7d\x9d\xc5\x58\x63" - "\x51\x78\xff\xea\xb2\xbe\x68\x95\x9c\x4e\x2f\xe7\x7c\x2f\x9d\x3c" - "\xd4\x8f\x65\xd2\xa0\xd7\xb9\xb4\x7a\xb9\xf4\x5c\x5a\xbd\xdc\x1c" - "\x43\xab\x33\xe7\xd2\xea\xe5\x5d\x31\xfb\x3e\xfa\x3a\xca\xaf\x2e" - "\x63\x9a\x31\x8f\xa1\xdd\x85\xe0\xb3\xca\x5e\xfa\xbd\xec\x3f\x97" - "\x7e\x2f\x87\x92\xd3\xef\xe5\xf5\xd7\xc4\xc3\x59\x97\x6c\xdc\x18" - "\xb8\xdc\xa4\x9f\x13\xfa\xd5\x9c\xa6\xa1\x72\x4e\x1a\x7e\xdd\xa4" - "\x39\x5f\xf7\xe0\x87\x2b\xcf\x23\x7a\x6d\x71\x11\xd6\xe9\xeb\x6c" - "\xc2\x9c\x97\xd7\x95\xce\x33\x16\x1d\x31\xd6\x3c\x70\xdf\xca\x73" - "\x67\xfe\x56\x10\xa7\x33\x3d\xf9\xdb\x53\xe0\xf7\x56\x65\x97\xfe" - "\xaa\xa1\x67\xcd\xe5\xfa\x07\x8a\x53\x97\x93\xa3\xb1\xe6\x56\x4e" - "\x3f\x04\x1e\x92\x6b\x48\xec\xdf\xd3\x17\xcc\x82\x68\x2e\x25\x87" - "\xfb\xeb\x1e\xfe\xef\xeb\xac\x6c\x82\x3e\x72\xce\x9c\x5b\xf8\xe2" - "\xec\xd9\xdf\xaf\x8a\x62\x7d\x77\xd6\x7b\xb4\x8a\x4e\xfe\x1e\xe3" - "\x8a\xe7\x96\xa0\x4e\xd8\xff\x2f\x78\xd5\xb8\xf9\x6b\xe8\x3f\xa7" - "\x4b\xd9\x92\x4f\x04\xd4\xf9\xe0\x5f\xb7\xc7\xe8\x67\xf0\xc8\xaf" - "\xc3\xc2\xf3\xeb\xd1\xbd\x7d\xfc\xeb\xa6\x73\xfb\xf8\xd7\xad\xc9" - "\xfb\xf8\xd7\x11\x6d\x21\x9f\xcf\xf8\x35\xcf\x7f\xa4\xad\xc9\xcf" - "\xbc\x5f\x8e\x39\x73\x00\xf3\xe5\xf6\xa9\x8b\xbd\x77\x17\x2c\x4e" - "\x61\xbf\x72\xf9\x4d\x8e\xc8\x59\xd1\xc6\x7b\xd6\xbc\x3f\xc6\xdf" - "\xe4\xe0\x6f\xf1\xf0\xb7\x5a\x65\x1e\xdc\xaf\x3b\x46\x72\xee\x88" - "\xf7\x8e\xda\x63\xf2\xbb\xc4\xb0\x15\x2a\xf2\x0d\xdb\xda\xba\xdc" - "\x21\xcf\x2d\xaf\x55\xfd\xd1\xca\x7d\xc1\xf5\x15\x2c\xf6\xaa\x3a" - "\xce\xf2\xf7\xb6\xc8\xaa\x6c\x88\x8a\xf5\xe7\x5d\xbb\x4f\xfb\xaa" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 13:17:14 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 561991065672 for ; Tue, 12 Jul 2011 13:17:14 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from adsum.doit.wisc.edu (adsum.doit.wisc.edu [144.92.197.210]) by mx1.freebsd.org (Postfix) with ESMTP id 2A7C38FC1B for ; Tue, 12 Jul 2011 13:17:13 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth1.wiscmail.wisc.edu by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0LO80060028O6H00@smtpauth1.wiscmail.wisc.edu> for svn-src-all@FreeBSD.org; Tue, 12 Jul 2011 08:17:12 -0500 (CDT) Received: from comporellon.tachypleus.net (adsl-75-50-89-37.dsl.mdsnwi.sbcglobal.net [75.50.89.37]) by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0LO800F8528NWV30@smtpauth1.wiscmail.wisc.edu>; Tue, 12 Jul 2011 08:17:11 -0500 (CDT) Date: Tue, 12 Jul 2011 08:17:09 -0500 From: Nathan Whitehorn In-reply-to: <201107121004.p6CA4apj070450@kernblitz.nuclight.avtf.net> To: vadim_nuclight@mail.ru Message-id: <4E1C4955.7010206@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=75.50.89.37 X-Spam-PmxInfo: Server=avs-14, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.7.12.130615, SenderIP=75.50.89.37 References: <201107092301.p69N1sUp019626__19145.5060652972$1310252550$gmane$org@svn.freebsd.org> <201107121004.p6CA4apj070450@kernblitz.nuclight.avtf.net> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110704 Thunderbird/5.0 X-Mailman-Approved-At: Tue, 12 Jul 2011 15:24:01 +0000 Cc: svn-src-all@FreeBSD.org Subject: Re: svn commit: r223897 - in head: release usr.sbin/bsdinstall/scripts X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 13:17:14 -0000 On 07/12/11 05:04, Vadim Goncharov wrote: > Hi Nathan Whitehorn! > > On Sat, 9 Jul 2011 23:01:54 +0000 (UTC); Nathan Whitehorn wrote: > >> New Revision: 223897 >> URL: http://svn.freebsd.org/changeset/base/223897 >> Log: >> Per request of the docs team, install docs as packages, instead of via >> the normal distfile mechanism. Thanks to Marc Fonvieille for the patch and >> for putting up with me taking entirely too long to commit this! > [...] >> "Network" "Networking configuration" \ >> "Services" "Set daemons to run on startup" \ >> "Time Zone" "Set system timezone" \ >> + "Handbook" "Install FreeBSD Handbook (requires network)" \ > [...] >> + --checklist "This menu will allow you to install the whole documentation set >> +from the FreeBSD Documentation Project: Handbook, FAQ and articles.\n\n >> +Please select the language versions you wish to install. At minimum, >> +you should install the English version, this is the original version >> +of the documentation.\n\n >> +NB: This requires a working, configured network connection." 0 0 0 \ > [...] >> + en "English Documentation (recommended)" ${DIST_DOC_EN:-on} \ > Umm, _configured network_ even for original English docs? In 8.2R those doc > packages for every lang were installed by sysinstall from CD (DVD1 actually), > as it should really be for new user - e.g. if network could be configured only > after reading Handbook, installing mpd5 from CD/DVD packages, and so on. > > Or am I missing something, and it will still be available on the disk? > The packages are really big (40 MB per), and there's only a small amount of space available on the disc. We *could* fit the English ones, but it badly complicates the release scripts to begin doing package generation, and Marc and I decided to do it this way. -Nathan From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 17:54:29 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 12774106564A; Tue, 12 Jul 2011 17:54:29 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id C38228FC13; Tue, 12 Jul 2011 17:54:28 +0000 (UTC) Received: from [10.30.101.53] ([209.117.142.2]) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id p6CHoC2L093957 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Tue, 12 Jul 2011 11:50:14 -0600 (MDT) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <201107121016.20991.hselasky@c2i.net> Date: Tue, 12 Jul 2011 11:50:03 -0600 Content-Transfer-Encoding: 7bit Message-Id: <4FA2F9F7-1FCD-4C2F-AF6A-8B67E4DA7981@bsdimp.com> References: <201106272032.p5RKWJkx012547@svn.freebsd.org> <201107121016.20991.hselasky@c2i.net> To: Hans Petter Selasky X-Mailer: Apple Mail (2.1084) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Tue, 12 Jul 2011 11:50:15 -0600 (MDT) Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r223604 - head/etc/devd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 17:54:29 -0000 On Jul 12, 2011, at 2:16 AM, Hans Petter Selasky wrote: > On Monday 27 June 2011 22:32:19 Hans Petter Selasky wrote: >> Author: hselasky >> Date: Mon Jun 27 20:32:19 2011 >> New Revision: 223604 >> URL: http://svn.freebsd.org/changeset/base/223604 >> >> Log: >> Regenerate usb.conf after r223566. >> >> Modified: >> head/etc/devd/usb.conf >> > > Should the installation of this file be if'ed somehow? I don't think so. Warner From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 17:55:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D46781065673; Tue, 12 Jul 2011 17:55:34 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C46CC8FC16; Tue, 12 Jul 2011 17:55:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CHtYQg049352; Tue, 12 Jul 2011 17:55:34 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CHtY2T049350; Tue, 12 Jul 2011 17:55:34 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107121755.p6CHtY2T049350@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 17:55:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223959 - head/sys/sparc64/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 17:55:34 -0000 Author: marius Date: Tue Jul 12 17:55:34 2011 New Revision: 223959 URL: http://svn.freebsd.org/changeset/base/223959 Log: - Add a missing shift in schizo_get_timecount(). This happened to be non-fatal as STX_CTRL_PERF_CNT_CNT0_SHIFT actually is zero, if we were using the second counter in the upper 32 bits this would be required though as the MI timecounter code doesn't support 64-bit counters/counter registers. - Remove a redundant NULL assignment from the timecounter initialization. Modified: head/sys/sparc64/pci/schizo.c Modified: head/sys/sparc64/pci/schizo.c ============================================================================== --- head/sys/sparc64/pci/schizo.c Tue Jul 12 15:07:17 2011 (r223958) +++ head/sys/sparc64/pci/schizo.c Tue Jul 12 17:55:34 2011 (r223959) @@ -482,7 +482,6 @@ schizo_attach(device_t dev) if (tc == NULL) panic("%s: could not malloc timecounter", __func__); tc->tc_get_timecount = schizo_get_timecount; - tc->tc_poll_pps = NULL; tc->tc_counter_mask = STX_CTRL_PERF_CNT_MASK; if (OF_getprop(OF_peer(0), "clock-frequency", &prop, sizeof(prop)) == -1) @@ -1521,6 +1520,7 @@ schizo_get_timecount(struct timecounter struct schizo_softc *sc; sc = tc->tc_priv; - return (SCHIZO_CTRL_READ_8(sc, STX_CTRL_PERF_CNT) & - (STX_CTRL_PERF_CNT_MASK << STX_CTRL_PERF_CNT_CNT0_SHIFT)); + return ((SCHIZO_CTRL_READ_8(sc, STX_CTRL_PERF_CNT) & + (STX_CTRL_PERF_CNT_MASK << STX_CTRL_PERF_CNT_CNT0_SHIFT)) >> + STX_CTRL_PERF_CNT_CNT0_SHIFT); } From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 17:56:42 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9F8B106566C; Tue, 12 Jul 2011 17:56:42 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B05318FC13; Tue, 12 Jul 2011 17:56:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CHuglM049421; Tue, 12 Jul 2011 17:56:42 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CHugwx049419; Tue, 12 Jul 2011 17:56:42 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107121756.p6CHugwx049419@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 17:56:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223960 - head/sys/sparc64/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 17:56:42 -0000 Author: marius Date: Tue Jul 12 17:56:42 2011 New Revision: 223960 URL: http://svn.freebsd.org/changeset/base/223960 Log: - Current testing shows that (ab)using the JBC performance counter in bus cycle mode as timecounter just works fine. My best guess is that a firmware update has fixed this, check at run-time whether it advances and use a positive quality if it does. The latter will cause this timecounter to be used instead of the tick counter based one, which just sucks for SMP. - Remove a redundant NULL assignment from the timecounter initialization. Modified: head/sys/sparc64/pci/fire.c Modified: head/sys/sparc64/pci/fire.c ============================================================================== --- head/sys/sparc64/pci/fire.c Tue Jul 12 17:55:34 2011 (r223959) +++ head/sys/sparc64/pci/fire.c Tue Jul 12 17:56:42 2011 (r223960) @@ -664,9 +664,7 @@ fire_attach(device_t dev) /* * Setup JBC/UBC performance counter 0 in bus cycle counting - * mode as timecounter. Unfortunately, at least with Fire all - * JBus-driven performance counters just don't advance in bus - * cycle counting mode. + * mode as timecounter. */ if (device_get_unit(dev) == 0) { FIRE_CTRL_SET(sc, FO_XBC_PRF_CNT0, 0); @@ -674,19 +672,10 @@ fire_attach(device_t dev) FIRE_CTRL_SET(sc, FO_XBC_PRF_CNT_SEL, (FO_XBC_PRF_CNT_NONE << FO_XBC_PRF_CNT_CNT1_SHFT) | (FO_XBC_PRF_CNT_XB_CLK << FO_XBC_PRF_CNT_CNT0_SHFT)); -#ifdef FIRE_DEBUG - device_printf(dev, "FO_XBC_PRF_CNT0 0x%016llx\n", - (long long unsigned)FIRE_CTRL_READ_8(sc, - FO_XBC_PRF_CNT0)); - device_printf(dev, "FO_XBC_PRF_CNT0 0x%016llx\n", - (long long unsigned)FIRE_CTRL_READ_8(sc, - FO_XBC_PRF_CNT0)); -#endif tc = malloc(sizeof(*tc), M_DEVBUF, M_NOWAIT | M_ZERO); if (tc == NULL) panic("%s: could not malloc timecounter", __func__); tc->tc_get_timecount = fire_get_timecount; - tc->tc_poll_pps = NULL; tc->tc_counter_mask = TC_COUNTER_MAX_MASK; if (OF_getprop(OF_peer(0), "clock-frequency", &prop, sizeof(prop)) == -1) @@ -694,8 +683,16 @@ fire_attach(device_t dev) __func__); tc->tc_frequency = prop; tc->tc_name = strdup(device_get_nameunit(dev), M_DEVBUF); - tc->tc_quality = -FIRE_PERF_CNT_QLTY; tc->tc_priv = sc; + /* + * Due to initial problems with the JBus-driven performance + * counters not advancing which might be firmware dependent + * ensure that it actually works. + */ + if (fire_get_timecount(tc) - fire_get_timecount(tc) != 0) + tc->tc_quality = FIRE_PERF_CNT_QLTY; + else + tc->tc_quality = -FIRE_PERF_CNT_QLTY; tc_init(tc); } From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 18:02:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70721106566B; Tue, 12 Jul 2011 18:02:37 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6012D8FC0C; Tue, 12 Jul 2011 18:02:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CI2bj1049637; Tue, 12 Jul 2011 18:02:37 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CI2bhX049635; Tue, 12 Jul 2011 18:02:37 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107121802.p6CI2bhX049635@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 18:02:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223961 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 18:02:37 -0000 Author: marius Date: Tue Jul 12 18:02:37 2011 New Revision: 223961 URL: http://svn.freebsd.org/changeset/base/223961 Log: - Remove redundant timecounter masking from counter_get_timecount(). - Zero the timecounter when allocation so we don't need to initialize unused members and remove a now redundant NULL assignment. Submitted by: jkim Modified: head/sys/sparc64/sparc64/counter.c Modified: head/sys/sparc64/sparc64/counter.c ============================================================================== --- head/sys/sparc64/sparc64/counter.c Tue Jul 12 17:56:42 2011 (r223960) +++ head/sys/sparc64/sparc64/counter.c Tue Jul 12 18:02:37 2011 (r223961) @@ -86,13 +86,12 @@ sparc64_counter_init(const char *name, b bus_space_write_8(tag, handle, offset + CTR_CT1 + CTR_LIMIT, COUNTER_MASK); /* Register as a time counter. */ - tc = malloc(sizeof(*tc), M_DEVBUF, M_WAITOK); + tc = malloc(sizeof(*tc), M_DEVBUF, M_WAITOK | M_ZERO); sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK); sc->sc_tag = tag; sc->sc_handle = handle; sc->sc_offset = offset + CTR_CT0; tc->tc_get_timecount = counter_get_timecount; - tc->tc_poll_pps = NULL; tc->tc_counter_mask = COUNTER_MASK; tc->tc_frequency = COUNTER_FREQ; tc->tc_name = strdup(name, M_DEVBUF); @@ -107,6 +106,5 @@ counter_get_timecount(struct timecounter struct ct_softc *sc; sc = tc->tc_priv; - return (bus_space_read_8(sc->sc_tag, sc->sc_handle, sc->sc_offset) & - COUNTER_MASK); + return (bus_space_read_8(sc->sc_tag, sc->sc_handle, sc->sc_offset)); } From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 18:10:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2852E106564A; Tue, 12 Jul 2011 18:10:57 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1833B8FC28; Tue, 12 Jul 2011 18:10:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CIAufc049897; Tue, 12 Jul 2011 18:10:56 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CIAuBL049895; Tue, 12 Jul 2011 18:10:56 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107121810.p6CIAuBL049895@svn.freebsd.org> From: Marius Strobl Date: Tue, 12 Jul 2011 18:10:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223962 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 18:10:57 -0000 Author: marius Date: Tue Jul 12 18:10:56 2011 New Revision: 223962 URL: http://svn.freebsd.org/changeset/base/223962 Log: Remove NULL assignments which are redundant for static timecounters. Submitted by: jkim Modified: head/sys/sparc64/sparc64/tick.c Modified: head/sys/sparc64/sparc64/tick.c ============================================================================== --- head/sys/sparc64/sparc64/tick.c Tue Jul 12 18:02:37 2011 (r223961) +++ head/sys/sparc64/sparc64/tick.c Tue Jul 12 18:10:56 2011 (r223962) @@ -197,12 +197,10 @@ cpu_initclocks(void) * quality (S)TICK timers in the MP case. */ tick_tc.tc_get_timecount = tick_get_timecount_up; - tick_tc.tc_poll_pps = NULL; tick_tc.tc_counter_mask = ~0u; tick_tc.tc_frequency = clock; tick_tc.tc_name = "tick"; tick_tc.tc_quality = TICK_QUALITY_UP; - tick_tc.tc_priv = NULL; #ifdef SMP if (cpu_mp_probe()) { tick_tc.tc_get_timecount = tick_get_timecount_mp; @@ -212,12 +210,10 @@ cpu_initclocks(void) tc_init(&tick_tc); if (sclock != 0) { stick_tc.tc_get_timecount = stick_get_timecount_up; - stick_tc.tc_poll_pps = NULL; stick_tc.tc_counter_mask = ~0u; stick_tc.tc_frequency = sclock; stick_tc.tc_name = "stick"; stick_tc.tc_quality = TICK_QUALITY_UP; - stick_tc.tc_priv = NULL; #ifdef SMP if (cpu_mp_probe()) { stick_tc.tc_get_timecount = stick_get_timecount_mp; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 18:17:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 94D5F1065674; Tue, 12 Jul 2011 18:17:36 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id CEF7B179EEC; Tue, 12 Jul 2011 18:17:34 +0000 (UTC) Message-ID: <4E1C8FBD.5050705@FreeBSD.org> Date: Tue, 12 Jul 2011 11:17:33 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: Michael Tuexen References: <201107121147.p6CBl8hY037547@svn.freebsd.org> In-Reply-To: <201107121147.p6CBl8hY037547@svn.freebsd.org> X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223947 - head/usr.bin/netstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 18:17:36 -0000 On 07/12/2011 04:47, Michael Tuexen wrote: > Author: tuexen > Date: Tue Jul 12 11:47:08 2011 > New Revision: 223947 > URL: http://svn.freebsd.org/changeset/base/223947 > > Log: > Truncate link addresses like it is done for any > other address type. The more IPv6 is used the less optimal this truncation becomes ... > MFC after: 4 weeks > > Modified: > head/usr.bin/netstat/if.c > > Modified: head/usr.bin/netstat/if.c > ============================================================================== > --- head/usr.bin/netstat/if.c Tue Jul 12 10:07:07 2011 (r223946) > +++ head/usr.bin/netstat/if.c Tue Jul 12 11:47:08 2011 (r223947) > @@ -394,7 +394,7 @@ intpr(int interval1, u_long ifnetaddr, v > n = cp - sa->sa_data + 1; > cp = sa->sa_data; > hexprint: > - while (--n >= 0) > + while ((--n >= 0) && (m < 30)) > m += printf("%02x%c", *cp++ & 0xff, > n > 0 ? ':' : ' '); > m = 32 - m; > -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 19:00:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49BC3106566B; Tue, 12 Jul 2011 19:00:57 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by mx1.freebsd.org (Postfix) with ESMTP id D49C58FC0C; Tue, 12 Jul 2011 19:00:56 +0000 (UTC) Received: from [192.168.1.195] (p508FB201.dip.t-dialin.net [80.143.178.1]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id DD6A61C0B4612; Tue, 12 Jul 2011 21:00:54 +0200 (CEST) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Michael Tuexen In-Reply-To: <4E1C8FBD.5050705@FreeBSD.org> Date: Tue, 12 Jul 2011 21:00:53 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <6252BB63-BA46-4045-ACFB-F1560D29D301@FreeBSD.org> References: <201107121147.p6CBl8hY037547@svn.freebsd.org> <4E1C8FBD.5050705@FreeBSD.org> To: Doug Barton X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223947 - head/usr.bin/netstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 19:00:57 -0000 On Jul 12, 2011, at 8:17 PM, Doug Barton wrote: > On 07/12/2011 04:47, Michael Tuexen wrote: >> Author: tuexen >> Date: Tue Jul 12 11:47:08 2011 >> New Revision: 223947 >> URL: http://svn.freebsd.org/changeset/base/223947 >>=20 >> Log: >> Truncate link addresses like it is done for any >> other address type. >=20 > The more IPv6 is used the less optimal this truncation becomes ... I agree. But this patch does not change the display of IPv6 addresses. It just handles one specific case like all the others. I found this because the bug broke a tool which relies on the correct formatting of the netstat output. Best regards Michael >=20 >> MFC after: 4 weeks >>=20 >> Modified: >> head/usr.bin/netstat/if.c >>=20 >> Modified: head/usr.bin/netstat/if.c >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- head/usr.bin/netstat/if.c Tue Jul 12 10:07:07 2011 = (r223946) >> +++ head/usr.bin/netstat/if.c Tue Jul 12 11:47:08 2011 = (r223947) >> @@ -394,7 +394,7 @@ intpr(int interval1, u_long ifnetaddr, v >> n =3D cp - sa->sa_data + 1; >> cp =3D sa->sa_data; >> hexprint: >> - while (--n >=3D 0) >> + while ((--n >=3D 0) && (m < 30)) >> m +=3D printf("%02x%c", *cp++ & = 0xff, >> n > 0 ? ':' : ' '); >> m =3D 32 - m; >>=20 >=20 >=20 >=20 > --=20 >=20 > Nothin' ever doesn't change, but nothin' changes much. > -- OK Go >=20 > Breadth of IT experience, and depth of knowledge in the DNS. > Yours for the right price. :) http://SupersetSolutions.com/ >=20 >=20 From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 19:29:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 990D7106566B; Tue, 12 Jul 2011 19:29:29 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E6998FC15; Tue, 12 Jul 2011 19:29:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CJTTIO052331; Tue, 12 Jul 2011 19:29:29 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CJTTCY052328; Tue, 12 Jul 2011 19:29:29 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201107121929.p6CJTTCY052328@svn.freebsd.org> From: Michael Tuexen Date: Tue, 12 Jul 2011 19:29:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223963 - in head/sys: netinet netinet6 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 19:29:29 -0000 Author: tuexen Date: Tue Jul 12 19:29:29 2011 New Revision: 223963 URL: http://svn.freebsd.org/changeset/base/223963 Log: The socket API only specifies SCTP for SOCK_SEQPACKET and SOCK_STREAM, but not SOCK_DGRAM. So don't register it for SOCK_DGRAM. While there, fix some indentation. Modified: head/sys/netinet/in_proto.c head/sys/netinet6/in6_proto.c Modified: head/sys/netinet/in_proto.c ============================================================================== --- head/sys/netinet/in_proto.c Tue Jul 12 18:10:56 2011 (r223962) +++ head/sys/netinet/in_proto.c Tue Jul 12 19:29:29 2011 (r223963) @@ -163,7 +163,7 @@ struct protosw inetsw[] = { }, #ifdef SCTP { - .pr_type = SOCK_DGRAM, + .pr_type = SOCK_SEQPACKET, .pr_domain = &inetdomain, .pr_protocol = IPPROTO_SCTP, .pr_flags = PR_WANTRCVD, @@ -177,18 +177,6 @@ struct protosw inetsw[] = { .pr_drain = sctp_drain, .pr_usrreqs = &sctp_usrreqs }, -{ - .pr_type = SOCK_SEQPACKET, - .pr_domain = &inetdomain, - .pr_protocol = IPPROTO_SCTP, - .pr_flags = PR_WANTRCVD, - .pr_input = sctp_input, - .pr_ctlinput = sctp_ctlinput, - .pr_ctloutput = sctp_ctloutput, - .pr_drain = sctp_drain, - .pr_usrreqs = &sctp_usrreqs -}, - { .pr_type = SOCK_STREAM, .pr_domain = &inetdomain, Modified: head/sys/netinet6/in6_proto.c ============================================================================== --- head/sys/netinet6/in6_proto.c Tue Jul 12 18:10:56 2011 (r223962) +++ head/sys/netinet6/in6_proto.c Tue Jul 12 19:29:29 2011 (r223963) @@ -192,41 +192,29 @@ struct ip6protosw inet6sw[] = { }, #ifdef SCTP { - .pr_type = SOCK_DGRAM, - .pr_domain = &inet6domain, - .pr_protocol = IPPROTO_SCTP, - .pr_flags = PR_WANTRCVD, - .pr_input = sctp6_input, - .pr_ctlinput = sctp6_ctlinput, - .pr_ctloutput = sctp_ctloutput, - .pr_drain = sctp_drain, + .pr_type = SOCK_SEQPACKET, + .pr_domain = &inet6domain, + .pr_protocol = IPPROTO_SCTP, + .pr_flags = PR_WANTRCVD, + .pr_input = sctp6_input, + .pr_ctlinput = sctp6_ctlinput, + .pr_ctloutput = sctp_ctloutput, + .pr_drain = sctp_drain, #ifndef INET /* Do not call initialization twice. */ - .pr_init = sctp_init, + .pr_init = sctp_init, #endif - .pr_usrreqs = &sctp6_usrreqs + .pr_usrreqs = &sctp6_usrreqs }, { - .pr_type = SOCK_SEQPACKET, - .pr_domain = &inet6domain, - .pr_protocol = IPPROTO_SCTP, - .pr_flags = PR_WANTRCVD, - .pr_input = sctp6_input, - .pr_ctlinput = sctp6_ctlinput, - .pr_ctloutput = sctp_ctloutput, - .pr_drain = sctp_drain, - .pr_usrreqs = &sctp6_usrreqs -}, - -{ - .pr_type = SOCK_STREAM, - .pr_domain = &inet6domain, - .pr_protocol = IPPROTO_SCTP, - .pr_flags = PR_WANTRCVD, - .pr_input = sctp6_input, - .pr_ctlinput = sctp6_ctlinput, - .pr_ctloutput = sctp_ctloutput, - .pr_drain = sctp_drain, - .pr_usrreqs = &sctp6_usrreqs + .pr_type = SOCK_STREAM, + .pr_domain = &inet6domain, + .pr_protocol = IPPROTO_SCTP, + .pr_flags = PR_WANTRCVD, + .pr_input = sctp6_input, + .pr_ctlinput = sctp6_ctlinput, + .pr_ctloutput = sctp_ctloutput, + .pr_drain = sctp_drain, + .pr_usrreqs = &sctp6_usrreqs }, #endif /* SCTP */ { From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 19:46:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C804F1065677; Tue, 12 Jul 2011 19:46:10 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 85AF88FC18; Tue, 12 Jul 2011 19:46:10 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 0E25446B0A; Tue, 12 Jul 2011 15:46:10 -0400 (EDT) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 92D1A8A02F; Tue, 12 Jul 2011 15:46:09 -0400 (EDT) From: John Baldwin To: Doug Barton Date: Tue, 12 Jul 2011 07:58:29 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110617; KDE/4.5.5; amd64; ; ) References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <201107111114.33159.jhb@freebsd.org> <4E1B919F.7000800@FreeBSD.org> In-Reply-To: <4E1B919F.7000800@FreeBSD.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201107120758.30202.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Tue, 12 Jul 2011 15:46:09 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Pan Tsu Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 19:46:11 -0000 On Monday, July 11, 2011 8:13:19 pm Doug Barton wrote: > On 07/11/2011 08:14, John Baldwin wrote: > > On Sunday, July 10, 2011 8:53:31 pm Doug Barton wrote: > >> On 07/10/2011 17:42, Pan Tsu wrote: > >>> Doug Barton writes: > >>> > >>> Doesn't /boot/support.4th already populates kern.module_path with > >>> the path of successfully booted kernel? How is this different? > >> > >> When you test it, what happens? > > > > If you do 'boot foo' at the loader prompt you get > > /boot/foo;/boot/kernel;/boot/modules. > > No, I don't actually, which was my point to Pan: > > sysctl kern.bootfile > kern.bootfile: /boot/kernel.patched/kernel > > sysctl kern.module_path > kern.module_path: /boot/kernel;/boot/modules;/usr/local/modules > > That was after hitting "2. Escape to the loader prompt" at the beastie > menu, and typing 'boot kernel.patched'. The fact that it did not work as > one might expect was the reason I wrote the code that I did. Is this on HEAD? Perhaps the new boot loader menus recently imported broke this. > > It is arguably broken that the old /boot/kernel is still in the list, but that > > bug should be fixed in the loader, not here. > > I think that given the fact that we seem to have multiple broken > versions (as in, my version is broken one way, yours seems to be broken > a different way), it's hard for me to imagine removing the "belt and > suspenders" that I've already added. Not to mention the need to support > RELENG[78]. Well, I am basing off the behavior that the boot loader has had from 5.x up through 8.x. It may be that the new stuff aded to 9 last month by Julian broke this. > > However, I've never had a > > problem with kldload doing the wrong thing when using 'boot foo'. Do you have > > an actual use case that is broken? > > I was initially hoping to avoid the gymnastics, but given that > module_path wasn't doing TRT I thought it safe to err on the side of > caution. No, I think module_path should be fixed instead as if module_path is broken then 'kldload foo' at a prompt is also going to do the wrong thing. > > Oh, and if you use 'nextboot -k foo' or set 'kernel=foo' in loader.conf then > > it will DTRT. However, I would expect this script to be equivalent to a for > > loop of 'kldload foo', but now it isn't since you are using a divergent > > algorithm. That violates POLA IMO. > > It's not clear to me how what I'm doing is different than what _should_ > be happening. If you can spell that out to me I'd really appreciate it. If you do 'boot kernel.foo', then /boot/kernel.foo/ should be in the module_path which is what the kernel linker (when it autoloads a module on demand such as a firmware image or filesystem module) and kldload both use to locate klds. All of our various ways of loading a KLD should be following the same approach to avoid confusion, and using module_path does work fine on at least <= 8. It may be that there is a bug in the new boot loader stuff in 9 in which case that is what needs to be fixed as if module_path is broken, kldload and the kernel linker are also going to be broken. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 19:48:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7A921065678; Tue, 12 Jul 2011 19:48:21 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B791D8FC12; Tue, 12 Jul 2011 19:48:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CJmLkk052933; Tue, 12 Jul 2011 19:48:21 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CJmLaK052931; Tue, 12 Jul 2011 19:48:21 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201107121948.p6CJmLaK052931@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 12 Jul 2011 19:48:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223964 - head/lib/libprocstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 19:48:21 -0000 Author: pluknet Date: Tue Jul 12 19:48:21 2011 New Revision: 223964 URL: http://svn.freebsd.org/changeset/base/223964 Log: Mention myself in the AUTHORS section. Requested by: stas Modified: head/lib/libprocstat/libprocstat.3 Modified: head/lib/libprocstat/libprocstat.3 ============================================================================== --- head/lib/libprocstat/libprocstat.3 Tue Jul 12 19:29:29 2011 (r223963) +++ head/lib/libprocstat/libprocstat.3 Tue Jul 12 19:48:21 2011 (r223964) @@ -248,4 +248,11 @@ The library appeared in .Fx 9.0 . .Sh AUTHORS -.An Stanislav Sedov Aq stas@FreeBSD.org +.An -nosplit +The +.Nm libprocstat +library was written by +.An Stanislav Sedov Aq stas@FreeBSD.org . +.Pp +This manual page was written by +.An Sergey Kandaurov Aq pluknet@FreeBSD.org . From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 20:14:03 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4C6B106566C; Tue, 12 Jul 2011 20:14:03 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D4D168FC13; Tue, 12 Jul 2011 20:14:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CKE3SQ053724; Tue, 12 Jul 2011 20:14:03 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CKE3tL053722; Tue, 12 Jul 2011 20:14:03 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201107122014.p6CKE3tL053722@svn.freebsd.org> From: Michael Tuexen Date: Tue, 12 Jul 2011 20:14:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223965 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 20:14:04 -0000 Author: tuexen Date: Tue Jul 12 20:14:03 2011 New Revision: 223965 URL: http://svn.freebsd.org/changeset/base/223965 Log: Don't check for SOCK_DGRAM anymore. Also remove multicast related code which is not necessary anymore. Modified: head/sys/netinet/sctp_pcb.c Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Tue Jul 12 19:48:21 2011 (r223964) +++ head/sys/netinet/sctp_pcb.c Tue Jul 12 20:14:03 2011 (r223965) @@ -2523,8 +2523,7 @@ sctp_inpcb_alloc(struct socket *so, uint so->so_pcb = (caddr_t)inp; - if ((SCTP_SO_TYPE(so) == SOCK_DGRAM) || - (SCTP_SO_TYPE(so) == SOCK_SEQPACKET)) { + if (SCTP_SO_TYPE(so) == SOCK_SEQPACKET) { /* UDP style socket */ inp->sctp_flags = (SCTP_PCB_FLAGS_UDPTYPE | SCTP_PCB_FLAGS_UNBOUND); @@ -3721,13 +3720,6 @@ sctp_inpcb_free(struct sctp_inpcb *inp, (void)sctp_m_free(ip_pcb->inp_options); ip_pcb->inp_options = 0; } -#ifdef INET - if (ip_pcb->inp_moptions) { - inp_freemoptions(ip_pcb->inp_moptions); - ip_pcb->inp_moptions = 0; - } -#endif - #ifdef INET6 if (ip_pcb->inp_vflag & INP_IPV6) { struct in6pcb *in6p; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 20:33:53 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A368106564A; Tue, 12 Jul 2011 20:33:53 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id DF9BD8FC12; Tue, 12 Jul 2011 20:33:52 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id 11DF08B5; Tue, 12 Jul 2011 22:33:18 +0200 (CEST) Date: Tue, 12 Jul 2011 22:33:33 +0200 From: Pawel Jakub Dawidek To: Edwin Groothuis Message-ID: <20110712203331.GB1689@garage.freebsd.pl> References: <200910212059.n9LKxDDQ010447@svn.freebsd.org> <47d0403c0910261705s68cd23dcq67433dd831603416@mail.gmail.com> <20091027004213.GA13626@mavetju.org> <4AE67CA3.5080109@freebsd.org> <20091027064517.GA34072@mavetju.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="tsOsTdHNUZQcU9Ye" Content-Disposition: inline In-Reply-To: <20091027064517.GA34072@mavetju.org> X-OS: FreeBSD 9.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andriy Gapon , Ben Kaduk Subject: Re: svn commit: r198351 - head/share/zoneinfo X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 20:33:53 -0000 --tsOsTdHNUZQcU9Ye Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 27, 2009 at 05:45:17PM +1100, Edwin Groothuis wrote: > On Tue, Oct 27, 2009 at 06:52:51AM +0200, Andriy Gapon wrote: > > on 27/10/2009 02:42 Edwin Groothuis said the following: > > > On Mon, Oct 26, 2009 at 08:05:31PM -0400, Ben Kaduk wrote: > > >>> + fi; \ > > >>> + echo "Updating /etc/localtime"; \ > > >>> + tzsetup ${optC} -r; \ > > >> > > >> This breaks installworld for me. Replacing tzsetup with a hardcoded > > >> /usr/sbin/tzsetup allowed installworld to finish. > > >=20 > > > =3D=3D=3D> share/zoneinfo (install) > > > umask 022; cd /usr/src/share/zoneinfo; zic -D -d /usr/share/zoneinfo= -p America/New_York -u root -g wheel -m 444 -y /usr/obj/usr/src/share/z= oneinfo/yearistype africa antarctica asia australasia etcetera europe fact= ory northamerica southamerica > > > "factory", line 11: warning: time zone abbreviation differs from POSI= X standard (Local time zone must be set--use tzsetup) > > > install -o root -g wheel -m 444 /usr/src/share/zoneinfo/zone.tab /us= r/share/zoneinfo/ > > > Updating /etc/localtime > > > tzsetup: not found > > > *** Error code 127 > > >=20 > > > I'll check it out, just wonder why you can run zic(8) but not > > > tzsetup(8). They are both in /usr/sbin. > >=20 > > Perhaps ITOOLS variable has something to do with this. > > (installworld may be executed from a rather unpopulated environment). >=20 > Ben,=20 >=20 > Can you confirm that this resolves it? Because I was beaten by this several times by now, I finally found motivation to search for the offensive commit. When I compile HEAD on an older FreeBSD where system's tzsetup doesn't have -C option, installworld breaks. It tries to use system's tzsetup instead of building current one along with toolchain and using that. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://yomoli.com --tsOsTdHNUZQcU9Ye Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk4cr5sACgkQForvXbEpPzT6AwCgvs3pdmFNsKFO47yT8Qmz8lmA 0RgAoNXqjKj5AkRWbQtbRj1pZ0Qqqll/ =Akci -----END PGP SIGNATURE----- --tsOsTdHNUZQcU9Ye-- From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 20:37:18 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A78BE106566C; Tue, 12 Jul 2011 20:37:18 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E3E08FC08; Tue, 12 Jul 2011 20:37:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CKbInc054424; Tue, 12 Jul 2011 20:37:18 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CKbIM7054421; Tue, 12 Jul 2011 20:37:18 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107122037.p6CKbIM7054421@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 12 Jul 2011 20:37:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223966 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 20:37:18 -0000 Author: kib Date: Tue Jul 12 20:37:18 2011 New Revision: 223966 URL: http://svn.freebsd.org/changeset/base/223966 Log: Implement an RFTSIGZMB flag to rfork(2) to specify a signal that is delivered to parent when the child exists. Submitted by: Petr Salinger (Debian/kFreeBSD) MFC after: 1 week X-MFC-note: bump __FreeBSD_version Modified: head/sys/kern/kern_fork.c head/sys/sys/unistd.h Modified: head/sys/kern/kern_fork.c ============================================================================== --- head/sys/kern/kern_fork.c Tue Jul 12 20:14:03 2011 (r223965) +++ head/sys/kern/kern_fork.c Tue Jul 12 20:37:18 2011 (r223966) @@ -476,7 +476,10 @@ do_fork(struct thread *td, int flags, st sigacts_copy(newsigacts, p1->p_sigacts); p2->p_sigacts = newsigacts; } - if (flags & RFLINUXTHPN) + + if (flags & RFTSIGZMB) + p2->p_sigparent = RFTSIGNUM(flags); + else if (flags & RFLINUXTHPN) p2->p_sigparent = SIGUSR1; else p2->p_sigparent = SIGCHLD; @@ -719,10 +722,22 @@ fork1(struct thread *td, int flags, int static int curfail; static struct timeval lastfail; + /* Check for the undefined or unimplemented flags. */ + if ((flags & ~(RFFLAGS | RFTSIGFLAGS(RFTSIGMASK))) != 0) + return (EINVAL); + + /* Signal value requires RFTSIGZMB. */ + if ((flags & RFTSIGFLAGS(RFTSIGMASK)) != 0 && (flags & RFTSIGZMB) == 0) + return (EINVAL); + /* Can't copy and clear. */ if ((flags & (RFFDG|RFCFDG)) == (RFFDG|RFCFDG)) return (EINVAL); + /* Check the validity of the signal number. */ + if ((flags & RFTSIGZMB) != 0 && (u_int)RFTSIGNUM(flags) > _SIG_MAXSIG) + return (EINVAL); + p1 = td->td_proc; /* Modified: head/sys/sys/unistd.h ============================================================================== --- head/sys/sys/unistd.h Tue Jul 12 20:14:03 2011 (r223965) +++ head/sys/sys/unistd.h Tue Jul 12 20:37:18 2011 (r223966) @@ -180,8 +180,16 @@ #define RFLINUXTHPN (1<<16) /* do linux clone exit parent notification */ #define RFSTOPPED (1<<17) /* leave child in a stopped state */ #define RFHIGHPID (1<<18) /* use a pid higher than 10 (idleproc) */ +#define RFTSIGZMB (1<<19) /* select signal for exit parent notification */ +#define RFTSIGSHIFT 20 /* selected signal number is in bits 20-27 */ +#define RFTSIGMASK 0xFF +#define RFTSIGNUM(flags) (((flags) >> RFTSIGSHIFT) & RFTSIGMASK) +#define RFTSIGFLAGS(signum) ((signum) << RFTSIGSHIFT) #define RFPPWAIT (1<<31) /* parent sleeps until child exits (vfork) */ #define RFKERNELONLY (RFSTOPPED | RFHIGHPID | RFPPWAIT) +#define RFFLAGS (RFFDG | RFPROC | RFMEM | RFNOWAIT | RFCFDG | \ + RFTHREAD | RFSIGSHARE | RFLINUXTHPN | RFSTOPPED | RFHIGHPID | RFTSIGZMB | \ + RFPPWAIT) #endif /* __BSD_VISIBLE */ From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 20:38:43 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3593A1065673; Tue, 12 Jul 2011 20:38:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 25CB88FC08; Tue, 12 Jul 2011 20:38:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CKchbh054560; Tue, 12 Jul 2011 20:38:43 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CKch7p054558; Tue, 12 Jul 2011 20:38:43 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107122038.p6CKch7p054558@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 12 Jul 2011 20:38:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223967 - head/lib/libc/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 20:38:43 -0000 Author: kib Date: Tue Jul 12 20:38:42 2011 New Revision: 223967 URL: http://svn.freebsd.org/changeset/base/223967 Log: Document RFTSIGZMB. Fix spelling of SIGCHLD. Note that signals are delivered, not returned. MFC after: 1 week Modified: head/lib/libc/sys/rfork.2 Modified: head/lib/libc/sys/rfork.2 ============================================================================== --- head/lib/libc/sys/rfork.2 Tue Jul 12 20:37:18 2011 (r223966) +++ head/lib/libc/sys/rfork.2 Tue Jul 12 20:38:42 2011 (r223967) @@ -5,7 +5,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 15, 2011 +.Dd July 12, 2011 .Dt RFORK 2 .Os .Sh NAME @@ -84,8 +84,18 @@ Note that a lot of code will not run cor .It Dv RFSIGSHARE If set, the kernel will force sharing the sigacts structure between the child and the parent. +.It Dv RFTSIGZMB +If set, the kernel will deliver a specified signal to the parent +upon the child exit, instead of default SIGCHLD. +The signal number +.Dv signum +is specified by oring the +.Dv RFTSIGFLAGS(signum) +expression into +.Fa flags . +Specifying signal number 0 disables signal delivery upon the child exit. .It Dv RFLINUXTHPN -If set, the kernel will return SIGUSR1 instead of SIGCHILD upon thread +If set, the kernel will deliver SIGUSR1 instead of SIGCHLD upon thread exit for the child. This is intended to mimic certain Linux clone behaviour. .El @@ -164,6 +174,8 @@ would be exceeded (see Both the RFFDG and the RFCFDG flags were specified. .It Bq Er EINVAL Any flags not listed above were specified. +.It Bq Er EINVAL +An invalid signal number was specified. .It Bq Er ENOMEM There is insufficient swap space for the new process. .El From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 21:01:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AD3A1065672; Tue, 12 Jul 2011 21:01:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 29C388FC08; Tue, 12 Jul 2011 21:01:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CL1A8m055279; Tue, 12 Jul 2011 21:01:10 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CL1AW4055275; Tue, 12 Jul 2011 21:01:10 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201107122101.p6CL1AW4055275@svn.freebsd.org> From: Rick Macklem Date: Tue, 12 Jul 2011 21:01:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223968 - in stable/8/sys/fs: nfs nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 21:01:10 -0000 Author: rmacklem Date: Tue Jul 12 21:01:09 2011 New Revision: 223968 URL: http://svn.freebsd.org/changeset/base/223968 Log: MFC: r223657 Fix the new NFSv4 client so that it doesn't fill the cached mode attribute in as 0 when doing writes. The change adds the Mode attribute plus the others except Owner and Owner_group to the list requested by the NFSv4 Write Operation. This fixed a problem where an executable file built by "cc" would get mode 0111 instead of 0755 for some NFSv4 servers. Found at the recent NFSv4 interoperability Bakeathon. Modified: stable/8/sys/fs/nfs/nfsproto.h stable/8/sys/fs/nfsclient/nfs_clport.c stable/8/sys/fs/nfsclient/nfs_clrpcops.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/fs/nfs/nfsproto.h ============================================================================== --- stable/8/sys/fs/nfs/nfsproto.h Tue Jul 12 20:38:42 2011 (r223967) +++ stable/8/sys/fs/nfs/nfsproto.h Tue Jul 12 21:01:09 2011 (r223968) @@ -826,15 +826,24 @@ struct nfsv3_sattr { * NFSATTRBIT_WRITEGETATTR0 - bits 0<->31 */ #define NFSATTRBIT_WRITEGETATTR0 \ - (NFSATTRBM_CHANGE | \ + (NFSATTRBM_SUPPORTEDATTRS | \ + NFSATTRBM_TYPE | \ + NFSATTRBM_CHANGE | \ NFSATTRBM_SIZE | \ - NFSATTRBM_FSID) + NFSATTRBM_FSID | \ + NFSATTRBM_FILEID | \ + NFSATTRBM_MAXREAD) /* * NFSATTRBIT_WRITEGETATTR1 - bits 32<->63 */ #define NFSATTRBIT_WRITEGETATTR1 \ - (NFSATTRBM_TIMEMETADATA | \ + (NFSATTRBM_MODE | \ + NFSATTRBM_NUMLINKS | \ + NFSATTRBM_RAWDEV | \ + NFSATTRBM_SPACEUSED | \ + NFSATTRBM_TIMEACCESS | \ + NFSATTRBM_TIMEMETADATA | \ NFSATTRBM_TIMEMODIFY) /* Modified: stable/8/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- stable/8/sys/fs/nfsclient/nfs_clport.c Tue Jul 12 20:38:42 2011 (r223967) +++ stable/8/sys/fs/nfsclient/nfs_clport.c Tue Jul 12 21:01:09 2011 (r223968) @@ -366,6 +366,7 @@ nfscl_loadattrcache(struct vnode **vpp, np->n_vattr.na_mtime = nap->na_mtime; np->n_vattr.na_ctime = nap->na_ctime; np->n_vattr.na_fsid = nap->na_fsid; + np->n_vattr.na_mode = nap->na_mode; } else { NFSBCOPY((caddr_t)nap, (caddr_t)&np->n_vattr, sizeof (struct nfsvattr)); Modified: stable/8/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- stable/8/sys/fs/nfsclient/nfs_clrpcops.c Tue Jul 12 20:38:42 2011 (r223967) +++ stable/8/sys/fs/nfsclient/nfs_clrpcops.c Tue Jul 12 21:01:09 2011 (r223968) @@ -1527,8 +1527,8 @@ nfsrpc_writerpc(vnode_t vp, struct uio * * deadlock, is that the upcall times out and allows * the write to complete. However, progress is so slow * that it might just as well be deadlocked. - * So, we just get the attributes that change with each - * write Op. + * As such, we get the rest of the attributes, but not + * Owner or Owner_group. * nb: nfscl_loadattrcache() needs to be told that these * partial attributes from a write rpc are being * passed in, via a argument flag. From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 22:11:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 0CE91106566C; Tue, 12 Jul 2011 22:11:48 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 9B0211511BB; Tue, 12 Jul 2011 22:11:47 +0000 (UTC) Message-ID: <4E1CC6A3.90005@FreeBSD.org> Date: Tue, 12 Jul 2011 15:11:47 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: John Baldwin References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <201107111114.33159.jhb@freebsd.org> <4E1B919F.7000800@FreeBSD.org> <201107120758.30202.jhb@freebsd.org> In-Reply-To: <201107120758.30202.jhb@freebsd.org> X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Pan Tsu Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 22:11:48 -0000 On 07/12/2011 04:58, John Baldwin wrote: > On Monday, July 11, 2011 8:13:19 pm Doug Barton wrote: >> On 07/11/2011 08:14, John Baldwin wrote: >>> On Sunday, July 10, 2011 8:53:31 pm Doug Barton wrote: >>>> On 07/10/2011 17:42, Pan Tsu wrote: >>>>> Doug Barton writes: >>>>> >>>>> Doesn't /boot/support.4th already populates kern.module_path with >>>>> the path of successfully booted kernel? How is this different? >>>> >>>> When you test it, what happens? >>> >>> If you do 'boot foo' at the loader prompt you get >>> /boot/foo;/boot/kernel;/boot/modules. >> >> No, I don't actually, which was my point to Pan: >> >> sysctl kern.bootfile >> kern.bootfile: /boot/kernel.patched/kernel >> >> sysctl kern.module_path >> kern.module_path: /boot/kernel;/boot/modules;/usr/local/modules >> >> That was after hitting "2. Escape to the loader prompt" at the beastie >> menu, and typing 'boot kernel.patched'. The fact that it did not work as >> one might expect was the reason I wrote the code that I did. > > Is this on HEAD? Yes. r223732M > Perhaps the new boot loader menus recently imported broke this. > >>> It is arguably broken that the old /boot/kernel is still in the list, but that >>> bug should be fixed in the loader, not here. >> >> I think that given the fact that we seem to have multiple broken >> versions (as in, my version is broken one way, yours seems to be broken >> a different way), it's hard for me to imagine removing the "belt and >> suspenders" that I've already added. Not to mention the need to support >> RELENG[78]. > > Well, I am basing off the behavior that the boot loader has had from 5.x up > through 8.x. It may be that the new stuff aded to 9 last month by Julian > broke this. > >>> However, I've never had a >>> problem with kldload doing the wrong thing when using 'boot foo'. Do you have >>> an actual use case that is broken? >> >> I was initially hoping to avoid the gymnastics, but given that >> module_path wasn't doing TRT I thought it safe to err on the side of >> caution. > > No, I think module_path should be fixed instead as if module_path is broken then > 'kldload foo' at a prompt is also going to do the wrong thing. No argument on module_path needing to be fixed. >>> Oh, and if you use 'nextboot -k foo' or set 'kernel=foo' in loader.conf then >>> it will DTRT. However, I would expect this script to be equivalent to a for >>> loop of 'kldload foo', but now it isn't since you are using a divergent >>> algorithm. That violates POLA IMO. >> >> It's not clear to me how what I'm doing is different than what _should_ >> be happening. If you can spell that out to me I'd really appreciate it. > > If you do 'boot kernel.foo', then /boot/kernel.foo/ should be in the module_path > which is what the kernel linker (when it autoloads a module on demand such as a > firmware image or filesystem module) and kldload both use to locate klds. All > of our various ways of loading a KLD should be following the same approach to > avoid confusion, and using module_path does work fine on at least <= 8. > > It may be that there is a bug in the new boot loader stuff in 9 in which case that > is what needs to be fixed as if module_path is broken, kldload and the kernel > linker are also going to be broken. Ok, if it can be demonstrated that this bug in module_path is limited to the specific, short window of 'from new boot loader till now' then I don't mind simplifying the script after it's fixed. Meanwhile, my point is that right now the script _is_ doing what is supposed to be done, that's why I made the change. The fact that it has to go through gymnastics to get to that point is a problem, and like I said I'll be happy to revert the change if we can be sure that the underlying problem is fixed. I'll definitely hold off on MFC'ing this change till we get more information in any case. Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 23:39:56 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2F70106564A; Tue, 12 Jul 2011 23:39:56 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D358E8FC0C; Tue, 12 Jul 2011 23:39:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CNdupd059949; Tue, 12 Jul 2011 23:39:56 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CNduKQ059947; Tue, 12 Jul 2011 23:39:56 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201107122339.p6CNduKQ059947@svn.freebsd.org> From: "David E. O'Brien" Date: Tue, 12 Jul 2011 23:39:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223969 - stable/8/usr.bin/wall X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 23:39:57 -0000 Author: obrien Date: Tue Jul 12 23:39:56 2011 New Revision: 223969 URL: http://svn.freebsd.org/changeset/base/223969 Log: MFC: r223940: If one's message is longer than the buffer size, then we reset 'cnt' at the wrong point and the actual column # get out of sync across the buffer size. Modified: stable/8/usr.bin/wall/wall.c Directory Properties: stable/8/usr.bin/wall/ (props changed) Modified: stable/8/usr.bin/wall/wall.c ============================================================================== --- stable/8/usr.bin/wall/wall.c Tue Jul 12 21:01:09 2011 (r223968) +++ stable/8/usr.bin/wall/wall.c Tue Jul 12 23:39:56 2011 (r223969) @@ -251,8 +251,9 @@ makemsg(char *fname) err(1, "can't read %s", fname); setegid(egid); } + cnt = 0; while (fgets(lbuf, sizeof(lbuf), stdin)) { - for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { + for (p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { if (ch == '\r') { putc('\r', fp); cnt = 0; From owner-svn-src-all@FreeBSD.ORG Tue Jul 12 23:48:58 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D7641065676; Tue, 12 Jul 2011 23:48:58 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6DC408FC0A; Tue, 12 Jul 2011 23:48:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6CNmwU9060348; Tue, 12 Jul 2011 23:48:58 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6CNmwpZ060346; Tue, 12 Jul 2011 23:48:58 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201107122348.p6CNmwpZ060346@svn.freebsd.org> From: "David E. O'Brien" Date: Tue, 12 Jul 2011 23:48:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223970 - stable/7/usr.bin/wall X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2011 23:48:58 -0000 Author: obrien Date: Tue Jul 12 23:48:57 2011 New Revision: 223970 URL: http://svn.freebsd.org/changeset/base/223970 Log: MFC: + r223940 (as r223969): If one's message is longer than the buffer size, then we reset 'cnt' at the wrong point and the actual column # get out of sync across the buffer size. + r175346: Handle wrapping correctly when \r appears in the input, and don't remove the \r from the output. For lines longer than 79 characters, don't drop every 80th character. Modified: stable/7/usr.bin/wall/wall.c Directory Properties: stable/7/usr.bin/wall/ (props changed) Modified: stable/7/usr.bin/wall/wall.c ============================================================================== --- stable/7/usr.bin/wall/wall.c Tue Jul 12 23:39:56 2011 (r223969) +++ stable/7/usr.bin/wall/wall.c Tue Jul 12 23:48:57 2011 (r223970) @@ -251,17 +251,26 @@ makemsg(char *fname) err(1, "can't read %s", fname); setegid(egid); } - while (fgets(lbuf, sizeof(lbuf), stdin)) - for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { + cnt = 0; + while (fgets(lbuf, sizeof(lbuf), stdin)) { + for (p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { if (ch == '\r') { + putc('\r', fp); cnt = 0; - } else if (cnt == 79 || ch == '\n') { + continue; + } else if (ch == '\n') { for (; cnt < 79; ++cnt) putc(' ', fp); putc('\r', fp); putc('\n', fp); + break; + } + if (cnt == 79) { + putc('\r', fp); + putc('\n', fp); cnt = 0; - } else if (((ch & 0x80) && ch < 0xA0) || + } + if (((ch & 0x80) && ch < 0xA0) || /* disable upper controls */ (!isprint(ch) && !isspace(ch) && ch != '\a' && ch != '\b') @@ -290,11 +299,10 @@ makemsg(char *fname) cnt = 0; } } - putc(ch, fp); - } else { - putc(ch, fp); } + putc(ch, fp); } + } (void)fprintf(fp, "%79s\r\n", " "); rewind(fp); From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 00:18:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 438801065674; Wed, 13 Jul 2011 00:18:02 +0000 (UTC) (envelope-from rysto32@gmail.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 4E31E8FC08; Wed, 13 Jul 2011 00:18:00 +0000 (UTC) Received: by ewy1 with SMTP id 1so2480522ewy.13 for ; Tue, 12 Jul 2011 17:18:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=0QG6pe0DX2MbkVEEvvSuo4OLHZcl4NKRi8f/x5F5D9Y=; b=p3nlxwVzZHXwFew4QhoJLuXorJUFil9e6woOIU8SjcBVN/PC6JE0LyTCBiemyV9g8+ dGfMgJRNA/oTWk6eyKS6Yq2J+3yv1cB2huHACmP+inIhlzOWwhjkuyZ98K74S2h9o6cW bJ86yFWwrw2ufOBY4YlYk1+pOL2IQx82UFZHQ= MIME-Version: 1.0 Received: by 10.213.21.2 with SMTP id h2mr178570ebb.90.1310514545507; Tue, 12 Jul 2011 16:49:05 -0700 (PDT) Received: by 10.213.15.70 with HTTP; Tue, 12 Jul 2011 16:49:05 -0700 (PDT) In-Reply-To: <4E1CC6A3.90005@FreeBSD.org> References: <201107102347.p6ANl3qK066321__21248.7196004533$1310341655$gmane$org@svn.freebsd.org> <201107111114.33159.jhb@freebsd.org> <4E1B919F.7000800@FreeBSD.org> <201107120758.30202.jhb@freebsd.org> <4E1CC6A3.90005@FreeBSD.org> Date: Tue, 12 Jul 2011 19:49:05 -0400 Message-ID: From: Ryan Stone To: Doug Barton Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Pan Tsu , John Baldwin Subject: Re: svn commit: r223917 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 00:18:02 -0000 I can confirm that on a 8.2-RELEASE derived system, the loader is setting module_path correctly: (TPC-F4-42:wheel)# cat /boot/loader.conf.local kernel="STOCK" module_path="/boot/kernel;/boot/modules;/modules" (TPC-F4-42:wheel)# sysctl kern.module_path kern.module_path: /boot/STOCK;/boot/kernel;/boot/modules;/modules From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 00:48:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD741106564A; Wed, 13 Jul 2011 00:48:36 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AE4628FC13; Wed, 13 Jul 2011 00:48:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D0maBp062111; Wed, 13 Jul 2011 00:48:36 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D0maif062109; Wed, 13 Jul 2011 00:48:36 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201107130048.p6D0maif062109@svn.freebsd.org> From: Rick Macklem Date: Wed, 13 Jul 2011 00:48:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223971 - head/sys/fs/nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 00:48:36 -0000 Author: rmacklem Date: Wed Jul 13 00:48:36 2011 New Revision: 223971 URL: http://svn.freebsd.org/changeset/base/223971 Log: r222389 introduced a case where the NFSv4 client could loop in nfscl_getcl() when a forced dismount is in progress, because nfsv4_lock() will return 0 without sleeping when MNTK_UNMOUNTF is set. This patch fixes it so it won't loop calling nfsv4_lock() for this case. MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clstate.c Modified: head/sys/fs/nfsclient/nfs_clstate.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clstate.c Tue Jul 12 23:48:57 2011 (r223970) +++ head/sys/fs/nfsclient/nfs_clstate.c Wed Jul 13 00:48:36 2011 (r223971) @@ -761,7 +761,8 @@ nfscl_getcl(vnode_t vp, struct ucred *cr FREE((caddr_t)newclp, M_NFSCLCLIENT); } NFSLOCKCLSTATE(); - while ((clp->nfsc_flags & NFSCLFLAGS_HASCLIENTID) == 0 && !igotlock) + while ((clp->nfsc_flags & NFSCLFLAGS_HASCLIENTID) == 0 && !igotlock && + (mp->mnt_kern_flag & MNTK_UNMOUNTF) == 0) igotlock = nfsv4_lock(&clp->nfsc_lock, 1, NULL, NFSCLSTATEMUTEXPTR, mp); if (!igotlock) From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 04:27:47 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6776106564A; Wed, 13 Jul 2011 04:27:47 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A58008FC08; Wed, 13 Jul 2011 04:27:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D4RlAU068864; Wed, 13 Jul 2011 04:27:47 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D4RlbS068862; Wed, 13 Jul 2011 04:27:47 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107130427.p6D4RlbS068862@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 13 Jul 2011 04:27:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223972 - stable/8/sbin/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 04:27:47 -0000 Author: ae Date: Wed Jul 13 04:27:47 2011 New Revision: 223972 URL: http://svn.freebsd.org/changeset/base/223972 Log: MFC r223661: Improve error reporting. Use corresponding error message when file to be preprocessed is missing. Also suggest to use absolute pathname if -p option is specified. PR: bin/156653 Modified: stable/8/sbin/ipfw/main.c Directory Properties: stable/8/sbin/ipfw/ (props changed) Modified: stable/8/sbin/ipfw/main.c ============================================================================== --- stable/8/sbin/ipfw/main.c Wed Jul 13 00:48:36 2011 (r223971) +++ stable/8/sbin/ipfw/main.c Wed Jul 13 04:27:47 2011 (r223972) @@ -262,7 +262,7 @@ ipfw_main(int oldac, char **oldav) save_av = av; optind = optreset = 1; /* restart getopt() */ - while ((ch = getopt(ac, av, "abcdefhinNqs:STtv")) != -1) + while ((ch = getopt(ac, av, "abcdefhinNp:qs:STtv")) != -1) switch (ch) { case 'a': do_acct = 1; @@ -306,6 +306,10 @@ ipfw_main(int oldac, char **oldav) co.do_resolv = 1; break; + case 'p': + errx(EX_USAGE, "An absolute pathname must be used " + "with -p option."); + case 'q': co.do_quiet = 1; break; @@ -603,9 +607,12 @@ main(int ac, char *av[]) * as a file to be preprocessed. */ - if (ac > 1 && av[ac - 1][0] == '/' && access(av[ac - 1], R_OK) == 0) - ipfw_readfile(ac, av); - else { + if (ac > 1 && av[ac - 1][0] == '/') { + if (access(av[ac - 1], R_OK) == 0) + ipfw_readfile(ac, av); + else + err(EX_USAGE, "pathname: %s", av[ac - 1]); + } else { if (ipfw_main(ac, av)) { errx(EX_USAGE, "usage: ipfw [options]\n" From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 04:30:16 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 693D6106564A; Wed, 13 Jul 2011 04:30:16 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5890C8FC2B; Wed, 13 Jul 2011 04:30:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D4UGb0068984; Wed, 13 Jul 2011 04:30:16 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D4UGoX068982; Wed, 13 Jul 2011 04:30:16 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107130430.p6D4UGoX068982@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 13 Jul 2011 04:30:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223973 - stable/7/sbin/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 04:30:16 -0000 Author: ae Date: Wed Jul 13 04:30:16 2011 New Revision: 223973 URL: http://svn.freebsd.org/changeset/base/223973 Log: MFC r223661: Improve error reporting. Use corresponding error message when file to be preprocessed is missing. Also suggest to use absolute pathname if -p option is specified. PR: bin/156653 Modified: stable/7/sbin/ipfw/main.c Directory Properties: stable/7/sbin/ipfw/ (props changed) Modified: stable/7/sbin/ipfw/main.c ============================================================================== --- stable/7/sbin/ipfw/main.c Wed Jul 13 04:27:47 2011 (r223972) +++ stable/7/sbin/ipfw/main.c Wed Jul 13 04:30:16 2011 (r223973) @@ -204,7 +204,7 @@ ipfw_main(int oldac, char **oldav) save_av = av; optind = optreset = 1; /* restart getopt() */ - while ((ch = getopt(ac, av, "abcdefhinNqs:STtv")) != -1) + while ((ch = getopt(ac, av, "abcdefhinNp:qs:STtv")) != -1) switch (ch) { case 'a': do_acct = 1; @@ -248,6 +248,10 @@ ipfw_main(int oldac, char **oldav) co.do_resolv = 1; break; + case 'p': + errx(EX_USAGE, "An absolute pathname must be used " + "with -p option."); + case 'q': co.do_quiet = 1; break; @@ -527,9 +531,12 @@ main(int ac, char *av[]) * as a file to be preprocessed. */ - if (ac > 1 && av[ac - 1][0] == '/' && access(av[ac - 1], R_OK) == 0) - ipfw_readfile(ac, av); - else { + if (ac > 1 && av[ac - 1][0] == '/') { + if (access(av[ac - 1], R_OK) == 0) + ipfw_readfile(ac, av); + else + err(EX_USAGE, "pathname: %s", av[ac - 1]); + } else { if (ipfw_main(ac, av)) { errx(EX_USAGE, "usage: ipfw [options]\n" From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 05:32:55 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B024106566C; Wed, 13 Jul 2011 05:32:55 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6ADB18FC08; Wed, 13 Jul 2011 05:32:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D5WtYx070891; Wed, 13 Jul 2011 05:32:55 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D5WtqB070889; Wed, 13 Jul 2011 05:32:55 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201107130532.p6D5WtqB070889@svn.freebsd.org> From: Mikolaj Golub Date: Wed, 13 Jul 2011 05:32:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223974 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 05:32:55 -0000 Author: trociny Date: Wed Jul 13 05:32:55 2011 New Revision: 223974 URL: http://svn.freebsd.org/changeset/base/223974 Log: Fix indentation. Approved by: pjd (mentor) Modified: head/sbin/hastd/primary.c Modified: head/sbin/hastd/primary.c ============================================================================== --- head/sbin/hastd/primary.c Wed Jul 13 04:30:16 2011 (r223973) +++ head/sbin/hastd/primary.c Wed Jul 13 05:32:55 2011 (r223974) @@ -1688,7 +1688,7 @@ ggate_send_thread(void *arg) if (ggio->gctl_error == 0 && ggio->gctl_cmd == BIO_WRITE) { mtx_lock(&res->hr_amp_lock); if (activemap_write_complete(res->hr_amp, - ggio->gctl_offset, ggio->gctl_length)) { + ggio->gctl_offset, ggio->gctl_length)) { res->hr_stat_activemap_update++; (void)hast_activemap_flush(res); } From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 05:42:05 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E089B106564A; Wed, 13 Jul 2011 05:42:04 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 970408FC08; Wed, 13 Jul 2011 05:42:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D5g4bO071211; Wed, 13 Jul 2011 05:42:04 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D5g4qh071207; Wed, 13 Jul 2011 05:42:04 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201107130542.p6D5g4qh071207@svn.freebsd.org> From: Mikolaj Golub Date: Wed, 13 Jul 2011 05:42:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223975 - stable/8/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 05:42:05 -0000 Author: trociny Date: Wed Jul 13 05:42:04 2011 New Revision: 223975 URL: http://svn.freebsd.org/changeset/base/223975 Log: MFC r223654, r223655, r223780, 223974: r223654: Make activemap_write_start/complete check the keepdirty list, when stating if we need to update activemap on disk. This makes keepdirty serve its purpose -- to reduce number of metadata updates. Discussed with: pjd r223655, 223974: Check the returned value of activemap_write_complete() and update matadata on disk if needed. This should fix a potential case when extents are cleared in activemap but metadata is not updated on disk. Suggested by: pjd r223780: Remove useless initialization. Approved by: pjd (mentor) Modified: stable/8/sbin/hastd/activemap.c stable/8/sbin/hastd/control.c stable/8/sbin/hastd/primary.c Directory Properties: stable/8/sbin/hastd/ (props changed) Modified: stable/8/sbin/hastd/activemap.c ============================================================================== --- stable/8/sbin/hastd/activemap.c Wed Jul 13 05:32:55 2011 (r223974) +++ stable/8/sbin/hastd/activemap.c Wed Jul 13 05:42:04 2011 (r223975) @@ -205,7 +205,7 @@ keepdirty_find(struct activemap *amp, in return (kd); } -static void +static bool keepdirty_add(struct activemap *amp, int extent) { struct keepdirty *kd; @@ -217,7 +217,7 @@ keepdirty_add(struct activemap *amp, int */ TAILQ_REMOVE(&->am_keepdirty, kd, kd_next); TAILQ_INSERT_HEAD(&->am_keepdirty, kd, kd_next); - return; + return (false); } /* * Add new element, but first remove the most unused one if @@ -238,6 +238,8 @@ keepdirty_add(struct activemap *amp, int amp->am_nkeepdirty++; TAILQ_INSERT_HEAD(&->am_keepdirty, kd, kd_next); } + + return (true); } static void @@ -308,9 +310,9 @@ activemap_write_start(struct activemap * assert(!bit_test(amp->am_memmap, ext)); bit_set(amp->am_memmap, ext); amp->am_ndirty++; - modified = true; } - keepdirty_add(amp, ext); + if (keepdirty_add(amp, ext)) + modified = true; } return (modified); @@ -345,7 +347,8 @@ activemap_write_complete(struct activema if (--amp->am_memtab[ext] == 0) { bit_clear(amp->am_memmap, ext); amp->am_ndirty--; - modified = true; + if (keepdirty_find(amp, ext) == NULL) + modified = true; } } Modified: stable/8/sbin/hastd/control.c ============================================================================== --- stable/8/sbin/hastd/control.c Wed Jul 13 05:32:55 2011 (r223974) +++ stable/8/sbin/hastd/control.c Wed Jul 13 05:42:04 2011 (r223975) @@ -155,8 +155,7 @@ control_status_worker(struct hast_resour const char *str; int error; - cnvin = cnvout = NULL; - error = 0; + cnvin = NULL; /* * Prepare and send command to worker process. Modified: stable/8/sbin/hastd/primary.c ============================================================================== --- stable/8/sbin/hastd/primary.c Wed Jul 13 05:32:55 2011 (r223974) +++ stable/8/sbin/hastd/primary.c Wed Jul 13 05:42:04 2011 (r223975) @@ -1687,8 +1687,11 @@ ggate_send_thread(void *arg) } if (ggio->gctl_error == 0 && ggio->gctl_cmd == BIO_WRITE) { mtx_lock(&res->hr_amp_lock); - activemap_write_complete(res->hr_amp, - ggio->gctl_offset, ggio->gctl_length); + if (activemap_write_complete(res->hr_amp, + ggio->gctl_offset, ggio->gctl_length)) { + res->hr_stat_activemap_update++; + (void)hast_activemap_flush(res); + } mtx_unlock(&res->hr_amp_lock); } if (ggio->gctl_cmd == BIO_WRITE) { From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 05:56:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4466106566B; Wed, 13 Jul 2011 05:56:51 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B42EA8FC14; Wed, 13 Jul 2011 05:56:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D5up8t071674; Wed, 13 Jul 2011 05:56:51 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D5upPG071672; Wed, 13 Jul 2011 05:56:51 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201107130556.p6D5upPG071672@svn.freebsd.org> From: Mikolaj Golub Date: Wed, 13 Jul 2011 05:56:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223976 - head/sbin/hastctl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 05:56:51 -0000 Author: trociny Date: Wed Jul 13 05:56:51 2011 New Revision: 223976 URL: http://svn.freebsd.org/changeset/base/223976 Log: When exiting with error because of an invalid command line argument use errx(3), not err(3), and the exit code from sysexits(3). Approved by: pjd (mentor) Modified: head/sbin/hastctl/hastctl.c Modified: head/sbin/hastctl/hastctl.c ============================================================================== --- head/sbin/hastctl/hastctl.c Wed Jul 13 05:42:04 2011 (r223975) +++ head/sbin/hastctl/hastctl.c Wed Jul 13 05:56:51 2011 (r223976) @@ -403,15 +403,15 @@ main(int argc, char *argv[]) break; case 'e': if (expand_number(optarg, &extentsize) < 0) - err(1, "Invalid extentsize"); + errx(EX_USAGE, "Invalid extentsize"); break; case 'k': if (expand_number(optarg, &keepdirty) < 0) - err(1, "Invalid keepdirty"); + errx(EX_USAGE, "Invalid keepdirty"); break; case 'm': if (expand_number(optarg, &mediasize) < 0) - err(1, "Invalid mediasize"); + errx(EX_USAGE, "Invalid mediasize"); break; case 'h': default: From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 06:20:01 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51A0E106566B; Wed, 13 Jul 2011 06:20:01 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3CF1A8FC15; Wed, 13 Jul 2011 06:20:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6D6K1aN072368; Wed, 13 Jul 2011 06:20:01 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6D6K1qL072366; Wed, 13 Jul 2011 06:20:01 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201107130620.p6D6K1qL072366@svn.freebsd.org> From: Jaakko Heinonen Date: Wed, 13 Jul 2011 06:20:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223977 - stable/8/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 06:20:01 -0000 Author: jh Date: Wed Jul 13 06:20:00 2011 New Revision: 223977 URL: http://svn.freebsd.org/changeset/base/223977 Log: MFC r222216: In init_dynamic_kenv(), ignore environment strings exceeding the KENV_MNAMELEN + 1 + KENV_MVALLEN + 1 length limit to avoid buffer overflow in getenv(). Currenly loader(8) doesn't limit the length of environment strings. PR: kern/132104 Modified: stable/8/sys/kern/kern_environment.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/kern/kern_environment.c ============================================================================== --- stable/8/sys/kern/kern_environment.c Wed Jul 13 05:56:51 2011 (r223976) +++ stable/8/sys/kern/kern_environment.c Wed Jul 13 06:20:00 2011 (r223977) @@ -215,13 +215,19 @@ static void init_dynamic_kenv(void *data __unused) { char *cp; - int len, i; + size_t len; + int i; kenvp = malloc((KENV_SIZE + 1) * sizeof(char *), M_KENV, M_WAITOK | M_ZERO); i = 0; for (cp = kern_envp; cp != NULL; cp = kernenv_next(cp)) { len = strlen(cp) + 1; + if (len > KENV_MNAMELEN + 1 + KENV_MVALLEN + 1) { + printf("WARNING: too long kenv string, ignoring %s\n", + cp); + continue; + } if (i < KENV_SIZE) { kenvp[i] = malloc(len, M_KENV, M_WAITOK); strcpy(kenvp[i++], cp); From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 12:50:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6FB0E1065672; Wed, 13 Jul 2011 12:50:23 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5F6D28FC14; Wed, 13 Jul 2011 12:50:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DCoNHR085087; Wed, 13 Jul 2011 12:50:23 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DCoN91085085; Wed, 13 Jul 2011 12:50:23 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107131250.p6DCoN91085085@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 13 Jul 2011 12:50:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223978 - stable/8/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 12:50:23 -0000 Author: kib Date: Wed Jul 13 12:50:23 2011 New Revision: 223978 URL: http://svn.freebsd.org/changeset/base/223978 Log: MFC r223911: Update locking annotations for the struct vnode. Modified: stable/8/sys/sys/vnode.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/sys/vnode.h ============================================================================== --- stable/8/sys/sys/vnode.h Wed Jul 13 06:20:00 2011 (r223977) +++ stable/8/sys/sys/vnode.h Wed Jul 13 12:50:23 2011 (r223978) @@ -75,12 +75,9 @@ struct vpollinfo { * Lock reference: * c - namecache mutex * f - freelist mutex - * G - Giant * i - interlock - * m - mntvnodes mutex + * m - mount point interlock * p - pollinfo lock - * s - spechash mutex - * S - syncer mutex * u - Only a reference to the vnode is needed to read. * v - vnode lock * @@ -166,7 +163,7 @@ struct vnode { /* * Hooks for various subsystems and features. */ - struct vpollinfo *v_pollinfo; /* G Poll events, p for *v_pi */ + struct vpollinfo *v_pollinfo; /* i Poll events, p for *v_pi */ struct label *v_label; /* MAC label for vnode */ struct lockf *v_lockf; /* Byte-level lock list */ }; From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 12:53:53 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DDEC106566B; Wed, 13 Jul 2011 12:53:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2DD338FC12; Wed, 13 Jul 2011 12:53:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DCrriO085229; Wed, 13 Jul 2011 12:53:53 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DCrr7g085227; Wed, 13 Jul 2011 12:53:53 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107131253.p6DCrr7g085227@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 13 Jul 2011 12:53:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223979 - stable/8/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 12:53:53 -0000 Author: kib Date: Wed Jul 13 12:53:52 2011 New Revision: 223979 URL: http://svn.freebsd.org/changeset/base/223979 Log: MFC r223913: Style. Modified: stable/8/sys/vm/vm_mmap.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/vm/vm_mmap.c ============================================================================== --- stable/8/sys/vm/vm_mmap.c Wed Jul 13 12:50:23 2011 (r223978) +++ stable/8/sys/vm/vm_mmap.c Wed Jul 13 12:53:52 2011 (r223979) @@ -1329,7 +1329,7 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, if (td->td_proc->p_vmspace->vm_map.size + size > lim_cur(td->td_proc, RLIMIT_VMEM)) { PROC_UNLOCK(td->td_proc); - return(ENOMEM); + return (ENOMEM); } PROC_UNLOCK(td->td_proc); From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 13:25:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CC661065672; Wed, 13 Jul 2011 13:25:13 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1CB988FC1A; Wed, 13 Jul 2011 13:25:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DDPCjd086239; Wed, 13 Jul 2011 13:25:13 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DDPC3g086237; Wed, 13 Jul 2011 13:25:12 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107131325.p6DDPC3g086237@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 13 Jul 2011 13:25:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223980 - head/usr.sbin/bsdinstall/scripts X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 13:25:13 -0000 Author: nwhitehorn Date: Wed Jul 13 13:25:12 2011 New Revision: 223980 URL: http://svn.freebsd.org/changeset/base/223980 Log: Run newaliases at the end of the install process. Submitted by: kevlo Modified: head/usr.sbin/bsdinstall/scripts/config Modified: head/usr.sbin/bsdinstall/scripts/config ============================================================================== --- head/usr.sbin/bsdinstall/scripts/config Wed Jul 13 12:53:52 2011 (r223979) +++ head/usr.sbin/bsdinstall/scripts/config Wed Jul 13 13:25:12 2011 (r223980) @@ -30,3 +30,7 @@ cat $BSDINSTALL_TMPETC/rc.conf.* >> $BSD rm $BSDINSTALL_TMPETC/rc.conf.* cp $BSDINSTALL_TMPETC/* $BSDINSTALL_CHROOT/etc + +# Set up other things from installed config +chroot $BSDINSTALL_CHROOT /usr/bin/newaliases + From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 14:10:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3300A106564A; Wed, 13 Jul 2011 14:10:29 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 235468FC0C; Wed, 13 Jul 2011 14:10:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DEASa0087575; Wed, 13 Jul 2011 14:10:28 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DEASU6087573; Wed, 13 Jul 2011 14:10:28 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107131410.p6DEASU6087573@svn.freebsd.org> From: Marius Strobl Date: Wed, 13 Jul 2011 14:10:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223981 - head/sys/dev/mpt X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 14:10:29 -0000 Author: marius Date: Wed Jul 13 14:10:28 2011 New Revision: 223981 URL: http://svn.freebsd.org/changeset/base/223981 Log: Remove extra empty lines. Modified: head/sys/dev/mpt/mpt_pci.c Modified: head/sys/dev/mpt/mpt_pci.c ============================================================================== --- head/sys/dev/mpt/mpt_pci.c Wed Jul 13 13:25:12 2011 (r223980) +++ head/sys/dev/mpt/mpt_pci.c Wed Jul 13 14:10:28 2011 (r223981) @@ -193,8 +193,6 @@ __FBSDID("$FreeBSD$"); #define PCIM_CMD_SERRESPEN 0x0100 #endif - - static int mpt_pci_probe(device_t); static int mpt_pci_attach(device_t); static void mpt_free_bus_resources(struct mpt_softc *mpt); @@ -362,7 +360,6 @@ mpt_set_options(struct mpt_softc *mpt) mpt->cfg_role = tval; mpt->do_cfg_role = 1; } - tval = 0; mpt->msi_enable = 0; if (resource_int_value(device_get_name(mpt->dev), @@ -372,7 +369,6 @@ mpt_set_options(struct mpt_softc *mpt) } #endif - static void mpt_link_peer(struct mpt_softc *mpt) { @@ -411,7 +407,6 @@ mpt_unlink_peer(struct mpt_softc *mpt) } } - static int mpt_pci_attach(device_t dev) { @@ -687,7 +682,6 @@ mpt_free_bus_resources(struct mpt_softc MPT_LOCK_DESTROY(mpt); } - /* * Disconnect ourselves from the system. */ @@ -712,7 +706,6 @@ mpt_pci_detach(device_t dev) return(0); } - /* * Disable the hardware */ @@ -808,8 +801,6 @@ mpt_dma_mem_alloc(struct mpt_softc *mpt) return (0); } - - /* Deallocate memory that was allocated by mpt_dma_mem_alloc */ static void @@ -832,8 +823,6 @@ mpt_dma_mem_free(struct mpt_softc *mpt) } - - /* Reads modifiable (via PCI transactions) config registers */ static void mpt_read_config_regs(struct mpt_softc *mpt) From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 17:09:16 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB5F4106566C; Wed, 13 Jul 2011 17:09:15 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA2528FC0A; Wed, 13 Jul 2011 17:09:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DH9F9c092762; Wed, 13 Jul 2011 17:09:15 GMT (envelope-from sbruno@svn.freebsd.org) Received: (from sbruno@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DH9Fo6092758; Wed, 13 Jul 2011 17:09:15 GMT (envelope-from sbruno@svn.freebsd.org) Message-Id: <201107131709.p6DH9Fo6092758@svn.freebsd.org> From: Sean Bruno Date: Wed, 13 Jul 2011 17:09:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223982 - in stable/7: sbin/umount sys/nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 17:09:16 -0000 Author: sbruno Date: Wed Jul 13 17:09:15 2011 New Revision: 223982 URL: http://svn.freebsd.org/changeset/base/223982 Log: MFC r222541, r222464, r222466 Modify the umount(8) command so that it doesn't do a sync(2) syscall before unmount(2) for the "-f" case. This avoids a forced dismount from getting stuck for an NFS mountpoint in sync() when the server is not responsive. With this commit, forced dismounts should normally work for the NFS clients, but can take up to about 1minute to complete. Add a check for MNTK_UNMOUNTF at the beginning of nfs_sync() in the old NFS client so that a forced dismount doesn't get stuck in the VFS_SYNC() call that happens before VFS_UNMOUNT() in dounmount(). Analagous to r222329 for the new NFS client. An additional change is needed before forced dismounts will work. Add a sentence to the umount.8 man page to clarify the behaviour for forced dismount when used on an NFS mount point. Requested by Jeremy Chadwick. This is a content change Modified: stable/7/sbin/umount/umount.8 stable/7/sbin/umount/umount.c stable/7/sys/nfsclient/nfs_vfsops.c Modified: stable/7/sbin/umount/umount.8 ============================================================================== --- stable/7/sbin/umount/umount.8 Wed Jul 13 14:10:28 2011 (r223981) +++ stable/7/sbin/umount/umount.8 Wed Jul 13 17:09:15 2011 (r223982) @@ -28,7 +28,7 @@ .\" @(#)umount.8 8.2 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd July 18, 2003 +.Dd May 31, 2011 .Dt UMOUNT 8 .Os .Sh NAME @@ -77,6 +77,9 @@ The file system is forcibly unmounted. Active special devices continue to work, but all other files return errors if further accesses are attempted. The root file system cannot be forcibly unmounted. +For NFS, a forced dismount can take up to 1 minute or more to +complete against an unresponsive server and may throw away +data not yet written to the server for this case. .It Fl h Ar host Only file systems mounted from the specified host will be unmounted. Modified: stable/7/sbin/umount/umount.c ============================================================================== --- stable/7/sbin/umount/umount.c Wed Jul 13 14:10:28 2011 (r223981) +++ stable/7/sbin/umount/umount.c Wed Jul 13 17:09:15 2011 (r223982) @@ -90,9 +90,6 @@ main(int argc, char *argv[]) struct statfs *mntbuf, *sfs; struct addrinfo hints; - /* Start disks transferring immediately. */ - sync(); - all = errs = 0; while ((ch = getopt(argc, argv, "AaF:fh:t:v")) != -1) switch (ch) { @@ -127,6 +124,9 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; + /* Start disks transferring immediately. */ + if ((fflag & MNT_FORCE) == 0) + sync(); if ((argc == 0 && !all) || (argc != 0 && all)) usage(); Modified: stable/7/sys/nfsclient/nfs_vfsops.c ============================================================================== --- stable/7/sys/nfsclient/nfs_vfsops.c Wed Jul 13 14:10:28 2011 (r223981) +++ stable/7/sys/nfsclient/nfs_vfsops.c Wed Jul 13 17:09:15 2011 (r223982) @@ -1297,10 +1297,19 @@ nfs_sync(struct mount *mp, int waitfor, struct vnode *vp, *mvp; int error, allerror = 0; + MNT_ILOCK(mp); + /* + * If a forced dismount is in progress, return from here so that + * the umount(2) syscall doesn't get stuck in VFS_SYNC() before + * calling VFS_UNMOUNT(). + */ + if ((mp->mnt_kern_flag & MNTK_UNMOUNTF) != 0) { + MNT_IUNLOCK(mp); + return (EBADF); + } /* * Force stale buffer cache information to be flushed. */ - MNT_ILOCK(mp); loop: MNT_VNODE_FOREACH(vp, mp, mvp) { VI_LOCK(vp); From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 18:35:47 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6BCC1065677; Wed, 13 Jul 2011 18:35:47 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C6BBD8FC0C; Wed, 13 Jul 2011 18:35:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DIZlxB095295; Wed, 13 Jul 2011 18:35:47 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DIZl3Z095293; Wed, 13 Jul 2011 18:35:47 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107131835.p6DIZl3Z095293@svn.freebsd.org> From: Marius Strobl Date: Wed, 13 Jul 2011 18:35:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223984 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 18:35:47 -0000 Author: marius Date: Wed Jul 13 18:35:47 2011 New Revision: 223984 URL: http://svn.freebsd.org/changeset/base/223984 Log: PCIB_ALLOC_MSIX() may already fail on the first pass, f.e. when the PCI-PCI bridge is blacklisted. In that case just return from pci_alloc_msix_method(), otherwise we continue without a single MSI-X resource, causing subsequent attempts to use the seemingly available resource to fail or when booting verbose a NULL-pointer dereference of rle->start when trying to print the IRQ in pci_alloc_msix_method(). Reviewed by: jhb MFC after: 1 week Modified: head/sys/dev/pci/pci.c Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Wed Jul 13 17:38:42 2011 (r223983) +++ head/sys/dev/pci/pci.c Wed Jul 13 18:35:47 2011 (r223984) @@ -1353,8 +1353,11 @@ pci_alloc_msix_method(device_t dev, devi for (i = 0; i < max; i++) { /* Allocate a message. */ error = PCIB_ALLOC_MSIX(device_get_parent(dev), child, &irq); - if (error) + if (error) { + if (i == 0) + return (error); break; + } resource_list_add(&dinfo->resources, SYS_RES_IRQ, i + 1, irq, irq, 1); } From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 18:48:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAAF61065678; Wed, 13 Jul 2011 18:48:51 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BAB6B8FC15; Wed, 13 Jul 2011 18:48:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DImpCJ095747; Wed, 13 Jul 2011 18:48:51 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DImp2h095744; Wed, 13 Jul 2011 18:48:51 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107131848.p6DImp2h095744@svn.freebsd.org> From: Marius Strobl Date: Wed, 13 Jul 2011 18:48:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223985 - head/sys/dev/mpt X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 18:48:51 -0000 Author: marius Date: Wed Jul 13 18:48:51 2011 New Revision: 223985 URL: http://svn.freebsd.org/changeset/base/223985 Log: - For SAS but neither FC nor SPI controllers default to using MSI (still allowing their use to be disabled via device hints though). This matches what the corresponding Linux driver provided by LSI does. Tested with SAS1064. - There's no need to keep track of the RIDs used. - Don't allocate MSI/MSI-X as RF_SHAREABLE. - Remove a comment which no longer applies since r209599. - Assign NULL rather than 0 to pointers. MFC after: 1 month Modified: head/sys/dev/mpt/mpt.h head/sys/dev/mpt/mpt_pci.c Modified: head/sys/dev/mpt/mpt.h ============================================================================== --- head/sys/dev/mpt/mpt.h Wed Jul 13 18:35:47 2011 (r223984) +++ head/sys/dev/mpt/mpt.h Wed Jul 13 18:48:51 2011 (r223985) @@ -721,11 +721,9 @@ struct mpt_softc { * DMA Mapping Stuff */ struct resource * pci_reg; /* Register map for chip */ - int pci_mem_rid; /* Resource ID */ bus_space_tag_t pci_st; /* Bus tag for registers */ bus_space_handle_t pci_sh; /* Bus handle for registers */ /* PIO versions of above. */ - int pci_pio_rid; struct resource * pci_pio_reg; bus_space_tag_t pci_pio_st; bus_space_handle_t pci_pio_sh; Modified: head/sys/dev/mpt/mpt_pci.c ============================================================================== --- head/sys/dev/mpt/mpt_pci.c Wed Jul 13 18:35:47 2011 (r223984) +++ head/sys/dev/mpt/mpt_pci.c Wed Jul 13 18:48:51 2011 (r223985) @@ -362,9 +362,11 @@ mpt_set_options(struct mpt_softc *mpt) } tval = 0; mpt->msi_enable = 0; - if (resource_int_value(device_get_name(mpt->dev), - device_get_unit(mpt->dev), "msi_enable", &tval) == 0 && tval == 1) { + if (mpt->is_sas) mpt->msi_enable = 1; + if (resource_int_value(device_get_name(mpt->dev), + device_get_unit(mpt->dev), "msi_enable", &tval) == 0) { + mpt->msi_enable = tval; } } #endif @@ -517,9 +519,9 @@ mpt_pci_attach(device_t dev) * certain reset operations (but must be disabled for * some cards otherwise). */ - mpt->pci_pio_rid = PCIR_BAR(mpt_io_bar); + mpt_io_bar = PCIR_BAR(mpt_io_bar); mpt->pci_pio_reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &mpt->pci_pio_rid, RF_ACTIVE); + &mpt_io_bar, RF_ACTIVE); if (mpt->pci_pio_reg == NULL) { device_printf(dev, "unable to map registers in PIO mode\n"); goto bad; @@ -528,9 +530,9 @@ mpt_pci_attach(device_t dev) mpt->pci_pio_sh = rman_get_bushandle(mpt->pci_pio_reg); /* Allocate kernel virtual memory for the 9x9's Mem0 region */ - mpt->pci_mem_rid = PCIR_BAR(mpt_mem_bar); + mpt_mem_bar = PCIR_BAR(mpt_mem_bar); mpt->pci_reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &mpt->pci_mem_rid, RF_ACTIVE); + &mpt_mem_bar, RF_ACTIVE); if (mpt->pci_reg == NULL) { device_printf(dev, "Unable to memory map registers.\n"); if (mpt->is_sas) { @@ -570,7 +572,7 @@ mpt_pci_attach(device_t dev) } } mpt->pci_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &iqd, - RF_ACTIVE | RF_SHAREABLE); + RF_ACTIVE | (mpt->pci_msi_count ? 0 : RF_SHAREABLE)); if (mpt->pci_irq == NULL) { device_printf(dev, "could not allocate interrupt\n"); goto bad; @@ -589,7 +591,6 @@ mpt_pci_attach(device_t dev) } /* Allocate dma memory */ -/* XXX JGibbs -Should really be done based on IOCFacts. */ if (mpt_dma_mem_alloc(mpt)) { mpt_prt(mpt, "Could not allocate DMA memory\n"); goto bad; @@ -655,13 +656,13 @@ mpt_free_bus_resources(struct mpt_softc { if (mpt->ih) { bus_teardown_intr(mpt->dev, mpt->pci_irq, mpt->ih); - mpt->ih = 0; + mpt->ih = NULL; } if (mpt->pci_irq) { bus_release_resource(mpt->dev, SYS_RES_IRQ, - mpt->pci_msi_count ? 1 : 0, mpt->pci_irq); - mpt->pci_irq = 0; + rman_get_rid(mpt->pci_irq), mpt->pci_irq); + mpt->pci_irq = NULL; } if (mpt->pci_msi_count) { @@ -670,14 +671,14 @@ mpt_free_bus_resources(struct mpt_softc } if (mpt->pci_pio_reg) { - bus_release_resource(mpt->dev, SYS_RES_IOPORT, mpt->pci_pio_rid, - mpt->pci_pio_reg); - mpt->pci_pio_reg = 0; + bus_release_resource(mpt->dev, SYS_RES_IOPORT, + rman_get_rid(mpt->pci_pio_reg), mpt->pci_pio_reg); + mpt->pci_pio_reg = NULL; } if (mpt->pci_reg) { - bus_release_resource(mpt->dev, SYS_RES_MEMORY, mpt->pci_mem_rid, - mpt->pci_reg); - mpt->pci_reg = 0; + bus_release_resource(mpt->dev, SYS_RES_MEMORY, + rman_get_rid(mpt->pci_reg), mpt->pci_reg); + mpt->pci_reg = NULL; } MPT_LOCK_DESTROY(mpt); } @@ -817,10 +818,9 @@ mpt_dma_mem_free(struct mpt_softc *mpt) bus_dmamem_free(mpt->reply_dmat, mpt->reply, mpt->reply_dmap); bus_dma_tag_destroy(mpt->reply_dmat); bus_dma_tag_destroy(mpt->parent_dmat); - mpt->reply_dmat = 0; + mpt->reply_dmat = NULL; free(mpt->request_pool, M_DEVBUF); - mpt->request_pool = 0; - + mpt->request_pool = NULL; } /* Reads modifiable (via PCI transactions) config registers */ From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 18:52:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DEAE7106564A; Wed, 13 Jul 2011 18:52:11 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE9328FC08; Wed, 13 Jul 2011 18:52:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DIqBuQ095880; Wed, 13 Jul 2011 18:52:11 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DIqBUd095878; Wed, 13 Jul 2011 18:52:11 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201107131852.p6DIqBUd095878@svn.freebsd.org> From: Marius Strobl Date: Wed, 13 Jul 2011 18:52:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223986 - head/sys/dev/cas X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 18:52:12 -0000 Author: marius Date: Wed Jul 13 18:52:11 2011 New Revision: 223986 URL: http://svn.freebsd.org/changeset/base/223986 Log: - Expand the scope of the lock in the interrupt routine to close races with checking IFF_DRV_RUNNING and simplify the code. This also involves holding the driver lock in the rx_ch callout. - Just use ifp instead of sc->sc_ifp. Submitted by: jhb (mostly) Modified: head/sys/dev/cas/if_cas.c Modified: head/sys/dev/cas/if_cas.c ============================================================================== --- head/sys/dev/cas/if_cas.c Wed Jul 13 18:48:51 2011 (r223985) +++ head/sys/dev/cas/if_cas.c Wed Jul 13 18:52:11 2011 (r223986) @@ -203,7 +203,7 @@ cas_attach(struct cas_softc *sc) IFQ_SET_READY(&ifp->if_snd); callout_init_mtx(&sc->sc_tick_ch, &sc->sc_mtx, 0); - callout_init(&sc->sc_rx_ch, 1); + callout_init_mtx(&sc->sc_rx_ch, &sc->sc_mtx, 0); /* Create local taskq. */ TASK_INIT(&sc->sc_intr_task, 0, cas_intr_task, sc); TASK_INIT(&sc->sc_tx_task, 1, cas_tx_task, ifp); @@ -1599,7 +1599,7 @@ cas_rint_timeout(void *arg) { struct cas_softc *sc = arg; - CAS_LOCK_ASSERT(sc, MA_NOTOWNED); + CAS_LOCK_ASSERT(sc, MA_OWNED); cas_rint(sc); } @@ -1614,7 +1614,7 @@ cas_rint(struct cas_softc *sc) uint32_t rxhead; u_int idx, idx2, len, off, skip; - CAS_LOCK_ASSERT(sc, MA_NOTOWNED); + CAS_LOCK_ASSERT(sc, MA_OWNED); callout_stop(&sc->sc_rx_ch); @@ -1742,7 +1742,9 @@ cas_rint(struct cas_softc *sc) cas_rxcksum(m, CAS_GET(word4, CAS_RC4_TCP_CSUM)); /* Pass it on. */ + CAS_UNLOCK(sc); (*ifp->if_input)(ifp, m); + CAS_LOCK(sc); } else ifp->if_iqdrops++; @@ -1838,7 +1840,9 @@ cas_rint(struct cas_softc *sc) cas_rxcksum(m, CAS_GET(word4, CAS_RC4_TCP_CSUM)); /* Pass it on. */ + CAS_UNLOCK(sc); (*ifp->if_input)(ifp, m); + CAS_LOCK(sc); } else ifp->if_iqdrops++; @@ -1876,7 +1880,7 @@ cas_free(void *arg1, void *arg2) { struct cas_rxdsoft *rxds; struct cas_softc *sc; - u_int idx; + u_int idx, locked; #if __FreeBSD_version < 800016 rxds = arg2; @@ -1894,17 +1898,18 @@ cas_free(void *arg1, void *arg2) * NB: this function can be called via m_freem(9) within * this driver! */ - + if ((locked = CAS_LOCK_OWNED(sc)) == 0) + CAS_LOCK(sc); cas_add_rxdesc(sc, idx); + if (locked == 0) + CAS_UNLOCK(sc); } static inline void cas_add_rxdesc(struct cas_softc *sc, u_int idx) { - u_int locked; - if ((locked = CAS_LOCK_OWNED(sc)) == 0) - CAS_LOCK(sc); + CAS_LOCK_ASSERT(sc, MA_OWNED); bus_dmamap_sync(sc->sc_rdmatag, sc->sc_rxdsoft[idx].rxds_dmamap, BUS_DMASYNC_PREREAD); @@ -1922,9 +1927,6 @@ cas_add_rxdesc(struct cas_softc *sc, u_i CAS_WRITE_4(sc, CAS_RX_KICK, (sc->sc_rxdptr + CAS_NRXDESC - 4) & CAS_NRXDESC_MASK); } - - if (locked == 0) - CAS_UNLOCK(sc); } static void @@ -1932,7 +1934,7 @@ cas_eint(struct cas_softc *sc, u_int sta { struct ifnet *ifp = sc->sc_ifp; - CAS_LOCK_ASSERT(sc, MA_NOTOWNED); + CAS_LOCK_ASSERT(sc, MA_OWNED); ifp->if_ierrors++; @@ -1949,7 +1951,7 @@ cas_eint(struct cas_softc *sc, u_int sta printf("\n"); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - cas_init(sc); + cas_init_locked(sc); if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task); } @@ -1986,6 +1988,7 @@ cas_intr_task(void *arg, int pending __u if (__predict_false((status & CAS_INTR_SUMMARY) == 0)) goto done; + CAS_LOCK(sc); #ifdef CAS_DEBUG CTR4(KTR_CAS, "%s: %s: cplt %x, status %x", device_get_name(sc->sc_dev), __func__, @@ -2025,6 +2028,7 @@ cas_intr_task(void *arg, int pending __u (CAS_INTR_TX_TAG_ERR | CAS_INTR_RX_TAG_ERR | CAS_INTR_RX_LEN_MMATCH | CAS_INTR_PCI_ERROR_INT)) != 0)) { cas_eint(sc, status); + CAS_UNLOCK(sc); return; } @@ -2032,7 +2036,7 @@ cas_intr_task(void *arg, int pending __u status2 = CAS_READ_4(sc, CAS_MAC_TX_STATUS); if ((status2 & (CAS_MAC_TX_UNDERRUN | CAS_MAC_TX_MAX_PKT_ERR)) != 0) - sc->sc_ifp->if_oerrors++; + ifp->if_oerrors++; else if ((status2 & ~CAS_MAC_TX_FRAME_XMTD) != 0) device_printf(sc->sc_dev, "MAC TX fault, status %x\n", status2); @@ -2041,7 +2045,7 @@ cas_intr_task(void *arg, int pending __u if (__predict_false(status & CAS_INTR_RX_MAC_INT)) { status2 = CAS_READ_4(sc, CAS_MAC_RX_STATUS); if ((status2 & CAS_MAC_RX_OVERFLOW) != 0) - sc->sc_ifp->if_ierrors++; + ifp->if_ierrors++; else if ((status2 & ~CAS_MAC_RX_FRAME_RCVD) != 0) device_printf(sc->sc_dev, "MAC RX fault, status %x\n", status2); @@ -2061,16 +2065,15 @@ cas_intr_task(void *arg, int pending __u } if ((status & - (CAS_INTR_TX_INT_ME | CAS_INTR_TX_ALL | CAS_INTR_TX_DONE)) != 0) { - CAS_LOCK(sc); + (CAS_INTR_TX_INT_ME | CAS_INTR_TX_ALL | CAS_INTR_TX_DONE)) != 0) cas_tint(sc); - CAS_UNLOCK(sc); - } - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + CAS_UNLOCK(sc); return; - else if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + } else if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) taskqueue_enqueue(sc->sc_tq, &sc->sc_tx_task); + CAS_UNLOCK(sc); status = CAS_READ_4(sc, CAS_STATUS_ALIAS); if (__predict_false((status & CAS_INTR_SUMMARY) != 0)) { @@ -2403,7 +2406,7 @@ cas_mii_statchg(device_t dev) CAS_WRITE_4(sc, CAS_MAC_XIF_CONF, v); sc->sc_mac_rxcfg = rxcfg; - if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && (sc->sc_flags & CAS_LINK) != 0) { CAS_WRITE_4(sc, CAS_MAC_TX_CONF, txcfg | CAS_MAC_TX_CONF_EN); From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 21:07:41 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFF12106564A; Wed, 13 Jul 2011 21:07:41 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 86BAA8FC0A; Wed, 13 Jul 2011 21:07:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DL7fxf099860; Wed, 13 Jul 2011 21:07:41 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DL7fMH099858; Wed, 13 Jul 2011 21:07:41 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107132107.p6DL7fMH099858@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 13 Jul 2011 21:07:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223988 - head/sys/fs/devfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 21:07:41 -0000 Author: kib Date: Wed Jul 13 21:07:41 2011 New Revision: 223988 URL: http://svn.freebsd.org/changeset/base/223988 Log: While fixing the looping of a thread while devfs vnode is reclaimed, r179247 introduced a possibility of devfs_allocv() returning spurious ENOENT. If the vnode is selected by vnlru daemon for reclamation, then devfs_allocv() can get ENOENT from vget() due to devfs_close() dropping vnode lock around the call to cdevsw d_close method. Use LK_RETRY in the vget() call, and do some part of the devfs_reclaim() work in devfs_allocv(), clearing vp->v_data and de->de_vnode. Retry the allocation of the vnode, now with de->de_vnode == NULL. The check vp->v_data == NULL at the start of devfs_close() cannot be affected by the change, since vnode lock must be held while VI_DOOMED is set, and only dropped after the check. Reported and tested by: Kohji Okuno Reviewed by: attilio MFC after: 3 weeks Modified: head/sys/fs/devfs/devfs_vnops.c Modified: head/sys/fs/devfs/devfs_vnops.c ============================================================================== --- head/sys/fs/devfs/devfs_vnops.c Wed Jul 13 21:06:46 2011 (r223987) +++ head/sys/fs/devfs/devfs_vnops.c Wed Jul 13 21:07:41 2011 (r223988) @@ -397,6 +397,7 @@ devfs_allocv(struct devfs_dirent *de, st sx_xunlock(&dmp->dm_lock); return (ENOENT); } +loop: DEVFS_DE_HOLD(de); DEVFS_DMP_HOLD(dmp); mtx_lock(&devfs_de_interlock); @@ -405,16 +406,21 @@ devfs_allocv(struct devfs_dirent *de, st VI_LOCK(vp); mtx_unlock(&devfs_de_interlock); sx_xunlock(&dmp->dm_lock); - error = vget(vp, lockmode | LK_INTERLOCK, curthread); + vget(vp, lockmode | LK_INTERLOCK | LK_RETRY, curthread); sx_xlock(&dmp->dm_lock); if (devfs_allocv_drop_refs(0, dmp, de)) { - if (error == 0) - vput(vp); + vput(vp); return (ENOENT); } - else if (error) { - sx_xunlock(&dmp->dm_lock); - return (error); + else if ((vp->v_iflag & VI_DOOMED) != 0) { + mtx_lock(&devfs_de_interlock); + if (de->de_vnode == vp) { + de->de_vnode = NULL; + vp->v_data = NULL; + } + mtx_unlock(&devfs_de_interlock); + vput(vp); + goto loop; } sx_xunlock(&dmp->dm_lock); *vpp = vp; From owner-svn-src-all@FreeBSD.ORG Wed Jul 13 21:07:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B50910656B7; Wed, 13 Jul 2011 21:07:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B1B88FC12; Wed, 13 Jul 2011 21:07:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6DL7oRJ099902; Wed, 13 Jul 2011 21:07:50 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6DL7ojq099900; Wed, 13 Jul 2011 21:07:50 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201107132107.p6DL7ojq099900@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 13 Jul 2011 21:07:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223989 - head/sys/dev/usb/input X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 21:07:50 -0000 Author: hselasky Date: Wed Jul 13 21:07:50 2011 New Revision: 223989 URL: http://svn.freebsd.org/changeset/base/223989 Log: Fix for dump after shutdown with USB keyboard plugged in. It appears that the system timer is stopped during shutdown and that the pause() statement in ukbd causes infinite hang in this regard. The fix is to use mi_switch() instead of pause() to do the required task switch to ensure that the required USB processes get executed. Reported by: Mike_Karels@mcafee.com MFC after: 1 week Modified: head/sys/dev/usb/input/ukbd.c Modified: head/sys/dev/usb/input/ukbd.c ============================================================================== --- head/sys/dev/usb/input/ukbd.c Wed Jul 13 21:07:41 2011 (r223988) +++ head/sys/dev/usb/input/ukbd.c Wed Jul 13 21:07:50 2011 (r223989) @@ -59,6 +59,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include @@ -386,6 +388,33 @@ ukbd_put_key(struct ukbd_softc *sc, uint } static void +ukbd_yield(void) +{ + struct thread *td = curthread; + uint32_t old_prio; + + DROP_GIANT(); + + thread_lock(td); + + /* get current priority */ + old_prio = td->td_base_pri; + + /* set new priority */ + sched_prio(td, td->td_user_pri); + + /* cause a task switch */ + mi_switch(SW_INVOL | SWT_RELINQUISH, NULL); + + /* restore priority */ + sched_prio(td, old_prio); + + thread_unlock(td); + + PICKUP_GIANT(); +} + +static void ukbd_do_poll(struct ukbd_softc *sc, uint8_t wait) { DPRINTFN(2, "polling\n"); @@ -396,8 +425,9 @@ ukbd_do_poll(struct ukbd_softc *sc, uint if (kdb_active == 0) { while (sc->sc_inputs == 0) { - /* make sure the USB code gets a chance to run */ - pause("UKBD", 1); + + /* give USB threads a chance to run */ + ukbd_yield(); /* check if we should wait */ if (!wait) From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 02:41:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2447106564A; Thu, 14 Jul 2011 02:41:45 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 992408FC0A; Thu, 14 Jul 2011 02:41:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E2fj3w009769; Thu, 14 Jul 2011 02:41:45 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E2fj91009767; Thu, 14 Jul 2011 02:41:45 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201107140241.p6E2fj91009767@svn.freebsd.org> From: Glen Barber Date: Thu, 14 Jul 2011 02:41:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223991 - head/sbin/shutdown X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 02:41:45 -0000 Author: gjb (doc committer) Date: Thu Jul 14 02:41:45 2011 New Revision: 223991 URL: http://svn.freebsd.org/changeset/base/223991 Log: Improvements to the shutdown(8) manual. PR: 158807 Submitted by: arundel MFC after: 1 week Modified: head/sbin/shutdown/shutdown.8 Modified: head/sbin/shutdown/shutdown.8 ============================================================================== --- head/sbin/shutdown/shutdown.8 Thu Jul 14 00:15:26 2011 (r223990) +++ head/sbin/shutdown/shutdown.8 Thu Jul 14 02:41:45 2011 (r223991) @@ -28,7 +28,7 @@ .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 .\" $FreeBSD$ .\" -.Dd December 30, 2010 +.Dd July 13, 2011 .Dt SHUTDOWN 8 .Os .Sh NAME @@ -83,20 +83,20 @@ If one of the .Fl p or .Fl r -is specified, +options are specified, .Nm will execute .Xr halt 8 or .Xr reboot 8 -instead of sending signal to +instead of sending a signal to .Xr init 8 . .It Fl n If the .Fl o -is specified, prevent the file system cache from being flushed by passing +option is specified, prevent the file system cache from being flushed by passing .Fl n -option to +to .Xr halt 8 or .Xr reboot 8 . @@ -106,10 +106,10 @@ This option should probably not be used. is the time at which .Nm will bring the system down and -may be the word +may be the case-insensitive word .Ar now (indicating an immediate shutdown) or -specify a future time in one of two formats: +a future time in one of two formats: .Ar +number , or .Ar yymmddhhmm , @@ -148,7 +148,7 @@ exits. .Pp At shutdown time a message is written to the system log, containing the time of shutdown, the person who initiated the shutdown and the reason. -Corresponding signal is then sent to +The corresponding signal is then sent to .Xr init 8 to respectively halt, reboot or bring the system down to single-user state (depending on the above options). @@ -176,16 +176,18 @@ utility will place the system into singl .Ar time specified. .Pp -Calling utility as -.Nm poweroff -is equivalent of calling: +Calling +.Dq Nm poweroff +is equivalent to running: .Bd -literal -offset indent shutdown -p now .Ed .Sh FILES .Bl -tag -width /var/run/nologin -compact .It Pa /var/run/nologin -tells login not to let anyone log in +tells +.Xr login 1 +not to let anyone log in .El .Sh COMPATIBILITY The hours and minutes in the second time format may be separated by From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 03:08:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC3A8106566C; Thu, 14 Jul 2011 03:08:10 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BCBBB8FC16; Thu, 14 Jul 2011 03:08:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E38Axv010694; Thu, 14 Jul 2011 03:08:10 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E38AYY010692; Thu, 14 Jul 2011 03:08:10 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201107140308.p6E38AYY010692@svn.freebsd.org> From: Glen Barber Date: Thu, 14 Jul 2011 03:08:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223992 - head/sbin/shutdown X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 03:08:10 -0000 Author: gjb (doc committer) Date: Thu Jul 14 03:08:10 2011 New Revision: 223992 URL: http://svn.freebsd.org/changeset/base/223992 Log: Remove trailing whitespace in the shutdown(8) manual. MFC after: 1 week Modified: head/sbin/shutdown/shutdown.8 Modified: head/sbin/shutdown/shutdown.8 ============================================================================== --- head/sbin/shutdown/shutdown.8 Thu Jul 14 02:41:45 2011 (r223991) +++ head/sbin/shutdown/shutdown.8 Thu Jul 14 03:08:10 2011 (r223992) @@ -170,9 +170,9 @@ file that .Nm created will be removed automatically. .Pp -When run without options, the +When run without options, the .Nm -utility will place the system into single user mode at the +utility will place the system into single user mode at the .Ar time specified. .Pp From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 04:21:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90FD9106564A; Thu, 14 Jul 2011 04:21:27 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 80D9B8FC0A; Thu, 14 Jul 2011 04:21:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E4LRGx013048; Thu, 14 Jul 2011 04:21:27 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E4LRxr013046; Thu, 14 Jul 2011 04:21:27 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201107140421.p6E4LRxr013046@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Thu, 14 Jul 2011 04:21:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223995 - stable/8/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 04:21:27 -0000 Author: ae Date: Thu Jul 14 04:21:27 2011 New Revision: 223995 URL: http://svn.freebsd.org/changeset/base/223995 Log: MFC r223840: Add again the checking for log_arp_permanent_modify that was by accident removed in the r186119. PR: kern/154831 Modified: stable/8/sys/netinet/if_ether.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/netinet/if_ether.c ============================================================================== --- stable/8/sys/netinet/if_ether.c Thu Jul 14 03:16:43 2011 (r223994) +++ stable/8/sys/netinet/if_ether.c Thu Jul 14 04:21:27 2011 (r223995) @@ -680,11 +680,13 @@ match: bcmp(ar_sha(ah), &la->ll_addr, ifp->if_addrlen)) { if (la->la_flags & LLE_STATIC) { LLE_WUNLOCK(la); - log(LOG_ERR, - "arp: %*D attempts to modify permanent " - "entry for %s on %s\n", - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", - inet_ntoa(isaddr), ifp->if_xname); + if (log_arp_permanent_modify) + log(LOG_ERR, + "arp: %*D attempts to modify " + "permanent entry for %s on %s\n", + ifp->if_addrlen, + (u_char *)ar_sha(ah), ":", + inet_ntoa(isaddr), ifp->if_xname); goto reply; } if (log_arp_movements) { From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 05:19:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F19B106566C; Thu, 14 Jul 2011 05:19:29 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 15AA18FC0C; Thu, 14 Jul 2011 05:19:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E5JS7o014786; Thu, 14 Jul 2011 05:19:28 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E5JSIS014784; Thu, 14 Jul 2011 05:19:28 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201107140519.p6E5JSIS014784@svn.freebsd.org> From: Adrian Chadd Date: Thu, 14 Jul 2011 05:19:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223996 - head/etc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 05:19:29 -0000 Author: adrian Date: Thu Jul 14 05:19:28 2011 New Revision: 223996 URL: http://svn.freebsd.org/changeset/base/223996 Log: Japan regulatory domain update #1 - sync with CRDA entries. Specifics: * add 4920MHz-4980MHz for 11a and 11n/HT20 * add 5040MHz-5080MHz for 11a and 11n/HT20 * add 5500MHz-5700MHz for 11a and 11n/HT20 (DFS needed) * add 5500MHz-5680MHz for 11n/HT40 (DFS needed) TODO: * add correct HT40 bands for 4920-4980 and 5040-5080 For the curious: There's been many revisions to the Japan regulatory rules. Apparently, the requirements require old cards certified on a previous version of the rules to obey the older rules, not the newer rules. The regdomain.xml outlines the -current- restrictions. The card driver (eg the ath_hal regulatory domain code) may include previous revisions of the Japan rules. The ath_hal regdomain code populates the initial channel list based on what the EEPROM indicates is possible. The regdomain.xml database imposes further restrictions on this. So regdomain.xml only needs to have the -current- rules. If the card was certified on an earlier set of JP rules, it may only support a subset of those channels - these are calculated at device attach and this restricted list is kicked to net80211. regdomain.xml operates on -this- list of channels. And thus, the correct regulatory behaviour for Japan is handled with only one regdomain.xml Japan database entry. (phew.) Obtained from: Linux wireless-regdb Modified: head/etc/regdomain.xml Modified: head/etc/regdomain.xml ============================================================================== --- head/etc/regdomain.xml Thu Jul 14 04:21:27 2011 (r223995) +++ head/etc/regdomain.xml Thu Jul 14 05:19:28 2011 (r223996) @@ -324,6 +324,14 @@ + + 23 + + + + 23 + + 23 @@ -333,6 +341,12 @@ IEEE80211_CHAN_PASSIVE IEEE80211_CHAN_DFS + + + 23 + IEEE80211_CHAN_PASSIVE + IEEE80211_CHAN_DFS + @@ -350,6 +364,16 @@ + + 23 + IEEE80211_CHAN_HT20 + + + + 23 + IEEE80211_CHAN_HT20 + + 23 IEEE80211_CHAN_HT20 @@ -373,6 +397,20 @@ IEEE80211_CHAN_PASSIVE IEEE80211_CHAN_DFS + + + 23 + IEEE80211_CHAN_HT20 + IEEE80211_CHAN_PASSIVE + IEEE80211_CHAN_DFS + + + + 23 + IEEE80211_CHAN_HT40 + IEEE80211_CHAN_PASSIVE + IEEE80211_CHAN_DFS + @@ -1624,11 +1662,21 @@ IEEE80211_CHAN_A IEEE80211_CHAN_HALF + + 4920 4980 + 20 5 + IEEE80211_CHAN_A + 4950 4980 20 5 IEEE80211_CHAN_A + + 5040 5080 + 20 20 + IEEE80211_CHAN_A + 5120 5240 20 20 From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 05:49:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52DDA1065670; Thu, 14 Jul 2011 05:49:36 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2AED18FC12; Thu, 14 Jul 2011 05:49:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E5naIn015731; Thu, 14 Jul 2011 05:49:36 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E5naEZ015729; Thu, 14 Jul 2011 05:49:36 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201107140549.p6E5naEZ015729@svn.freebsd.org> From: Adrian Chadd Date: Thu, 14 Jul 2011 05:49:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223998 - head/etc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 05:49:36 -0000 Author: adrian Date: Thu Jul 14 05:49:35 2011 New Revision: 223998 URL: http://svn.freebsd.org/changeset/base/223998 Log: More Japan regulatory domain fixes: * Add HT40 entries for the two new Japan bands * Fix a channel separation bug in one of the new bands I introduced in a previous commit. Modified: head/etc/regdomain.xml Modified: head/etc/regdomain.xml ============================================================================== --- head/etc/regdomain.xml Thu Jul 14 05:28:33 2011 (r223997) +++ head/etc/regdomain.xml Thu Jul 14 05:49:35 2011 (r223998) @@ -369,11 +369,21 @@ IEEE80211_CHAN_HT20 + + 23 + IEEE80211_CHAN_HT40 + + 23 IEEE80211_CHAN_HT20 + + 23 + IEEE80211_CHAN_HT40 + + 23 IEEE80211_CHAN_HT20 @@ -1664,7 +1674,12 @@ 4920 4980 - 20 5 + 20 20 + IEEE80211_CHAN_A + + + 4920 4980 + 40 20 IEEE80211_CHAN_A @@ -1677,6 +1692,11 @@ 20 20 IEEE80211_CHAN_A + + 5040 5080 + 40 20 + IEEE80211_CHAN_A + 5120 5240 20 20 From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 07:28:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A887106566C; Thu, 14 Jul 2011 07:28:50 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 316218FC14; Thu, 14 Jul 2011 07:28:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E7Soff018714; Thu, 14 Jul 2011 07:28:50 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E7Soup018708; Thu, 14 Jul 2011 07:28:50 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107140728.p6E7Soup018708@svn.freebsd.org> From: Xin LI Date: Thu, 14 Jul 2011 07:28:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224001 - head/usr.sbin/rpcbind X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 07:28:50 -0000 Author: delphij Date: Thu Jul 14 07:28:49 2011 New Revision: 224001 URL: http://svn.freebsd.org/changeset/base/224001 Log: Use prototype. While I'm there, add a pair of parenthesis to mark an if statment's border. MFC after: 1 month Modified: head/usr.sbin/rpcbind/rpcb_stat.c head/usr.sbin/rpcbind/rpcb_svc_com.c head/usr.sbin/rpcbind/rpcbind.c head/usr.sbin/rpcbind/util.c head/usr.sbin/rpcbind/warmstart.c Modified: head/usr.sbin/rpcbind/rpcb_stat.c ============================================================================== --- head/usr.sbin/rpcbind/rpcb_stat.c Thu Jul 14 07:19:29 2011 (r224000) +++ head/usr.sbin/rpcbind/rpcb_stat.c Thu Jul 14 07:28:49 2011 (r224001) @@ -54,7 +54,7 @@ static rpcb_stat_byvers inf; void -rpcbs_init() +rpcbs_init(void) { } Modified: head/usr.sbin/rpcbind/rpcb_svc_com.c ============================================================================== --- head/usr.sbin/rpcbind/rpcb_svc_com.c Thu Jul 14 07:19:29 2011 (r224000) +++ head/usr.sbin/rpcbind/rpcb_svc_com.c Thu Jul 14 07:28:49 2011 (r224001) @@ -1076,7 +1076,7 @@ netbuffree(struct netbuf *ap) extern bool_t __svc_clean_idle(fd_set *, int, bool_t); void -my_svc_run() +my_svc_run(void) { size_t nfds; struct pollfd pollfds[FD_SETSIZE]; Modified: head/usr.sbin/rpcbind/rpcbind.c ============================================================================== --- head/usr.sbin/rpcbind/rpcbind.c Thu Jul 14 07:19:29 2011 (r224000) +++ head/usr.sbin/rpcbind/rpcbind.c Thu Jul 14 07:28:49 2011 (r224001) @@ -178,12 +178,13 @@ main(int argc, char *argv[]) init_transport(nconf); while ((nconf = getnetconfig(nc_handle))) { - if (nconf->nc_flag & NC_VISIBLE) + if (nconf->nc_flag & NC_VISIBLE) { if (ipv6_only == 1 && strcmp(nconf->nc_protofmly, "inet") == 0) { /* DO NOTHING */ } else init_transport(nconf); + } } endnetconfig(nc_handle); @@ -766,7 +767,7 @@ terminate(int dummy __unused) } void -rpcbind_abort() +rpcbind_abort(void) { #ifdef WARMSTART write_warmstart(); /* Dump yourself */ Modified: head/usr.sbin/rpcbind/util.c ============================================================================== --- head/usr.sbin/rpcbind/util.c Thu Jul 14 07:19:29 2011 (r224000) +++ head/usr.sbin/rpcbind/util.c Thu Jul 14 07:28:49 2011 (r224001) @@ -283,7 +283,7 @@ freeit: } void -network_init() +network_init(void) { #ifdef INET6 struct ifaddrs *ifap, *ifp; Modified: head/usr.sbin/rpcbind/warmstart.c ============================================================================== --- head/usr.sbin/rpcbind/warmstart.c Thu Jul 14 07:19:29 2011 (r224000) +++ head/usr.sbin/rpcbind/warmstart.c Thu Jul 14 07:28:49 2011 (r224001) @@ -142,7 +142,7 @@ error: fprintf(stderr, "rpcbind: will st } void -write_warmstart() +write_warmstart(void) { (void) write_struct(RPCBFILE, (xdrproc_t)xdr_rpcblist_ptr, &list_rbl); #ifdef PORTMAP @@ -152,7 +152,7 @@ write_warmstart() } void -read_warmstart() +read_warmstart(void) { rpcblist_ptr tmp_rpcbl = NULL; #ifdef PORTMAP From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 07:33:53 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DCB9106566C; Thu, 14 Jul 2011 07:33:53 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 54A958FC08; Thu, 14 Jul 2011 07:33:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E7XrSc018903; Thu, 14 Jul 2011 07:33:53 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E7Xrmp018900; Thu, 14 Jul 2011 07:33:53 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107140733.p6E7Xrmp018900@svn.freebsd.org> From: Xin LI Date: Thu, 14 Jul 2011 07:33:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224002 - head/usr.sbin/syslogd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 07:33:53 -0000 Author: delphij Date: Thu Jul 14 07:33:53 2011 New Revision: 224002 URL: http://svn.freebsd.org/changeset/base/224002 Log: Add a new option, -N to disable the default and recommended syslogd(8) behavior, which binds to the well known UDP port. This option implies -s. MFC after: 2 months Modified: head/usr.sbin/syslogd/syslogd.8 head/usr.sbin/syslogd/syslogd.c Modified: head/usr.sbin/syslogd/syslogd.8 ============================================================================== --- head/usr.sbin/syslogd/syslogd.8 Thu Jul 14 07:28:49 2011 (r224001) +++ head/usr.sbin/syslogd/syslogd.8 Thu Jul 14 07:33:53 2011 (r224002) @@ -36,7 +36,7 @@ .Nd log systems messages .Sh SYNOPSIS .Nm -.Op Fl 468ACcdknosuv +.Op Fl 468ACcdkNnosuv .Op Fl a Ar allowed_peer .Op Fl b Ar bind_address .Op Fl f Ar config_file @@ -227,6 +227,13 @@ facility is reserved for messages read d Select the number of minutes between .Dq mark messages; the default is 20 minutes. +.It Fl N +Disable binding on UDP sockets. RFC 3164 recommends that outgoing +syslogd messages should originate from the privileged port, this +option +.Em disables +the recommended behavior. This option inherits +.Fl s . .It Fl n Disable dns query for every request. .It Fl o Modified: head/usr.sbin/syslogd/syslogd.c ============================================================================== --- head/usr.sbin/syslogd/syslogd.c Thu Jul 14 07:28:49 2011 (r224001) +++ head/usr.sbin/syslogd/syslogd.c Thu Jul 14 07:33:53 2011 (r224002) @@ -278,6 +278,7 @@ static int fklog = -1; /* /dev/klog */ static int Initialized; /* set when we have initialized ourselves */ static int MarkInterval = 20 * 60; /* interval between marks in seconds */ static int MarkSeq; /* mark sequence number */ +static int NoBind; /* don't bind() as suggested by RFC 3164 */ static int SecureMode; /* when true, receive only unix domain socks */ #ifdef INET6 static int family = PF_UNSPEC; /* protocol family (IPv4, IPv6 or both) */ @@ -358,7 +359,7 @@ main(int argc, char *argv[]) dprintf("madvise() failed: %s\n", strerror(errno)); bindhostname = NULL; - while ((ch = getopt(argc, argv, "468Aa:b:cCdf:kl:m:nop:P:sS:Tuv")) + while ((ch = getopt(argc, argv, "468Aa:b:cCdf:kl:m:nNop:P:sS:Tuv")) != -1) switch (ch) { case '4': @@ -437,6 +438,10 @@ main(int argc, char *argv[]) case 'm': /* mark interval */ MarkInterval = atoi(optarg) * 60; break; + case 'N': + NoBind = 1; + SecureMode = 1; + break; case 'n': resolve = 0; break; @@ -2685,13 +2690,24 @@ socksetup(int af, char *bindhostname) close(*s); continue; } - if (bind(*s, r->ai_addr, r->ai_addrlen) < 0) { - close(*s); - logerror("bind"); - continue; - } + /* + * RFC 3164 recommends that client side message + * should come from the privileged syslogd port. + * + * If the system administrator choose not to obey + * this, we can skip the bind() step so that the + * system will choose a port for us. + */ + if (!NoBind) { + if (bind(*s, r->ai_addr, r->ai_addrlen) < 0) { + close(*s); + logerror("bind"); + continue; + } - double_rbuf(*s); + if (!SecureMode) + double_rbuf(*s); + } (*socks)++; s++; From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 07:35:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EADAA1065670; Thu, 14 Jul 2011 07:35:28 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA1998FC0A; Thu, 14 Jul 2011 07:35:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E7ZS29018989; Thu, 14 Jul 2011 07:35:28 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E7ZSMA018987; Thu, 14 Jul 2011 07:35:28 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107140735.p6E7ZSMA018987@svn.freebsd.org> From: Xin LI Date: Thu, 14 Jul 2011 07:35:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224003 - head/usr.sbin/mountd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 07:35:29 -0000 Author: delphij Date: Thu Jul 14 07:35:28 2011 New Revision: 224003 URL: http://svn.freebsd.org/changeset/base/224003 Log: Use calloc() instead of an explicit memset. MFC after: 2 weeks Modified: head/usr.sbin/mountd/mountd.c Modified: head/usr.sbin/mountd/mountd.c ============================================================================== --- head/usr.sbin/mountd/mountd.c Thu Jul 14 07:33:53 2011 (r224002) +++ head/usr.sbin/mountd/mountd.c Thu Jul 14 07:35:28 2011 (r224003) @@ -1789,10 +1789,9 @@ get_exp(void) { struct exportlist *ep; - ep = (struct exportlist *)malloc(sizeof (struct exportlist)); + ep = (struct exportlist *)calloc(1, sizeof (struct exportlist)); if (ep == (struct exportlist *)NULL) out_of_mem(); - memset(ep, 0, sizeof(struct exportlist)); return (ep); } @@ -1804,10 +1803,9 @@ get_grp(void) { struct grouplist *gp; - gp = (struct grouplist *)malloc(sizeof (struct grouplist)); + gp = (struct grouplist *)calloc(1, sizeof (struct grouplist)); if (gp == (struct grouplist *)NULL) out_of_mem(); - memset(gp, 0, sizeof(struct grouplist)); return (gp); } From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 08:06:03 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C64391065670; Thu, 14 Jul 2011 08:06:03 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9D6CD8FC0A; Thu, 14 Jul 2011 08:06:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6E863aT019927; Thu, 14 Jul 2011 08:06:03 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6E8632K019924; Thu, 14 Jul 2011 08:06:03 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107140806.p6E8632K019924@svn.freebsd.org> From: Xin LI Date: Thu, 14 Jul 2011 08:06:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224004 - head/sbin/dumpfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 08:06:03 -0000 Author: delphij Date: Thu Jul 14 08:06:03 2011 New Revision: 224004 URL: http://svn.freebsd.org/changeset/base/224004 Log: Add a -l option to show file system's corresponding /dev/ufsid path. This is useful for scripts that converts existing system's fstab to use their /dev/ufsid devices. MFC after: 2 weeks Modified: head/sbin/dumpfs/dumpfs.8 head/sbin/dumpfs/dumpfs.c Modified: head/sbin/dumpfs/dumpfs.8 ============================================================================== --- head/sbin/dumpfs/dumpfs.8 Thu Jul 14 07:35:28 2011 (r224003) +++ head/sbin/dumpfs/dumpfs.8 Thu Jul 14 08:06:03 2011 (r224004) @@ -28,7 +28,7 @@ .\" @(#)dumpfs.8 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd May 8, 2011 +.Dd Jul 14, 2011 .Dt DUMPFS 8 .Os .Sh NAME @@ -37,6 +37,7 @@ .Sh SYNOPSIS .Nm .Op Fl f +.Op Fl l .Op Fl m .Ar filesys | device .Sh DESCRIPTION @@ -44,7 +45,8 @@ The .Nm utility prints out the UFS super block and cylinder group information for the file system or special device specified, unless the -.Fl f +.Fl f , +.Fl l or .Fl m flag is specified. @@ -64,6 +66,11 @@ Fragment numbers may be converted to raw fragment size, which may be useful when recovering deleted data. .Pp If +.Fl l +is specified, the pathname to the file system's container derived from +its unique identifier is printed. +.Pp +If .Fl m is specified, a .Xr newfs 8 Modified: head/sbin/dumpfs/dumpfs.c ============================================================================== --- head/sbin/dumpfs/dumpfs.c Thu Jul 14 07:35:28 2011 (r224003) +++ head/sbin/dumpfs/dumpfs.c Thu Jul 14 08:06:03 2011 (r224004) @@ -79,6 +79,7 @@ static const char rcsid[] = struct uufsd disk; int dumpfs(const char *); +int dumpfsid(void); int dumpcg(void); int dumpfreespace(const char *, int); void dumpfreespacecg(int); @@ -92,11 +93,11 @@ int main(int argc, char *argv[]) { const char *name; - int ch, dofreespace, domarshal, eval; + int ch, dofreespace, domarshal, dolabel, eval; - dofreespace = domarshal = eval = 0; + dofreespace = domarshal = dolabel = eval = 0; - while ((ch = getopt(argc, argv, "fm")) != -1) { + while ((ch = getopt(argc, argv, "lfm")) != -1) { switch (ch) { case 'f': dofreespace++; @@ -104,6 +105,9 @@ main(int argc, char *argv[]) case 'm': domarshal = 1; break; + case 'l': + dolabel = 1; + break; case '?': default: usage(); @@ -129,6 +133,8 @@ main(int argc, char *argv[]) eval |= dumpfreespace(name, dofreespace); else if (domarshal) eval |= marshal(name); + else if (dolabel) + eval |= dumpfsid(); else eval |= dumpfs(name); ufs_disk_close(&disk); @@ -137,6 +143,14 @@ main(int argc, char *argv[]) } int +dumpfsid(void) +{ + + printf("/dev/ufsid/%x%x\n", afs.fs_id[0], afs.fs_id[1]); + return 0; +} + +int dumpfs(const char *name) { time_t fstime; From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 10:05:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFF7D106564A; Thu, 14 Jul 2011 10:05:28 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A4F978FC0A; Thu, 14 Jul 2011 10:05:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EA5Sor023448; Thu, 14 Jul 2011 10:05:28 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EA5SfV023445; Thu, 14 Jul 2011 10:05:28 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201107141005.p6EA5SfV023445@svn.freebsd.org> From: Aleksandr Rybalko Date: Thu, 14 Jul 2011 10:05:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224005 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 10:05:28 -0000 Author: ray Date: Thu Jul 14 10:05:28 2011 New Revision: 224005 URL: http://svn.freebsd.org/changeset/base/224005 Log: Include device rt in RT305X config and little cleanup. Approved by: adrian (mentor) Modified: head/sys/mips/conf/RT305X head/sys/mips/conf/RT305X.hints Modified: head/sys/mips/conf/RT305X ============================================================================== --- head/sys/mips/conf/RT305X Thu Jul 14 08:06:03 2011 (r224004) +++ head/sys/mips/conf/RT305X Thu Jul 14 10:05:28 2011 (r224005) @@ -24,42 +24,34 @@ makeoptions MIPS_LITTLE_ENDIAN=defined makeoptions KERNLOADADDR=0x80001000 # Don't build any modules yet. -makeoptions MODULES_OVERRIDE="wlan_xauth wlan_wep wlan_tkip wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt random if_bridge bridgestp msdosfs md ipfw dummynet libalias geom/geom_label ufs usb/uplcom usb/u3g usb/umodem usb/umass usb/ucom cam zlib" +makeoptions MODULES_OVERRIDE="if_bridge bridgestp md ipfw dummynet libalias geom/geom_label zlib" makeoptions RT3052F include "../rt305x/std.rt305x" hints "RT305X.hints" #Default places to look for devices. -#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols - # Debugging for use in -current -#options DEADLKRES #Enable the deadlock resolver -#options INVARIANTS #Enable calls of extra sanity checking -#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -#options WITNESS #Enable checks to detect deadlocks and cycles -#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC -#options DEBUG_LOCKS -#options DEBUG_VFS_LOCKS +#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +#options DEADLKRES #Enable the deadlock resolver +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options DIAGNOSTIC +#options DEBUG_LOCKS +#options DEBUG_VFS_LOCKS #options GDB -options DDB +options DDB options KDB options SCHED_ULE #options SCHED_4BSD #4BSD scheduler #options COMPAT_43 options INET #InterNETworking -options NFSCL #Network Filesystem Client -options NFS_ROOT #NFS usable as /, requires NFSCL options PSEUDOFS #Pseudo-filesystem framework #options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions -options BOOTP -#options BOOTP_NFSROOT -options BOOTP_NFSV3 -options BOOTP_WIRED_TO=rt0 -options BOOTP_COMPAT options CD9660 # ISO 9660 Filesystem options ROOTDEVNAME=\"cd9660:/dev/map/rootfs.uncompress\" options TMPFS # TMP Memory Filesystem @@ -68,6 +60,15 @@ options TMPFS # TMP Memory Filesystem #options SOFTUPDATES #Enable FFS soft updates support #options UFS_ACL #Support for access control lists #options UFS_DIRHASH #Improve performance on big directories + +# BOOTP/NFS boot +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=rt0 +#options BOOTP_COMPAT +#options NFSCL #Network Filesystem Client +#options NFS_ROOT #NFS usable as /, requires NFSCL #options ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\" # Options for making kernel less hangry @@ -89,35 +90,46 @@ options NO_SWAPPING options ZERO_COPY_SOCKETS options MROUTING # Multicast routing options IPFIREWALL_DEFAULT_TO_ACCEPT +options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI -device random -device loop -# RT3050F, RT3052F have only pseudo PHYs -#device mii -#device miibus -device pty # Pseudo-ttys (telnet etc) +device rt device ether +# RT3050F, RT3052F have only attached switch, so no need to mii/miibus + +device pty # Pseudo-ttys (telnet etc) device bpf # Berkeley packet filter device vlan #device lagg #device if_bridge -device uart -nodevice uart_ns8250 device tun # Packet tunnel. +device random +device loop -device wlan +# Chip have two UARTs - UART and UART Light +device uart +nodevice uart_ns8250 +# Wireless support +# Work in progress +#device ral +#device wlan +# GPIO support device gpio device gpioled +# CFI flash support device cfi # Detect Flash memmory device cfid +# Read U-Boot environment from flash device nvram2env -device usb +# USB support +# Partial support. Not included yet. #device dotg # DWC like USB OTG Controller driver +#options USB_DEBUG +#device usb #device u3g #device umodem #device uplcom @@ -125,10 +137,4 @@ device usb #device da #device pass #device scbus -options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI - -#options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order -#options USB_DEBUG -#options USB_REQ_DEBUG - Modified: head/sys/mips/conf/RT305X.hints ============================================================================== --- head/sys/mips/conf/RT305X.hints Thu Jul 14 08:06:03 2011 (r224004) +++ head/sys/mips/conf/RT305X.hints Thu Jul 14 10:05:28 2011 (r224005) @@ -4,87 +4,90 @@ hint.obio.0.at="nexus0" hint.obio.0.maddr=0x10000000 hint.obio.0.msize=0x10000000 -hint.nvram.0.sig=0xe5e60a74 +# on-board Ralink Frame Engine +hint.rt.0.at="nexus0" +hint.rt.0.maddr=0x10100000 +hint.rt.0.msize=0x10000 +hint.rt.0.irq=3 + +# UART Light +hint.uart.1.flags="0x30" + +# Lines below is Board specific +# D-Link DIR-620 hint.nvram.0.base=0x1f030000 hint.nvram.0.maxsize=0x2000 -hint.nvram.0.flags=3 # 1 = No check, 2 = Format Generic -hint.nvram.1.sig=0x5a045e94 +hint.nvram.0.flags=9 # 1 = No check, 2 = Format U-Boot hint.nvram.1.base=0x1f032000 hint.nvram.1.maxsize=0x4000 -hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic - -# on-board Ralink Frame Engine -#hint.rt.0.at="nexus0" -#hint.rt.0.maddr=0x12000000 -#hint.rt.0.msize=0x200000 -#hint.rt.0.irq=9 -hint.rt.0.macaddr="00:18:e7:d5:83:90" - -# on-board Ralink 2872 802.11n core -hint.rt2860.0.at="nexus0" -hint.rt2860.0.maddr=0x10180000 -hint.rt2860.0.msize=0x40000 -hint.rt2860.0.irq=4 - -# uart0 -#hint.uart.0.at="obio0" -#hint.uart.0.maddr=0x10000C00 -#hint.uart.0.msize=0x100 -#hint.uart.0.irq=12 -#hint.uart.0.flags="0x30" - -# uart1 -#hint.uart.1.at="obio0" -#hint.uart.1.maddr=0x10000500 -#hint.uart.1.msize=0x100 -#hint.uart.1.irq=5 -#hint.uart.1.flags="0x30" +hint.nvram.1.flags=9 # 1 = No check, 2 = Format U-Boot +# Configure SYSCTL_GPIOMODE to pass FUART pins to GPIO +# original: +# hint.rt305x_sysctl.0.gpiomode=0x000283 +# required: +hint.rt305x_sysctl.0.gpiomode=0x00029f # gpio -# GPIO0 - WPS BTN IN II IO + +# Buttons +# GPIO10 - Reset BTN IN PU II INT +hint.gpioreset.0.at="gpiobus0" +hint.gpioreset.0.pins="0x0400" +hint.gpioreset.0.name="reset" +hint.gpioreset.0.flags="0x04a1" # (INPUT|PULLUP|INVIN|REPORT) + +## GPIO0 - WPS BTN IN PU II INT hint.gpiobutton.0.at="gpiobus0" hint.gpiobutton.0.pins="0x01" hint.gpiobutton.0.name="wps" -hint.gpiobutton.0.flags="0x0581" +hint.gpiobutton.0.flags="0x04a1" # (INPUT|PULLUP|INVIN|REPORT) -# GPIO7 - MODE SW AP IN II IO -hint.gpiobutton.1.at="gpiobus0" -hint.gpiobutton.1.pins="0x80" -hint.gpiobutton.1.name="mode_ap" -hint.gpiobutton.1.flags="0x0581" - -# GPIO8 - ST LEDRED OUT /* 2pin BiDir RED/BLUE LED */ -# GPIO9 - ST LEDBLUE OUT +# LEDs +# Power Yellow 8 +# Power Green 9 +# WAN Green 12 +# WAN Yellow 14 +# WPS Orange 11 +# WPS Blue 13 +#GPIO8 STATUS ? hint.gpioled.0.at="gpiobus0" -hint.gpioled.0.pins="0x100" -hint.gpioled.0.name="status_red" -hint.gpioled.0.flags="0x0002" +hint.gpioled.0.pins="0x0100" +hint.gpioled.0.name="status_yellow" +hint.gpioled.0.flags="0x0102" # (OUTPUT|INVOUT) + +#GPIO9 STATUS hint.gpioled.1.at="gpiobus0" -hint.gpioled.1.pins="0x200" -#hint.gpioled.1.name="status_blue" +hint.gpioled.1.pins="0x0200" hint.gpioled.1.name="status" -hint.gpioled.1.flags="0x0002" - -# GPIO10 - RST BTN IN II IO -hint.gpiobutton.2.at="gpiobus0" -hint.gpiobutton.2.pins="0x400" -hint.gpiobutton.2.name="reset" -hint.gpiobutton.2.flags="0x0581" - -# GPIO11 - MODE SW CL IN II IO -hint.gpiobutton.3.at="gpiobus0" -hint.gpiobutton.3.pins="0x800" -hint.gpiobutton.3.name="mode_wlan_client" -hint.gpiobutton.3.flags="0x0581" +hint.gpioled.1.flags="0x0102" # (OUTPUT|INVOUT) -# GPIO14 - WPS LED OUT II IO +#GPIO11 WPS Orange hint.gpioled.2.at="gpiobus0" -hint.gpioled.2.pins="0x4000" -hint.gpioled.2.name="wps" -hint.gpioled.2.flags="0x0182" - +hint.gpioled.2.pins="0x0800" +hint.gpioled.2.name="wps_orange" +hint.gpioled.2.flags="0x0002" # (OUTPUT|INVOUT) + +#GPIO12 WAN Green +hint.gpioled.3.at="gpiobus0" +hint.gpioled.3.pins="0x1000" +hint.gpioled.3.name="wan" +hint.gpioled.3.flags="0x0102" # (OUTPUT|INVOUT) + +#GPIO13 WPS Blue +hint.gpioled.4.at="gpiobus0" +hint.gpioled.4.pins="0x2000" +hint.gpioled.4.name="wps" +hint.gpioled.4.flags="0x0002" # (OUTPUT|INVOUT) + +#GPIO14 WAN Yellow +hint.gpioled.5.at="gpiobus0" +hint.gpioled.5.pins="0x4000" +hint.gpioled.5.name="wan_yellow" +hint.gpioled.5.flags="0x0102" # (OUTPUT|INVOUT) +hint.cfi.0.width=2 +hint.cfi.0.shift=2 #0x00000000-0x00030000 : "Bootloader" #0x00030000-0x00040000 : "Factory" @@ -102,35 +105,30 @@ hint.map.0.readonly=1 hint.map.1.at="cfid0" hint.map.1.start=0x00030000 hint.map.1.end=0x00040000 -hint.map.1.name="factory" +hint.map.1.name="linuxconfig" hint.map.2.at="cfid0" hint.map.2.start=0x00040000 -hint.map.2.end=0x00800000 -hint.map.2.name="upgrade" +hint.map.2.end=0x00050000 +hint.map.2.name="factory" hint.map.3.at="cfid0" -hint.map.3.start=0x00040000 -hint.map.3.end=0x00050000 -hint.map.3.name="config" +hint.map.3.start=0x00050000 +hint.map.3.end=0x007e0000 +hint.map.3.name="upgrade" hint.map.4.at="cfid0" -hint.map.4.start=0x00000000 -hint.map.4.end=0x00000000 -hint.map.4.name="language" +hint.map.4.name="kernel" +hint.map.4.start=0x00050000 +hint.map.4.end="search:0x00100000:0x10000:.!/bin/sh" hint.map.5.at="cfid0" -hint.map.5.start=0x00050000 -hint.map.5.end=0x00150000 -hint.map.5.name="kernel" +hint.map.5.name="rootfs" +hint.map.5.start="search:0x00100000:0x10000:.!/bin/sh" +hint.map.5.end=0x007e0000 hint.map.6.at="cfid0" -hint.map.6.start=0x00150000 +hint.map.6.start=0x007e0000 hint.map.6.end=0x00800000 -hint.map.6.name="rootfs" - - -hint.rt.0.phymask=0x1f -hint.rt.0.media=100 -hint.rt.0.fduplex=1 +hint.map.6.name="config" From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 10:32:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A797A1065680; Thu, 14 Jul 2011 10:32:26 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id 306418FC08; Thu, 14 Jul 2011 10:32:25 +0000 (UTC) Received: by gyf3 with SMTP id 3so51183gyf.13 for ; Thu, 14 Jul 2011 03:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=IgFVPEA0S/Pt13lyylqEEudyu06hYgesw+px30s187I=; b=C9YNCbkbeJi3rkLPY/nuxL/8lnR3/qFJk3Xw4ZnzaS87reslpBO3GmzF5iZSfHOn8a XpbkujU6Uc4PA8aIJ5gtXuWH66OymlO8eppeC8usDOUh/ViM+c+xeodTxG2fp0AiJxdR aBcHOCEf4zsXkPsORQLnDUeg7at16/sk/k2kQ= MIME-Version: 1.0 Received: by 10.150.175.10 with SMTP id x10mr2130238ybe.158.1310639545535; Thu, 14 Jul 2011 03:32:25 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.150.189.1 with HTTP; Thu, 14 Jul 2011 03:32:25 -0700 (PDT) In-Reply-To: <201107141005.p6EA5SfV023445@svn.freebsd.org> References: <201107141005.p6EA5SfV023445@svn.freebsd.org> Date: Thu, 14 Jul 2011 18:32:25 +0800 X-Google-Sender-Auth: RZyqV1vn2thrCrbfU6fVLPg0whQ Message-ID: From: Adrian Chadd To: Aleksandr Rybalko Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r224005 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 10:32:26 -0000 Hi! Yes, he's committed a bit more than just enabling if_rt in this commit. I'm discussing this with him privately. Sorry! Adrian (pointy-hat on, as I'm his mentor.) On 14 July 2011 18:05, Aleksandr Rybalko wrote: > Author: ray > Date: Thu Jul 14 10:05:28 2011 > New Revision: 224005 > URL: http://svn.freebsd.org/changeset/base/224005 > > Log: > =A0Include device rt in RT305X config and little cleanup. > > =A0Approved by: adrian (mentor) > > Modified: > =A0head/sys/mips/conf/RT305X > =A0head/sys/mips/conf/RT305X.hints > > Modified: head/sys/mips/conf/RT305X > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/mips/conf/RT305X =A0 Thu Jul 14 08:06:03 2011 =A0 =A0 =A0 = =A0(r224004) > +++ head/sys/mips/conf/RT305X =A0 Thu Jul 14 10:05:28 2011 =A0 =A0 =A0 = =A0(r224005) > @@ -24,42 +24,34 @@ makeoptions MIPS_LITTLE_ENDIAN=3Ddefined > =A0makeoptions =A0 =A0KERNLOADADDR=3D0x80001000 > > =A0# Don't build any modules yet. > -makeoptions =A0 =A0MODULES_OVERRIDE=3D"wlan_xauth wlan_wep wlan_tkip wla= n_acl wlan_amrr wlan_ccmp wlan_rssadapt random if_bridge bridgestp msdosfs = md ipfw dummynet libalias geom/geom_label ufs usb/uplcom usb/u3g usb/umodem= usb/umass usb/ucom cam zlib" > +makeoptions =A0 =A0MODULES_OVERRIDE=3D"if_bridge bridgestp md ipfw dummy= net libalias geom/geom_label zlib" > =A0makeoptions =A0 =A0RT3052F > > =A0include =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"../rt305x/std.rt305x" > > =A0hints =A0 =A0 =A0 =A0 =A0"RT305X.hints" =A0 =A0 =A0 =A0 =A0#Default pl= aces to look for devices. > > -#makeoptions =A0 DEBUG=3D-g =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#Build kernel= with gdb(1) debug symbols > - > =A0# Debugging for use in -current > -#options =A0 =A0 =A0 DEADLKRES =A0 =A0 =A0 =A0 =A0 =A0 =A0 #Enable the d= eadlock resolver > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 INVARIANTS =A0 =A0 =A0 =A0 =A0 =A0 = =A0#Enable calls of extra sanity checking > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 INVARIANT_SUPPORT =A0 =A0 =A0 #Extr= a sanity checks of internal structures, required by INVARIANTS > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 WITNESS =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 #Enable checks to detect deadlocks and cycles > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 WITNESS_SKIPSPIN =A0 =A0 =A0 =A0#Do= n't run witness on spinlocks for speed > -#options =A0 =A0 =A0 =A0 DIAGNOSTIC > -#options =A0 =A0 DEBUG_LOCKS > -#options =A0 =A0 DEBUG_VFS_LOCKS > +#makeoptions =A0 DEBUG=3D-g =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#Build kernel= with gdb(1) debug symbols > +#options =A0 =A0 =A0 DEADLKRES =A0 =A0 =A0 =A0 =A0 =A0 =A0 #Enable the d= eadlock resolver > +#options =A0 =A0 =A0 INVARIANTS =A0 =A0 =A0 =A0 =A0 =A0 =A0#Enable calls= of extra sanity checking > +#options =A0 =A0 =A0 INVARIANT_SUPPORT =A0 =A0 =A0 #Extra sanity checks = of internal structures, required by INVARIANTS > +#options =A0 =A0 =A0 WITNESS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 #Enable che= cks to detect deadlocks and cycles > +#options =A0 =A0 =A0 WITNESS_SKIPSPIN =A0 =A0 =A0 =A0#Don't run witness = on spinlocks for speed > +#options =A0 =A0 =A0 DIAGNOSTIC > +#options =A0 =A0 =A0 DEBUG_LOCKS > +#options =A0 =A0 =A0 DEBUG_VFS_LOCKS > =A0#options =A0 =A0 =A0 GDB > -options =A0 =A0 =A0 =A0DDB > +options =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0DDB > =A0options =A0 =A0 =A0 =A0KDB > > =A0options =A0 =A0 =A0 =A0SCHED_ULE > =A0#options =A0 =A0 =A0 SCHED_4BSD =A0 =A0 =A0 =A0 =A0 =A0 =A0#4BSD sched= uler > =A0#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 COMPAT_43 > =A0options =A0 =A0 =A0 =A0INET =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#In= terNETworking > -options =A0 =A0 =A0 =A0NFSCL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 #Networ= k Filesystem Client > -options =A0 =A0 =A0 =A0NFS_ROOT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#NFS usab= le as /, requires NFSCL > =A0options =A0 =A0 =A0 =A0PSEUDOFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#Pseudo= -filesystem framework > =A0#options =A0 =A0 =A0 _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-= time extensions > > -options =A0 =A0 =A0 =A0BOOTP > -#options =A0 =A0 =A0 BOOTP_NFSROOT > -options =A0 =A0 =A0 =A0BOOTP_NFSV3 > -options =A0 =A0 =A0 =A0BOOTP_WIRED_TO=3Drt0 > -options =A0 =A0 =A0 =A0BOOTP_COMPAT > =A0options =A0 =A0 =A0 =A0CD9660 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# ISO= 9660 Filesystem > =A0options =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ROOTDEVNAME=3D\"cd9660:/dev/map= /rootfs.uncompress\" > =A0options =A0 =A0 =A0 =A0TMPFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # TMP= Memory Filesystem > @@ -68,6 +60,15 @@ options =A0 =A0 =A0TMPFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 # TMP Memory Filesystem > =A0#options =A0 =A0 =A0 SOFTUPDATES =A0 =A0 =A0 =A0 =A0 =A0 #Enable FFS s= oft updates support > =A0#options =A0 =A0 =A0 UFS_ACL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 #Support = for access control lists > =A0#options =A0 =A0 =A0 UFS_DIRHASH =A0 =A0 =A0 =A0 =A0 =A0 #Improve perf= ormance on big directories > + > +# BOOTP/NFS boot > +#options =A0 =A0 =A0 BOOTP > +#options =A0 =A0 =A0 BOOTP_NFSROOT > +#options =A0 =A0 =A0 BOOTP_NFSV3 > +#options =A0 =A0 =A0 BOOTP_WIRED_TO=3Drt0 > +#options =A0 =A0 =A0 BOOTP_COMPAT > +#options =A0 =A0 =A0 NFSCL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 #Network = Filesystem Client > +#options =A0 =A0 =A0 NFS_ROOT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0#NFS usable= as /, requires NFSCL > =A0#options =A0 =A0 =A0 ROOTDEVNAME=3D\"nfs:10.0.0.1:/mnt/bsd\" > > =A0# Options for making kernel less hangry > @@ -89,35 +90,46 @@ options =A0 =A0 =A0 =A0 =A0 =A0 NO_SWAPPING > =A0options =A0 =A0 =A0 =A0ZERO_COPY_SOCKETS > =A0options =A0 =A0 =A0 =A0 MROUTING =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Mult= icast routing > =A0options =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0IPFIREWALL_DEFAULT_TO_ACCEPT > +options =A0 =A0 =A0 =A0SCSI_DELAY=3D1000 =A0 =A0 =A0 =A0 # Delay (in ms)= before probing SCSI > > -device =A0 =A0 =A0 =A0 random > -device =A0 =A0 =A0 =A0 loop > -# RT3050F, RT3052F have only pseudo PHYs > -#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0mii > -#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0miibus > -device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 pty =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 # Pseudo-ttys (telnet etc) > +device =A0 =A0 =A0 =A0 rt > =A0device =A0 =A0 =A0 =A0 ether > +# RT3050F, RT3052F have only attached switch, so no need to mii/miibus > + > +device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 pty =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 # Pseudo-ttys (telnet etc) > =A0device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 bpf =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 # Berkeley packet filter > =A0device =A0 =A0 =A0 =A0 vlan > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0lagg > =A0#device =A0 =A0 =A0 =A0 =A0if_bridge > -device =A0 =A0 =A0 =A0 uart > -nodevice =A0 =A0 =A0 uart_ns8250 > =A0device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 tun =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 # Packet tunnel. > +device =A0 =A0 =A0 =A0 random > +device =A0 =A0 =A0 =A0 loop > > -device =A0 =A0 =A0 =A0 wlan > +# Chip have two UARTs - UART and UART Light > +device =A0 =A0 =A0 =A0 uart > +nodevice =A0 =A0 =A0 uart_ns8250 > > +# Wireless support > +# Work in progress > +#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ral > +#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0wlan > > +# GPIO support > =A0device =A0 =A0 =A0 =A0 gpio > =A0device =A0 =A0 =A0 =A0 gpioled > > +# CFI flash support > =A0device =A0 =A0 =A0 =A0 cfi =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # D= etect Flash memmory > =A0device =A0 =A0 =A0 =A0 cfid > > +# Read U-Boot environment from flash > =A0device =A0 =A0 =A0 =A0 nvram2env > > -device =A0 =A0 =A0 =A0 usb > +# USB support > +# Partial support. Not included yet. > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0dotg =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0# DWC like USB OTG Controller driver > +#options =A0 =A0 =A0 USB_DEBUG > +#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0usb > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0u3g > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0umodem > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0uplcom > @@ -125,10 +137,4 @@ device =A0 =A0 =A0 =A0 =A0 =A0 usb > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0da > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0pass > =A0#device =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0scbus > -options =A0 =A0 =A0 =A0SCSI_DELAY=3D1000 =A0 =A0 =A0 =A0 # Delay (in ms)= before probing SCSI > - > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 USB_EHCI_BIG_ENDIAN_DESC =A0 =A0 = =A0 =A0# handle big-endian byte order > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 USB_DEBUG > -#options =A0 =A0 =A0 =A0 =A0 =A0 =A0 USB_REQ_DEBUG > - > > > Modified: head/sys/mips/conf/RT305X.hints > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/mips/conf/RT305X.hints =A0 =A0 Thu Jul 14 08:06:03 2011 =A0 = =A0 =A0 =A0(r224004) > +++ head/sys/mips/conf/RT305X.hints =A0 =A0 Thu Jul 14 10:05:28 2011 =A0 = =A0 =A0 =A0(r224005) > @@ -4,87 +4,90 @@ hint.obio.0.at=3D"nexus0" > =A0hint.obio.0.maddr=3D0x10000000 > =A0hint.obio.0.msize=3D0x10000000 > > -hint.nvram.0.sig=3D0xe5e60a74 > +# on-board Ralink Frame Engine > +hint.rt.0.at=3D"nexus0" > +hint.rt.0.maddr=3D0x10100000 > +hint.rt.0.msize=3D0x10000 > +hint.rt.0.irq=3D3 > + > +# UART Light > +hint.uart.1.flags=3D"0x30" > + > +# Lines below is Board specific > +# D-Link DIR-620 > =A0hint.nvram.0.base=3D0x1f030000 > =A0hint.nvram.0.maxsize=3D0x2000 > -hint.nvram.0.flags=3D3 # 1 =3D No check, 2 =3D Format Generic > -hint.nvram.1.sig=3D0x5a045e94 > +hint.nvram.0.flags=3D9 # 1 =3D No check, 2 =3D Format U-Boot > =A0hint.nvram.1.base=3D0x1f032000 > =A0hint.nvram.1.maxsize=3D0x4000 > -hint.nvram.1.flags=3D3 # 1 =3D No check, 2 =3D Format Generic > - > -# on-board Ralink Frame Engine > -#hint.rt.0.at=3D"nexus0" > -#hint.rt.0.maddr=3D0x12000000 > -#hint.rt.0.msize=3D0x200000 > -#hint.rt.0.irq=3D9 > -hint.rt.0.macaddr=3D"00:18:e7:d5:83:90" > - > -# on-board Ralink 2872 802.11n core > -hint.rt2860.0.at=3D"nexus0" > -hint.rt2860.0.maddr=3D0x10180000 > -hint.rt2860.0.msize=3D0x40000 > -hint.rt2860.0.irq=3D4 > - > -# uart0 > -#hint.uart.0.at=3D"obio0" > -#hint.uart.0.maddr=3D0x10000C00 > -#hint.uart.0.msize=3D0x100 > -#hint.uart.0.irq=3D12 > -#hint.uart.0.flags=3D"0x30" > - > -# uart1 > -#hint.uart.1.at=3D"obio0" > -#hint.uart.1.maddr=3D0x10000500 > -#hint.uart.1.msize=3D0x100 > -#hint.uart.1.irq=3D5 > -#hint.uart.1.flags=3D"0x30" > +hint.nvram.1.flags=3D9 # 1 =3D No check, 2 =3D Format U-Boot > > +# Configure SYSCTL_GPIOMODE to pass FUART pins to GPIO > +# original: > +# hint.rt305x_sysctl.0.gpiomode=3D0x000283 > +# required: > +hint.rt305x_sysctl.0.gpiomode=3D0x00029f > > =A0# gpio > -# GPIO0 =A0- WPS BTN =A0 =A0 IN II IO > + > +# Buttons > +# GPIO10 - Reset BTN =A0 IN PU II INT > +hint.gpioreset.0.at=3D"gpiobus0" > +hint.gpioreset.0.pins=3D"0x0400" > +hint.gpioreset.0.name=3D"reset" > +hint.gpioreset.0.flags=3D"0x04a1" # (INPUT|PULLUP|INVIN|REPORT) > + > +## GPIO0 =A0- WPS BTN =A0 =A0IN PU II INT > =A0hint.gpiobutton.0.at=3D"gpiobus0" > =A0hint.gpiobutton.0.pins=3D"0x01" > =A0hint.gpiobutton.0.name=3D"wps" > -hint.gpiobutton.0.flags=3D"0x0581" > +hint.gpiobutton.0.flags=3D"0x04a1" # (INPUT|PULLUP|INVIN|REPORT) > > -# GPIO7 =A0- MODE SW AP =A0IN II IO > -hint.gpiobutton.1.at=3D"gpiobus0" > -hint.gpiobutton.1.pins=3D"0x80" > -hint.gpiobutton.1.name=3D"mode_ap" > -hint.gpiobutton.1.flags=3D"0x0581" > - > -# GPIO8 =A0- ST LEDRED =A0 OUT =A0 =A0 /* 2pin BiDir RED/BLUE LED */ > -# GPIO9 =A0- ST LEDBLUE =A0OUT > +# LEDs > +# Power Yellow 8 > +# Power Green =A09 > +# WAN Green =A0 =A012 > +# WAN Yellow =A0 14 > +# WPS Orange =A0 11 > +# WPS Blue =A0 =A0 13 > +#GPIO8 =A0STATUS ? > =A0hint.gpioled.0.at=3D"gpiobus0" > -hint.gpioled.0.pins=3D"0x100" > -hint.gpioled.0.name=3D"status_red" > -hint.gpioled.0.flags=3D"0x0002" > +hint.gpioled.0.pins=3D"0x0100" > +hint.gpioled.0.name=3D"status_yellow" > +hint.gpioled.0.flags=3D"0x0102" # (OUTPUT|INVOUT) > + > +#GPIO9 =A0STATUS > =A0hint.gpioled.1.at=3D"gpiobus0" > -hint.gpioled.1.pins=3D"0x200" > -#hint.gpioled.1.name=3D"status_blue" > +hint.gpioled.1.pins=3D"0x0200" > =A0hint.gpioled.1.name=3D"status" > -hint.gpioled.1.flags=3D"0x0002" > - > -# GPIO10 - RST BTN =A0 =A0 IN II IO > -hint.gpiobutton.2.at=3D"gpiobus0" > -hint.gpiobutton.2.pins=3D"0x400" > -hint.gpiobutton.2.name=3D"reset" > -hint.gpiobutton.2.flags=3D"0x0581" > - > -# GPIO11 - MODE SW CL =A0IN II IO > -hint.gpiobutton.3.at=3D"gpiobus0" > -hint.gpiobutton.3.pins=3D"0x800" > -hint.gpiobutton.3.name=3D"mode_wlan_client" > -hint.gpiobutton.3.flags=3D"0x0581" > +hint.gpioled.1.flags=3D"0x0102" # (OUTPUT|INVOUT) > > -# GPIO14 - WPS LED =A0 =A0 OUT II IO > +#GPIO11 WPS Orange > =A0hint.gpioled.2.at=3D"gpiobus0" > -hint.gpioled.2.pins=3D"0x4000" > -hint.gpioled.2.name=3D"wps" > -hint.gpioled.2.flags=3D"0x0182" > - > +hint.gpioled.2.pins=3D"0x0800" > +hint.gpioled.2.name=3D"wps_orange" > +hint.gpioled.2.flags=3D"0x0002" # (OUTPUT|INVOUT) > + > +#GPIO12 WAN Green > +hint.gpioled.3.at=3D"gpiobus0" > +hint.gpioled.3.pins=3D"0x1000" > +hint.gpioled.3.name=3D"wan" > +hint.gpioled.3.flags=3D"0x0102" # (OUTPUT|INVOUT) > + > +#GPIO13 WPS Blue > +hint.gpioled.4.at=3D"gpiobus0" > +hint.gpioled.4.pins=3D"0x2000" > +hint.gpioled.4.name=3D"wps" > +hint.gpioled.4.flags=3D"0x0002" # (OUTPUT|INVOUT) > + > +#GPIO14 WAN Yellow > +hint.gpioled.5.at=3D"gpiobus0" > +hint.gpioled.5.pins=3D"0x4000" > +hint.gpioled.5.name=3D"wan_yellow" > +hint.gpioled.5.flags=3D"0x0102" # (OUTPUT|INVOUT) > > +hint.cfi.0.width=3D2 > +hint.cfi.0.shift=3D2 > > =A0#0x00000000-0x00030000 : "Bootloader" > =A0#0x00030000-0x00040000 : "Factory" > @@ -102,35 +105,30 @@ hint.map.0.readonly=3D1 > =A0hint.map.1.at=3D"cfid0" > =A0hint.map.1.start=3D0x00030000 > =A0hint.map.1.end=3D0x00040000 > -hint.map.1.name=3D"factory" > +hint.map.1.name=3D"linuxconfig" > > =A0hint.map.2.at=3D"cfid0" > =A0hint.map.2.start=3D0x00040000 > -hint.map.2.end=3D0x00800000 > -hint.map.2.name=3D"upgrade" > +hint.map.2.end=3D0x00050000 > +hint.map.2.name=3D"factory" > > =A0hint.map.3.at=3D"cfid0" > -hint.map.3.start=3D0x00040000 > -hint.map.3.end=3D0x00050000 > -hint.map.3.name=3D"config" > +hint.map.3.start=3D0x00050000 > +hint.map.3.end=3D0x007e0000 > +hint.map.3.name=3D"upgrade" > > =A0hint.map.4.at=3D"cfid0" > -hint.map.4.start=3D0x00000000 > -hint.map.4.end=3D0x00000000 > -hint.map.4.name=3D"language" > +hint.map.4.name=3D"kernel" > +hint.map.4.start=3D0x00050000 > +hint.map.4.end=3D"search:0x00100000:0x10000:.!/bin/sh" > > =A0hint.map.5.at=3D"cfid0" > -hint.map.5.start=3D0x00050000 > -hint.map.5.end=3D0x00150000 > -hint.map.5.name=3D"kernel" > +hint.map.5.name=3D"rootfs" > +hint.map.5.start=3D"search:0x00100000:0x10000:.!/bin/sh" > +hint.map.5.end=3D0x007e0000 > > =A0hint.map.6.at=3D"cfid0" > -hint.map.6.start=3D0x00150000 > +hint.map.6.start=3D0x007e0000 > =A0hint.map.6.end=3D0x00800000 > -hint.map.6.name=3D"rootfs" > - > - > -hint.rt.0.phymask=3D0x1f > -hint.rt.0.media=3D100 > -hint.rt.0.fduplex=3D1 > +hint.map.6.name=3D"config" > > From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 11:09:38 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83E5E106564A; Thu, 14 Jul 2011 11:09:38 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6A0DB8FC08; Thu, 14 Jul 2011 11:09:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EB9cZk027045; Thu, 14 Jul 2011 11:09:38 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EB9cbT027042; Thu, 14 Jul 2011 11:09:38 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201107141109.p6EB9cbT027042@svn.freebsd.org> From: Aleksandr Rybalko Date: Thu, 14 Jul 2011 11:09:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224008 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 11:09:38 -0000 Author: ray Date: Thu Jul 14 11:09:37 2011 New Revision: 224008 URL: http://svn.freebsd.org/changeset/base/224008 Log: Revert it back. Too many changes for one commit. Approved by: adrian (mentor) Modified: head/sys/mips/conf/RT305X head/sys/mips/conf/RT305X.hints Modified: head/sys/mips/conf/RT305X ============================================================================== --- head/sys/mips/conf/RT305X Thu Jul 14 10:31:38 2011 (r224007) +++ head/sys/mips/conf/RT305X Thu Jul 14 11:09:37 2011 (r224008) @@ -24,34 +24,42 @@ makeoptions MIPS_LITTLE_ENDIAN=defined makeoptions KERNLOADADDR=0x80001000 # Don't build any modules yet. -makeoptions MODULES_OVERRIDE="if_bridge bridgestp md ipfw dummynet libalias geom/geom_label zlib" +makeoptions MODULES_OVERRIDE="wlan_xauth wlan_wep wlan_tkip wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt random if_bridge bridgestp msdosfs md ipfw dummynet libalias geom/geom_label ufs usb/uplcom usb/u3g usb/umodem usb/umass usb/ucom cam zlib" makeoptions RT3052F include "../rt305x/std.rt305x" hints "RT305X.hints" #Default places to look for devices. -# Debugging for use in -current #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols -#options DEADLKRES #Enable the deadlock resolver -#options INVARIANTS #Enable calls of extra sanity checking -#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS -#options WITNESS #Enable checks to detect deadlocks and cycles -#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC -#options DEBUG_LOCKS -#options DEBUG_VFS_LOCKS + +# Debugging for use in -current +#options DEADLKRES #Enable the deadlock resolver +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options DIAGNOSTIC +#options DEBUG_LOCKS +#options DEBUG_VFS_LOCKS #options GDB -options DDB +options DDB options KDB options SCHED_ULE #options SCHED_4BSD #4BSD scheduler #options COMPAT_43 options INET #InterNETworking +options NFSCL #Network Filesystem Client +options NFS_ROOT #NFS usable as /, requires NFSCL options PSEUDOFS #Pseudo-filesystem framework #options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +options BOOTP +#options BOOTP_NFSROOT +options BOOTP_NFSV3 +options BOOTP_WIRED_TO=rt0 +options BOOTP_COMPAT options CD9660 # ISO 9660 Filesystem options ROOTDEVNAME=\"cd9660:/dev/map/rootfs.uncompress\" options TMPFS # TMP Memory Filesystem @@ -60,15 +68,6 @@ options TMPFS # TMP Memory Filesystem #options SOFTUPDATES #Enable FFS soft updates support #options UFS_ACL #Support for access control lists #options UFS_DIRHASH #Improve performance on big directories - -# BOOTP/NFS boot -#options BOOTP -#options BOOTP_NFSROOT -#options BOOTP_NFSV3 -#options BOOTP_WIRED_TO=rt0 -#options BOOTP_COMPAT -#options NFSCL #Network Filesystem Client -#options NFS_ROOT #NFS usable as /, requires NFSCL #options ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\" # Options for making kernel less hangry @@ -90,46 +89,35 @@ options NO_SWAPPING options ZERO_COPY_SOCKETS options MROUTING # Multicast routing options IPFIREWALL_DEFAULT_TO_ACCEPT -options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI - -device rt -device ether -# RT3050F, RT3052F have only attached switch, so no need to mii/miibus +device random +device loop +# RT3050F, RT3052F have only pseudo PHYs +#device mii +#device miibus device pty # Pseudo-ttys (telnet etc) +device ether device bpf # Berkeley packet filter device vlan #device lagg #device if_bridge -device tun # Packet tunnel. -device random -device loop - -# Chip have two UARTs - UART and UART Light device uart nodevice uart_ns8250 +device tun # Packet tunnel. + +device wlan -# Wireless support -# Work in progress -#device ral -#device wlan -# GPIO support device gpio device gpioled -# CFI flash support device cfi # Detect Flash memmory device cfid -# Read U-Boot environment from flash device nvram2env -# USB support -# Partial support. Not included yet. +device usb #device dotg # DWC like USB OTG Controller driver -#options USB_DEBUG -#device usb #device u3g #device umodem #device uplcom @@ -137,4 +125,10 @@ device nvram2env #device da #device pass #device scbus +options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI + +#options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order +#options USB_DEBUG +#options USB_REQ_DEBUG + Modified: head/sys/mips/conf/RT305X.hints ============================================================================== --- head/sys/mips/conf/RT305X.hints Thu Jul 14 10:31:38 2011 (r224007) +++ head/sys/mips/conf/RT305X.hints Thu Jul 14 11:09:37 2011 (r224008) @@ -4,90 +4,87 @@ hint.obio.0.at="nexus0" hint.obio.0.maddr=0x10000000 hint.obio.0.msize=0x10000000 -# on-board Ralink Frame Engine -hint.rt.0.at="nexus0" -hint.rt.0.maddr=0x10100000 -hint.rt.0.msize=0x10000 -hint.rt.0.irq=3 - -# UART Light -hint.uart.1.flags="0x30" - -# Lines below is Board specific -# D-Link DIR-620 +hint.nvram.0.sig=0xe5e60a74 hint.nvram.0.base=0x1f030000 hint.nvram.0.maxsize=0x2000 -hint.nvram.0.flags=9 # 1 = No check, 2 = Format U-Boot +hint.nvram.0.flags=3 # 1 = No check, 2 = Format Generic +hint.nvram.1.sig=0x5a045e94 hint.nvram.1.base=0x1f032000 hint.nvram.1.maxsize=0x4000 -hint.nvram.1.flags=9 # 1 = No check, 2 = Format U-Boot - -# Configure SYSCTL_GPIOMODE to pass FUART pins to GPIO -# original: -# hint.rt305x_sysctl.0.gpiomode=0x000283 -# required: -hint.rt305x_sysctl.0.gpiomode=0x00029f +hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic -# gpio +# on-board Ralink Frame Engine +#hint.rt.0.at="nexus0" +#hint.rt.0.maddr=0x12000000 +#hint.rt.0.msize=0x200000 +#hint.rt.0.irq=9 +hint.rt.0.macaddr="00:18:e7:d5:83:90" + +# on-board Ralink 2872 802.11n core +hint.rt2860.0.at="nexus0" +hint.rt2860.0.maddr=0x10180000 +hint.rt2860.0.msize=0x40000 +hint.rt2860.0.irq=4 + +# uart0 +#hint.uart.0.at="obio0" +#hint.uart.0.maddr=0x10000C00 +#hint.uart.0.msize=0x100 +#hint.uart.0.irq=12 +#hint.uart.0.flags="0x30" + +# uart1 +#hint.uart.1.at="obio0" +#hint.uart.1.maddr=0x10000500 +#hint.uart.1.msize=0x100 +#hint.uart.1.irq=5 +#hint.uart.1.flags="0x30" -# Buttons -# GPIO10 - Reset BTN IN PU II INT -hint.gpioreset.0.at="gpiobus0" -hint.gpioreset.0.pins="0x0400" -hint.gpioreset.0.name="reset" -hint.gpioreset.0.flags="0x04a1" # (INPUT|PULLUP|INVIN|REPORT) -## GPIO0 - WPS BTN IN PU II INT +# gpio +# GPIO0 - WPS BTN IN II IO hint.gpiobutton.0.at="gpiobus0" hint.gpiobutton.0.pins="0x01" hint.gpiobutton.0.name="wps" -hint.gpiobutton.0.flags="0x04a1" # (INPUT|PULLUP|INVIN|REPORT) +hint.gpiobutton.0.flags="0x0581" -# LEDs -# Power Yellow 8 -# Power Green 9 -# WAN Green 12 -# WAN Yellow 14 -# WPS Orange 11 -# WPS Blue 13 -#GPIO8 STATUS ? -hint.gpioled.0.at="gpiobus0" -hint.gpioled.0.pins="0x0100" -hint.gpioled.0.name="status_yellow" -hint.gpioled.0.flags="0x0102" # (OUTPUT|INVOUT) +# GPIO7 - MODE SW AP IN II IO +hint.gpiobutton.1.at="gpiobus0" +hint.gpiobutton.1.pins="0x80" +hint.gpiobutton.1.name="mode_ap" +hint.gpiobutton.1.flags="0x0581" -#GPIO9 STATUS +# GPIO8 - ST LEDRED OUT /* 2pin BiDir RED/BLUE LED */ +# GPIO9 - ST LEDBLUE OUT +hint.gpioled.0.at="gpiobus0" +hint.gpioled.0.pins="0x100" +hint.gpioled.0.name="status_red" +hint.gpioled.0.flags="0x0002" hint.gpioled.1.at="gpiobus0" -hint.gpioled.1.pins="0x0200" +hint.gpioled.1.pins="0x200" +#hint.gpioled.1.name="status_blue" hint.gpioled.1.name="status" -hint.gpioled.1.flags="0x0102" # (OUTPUT|INVOUT) +hint.gpioled.1.flags="0x0002" + +# GPIO10 - RST BTN IN II IO +hint.gpiobutton.2.at="gpiobus0" +hint.gpiobutton.2.pins="0x400" +hint.gpiobutton.2.name="reset" +hint.gpiobutton.2.flags="0x0581" + +# GPIO11 - MODE SW CL IN II IO +hint.gpiobutton.3.at="gpiobus0" +hint.gpiobutton.3.pins="0x800" +hint.gpiobutton.3.name="mode_wlan_client" +hint.gpiobutton.3.flags="0x0581" -#GPIO11 WPS Orange +# GPIO14 - WPS LED OUT II IO hint.gpioled.2.at="gpiobus0" -hint.gpioled.2.pins="0x0800" -hint.gpioled.2.name="wps_orange" -hint.gpioled.2.flags="0x0002" # (OUTPUT|INVOUT) - -#GPIO12 WAN Green -hint.gpioled.3.at="gpiobus0" -hint.gpioled.3.pins="0x1000" -hint.gpioled.3.name="wan" -hint.gpioled.3.flags="0x0102" # (OUTPUT|INVOUT) - -#GPIO13 WPS Blue -hint.gpioled.4.at="gpiobus0" -hint.gpioled.4.pins="0x2000" -hint.gpioled.4.name="wps" -hint.gpioled.4.flags="0x0002" # (OUTPUT|INVOUT) - -#GPIO14 WAN Yellow -hint.gpioled.5.at="gpiobus0" -hint.gpioled.5.pins="0x4000" -hint.gpioled.5.name="wan_yellow" -hint.gpioled.5.flags="0x0102" # (OUTPUT|INVOUT) +hint.gpioled.2.pins="0x4000" +hint.gpioled.2.name="wps" +hint.gpioled.2.flags="0x0182" + -hint.cfi.0.width=2 -hint.cfi.0.shift=2 #0x00000000-0x00030000 : "Bootloader" #0x00030000-0x00040000 : "Factory" @@ -105,30 +102,35 @@ hint.map.0.readonly=1 hint.map.1.at="cfid0" hint.map.1.start=0x00030000 hint.map.1.end=0x00040000 -hint.map.1.name="linuxconfig" +hint.map.1.name="factory" hint.map.2.at="cfid0" hint.map.2.start=0x00040000 -hint.map.2.end=0x00050000 -hint.map.2.name="factory" +hint.map.2.end=0x00800000 +hint.map.2.name="upgrade" hint.map.3.at="cfid0" -hint.map.3.start=0x00050000 -hint.map.3.end=0x007e0000 -hint.map.3.name="upgrade" +hint.map.3.start=0x00040000 +hint.map.3.end=0x00050000 +hint.map.3.name="config" hint.map.4.at="cfid0" -hint.map.4.name="kernel" -hint.map.4.start=0x00050000 -hint.map.4.end="search:0x00100000:0x10000:.!/bin/sh" +hint.map.4.start=0x00000000 +hint.map.4.end=0x00000000 +hint.map.4.name="language" hint.map.5.at="cfid0" -hint.map.5.name="rootfs" -hint.map.5.start="search:0x00100000:0x10000:.!/bin/sh" -hint.map.5.end=0x007e0000 +hint.map.5.start=0x00050000 +hint.map.5.end=0x00150000 +hint.map.5.name="kernel" hint.map.6.at="cfid0" -hint.map.6.start=0x007e0000 +hint.map.6.start=0x00150000 hint.map.6.end=0x00800000 -hint.map.6.name="config" +hint.map.6.name="rootfs" + + +hint.rt.0.phymask=0x1f +hint.rt.0.media=100 +hint.rt.0.fduplex=1 From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 11:53:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92D6D106564A; Thu, 14 Jul 2011 11:53:23 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 83A238FC12; Thu, 14 Jul 2011 11:53:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EBrNFm028389; Thu, 14 Jul 2011 11:53:23 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EBrNJq028386; Thu, 14 Jul 2011 11:53:23 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201107141153.p6EBrNJq028386@svn.freebsd.org> From: Aleksandr Rybalko Date: Thu, 14 Jul 2011 11:53:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224009 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 11:53:23 -0000 Author: ray Date: Thu Jul 14 11:53:23 2011 New Revision: 224009 URL: http://svn.freebsd.org/changeset/base/224009 Log: Include device rt in RT305X config. Approved by: adrian (mentor) Modified: head/sys/mips/conf/RT305X head/sys/mips/conf/RT305X.hints Modified: head/sys/mips/conf/RT305X ============================================================================== --- head/sys/mips/conf/RT305X Thu Jul 14 11:09:37 2011 (r224008) +++ head/sys/mips/conf/RT305X Thu Jul 14 11:53:23 2011 (r224009) @@ -92,9 +92,9 @@ options IPFIREWALL_DEFAULT_TO_ACCEPT device random device loop -# RT3050F, RT3052F have only pseudo PHYs -#device mii -#device miibus +# RT3050F, RT3052F have only pseudo PHYs, so mii not required +device rt + device pty # Pseudo-ttys (telnet etc) device ether device bpf # Berkeley packet filter Modified: head/sys/mips/conf/RT305X.hints ============================================================================== --- head/sys/mips/conf/RT305X.hints Thu Jul 14 11:09:37 2011 (r224008) +++ head/sys/mips/conf/RT305X.hints Thu Jul 14 11:53:23 2011 (r224009) @@ -14,11 +14,12 @@ hint.nvram.1.maxsize=0x4000 hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic # on-board Ralink Frame Engine -#hint.rt.0.at="nexus0" -#hint.rt.0.maddr=0x12000000 -#hint.rt.0.msize=0x200000 -#hint.rt.0.irq=9 -hint.rt.0.macaddr="00:18:e7:d5:83:90" +hint.rt.0.at="nexus0" +hint.rt.0.maddr=0x10100000 +hint.rt.0.msize=0x10000 +hint.rt.0.irq=3 +# macaddr can be statically set +#hint.rt.0.macaddr="xx:xx:xx:xx:xx:xx" # on-board Ralink 2872 802.11n core hint.rt2860.0.at="nexus0" From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 13:16:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E275B1065672; Thu, 14 Jul 2011 13:16:10 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id 689E88FC13; Thu, 14 Jul 2011 13:16:10 +0000 (UTC) Received: by yxl31 with SMTP id 31so108273yxl.13 for ; Thu, 14 Jul 2011 06:16:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=0mZ3k8YEc9iKwLto4dlWGcLD0oyMOELJfy9xJ7zyoW8=; b=GnEBxL9/qp5XeYAaB6N6xH9DfXnQGQYITv2I2sEvkOh6P+SxKWcas/StypKUfcMAUA humLFLWylvQFaaMVCQuPbFVKUjSnZMP11Bt7Wq7P4Yhq7+gp416IKyQeFvManxT9/o3n gKHN+VbgTpGCNu9ErXdDZwjJElaJMIRQYPMr4= Received: by 10.101.108.3 with SMTP id k3mr2128509anm.129.1310647557098; Thu, 14 Jul 2011 05:45:57 -0700 (PDT) MIME-Version: 1.0 Sender: ivoras@gmail.com Received: by 10.100.43.1 with HTTP; Thu, 14 Jul 2011 05:45:17 -0700 (PDT) In-Reply-To: <201107140806.p6E8632K019924@svn.freebsd.org> References: <201107140806.p6E8632K019924@svn.freebsd.org> From: Ivan Voras Date: Thu, 14 Jul 2011 14:45:17 +0200 X-Google-Sender-Auth: qEB449bm6oaDvNJtk1s_MR75niw Message-ID: To: Xin LI Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r224004 - head/sbin/dumpfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 13:16:11 -0000 On 14 July 2011 10:06, Xin LI wrote: > =C2=A0int > +dumpfsid(void) > +{ > + > + =C2=A0 =C2=A0 =C2=A0 printf("/dev/ufsid/%x%x\n", afs.fs_id[0], afs.fs_i= d[1]); > + =C2=A0 =C2=A0 =C2=A0 return 0; > +} Actually, glabel generates the label as 117 snprintf(label, size, "%08x%08x", fs->fs_id[0], 118 fs->fs_id[1]); Also, there is a constant for the /dev path in paths.h... From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 13:44:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E476C106566C; Thu, 14 Jul 2011 13:44:48 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D58A48FC14; Thu, 14 Jul 2011 13:44:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EDimGe031628; Thu, 14 Jul 2011 13:44:48 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EDimJT031626; Thu, 14 Jul 2011 13:44:48 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201107141344.p6EDimJT031626@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Thu, 14 Jul 2011 13:44:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224010 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 13:44:49 -0000 Author: bz Date: Thu Jul 14 13:44:48 2011 New Revision: 224010 URL: http://svn.freebsd.org/changeset/base/224010 Log: Unbreak no-INET kernels after r223839 adding the needed #ifdef INET. MFC after: 4 weeks Modified: head/sys/netinet/tcp_subr.c Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Thu Jul 14 11:53:23 2011 (r224009) +++ head/sys/netinet/tcp_subr.c Thu Jul 14 13:44:48 2011 (r224010) @@ -337,7 +337,9 @@ tcp_init(void) TUNABLE_INT_FETCH("net.inet.tcp.soreceive_stream", &tcp_soreceive_stream); if (tcp_soreceive_stream) { +#ifdef INET tcp_usrreqs.pru_soreceive = soreceive_stream; +#endif #ifdef INET6 tcp6_usrreqs.pru_soreceive = soreceive_stream; #endif /* INET6 */ From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 13:47:42 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7EF7106564A; Thu, 14 Jul 2011 13:47:42 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A91668FC08; Thu, 14 Jul 2011 13:47:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EDlgpf031757; Thu, 14 Jul 2011 13:47:42 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EDlgBC031755; Thu, 14 Jul 2011 13:47:42 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201107141347.p6EDlgBC031755@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Thu, 14 Jul 2011 13:47:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224011 - head/usr.bin/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 13:47:42 -0000 Author: bz Date: Thu Jul 14 13:47:42 2011 New Revision: 224011 URL: http://svn.freebsd.org/changeset/base/224011 Log: Fix indentation. Obtained from: Ed Maste at Sandvine Incorporated Sponsored by: Sandvine Incorporated MFC after: 3 days Modified: head/usr.bin/top/machine.c Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Thu Jul 14 13:44:48 2011 (r224010) +++ head/usr.bin/top/machine.c Thu Jul 14 13:47:42 2011 (r224011) @@ -856,7 +856,7 @@ format_next_process(caddr_t handle, char (args = kvm_getargv(kd, pp, cmdlengthdelta)) == NULL || !(*args)) { if (ps.thread && pp->ki_flag & P_HADTHREADS && - pp->ki_ocomm[0]) { + pp->ki_ocomm[0]) { snprintf(cmdbuf, cmdlengthdelta, "{%s}", pp->ki_ocomm); } else { From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 13:57:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE6D7106566C; Thu, 14 Jul 2011 13:57:13 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CCDEC8FC21; Thu, 14 Jul 2011 13:57:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EDvDF0032091; Thu, 14 Jul 2011 13:57:13 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EDvDFG032079; Thu, 14 Jul 2011 13:57:13 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107141357.p6EDvDFG032079@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 14 Jul 2011 13:57:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224012 - in vendor/dialog/dist: . package package/debian po samples X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 13:57:14 -0000 Author: nwhitehorn Date: Thu Jul 14 13:57:13 2011 New Revision: 224012 URL: http://svn.freebsd.org/changeset/base/224012 Log: Import dialog 1.1-20110707. This adds support for several features (e.g. --hline) found in the old FreeBSD dialog. Added: vendor/dialog/dist/help.c vendor/dialog/dist/po/sk.po vendor/dialog/dist/samples/valgrind.log Modified: vendor/dialog/dist/CHANGES vendor/dialog/dist/VERSION vendor/dialog/dist/aclocal.m4 vendor/dialog/dist/arrows.c vendor/dialog/dist/buttons.c vendor/dialog/dist/calendar.c vendor/dialog/dist/checklist.c vendor/dialog/dist/columns.c vendor/dialog/dist/config.guess vendor/dialog/dist/config.sub vendor/dialog/dist/configure vendor/dialog/dist/configure.in vendor/dialog/dist/dialog.1 vendor/dialog/dist/dialog.3 vendor/dialog/dist/dialog.c vendor/dialog/dist/dialog.h vendor/dialog/dist/dlg_keys.h vendor/dialog/dist/editbox.c vendor/dialog/dist/formbox.c vendor/dialog/dist/fselect.c vendor/dialog/dist/guage.c vendor/dialog/dist/inputbox.c vendor/dialog/dist/makefile.in vendor/dialog/dist/menubox.c vendor/dialog/dist/mixedgauge.c vendor/dialog/dist/msgbox.c vendor/dialog/dist/package/debian/changelog vendor/dialog/dist/package/debian/control vendor/dialog/dist/package/dialog.spec vendor/dialog/dist/pause.c vendor/dialog/dist/prgbox.c vendor/dialog/dist/progressbox.c vendor/dialog/dist/rc.c vendor/dialog/dist/tailbox.c vendor/dialog/dist/textbox.c vendor/dialog/dist/timebox.c vendor/dialog/dist/trace.c vendor/dialog/dist/ui_getc.c vendor/dialog/dist/util.c vendor/dialog/dist/yesno.c Modified: vendor/dialog/dist/CHANGES ============================================================================== --- vendor/dialog/dist/CHANGES Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/CHANGES Thu Jul 14 13:57:13 2011 (r224012) @@ -1,9 +1,94 @@ --- $Id: CHANGES,v 1.333 2011/03/02 10:06:37 tom Exp $ +-- $Id: CHANGES,v 1.360 2011/07/07 23:35:10 tom Exp $ -- Thomas E. Dickey This version of dialog was originally from a Debian snapshot. I've done this to it: +2011/07/07 + + modify util.c to work better with old versions of ncurses: + + suppress use of wchgat() before fix in 20060715 which is needed + for simple shadow manipulation used here in 2011/06/30 (report + by xDog Walker). + + add a null-pointer check in dlg_print_scrolled() + + fix a regression in dlg_getc() introduced by changes to intercept + F1 for help-popup (report by xDog Walker). + +2011/06/30 + + correct license statement for prgbox.c (Debian #632198). + + correct layout when "--colors" is used, by discounting characters in + the escape sequences from the column counts (report by xDog Walker). + + modify dlg_checklist() so that only one item in the list can + initially be selected (report by xDog Walker). + + add/use macro dlg_enter_buttoncode() to improve implementation of + "--nook" option (report by xDog Walker). + + add option "--no-nl-expand" to suppress the conversion of "\n" + strings into newlines (request by xDog Walker). + + modify LIB_CREATE symbol in makefile.in to include the library + dependencies such as ncurses. This is needed when dynamically + loading the library (report/analysis by xDog Walker). + + modify dlg_exit_label() to suppress the Cancel button, for + consistency. + + modify dlg_exit_label() to honor the --nook option, except when there + is no other button, e.g., the help-button. + + modify dlg_exit_buttoncode() so that it returns the proper code for + help-button (report by xDog Walker). + + correct loop limit when processing "--column-separator" (report by + xDog Walker). + + modify handling of "--version" and "--help" to ensure that they are + processed, and exit before widgets. Separate "--print-version" + from "--version", allowing its output to be interspersed with + widget output (report by xDog Walker). + + correct a few places where "--version" or "--help" options went + always to stdout rather than allowing redirection with the "--stderr" + option (report by xDog Walker). + + improve repainting after erasing a widget and its shadow. + + add "--hline" and "--hfile" options for compatibility with FreeBSD + dialog (request by Devin Teske). + + add dialog version message when opening a trace file (request by + xDog Walker). + + show filename of rc-file in traces. + + add piped-in data for gauge widget to traces. + + add entrypoints to gauge widget, for allocating, updating and freeing + the widget (adapted from patch by Stephen Hurd). + + fix a reference to freed memory in the gauge widget. + + fix --no-mouse option by actually closing the mouse (report by + xDog Walker). + + add sk.po from + http://translationproject.org/latest/dialog/ + + limit Solaris xpg4 portability fix for redefinition of ERR to cover + the specific value found in , in case an application + includes dialog.h after curses.h (FreeBSD #156601, report by Jaakko + Heinonen, Stephen Hurd). + + updated configure macros: + + CF_CURSES_CPPFLAGS, + + CF_CURSES_LIBS, make checks for special libraries on hpux10 and + sunos4 optional + + CF_CURSES_FUNCS, workaround for bug in gcc 4.2.1 (FreeBSD 8.1) + which caused part of test program to be omitted, i.e., when it saw + two return-statements in a row it omitted the _first_ one. Also + add expression to pointer check to help FreeBSD's linker decide it + should be validated. Just an assignment was not enough. Also, add + check for unctrl.h + + CF_CURSES_HEADER, change order for curses.h / ncurses.h pairs to + put ncurses.h first, which will tend to provide the same #define's + as in CF_NCURSES_HEADER (report by Dennis Preiser). + + CF_CURSES_TERM_H, modify to avoid spurious check for + if there is no ncurses version. Look for + ncurses's term.h anyway, to work around breakage by packagers who + separate ncurses' header files. + + CF_DISABLE_RPATH_HACK, fix garbled message + + CF_LD_RPATH_OPT, add mirbsd + + CF_MAKEFLAGS, filter out GNU make's entering/leaving messages. + This only appeared when using the macro in a dpkg script, though it + should have in other cases. + + CF_RPATH_HACK, add a check for libraries not found, e.g., from + suppressed functionality of gcc in linking from /usr/local/lib, and + add a -L option to help work around this. + + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure + script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h + doesn't do anything, so it needs a crutch). + + updated config.guess, config.sub + 2011/03/02 + add --prgbox and --programbox (adapted from patch by David Boyd). + add sl.po from @@ -649,7 +734,7 @@ to it: colors to be the same, provided that bold attribute is set. Also improved the logic for choosing a background color when the foreground and background are the same (report by Erika Pacholleck). - + update configure script macro CF_XOPEN_SOURCE, ensuring that the + + updated configure script macro CF_XOPEN_SOURCE, ensuring that the _POSIX_C_SOURCE value is defined with a specific value (bug report originally for lynx). + fix configure script so that po/makefile is generated properly when Modified: vendor/dialog/dist/VERSION ============================================================================== --- vendor/dialog/dist/VERSION Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/VERSION Thu Jul 14 13:57:13 2011 (r224012) @@ -1 +1 @@ -9:0:0 1.1 20110302 +10:0:0 1.1 20110707 Modified: vendor/dialog/dist/aclocal.m4 ============================================================================== --- vendor/dialog/dist/aclocal.m4 Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/aclocal.m4 Thu Jul 14 13:57:13 2011 (r224012) @@ -1,5 +1,5 @@ dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.80 2011/01/18 23:17:01 tom Exp $ +dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $ dnl --------------------------------------------------------------------------- dnl Copyright 1999-2010,2011 -- Thomas E. Dickey dnl @@ -1128,7 +1128,7 @@ CF_NCURSES_VERSION CF_CURSES_LIBS ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CPPFLAGS version: 10 updated: 2009/01/06 19:34:11 +dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08 dnl ------------------ dnl Look for the curses headers. AC_DEFUN([CF_CURSES_CPPFLAGS],[ @@ -1137,13 +1137,19 @@ AC_CACHE_CHECK(for extra include directo cf_cv_curses_incdir=no case $host_os in #(vi hpux10.*) #(vi - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" + if test "x$cf_cv_screen" = "xcurses_colr" + then + test -d /usr/include/curses_colr && \ + cf_cv_curses_incdir="-I/usr/include/curses_colr" + fi ;; sunos3*|sunos4*) - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" + if test "x$cf_cv_screen" = "xcurses_5lib" + then + test -d /usr/5lib && \ + test -d /usr/5include && \ + cf_cv_curses_incdir="-I/usr/5include" + fi ;; esac ]) @@ -1153,7 +1159,7 @@ CF_CURSES_HEADER CF_TERM_HEADER ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_FUNCS version: 15 updated: 2010/10/23 15:52:32 +dnl CF_CURSES_FUNCS version: 17 updated: 2011/05/14 16:07:29 dnl --------------- dnl Curses-functions are a little complicated, since a lot of them are macros. AC_DEFUN([CF_CURSES_FUNCS], @@ -1161,6 +1167,7 @@ AC_DEFUN([CF_CURSES_FUNCS], AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl AC_REQUIRE([CF_XOPEN_CURSES]) AC_REQUIRE([CF_CURSES_TERM_H]) +AC_REQUIRE([CF_CURSES_UNCTRL_H]) for cf_func in $1 do CF_UPPER(cf_tr_func,$cf_func) @@ -1173,7 +1180,8 @@ do [ #ifndef ${cf_func} long foo = (long)(&${cf_func}); -${cf_cv_main_return:-return}(foo == 0); +if (foo + 1234 > 5678) + ${cf_cv_main_return:-return}(foo); #endif ], [cf_result=yes], @@ -1190,7 +1198,7 @@ ${cf_cv_main_return:-return}(foo == 0); done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16 +dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45 dnl ---------------- dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common dnl variations of ncurses' installs. @@ -1200,10 +1208,10 @@ AC_DEFUN([CF_CURSES_HEADER],[ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ cf_cv_ncurses_header=none for cf_header in ifelse($1,,,[ \ - $1/curses.h \ - $1/ncurses.h]) \ - curses.h \ - ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h]) + $1/ncurses.h \ + $1/curses.h]) \ + ncurses.h \ + curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) do AC_TRY_COMPILE([#include <${cf_header}>], [initscr(); tgoto("?", 0,0)], @@ -1219,7 +1227,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 32 updated: 2011/01/16 17:43:15 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1239,19 +1247,26 @@ freebsd*) #(vi AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)]) ;; hpux10.*) #(vi - AC_CHECK_LIB(cur_colr,initscr,[ - CF_ADD_LIBS(-lcur_colr) - ac_cv_func_initscr=yes - ],[ - AC_CHECK_LIB(Hcurses,initscr,[ - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - CF_ADD_LIBS(-lHcurses) - CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" - ac_cv_func_initscr=yes - ])]) + # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr + # next (1998), and xcurses "newer" (2000). There is no header file for + # Hcurses; the subdirectory curses_colr has the headers (curses.h and + # term.h) for cur_colr + if test "x$cf_cv_screen" = "xcurses_colr" + then + AC_CHECK_LIB(cur_colr,initscr,[ + CF_ADD_LIBS(-lcur_colr) + ac_cv_func_initscr=yes + ],[ + AC_CHECK_LIB(Hcurses,initscr,[ + # HP's header uses __HP_CURSES, but user claims _HP_CURSES. + CF_ADD_LIBS(-lHcurses) + CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" + ac_cv_func_initscr=yes + ])]) + fi ;; linux*) - case `arch` in + case `arch 2>/dev/null` in x86_64) if test -d /lib64 then @@ -1266,9 +1281,12 @@ linux*) esac ;; sunos3*|sunos4*) - if test -d /usr/5lib ; then - CF_ADD_LIBDIR(/usr/5lib) - CF_ADD_LIBS(-lcurses -ltermcap) + if test "x$cf_cv_screen" = "xcurses_5lib" + then + if test -d /usr/5lib ; then + CF_ADD_LIBDIR(/usr/5lib) + CF_ADD_LIBS(-lcurses -ltermcap) + fi fi ac_cv_func_initscr=yes ;; @@ -1333,7 +1351,7 @@ fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_TERM_H version: 8 updated: 2010/10/23 15:54:49 +dnl CF_CURSES_TERM_H version: 9 updated: 2011/04/09 18:19:55 dnl ---------------- dnl SVr4 curses should have term.h as well (where it puts the definitions of dnl the low-level interface). This may not be true in old/broken implementations, @@ -1347,9 +1365,17 @@ AC_CACHE_CHECK(for term.h, cf_cv_term_he # If we found , look for , but always look # for if we do not find the variant. -for cf_header in \ - `echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%/.*%/%'`term.h \ - term.h + +cf_header_list="term.h ncurses/term.h ncursesw/term.h" + +case ${cf_cv_ncurses_header:-curses.h} in #(vi +*/*) + cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h + cf_header_list="$cf_header_item $cf_header_list" + ;; +esac + +for cf_header in $cf_header_list do AC_TRY_COMPILE([ #include <${cf_cv_ncurses_header:-curses.h}> @@ -1395,6 +1421,61 @@ ncursesw/term.h) esac ])dnl dnl --------------------------------------------------------------------------- +dnl CF_CURSES_UNCTRL_H version: 1 updated: 2011/04/09 18:19:55 +dnl ------------------ +dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages +dnl may put it in a subdirectory (along with ncurses' other headers, of +dnl course). Packages which put the headers in inconsistent locations are +dnl broken). +AC_DEFUN([CF_CURSES_UNCTRL_H], +[ +AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl + +AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[ + +# If we found , look for , but always look +# for if we do not find the variant. + +cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h" + +case ${cf_cv_ncurses_header:-curses.h} in #(vi +*/*) + cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h + cf_header_list="$cf_header_item $cf_header_list" + ;; +esac + +for cf_header in $cf_header_list +do + AC_TRY_COMPILE([ +#include <${cf_cv_ncurses_header:-curses.h}> +#include <${cf_header}>], + [WINDOW *x], + [cf_cv_unctrl_header=$cf_header + break], + [cf_cv_unctrl_header=no]) +done + +case $cf_cv_unctrl_header in #(vi +no) + AC_MSG_WARN(unctrl.h header not found) + ;; +esac +]) + +case $cf_cv_unctrl_header in #(vi +unctrl.h) #(vi + AC_DEFINE(HAVE_UNCTRL_H) + ;; +ncurses/unctrl.h) #(vi + AC_DEFINE(HAVE_NCURSES_UNCTRL_H) + ;; +ncursesw/unctrl.h) + AC_DEFINE(HAVE_NCURSESW_UNCTRL_H) + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- dnl CF_CURSES_WACS_MAP version: 5 updated: 2011/01/15 11:28:59 dnl ------------------ dnl Check for likely values of wacs_map[]. @@ -1518,7 +1599,7 @@ fi AC_SUBST(LIBTOOL_VERSION) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_RPATH_HACK version: 1 updated: 2010/04/11 10:54:00 +dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33 dnl --------------------- dnl The rpath-hack makes it simpler to build programs, particularly with the dnl *BSD ports which may have essential libraries in unusual places. But it @@ -1526,7 +1607,7 @@ dnl can interfere with building an execu dnl option in that case. AC_DEFUN([CF_DISABLE_RPATH_HACK], [ -AC_MSG_CHECKING(if rpath should be not be set) +AC_MSG_CHECKING(if rpath-hack should be disabled) CF_ARG_DISABLE(rpath-hack, [ --disable-rpath-hack don't add rpath options for additional libraries], [cf_disable_rpath_hack=yes], @@ -2256,7 +2337,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05 +dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2277,7 +2358,7 @@ irix*) #(vi linux*|gnu*|k*bsd*-gnu) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -openbsd[[2-9]].*) #(vi +openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; freebsd*) #(vi @@ -2356,7 +2437,7 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MAKEFLAGS version: 13 updated: 2010/10/23 15:52:32 +dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46 dnl ------------ dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make' dnl options to lower-levels. It's very useful for "make -n" -- if we have it. @@ -2373,7 +2454,7 @@ SHELL = /bin/sh all : @ echo '.$cf_option' CF_EOF - cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'` + cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'` case "$cf_result" in .*k) cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` @@ -3107,7 +3188,7 @@ $1=`echo "$2" | \ -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK version: 8 updated: 2010/04/17 15:38:58 +dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33 dnl ------------- AC_DEFUN([CF_RPATH_HACK], [ @@ -3120,9 +3201,36 @@ if test -n "$LD_RPATH_OPT" ; then cf_rpath_list="/usr/lib /lib" if test "$cf_ldd_prog" != no then + cf_rpath_oops= + AC_TRY_LINK([#include ], [printf("Hello");], - [cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`]) + [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u` + cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`]) + + # If we passed the link-test, but get a "not found" on a given library, + # this could be due to inept reconfiguration of gcc to make it only + # partly honor /usr/local/lib (or whatever). Sometimes this behavior + # is intentional, e.g., installing gcc in /usr/bin and suppressing the + # /usr/local libraries. + if test -n "$cf_rpath_oops" + then + for cf_rpath_src in $cf_rpath_oops + do + for cf_rpath_dir in \ + /usr/local \ + /usr/pkg \ + /opt/sfw + do + if test -f $cf_rpath_dir/lib/$cf_rpath_src + then + CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src) + LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib" + break + fi + done + done + fi fi CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS) @@ -3572,7 +3680,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 26 updated: 2010/10/23 15:55:24 +dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -3648,7 +3756,7 @@ ifdef([AC_PROG_LIBTOOL],[ AC_MSG_ERROR(Cannot find libtool) fi ])dnl - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o' + LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o' LIB_OBJECT='${OBJECTS:.o=.lo}' LIB_SUFFIX=.la LIB_CLEAN='${LIBTOOL} --mode=clean' @@ -3842,7 +3950,7 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 34 updated: 2010/05/26 05:38:42 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -3861,6 +3969,9 @@ case $host_os in #(vi aix[[456]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; +cygwin) #(vi + cf_XOPEN_SOURCE=600 + ;; darwin[[0-8]].*) #(vi cf_xopen_source="-D_APPLE_C_SOURCE" ;; Modified: vendor/dialog/dist/arrows.c ============================================================================== --- vendor/dialog/dist/arrows.c Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/arrows.c Thu Jul 14 13:57:13 2011 (r224012) @@ -1,5 +1,5 @@ /* - * $Id: arrows.c,v 1.33 2011/01/19 00:27:53 tom Exp $ + * $Id: arrows.c,v 1.36 2011/06/27 09:13:56 tom Exp $ * * arrows.c -- draw arrows to indicate end-of-range for lists * @@ -36,6 +36,10 @@ #define add_acs(win, code) waddch(win, dlg_boxchar(code)) #endif +/* size of decorations */ +#define ON_LEFT 4 +#define ON_RIGHT 3 + #ifdef HAVE_COLOR static chtype merge_colors(chtype foreground, chtype background) @@ -59,6 +63,36 @@ merge_colors(chtype foreground, chtype b #define merge_colors(f,b) (f) #endif +/* + * If we have help-line text, e.g., from "--hline", draw it between the other + * decorations at the bottom of the dialog window. + */ +void +dlg_draw_helpline(WINDOW *win, bool decorations) +{ + int cur_x, cur_y; + int bottom; + + if (dialog_vars.help_line != 0 + && (bottom = getmaxy(win) - 1) > 0) { + chtype attr = A_NORMAL; + const int *cols = dlg_index_columns(dialog_vars.help_line); + int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; + int avail = (getmaxx(win) - other - 2); + int limit = dlg_limit_columns(dialog_vars.help_line, avail, 0); + + if (limit > 0) { + getyx(win, cur_y, cur_x); + other = decorations ? ON_LEFT : 0; + (void) wmove(win, bottom, other + (avail - limit) / 2); + waddch(win, '['); + dlg_print_text(win, dialog_vars.help_line, cols[limit], &attr); + waddch(win, ']'); + wmove(win, cur_y, cur_x); + } + } +} + void dlg_draw_arrows2(WINDOW *win, int top_arrow, @@ -94,7 +128,7 @@ dlg_draw_arrows2(WINDOW *win, (void) waddstr(win, "(-)"); } else { wattrset(win, attr); - (void) whline(win, dlg_boxchar(ACS_HLINE), 4); + (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } } mouse_mkbutton(top, x - 1, 6, KEY_PPAGE); @@ -106,7 +140,7 @@ dlg_draw_arrows2(WINDOW *win, (void) waddstr(win, "(+)"); } else { wattrset(win, borderattr); - (void) whline(win, dlg_boxchar(ACS_HLINE), 4); + (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); @@ -141,6 +175,7 @@ dlg_draw_scrollbar(WINDOW *win, getyx(win, oldy, oldx); getmaxyx(win, maxy, maxx); + dlg_draw_helpline(win, TRUE); if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { percent = (!total_data ? 100 @@ -213,6 +248,7 @@ dlg_draw_arrows(WINDOW *win, int top, int bottom) { + dlg_draw_helpline(win, TRUE); dlg_draw_arrows2(win, top_arrow, bottom_arrow, Modified: vendor/dialog/dist/buttons.c ============================================================================== --- vendor/dialog/dist/buttons.c Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/buttons.c Thu Jul 14 13:57:13 2011 (r224012) @@ -1,5 +1,5 @@ /* - * $Id: buttons.c,v 1.84 2011/01/19 00:27:53 tom Exp $ + * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $ * * buttons.c -- draw buttons, e.g., OK/Cancel * @@ -442,16 +442,23 @@ const char ** dlg_exit_label(void) { const char **result; + DIALOG_VARS save; if (dialog_vars.extra_button) { + dlg_save_vars(&save); + dialog_vars.nocancel = TRUE; result = dlg_ok_labels(); + dlg_restore_vars(&save); } else { static const char *labels[3]; int n = 0; - labels[n++] = my_exit_label(); + if (!dialog_vars.nook) + labels[n++] = my_exit_label(); if (dialog_vars.help_button) labels[n++] = my_help_label(); + if (n == 0) + labels[n++] = my_exit_label(); labels[n] = 0; result = labels; @@ -465,7 +472,17 @@ dlg_exit_label(void) int dlg_exit_buttoncode(int button) { - return dlg_ok_buttoncode(button); + int result; + DIALOG_VARS save; + + dlg_save_vars(&save); + dialog_vars.nocancel = TRUE; + + result = dlg_ok_buttoncode(button); + + dlg_restore_vars(&save); + + return result; } const char ** Modified: vendor/dialog/dist/calendar.c ============================================================================== --- vendor/dialog/dist/calendar.c Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/calendar.c Thu Jul 14 13:57:13 2011 (r224012) @@ -1,5 +1,5 @@ /* - * $Id: calendar.c,v 1.60 2011/01/03 23:29:51 tom Exp $ + * $Id: calendar.c,v 1.62 2011/06/29 09:47:06 tom Exp $ * * calendar.c -- implements the calendar box * @@ -388,6 +388,7 @@ dialog_calendar(const char *title, { /* *INDENT-OFF* */ static DLG_KEYS_BINDING binding[] = { + HELPKEY_BINDINGS, ENTERKEY_BINDINGS, DLG_KEYS_DATA( DLGK_ENTER, ' ' ), DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), @@ -571,7 +572,7 @@ dialog_calendar(const char *title, state = sYEAR; break; case DLGK_ENTER: - result = dlg_ok_buttoncode(button); + result = dlg_enter_buttoncode(button); break; case DLGK_FIELD_PREV: state = dlg_prev_ok_buttonindex(state, sMONTH); Modified: vendor/dialog/dist/checklist.c ============================================================================== --- vendor/dialog/dist/checklist.c Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/checklist.c Thu Jul 14 13:57:13 2011 (r224012) @@ -1,5 +1,5 @@ /* - * $Id: checklist.c,v 1.124 2011/01/19 00:27:53 tom Exp $ + * $Id: checklist.c,v 1.127 2011/06/29 23:04:09 tom Exp $ * * checklist.c -- implements the checklist box * @@ -149,6 +149,7 @@ dlg_checklist(const char *title, { /* *INDENT-OFF* */ static DLG_KEYS_BINDING binding[] = { + HELPKEY_BINDINGS, ENTERKEY_BINDINGS, DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), @@ -193,6 +194,24 @@ dlg_checklist(const char *title, dlg_does_output(); dlg_tab_correct_str(prompt); + /* + * If this is a radiobutton list, ensure that no more than one item is + * selected initially. Allow none to be selected, since some users may + * wish to provide this flavor. + */ + if (flag == FLAG_RADIO) { + bool first = TRUE; + + for (i = 0; i < item_no; i++) { + if (items[i].state) { + if (first) { + first = FALSE; + } else { + items[i].state = 0; + } + } + } + } #ifdef KEY_RESIZE retry: #endif @@ -291,11 +310,12 @@ dlg_checklist(const char *title, choice = max_choice - 1; } /* Print the list */ - for (i = 0; i < max_choice; i++) + for (i = 0; i < max_choice; i++) { print_item(list, &items[i + scrollamt], states, i, i == choice); + } (void) wnoutrefresh(list); /* register the new window, along with its borders */ @@ -565,7 +585,7 @@ dlg_checklist(const char *title, if (fkey) { switch (key) { case DLGK_ENTER: - result = dlg_ok_buttoncode(button); + result = dlg_enter_buttoncode(button); break; case DLGK_FIELD_PREV: button = dlg_prev_button(buttons, button); Modified: vendor/dialog/dist/columns.c ============================================================================== --- vendor/dialog/dist/columns.c Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/columns.c Thu Jul 14 13:57:13 2011 (r224012) @@ -1,5 +1,5 @@ /* - * $Id: columns.c,v 1.7 2011/01/16 21:51:44 tom Exp $ + * $Id: columns.c,v 1.8 2011/06/28 09:26:23 tom Exp $ * * columns.c -- implements column-alignment * @@ -25,7 +25,7 @@ #define each(row, data) \ row = 0, data = target; \ - row < num_rows - 1; \ + row < num_rows; \ ++row, data = next_row(data, per_row) static char * Modified: vendor/dialog/dist/config.guess ============================================================================== --- vendor/dialog/dist/config.guess Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/config.guess Thu Jul 14 13:57:13 2011 (r224012) @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2911 Free Software Foundation, Inc. -timestamp='2010-09-24' +timestamp='2011-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -57,8 +57,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -92,7 +92,7 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' HUP INT TERM +trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires @@ -106,7 +106,7 @@ trap 'exit 1' HUP INT TERM set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || @@ -270,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -326,8 +329,8 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; @@ -495,7 +498,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -820,8 +823,8 @@ EOF echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks @@ -934,14 +937,14 @@ EOF test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; + echo or32-unknown-linux-gnu + exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in Modified: vendor/dialog/dist/config.sub ============================================================================== --- vendor/dialog/dist/config.sub Thu Jul 14 13:47:42 2011 (r224011) +++ vendor/dialog/dist/config.sub Thu Jul 14 13:57:13 2011 (r224012) @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# 2011 Free Software Foundation, Inc. -timestamp='2010-09-11' +timestamp='2011-04-01' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -76,8 +76,8 @@ version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -175,10 +175,10 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -283,12 +283,13 @@ case $basic_machine in | moxie \ | mt \ | msp430 \ - | nds32 | nds32le | nds32be\ + | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ + | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rx \ | score \ @@ -296,12 +297,12 @@ case $basic_machine in | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; @@ -324,7 +325,15 @@ case $basic_machine in ms1) basic_machine=mt-unknown ;; - + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + xscaleel) + basic_machine=armel-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -382,24 +391,25 @@ case $basic_machine in | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) @@ -539,7 +549,7 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16) + cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; @@ -826,10 +836,10 @@ case $basic_machine in basic_machine=v70-nec os=-sysv ;; - next | m*-next ) + next | m*-next) basic_machine=m68k-next case $os in - -nextstep* ) + -nextstep*) ;; -ns2*) os=-nextstep2 @@ -948,11 +958,14 @@ case $basic_machine in *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 13:58:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C05FB106567A; Thu, 14 Jul 2011 13:58:02 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 982F18FC13; Thu, 14 Jul 2011 13:58:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EDw2T0032156; Thu, 14 Jul 2011 13:58:02 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EDw2wG032155; Thu, 14 Jul 2011 13:58:02 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107141358.p6EDw2wG032155@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 14 Jul 2011 13:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224013 - vendor/dialog/dialog-1.1-20110707 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 13:58:02 -0000 Author: nwhitehorn Date: Thu Jul 14 13:58:02 2011 New Revision: 224013 URL: http://svn.freebsd.org/changeset/base/224013 Log: Tag dialog 1.1-20110707. Added: vendor/dialog/dialog-1.1-20110707/ - copied from r224012, vendor/dialog/dist/ From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 14:01:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C8F21065672; Thu, 14 Jul 2011 14:01:37 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 49B808FC14; Thu, 14 Jul 2011 14:01:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EE1bY0032352; Thu, 14 Jul 2011 14:01:37 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EE1b25032340; Thu, 14 Jul 2011 14:01:37 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107141401.p6EE1b25032340@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 14 Jul 2011 14:01:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224014 - in head: contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samples gnu/lib/libdialog X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 14:01:37 -0000 Author: nwhitehorn Date: Thu Jul 14 14:01:36 2011 New Revision: 224014 URL: http://svn.freebsd.org/changeset/base/224014 Log: Update dialog to 1.1-20110707. Added: head/contrib/dialog/help.c - copied unchanged from r224013, vendor/dialog/dist/help.c head/contrib/dialog/po/sk.po - copied unchanged from r224013, vendor/dialog/dist/po/sk.po head/contrib/dialog/samples/valgrind.log - copied unchanged from r224013, vendor/dialog/dist/samples/valgrind.log Modified: head/contrib/dialog/CHANGES head/contrib/dialog/VERSION head/contrib/dialog/aclocal.m4 head/contrib/dialog/arrows.c head/contrib/dialog/buttons.c head/contrib/dialog/calendar.c head/contrib/dialog/checklist.c head/contrib/dialog/columns.c head/contrib/dialog/config.guess head/contrib/dialog/config.sub head/contrib/dialog/configure head/contrib/dialog/configure.in head/contrib/dialog/dialog.1 head/contrib/dialog/dialog.3 head/contrib/dialog/dialog.c head/contrib/dialog/dialog.h head/contrib/dialog/dlg_keys.h head/contrib/dialog/editbox.c head/contrib/dialog/formbox.c head/contrib/dialog/fselect.c head/contrib/dialog/guage.c head/contrib/dialog/inputbox.c head/contrib/dialog/makefile.in head/contrib/dialog/menubox.c head/contrib/dialog/mixedgauge.c head/contrib/dialog/msgbox.c head/contrib/dialog/package/debian/changelog head/contrib/dialog/package/debian/control head/contrib/dialog/package/dialog.spec head/contrib/dialog/pause.c head/contrib/dialog/prgbox.c head/contrib/dialog/progressbox.c head/contrib/dialog/rc.c head/contrib/dialog/tailbox.c head/contrib/dialog/textbox.c head/contrib/dialog/timebox.c head/contrib/dialog/trace.c head/contrib/dialog/ui_getc.c head/contrib/dialog/util.c head/contrib/dialog/yesno.c head/gnu/lib/libdialog/Makefile Directory Properties: head/contrib/dialog/ (props changed) Modified: head/contrib/dialog/CHANGES ============================================================================== --- head/contrib/dialog/CHANGES Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/CHANGES Thu Jul 14 14:01:36 2011 (r224014) @@ -1,9 +1,94 @@ --- $Id: CHANGES,v 1.333 2011/03/02 10:06:37 tom Exp $ +-- $Id: CHANGES,v 1.360 2011/07/07 23:35:10 tom Exp $ -- Thomas E. Dickey This version of dialog was originally from a Debian snapshot. I've done this to it: +2011/07/07 + + modify util.c to work better with old versions of ncurses: + + suppress use of wchgat() before fix in 20060715 which is needed + for simple shadow manipulation used here in 2011/06/30 (report + by xDog Walker). + + add a null-pointer check in dlg_print_scrolled() + + fix a regression in dlg_getc() introduced by changes to intercept + F1 for help-popup (report by xDog Walker). + +2011/06/30 + + correct license statement for prgbox.c (Debian #632198). + + correct layout when "--colors" is used, by discounting characters in + the escape sequences from the column counts (report by xDog Walker). + + modify dlg_checklist() so that only one item in the list can + initially be selected (report by xDog Walker). + + add/use macro dlg_enter_buttoncode() to improve implementation of + "--nook" option (report by xDog Walker). + + add option "--no-nl-expand" to suppress the conversion of "\n" + strings into newlines (request by xDog Walker). + + modify LIB_CREATE symbol in makefile.in to include the library + dependencies such as ncurses. This is needed when dynamically + loading the library (report/analysis by xDog Walker). + + modify dlg_exit_label() to suppress the Cancel button, for + consistency. + + modify dlg_exit_label() to honor the --nook option, except when there + is no other button, e.g., the help-button. + + modify dlg_exit_buttoncode() so that it returns the proper code for + help-button (report by xDog Walker). + + correct loop limit when processing "--column-separator" (report by + xDog Walker). + + modify handling of "--version" and "--help" to ensure that they are + processed, and exit before widgets. Separate "--print-version" + from "--version", allowing its output to be interspersed with + widget output (report by xDog Walker). + + correct a few places where "--version" or "--help" options went + always to stdout rather than allowing redirection with the "--stderr" + option (report by xDog Walker). + + improve repainting after erasing a widget and its shadow. + + add "--hline" and "--hfile" options for compatibility with FreeBSD + dialog (request by Devin Teske). + + add dialog version message when opening a trace file (request by + xDog Walker). + + show filename of rc-file in traces. + + add piped-in data for gauge widget to traces. + + add entrypoints to gauge widget, for allocating, updating and freeing + the widget (adapted from patch by Stephen Hurd). + + fix a reference to freed memory in the gauge widget. + + fix --no-mouse option by actually closing the mouse (report by + xDog Walker). + + add sk.po from + http://translationproject.org/latest/dialog/ + + limit Solaris xpg4 portability fix for redefinition of ERR to cover + the specific value found in , in case an application + includes dialog.h after curses.h (FreeBSD #156601, report by Jaakko + Heinonen, Stephen Hurd). + + updated configure macros: + + CF_CURSES_CPPFLAGS, + + CF_CURSES_LIBS, make checks for special libraries on hpux10 and + sunos4 optional + + CF_CURSES_FUNCS, workaround for bug in gcc 4.2.1 (FreeBSD 8.1) + which caused part of test program to be omitted, i.e., when it saw + two return-statements in a row it omitted the _first_ one. Also + add expression to pointer check to help FreeBSD's linker decide it + should be validated. Just an assignment was not enough. Also, add + check for unctrl.h + + CF_CURSES_HEADER, change order for curses.h / ncurses.h pairs to + put ncurses.h first, which will tend to provide the same #define's + as in CF_NCURSES_HEADER (report by Dennis Preiser). + + CF_CURSES_TERM_H, modify to avoid spurious check for + if there is no ncurses version. Look for + ncurses's term.h anyway, to work around breakage by packagers who + separate ncurses' header files. + + CF_DISABLE_RPATH_HACK, fix garbled message + + CF_LD_RPATH_OPT, add mirbsd + + CF_MAKEFLAGS, filter out GNU make's entering/leaving messages. + This only appeared when using the macro in a dpkg script, though it + should have in other cases. + + CF_RPATH_HACK, add a check for libraries not found, e.g., from + suppressed functionality of gcc in linking from /usr/local/lib, and + add a -L option to help work around this. + + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure + script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h + doesn't do anything, so it needs a crutch). + + updated config.guess, config.sub + 2011/03/02 + add --prgbox and --programbox (adapted from patch by David Boyd). + add sl.po from @@ -649,7 +734,7 @@ to it: colors to be the same, provided that bold attribute is set. Also improved the logic for choosing a background color when the foreground and background are the same (report by Erika Pacholleck). - + update configure script macro CF_XOPEN_SOURCE, ensuring that the + + updated configure script macro CF_XOPEN_SOURCE, ensuring that the _POSIX_C_SOURCE value is defined with a specific value (bug report originally for lynx). + fix configure script so that po/makefile is generated properly when Modified: head/contrib/dialog/VERSION ============================================================================== --- head/contrib/dialog/VERSION Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/VERSION Thu Jul 14 14:01:36 2011 (r224014) @@ -1 +1 @@ -9:0:0 1.1 20110302 +10:0:0 1.1 20110707 Modified: head/contrib/dialog/aclocal.m4 ============================================================================== --- head/contrib/dialog/aclocal.m4 Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/aclocal.m4 Thu Jul 14 14:01:36 2011 (r224014) @@ -1,5 +1,5 @@ dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.80 2011/01/18 23:17:01 tom Exp $ +dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $ dnl --------------------------------------------------------------------------- dnl Copyright 1999-2010,2011 -- Thomas E. Dickey dnl @@ -1128,7 +1128,7 @@ CF_NCURSES_VERSION CF_CURSES_LIBS ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CPPFLAGS version: 10 updated: 2009/01/06 19:34:11 +dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08 dnl ------------------ dnl Look for the curses headers. AC_DEFUN([CF_CURSES_CPPFLAGS],[ @@ -1137,13 +1137,19 @@ AC_CACHE_CHECK(for extra include directo cf_cv_curses_incdir=no case $host_os in #(vi hpux10.*) #(vi - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" + if test "x$cf_cv_screen" = "xcurses_colr" + then + test -d /usr/include/curses_colr && \ + cf_cv_curses_incdir="-I/usr/include/curses_colr" + fi ;; sunos3*|sunos4*) - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" + if test "x$cf_cv_screen" = "xcurses_5lib" + then + test -d /usr/5lib && \ + test -d /usr/5include && \ + cf_cv_curses_incdir="-I/usr/5include" + fi ;; esac ]) @@ -1153,7 +1159,7 @@ CF_CURSES_HEADER CF_TERM_HEADER ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_FUNCS version: 15 updated: 2010/10/23 15:52:32 +dnl CF_CURSES_FUNCS version: 17 updated: 2011/05/14 16:07:29 dnl --------------- dnl Curses-functions are a little complicated, since a lot of them are macros. AC_DEFUN([CF_CURSES_FUNCS], @@ -1161,6 +1167,7 @@ AC_DEFUN([CF_CURSES_FUNCS], AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl AC_REQUIRE([CF_XOPEN_CURSES]) AC_REQUIRE([CF_CURSES_TERM_H]) +AC_REQUIRE([CF_CURSES_UNCTRL_H]) for cf_func in $1 do CF_UPPER(cf_tr_func,$cf_func) @@ -1173,7 +1180,8 @@ do [ #ifndef ${cf_func} long foo = (long)(&${cf_func}); -${cf_cv_main_return:-return}(foo == 0); +if (foo + 1234 > 5678) + ${cf_cv_main_return:-return}(foo); #endif ], [cf_result=yes], @@ -1190,7 +1198,7 @@ ${cf_cv_main_return:-return}(foo == 0); done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16 +dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45 dnl ---------------- dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common dnl variations of ncurses' installs. @@ -1200,10 +1208,10 @@ AC_DEFUN([CF_CURSES_HEADER],[ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ cf_cv_ncurses_header=none for cf_header in ifelse($1,,,[ \ - $1/curses.h \ - $1/ncurses.h]) \ - curses.h \ - ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h]) + $1/ncurses.h \ + $1/curses.h]) \ + ncurses.h \ + curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) do AC_TRY_COMPILE([#include <${cf_header}>], [initscr(); tgoto("?", 0,0)], @@ -1219,7 +1227,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 32 updated: 2011/01/16 17:43:15 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1239,19 +1247,26 @@ freebsd*) #(vi AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)]) ;; hpux10.*) #(vi - AC_CHECK_LIB(cur_colr,initscr,[ - CF_ADD_LIBS(-lcur_colr) - ac_cv_func_initscr=yes - ],[ - AC_CHECK_LIB(Hcurses,initscr,[ - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - CF_ADD_LIBS(-lHcurses) - CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" - ac_cv_func_initscr=yes - ])]) + # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr + # next (1998), and xcurses "newer" (2000). There is no header file for + # Hcurses; the subdirectory curses_colr has the headers (curses.h and + # term.h) for cur_colr + if test "x$cf_cv_screen" = "xcurses_colr" + then + AC_CHECK_LIB(cur_colr,initscr,[ + CF_ADD_LIBS(-lcur_colr) + ac_cv_func_initscr=yes + ],[ + AC_CHECK_LIB(Hcurses,initscr,[ + # HP's header uses __HP_CURSES, but user claims _HP_CURSES. + CF_ADD_LIBS(-lHcurses) + CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" + ac_cv_func_initscr=yes + ])]) + fi ;; linux*) - case `arch` in + case `arch 2>/dev/null` in x86_64) if test -d /lib64 then @@ -1266,9 +1281,12 @@ linux*) esac ;; sunos3*|sunos4*) - if test -d /usr/5lib ; then - CF_ADD_LIBDIR(/usr/5lib) - CF_ADD_LIBS(-lcurses -ltermcap) + if test "x$cf_cv_screen" = "xcurses_5lib" + then + if test -d /usr/5lib ; then + CF_ADD_LIBDIR(/usr/5lib) + CF_ADD_LIBS(-lcurses -ltermcap) + fi fi ac_cv_func_initscr=yes ;; @@ -1333,7 +1351,7 @@ fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_TERM_H version: 8 updated: 2010/10/23 15:54:49 +dnl CF_CURSES_TERM_H version: 9 updated: 2011/04/09 18:19:55 dnl ---------------- dnl SVr4 curses should have term.h as well (where it puts the definitions of dnl the low-level interface). This may not be true in old/broken implementations, @@ -1347,9 +1365,17 @@ AC_CACHE_CHECK(for term.h, cf_cv_term_he # If we found , look for , but always look # for if we do not find the variant. -for cf_header in \ - `echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%/.*%/%'`term.h \ - term.h + +cf_header_list="term.h ncurses/term.h ncursesw/term.h" + +case ${cf_cv_ncurses_header:-curses.h} in #(vi +*/*) + cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h + cf_header_list="$cf_header_item $cf_header_list" + ;; +esac + +for cf_header in $cf_header_list do AC_TRY_COMPILE([ #include <${cf_cv_ncurses_header:-curses.h}> @@ -1395,6 +1421,61 @@ ncursesw/term.h) esac ])dnl dnl --------------------------------------------------------------------------- +dnl CF_CURSES_UNCTRL_H version: 1 updated: 2011/04/09 18:19:55 +dnl ------------------ +dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages +dnl may put it in a subdirectory (along with ncurses' other headers, of +dnl course). Packages which put the headers in inconsistent locations are +dnl broken). +AC_DEFUN([CF_CURSES_UNCTRL_H], +[ +AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl + +AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[ + +# If we found , look for , but always look +# for if we do not find the variant. + +cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h" + +case ${cf_cv_ncurses_header:-curses.h} in #(vi +*/*) + cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h + cf_header_list="$cf_header_item $cf_header_list" + ;; +esac + +for cf_header in $cf_header_list +do + AC_TRY_COMPILE([ +#include <${cf_cv_ncurses_header:-curses.h}> +#include <${cf_header}>], + [WINDOW *x], + [cf_cv_unctrl_header=$cf_header + break], + [cf_cv_unctrl_header=no]) +done + +case $cf_cv_unctrl_header in #(vi +no) + AC_MSG_WARN(unctrl.h header not found) + ;; +esac +]) + +case $cf_cv_unctrl_header in #(vi +unctrl.h) #(vi + AC_DEFINE(HAVE_UNCTRL_H) + ;; +ncurses/unctrl.h) #(vi + AC_DEFINE(HAVE_NCURSES_UNCTRL_H) + ;; +ncursesw/unctrl.h) + AC_DEFINE(HAVE_NCURSESW_UNCTRL_H) + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- dnl CF_CURSES_WACS_MAP version: 5 updated: 2011/01/15 11:28:59 dnl ------------------ dnl Check for likely values of wacs_map[]. @@ -1518,7 +1599,7 @@ fi AC_SUBST(LIBTOOL_VERSION) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_RPATH_HACK version: 1 updated: 2010/04/11 10:54:00 +dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33 dnl --------------------- dnl The rpath-hack makes it simpler to build programs, particularly with the dnl *BSD ports which may have essential libraries in unusual places. But it @@ -1526,7 +1607,7 @@ dnl can interfere with building an execu dnl option in that case. AC_DEFUN([CF_DISABLE_RPATH_HACK], [ -AC_MSG_CHECKING(if rpath should be not be set) +AC_MSG_CHECKING(if rpath-hack should be disabled) CF_ARG_DISABLE(rpath-hack, [ --disable-rpath-hack don't add rpath options for additional libraries], [cf_disable_rpath_hack=yes], @@ -2256,7 +2337,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05 +dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2277,7 +2358,7 @@ irix*) #(vi linux*|gnu*|k*bsd*-gnu) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; -openbsd[[2-9]].*) #(vi +openbsd[[2-9]].*|mirbsd*) #(vi LD_RPATH_OPT="-Wl,-rpath," ;; freebsd*) #(vi @@ -2356,7 +2437,7 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MAKEFLAGS version: 13 updated: 2010/10/23 15:52:32 +dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46 dnl ------------ dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make' dnl options to lower-levels. It's very useful for "make -n" -- if we have it. @@ -2373,7 +2454,7 @@ SHELL = /bin/sh all : @ echo '.$cf_option' CF_EOF - cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'` + cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'` case "$cf_result" in .*k) cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` @@ -3107,7 +3188,7 @@ $1=`echo "$2" | \ -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK version: 8 updated: 2010/04/17 15:38:58 +dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33 dnl ------------- AC_DEFUN([CF_RPATH_HACK], [ @@ -3120,9 +3201,36 @@ if test -n "$LD_RPATH_OPT" ; then cf_rpath_list="/usr/lib /lib" if test "$cf_ldd_prog" != no then + cf_rpath_oops= + AC_TRY_LINK([#include ], [printf("Hello");], - [cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`]) + [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u` + cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`]) + + # If we passed the link-test, but get a "not found" on a given library, + # this could be due to inept reconfiguration of gcc to make it only + # partly honor /usr/local/lib (or whatever). Sometimes this behavior + # is intentional, e.g., installing gcc in /usr/bin and suppressing the + # /usr/local libraries. + if test -n "$cf_rpath_oops" + then + for cf_rpath_src in $cf_rpath_oops + do + for cf_rpath_dir in \ + /usr/local \ + /usr/pkg \ + /opt/sfw + do + if test -f $cf_rpath_dir/lib/$cf_rpath_src + then + CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src) + LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib" + break + fi + done + done + fi fi CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS) @@ -3572,7 +3680,7 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 26 updated: 2010/10/23 15:55:24 +dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -3648,7 +3756,7 @@ ifdef([AC_PROG_LIBTOOL],[ AC_MSG_ERROR(Cannot find libtool) fi ])dnl - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o' + LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o' LIB_OBJECT='${OBJECTS:.o=.lo}' LIB_SUFFIX=.la LIB_CLEAN='${LIBTOOL} --mode=clean' @@ -3842,7 +3950,7 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 34 updated: 2010/05/26 05:38:42 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -3861,6 +3969,9 @@ case $host_os in #(vi aix[[456]]*) #(vi cf_xopen_source="-D_ALL_SOURCE" ;; +cygwin) #(vi + cf_XOPEN_SOURCE=600 + ;; darwin[[0-8]].*) #(vi cf_xopen_source="-D_APPLE_C_SOURCE" ;; Modified: head/contrib/dialog/arrows.c ============================================================================== --- head/contrib/dialog/arrows.c Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/arrows.c Thu Jul 14 14:01:36 2011 (r224014) @@ -1,5 +1,5 @@ /* - * $Id: arrows.c,v 1.33 2011/01/19 00:27:53 tom Exp $ + * $Id: arrows.c,v 1.36 2011/06/27 09:13:56 tom Exp $ * * arrows.c -- draw arrows to indicate end-of-range for lists * @@ -36,6 +36,10 @@ #define add_acs(win, code) waddch(win, dlg_boxchar(code)) #endif +/* size of decorations */ +#define ON_LEFT 4 +#define ON_RIGHT 3 + #ifdef HAVE_COLOR static chtype merge_colors(chtype foreground, chtype background) @@ -59,6 +63,36 @@ merge_colors(chtype foreground, chtype b #define merge_colors(f,b) (f) #endif +/* + * If we have help-line text, e.g., from "--hline", draw it between the other + * decorations at the bottom of the dialog window. + */ +void +dlg_draw_helpline(WINDOW *win, bool decorations) +{ + int cur_x, cur_y; + int bottom; + + if (dialog_vars.help_line != 0 + && (bottom = getmaxy(win) - 1) > 0) { + chtype attr = A_NORMAL; + const int *cols = dlg_index_columns(dialog_vars.help_line); + int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; + int avail = (getmaxx(win) - other - 2); + int limit = dlg_limit_columns(dialog_vars.help_line, avail, 0); + + if (limit > 0) { + getyx(win, cur_y, cur_x); + other = decorations ? ON_LEFT : 0; + (void) wmove(win, bottom, other + (avail - limit) / 2); + waddch(win, '['); + dlg_print_text(win, dialog_vars.help_line, cols[limit], &attr); + waddch(win, ']'); + wmove(win, cur_y, cur_x); + } + } +} + void dlg_draw_arrows2(WINDOW *win, int top_arrow, @@ -94,7 +128,7 @@ dlg_draw_arrows2(WINDOW *win, (void) waddstr(win, "(-)"); } else { wattrset(win, attr); - (void) whline(win, dlg_boxchar(ACS_HLINE), 4); + (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } } mouse_mkbutton(top, x - 1, 6, KEY_PPAGE); @@ -106,7 +140,7 @@ dlg_draw_arrows2(WINDOW *win, (void) waddstr(win, "(+)"); } else { wattrset(win, borderattr); - (void) whline(win, dlg_boxchar(ACS_HLINE), 4); + (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); } mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); @@ -141,6 +175,7 @@ dlg_draw_scrollbar(WINDOW *win, getyx(win, oldy, oldx); getmaxyx(win, maxy, maxx); + dlg_draw_helpline(win, TRUE); if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { percent = (!total_data ? 100 @@ -213,6 +248,7 @@ dlg_draw_arrows(WINDOW *win, int top, int bottom) { + dlg_draw_helpline(win, TRUE); dlg_draw_arrows2(win, top_arrow, bottom_arrow, Modified: head/contrib/dialog/buttons.c ============================================================================== --- head/contrib/dialog/buttons.c Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/buttons.c Thu Jul 14 14:01:36 2011 (r224014) @@ -1,5 +1,5 @@ /* - * $Id: buttons.c,v 1.84 2011/01/19 00:27:53 tom Exp $ + * $Id: buttons.c,v 1.86 2011/06/28 10:46:46 tom Exp $ * * buttons.c -- draw buttons, e.g., OK/Cancel * @@ -442,16 +442,23 @@ const char ** dlg_exit_label(void) { const char **result; + DIALOG_VARS save; if (dialog_vars.extra_button) { + dlg_save_vars(&save); + dialog_vars.nocancel = TRUE; result = dlg_ok_labels(); + dlg_restore_vars(&save); } else { static const char *labels[3]; int n = 0; - labels[n++] = my_exit_label(); + if (!dialog_vars.nook) + labels[n++] = my_exit_label(); if (dialog_vars.help_button) labels[n++] = my_help_label(); + if (n == 0) + labels[n++] = my_exit_label(); labels[n] = 0; result = labels; @@ -465,7 +472,17 @@ dlg_exit_label(void) int dlg_exit_buttoncode(int button) { - return dlg_ok_buttoncode(button); + int result; + DIALOG_VARS save; + + dlg_save_vars(&save); + dialog_vars.nocancel = TRUE; + + result = dlg_ok_buttoncode(button); + + dlg_restore_vars(&save); + + return result; } const char ** Modified: head/contrib/dialog/calendar.c ============================================================================== --- head/contrib/dialog/calendar.c Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/calendar.c Thu Jul 14 14:01:36 2011 (r224014) @@ -1,5 +1,5 @@ /* - * $Id: calendar.c,v 1.60 2011/01/03 23:29:51 tom Exp $ + * $Id: calendar.c,v 1.62 2011/06/29 09:47:06 tom Exp $ * * calendar.c -- implements the calendar box * @@ -388,6 +388,7 @@ dialog_calendar(const char *title, { /* *INDENT-OFF* */ static DLG_KEYS_BINDING binding[] = { + HELPKEY_BINDINGS, ENTERKEY_BINDINGS, DLG_KEYS_DATA( DLGK_ENTER, ' ' ), DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), @@ -571,7 +572,7 @@ dialog_calendar(const char *title, state = sYEAR; break; case DLGK_ENTER: - result = dlg_ok_buttoncode(button); + result = dlg_enter_buttoncode(button); break; case DLGK_FIELD_PREV: state = dlg_prev_ok_buttonindex(state, sMONTH); Modified: head/contrib/dialog/checklist.c ============================================================================== --- head/contrib/dialog/checklist.c Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/checklist.c Thu Jul 14 14:01:36 2011 (r224014) @@ -1,5 +1,5 @@ /* - * $Id: checklist.c,v 1.124 2011/01/19 00:27:53 tom Exp $ + * $Id: checklist.c,v 1.127 2011/06/29 23:04:09 tom Exp $ * * checklist.c -- implements the checklist box * @@ -149,6 +149,7 @@ dlg_checklist(const char *title, { /* *INDENT-OFF* */ static DLG_KEYS_BINDING binding[] = { + HELPKEY_BINDINGS, ENTERKEY_BINDINGS, DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), @@ -193,6 +194,24 @@ dlg_checklist(const char *title, dlg_does_output(); dlg_tab_correct_str(prompt); + /* + * If this is a radiobutton list, ensure that no more than one item is + * selected initially. Allow none to be selected, since some users may + * wish to provide this flavor. + */ + if (flag == FLAG_RADIO) { + bool first = TRUE; + + for (i = 0; i < item_no; i++) { + if (items[i].state) { + if (first) { + first = FALSE; + } else { + items[i].state = 0; + } + } + } + } #ifdef KEY_RESIZE retry: #endif @@ -291,11 +310,12 @@ dlg_checklist(const char *title, choice = max_choice - 1; } /* Print the list */ - for (i = 0; i < max_choice; i++) + for (i = 0; i < max_choice; i++) { print_item(list, &items[i + scrollamt], states, i, i == choice); + } (void) wnoutrefresh(list); /* register the new window, along with its borders */ @@ -565,7 +585,7 @@ dlg_checklist(const char *title, if (fkey) { switch (key) { case DLGK_ENTER: - result = dlg_ok_buttoncode(button); + result = dlg_enter_buttoncode(button); break; case DLGK_FIELD_PREV: button = dlg_prev_button(buttons, button); Modified: head/contrib/dialog/columns.c ============================================================================== --- head/contrib/dialog/columns.c Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/columns.c Thu Jul 14 14:01:36 2011 (r224014) @@ -1,5 +1,5 @@ /* - * $Id: columns.c,v 1.7 2011/01/16 21:51:44 tom Exp $ + * $Id: columns.c,v 1.8 2011/06/28 09:26:23 tom Exp $ * * columns.c -- implements column-alignment * @@ -25,7 +25,7 @@ #define each(row, data) \ row = 0, data = target; \ - row < num_rows - 1; \ + row < num_rows; \ ++row, data = next_row(data, per_row) static char * Modified: head/contrib/dialog/config.guess ============================================================================== --- head/contrib/dialog/config.guess Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/config.guess Thu Jul 14 14:01:36 2011 (r224014) @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2911 Free Software Foundation, Inc. -timestamp='2010-09-24' +timestamp='2011-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -57,8 +57,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -92,7 +92,7 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' HUP INT TERM +trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires @@ -106,7 +106,7 @@ trap 'exit 1' HUP INT TERM set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || @@ -270,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -326,8 +329,8 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; @@ -495,7 +498,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -820,8 +823,8 @@ EOF echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks @@ -934,14 +937,14 @@ EOF test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; + echo or32-unknown-linux-gnu + exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in Modified: head/contrib/dialog/config.sub ============================================================================== --- head/contrib/dialog/config.sub Thu Jul 14 13:58:02 2011 (r224013) +++ head/contrib/dialog/config.sub Thu Jul 14 14:01:36 2011 (r224014) @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# 2011 Free Software Foundation, Inc. -timestamp='2010-09-11' +timestamp='2011-04-01' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -76,8 +76,8 @@ version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -175,10 +175,10 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -283,12 +283,13 @@ case $basic_machine in | moxie \ | mt \ | msp430 \ - | nds32 | nds32le | nds32be\ + | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ + | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rx \ | score \ @@ -296,12 +297,12 @@ case $basic_machine in | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; @@ -324,7 +325,15 @@ case $basic_machine in ms1) basic_machine=mt-unknown ;; - + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + xscaleel) + basic_machine=armel-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -382,24 +391,25 @@ case $basic_machine in | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) @@ -539,7 +549,7 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16) + cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; @@ -826,10 +836,10 @@ case $basic_machine in basic_machine=v70-nec os=-sysv ;; - next | m*-next ) + next | m*-next) basic_machine=m68k-next case $os in - -nextstep* ) + -nextstep*) ;; -ns2*) os=-nextstep2 @@ -948,11 +958,14 @@ case $basic_machine in *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 14:18:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D14A106566B; Thu, 14 Jul 2011 14:18:14 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7C9328FC08; Thu, 14 Jul 2011 14:18:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EEIEEX032983; Thu, 14 Jul 2011 14:18:14 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EEIEjo032975; Thu, 14 Jul 2011 14:18:14 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201107141418.p6EEIEjo032975@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Thu, 14 Jul 2011 14:18:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224016 - in head: sys/compat/linux sys/conf sys/kern sys/sys usr.bin/ipcs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 14:18:14 -0000 Author: bz Date: Thu Jul 14 14:18:14 2011 New Revision: 224016 URL: http://svn.freebsd.org/changeset/base/224016 Log: Remove semaphore map entry count "semmap" field and its tuning option that is highly recommended to be adjusted in too much documentation while doing nothing in FreeBSD since r2729 (rev 1.1). ipcs(1) needs to be recompiled as it is accessing _KERNEL private variables. Reviewed by: jhb (before comment change on linux code) Sponsored by: Sandvine Incorporated Modified: head/sys/compat/linux/linux_ipc.c head/sys/conf/NOTES head/sys/conf/options head/sys/kern/sysv_sem.c head/sys/sys/sem.h head/usr.bin/ipcs/ipc.c head/usr.bin/ipcs/ipcs.c Modified: head/sys/compat/linux/linux_ipc.c ============================================================================== --- head/sys/compat/linux/linux_ipc.c Thu Jul 14 14:15:21 2011 (r224015) +++ head/sys/compat/linux/linux_ipc.c Thu Jul 14 14:18:14 2011 (r224016) @@ -575,7 +575,15 @@ linux_semctl(struct thread *td, struct l return (error); case LINUX_IPC_INFO: case LINUX_SEM_INFO: - bcopy(&seminfo, &linux_seminfo, sizeof(linux_seminfo) ); + bcopy(&seminfo, &linux_seminfo.semmni, sizeof(linux_seminfo) - + sizeof(linux_seminfo.semmap) ); + /* + * Linux does not use the semmap field either but populates it + * with the defined value from SEMMAP, which really is redefined + * to SEMMNS, which they define as SEMMNI * SEMMSL. + * Try to simulate this returning our dynamic semmns value. + */ + linux_seminfo.semmap = linux_seminfo.semmns; /* XXX BSD equivalent? #define used_semids 10 #define used_sems 10 Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Thu Jul 14 14:15:21 2011 (r224015) +++ head/sys/conf/NOTES Thu Jul 14 14:18:14 2011 (r224016) @@ -2833,9 +2833,6 @@ options VERBOSE_SYSINIT ##################################################################### # SYSV IPC KERNEL PARAMETERS # -# Maximum number of entries in a semaphore map. -options SEMMAP=31 - # Maximum number of System V semaphores that can be used on the system at # one time. options SEMMNI=11 Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Thu Jul 14 14:15:21 2011 (r224015) +++ head/sys/conf/options Thu Jul 14 14:18:14 2011 (r224016) @@ -164,7 +164,6 @@ MSGMNI opt_sysvipc.h MSGSEG opt_sysvipc.h MSGSSZ opt_sysvipc.h MSGTQL opt_sysvipc.h -SEMMAP opt_sysvipc.h SEMMNI opt_sysvipc.h SEMMNS opt_sysvipc.h SEMMNU opt_sysvipc.h Modified: head/sys/kern/sysv_sem.c ============================================================================== --- head/sys/kern/sysv_sem.c Thu Jul 14 14:15:21 2011 (r224015) +++ head/sys/kern/sysv_sem.c Thu Jul 14 14:18:14 2011 (r224016) @@ -149,9 +149,6 @@ struct sem_undo { #endif /* shouldn't need tuning */ -#ifndef SEMMAP -#define SEMMAP 30 /* # of entries in semaphore map */ -#endif #ifndef SEMMSL #define SEMMSL SEMMNS /* max # of semaphores per id */ #endif @@ -182,7 +179,6 @@ struct sem_undo { * semaphore info struct */ struct seminfo seminfo = { - SEMMAP, /* # of entries in semaphore map */ SEMMNI, /* # of semaphore identifiers */ SEMMNS, /* # of semaphores in system */ SEMMNU, /* # of undo structures in system */ @@ -194,8 +190,6 @@ struct seminfo seminfo = { SEMAEM /* adjust on exit max value */ }; -SYSCTL_INT(_kern_ipc, OID_AUTO, semmap, CTLFLAG_RW, &seminfo.semmap, 0, - "Number of entries in the semaphore map"); SYSCTL_INT(_kern_ipc, OID_AUTO, semmni, CTLFLAG_RDTUN, &seminfo.semmni, 0, "Number of semaphore identifiers"); SYSCTL_INT(_kern_ipc, OID_AUTO, semmns, CTLFLAG_RDTUN, &seminfo.semmns, 0, @@ -255,7 +249,6 @@ seminit(void) { int i, error; - TUNABLE_INT_FETCH("kern.ipc.semmap", &seminfo.semmap); TUNABLE_INT_FETCH("kern.ipc.semmni", &seminfo.semmni); TUNABLE_INT_FETCH("kern.ipc.semmns", &seminfo.semmns); TUNABLE_INT_FETCH("kern.ipc.semmnu", &seminfo.semmnu); Modified: head/sys/sys/sem.h ============================================================================== --- head/sys/sys/sem.h Thu Jul 14 14:15:21 2011 (r224015) +++ head/sys/sys/sem.h Thu Jul 14 14:18:14 2011 (r224016) @@ -107,8 +107,7 @@ union semun { * semaphore info struct */ struct seminfo { - int semmap, /* # of entries in semaphore map */ - semmni, /* # of semaphore identifiers */ + int semmni, /* # of semaphore identifiers */ semmns, /* # of semaphores in system */ semmnu, /* # of undo structures in system */ semmsl, /* max # of semaphores per id */ Modified: head/usr.bin/ipcs/ipc.c ============================================================================== --- head/usr.bin/ipcs/ipc.c Thu Jul 14 14:15:21 2011 (r224015) +++ head/usr.bin/ipcs/ipc.c Thu Jul 14 14:18:14 2011 (r224016) @@ -73,8 +73,7 @@ struct nlist symbols[] = { X(shmseg, sizeof(u_long)) \ X(shmall, sizeof(u_long)) -#define SEMINFO_XVEC X(semmap, sizeof(int)) \ - X(semmni, sizeof(int)) \ +#define SEMINFO_XVEC X(semmni, sizeof(int)) \ X(semmns, sizeof(int)) \ X(semmnu, sizeof(int)) \ X(semmsl, sizeof(int)) \ Modified: head/usr.bin/ipcs/ipcs.c ============================================================================== --- head/usr.bin/ipcs/ipcs.c Thu Jul 14 14:15:21 2011 (r224015) +++ head/usr.bin/ipcs/ipcs.c Thu Jul 14 14:18:14 2011 (r224016) @@ -474,8 +474,6 @@ print_ksemtotal(struct seminfo seminfo) { printf("seminfo:\n"); - printf("\tsemmap: %12d\t(# of entries in semaphore map)\n", - seminfo.semmap); printf("\tsemmni: %12d\t(# of semaphore identifiers)\n", seminfo.semmni); printf("\tsemmns: %12d\t(# of semaphores in system)\n", From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 14:23:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 146041065670; Thu, 14 Jul 2011 14:23:49 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0152B8FC0C; Thu, 14 Jul 2011 14:23:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EENmlB033189; Thu, 14 Jul 2011 14:23:48 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EENmAo033180; Thu, 14 Jul 2011 14:23:48 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201107141423.p6EENmAo033180@svn.freebsd.org> From: Martin Matuska Date: Thu, 14 Jul 2011 14:23:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224017 - in stable/8: contrib/binutils/gas contrib/binutils/gas/config contrib/binutils/include/opcode contrib/binutils/opcodes sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 14:23:49 -0000 Author: mm Date: Thu Jul 14 14:23:48 2011 New Revision: 224017 URL: http://svn.freebsd.org/changeset/base/224017 Log: Backport SSSE3 instruction set support to base binutils and update VIA PadLock instruction set support. This has turned out to be necessary for some cases to catch up with gcc update in r221274 (MFC of r219639). This is direct commit to stable/8 Obtained from: GNU binutils CVS (GPLv2) Modified: stable/8/contrib/binutils/gas/ChangeLog stable/8/contrib/binutils/gas/config/tc-i386.c stable/8/contrib/binutils/gas/config/tc-i386.h stable/8/contrib/binutils/include/opcode/ChangeLog stable/8/contrib/binutils/include/opcode/i386.h stable/8/contrib/binutils/opcodes/ChangeLog stable/8/contrib/binutils/opcodes/i386-dis.c stable/8/sys/sys/param.h Modified: stable/8/contrib/binutils/gas/ChangeLog ============================================================================== --- stable/8/contrib/binutils/gas/ChangeLog Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/gas/ChangeLog Thu Jul 14 14:23:48 2011 (r224017) @@ -1,3 +1,23 @@ +2006-09-28 H.J. Lu + + * config/tc-i386.h (CpuMNI): Renamed to ... + (CpuSSSE3): This. + (CpuUnknownFlags): Updated. + * config/tc-i386.c: Updated. + +2006-02-27 H.J. Lu + + * gas/config/tc-i386.c (output_insn): Support Intel Merom New + Instructions. + + * gas/config/tc-i386.h (CpuMNI): New. + (CpuUnknownFlags): Add CpuMNI. + +2005-04-12 Mark Kettenis + + * config/tc-i386.c (output_insn): Handle VIA PadLock instructions + similar to other instructions now that they're marked as ImmExt. + 2004-05-23 Alan Modra * expr.c (operand, operator): Don't reject '++' and '--'. Modified: stable/8/contrib/binutils/gas/config/tc-i386.c ============================================================================== --- stable/8/contrib/binutils/gas/config/tc-i386.c Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/gas/config/tc-i386.c Thu Jul 14 14:23:48 2011 (r224017) @@ -3150,24 +3150,33 @@ output_insn () /* Output normal instructions here. */ char *p; unsigned char *q; + unsigned int prefix; - /* All opcodes on i386 have either 1 or 2 bytes, PadLock instructions - have 3 bytes. We may use one more higher byte to specify a prefix - the instruction requires. */ - if ((i.tm.cpu_flags & CpuPadLock) != 0 - && (i.tm.base_opcode & 0xff000000) != 0) - { - unsigned int prefix; - prefix = (i.tm.base_opcode >> 24) & 0xff; - - if (prefix != REPE_PREFIX_OPCODE - || i.prefix[LOCKREP_PREFIX] != REPE_PREFIX_OPCODE) + /* All opcodes on i386 have either 1 or 2 bytes. Supplemental + Streaming SIMD extensions 3 Instructions have 3 bytes. We may + use one more higher byte to specify a prefix the instruction + requires. */ + if ((i.tm.cpu_flags & CpuSSSE3) != 0) + { + if (i.tm.base_opcode & 0xff000000) + { + prefix = (i.tm.base_opcode >> 24) & 0xff; + goto check_prefix; + } + } + else if ((i.tm.base_opcode & 0xff0000) != 0) + { + prefix = (i.tm.base_opcode >> 16) & 0xff; + if ((i.tm.cpu_flags & CpuPadLock) != 0) + { +check_prefix: + if (prefix != REPE_PREFIX_OPCODE + || i.prefix[LOCKREP_PREFIX] != REPE_PREFIX_OPCODE) + add_prefix (prefix); + } + else add_prefix (prefix); } - else - if ((i.tm.cpu_flags & CpuPadLock) == 0 - && (i.tm.base_opcode & 0xff0000) != 0) - add_prefix ((i.tm.base_opcode >> 16) & 0xff); /* The prefix bytes. */ for (q = i.prefix; @@ -3188,7 +3197,7 @@ output_insn () } else { - if ((i.tm.cpu_flags & CpuPadLock) != 0) + if ((i.tm.cpu_flags & CpuSSSE3) != 0) { p = frag_more (3); *p++ = (i.tm.base_opcode >> 16) & 0xff; Modified: stable/8/contrib/binutils/gas/config/tc-i386.h ============================================================================== --- stable/8/contrib/binutils/gas/config/tc-i386.h Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/gas/config/tc-i386.h Thu Jul 14 14:23:48 2011 (r224017) @@ -195,13 +195,14 @@ typedef struct #define Cpu3dnow 0x4000 /* 3dnow! support required */ #define CpuPNI 0x8000 /* Prescott New Instructions required */ #define CpuPadLock 0x10000 /* VIA PadLock required */ +#define CpuSSSE3 0x80000 /* Supplemental Streaming SIMD extensions 3 required */ /* These flags are set by gas depending on the flag_code. */ #define Cpu64 0x4000000 /* 64bit support required */ #define CpuNo64 0x8000000 /* Not supported in the 64bit mode */ /* The default value for unknown CPUs - enable all features to avoid problems. */ -#define CpuUnknownFlags (Cpu086|Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuP4|CpuSledgehammer|CpuMMX|CpuSSE|CpuSSE2|CpuPNI|Cpu3dnow|CpuK6|CpuAthlon|CpuPadLock) +#define CpuUnknownFlags (Cpu086|Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuP4|CpuSledgehammer|CpuMMX|CpuSSE|CpuSSE2|CpuPNI|Cpu3dnow|CpuK6|CpuAthlon|CpuPadLock|CpuSSSE3) /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of Modified: stable/8/contrib/binutils/include/opcode/ChangeLog ============================================================================== --- stable/8/contrib/binutils/include/opcode/ChangeLog Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/include/opcode/ChangeLog Thu Jul 14 14:23:48 2011 (r224017) @@ -1,3 +1,16 @@ +2006-09-28 H.J. Lu + + * i386.h: Replace CpuMNI with CpuSSSE3. + +2006-02-27 H.J. Lu + + * i386.h (i386_optab): Support Intel Merom New Instructions. + +2005-04-12 Mark Kettenis + + * i386.h (i386_optab): Mark VIA PadLock instructions as ImmExt and + adjust them accordingly. + 2004-04-08 Alan Modra Apply from mainline. Modified: stable/8/contrib/binutils/include/opcode/i386.h ============================================================================== --- stable/8/contrib/binutils/include/opcode/i386.h Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/include/opcode/i386.h Thu Jul 14 14:23:48 2011 (r224017) @@ -1326,6 +1326,41 @@ static const template i386_optab[] = { /* Need to ensure only "mwait %eax,%ecx" is accepted. */ {"mwait", 2, 0x0f01, 0xc9, CpuPNI, FP|ImmExt, { Reg32, Reg32, 0} }, +/* Supplemental Streaming SIMD extensions 3 Instructions. */ + +{"phaddw", 2, 0x0f3801,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"phaddw", 2, 0x660f3801,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"phaddd", 2, 0x0f3802,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"phaddd", 2, 0x660f3802,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"phaddsw", 2, 0x0f3803,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"phaddsw", 2, 0x660f3803,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"phsubw", 2, 0x0f3805,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"phsubw", 2, 0x660f3805,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"phsubd", 2, 0x0f3806,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"phsubd", 2, 0x660f3806,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"phsubsw", 2, 0x0f3807,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"phsubsw", 2, 0x660f3807,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"pmaddubsw", 2, 0x0f3804,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"pmaddubsw", 2, 0x660f3804,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"pmulhrsw", 2, 0x0f380b,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"pmulhrsw", 2, 0x660f380b,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"pshufb", 2, 0x0f3800,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"pshufb", 2, 0x660f3800,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"psignb", 2, 0x0f3808,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"psignb", 2, 0x660f3808,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"psignw", 2, 0x0f3809,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"psignw", 2, 0x660f3809,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"psignd", 2, 0x0f380a,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"psignd", 2, 0x660f380a,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"palignr", 3, 0x0f3a0f,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { Imm8, RegMMX|LongMem, RegMMX } }, +{"palignr", 3, 0x660f3a0f,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, +{"pabsb", 2, 0x0f381c,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"pabsb", 2, 0x660f381c,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"pabsw", 2, 0x0f381d,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"pabsw", 2, 0x660f381d,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"pabsd", 2, 0x0f381e,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, +{"pabsd", 2, 0x660f381e,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, + /* AMD 3DNow! instructions. */ {"prefetch", 1, 0x0f0d, 0, Cpu3dnow, FP|Modrm, { ByteMem, 0, 0 } }, @@ -1362,13 +1397,16 @@ static const template i386_optab[] = { {"swapgs", 0, 0x0f01, 0xf8, Cpu64, NoSuf|ImmExt, { 0, 0, 0} }, /* VIA PadLock extensions. */ -{"xstorerng", 0, 0x0fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, -{"xcryptecb", 0, 0xf30fa7c8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, -{"xcryptcbc", 0, 0xf30fa7d0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, -{"xcryptcfb", 0, 0xf30fa7e0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, -{"xcryptofb", 0, 0xf30fa7e8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, -/* alias for xstorerng */ -{"xstore", 0, 0x0fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, +{"xstorerng", 0, 0x000fa7, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"xcryptecb", 0, 0xf30fa7, 0xc8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"xcryptcbc", 0, 0xf30fa7, 0xd0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"xcryptcfb", 0, 0xf30fa7, 0xe0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"xcryptofb", 0, 0xf30fa7, 0xe8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"montmul", 0, 0xf30fa6, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"xsha1", 0, 0xf30fa6, 0xc8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +{"xsha256", 0, 0xf30fa6, 0xd0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, +/* Alias for xstorerng. */ +{"xstore", 0, 0x000fa7, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} }, /* sentinel */ {NULL, 0, 0, 0, 0, 0, { 0, 0, 0} } Modified: stable/8/contrib/binutils/opcodes/ChangeLog ============================================================================== --- stable/8/contrib/binutils/opcodes/ChangeLog Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/opcodes/ChangeLog Thu Jul 14 14:23:48 2011 (r224017) @@ -1,3 +1,17 @@ +2006-02-27 H.J. Lu + + * i386-dis.c (IS_3BYTE_OPCODE): New for 3-byte opcodes used by + Intel Merom New Instructions. + (THREE_BYTE_0): Likewise. + (THREE_BYTE_1): Likewise. + (three_byte_table): Likewise. + (dis386_twobyte): Use THREE_BYTE_0 for entry 0x38. Use + THREE_BYTE_1 for entry 0x3a. + (twobyte_has_modrm): Updated. + (twobyte_uses_SSE_prefix): Likewise. + (print_insn): Handle 3-byte opcodes used by Intel Merom New + Instructions. + 2004-05-13 Nick Clifton * po/fr.po: Updated French translation. Modified: stable/8/contrib/binutils/opcodes/i386-dis.c ============================================================================== --- stable/8/contrib/binutils/opcodes/i386-dis.c Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/contrib/binutils/opcodes/i386-dis.c Thu Jul 14 14:23:48 2011 (r224017) @@ -367,6 +367,7 @@ fetch_data (struct disassemble_info *inf #define USE_GROUPS 2 #define USE_PREFIX_USER_TABLE 3 #define X86_64_SPECIAL 4 +#define IS_3BYTE_OPCODE 5 #define FLOAT NULL, NULL, FLOATCODE, NULL, 0, NULL, 0 @@ -431,6 +432,9 @@ fetch_data (struct disassemble_info *inf #define X86_64_0 NULL, NULL, X86_64_SPECIAL, NULL, 0, NULL, 0 +#define THREE_BYTE_0 NULL, NULL, IS_3BYTE_OPCODE, NULL, 0, NULL, 0 +#define THREE_BYTE_1 NULL, NULL, IS_3BYTE_OPCODE, NULL, 1, NULL, 0 + typedef void (*op_rtn) (int bytemode, int sizeflag); struct dis386 { @@ -829,9 +833,9 @@ static const struct dis386 dis386_twobyt { "(bad)", XX, XX, XX }, { "(bad)", XX, XX, XX }, /* 38 */ + { THREE_BYTE_0 }, { "(bad)", XX, XX, XX }, - { "(bad)", XX, XX, XX }, - { "(bad)", XX, XX, XX }, + { THREE_BYTE_1 }, { "(bad)", XX, XX, XX }, { "(bad)", XX, XX, XX }, { "(bad)", XX, XX, XX }, @@ -1084,7 +1088,7 @@ static const unsigned char twobyte_has_m /* 00 */ 1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1, /* 0f */ /* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, /* 1f */ /* 20 */ 1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1, /* 2f */ - /* 30 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 3f */ + /* 30 */ 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, /* 3f */ /* 40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 4f */ /* 50 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 5f */ /* 60 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 6f */ @@ -1107,7 +1111,7 @@ static const unsigned char twobyte_uses_ /* 00 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0f */ /* 10 */ 1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0, /* 1f */ /* 20 */ 0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0, /* 2f */ - /* 30 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 3f */ + /* 30 */ 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, /* 3f */ /* 40 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 4f */ /* 50 */ 0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1, /* 5f */ /* 60 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1, /* 6f */ @@ -1709,6 +1713,79 @@ static const struct dis386 x86_64_table[ }, }; +static const struct dis386 three_byte_table[][32] = { + /* THREE_BYTE_0 */ + { + { "pshufb", MX, EM, XX }, + { "phaddw", MX, EM, XX }, + { "phaddd", MX, EM, XX }, + { "phaddsw", MX, EM, XX }, + { "pmaddubsw", MX, EM, XX }, + { "phsubw", MX, EM, XX }, + { "phsubd", MX, EM, XX }, + { "phsubsw", MX, EM, XX }, + { "psignb", MX, EM, XX }, + { "psignw", MX, EM, XX }, + { "psignd", MX, EM, XX }, + { "pmulhrsw", MX, EM, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "pabsb", MX, EM, XX }, + { "pabsw", MX, EM, XX }, + { "pabsd", MX, EM, XX }, + { "(bad)", XX, XX, XX } + }, + /* THREE_BYTE_1 */ + { + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "palignr", MX, EM, Ib }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX }, + { "(bad)", XX, XX, XX } + }, +}; + #define INTERNAL_DISASSEMBLER_ERROR _("") static void @@ -2160,7 +2237,15 @@ print_insn (bfd_vma pc, disassemble_info } } - if (need_modrm) + if (dp->name == NULL && dp->bytemode1 == IS_3BYTE_OPCODE) + { + FETCH_DATA (info, codep + 2); + dp = &three_byte_table[dp->bytemode2][*codep++]; + mod = (*codep >> 6) & 3; + reg = (*codep >> 3) & 7; + rm = *codep & 7; + } + else if (need_modrm) { FETCH_DATA (info, codep + 1); mod = (*codep >> 6) & 3; Modified: stable/8/sys/sys/param.h ============================================================================== --- stable/8/sys/sys/param.h Thu Jul 14 14:18:14 2011 (r224016) +++ stable/8/sys/sys/param.h Thu Jul 14 14:23:48 2011 (r224017) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 802508 /* Master, propagated to newvers */ +#define __FreeBSD_version 802509 /* Master, propagated to newvers */ #ifdef _KERNEL #define P_OSREL_SIGSEGV 700004 From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 14:26:25 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B217C106564A; Thu, 14 Jul 2011 14:26:25 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 695298FC26; Thu, 14 Jul 2011 14:26:25 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id ABADB25D389C; Thu, 14 Jul 2011 14:26:24 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 0D37515A9818; Thu, 14 Jul 2011 14:26:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id R-GQgSqUnNYT; Thu, 14 Jul 2011 14:26:23 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 0E62215A910B; Thu, 14 Jul 2011 14:26:22 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <201107141418.p6EEIEjo032975@svn.freebsd.org> Date: Thu, 14 Jul 2011 14:26:22 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <9087468A-7FC1-4F16-937E-979D811BD5FC@FreeBSD.org> References: <201107141418.p6EEIEjo032975@svn.freebsd.org> To: src-committers@freebsd.org X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r224016 - in head: sys/compat/linux sys/conf sys/kern sys/sys usr.bin/ipcs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 14:26:25 -0000 On Jul 14, 2011, at 2:18 PM, Bjoern A. Zeeb wrote: > Author: bz > Date: Thu Jul 14 14:18:14 2011 > New Revision: 224016 > URL: http://svn.freebsd.org/changeset/base/224016 >=20 > Log: > Remove semaphore map entry count "semmap" field and its tuning > option that is highly recommended to be adjusted in too much > documentation while doing nothing in FreeBSD since r2729 (rev 1.1). Stevens, UNP Vol. 2, 11.7 Semaphore Limits does not list the field = either btw. Solaris 2.6, as mentioned in the section 3.9 Kernel Limits, had it along = with 19 others limits. > ipcs(1) needs to be recompiled as it is accessing _KERNEL private > variables. >=20 > Reviewed by: jhb (before comment change on linux code) > Sponsored by: Sandvine Incorporated >=20 > Modified: > head/sys/compat/linux/linux_ipc.c > head/sys/conf/NOTES > head/sys/conf/options > head/sys/kern/sysv_sem.c > head/sys/sys/sem.h > head/usr.bin/ipcs/ipc.c > head/usr.bin/ipcs/ipcs.c --=20 Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 15:35:43 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD72C1065673; Thu, 14 Jul 2011 15:35:43 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AD62A8FC12; Thu, 14 Jul 2011 15:35:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EFZh4N035318; Thu, 14 Jul 2011 15:35:43 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EFZhfp035315; Thu, 14 Jul 2011 15:35:43 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107141535.p6EFZhfp035315@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 14 Jul 2011 15:35:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224019 - head/sys/powerpc/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 15:35:43 -0000 Author: nwhitehorn Date: Thu Jul 14 15:35:43 2011 New Revision: 224019 URL: http://svn.freebsd.org/changeset/base/224019 Log: Enable PREEMPTION for PowerPC/AIM generic kernels. The last known PREEMPTION bug on PowerPC was resolved by r223485, and it appears to run stably at this point. Modified: head/sys/powerpc/conf/GENERIC head/sys/powerpc/conf/GENERIC64 Modified: head/sys/powerpc/conf/GENERIC ============================================================================== --- head/sys/powerpc/conf/GENERIC Thu Jul 14 14:24:20 2011 (r224018) +++ head/sys/powerpc/conf/GENERIC Thu Jul 14 15:35:43 2011 (r224019) @@ -31,6 +31,7 @@ options PSIM #GDB PSIM ppc simulator options MAMBO #IBM Mambo Full System Simulator options SCHED_ULE #ULE scheduler +options PREEMPTION #Enable kernel thread preemption options INET #InterNETworking options INET6 #IPv6 communications protocols options SCTP #Stream Control Transmission Protocol Modified: head/sys/powerpc/conf/GENERIC64 ============================================================================== --- head/sys/powerpc/conf/GENERIC64 Thu Jul 14 14:24:20 2011 (r224018) +++ head/sys/powerpc/conf/GENERIC64 Thu Jul 14 15:35:43 2011 (r224019) @@ -31,6 +31,7 @@ options PS3 #Sony Playstation 3 options MAMBO #IBM Mambo Full System Simulator options SCHED_ULE #ULE scheduler +options PREEMPTION #Enable kernel thread preemption options INET #InterNETworking options INET6 #IPv6 communications protocols options SCTP #Stream Control Transmission Protocol From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 17:19:01 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17B2F1065670; Thu, 14 Jul 2011 17:19:01 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 06FF88FC08; Thu, 14 Jul 2011 17:19:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EHJ0l9038336; Thu, 14 Jul 2011 17:19:00 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EHJ0Wc038332; Thu, 14 Jul 2011 17:19:00 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201107141719.p6EHJ0Wc038332@svn.freebsd.org> From: Pyun YongHyeon Date: Thu, 14 Jul 2011 17:19:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224020 - in head/sys/dev/usb: . net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 17:19:01 -0000 Author: yongari Date: Thu Jul 14 17:19:00 2011 New Revision: 224020 URL: http://svn.freebsd.org/changeset/base/224020 Log: Add initial support for AX88772B USB Fast Ethernet. AX88772B supports IPv4/IPv6 checksum offloading and VLAN tag insertion/ stripping as well as WOL. Because uether does not provide a way to announce driver specific offload capabilities to upper stack, checksum offloading support needs more work and will be done in future. Special thanks to ASIX for donating sample hardware. H/W donated by: ASIX Electronics Reviewed by: hselasky Modified: head/sys/dev/usb/net/if_axe.c head/sys/dev/usb/net/if_axereg.h head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/net/if_axe.c ============================================================================== --- head/sys/dev/usb/net/if_axe.c Thu Jul 14 15:35:43 2011 (r224019) +++ head/sys/dev/usb/net/if_axe.c Thu Jul 14 17:19:00 2011 (r224020) @@ -142,6 +142,7 @@ static const STRUCT_USB_HOST_ID axe_devs AXE_DEV(ASIX, AX88178, AXE_FLAG_178), AXE_DEV(ASIX, AX88772, AXE_FLAG_772), AXE_DEV(ASIX, AX88772A, AXE_FLAG_772A), + AXE_DEV(ASIX, AX88772B, AXE_FLAG_772B), AXE_DEV(ATEN, UC210T, 0), AXE_DEV(BELKIN, F5D5055, AXE_FLAG_178), AXE_DEV(BILLIONTON, USB2AR, 0), @@ -190,7 +191,9 @@ static void axe_ifmedia_sts(struct ifnet static int axe_cmd(struct axe_softc *, int, int, int, void *); static void axe_ax88178_init(struct axe_softc *); static void axe_ax88772_init(struct axe_softc *); +static void axe_ax88772_phywake(struct axe_softc *); static void axe_ax88772a_init(struct axe_softc *); +static void axe_ax88772b_init(struct axe_softc *); static int axe_get_phyno(struct axe_softc *, int); static const struct usb_config axe_config[AXE_N_TRANSFER] = { @@ -217,6 +220,17 @@ static const struct usb_config axe_confi }, }; +static const struct ax88772b_mfb ax88772b_mfb_table[] = { + { 0x8000, 0x8001, 2048 }, + { 0x8100, 0x8147, 4096}, + { 0x8200, 0x81EB, 6144}, + { 0x8300, 0x83D7, 8192}, + { 0x8400, 0x851E, 16384}, + { 0x8500, 0x8666, 20480}, + { 0x8600, 0x87AE, 24576}, + { 0x8700, 0x8A3D, 32768} +}; + static device_method_t axe_methods[] = { /* Device interface */ DEVMETHOD(device_probe, axe_probe), @@ -669,16 +683,11 @@ axe_ax88772_init(struct axe_softc *sc) } static void -axe_ax88772a_init(struct axe_softc *sc) +axe_ax88772_phywake(struct axe_softc *sc) { struct usb_ether *ue; - uint16_t eeprom; ue = &sc->sc_ue; - axe_cmd(sc, AXE_CMD_SROM_READ, 0, 0x0017, &eeprom); - eeprom = le16toh(eeprom); - /* Reload EEPROM. */ - AXE_GPIO_WRITE(AXE_GPIO_RELOAD_EEPROM, hz / 32); if (sc->sc_phyno == AXE_772_PHY_NO_EPHY) { /* Manually select internal(embedded) PHY - MAC mode. */ axe_cmd(sc, AXE_CMD_SW_PHY_SELECT, 0, AXE_SW_PHY_SELECT_SS_ENB | @@ -704,6 +713,55 @@ axe_ax88772a_init(struct axe_softc *sc) uether_pause(&sc->sc_ue, hz / 32); axe_cmd(sc, AXE_CMD_SW_RESET_REG, 0, AXE_SW_RESET_IPRL, NULL); uether_pause(&sc->sc_ue, hz / 32); +} + +static void +axe_ax88772a_init(struct axe_softc *sc) +{ + struct usb_ether *ue; + + ue = &sc->sc_ue; + /* Reload EEPROM. */ + AXE_GPIO_WRITE(AXE_GPIO_RELOAD_EEPROM, hz / 32); + axe_ax88772_phywake(sc); + /* Stop MAC. */ + axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, 0, NULL); +} + +static void +axe_ax88772b_init(struct axe_softc *sc) +{ + struct usb_ether *ue; + uint16_t eeprom; + uint8_t *eaddr; + int i; + + ue = &sc->sc_ue; + /* Reload EEPROM. */ + AXE_GPIO_WRITE(AXE_GPIO_RELOAD_EEPROM, hz / 32); + /* + * Save PHY power saving configuration(high byte) and + * clear EEPROM checksum value(low byte). + */ + axe_cmd(sc, AXE_CMD_SROM_READ, 0, AXE_EEPROM_772B_PHY_PWRCFG, &eeprom); + sc->sc_pwrcfg = le16toh(eeprom) & 0xFF00; + + /* + * Auto-loaded default station address from internal ROM is + * 00:00:00:00:00:00 such that an explicit access to EEPROM + * is required to get real station address. + */ + eaddr = ue->ue_eaddr; + for (i = 0; i < ETHER_ADDR_LEN / 2; i++) { + axe_cmd(sc, AXE_CMD_SROM_READ, 0, AXE_EEPROM_772B_NODE_ID + i, + &eeprom); + eeprom = le16toh(eeprom); + *eaddr++ = (uint8_t)(eeprom & 0xFF); + *eaddr++ = (uint8_t)((eeprom >> 8) & 0xFF); + } + /* Wakeup PHY. */ + axe_ax88772_phywake(sc); + /* Stop MAC. */ axe_cmd(sc, AXE_CMD_RXCTL_WRITE, 0, 0, NULL); } @@ -732,6 +790,8 @@ axe_reset(struct axe_softc *sc) axe_ax88772_init(sc); else if (sc->sc_flags & AXE_FLAG_772A) axe_ax88772a_init(sc); + else if (sc->sc_flags & AXE_FLAG_772B) + axe_ax88772b_init(sc); } static void @@ -755,29 +815,29 @@ axe_attach_post(struct usb_ether *ue) sc->sc_phyno = 0; } + /* Initialize controller and get station address. */ if (sc->sc_flags & AXE_FLAG_178) { axe_ax88178_init(sc); sc->sc_tx_bufsz = 16 * 1024; + axe_cmd(sc, AXE_178_CMD_READ_NODEID, 0, 0, ue->ue_eaddr); } else if (sc->sc_flags & AXE_FLAG_772) { axe_ax88772_init(sc); sc->sc_tx_bufsz = 8 * 1024; + axe_cmd(sc, AXE_178_CMD_READ_NODEID, 0, 0, ue->ue_eaddr); } else if (sc->sc_flags & AXE_FLAG_772A) { axe_ax88772a_init(sc); sc->sc_tx_bufsz = 8 * 1024; - } - - /* - * Get station address. - */ - if (AXE_IS_178_FAMILY(sc)) axe_cmd(sc, AXE_178_CMD_READ_NODEID, 0, 0, ue->ue_eaddr); - else + } else if (sc->sc_flags & AXE_FLAG_772B) { + axe_ax88772b_init(sc); + sc->sc_tx_bufsz = 8 * 1024; + } else axe_cmd(sc, AXE_172_CMD_READ_NODEID, 0, 0, ue->ue_eaddr); /* * Fetch IPG values. */ - if (sc->sc_flags & AXE_FLAG_772A) { + if (sc->sc_flags & (AXE_FLAG_772A | AXE_FLAG_772B)) { /* Set IPG values. */ sc->sc_ipgs[0] = 0x15; sc->sc_ipgs[1] = 0x16; @@ -1104,18 +1164,30 @@ axe_init(struct usb_ether *ue) axe_cmd(sc, AXE_172_CMD_WRITE_IPG2, 0, sc->sc_ipgs[2], NULL); } - /* Enable receiver, set RX mode */ + /* AX88772B uses different maximum frame burst configuration. */ + if (sc->sc_flags & AXE_FLAG_772B) + axe_cmd(sc, AXE_772B_CMD_RXCTL_WRITE_CFG, + ax88772b_mfb_table[AX88772B_MFB_16K].threshold, + ax88772b_mfb_table[AX88772B_MFB_16K].byte_cnt, NULL); + + /* Enable receiver, set RX mode. */ rxmode = (AXE_RXCMD_MULTICAST | AXE_RXCMD_ENABLE); if (AXE_IS_178_FAMILY(sc)) { -#if 0 - rxmode |= AXE_178_RXCMD_MFB_2048; /* chip default */ -#else - /* - * Default Rx buffer size is too small to get - * maximum performance. - */ - rxmode |= AXE_178_RXCMD_MFB_16384; -#endif + if (sc->sc_flags & AXE_FLAG_772B) { + /* + * Select RX header format type 1. Aligning IP + * header on 4 byte boundary is not needed + * because we always copy the received frame in + * RX handler. + */ + rxmode |= AXE_772B_RXCMD_HDR_TYPE_1; + } else { + /* + * Default Rx buffer size is too small to get + * maximum performance. + */ + rxmode |= AXE_178_RXCMD_MFB_16384; + } } else { rxmode |= AXE_172_RXCMD_UNICAST; } Modified: head/sys/dev/usb/net/if_axereg.h ============================================================================== --- head/sys/dev/usb/net/if_axereg.h Thu Jul 14 15:35:43 2011 (r224019) +++ head/sys/dev/usb/net/if_axereg.h Thu Jul 14 17:19:00 2011 (r224020) @@ -96,6 +96,8 @@ #define AXE_CMD_READ_VLAN_CTRL 0x4027 #define AXE_CMD_WRITE_VLAN_CTRL 0x4028 +#define AXE_772B_CMD_RXCTL_WRITE_CFG 0x012A + #define AXE_SW_RESET_CLEAR 0x00 #define AXE_SW_RESET_RR 0x01 #define AXE_SW_RESET_RT 0x02 @@ -132,12 +134,18 @@ #define AXE_178_RXCMD_KEEP_INVALID_CRC 0x0004 #define AXE_RXCMD_BROADCAST 0x0008 #define AXE_RXCMD_MULTICAST 0x0010 +#define AXE_RXCMD_ACCEPT_RUNT 0x0040 /* AX88772B */ #define AXE_RXCMD_ENABLE 0x0080 #define AXE_178_RXCMD_MFB_MASK 0x0300 #define AXE_178_RXCMD_MFB_2048 0x0000 #define AXE_178_RXCMD_MFB_4096 0x0100 #define AXE_178_RXCMD_MFB_8192 0x0200 #define AXE_178_RXCMD_MFB_16384 0x0300 +#define AXE_772B_RXCMD_HDR_TYPE_0 0x0000 +#define AXE_772B_RXCMD_HDR_TYPE_1 0x0100 +#define AXE_772B_RXCMD_IPHDR_ALIGN 0x0200 +#define AXE_772B_RXCMD_ADD_CHKSUM 0x0400 +#define AXE_RXCMD_LOOPBACK 0x1000 /* AX88772A/AX88772B */ #define AXE_PHY_SEL_PRI 1 #define AXE_PHY_SEL_SEC 0 @@ -176,7 +184,7 @@ #define AXE_PHY_MODE_REALTEK_8251CL 0x0E #define AXE_PHY_MODE_ATTANSIC 0x40 -/* AX88772A only. */ +/* AX88772A/AX88772B only. */ #define AXE_SW_PHY_SELECT_EXT 0x0000 #define AXE_SW_PHY_SELECT_EMBEDDED 0x0001 #define AXE_SW_PHY_SELECT_AUTO 0x0002 @@ -199,6 +207,24 @@ #define AXE_CONFIG_IDX 0 /* config number 1 */ #define AXE_IFACE_IDX 0 +/* EEPROM Map. */ +#define AXE_EEPROM_772B_NODE_ID 0x04 +#define AXE_EEPROM_772B_PHY_PWRCFG 0x18 + +struct ax88772b_mfb { + int byte_cnt; + int threshold; + int size; +}; +#define AX88772B_MFB_2K 0 +#define AX88772B_MFB_4K 1 +#define AX88772B_MFB_6K 2 +#define AX88772B_MFB_8K 3 +#define AX88772B_MFB_16K 4 +#define AX88772B_MFB_20K 5 +#define AX88772B_MFB_24K 6 +#define AX88772B_MFB_32K 7 + struct axe_sframe_hdr { uint16_t len; uint16_t ilen; @@ -228,6 +254,7 @@ struct axe_softc { uint8_t sc_ipgs[3]; uint8_t sc_phyaddrs[2]; + uint16_t sc_pwrcfg; int sc_tx_bufsz; }; Modified: head/sys/dev/usb/usbdevs ============================================================================== --- head/sys/dev/usb/usbdevs Thu Jul 14 15:35:43 2011 (r224019) +++ head/sys/dev/usb/usbdevs Thu Jul 14 17:19:00 2011 (r224020) @@ -1045,6 +1045,7 @@ product ASIX AX88172 0x1720 10/100 Ethe product ASIX AX88178 0x1780 AX88178 product ASIX AX88772 0x7720 AX88772 product ASIX AX88772A 0x772a AX88772A USB 2.0 10/100 Ethernet +product ASIX AX88772B 0x772b AX88772B USB 2.0 10/100 Ethernet /* ASUS products */ product ASUS2 USBN11 0x0b05 USB-N11 From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 17:35:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 438D1106577C; Thu, 14 Jul 2011 17:35:00 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3EB278FC1C; Thu, 14 Jul 2011 17:35:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EHZ0On038909; Thu, 14 Jul 2011 17:35:00 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EHZ0Ao038907; Thu, 14 Jul 2011 17:35:00 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201107141735.p6EHZ0Ao038907@svn.freebsd.org> From: Pyun YongHyeon Date: Thu, 14 Jul 2011 17:35:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224023 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 17:35:14 -0000 Author: yongari Date: Thu Jul 14 17:34:59 2011 New Revision: 224023 URL: http://svn.freebsd.org/changeset/base/224023 Log: Document AX88772B and AX88760. AX88760 is treated as AX88772A in driver. Mention all ASIX USB controllers that are supported by axe(4). Reword media types and explicly mention AX88178 is the only controller that supports gigabit link. While I'm here use shorten model instead of showing all controller model numbers. Modified: head/share/man/man4/axe.4 Modified: head/share/man/man4/axe.4 ============================================================================== --- head/share/man/man4/axe.4 Thu Jul 14 17:34:56 2011 (r224022) +++ head/share/man/man4/axe.4 Thu Jul 14 17:34:59 2011 (r224023) @@ -30,12 +30,12 @@ .\" .\" $FreeBSD$ .\" -.Dd January 16, 2011 +.Dd July 14, 2011 .Dt AXE 4 .Os .Sh NAME .Nm axe -.Nd "ASIX Electronics AX88172/178/772 USB Ethernet driver" +.Nd "ASIX Electronics AX88x7x/760 USB Ethernet driver" .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -59,12 +59,14 @@ if_axe_load="YES" The .Nm driver provides support for USB Ethernet adapters based on the ASIX -Electronics AX88172, AX88178 and AX88772 USB 2.0 chipsets. +Electronics AX88172, AX88178, AX88772, AX88772A, AX88772B and AX88760 +USB 2.0 chipsets. .Pp -The AX88172 and AX88178 are USB 2.0 devices that contain a 10/100 +The AX88172, AX88772, AX88772A, AX88772B and AX88760 contain a 10/100 Ethernet MAC with MII interface and are designed to work with both Ethernet and HomePNA transceivers. -The AX88772 will additionally support 10/100/1000 MACs. +The AX88178 has a 10/100/1000 Ethernet MAC with GMII/RGMII interface +for interfacing with Gigabit Ethernet PHY. .Pp These devices will operate with both USB 1.x and USB 2.0 controllers, however performance with 1.x @@ -85,43 +87,48 @@ driver supports the following media type .It Cm autoselect Enable autoselection of the media type and options. The user can manually override -the autoselected mode by adding media options to the -.Pa /etc/rc.conf -file. +the autoselected mode by adding media options to +.Xr rc.conf 5 . .It Cm 10baseT/UTP Set 10Mbps operation. The +.Xr ifconfig 8 .Cm mediaopt -option can also be used to enable -.Cm full-duplex -operation. -Not specifying +option can also be used to select either .Cm full-duplex -implies +or .Cm half-duplex -mode. +modes. .It Cm 100baseTX Set 100Mbps (Fast Ethernet) operation. The +.Xr ifconfig 8 .Cm mediaopt -option can also be used to enable +option can also be used to select either .Cm full-duplex -operation. -Not specifying +or +.Cm half-duplex +modes. +.It Cm 1000baseT +Set 1000Mbps (Gigabit Ethernet) operation (AX88178 only). +The +.Xr ifconfig 8 +.Cm mediaopt +option can also be used to select either .Cm full-duplex -implies +or .Cm half-duplex -mode. +modes. .El .Pp The .Nm driver supports the following media options: -.Bl -tag -width ".Cm 10baseT/UTP" +.Bl -tag -width ".Cm full-duplex" .It Cm full-duplex Force full duplex operation. -The interface will operate in -half duplex mode if this media option is not specified. +.It Cm half-duplex +Force half duplex operation. .El .Pp For more information on configuring this device, see @@ -129,8 +136,8 @@ For more information on configuring this .Sh HARDWARE The .Nm -driver supports ASIX Electronics AX88172/AX88178/AX88772 based USB Ethernet -adapters including: +driver supports ASIX Electronics AX88172/AX88178/AX88772/AX88772A/AX88772B/AX88760 +based USB Ethernet adapters including: .Pp AX88172: .Bl -bullet -compact @@ -139,6 +146,8 @@ AboCom UF200 .It Acer Communications EP1427X2 .It +ASIX AX88172 +.It ATen UC210T .It Billionton SnapPort @@ -167,6 +176,8 @@ System TALKS Inc.\& SGC-X2UL AX88178: .Bl -bullet -compact .It +ASIX AX88178 +.It Belkin F5D5055 .It Logitec LAN-GTJ/U2A @@ -181,9 +192,9 @@ Sitecom Europe LN-028 AX88772: .Bl -bullet -compact .It -Buffalo (Melco Inc.) LUA3-U2-ATX +ASIX AX88772 .It -Cisco-Linksys USB200Mv2 +Buffalo (Melco Inc.) LUA3-U2-ATX .It D-Link DUBE100B1 .It @@ -191,6 +202,27 @@ Planex UE-200TX-G .It Planex UE-200TX-G2 .El +.Pp +AX88772A: +.Bl -bullet -compact +.It +ASIX AX88772A +.It +Cisco-Linksys USB200Mv2 +.El +.Pp +AX88772B: +.Bl -bullet -compact +.It +ASIX AX88772B +.El +.Pp +AX88760: +.Bl -bullet -compact +.It +ASIX AX88760 +.El +.It .Sh DIAGNOSTICS .Bl -diag .It "axe%d: watchdog timeout" @@ -209,7 +241,7 @@ The driver failed to allocate an mbuf fo .Xr rgephy 4 , .Xr ifconfig 8 .Rs -.%T "ASIX AX88172 AX88178 and AX88772 data sheets" +.%T "ASIX AX88x7x and AX88760 data sheets" .%U http://www.asix.com.tw .Re .Sh HISTORY From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 17:43:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BCFD1065670; Thu, 14 Jul 2011 17:43:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1BF4D8FC12; Thu, 14 Jul 2011 17:43:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EHhIiP039174; Thu, 14 Jul 2011 17:43:18 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EHhISF039172; Thu, 14 Jul 2011 17:43:18 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201107141743.p6EHhISF039172@svn.freebsd.org> From: Hans Petter Selasky Date: Thu, 14 Jul 2011 17:43:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224024 - head/sys/dev/sound/usb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 17:43:19 -0000 Author: hselasky Date: Thu Jul 14 17:43:18 2011 New Revision: 224024 URL: http://svn.freebsd.org/changeset/base/224024 Log: Restore USB MIDI transmit buffer size to 1Kbyte. MFC after: 1 week Modified: head/sys/dev/sound/usb/uaudio.c Modified: head/sys/dev/sound/usb/uaudio.c ============================================================================== --- head/sys/dev/sound/usb/uaudio.c Thu Jul 14 17:34:59 2011 (r224023) +++ head/sys/dev/sound/usb/uaudio.c Thu Jul 14 17:43:18 2011 (r224024) @@ -192,7 +192,7 @@ struct uaudio_chan { }; #define UMIDI_CABLES_MAX 16 /* units */ -#define UMIDI_TX_FRAMES 128 /* units */ +#define UMIDI_TX_FRAMES 256 /* units */ #define UMIDI_TX_BUFFER (UMIDI_TX_FRAMES * 4) /* bytes */ enum { From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 17:43:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C22C6106564A; Thu, 14 Jul 2011 17:43:23 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B26798FC15; Thu, 14 Jul 2011 17:43:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EHhN0p039215; Thu, 14 Jul 2011 17:43:23 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EHhNeO039213; Thu, 14 Jul 2011 17:43:23 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107141743.p6EHhNeO039213@svn.freebsd.org> From: Xin LI Date: Thu, 14 Jul 2011 17:43:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224025 - head/sbin/dumpfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 17:43:23 -0000 Author: delphij Date: Thu Jul 14 17:43:23 2011 New Revision: 224025 URL: http://svn.freebsd.org/changeset/base/224025 Log: Use _PATH_DEV and make the format more consistent with GEOM_LABEL. Submitted by: ivoras Modified: head/sbin/dumpfs/dumpfs.c Modified: head/sbin/dumpfs/dumpfs.c ============================================================================== --- head/sbin/dumpfs/dumpfs.c Thu Jul 14 17:43:18 2011 (r224024) +++ head/sbin/dumpfs/dumpfs.c Thu Jul 14 17:43:23 2011 (r224025) @@ -68,6 +68,7 @@ static const char rcsid[] = #include #include #include +#include #include #include #include @@ -146,7 +147,7 @@ int dumpfsid(void) { - printf("/dev/ufsid/%x%x\n", afs.fs_id[0], afs.fs_id[1]); + printf("%sufsid/%08x%08x\n", _PATH_DEV, afs.fs_id[0], afs.fs_id[1]); return 0; } From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 18:06:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14986106564A; Thu, 14 Jul 2011 18:06:14 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 04D3A8FC18; Thu, 14 Jul 2011 18:06:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EI6DCm039969; Thu, 14 Jul 2011 18:06:13 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EI6Dr1039967; Thu, 14 Jul 2011 18:06:13 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107141806.p6EI6Dr1039967@svn.freebsd.org> From: Kirk McKusick Date: Thu, 14 Jul 2011 18:06:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224027 - head/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 18:06:14 -0000 Author: mckusick Date: Thu Jul 14 18:06:13 2011 New Revision: 224027 URL: http://svn.freebsd.org/changeset/base/224027 Log: Consistently check mount flag (MNTK_SUJ) rather than superblock flag (FS_SUJ) when determining whether to do journaling-based operations. The mount flag is set only when journaling is active while the superblock flag is set to indicate that journaling is to be used. For example, when the filesystem is mounted read-only, the journaling may be present (FS_SUJ) but not active (MNTK_SUJ). Inappropriate checking of the FS_SUJ flag was causing some journaling actions to be attempted at inappropriate times. Modified: head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Thu Jul 14 17:50:16 2011 (r224026) +++ head/sys/ufs/ffs/ffs_softdep.c Thu Jul 14 18:06:13 2011 (r224027) @@ -5199,7 +5199,7 @@ newfreefrag(ip, blkno, size, lbn) freefrag->ff_blkno = blkno; freefrag->ff_fragsize = size; - if (fs->fs_flags & FS_SUJ) { + if ((ip->i_ump->um_mountp->mnt_kern_flag & MNTK_SUJ) != 0) { freefrag->ff_jdep = (struct worklist *) newjfreefrag(freefrag, ip, blkno, size, lbn); } else { @@ -8928,7 +8928,7 @@ softdep_setup_sbupdate(ump, fs, bp) struct sbdep *sbdep; struct worklist *wk; - if ((fs->fs_flags & FS_SUJ) == 0) + if ((ump->um_mountp->mnt_kern_flag & MNTK_SUJ) == 0) return; LIST_FOREACH(wk, &bp->b_dep, wk_list) if (wk->wk_type == D_SBDEP) From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 18:38:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35BA3106566C; Thu, 14 Jul 2011 18:38:11 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 261A48FC19; Thu, 14 Jul 2011 18:38:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EIcBX6041020; Thu, 14 Jul 2011 18:38:11 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EIcBtJ041018; Thu, 14 Jul 2011 18:38:11 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201107141838.p6EIcBtJ041018@svn.freebsd.org> From: Gleb Smirnoff Date: Thu, 14 Jul 2011 18:38:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224031 - head/sys/netgraph X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 18:38:11 -0000 Author: glebius Date: Thu Jul 14 18:38:10 2011 New Revision: 224031 URL: http://svn.freebsd.org/changeset/base/224031 Log: In ng_attach_cntl() first allocate things that may fail, and then do the rest of initialization. This simplifies code and fixes a double free in failure scenario. Reviewed by: bz Modified: head/sys/netgraph/ng_socket.c Modified: head/sys/netgraph/ng_socket.c ============================================================================== --- head/sys/netgraph/ng_socket.c Thu Jul 14 18:37:10 2011 (r224030) +++ head/sys/netgraph/ng_socket.c Thu Jul 14 18:38:10 2011 (r224031) @@ -525,33 +525,32 @@ ng_attach_cntl(struct socket *so) { struct ngsock *priv; struct ngpcb *pcbp; + node_p node; int error; - /* Allocate node private info */ - priv = malloc(sizeof(*priv), M_NETGRAPH_SOCK, M_WAITOK | M_ZERO); - /* Setup protocol control block */ - if ((error = ng_attach_common(so, NG_CONTROL)) != 0) { - free(priv, M_NETGRAPH_SOCK); + if ((error = ng_attach_common(so, NG_CONTROL)) != 0) return (error); - } pcbp = sotongpcb(so); - /* Link the pcb the private data. */ - priv->ctlsock = pcbp; - pcbp->sockdata = priv; - priv->refs++; - - /* Initialize mutex. */ - mtx_init(&priv->mtx, "ng_socket", NULL, MTX_DEF); - /* Make the generic node components */ - if ((error = ng_make_node_common(&typestruct, &priv->node)) != 0) { - free(priv, M_NETGRAPH_SOCK); + if ((error = ng_make_node_common(&typestruct, &node)) != 0) { ng_detach_common(pcbp, NG_CONTROL); return (error); } + /* Allocate node private info */ + priv = malloc(sizeof(*priv), M_NETGRAPH_SOCK, M_WAITOK | M_ZERO); + + /* Initialize mutex. */ + mtx_init(&priv->mtx, "ng_socket", NULL, MTX_DEF); + + /* Link the pcb the private data. */ + priv->ctlsock = pcbp; + pcbp->sockdata = priv; + priv->refs++; + priv->node = node; + /* Store a hint for netstat(1). */ priv->node_id = priv->node->nd_ID; From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 18:49:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C62861065670; Thu, 14 Jul 2011 18:49:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AC1498FC17; Thu, 14 Jul 2011 18:49:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EInNCW041445; Thu, 14 Jul 2011 18:49:23 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EInN7S041440; Thu, 14 Jul 2011 18:49:23 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107141849.p6EInN7S041440@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 18:49:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224032 - stable/8/sys/dev/puc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 18:49:23 -0000 Author: jhb Date: Thu Jul 14 18:49:23 2011 New Revision: 224032 URL: http://svn.freebsd.org/changeset/base/224032 Log: MFC 223091: Add location and pnpinfo strings for puc device ports. The location is announced during boot and contains the port number. The pnpinfo string lists the port type (PUC_TYPE_* constants). Modified: stable/8/sys/dev/puc/puc.c stable/8/sys/dev/puc/puc_bfe.h stable/8/sys/dev/puc/puc_pccard.c stable/8/sys/dev/puc/puc_pci.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/dev/puc/puc.c ============================================================================== --- stable/8/sys/dev/puc/puc.c Thu Jul 14 18:38:10 2011 (r224031) +++ stable/8/sys/dev/puc/puc.c Thu Jul 14 18:49:23 2011 (r224032) @@ -726,3 +726,41 @@ puc_bus_read_ivar(device_t dev, device_t } return (0); } + +int +puc_bus_print_child(device_t dev, device_t child) +{ + struct puc_port *port; + int retval; + + port = device_get_ivars(child); + retval = 0; + + retval += bus_print_child_header(dev, child); + retval += printf(" at port %d", port->p_nr); + retval += bus_print_child_footer(dev, child); + + return (retval); +} + +int +puc_bus_child_location_str(device_t dev, device_t child, char *buf, + size_t buflen) +{ + struct puc_port *port; + + port = device_get_ivars(child); + snprintf(buf, buflen, "port=%d", port->p_nr); + return (0); +} + +int +puc_bus_child_pnpinfo_str(device_t dev, device_t child, char *buf, + size_t buflen) +{ + struct puc_port *port; + + port = device_get_ivars(child); + snprintf(buf, buflen, "type=%d", port->p_type); + return (0); +} Modified: stable/8/sys/dev/puc/puc_bfe.h ============================================================================== --- stable/8/sys/dev/puc/puc_bfe.h Thu Jul 14 18:38:10 2011 (r224031) +++ stable/8/sys/dev/puc/puc_bfe.h Thu Jul 14 18:49:23 2011 (r224032) @@ -82,9 +82,12 @@ int puc_bfe_attach(device_t); int puc_bfe_detach(device_t); int puc_bfe_probe(device_t, const struct puc_cfg *); +int puc_bus_child_location_str(device_t, device_t, char *, size_t); +int puc_bus_child_pnpinfo_str(device_t, device_t, char *, size_t); struct resource *puc_bus_alloc_resource(device_t, device_t, int, int *, u_long, u_long, u_long, u_int); int puc_bus_get_resource(device_t, device_t, int, int, u_long *, u_long *); +int puc_bus_print_child(device_t, device_t); int puc_bus_read_ivar(device_t, device_t, int, uintptr_t *); int puc_bus_release_resource(device_t, device_t, int, int, struct resource *); int puc_bus_setup_intr(device_t, device_t, struct resource *, int, Modified: stable/8/sys/dev/puc/puc_pccard.c ============================================================================== --- stable/8/sys/dev/puc/puc_pccard.c Thu Jul 14 18:38:10 2011 (r224031) +++ stable/8/sys/dev/puc/puc_pccard.c Thu Jul 14 18:49:23 2011 (r224032) @@ -82,7 +82,9 @@ static device_method_t puc_pccard_method DEVMETHOD(bus_read_ivar, puc_bus_read_ivar), DEVMETHOD(bus_setup_intr, puc_bus_setup_intr), DEVMETHOD(bus_teardown_intr, puc_bus_teardown_intr), - DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_print_child, puc_bus_print_child), + DEVMETHOD(bus_child_pnpinfo_str, puc_bus_child_pnpinfo_str), + DEVMETHOD(bus_child_location_str, puc_bus_child_location_str), DEVMETHOD(bus_driver_added, bus_generic_driver_added), { 0, 0 } }; Modified: stable/8/sys/dev/puc/puc_pci.c ============================================================================== --- stable/8/sys/dev/puc/puc_pci.c Thu Jul 14 18:38:10 2011 (r224031) +++ stable/8/sys/dev/puc/puc_pci.c Thu Jul 14 18:49:23 2011 (r224032) @@ -132,7 +132,9 @@ static device_method_t puc_pci_methods[] DEVMETHOD(bus_read_ivar, puc_bus_read_ivar), DEVMETHOD(bus_setup_intr, puc_bus_setup_intr), DEVMETHOD(bus_teardown_intr, puc_bus_teardown_intr), - DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_print_child, puc_bus_print_child), + DEVMETHOD(bus_child_pnpinfo_str, puc_bus_child_pnpinfo_str), + DEVMETHOD(bus_child_location_str, puc_bus_child_location_str), DEVMETHOD(bus_driver_added, bus_generic_driver_added), { 0, 0 } }; From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 18:50:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4DEF1065673 for ; Thu, 14 Jul 2011 18:50:10 +0000 (UTC) (envelope-from advenced@bmo.com) Received: from dcm-1357.dedicated.hostalia.com (matarogroc.es [89.17.216.83]) by mx1.freebsd.org (Postfix) with ESMTP id 3E0F58FC26 for ; Thu, 14 Jul 2011 18:50:09 +0000 (UTC) Received: (qmail 26089 invoked from network); 14 Jul 2011 20:23:28 +0200 Received: from 71-9-126-114.static.lsan.ca.charter.com (HELO bmo.com) (71.9.126.114) by matarogroc.es with SMTP; 14 Jul 2011 20:23:27 +0200 From: BMO Bank Of Montreal To: svn-src-all@freebsd.org Date: 14 Jul 2011 11:23:27 -0700 Message-ID: <20110714112327.047A9AFFC091955B@bmo.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Important notification from BMO Bank Of Montreal. X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 18:50:11 -0000 Dear Bank of Montreal Customer, We recently reviewed your account, and we are suspecting= that your BMO Online Banking account may have been acces= sed from an unauthorized computer. This may be due to changes in your IP adress or location= =2E Please click on the following link, to verify your Onlin= e Banking [1]https://w= ww1.bmo.com/cgi-bin/netbnx/NBmain ------------------------------------ Please login as soon as possible. References 1. 3D"http://projects.janvaneyck.nl/bmo/" From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 18:58:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 099A7106566B; Thu, 14 Jul 2011 18:58:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E42B98FC17; Thu, 14 Jul 2011 18:58:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EIwIPZ041752; Thu, 14 Jul 2011 18:58:18 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EIwIpH041750; Thu, 14 Jul 2011 18:58:18 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107141858.p6EIwIpH041750@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 18:58:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224033 - stable/8/sys/boot/i386/zfsboot X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 18:58:19 -0000 Author: jhb Date: Thu Jul 14 18:58:18 2011 New Revision: 224033 URL: http://svn.freebsd.org/changeset/base/224033 Log: MFC 223477,223597,223611: - The recent change to increase the zfsboot size to 64k made a few BIOSes unhappy (probably they don't handle crossing the 64k boundary, etc.). Fix this by changing zfsldr to use a loop reading from the disk one sector at a time. To avoid trashing the saved copy of the MBR which is used for disk I/O, read zfsboot2 at address 0x9000. This has the advantage that BTX no longer needs to be relocated as it is read into the correct location. However, the loop to relocate zfsboot2.bin can now cross a 64k boundary, so change it to use relative segments instead. (This will need further work if zfsboot2.bin ever exceeds 64k.) While here, stop storing a relocated copy of zfsldr at 0x700. This was only used by the xread hack which has recently been removed (and even that use was dubious). Also, include the BIOS error code as hex when reporting read errors to aid in debugging. - Remove the fake BPB from zfsldr. zfsldr doesn't support booting from floppies, so it will not be used as the start of an emulated floppy image on a bootable CD which is what the fake BPB was used for. - Only check that EDD packet mode is available once at the start of zfsldr rather than for each disk sector now that we read data in one sector at a time. As a result, collapse the remaining bits of read up into nread and rename nread to read. Modified: stable/8/sys/boot/i386/zfsboot/zfsldr.S Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/boot/i386/zfsboot/zfsldr.S ============================================================================== --- stable/8/sys/boot/i386/zfsboot/zfsldr.S Thu Jul 14 18:49:23 2011 (r224032) +++ stable/8/sys/boot/i386/zfsboot/zfsldr.S Thu Jul 14 18:58:18 2011 (r224033) @@ -16,7 +16,6 @@ */ /* Memory Locations */ - .set MEM_REL,0x700 # Relocation address .set MEM_ARG,0x900 # Arguments .set MEM_ORG,0x7c00 # Origin .set MEM_BUF,0x8000 # Load area @@ -38,43 +37,6 @@ .globl start .code16 -start: jmp main # Start recognizably - -/* - * This is the start of a standard BIOS Parameter Block (BPB). Most bootable - * FAT disks have this at the start of their MBR. While normal BIOS's will - * work fine without this section, IBM's El Torito emulation "fixes" up the - * BPB by writing into the memory copy of the MBR. Rather than have data - * written into our code, we'll define a BPB to work around it. - * The data marked with (T) indicates a field required for a ThinkPad to - * recognize the disk and (W) indicates fields written from IBM BIOS code. - * The use of the BPB is based on what OpenBSD and NetBSD implemented in - * their boot code but the required fields were determined by trial and error. - * - * Note: If additional space is needed in boot1, one solution would be to - * move the "prompt" message data (below) to replace the OEM ID. - */ - .org 0x03, 0x00 -oemid: .space 0x08, 0x00 # OEM ID - - .org 0x0b, 0x00 -bpb: .word 512 # sector size (T) - .byte 0 # sectors/clustor - .word 0 # reserved sectors - .byte 0 # number of FATs - .word 0 # root entries - .word 0 # small sectors - .byte 0 # media type (W) - .word 0 # sectors/fat - .word 18 # sectors per track (T) - .word 2 # number of heads (T) - .long 0 # hidden sectors (W) - .long 0 # large sectors - - .org 0x24, 0x00 -ebpb: .byte 0 # BIOS physical drive number (W) - - .org 0x25,0x90 /* * Load the rest of zfsboot2 and BTX up, copy the parts to the right locations, * and start it all up. @@ -84,33 +46,24 @@ ebpb: .byte 0 # BIOS physical drive nu * Setup the segment registers to flat addressing (segment 0) and setup the * stack to end just below the start of our code. */ -main: cld # String ops inc +start: cld # String ops inc xor %cx,%cx # Zero mov %cx,%es # Address mov %cx,%ds # data mov %cx,%ss # Set up mov $start,%sp # stack /* - * Relocate ourself to MEM_REL. Since %cx == 0, the inc %ch sets - * %cx == 0x100. - */ - mov %sp,%si # Source - mov $MEM_REL,%di # Destination - incb %ch # Word count - rep # Copy - movsw # code -/* - * If we are on a hard drive, then load the MBR and look for the first - * FreeBSD slice. We use the fake partition entry below that points to - * the MBR when we call nread. The first pass looks for the first active - * FreeBSD slice. The second pass looks for the first non-active FreeBSD - * slice if the first one fails. - */ - mov $part4,%si # Partition - cmpb $0x80,%dl # Hard drive? - jb main.4 # No - movb $0x1,%dh # Block count - callw nread # Read MBR + * Load the MBR and look for the first FreeBSD slice. We use the fake + * partition entry below that points to the MBR when we call read. + * The first pass looks for the first active FreeBSD slice. The + * second pass looks for the first non-active FreeBSD slice if the + * first one fails. + */ + call check_edd # Make sure EDD works + mov $part4,%si # Dummy partition + xor %eax,%eax # Read MBR + movl $MEM_BUF,%ebx # from first + call read # sector mov $0x1,%cx # Two passes main.1: mov $MEM_BUF+PRT_OFF,%si # Partition table movb $0x1,%dh # Partition @@ -131,60 +84,55 @@ main.3: add $0x10,%si # Next entry */ mov $msg_part,%si # Message jmp error # Error -/* - * Floppies use partition 0 of drive 0. - */ -main.4: xor %dx,%dx # Partition:drive /* * Ok, we have a slice and drive in %dx now, so use that to locate and * load boot2. %si references the start of the slice we are looking - * for, so go ahead and load up the 64 sectors starting at sector 1024 + * for, so go ahead and load up the 128 sectors starting at sector 1024 * (i.e. after the two vdev labels). We don't have do anything fancy * here to allow for an extra copy of boot1 and a partition table * (compare to this section of the UFS bootstrap) so we just load it - * all at 0x8000. The first part of boot2 is BTX, which wants to run + * all at 0x9000. The first part of boot2 is BTX, which wants to run * at 0x9000. The boot2.bin binary starts right after the end of BTX, * so we have to figure out where the start of it is and then move the - * binary to 0xc000. After we have moved the client, we relocate BTX - * itself to 0x9000 - doing it in this order means that none of the - * memcpy regions overlap which would corrupt the copy. Normally, BTX - * clients start at MEM_USR, or 0xa000, but when we use btxld to - * create zfsboot2, we use an entry point of 0x2000. That entry point is - * relative to MEM_USR; thus boot2.bin starts at 0xc000. + * binary to 0xc000. Normally, BTX clients start at MEM_USR, or 0xa000, + * but when we use btxld to create zfsboot2, we use an entry point of + * 0x2000. That entry point is relative to MEM_USR; thus boot2.bin + * starts at 0xc000. * * The load area and the target area for the client overlap so we have * to use a decrementing string move. We also play segment register * games with the destination address for the move so that the client * can be larger than 16k (which would overflow the zero segment since - * the client starts at 0xc000). Relocating BTX is easy since the load - * area and target area do not overlap. + * the client starts at 0xc000). */ main.5: mov %dx,MEM_ARG # Save args - movb $NSECT,%dh # Sector count + mov $NSECT,%cx # Sector count movl $1024,%eax # Offset to boot2 - callw nread.1 # Read disk -main.6: mov $MEM_BUF,%si # BTX (before reloc) - mov 0xa(%si),%bx # Get BTX length and set + mov $MEM_BTX,%ebx # Destination buffer +main.6: pushal # Save params + call read # Read disk + popal # Restore + incl %eax # Advance to + add $SIZ_SEC,%ebx # next sector + loop main.6 # If not last, read another + mov MEM_BTX+0xa,%bx # Get BTX length mov $NSECT*SIZ_SEC-1,%di # Size of load area (less one) - mov %di,%si # End of load - add $MEM_BUF,%si # area + mov %di,%si # End of load area, 0x9000 rel sub %bx,%di # End of client, 0xc000 rel mov %di,%cx # Size of inc %cx # client + mov $(MEM_BTX)>>4,%dx # Segment + mov %dx,%ds # addressing 0x9000 mov $(MEM_USR+2*SIZ_PAG)>>4,%dx # Segment mov %dx,%es # addressing 0xc000 std # Move with decrement rep # Relocate movsb # client - mov %ds,%dx # Back to - mov %dx,%es # zero segment - mov $MEM_BUF,%si # BTX (before reloc) - mov $MEM_BTX,%di # BTX - mov %bx,%cx # Get BTX length - cld # Increment this time - rep # Relocate - movsb # BTX + cld # Back to increment + xor %dx,%dx # Back + mov %ds,%dx # to zero + mov %dx,%es # segment /* * Enable A20 so we can access memory above 1 meg. @@ -210,33 +158,37 @@ seta20.3: sti # Enable interrupts /* - * Trampoline used to call read from within zfsldr. Sets up an EDD - * packet on the stack and passes it to read. + * Read a sector from the disk. Sets up an EDD packet on the stack + * and passes it to read. We assume that the destination address is + * always segment-aligned. * * %eax - int - LBA to read in relative to partition start + * %ebx - ptr - destination address * %dl - byte - drive to read from - * %dh - byte - num sectors to read * %si - ptr - MBR partition entry */ -nread: xor %eax,%eax # Sector offset in partition -nread.1: xor %ecx,%ecx # Get +read: xor %ecx,%ecx # Get addl 0x8(%si),%eax # LBA adc $0,%ecx pushl %ecx # Starting absolute block pushl %eax # block number - push %es # Address of - push $MEM_BUF # transfer buffer - xor %ax,%ax # Number of - movb %dh,%al # blocks to - push %ax # transfer + shr $4,%ebx # Convert to segment + push %bx # Address of + push $0 # transfer buffer + push $0x1 # Read 1 sector push $0x10 # Size of packet - mov %sp,%bp # Packet pointer - callw read # Read from disk - lea 0x10(%bp),%sp # Clear stack - jnc return # If success, return - mov $msg_read,%si # Otherwise, set the error - # message and fall through to - # the error routine + mov %sp,%si # Packet pointer + mov $0x42,%ah # BIOS: Extended + int $0x13 # read + jc read.1 # If error, fail + lea 0x10(%si),%sp # Clear stack + ret # If success, return +read.1: mov %ah,%al # Format + mov $read_err,%di # error + call hex8 # code + mov $msg_read,%si # Set the error message and + # fall through to the error + # routine /* * Print out the error message pointed to by %ds:(%si) followed * by a prompt, wait for a keypress, and then reboot the machine. @@ -257,51 +209,49 @@ putstr.0: mov $0x7,%bx # Page:attribu putstr: lodsb # Get char testb %al,%al # End of string? jne putstr.0 # No - + ret # To caller /* - * Overused return code. ereturn is used to return an error from the - * read function. Since we assume putstr succeeds, we (ab)use the - * same code when we return from putstr. - */ -ereturn: movb $0x1,%ah # Invalid - stc # argument -return: retw # To caller -/* - * Reads sectors from the disk. If EDD is enabled, then check if it is - * installed and use it if it is. If it is not installed or not enabled, then - * fall back to using CHS. Since we use a LBA, if we are using CHS, we have to - * fetch the drive parameters from the BIOS and divide it out ourselves. - * Call with: - * - * %dl - byte - drive number - * stack - 10 bytes - EDD Packet + * Check to see if the disk supports EDD. zfsboot requires EDD and does not + * support older C/H/S disk I/O. */ -read: cmpb $0x80,%dl # Hard drive? - jb read.1 # No, use CHS +check_edd: cmpb $0x80,%dl # Hard drive? + jb check_edd.1 # No, fail to boot mov $0x55aa,%bx # Magic push %dx # Save movb $0x41,%ah # BIOS: Check int $0x13 # extensions present pop %dx # Restore - jc read.1 # If error, use CHS + jc check_edd.1 # If error, fail cmp $0xaa55,%bx # Magic? - jne read.1 # No, so use CHS + jne check_edd.1 # No, so fail testb $0x1,%cl # Packet interface? - jz read.1 # No, so use CHS - mov %bp,%si # Disk packet - movb $0x42,%ah # BIOS: Extended - int $0x13 # read - retw # To caller -read.1: mov $msg_chs,%si - jmp error -msg_chs: .asciz "CHS not supported" + jz check_edd.1 # No, so fail + ret # EDD ok, keep booting +check_edd.1: mov $msg_chs,%si # Warn that CHS is + jmp error # unsupported and fail +/* + * AL to hex, saving the result to [EDI]. + */ +hex8: push %ax # Save + shrb $0x4,%al # Do upper + call hex8.1 # 4 + pop %ax # Restore +hex8.1: andb $0xf,%al # Get lower 4 + cmpb $0xa,%al # Convert + sbbb $0x69,%al # to hex + das # digit + orb $0x20,%al # To lower case + stosb # Save char + ret # (Recursive) /* Messages */ -msg_read: .asciz "Read" -msg_part: .asciz "Boot" +msg_chs: .asciz "CHS not supported" +msg_read: .ascii "Read error: " +read_err: .asciz "XX" +msg_part: .asciz "Boot error" -prompt: .asciz " error\r\n" +prompt: .asciz "\r\n" .org PRT_OFF,0x90 From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 19:05:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C32F0106566B; Thu, 14 Jul 2011 19:05:48 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A8F7F8FC08; Thu, 14 Jul 2011 19:05:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EJ5mtR042029; Thu, 14 Jul 2011 19:05:48 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EJ5mEl042027; Thu, 14 Jul 2011 19:05:48 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107141905.p6EJ5mEl042027@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 19:05:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224034 - stable/8/usr.sbin/mtest X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 19:05:49 -0000 Author: jhb Date: Thu Jul 14 19:05:48 2011 New Revision: 224034 URL: http://svn.freebsd.org/changeset/base/224034 Log: MFC 223510: Don't die if either of INET or INET6 aren't in the running kernel. Instead, report "protocol not supported" errors at runtime if a user attempts to use a protocol that the kernel doesn't support. Modified: stable/8/usr.sbin/mtest/mtest.c Directory Properties: stable/8/usr.sbin/mtest/ (props changed) Modified: stable/8/usr.sbin/mtest/mtest.c ============================================================================== --- stable/8/usr.sbin/mtest/mtest.c Thu Jul 14 18:58:18 2011 (r224033) +++ stable/8/usr.sbin/mtest/mtest.c Thu Jul 14 19:05:48 2011 (r224034) @@ -204,14 +204,16 @@ main(int argc, char **argv) s6 = -1; #ifdef INET s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - if (s == -1) + if (s == -1 && errno != EPROTONOSUPPORT) err(1, "can't open IPv4 socket"); #endif #ifdef INET6 s6 = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); - if (s6 == -1) + if (s6 == -1 && errno != EPROTONOSUPPORT) err(1, "can't open IPv6 socket"); #endif + if (s == -1 && s6 == -1) + errc(1, EPROTONOSUPPORT, "can't open socket"); if (argc < 2) { if (isatty(STDIN_FILENO)) { @@ -371,7 +373,7 @@ af2socklen(const int af) } static void -process_cmd(char *cmd, int s, int s6 __unused, FILE *fp __unused) +process_cmd(char *cmd, int s, int s6, FILE *fp __unused) { char str1[STR_SIZE]; char str2[STR_SIZE]; @@ -457,7 +459,10 @@ process_cmd(char *cmd, int s, int s6 __u optval = (void *)&mr.mr; optlen = sizeof(mr.mr); } - if (setsockopt(s, level, optname, optval, + if (s < 0) { + warnc(EPROTONOSUPPORT, "setsockopt %s", + toptname); + } else if (setsockopt(s, level, optname, optval, optlen) == 0) { printf("ok\n"); break; @@ -496,7 +501,10 @@ process_cmd(char *cmd, int s, int s6 __u optval = (void *)&mr.mr6; optlen = sizeof(mr.mr6); } - if (setsockopt(s6, level, optname, optval, + if (s6 < 0) { + warnc(EPROTONOSUPPORT, "setsockopt %s", + toptname); + } else if (setsockopt(s6, level, optname, optval, optlen) == 0) { printf("ok\n"); break; @@ -534,6 +542,10 @@ process_cmd(char *cmd, int s, int s6 __u break; } af = su.sa.sa_family; + if (af2sock(af, s, s6) == -1) { + warnc(EPROTONOSUPPORT, "setsourcefilter"); + break; + } memset(&hints, 0, sizeof(struct addrinfo)); hints.ai_flags = AI_NUMERICHOST; @@ -593,6 +605,10 @@ process_cmd(char *cmd, int s, int s6 __u break; } af = su.sa.sa_family; + if (af2sock(af, s, s6) == -1) { + warnc(EPROTONOSUPPORT, "getsourcefilter"); + break; + } /* First determine our current filter mode. */ n = 0; @@ -700,6 +716,10 @@ process_cmd(char *cmd, int s, int s6 __u } af = su.sa.sa_family; + if (af2sock(af, s, s6) == -1) { + warnc(EPROTONOSUPPORT, "getsourcefilter"); + break; + } nsrc = nreqsrc; if (getsourcefilter(af2sock(af, s, s6), ifindex, &su.sa, su.sa.sa_len, &fmode, &nsrc, &sources[0].ss) != 0) { From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 19:09:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33401106566C; Thu, 14 Jul 2011 19:09:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2347E8FC1B; Thu, 14 Jul 2011 19:09:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EJ9nnI042187; Thu, 14 Jul 2011 19:09:49 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EJ9nqP042185; Thu, 14 Jul 2011 19:09:49 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107141909.p6EJ9nqP042185@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 19:09:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224035 - stable/8/usr.bin/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 19:09:49 -0000 Author: jhb Date: Thu Jul 14 19:09:48 2011 New Revision: 224035 URL: http://svn.freebsd.org/changeset/base/224035 Log: MFC 223841: Always skip the kernel idle process if requested, it is not specific to the 'CPU' mode. Modified: stable/8/usr.bin/top/machine.c Directory Properties: stable/8/usr.bin/top/ (props changed) Modified: stable/8/usr.bin/top/machine.c ============================================================================== --- stable/8/usr.bin/top/machine.c Thu Jul 14 19:05:48 2011 (r224034) +++ stable/8/usr.bin/top/machine.c Thu Jul 14 19:09:48 2011 (r224035) @@ -701,17 +701,16 @@ get_process_info(struct system_info *si, /* skip zombies */ continue; + if (!show_kidle && pp->ki_tdflags & TDF_IDLETD) + /* skip kernel idle process */ + continue; + if (displaymode == DISP_CPU && !show_idle && (pp->ki_pctcpu == 0 || pp->ki_stat == SSTOP || pp->ki_stat == SIDL)) /* skip idle or non-running processes */ continue; - if (displaymode == DISP_CPU && !show_kidle && - pp->ki_tdflags & TDF_IDLETD) - /* skip kernel idle process */ - continue; - if (displaymode == DISP_IO && !show_idle && p_io == 0) /* skip processes that aren't doing I/O */ continue; From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 19:18:18 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C066106564A; Thu, 14 Jul 2011 19:18:18 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EF2488FC13; Thu, 14 Jul 2011 19:18:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EJIHFg042507; Thu, 14 Jul 2011 19:18:17 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EJIH5T042502; Thu, 14 Jul 2011 19:18:17 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201107141918.p6EJIH5T042502@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 14 Jul 2011 19:18:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224036 - in head: sys/kern sys/sys usr.bin/rctl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 19:18:18 -0000 Author: trasz Date: Thu Jul 14 19:18:17 2011 New Revision: 224036 URL: http://svn.freebsd.org/changeset/base/224036 Log: Rename resource names to match these in login.conf. Modified: head/sys/kern/kern_racct.c head/sys/kern/kern_rctl.c head/sys/sys/racct.h head/usr.bin/rctl/rctl.8 Modified: head/sys/kern/kern_racct.c ============================================================================== --- head/sys/kern/kern_racct.c Thu Jul 14 19:09:48 2011 (r224035) +++ head/sys/kern/kern_racct.c Thu Jul 14 19:18:17 2011 (r224036) @@ -103,7 +103,7 @@ SDT_PROBE_DEFINE2(racct, kernel, racct, int racct_types[] = { [RACCT_CPU] = - RACCT_IN_THOUSANDS, + RACCT_IN_MILLIONS, [RACCT_DATA] = RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE, [RACCT_STACK] = @@ -141,7 +141,7 @@ int racct_types[] = { [RACCT_SHMSIZE] = RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY, [RACCT_WALLCLOCK] = - RACCT_IN_THOUSANDS }; + RACCT_IN_MILLIONS }; static void racct_add_racct(struct racct *dest, const struct racct *src) Modified: head/sys/kern/kern_rctl.c ============================================================================== --- head/sys/kern/kern_rctl.c Thu Jul 14 19:09:48 2011 (r224035) +++ head/sys/kern/kern_rctl.c Thu Jul 14 19:18:17 2011 (r224036) @@ -99,17 +99,17 @@ static struct dict subjectnames[] = { { NULL, -1 }}; static struct dict resourcenames[] = { - { "cpu", RACCT_CPU }, - { "data", RACCT_DATA }, - { "stack", RACCT_STACK }, - { "core", RACCT_CORE }, - { "rss", RACCT_RSS }, - { "memlock", RACCT_MEMLOCK }, - { "nproc", RACCT_NPROC }, - { "nofile", RACCT_NOFILE }, - { "vmem", RACCT_VMEM }, - { "npts", RACCT_NPTS }, - { "swap", RACCT_SWAP }, + { "cputime", RACCT_CPU }, + { "datasize", RACCT_DATA }, + { "stacksize", RACCT_STACK }, + { "coredumpsize", RACCT_CORE }, + { "memoryuse", RACCT_RSS }, + { "memorylocked", RACCT_MEMLOCK }, + { "maxproc", RACCT_NPROC }, + { "openfiles", RACCT_NOFILE }, + { "vmemoryuse", RACCT_VMEM }, + { "pseudoterminals", RACCT_NPTS }, + { "swapuse", RACCT_SWAP }, { "nthr", RACCT_NTHR }, { "msgqqueued", RACCT_MSGQQUEUED }, { "msgqsize", RACCT_MSGQSIZE }, @@ -907,7 +907,7 @@ rctl_string_to_rule(char *rulestr, struc error = str2int64(amountstr, &rule->rr_amount); if (error != 0) goto out; - if (RACCT_IS_IN_THOUSANDS(rule->rr_resource)) + if (RACCT_IS_IN_MILLIONS(rule->rr_resource)) rule->rr_amount *= 1000; } @@ -1152,8 +1152,8 @@ rctl_rule_to_sbuf(struct sbuf *sb, const amount = rule->rr_amount; if (amount != RCTL_AMOUNT_UNDEFINED && - RACCT_IS_IN_THOUSANDS(rule->rr_resource)) - amount /= 1000; + RACCT_IS_IN_MILLIONS(rule->rr_resource)) + amount /= 1000000; sbuf_printf(sb, "%s:%s=%jd", rctl_resource_name(rule->rr_resource), @@ -1222,7 +1222,7 @@ rctl_racct_to_sbuf(struct racct *racct, if (sloppy == 0 && RACCT_IS_SLOPPY(i)) continue; amount = racct->r_resources[i]; - if (RACCT_IS_IN_THOUSANDS(i)) + if (RACCT_IS_IN_MILLIONS(i)) amount /= 1000; sbuf_printf(sb, "%s=%jd,", rctl_resource_name(i), amount); } Modified: head/sys/sys/racct.h ============================================================================== --- head/sys/sys/racct.h Thu Jul 14 19:09:48 2011 (r224035) +++ head/sys/sys/racct.h Thu Jul 14 19:18:17 2011 (r224036) @@ -73,7 +73,7 @@ struct ucred; /* * Resource properties. */ -#define RACCT_IN_THOUSANDS 0x01 +#define RACCT_IN_MILLIONS 0x01 #define RACCT_RECLAIMABLE 0x02 #define RACCT_INHERITABLE 0x04 #define RACCT_DENIABLE 0x08 @@ -82,11 +82,11 @@ struct ucred; extern int racct_types[]; /* - * Amount stored in c_resources[] is thousand times bigger than what's + * Amount stored in c_resources[] is 10**6 times bigger than what's * visible to the userland. It gets fixed up when retrieving resource * usage or adding rules. */ -#define RACCT_IS_IN_THOUSANDS(X) (racct_types[X] & RACCT_IN_THOUSANDS) +#define RACCT_IS_IN_MILLIONS(X) (racct_types[X] & RACCT_IN_MILLIONS) /* * Resource usage can drop, as opposed to only grow. Modified: head/usr.bin/rctl/rctl.8 ============================================================================== --- head/usr.bin/rctl/rctl.8 Thu Jul 14 19:09:48 2011 (r224035) +++ head/usr.bin/rctl/rctl.8 Thu Jul 14 19:18:17 2011 (r224036) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 26, 2011 +.Dd July 14, 2011 .Dt RCTL 8 .Os .Sh NAME @@ -121,32 +121,31 @@ A filter that matches all defined rules "::nproc". .Pp .Sh RESOURCES -.Bl -column -offset 3n "msgqqueued" -.It cpu CPU time, in milliseconds -.It data data size, in bytes -.It stack stack size, in bytes -.It core core dump size, in bytes -.It rss resident set size, in bytes -.It memlock locked memory, in bytes -.It nproc number of processes -.It nofile file descriptor table size -.It vmem address space limit, in bytes -.It npts number of PTYs -.It swap swap usage, in bytes -.It nthr number of threads -.It msgqqueued number of queued SysV messages -.It msgqsize SysV message queue size, in bytes -.It nmsgq number of SysV message queues -.It nsem number of SysV semaphores -.It nsemop number of SysV semaphores modified in a single semop(2) call -.It nshm number of SysV shared memory segments -.It shmsize SysV shared memory size, in bytes -.It wallclock wallclock time, in milliseconds -.It pctcpu %cpu time +.Bl -column -offset 3n "pseudoterminals" +.It cputime CPU time, in seconds +.It datasize data size, in bytes +.It stacksize stack size, in bytes +.It coredumpsize core dump size, in bytes +.It memoryuse resident set size, in bytes +.It memorylocked locked memory, in bytes +.It maxproc number of processes +.It openfiles file descriptor table size +.It vmemoryuse address space limit, in bytes +.It pseudoterminals number of PTYs +.It swapuse swap usage, in bytes +.It nthr number of threads +.It msgqqueued number of queued SysV messages +.It msgqsize SysV message queue size, in bytes +.It nmsgq number of SysV message queues +.It nsem number of SysV semaphores +.It nsemop number of SysV semaphores modified in a single semop(2) call +.It nshm number of SysV shared memory segments +.It shmsize SysV shared memory size, in bytes +.It wallclock wallclock time, in seconds .El .Pp .Sh ACTIONS -.Bl -column -offset 3n "msgqqueued" +.Bl -column -offset 3n "pseudoterminals" .It deny deny the allocation; not supported for cpu and wallclock .It log log a warning to the console .It devctl send notification to @@ -167,7 +166,7 @@ Note that limiting RSS may kill the mach .Sh EXIT STATUS .Ex -std .Sh EXAMPLES -.Dl rctl -a user:joe:vmem:deny=1g +.Dl rctl -a user:joe:vmemoryuse:deny=1g .Pp Prevent user "joe" from allocating more than 1GB of virtual memory. .Pp From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 19:25:30 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4A8F106566B; Thu, 14 Jul 2011 19:25:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B3E38FC19; Thu, 14 Jul 2011 19:25:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EJPUnN042757; Thu, 14 Jul 2011 19:25:30 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EJPUnx042754; Thu, 14 Jul 2011 19:25:30 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107141925.p6EJPUnx042754@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 19:25:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224037 - stable/8/contrib/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 19:25:30 -0000 Author: jhb Date: Thu Jul 14 19:25:30 2011 New Revision: 224037 URL: http://svn.freebsd.org/changeset/base/224037 Log: MFC 223870,223937: - Note that -a, -C, -H, -j, and -z are also toggles. - Add a leading space to the status messages output after toggling the 'C' and 'H' flags at runtime. This matches messages output for other toggles which leave the first column in the message blank to hold the cursor. Modified: stable/8/contrib/top/top.X stable/8/contrib/top/top.c Directory Properties: stable/8/contrib/top/ (props changed) stable/8/contrib/top/install-sh (props changed) Modified: stable/8/contrib/top/top.X ============================================================================== --- stable/8/contrib/top/top.X Thu Jul 14 19:18:17 2011 (r224036) +++ stable/8/contrib/top/top.X Thu Jul 14 19:25:30 2011 (r224037) @@ -200,11 +200,16 @@ a user to set his or her own defaults. can also be specified in the environment variable .BR TOP . The options +.BR \-a , +.BR \-C , +.BR \-H , .BR \-I , +.BR \-j , .BR \-S , +.BR \-t , .BR \-u , and -.B \-t +.B \-z are actually toggles. A second specification of any of these options will negate the first. Thus a user who has the environment variable .B TOP Modified: stable/8/contrib/top/top.c ============================================================================== --- stable/8/contrib/top/top.c Thu Jul 14 19:18:17 2011 (r224036) +++ stable/8/contrib/top/top.c Thu Jul 14 19:25:30 2011 (r224037) @@ -1019,7 +1019,7 @@ restart: case CMD_thrtog: ps.thread = !ps.thread; new_message(MT_standout | MT_delayed, - "Displaying threads %s", + " Displaying threads %s", ps.thread ? "separately" : "as a count"); header_text = format_header(uname_field); reset_display(); @@ -1028,7 +1028,7 @@ restart: case CMD_wcputog: ps.wcpu = !ps.wcpu; new_message(MT_standout | MT_delayed, - "Displaying %sCPU", + " Displaying %sCPU", ps.wcpu ? "W" : ""); header_text = format_header(uname_field); reset_display(); From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 19:25:43 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10DEA1065678; Thu, 14 Jul 2011 19:25:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DC5C68FC16; Thu, 14 Jul 2011 19:25:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EJPgAS042799; Thu, 14 Jul 2011 19:25:42 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EJPgwP042796; Thu, 14 Jul 2011 19:25:42 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107141925.p6EJPgwP042796@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 19:25:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224038 - stable/7/contrib/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 19:25:43 -0000 Author: jhb Date: Thu Jul 14 19:25:42 2011 New Revision: 224038 URL: http://svn.freebsd.org/changeset/base/224038 Log: MFC 223870,223937: - Note that -a, -C, -H, -j, and -z are also toggles. - Add a leading space to the status messages output after toggling the 'C' and 'H' flags at runtime. This matches messages output for other toggles which leave the first column in the message blank to hold the cursor. Modified: stable/7/contrib/top/top.X stable/7/contrib/top/top.c Directory Properties: stable/7/contrib/top/ (props changed) Modified: stable/7/contrib/top/top.X ============================================================================== --- stable/7/contrib/top/top.X Thu Jul 14 19:25:30 2011 (r224037) +++ stable/7/contrib/top/top.X Thu Jul 14 19:25:42 2011 (r224038) @@ -197,11 +197,15 @@ a user to set his or her own defaults. can also be specified in the environment variable .BR TOP . The options +.BR \-a , +.BR \-C , +.BR \-H , .BR \-I , +.BR \-j , .BR \-S , -.BR \-u , +.BR \-t , and -.B \-t +.B \-u are actually toggles. A second specification of any of these options will negate the first. Thus a user who has the environment variable .B TOP Modified: stable/7/contrib/top/top.c ============================================================================== --- stable/7/contrib/top/top.c Thu Jul 14 19:25:30 2011 (r224037) +++ stable/7/contrib/top/top.c Thu Jul 14 19:25:42 2011 (r224038) @@ -1013,7 +1013,7 @@ restart: case CMD_thrtog: ps.thread = !ps.thread; new_message(MT_standout | MT_delayed, - "Displaying threads %s", + " Displaying threads %s", ps.thread ? "separately" : "as a count"); header_text = format_header(uname_field); reset_display(); @@ -1022,7 +1022,7 @@ restart: case CMD_wcputog: ps.wcpu = !ps.wcpu; new_message(MT_standout | MT_delayed, - "Displaying %sCPU", + " Displaying %sCPU", ps.wcpu ? "W" : ""); header_text = format_header(uname_field); reset_display(); From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 20:11:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1254106564A; Thu, 14 Jul 2011 20:11:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E1BA98FC14; Thu, 14 Jul 2011 20:11:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EKBRbK044146; Thu, 14 Jul 2011 20:11:27 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EKBRDu044144; Thu, 14 Jul 2011 20:11:27 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107142011.p6EKBRDu044144@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 20:11:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224039 - head/sys/dev/mfi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 20:11:28 -0000 Author: jhb Date: Thu Jul 14 20:11:27 2011 New Revision: 224039 URL: http://svn.freebsd.org/changeset/base/224039 Log: Use MFI_STAT_* constants for cmd_status field values rather than magic numbers in a few places. PR: bin/145960 Submitted by: gcooper MFC after: 1 week Modified: head/sys/dev/mfi/mfi.c Modified: head/sys/dev/mfi/mfi.c ============================================================================== --- head/sys/dev/mfi/mfi.c Thu Jul 14 19:25:42 2011 (r224038) +++ head/sys/dev/mfi/mfi.c Thu Jul 14 20:11:27 2011 (r224039) @@ -1149,7 +1149,8 @@ mfi_aen_complete(struct mfi_command *cm) if (sc->mfi_aen_cm == NULL) return; - if (sc->mfi_aen_cm->cm_aen_abort || hdr->cmd_status == 0xff) { + if (sc->mfi_aen_cm->cm_aen_abort || + hdr->cmd_status == MFI_STAT_INVALID_STATUS) { sc->mfi_aen_cm->cm_aen_abort = 0; aborted = 1; } else { @@ -1405,7 +1406,7 @@ mfi_bio_complete(struct mfi_command *cm) hdr = &cm->cm_frame->header; sc = cm->cm_sc; - if ((hdr->cmd_status != 0) || (hdr->scsi_status != 0)) { + if ((hdr->cmd_status != MFI_STAT_OK) || (hdr->scsi_status != 0)) { bio->bio_flags |= BIO_ERROR; bio->bio_error = EIO; device_printf(sc->mfi_dev, "I/O error, status= %d " @@ -1549,7 +1550,7 @@ mfi_send_frame(struct mfi_softc *sc, str cm->cm_timestamp = time_uptime; mfi_enqueue_busy(cm); } else { - hdr->cmd_status = 0xff; + hdr->cmd_status = MFI_STAT_INVALID_STATUS; hdr->flags |= MFI_FRAME_DONT_POST_IN_REPLY_QUEUE; } @@ -1574,14 +1575,14 @@ mfi_send_frame(struct mfi_softc *sc, str return (0); /* This is a polled command, so busy-wait for it to complete. */ - while (hdr->cmd_status == 0xff) { + while (hdr->cmd_status == MFI_STAT_INVALID_STATUS) { DELAY(1000); tm -= 1; if (tm <= 0) break; } - if (hdr->cmd_status == 0xff) { + if (hdr->cmd_status == MFI_STAT_INVALID_STATUS) { device_printf(sc->mfi_dev, "Frame %p timed out " "command 0x%X\n", hdr, cm->cm_frame->dcmd.opcode); return (ETIMEDOUT); From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 20:17:06 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53D4D106564A; Thu, 14 Jul 2011 20:17:06 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 445258FC1B; Thu, 14 Jul 2011 20:17:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EKH65C044400; Thu, 14 Jul 2011 20:17:06 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EKH6UK044398; Thu, 14 Jul 2011 20:17:06 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107142017.p6EKH6UK044398@svn.freebsd.org> From: Kirk McKusick Date: Thu, 14 Jul 2011 20:17:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224040 - head/sbin/umount X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 20:17:06 -0000 Author: mckusick Date: Thu Jul 14 20:17:05 2011 New Revision: 224040 URL: http://svn.freebsd.org/changeset/base/224040 Log: When using -A option (unmount all mounted filesystems), do not attempt to unmount /dev as it will always fail. Modified: head/sbin/umount/umount.c Modified: head/sbin/umount/umount.c ============================================================================== --- head/sbin/umount/umount.c Thu Jul 14 20:11:27 2011 (r224039) +++ head/sbin/umount/umount.c Thu Jul 14 20:17:05 2011 (r224040) @@ -154,6 +154,8 @@ main(int argc, char *argv[]) sfs = &mntbuf[mntsize]; if (checkvfsname(sfs->f_fstypename, typelist)) continue; + if (strcmp(sfs->f_mntonname, "/dev") == 0) + continue; if (umountfs(sfs) != 0) errs = 1; } From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 20:20:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3ACA7106566C; Thu, 14 Jul 2011 20:20:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 11FA18FC1B; Thu, 14 Jul 2011 20:20:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EKKXD0044536; Thu, 14 Jul 2011 20:20:33 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EKKXpp044533; Thu, 14 Jul 2011 20:20:33 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107142020.p6EKKXpp044533@svn.freebsd.org> From: John Baldwin Date: Thu, 14 Jul 2011 20:20:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224041 - head/sys/dev/mfi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 20:20:34 -0000 Author: jhb Date: Thu Jul 14 20:20:33 2011 New Revision: 224041 URL: http://svn.freebsd.org/changeset/base/224041 Log: Support controllers whose option ROM is disabled in the BIOS by kicking the firmware so that it boots. PR: kern/154978 Submitted by: Andrew Boyer aboyer of averesystems com Obtained from: LSI MFC after: 1 week Modified: head/sys/dev/mfi/mfi.c head/sys/dev/mfi/mfireg.h Modified: head/sys/dev/mfi/mfi.c ============================================================================== --- head/sys/dev/mfi/mfi.c Thu Jul 14 20:17:05 2011 (r224040) +++ head/sys/dev/mfi/mfi.c Thu Jul 14 20:20:33 2011 (r224041) @@ -260,8 +260,12 @@ mfi_transition_firmware(struct mfi_softc case MFI_FWSTATE_FLUSH_CACHE: max_wait = 20; break; + case MFI_FWSTATE_BOOT_MESSAGE_PENDING: + MFI_WRITE4(sc, MFI_IDB, MFI_FWINIT_HOTPLUG); + max_wait = 10; + break; default: - device_printf(sc->mfi_dev,"Unknown firmware state %d\n", + device_printf(sc->mfi_dev,"Unknown firmware state %#x\n", fw_state); return (ENXIO); } @@ -273,7 +277,7 @@ mfi_transition_firmware(struct mfi_softc break; } if (fw_state == cur_state) { - device_printf(sc->mfi_dev, "firmware stuck in state " + device_printf(sc->mfi_dev, "Firmware stuck in state " "%#x\n", fw_state); return (ENXIO); } Modified: head/sys/dev/mfi/mfireg.h ============================================================================== --- head/sys/dev/mfi/mfireg.h Thu Jul 14 20:17:05 2011 (r224040) +++ head/sys/dev/mfi/mfireg.h Thu Jul 14 20:20:33 2011 (r224041) @@ -112,6 +112,7 @@ __FBSDID("$FreeBSD$"); #define MFI_FWSTATE_WAIT_HANDSHAKE 0x60000000 #define MFI_FWSTATE_FW_INIT_2 0x70000000 #define MFI_FWSTATE_DEVICE_SCAN 0x80000000 +#define MFI_FWSTATE_BOOT_MESSAGE_PENDING 0x90000000 #define MFI_FWSTATE_FLUSH_CACHE 0xa0000000 #define MFI_FWSTATE_READY 0xb0000000 #define MFI_FWSTATE_OPERATIONAL 0xc0000000 @@ -127,6 +128,7 @@ __FBSDID("$FreeBSD$"); #define MFI_FWINIT_READY 0x00000002 /* Move from operational to ready */ #define MFI_FWINIT_MFIMODE 0x00000004 /* unknown */ #define MFI_FWINIT_CLEAR_HANDSHAKE 0x00000008 /* Respond to WAIT_HANDSHAKE */ +#define MFI_FWINIT_HOTPLUG 0x00000010 /* MFI Commands */ typedef enum { From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 21:00:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DE111065678; Thu, 14 Jul 2011 21:00:27 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 04D088FC20; Thu, 14 Jul 2011 21:00:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EL0QT2045724; Thu, 14 Jul 2011 21:00:26 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EL0Qc7045720; Thu, 14 Jul 2011 21:00:26 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201107142100.p6EL0Qc7045720@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 14 Jul 2011 21:00:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224042 - in head/sys: kern sys x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 21:00:27 -0000 Author: jkim Date: Thu Jul 14 21:00:26 2011 New Revision: 224042 URL: http://svn.freebsd.org/changeset/base/224042 Log: If TSC stops ticking in C3, disable deep sleep when the user forcefully select TSC as timecounter hardware. Tested by: Fabian Keil (freebsd-listen at fabiankeil dot de) Modified: head/sys/kern/kern_tc.c head/sys/sys/timetc.h head/sys/x86/x86/tsc.c Modified: head/sys/kern/kern_tc.c ============================================================================== --- head/sys/kern/kern_tc.c Thu Jul 14 20:20:33 2011 (r224041) +++ head/sys/kern/kern_tc.c Thu Jul 14 21:00:26 2011 (r224042) @@ -492,6 +492,12 @@ tc_windup(void) /* Now is a good time to change timecounters. */ if (th->th_counter != timecounter) { +#ifndef __arm__ + if ((timecounter->tc_flags & TC_FLAGS_C3STOP) != 0) + cpu_disable_deep_sleep++; + if ((th->th_counter->tc_flags & TC_FLAGS_C3STOP) != 0) + cpu_disable_deep_sleep--; +#endif th->th_counter = timecounter; th->th_offset_count = ncount; tc_min_ticktock_freq = max(1, timecounter->tc_frequency / Modified: head/sys/sys/timetc.h ============================================================================== --- head/sys/sys/timetc.h Thu Jul 14 20:20:33 2011 (r224041) +++ head/sys/sys/timetc.h Thu Jul 14 21:00:26 2011 (r224042) @@ -57,6 +57,8 @@ struct timecounter { * another timecounter higher means better. Negative * means "only use at explicit request". */ + u_int tc_flags; +#define TC_FLAGS_C3STOP 1 /* Timer dies in C3. */ void *tc_priv; /* Pointer to the timecounter's private parts. */ Modified: head/sys/x86/x86/tsc.c ============================================================================== --- head/sys/x86/x86/tsc.c Thu Jul 14 20:20:33 2011 (r224041) +++ head/sys/x86/x86/tsc.c Thu Jul 14 21:00:26 2011 (r224042) @@ -452,6 +452,7 @@ init_TSC_tc(void) if (cpu_can_deep_sleep && cpu_vendor_id == CPU_VENDOR_INTEL && (amd_pminfo & AMDPM_TSC_INVARIANT) == 0) { tsc_timecounter.tc_quality = -1000; + tsc_timecounter.tc_flags |= TC_FLAGS_C3STOP; if (bootverbose) printf("TSC timecounter disabled: C3 enabled.\n"); goto init; From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 21:02:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B076B106566B; Thu, 14 Jul 2011 21:02:15 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A15CA8FC18; Thu, 14 Jul 2011 21:02:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EL2F64045817; Thu, 14 Jul 2011 21:02:15 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EL2FQd045815; Thu, 14 Jul 2011 21:02:15 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201107142102.p6EL2FQd045815@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 14 Jul 2011 21:02:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224043 - head/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 21:02:15 -0000 Author: jkim Date: Thu Jul 14 21:02:15 2011 New Revision: 224043 URL: http://svn.freebsd.org/changeset/base/224043 Log: Prefer uint64_t over u_int64_t. Modified: head/sys/sys/timetc.h Modified: head/sys/sys/timetc.h ============================================================================== --- head/sys/sys/timetc.h Thu Jul 14 21:00:26 2011 (r224042) +++ head/sys/sys/timetc.h Thu Jul 14 21:02:15 2011 (r224043) @@ -47,7 +47,7 @@ struct timecounter { */ u_int tc_counter_mask; /* This mask should mask off any unimplemented bits. */ - u_int64_t tc_frequency; + uint64_t tc_frequency; /* Frequency of the counter in Hz. */ char *tc_name; /* Name of the timecounter. */ From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 21:06:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2573F106564A; Thu, 14 Jul 2011 21:06:23 +0000 (UTC) (envelope-from mp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 163CB8FC12; Thu, 14 Jul 2011 21:06:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6EL6MRq045968; Thu, 14 Jul 2011 21:06:22 GMT (envelope-from mp@svn.freebsd.org) Received: (from mp@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6EL6MmJ045966; Thu, 14 Jul 2011 21:06:22 GMT (envelope-from mp@svn.freebsd.org) Message-Id: <201107142106.p6EL6MmJ045966@svn.freebsd.org> From: Mark Peek Date: Thu, 14 Jul 2011 21:06:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224044 - head/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 21:06:23 -0000 Author: mp Date: Thu Jul 14 21:06:22 2011 New Revision: 224044 URL: http://svn.freebsd.org/changeset/base/224044 Log: Clear the filter memory area before using it. Leaving it uninitialized may leak previous kernel stack contents through a malicioius BPF filter. PR: kern/158880 Submitted by: Guy Harris Obtained from: OpenBSD MFC after: 1 week Modified: head/sys/net/bpf_filter.c Modified: head/sys/net/bpf_filter.c ============================================================================== --- head/sys/net/bpf_filter.c Thu Jul 14 21:02:15 2011 (r224043) +++ head/sys/net/bpf_filter.c Thu Jul 14 21:06:22 2011 (r224044) @@ -177,6 +177,8 @@ bpf_filter(const struct bpf_insn *pc, u_ bpf_u_int32 k; u_int32_t mem[BPF_MEMWORDS]; + bzero(mem, sizeof(mem)); + if (pc == NULL) /* * No filter means accept all. From owner-svn-src-all@FreeBSD.ORG Thu Jul 14 23:30:30 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C65F21065675; Thu, 14 Jul 2011 23:30:30 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B6D1E8FC14; Thu, 14 Jul 2011 23:30:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6ENUUms050820; Thu, 14 Jul 2011 23:30:30 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6ENUUCs050818; Thu, 14 Jul 2011 23:30:30 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201107142330.p6ENUUCs050818@svn.freebsd.org> From: Adrian Chadd Date: Thu, 14 Jul 2011 23:30:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224045 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2011 23:30:30 -0000 Author: adrian Date: Thu Jul 14 23:30:30 2011 New Revision: 224045 URL: http://svn.freebsd.org/changeset/base/224045 Log: Add a missing check for the global ath_hal_debug. This was removed accidentally when the per HAL instance code was added, and not reverted when I added back the global debug variable (for early chip setup debugging.) Modified: head/sys/dev/ath/ah_osdep.c Modified: head/sys/dev/ath/ah_osdep.c ============================================================================== --- head/sys/dev/ath/ah_osdep.c Thu Jul 14 21:06:22 2011 (r224044) +++ head/sys/dev/ath/ah_osdep.c Thu Jul 14 23:30:30 2011 (r224045) @@ -127,7 +127,9 @@ ath_hal_ether_sprintf(const u_int8_t *ma void DO_HALDEBUG(struct ath_hal *ah, u_int mask, const char* fmt, ...) { - if ((mask == HAL_DEBUG_UNMASKABLE) || (ah->ah_config.ah_debug & mask)) { + if ((mask == HAL_DEBUG_UNMASKABLE) || + (ah->ah_config.ah_debug & mask) || + (ath_hal_debug & mask)) { __va_list ap; va_start(ap, fmt); ath_hal_vprintf(ah, fmt, ap); From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 00:36:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68A80106566C; Fri, 15 Jul 2011 00:36:48 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E6828FC0A; Fri, 15 Jul 2011 00:36:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F0amIg052806; Fri, 15 Jul 2011 00:36:48 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F0am6j052797; Fri, 15 Jul 2011 00:36:48 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201107150036.p6F0am6j052797@svn.freebsd.org> From: Ed Maste Date: Fri, 15 Jul 2011 00:36:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224046 - head/sys/dev/aic7xxx/aicasm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 00:36:48 -0000 Author: emaste Date: Fri Jul 15 00:36:47 2011 New Revision: 224046 URL: http://svn.freebsd.org/changeset/base/224046 Log: Improve portability #defines for compiling aicasm on other systems. Submitted by: Robert Millan rmh debian.org Obtained from: Debian GNU/kFreeBSD Modified: head/sys/dev/aic7xxx/aicasm/aicasm.c head/sys/dev/aic7xxx/aicasm/aicasm.h head/sys/dev/aic7xxx/aicasm/aicasm_gram.y head/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y head/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l head/sys/dev/aic7xxx/aicasm/aicasm_scan.l head/sys/dev/aic7xxx/aicasm/aicasm_symbol.c head/sys/dev/aic7xxx/aicasm/aicasm_symbol.h Modified: head/sys/dev/aic7xxx/aicasm/aicasm.c ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm.c Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm.c Fri Jul 15 00:36:47 2011 (r224046) @@ -53,7 +53,7 @@ #include #include -#if linux +#if defined(__linux__) || defined(__GLIBC__) #include #else #include Modified: head/sys/dev/aic7xxx/aicasm/aicasm.h ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm.h Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm.h Fri Jul 15 00:36:47 2011 (r224046) @@ -42,11 +42,7 @@ * $FreeBSD$ */ -#ifdef __linux__ -#include "../queue.h" -#else #include -#endif #ifndef TRUE #define TRUE 1 Modified: head/sys/dev/aic7xxx/aicasm/aicasm_gram.y ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm_gram.y Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm_gram.y Fri Jul 15 00:36:47 2011 (r224046) @@ -51,12 +51,7 @@ #include #include #include - -#ifdef __linux__ -#include "../queue.h" -#else #include -#endif #include "aicasm.h" #include "aicasm_symbol.h" Modified: head/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y Fri Jul 15 00:36:47 2011 (r224046) @@ -51,12 +51,7 @@ #include #include #include - -#ifdef __linux__ -#include "../queue.h" -#else #include -#endif #include "aicasm.h" #include "aicasm_symbol.h" Modified: head/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l Fri Jul 15 00:36:47 2011 (r224046) @@ -51,11 +51,7 @@ #include #include #include -#ifdef __linux__ -#include "../queue.h" -#else #include -#endif #include "aicasm.h" #include "aicasm_symbol.h" Modified: head/sys/dev/aic7xxx/aicasm/aicasm_scan.l ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm_scan.l Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm_scan.l Fri Jul 15 00:36:47 2011 (r224046) @@ -51,11 +51,7 @@ #include #include #include -#ifdef __linux__ -#include "../queue.h" -#else #include -#endif #include "aicasm.h" #include "aicasm_symbol.h" Modified: head/sys/dev/aic7xxx/aicasm/aicasm_symbol.c ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm_symbol.c Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm_symbol.c Fri Jul 15 00:36:47 2011 (r224046) @@ -43,11 +43,11 @@ */ #include - -#ifdef __linux__ -#include "aicdb.h" -#else +#include +#ifdef BSD #include +#else +#include #endif #include #include Modified: head/sys/dev/aic7xxx/aicasm/aicasm_symbol.h ============================================================================== --- head/sys/dev/aic7xxx/aicasm/aicasm_symbol.h Thu Jul 14 23:30:30 2011 (r224045) +++ head/sys/dev/aic7xxx/aicasm/aicasm_symbol.h Fri Jul 15 00:36:47 2011 (r224046) @@ -42,11 +42,7 @@ * $FreeBSD$ */ -#ifdef __linux__ -#include "../queue.h" -#else #include -#endif typedef enum { UNINITIALIZED, From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 01:50:41 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 172C0106566B; Fri, 15 Jul 2011 01:50:41 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 07DE18FC13; Fri, 15 Jul 2011 01:50:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F1oegQ054931; Fri, 15 Jul 2011 01:50:40 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F1oe0E054929; Fri, 15 Jul 2011 01:50:40 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201107150150.p6F1oe0E054929@svn.freebsd.org> From: Ed Maste Date: Fri, 15 Jul 2011 01:50:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224047 - head/share/man/man3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 01:50:41 -0000 Author: emaste Date: Fri Jul 15 01:50:40 2011 New Revision: 224047 URL: http://svn.freebsd.org/changeset/base/224047 Log: Remove note that claims pthread_set_name_np is for debugging only. As Garrett points out, It is no more a debugging interface than setproctitle(3), and has not been since the name started getting stuffed into the kernel. This statement may have made sense when the name was only visible in thread state dumps and the debugger. PR: threads/158815 Submitted by: wollman@ Modified: head/share/man/man3/pthread_set_name_np.3 Modified: head/share/man/man3/pthread_set_name_np.3 ============================================================================== --- head/share/man/man3/pthread_set_name_np.3 Fri Jul 15 00:36:47 2011 (r224046) +++ head/share/man/man3/pthread_set_name_np.3 Fri Jul 15 01:50:40 2011 (r224047) @@ -44,9 +44,6 @@ function sets internal name for thread s argument to string value specified by .Fa name argument. -.Pp -This is a debugging interface and using it on a day-by-day basis makes -no sense. .Sh ERRORS Because of the debugging nature of this function, all errors that may appear inside are silently ignored. From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 01:59:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 502D0106566C; Fri, 15 Jul 2011 01:59:09 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 412BA8FC19; Fri, 15 Jul 2011 01:59:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F1x9a5055222; Fri, 15 Jul 2011 01:59:09 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F1x9rG055220; Fri, 15 Jul 2011 01:59:09 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201107150159.p6F1x9rG055220@svn.freebsd.org> From: Kevin Lo Date: Fri, 15 Jul 2011 01:59:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224048 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 01:59:09 -0000 Author: kevlo Date: Fri Jul 15 01:59:08 2011 New Revision: 224048 URL: http://svn.freebsd.org/changeset/base/224048 Log: Remove "-n" from echo Reviewed by: dougb Modified: head/etc/rc.d/routing Modified: head/etc/rc.d/routing ============================================================================== --- head/etc/rc.d/routing Fri Jul 15 01:50:40 2011 (r224047) +++ head/etc/rc.d/routing Fri Jul 15 01:59:08 2011 (r224048) @@ -287,7 +287,7 @@ options_inet() if checkyesno gateway_enable; then ropts_init - echo -n ' IPv4 gateway=YES' + echo ' IPv4 gateway=YES' ${SYSCTL} net.inet.ip.forwarding=1 > /dev/null else ${SYSCTL} net.inet.ip.forwarding=0 > /dev/null @@ -322,7 +322,7 @@ options_inet6() { if checkyesno ipv6_gateway_enable; then ropts_init - echo -n ' IPv6 gateway=YES' + echo ' IPv6 gateway=YES' ${SYSCTL} net.inet6.ip6.forwarding=1 > /dev/null else ${SYSCTL} net.inet6.ip6.forwarding=0 > /dev/null From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 02:11:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2770D106564A; Fri, 15 Jul 2011 02:11:27 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1821B8FC12; Fri, 15 Jul 2011 02:11:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F2BQOi055625; Fri, 15 Jul 2011 02:11:26 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F2BQt4055623; Fri, 15 Jul 2011 02:11:26 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107150211.p6F2BQt4055623@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 15 Jul 2011 02:11:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224049 - head/sys/arm/arm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 02:11:27 -0000 Author: marcel Date: Fri Jul 15 02:11:26 2011 New Revision: 224049 URL: http://svn.freebsd.org/changeset/base/224049 Log: In pmap_protect(), don't call vm_page_dirty() if the page is unmanaged. Modified: head/sys/arm/arm/pmap.c Modified: head/sys/arm/arm/pmap.c ============================================================================== --- head/sys/arm/arm/pmap.c Fri Jul 15 01:59:08 2011 (r224048) +++ head/sys/arm/arm/pmap.c Fri Jul 15 02:11:26 2011 (r224049) @@ -3242,9 +3242,12 @@ pmap_protect(pmap_t pm, vm_offset_t sva, PTE_SYNC(ptep); if (pg != NULL) { - f = pmap_modify_pv(pg, pm, sva, - PVF_WRITE, 0); - vm_page_dirty(pg); + if (!(pg->flags & PG_UNMANAGED)) { + f = pmap_modify_pv(pg, pm, sva, + PVF_WRITE, 0); + vm_page_dirty(pg); + } else + f = 0; } else f = PVF_REF | PVF_EXEC; From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 02:16:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7077F106566B; Fri, 15 Jul 2011 02:16:13 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 615138FC0C; Fri, 15 Jul 2011 02:16:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F2GDkn055851; Fri, 15 Jul 2011 02:16:13 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F2GDuU055849; Fri, 15 Jul 2011 02:16:13 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107150216.p6F2GDuU055849@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 15 Jul 2011 02:16:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224050 - head/sys/arm/mv X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 02:16:13 -0000 Author: marcel Date: Fri Jul 15 02:16:13 2011 New Revision: 224050 URL: http://svn.freebsd.org/changeset/base/224050 Log: Set preload_addr_relocate accordingly so that preloaded modules and images are properly relocated. Modified: head/sys/arm/mv/mv_machdep.c Modified: head/sys/arm/mv/mv_machdep.c ============================================================================== --- head/sys/arm/mv/mv_machdep.c Fri Jul 15 02:11:26 2011 (r224049) +++ head/sys/arm/mv/mv_machdep.c Fri Jul 15 02:16:13 2011 (r224050) @@ -340,6 +340,7 @@ initarm(void *mdp, void *unused __unused #endif } + preload_addr_relocate = KERNVIRTADDR - KERNPHYSADDR; } else { /* Fall back to hardcoded metadata. */ lastaddr = fake_preload_metadata(); From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 02:29:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D896106566B; Fri, 15 Jul 2011 02:29:11 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 34DC68FC14; Fri, 15 Jul 2011 02:29:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F2TB96056293; Fri, 15 Jul 2011 02:29:11 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F2TBV9056290; Fri, 15 Jul 2011 02:29:11 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107150229.p6F2TBV9056290@svn.freebsd.org> From: Marcel Moolenaar Date: Fri, 15 Jul 2011 02:29:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224051 - head/sys/arm/mv X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 02:29:11 -0000 Author: marcel Date: Fri Jul 15 02:29:10 2011 New Revision: 224051 URL: http://svn.freebsd.org/changeset/base/224051 Log: Do not call platform_gpio_init() early. It doesn't work because we do not have enough information to reliably setup GPIO pins. Do it when we attach the gpio driver. This prevents hangs and the need to fake up a softc. Modified: head/sys/arm/mv/gpio.c head/sys/arm/mv/mv_machdep.c Modified: head/sys/arm/mv/gpio.c ============================================================================== --- head/sys/arm/mv/gpio.c Fri Jul 15 02:16:13 2011 (r224050) +++ head/sys/arm/mv/gpio.c Fri Jul 15 02:29:10 2011 (r224051) @@ -197,10 +197,7 @@ mv_gpio_attach(device_t dev) } } - /* - * GPIO lines setup is already done at this stage (see mv_machdep.c). - */ - return (0); + return (platform_gpio_init()); } static int @@ -565,20 +562,6 @@ mv_handle_gpios_prop(phandle_t ctrl, pce if (fdt_regsize(ctrl, &gpio_ctrl, &size)) return (ENXIO); - /* - * Since to set up GPIO we use the same functions as GPIO driver, and - * mv_gpio_softc is NULL at this early stage, we need to create a fake - * softc and set mv_gpio_softc pointer to that newly created object. - * After successful GPIO setup, the [shared] pointer will be set back - * to NULL. - */ - mv_gpio_softc = ≻ - - sc.bst = fdtbus_bs_tag; - gpio_ctrl += fdt_immr_va; - - if (bus_space_map(sc.bst, gpio_ctrl, size, 0, &sc.bsh) != 0) - return (ENXIO); if (OF_getprop(ctrl, "pin-count", &pincnt, sizeof(pcell_t)) < 0) return (ENXIO); @@ -612,8 +595,6 @@ mv_handle_gpios_prop(phandle_t ctrl, pce gpios += gpio_cells + inc; } - /* Reset pointer. */ - mv_gpio_softc = NULL; return (0); } Modified: head/sys/arm/mv/mv_machdep.c ============================================================================== --- head/sys/arm/mv/mv_machdep.c Fri Jul 15 02:16:13 2011 (r224050) +++ head/sys/arm/mv/mv_machdep.c Fri Jul 15 02:29:10 2011 (r224051) @@ -512,13 +512,8 @@ initarm(void *mdp, void *unused __unused if (platform_mpp_init() != 0) while (1); - /* - * Initialize GPIO as early as possible. - */ - if (platform_gpio_init() != 0) - while (1); - cninit(); + physmem = memsize / PAGE_SIZE; debugf("initarm: console initialized\n"); From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 09:37:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24C00106564A; Fri, 15 Jul 2011 09:37:15 +0000 (UTC) (envelope-from jonathan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0A7F88FC12; Fri, 15 Jul 2011 09:37:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F9bELZ069523; Fri, 15 Jul 2011 09:37:14 GMT (envelope-from jonathan@svn.freebsd.org) Received: (from jonathan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F9bEmF069519; Fri, 15 Jul 2011 09:37:14 GMT (envelope-from jonathan@svn.freebsd.org) Message-Id: <201107150937.p6F9bEmF069519@svn.freebsd.org> From: Jonathan Anderson Date: Fri, 15 Jul 2011 09:37:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224056 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 09:37:15 -0000 Author: jonathan Date: Fri Jul 15 09:37:14 2011 New Revision: 224056 URL: http://svn.freebsd.org/changeset/base/224056 Log: Add implementation for capabilities. Code to actually implement Capsicum capabilities, including fileops and kern_capwrap(), which creates a capability to wrap an existing file descriptor. We also modify kern_close() and closef() to handle capabilities. Finally, remove cap_filelist from struct capability, since we don't actually need it. Approved by: mentor (rwatson), re (Capsicum blanket) Sponsored by: Google Inc Modified: head/sys/kern/kern_descrip.c head/sys/kern/sys_capability.c head/sys/sys/capability.h Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Fri Jul 15 06:54:21 2011 (r224055) +++ head/sys/kern/kern_descrip.c Fri Jul 15 09:37:14 2011 (r224056) @@ -1160,7 +1160,7 @@ kern_close(td, fd) int fd; { struct filedesc *fdp; - struct file *fp; + struct file *fp, *fp_object; int error; int holdleaders; @@ -1195,8 +1195,14 @@ kern_close(td, fd) * added, and deleteing a knote for the new fd. */ knote_fdclose(td, fd); - if (fp->f_type == DTYPE_MQUEUE) - mq_fdclose(td, fd, fp); + + /* + * When we're closing an fd with a capability, we need to notify + * mqueue if the underlying object is of type mqueue. + */ + (void)cap_funwrap(fp, 0, &fp_object); + if (fp_object->f_type == DTYPE_MQUEUE) + mq_fdclose(td, fd, fp_object); FILEDESC_XUNLOCK(fdp); error = closef(fp, td); @@ -2146,6 +2152,7 @@ closef(struct file *fp, struct thread *t struct flock lf; struct filedesc_to_leader *fdtol; struct filedesc *fdp; + struct file *fp_object; /* * POSIX record locking dictates that any close releases ALL @@ -2158,11 +2165,15 @@ closef(struct file *fp, struct thread *t * NULL thread pointer when there really is no owning * context that might have locks, or the locks will be * leaked. + * + * If this is a capability, we do lock processing under the underlying + * node, not the capability itself. */ - if (fp->f_type == DTYPE_VNODE && td != NULL) { + (void)cap_funwrap(fp, 0, &fp_object); + if ((fp_object->f_type == DTYPE_VNODE) && (td != NULL)) { int vfslocked; - vp = fp->f_vnode; + vp = fp_object->f_vnode; vfslocked = VFS_LOCK_GIANT(vp->v_mount); if ((td->td_proc->p_leader->p_flag & P_ADVLOCK) != 0) { lf.l_whence = SEEK_SET; @@ -2192,7 +2203,7 @@ closef(struct file *fp, struct thread *t lf.l_start = 0; lf.l_len = 0; lf.l_type = F_UNLCK; - vp = fp->f_vnode; + vp = fp_object->f_vnode; (void) VOP_ADVLOCK(vp, (caddr_t)fdtol->fdl_leader, F_UNLCK, &lf, F_POSIX); @@ -2497,6 +2508,9 @@ fputsock(struct socket *so) /* * Handle the last reference to a file being closed. + * + * No special capability handling here, as the capability's fo_close will run + * instead of the object here, and perform any necessary drop on the object. */ int _fdrop(struct file *fp, struct thread *td) Modified: head/sys/kern/sys_capability.c ============================================================================== --- head/sys/kern/sys_capability.c Fri Jul 15 06:54:21 2011 (r224055) +++ head/sys/kern/sys_capability.c Fri Jul 15 09:37:14 2011 (r224056) @@ -123,18 +123,66 @@ cap_getmode(struct thread *td, struct ca * struct capability describes a capability, and is hung off of its struct * file f_data field. cap_file and cap_rightss are static once hooked up, as * neither the object it references nor the rights it encapsulates are - * permitted to change. cap_filelist may change when other capabilites are - * added or removed from the same file, and is currently protected by the - * pool mutex for the object file descriptor. + * permitted to change. */ struct capability { struct file *cap_object; /* Underlying object's file. */ struct file *cap_file; /* Back-pointer to cap's file. */ cap_rights_t cap_rights; /* Mask of rights on object. */ - LIST_ENTRY(capability) cap_filelist; /* Object's cap list. */ }; /* + * Capabilities have a fileops vector, but in practice none should ever be + * called except for fo_close, as the capability will normally not be + * returned during a file descriptor lookup in the system call code. + */ +static fo_rdwr_t capability_read; +static fo_rdwr_t capability_write; +static fo_truncate_t capability_truncate; +static fo_ioctl_t capability_ioctl; +static fo_poll_t capability_poll; +static fo_kqfilter_t capability_kqfilter; +static fo_stat_t capability_stat; +static fo_close_t capability_close; + +static struct fileops capability_ops = { + .fo_read = capability_read, + .fo_write = capability_write, + .fo_truncate = capability_truncate, + .fo_ioctl = capability_ioctl, + .fo_poll = capability_poll, + .fo_kqfilter = capability_kqfilter, + .fo_stat = capability_stat, + .fo_close = capability_close, + .fo_flags = DFLAG_PASSABLE, +}; + +static struct fileops capability_ops_unpassable = { + .fo_read = capability_read, + .fo_write = capability_write, + .fo_truncate = capability_truncate, + .fo_ioctl = capability_ioctl, + .fo_poll = capability_poll, + .fo_kqfilter = capability_kqfilter, + .fo_stat = capability_stat, + .fo_close = capability_close, + .fo_flags = 0, +}; + +static uma_zone_t capability_zone; + +static void +capability_init(void *dummy __unused) +{ + + capability_zone = uma_zcreate("capability", sizeof(struct capability), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); + if (capability_zone == NULL) + panic("capability_init: capability_zone not initialized"); +} +SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_ANY, capability_init, NULL); + +/* * Test whether a capability grants the requested rights. */ static int @@ -147,6 +195,85 @@ cap_check(struct capability *c, cap_righ } /* + * Extract rights from a capability for monitoring purposes -- not for use in + * any other way, as we want to keep all capability permission evaluation in + * this one file. + */ +cap_rights_t +cap_rights(struct file *fp_cap) +{ + struct capability *c; + + KASSERT(fp_cap->f_type == DTYPE_CAPABILITY, + ("cap_rights: !capability")); + + c = fp_cap->f_data; + return (c->cap_rights); +} + +/* + * Create a capability to wrap around an existing file. + */ +int +kern_capwrap(struct thread *td, struct file *fp, cap_rights_t rights, + struct file **fcappp, int *capfdp) +{ + struct capability *cp, *cp_old; + struct file *fp_object; + int error; + + if ((rights | CAP_MASK_VALID) != CAP_MASK_VALID) + return (EINVAL); + + /* + * If a new capability is being derived from an existing capability, + * then the new capability rights must be a subset of the existing + * rights. + */ + if (fp->f_type == DTYPE_CAPABILITY) { + cp_old = fp->f_data; + if ((cp_old->cap_rights | rights) != cp_old->cap_rights) + return (ENOTCAPABLE); + } + + /* + * Allocate a new file descriptor to hang the capability off of. + */ + error = falloc(td, fcappp, capfdp, fp->f_flag); + if (error) + return (error); + + /* + * Rather than nesting capabilities, directly reference the object an + * existing capability references. There's nothing else interesting + * to preserve for future use, as we've incorporated the previous + * rights mask into the new one. This prevents us from having to + * deal with capability chains. + */ + if (fp->f_type == DTYPE_CAPABILITY) + fp_object = ((struct capability *)fp->f_data)->cap_object; + else + fp_object = fp; + fhold(fp_object); + cp = uma_zalloc(capability_zone, M_WAITOK | M_ZERO); + cp->cap_rights = rights; + cp->cap_object = fp_object; + cp->cap_file = *fcappp; + if (fp->f_flag & DFLAG_PASSABLE) + finit(*fcappp, fp->f_flag, DTYPE_CAPABILITY, cp, + &capability_ops); + else + finit(*fcappp, fp->f_flag, DTYPE_CAPABILITY, cp, + &capability_ops_unpassable); + + /* + * Release our private reference (the proc filedesc still has one). + */ + fdrop(*fcappp, td); + return (0); +} + +/* * Given a file descriptor, test it against a capability rights mask and then * return the file descriptor on which to actually perform the requested * operation. As long as the reference to fp_cap remains valid, the returned @@ -206,6 +333,89 @@ cap_funwrap_mmap(struct file *fp_cap, ca return (0); } +/* + * When a capability is closed, simply drop the reference on the underlying + * object and free the capability. fdrop() will handle the case where the + * underlying object also needs to close, and the caller will have already + * performed any object-specific lock or mqueue handling. + */ +static int +capability_close(struct file *fp, struct thread *td) +{ + struct capability *c; + struct file *fp_object; + + KASSERT(fp->f_type == DTYPE_CAPABILITY, + ("capability_close: !capability")); + + c = fp->f_data; + fp->f_ops = &badfileops; + fp->f_data = NULL; + fp_object = c->cap_object; + uma_zfree(capability_zone, c); + return (fdrop(fp_object, td)); +} + +/* + * In general, file descriptor operations should never make it to the + * capability, only the underlying file descriptor operation vector, so panic + * if we do turn up here. + */ +static int +capability_read(struct file *fp, struct uio *uio, struct ucred *active_cred, + int flags, struct thread *td) +{ + + panic("capability_read"); +} + +static int +capability_write(struct file *fp, struct uio *uio, struct ucred *active_cred, + int flags, struct thread *td) +{ + + panic("capability_write"); +} + +static int +capability_truncate(struct file *fp, off_t length, struct ucred *active_cred, + struct thread *td) +{ + + panic("capability_truncate"); +} + +static int +capability_ioctl(struct file *fp, u_long com, void *data, + struct ucred *active_cred, struct thread *td) +{ + + panic("capability_ioctl"); +} + +static int +capability_poll(struct file *fp, int events, struct ucred *active_cred, + struct thread *td) +{ + + panic("capability_poll"); +} + +static int +capability_kqfilter(struct file *fp, struct knote *kn) +{ + + panic("capability_kqfilter"); +} + +static int +capability_stat(struct file *fp, struct stat *sb, struct ucred *active_cred, + struct thread *td) +{ + + panic("capability_stat"); +} + #else /* !CAPABILITIES */ /* Modified: head/sys/sys/capability.h ============================================================================== --- head/sys/sys/capability.h Fri Jul 15 06:54:21 2011 (r224055) +++ head/sys/sys/capability.h Fri Jul 15 09:37:14 2011 (r224056) @@ -64,6 +64,12 @@ #define IN_CAPABILITY_MODE(td) (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE) /* + * Create a capability to wrap a file object. + */ +int kern_capwrap(struct thread *td, struct file *fp, cap_rights_t rights, + struct file **cap, int *capfd); + +/* * Unwrap a capability if its rights mask is a superset of 'rights'. * * Unwrapping a non-capability is effectively a no-op; the value of fp_cap From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 11:30:42 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1ACCA10656D1; Fri, 15 Jul 2011 11:30:42 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0B5808FC1F; Fri, 15 Jul 2011 11:30:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FBUfME078316; Fri, 15 Jul 2011 11:30:41 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FBUfTi078313; Fri, 15 Jul 2011 11:30:41 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201107151130.p6FBUfTi078313@svn.freebsd.org> From: Andriy Gapon Date: Fri, 15 Jul 2011 11:30:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224057 - in head/usr.sbin: pmccontrol pmcstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 11:30:42 -0000 Author: avg Date: Fri Jul 15 11:30:41 2011 New Revision: 224057 URL: http://svn.freebsd.org/changeset/base/224057 Log: pmcstat, pmccontrol: catch up with removal of machdep.hlt_cpus sysctl Reported by: Pan Tsu Reviewed by: attilio No objections: gnn Modified: head/usr.sbin/pmccontrol/pmccontrol.c head/usr.sbin/pmcstat/pmcstat.c Modified: head/usr.sbin/pmccontrol/pmccontrol.c ============================================================================== --- head/usr.sbin/pmccontrol/pmccontrol.c Fri Jul 15 09:37:14 2011 (r224056) +++ head/usr.sbin/pmccontrol/pmccontrol.c Fri Jul 15 11:30:41 2011 (r224057) @@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include @@ -134,33 +133,15 @@ pmcc_init_debug(void) static int pmcc_do_enable_disable(struct pmcc_op_list *op_list) { - long cpusetsize; int c, error, i, j, ncpu, npmc, t; - cpuset_t haltedcpus, cpumask; struct pmcc_op *np; unsigned char *map; unsigned char op; int cpu, pmc; - size_t setsize; if ((ncpu = pmc_ncpu()) < 0) err(EX_OSERR, "Unable to determine the number of cpus"); - /* Determine the set of active CPUs. */ - cpusetsize = sysconf(_SC_CPUSET_SIZE); - if (cpusetsize == -1 || (u_long)cpusetsize > sizeof(cpuset_t)) { - err(EX_OSERR, "ERROR: Cannot determine which CPUs are " - "halted"); - } - CPU_ZERO(&haltedcpus); - setsize = (size_t)cpusetsize; - if (ncpu > 1 && sysctlbyname("machdep.hlt_cpus", &haltedcpus, - &setsize, NULL, 0) < 0) - err(EX_OSERR, "ERROR: Cannot determine which CPUs are " - "halted"); - CPU_FILL(&cpumask); - CPU_NAND(&cpumask, &haltedcpus); - /* Determine the maximum number of PMCs in any CPU. */ npmc = 0; for (c = 0; c < ncpu; c++) { @@ -207,8 +188,7 @@ pmcc_do_enable_disable(struct pmcc_op_li if (cpu == PMCC_CPU_ALL) for (i = 0; i < ncpu; i++) { - if (CPU_ISSET(i, &cpumask)) - SET_PMCS(i, pmc, op); + SET_PMCS(i, pmc, op); } else SET_PMCS(cpu, pmc, op); Modified: head/usr.sbin/pmcstat/pmcstat.c ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.c Fri Jul 15 09:37:14 2011 (r224056) +++ head/usr.sbin/pmcstat/pmcstat.c Fri Jul 15 11:30:41 2011 (r224057) @@ -552,7 +552,7 @@ int main(int argc, char **argv) { double interval; - int option, npmc, ncpu, haltedcpus; + int option, npmc, ncpu; int c, check_driver_stats, current_cpu, current_sampling_count; int do_callchain, do_descendants, do_logproccsw, do_logprocexit; int do_print; @@ -617,14 +617,6 @@ main(int argc, char **argv) if (sysctlbyname("hw.ncpu", &ncpu, &dummy, NULL, 0) < 0) err(EX_OSERR, "ERROR: Cannot determine the number of CPUs"); cpumask = (1 << ncpu) - 1; - haltedcpus = 0; - if (ncpu > 1) { - if (sysctlbyname("machdep.hlt_cpus", &haltedcpus, &dummy, - NULL, 0) < 0) - err(EX_OSERR, "ERROR: Cannot determine which CPUs are " - "halted"); - cpumask &= ~haltedcpus; - } while ((option = getopt(argc, argv, "CD:EF:G:M:NO:P:R:S:TWc:df:gk:m:n:o:p:qr:s:t:vw:z:")) != -1) @@ -637,7 +629,7 @@ main(int argc, char **argv) case 'c': /* CPU */ if (optarg[0] == '*' && optarg[1] == '\0') - cpumask = ((1 << ncpu) - 1) & ~haltedcpus; + cpumask = (1 << ncpu) - 1; else cpumask = pmcstat_get_cpumask(optarg); From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 11:46:55 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 372391065672; Fri, 15 Jul 2011 11:46:55 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E8058FC08; Fri, 15 Jul 2011 11:46:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FBksj0078826; Fri, 15 Jul 2011 11:46:54 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FBkscL078824; Fri, 15 Jul 2011 11:46:54 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201107151146.p6FBkscL078824@svn.freebsd.org> From: Attilio Rao Date: Fri, 15 Jul 2011 11:46:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224058 - head/usr.sbin/pmccontrol X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 11:46:55 -0000 Author: attilio Date: Fri Jul 15 11:46:54 2011 New Revision: 224058 URL: http://svn.freebsd.org/changeset/base/224058 Log: Fix logical_cpus_mask retrieving by using, correctly, cpuset_t. This fix also a bug where pmccontrol uses a 32 static type rather than old cpumask_t. Reported and reviewed by: avg Modified: head/usr.sbin/pmccontrol/pmccontrol.c Modified: head/usr.sbin/pmccontrol/pmccontrol.c ============================================================================== --- head/usr.sbin/pmccontrol/pmccontrol.c Fri Jul 15 11:30:41 2011 (r224057) +++ head/usr.sbin/pmccontrol/pmccontrol.c Fri Jul 15 11:46:54 2011 (r224058) @@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -220,9 +221,10 @@ pmcc_do_enable_disable(struct pmcc_op_li static int pmcc_do_list_state(void) { - size_t dummy; + cpuset_t logical_cpus_mask; + long cpusetsize; + size_t setsize; int c, cpu, n, npmc, ncpu; - unsigned int logical_cpus_mask; struct pmc_info *pd; struct pmc_pmcinfo *pi; const struct pmc_cpuinfo *pc; @@ -234,17 +236,22 @@ pmcc_do_list_state(void) pmc_name_of_cputype(pc->pm_cputype), pc->pm_npmc); - dummy = sizeof(logical_cpus_mask); + /* Determine the set of logical CPUs. */ + cpusetsize = sysconf(_SC_CPUSET_SIZE); + if (cpusetsize == -1 || (u_long)cpusetsize > sizeof(cpuset_t)) + err(EX_OSERR, "Cannot determine which CPUs are logical"); + CPU_ZERO(&logical_cpus_mask); + setsize = (size_t)cpusetsize; if (sysctlbyname("machdep.logical_cpus_mask", &logical_cpus_mask, - &dummy, NULL, 0) < 0) - logical_cpus_mask = 0; + &setsize, NULL, 0) < 0) + CPU_ZERO(&logical_cpus_mask); ncpu = pc->pm_ncpu; for (c = cpu = 0; cpu < ncpu; cpu++) { #if defined(__i386__) || defined(__amd64__) if (pc->pm_cputype == PMC_CPU_INTEL_PIV && - (logical_cpus_mask & (1 << cpu))) + CPU_ISSET(cpu, &logical_cpus_mask)) continue; /* skip P4-style 'logical' cpus */ #endif if (pmc_pmcinfo(cpu, &pi) < 0) { From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 14:16:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AD37106564A; Fri, 15 Jul 2011 14:16:35 +0000 (UTC) (envelope-from vadim@nuclight.avtf.net) Received: from nuclight.avtf.net (208.88.188.90.adsl.tomsknet.ru [90.188.88.208]) by mx1.freebsd.org (Postfix) with ESMTP id 91CDC8FC15; Fri, 15 Jul 2011 14:16:31 +0000 (UTC) Received: from kernblitz.nuclight.avtf.net (vadim@localhost [127.0.0.1]) by nuclight.avtf.net (8.14.4/8.14.4) with ESMTP id p6FEGSMG018157; Fri, 15 Jul 2011 21:16:28 +0700 (NOVST) (envelope-from vadim@kernblitz.nuclight.avtf.net) Received: (from vadim@localhost) by kernblitz.nuclight.avtf.net (8.14.4/8.14.4/Submit) id p6FEGQgQ018154; Fri, 15 Jul 2011 21:16:27 +0700 (NOVST) (envelope-from vadim) Message-Id: <201107151416.p6FEGQgQ018154@kernblitz.nuclight.avtf.net> To: Nathan Whitehorn From: Vadim Goncharov In-Reply-To: <4E1C4955.7010206@freebsd.org> References: <201107092301.p69N1sUp019626__19145.5060652972$1310252550$gmane$org@svn.freebsd.org> <201107121004.p6CA4apj070450@kernblitz.nuclight.avtf.net> <4E1C4955.7010206@freebsd.org> X-Comment-To: Nathan Whitehorn Date: Fri, 15 Jul 2011 21:16:26 +0700 User-Agent: slrn/0.9.9p1 (FreeBSD) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r223897 - in head: release usr.sbin/bsdinstall/scripts X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vadim_nuclight@mail.ru List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 14:16:35 -0000 Hi Nathan Whitehorn! On Tue, 12 Jul 2011 08:17:09 -0500; Nathan Whitehorn wrote: >>> New Revision: 223897 >>> URL: http://svn.freebsd.org/changeset/base/223897 >>> Log: >>> Per request of the docs team, install docs as packages, instead of via >>> the normal distfile mechanism. Thanks to Marc Fonvieille for the patch and >>> for putting up with me taking entirely too long to commit this! >> [...] >>> "Network" "Networking configuration" \ >>> "Services" "Set daemons to run on startup" \ >>> "Time Zone" "Set system timezone" \ >>> + "Handbook" "Install FreeBSD Handbook (requires network)" \ >> [...] >>> + --checklist "This menu will allow you to install the whole documentation set >>> +from the FreeBSD Documentation Project: Handbook, FAQ and articles.\n\n >>> +Please select the language versions you wish to install. At minimum, >>> +you should install the English version, this is the original version >>> +of the documentation.\n\n >>> +NB: This requires a working, configured network connection." 0 0 0 \ >> [...] >>> + en "English Documentation (recommended)" ${DIST_DOC_EN:-on} \ >> Umm, _configured network_ even for original English docs? In 8.2R those doc >> packages for every lang were installed by sysinstall from CD (DVD1 actually), >> as it should really be for new user - e.g. if network could be configured only >> after reading Handbook, installing mpd5 from CD/DVD packages, and so on. >> >> Or am I missing something, and it will still be available on the disk? >> > The packages are really big (40 MB per), and there's only a small amount > of space available on the disc. But they were so a lot while: 7.4-RELEASE$ du -chd 0 /usr/share/doc/??_* 832K /usr/share/doc/bn_BD.ISO10646-1 212K /usr/share/doc/da_DK.ISO8859-1 27M /usr/share/doc/de_DE.ISO8859-1 23M /usr/share/doc/el_GR.ISO8859-7 37M /usr/share/doc/en_US.ISO8859-1 11M /usr/share/doc/es_ES.ISO8859-1 25M /usr/share/doc/fr_FR.ISO8859-1 27M /usr/share/doc/hu_HU.ISO8859-2 17M /usr/share/doc/it_IT.ISO8859-15 13M /usr/share/doc/ja_JP.eucJP 22M /usr/share/doc/mn_MN.UTF-8 20M /usr/share/doc/nl_NL.ISO8859-1 17M /usr/share/doc/pl_PL.ISO8859-2 0B /usr/share/doc/pt_BR 2,0M /usr/share/doc/pt_BR.ISO8859-1 25M /usr/share/doc/ru_RU.KOI8-R 136K /usr/share/doc/sr_YU.ISO8859-2 110K /usr/share/doc/tr_TR.ISO8859-9 0B /usr/share/doc/zh_CN 21M /usr/share/doc/zh_CN.GB2312 0B /usr/share/doc/zh_TW 23M /usr/share/doc/zh_TW.Big5 313M total And still a packed onto installation disks. Why was there space earlier? And for it is wasted nowadays? > We *could* fit the English ones, but it > badly complicates the release scripts to begin doing package generation, > and Marc and I decided to do it this way. How this can complicate release scripts, when packing release image and generating packages are two logically separated steps? Anyway, the impact on user's perception of FreeBSD will be too bad to measure it the amount of scirpts work. The system just can't live without beginner's documentation, and I've already given one very practical example when this is absolutely needed. -- WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_nuclight@mail.ru [Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight] From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 14:45:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E547C106566B; Fri, 15 Jul 2011 14:45:35 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay04.stack.nl [IPv6:2001:610:1108:5010::107]) by mx1.freebsd.org (Postfix) with ESMTP id 862968FC19; Fri, 15 Jul 2011 14:45:35 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id 55FDF1DD758; Fri, 15 Jul 2011 16:45:34 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id 48BFF17467; Fri, 15 Jul 2011 16:45:34 +0200 (CEST) Date: Fri, 15 Jul 2011 16:45:34 +0200 From: Jilles Tjoelker To: Kevin Lo Message-ID: <20110715144534.GA78212@stack.nl> References: <201107150159.p6F1x9rG055220@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201107150159.p6F1x9rG055220@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r224048 - head/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 14:45:36 -0000 On Fri, Jul 15, 2011 at 01:59:09AM +0000, Kevin Lo wrote: > Author: kevlo > Date: Fri Jul 15 01:59:08 2011 > New Revision: 224048 > URL: http://svn.freebsd.org/changeset/base/224048 > Log: > Remove "-n" from echo > Reviewed by: dougb > Modified: > head/etc/rc.d/routing > Modified: head/etc/rc.d/routing > ============================================================================== > --- head/etc/rc.d/routing Fri Jul 15 01:50:40 2011 (r224047) > +++ head/etc/rc.d/routing Fri Jul 15 01:59:08 2011 (r224048) > @@ -287,7 +287,7 @@ options_inet() > > if checkyesno gateway_enable; then > ropts_init > - echo -n ' IPv4 gateway=YES' > + echo ' IPv4 gateway=YES' > ${SYSCTL} net.inet.ip.forwarding=1 > /dev/null > else > ${SYSCTL} net.inet.ip.forwarding=0 > /dev/null > @@ -322,7 +322,7 @@ options_inet6() > { > if checkyesno ipv6_gateway_enable; then > ropts_init > - echo -n ' IPv6 gateway=YES' > + echo ' IPv6 gateway=YES' > ${SYSCTL} net.inet6.ip6.forwarding=1 > /dev/null > else > ${SYSCTL} net.inet6.ip6.forwarding=0 > /dev/null It looks like this has been added because some IPv6 code is printing stuff about routes for ::ffff:0.0.0.0, ::0.0.0.0, fe80:: and ff02::, which often gets in between things on the "Additional routing options:" line, leading to ugly output. However, it is inconsistent to change this for the gateway options only and not for the other options and makes output uglier unnecessarily in the !IPv6 case. Perhaps it is best to use a separate line for each af, finishing it within the options_$af function. -- Jilles Tjoelker From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 14:54:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FB1D106566B; Fri, 15 Jul 2011 14:54:45 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from argol.doit.wisc.edu (argol.doit.wisc.edu [144.92.197.212]) by mx1.freebsd.org (Postfix) with ESMTP id E67278FC16; Fri, 15 Jul 2011 14:54:44 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth3.wiscmail.wisc.edu by smtpauth3.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0LOD00C04QR8RZ00@smtpauth3.wiscmail.wisc.edu>; Fri, 15 Jul 2011 09:54:44 -0500 (CDT) Received: from comporellon.tachypleus.net ([unknown] [76.210.76.224]) by smtpauth3.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0LOD00BTVQR43700@smtpauth3.wiscmail.wisc.edu>; Fri, 15 Jul 2011 09:54:41 -0500 (CDT) Date: Fri, 15 Jul 2011 09:54:39 -0500 From: Nathan Whitehorn In-reply-to: <201107151416.p6FEGQgQ018154@kernblitz.nuclight.avtf.net> To: vadim_nuclight@mail.ru Message-id: <4E2054AF.2040701@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=76.210.76.224 X-Spam-PmxInfo: Server=avs-10, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.7.15.143914, SenderIP=76.210.76.224 References: <201107092301.p69N1sUp019626__19145.5060652972$1310252550$gmane$org@svn.freebsd.org> <201107121004.p6CA4apj070450@kernblitz.nuclight.avtf.net> <4E1C4955.7010206@freebsd.org> <201107151416.p6FEGQgQ018154@kernblitz.nuclight.avtf.net> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110704 Thunderbird/5.0 Cc: doceng@freebsd.org, svn-src-all@freebsd.org, FreeBSD Release Engineering Team Subject: Re: svn commit: r223897 - in head: release usr.sbin/bsdinstall/scripts X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 14:54:45 -0000 On 07/15/11 09:16, Vadim Goncharov wrote: > Hi Nathan Whitehorn! > > On Tue, 12 Jul 2011 08:17:09 -0500; Nathan Whitehorn wrote: > >>>> New Revision: 223897 >>>> URL: http://svn.freebsd.org/changeset/base/223897 >>>> Log: >>>> Per request of the docs team, install docs as packages, instead of via >>>> the normal distfile mechanism. Thanks to Marc Fonvieille for the patch and >>>> for putting up with me taking entirely too long to commit this! >>> [...] >>>> "Network" "Networking configuration" \ >>>> "Services" "Set daemons to run on startup" \ >>>> "Time Zone" "Set system timezone" \ >>>> + "Handbook" "Install FreeBSD Handbook (requires network)" \ >>> [...] >>>> + --checklist "This menu will allow you to install the whole documentation set >>>> +from the FreeBSD Documentation Project: Handbook, FAQ and articles.\n\n >>>> +Please select the language versions you wish to install. At minimum, >>>> +you should install the English version, this is the original version >>>> +of the documentation.\n\n >>>> +NB: This requires a working, configured network connection." 0 0 0 \ >>> [...] >>>> + en "English Documentation (recommended)" ${DIST_DOC_EN:-on} \ >>> Umm, _configured network_ even for original English docs? In 8.2R those doc >>> packages for every lang were installed by sysinstall from CD (DVD1 actually), >>> as it should really be for new user - e.g. if network could be configured only >>> after reading Handbook, installing mpd5 from CD/DVD packages, and so on. >>> >>> Or am I missing something, and it will still be available on the disk? >>> >> The packages are really big (40 MB per), and there's only a small amount >> of space available on the disc. > But they were so a lot while: > > 7.4-RELEASE$ du -chd 0 /usr/share/doc/??_* > 832K /usr/share/doc/bn_BD.ISO10646-1 > 212K /usr/share/doc/da_DK.ISO8859-1 [...] > > And still a packed onto installation disks. Why was there space earlier? > And for it is wasted nowadays? The installation CDs are live CDs now, which means that they provide a functional fixit environment (ls, for instance) as well as letting people try out the operating system and expanding the range of system functionality available to the installer. This takes space. Some of that space is at the expense of other things, but I personally believe that trade-off is very much worth while. >> We *could* fit the English ones, but it >> badly complicates the release scripts to begin doing package generation, >> and Marc and I decided to do it this way. > How this can complicate release scripts, when packing release image and > generating packages are two logically separated steps? > > Anyway, the impact on user's perception of FreeBSD will be too bad to measure > it the amount of scirpts work. The system just can't live without beginner's > documentation, and I've already given one very practical example when this is > absolutely needed. > This was the decision of the documentation team, and as far as documentation is concerned, I will do whatever they ask with regard to the release scripts and the installer. Presumably, the release will also include a second CD (or DVD) full of packages, which will contain the full handbook. The complication for the release building scripts is that they generate finished ISOs, so anything that goes on the image must be available to the script. The scripts no longer build packages of any kind, and so building even one package substantially adds to their complication. I also personally think it's not required or even important to provide a way to install the handbook from disc1. The main documentation format for it is HTML, for which we package no readers on disc1. Additionally, I'm guessing that basically all of our users read it on www.freebsd.org these days instead of from /usr/local/share, which potentially makes it superfluous to package it at all. Further, without the handbook, how would a new user know to look for it at that path? -Nathan From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 15:43:41 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B0DD1065673; Fri, 15 Jul 2011 15:43:41 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 105778FC08; Fri, 15 Jul 2011 15:43:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FFheDd085746; Fri, 15 Jul 2011 15:43:40 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FFhejK085743; Fri, 15 Jul 2011 15:43:40 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107151543.p6FFhejK085743@svn.freebsd.org> From: Kirk McKusick Date: Fri, 15 Jul 2011 15:43:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224059 - head/sbin/fsck_ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 15:43:41 -0000 Author: mckusick Date: Fri Jul 15 15:43:40 2011 New Revision: 224059 URL: http://svn.freebsd.org/changeset/base/224059 Log: Break out the pass 5 inode and block map updating into a separate function so that the function can be used by the journaling soft updates recovery. Modified: head/sbin/fsck_ffs/fsck.h head/sbin/fsck_ffs/pass5.c Modified: head/sbin/fsck_ffs/fsck.h ============================================================================== --- head/sbin/fsck_ffs/fsck.h Fri Jul 15 11:46:54 2011 (r224058) +++ head/sbin/fsck_ffs/fsck.h Fri Jul 15 15:43:40 2011 (r224059) @@ -395,5 +395,6 @@ void setinodebuf(ino_t); int setup(char *dev); void gjournal_check(const char *filesys); int suj_check(const char *filesys); +void update_maps(struct cg *, struct cg*, int); #endif /* !_FSCK_H_ */ Modified: head/sbin/fsck_ffs/pass5.c ============================================================================== --- head/sbin/fsck_ffs/pass5.c Fri Jul 15 11:46:54 2011 (r224058) +++ head/sbin/fsck_ffs/pass5.c Fri Jul 15 15:43:40 2011 (r224059) @@ -49,8 +49,8 @@ __FBSDID("$FreeBSD$"); #include "fsck.h" -static void check_maps(u_char *, u_char *, int, ufs2_daddr_t, const char *, int *, int, int); - +static void check_maps(u_char *, u_char *, int, ufs2_daddr_t, const char *, + int *, int, int, int); static void clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end); void @@ -61,7 +61,7 @@ pass5(void) struct fs *fs = &sblock; struct cg *cg = &cgrp; ufs2_daddr_t d, dbase, dmax, start; - int excessdirs, rewritecg = 0; + int rewritecg = 0; struct csum *cs; struct csum_total cstotal; struct inodesc idesc[3]; @@ -333,27 +333,8 @@ pass5(void) memmove(cg, newcg, (size_t)basesize); cgdirty(); } - if (bkgrdflag != 0 || usedsoftdep || debug) { - excessdirs = cg->cg_cs.cs_ndir - newcg->cg_cs.cs_ndir; - if (excessdirs < 0) { - pfatal("LOST %d DIRECTORIES\n", -excessdirs); - excessdirs = 0; - } - if (excessdirs > 0) - check_maps(cg_inosused(newcg), cg_inosused(cg), - inomapsize, - cg->cg_cgx * (ufs2_daddr_t) fs->fs_ipg, - "DIR", - freedirs, 0, excessdirs); - check_maps(cg_inosused(newcg), cg_inosused(cg), - inomapsize, - cg->cg_cgx * (ufs2_daddr_t) fs->fs_ipg, "FILE", - freefiles, excessdirs, fs->fs_ipg); - check_maps(cg_blksfree(cg), cg_blksfree(newcg), - blkmapsize, - cg->cg_cgx * (ufs2_daddr_t) fs->fs_fpg, "FRAG", - freeblks, 0, fs->fs_fpg); - } + if (bkgrdflag != 0 || usedsoftdep || debug) + update_maps(cg, newcg, bkgrdflag); if (cursnapshot == 0 && memcmp(cg_inosused(newcg), cg_inosused(cg), mapsize) != 0 && dofix(&idesc[1], "BLK(S) MISSING IN BIT MAPS")) { @@ -426,6 +407,40 @@ pass5(void) } } +/* + * Compare the original cylinder group inode and block bitmaps with the + * updated cylinder group inode and block bitmaps. Free inodes and blocks + * that have been added. Complain if any previously freed inodes blocks + * are now allocated. + */ +void +update_maps( + struct cg *oldcg, /* cylinder group of claimed allocations */ + struct cg *newcg, /* cylinder group of determined allocations */ + int usesysctl) /* 1 => use sysctl interface to update maps */ +{ + int inomapsize, excessdirs; + struct fs *fs = &sblock; + + inomapsize = howmany(fs->fs_ipg, CHAR_BIT); + excessdirs = oldcg->cg_cs.cs_ndir - newcg->cg_cs.cs_ndir; + if (excessdirs < 0) { + pfatal("LOST %d DIRECTORIES\n", -excessdirs); + excessdirs = 0; + } + if (excessdirs > 0) + check_maps(cg_inosused(newcg), cg_inosused(oldcg), inomapsize, + oldcg->cg_cgx * (ufs2_daddr_t)fs->fs_ipg, "DIR", freedirs, + 0, excessdirs, usesysctl); + check_maps(cg_inosused(newcg), cg_inosused(oldcg), inomapsize, + oldcg->cg_cgx * (ufs2_daddr_t)fs->fs_ipg, "FILE", freefiles, + excessdirs, fs->fs_ipg, usesysctl); + check_maps(cg_blksfree(oldcg), cg_blksfree(newcg), + howmany(fs->fs_fpg, CHAR_BIT), + oldcg->cg_cgx * (ufs2_daddr_t)fs->fs_fpg, "FRAG", + freeblks, 0, fs->fs_fpg, usesysctl); +} + static void check_maps( u_char *map1, /* map of claimed allocations */ @@ -435,7 +450,8 @@ check_maps( const char *name, /* name of resource found in maps */ int *opcode, /* sysctl opcode to free resource */ int skip, /* number of entries to skip before starting to free */ - int limit) /* limit on number of entries to free */ + int limit, /* limit on number of entries to free */ + int usesysctl) /* 1 => use sysctl interface to update maps */ { # define BUFSIZE 16 char buf[BUFSIZE]; @@ -443,7 +459,7 @@ check_maps( ufs2_daddr_t n, astart, aend, ustart, uend; void (*msg)(const char *fmt, ...); - if (bkgrdflag) + if (usesysctl) msg = pfatal; else msg = pwarn; @@ -506,7 +522,7 @@ check_maps( " MARKED USED\n", "UNALLOCATED", name, ustart, ustart + size - 1); - if (bkgrdflag != 0) { + if (usesysctl != 0) { cmd.value = ustart; cmd.size = size; if (sysctl(opcode, MIBSIZE, 0, 0, @@ -552,7 +568,7 @@ check_maps( " MARKED USED\n", name, ustart, ustart + size - 1); } - if (bkgrdflag != 0) { + if (usesysctl != 0) { cmd.value = ustart; cmd.size = size; if (sysctl(opcode, MIBSIZE, 0, 0, &cmd, From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 15:56:24 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70B58106564A; Fri, 15 Jul 2011 15:56:24 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 47A3F8FC12; Fri, 15 Jul 2011 15:56:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FFuOYk086172; Fri, 15 Jul 2011 15:56:24 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FFuOE7086170; Fri, 15 Jul 2011 15:56:24 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201107151556.p6FFuOE7086170@svn.freebsd.org> From: Glen Barber Date: Fri, 15 Jul 2011 15:56:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224060 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 15:56:24 -0000 Author: gjb (doc committer) Date: Fri Jul 15 15:56:23 2011 New Revision: 224060 URL: http://svn.freebsd.org/changeset/base/224060 Log: Remove an extra '.It' from axe(4). Reported by: manlint Modified: head/share/man/man4/axe.4 Modified: head/share/man/man4/axe.4 ============================================================================== --- head/share/man/man4/axe.4 Fri Jul 15 15:43:40 2011 (r224059) +++ head/share/man/man4/axe.4 Fri Jul 15 15:56:23 2011 (r224060) @@ -222,7 +222,6 @@ AX88760: .It ASIX AX88760 .El -.It .Sh DIAGNOSTICS .Bl -diag .It "axe%d: watchdog timeout" From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 16:20:33 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B680106566C; Fri, 15 Jul 2011 16:20:33 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 59D6E8FC0A; Fri, 15 Jul 2011 16:20:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FGKXuR086899; Fri, 15 Jul 2011 16:20:33 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FGKX98086893; Fri, 15 Jul 2011 16:20:33 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107151620.p6FGKX98086893@svn.freebsd.org> From: Kirk McKusick Date: Fri, 15 Jul 2011 16:20:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224061 - in head/sys/ufs: ffs ufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 16:20:33 -0000 Author: mckusick Date: Fri Jul 15 16:20:33 2011 New Revision: 224061 URL: http://svn.freebsd.org/changeset/base/224061 Log: Add an FFS specific mount option to allow a filesystem checker (typically fsck_ffs) to register that it wishes to use FFS specific sysctl's to update the filesystem. This ensures that two checkers cannot run on a given filesystem at the same time and that no other process accidentally or maliciously uses the filesystem updating sysctls inappropriately. This functionality is needed by the journaling soft-updates recovery code. Modified: head/sys/ufs/ffs/ffs_alloc.c head/sys/ufs/ffs/ffs_inode.c head/sys/ufs/ffs/ffs_vfsops.c head/sys/ufs/ffs/fs.h head/sys/ufs/ufs/ufsmount.h Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Fri Jul 15 15:56:23 2011 (r224060) +++ head/sys/ufs/ffs/ffs_alloc.c Fri Jul 15 16:20:33 2011 (r224061) @@ -2381,6 +2381,18 @@ ffs_fserr(fs, inum, cp) * in the current directory is oldvalue then change it to newvalue. * unlink(nameptr, oldvalue) - Verify that the inode number associated * with nameptr in the current directory is oldvalue then unlink it. + * + * The following functions may only be used on a quiescent filesystem + * by the soft updates journal. They are not safe to be run on an active + * filesystem. + * + * setinode(inode, dip) - the specified disk inode is replaced with the + * contents pointed to by dip. + * setbufoutput(fd, flags) - output associated with the specified file + * descriptor (which must reference the character device supporting + * the filesystem) switches from using physio to running through the + * buffer cache when flags is set to 1. The descriptor reverts to + * physio for output when flags is set to zero. */ static int sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS); @@ -2427,11 +2439,21 @@ static SYSCTL_NODE(_vfs_ffs, FFS_SET_DOT static SYSCTL_NODE(_vfs_ffs, FFS_UNLINK, unlink, CTLFLAG_WR, sysctl_ffs_fsck, "Unlink a Duplicate Name"); +static SYSCTL_NODE(_vfs_ffs, FFS_SET_INODE, setinode, CTLFLAG_WR, + sysctl_ffs_fsck, "Update an On-Disk Inode"); + +static SYSCTL_NODE(_vfs_ffs, FFS_SET_BUFOUTPUT, setbufoutput, CTLFLAG_WR, + sysctl_ffs_fsck, "Set Buffered Writing for Descriptor"); + +#define DEBUG 1 #ifdef DEBUG -static int fsckcmds = 0; +static int fsckcmds = 1; SYSCTL_INT(_debug, OID_AUTO, fsckcmds, CTLFLAG_RW, &fsckcmds, 0, ""); #endif /* DEBUG */ +static int buffered_write(struct file *, struct uio *, struct ucred *, + int, struct thread *); + static int sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) { @@ -2445,8 +2467,10 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) ufs2_daddr_t blkno; long blkcnt, blksize; struct filedesc *fdp; - struct file *fp; + struct file *fp, *vfp; int vfslocked, filetype, error; + static struct fileops *origops, bufferedops; + static int outcnt = 0; if (req->newlen > sizeof cmd) return (EBADRPC); @@ -2454,7 +2478,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) return (error); if (cmd.version != FFS_CMD_VERSION) return (ERPCMISMATCH); - if ((error = getvnode(curproc->p_fd, cmd.handle, &fp)) != 0) + if ((error = getvnode(td->td_proc->p_fd, cmd.handle, &fp)) != 0) return (error); vp = fp->f_data; if (vp->v_type != VREG && vp->v_type != VDIR) { @@ -2467,12 +2491,13 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) fdrop(fp, td); return (EINVAL); } - if (mp->mnt_flag & MNT_RDONLY) { + ump = VFSTOUFS(mp); + if ((mp->mnt_flag & MNT_RDONLY) && + ump->um_fsckpid != td->td_proc->p_pid) { vn_finished_write(mp); fdrop(fp, td); return (EROFS); } - ump = VFSTOUFS(mp); fs = ump->um_fs; filetype = IFREG; @@ -2493,7 +2518,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) case FFS_ADJ_REFCNT: #ifdef DEBUG if (fsckcmds) { - printf("%s: adjust inode %jd count by %jd\n", + printf("%s: adjust inode %jd link count by %jd\n", mp->mnt_stat.f_mntonname, (intmax_t)cmd.value, (intmax_t)cmd.size); } @@ -2504,7 +2529,8 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) ip->i_nlink += cmd.size; DIP_SET(ip, i_nlink, ip->i_nlink); ip->i_effnlink += cmd.size; - ip->i_flag |= IN_CHANGE; + ip->i_flag |= IN_CHANGE | IN_MODIFIED; + error = ffs_update(vp, 1); if (DOINGSOFTDEP(vp)) softdep_change_linkcnt(ip); vput(vp); @@ -2522,7 +2548,8 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) break; ip = VTOI(vp); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + cmd.size); - ip->i_flag |= IN_CHANGE; + ip->i_flag |= IN_CHANGE | IN_MODIFIED; + error = ffs_update(vp, 1); vput(vp); break; @@ -2722,6 +2749,78 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) UIO_USERSPACE, (ino_t)cmd.size); break; + case FFS_SET_INODE: + if (ump->um_fsckpid != td->td_proc->p_pid) { + error = EPERM; + break; + } +#ifdef DEBUG + if (fsckcmds && outcnt++ < 100) { + printf("%s: update inode %jd\n", + mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + } +#endif /* DEBUG */ + if ((error = ffs_vget(mp, (ino_t)cmd.value, LK_EXCLUSIVE, &vp))) + break; + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + AUDIT_ARG_VNODE1(vp); + ip = VTOI(vp); + if (ip->i_ump->um_fstype == UFS1) + error = copyin((void *)(intptr_t)cmd.size, ip->i_din1, + sizeof(struct ufs1_dinode)); + else + error = copyin((void *)(intptr_t)cmd.size, ip->i_din2, + sizeof(struct ufs2_dinode)); + if (error) { + vput(vp); + VFS_UNLOCK_GIANT(vfslocked); + break; + } + ip->i_flag |= IN_CHANGE | IN_MODIFIED; + error = ffs_update(vp, 1); + vput(vp); + VFS_UNLOCK_GIANT(vfslocked); + break; + + case FFS_SET_BUFOUTPUT: + if (ump->um_fsckpid != td->td_proc->p_pid) { + error = EPERM; + break; + } + if (VTOI(vp)->i_ump != ump) { + error = EINVAL; + break; + } +#ifdef DEBUG + if (fsckcmds) { + printf("%s: %s buffered output for descriptor %jd\n", + mp->mnt_stat.f_mntonname, + cmd.size == 1 ? "enable" : "disable", + (intmax_t)cmd.value); + } +#endif /* DEBUG */ + if ((error = getvnode(td->td_proc->p_fd, cmd.value, &vfp)) != 0) + break; + if (vfp->f_vnode->v_type != VCHR) { + fdrop(vfp, td); + error = EINVAL; + break; + } + if (origops == NULL) { + origops = vfp->f_ops; + bcopy((void *)origops, (void *)&bufferedops, + sizeof(bufferedops)); + bufferedops.fo_write = buffered_write; + } + if (cmd.size == 1) + atomic_store_rel_ptr((volatile uintptr_t *)&vfp->f_ops, + (uintptr_t)&bufferedops); + else + atomic_store_rel_ptr((volatile uintptr_t *)&vfp->f_ops, + (uintptr_t)origops); + fdrop(vfp, td); + break; + default: #ifdef DEBUG if (fsckcmds) { @@ -2737,3 +2836,73 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) vn_finished_write(mp); return (error); } + +/* + * Function to switch a descriptor to use the buffer cache to stage + * its I/O. This is needed so that writes to the filesystem device + * will give snapshots a chance to copy modified blocks for which it + * needs to retain copies. + */ +static int +buffered_write(fp, uio, active_cred, flags, td) + struct file *fp; + struct uio *uio; + struct ucred *active_cred; + int flags; + struct thread *td; +{ + struct vnode *devvp; + struct inode *ip; + struct buf *bp; + struct fs *fs; + int error, vfslocked; + daddr_t lbn; + static int outcnt = 0; + + /* + * The devvp is associated with the /dev filesystem. To discover + * the filesystem with which the device is associated, we depend + * on the application setting the current directory to a location + * within the filesystem being written. Yes, this is an ugly hack. + */ + devvp = fp->f_vnode; + ip = VTOI(td->td_proc->p_fd->fd_cdir); + if (ip->i_devvp != devvp) + return (EINVAL); + fs = ip->i_fs; + vfslocked = VFS_LOCK_GIANT(ip->i_vnode->v_mount); + vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); + if ((flags & FOF_OFFSET) == 0) + uio->uio_offset = fp->f_offset; +#ifdef DEBUG + if (fsckcmds && outcnt++ < 100) { + printf("%s: buffered write for block %jd\n", + fs->fs_fsmnt, (intmax_t)btodb(uio->uio_offset)); + } +#endif /* DEBUG */ + /* + * All I/O must be contained within a filesystem block, start on + * a fragment boundary, and be a multiple of fragments in length. + */ + if (uio->uio_resid > fs->fs_bsize - (uio->uio_offset % fs->fs_bsize) || + fragoff(fs, uio->uio_offset) != 0 || + fragoff(fs, uio->uio_resid) != 0) { + error = EINVAL; + goto out; + } + lbn = numfrags(fs, uio->uio_offset); + bp = getblk(devvp, lbn, uio->uio_resid, 0, 0, 0); + bp->b_flags |= B_RELBUF; + if ((error = uiomove((char *)bp->b_data, uio->uio_resid, uio)) != 0) { + brelse(bp); + goto out; + } + error = bwrite(bp); + if ((flags & FOF_OFFSET) == 0) + fp->f_offset = uio->uio_offset; + fp->f_nextoff = uio->uio_offset; +out: + VOP_UNLOCK(devvp, 0); + VFS_UNLOCK_GIANT(vfslocked); + return (error); +} Modified: head/sys/ufs/ffs/ffs_inode.c ============================================================================== --- head/sys/ufs/ffs/ffs_inode.c Fri Jul 15 15:56:23 2011 (r224060) +++ head/sys/ufs/ffs/ffs_inode.c Fri Jul 15 16:20:33 2011 (r224061) @@ -90,7 +90,7 @@ ffs_update(vp, waitfor) return (0); ip->i_flag &= ~(IN_LAZYACCESS | IN_LAZYMOD | IN_MODIFIED); fs = ip->i_fs; - if (fs->fs_ronly) + if (fs->fs_ronly && ip->i_ump->um_fsckpid == 0) return (0); error = bread(ip->i_devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), (int)fs->fs_bsize, NOCRED, &bp); Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Fri Jul 15 15:56:23 2011 (r224060) +++ head/sys/ufs/ffs/ffs_vfsops.c Fri Jul 15 16:20:33 2011 (r224061) @@ -132,8 +132,8 @@ static struct buf_ops ffs_ops = { */ static const char *ffs_opts[] = { "acls", "async", "noatime", "noclusterr", "noclusterw", "noexec", "export", "force", "from", "groupquota", - "multilabel", "nfsv4acls", "snapshot", "nosuid", "suiddir", "nosymfollow", - "sync", "union", "userquota", NULL }; + "multilabel", "nfsv4acls", "fsckpid", "snapshot", "nosuid", "suiddir", + "nosymfollow", "sync", "union", "userquota", NULL }; static int ffs_mount(struct mount *mp) @@ -142,6 +142,7 @@ ffs_mount(struct mount *mp) struct thread *td; struct ufsmount *ump = 0; struct fs *fs; + pid_t fsckpid = 0; int error, flags; u_int mntorflags; accmode_t accmode; @@ -184,6 +185,29 @@ ffs_mount(struct mount *mp) vfs_deleteopt(mp->mnt_opt, "snapshot"); } + if (vfs_getopt(mp->mnt_optnew, "fsckpid", NULL, NULL) == 0 && + vfs_scanopt(mp->mnt_optnew, "fsckpid", "%d", &fsckpid) == 1) { + /* + * Once we have set the restricted PID, do not + * persist "fsckpid" in the options list. + */ + vfs_deleteopt(mp->mnt_optnew, "fsckpid"); + vfs_deleteopt(mp->mnt_opt, "fsckpid"); + if (mp->mnt_flag & MNT_UPDATE) { + if (VFSTOUFS(mp)->um_fs->fs_ronly == 0 && + vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0) == 0) { + printf("Checker enable: Must be read-only\n"); + return (EINVAL); + } + } else if (vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0) == 0) { + printf("Checker enable: Must be read-only\n"); + return (EINVAL); + } + /* Set to -1 if we are done */ + if (fsckpid == 0) + fsckpid = -1; + } + if (vfs_getopt(mp->mnt_optnew, "nfsv4acls", NULL, NULL) == 0) { if (mntorflags & MNT_ACLS) { printf("WARNING: \"acls\" and \"nfsv4acls\" " @@ -204,6 +228,20 @@ ffs_mount(struct mount *mp) ump = VFSTOUFS(mp); fs = ump->um_fs; devvp = ump->um_devvp; + if (fsckpid == -1 && ump->um_fsckpid > 0) { + if ((error = ffs_flushfiles(mp, WRITECLOSE, td)) != 0 || + (error = ffs_sbupdate(ump, MNT_WAIT, 0)) != 0) + return (error); + DROP_GIANT(); + g_topology_lock(); + /* + * Return to normal read-only mode. + */ + error = g_access(ump->um_cp, 0, -1, 0); + g_topology_unlock(); + PICKUP_GIANT(); + ump->um_fsckpid = 0; + } if (fs->fs_ronly == 0 && vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0)) { /* @@ -295,6 +333,13 @@ ffs_mount(struct mount *mp) if (fs->fs_ronly && !vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0)) { /* + * If we are running a checker, do not allow upgrade. + */ + if (ump->um_fsckpid > 0) { + printf("Active checker, cannot rw upgrade\n"); + return (EINVAL); + } + /* * If upgrade to read-write by non-root, then verify * that user has necessary permissions on the device. */ @@ -388,6 +433,39 @@ ffs_mount(struct mount *mp) mp->mnt_flag |= MNT_NFS4ACLS; MNT_IUNLOCK(mp); } + /* + * If this is a request from fsck to clean up the filesystem, + * then allow the specified pid to proceed. + */ + if (fsckpid > 0) { + if (ump->um_fsckpid != 0) { + printf("Active checker already running on %s\n", + fs->fs_fsmnt); + return (EINVAL); + } + KASSERT((mp->mnt_flag & MNT_SOFTDEP) == 0, + ("soft updates enabled on read-only file system")); + DROP_GIANT(); + g_topology_lock(); + /* + * Request write access. + */ + error = g_access(ump->um_cp, 0, 1, 0); + g_topology_unlock(); + PICKUP_GIANT(); + if (error) { + printf("Checker activation failed on %s\n", + fs->fs_fsmnt); + return (error); + } + ump->um_fsckpid = fsckpid; + if (fs->fs_snapinum[0] != 0) + ffs_snapshot_mount(mp); + fs->fs_mtime = time_second; + fs->fs_fmod = 1; + fs->fs_clean = 0; + (void) ffs_sbupdate(ump, MNT_WAIT, 0); + } /* * If this is a snapshot request, take the snapshot. @@ -451,6 +529,31 @@ ffs_mount(struct mount *mp) vrele(devvp); return (error); } + if (fsckpid > 0) { + KASSERT((mp->mnt_flag & MNT_SOFTDEP) == 0, + ("soft updates enabled on read-only file system")); + ump = VFSTOUFS(mp); + fs = ump->um_fs; + DROP_GIANT(); + g_topology_lock(); + /* + * Request write access. + */ + error = g_access(ump->um_cp, 0, 1, 0); + g_topology_unlock(); + PICKUP_GIANT(); + if (error) { + printf("Checker activation failed on %s\n", + fs->fs_fsmnt); + } else { + ump->um_fsckpid = fsckpid; + if (fs->fs_snapinum[0] != 0) + ffs_snapshot_mount(mp); + fs->fs_mtime = time_second; + fs->fs_clean = 0; + (void) ffs_sbupdate(ump, MNT_WAIT, 0); + } + } } vfs_mountedfrom(mp, fspec); return (0); @@ -1161,7 +1264,7 @@ ffs_unmount(mp, mntflags) } UFS_UNLOCK(ump); softdep_unmount(mp); - if (fs->fs_ronly == 0) { + if (fs->fs_ronly == 0 || ump->um_fsckpid > 0) { fs->fs_clean = fs->fs_flags & (FS_UNCLEAN|FS_NEEDSFSCK) ? 0 : 1; error = ffs_sbupdate(ump, MNT_WAIT, 0); if (error && error != ENXIO) { @@ -1175,6 +1278,13 @@ ffs_unmount(mp, mntflags) } DROP_GIANT(); g_topology_lock(); + if (ump->um_fsckpid > 0) { + /* + * Return to normal read-only mode. + */ + error = g_access(ump->um_cp, 0, -1, 0); + ump->um_fsckpid = 0; + } g_vfs_close(ump->um_cp); g_topology_unlock(); PICKUP_GIANT(); @@ -1323,7 +1433,7 @@ ffs_sync(mp, waitfor) td = curthread; fs = ump->um_fs; - if (fs->fs_fmod != 0 && fs->fs_ronly != 0) { /* XXX */ + if (fs->fs_fmod != 0 && fs->fs_ronly != 0 && ump->um_fsckpid == 0) { printf("fs = %s\n", fs->fs_fsmnt); panic("ffs_sync: rofs mod"); } @@ -1681,12 +1791,12 @@ ffs_uninit(vfsp) * Write a superblock and associated information back to disk. */ int -ffs_sbupdate(mp, waitfor, suspended) - struct ufsmount *mp; +ffs_sbupdate(ump, waitfor, suspended) + struct ufsmount *ump; int waitfor; int suspended; { - struct fs *fs = mp->um_fs; + struct fs *fs = ump->um_fs; struct buf *sbbp; struct buf *bp; int blks; @@ -1694,14 +1804,14 @@ ffs_sbupdate(mp, waitfor, suspended) int i, size, error, allerror = 0; if (fs->fs_ronly == 1 && - (mp->um_mountp->mnt_flag & (MNT_RDONLY | MNT_UPDATE)) != - (MNT_RDONLY | MNT_UPDATE)) + (ump->um_mountp->mnt_flag & (MNT_RDONLY | MNT_UPDATE)) != + (MNT_RDONLY | MNT_UPDATE) && ump->um_fsckpid == 0) panic("ffs_sbupdate: write read-only filesystem"); /* * We use the superblock's buf to serialize calls to ffs_sbupdate(). */ - sbbp = getblk(mp->um_devvp, btodb(fs->fs_sblockloc), (int)fs->fs_sbsize, - 0, 0, 0); + sbbp = getblk(ump->um_devvp, btodb(fs->fs_sblockloc), + (int)fs->fs_sbsize, 0, 0, 0); /* * First write back the summary information. */ @@ -1711,7 +1821,7 @@ ffs_sbupdate(mp, waitfor, suspended) size = fs->fs_bsize; if (i + fs->fs_frag > blks) size = (blks - i) * fs->fs_fsize; - bp = getblk(mp->um_devvp, fsbtodb(fs, fs->fs_csaddr + i), + bp = getblk(ump->um_devvp, fsbtodb(fs, fs->fs_csaddr + i), size, 0, 0, 0); bcopy(space, bp->b_data, (u_int)size); space = (char *)space + size; @@ -1747,9 +1857,9 @@ ffs_sbupdate(mp, waitfor, suspended) fs->fs_fmod = 0; fs->fs_time = time_second; if (fs->fs_flags & FS_DOSOFTDEP) - softdep_setup_sbupdate(mp, (struct fs *)bp->b_data, bp); + softdep_setup_sbupdate(ump, (struct fs *)bp->b_data, bp); bcopy((caddr_t)fs, bp->b_data, (u_int)fs->fs_sbsize); - ffs_oldfscompat_write((struct fs *)bp->b_data, mp); + ffs_oldfscompat_write((struct fs *)bp->b_data, ump); if (suspended) bp->b_flags |= B_VALIDSUSPWRT; if (waitfor != MNT_WAIT) Modified: head/sys/ufs/ffs/fs.h ============================================================================== --- head/sys/ufs/ffs/fs.h Fri Jul 15 15:56:23 2011 (r224060) +++ head/sys/ufs/ffs/fs.h Fri Jul 15 16:20:33 2011 (r224061) @@ -214,7 +214,9 @@ #define FFS_SET_CWD 12 /* set current directory */ #define FFS_SET_DOTDOT 13 /* set inode number for ".." */ #define FFS_UNLINK 14 /* remove a name in the filesystem */ -#define FFS_MAXID 15 /* number of valid ffs ids */ +#define FFS_SET_INODE 15 /* update an on-disk inode */ +#define FFS_SET_BUFOUTPUT 16 /* set buffered writing on descriptor */ +#define FFS_MAXID 16 /* number of valid ffs ids */ /* * Command structure passed in to the filesystem to adjust filesystem values. Modified: head/sys/ufs/ufs/ufsmount.h ============================================================================== --- head/sys/ufs/ufs/ufsmount.h Fri Jul 15 15:56:23 2011 (r224060) +++ head/sys/ufs/ufs/ufsmount.h Fri Jul 15 16:20:33 2011 (r224061) @@ -77,6 +77,7 @@ struct ufsmount { u_long um_bptrtodb; /* indir ptr to disk block */ u_long um_seqinc; /* inc between seq blocks */ struct mtx um_lock; /* Protects ufsmount & fs */ + pid_t um_fsckpid; /* PID permitted fsck sysctls */ long um_numindirdeps; /* outstanding indirdeps */ struct workhead softdep_workitem_pending; /* softdep work queue */ struct worklist *softdep_worklist_tail; /* Tail pointer for above */ From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 17:23:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED3181065670; Fri, 15 Jul 2011 17:23:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD5878FC12; Fri, 15 Jul 2011 17:23:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FHNj96088790; Fri, 15 Jul 2011 17:23:45 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FHNjY1088788; Fri, 15 Jul 2011 17:23:45 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107151723.p6FHNjY1088788@svn.freebsd.org> From: John Baldwin Date: Fri, 15 Jul 2011 17:23:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224062 - head/usr.bin/top X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 17:23:46 -0000 Author: jhb Date: Fri Jul 15 17:23:45 2011 New Revision: 224062 URL: http://svn.freebsd.org/changeset/base/224062 Log: Revert 130163 and let top use KERN_PROC_PROC when individual threads are not displayed. The KERN_PROC_PROC sysctl was fixed in 188764. Modified: head/usr.bin/top/machine.c Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Fri Jul 15 16:20:33 2011 (r224061) +++ head/usr.bin/top/machine.c Fri Jul 15 17:23:45 2011 (r224062) @@ -624,7 +624,6 @@ get_process_info(struct system_info *si, int active_procs; struct kinfo_proc **prefp; struct kinfo_proc *pp; - struct kinfo_proc *prev_pp = NULL; /* these are copied out of sel for speed */ int show_idle; @@ -657,7 +656,8 @@ get_process_info(struct system_info *si, } previous_proc_count = nproc; - pbase = kvm_getprocs(kd, KERN_PROC_ALL, 0, &nproc); + pbase = kvm_getprocs(kd, sel->thread ? KERN_PROC_ALL : KERN_PROC_PROC, + 0, &nproc); if (nproc > onproc) pref = realloc(pref, sizeof(*pref) * (onproc = nproc)); if (pref == NULL || pbase == NULL) { @@ -727,21 +727,8 @@ get_process_info(struct system_info *si, /* skip proc. that don't belong to the selected UID */ continue; - /* - * When not showing threads, take the first thread - * for output and add the fields that we can from - * the rest of the process's threads rather than - * using the system's mostly-broken KERN_PROC_PROC. - */ - if (sel->thread || prev_pp == NULL || - prev_pp->ki_pid != pp->ki_pid) { - *prefp++ = pp; - active_procs++; - prev_pp = pp; - } else { - prev_pp->ki_pctcpu += pp->ki_pctcpu; - prev_pp->ki_runtime += pp->ki_runtime; - } + *prefp++ = pp; + active_procs++; } /* if requested, sort the "interesting" processes */ From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 17:27:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35B53106566C; Fri, 15 Jul 2011 17:27:27 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 25E088FC0A; Fri, 15 Jul 2011 17:27:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FHRRO4088936; Fri, 15 Jul 2011 17:27:27 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FHRRK7088934; Fri, 15 Jul 2011 17:27:27 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201107151727.p6FHRRK7088934@svn.freebsd.org> From: Kirk McKusick Date: Fri, 15 Jul 2011 17:27:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224063 - head/sys/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 17:27:27 -0000 Author: mckusick Date: Fri Jul 15 17:27:26 2011 New Revision: 224063 URL: http://svn.freebsd.org/changeset/base/224063 Log: Delete duplicate tags entry I introduced in -r223901. Submitted-by: John Baldwin Modified: head/sys/i386/Makefile Modified: head/sys/i386/Makefile ============================================================================== --- head/sys/i386/Makefile Fri Jul 15 17:23:45 2011 (r224062) +++ head/sys/i386/Makefile Fri Jul 15 17:27:26 2011 (r224063) @@ -25,10 +25,9 @@ links:: (cd $$i && { rm -f tags; ln -s ../tags tags; }) done SI386= ${SYS}/i386/acpica/*.[ch] ${SYS}/i386/bios/*.[ch] \ - ${SYS}/i386/pci/*.[ch] ${SYS}/i386/pci/*.[ch] \ ${SYS}/i386/i386/*.[ch] ${SYS}/i386/ibcs2/*.[ch] \ ${SYS}/i386/include/*.[ch] ${SYS}/i386/isa/*.[ch] \ - ${SYS}/i386/linux/*.[ch] + ${SYS}/i386/linux/*.[ch] ${SYS}/i386/pci/*.[ch] AI386= ${SYS}/i386/i386/*.s tags:: From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 18:10:59 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8F4F106566B; Fri, 15 Jul 2011 18:10:59 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A85168FC0A; Fri, 15 Jul 2011 18:10:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FIAxwU090270; Fri, 15 Jul 2011 18:10:59 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FIAxmZ090268; Fri, 15 Jul 2011 18:10:59 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201107151810.p6FIAxmZ090268@svn.freebsd.org> From: Xin LI Date: Fri, 15 Jul 2011 18:10:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224065 - stable/8/usr.sbin/pw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 18:10:59 -0000 Author: delphij Date: Fri Jul 15 18:10:59 2011 New Revision: 224065 URL: http://svn.freebsd.org/changeset/base/224065 Log: MFC r223115: Don't attempt to create the base directory when -d is specified. Modified: stable/8/usr.sbin/pw/pw_user.c Directory Properties: stable/8/usr.sbin/pw/ (props changed) Modified: stable/8/usr.sbin/pw/pw_user.c ============================================================================== --- stable/8/usr.sbin/pw/pw_user.c Fri Jul 15 17:36:11 2011 (r224064) +++ stable/8/usr.sbin/pw/pw_user.c Fri Jul 15 18:10:59 2011 (r224065) @@ -170,7 +170,7 @@ pw_user(struct userconf * cnf, int mode, * If we'll need to use it or we're updating it, * then create the base home directory if necessary */ - if (arg != NULL || getarg(args, 'm') != NULL) { + if ((arg != NULL || getarg(args, 'm') != NULL) && (getarg(args, 'd') == NULL)) { int l = strlen(cnf->home); if (l > 1 && cnf->home[l-1] == '/') /* Shave off any trailing path delimiter */ From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 18:26:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9181C1065670; Fri, 15 Jul 2011 18:26:19 +0000 (UTC) (envelope-from jonathan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 809228FC14; Fri, 15 Jul 2011 18:26:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FIQJKO090752; Fri, 15 Jul 2011 18:26:19 GMT (envelope-from jonathan@svn.freebsd.org) Received: (from jonathan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FIQJ15090747; Fri, 15 Jul 2011 18:26:19 GMT (envelope-from jonathan@svn.freebsd.org) Message-Id: <201107151826.p6FIQJ15090747@svn.freebsd.org> From: Jonathan Anderson Date: Fri, 15 Jul 2011 18:26:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224066 - in head/sys: compat/freebsd32 kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 18:26:19 -0000 Author: jonathan Date: Fri Jul 15 18:26:19 2011 New Revision: 224066 URL: http://svn.freebsd.org/changeset/base/224066 Log: Add cap_new() and cap_getrights() system calls. Implement two previously-reserved Capsicum system calls: - cap_new() creates a capability to wrap an existing file descriptor - cap_getrights() queries the rights mask of a capability. Approved by: mentor (rwatson), re (Capsicum blanket) Sponsored by: Google Inc Modified: head/sys/compat/freebsd32/syscalls.master head/sys/kern/sys_capability.c head/sys/kern/syscalls.master head/sys/sys/capability.h Modified: head/sys/compat/freebsd32/syscalls.master ============================================================================== --- head/sys/compat/freebsd32/syscalls.master Fri Jul 15 18:10:59 2011 (r224065) +++ head/sys/compat/freebsd32/syscalls.master Fri Jul 15 18:26:19 2011 (r224066) @@ -957,8 +957,9 @@ 512 AUE_SHMCTL NOSTD { int freebsd32_shmctl(int shmid, int cmd, \ struct shmid_ds32 *buf); } 513 AUE_LPATHCONF NOPROTO { int lpathconf(char *path, int name); } -514 AUE_CAP_NEW UNIMPL cap_new -515 AUE_CAP_GETRIGHTS UNIMPL cap_getrights +514 AUE_CAP_NEW NOPROTO { int cap_new(int fd, u_int64_t rights); } +515 AUE_CAP_GETRIGHTS NOPROTO { int cap_getrights(int fd, \ + u_int64_t *rightsp); } 516 AUE_CAP_ENTER NOPROTO { int cap_enter(void); } 517 AUE_CAP_GETMODE NOPROTO { int cap_getmode(u_int *modep); } 518 AUE_PDFORK UNIMPL pdfork Modified: head/sys/kern/sys_capability.c ============================================================================== --- head/sys/kern/sys_capability.c Fri Jul 15 18:10:59 2011 (r224065) +++ head/sys/kern/sys_capability.c Fri Jul 15 18:26:19 2011 (r224066) @@ -212,6 +212,59 @@ cap_rights(struct file *fp_cap) } /* + * System call to create a new capability reference to either an existing + * file object or an an existing capability. + */ +int +cap_new(struct thread *td, struct cap_new_args *uap) +{ + int error, capfd; + int fd = uap->fd; + struct file *fp, *fcapp; + cap_rights_t rights = uap->rights; + + AUDIT_ARG_FD(fd); +#ifdef notyet /* capability auditing will follow in a few commits */ + AUDIT_ARG_RIGHTS(rights); +#endif + error = fget(td, fd, &fp); + if (error) + return (error); + AUDIT_ARG_FILE(td->td_proc, fp); + error = kern_capwrap(td, fp, rights, &fcapp, &capfd); + if (error) + return (error); + + /* + * Release our reference to the file (kern_capwrap has held a reference + * for the filedesc array). + */ + fdrop(fp, td); + td->td_retval[0] = capfd; + return (0); +} + +/* + * System call to query the rights mask associated with a capability. + */ +int +cap_getrights(struct thread *td, struct cap_getrights_args *uap) +{ + struct capability *cp; + struct file *fp; + int error; + + AUDIT_ARG_FD(uap->fd); + error = fgetcap(td, uap->fd, &fp); + if (error) + return (error); + cp = fp->f_data; + error = copyout(&cp->cap_rights, uap->rightsp, sizeof(*uap->rightsp)); + fdrop(fp, td); + return (error); +} + +/* * Create a capability to wrap around an existing file. */ int @@ -423,6 +476,20 @@ capability_stat(struct file *fp, struct * into the kernel. */ int +cap_new(struct thread *td, struct cap_new_args *uap) +{ + + return (ENOSYS); +} + +int +cap_getrights(struct thread *td, struct cap_getrights_args *uap) +{ + + return (ENOSYS); +} + +int cap_funwrap(struct file *fp_cap, cap_rights_t rights, struct file **fpp) { Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Fri Jul 15 18:10:59 2011 (r224065) +++ head/sys/kern/syscalls.master Fri Jul 15 18:26:19 2011 (r224066) @@ -914,8 +914,9 @@ 512 AUE_SHMCTL NOSTD { int shmctl(int shmid, int cmd, \ struct shmid_ds *buf); } 513 AUE_LPATHCONF STD { int lpathconf(char *path, int name); } -514 AUE_CAP_NEW UNIMPL cap_new -515 AUE_CAP_GETRIGHTS UNIMPL cap_getrights +514 AUE_CAP_NEW STD { int cap_new(int fd, u_int64_t rights); } +515 AUE_CAP_GETRIGHTS STD { int cap_getrights(int fd, \ + u_int64_t *rightsp); } 516 AUE_CAP_ENTER STD { int cap_enter(void); } 517 AUE_CAP_GETMODE STD { int cap_getmode(u_int *modep); } 518 AUE_PDFORK UNIMPL pdfork Modified: head/sys/sys/capability.h ============================================================================== --- head/sys/sys/capability.h Fri Jul 15 18:10:59 2011 (r224065) +++ head/sys/sys/capability.h Fri Jul 15 18:26:19 2011 (r224066) @@ -110,6 +110,18 @@ int cap_enter(void); */ int cap_getmode(u_int* modep); +/* + * cap_new(): Create a new capability derived from an existing file + * descriptor with the specified rights. If the existing file descriptor is + * a capability, then the new rights must be a subset of the existing rights. + */ +int cap_new(int fd, cap_rights_t rights); + +/* + * cap_getrights(): Query the rights on a capability. + */ +int cap_getrights(int fd, cap_rights_t *rightsp); + __END_DECLS #endif /* !_KERNEL */ From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 18:33:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1621D106564A; Fri, 15 Jul 2011 18:33:13 +0000 (UTC) (envelope-from jonathan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 046FD8FC08; Fri, 15 Jul 2011 18:33:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FIXCZM091010; Fri, 15 Jul 2011 18:33:12 GMT (envelope-from jonathan@svn.freebsd.org) Received: (from jonathan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FIXCGq090998; Fri, 15 Jul 2011 18:33:12 GMT (envelope-from jonathan@svn.freebsd.org) Message-Id: <201107151833.p6FIXCGq090998@svn.freebsd.org> From: Jonathan Anderson Date: Fri, 15 Jul 2011 18:33:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224067 - in head/sys: compat/freebsd32 kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 18:33:13 -0000 Author: jonathan Date: Fri Jul 15 18:33:12 2011 New Revision: 224067 URL: http://svn.freebsd.org/changeset/base/224067 Log: Auto-generated system call code with cap_new(), cap_getrights(). Approved by: mentor (rwatson), re (Capsicum blanket) Sponsored by: Google Inc Modified: head/sys/compat/freebsd32/freebsd32_proto.h head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/compat/freebsd32/freebsd32_syscalls.c head/sys/compat/freebsd32/freebsd32_sysent.c head/sys/compat/freebsd32/freebsd32_systrace_args.c head/sys/kern/init_sysent.c head/sys/kern/syscalls.c head/sys/kern/systrace_args.c head/sys/sys/syscall.h head/sys/sys/syscall.mk head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_proto.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_proto.h Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/compat/freebsd32/freebsd32_proto.h Fri Jul 15 18:33:12 2011 (r224067) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib + * created from FreeBSD */ #ifndef _FREEBSD32_SYSPROTO_H_ Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Fri Jul 15 18:33:12 2011 (r224067) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib + * created from FreeBSD */ #define FREEBSD32_SYS_syscall 0 @@ -411,6 +411,8 @@ #define FREEBSD32_SYS_freebsd32_msgctl 511 #define FREEBSD32_SYS_freebsd32_shmctl 512 #define FREEBSD32_SYS_lpathconf 513 +#define FREEBSD32_SYS_cap_new 514 +#define FREEBSD32_SYS_cap_getrights 515 #define FREEBSD32_SYS_cap_enter 516 #define FREEBSD32_SYS_cap_getmode 517 #define FREEBSD32_SYS_freebsd32_pselect 522 Modified: head/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscalls.c Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/compat/freebsd32/freebsd32_syscalls.c Fri Jul 15 18:33:12 2011 (r224067) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib + * created from FreeBSD */ const char *freebsd32_syscallnames[] = { @@ -537,8 +537,8 @@ const char *freebsd32_syscallnames[] = { "freebsd32_msgctl", /* 511 = freebsd32_msgctl */ "freebsd32_shmctl", /* 512 = freebsd32_shmctl */ "lpathconf", /* 513 = lpathconf */ - "#514", /* 514 = cap_new */ - "#515", /* 515 = cap_getrights */ + "cap_new", /* 514 = cap_new */ + "cap_getrights", /* 515 = cap_getrights */ "cap_enter", /* 516 = cap_enter */ "cap_getmode", /* 517 = cap_getmode */ "#518", /* 518 = pdfork */ Modified: head/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_sysent.c Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/compat/freebsd32/freebsd32_sysent.c Fri Jul 15 18:33:12 2011 (r224067) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 223166 2011-06-16 22:05:56Z kib + * created from FreeBSD */ #include "opt_compat.h" @@ -574,8 +574,8 @@ struct sysent freebsd32_sysent[] = { { AS(freebsd32_msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = freebsd32_msgctl */ { AS(freebsd32_shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = freebsd32_shmctl */ { AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0, SY_THR_STATIC }, /* 513 = lpathconf */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 514 = cap_new */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 515 = cap_getrights */ + { AS(cap_new_args), (sy_call_t *)cap_new, AUE_CAP_NEW, NULL, 0, 0, 0, SY_THR_STATIC }, /* 514 = cap_new */ + { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_CAP_GETRIGHTS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 515 = cap_getrights */ { 0, (sy_call_t *)cap_enter, AUE_CAP_ENTER, NULL, 0, 0, 0, SY_THR_STATIC }, /* 516 = cap_enter */ { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_CAP_GETMODE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 517 = cap_getmode */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 518 = pdfork */ Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_systrace_args.c Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/compat/freebsd32/freebsd32_systrace_args.c Fri Jul 15 18:33:12 2011 (r224067) @@ -2918,6 +2918,22 @@ systrace_args(int sysnum, void *params, *n_args = 2; break; } + /* cap_new */ + case 514: { + struct cap_new_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = p->rights; /* u_int64_t */ + *n_args = 2; + break; + } + /* cap_getrights */ + case 515: { + struct cap_getrights_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->rightsp; /* u_int64_t * */ + *n_args = 2; + break; + } /* cap_enter */ case 516: { *n_args = 0; @@ -7873,6 +7889,32 @@ systrace_setargdesc(int sysnum, int ndx, break; }; break; + /* cap_new */ + case 514: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "u_int64_t"; + break; + default: + break; + }; + break; + /* cap_getrights */ + case 515: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "u_int64_t *"; + break; + default: + break; + }; + break; /* cap_enter */ case 516: break; Modified: head/sys/kern/init_sysent.c ============================================================================== --- head/sys/kern/init_sysent.c Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/kern/init_sysent.c Fri Jul 15 18:33:12 2011 (r224067) @@ -548,8 +548,8 @@ struct sysent sysent[] = { { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = msgctl */ { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = shmctl */ { AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0, SY_THR_STATIC }, /* 513 = lpathconf */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 514 = cap_new */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 515 = cap_getrights */ + { AS(cap_new_args), (sy_call_t *)cap_new, AUE_CAP_NEW, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 514 = cap_new */ + { AS(cap_getrights_args), (sy_call_t *)cap_getrights, AUE_CAP_GETRIGHTS, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 515 = cap_getrights */ { 0, (sy_call_t *)cap_enter, AUE_CAP_ENTER, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 516 = cap_enter */ { AS(cap_getmode_args), (sy_call_t *)cap_getmode, AUE_CAP_GETMODE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 517 = cap_getmode */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 518 = pdfork */ Modified: head/sys/kern/syscalls.c ============================================================================== --- head/sys/kern/syscalls.c Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/kern/syscalls.c Fri Jul 15 18:33:12 2011 (r224067) @@ -521,8 +521,8 @@ const char *syscallnames[] = { "msgctl", /* 511 = msgctl */ "shmctl", /* 512 = shmctl */ "lpathconf", /* 513 = lpathconf */ - "#514", /* 514 = cap_new */ - "#515", /* 515 = cap_getrights */ + "cap_new", /* 514 = cap_new */ + "cap_getrights", /* 515 = cap_getrights */ "cap_enter", /* 516 = cap_enter */ "cap_getmode", /* 517 = cap_getmode */ "#518", /* 518 = pdfork */ Modified: head/sys/kern/systrace_args.c ============================================================================== --- head/sys/kern/systrace_args.c Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/kern/systrace_args.c Fri Jul 15 18:33:12 2011 (r224067) @@ -3096,6 +3096,22 @@ systrace_args(int sysnum, void *params, *n_args = 2; break; } + /* cap_new */ + case 514: { + struct cap_new_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = p->rights; /* u_int64_t */ + *n_args = 2; + break; + } + /* cap_getrights */ + case 515: { + struct cap_getrights_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->rightsp; /* u_int64_t * */ + *n_args = 2; + break; + } /* cap_enter */ case 516: { *n_args = 0; @@ -8326,6 +8342,32 @@ systrace_setargdesc(int sysnum, int ndx, break; }; break; + /* cap_new */ + case 514: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "u_int64_t"; + break; + default: + break; + }; + break; + /* cap_getrights */ + case 515: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "u_int64_t *"; + break; + default: + break; + }; + break; /* cap_enter */ case 516: break; Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/sys/syscall.h Fri Jul 15 18:33:12 2011 (r224067) @@ -430,6 +430,8 @@ #define SYS_msgctl 511 #define SYS_shmctl 512 #define SYS_lpathconf 513 +#define SYS_cap_new 514 +#define SYS_cap_getrights 515 #define SYS_cap_enter 516 #define SYS_cap_getmode 517 #define SYS_pselect 522 Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/sys/syscall.mk Fri Jul 15 18:33:12 2011 (r224067) @@ -379,6 +379,8 @@ MIASM = \ msgctl.o \ shmctl.o \ lpathconf.o \ + cap_new.o \ + cap_getrights.o \ cap_enter.o \ cap_getmode.o \ pselect.o \ Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Fri Jul 15 18:26:19 2011 (r224066) +++ head/sys/sys/sysproto.h Fri Jul 15 18:33:12 2011 (r224067) @@ -1657,6 +1657,14 @@ struct lpathconf_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; char name_l_[PADL_(int)]; int name; char name_r_[PADR_(int)]; }; +struct cap_new_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char rights_l_[PADL_(u_int64_t)]; u_int64_t rights; char rights_r_[PADR_(u_int64_t)]; +}; +struct cap_getrights_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char rightsp_l_[PADL_(u_int64_t *)]; u_int64_t * rightsp; char rightsp_r_[PADR_(u_int64_t *)]; +}; struct cap_enter_args { register_t dummy; }; @@ -2073,6 +2081,8 @@ int __semctl(struct thread *, struct __s int msgctl(struct thread *, struct msgctl_args *); int shmctl(struct thread *, struct shmctl_args *); int lpathconf(struct thread *, struct lpathconf_args *); +int cap_new(struct thread *, struct cap_new_args *); +int cap_getrights(struct thread *, struct cap_getrights_args *); int cap_enter(struct thread *, struct cap_enter_args *); int cap_getmode(struct thread *, struct cap_getmode_args *); int pselect(struct thread *, struct pselect_args *); @@ -2758,6 +2768,8 @@ int freebsd7_shmctl(struct thread *, str #define SYS_AUE_msgctl AUE_MSGCTL #define SYS_AUE_shmctl AUE_SHMCTL #define SYS_AUE_lpathconf AUE_LPATHCONF +#define SYS_AUE_cap_new AUE_CAP_NEW +#define SYS_AUE_cap_getrights AUE_CAP_GETRIGHTS #define SYS_AUE_cap_enter AUE_CAP_ENTER #define SYS_AUE_cap_getmode AUE_CAP_GETMODE #define SYS_AUE_pselect AUE_SELECT From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 19:02:44 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A84F5106564A; Fri, 15 Jul 2011 19:02:44 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9893E8FC0A; Fri, 15 Jul 2011 19:02:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FJ2inY091942; Fri, 15 Jul 2011 19:02:44 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FJ2ioD091940; Fri, 15 Jul 2011 19:02:44 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201107151902.p6FJ2ioD091940@svn.freebsd.org> From: Joel Dahl Date: Fri, 15 Jul 2011 19:02:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224068 - head/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 19:02:44 -0000 Author: joel (doc committer) Date: Fri Jul 15 19:02:44 2011 New Revision: 224068 URL: http://svn.freebsd.org/changeset/base/224068 Log: Sort snd_* entries alphabetically. Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Fri Jul 15 18:33:12 2011 (r224067) +++ head/sys/conf/NOTES Fri Jul 15 19:02:44 2011 (r224068) @@ -2253,14 +2253,14 @@ device sound # conjunction with snd_sbc. # snd_sbc: Creative SoundBlaster ISA PnP/non-PnP. # Supports ESS and Avance ISA chips as well. -# snd_spicds: SPI codec driver, needed by Envy24/Envy24HT drivers. # snd_solo: ESS Solo-1x PCI. +# snd_spicds: SPI codec driver, needed by Envy24/Envy24HT drivers. # snd_t4dwave: Trident 4DWave DX/NX PCI, Sis 7018 PCI and Acer Labs # M5451 PCI. +# snd_uaudio: USB audio. # snd_via8233: VIA VT8233x PCI. # snd_via82c686: VIA VT82C686A PCI. # snd_vibes: S3 Sonicvibes PCI. -# snd_uaudio: USB audio. device snd_ad1816 device snd_als4000 @@ -2290,10 +2290,10 @@ device snd_sbc device snd_solo device snd_spicds device snd_t4dwave +device snd_uaudio device snd_via8233 device snd_via82c686 device snd_vibes -device snd_uaudio # For non-PnP sound cards: hint.pcm.0.at="isa" From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 20:34:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 604CF106564A; Fri, 15 Jul 2011 20:34:36 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay04.stack.nl [IPv6:2001:610:1108:5010::107]) by mx1.freebsd.org (Postfix) with ESMTP id F1DA28FC08; Fri, 15 Jul 2011 20:34:35 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id 47BCD1DD659; Fri, 15 Jul 2011 22:34:35 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id 2DF39173CB; Fri, 15 Jul 2011 22:34:35 +0200 (CEST) Date: Fri, 15 Jul 2011 22:34:35 +0200 From: Jilles Tjoelker To: Xin LI Message-ID: <20110715203435.GA83996@stack.nl> References: <201107110531.p6B5Vrfn077306@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201107110531.p6B5Vrfn077306@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223922 - head/usr.bin/rpcgen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 20:34:36 -0000 On Mon, Jul 11, 2011 at 05:31:53AM +0000, Xin LI wrote: > Author: delphij > Date: Mon Jul 11 05:31:52 2011 > New Revision: 223922 > URL: http://svn.freebsd.org/changeset/base/223922 > Log: > Use strlcpy(). > MFC after: 1 month It looks like the length is known in all four cases, so that memcpy() can be used instead of strncpy() or strlcpy(), with explicitly assigning a '\0' (like with the former strncpy()). In particular, strlcpy()'s implicit strlen of the source operand is wasteful here, particularly for input files with long lines. It also adds a hidden dependency on *str being null-terminated, which is a bit ugly even though it is satisfied and used elsewhere in the code. > Modified: > head/usr.bin/rpcgen/rpc_scan.c > Modified: head/usr.bin/rpcgen/rpc_scan.c > ============================================================================== > --- head/usr.bin/rpcgen/rpc_scan.c Mon Jul 11 05:22:31 2011 (r223921) > +++ head/usr.bin/rpcgen/rpc_scan.c Mon Jul 11 05:31:52 2011 (r223922) > @@ -329,10 +329,9 @@ findstrconst(char **str, const char **va > error("unterminated string constant"); > } > p++; > - size = p - *str; > - tmp = xmalloc(size + 1); > - (void) strncpy(tmp, *str, size); > - tmp[size] = 0; > + size = p - *str + 1; > + tmp = xmalloc(size); > + (void) strlcpy(tmp, *str, size); > *val = tmp; > *str = p; > } > @@ -352,13 +351,12 @@ findchrconst(char **str, const char **va > error("unterminated string constant"); > } > p++; > - size = p - *str; > - if (size != 3) { > + size = p - *str + 1; > + if (size != 4) { > error("empty char string"); > } > - tmp = xmalloc(size + 1); > - (void) strncpy(tmp, *str, size); > - tmp[size] = 0; > + tmp = xmalloc(size); > + (void) strlcpy(tmp, *str, size); > *val = tmp; > *str = p; > } > @@ -381,10 +379,9 @@ findconst(char **str, const char **val) > p++; > } while (isdigit(*p)); > } > - size = p - *str; > - tmp = xmalloc(size + 1); > - (void) strncpy(tmp, *str, size); > - tmp[size] = 0; > + size = p - *str + 1; > + tmp = xmalloc(size); > + (void) strlcpy(tmp, *str, size); > *val = tmp; > *str = p; > } > @@ -438,8 +435,7 @@ findkind(char **mark, token *tokp) > tokp->kind = TOK_IDENT; > for (len = 0; isalnum(str[len]) || str[len] == '_'; len++); > tmp = xmalloc(len + 1); > - (void) strncpy(tmp, str, len); > - tmp[len] = 0; > + (void) strlcpy(tmp, str, len + 1); > tokp->str = tmp; > *mark = str + len; > } -- Jilles Tjoelker From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 21:08:58 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9A681065673; Fri, 15 Jul 2011 21:08:58 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C7FDD8FC0C; Fri, 15 Jul 2011 21:08:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FL8wXP096007; Fri, 15 Jul 2011 21:08:58 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FL8wON095998; Fri, 15 Jul 2011 21:08:58 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107152108.p6FL8wON095998@svn.freebsd.org> From: John Baldwin Date: Fri, 15 Jul 2011 21:08:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224069 - in head/sys: dev/acpica dev/pci sys x86/include x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 21:08:58 -0000 Author: jhb Date: Fri Jul 15 21:08:58 2011 New Revision: 224069 URL: http://svn.freebsd.org/changeset/base/224069 Log: Respect the BIOS/firmware's notion of acceptable address ranges for PCI resource allocation on x86 platforms: - Add a new helper API that Host-PCI bridge drivers can use to restrict resource allocation requests to a set of address ranges for different resource types. - For the ACPI Host-PCI bridge driver, use Producer address range resources in _CRS to enumerate valid address ranges for a given Host-PCI bridge. This can be disabled by including "hostres" in the debug.acpi.disabled tunable. - For the MPTable Host-PCI bridge driver, use entries in the extended MPTable to determine the valid address ranges for a given Host-PCI bridge. This required adding code to parse extended table entries. Similar to the new PCI-PCI bridge driver, these changes are only enabled if the NEW_PCIB kernel option is enabled (which is enabled by default on amd64 and i386). Approved by: re (kib) Modified: head/sys/dev/acpica/acpi_pcib_acpi.c head/sys/dev/pci/pci_pci.c head/sys/dev/pci/pci_subr.c head/sys/dev/pci/pcib_private.h head/sys/sys/bus.h head/sys/x86/include/mptable.h head/sys/x86/x86/mptable.c head/sys/x86/x86/mptable_pci.c Modified: head/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- head/sys/dev/acpica/acpi_pcib_acpi.c Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/dev/acpica/acpi_pcib_acpi.c Fri Jul 15 21:08:58 2011 (r224069) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -62,6 +63,9 @@ struct acpi_hpcib_softc { int ap_bus; /* bios-assigned bus number */ ACPI_BUFFER ap_prt; /* interrupt routing table */ +#ifdef NEW_PCIB + struct pcib_host_resources ap_host_res; +#endif }; static int acpi_pcib_acpi_probe(device_t bus); @@ -87,6 +91,11 @@ static struct resource *acpi_pcib_acpi_a device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); +#ifdef NEW_PCIB +static int acpi_pcib_acpi_adjust_resource(device_t dev, + device_t child, int type, struct resource *r, + u_long start, u_long end); +#endif static device_method_t acpi_pcib_acpi_methods[] = { /* Device interface */ @@ -101,7 +110,11 @@ static device_method_t acpi_pcib_acpi_me DEVMETHOD(bus_read_ivar, acpi_pcib_read_ivar), DEVMETHOD(bus_write_ivar, acpi_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, acpi_pcib_acpi_alloc_resource), +#ifdef NEW_PCIB + DEVMETHOD(bus_adjust_resource, acpi_pcib_acpi_adjust_resource), +#else DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), +#endif DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), @@ -149,6 +162,120 @@ acpi_pcib_acpi_probe(device_t dev) return (0); } +#ifdef NEW_PCIB +static ACPI_STATUS +acpi_pcib_producer_handler(ACPI_RESOURCE *res, void *context) +{ + struct acpi_hpcib_softc *sc; + UINT64 length, min, max; + u_int flags; + int error, type; + + sc = context; + switch (res->Type) { + case ACPI_RESOURCE_TYPE_START_DEPENDENT: + case ACPI_RESOURCE_TYPE_END_DEPENDENT: + panic("host bridge has depenedent resources"); + case ACPI_RESOURCE_TYPE_ADDRESS16: + case ACPI_RESOURCE_TYPE_ADDRESS32: + case ACPI_RESOURCE_TYPE_ADDRESS64: + case ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64: + if (res->Data.Address.ProducerConsumer != ACPI_PRODUCER) + break; + switch (res->Type) { + case ACPI_RESOURCE_TYPE_ADDRESS16: + min = res->Data.Address16.Minimum; + max = res->Data.Address16.Maximum; + length = res->Data.Address16.AddressLength; + break; + case ACPI_RESOURCE_TYPE_ADDRESS32: + min = res->Data.Address32.Minimum; + max = res->Data.Address32.Maximum; + length = res->Data.Address32.AddressLength; + break; + case ACPI_RESOURCE_TYPE_ADDRESS64: + min = res->Data.Address64.Minimum; + max = res->Data.Address64.Maximum; + length = res->Data.Address64.AddressLength; + break; + default: + KASSERT(res->Type == + ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64, + ("should never happen")); + min = res->Data.ExtAddress64.Minimum; + max = res->Data.ExtAddress64.Maximum; + length = res->Data.ExtAddress64.AddressLength; + break; + } + if (length == 0 || + res->Data.Address.MinAddressFixed != ACPI_ADDRESS_FIXED || + res->Data.Address.MaxAddressFixed != ACPI_ADDRESS_FIXED) + break; + flags = 0; + switch (res->Data.Address.ResourceType) { + case ACPI_MEMORY_RANGE: + type = SYS_RES_MEMORY; + if (res->Type != ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64) { + if (res->Data.Address.Info.Mem.Caching == + ACPI_PREFETCHABLE_MEMORY) + flags |= RF_PREFETCHABLE; + } else { + /* + * XXX: Parse prefetch flag out of + * TypeSpecific. + */ + } + break; + case ACPI_IO_RANGE: + type = SYS_RES_IOPORT; + break; +#ifdef PCI_RES_BUS + case ACPI_BUS_NUMBER_RANGE: + type = PCI_RES_BUS; + break; +#endif + default: + return (AE_OK); + } + + /* XXX: Not sure this is correct? */ + if (res->Data.Address.Decode != ACPI_POS_DECODE) { + device_printf(sc->ap_dev, + "Ignoring %d range (%#jx-%#jx) due to negative decode\n", + type, (uintmax_t)min, (uintmax_t)max); + break; + } + if (min + length - 1 != max) + device_printf(sc->ap_dev, + "Length mismatch for %d range: %jx vs %jx\n", type, + (uintmax_t)max - min + 1, (uintmax_t)length); +#ifdef __i386__ + if (min > ULONG_MAX) { + device_printf(sc->ap_dev, + "Ignoring %d range above 4GB (%#jx-%#jx)\n", + type, (uintmax_t)min, (uintmax_t)max); + break; + } + if (max > ULONG_MAX) { + device_printf(sc->ap_dev, + "Truncating end of %d range above 4GB (%#jx-%#jx)\n", + type, (uintmax_t)min, (uintmax_t)max); + max = ULONG_MAX; + } +#endif + error = pcib_host_res_decodes(&sc->ap_host_res, type, min, max, + flags); + if (error) + panic("Failed to manage %d range (%#jx-%#jx): %d", + type, (uintmax_t)min, (uintmax_t)max, error); + break; + default: + break; + } + return (AE_OK); +} +#endif + static int acpi_pcib_acpi_attach(device_t dev) { @@ -179,6 +306,22 @@ acpi_pcib_acpi_attach(device_t dev) sc->ap_segment = 0; } +#ifdef NEW_PCIB + /* + * Determine which address ranges this bridge decodes and setup + * resource managers for those ranges. + */ + if (pcib_host_res_init(sc->ap_dev, &sc->ap_host_res) != 0) + panic("failed to init hostb resources"); + if (!acpi_disabled("hostres")) { + status = AcpiWalkResources(sc->ap_handle, "_CRS", + acpi_pcib_producer_handler, sc); + if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) + device_printf(sc->ap_dev, "failed to parse resources: %s\n", + AcpiFormatException(status)); + } +#endif + /* * Get our base bus number by evaluating _BBN. * If this doesn't work, we assume we're bus number 0. @@ -361,10 +504,33 @@ struct resource * acpi_pcib_acpi_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { +#ifdef NEW_PCIB + struct acpi_hpcib_softc *sc; +#endif #if defined(__i386__) || defined(__amd64__) start = hostb_alloc_start(type, start, end, count); #endif + +#ifdef NEW_PCIB + sc = device_get_softc(dev); + return (pcib_host_res_alloc(&sc->ap_host_res, child, type, rid, start, end, + count, flags)); +#else return (bus_generic_alloc_resource(dev, child, type, rid, start, end, count, flags)); +#endif } + +#ifdef NEW_PCIB +int +acpi_pcib_acpi_adjust_resource(device_t dev, device_t child, int type, + struct resource *r, u_long start, u_long end) +{ + struct acpi_hpcib_softc *sc; + + sc = device_get_softc(dev); + return (pcib_host_res_adjust(&sc->ap_host_res, child, type, r, start, + end)); +} +#endif Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/dev/pci/pci_pci.c Fri Jul 15 21:08:58 2011 (r224069) @@ -767,18 +767,6 @@ pcib_write_ivar(device_t dev, device_t c } #ifdef NEW_PCIB -static const char * -pcib_child_name(device_t child) -{ - static char buf[64]; - - if (device_get_nameunit(child) != NULL) - return (device_get_nameunit(child)); - snprintf(buf, sizeof(buf), "pci%d:%d:%d:%d", pci_get_domain(child), - pci_get_bus(child), pci_get_slot(child), pci_get_function(child)); - return (buf); -} - /* * Attempt to allocate a resource from the existing resources assigned * to a window. Modified: head/sys/dev/pci/pci_subr.c ============================================================================== --- head/sys/dev/pci/pci_subr.c Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/dev/pci/pci_subr.c Fri Jul 15 21:08:58 2011 (r224069) @@ -33,9 +33,10 @@ __FBSDID("$FreeBSD$"); * provide PCI domains. */ -#include +#include #include #include +#include #include #include @@ -128,3 +129,157 @@ host_pcib_get_busno(pci_read_config_fn r return 1; } + +#ifdef NEW_PCIB +/* + * Return a pointer to a pretty name for a PCI device. If the device + * has a driver attached, the device's name is used, otherwise a name + * is generated from the device's PCI address. + */ +const char * +pcib_child_name(device_t child) +{ + static char buf[64]; + + if (device_get_nameunit(child) != NULL) + return (device_get_nameunit(child)); + snprintf(buf, sizeof(buf), "pci%d:%d:%d:%d", pci_get_domain(child), + pci_get_bus(child), pci_get_slot(child), pci_get_function(child)); + return (buf); +} + +/* + * Some Host-PCI bridge drivers know which resource ranges they can + * decode and should only allocate subranges to child PCI devices. + * This API provides a way to manage this. The bridge drive should + * initialize this structure during attach and call + * pcib_host_res_decodes() on each resource range it decodes. It can + * then use pcib_host_res_alloc() and pcib_host_res_adjust() as helper + * routines for BUS_ALLOC_RESOURCE() and BUS_ADJUST_RESOURCE(). This + * API assumes that resources for any decoded ranges can be safely + * allocated from the parent via bus_generic_alloc_resource(). + */ +int +pcib_host_res_init(device_t pcib, struct pcib_host_resources *hr) +{ + + hr->hr_pcib = pcib; + resource_list_init(&hr->hr_rl); + return (0); +} + +int +pcib_host_res_free(device_t pcib, struct pcib_host_resources *hr) +{ + + resource_list_free(&hr->hr_rl); + return (0); +} + +int +pcib_host_res_decodes(struct pcib_host_resources *hr, int type, u_long start, + u_long end, u_int flags) +{ + struct resource_list_entry *rle; + int rid; + + if (bootverbose) + device_printf(hr->hr_pcib, "decoding %d %srange %#lx-%#lx\n", + type, flags & RF_PREFETCHABLE ? "prefetchable ": "", start, + end); + rid = resource_list_add_next(&hr->hr_rl, type, start, end, + end - start + 1); + if (flags & RF_PREFETCHABLE) { + KASSERT(type == SYS_RES_MEMORY, + ("only memory is prefetchable")); + rle = resource_list_find(&hr->hr_rl, type, rid); + rle->flags = RLE_PREFETCH; + } + return (0); +} + +struct resource * +pcib_host_res_alloc(struct pcib_host_resources *hr, device_t dev, int type, + int *rid, u_long start, u_long end, u_long count, u_int flags) +{ + struct resource_list_entry *rle; + struct resource *r; + u_long new_start, new_end; + + if (flags & RF_PREFETCHABLE) + KASSERT(type == SYS_RES_MEMORY, + ("only memory is prefetchable")); + + rle = resource_list_find(&hr->hr_rl, type, 0); + if (rle == NULL) { + /* + * No decoding ranges for this resource type, just pass + * the request up to the parent. + */ + return (bus_generic_alloc_resource(hr->hr_pcib, dev, type, rid, + start, end, count, flags)); + } + +restart: + /* Try to allocate from each decoded range. */ + for (; rle != NULL; rle = STAILQ_NEXT(rle, link)) { + if (rle->type != type) + continue; + if (((flags & RF_PREFETCHABLE) != 0) != + ((rle->flags & RLE_PREFETCH) != 0)) + continue; + new_start = ulmax(start, rle->start); + new_end = ulmin(end, rle->end); + if (new_start > new_end || + new_start + count - 1 > new_end || + new_start + count < new_start) + continue; + r = bus_generic_alloc_resource(hr->hr_pcib, dev, type, rid, + new_start, new_end, count, flags); + if (r != NULL) { + if (bootverbose) + device_printf(hr->hr_pcib, + "allocated type %d (%#lx-%#lx) for rid %x of %s\n", + type, rman_get_start(r), rman_get_end(r), + *rid, pcib_child_name(dev)); + return (r); + } + } + + /* + * If we failed to find a prefetch range for a memory + * resource, try again without prefetch. + */ + if (flags & RF_PREFETCHABLE) { + flags &= ~RF_PREFETCHABLE; + rle = resource_list_find(&hr->hr_rl, type, 0); + goto restart; + } + return (NULL); +} + +int +pcib_host_res_adjust(struct pcib_host_resources *hr, device_t dev, int type, + struct resource *r, u_long start, u_long end) +{ + struct resource_list_entry *rle; + + rle = resource_list_find(&hr->hr_rl, type, 0); + if (rle == NULL) { + /* + * No decoding ranges for this resource type, just pass + * the request up to the parent. + */ + return (bus_generic_adjust_resource(hr->hr_pcib, dev, type, r, + start, end)); + } + + /* Only allow adjustments that stay within a decoded range. */ + for (; rle != NULL; rle = STAILQ_NEXT(rle, link)) { + if (rle->start <= start && rle->end >= end) + return (bus_generic_adjust_resource(hr->hr_pcib, dev, + type, r, start, end)); + } + return (ERANGE); +} +#endif /* NEW_PCIB */ Modified: head/sys/dev/pci/pcib_private.h ============================================================================== --- head/sys/dev/pci/pcib_private.h Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/dev/pci/pcib_private.h Fri Jul 15 21:08:58 2011 (r224069) @@ -33,6 +33,31 @@ #ifndef __PCIB_PRIVATE_H__ #define __PCIB_PRIVATE_H__ +#ifdef NEW_PCIB +/* + * Data structure and routines that Host to PCI bridge drivers can use + * to restrict allocations for child devices to ranges decoded by the + * bridge. + */ +struct pcib_host_resources { + device_t hr_pcib; + struct resource_list hr_rl; +}; + +int pcib_host_res_init(device_t pcib, + struct pcib_host_resources *hr); +int pcib_host_res_free(device_t pcib, + struct pcib_host_resources *hr); +int pcib_host_res_decodes(struct pcib_host_resources *hr, int type, + u_long start, u_long end, u_int flags); +struct resource *pcib_host_res_alloc(struct pcib_host_resources *hr, + device_t dev, int type, int *rid, u_long start, u_long end, + u_long count, u_int flags); +int pcib_host_res_adjust(struct pcib_host_resources *hr, + device_t dev, int type, struct resource *r, u_long start, + u_long end); +#endif + /* * Export portions of generic PCI:PCI bridge support so that it can be * used by subclasses. @@ -90,6 +115,9 @@ struct pcib_softc typedef uint32_t pci_read_config_fn(int b, int s, int f, int reg, int width); +#ifdef NEW_PCIB +const char *pcib_child_name(device_t child); +#endif int host_pcib_get_busno(pci_read_config_fn read_config, int bus, int slot, int func, uint8_t *busnum); int pcib_attach(device_t dev); Modified: head/sys/sys/bus.h ============================================================================== --- head/sys/sys/bus.h Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/sys/bus.h Fri Jul 15 21:08:58 2011 (r224069) @@ -247,6 +247,7 @@ STAILQ_HEAD(resource_list, resource_list #define RLE_RESERVED 0x0001 /* Reserved by the parent bus. */ #define RLE_ALLOCATED 0x0002 /* Reserved resource is allocated. */ +#define RLE_PREFETCH 0x0004 /* Resource is a prefetch range. */ void resource_list_init(struct resource_list *rl); void resource_list_free(struct resource_list *rl); Modified: head/sys/x86/include/mptable.h ============================================================================== --- head/sys/x86/include/mptable.h Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/x86/include/mptable.h Fri Jul 15 21:08:58 2011 (r224069) @@ -72,6 +72,8 @@ typedef struct MPCTH { u_char reserved; } *mpcth_t; +/* Base table entries */ + #define MPCT_ENTRY_PROCESSOR 0 #define MPCT_ENTRY_BUS 1 #define MPCT_ENTRY_IOAPIC 2 @@ -132,7 +134,56 @@ typedef struct INTENTRY { #define INTENTRY_FLAGS_TRIGGER_EDGE 0x4 #define INTENTRY_FLAGS_TRIGGER_LEVEL 0xc -/* descriptions of MP basetable entries */ +/* Extended table entries */ + +typedef struct EXTENTRY { + u_char type; + u_char length; +} *ext_entry_ptr; + +#define MPCT_EXTENTRY_SAS 0x80 +#define MPCT_EXTENTRY_BHD 0x81 +#define MPCT_EXTENTRY_CBASM 0x82 + +typedef struct SASENTRY { + u_char type; + u_char length; + u_char bus_id; + u_char address_type; + uint64_t address_base; + uint64_t address_length; +} __attribute__((__packed__)) *sas_entry_ptr; + +#define SASENTRY_TYPE_IO 0 +#define SASENTRY_TYPE_MEMORY 1 +#define SASENTRY_TYPE_PREFETCH 2 + +typedef struct BHDENTRY { + u_char type; + u_char length; + u_char bus_id; + u_char bus_info; + u_char parent_bus; + u_char reserved[3]; +} *bhd_entry_ptr; + +#define BHDENTRY_INFO_SUBTRACTIVE_DECODE 0x1 + +typedef struct CBASMENTRY { + u_char type; + u_char length; + u_char bus_id; + u_char address_mod; + u_int predefined_range; +} *cbasm_entry_ptr; + +#define CBASMENTRY_ADDRESS_MOD_ADD 0x0 +#define CBASMENTRY_ADDRESS_MOD_SUBTRACT 0x1 + +#define CBASMENTRY_RANGE_ISA_IO 0 +#define CBASMENTRY_RANGE_VGA_IO 1 + +/* descriptions of MP table entries */ typedef struct BASETABLE_ENTRY { u_char type; u_char length; @@ -140,6 +191,15 @@ typedef struct BASETABLE_ENTRY { } basetable_entry; #ifdef _KERNEL +#ifdef NEW_PCIB +struct mptable_hostb_softc { + struct pcib_host_resources sc_host_res; + int sc_decodes_vga_io; + int sc_decodes_isa_io; +}; + +void mptable_pci_host_res_init(device_t pcib); +#endif int mptable_pci_probe_table(int bus); int mptable_pci_route_interrupt(device_t pcib, device_t dev, int pin); #endif Modified: head/sys/x86/x86/mptable.c ============================================================================== --- head/sys/x86/x86/mptable.c Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/x86/x86/mptable.c Fri Jul 15 21:08:58 2011 (r224069) @@ -32,22 +32,31 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#ifdef NEW_PCIB +#include +#endif #include #include #include +#include +#ifdef NEW_PCIB +#include +#endif #include #include #include #include #include #include +#ifdef NEW_PCIB +#include +#endif #include -#include - /* string defined by the Intel MP Spec as identifying the MP table */ #define MP_SIG 0x5f504d5f /* _MP_ */ @@ -67,6 +76,7 @@ __FBSDID("$FreeBSD$"); #define BIOS_COUNT (BIOS_SIZE/4) typedef void mptable_entry_handler(u_char *entry, void *arg); +typedef void mptable_extended_entry_handler(ext_entry_ptr entry, void *arg); static basetable_entry basetable_entry_types[] = { @@ -146,6 +156,7 @@ struct pci_route_interrupt_args { static mpfps_t mpfps; static mpcth_t mpct; +static ext_entry_ptr mpet; static void *ioapics[MAX_APIC_ID + 1]; static bus_datum *busses; static int mptable_nioapics, mptable_nbusses, mptable_maxbusid; @@ -181,6 +192,8 @@ static void mptable_probe_cpus_handler(u static void mptable_register(void *dummy); static int mptable_setup_local(void); static int mptable_setup_io(void); +static void mptable_walk_extended_table( + mptable_extended_entry_handler *handler, void *arg); static void mptable_walk_table(mptable_entry_handler *handler, void *arg); static int search_for_sig(u_int32_t target, int count); @@ -281,6 +294,11 @@ found: __func__); return (ENXIO); } + if (mpct->extended_table_length != 0 && + mpct->extended_table_length + mpct->base_table_length + + (uintptr_t)mpfps->pap < 1024 * 1024) + mpet = (ext_entry_ptr)((char *)mpct + + mpct->base_table_length); if (mpct->signature[0] != 'P' || mpct->signature[1] != 'C' || mpct->signature[2] != 'M' || mpct->signature[3] != 'P') { printf("%s: MP Config Table has bad signature: %c%c%c%c\n", @@ -393,7 +411,7 @@ SYSINIT(mptable_register, SI_SUB_TUNABLE NULL); /* - * Call the handler routine for each entry in the MP config table. + * Call the handler routine for each entry in the MP config base table. */ static void mptable_walk_table(mptable_entry_handler *handler, void *arg) @@ -419,6 +437,25 @@ mptable_walk_table(mptable_entry_handler } } +/* + * Call the handler routine for each entry in the MP config extended + * table. + */ +static void +mptable_walk_extended_table(mptable_extended_entry_handler *handler, void *arg) +{ + ext_entry_ptr end, entry; + + if (mpet == NULL) + return; + entry = mpet; + end = (ext_entry_ptr)((char *)mpet + mpct->extended_table_length); + while (entry < end) { + handler(entry, arg); + entry = (ext_entry_ptr)((char *)entry + entry->length); + } +} + static void mptable_probe_cpus_handler(u_char *entry, void *arg) { @@ -1053,3 +1090,133 @@ mptable_pci_route_interrupt(device_t pci 'A' + pin, args.vector); return (args.vector); } + +#ifdef NEW_PCIB +struct host_res_args { + struct mptable_hostb_softc *sc; + device_t dev; + u_char bus; +}; + +/* + * Initialize a Host-PCI bridge so it can restrict resource allocation + * requests to the resources it actually decodes according to MP + * config table extended entries. + */ +static void +mptable_host_res_handler(ext_entry_ptr entry, void *arg) +{ + struct host_res_args *args; + cbasm_entry_ptr cbasm; + sas_entry_ptr sas; + const char *name; + uint64_t start, end; + int error, *flagp, flags, type; + + args = arg; + switch (entry->type) { + case MPCT_EXTENTRY_SAS: + sas = (sas_entry_ptr)entry; + if (sas->bus_id != args->bus) + break; + switch (sas->address_type) { + case SASENTRY_TYPE_IO: + type = SYS_RES_IOPORT; + flags = 0; + break; + case SASENTRY_TYPE_MEMORY: + type = SYS_RES_MEMORY; + flags = 0; + break; + case SASENTRY_TYPE_PREFETCH: + type = SYS_RES_MEMORY; + flags = RF_PREFETCHABLE; + break; + default: + printf( + "MPTable: Unknown systems address space type for bus %u: %d\n", + sas->bus_id, sas->address_type); + return; + } + start = sas->address_base; + end = sas->address_base + sas->address_length - 1; +#ifdef __i386__ + if (start > ULONG_MAX) { + device_printf(args->dev, + "Ignoring %d range above 4GB (%#jx-%#jx)\n", + type, (uintmax_t)start, (uintmax_t)end); + break; + } + if (end > ULONG_MAX) { + device_printf(args->dev, + "Truncating end of %d range above 4GB (%#jx-%#jx)\n", + type, (uintmax_t)start, (uintmax_t)end); + end = ULONG_MAX; + } +#endif + error = pcib_host_res_decodes(&args->sc->sc_host_res, type, + start, end, flags); + if (error) + panic("Failed to manage %d range (%#jx-%#jx): %d", + type, (uintmax_t)start, (uintmax_t)end, error); + break; + case MPCT_EXTENTRY_CBASM: + cbasm = (cbasm_entry_ptr)entry; + if (cbasm->bus_id != args->bus) + break; + switch (cbasm->predefined_range) { + case CBASMENTRY_RANGE_ISA_IO: + flagp = &args->sc->sc_decodes_isa_io; + name = "ISA I/O"; + break; + case CBASMENTRY_RANGE_VGA_IO: + flagp = &args->sc->sc_decodes_vga_io; + name = "VGA I/O"; + break; + default: + printf( + "MPTable: Unknown compatiblity address space range for bus %u: %d\n", + cbasm->bus_id, cbasm->predefined_range); + return; + } + if (*flagp != 0) + printf( + "MPTable: Duplicate compatibility %s range for bus %u\n", + name, cbasm->bus_id); + switch (cbasm->address_mod) { + case CBASMENTRY_ADDRESS_MOD_ADD: + *flagp = 1; + if (bootverbose) + device_printf(args->dev, "decoding %s ports\n", + name); + break; + case CBASMENTRY_ADDRESS_MOD_SUBTRACT: + *flagp = -1; + if (bootverbose) + device_printf(args->dev, + "not decoding %s ports\n", name); + break; + default: + printf( + "MPTable: Unknown compatibility address space modifier: %u\n", + cbasm->address_mod); + break; + } + break; + } +} + +void +mptable_pci_host_res_init(device_t pcib) +{ + struct host_res_args args; + + KASSERT(pci0 != -1, ("do not know how to map PCI bus IDs")); + args.bus = pci_get_bus(pcib) + pci0; + args.dev = pcib; + args.sc = device_get_softc(pcib); + if (pcib_host_res_init(pcib, &args.sc->sc_host_res) != 0) + panic("failed to init hostb resources"); + mptable_walk_extended_table(mptable_host_res_handler, &args); +} +#endif Modified: head/sys/x86/x86/mptable_pci.c ============================================================================== --- head/sys/x86/x86/mptable_pci.c Fri Jul 15 19:02:44 2011 (r224068) +++ head/sys/x86/x86/mptable_pci.c Fri Jul 15 21:08:58 2011 (r224069) @@ -69,6 +69,9 @@ static int mptable_hostb_attach(device_t dev) { +#ifdef NEW_PCIB + mptable_pci_host_res_init(dev); +#endif device_add_child(dev, "pci", pcib_get_bus(dev)); return (bus_generic_attach(dev)); } @@ -104,6 +107,80 @@ mptable_hostb_map_msi(device_t pcib, dev return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } +#ifdef NEW_PCIB +static int +mptable_is_isa_range(u_long start, u_long end) +{ + + if (end >= 0x10000) + return (0); + if ((start & 0xfc00) != (end & 0xfc00)) + return (0); + start &= ~0xfc00; + end &= ~0xfc00; + return (start >= 0x100 && end <= 0x3ff); +} + +static int +mptable_is_vga_range(u_long start, u_long end) +{ + if (end >= 0x10000) + return (0); + if ((start & 0xfc00) != (end & 0xfc00)) + return (0); + start &= ~0xfc00; + end &= ~0xfc00; + return (pci_is_vga_ioport_range(start, end)); +} + +static struct resource * +mptable_hostb_alloc_resource(device_t dev, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) +{ + struct mptable_hostb_softc *sc; + + sc = device_get_softc(dev); + if (type == SYS_RES_IOPORT && start + count - 1 == end) { + if (mptable_is_isa_range(start, end)) { + switch (sc->sc_decodes_isa_io) { + case -1: + return (NULL); + case 1: + return (bus_generic_alloc_resource(dev, child, + type, rid, start, end, count, flags)); + default: + break; + } + } + if (mptable_is_vga_range(start, end)) { + switch (sc->sc_decodes_vga_io) { + case -1: + return (NULL); + case 1: + return (bus_generic_alloc_resource(dev, child, + type, rid, start, end, count, flags)); + default: + break; + } + } + } + start = hostb_alloc_start(type, start, end, count); + return (pcib_host_res_alloc(&sc->sc_host_res, child, type, rid, start, + end, count, flags)); +} + +static int +mptable_hostb_adjust_resource(device_t dev, device_t child, int type, + struct resource *r, u_long start, u_long end) +{ + struct mptable_hostb_softc *sc; + + sc = device_get_softc(dev); + return (pcib_host_res_adjust(&sc->sc_host_res, child, type, r, start, + end)); +} +#endif + static device_method_t mptable_hostb_methods[] = { /* Device interface */ DEVMETHOD(device_probe, mptable_hostb_probe), @@ -116,8 +193,13 @@ static device_method_t mptable_hostb_met DEVMETHOD(bus_print_child, bus_generic_print_child), DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), +#ifdef NEW_PCIB + DEVMETHOD(bus_alloc_resource, mptable_hostb_alloc_resource), + DEVMETHOD(bus_adjust_resource, mptable_hostb_adjust_resource), +#else DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), +#endif DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), @@ -140,7 +222,8 @@ static device_method_t mptable_hostb_met static devclass_t hostb_devclass; -DEFINE_CLASS_0(pcib, mptable_hostb_driver, mptable_hostb_methods, 1); +DEFINE_CLASS_0(pcib, mptable_hostb_driver, mptable_hostb_methods, + sizeof(struct mptable_hostb_softc)); DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, hostb_devclass, 0, 0); /* PCI to PCI bridge driver. */ From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 21:30:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53EA3106564A; Fri, 15 Jul 2011 21:30:51 +0000 (UTC) (envelope-from mjacob@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 42DCF8FC0C; Fri, 15 Jul 2011 21:30:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FLUpoG096671; Fri, 15 Jul 2011 21:30:51 GMT (envelope-from mjacob@svn.freebsd.org) Received: (from mjacob@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FLUpqd096669; Fri, 15 Jul 2011 21:30:51 GMT (envelope-from mjacob@svn.freebsd.org) Message-Id: <201107152130.p6FLUpqd096669@svn.freebsd.org> From: Matt Jacob Date: Fri, 15 Jul 2011 21:30:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224070 - stable/8/sys/cam/scsi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 21:30:51 -0000 Author: mjacob Date: Fri Jul 15 21:30:50 2011 New Revision: 224070 URL: http://svn.freebsd.org/changeset/base/224070 Log: MFC of 197332: Remember to unlock the peripheral prior to notifying the user. Make some allocations M_NOWAIT so that we don't try and sleep with a nested non-sleepable lock. This makes the userland scsi_target begin to function again. Modified: stable/8/sys/cam/scsi/scsi_target.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/cam/scsi/scsi_target.c ============================================================================== --- stable/8/sys/cam/scsi/scsi_target.c Fri Jul 15 21:08:58 2011 (r224069) +++ stable/8/sys/cam/scsi/scsi_target.c Fri Jul 15 21:30:50 2011 (r224070) @@ -42,6 +42,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +/* Includes to support callout */ +#include +#include #include #include @@ -50,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include + /* Transaction information attached to each CCB sent by the user */ struct targ_cmd_descr { struct cam_periph_map_info mapinfo; @@ -92,6 +96,8 @@ struct targ_softc { targ_state state; struct selinfo read_select; struct devstat device_stats; + struct callout destroy_dev_callout; + struct mtx destroy_mtx; }; static d_open_t targopen; @@ -151,6 +157,7 @@ static void abort_all_pending(struct ta static void notify_user(struct targ_softc *softc); static int targcamstatus(cam_status status); static size_t targccblen(xpt_opcode func_code); +static void targdestroy(void *); static struct periph_driver targdriver = { @@ -208,10 +215,18 @@ targclose(struct cdev *dev, int flag, in int error; softc = (struct targ_softc *)dev->si_drv1; - if ((softc->periph == NULL) || - (softc->state & TARG_STATE_LUN_ENABLED) == 0) { + mtx_init(&softc->destroy_mtx, "targ_destroy", "SCSI Target dev destroy", MTX_DEF); + callout_init_mtx(&softc->destroy_dev_callout, &softc->destroy_mtx, CALLOUT_RETURNUNLOCKED); + if (softc->periph == NULL) { +#if 0 destroy_dev(dev); free(softc, M_TARG); +#endif + printf("%s: destroying non-enabled target\n", __func__); + mtx_lock(&softc->destroy_mtx); + callout_reset(&softc->destroy_dev_callout, hz / 2, + (void *)targdestroy, (void *)dev); + mtx_unlock(&softc->destroy_mtx); return (0); } @@ -223,18 +238,23 @@ targclose(struct cdev *dev, int flag, in cam_periph_acquire(periph); cam_periph_lock(periph); error = targdisable(softc); - if (error == CAM_REQ_CMP) { - dev->si_drv1 = 0; - if (softc->periph != NULL) { - cam_periph_invalidate(softc->periph); - softc->periph = NULL; - } - destroy_dev(dev); - free(softc, M_TARG); + if (softc->periph != NULL) { + cam_periph_invalidate(softc->periph); + softc->periph = NULL; } cam_periph_unlock(periph); cam_periph_release(periph); +#if 0 + destroy_dev(dev); + free(softc, M_TARG); +#endif + + printf("%s: close finished error(%d)\n", __func__, error); + mtx_lock(&softc->destroy_mtx); + callout_reset(&softc->destroy_dev_callout, hz / 2, + (void *)targdestroy, (void *)dev); + mtx_unlock(&softc->destroy_mtx); return (error); } @@ -818,7 +838,9 @@ targdone(struct cam_periph *periph, unio case XPT_CONT_TARGET_IO: TAILQ_INSERT_TAIL(&softc->user_ccb_queue, &done_ccb->ccb_h, periph_links.tqe); + cam_periph_unlock(softc->periph); notify_user(softc); + cam_periph_lock(softc->periph); break; default: panic("targdone: impossible xpt opcode %#x", @@ -966,13 +988,19 @@ targgetccb(struct targ_softc *softc, xpt int ccb_len; ccb_len = targccblen(type); - ccb = malloc(ccb_len, M_TARG, M_WAITOK); + ccb = malloc(ccb_len, M_TARG, M_NOWAIT); CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, ("getccb %p\n", ccb)); - + if (ccb == NULL) { + return (ccb); + } xpt_setup_ccb(&ccb->ccb_h, softc->path, priority); ccb->ccb_h.func_code = type; ccb->ccb_h.cbfcnp = targdone; ccb->ccb_h.targ_descr = targgetdescr(softc); + if (ccb->ccb_h.targ_descr == NULL) { + free (ccb, M_TARG); + ccb = NULL; + } return (ccb); } @@ -1010,8 +1038,10 @@ targgetdescr(struct targ_softc *softc) struct targ_cmd_descr *descr; descr = malloc(sizeof(*descr), M_TARG, - M_WAITOK); - descr->mapinfo.num_bufs_used = 0; + M_NOWAIT); + if (descr) { + descr->mapinfo.num_bufs_used = 0; + } return (descr); } @@ -1091,8 +1121,11 @@ abort_all_pending(struct targ_softc *sof /* If we aborted anything from the work queue, wakeup user. */ if (!TAILQ_EMPTY(&softc->user_ccb_queue) - || !TAILQ_EMPTY(&softc->abort_queue)) + || !TAILQ_EMPTY(&softc->abort_queue)) { + cam_periph_unlock(softc->periph); notify_user(softc); + cam_periph_lock(softc->periph); + } } /* Notify the user that data is ready */ @@ -1185,3 +1218,25 @@ targccblen(xpt_opcode func_code) return (len); } + +/* + * work around to destroy targ device + * outside of targclose + */ +static void +targdestroy(void *dev) +{ + struct cdev *device = (struct cdev *)dev; + struct targ_softc *softc = (struct targ_softc *)device->si_drv1; + +#if 0 + callout_stop(&softc->destroy_dev_callout); +#endif + + mtx_unlock(&softc->destroy_mtx); + mtx_destroy(&softc->destroy_mtx); + free(softc, M_TARG); + device->si_drv1 = 0; + destroy_dev(device); + printf("%s: destroyed dev\n", __func__); +} From owner-svn-src-all@FreeBSD.ORG Fri Jul 15 21:37:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FE9A106566C; Fri, 15 Jul 2011 21:37:14 +0000 (UTC) (envelope-from zi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2041A8FC12; Fri, 15 Jul 2011 21:37:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6FLbEfU096891; Fri, 15 Jul 2011 21:37:14 GMT (envelope-from zi@svn.freebsd.org) Received: (from zi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6FLbE3H096889; Fri, 15 Jul 2011 21:37:14 GMT (envelope-from zi@svn.freebsd.org) Message-Id: <201107152137.p6FLbE3H096889@svn.freebsd.org> From: Ryan Steinmetz Date: Fri, 15 Jul 2011 21:37:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224071 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 21:37:14 -0000 Author: zi (ports committer) Date: Fri Jul 15 21:37:13 2011 New Revision: 224071 URL: http://svn.freebsd.org/changeset/base/224071 Log: Add myself to committers-ports.dot Approved by: wxs@ (mentor) Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Fri Jul 15 21:30:50 2011 (r224070) +++ head/share/misc/committers-ports.dot Fri Jul 15 21:37:13 2011 (r224071) @@ -183,6 +183,7 @@ wen [label="Wen Heping\nwen@FreeBSD.org\ wxs [label="Wesley Shields\nwxs@FreeBSD.org\n2008/01/03"] xride [label="Soeren Straarup\nxride@FreeBSD.org\n2006/09/27"] yzlin [label="Yi-Jheng Lin\nyzlin@FreeBSD.org\n2009/07/19"] +zi [label="Ryan Steinmetz\nzi@FreeBSD.org\n2011/07/14"] znerd [label="Ernst de Haan\nznerd@FreeBSD.org\n2001/11/15"] # Here are the mentor/mentee relationships. @@ -413,6 +414,7 @@ tabthorpe -> jadawin tabthorpe -> jlaffaye tabthorpe -> pgj tabthorpe -> rene +tabthorpe -> zi thierry -> jadawin @@ -428,5 +430,6 @@ wxs -> jsa wxs -> sahil wxs -> skreuzer wxs -> swills +wxs -> zi } From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 00:30:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E22BD106566B; Sat, 16 Jul 2011 00:30:23 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D1EEB8FC16; Sat, 16 Jul 2011 00:30:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G0UNl9002232; Sat, 16 Jul 2011 00:30:23 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G0UNH5002230; Sat, 16 Jul 2011 00:30:23 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201107160030.p6G0UNH5002230@svn.freebsd.org> From: Adrian Chadd Date: Sat, 16 Jul 2011 00:30:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224072 - head/sys/mips/malta X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 00:30:24 -0000 Author: adrian Date: Sat Jul 16 00:30:23 2011 New Revision: 224072 URL: http://svn.freebsd.org/changeset/base/224072 Log: The i8259 controller is initialized incorrectly on MALTA. It writes mask bits to control register and control bits to mask register. The former causes ICW1_RESET|ICW1_LTIM combination to be written to control register, which on QEMU results in "level sensitive irq not supported" error. Submitted by: Robert Millan Modified: head/sys/mips/malta/gt_pci.c Modified: head/sys/mips/malta/gt_pci.c ============================================================================== --- head/sys/mips/malta/gt_pci.c Fri Jul 15 21:37:13 2011 (r224071) +++ head/sys/mips/malta/gt_pci.c Sat Jul 16 00:30:23 2011 (r224072) @@ -326,15 +326,15 @@ gt_pci_attach(device_t dev) ICW4_8086); /* mask all interrupts */ - bus_space_write_1(sc->sc_st, sc->sc_ioh_icu1, 0, + bus_space_write_1(sc->sc_st, sc->sc_ioh_icu1, 1, sc->sc_imask & 0xff); /* enable special mask mode */ - bus_space_write_1(sc->sc_st, sc->sc_ioh_icu1, 1, + bus_space_write_1(sc->sc_st, sc->sc_ioh_icu1, 0, OCW3_SEL | OCW3_ESMM | OCW3_SMM); /* read IRR by default */ - bus_space_write_1(sc->sc_st, sc->sc_ioh_icu1, 1, + bus_space_write_1(sc->sc_st, sc->sc_ioh_icu1, 0, OCW3_SEL | OCW3_RR); /* reset, program device, 4 bytes */ @@ -348,15 +348,15 @@ gt_pci_attach(device_t dev) ICW4_8086); /* mask all interrupts */ - bus_space_write_1(sc->sc_st, sc->sc_ioh_icu2, 0, + bus_space_write_1(sc->sc_st, sc->sc_ioh_icu2, 1, sc->sc_imask & 0xff); /* enable special mask mode */ - bus_space_write_1(sc->sc_st, sc->sc_ioh_icu2, 1, + bus_space_write_1(sc->sc_st, sc->sc_ioh_icu2, 0, OCW3_SEL | OCW3_ESMM | OCW3_SMM); /* read IRR by default */ - bus_space_write_1(sc->sc_st, sc->sc_ioh_icu2, 1, + bus_space_write_1(sc->sc_st, sc->sc_ioh_icu2, 0, OCW3_SEL | OCW3_RR); /* From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 01:49:38 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB637106566B; Sat, 16 Jul 2011 01:49:38 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CB3868FC12; Sat, 16 Jul 2011 01:49:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G1ncdA004600; Sat, 16 Jul 2011 01:49:38 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G1ncsf004598; Sat, 16 Jul 2011 01:49:38 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107160149.p6G1ncsf004598@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 01:49:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224073 - vendor/bind9/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 01:49:39 -0000 Author: dougb Date: Sat Jul 16 01:49:38 2011 New Revision: 224073 URL: http://svn.freebsd.org/changeset/base/224073 Log: Minor typo fix, s/config.in/configure.in/ Modified: vendor/bind9/dist/FREEBSD-Upgrade Modified: vendor/bind9/dist/FREEBSD-Upgrade ============================================================================== --- vendor/bind9/dist/FREEBSD-Upgrade Sat Jul 16 00:30:23 2011 (r224072) +++ vendor/bind9/dist/FREEBSD-Upgrade Sat Jul 16 01:49:38 2011 (r224073) @@ -56,7 +56,7 @@ $ sed -i.orig -e '/\/tests/d; /docutil/d; /\/xsl/d;' \ configure.in Makefile.in */Makefile.in - Remove mention of doxygen and related files from config.in + Remove mention of doxygen and related files from configure.in Please do not commit this change. You only need this to generate config.h. From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 01:55:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3C32106566C; Sat, 16 Jul 2011 01:55:51 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BA2708FC0C; Sat, 16 Jul 2011 01:55:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G1tp0C004837; Sat, 16 Jul 2011 01:55:51 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G1tp7m004836; Sat, 16 Jul 2011 01:55:51 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107160155.p6G1tp7m004836@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 01:55:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224074 - vendor/bind9/dist-9.6 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 01:55:52 -0000 Author: dougb Date: Sat Jul 16 01:55:51 2011 New Revision: 224074 URL: http://svn.freebsd.org/changeset/base/224074 Log: Fork the vendor branch to allow for continued support of BIND 9.6.x for RELENG_8 Added: vendor/bind9/dist-9.6/ - copied from r224073, vendor/bind9/dist/ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 02:13:03 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D71B0106564A; Sat, 16 Jul 2011 02:13:03 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ACFD48FC0A; Sat, 16 Jul 2011 02:13:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G2D3TZ005366; Sat, 16 Jul 2011 02:13:03 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G2D3SO005364; Sat, 16 Jul 2011 02:13:03 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107160213.p6G2D3SO005364@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 02:13:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224075 - vendor/bind9/dist-9.6 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 02:13:03 -0000 Author: dougb Date: Sat Jul 16 02:13:03 2011 New Revision: 224075 URL: http://svn.freebsd.org/changeset/base/224075 Log: Update dist -> dist-9.6 Modified: vendor/bind9/dist-9.6/FREEBSD-Upgrade Modified: vendor/bind9/dist-9.6/FREEBSD-Upgrade ============================================================================== --- vendor/bind9/dist-9.6/FREEBSD-Upgrade Sat Jul 16 01:55:51 2011 (r224074) +++ vendor/bind9/dist-9.6/FREEBSD-Upgrade Sat Jul 16 02:13:03 2011 (r224075) @@ -7,32 +7,32 @@ 2) Check out the head of the subversion "vendor branch" - svn co $REPO/vendor/bind9/dist + svn co $REPO/vendor/bind9/dist-9.6 3) Unpack the tarball in a suitable directory: - tar zxvf bind-9..tar.gz -X dist/FREEBSD-Xlist + tar zxvf bind-9..tar.gz -X dist-9.6/FREEBSD-Xlist Check to see if any files have been added or deleted using - diff -ur dist bind-9. -x \.svn | grep 'Only in' + diff -ur dist-9.6 bind-9. -x \.svn | grep 'Only in' 4) Copy new files over the old ones: - cp -Rp bind-9./* dist/ + cp -Rp bind-9./* dist-9.6/ 5) Double-check for changes using 'svn status' 6) Use 'svn add' and 'svn rm' to bring dist up to date for files found above. Update FREEBSD-Xlist as needed. - The files in vendor/bind9/dist should now look exactly like those in the + The files in vendor/bind9/dist-9.6 should now look exactly like those in the ISC sources, minus the files/directories in FREEBSD-Xlist above. Carefully check the output of 'svn status' and 'svn diff' It's not if you're paranoid, it's if you are paranoid enough 7) Commit the update to the vendor files: - cd dist ; svn ci -m "Vendor import of BIND 9.X.Y" - svn cp $REPO/vendor/bind9/dist $REPO/vendor/bind9/${version} + cd dist-9.6 ; svn ci -m "Vendor import of BIND 9.X.Y" + svn cp $REPO/vendor/bind9/dist-9.6 $REPO/vendor/bind9/${version} (this is a server-side operation, you dont have to check it out) 8) Update the files in src/contrib/bind9: @@ -42,7 +42,7 @@ Make sure you are up to date: svn update ; svn status - svn merge $REPO/vendor/bind9/dist . + svn merge $REPO/vendor/bind9/dist-9.6 . Resolve conflicts (if any) Carefully check the output of 'svn status' and 'svn diff' From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 07:12:03 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26DC6106564A; Sat, 16 Jul 2011 07:12:03 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 17EE88FC0A; Sat, 16 Jul 2011 07:12:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G7C2AE014623; Sat, 16 Jul 2011 07:12:02 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G7C2oo014621; Sat, 16 Jul 2011 07:12:02 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107160712.p6G7C2oo014621@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 07:12:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224076 - head/lib/bind X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 07:12:03 -0000 Author: dougb Date: Sat Jul 16 07:12:02 2011 New Revision: 224076 URL: http://svn.freebsd.org/changeset/base/224076 Log: Handle the MK_BIND_XML option more intelligently Modified: head/lib/bind/config.mk Modified: head/lib/bind/config.mk ============================================================================== --- head/lib/bind/config.mk Sat Jul 16 02:13:03 2011 (r224075) +++ head/lib/bind/config.mk Sat Jul 16 07:12:02 2011 (r224076) @@ -78,11 +78,6 @@ CFLAGS+= -D_LARGEFILE_SOURCE -D_FILE_OFF .if ${MK_BIND_SIGCHASE} == "yes" CFLAGS+= -DDIG_SIGCHASE .endif -.if ${MK_BIND_XML} == "yes" -CFLAGS+= -DHAVE_LIBXML2 -CFLAGS+= -I/usr/local/include -I/usr/local/include/libxml2 -CFLAGS+= -L/usr/local/lib -lxml2 -lz -liconv -lm -.endif # Link against BIND libraries .if ${MK_BIND_LIBS} == "no" @@ -120,5 +115,17 @@ CRYPTO_DPADD= ${LIBCRYPTO} CRYPTO_LDADD= -lcrypto .endif +.if ${MK_BIND_XML} == "yes" +CFLAGS+= -DHAVE_LIBXML2 +CFLAGS+= -I/usr/local/include -I/usr/local/include/libxml2 +.if ${MK_BIND_LIBS} != "no" +CFLAGS+= -L/usr/local/lib +BIND_LDADD+= -lxml2 -lz -liconv -lm +.else +BIND_DPADD+= /usr/local/lib/libxml2.a ${LIBZ} +BIND_DPADD+= /usr/local/lib/libiconv.a ${LIBM} +.endif +.endif + PTHREAD_DPADD= ${LIBPTHREAD} PTHREAD_LDADD= -lpthread From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:04:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D38C21065674; Sat, 16 Jul 2011 08:04:57 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5AF38FC17; Sat, 16 Jul 2011 08:04:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G84v3Q016188; Sat, 16 Jul 2011 08:04:57 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G84vr5016185; Sat, 16 Jul 2011 08:04:57 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160804.p6G84vr5016185@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:04:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224077 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:04:57 -0000 Author: zack Date: Sat Jul 16 08:04:57 2011 New Revision: 224077 URL: http://svn.freebsd.org/changeset/base/224077 Log: Small acl patch to return the aclerror that comes back from nfsrv_dissectacl(). This fixes a problem where ATTRNOTSUPP was being returned instead of BADOWNER. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 07:12:02 2011 (r224076) +++ head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:04:57 2011 (r224077) @@ -660,9 +660,9 @@ nfsrv_dissectacl(struct nfsrv_descript * aclsize = NFSX_UNSIGNED; acecnt = fxdr_unsigned(int, *tl); if (acecnt > ACL_MAX_ENTRIES) - aceerr = 1; + aceerr = NFSERR_ATTRNOTSUPP; if (nfsrv_useacl == 0) - aceerr = 1; + aceerr = NFSERR_ATTRNOTSUPP; for (i = 0; i < acecnt; i++) { if (aclp && !aceerr) error = nfsrv_dissectace(nd, &aclp->acl_entry[i], Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 07:12:02 2011 (r224076) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:04:57 2011 (r224077) @@ -2304,7 +2304,7 @@ nfsv4_sattr(struct nfsrv_descript *nd, s if (error) goto nfsmout; if (aceerr && !nd->nd_repstat) - nd->nd_repstat = NFSERR_ATTRNOTSUPP; + nd->nd_repstat = aceerr; attrsum += aclsize; break; case NFSATTRBIT_ARCHIVE: From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:17 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87EE610657D7; Sat, 16 Jul 2011 08:05:17 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5AB0E8FC08; Sat, 16 Jul 2011 08:05:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85H4g016242; Sat, 16 Jul 2011 08:05:17 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85HjG016238; Sat, 16 Jul 2011 08:05:17 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85HjG016238@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224078 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:17 -0000 Author: zack Date: Sat Jul 16 08:05:17 2011 New Revision: 224078 URL: http://svn.freebsd.org/changeset/base/224078 Log: Move nfsvno_pathconf to be accessible to sys/fs/nfs; no functionality change. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonport.c head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_commonport.c ============================================================================== --- head/sys/fs/nfs/nfs_commonport.c Sat Jul 16 08:04:57 2011 (r224077) +++ head/sys/fs/nfs/nfs_commonport.c Sat Jul 16 08:05:17 2011 (r224078) @@ -289,6 +289,49 @@ nfsvno_getfs(struct nfsfsinfo *sip, int NFSV3FSINFO_CANSETTIME); } +/* + * Do the pathconf vnode op. + */ +int +nfsvno_pathconf(struct vnode *vp, int flag, register_t *retf, + struct ucred *cred, struct thread *p) +{ + int error; + + error = VOP_PATHCONF(vp, flag, retf); + if (error == EOPNOTSUPP || error == EINVAL) { + /* + * Some file systems return EINVAL for name arguments not + * supported and some return EOPNOTSUPP for this case. + * So the NFSv3 Pathconf RPC doesn't fail for these cases, + * just fake them. + */ + switch (flag) { + case _PC_LINK_MAX: + *retf = LINK_MAX; + break; + case _PC_NAME_MAX: + *retf = NAME_MAX; + break; + case _PC_CHOWN_RESTRICTED: + *retf = 1; + break; + case _PC_NO_TRUNC: + *retf = 1; + break; + default: + /* + * Only happens if a _PC_xxx is added to the server, + * but this isn't updated. + */ + *retf = 0; + printf("nfsrvd pathconf flag=%d not supp\n", flag); + }; + error = 0; + } + return (error); +} + /* Fake nfsrv_atroot. Just return 0 */ int nfsrv_atroot(struct vnode *vp, long *retp) Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Sat Jul 16 08:04:57 2011 (r224077) +++ head/sys/fs/nfs/nfs_var.h Sat Jul 16 08:05:17 2011 (r224078) @@ -325,6 +325,8 @@ struct ucred *newnfs_getcred(void); void newnfs_setroot(struct ucred *); int nfs_catnap(int, int, const char *); struct nfsreferral *nfsv4root_getreferral(vnode_t, vnode_t, u_int32_t); +int nfsvno_pathconf(vnode_t, int, register_t *, struct ucred *, + NFSPROC_T *); int nfsrv_atroot(vnode_t, long *); void newnfs_timer(void *); int nfs_supportsnfsv4acls(vnode_t); @@ -569,8 +571,6 @@ int nfsvno_checkexp(mount_t, NFSSOCKADDR struct ucred **); int nfsvno_fhtovp(mount_t, fhandle_t *, NFSSOCKADDR_T, int, vnode_t *, struct nfsexstuff *, struct ucred **); -int nfsvno_pathconf(vnode_t, int, register_t *, struct ucred *, - NFSPROC_T *); vnode_t nfsvno_getvp(fhandle_t *); int nfsvno_advlock(vnode_t, int, u_int64_t, u_int64_t, NFSPROC_T *); int nfsrv_v4rootexport(void *, struct ucred *, NFSPROC_T *); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:04:57 2011 (r224077) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:17 2011 (r224078) @@ -2583,49 +2583,6 @@ nfsvno_fhtovp(struct mount *mp, fhandle_ } /* - * Do the pathconf vnode op. - */ -int -nfsvno_pathconf(struct vnode *vp, int flag, register_t *retf, - struct ucred *cred, struct thread *p) -{ - int error; - - error = VOP_PATHCONF(vp, flag, retf); - if (error == EOPNOTSUPP || error == EINVAL) { - /* - * Some file systems return EINVAL for name arguments not - * supported and some return EOPNOTSUPP for this case. - * So the NFSv3 Pathconf RPC doesn't fail for these cases, - * just fake them. - */ - switch (flag) { - case _PC_LINK_MAX: - *retf = LINK_MAX; - break; - case _PC_NAME_MAX: - *retf = NAME_MAX; - break; - case _PC_CHOWN_RESTRICTED: - *retf = 1; - break; - case _PC_NO_TRUNC: - *retf = 1; - break; - default: - /* - * Only happens if a _PC_xxx is added to the server, - * but this isn't updated. - */ - *retf = 0; - printf("nfsrvd pathconf flag=%d not supp\n", flag); - }; - error = 0; - } - return (error); -} - -/* * nfsd_fhtovp() - convert a fh to a vnode ptr * - look up fsid in mount list (if not found ret error) * - get vp and export rights by calling nfsvno_fhtovp() From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:22 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 131101065786; Sat, 16 Jul 2011 08:05:22 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E017A8FC0C; Sat, 16 Jul 2011 08:05:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85LFs016292; Sat, 16 Jul 2011 08:05:21 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85L8j016289; Sat, 16 Jul 2011 08:05:21 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85L8j016289@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224079 - head/sys/fs/nfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:22 -0000 Author: zack Date: Sat Jul 16 08:05:21 2011 New Revision: 224079 URL: http://svn.freebsd.org/changeset/base/224079 Log: Change loadattr and fillattr to ask the file system for the pathconf variable. Small modification where VOP_PATHCONF was being called directly. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonport.c head/sys/fs/nfs/nfs_commonsubs.c Modified: head/sys/fs/nfs/nfs_commonport.c ============================================================================== --- head/sys/fs/nfs/nfs_commonport.c Sat Jul 16 08:05:17 2011 (r224078) +++ head/sys/fs/nfs/nfs_commonport.c Sat Jul 16 08:05:21 2011 (r224079) @@ -549,7 +549,7 @@ nfs_supportsnfsv4acls(struct vnode *vp) if (nfsrv_useacl == 0) return (0); - error = VOP_PATHCONF(vp, _PC_ACL_NFS4, &retval); + error = nfsvno_pathconf(vp, _PC_ACL_NFS4, &retval, NULL, NULL); if (error == 0 && retval != 0) return (1); return (0); Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:05:17 2011 (r224078) +++ head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:05:21 2011 (r224079) @@ -774,6 +774,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd struct dqblk dqb; uid_t savuid; #endif + register_t chownres; if (compare) { retnotsup = 0; @@ -1106,8 +1107,12 @@ nfsv4_loadattr(struct nfsrv_descript *nd NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); if (compare) { if (!(*retcmpp)) { - if (*tl != newnfs_true) - *retcmpp = NFSERR_NOTSAME; + error = nfsvno_pathconf(vp, + _PC_CHOWN_RESTRICTED, &chownres, + nd->nd_cred, p); + if (*tl != (chownres != 0 ? + newnfs_true : newnfs_false)) + *retcmpp = NFSERR_NOTSAME; } } else if (pc != NULL) { pc->pc_chownrestricted = @@ -1951,6 +1956,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd struct dqblk dqb; uid_t savuid; #endif + register_t chownres; /* * First, set the bits that can be filled and get fsinfo. @@ -2130,7 +2136,9 @@ nfsv4_fillattr(struct nfsrv_descript *nd break; case NFSATTRBIT_CHOWNRESTRICTED: NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); - *tl = newnfs_true; + error = nfsvno_pathconf(vp, _PC_CHOWN_RESTRICTED, + &chownres, nd->nd_cred, p); + *tl = (chownres ? newnfs_true : newnfs_false); retnum += NFSX_UNSIGNED; break; case NFSATTRBIT_FILEHANDLE: From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9CD261065782; Sat, 16 Jul 2011 08:05:26 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8E7148FC14; Sat, 16 Jul 2011 08:05:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85QCD016340; Sat, 16 Jul 2011 08:05:26 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85QS0016335; Sat, 16 Jul 2011 08:05:26 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85QS0016335@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224080 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:26 -0000 Author: zack Date: Sat Jul 16 08:05:26 2011 New Revision: 224080 URL: http://svn.freebsd.org/changeset/base/224080 Log: Remove unnecessary thread pointer from VOPLOCK macros and current users. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfsport.h head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdsocket.c Modified: head/sys/fs/nfs/nfsport.h ============================================================================== --- head/sys/fs/nfs/nfsport.h Sat Jul 16 08:05:21 2011 (r224079) +++ head/sys/fs/nfs/nfsport.h Sat Jul 16 08:05:26 2011 (r224080) @@ -836,10 +836,13 @@ void nfsd_mntinit(void); /* * Define these for vnode lock/unlock ops. + * + * These are good abstractions to macro out, so that they can be added to + * later, for debugging or stats, etc. */ -#define NFSVOPLOCK(v, f, p) vn_lock((v), (f)) -#define NFSVOPUNLOCK(v, f, p) VOP_UNLOCK((v), (f)) -#define NFSVOPISLOCKED(v, p) VOP_ISLOCKED((v)) +#define NFSVOPLOCK(v, f) vn_lock((v), (f)) +#define NFSVOPUNLOCK(v, f) VOP_UNLOCK((v), (f)) +#define NFSVOPISLOCKED(v) VOP_ISLOCKED((v)) /* * Define ncl_hash(). Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:21 2011 (r224079) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:26 2011 (r224080) @@ -282,7 +282,7 @@ nfsvno_namei(struct nfsrv_descript *nd, return (ENOTDIR); } if (islocked) - NFSVOPUNLOCK(dp, 0, p); + NFSVOPUNLOCK(dp, 0); VREF(dp); *retdirp = dp; if (NFSVNO_EXRDONLY(exp)) @@ -351,7 +351,7 @@ nfsvno_namei(struct nfsrv_descript *nd, if ((cnp->cn_flags & (SAVENAME | SAVESTART)) == 0) nfsvno_relpathbuf(ndp); if (ndp->ni_vp && !lockleaf) - NFSVOPUNLOCK(ndp->ni_vp, 0, p); + NFSVOPUNLOCK(ndp->ni_vp, 0); break; } @@ -359,7 +359,7 @@ nfsvno_namei(struct nfsrv_descript *nd, * Validate symlink */ if ((cnp->cn_flags & LOCKPARENT) && ndp->ni_pathlen == 1) - NFSVOPUNLOCK(ndp->ni_dvp, 0, p); + NFSVOPUNLOCK(ndp->ni_dvp, 0); if (!(nd->nd_flag & ND_PUBLOOKUP)) { error = EINVAL; goto badlink2; @@ -2868,14 +2868,14 @@ nfsvno_advlock(struct vnode *vp, int fty fl.l_pid = (pid_t)0; fl.l_sysid = (int)nfsv4_sysid; - NFSVOPUNLOCK(vp, 0, td); + NFSVOPUNLOCK(vp, 0); if (ftype == F_UNLCK) error = VOP_ADVLOCK(vp, (caddr_t)td->td_proc, F_UNLCK, &fl, (F_POSIX | F_REMOTE)); else error = VOP_ADVLOCK(vp, (caddr_t)td->td_proc, F_SETLK, &fl, (F_POSIX | F_REMOTE)); - NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, td); + NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); return (error); } Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Jul 16 08:05:21 2011 (r224079) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Jul 16 08:05:26 2011 (r224080) @@ -1449,7 +1449,7 @@ nfsrvd_rename(struct nfsrv_descript *nd, if (tdp) { tdirfor_ret = nfsvno_getattr(tdp, &tdirfor, nd->nd_cred, p, 1); - NFSVOPUNLOCK(tdp, 0, p); + NFSVOPUNLOCK(tdp, 0); } } NFSNAMEICNDSET(&tond.ni_cnd, nd->nd_cred, RENAME, LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART); @@ -1554,7 +1554,7 @@ nfsrvd_link(struct nfsrv_descript *nd, i nfsrv_wcc(nd, dirfor_ret, &dirfor, diraft_ret, &diraft); return (0); } - NFSVOPUNLOCK(vp, 0, p); + NFSVOPUNLOCK(vp, 0); if (vnode_vtype(vp) == VDIR) { if (nd->nd_flag & ND_NFSV4) nd->nd_repstat = NFSERR_ISDIR; @@ -1584,7 +1584,7 @@ nfsrvd_link(struct nfsrv_descript *nd, i nfsd_fhtovp(nd, &dfh, LK_EXCLUSIVE, &dp, &tnes, NULL, 0, p); if (dp) - NFSVOPUNLOCK(dp, 0, p); + NFSVOPUNLOCK(dp, 0); } } NFSNAMEICNDSET(&named.ni_cnd, nd->nd_cred, CREATE, @@ -1868,7 +1868,7 @@ nfsrvd_mkdirsub(struct nfsrv_descript *n nd->nd_repstat = nfsvno_getattr(vp, nvap, nd->nd_cred, p, 1); if (vpp && !nd->nd_repstat) { - NFSVOPUNLOCK(vp, 0, p); + NFSVOPUNLOCK(vp, 0); *vpp = vp; } else { vput(vp); @@ -2765,7 +2765,7 @@ nfsrvd_open(struct nfsrv_descript *nd, _ * (ie: Leave the NFSVOPUNLOCK() about here.) */ if (vp) - NFSVOPUNLOCK(vp, 0, p); + NFSVOPUNLOCK(vp, 0); if (stp) FREE((caddr_t)stp, M_NFSDSTATE); if (!nd->nd_repstat && dirp) Modified: head/sys/fs/nfsserver/nfs_nfsdsocket.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Jul 16 08:05:21 2011 (r224079) +++ head/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Jul 16 08:05:26 2011 (r224080) @@ -430,7 +430,7 @@ nfsrvd_dorpc(struct nfsrv_descript *nd, } else { if (nfs_retfh[nd->nd_procnum] == 1) { if (vp) - NFSVOPUNLOCK(vp, 0, p); + NFSVOPUNLOCK(vp, 0); error = (*(nfsrv3_procs1[nd->nd_procnum]))(nd, isdgram, vp, NULL, (fhandle_t *)fh.nfsrvfh_data, p, &nes); } else if (nfs_retfh[nd->nd_procnum] == 2) { From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:31 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D9F710657C3; Sat, 16 Jul 2011 08:05:31 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 756D08FC15; Sat, 16 Jul 2011 08:05:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85V7x016394; Sat, 16 Jul 2011 08:05:31 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85V27016385; Sat, 16 Jul 2011 08:05:31 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85V27016385@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224081 - in head/sys/fs: nfs nfsclient nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:31 -0000 Author: zack Date: Sat Jul 16 08:05:31 2011 New Revision: 224081 URL: http://svn.freebsd.org/changeset/base/224081 Log: Simple find/replace of vn_lock -> NFSVOPLOCK. This is done so that NFSVOPLOCK can be modified later to add enhanced logging and assertions. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfsclient/nfs_clport.c head/sys/fs/nfsclient/nfs_clsubs.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdsocket.c head/sys/fs/nfsserver/nfs_nfsdstate.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:05:31 2011 (r224081) @@ -2001,7 +2001,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd supports_nfsv4acls == 0)) { NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_ACL); } else if (naclp != NULL) { - if (vn_lock(vp, LK_SHARED) == 0) { + if (NFSVOPLOCK(vp, LK_SHARED) == 0) { error = VOP_ACCESSX(vp, VREAD_ACL, cred, p); if (error == 0) error = VOP_GETACL(vp, ACL_TYPE_NFS4, Modified: head/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clport.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsclient/nfs_clport.c Sat Jul 16 08:05:31 2011 (r224081) @@ -127,7 +127,7 @@ nfscl_nget(struct mount *mntp, struct vn if (error == 0 && nvp != NULL) { /* * I believe there is a slight chance that vgonel() could - * get called on this vnode between when vn_lock() drops + * get called on this vnode between when NFSVOPLOCK() drops * the VI_LOCK() and vget() acquires it again, so that it * hasn't yet had v_usecount incremented. If this were to * happen, the VI_DOOMED flag would be set, so check for Modified: head/sys/fs/nfsclient/nfs_clsubs.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clsubs.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsclient/nfs_clsubs.c Sat Jul 16 08:05:31 2011 (r224081) @@ -148,7 +148,7 @@ ncl_upgrade_vnlock(struct vnode *vp) KASSERT(old_lock == LK_SHARED, ("ncl_upgrade_vnlock: wrong old_lock %d", old_lock)); /* Upgrade to exclusive lock, this might block */ - vn_lock(vp, LK_UPGRADE | LK_RETRY); + NFSVOPLOCK(vp, LK_UPGRADE | LK_RETRY); } return (old_lock); } @@ -159,7 +159,7 @@ ncl_downgrade_vnlock(struct vnode *vp, i if (old_lock != LK_EXCLUSIVE) { KASSERT(old_lock == LK_SHARED, ("wrong old_lock %d", old_lock)); /* Downgrade from exclusive lock. */ - vn_lock(vp, LK_DOWNGRADE | LK_RETRY); + NFSVOPLOCK(vp, LK_DOWNGRADE | LK_RETRY); } } Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsclient/nfs_clvnops.c Sat Jul 16 08:05:31 2011 (r224081) @@ -1215,7 +1215,7 @@ nfs_lookup(struct vop_lookup_args *ap) vfs_ref(mp); VOP_UNLOCK(dvp, 0); error = vfs_busy(mp, 0); - vn_lock(dvp, ltype | LK_RETRY); + NFSVOPLOCK(dvp, ltype | LK_RETRY); vfs_rel(mp); if (error == 0 && (dvp->v_iflag & VI_DOOMED)) { vfs_unbusy(mp); @@ -1231,7 +1231,7 @@ nfs_lookup(struct vop_lookup_args *ap) newvp = NFSTOV(np); vfs_unbusy(mp); if (newvp != dvp) - vn_lock(dvp, ltype | LK_RETRY); + NFSVOPLOCK(dvp, ltype | LK_RETRY); if (dvp->v_iflag & VI_DOOMED) { if (error == 0) { if (newvp == dvp) @@ -1764,7 +1764,7 @@ nfs_rename(struct vop_rename_args *ap) error = 0; goto out; } - if ((error = vn_lock(fvp, LK_EXCLUSIVE)) != 0) + if ((error = NFSVOPLOCK(fvp, LK_EXCLUSIVE)) != 0) goto out; /* @@ -2943,7 +2943,7 @@ nfs_advlock(struct vop_advlock_args *ap) cred = p->p_ucred; else cred = td->td_ucred; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_iflag & VI_DOOMED) { VOP_UNLOCK(vp, 0); return (EBADF); @@ -2973,7 +2973,7 @@ nfs_advlock(struct vop_advlock_args *ap) "ncladvl"); if (error) return (EINTR); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_iflag & VI_DOOMED) { VOP_UNLOCK(vp, 0); return (EBADF); @@ -3018,7 +3018,7 @@ nfs_advlock(struct vop_advlock_args *ap) VOP_UNLOCK(vp, 0); return (0); } else if (!NFS_ISV4(vp)) { - error = vn_lock(vp, LK_SHARED); + error = NFSVOPLOCK(vp, LK_SHARED); if (error) return (error); if ((VFSTONFS(vp->v_mount)->nm_flag & NFSMNT_NOLOCKD) != 0) { @@ -3049,7 +3049,7 @@ nfs_advlockasync(struct vop_advlockasync if (NFS_ISV4(vp)) return (EOPNOTSUPP); - error = vn_lock(vp, LK_SHARED); + error = NFSVOPLOCK(vp, LK_SHARED); if (error) return (error); if ((VFSTONFS(vp->v_mount)->nm_flag & NFSMNT_NOLOCKD) != 0) { Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:31 2011 (r224081) @@ -118,7 +118,7 @@ nfsvno_getattr(struct vnode *vp, struct */ if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) { lockedit = 1; - vn_lock(vp, LK_SHARED | LK_RETRY); + NFSVOPLOCK(vp, LK_SHARED | LK_RETRY); } } error = VOP_GETATTR(vp, &nvap->na_vattr, cred); @@ -160,7 +160,7 @@ nfsvno_accchk(struct vnode *vp, accmode_ int error = 0, getret = 0; if (vpislocked == 0) { - if (vn_lock(vp, LK_SHARED) != 0) + if (NFSVOPLOCK(vp, LK_SHARED) != 0) return (EPERM); } if (accmode & VWRITE) { @@ -1097,7 +1097,7 @@ nfsvno_rename(struct nameidata *fromndp, goto out; } if (ndflag & ND_NFSV4) { - if (vn_lock(fvp, LK_EXCLUSIVE) == 0) { + if (NFSVOPLOCK(fvp, LK_EXCLUSIVE) == 0) { error = nfsrv_checkremove(fvp, 0, p); VOP_UNLOCK(fvp, 0); } else @@ -1158,7 +1158,7 @@ nfsvno_link(struct nameidata *ndp, struc error = EXDEV; } if (!error) { - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); if ((vp->v_iflag & VI_DOOMED) == 0) error = VOP_LINK(ndp->ni_dvp, vp, &ndp->ni_cnd); else @@ -1986,7 +1986,7 @@ again: dp->d_name[1] == '.') cn.cn_flags |= ISDOTDOT; - if (vn_lock(vp, LK_SHARED) + if (NFSVOPLOCK(vp, LK_SHARED) != 0) { nd->nd_repstat = EPERM; break; @@ -2578,7 +2578,7 @@ nfsvno_fhtovp(struct mount *mp, fhandle_ * but this will have to do until VFS_FHTOVP() has a lock * type argument like VFS_VGET(). */ - vn_lock(*vpp, LK_DOWNGRADE | LK_RETRY); + NFSVOPLOCK(*vpp, LK_DOWNGRADE | LK_RETRY); return (error); } Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Jul 16 08:05:31 2011 (r224081) @@ -238,7 +238,7 @@ nfsrvd_getattr(struct nfsrv_descript *nd VOP_UNLOCK(vp, 0); if (at_root != 0) { if ((nd->nd_repstat = - vn_lock(tvp, LK_SHARED)) == 0) { + NFSVOPLOCK(tvp, LK_SHARED)) == 0) { nd->nd_repstat = VOP_GETATTR( tvp, &va, nd->nd_cred); vput(tvp); @@ -2703,7 +2703,7 @@ nfsrvd_open(struct nfsrv_descript *nd, _ }; stp->ls_flags |= NFSLCK_RECLAIM; vp = dp; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); if ((vp->v_iflag & VI_DOOMED) == 0) nd->nd_repstat = nfsrv_opencheck(clientid, &stateid, stp, vp, nd, p, nd->nd_repstat); Modified: head/sys/fs/nfsserver/nfs_nfsdsocket.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Jul 16 08:05:31 2011 (r224081) @@ -861,7 +861,7 @@ nfsrvd_compound(struct nfsrv_descript *n } if (nfsv4_opflag[op].modifyfs) vn_start_write(savevp, &temp_mp, V_WAIT); - if (vn_lock(savevp, LK_EXCLUSIVE) == 0) { + if (NFSVOPLOCK(savevp, LK_EXCLUSIVE) == 0) { VREF(vp); VREF(savevp); error = (*(nfsrv4_ops2[op]))(nd, isdgram, @@ -878,7 +878,7 @@ nfsrvd_compound(struct nfsrv_descript *n if (nfsv4_opflag[op].modifyfs) vn_start_write(vp, &temp_mp, V_WAIT); - if (vn_lock(vp, nfsv4_opflag[op].lktype) + if (NFSVOPLOCK(vp, nfsv4_opflag[op].lktype) == 0) VREF(vp); else Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Jul 16 08:05:26 2011 (r224080) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Jul 16 08:05:31 2011 (r224081) @@ -4096,7 +4096,7 @@ nfsrv_updatestable(NFSPROC_T *p) NFSVNO_SETATTRVAL(&nva, size, 0); vp = NFSFPVNODE(sf->nsf_fp); vn_start_write(vp, &mp, V_WAIT); - if (vn_lock(vp, LK_EXCLUSIVE) == 0) { + if (NFSVOPLOCK(vp, LK_EXCLUSIVE) == 0) { error = nfsvno_setattr(vp, &nva, NFSFPCRED(sf->nsf_fp), p, NULL); VOP_UNLOCK(vp, 0); @@ -4231,7 +4231,7 @@ nfsrv_checkstable(struct nfsclient *clp) * Return 0 to indicate the conflict can't be revoked and 1 to indicate * the revocation worked and the conflicting client is "bye, bye", so it * can be tried again. - * Return 2 to indicate that the vnode is VI_DOOMED after vn_lock(). + * Return 2 to indicate that the vnode is VI_DOOMED after NFSVOPLOCK(). * Unlocks State before a non-zero value is returned. */ static int @@ -4258,7 +4258,7 @@ nfsrv_clientconflict(struct nfsclient *c } while (!gotlock); NFSUNLOCKV4ROOTMUTEX(); *haslockp = 1; - vn_lock(vp, lktype | LK_RETRY); + NFSVOPLOCK(vp, lktype | LK_RETRY); if ((vp->v_iflag & VI_DOOMED) != 0) return (2); else @@ -4426,7 +4426,7 @@ nfsrv_delegconflict(struct nfsstate *stp } while (!gotlock); NFSUNLOCKV4ROOTMUTEX(); *haslockp = 1; - vn_lock(vp, lktype | LK_RETRY); + NFSVOPLOCK(vp, lktype | LK_RETRY); if ((vp->v_iflag & VI_DOOMED) != 0) { *haslockp = 0; NFSLOCKV4ROOTMUTEX(); @@ -4626,7 +4626,7 @@ nfsd_recalldelegation(vnode_t vp, NFSPRO NFSGETNANOTIME(&mytime); starttime = (u_int32_t)mytime.tv_sec; do { - if (vn_lock(vp, LK_EXCLUSIVE) == 0) { + if (NFSVOPLOCK(vp, LK_EXCLUSIVE) == 0) { error = nfsrv_checkremove(vp, 0, p); VOP_UNLOCK(vp, 0); } else From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF68410659B1; Sat, 16 Jul 2011 08:05:36 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A6C298FC18; Sat, 16 Jul 2011 08:05:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85ae5016448; Sat, 16 Jul 2011 08:05:36 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85awN016439; Sat, 16 Jul 2011 08:05:36 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85awN016439@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224082 - in head/sys/fs: nfs nfsclient nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:36 -0000 Author: zack Date: Sat Jul 16 08:05:36 2011 New Revision: 224082 URL: http://svn.freebsd.org/changeset/base/224082 Log: Simple find/replace of VOP_UNLOCK -> NFSVOPUNLOCK. This is done so that NFSVOPUNLOCK can be modified later to add enhanced logging and assertions. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfsclient/nfs_clport.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdsocket.c head/sys/fs/nfsserver/nfs_nfsdstate.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:05:36 2011 (r224082) @@ -2006,7 +2006,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd if (error == 0) error = VOP_GETACL(vp, ACL_TYPE_NFS4, naclp, cred, p); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); } else error = NFSERR_PERM; if (error != 0) { Modified: head/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clport.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsclient/nfs_clport.c Sat Jul 16 08:05:36 2011 (r224082) @@ -317,7 +317,7 @@ nfscl_ngetreopen(struct mount *mntp, u_i error = vfs_hash_get(mntp, hash, (LK_EXCLUSIVE | LK_NOWAIT), td, &nvp, newnfs_vncmpf, nfhp); if (error == 0 && nvp != NULL) { - VOP_UNLOCK(nvp, 0); + NFSVOPUNLOCK(nvp, 0); } else if (error == EBUSY) { /* * The LK_EXCLOTHER lock type tells nfs_lock1() to not try Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Sat Jul 16 08:05:36 2011 (r224082) @@ -1344,7 +1344,7 @@ mountnfs(struct nfs_args *argp, struct m /* * Lose the lock but keep the ref. */ - VOP_UNLOCK(*vpp, 0); + NFSVOPUNLOCK(*vpp, 0); return (0); } error = EIO; @@ -1491,7 +1491,7 @@ loop: error = VOP_FSYNC(vp, waitfor, td); if (error) allerror = error; - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsclient/nfs_clvnops.c Sat Jul 16 08:05:36 2011 (r224082) @@ -1213,7 +1213,7 @@ nfs_lookup(struct vop_lookup_args *ap) error = vfs_busy(mp, MBF_NOWAIT); if (error != 0) { vfs_ref(mp); - VOP_UNLOCK(dvp, 0); + NFSVOPUNLOCK(dvp, 0); error = vfs_busy(mp, 0); NFSVOPLOCK(dvp, ltype | LK_RETRY); vfs_rel(mp); @@ -1224,7 +1224,7 @@ nfs_lookup(struct vop_lookup_args *ap) if (error != 0) return (error); } - VOP_UNLOCK(dvp, 0); + NFSVOPUNLOCK(dvp, 0); error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL, cnp->cn_lkflags); if (error == 0) @@ -1781,7 +1781,7 @@ nfs_rename(struct vop_rename_args *ap) * this condition can result in potential (silent) data loss. */ error = VOP_FSYNC(fvp, MNT_WAIT, fcnp->cn_thread); - VOP_UNLOCK(fvp, 0); + NFSVOPUNLOCK(fvp, 0); if (!error && tvp) error = VOP_FSYNC(tvp, MNT_WAIT, tcnp->cn_thread); if (error) @@ -2945,7 +2945,7 @@ nfs_advlock(struct vop_advlock_args *ap) cred = td->td_ucred; NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_iflag & VI_DOOMED) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (EBADF); } @@ -2968,27 +2968,27 @@ nfs_advlock(struct vop_advlock_args *ap) ap->a_fl, 0, cred, td, ap->a_id, ap->a_flags); if (ret == NFSERR_DENIED && (ap->a_flags & F_WAIT) && ap->a_op == F_SETLK) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); error = nfs_catnap(PZERO | PCATCH, ret, "ncladvl"); if (error) return (EINTR); NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_iflag & VI_DOOMED) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (EBADF); } } } while (ret == NFSERR_DENIED && (ap->a_flags & F_WAIT) && ap->a_op == F_SETLK); if (ret == NFSERR_DENIED) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (EAGAIN); } else if (ret == EINVAL || ret == EBADF || ret == EINTR) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (ret); } else if (ret != 0) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (EACCES); } @@ -3015,7 +3015,7 @@ nfs_advlock(struct vop_advlock_args *ap) } } } - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (0); } else if (!NFS_ISV4(vp)) { error = NFSVOPLOCK(vp, LK_SHARED); @@ -3023,13 +3023,13 @@ nfs_advlock(struct vop_advlock_args *ap) return (error); if ((VFSTONFS(vp->v_mount)->nm_flag & NFSMNT_NOLOCKD) != 0) { size = VTONFS(vp)->n_size; - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); error = lf_advlock(ap, &(vp->v_lockf), size); } else { if (nfs_advlock_p != NULL) error = nfs_advlock_p(ap); else { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); error = ENOLCK; } } @@ -3054,10 +3054,10 @@ nfs_advlockasync(struct vop_advlockasync return (error); if ((VFSTONFS(vp->v_mount)->nm_flag & NFSMNT_NOLOCKD) != 0) { size = VTONFS(vp)->n_size; - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); error = lf_advlockasync(ap, &(vp->v_lockf), size); } else { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); error = EOPNOTSUPP; } return (error); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:36 2011 (r224082) @@ -123,7 +123,7 @@ nfsvno_getattr(struct vnode *vp, struct } error = VOP_GETATTR(vp, &nvap->na_vattr, cred); if (lockedit != 0) - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (error); } @@ -191,7 +191,7 @@ nfsvno_accchk(struct vnode *vp, accmode_ } if (error != 0) { if (vpislocked == 0) - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (error); } @@ -231,7 +231,7 @@ nfsvno_accchk(struct vnode *vp, accmode_ } } if (vpislocked == 0) - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); return (error); } @@ -1099,7 +1099,7 @@ nfsvno_rename(struct nameidata *fromndp, if (ndflag & ND_NFSV4) { if (NFSVOPLOCK(fvp, LK_EXCLUSIVE) == 0) { error = nfsrv_checkremove(fvp, 0, p); - VOP_UNLOCK(fvp, 0); + NFSVOPUNLOCK(fvp, 0); } else error = EPERM; if (tvp && !error) @@ -1167,7 +1167,7 @@ nfsvno_link(struct nameidata *ndp, struc vrele(ndp->ni_dvp); else vput(ndp->ni_dvp); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); } else { if (ndp->ni_dvp == ndp->ni_vp) vrele(ndp->ni_dvp); @@ -1887,7 +1887,7 @@ again: */ mp = vp->v_mount; vfs_ref(mp); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); nd->nd_repstat = vfs_busy(mp, 0); vfs_rel(mp); if (nd->nd_repstat != 0) { @@ -2001,7 +2001,7 @@ again: r = VOP_LOOKUP(vp, &nvp, &cn); if (vp != nvp) - VOP_UNLOCK(vp, + NFSVOPUNLOCK(vp, 0); } } @@ -2080,7 +2080,7 @@ again: if (nvp != NULL) { supports_nfsv4acls = nfs_supportsnfsv4acls(nvp); - VOP_UNLOCK(nvp, 0); + NFSVOPUNLOCK(nvp, 0); } else supports_nfsv4acls = 0; if (refp != NULL) { Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Sat Jul 16 08:05:36 2011 (r224082) @@ -235,7 +235,7 @@ nfsrvd_getattr(struct nfsrv_descript *nd } else at_root = 0; vfs_ref(mp); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); if (at_root != 0) { if ((nd->nd_repstat = NFSVOPLOCK(tvp, LK_SHARED)) == 0) { @@ -1276,7 +1276,7 @@ nfsrvd_mknod(struct nfsrv_descript *nd, nd->nd_repstat = nfsvno_getattr(vp, &nva, nd->nd_cred, p, 1); if (vpp != NULL && nd->nd_repstat == 0) { - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); *vpp = vp; } else vput(vp); @@ -1735,7 +1735,7 @@ nfsrvd_symlinksub(struct nfsrv_descript nvap, nd->nd_cred, p, 1); } if (vpp != NULL && nd->nd_repstat == 0) { - VOP_UNLOCK(ndp->ni_vp, 0); + NFSVOPUNLOCK(ndp->ni_vp, 0); *vpp = ndp->ni_vp; } else vput(ndp->ni_vp); Modified: head/sys/fs/nfsserver/nfs_nfsdsocket.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Jul 16 08:05:36 2011 (r224082) @@ -705,7 +705,7 @@ nfsrvd_compound(struct nfsrv_descript *n vrele(vp); vp = nvp; cur_fsid = vp->v_mount->mnt_stat.f_fsid; - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); vpnes = nes; } break; @@ -720,7 +720,7 @@ nfsrvd_compound(struct nfsrv_descript *n vrele(vp); vp = nvp; cur_fsid = vp->v_mount->mnt_stat.f_fsid; - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); vpnes = nes; } break; @@ -733,7 +733,7 @@ nfsrvd_compound(struct nfsrv_descript *n vrele(vp); vp = nvp; cur_fsid = vp->v_mount->mnt_stat.f_fsid; - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); vpnes = nes; } } else @@ -840,7 +840,7 @@ nfsrvd_compound(struct nfsrv_descript *n } } /* Lookup ops return a locked vnode */ - VOP_UNLOCK(nvp, 0); + NFSVOPUNLOCK(nvp, 0); } if (!nd->nd_repstat) { vrele(vp); Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Jul 16 08:05:31 2011 (r224081) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Jul 16 08:05:36 2011 (r224082) @@ -4099,7 +4099,7 @@ nfsrv_updatestable(NFSPROC_T *p) if (NFSVOPLOCK(vp, LK_EXCLUSIVE) == 0) { error = nfsvno_setattr(vp, &nva, NFSFPCRED(sf->nsf_fp), p, NULL); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); } else error = EPERM; vn_finished_write(mp); @@ -4249,7 +4249,7 @@ nfsrv_clientconflict(struct nfsclient *c if (*haslockp == 0) { NFSUNLOCKSTATE(); lktype = VOP_ISLOCKED(vp); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); NFSLOCKV4ROOTMUTEX(); nfsv4_relref(&nfsv4rootfs_lock); do { @@ -4417,7 +4417,7 @@ nfsrv_delegconflict(struct nfsstate *stp if (*haslockp == 0) { NFSUNLOCKSTATE(); lktype = VOP_ISLOCKED(vp); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); NFSLOCKV4ROOTMUTEX(); nfsv4_relref(&nfsv4rootfs_lock); do { @@ -4628,7 +4628,7 @@ nfsd_recalldelegation(vnode_t vp, NFSPRO do { if (NFSVOPLOCK(vp, LK_EXCLUSIVE) == 0) { error = nfsrv_checkremove(vp, 0, p); - VOP_UNLOCK(vp, 0); + NFSVOPUNLOCK(vp, 0); } else error = EPERM; if (error == NFSERR_DELAY) { From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:42 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 369541065702; Sat, 16 Jul 2011 08:05:42 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1DDF08FC1B; Sat, 16 Jul 2011 08:05:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85gXm016499; Sat, 16 Jul 2011 08:05:42 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85fwA016493; Sat, 16 Jul 2011 08:05:41 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85fwA016493@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224083 - in head/sys/fs: nfsclient nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:42 -0000 Author: zack Date: Sat Jul 16 08:05:41 2011 New Revision: 224083 URL: http://svn.freebsd.org/changeset/base/224083 Log: Simple find/replace of VOP_ISLOCKED -> NFSVOPISLOCKED. This is done so that NFSVOPISLOCKED can be modified later to add enhanced logging and assertions. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clsubs.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdstate.c Modified: head/sys/fs/nfsclient/nfs_clsubs.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clsubs.c Sat Jul 16 08:05:36 2011 (r224082) +++ head/sys/fs/nfsclient/nfs_clsubs.c Sat Jul 16 08:05:41 2011 (r224083) @@ -143,7 +143,7 @@ ncl_upgrade_vnlock(struct vnode *vp) int old_lock; ASSERT_VOP_LOCKED(vp, "ncl_upgrade_vnlock"); - old_lock = VOP_ISLOCKED(vp); + old_lock = NFSVOPISLOCKED(vp); if (old_lock != LK_EXCLUSIVE) { KASSERT(old_lock == LK_SHARED, ("ncl_upgrade_vnlock: wrong old_lock %d", old_lock)); Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Sat Jul 16 08:05:36 2011 (r224082) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Sat Jul 16 08:05:41 2011 (r224083) @@ -1477,7 +1477,7 @@ loop: VI_LOCK(vp); MNT_IUNLOCK(mp); /* XXX Racy bv_cnt check. */ - if (VOP_ISLOCKED(vp) || vp->v_bufobj.bo_dirty.bv_cnt == 0 || + if (NFSVOPISLOCKED(vp) || vp->v_bufobj.bo_dirty.bv_cnt == 0 || waitfor == MNT_LAZY) { VI_UNLOCK(vp); MNT_ILOCK(mp); Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Sat Jul 16 08:05:36 2011 (r224082) +++ head/sys/fs/nfsclient/nfs_clvnops.c Sat Jul 16 08:05:41 2011 (r224083) @@ -1209,7 +1209,7 @@ nfs_lookup(struct vop_lookup_args *ap) } if (flags & ISDOTDOT) { - ltype = VOP_ISLOCKED(dvp); + ltype = NFSVOPISLOCKED(dvp); error = vfs_busy(mp, MBF_NOWAIT); if (error != 0) { vfs_ref(mp); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:36 2011 (r224082) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sat Jul 16 08:05:41 2011 (r224083) @@ -116,7 +116,7 @@ nfsvno_getattr(struct vnode *vp, struct * locked by this thread or not locked by this thread. * As such, shared lock it, if not exclusively locked. */ - if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) { + if (NFSVOPISLOCKED(vp) != LK_EXCLUSIVE) { lockedit = 1; NFSVOPLOCK(vp, LK_SHARED | LK_RETRY); } Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Jul 16 08:05:36 2011 (r224082) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Jul 16 08:05:41 2011 (r224083) @@ -4248,7 +4248,7 @@ nfsrv_clientconflict(struct nfsclient *c return (0); if (*haslockp == 0) { NFSUNLOCKSTATE(); - lktype = VOP_ISLOCKED(vp); + lktype = NFSVOPISLOCKED(vp); NFSVOPUNLOCK(vp, 0); NFSLOCKV4ROOTMUTEX(); nfsv4_relref(&nfsv4rootfs_lock); @@ -4416,7 +4416,7 @@ nfsrv_delegconflict(struct nfsstate *stp */ if (*haslockp == 0) { NFSUNLOCKSTATE(); - lktype = VOP_ISLOCKED(vp); + lktype = NFSVOPISLOCKED(vp); NFSVOPUNLOCK(vp, 0); NFSLOCKV4ROOTMUTEX(); nfsv4_relref(&nfsv4rootfs_lock); @@ -4610,7 +4610,7 @@ nfsd_recalldelegation(vnode_t vp, NFSPRO nfsrv_issuedelegs == 0) return; - KASSERT((VOP_ISLOCKED(vp) != LK_EXCLUSIVE), ("vp %p is locked", vp)); + KASSERT((NFSVOPISLOCKED(vp) != LK_EXCLUSIVE), ("vp %p is locked", vp)); /* * First, get a reference on the nfsv4rootfs_lock so that an * exclusive lock cannot be acquired by another thread. From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:05:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D04F1065840; Sat, 16 Jul 2011 08:05:49 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F7E58FC24; Sat, 16 Jul 2011 08:05:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G85nmX016543; Sat, 16 Jul 2011 08:05:49 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G85nP2016541; Sat, 16 Jul 2011 08:05:49 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160805.p6G85nP2016541@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:05:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224084 - head/sys/kgssapi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:05:49 -0000 Author: zack Date: Sat Jul 16 08:05:49 2011 New Revision: 224084 URL: http://svn.freebsd.org/changeset/base/224084 Log: Add a small comment about unloading the kgsappi module. Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/kgssapi/gss_impl.c Modified: head/sys/kgssapi/gss_impl.c ============================================================================== --- head/sys/kgssapi/gss_impl.c Sat Jul 16 08:05:41 2011 (r224083) +++ head/sys/kgssapi/gss_impl.c Sat Jul 16 08:05:49 2011 (r224084) @@ -282,7 +282,11 @@ kgssapi_modevent(module_t mod, int type, rpc_gss_svc_max_data_length; break; case MOD_UNLOAD: - /* Unloading of the kgssapi module isn't supported. */ + /* + * Unloading of the kgssapi module is not currently supported. + * If somebody wants this, we would need to keep track of + * currently executing threads and make sure the count is 0. + */ /* FALLTHROUGH */ default: error = EOPNOTSUPP; From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:29:12 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3569106566C; Sat, 16 Jul 2011 08:29:12 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C4E4A8FC08; Sat, 16 Jul 2011 08:29:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G8TC2J017260; Sat, 16 Jul 2011 08:29:12 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G8TCDW017253; Sat, 16 Jul 2011 08:29:12 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201107160829.p6G8TCDW017253@svn.freebsd.org> From: Hans Petter Selasky Date: Sat, 16 Jul 2011 08:29:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224085 - head/lib/libusb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:29:12 -0000 Author: hselasky Date: Sat Jul 16 08:29:12 2011 New Revision: 224085 URL: http://svn.freebsd.org/changeset/base/224085 Log: - Add two missing functions to the LibUSB v0.1 API. - Clamp the string length to 255 bytes when getting the interface description. - Clamp data request length to 65535 bytes when doing control requests. MFC after: 3 days Modified: head/lib/libusb/libusb.3 head/lib/libusb/libusb01.c head/lib/libusb/libusb10.c head/lib/libusb/libusb10_desc.c head/lib/libusb/libusb20.c head/lib/libusb/usb.h Modified: head/lib/libusb/libusb.3 ============================================================================== --- head/lib/libusb/libusb.3 Sat Jul 16 08:05:49 2011 (r224084) +++ head/lib/libusb/libusb.3 Sat Jul 16 08:29:12 2011 (r224085) @@ -542,6 +542,8 @@ The library is also compliant with LibUS .Fn usb_device .Fn usb_get_busses .Fn usb_check_connected +.Fn usb_get_driver_np +.Fn usb_detach_kernel_driver_np . .Sh SEE ALSO .Xr libusb20 3 , Modified: head/lib/libusb/libusb01.c ============================================================================== --- head/lib/libusb/libusb01.c Sat Jul 16 08:05:49 2011 (r224084) +++ head/lib/libusb/libusb01.c Sat Jul 16 08:29:12 2011 (r224085) @@ -203,6 +203,12 @@ usb_get_string(usb_dev_handle * dev, int { int err; + if (dev == NULL) + return (-1); + + if (buflen > 65535) + buflen = 65535; + err = libusb20_dev_req_string_sync((void *)dev, strindex, langid, buf, buflen); @@ -218,6 +224,12 @@ usb_get_string_simple(usb_dev_handle * d { int err; + if (dev == NULL) + return (-1); + + if (buflen > 65535) + buflen = 65535; + err = libusb20_dev_req_string_simple_sync((void *)dev, strindex, buf, buflen); @@ -233,6 +245,12 @@ usb_get_descriptor_by_endpoint(usb_dev_h { memset(buf, 0, size); + if (udev == NULL) + return (-1); + + if (size > 65535) + size = 65535; + return (usb_control_msg(udev, ep | USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, (type << 8) + ep_index, 0, buf, size, 1000)); @@ -244,6 +262,12 @@ usb_get_descriptor(usb_dev_handle * udev { memset(buf, 0, size); + if (udev == NULL) + return (-1); + + if (size > 65535) + size = 65535; + return (usb_control_msg(udev, USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, (type << 8) + desc_index, 0, buf, size, 1000)); } @@ -943,3 +967,49 @@ usb_get_busses(void) { return (usb_busses); } + +int +usb_get_driver_np(usb_dev_handle * dev, int interface, char *name, int namelen) +{ + struct libusb20_device *pdev; + char *ptr; + int err; + + pdev = (void *)dev; + + if (pdev == NULL) + return (-1); + if (namelen < 1) + return (-1); + if (namelen > 255) + namelen = 255; + + err = libusb20_dev_get_iface_desc(pdev, interface, name, namelen); + if (err != 0) + return (-1); + + /* we only want the driver name */ + ptr = strstr(name, ":"); + if (ptr != NULL) + *ptr = 0; + + return (0); +} + +int +usb_detach_kernel_driver_np(usb_dev_handle * dev, int interface) +{ + struct libusb20_device *pdev; + int err; + + pdev = (void *)dev; + + if (pdev == NULL) + return (-1); + + err = libusb20_dev_detach_kernel_driver(pdev, interface); + if (err != 0) + return (-1); + + return (0); +} Modified: head/lib/libusb/libusb10.c ============================================================================== --- head/lib/libusb/libusb10.c Sat Jul 16 08:05:49 2011 (r224084) +++ head/lib/libusb/libusb10.c Sat Jul 16 08:29:12 2011 (r224085) @@ -719,6 +719,8 @@ libusb_get_driver(struct libusb20_device return (LIBUSB_ERROR_INVALID_PARAM); if (namelen < 1) return (LIBUSB_ERROR_INVALID_PARAM); + if (namelen > 255) + namelen = 255; err = libusb20_dev_get_iface_desc( pdev, interface, name, namelen); Modified: head/lib/libusb/libusb10_desc.c ============================================================================== --- head/lib/libusb/libusb10_desc.c Sat Jul 16 08:05:49 2011 (r224084) +++ head/lib/libusb/libusb10_desc.c Sat Jul 16 08:29:12 2011 (r224085) @@ -300,6 +300,9 @@ libusb_get_string_descriptor_ascii(libus if (pdev == NULL || data == NULL || length < 1) return (LIBUSB20_ERROR_INVALID_PARAM); + if (length > 65535) + length = 65535; + /* put some default data into the destination buffer */ data[0] = 0; @@ -314,6 +317,12 @@ int libusb_get_descriptor(libusb_device_handle * devh, uint8_t desc_type, uint8_t desc_index, uint8_t *data, int length) { + if (devh == NULL || data == NULL || length < 1) + return (LIBUSB20_ERROR_INVALID_PARAM); + + if (length > 65535) + length = 65535; + return (libusb_control_transfer(devh, LIBUSB_ENDPOINT_IN, LIBUSB_REQUEST_GET_DESCRIPTOR, (desc_type << 8) | desc_index, 0, data, length, 1000)); Modified: head/lib/libusb/libusb20.c ============================================================================== --- head/lib/libusb/libusb20.c Sat Jul 16 08:05:49 2011 (r224084) +++ head/lib/libusb/libusb20.c Sat Jul 16 08:29:12 2011 (r224085) @@ -1081,6 +1081,8 @@ libusb20_dev_get_iface_desc(struct libus if ((buf == NULL) || (len == 0)) return (LIBUSB20_ERROR_INVALID_PARAM); + buf[0] = 0; /* set default string value */ + return (pdev->beMethods->dev_get_iface_desc( pdev, iface_index, buf, len)); } Modified: head/lib/libusb/usb.h ============================================================================== --- head/lib/libusb/usb.h Sat Jul 16 08:05:49 2011 (r224084) +++ head/lib/libusb/usb.h Sat Jul 16 08:29:12 2011 (r224085) @@ -299,6 +299,8 @@ int usb_find_busses(void); int usb_find_devices(void); struct usb_device *usb_device(usb_dev_handle * dev); struct usb_bus *usb_get_busses(void); +int usb_get_driver_np(usb_dev_handle * dev, int interface, char *name, int namelen); +int usb_detach_kernel_driver_np(usb_dev_handle * dev, int interface); #if 0 { /* style */ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 08:51:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D3B1106566C; Sat, 16 Jul 2011 08:51:10 +0000 (UTC) (envelope-from zack@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4DE288FC08; Sat, 16 Jul 2011 08:51:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6G8pA4f017936; Sat, 16 Jul 2011 08:51:10 GMT (envelope-from zack@svn.freebsd.org) Received: (from zack@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6G8pAnv017927; Sat, 16 Jul 2011 08:51:10 GMT (envelope-from zack@svn.freebsd.org) Message-Id: <201107160851.p6G8pAnv017927@svn.freebsd.org> From: Zack Kirsch Date: Sat, 16 Jul 2011 08:51:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224086 - in head/sys/fs: nfs nfsserver X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 08:51:10 -0000 Author: zack Date: Sat Jul 16 08:51:09 2011 New Revision: 224086 URL: http://svn.freebsd.org/changeset/base/224086 Log: Add DEXITCODE plumbing to NFS. Isilon has the concept of an in-memory exit-code ring that saves the last exit code of a function and allows for stack tracing. This is very helpful when debugging tough issues. This patch is essentially a no-op for BSD at this point, until we upstream the dexitcode logic itself. The patch adds DEXITCODE calls to every NFS function that returns an errno error code. A number of code paths were also reorganized to have single exit paths, to reduce code duplication. Submitted by: David Kwan Reviewed by: rmacklem Approved by: zml (mentor) MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonacl.c head/sys/fs/nfs/nfs_commonkrpc.c head/sys/fs/nfs/nfs_commonport.c head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfs/nfsdport.h head/sys/fs/nfsserver/nfs_nfsdcache.c head/sys/fs/nfsserver/nfs_nfsdkrpc.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdsocket.c head/sys/fs/nfsserver/nfs_nfsdstate.c head/sys/fs/nfsserver/nfs_nfsdsubs.c Modified: head/sys/fs/nfs/nfs_commonacl.c ============================================================================== --- head/sys/fs/nfs/nfs_commonacl.c Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfs/nfs_commonacl.c Sat Jul 16 08:51:09 2011 (r224086) @@ -59,7 +59,8 @@ nfsrv_dissectace(struct nfsrv_descript * mask = fxdr_unsigned(u_int32_t, *tl++); len = fxdr_unsigned(int, *tl); if (len < 0) { - return (NFSERR_BADXDR); + error = NFSERR_BADXDR; + goto nfsmout; } else if (len == 0) { /* Netapp filers return a 0 length who for nil users */ acep->ae_tag = ACL_UNDEFINED_TAG; @@ -68,7 +69,8 @@ nfsrv_dissectace(struct nfsrv_descript * acep->ae_entry_type = ACL_ENTRY_TYPE_DENY; if (acesizep) *acesizep = 4 * NFSX_UNSIGNED; - return (0); + error = 0; + goto nfsmout; } if (len > NFSV4_SMALLSTR) name = malloc(len + 1, M_NFSSTRING, M_WAITOK); @@ -78,7 +80,7 @@ nfsrv_dissectace(struct nfsrv_descript * if (error) { if (len > NFSV4_SMALLSTR) free(name, M_NFSSTRING); - return (error); + goto nfsmout; } if (len == 6) { if (!NFSBCMP(name, "OWNER@", 6)) { @@ -171,8 +173,9 @@ nfsrv_dissectace(struct nfsrv_descript * *aceerrp = aceerr; if (acesizep) *acesizep = NFSM_RNDUP(len) + (4 * NFSX_UNSIGNED); - return (0); + error = 0; nfsmout: + NFSEXITCODE(error); return (error); } @@ -184,6 +187,7 @@ nfsrv_acemasktoperm(u_int32_t acetype, u enum vtype type, acl_perm_t *permp) { acl_perm_t perm = 0x0; + int error = 0; if (mask & NFSV4ACE_READDATA) { mask &= ~NFSV4ACE_READDATA; @@ -257,10 +261,15 @@ nfsrv_acemasktoperm(u_int32_t acetype, u mask &= ~NFSV4ACE_SYNCHRONIZE; perm |= ACL_SYNCHRONIZE; } - if (mask != 0) - return (NFSERR_ATTRNOTSUPP); + if (mask != 0) { + error = NFSERR_ATTRNOTSUPP; + goto out; + } *permp = perm; - return (0); + +out: + NFSEXITCODE(error); + return (error); } /* local functions */ @@ -445,19 +454,26 @@ nfsrv_setacl(vnode_t vp, NFSACL_T *aclp, { int error; - if (nfsrv_useacl == 0 || nfs_supportsnfsv4acls(vp) == 0) - return (NFSERR_ATTRNOTSUPP); + if (nfsrv_useacl == 0 || nfs_supportsnfsv4acls(vp) == 0) { + error = NFSERR_ATTRNOTSUPP; + goto out; + } /* * With NFSv4 ACLs, chmod(2) may need to add additional entries. * Make sure it has enough room for that - splitting every entry * into two and appending "canonical six" entries at the end. * Cribbed out of kern/vfs_acl.c - Rick M. */ - if (aclp->acl_cnt > (ACL_MAX_ENTRIES - 6) / 2) - return (NFSERR_ATTRNOTSUPP); + if (aclp->acl_cnt > (ACL_MAX_ENTRIES - 6) / 2) { + error = NFSERR_ATTRNOTSUPP; + goto out; + } error = VOP_ACLCHECK(vp, ACL_TYPE_NFS4, aclp, cred, p); if (!error) error = VOP_SETACL(vp, ACL_TYPE_NFS4, aclp, cred, p); + +out: + NFSEXITCODE(error); return (error); } Modified: head/sys/fs/nfs/nfs_commonkrpc.c ============================================================================== --- head/sys/fs/nfs/nfs_commonkrpc.c Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfs/nfs_commonkrpc.c Sat Jul 16 08:51:09 2011 (r224086) @@ -166,7 +166,7 @@ newnfs_connect(struct nfsmount *nmp, str CLIENT *client; struct netconfig *nconf; struct socket *so; - int one = 1, retries, error; + int one = 1, retries, error = 0; struct thread *td = curthread; /* @@ -222,7 +222,7 @@ newnfs_connect(struct nfsmount *nmp, str nrp->nr_soproto, td->td_ucred, td); if (error) { td->td_ucred = origcred; - return (error); + goto out; } do { if (error != 0 && pktscale > 2) @@ -253,7 +253,7 @@ newnfs_connect(struct nfsmount *nmp, str soclose(so); if (error) { td->td_ucred = origcred; - return (error); + goto out; } client = clnt_reconnect_create(nconf, saddr, nrp->nr_prog, @@ -307,7 +307,10 @@ newnfs_connect(struct nfsmount *nmp, str /* Restore current thread's credentials. */ td->td_ucred = origcred; - return (0); + +out: + NFSEXITCODE(error); + return (error); } /* Modified: head/sys/fs/nfs/nfs_commonport.c ============================================================================== --- head/sys/fs/nfs/nfs_commonport.c Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfs/nfs_commonport.c Sat Jul 16 08:51:09 2011 (r224086) @@ -329,6 +329,7 @@ nfsvno_pathconf(struct vnode *vp, int fl }; error = 0; } + NFSEXITCODE(error); return (error); } @@ -427,6 +428,7 @@ nfssvc_nfscommon(struct thread *td, stru int error; error = nfssvc_call(td, uap, td->td_ucred); + NFSEXITCODE(error); return (error); } @@ -439,9 +441,9 @@ nfssvc_call(struct thread *p, struct nfs if (uap->flag & NFSSVC_IDNAME) { error = copyin(uap->argp, (caddr_t)&nid, sizeof (nid)); if (error) - return (error); + goto out; error = nfssvc_idname(&nid); - return (error); + goto out; } else if (uap->flag & NFSSVC_GETSTATS) { error = copyout(&newnfsstats, CAST_USER_ADDR_T(uap->argp), sizeof (newnfsstats)); @@ -503,7 +505,7 @@ nfssvc_call(struct thread *p, struct nfs sizeof(newnfsstats.cbrpccnt)); } } - return (error); + goto out; } else if (uap->flag & NFSSVC_NFSUSERDPORT) { u_short sockport; @@ -515,6 +517,9 @@ nfssvc_call(struct thread *p, struct nfs nfsrv_nfsuserddelport(); error = 0; } + +out: + NFSEXITCODE(error); return (error); } @@ -569,7 +574,7 @@ nfscommon_modevent(module_t mod, int typ switch (type) { case MOD_LOAD: if (loaded) - return (0); + goto out; newnfs_portinit(); mtx_init(&nfs_nameid_mutex, "nfs_nameid_mutex", NULL, MTX_DEF); mtx_init(&nfs_sockl_mutex, "nfs_sockl_mutex", NULL, MTX_DEF); @@ -606,6 +611,9 @@ nfscommon_modevent(module_t mod, int typ error = EOPNOTSUPP; break; } + +out: + NFSEXITCODE(error); return error; } static moduledata_t nfscommon_mod = { Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfs/nfs_commonsubs.c Sat Jul 16 08:51:09 2011 (r224086) @@ -179,8 +179,10 @@ nfsm_mbufuio(struct nfsrv_descript *nd, len = NFSMTOD(mp, caddr_t) + mbuf_len(mp) - mbufcp; rem = NFSM_RNDUP(siz) - siz; while (siz > 0) { - if (uiop->uio_iovcnt <= 0 || uiop->uio_iov == NULL) - return (EBADRPC); + if (uiop->uio_iovcnt <= 0 || uiop->uio_iov == NULL) { + error = EBADRPC; + goto out; + } left = uiop->uio_iov->iov_len; uiocp = uiop->uio_iov->iov_base; if (left > siz) @@ -189,8 +191,10 @@ nfsm_mbufuio(struct nfsrv_descript *nd, while (left > 0) { while (len == 0) { mp = mbuf_next(mp); - if (mp == NULL) - return (EBADRPC); + if (mp == NULL) { + error = EBADRPC; + goto out; + } mbufcp = NFSMTOD(mp, caddr_t); len = mbuf_len(mp); } @@ -231,6 +235,9 @@ nfsm_mbufuio(struct nfsrv_descript *nd, else nd->nd_dpos += rem; } + +out: + NFSEXITCODE2(error, nd); return (error); } #endif /* !APPLE */ @@ -308,9 +315,10 @@ nfsm_dissct(struct nfsrv_descript *nd, i APPLESTATIC int nfsm_advance(struct nfsrv_descript *nd, int offs, int left) { + int error = 0; if (offs == 0) - return (0); + goto out; /* * A negative offs should be considered a serious problem. */ @@ -330,13 +338,18 @@ nfsm_advance(struct nfsrv_descript *nd, while (offs > left) { offs -= left; nd->nd_md = mbuf_next(nd->nd_md); - if (nd->nd_md == NULL) - return (EBADRPC); + if (nd->nd_md == NULL) { + error = EBADRPC; + goto out; + } left = mbuf_len(nd->nd_md); nd->nd_dpos = NFSMTOD(nd->nd_md, caddr_t); } nd->nd_dpos += offs; - return (0); + +out: + NFSEXITCODE(error); + return (error); } /* @@ -620,8 +633,10 @@ nfsm_getfh(struct nfsrv_descript *nd, st if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); if ((len = fxdr_unsigned(int, *tl)) <= 0 || - len > NFSX_FHMAX) - return (EBADRPC); + len > NFSX_FHMAX) { + error = EBADRPC; + goto nfsmout; + } } else len = NFSX_V2FH; MALLOC(nfhp, struct nfsfh *, sizeof (struct nfsfh) + len, @@ -629,11 +644,12 @@ nfsm_getfh(struct nfsrv_descript *nd, st error = nfsrv_mtostr(nd, nfhp->nfh_fh, len); if (error) { FREE((caddr_t)nfhp, M_NFSFH); - return (error); + goto nfsmout; } nfhp->nfh_len = len; *nfhpp = nfhp; nfsmout: + NFSEXITCODE2(error, nd); return (error); } @@ -670,7 +686,7 @@ nfsrv_dissectacl(struct nfsrv_descript * else error = nfsrv_skipace(nd, &acesize); if (error) - return (error); + goto nfsmout; aclsize += acesize; } if (aclp && !aceerr) @@ -680,6 +696,7 @@ nfsrv_dissectacl(struct nfsrv_descript * if (aclsizep) *aclsizep = aclsize; nfsmout: + NFSEXITCODE2(error, nd); return (error); } @@ -697,6 +714,7 @@ nfsrv_skipace(struct nfsrv_descript *nd, error = nfsm_advance(nd, NFSM_RNDUP(len), -1); nfsmout: *acesizep = NFSM_RNDUP(len) + (4 * NFSX_UNSIGNED); + NFSEXITCODE2(error, nd); return (error); } @@ -715,8 +733,10 @@ nfsrv_getattrbits(struct nfsrv_descript NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); cnt = fxdr_unsigned(int, *tl); - if (cnt < 0) - return (NFSERR_BADXDR); + if (cnt < 0) { + error = NFSERR_BADXDR; + goto nfsmout; + } if (cnt > NFSATTRBIT_MAXWORDS) { outcnt = NFSATTRBIT_MAXWORDS; if (retnotsupp) @@ -735,6 +755,7 @@ nfsrv_getattrbits(struct nfsrv_descript if (cntp) *cntp = NFSX_UNSIGNED + (cnt * NFSX_UNSIGNED); nfsmout: + NFSEXITCODE2(error, nd); return (error); } @@ -756,7 +777,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd u_int32_t *leasep, u_int32_t *rderrp, NFSPROC_T *p, struct ucred *cred) { u_int32_t *tl; - int i = 0, j, k, l, m, bitpos, attrsum = 0; + int i = 0, j, k, l = 0, m, bitpos, attrsum = 0; int error, tfhsize, aceerr, attrsize, cnt, retnotsup; u_char *cp, *cp2, namestr[NFSV4_SMALLSTR + 1]; nfsattrbit_t attrbits, retattrbits, checkattrbits; @@ -783,7 +804,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); } if (error) - return (error); + goto nfsmout; if (compare) { *retcmpp = retnotsup; @@ -854,7 +875,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd error = nfsrv_getattrbits(nd, &nap->na_suppattr, &cnt, &retnotsup); if (error) - return (error); + goto nfsmout; if (compare && !(*retcmpp)) { NFSSETSUPP_ATTRBIT(&checkattrbits); if (!NFSEQUAL_ATTRBIT(&retattrbits, &checkattrbits) @@ -1015,7 +1036,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd &cnt, p); if (error) { acl_free(naclp); - return (error); + goto nfsmout; } if (aceerr || nfsrv_compareacl(aclp, naclp)) *retcmpp = NFSERR_NOTSAME; @@ -1034,7 +1055,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd error = nfsrv_dissectacl(nd, NULL, &aceerr, &cnt, p); if (error) - return (error); + goto nfsmout; } attrsum += cnt; break; @@ -1123,7 +1144,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd case NFSATTRBIT_FILEHANDLE: error = nfsm_getfh(nd, &tnfhp); if (error) - return (error); + goto nfsmout; tfhsize = tnfhp->nfh_len; if (compare) { if (!(*retcmpp) && @@ -1189,7 +1210,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd case NFSATTRBIT_FSLOCATIONS: error = nfsrv_getrefstr(nd, &cp, &cp2, &l, &m); if (error) - return (error); + goto nfsmout; attrsum += l; if (compare && !(*retcmpp)) { refp = nfsv4root_getreferral(vp, NULL, 0); @@ -1365,8 +1386,10 @@ nfsv4_loadattr(struct nfsrv_descript *nd case NFSATTRBIT_OWNER: NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); j = fxdr_unsigned(int, *tl); - if (j < 0) - return (NFSERR_BADXDR); + if (j < 0) { + error = NFSERR_BADXDR; + goto nfsmout; + } attrsum += (NFSX_UNSIGNED + NFSM_RNDUP(j)); if (j > NFSV4_SMALLSTR) cp = malloc(j + 1, M_NFSSTRING, M_WAITOK); @@ -1376,7 +1399,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd if (error) { if (j > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); - return (error); + goto nfsmout; } if (compare) { if (!(*retcmpp)) { @@ -1396,8 +1419,10 @@ nfsv4_loadattr(struct nfsrv_descript *nd case NFSATTRBIT_OWNERGROUP: NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); j = fxdr_unsigned(int, *tl); - if (j < 0) - return (NFSERR_BADXDR); + if (j < 0) { + error = NFSERR_BADXDR; + goto nfsmout; + } attrsum += (NFSX_UNSIGNED + NFSM_RNDUP(j)); if (j > NFSV4_SMALLSTR) cp = malloc(j + 1, M_NFSSTRING, M_WAITOK); @@ -1407,7 +1432,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd if (error) { if (j > NFSV4_SMALLSTR) free(cp, M_NFSSTRING); - return (error); + goto nfsmout; } if (compare) { if (!(*retcmpp)) { @@ -1713,6 +1738,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd error = nfsm_advance(nd, attrsize - attrsum, -1); } nfsmout: + NFSEXITCODE2(error, nd); return (error); } @@ -1909,8 +1935,10 @@ nfsrv_mtostr(struct nfsrv_descript *nd, siz -= xfer; if (siz > 0) { mp = mbuf_next(mp); - if (mp == NULL) - return (EBADRPC); + if (mp == NULL) { + error = EBADRPC; + goto out; + } cp = NFSMTOD(mp, caddr_t); len = mbuf_len(mp); } else { @@ -1927,6 +1955,9 @@ nfsrv_mtostr(struct nfsrv_descript *nd, else nd->nd_dpos += rem; } + +out: + NFSEXITCODE2(error, nd); return (error); } @@ -2576,9 +2607,12 @@ nfsv4_strtouid(u_char *str, int len, uid u_char *cp; struct nfsusrgrp *usrp; int cnt, ret; + int error = 0; - if (len == 0) - return (NFSERR_BADOWNER); + if (len == 0) { + error = NFSERR_BADOWNER; + goto out; + } /* * Look for an '@'. */ @@ -2609,7 +2643,8 @@ tryagain: if (len == 6 && !NFSBCMP(str, "nobody", 6)) { *uidp = nfsrv_defaultuid; NFSUNLOCKNAMEID(); - return (0); + error = 0; + goto out; } LIST_FOREACH(usrp, NFSUSERNAMEHASH(str, len), lug_namehash) { @@ -2621,7 +2656,8 @@ tryagain: TAILQ_REMOVE(&nfsuserlruhead, usrp, lug_lru); TAILQ_INSERT_TAIL(&nfsuserlruhead, usrp, lug_lru); NFSUNLOCKNAMEID(); - return (0); + error = 0; + goto out; } } NFSUNLOCKNAMEID(); @@ -2630,7 +2666,11 @@ tryagain: str, p); if (ret == 0 && cnt < 2) goto tryagain; - return (NFSERR_BADOWNER); + error = NFSERR_BADOWNER; + +out: + NFSEXITCODE(error); + return (error); } /* @@ -2756,9 +2796,12 @@ nfsv4_strtogid(u_char *str, int len, gid u_char *cp; struct nfsusrgrp *usrp; int cnt, ret; + int error = 0; - if (len == 0) - return (NFSERR_BADOWNER); + if (len == 0) { + error = NFSERR_BADOWNER; + goto out; + } /* * Look for an '@'. */ @@ -2787,7 +2830,8 @@ tryagain: if (len == 7 && !NFSBCMP(str, "nogroup", 7)) { *gidp = nfsrv_defaultgid; NFSUNLOCKNAMEID(); - return (0); + error = 0; + goto out; } LIST_FOREACH(usrp, NFSGROUPNAMEHASH(str, len), lug_namehash) { @@ -2799,7 +2843,8 @@ tryagain: TAILQ_REMOVE(&nfsuserlruhead, usrp, lug_lru); TAILQ_INSERT_TAIL(&nfsuserlruhead, usrp, lug_lru); NFSUNLOCKNAMEID(); - return (0); + error = 0; + goto out; } } NFSUNLOCKNAMEID(); @@ -2808,7 +2853,11 @@ tryagain: str, p); if (ret == 0 && cnt < 2) goto tryagain; - return (NFSERR_BADOWNER); + error = NFSERR_BADOWNER; + +out: + NFSEXITCODE(error); + return (error); } /* @@ -2853,7 +2902,8 @@ nfsrv_nfsuserdport(u_short port, NFSPROC NFSLOCKNAMEID(); if (nfsrv_nfsuserd) { NFSUNLOCKNAMEID(); - return (EPERM); + error = EPERM; + goto out; } nfsrv_nfsuserd = 1; NFSUNLOCKNAMEID(); @@ -2879,6 +2929,8 @@ nfsrv_nfsuserdport(u_short port, NFSPROC NFSSOCKADDRFREE(rp->nr_nam); nfsrv_nfsuserd = 0; } +out: + NFSEXITCODE(error); return (error); } @@ -2918,7 +2970,8 @@ nfsrv_getuser(int procnum, uid_t uid, gi NFSLOCKNAMEID(); if (nfsrv_nfsuserd == 0) { NFSUNLOCKNAMEID(); - return (EPERM); + error = EPERM; + goto out; } NFSUNLOCKNAMEID(); nd = &nfsd; @@ -2944,6 +2997,8 @@ nfsrv_getuser(int procnum, uid_t uid, gi mbuf_freem(nd->nd_mrep); error = nd->nd_repstat; } +out: + NFSEXITCODE(error); return (error); } @@ -3000,7 +3055,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) NFSUNLOCKNAMEID(); if (error) free(cp, M_NFSSTRING); - return (error); + goto out; } /* @@ -3013,7 +3068,7 @@ nfssvc_idname(struct nfsd_idargs *nidp) nidp->nid_namelen); if (error) { free((caddr_t)newusrp, M_NFSUSERGROUP); - return (error); + goto out; } newusrp->lug_namelen = nidp->nid_namelen; @@ -3088,6 +3143,8 @@ nfssvc_idname(struct nfsd_idargs *nidp) } else FREE((caddr_t)newusrp, M_NFSUSERGROUP); NFSUNLOCKNAMEID(); +out: + NFSEXITCODE(error); return (error); } @@ -3117,6 +3174,7 @@ nfsrv_checkutf8(u_int8_t *cp, int len) int cnt = 0, gotd = 0, shift = 0; u_int8_t byte; static int utf8_shift[5] = { 7, 11, 16, 21, 26 }; + int error = 0; /* * Here are what the variables are used for: @@ -3133,14 +3191,18 @@ nfsrv_checkutf8(u_int8_t *cp, int len) if (cnt > 0) { /* This handles the 10xxxxxx bytes */ if ((*cp & 0xc0) != 0x80 || - (gotd && (*cp & 0x20))) - return (NFSERR_INVAL); + (gotd && (*cp & 0x20))) { + error = NFSERR_INVAL; + goto out; + } gotd = 0; val <<= 6; val |= (*cp & 0x3f); cnt--; - if (cnt == 0 && (val >> shift) == 0x0) - return (NFSERR_INVAL); + if (cnt == 0 && (val >> shift) == 0x0) { + error = NFSERR_INVAL; + goto out; + } } else if (*cp & 0x80) { /* first byte of multi byte char */ byte = *cp; @@ -3148,8 +3210,10 @@ nfsrv_checkutf8(u_int8_t *cp, int len) cnt++; byte <<= 1; } - if (cnt == 0 || cnt == 6) - return (NFSERR_INVAL); + if (cnt == 0 || cnt == 6) { + error = NFSERR_INVAL; + goto out; + } val = (*cp & (0x3f >> cnt)); shift = utf8_shift[cnt - 1]; if (cnt == 2 && val == 0xd) @@ -3160,8 +3224,11 @@ nfsrv_checkutf8(u_int8_t *cp, int len) len--; } if (cnt > 0) - return (NFSERR_INVAL); - return (0); + error = NFSERR_INVAL; + +out: + NFSEXITCODE(error); + return (error); } /* @@ -3182,7 +3249,7 @@ nfsrv_getrefstr(struct nfsrv_descript *n { u_int32_t *tl; u_char *cp = NULL, *cp2 = NULL, *cp3, *str; - int i, j, len, stringlen, cnt, slen, siz, xdrsum, error, nsrv; + int i, j, len, stringlen, cnt, slen, siz, xdrsum, error = 0, nsrv; struct list { SLIST_ENTRY(list) next; int len; @@ -3200,15 +3267,20 @@ nfsrv_getrefstr(struct nfsrv_descript *n */ NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); len = fxdr_unsigned(int, *tl); - if (len < 0 || len > 10240) - return (NFSERR_BADXDR); + if (len < 0 || len > 10240) { + error = NFSERR_BADXDR; + goto nfsmout; + } if (len == 0) { NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); - if (*tl != 0) - return (NFSERR_BADXDR); + if (*tl != 0) { + error = NFSERR_BADXDR; + goto nfsmout; + } *nilp = 1; *sump = 2 * NFSX_UNSIGNED; - return (0); + error = 0; + goto nfsmout; } cp = malloc(len + 1, M_NFSSTRING, M_WAITOK); error = nfsrv_mtostr(nd, cp, len); @@ -3218,10 +3290,8 @@ nfsrv_getrefstr(struct nfsrv_descript *n if (cnt <= 0) error = NFSERR_BADXDR; } - if (error) { - free(cp, M_NFSSTRING); - return (error); - } + if (error) + goto nfsmout; /* * Now, loop through the location list and make up the srvlist. @@ -3235,9 +3305,8 @@ nfsrv_getrefstr(struct nfsrv_descript *n NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); nsrv = fxdr_unsigned(int, *tl); if (nsrv <= 0) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (NFSERR_BADXDR); + error = NFSERR_BADXDR; + goto nfsmout; } /* @@ -3246,9 +3315,8 @@ nfsrv_getrefstr(struct nfsrv_descript *n NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); len = fxdr_unsigned(int, *tl); if (len <= 0 || len > 1024) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (NFSERR_BADXDR); + error = NFSERR_BADXDR; + goto nfsmout; } nfsrv_refstrbigenough(siz + len + 3, &cp2, &cp3, &slen); if (cp3 != cp2) { @@ -3256,11 +3324,8 @@ nfsrv_getrefstr(struct nfsrv_descript *n siz++; } error = nfsrv_mtostr(nd, cp3, len); - if (error) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (error); - } + if (error) + goto nfsmout; cp3 += len; *cp3++ = ':'; siz += (len + 1); @@ -3272,18 +3337,14 @@ nfsrv_getrefstr(struct nfsrv_descript *n NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); len = fxdr_unsigned(int, *tl); if (len <= 0 || len > 1024) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (NFSERR_BADXDR); + error = NFSERR_BADXDR; + goto nfsmout; } lsp = (struct list *)malloc(sizeof (struct list) + len, M_TEMP, M_WAITOK); error = nfsrv_mtostr(nd, lsp->host, len); - if (error) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (error); - } + if (error) + goto nfsmout; xdrsum += NFSX_UNSIGNED + NFSM_RNDUP(len); lsp->len = len; SLIST_INSERT_HEAD(&head, lsp, next); @@ -3295,17 +3356,13 @@ nfsrv_getrefstr(struct nfsrv_descript *n NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); len = fxdr_unsigned(int, *tl); if (len <= 0 || len > 1024) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (NFSERR_BADXDR); + error = NFSERR_BADXDR; + goto nfsmout; } nfsrv_refstrbigenough(siz + len + 1, &cp2, &cp3, &slen); error = nfsrv_mtostr(nd, cp3, len); - if (error) { - free(cp, M_NFSSTRING); - free(cp2, M_NFSSTRING); - return (error); - } + if (error) + goto nfsmout; xdrsum += NFSX_UNSIGNED + NFSM_RNDUP(len); str = cp3; stringlen = len; @@ -3328,12 +3385,14 @@ nfsrv_getrefstr(struct nfsrv_descript *n *fsrootp = cp; *srvp = cp2; *sump = xdrsum; + NFSEXITCODE2(0, nd); return (0); nfsmout: if (cp != NULL) free(cp, M_NFSSTRING); if (cp2 != NULL) free(cp2, M_NFSSTRING); + NFSEXITCODE2(error, nd); return (error); } Modified: head/sys/fs/nfs/nfsdport.h ============================================================================== --- head/sys/fs/nfs/nfsdport.h Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfs/nfsdport.h Sat Jul 16 08:51:09 2011 (r224086) @@ -57,6 +57,22 @@ struct nfsexstuff { int nes_secflavors[MAXSECFLAVORS]; /* and the flavors */ }; +/* + * These are NO-OPS for BSD until Isilon upstreams EXITCODE support. + * EXITCODE is an in-memory ring buffer that holds the routines failing status. + * This is a valuable tool to use when debugging and analyzing issues. + * In addition to recording a routine's failing status, it offers + * logging of routines for call stack tracing. + * EXITCODE should be used only in routines that return a true errno value, as + * that value will be formatted to a displayable errno string. Routines that + * return regular int status that are not true errno should not set EXITCODE. + * If you want to log routine tracing, you can add EXITCODE(0) to any routine. + * NFS extended the EXITCODE with EXITCODE2 to record either the routine's + * exit errno status or the nd_repstat. + */ +#define NFSEXITCODE(error) +#define NFSEXITCODE2(error, nd) + #define NFSVNO_EXINIT(e) ((e)->nes_exflag = 0) #define NFSVNO_EXPORTED(e) ((e)->nes_exflag & MNT_EXPORTED) #define NFSVNO_EXRDONLY(e) ((e)->nes_exflag & MNT_EXRDONLY) Modified: head/sys/fs/nfsserver/nfs_nfsdcache.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdcache.c Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfsserver/nfs_nfsdcache.c Sat Jul 16 08:51:09 2011 (r224086) @@ -308,6 +308,7 @@ nfsrvd_getcache(struct nfsrv_descript *n ret = nfsrc_gettcp(nd, newrp); } nfsrc_trimcache(nd->nd_sockref, so); + NFSEXITCODE2(0, nd); return (ret); } @@ -373,7 +374,7 @@ loop: } nfsrc_unlock(rp); free((caddr_t)newrp, M_NFSRVCACHE); - return (ret); + goto out; } } newnfsstats.srvcache_misses++; @@ -394,7 +395,11 @@ loop: TAILQ_INSERT_TAIL(&nfsrvudplru, newrp, rc_lru); NFSUNLOCKCACHE(); nd->nd_rp = newrp; - return (RC_DOIT); + ret = RC_DOIT; + +out: + NFSEXITCODE2(0, nd); + return (ret); } /* @@ -436,8 +441,7 @@ nfsrvd_updatecache(struct nfsrv_descript M_COPYALL, M_WAIT); rp->rc_timestamp = NFSD_MONOSEC + NFSRVCACHE_TCPTIMEOUT; nfsrc_unlock(rp); - nfsrc_trimcache(nd->nd_sockref, so); - return (retrp); + goto out; } /* @@ -492,7 +496,10 @@ nfsrvd_updatecache(struct nfsrv_descript nfsrc_freecache(rp); NFSUNLOCKCACHE(); } + +out: nfsrc_trimcache(nd->nd_sockref, so); + NFSEXITCODE2(0, nd); return (retrp); } @@ -656,7 +663,7 @@ tryagain: } nfsrc_unlock(rp); free((caddr_t)newrp, M_NFSRVCACHE); - return (ret); + goto out; } newnfsstats.srvcache_misses++; newnfsstats.srvcache_size++; @@ -670,7 +677,11 @@ tryagain: LIST_INSERT_HEAD(hp, newrp, rc_hash); NFSUNLOCKCACHE(); nd->nd_rp = newrp; - return (RC_DOIT); + ret = RC_DOIT; + +out: + NFSEXITCODE2(0, nd); + return (ret); } /* Modified: head/sys/fs/nfsserver/nfs_nfsdkrpc.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdkrpc.c Sat Jul 16 08:29:12 2011 (r224085) +++ head/sys/fs/nfsserver/nfs_nfsdkrpc.c Sat Jul 16 08:51:09 2011 (r224086) @@ -115,7 +115,7 @@ nfssvc_program(struct svc_req *rqst, SVC if (rqst->rq_proc > NFSV2PROC_STATFS) { svcerr_noproc(rqst); svc_freereq(rqst); - return; + goto out; } nd.nd_procnum = newnfs_nfsv3_procid[rqst->rq_proc]; nd.nd_flag = ND_NFSV2; @@ -123,7 +123,7 @@ nfssvc_program(struct svc_req *rqst, SVC if (rqst->rq_proc >= NFS_V3NPROCS) { svcerr_noproc(rqst); svc_freereq(rqst); - return; + goto out; } nd.nd_procnum = rqst->rq_proc; nd.nd_flag = ND_NFSV3; @@ -132,7 +132,7 @@ nfssvc_program(struct svc_req *rqst, SVC rqst->rq_proc != NFSV4PROC_COMPOUND) { svcerr_noproc(rqst); svc_freereq(rqst); - return; + goto out; } nd.nd_procnum = rqst->rq_proc; nd.nd_flag = ND_NFSV4; @@ -192,7 +192,7 @@ nfssvc_program(struct svc_req *rqst, SVC svcerr_weakauth(rqst); svc_freereq(rqst); m_freem(nd.nd_mrep); - return; + goto out; } } @@ -201,7 +201,7 @@ nfssvc_program(struct svc_req *rqst, SVC svcerr_weakauth(rqst); svc_freereq(rqst); m_freem(nd.nd_mrep); - return; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 10:41:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F36261065670; Sat, 16 Jul 2011 10:41:09 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CABF38FC16; Sat, 16 Jul 2011 10:41:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GAf918024370; Sat, 16 Jul 2011 10:41:09 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GAf9iP024367; Sat, 16 Jul 2011 10:41:09 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161041.p6GAf9iP024367@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 10:41:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224088 - vendor/bind9/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 10:41:10 -0000 Author: dougb Date: Sat Jul 16 10:41:09 2011 New Revision: 224088 URL: http://svn.freebsd.org/changeset/base/224088 Log: Update for BIND 9.8.x Modified: vendor/bind9/dist/FREEBSD-Upgrade vendor/bind9/dist/FREEBSD-Xlist Modified: vendor/bind9/dist/FREEBSD-Upgrade ============================================================================== --- vendor/bind9/dist/FREEBSD-Upgrade Sat Jul 16 09:20:22 2011 (r224087) +++ vendor/bind9/dist/FREEBSD-Upgrade Sat Jul 16 10:41:09 2011 (r224088) @@ -54,6 +54,8 @@ directories from the configure and Makefile templates: $ sed -i.orig -e '/\/tests/d; /docutil/d; /\/xsl/d;' \ + -e '/contrib\/check-secure-delegation.pl/d;' \ + -e '/contrib\/zone-edit.sh/d;' \ configure.in Makefile.in */Makefile.in Remove mention of doxygen and related files from configure.in @@ -66,7 +68,7 @@ $ ./configure --prefix=/usr \ --without-libxml2 --without-idn \ --infodir=/usr/share/info --mandir=/usr/share/man \ - --enable-threads --disable-ipv6 \ + --enable-threads --disable-ipv6 --disable-symtable \ --enable-getifaddrs --disable-linux-caps \ --with-openssl=/usr --with-randomdev=/dev/random @@ -109,13 +111,21 @@ src/usr.bin/host bind9/bin/dig src/usr.bin/nslookup bind9/bin/dig src/usr.bin/nsupdate bind9/bin/nsupdate + src/usr.sbin/arpaname bind9/bin/tools + src/usr.sbin/ddns-confgen bind9/bin/confgen src/usr.sbin/dnssec-dsfromkey bind9/bin/dnssec src/usr.sbin/dnssec-keyfromlabel bind9/bin/dnssec src/usr.sbin/dnssec-keygen bind9/bin/dnssec + src/usr.sbin/dnssec-revoke bind9/bin/dnssec + src/usr.sbin/dnssec-settime bind9/bin/dnssec src/usr.sbin/dnssec-signzone bind9/bin/dnssec + src/usr.sbin/genrandom bind9/bin/tools + src/usr.sbin/isc-hmac-fixup bind9/bin/tools src/usr.sbin/named bind9/bin/named src/usr.sbin/named-checkconf bind9/bin/check src/usr.sbin/named-checkzone bind9/bin/check + src/usr.sbin/named-journalprint bind9/bin/tools + src/usr.sbin/nsec3hash bind9/bin/tools src/usr.sbin/rndc bind9/bin/rndc src/usr.sbin/rndc-confgen bind9/bin/rndc Modified: vendor/bind9/dist/FREEBSD-Xlist ============================================================================== --- vendor/bind9/dist/FREEBSD-Xlist Sat Jul 16 09:20:22 2011 (r224087) +++ vendor/bind9/dist/FREEBSD-Xlist Sat Jul 16 10:41:09 2011 (r224088) @@ -2,6 +2,8 @@ # Misc. stuff .cvsignore +bin/named/bindkeys.pl +bin/pkcs11 bind.keys configure contrib @@ -9,6 +11,7 @@ docutil isc-config.sh.1 isc-config.sh.docbook isc-config.sh.html +util # Tests bin/tests @@ -23,11 +26,13 @@ doc/xsl # Windows directories bin/check/win32 +bin/confgen/win32 bin/dig/win32 bin/dnssec/win32 bin/named/win32 bin/nsupdate/win32 bin/rndc/win32 +bin/tools/win32 bin/win32 config.h.win32 lib/bind9/win32 From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 10:47:54 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 761E31065676; Sat, 16 Jul 2011 10:47:54 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D4C48FC18; Sat, 16 Jul 2011 10:47:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GAlsBJ024640; Sat, 16 Jul 2011 10:47:54 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GAlsKE024638; Sat, 16 Jul 2011 10:47:54 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161047.p6GAlsKE024638@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 10:47:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224089 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 10:47:54 -0000 Author: dougb Date: Sat Jul 16 10:47:53 2011 New Revision: 224089 URL: http://svn.freebsd.org/changeset/base/224089 Log: Add myself for the BIND 9.8 import Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sat Jul 16 10:41:09 2011 (r224088) +++ svnadmin/conf/sizelimit.conf Sat Jul 16 10:47:53 2011 (r224089) @@ -21,6 +21,7 @@ brooks des dim +dougb ed gnn gonzo From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 10:49:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A987106564A; Sat, 16 Jul 2011 10:49:34 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 458DD8FC13; Sat, 16 Jul 2011 10:49:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GAnYWs024727; Sat, 16 Jul 2011 10:49:34 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GAnYd5024724; Sat, 16 Jul 2011 10:49:34 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161049.p6GAnYd5024724@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 10:49:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224090 - in vendor/bind9/dist: . bin bin/check bin/confgen bin/confgen/include bin/confgen/include/confgen bin/confgen/unix bin/dig bin/dig/include/dig bin/dnssec bin/named bin/named/i... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 10:49:34 -0000 Author: dougb Date: Sat Jul 16 10:49:33 2011 New Revision: 224090 URL: http://svn.freebsd.org/changeset/base/224090 Log: Vendor import of BIND 9.8.0-P4 Added: vendor/bind9/dist/HISTORY vendor/bind9/dist/bin/confgen/ vendor/bind9/dist/bin/confgen/Makefile.in (contents, props changed) vendor/bind9/dist/bin/confgen/ddns-confgen.8 (contents, props changed) vendor/bind9/dist/bin/confgen/ddns-confgen.c (contents, props changed) vendor/bind9/dist/bin/confgen/ddns-confgen.docbook (contents, props changed) vendor/bind9/dist/bin/confgen/ddns-confgen.html (contents, props changed) vendor/bind9/dist/bin/confgen/include/ vendor/bind9/dist/bin/confgen/include/confgen/ vendor/bind9/dist/bin/confgen/include/confgen/os.h (contents, props changed) vendor/bind9/dist/bin/confgen/keygen.c (contents, props changed) vendor/bind9/dist/bin/confgen/keygen.h (contents, props changed) vendor/bind9/dist/bin/confgen/rndc-confgen.8 (contents, props changed) vendor/bind9/dist/bin/confgen/rndc-confgen.c (contents, props changed) vendor/bind9/dist/bin/confgen/rndc-confgen.docbook (contents, props changed) vendor/bind9/dist/bin/confgen/rndc-confgen.html (contents, props changed) vendor/bind9/dist/bin/confgen/unix/ vendor/bind9/dist/bin/confgen/unix/Makefile.in (contents, props changed) vendor/bind9/dist/bin/confgen/unix/os.c (contents, props changed) vendor/bind9/dist/bin/confgen/util.c (contents, props changed) vendor/bind9/dist/bin/confgen/util.h (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-revoke.8 (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-revoke.c (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-revoke.docbook (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-revoke.html (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-settime.8 (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-settime.c (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-settime.docbook (contents, props changed) vendor/bind9/dist/bin/dnssec/dnssec-settime.html (contents, props changed) vendor/bind9/dist/bin/named/bind.keys.h (contents, props changed) vendor/bind9/dist/bin/tools/ vendor/bind9/dist/bin/tools/Makefile.in (contents, props changed) vendor/bind9/dist/bin/tools/arpaname.1 (contents, props changed) vendor/bind9/dist/bin/tools/arpaname.c (contents, props changed) vendor/bind9/dist/bin/tools/arpaname.docbook (contents, props changed) vendor/bind9/dist/bin/tools/arpaname.html (contents, props changed) vendor/bind9/dist/bin/tools/genrandom.8 (contents, props changed) vendor/bind9/dist/bin/tools/genrandom.c (contents, props changed) vendor/bind9/dist/bin/tools/genrandom.docbook (contents, props changed) vendor/bind9/dist/bin/tools/genrandom.html (contents, props changed) vendor/bind9/dist/bin/tools/isc-hmac-fixup.8 (contents, props changed) vendor/bind9/dist/bin/tools/isc-hmac-fixup.c (contents, props changed) vendor/bind9/dist/bin/tools/isc-hmac-fixup.docbook (contents, props changed) vendor/bind9/dist/bin/tools/isc-hmac-fixup.html (contents, props changed) vendor/bind9/dist/bin/tools/named-journalprint.8 (contents, props changed) vendor/bind9/dist/bin/tools/named-journalprint.c (contents, props changed) vendor/bind9/dist/bin/tools/named-journalprint.docbook (contents, props changed) vendor/bind9/dist/bin/tools/named-journalprint.html (contents, props changed) vendor/bind9/dist/bin/tools/nsec3hash.8 (contents, props changed) vendor/bind9/dist/bin/tools/nsec3hash.c (contents, props changed) vendor/bind9/dist/bin/tools/nsec3hash.docbook (contents, props changed) vendor/bind9/dist/bin/tools/nsec3hash.html (contents, props changed) vendor/bind9/dist/doc/arm/dnssec.xml (contents, props changed) vendor/bind9/dist/doc/arm/libdns.xml (contents, props changed) vendor/bind9/dist/doc/arm/man.arpaname.html (contents, props changed) vendor/bind9/dist/doc/arm/man.ddns-confgen.html (contents, props changed) vendor/bind9/dist/doc/arm/man.dnssec-revoke.html (contents, props changed) vendor/bind9/dist/doc/arm/man.dnssec-settime.html (contents, props changed) vendor/bind9/dist/doc/arm/man.genrandom.html (contents, props changed) vendor/bind9/dist/doc/arm/man.isc-hmac-fixup.html (contents, props changed) vendor/bind9/dist/doc/arm/man.named-journalprint.html (contents, props changed) vendor/bind9/dist/doc/arm/man.nsec3hash.html (contents, props changed) vendor/bind9/dist/doc/arm/managed-keys.xml (contents, props changed) vendor/bind9/dist/doc/arm/pkcs11.xml (contents, props changed) vendor/bind9/dist/lib/dns/client.c (contents, props changed) vendor/bind9/dist/lib/dns/dns64.c (contents, props changed) vendor/bind9/dist/lib/dns/ecdb.c (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/client.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/dns64.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/ecdb.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/keydata.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/private.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/rpz.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/rriterator.h (contents, props changed) vendor/bind9/dist/lib/dns/include/dns/tsec.h (contents, props changed) vendor/bind9/dist/lib/dns/keydata.c (contents, props changed) vendor/bind9/dist/lib/dns/opensslgost_link.c (contents, props changed) vendor/bind9/dist/lib/dns/private.c (contents, props changed) vendor/bind9/dist/lib/dns/rdata/generic/hip_55.c (contents, props changed) vendor/bind9/dist/lib/dns/rdata/generic/hip_55.h (contents, props changed) vendor/bind9/dist/lib/dns/rdata/generic/keydata_65533.c (contents, props changed) vendor/bind9/dist/lib/dns/rdata/generic/keydata_65533.h (contents, props changed) vendor/bind9/dist/lib/dns/rpz.c (contents, props changed) vendor/bind9/dist/lib/dns/rriterator.c (contents, props changed) vendor/bind9/dist/lib/dns/ssu_external.c (contents, props changed) vendor/bind9/dist/lib/dns/tsec.c (contents, props changed) vendor/bind9/dist/lib/export/ vendor/bind9/dist/lib/export/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/dns/ vendor/bind9/dist/lib/export/dns/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/dns/include/ vendor/bind9/dist/lib/export/dns/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/dns/include/dns/ vendor/bind9/dist/lib/export/dns/include/dns/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/dns/include/dst/ vendor/bind9/dist/lib/export/dns/include/dst/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/irs/ vendor/bind9/dist/lib/export/irs/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/irs/include/ vendor/bind9/dist/lib/export/irs/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/irs/include/irs/ vendor/bind9/dist/lib/export/irs/include/irs/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/ vendor/bind9/dist/lib/export/isc/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/include/ vendor/bind9/dist/lib/export/isc/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/include/isc/ vendor/bind9/dist/lib/export/isc/include/isc/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/include/isc/bind9.h (contents, props changed) vendor/bind9/dist/lib/export/isc/nls/ vendor/bind9/dist/lib/export/isc/nls/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/nothreads/ vendor/bind9/dist/lib/export/isc/nothreads/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/nothreads/include/ vendor/bind9/dist/lib/export/isc/nothreads/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/nothreads/include/isc/ vendor/bind9/dist/lib/export/isc/nothreads/include/isc/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/pthreads/ vendor/bind9/dist/lib/export/isc/pthreads/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/pthreads/include/ vendor/bind9/dist/lib/export/isc/pthreads/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/pthreads/include/isc/ vendor/bind9/dist/lib/export/isc/pthreads/include/isc/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/unix/ vendor/bind9/dist/lib/export/isc/unix/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/unix/include/ vendor/bind9/dist/lib/export/isc/unix/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isc/unix/include/isc/ vendor/bind9/dist/lib/export/isc/unix/include/isc/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isccfg/ vendor/bind9/dist/lib/export/isccfg/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isccfg/include/ vendor/bind9/dist/lib/export/isccfg/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/isccfg/include/isccfg/ vendor/bind9/dist/lib/export/isccfg/include/isccfg/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/samples/ vendor/bind9/dist/lib/export/samples/Makefile-postinstall.in (contents, props changed) vendor/bind9/dist/lib/export/samples/Makefile.in (contents, props changed) vendor/bind9/dist/lib/export/samples/nsprobe.c (contents, props changed) vendor/bind9/dist/lib/export/samples/sample-async.c (contents, props changed) vendor/bind9/dist/lib/export/samples/sample-gai.c (contents, props changed) vendor/bind9/dist/lib/export/samples/sample-request.c (contents, props changed) vendor/bind9/dist/lib/export/samples/sample-update.c (contents, props changed) vendor/bind9/dist/lib/export/samples/sample.c (contents, props changed) vendor/bind9/dist/lib/irs/ vendor/bind9/dist/lib/irs/Makefile.in (contents, props changed) vendor/bind9/dist/lib/irs/api vendor/bind9/dist/lib/irs/context.c (contents, props changed) vendor/bind9/dist/lib/irs/dnsconf.c (contents, props changed) vendor/bind9/dist/lib/irs/gai_strerror.c (contents, props changed) vendor/bind9/dist/lib/irs/getaddrinfo.c (contents, props changed) vendor/bind9/dist/lib/irs/getnameinfo.c (contents, props changed) vendor/bind9/dist/lib/irs/include/ vendor/bind9/dist/lib/irs/include/Makefile.in (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/ vendor/bind9/dist/lib/irs/include/irs/Makefile.in (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/context.h (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/dnsconf.h (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/netdb.h.in (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/platform.h.in (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/resconf.h (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/types.h (contents, props changed) vendor/bind9/dist/lib/irs/include/irs/version.h (contents, props changed) vendor/bind9/dist/lib/irs/resconf.c (contents, props changed) vendor/bind9/dist/lib/irs/version.c (contents, props changed) vendor/bind9/dist/lib/isc/app_api.c (contents, props changed) vendor/bind9/dist/lib/isc/backtrace-emptytbl.c (contents, props changed) vendor/bind9/dist/lib/isc/backtrace.c (contents, props changed) vendor/bind9/dist/lib/isc/include/isc/backtrace.h (contents, props changed) vendor/bind9/dist/lib/isc/include/isc/bind9.h (contents, props changed) vendor/bind9/dist/lib/isc/include/isc/namespace.h (contents, props changed) vendor/bind9/dist/lib/isc/mem_api.c (contents, props changed) vendor/bind9/dist/lib/isc/socket_api.c (contents, props changed) vendor/bind9/dist/lib/isc/task_api.c (contents, props changed) vendor/bind9/dist/lib/isc/timer_api.c (contents, props changed) vendor/bind9/dist/lib/isccfg/dnsconf.c (contents, props changed) vendor/bind9/dist/lib/isccfg/include/isccfg/dnsconf.h (contents, props changed) Deleted: vendor/bind9/dist/KNOWN-DEFECTS vendor/bind9/dist/NSEC3-NOTES vendor/bind9/dist/README.idnkit vendor/bind9/dist/README.pkcs11 vendor/bind9/dist/bin/rndc/rndc-confgen.8 vendor/bind9/dist/bin/rndc/rndc-confgen.c vendor/bind9/dist/bin/rndc/rndc-confgen.docbook vendor/bind9/dist/bin/rndc/rndc-confgen.html vendor/bind9/dist/bin/rndc/unix/Makefile.in vendor/bind9/dist/bin/rndc/unix/os.c Modified: vendor/bind9/dist/CHANGES vendor/bind9/dist/COPYRIGHT vendor/bind9/dist/FAQ.xml vendor/bind9/dist/Makefile.in vendor/bind9/dist/README vendor/bind9/dist/acconfig.h vendor/bind9/dist/bin/Makefile.in vendor/bind9/dist/bin/check/Makefile.in vendor/bind9/dist/bin/check/check-tool.c vendor/bind9/dist/bin/check/check-tool.h vendor/bind9/dist/bin/check/named-checkconf.8 vendor/bind9/dist/bin/check/named-checkconf.c vendor/bind9/dist/bin/check/named-checkconf.docbook vendor/bind9/dist/bin/check/named-checkconf.html vendor/bind9/dist/bin/check/named-checkzone.8 vendor/bind9/dist/bin/check/named-checkzone.c vendor/bind9/dist/bin/check/named-checkzone.docbook vendor/bind9/dist/bin/check/named-checkzone.html vendor/bind9/dist/bin/dig/Makefile.in vendor/bind9/dist/bin/dig/dig.1 vendor/bind9/dist/bin/dig/dig.c vendor/bind9/dist/bin/dig/dig.docbook vendor/bind9/dist/bin/dig/dig.html vendor/bind9/dist/bin/dig/dighost.c vendor/bind9/dist/bin/dig/host.1 vendor/bind9/dist/bin/dig/host.c vendor/bind9/dist/bin/dig/host.docbook vendor/bind9/dist/bin/dig/host.html vendor/bind9/dist/bin/dig/include/dig/dig.h vendor/bind9/dist/bin/dig/nslookup.1 vendor/bind9/dist/bin/dig/nslookup.c vendor/bind9/dist/bin/dig/nslookup.docbook vendor/bind9/dist/bin/dig/nslookup.html vendor/bind9/dist/bin/dnssec/Makefile.in vendor/bind9/dist/bin/dnssec/dnssec-dsfromkey.8 vendor/bind9/dist/bin/dnssec/dnssec-dsfromkey.c vendor/bind9/dist/bin/dnssec/dnssec-dsfromkey.docbook vendor/bind9/dist/bin/dnssec/dnssec-dsfromkey.html vendor/bind9/dist/bin/dnssec/dnssec-keyfromlabel.8 vendor/bind9/dist/bin/dnssec/dnssec-keyfromlabel.c vendor/bind9/dist/bin/dnssec/dnssec-keyfromlabel.docbook vendor/bind9/dist/bin/dnssec/dnssec-keyfromlabel.html vendor/bind9/dist/bin/dnssec/dnssec-keygen.8 vendor/bind9/dist/bin/dnssec/dnssec-keygen.c vendor/bind9/dist/bin/dnssec/dnssec-keygen.docbook vendor/bind9/dist/bin/dnssec/dnssec-keygen.html vendor/bind9/dist/bin/dnssec/dnssec-signzone.8 vendor/bind9/dist/bin/dnssec/dnssec-signzone.c vendor/bind9/dist/bin/dnssec/dnssec-signzone.docbook vendor/bind9/dist/bin/dnssec/dnssec-signzone.html vendor/bind9/dist/bin/dnssec/dnssectool.c vendor/bind9/dist/bin/dnssec/dnssectool.h vendor/bind9/dist/bin/named/Makefile.in vendor/bind9/dist/bin/named/bind9.xsl vendor/bind9/dist/bin/named/bind9.xsl.h vendor/bind9/dist/bin/named/builtin.c vendor/bind9/dist/bin/named/client.c vendor/bind9/dist/bin/named/config.c vendor/bind9/dist/bin/named/control.c vendor/bind9/dist/bin/named/include/named/client.h vendor/bind9/dist/bin/named/include/named/config.h vendor/bind9/dist/bin/named/include/named/control.h vendor/bind9/dist/bin/named/include/named/globals.h vendor/bind9/dist/bin/named/include/named/log.h vendor/bind9/dist/bin/named/include/named/lwdclient.h vendor/bind9/dist/bin/named/include/named/main.h vendor/bind9/dist/bin/named/include/named/notify.h vendor/bind9/dist/bin/named/include/named/query.h vendor/bind9/dist/bin/named/include/named/server.h vendor/bind9/dist/bin/named/include/named/tsigconf.h vendor/bind9/dist/bin/named/include/named/types.h vendor/bind9/dist/bin/named/include/named/zoneconf.h vendor/bind9/dist/bin/named/interfacemgr.c vendor/bind9/dist/bin/named/log.c vendor/bind9/dist/bin/named/lwdgabn.c vendor/bind9/dist/bin/named/lwdgrbn.c vendor/bind9/dist/bin/named/lwresd.8 vendor/bind9/dist/bin/named/lwresd.c vendor/bind9/dist/bin/named/lwresd.docbook vendor/bind9/dist/bin/named/lwresd.html vendor/bind9/dist/bin/named/main.c vendor/bind9/dist/bin/named/named.8 vendor/bind9/dist/bin/named/named.conf.5 vendor/bind9/dist/bin/named/named.conf.docbook vendor/bind9/dist/bin/named/named.conf.html vendor/bind9/dist/bin/named/named.docbook vendor/bind9/dist/bin/named/named.html vendor/bind9/dist/bin/named/query.c vendor/bind9/dist/bin/named/server.c vendor/bind9/dist/bin/named/statschannel.c vendor/bind9/dist/bin/named/tkeyconf.c vendor/bind9/dist/bin/named/tsigconf.c vendor/bind9/dist/bin/named/unix/Makefile.in vendor/bind9/dist/bin/named/unix/include/named/os.h vendor/bind9/dist/bin/named/unix/os.c vendor/bind9/dist/bin/named/update.c vendor/bind9/dist/bin/named/xfrout.c vendor/bind9/dist/bin/named/zoneconf.c vendor/bind9/dist/bin/nsupdate/Makefile.in vendor/bind9/dist/bin/nsupdate/nsupdate.1 vendor/bind9/dist/bin/nsupdate/nsupdate.c vendor/bind9/dist/bin/nsupdate/nsupdate.docbook vendor/bind9/dist/bin/nsupdate/nsupdate.html vendor/bind9/dist/bin/rndc/Makefile.in vendor/bind9/dist/bin/rndc/include/rndc/os.h vendor/bind9/dist/bin/rndc/rndc.8 vendor/bind9/dist/bin/rndc/rndc.c vendor/bind9/dist/bin/rndc/rndc.conf.5 vendor/bind9/dist/bin/rndc/rndc.conf.html vendor/bind9/dist/bin/rndc/rndc.html vendor/bind9/dist/bin/rndc/util.h vendor/bind9/dist/config.guess vendor/bind9/dist/config.h.in vendor/bind9/dist/configure.in vendor/bind9/dist/doc/arm/Bv9ARM-book.xml vendor/bind9/dist/doc/arm/Bv9ARM.ch01.html vendor/bind9/dist/doc/arm/Bv9ARM.ch02.html vendor/bind9/dist/doc/arm/Bv9ARM.ch03.html vendor/bind9/dist/doc/arm/Bv9ARM.ch04.html vendor/bind9/dist/doc/arm/Bv9ARM.ch05.html vendor/bind9/dist/doc/arm/Bv9ARM.ch06.html vendor/bind9/dist/doc/arm/Bv9ARM.ch07.html vendor/bind9/dist/doc/arm/Bv9ARM.ch08.html vendor/bind9/dist/doc/arm/Bv9ARM.ch09.html vendor/bind9/dist/doc/arm/Bv9ARM.ch10.html vendor/bind9/dist/doc/arm/Bv9ARM.html vendor/bind9/dist/doc/arm/Bv9ARM.pdf vendor/bind9/dist/doc/arm/Makefile.in vendor/bind9/dist/doc/arm/man.dig.html vendor/bind9/dist/doc/arm/man.dnssec-dsfromkey.html vendor/bind9/dist/doc/arm/man.dnssec-keyfromlabel.html vendor/bind9/dist/doc/arm/man.dnssec-keygen.html vendor/bind9/dist/doc/arm/man.dnssec-signzone.html vendor/bind9/dist/doc/arm/man.host.html vendor/bind9/dist/doc/arm/man.named-checkconf.html vendor/bind9/dist/doc/arm/man.named-checkzone.html vendor/bind9/dist/doc/arm/man.named.html vendor/bind9/dist/doc/arm/man.nsupdate.html vendor/bind9/dist/doc/arm/man.rndc-confgen.html vendor/bind9/dist/doc/arm/man.rndc.conf.html vendor/bind9/dist/doc/arm/man.rndc.html vendor/bind9/dist/doc/misc/Makefile.in vendor/bind9/dist/doc/misc/options vendor/bind9/dist/lib/bind9/Makefile.in vendor/bind9/dist/lib/bind9/api vendor/bind9/dist/lib/bind9/check.c vendor/bind9/dist/lib/bind9/include/bind9/getaddresses.h vendor/bind9/dist/lib/dns/Makefile.in vendor/bind9/dist/lib/dns/acl.c vendor/bind9/dist/lib/dns/adb.c vendor/bind9/dist/lib/dns/api vendor/bind9/dist/lib/dns/byaddr.c vendor/bind9/dist/lib/dns/cache.c vendor/bind9/dist/lib/dns/db.c vendor/bind9/dist/lib/dns/diff.c vendor/bind9/dist/lib/dns/dispatch.c vendor/bind9/dist/lib/dns/dlz.c vendor/bind9/dist/lib/dns/dnssec.c vendor/bind9/dist/lib/dns/ds.c vendor/bind9/dist/lib/dns/dst_api.c vendor/bind9/dist/lib/dns/dst_internal.h vendor/bind9/dist/lib/dns/dst_openssl.h vendor/bind9/dist/lib/dns/dst_parse.c vendor/bind9/dist/lib/dns/dst_parse.h vendor/bind9/dist/lib/dns/forward.c vendor/bind9/dist/lib/dns/gen-unix.h vendor/bind9/dist/lib/dns/gen.c vendor/bind9/dist/lib/dns/gssapi_link.c vendor/bind9/dist/lib/dns/gssapictx.c vendor/bind9/dist/lib/dns/hmac_link.c vendor/bind9/dist/lib/dns/include/dns/Makefile.in vendor/bind9/dist/lib/dns/include/dns/acl.h vendor/bind9/dist/lib/dns/include/dns/cache.h vendor/bind9/dist/lib/dns/include/dns/compress.h vendor/bind9/dist/lib/dns/include/dns/db.h vendor/bind9/dist/lib/dns/include/dns/diff.h vendor/bind9/dist/lib/dns/include/dns/dispatch.h vendor/bind9/dist/lib/dns/include/dns/dlz.h vendor/bind9/dist/lib/dns/include/dns/dnssec.h vendor/bind9/dist/lib/dns/include/dns/ds.h vendor/bind9/dist/lib/dns/include/dns/events.h vendor/bind9/dist/lib/dns/include/dns/forward.h vendor/bind9/dist/lib/dns/include/dns/journal.h vendor/bind9/dist/lib/dns/include/dns/keytable.h vendor/bind9/dist/lib/dns/include/dns/keyvalues.h vendor/bind9/dist/lib/dns/include/dns/lib.h vendor/bind9/dist/lib/dns/include/dns/log.h vendor/bind9/dist/lib/dns/include/dns/lookup.h vendor/bind9/dist/lib/dns/include/dns/master.h vendor/bind9/dist/lib/dns/include/dns/masterdump.h vendor/bind9/dist/lib/dns/include/dns/message.h vendor/bind9/dist/lib/dns/include/dns/name.h vendor/bind9/dist/lib/dns/include/dns/ncache.h vendor/bind9/dist/lib/dns/include/dns/nsec3.h vendor/bind9/dist/lib/dns/include/dns/peer.h vendor/bind9/dist/lib/dns/include/dns/rbt.h vendor/bind9/dist/lib/dns/include/dns/rdata.h vendor/bind9/dist/lib/dns/include/dns/rdataset.h vendor/bind9/dist/lib/dns/include/dns/request.h vendor/bind9/dist/lib/dns/include/dns/resolver.h vendor/bind9/dist/lib/dns/include/dns/result.h vendor/bind9/dist/lib/dns/include/dns/sdb.h vendor/bind9/dist/lib/dns/include/dns/sdlz.h vendor/bind9/dist/lib/dns/include/dns/secalg.h vendor/bind9/dist/lib/dns/include/dns/soa.h vendor/bind9/dist/lib/dns/include/dns/ssu.h vendor/bind9/dist/lib/dns/include/dns/stats.h vendor/bind9/dist/lib/dns/include/dns/tkey.h vendor/bind9/dist/lib/dns/include/dns/tsig.h vendor/bind9/dist/lib/dns/include/dns/types.h vendor/bind9/dist/lib/dns/include/dns/validator.h vendor/bind9/dist/lib/dns/include/dns/view.h vendor/bind9/dist/lib/dns/include/dns/xfrin.h vendor/bind9/dist/lib/dns/include/dns/zone.h vendor/bind9/dist/lib/dns/include/dst/dst.h vendor/bind9/dist/lib/dns/include/dst/gssapi.h vendor/bind9/dist/lib/dns/iptable.c vendor/bind9/dist/lib/dns/journal.c vendor/bind9/dist/lib/dns/keytable.c vendor/bind9/dist/lib/dns/lib.c vendor/bind9/dist/lib/dns/log.c vendor/bind9/dist/lib/dns/master.c vendor/bind9/dist/lib/dns/masterdump.c vendor/bind9/dist/lib/dns/message.c vendor/bind9/dist/lib/dns/name.c vendor/bind9/dist/lib/dns/ncache.c vendor/bind9/dist/lib/dns/nsec.c vendor/bind9/dist/lib/dns/nsec3.c vendor/bind9/dist/lib/dns/openssl_link.c vendor/bind9/dist/lib/dns/openssldh_link.c vendor/bind9/dist/lib/dns/openssldsa_link.c vendor/bind9/dist/lib/dns/opensslrsa_link.c vendor/bind9/dist/lib/dns/peer.c vendor/bind9/dist/lib/dns/rbt.c vendor/bind9/dist/lib/dns/rbtdb.c vendor/bind9/dist/lib/dns/rcode.c vendor/bind9/dist/lib/dns/rdata.c vendor/bind9/dist/lib/dns/rdata/any_255/tsig_250.c vendor/bind9/dist/lib/dns/rdata/ch_3/a_1.c vendor/bind9/dist/lib/dns/rdata/generic/afsdb_18.c vendor/bind9/dist/lib/dns/rdata/generic/cert_37.c vendor/bind9/dist/lib/dns/rdata/generic/cname_5.c vendor/bind9/dist/lib/dns/rdata/generic/dlv_32769.c vendor/bind9/dist/lib/dns/rdata/generic/dname_39.c vendor/bind9/dist/lib/dns/rdata/generic/dnskey_48.c vendor/bind9/dist/lib/dns/rdata/generic/ds_43.c vendor/bind9/dist/lib/dns/rdata/generic/gpos_27.c vendor/bind9/dist/lib/dns/rdata/generic/hinfo_13.c vendor/bind9/dist/lib/dns/rdata/generic/ipseckey_45.c vendor/bind9/dist/lib/dns/rdata/generic/isdn_20.c vendor/bind9/dist/lib/dns/rdata/generic/key_25.c vendor/bind9/dist/lib/dns/rdata/generic/loc_29.c vendor/bind9/dist/lib/dns/rdata/generic/mb_7.c vendor/bind9/dist/lib/dns/rdata/generic/md_3.c vendor/bind9/dist/lib/dns/rdata/generic/mf_4.c vendor/bind9/dist/lib/dns/rdata/generic/mg_8.c vendor/bind9/dist/lib/dns/rdata/generic/minfo_14.c vendor/bind9/dist/lib/dns/rdata/generic/mr_9.c vendor/bind9/dist/lib/dns/rdata/generic/mx_15.c vendor/bind9/dist/lib/dns/rdata/generic/ns_2.c vendor/bind9/dist/lib/dns/rdata/generic/nsec3_50.c vendor/bind9/dist/lib/dns/rdata/generic/nsec3param_51.c vendor/bind9/dist/lib/dns/rdata/generic/nsec_47.c vendor/bind9/dist/lib/dns/rdata/generic/null_10.c vendor/bind9/dist/lib/dns/rdata/generic/nxt_30.c vendor/bind9/dist/lib/dns/rdata/generic/opt_41.c vendor/bind9/dist/lib/dns/rdata/generic/proforma.c vendor/bind9/dist/lib/dns/rdata/generic/ptr_12.c vendor/bind9/dist/lib/dns/rdata/generic/rp_17.c vendor/bind9/dist/lib/dns/rdata/generic/rrsig_46.c vendor/bind9/dist/lib/dns/rdata/generic/rt_21.c vendor/bind9/dist/lib/dns/rdata/generic/sig_24.c vendor/bind9/dist/lib/dns/rdata/generic/soa_6.c vendor/bind9/dist/lib/dns/rdata/generic/spf_99.c vendor/bind9/dist/lib/dns/rdata/generic/sshfp_44.c vendor/bind9/dist/lib/dns/rdata/generic/tkey_249.c vendor/bind9/dist/lib/dns/rdata/generic/txt_16.c vendor/bind9/dist/lib/dns/rdata/generic/unspec_103.c vendor/bind9/dist/lib/dns/rdata/generic/x25_19.c vendor/bind9/dist/lib/dns/rdata/hs_4/a_1.c vendor/bind9/dist/lib/dns/rdata/in_1/a6_38.c vendor/bind9/dist/lib/dns/rdata/in_1/a_1.c vendor/bind9/dist/lib/dns/rdata/in_1/aaaa_28.c vendor/bind9/dist/lib/dns/rdata/in_1/apl_42.c vendor/bind9/dist/lib/dns/rdata/in_1/dhcid_49.c vendor/bind9/dist/lib/dns/rdata/in_1/kx_36.c vendor/bind9/dist/lib/dns/rdata/in_1/naptr_35.c vendor/bind9/dist/lib/dns/rdata/in_1/nsap-ptr_23.c vendor/bind9/dist/lib/dns/rdata/in_1/nsap_22.c vendor/bind9/dist/lib/dns/rdata/in_1/px_26.c vendor/bind9/dist/lib/dns/rdata/in_1/srv_33.c vendor/bind9/dist/lib/dns/rdata/in_1/wks_11.c vendor/bind9/dist/lib/dns/rdatalist.c vendor/bind9/dist/lib/dns/rdataset.c vendor/bind9/dist/lib/dns/rdataslab.c vendor/bind9/dist/lib/dns/request.c vendor/bind9/dist/lib/dns/resolver.c vendor/bind9/dist/lib/dns/result.c vendor/bind9/dist/lib/dns/rootns.c vendor/bind9/dist/lib/dns/sdb.c vendor/bind9/dist/lib/dns/sdlz.c vendor/bind9/dist/lib/dns/soa.c vendor/bind9/dist/lib/dns/spnego.c vendor/bind9/dist/lib/dns/ssu.c vendor/bind9/dist/lib/dns/stats.c vendor/bind9/dist/lib/dns/time.c vendor/bind9/dist/lib/dns/tkey.c vendor/bind9/dist/lib/dns/tsig.c vendor/bind9/dist/lib/dns/validator.c vendor/bind9/dist/lib/dns/view.c vendor/bind9/dist/lib/dns/xfrin.c vendor/bind9/dist/lib/dns/zone.c vendor/bind9/dist/lib/isc/Makefile.in vendor/bind9/dist/lib/isc/alpha/include/isc/atomic.h vendor/bind9/dist/lib/isc/api vendor/bind9/dist/lib/isc/assertions.c vendor/bind9/dist/lib/isc/base32.c vendor/bind9/dist/lib/isc/base64.c vendor/bind9/dist/lib/isc/entropy.c vendor/bind9/dist/lib/isc/hash.c vendor/bind9/dist/lib/isc/heap.c vendor/bind9/dist/lib/isc/hmacmd5.c vendor/bind9/dist/lib/isc/hmacsha.c vendor/bind9/dist/lib/isc/httpd.c vendor/bind9/dist/lib/isc/ia64/include/isc/atomic.h vendor/bind9/dist/lib/isc/include/isc/Makefile.in vendor/bind9/dist/lib/isc/include/isc/app.h vendor/bind9/dist/lib/isc/include/isc/assertions.h vendor/bind9/dist/lib/isc/include/isc/buffer.h vendor/bind9/dist/lib/isc/include/isc/entropy.h vendor/bind9/dist/lib/isc/include/isc/error.h vendor/bind9/dist/lib/isc/include/isc/file.h vendor/bind9/dist/lib/isc/include/isc/fsaccess.h vendor/bind9/dist/lib/isc/include/isc/hash.h vendor/bind9/dist/lib/isc/include/isc/heap.h vendor/bind9/dist/lib/isc/include/isc/hmacmd5.h vendor/bind9/dist/lib/isc/include/isc/hmacsha.h vendor/bind9/dist/lib/isc/include/isc/lib.h vendor/bind9/dist/lib/isc/include/isc/log.h vendor/bind9/dist/lib/isc/include/isc/md5.h vendor/bind9/dist/lib/isc/include/isc/mem.h vendor/bind9/dist/lib/isc/include/isc/msgs.h vendor/bind9/dist/lib/isc/include/isc/netaddr.h vendor/bind9/dist/lib/isc/include/isc/netscope.h vendor/bind9/dist/lib/isc/include/isc/platform.h.in vendor/bind9/dist/lib/isc/include/isc/portset.h vendor/bind9/dist/lib/isc/include/isc/radix.h vendor/bind9/dist/lib/isc/include/isc/random.h vendor/bind9/dist/lib/isc/include/isc/ratelimiter.h vendor/bind9/dist/lib/isc/include/isc/refcount.h vendor/bind9/dist/lib/isc/include/isc/result.h vendor/bind9/dist/lib/isc/include/isc/resultclass.h vendor/bind9/dist/lib/isc/include/isc/serial.h vendor/bind9/dist/lib/isc/include/isc/sha1.h vendor/bind9/dist/lib/isc/include/isc/sha2.h vendor/bind9/dist/lib/isc/include/isc/sockaddr.h vendor/bind9/dist/lib/isc/include/isc/socket.h vendor/bind9/dist/lib/isc/include/isc/stats.h vendor/bind9/dist/lib/isc/include/isc/symtab.h vendor/bind9/dist/lib/isc/include/isc/task.h vendor/bind9/dist/lib/isc/include/isc/timer.h vendor/bind9/dist/lib/isc/include/isc/types.h vendor/bind9/dist/lib/isc/include/isc/util.h vendor/bind9/dist/lib/isc/inet_aton.c vendor/bind9/dist/lib/isc/inet_ntop.c vendor/bind9/dist/lib/isc/iterated_hash.c vendor/bind9/dist/lib/isc/lib.c vendor/bind9/dist/lib/isc/log.c vendor/bind9/dist/lib/isc/md5.c vendor/bind9/dist/lib/isc/mem.c vendor/bind9/dist/lib/isc/netaddr.c vendor/bind9/dist/lib/isc/nls/Makefile.in vendor/bind9/dist/lib/isc/nothreads/Makefile.in vendor/bind9/dist/lib/isc/powerpc/include/isc/atomic.h vendor/bind9/dist/lib/isc/print.c vendor/bind9/dist/lib/isc/pthreads/Makefile.in vendor/bind9/dist/lib/isc/pthreads/mutex.c vendor/bind9/dist/lib/isc/radix.c vendor/bind9/dist/lib/isc/random.c vendor/bind9/dist/lib/isc/rwlock.c vendor/bind9/dist/lib/isc/sha1.c vendor/bind9/dist/lib/isc/sha2.c vendor/bind9/dist/lib/isc/sockaddr.c vendor/bind9/dist/lib/isc/stats.c vendor/bind9/dist/lib/isc/task.c vendor/bind9/dist/lib/isc/task_p.h vendor/bind9/dist/lib/isc/timer.c vendor/bind9/dist/lib/isc/timer_p.h vendor/bind9/dist/lib/isc/unix/Makefile.in vendor/bind9/dist/lib/isc/unix/app.c vendor/bind9/dist/lib/isc/unix/dir.c vendor/bind9/dist/lib/isc/unix/entropy.c vendor/bind9/dist/lib/isc/unix/file.c vendor/bind9/dist/lib/isc/unix/ifiter_getifaddrs.c vendor/bind9/dist/lib/isc/unix/ifiter_ioctl.c vendor/bind9/dist/lib/isc/unix/include/isc/net.h vendor/bind9/dist/lib/isc/unix/include/isc/offset.h vendor/bind9/dist/lib/isc/unix/include/isc/strerror.h vendor/bind9/dist/lib/isc/unix/include/isc/time.h vendor/bind9/dist/lib/isc/unix/interfaceiter.c vendor/bind9/dist/lib/isc/unix/resource.c vendor/bind9/dist/lib/isc/unix/socket.c vendor/bind9/dist/lib/isc/unix/socket_p.h vendor/bind9/dist/lib/isc/unix/strerror.c vendor/bind9/dist/lib/isccc/Makefile.in vendor/bind9/dist/lib/isccc/api vendor/bind9/dist/lib/isccfg/Makefile.in vendor/bind9/dist/lib/isccfg/aclconf.c vendor/bind9/dist/lib/isccfg/api vendor/bind9/dist/lib/isccfg/include/isccfg/aclconf.h vendor/bind9/dist/lib/isccfg/include/isccfg/cfg.h vendor/bind9/dist/lib/isccfg/include/isccfg/grammar.h vendor/bind9/dist/lib/isccfg/include/isccfg/log.h vendor/bind9/dist/lib/isccfg/include/isccfg/namedconf.h vendor/bind9/dist/lib/isccfg/namedconf.c vendor/bind9/dist/lib/isccfg/parser.c vendor/bind9/dist/lib/lwres/api vendor/bind9/dist/lib/lwres/context.c vendor/bind9/dist/lib/lwres/context_p.h vendor/bind9/dist/lib/lwres/getaddrinfo.c vendor/bind9/dist/lib/lwres/getipnode.c vendor/bind9/dist/lib/lwres/include/lwres/context.h vendor/bind9/dist/lib/lwres/include/lwres/netdb.h.in vendor/bind9/dist/lib/lwres/lwconfig.c vendor/bind9/dist/lib/lwres/man/lwres.3 vendor/bind9/dist/lib/lwres/man/lwres.html vendor/bind9/dist/lib/lwres/man/lwres_buffer.3 vendor/bind9/dist/lib/lwres/man/lwres_buffer.html vendor/bind9/dist/lib/lwres/man/lwres_config.3 vendor/bind9/dist/lib/lwres/man/lwres_config.html vendor/bind9/dist/lib/lwres/man/lwres_context.3 vendor/bind9/dist/lib/lwres/man/lwres_context.html vendor/bind9/dist/lib/lwres/man/lwres_gabn.3 vendor/bind9/dist/lib/lwres/man/lwres_gabn.html vendor/bind9/dist/lib/lwres/man/lwres_gai_strerror.3 vendor/bind9/dist/lib/lwres/man/lwres_gai_strerror.html vendor/bind9/dist/lib/lwres/man/lwres_getaddrinfo.3 vendor/bind9/dist/lib/lwres/man/lwres_getaddrinfo.html vendor/bind9/dist/lib/lwres/man/lwres_gethostent.3 vendor/bind9/dist/lib/lwres/man/lwres_gethostent.html vendor/bind9/dist/lib/lwres/man/lwres_getipnode.3 vendor/bind9/dist/lib/lwres/man/lwres_getipnode.html vendor/bind9/dist/lib/lwres/man/lwres_getnameinfo.3 vendor/bind9/dist/lib/lwres/man/lwres_getnameinfo.html vendor/bind9/dist/lib/lwres/man/lwres_getrrsetbyname.3 vendor/bind9/dist/lib/lwres/man/lwres_getrrsetbyname.html vendor/bind9/dist/lib/lwres/man/lwres_gnba.3 vendor/bind9/dist/lib/lwres/man/lwres_gnba.html vendor/bind9/dist/lib/lwres/man/lwres_hstrerror.3 vendor/bind9/dist/lib/lwres/man/lwres_hstrerror.html vendor/bind9/dist/lib/lwres/man/lwres_inetntop.3 vendor/bind9/dist/lib/lwres/man/lwres_inetntop.html vendor/bind9/dist/lib/lwres/man/lwres_noop.3 vendor/bind9/dist/lib/lwres/man/lwres_noop.html vendor/bind9/dist/lib/lwres/man/lwres_packet.3 vendor/bind9/dist/lib/lwres/man/lwres_packet.html vendor/bind9/dist/lib/lwres/man/lwres_resutil.3 vendor/bind9/dist/lib/lwres/man/lwres_resutil.html vendor/bind9/dist/lib/lwres/print_p.h vendor/bind9/dist/make/rules.in vendor/bind9/dist/version Modified: vendor/bind9/dist/CHANGES ============================================================================== --- vendor/bind9/dist/CHANGES Sat Jul 16 10:47:53 2011 (r224089) +++ vendor/bind9/dist/CHANGES Sat Jul 16 10:49:33 2011 (r224090) @@ -1,17 +1,28 @@ - --- 9.6-ESV-R4-P3 released --- + --- 9.8.0-P4 released --- 3124. [bug] Use an rdataset attribute flag to indicate negative-cache records rather than using rrtype 0; this will prevent problems when that rrtype is used in actual DNS packets. [RT #24777] - --- 9.6-ESV-R4-P2 released (withdrawn) --- + --- 9.8.0-P3 released (withdrawn) --- + +3126. [security] Using DNAME record to generate replacements caused + RPZ to exit with a assertion failure. [RT #23766] + +3125. [security] Using wildcard CNAME records as a replacement with + RPZ caused named to exit with a assertion failure. + [RT #24715] 3123. [security] Change #2912 exposed a latent flaw in dns_rdataset_totext() that could cause named to crash with an assertion failure. [RT #24777] - --- 9.6-ESV-R4-P1 released --- +3115. [bug] Named could fail to return requested data when + following a CNAME that points into the same zone. + [RT #2445] + + --- 9.8.0-P2 released --- 3121. [security] An authoritative name server sending a negative response containing a very large RRset could @@ -22,22 +33,114 @@ that validated insecure without using DLV and had DS records in the parent zone. [RT #24631] - --- 9.6-ESV-R4 released --- + --- 9.8.0-P1 released --- + +3100. [security] Certain response policy zone configurations could + trigger an INSIST when receiving a query of type + RRSIG. [RT #24280] + + --- 9.8.0 released --- + +3025. [bug] Fixed a possible deadlock due to zone resigning. + [RT #22964] + +3024. [func] RTT Banding removed due to minor security increase + but major impact on resolver latency. [RT #23310] + +3023. [bug] Named could be left in an inconsistent state when + receiving multiple AXFR response messages that were + not all TSIG-signed. [RT #23254] + +3022. [bug] Fixed rpz SERVFAILs after failed zone transfers + [RT #23246] + +3021. [bug] Change #3010 was incomplete. [RT #22296] + +3020. [bug] auto-dnssec failed to correctly update the zone when + changing the DNSKEY RRset. [RT #23232] + +3019. [test] Test: check apex NSEC3 records after adding DNSKEY + record via UPDATE. [RT #23229] + + --- 9.8.0rc1 released --- + +3018. [bug] Named failed to check for the "none;" acl when deciding + if a zone may need to be re-signed. [RT #23120] + +3017. [doc] dnssec-keyfromlabel -I was not properly documented. + [RT #22887] - --- 9.6.3 released --- +3016. [bug] rndc usage missing '-b'. [RT #22937] + +3015. [port] win32: fix IN6_IS_ADDR_LINKLOCAL and + IN6_IS_ADDR_SITELOCAL macros. [RT #22724] + +3013. [bug] The DNS64 ttl was not always being set as expected. + [RT #23034] + +3012. [bug] Remove DNSKEY TTL change pairs before generating + signing records for any remaining DNSKEY changes. + [RT #22590] + +3011. [func] Allow setting this in named.conf using the new + 'resolver-query-timeout' option, which specifies a max + time in seconds. 0 means 'default' and anything longer + than 30 will be silently set to 30. [RT #22852] + +3010. [bug] Fixed a bug where "rndc reconfig" stopped the timer + for refreshing managed-keys. [RT #22296] 3009. [bug] clients-per-query code didn't work as expected with particular query patterns. [RT #22972] - --- 9.6.3rc1 released --- + --- 9.8.0b1 released --- + +3008. [func] Response policy zones (RPZ) support. [RT #21726] 3007. [bug] Named failed to preserve the case of domain names in rdata which is not compressible when writing master files. [RT #22863] +3006. [func] Allow dynamically generated TSIG keys to be preserved + across restarts of named. Initially this is for + TSIG keys generated using GSSAPI. [RT #22639] + +3005. [port] Solaris: Work around the lack of + gsskrb5_register_acceptor_identity() by setting + the KRB5_KTNAME environment variable to the + contents of tkey-gssapi-keytab. Also fixed + test errors on MacOSX. [RT #22853] + +3004. [func] DNS64 reverse support. [RT #22769] + +3003. [experimental] Added update-policy match type "external", + enabling named to defer the decision of whether to + allow a dynamic update to an external daemon. + (Contributed by Andrew Tridgell.) [RT #22758] + 3002. [bug] isc_mutex_init_errcheck() failed to destroy attr. [RT #22766] +3001. [func] Added a default trust anchor for the root zone, which + can be switched on by setting "dnssec-validation auto;" + in the named.conf options. [RT #21727] + +3000. [bug] More TKEY/GSS fixes: + - nsupdate can now get the default realm from + the user's Kerberos principal + - corrected gsstest compilation flags + - improved documentation + - fixed some NULL dereferences + [RT #22795] + +2999. [func] Add GOST support (RFC 5933). [RT #20639] + +2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive + to the task api. [RT #22776] + +2997. [func] named -V now reports the OpenSSL and libxml2 verions + it was compiled against. [RT #22687] + 2996. [security] Temporarily disable SO_ACCEPTFILTER support. [RT #22589] @@ -48,13 +151,52 @@ do not use threads on earlier versions. Also kill the unproven-pthreads, mit-pthreads, and ptl2 support. +2993. [func] Dynamically grow adb hash tables. [RT #21186] + +2992. [contrib] contrib/check-secure-delegation.pl: A simple tool + for looking at a secure delegation. [RT #22059] + +2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for + dynamic zones. [RT #22365] + +2990. [bug] 'dnssec-settime -S' no longer tests prepublication + interval validity when the interval is set to 0. + [RT #22761] + +2989. [func] Added support for writable DLZ zones. (Contributed + by Andrew Tridgell of the Samba project.) [RT #22629] + +2988. [experimental] Added a "dlopen" DLZ driver, allowing the creation + of external DLZ drivers that can be loaded as + shared objects at runtime rather than linked with + named. Currently this is switched on via a + compile-time option, "configure --with-dlz-dlopen". + Note: the syntax for configuring DLZ zones + is likely to be refined in future releases. + (Contributed by Andrew Tridgell of the Samba + project.) [RT #22629] + +2987. [func] Improve ease of configuring TKEY/GSS updates by + adding a "tkey-gssapi-keytab" option. If set, + updates will be allowed with any key matching + a principal in the specified keytab file. + "tkey-gssapi-credential" is no longer required + and is expected to be deprecated. (Contributed + by Andrew Tridgell of the Samba project.) + [RT #22629] + +2986. [func] Add new zone type "static-stub". It's like a stub + zone, but the nameserver names and/or their IP + addresses are statically configured. [RT #21474] + +2985. [bug] Add a regression test for change #2896. [RT #21324] + 2984. [bug] Don't run MX checks when the target of the MX record is ".". [RT #22645] -2817. [cleanup] Removed unnecessary isc_task_endexclusive() calls. - [RT #20768] +2983. [bug] Include "loadkeys" in rndc help output. [RT #22493] - --- 9.6.3b1 released --- + --- 9.8.0a1 released --- 2982. [bug] Reference count dst keys. dst_key_attach() can be used increment the reference count. @@ -63,34 +205,103 @@ always call dst_key_free() rather than setting it to NULL on success. [RT #22672] +2981. [func] Partial DNS64 support (AAAA synthesis). [RT #21991] + +2980. [bug] named didn't properly handle UPDATES that changed the + TTL of the NSEC3PARAM RRset. [RT #22363] + 2979. [bug] named could deadlock during shutdown if two "rndc stop" commands were issued at the same time. [RT #22108] 2978. [port] hpux: look for [RT #21919] +2977. [bug] 'nsupdate -l' report if the session key is missing. + [RT #21670] + 2976. [bug] named could die on exit after negotiating a GSS-TSIG key. [RT #22573] -2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() aquired the +2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() acquired the wrong lock which could lead to server deadlock. [RT #22614] +2974. [bug] Some valid UPDATE requests could fail due to a + consistency check examining the existing version + of the zone rather than the new version resulting + from the UPDATE. [RT #22413] + +2973. [bug] bind.keys.h was being removed by the "make clean" + at the end of configure resulting in build failures + where there is very old version of perl installed. + Move it to "make maintainer-clean". [RT #22230] + +2972. [bug] win32: address windows socket errors. [RT #21906] + +2971. [bug] Fixed a bug that caused journal files not to be + compacted on Windows systems as a result of + non-POSIX-compliant rename() semantics. [RT #22434] + +2970. [security] Adding a NO DATA negative cache entry failed to clear + any matching RRSIG records. A subsequent lookup of + of NO DATA cache entry could trigger a INSIST when the + unexpected RRSIG was also returned with the NO DATA + cache entry. + + CVE-2010-3613, VU#706148. [RT #22288] + +2969. [security] Fix acl type processing so that allow-query works + in options and view statements. Also add a new + set of tests to verify proper functioning. + + CVE-2010-3615, VU#510208. [RT #22418] + +2968. [security] Named could fail to prove a data set was insecure + before marking it as insecure. One set of conditions + that can trigger this occurs naturally when rolling + DNSKEY algorithms. + + CVE-2010-3614, VU#837744. [RT #22309] + +2967. [bug] 'host -D' now turns on debugging messages earlier. + [RT #22361] + +2966. [bug] isc_print_vsnprintf() failed to check if there was + space available in the buffer when adding a left + justified character with a non zero width, + (e.g. "%-1c"). [RT #22270] + 2965. [func] Test HMAC functions using test data from RFC 2104 and RFC 4634. [RT #21702] +2964. [placeholder] + +2963. [security] The allow-query acl was being applied instead of the + allow-query-cache acl to cache lookups. [RT #22114] + +2962. [port] win32: add more dependencies to BINDBuild.dsw. + [RT #22062] + +2961. [bug] Be still more selective about the non-authoritative + answers we apply change 2748 to. [RT #22074] + 2960. [func] Check that named accepts non-authoritative answers. [RT #21594] 2959. [func] Check that named starts with a missing masterfile. [RT #22076] +2958. [bug] named failed to start with a missing master file. + [RT #22076] + 2957. [bug] entropy_get() and entropy_getpseudo() failed to match the API for RAND_bytes() and RAND_pseudo_bytes() respectively. [RT #21962] 2956. [port] Enable atomic operations on the PowerPC64. [RT #21899] +2955. [func] Provide more detail in the recursing log. [RT #22043] + 2954. [bug] contrib: dlz_mysql_driver.c bad error handling on build_sqldbinstance failure. [RT #21623] @@ -98,10 +309,26 @@ exact match" message when returning a wildcard no data response. [RT #21744] +2952. [port] win32: named-checkzone and named-checkconf failed + to initialise winsock. [RT #21932] + +2951. [bug] named failed to generate a correct signed response + in a optout, delegation only zone with no secure + delegations. [RT #22007] + 2950. [bug] named failed to perform a SOA up to date check when falling back to TCP on UDP timeouts when ixfr-from-differences was set. [RT #21595] +2949. [bug] dns_view_setnewzones() contained a memory leak if + it was called multiple times. [RT #21942] + +2948. [port] MacOS: provide a mechanism to configure the test + interfaces at reboot. See bin/tests/system/README + for details. + +2947. [placeholder] + 2946. [doc] Document the default values for the minimum and maximum zone refresh and retry values in the ARM. [RT #21886] @@ -110,12 +337,59 @@ 2944. [maint] Remove ORCHID prefix from built in empty zones. [RT #21772] +2943. [func] Add support to load new keys into managed zones + without signing immediately with "rndc loadkeys". + Add support to link keys with "dnssec-keygen -S" + and "dnssec-settime -S". [RT #21351] + 2942. [contrib] zone2sqlite failed to setup the entropy sources. [RT #21610] 2941. [bug] sdb and sdlz (dlz's zone database) failed to support DNAME at the zone apex. [RT #21610] +2940. [port] Remove connection aborted error message on + Windows. [RT #21549] + +2939. [func] Check that named successfully skips NSEC3 records + that fail to match the NSEC3PARAM record currently + in use. [RT# 21868] + +2938. [bug] When generating signed responses, from a signed zone + that uses NSEC3, named would use a uninitialised + pointer if it needed to skip a NSEC3 record because + it didn't match the selected NSEC3PARAM record for + zone. [RT# 21868] + +2937. [bug] Worked around an apparent race condition in over + memory conditions. Without this fix a DNS cache DB or + ADB could incorrectly stay in an over memory state, + effectively refusing further caching, which + subsequently made a BIND 9 caching server unworkable. + This fix prevents this problem from happening by + polling the state of the memory context, rather than + making a copy of the state, which appeared to cause + a race. This is a "workaround" in that it doesn't + solve the possible race per se, but several experiments + proved this change solves the symptom. Also, the + polling overhead hasn't been reported to be an issue. + This bug should only affect a caching server that + specifies a finite max-cache-size. It's also quite + likely that the bug happens only when enabling threads, + but it's not confirmed yet. [RT #21818] + +2936. [func] Improved configuration syntax and multiple-view + support for addzone/delzone feature (see change + #2930). Removed "new-zone-file" option, replaced + with "allow-new-zones (yes|no)". The new-zone-file + for each view is now created automatically, with + a filename generated from a hash of the view name. + It is no longer necessary to "include" the + new-zone-file in named.conf; this happens + automatically. Zones that were not added via + "rndc addzone" can no longer be removed with + "rndc delzone". [RT #19447] + 2935. [bug] nsupdate: improve 'file not found' error message. [RT #21871] @@ -136,6 +410,17 @@ revisit the issue and complete the fix later. [RT #21710] +2930. [experimental] New "rndc addzone" and "rndc delzone" commads + allow dynamic addition and deletion of zones. + To enable this feature, specify a "new-zone-file" + option at the view or options level in named.conf. + Zone configuration information for the new zones + will be written into that file. To make the new + zones persist after a restart, "include" the file + into named.conf in the appropriate view. (Note: + This feature is not yet documented, and its syntax + is expected to change.) [RT #19447] + 2929. [bug] Improved handling of GSS security contexts: - added LRU expiration for generated TSIGs - added the ability to use a non-default realm @@ -145,19 +430,49 @@ smaller) [RT #19737] +2928. [bug] Be more selective about the non-authoritative + answer we apply change 2748 to. [RT #21594] + +2927. [placeholder] + +2926. [placeholder] +h +2925. [bug] Named failed to accept uncachable negative responses + from insecure zones. [RT# 21555] + +2924. [func] 'rndc secroots' dump a combined summary of the + current managed keys combined with trusted keys. + [RT #20904] + 2923. [bug] 'dig +trace' could drop core after "connection timeout". [RT #21514] 2922. [contrib] Update zkt to version 1.0. +2921. [bug] The resolver could attempt to destroy a fetch context + too soon. [RT #19878] + +2920. [func] Allow 'filter-aaaa-on-v4' to be applied selectively + to IPv4 clients. New acl 'filter-aaaa' (default any). + +2919. [func] Add autosign-ksk and autosign-zsk virtual time tests. + [RT #20840] + 2918. [maint] Add AAAA address for I.ROOT-SERVERS.NET. +2917. [func] Virtual time test framework. [RT #20801] + 2916. [func] Add framework to use IPv6 in tests. fd92:7065:b8e:ffff::1 ... fd92:7065:b8e:ffff::7 2915. [cleanup] Be smarter about which objects we attempt to compile based on configure options. [RT #21444] +2914. [bug] Make the "autosign" system test more portable. + [RT #20997] + +2913. [func] Add pkcs#11 system tests. [RT #20784] + 2912. [func] Windows clients don't like UPDATE responses that clear the zone section. [RT #20986] @@ -166,9 +481,17 @@ 2910. [func] Sanity check Kerberos credentials. [RT #20986] +2909. [bug] named-checkconf -p could die if "update-policy local;" + was specified in named.conf. [RT #21416] + 2908. [bug] It was possible for re-signing to stop after removing a DNSKEY. [RT #21384] +2907. [bug] The export version of libdns had undefined references. + [RT #21444] + +2906. [bug] Address RFC 5011 implementation issues. [RT #20903] + 2905. [port] aix: set use_atomic=yes with native compiler. [RT #21402] @@ -177,23 +500,55 @@ secure leading to negative proofs failing. This was a unintended outcome from change 2890. [RT# 21392] +2903. [bug] managed-keys-directory missing from namedconf.c. + [RT #21370] + +2902. [func] Add regression test for change 2897. [RT #21040] + 2901. [port] Use AC_C_FLEXIBLE_ARRAY_MEMBER. [RT #21316] +2900. [bug] The placeholder negative caching element was not + properly constructed triggering a INSIST in + dns_ncache_towire(). [RT #21346] + 2899. [port] win32: Support linking against OpenSSL 1.0.0. 2898. [bug] nslookup leaked memory when -domain=value was specified. [RT #21301] +2897. [bug] NSEC3 chains could be left behind when transitioning + to insecure. [RT #21040] + +2896. [bug] "rndc sign" failed to properly update the zone + when adding a DNSKEY for publication only. [RT #21045] + +2895. [func] genrandom: add support for the generation of multiple + files. [RT #20917] + 2894. [contrib] DLZ LDAP support now use '$' not '%'. [RT #21294] +2893. [bug] Improve managed keys support. New named.conf option + managed-keys-directory. [RT #20924] + +2892. [bug] Handle REVOKED keys better. [RT #20961] + 2891. [maint] Update empty-zones list to match draft-ietf-dnsop-default-local-zones-13. [RT# 21099] +2890. [bug] Handle the introduction of new trusted-keys and + DS, DLV RRsets better. [RT #21097] + 2889. [bug] Elements of the grammar where not properly reported. [RT #21046] 2888. [bug] Only the first EDNS option was displayed. [RT #21273] +2887. [bug] Report the keytag times in UTC in the .key file, + local time is presented as a comment within the + comment. [RT #21223] + +2886. [bug] ctime() is not thread safe. [RT #21223] + 2885. [bug] Improve -fno-strict-aliasing support probing in configure. [RT #21080] @@ -209,12 +564,21 @@ 2881. [bug] Reduce the amount of time the rbtdb write lock is held when closing a version. [RT #21198] +2880. [cleanup] Make the output of dnssec-keygen and dnssec-revoke + consistent. [RT #21078] + 2879. [contrib] DLZ bdbhpt driver fails to close correct cursor. [RT #21106] +2878. [func] Incrementally write the master file after performing + a AXFR. [RT #21010] + 2877. [bug] The validator failed to skip obviously mismatching RRSIGs. [RT #21138] +2876. [bug] Named could return SERVFAIL for negative responses + from unsigned zones. [RT #21131] + 2875. [bug] dns_time64_fromtext() could accept non digits. [RT #21033] @@ -222,8 +586,22 @@ successfully responds to the query using plain DNS. [RT #20930] +2873. [bug] Cancelling a dynamic update via the dns/client module + could trigger an assertion failure. [RT #21133] + +2872. [bug] Modify dns/client.c:dns_client_createx() to only + require one of IPv4 or IPv6 rather than both. + [RT #21122] + +2871. [bug] Type mismatch in mem_api.c between the definition and + the header file, causing build failure with + --enable-exportlib. [RT #21138] + 2870. [maint] Add AAAA address for L.ROOT-SERVERS.NET. +2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. + [RT #20877] + 2868. [cleanup] Run "make clean" at the end of configure to ensure any changes made by configure are integrated. Use --with-make-clean=no to disable. [RT #20994] @@ -245,6 +623,11 @@ 2862. [bug] nsupdate didn't default to the parent zone when updating DS records. [RT #20896] +2861. [doc] dnssec-settime man pages didn't correctly document the + inactivation time. [RT #21039] + +2860. [bug] named-checkconf's usage was out of date. [RT #21039] + 2859. [bug] When cancelling validation it was possible to leak memory. [RT #20800] @@ -257,111 +640,18 @@ 2856. [bug] The size of a memory allocation was not always properly recorded. [RT #20927] -2853. [bug] add_sigs() could run out of scratch space. [RT #21015] - -2851. [doc] nslookup.1, removed from the docbook - source as it produced bad nroff. [RT #21007] - - --- 9.6-ESV-R3 released --- - -2972. [bug] win32: address windows socket errors. [RT #21906] - -2971. [bug] Fixed a bug that caused journal files not to be - compacted on Windows systems as a result of - non-POSIX-compliant rename() semantics. [RT #22434] - -2970. [security] Adding a NO DATA negative cache entry failed to clear - any matching RRSIG records. A subsequent lookup of - of NO DATA cache entry could trigger a INSIST when the - unexpected RRSIG was also returned with the NO DATA - cache entry. - - CVE-2010-3613, VU#706148. [RT #22288] - -2969. [security] Fix acl type processing so that allow-query works - in options and view statements. Also add a new - set of tests to verify proper functioning. - - CVE-2010-3615, VU#510208. [RT #22418] - -2968. [security] Named could fail to prove a data set was insecure - before marking it as insecure. One set of conditions - that can trigger this occurs naturally when rolling - DNSKEY algorithms. - - CVE-2010-3614, VU#837744. [RT #22309] - -2967. [bug] 'host -D' now turns on debugging messages earlier. - [RT #22361] - -2966. [bug] isc_print_vsnprintf() failed to check if there was - space available in the buffer when adding a left - justified character with a non zero width, - (e.g. "%-1c"). [RT #22270] - -2964. [bug] view->queryacl was being overloaded. Seperate the - usage into view->queryacl, view->cacheacl and - view->queryonacl. [RT #22114] - -2962. [port] win32: add more dependencies to BINDBuild.dsw. - [RT #22062] - -2952. [port] win32: named-checkzone and named-checkconf failed - to initialise winsock. [RT #21932] - -2951. [bug] named failed to generate a correct signed response - in a optout, delegation only zone with no secure - delegations. [RT #22007] - - --- 9.6-ESV-R2 released --- - -2939. [func] Check that named successfully skips NSEC3 records - that fail to match the NSEC3PARAM record currently - in use. [RT# 21868] - -2937. [bug] Worked around an apparent race condition in over - memory conditions. Without this fix a DNS cache DB or - ADB could incorrectly stay in an over memory state, - effectively refusing further caching, which - subsequently made a BIND 9 caching server unworkable. - This fix prevents this problem from happening by - polling the state of the memory context, rather than - making a copy of the state, which appeared to cause - a race. This is a "workaround" in that it doesn't - solve the possible race per se, but several experiments - proved this change solves the symptom. Also, the - polling overhead hasn't been reported to be an issue. - This bug should only affect a caching server that - specifies a finite max-cache-size. It's also quite - likely that the bug happens only when enabling threads, - but it's not confirmed yet. [RT #21818] - -2925. [bug] Named failed to accept uncachable negative responses - from insecure zones. [RT# 21555] +2855. [func] nsupdate will now preserve the entered case of domain + names in update requests it sends. [RT #20928] -2921. [bug] The resolver could attempt to destroy a fetch context - too soon. [RT #19878] +2854. [func] dig: allow the final soa record in a axfr response to + be suppressed, dig +onesoa. [RT #20929] -2900. [bug] The placeholder negative caching element was not - properly constructed triggering a INSIST in - dns_ncache_towire(). [RT #21346] - -2890. [bug] Handle the introduction of new trusted-keys and - DS, DLV RRsets better. [RT #21097] - -2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. - [RT #20877] - - --- 9.6-ESV-R1 released --- - -2876. [bug] Named could return SERVFAIL for negative responses - from unsigned zones. [RT #21131] - - --- 9.6-ESV released --- +2853. [bug] add_sigs() could run out of scratch space. [RT #21015] 2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619] - --- 9.6.2 released --- +2851. [doc] nslookup.1, removed from the docbook + source as it produced bad nroff. [RT #21007] 2850. [bug] If isc_heap_insert() failed due to memory shortage the heap would have corrupted entries. [RT #20951] @@ -369,61 +659,225 @@ 2849. [bug] Don't treat errors from the xml2 library as fatal. [RT #20945] +2848. [doc] Moved README.dnssec, README.libdns, README.pkcs11 and + README.rfc5011 into the ARM. [RT #20899] + +2847. [cleanup] Corrected usage message in dnssec-settime. [RT #20921] + 2846. [bug] EOF on unix domain sockets was not being handled correctly. [RT #20731] +2845. [bug] RFC 5011 client could crash on shutdown. [RT #20903] + 2844. [doc] notify-delay default in ARM was wrong. It should have been five (5) seconds. - --- 9.6.2rc1 released --- +2843. [func] Prevent dnssec-keygen and dnssec-keyfromlabel from + creating key files if there is a chance that the new + key ID will collide with an existing one after + either of the keys has been revoked. (To override + this in the case of dnssec-keyfromlabel, use the -y + option. dnssec-keygen will simply create a + different, non-colliding key, so an override is + not necessary.) [RT #20838] + +2842. [func] Added "smartsign" and improved "autosign" and + "dnssec" regression tests. [RT #20865] + +2841. [bug] Change 2836 was not complete. [RT #20883] -2838. [func] Backport support for SHA-2 DNSSEC algorithms, - RSASHA256 and RSASHA512, from BIND 9.7. (This - incorporates changes 2726 and 2738 from that - release branch.) [RT #20871] +2840. [bug] Temporary fixed pkcs11-destroy usage check. + [RT #20760] + +2839. [bug] A KSK revoked by named could not be deleted. + [RT #20881] + +2838. [placeholder] 2837. [port] Prevent Linux spurious warnings about fwrite(). [RT #20812] +2836. [bug] Keys that were scheduled to become active could + be delayed. [RT #20874] + +2835. [bug] Key inactivity dates were inadvertently stored in + the private key file with the outdated tag + "Unpublish" rather than "Inactive". This has been + fixed; however, any existing keys that had Inactive + dates set will now need to have them reset, using + 'dnssec-settime -I'. [RT #20868] + +2834. [bug] HMAC-SHA* keys that were longer than the algorithm + digest length were used incorrectly, leading to + interoperability problems with other DNS + implementations. This has been corrected. + (Note: If an oversize key is in use, and + compatibility is needed with an older release of + BIND, the new tool "isc-hmac-fixup" can convert + the key secret to a form that will work with all + versions.) [RT #20751] + +2833. [cleanup] Fix usage messages in dnssec-keygen and dnssec-settime. + [RT #20851] + +2832. [bug] Modify "struct stat" in lib/export/samples/nsprobe.c + to avoid redefinition in some OSs [RT 20831] + 2831. [security] Do not attempt to validate or cache out-of-bailiwick data returned with a secure answer; it must be re-fetched from its original source and validated in that context. [RT #20819] +2830. [bug] Changing the OPTOUT setting could take multiple + passes. [RT #20813] + +2829. [bug] Fixed potential node inconsistency in rbtdb.c. + [RT #20808] + 2828. [security] Cached CNAME or DNAME RR could be returned to clients without DNSSEC validation. [RT #20737] 2827. [security] Bogus NXDOMAIN could be cached as if valid. [RT #20712] +2826. [bug] NSEC3->NSEC transitions could fail due to a lock not + being released. [RT #20740] + 2825. [bug] Changing the setting of OPTOUT in a NSEC3 chain that was in the process of being created was not properly recorded in the zone. [RT #20786] +2824. [bug] "rndc sign" was not being run by the correct task. + [RT #20759] + 2823. [bug] rbtdb.c:getsigningtime() was missing locks. [RT #20781] +2822. [bug] rbtdb.c:loadnode() could return the wrong result. + [RT #20802] + +2821. [doc] Add note that named-checkconf doesn't automatically + read rndc.key and bind.keys [RT #20758] + +2820. [func] Handle read access failure of OpenSSL configuration + file more user friendly (PKCS#11 engine patch). + [RT #20668] + 2819. [cleanup] Removed unnecessary DNS_POINTER_MAXHOPS define. [RT #20771] 2818. [cleanup] rndc could return an incorrect error code when a zone was not found. [RT #20767] +2817. [cleanup] Removed unnecessary isc_task_endexclusive() calls. + [RT #20768] + +2816. [bug] previous_closest_nsec() could fail to return + data for NSEC3 nodes [RT #29730] + 2815. [bug] Exclusively lock the task when freezing a zone. [RT #19838] 2814. [func] Provide a definitive error message when a master zone is not loaded. [RT #20757] - --- 9.6.2b1 released --- +2813. [bug] Better handling of unreadable DNSSEC key files. + [RT #20710] + +2812. [bug] Make sure updates can't result in a zone with + NSEC-only keys and NSEC3 records. [RT 20748] + +2811. [cleanup] Add "rndc sign" to list of commands in rndc usage + output. [RT #20733] + +2810. [doc] Clarified the process of transitioning an NSEC3 zone + to insecure. [RT #20746] + +2809. [cleanup] Restored accidentally-deleted text in usage output + in dnssec-settime and dnssec-revoke [RT #20739] + +2808. [bug] Remove the attempt to install atomic.h from lib/isc. + atomic.h is correctly installed by the architecture + specific subdirectories. [RT #20722] + +2807. [bug] Fixed a possible ASSERT when reconfiguring zone + keys. [RT #20720] + + --- 9.7.0rc1 released --- + +2806. [bug] "rdnc sign" could delay re-signing the DNSKEY + when it had changed. [RT #20703] + +2805. [bug] Fixed namespace problems encountered when building + external programs using non-exported BIND9 libraries + (i.e., built without --enable-exportlib). [RT #20679] + +2804. [bug] Send notifies when a zone is signed with "rndc sign" + or as a result of a scheduled key change. [RT #20700] + +2803. [port] win32: Install named-journalprint, nsec3hash, arpaname + and genrandom under windows. [RT #20670] + +2802. [cleanup] Rename journalprint to named-journalprint. [RT #20670] + +2801. [func] Detect and report records that are different according + to DNSSEC but are semantically equal according to plain + DNS. Apply plain DNS comparisons rather than DNSSEC + comparisons when processing UPDATE requests. + dnssec-signzone now removes such semantically duplicate + records prior to signing the RRset. + + named-checkzone -r {ignore|warn|fail} (default warn) + named-compilezone -r {ignore|warn|fail} (default warn) + + named.conf: check-dup-records {ignore|warn|fail}; + +2800. [func] Reject zones which have NS records which refer to + CNAMEs, DNAMEs or don't have address record (class IN + only). Reject UPDATEs which would cause the zone + to fail the above checks if committed. [RT #20678] + +2799. [cleanup] Changed the "secure-to-insecure" option to + "dnssec-secure-to-insecure", and "dnskey-ksk-only" + to "dnssec-dnskey-kskonly", for clarity. [RT #20586] + +2798. [bug] Addressed bugs in managed-keys initialization + and rollover. [RT #20683] 2797. [bug] Don't decrement the dispatch manager's maxbuffers. [RT #20613] +2796. [bug] Missing dns_rdataset_disassociate() call in + dns_nsec3_delnsec3sx(). [RT #20681] + +2795. [cleanup] Add text to differentiate "update with no effect" + log messages. [RT #18889] + +2794. [bug] Install . [RT #20677] + +2793. [func] Add "autosign" and "metadata" tests to the + automatic tests. [RT #19946] + +2792. [func] "filter-aaaa-on-v4" can now be set in view + options (if compiled in). [RT #20635] + +2791. [bug] The installation of isc-config.sh was broken. + [RT #20667] + 2790. [bug] Handle DS queries to stub zones. [RT #20440] 2789. [bug] Fixed an INSIST in dispatch.c [RT #20576] +2788. [bug] dnssec-signzone could sign with keys that were + not requested [RT #20625] + +2787. [bug] Spurious log message when zone keys were + dynamically reconfigured. [RT #20659] + 2786. [bug] Additional could be promoted to answer. [RT #20663] + --- 9.7.0b3 released --- + +2785. [bug] Revoked keys could fail to self-sign [RT #20652] + 2784. [bug] TC was not always being set when required glue was dropped. [RT #20655] @@ -433,15 +887,65 @@ 2782. [port] win32: use getaddrinfo() for hostname lookups. [RT #20650] +2781. [bug] Inactive keys could be used for signing. [RT #20649] + +2780. [bug] dnssec-keygen -A none didn't properly unset the + activation date in all cases. [RT #20648] + +2779. [bug] Dynamic key revocation could fail. [RT #20644] + +2778. [bug] dnssec-signzone could fail when a key was revoked + without deleting the unrevoked version. [RT #20638] + 2777. [contrib] DLZ MYSQL auto reconnect support discovery was wrong. +2776. [bug] Change #2762 was not correct. [RT #20647] + +2775. [bug] Accept RSASHA256 and RSASHA512 as NSEC3 compatible + in dnssec-keyfromlabel. [RT #20643] + +2774. [bug] Existing cache DB wasn't being reused after + reconfiguration. [RT #20629] + +2773. [bug] In autosigned zones, the SOA could be signed + with the KSK. [RT #20628] + 2772. [security] When validating, track whether pending data was from the additional section or not and only return it if validates as secure. [RT #20438] +2771. [bug] dnssec-signzone: DNSKEY records could be + corrupted when importing from key files [RT #20624] + +2770. [cleanup] Add log messages to resolver.c to indicate events + causing FORMERR responses. [RT #20526] + +2769. [cleanup] Change #2742 was incomplete. [RT #19589] + +2768. [bug] dnssec-signzone: -S no longer implies -g [RT #20568] + +2767. [bug] named could crash on startup if a zone was + configured with auto-dnssec and there was no + key-directory. [RT #20615] + +2766. [bug] isc_socket_fdwatchpoke() should only update the + socketmgr state if the socket is not pending on a + read or write. [RT #20603] + 2765. [bug] Skip masters for which the TSIG key cannot be found. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 10:51:12 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECF5E106566B; Sat, 16 Jul 2011 10:51:12 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C3E358FC1C; Sat, 16 Jul 2011 10:51:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GApCxA024816; Sat, 16 Jul 2011 10:51:12 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GApCHk024815; Sat, 16 Jul 2011 10:51:12 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161051.p6GApCHk024815@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 10:51:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224091 - vendor/bind9/9.8.0-P4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 10:51:13 -0000 Author: dougb Date: Sat Jul 16 10:51:12 2011 New Revision: 224091 URL: http://svn.freebsd.org/changeset/base/224091 Log: Tag the 9.8.0-P4 release Added: vendor/bind9/9.8.0-P4/ - copied from r224090, vendor/bind9/dist/ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 11:12:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA116106566C; Sat, 16 Jul 2011 11:12:09 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C43E78FC14; Sat, 16 Jul 2011 11:12:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GBC9tf025473; Sat, 16 Jul 2011 11:12:09 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GBC9oG025469; Sat, 16 Jul 2011 11:12:09 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161112.p6GBC9oG025469@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 11:12:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224092 - in head/contrib/bind9: . bin bin/check bin/confgen bin/dig bin/dig/include/dig bin/dnssec bin/named bin/named/include/named bin/named/unix bin/named/unix/include/named bin/nsu... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 11:12:09 -0000 Author: dougb Date: Sat Jul 16 11:12:09 2011 New Revision: 224092 URL: http://svn.freebsd.org/changeset/base/224092 Log: Upgrade to version 9.8.0-P4 This version has many new features, see /usr/share/doc/bind9/README for details. Added: head/contrib/bind9/HISTORY - copied unchanged from r224091, vendor/bind9/dist/HISTORY head/contrib/bind9/bin/confgen/ - copied from r224091, vendor/bind9/dist/bin/confgen/ head/contrib/bind9/bin/dnssec/dnssec-revoke.8 - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-revoke.8 head/contrib/bind9/bin/dnssec/dnssec-revoke.c - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-revoke.c head/contrib/bind9/bin/dnssec/dnssec-revoke.docbook - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-revoke.docbook head/contrib/bind9/bin/dnssec/dnssec-revoke.html - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-revoke.html head/contrib/bind9/bin/dnssec/dnssec-settime.8 - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-settime.8 head/contrib/bind9/bin/dnssec/dnssec-settime.c - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-settime.c head/contrib/bind9/bin/dnssec/dnssec-settime.docbook - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-settime.docbook head/contrib/bind9/bin/dnssec/dnssec-settime.html - copied unchanged from r224091, vendor/bind9/dist/bin/dnssec/dnssec-settime.html head/contrib/bind9/bin/named/bind.keys.h - copied unchanged from r224091, vendor/bind9/dist/bin/named/bind.keys.h head/contrib/bind9/bin/tools/ - copied from r224091, vendor/bind9/dist/bin/tools/ head/contrib/bind9/doc/arm/dnssec.xml - copied unchanged from r224091, vendor/bind9/dist/doc/arm/dnssec.xml head/contrib/bind9/doc/arm/libdns.xml - copied unchanged from r224091, vendor/bind9/dist/doc/arm/libdns.xml head/contrib/bind9/doc/arm/man.arpaname.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.arpaname.html head/contrib/bind9/doc/arm/man.ddns-confgen.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.ddns-confgen.html head/contrib/bind9/doc/arm/man.dnssec-revoke.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.dnssec-revoke.html head/contrib/bind9/doc/arm/man.dnssec-settime.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.dnssec-settime.html head/contrib/bind9/doc/arm/man.genrandom.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.genrandom.html head/contrib/bind9/doc/arm/man.isc-hmac-fixup.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.isc-hmac-fixup.html head/contrib/bind9/doc/arm/man.named-journalprint.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.named-journalprint.html head/contrib/bind9/doc/arm/man.nsec3hash.html - copied unchanged from r224091, vendor/bind9/dist/doc/arm/man.nsec3hash.html head/contrib/bind9/doc/arm/managed-keys.xml - copied unchanged from r224091, vendor/bind9/dist/doc/arm/managed-keys.xml head/contrib/bind9/doc/arm/pkcs11.xml - copied unchanged from r224091, vendor/bind9/dist/doc/arm/pkcs11.xml head/contrib/bind9/lib/dns/client.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/client.c head/contrib/bind9/lib/dns/dns64.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/dns64.c head/contrib/bind9/lib/dns/ecdb.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/ecdb.c head/contrib/bind9/lib/dns/include/dns/client.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/client.h head/contrib/bind9/lib/dns/include/dns/dns64.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/dns64.h head/contrib/bind9/lib/dns/include/dns/ecdb.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/ecdb.h head/contrib/bind9/lib/dns/include/dns/keydata.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/keydata.h head/contrib/bind9/lib/dns/include/dns/private.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/private.h head/contrib/bind9/lib/dns/include/dns/rpz.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/rpz.h head/contrib/bind9/lib/dns/include/dns/rriterator.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/rriterator.h head/contrib/bind9/lib/dns/include/dns/tsec.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/include/dns/tsec.h head/contrib/bind9/lib/dns/keydata.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/keydata.c head/contrib/bind9/lib/dns/opensslgost_link.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/opensslgost_link.c head/contrib/bind9/lib/dns/private.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/private.c head/contrib/bind9/lib/dns/rdata/generic/hip_55.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/rdata/generic/hip_55.c head/contrib/bind9/lib/dns/rdata/generic/hip_55.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/rdata/generic/hip_55.h head/contrib/bind9/lib/dns/rdata/generic/keydata_65533.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/rdata/generic/keydata_65533.c head/contrib/bind9/lib/dns/rdata/generic/keydata_65533.h - copied unchanged from r224091, vendor/bind9/dist/lib/dns/rdata/generic/keydata_65533.h head/contrib/bind9/lib/dns/rpz.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/rpz.c head/contrib/bind9/lib/dns/rriterator.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/rriterator.c head/contrib/bind9/lib/dns/ssu_external.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/ssu_external.c head/contrib/bind9/lib/dns/tsec.c - copied unchanged from r224091, vendor/bind9/dist/lib/dns/tsec.c head/contrib/bind9/lib/export/ - copied from r224091, vendor/bind9/dist/lib/export/ head/contrib/bind9/lib/irs/ - copied from r224091, vendor/bind9/dist/lib/irs/ head/contrib/bind9/lib/isc/app_api.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/app_api.c head/contrib/bind9/lib/isc/backtrace-emptytbl.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/backtrace-emptytbl.c head/contrib/bind9/lib/isc/backtrace.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/backtrace.c head/contrib/bind9/lib/isc/include/isc/backtrace.h - copied unchanged from r224091, vendor/bind9/dist/lib/isc/include/isc/backtrace.h head/contrib/bind9/lib/isc/include/isc/bind9.h - copied unchanged from r224091, vendor/bind9/dist/lib/isc/include/isc/bind9.h head/contrib/bind9/lib/isc/include/isc/namespace.h - copied unchanged from r224091, vendor/bind9/dist/lib/isc/include/isc/namespace.h head/contrib/bind9/lib/isc/mem_api.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/mem_api.c head/contrib/bind9/lib/isc/socket_api.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/socket_api.c head/contrib/bind9/lib/isc/task_api.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/task_api.c head/contrib/bind9/lib/isc/timer_api.c - copied unchanged from r224091, vendor/bind9/dist/lib/isc/timer_api.c head/contrib/bind9/lib/isccfg/dnsconf.c - copied unchanged from r224091, vendor/bind9/dist/lib/isccfg/dnsconf.c head/contrib/bind9/lib/isccfg/include/isccfg/dnsconf.h - copied unchanged from r224091, vendor/bind9/dist/lib/isccfg/include/isccfg/dnsconf.h Deleted: head/contrib/bind9/KNOWN-DEFECTS head/contrib/bind9/NSEC3-NOTES head/contrib/bind9/README.idnkit head/contrib/bind9/README.pkcs11 head/contrib/bind9/bin/rndc/rndc-confgen.8 head/contrib/bind9/bin/rndc/rndc-confgen.c head/contrib/bind9/bin/rndc/rndc-confgen.docbook head/contrib/bind9/bin/rndc/rndc-confgen.html head/contrib/bind9/bin/rndc/unix/Makefile.in head/contrib/bind9/bin/rndc/unix/os.c Modified: head/contrib/bind9/CHANGES head/contrib/bind9/COPYRIGHT head/contrib/bind9/FAQ.xml head/contrib/bind9/Makefile.in head/contrib/bind9/README head/contrib/bind9/acconfig.h head/contrib/bind9/bin/Makefile.in head/contrib/bind9/bin/check/Makefile.in head/contrib/bind9/bin/check/check-tool.c head/contrib/bind9/bin/check/check-tool.h head/contrib/bind9/bin/check/named-checkconf.8 head/contrib/bind9/bin/check/named-checkconf.c head/contrib/bind9/bin/check/named-checkconf.docbook head/contrib/bind9/bin/check/named-checkconf.html head/contrib/bind9/bin/check/named-checkzone.8 head/contrib/bind9/bin/check/named-checkzone.c head/contrib/bind9/bin/check/named-checkzone.docbook head/contrib/bind9/bin/check/named-checkzone.html head/contrib/bind9/bin/dig/Makefile.in head/contrib/bind9/bin/dig/dig.1 head/contrib/bind9/bin/dig/dig.c head/contrib/bind9/bin/dig/dig.docbook head/contrib/bind9/bin/dig/dig.html head/contrib/bind9/bin/dig/dighost.c head/contrib/bind9/bin/dig/host.1 head/contrib/bind9/bin/dig/host.c head/contrib/bind9/bin/dig/host.docbook head/contrib/bind9/bin/dig/host.html head/contrib/bind9/bin/dig/include/dig/dig.h head/contrib/bind9/bin/dig/nslookup.1 head/contrib/bind9/bin/dig/nslookup.c head/contrib/bind9/bin/dig/nslookup.docbook head/contrib/bind9/bin/dig/nslookup.html head/contrib/bind9/bin/dnssec/Makefile.in head/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 head/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c head/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook head/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html head/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 head/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c head/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook head/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html head/contrib/bind9/bin/dnssec/dnssec-keygen.8 head/contrib/bind9/bin/dnssec/dnssec-keygen.c head/contrib/bind9/bin/dnssec/dnssec-keygen.docbook head/contrib/bind9/bin/dnssec/dnssec-keygen.html head/contrib/bind9/bin/dnssec/dnssec-signzone.8 head/contrib/bind9/bin/dnssec/dnssec-signzone.c head/contrib/bind9/bin/dnssec/dnssec-signzone.docbook head/contrib/bind9/bin/dnssec/dnssec-signzone.html head/contrib/bind9/bin/dnssec/dnssectool.c head/contrib/bind9/bin/dnssec/dnssectool.h head/contrib/bind9/bin/named/Makefile.in head/contrib/bind9/bin/named/bind9.xsl head/contrib/bind9/bin/named/bind9.xsl.h head/contrib/bind9/bin/named/builtin.c head/contrib/bind9/bin/named/client.c head/contrib/bind9/bin/named/config.c head/contrib/bind9/bin/named/control.c head/contrib/bind9/bin/named/include/named/client.h head/contrib/bind9/bin/named/include/named/config.h head/contrib/bind9/bin/named/include/named/control.h head/contrib/bind9/bin/named/include/named/globals.h head/contrib/bind9/bin/named/include/named/log.h head/contrib/bind9/bin/named/include/named/lwdclient.h head/contrib/bind9/bin/named/include/named/main.h head/contrib/bind9/bin/named/include/named/notify.h head/contrib/bind9/bin/named/include/named/query.h head/contrib/bind9/bin/named/include/named/server.h head/contrib/bind9/bin/named/include/named/tsigconf.h head/contrib/bind9/bin/named/include/named/types.h head/contrib/bind9/bin/named/include/named/zoneconf.h head/contrib/bind9/bin/named/interfacemgr.c head/contrib/bind9/bin/named/log.c head/contrib/bind9/bin/named/lwdgabn.c head/contrib/bind9/bin/named/lwdgrbn.c head/contrib/bind9/bin/named/lwresd.8 head/contrib/bind9/bin/named/lwresd.c head/contrib/bind9/bin/named/lwresd.docbook head/contrib/bind9/bin/named/lwresd.html head/contrib/bind9/bin/named/main.c head/contrib/bind9/bin/named/named.8 head/contrib/bind9/bin/named/named.conf.5 head/contrib/bind9/bin/named/named.conf.docbook head/contrib/bind9/bin/named/named.conf.html head/contrib/bind9/bin/named/named.docbook head/contrib/bind9/bin/named/named.html head/contrib/bind9/bin/named/query.c head/contrib/bind9/bin/named/server.c head/contrib/bind9/bin/named/statschannel.c head/contrib/bind9/bin/named/tkeyconf.c head/contrib/bind9/bin/named/tsigconf.c head/contrib/bind9/bin/named/unix/Makefile.in head/contrib/bind9/bin/named/unix/include/named/os.h head/contrib/bind9/bin/named/unix/os.c head/contrib/bind9/bin/named/update.c head/contrib/bind9/bin/named/xfrout.c head/contrib/bind9/bin/named/zoneconf.c head/contrib/bind9/bin/nsupdate/Makefile.in head/contrib/bind9/bin/nsupdate/nsupdate.1 head/contrib/bind9/bin/nsupdate/nsupdate.c head/contrib/bind9/bin/nsupdate/nsupdate.docbook head/contrib/bind9/bin/nsupdate/nsupdate.html head/contrib/bind9/bin/rndc/Makefile.in head/contrib/bind9/bin/rndc/include/rndc/os.h head/contrib/bind9/bin/rndc/rndc.8 head/contrib/bind9/bin/rndc/rndc.c head/contrib/bind9/bin/rndc/rndc.conf.5 head/contrib/bind9/bin/rndc/rndc.conf.html head/contrib/bind9/bin/rndc/rndc.html head/contrib/bind9/bin/rndc/util.h head/contrib/bind9/config.guess head/contrib/bind9/config.h.in head/contrib/bind9/configure.in head/contrib/bind9/doc/arm/Bv9ARM-book.xml head/contrib/bind9/doc/arm/Bv9ARM.ch01.html head/contrib/bind9/doc/arm/Bv9ARM.ch02.html head/contrib/bind9/doc/arm/Bv9ARM.ch03.html head/contrib/bind9/doc/arm/Bv9ARM.ch04.html head/contrib/bind9/doc/arm/Bv9ARM.ch05.html head/contrib/bind9/doc/arm/Bv9ARM.ch06.html head/contrib/bind9/doc/arm/Bv9ARM.ch07.html head/contrib/bind9/doc/arm/Bv9ARM.ch08.html head/contrib/bind9/doc/arm/Bv9ARM.ch09.html head/contrib/bind9/doc/arm/Bv9ARM.ch10.html head/contrib/bind9/doc/arm/Bv9ARM.html head/contrib/bind9/doc/arm/Bv9ARM.pdf head/contrib/bind9/doc/arm/Makefile.in head/contrib/bind9/doc/arm/man.dig.html head/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html head/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html head/contrib/bind9/doc/arm/man.dnssec-keygen.html head/contrib/bind9/doc/arm/man.dnssec-signzone.html head/contrib/bind9/doc/arm/man.host.html head/contrib/bind9/doc/arm/man.named-checkconf.html head/contrib/bind9/doc/arm/man.named-checkzone.html head/contrib/bind9/doc/arm/man.named.html head/contrib/bind9/doc/arm/man.nsupdate.html head/contrib/bind9/doc/arm/man.rndc-confgen.html head/contrib/bind9/doc/arm/man.rndc.conf.html head/contrib/bind9/doc/arm/man.rndc.html head/contrib/bind9/doc/misc/Makefile.in head/contrib/bind9/doc/misc/options head/contrib/bind9/lib/bind9/Makefile.in head/contrib/bind9/lib/bind9/api head/contrib/bind9/lib/bind9/check.c head/contrib/bind9/lib/bind9/include/bind9/getaddresses.h head/contrib/bind9/lib/dns/Makefile.in head/contrib/bind9/lib/dns/acl.c head/contrib/bind9/lib/dns/adb.c head/contrib/bind9/lib/dns/api head/contrib/bind9/lib/dns/byaddr.c head/contrib/bind9/lib/dns/cache.c head/contrib/bind9/lib/dns/db.c head/contrib/bind9/lib/dns/diff.c head/contrib/bind9/lib/dns/dispatch.c head/contrib/bind9/lib/dns/dlz.c head/contrib/bind9/lib/dns/dnssec.c head/contrib/bind9/lib/dns/ds.c head/contrib/bind9/lib/dns/dst_api.c head/contrib/bind9/lib/dns/dst_internal.h head/contrib/bind9/lib/dns/dst_openssl.h head/contrib/bind9/lib/dns/dst_parse.c head/contrib/bind9/lib/dns/dst_parse.h head/contrib/bind9/lib/dns/forward.c head/contrib/bind9/lib/dns/gen-unix.h head/contrib/bind9/lib/dns/gen.c head/contrib/bind9/lib/dns/gssapi_link.c head/contrib/bind9/lib/dns/gssapictx.c head/contrib/bind9/lib/dns/hmac_link.c head/contrib/bind9/lib/dns/include/dns/Makefile.in head/contrib/bind9/lib/dns/include/dns/acl.h head/contrib/bind9/lib/dns/include/dns/cache.h head/contrib/bind9/lib/dns/include/dns/compress.h head/contrib/bind9/lib/dns/include/dns/db.h head/contrib/bind9/lib/dns/include/dns/diff.h head/contrib/bind9/lib/dns/include/dns/dispatch.h head/contrib/bind9/lib/dns/include/dns/dlz.h head/contrib/bind9/lib/dns/include/dns/dnssec.h head/contrib/bind9/lib/dns/include/dns/ds.h head/contrib/bind9/lib/dns/include/dns/events.h head/contrib/bind9/lib/dns/include/dns/forward.h head/contrib/bind9/lib/dns/include/dns/journal.h head/contrib/bind9/lib/dns/include/dns/keytable.h head/contrib/bind9/lib/dns/include/dns/keyvalues.h head/contrib/bind9/lib/dns/include/dns/lib.h head/contrib/bind9/lib/dns/include/dns/log.h head/contrib/bind9/lib/dns/include/dns/lookup.h head/contrib/bind9/lib/dns/include/dns/master.h head/contrib/bind9/lib/dns/include/dns/masterdump.h head/contrib/bind9/lib/dns/include/dns/message.h head/contrib/bind9/lib/dns/include/dns/name.h head/contrib/bind9/lib/dns/include/dns/ncache.h head/contrib/bind9/lib/dns/include/dns/nsec3.h head/contrib/bind9/lib/dns/include/dns/peer.h head/contrib/bind9/lib/dns/include/dns/rbt.h head/contrib/bind9/lib/dns/include/dns/rdata.h head/contrib/bind9/lib/dns/include/dns/rdataset.h head/contrib/bind9/lib/dns/include/dns/request.h head/contrib/bind9/lib/dns/include/dns/resolver.h head/contrib/bind9/lib/dns/include/dns/result.h head/contrib/bind9/lib/dns/include/dns/sdb.h head/contrib/bind9/lib/dns/include/dns/sdlz.h head/contrib/bind9/lib/dns/include/dns/secalg.h head/contrib/bind9/lib/dns/include/dns/soa.h head/contrib/bind9/lib/dns/include/dns/ssu.h head/contrib/bind9/lib/dns/include/dns/stats.h head/contrib/bind9/lib/dns/include/dns/tkey.h head/contrib/bind9/lib/dns/include/dns/tsig.h head/contrib/bind9/lib/dns/include/dns/types.h head/contrib/bind9/lib/dns/include/dns/validator.h head/contrib/bind9/lib/dns/include/dns/view.h head/contrib/bind9/lib/dns/include/dns/xfrin.h head/contrib/bind9/lib/dns/include/dns/zone.h head/contrib/bind9/lib/dns/include/dst/dst.h head/contrib/bind9/lib/dns/include/dst/gssapi.h head/contrib/bind9/lib/dns/iptable.c head/contrib/bind9/lib/dns/journal.c head/contrib/bind9/lib/dns/keytable.c head/contrib/bind9/lib/dns/lib.c head/contrib/bind9/lib/dns/log.c head/contrib/bind9/lib/dns/master.c head/contrib/bind9/lib/dns/masterdump.c head/contrib/bind9/lib/dns/message.c head/contrib/bind9/lib/dns/name.c head/contrib/bind9/lib/dns/ncache.c head/contrib/bind9/lib/dns/nsec.c head/contrib/bind9/lib/dns/nsec3.c head/contrib/bind9/lib/dns/openssl_link.c head/contrib/bind9/lib/dns/openssldh_link.c head/contrib/bind9/lib/dns/openssldsa_link.c head/contrib/bind9/lib/dns/opensslrsa_link.c head/contrib/bind9/lib/dns/peer.c head/contrib/bind9/lib/dns/rbt.c head/contrib/bind9/lib/dns/rbtdb.c head/contrib/bind9/lib/dns/rcode.c head/contrib/bind9/lib/dns/rdata.c head/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c head/contrib/bind9/lib/dns/rdata/ch_3/a_1.c head/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c head/contrib/bind9/lib/dns/rdata/generic/cert_37.c head/contrib/bind9/lib/dns/rdata/generic/cname_5.c head/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c head/contrib/bind9/lib/dns/rdata/generic/dname_39.c head/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c head/contrib/bind9/lib/dns/rdata/generic/ds_43.c head/contrib/bind9/lib/dns/rdata/generic/gpos_27.c head/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c head/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c head/contrib/bind9/lib/dns/rdata/generic/isdn_20.c head/contrib/bind9/lib/dns/rdata/generic/key_25.c head/contrib/bind9/lib/dns/rdata/generic/loc_29.c head/contrib/bind9/lib/dns/rdata/generic/mb_7.c head/contrib/bind9/lib/dns/rdata/generic/md_3.c head/contrib/bind9/lib/dns/rdata/generic/mf_4.c head/contrib/bind9/lib/dns/rdata/generic/mg_8.c head/contrib/bind9/lib/dns/rdata/generic/minfo_14.c head/contrib/bind9/lib/dns/rdata/generic/mr_9.c head/contrib/bind9/lib/dns/rdata/generic/mx_15.c head/contrib/bind9/lib/dns/rdata/generic/ns_2.c head/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c head/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c head/contrib/bind9/lib/dns/rdata/generic/nsec_47.c head/contrib/bind9/lib/dns/rdata/generic/null_10.c head/contrib/bind9/lib/dns/rdata/generic/nxt_30.c head/contrib/bind9/lib/dns/rdata/generic/opt_41.c head/contrib/bind9/lib/dns/rdata/generic/proforma.c head/contrib/bind9/lib/dns/rdata/generic/ptr_12.c head/contrib/bind9/lib/dns/rdata/generic/rp_17.c head/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c head/contrib/bind9/lib/dns/rdata/generic/rt_21.c head/contrib/bind9/lib/dns/rdata/generic/sig_24.c head/contrib/bind9/lib/dns/rdata/generic/soa_6.c head/contrib/bind9/lib/dns/rdata/generic/spf_99.c head/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c head/contrib/bind9/lib/dns/rdata/generic/tkey_249.c head/contrib/bind9/lib/dns/rdata/generic/txt_16.c head/contrib/bind9/lib/dns/rdata/generic/unspec_103.c head/contrib/bind9/lib/dns/rdata/generic/x25_19.c head/contrib/bind9/lib/dns/rdata/hs_4/a_1.c head/contrib/bind9/lib/dns/rdata/in_1/a6_38.c head/contrib/bind9/lib/dns/rdata/in_1/a_1.c head/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c head/contrib/bind9/lib/dns/rdata/in_1/apl_42.c head/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c head/contrib/bind9/lib/dns/rdata/in_1/kx_36.c head/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c head/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c head/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c head/contrib/bind9/lib/dns/rdata/in_1/px_26.c head/contrib/bind9/lib/dns/rdata/in_1/srv_33.c head/contrib/bind9/lib/dns/rdata/in_1/wks_11.c head/contrib/bind9/lib/dns/rdatalist.c head/contrib/bind9/lib/dns/rdataset.c head/contrib/bind9/lib/dns/rdataslab.c head/contrib/bind9/lib/dns/request.c head/contrib/bind9/lib/dns/resolver.c head/contrib/bind9/lib/dns/result.c head/contrib/bind9/lib/dns/rootns.c head/contrib/bind9/lib/dns/sdb.c head/contrib/bind9/lib/dns/sdlz.c head/contrib/bind9/lib/dns/soa.c head/contrib/bind9/lib/dns/spnego.c head/contrib/bind9/lib/dns/ssu.c head/contrib/bind9/lib/dns/stats.c head/contrib/bind9/lib/dns/time.c head/contrib/bind9/lib/dns/tkey.c head/contrib/bind9/lib/dns/tsig.c head/contrib/bind9/lib/dns/validator.c head/contrib/bind9/lib/dns/view.c head/contrib/bind9/lib/dns/xfrin.c head/contrib/bind9/lib/dns/zone.c head/contrib/bind9/lib/isc/Makefile.in head/contrib/bind9/lib/isc/alpha/include/isc/atomic.h head/contrib/bind9/lib/isc/api head/contrib/bind9/lib/isc/assertions.c head/contrib/bind9/lib/isc/base32.c head/contrib/bind9/lib/isc/base64.c head/contrib/bind9/lib/isc/entropy.c head/contrib/bind9/lib/isc/hash.c head/contrib/bind9/lib/isc/heap.c head/contrib/bind9/lib/isc/hmacmd5.c head/contrib/bind9/lib/isc/hmacsha.c head/contrib/bind9/lib/isc/httpd.c head/contrib/bind9/lib/isc/ia64/include/isc/atomic.h head/contrib/bind9/lib/isc/include/isc/Makefile.in head/contrib/bind9/lib/isc/include/isc/app.h head/contrib/bind9/lib/isc/include/isc/assertions.h head/contrib/bind9/lib/isc/include/isc/buffer.h head/contrib/bind9/lib/isc/include/isc/entropy.h head/contrib/bind9/lib/isc/include/isc/error.h head/contrib/bind9/lib/isc/include/isc/file.h head/contrib/bind9/lib/isc/include/isc/fsaccess.h head/contrib/bind9/lib/isc/include/isc/hash.h head/contrib/bind9/lib/isc/include/isc/heap.h head/contrib/bind9/lib/isc/include/isc/hmacmd5.h head/contrib/bind9/lib/isc/include/isc/hmacsha.h head/contrib/bind9/lib/isc/include/isc/lib.h head/contrib/bind9/lib/isc/include/isc/log.h head/contrib/bind9/lib/isc/include/isc/md5.h head/contrib/bind9/lib/isc/include/isc/mem.h head/contrib/bind9/lib/isc/include/isc/msgs.h head/contrib/bind9/lib/isc/include/isc/netaddr.h head/contrib/bind9/lib/isc/include/isc/netscope.h head/contrib/bind9/lib/isc/include/isc/platform.h.in head/contrib/bind9/lib/isc/include/isc/portset.h head/contrib/bind9/lib/isc/include/isc/radix.h head/contrib/bind9/lib/isc/include/isc/random.h head/contrib/bind9/lib/isc/include/isc/ratelimiter.h head/contrib/bind9/lib/isc/include/isc/refcount.h head/contrib/bind9/lib/isc/include/isc/result.h head/contrib/bind9/lib/isc/include/isc/resultclass.h head/contrib/bind9/lib/isc/include/isc/serial.h head/contrib/bind9/lib/isc/include/isc/sha1.h head/contrib/bind9/lib/isc/include/isc/sha2.h head/contrib/bind9/lib/isc/include/isc/sockaddr.h head/contrib/bind9/lib/isc/include/isc/socket.h head/contrib/bind9/lib/isc/include/isc/stats.h head/contrib/bind9/lib/isc/include/isc/symtab.h head/contrib/bind9/lib/isc/include/isc/task.h head/contrib/bind9/lib/isc/include/isc/timer.h head/contrib/bind9/lib/isc/include/isc/types.h head/contrib/bind9/lib/isc/include/isc/util.h head/contrib/bind9/lib/isc/inet_aton.c head/contrib/bind9/lib/isc/inet_ntop.c head/contrib/bind9/lib/isc/iterated_hash.c head/contrib/bind9/lib/isc/lib.c head/contrib/bind9/lib/isc/log.c head/contrib/bind9/lib/isc/md5.c head/contrib/bind9/lib/isc/mem.c head/contrib/bind9/lib/isc/netaddr.c head/contrib/bind9/lib/isc/nls/Makefile.in head/contrib/bind9/lib/isc/nothreads/Makefile.in head/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h head/contrib/bind9/lib/isc/print.c head/contrib/bind9/lib/isc/pthreads/Makefile.in head/contrib/bind9/lib/isc/pthreads/mutex.c head/contrib/bind9/lib/isc/radix.c head/contrib/bind9/lib/isc/random.c head/contrib/bind9/lib/isc/rwlock.c head/contrib/bind9/lib/isc/sha1.c head/contrib/bind9/lib/isc/sha2.c head/contrib/bind9/lib/isc/sockaddr.c head/contrib/bind9/lib/isc/stats.c head/contrib/bind9/lib/isc/task.c head/contrib/bind9/lib/isc/task_p.h head/contrib/bind9/lib/isc/timer.c head/contrib/bind9/lib/isc/timer_p.h head/contrib/bind9/lib/isc/unix/Makefile.in head/contrib/bind9/lib/isc/unix/app.c head/contrib/bind9/lib/isc/unix/dir.c head/contrib/bind9/lib/isc/unix/entropy.c head/contrib/bind9/lib/isc/unix/file.c head/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c head/contrib/bind9/lib/isc/unix/ifiter_ioctl.c head/contrib/bind9/lib/isc/unix/include/isc/net.h head/contrib/bind9/lib/isc/unix/include/isc/offset.h head/contrib/bind9/lib/isc/unix/include/isc/strerror.h head/contrib/bind9/lib/isc/unix/include/isc/time.h head/contrib/bind9/lib/isc/unix/interfaceiter.c head/contrib/bind9/lib/isc/unix/resource.c head/contrib/bind9/lib/isc/unix/socket.c head/contrib/bind9/lib/isc/unix/socket_p.h head/contrib/bind9/lib/isc/unix/strerror.c head/contrib/bind9/lib/isccc/Makefile.in head/contrib/bind9/lib/isccc/api head/contrib/bind9/lib/isccfg/Makefile.in head/contrib/bind9/lib/isccfg/aclconf.c head/contrib/bind9/lib/isccfg/api head/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h head/contrib/bind9/lib/isccfg/include/isccfg/cfg.h head/contrib/bind9/lib/isccfg/include/isccfg/grammar.h head/contrib/bind9/lib/isccfg/include/isccfg/log.h head/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h head/contrib/bind9/lib/isccfg/namedconf.c head/contrib/bind9/lib/isccfg/parser.c head/contrib/bind9/lib/lwres/api head/contrib/bind9/lib/lwres/context.c head/contrib/bind9/lib/lwres/context_p.h head/contrib/bind9/lib/lwres/getaddrinfo.c head/contrib/bind9/lib/lwres/getipnode.c head/contrib/bind9/lib/lwres/include/lwres/context.h head/contrib/bind9/lib/lwres/include/lwres/netdb.h.in head/contrib/bind9/lib/lwres/lwconfig.c head/contrib/bind9/lib/lwres/man/lwres.3 head/contrib/bind9/lib/lwres/man/lwres.html head/contrib/bind9/lib/lwres/man/lwres_buffer.3 head/contrib/bind9/lib/lwres/man/lwres_buffer.html head/contrib/bind9/lib/lwres/man/lwres_config.3 head/contrib/bind9/lib/lwres/man/lwres_config.html head/contrib/bind9/lib/lwres/man/lwres_context.3 head/contrib/bind9/lib/lwres/man/lwres_context.html head/contrib/bind9/lib/lwres/man/lwres_gabn.3 head/contrib/bind9/lib/lwres/man/lwres_gabn.html head/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3 head/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html head/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.3 head/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html head/contrib/bind9/lib/lwres/man/lwres_gethostent.3 head/contrib/bind9/lib/lwres/man/lwres_gethostent.html head/contrib/bind9/lib/lwres/man/lwres_getipnode.3 head/contrib/bind9/lib/lwres/man/lwres_getipnode.html head/contrib/bind9/lib/lwres/man/lwres_getnameinfo.3 head/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html head/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.3 head/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html head/contrib/bind9/lib/lwres/man/lwres_gnba.3 head/contrib/bind9/lib/lwres/man/lwres_gnba.html head/contrib/bind9/lib/lwres/man/lwres_hstrerror.3 head/contrib/bind9/lib/lwres/man/lwres_hstrerror.html head/contrib/bind9/lib/lwres/man/lwres_inetntop.3 head/contrib/bind9/lib/lwres/man/lwres_inetntop.html head/contrib/bind9/lib/lwres/man/lwres_noop.3 head/contrib/bind9/lib/lwres/man/lwres_noop.html head/contrib/bind9/lib/lwres/man/lwres_packet.3 head/contrib/bind9/lib/lwres/man/lwres_packet.html head/contrib/bind9/lib/lwres/man/lwres_resutil.3 head/contrib/bind9/lib/lwres/man/lwres_resutil.html head/contrib/bind9/lib/lwres/print_p.h head/contrib/bind9/make/rules.in head/contrib/bind9/version Directory Properties: head/contrib/bind9/ (props changed) Modified: head/contrib/bind9/CHANGES ============================================================================== --- head/contrib/bind9/CHANGES Sat Jul 16 10:51:12 2011 (r224091) +++ head/contrib/bind9/CHANGES Sat Jul 16 11:12:09 2011 (r224092) @@ -1,17 +1,28 @@ - --- 9.6-ESV-R4-P3 released --- + --- 9.8.0-P4 released --- 3124. [bug] Use an rdataset attribute flag to indicate negative-cache records rather than using rrtype 0; this will prevent problems when that rrtype is used in actual DNS packets. [RT #24777] - --- 9.6-ESV-R4-P2 released (withdrawn) --- + --- 9.8.0-P3 released (withdrawn) --- + +3126. [security] Using DNAME record to generate replacements caused + RPZ to exit with a assertion failure. [RT #23766] + +3125. [security] Using wildcard CNAME records as a replacement with + RPZ caused named to exit with a assertion failure. + [RT #24715] 3123. [security] Change #2912 exposed a latent flaw in dns_rdataset_totext() that could cause named to crash with an assertion failure. [RT #24777] - --- 9.6-ESV-R4-P1 released --- +3115. [bug] Named could fail to return requested data when + following a CNAME that points into the same zone. + [RT #2445] + + --- 9.8.0-P2 released --- 3121. [security] An authoritative name server sending a negative response containing a very large RRset could @@ -22,22 +33,114 @@ that validated insecure without using DLV and had DS records in the parent zone. [RT #24631] - --- 9.6-ESV-R4 released --- + --- 9.8.0-P1 released --- + +3100. [security] Certain response policy zone configurations could + trigger an INSIST when receiving a query of type + RRSIG. [RT #24280] + + --- 9.8.0 released --- + +3025. [bug] Fixed a possible deadlock due to zone resigning. + [RT #22964] + +3024. [func] RTT Banding removed due to minor security increase + but major impact on resolver latency. [RT #23310] + +3023. [bug] Named could be left in an inconsistent state when + receiving multiple AXFR response messages that were + not all TSIG-signed. [RT #23254] + +3022. [bug] Fixed rpz SERVFAILs after failed zone transfers + [RT #23246] + +3021. [bug] Change #3010 was incomplete. [RT #22296] + +3020. [bug] auto-dnssec failed to correctly update the zone when + changing the DNSKEY RRset. [RT #23232] + +3019. [test] Test: check apex NSEC3 records after adding DNSKEY + record via UPDATE. [RT #23229] + + --- 9.8.0rc1 released --- + +3018. [bug] Named failed to check for the "none;" acl when deciding + if a zone may need to be re-signed. [RT #23120] + +3017. [doc] dnssec-keyfromlabel -I was not properly documented. + [RT #22887] - --- 9.6.3 released --- +3016. [bug] rndc usage missing '-b'. [RT #22937] + +3015. [port] win32: fix IN6_IS_ADDR_LINKLOCAL and + IN6_IS_ADDR_SITELOCAL macros. [RT #22724] + +3013. [bug] The DNS64 ttl was not always being set as expected. + [RT #23034] + +3012. [bug] Remove DNSKEY TTL change pairs before generating + signing records for any remaining DNSKEY changes. + [RT #22590] + +3011. [func] Allow setting this in named.conf using the new + 'resolver-query-timeout' option, which specifies a max + time in seconds. 0 means 'default' and anything longer + than 30 will be silently set to 30. [RT #22852] + +3010. [bug] Fixed a bug where "rndc reconfig" stopped the timer + for refreshing managed-keys. [RT #22296] 3009. [bug] clients-per-query code didn't work as expected with particular query patterns. [RT #22972] - --- 9.6.3rc1 released --- + --- 9.8.0b1 released --- + +3008. [func] Response policy zones (RPZ) support. [RT #21726] 3007. [bug] Named failed to preserve the case of domain names in rdata which is not compressible when writing master files. [RT #22863] +3006. [func] Allow dynamically generated TSIG keys to be preserved + across restarts of named. Initially this is for + TSIG keys generated using GSSAPI. [RT #22639] + +3005. [port] Solaris: Work around the lack of + gsskrb5_register_acceptor_identity() by setting + the KRB5_KTNAME environment variable to the + contents of tkey-gssapi-keytab. Also fixed + test errors on MacOSX. [RT #22853] + +3004. [func] DNS64 reverse support. [RT #22769] + +3003. [experimental] Added update-policy match type "external", + enabling named to defer the decision of whether to + allow a dynamic update to an external daemon. + (Contributed by Andrew Tridgell.) [RT #22758] + 3002. [bug] isc_mutex_init_errcheck() failed to destroy attr. [RT #22766] +3001. [func] Added a default trust anchor for the root zone, which + can be switched on by setting "dnssec-validation auto;" + in the named.conf options. [RT #21727] + +3000. [bug] More TKEY/GSS fixes: + - nsupdate can now get the default realm from + the user's Kerberos principal + - corrected gsstest compilation flags + - improved documentation + - fixed some NULL dereferences + [RT #22795] + +2999. [func] Add GOST support (RFC 5933). [RT #20639] + +2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive + to the task api. [RT #22776] + +2997. [func] named -V now reports the OpenSSL and libxml2 verions + it was compiled against. [RT #22687] + 2996. [security] Temporarily disable SO_ACCEPTFILTER support. [RT #22589] @@ -48,13 +151,52 @@ do not use threads on earlier versions. Also kill the unproven-pthreads, mit-pthreads, and ptl2 support. +2993. [func] Dynamically grow adb hash tables. [RT #21186] + +2992. [contrib] contrib/check-secure-delegation.pl: A simple tool + for looking at a secure delegation. [RT #22059] + +2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for + dynamic zones. [RT #22365] + +2990. [bug] 'dnssec-settime -S' no longer tests prepublication + interval validity when the interval is set to 0. + [RT #22761] + +2989. [func] Added support for writable DLZ zones. (Contributed + by Andrew Tridgell of the Samba project.) [RT #22629] + +2988. [experimental] Added a "dlopen" DLZ driver, allowing the creation + of external DLZ drivers that can be loaded as + shared objects at runtime rather than linked with + named. Currently this is switched on via a + compile-time option, "configure --with-dlz-dlopen". + Note: the syntax for configuring DLZ zones + is likely to be refined in future releases. + (Contributed by Andrew Tridgell of the Samba + project.) [RT #22629] + +2987. [func] Improve ease of configuring TKEY/GSS updates by + adding a "tkey-gssapi-keytab" option. If set, + updates will be allowed with any key matching + a principal in the specified keytab file. + "tkey-gssapi-credential" is no longer required + and is expected to be deprecated. (Contributed + by Andrew Tridgell of the Samba project.) + [RT #22629] + +2986. [func] Add new zone type "static-stub". It's like a stub + zone, but the nameserver names and/or their IP + addresses are statically configured. [RT #21474] + +2985. [bug] Add a regression test for change #2896. [RT #21324] + 2984. [bug] Don't run MX checks when the target of the MX record is ".". [RT #22645] -2817. [cleanup] Removed unnecessary isc_task_endexclusive() calls. - [RT #20768] +2983. [bug] Include "loadkeys" in rndc help output. [RT #22493] - --- 9.6.3b1 released --- + --- 9.8.0a1 released --- 2982. [bug] Reference count dst keys. dst_key_attach() can be used increment the reference count. @@ -63,34 +205,103 @@ always call dst_key_free() rather than setting it to NULL on success. [RT #22672] +2981. [func] Partial DNS64 support (AAAA synthesis). [RT #21991] + +2980. [bug] named didn't properly handle UPDATES that changed the + TTL of the NSEC3PARAM RRset. [RT #22363] + 2979. [bug] named could deadlock during shutdown if two "rndc stop" commands were issued at the same time. [RT #22108] 2978. [port] hpux: look for [RT #21919] +2977. [bug] 'nsupdate -l' report if the session key is missing. + [RT #21670] + 2976. [bug] named could die on exit after negotiating a GSS-TSIG key. [RT #22573] -2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() aquired the +2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() acquired the wrong lock which could lead to server deadlock. [RT #22614] +2974. [bug] Some valid UPDATE requests could fail due to a + consistency check examining the existing version + of the zone rather than the new version resulting + from the UPDATE. [RT #22413] + +2973. [bug] bind.keys.h was being removed by the "make clean" + at the end of configure resulting in build failures + where there is very old version of perl installed. + Move it to "make maintainer-clean". [RT #22230] + +2972. [bug] win32: address windows socket errors. [RT #21906] + +2971. [bug] Fixed a bug that caused journal files not to be + compacted on Windows systems as a result of + non-POSIX-compliant rename() semantics. [RT #22434] + +2970. [security] Adding a NO DATA negative cache entry failed to clear + any matching RRSIG records. A subsequent lookup of + of NO DATA cache entry could trigger a INSIST when the + unexpected RRSIG was also returned with the NO DATA + cache entry. + + CVE-2010-3613, VU#706148. [RT #22288] + +2969. [security] Fix acl type processing so that allow-query works + in options and view statements. Also add a new + set of tests to verify proper functioning. + + CVE-2010-3615, VU#510208. [RT #22418] + +2968. [security] Named could fail to prove a data set was insecure + before marking it as insecure. One set of conditions + that can trigger this occurs naturally when rolling + DNSKEY algorithms. + + CVE-2010-3614, VU#837744. [RT #22309] + +2967. [bug] 'host -D' now turns on debugging messages earlier. + [RT #22361] + +2966. [bug] isc_print_vsnprintf() failed to check if there was + space available in the buffer when adding a left + justified character with a non zero width, + (e.g. "%-1c"). [RT #22270] + 2965. [func] Test HMAC functions using test data from RFC 2104 and RFC 4634. [RT #21702] +2964. [placeholder] + +2963. [security] The allow-query acl was being applied instead of the + allow-query-cache acl to cache lookups. [RT #22114] + +2962. [port] win32: add more dependencies to BINDBuild.dsw. + [RT #22062] + +2961. [bug] Be still more selective about the non-authoritative + answers we apply change 2748 to. [RT #22074] + 2960. [func] Check that named accepts non-authoritative answers. [RT #21594] 2959. [func] Check that named starts with a missing masterfile. [RT #22076] +2958. [bug] named failed to start with a missing master file. + [RT #22076] + 2957. [bug] entropy_get() and entropy_getpseudo() failed to match the API for RAND_bytes() and RAND_pseudo_bytes() respectively. [RT #21962] 2956. [port] Enable atomic operations on the PowerPC64. [RT #21899] +2955. [func] Provide more detail in the recursing log. [RT #22043] + 2954. [bug] contrib: dlz_mysql_driver.c bad error handling on build_sqldbinstance failure. [RT #21623] @@ -98,10 +309,26 @@ exact match" message when returning a wildcard no data response. [RT #21744] +2952. [port] win32: named-checkzone and named-checkconf failed + to initialise winsock. [RT #21932] + +2951. [bug] named failed to generate a correct signed response + in a optout, delegation only zone with no secure + delegations. [RT #22007] + 2950. [bug] named failed to perform a SOA up to date check when falling back to TCP on UDP timeouts when ixfr-from-differences was set. [RT #21595] +2949. [bug] dns_view_setnewzones() contained a memory leak if + it was called multiple times. [RT #21942] + +2948. [port] MacOS: provide a mechanism to configure the test + interfaces at reboot. See bin/tests/system/README + for details. + +2947. [placeholder] + 2946. [doc] Document the default values for the minimum and maximum zone refresh and retry values in the ARM. [RT #21886] @@ -110,12 +337,59 @@ 2944. [maint] Remove ORCHID prefix from built in empty zones. [RT #21772] +2943. [func] Add support to load new keys into managed zones + without signing immediately with "rndc loadkeys". + Add support to link keys with "dnssec-keygen -S" + and "dnssec-settime -S". [RT #21351] + 2942. [contrib] zone2sqlite failed to setup the entropy sources. [RT #21610] 2941. [bug] sdb and sdlz (dlz's zone database) failed to support DNAME at the zone apex. [RT #21610] +2940. [port] Remove connection aborted error message on + Windows. [RT #21549] + +2939. [func] Check that named successfully skips NSEC3 records + that fail to match the NSEC3PARAM record currently + in use. [RT# 21868] + +2938. [bug] When generating signed responses, from a signed zone + that uses NSEC3, named would use a uninitialised + pointer if it needed to skip a NSEC3 record because + it didn't match the selected NSEC3PARAM record for + zone. [RT# 21868] + +2937. [bug] Worked around an apparent race condition in over + memory conditions. Without this fix a DNS cache DB or + ADB could incorrectly stay in an over memory state, + effectively refusing further caching, which + subsequently made a BIND 9 caching server unworkable. + This fix prevents this problem from happening by + polling the state of the memory context, rather than + making a copy of the state, which appeared to cause + a race. This is a "workaround" in that it doesn't + solve the possible race per se, but several experiments + proved this change solves the symptom. Also, the + polling overhead hasn't been reported to be an issue. + This bug should only affect a caching server that + specifies a finite max-cache-size. It's also quite + likely that the bug happens only when enabling threads, + but it's not confirmed yet. [RT #21818] + +2936. [func] Improved configuration syntax and multiple-view + support for addzone/delzone feature (see change + #2930). Removed "new-zone-file" option, replaced + with "allow-new-zones (yes|no)". The new-zone-file + for each view is now created automatically, with + a filename generated from a hash of the view name. + It is no longer necessary to "include" the + new-zone-file in named.conf; this happens + automatically. Zones that were not added via + "rndc addzone" can no longer be removed with + "rndc delzone". [RT #19447] + 2935. [bug] nsupdate: improve 'file not found' error message. [RT #21871] @@ -136,6 +410,17 @@ revisit the issue and complete the fix later. [RT #21710] +2930. [experimental] New "rndc addzone" and "rndc delzone" commads + allow dynamic addition and deletion of zones. + To enable this feature, specify a "new-zone-file" + option at the view or options level in named.conf. + Zone configuration information for the new zones + will be written into that file. To make the new + zones persist after a restart, "include" the file + into named.conf in the appropriate view. (Note: + This feature is not yet documented, and its syntax + is expected to change.) [RT #19447] + 2929. [bug] Improved handling of GSS security contexts: - added LRU expiration for generated TSIGs - added the ability to use a non-default realm @@ -145,19 +430,49 @@ smaller) [RT #19737] +2928. [bug] Be more selective about the non-authoritative + answer we apply change 2748 to. [RT #21594] + +2927. [placeholder] + +2926. [placeholder] +h +2925. [bug] Named failed to accept uncachable negative responses + from insecure zones. [RT# 21555] + +2924. [func] 'rndc secroots' dump a combined summary of the + current managed keys combined with trusted keys. + [RT #20904] + 2923. [bug] 'dig +trace' could drop core after "connection timeout". [RT #21514] 2922. [contrib] Update zkt to version 1.0. +2921. [bug] The resolver could attempt to destroy a fetch context + too soon. [RT #19878] + +2920. [func] Allow 'filter-aaaa-on-v4' to be applied selectively + to IPv4 clients. New acl 'filter-aaaa' (default any). + +2919. [func] Add autosign-ksk and autosign-zsk virtual time tests. + [RT #20840] + 2918. [maint] Add AAAA address for I.ROOT-SERVERS.NET. +2917. [func] Virtual time test framework. [RT #20801] + 2916. [func] Add framework to use IPv6 in tests. fd92:7065:b8e:ffff::1 ... fd92:7065:b8e:ffff::7 2915. [cleanup] Be smarter about which objects we attempt to compile based on configure options. [RT #21444] +2914. [bug] Make the "autosign" system test more portable. + [RT #20997] + +2913. [func] Add pkcs#11 system tests. [RT #20784] + 2912. [func] Windows clients don't like UPDATE responses that clear the zone section. [RT #20986] @@ -166,9 +481,17 @@ 2910. [func] Sanity check Kerberos credentials. [RT #20986] +2909. [bug] named-checkconf -p could die if "update-policy local;" + was specified in named.conf. [RT #21416] + 2908. [bug] It was possible for re-signing to stop after removing a DNSKEY. [RT #21384] +2907. [bug] The export version of libdns had undefined references. + [RT #21444] + +2906. [bug] Address RFC 5011 implementation issues. [RT #20903] + 2905. [port] aix: set use_atomic=yes with native compiler. [RT #21402] @@ -177,23 +500,55 @@ secure leading to negative proofs failing. This was a unintended outcome from change 2890. [RT# 21392] +2903. [bug] managed-keys-directory missing from namedconf.c. + [RT #21370] + +2902. [func] Add regression test for change 2897. [RT #21040] + 2901. [port] Use AC_C_FLEXIBLE_ARRAY_MEMBER. [RT #21316] +2900. [bug] The placeholder negative caching element was not + properly constructed triggering a INSIST in + dns_ncache_towire(). [RT #21346] + 2899. [port] win32: Support linking against OpenSSL 1.0.0. 2898. [bug] nslookup leaked memory when -domain=value was specified. [RT #21301] +2897. [bug] NSEC3 chains could be left behind when transitioning + to insecure. [RT #21040] + +2896. [bug] "rndc sign" failed to properly update the zone + when adding a DNSKEY for publication only. [RT #21045] + +2895. [func] genrandom: add support for the generation of multiple + files. [RT #20917] + 2894. [contrib] DLZ LDAP support now use '$' not '%'. [RT #21294] +2893. [bug] Improve managed keys support. New named.conf option + managed-keys-directory. [RT #20924] + +2892. [bug] Handle REVOKED keys better. [RT #20961] + 2891. [maint] Update empty-zones list to match draft-ietf-dnsop-default-local-zones-13. [RT# 21099] +2890. [bug] Handle the introduction of new trusted-keys and + DS, DLV RRsets better. [RT #21097] + 2889. [bug] Elements of the grammar where not properly reported. [RT #21046] 2888. [bug] Only the first EDNS option was displayed. [RT #21273] +2887. [bug] Report the keytag times in UTC in the .key file, + local time is presented as a comment within the + comment. [RT #21223] + +2886. [bug] ctime() is not thread safe. [RT #21223] + 2885. [bug] Improve -fno-strict-aliasing support probing in configure. [RT #21080] @@ -209,12 +564,21 @@ 2881. [bug] Reduce the amount of time the rbtdb write lock is held when closing a version. [RT #21198] +2880. [cleanup] Make the output of dnssec-keygen and dnssec-revoke + consistent. [RT #21078] + 2879. [contrib] DLZ bdbhpt driver fails to close correct cursor. [RT #21106] +2878. [func] Incrementally write the master file after performing + a AXFR. [RT #21010] + 2877. [bug] The validator failed to skip obviously mismatching RRSIGs. [RT #21138] +2876. [bug] Named could return SERVFAIL for negative responses + from unsigned zones. [RT #21131] + 2875. [bug] dns_time64_fromtext() could accept non digits. [RT #21033] @@ -222,8 +586,22 @@ successfully responds to the query using plain DNS. [RT #20930] +2873. [bug] Cancelling a dynamic update via the dns/client module + could trigger an assertion failure. [RT #21133] + +2872. [bug] Modify dns/client.c:dns_client_createx() to only + require one of IPv4 or IPv6 rather than both. + [RT #21122] + +2871. [bug] Type mismatch in mem_api.c between the definition and + the header file, causing build failure with + --enable-exportlib. [RT #21138] + 2870. [maint] Add AAAA address for L.ROOT-SERVERS.NET. +2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. + [RT #20877] + 2868. [cleanup] Run "make clean" at the end of configure to ensure any changes made by configure are integrated. Use --with-make-clean=no to disable. [RT #20994] @@ -245,6 +623,11 @@ 2862. [bug] nsupdate didn't default to the parent zone when updating DS records. [RT #20896] +2861. [doc] dnssec-settime man pages didn't correctly document the + inactivation time. [RT #21039] + +2860. [bug] named-checkconf's usage was out of date. [RT #21039] + 2859. [bug] When cancelling validation it was possible to leak memory. [RT #20800] @@ -257,111 +640,18 @@ 2856. [bug] The size of a memory allocation was not always properly recorded. [RT #20927] -2853. [bug] add_sigs() could run out of scratch space. [RT #21015] - -2851. [doc] nslookup.1, removed from the docbook - source as it produced bad nroff. [RT #21007] - - --- 9.6-ESV-R3 released --- - -2972. [bug] win32: address windows socket errors. [RT #21906] - -2971. [bug] Fixed a bug that caused journal files not to be - compacted on Windows systems as a result of - non-POSIX-compliant rename() semantics. [RT #22434] - -2970. [security] Adding a NO DATA negative cache entry failed to clear - any matching RRSIG records. A subsequent lookup of - of NO DATA cache entry could trigger a INSIST when the - unexpected RRSIG was also returned with the NO DATA - cache entry. - - CVE-2010-3613, VU#706148. [RT #22288] - -2969. [security] Fix acl type processing so that allow-query works - in options and view statements. Also add a new - set of tests to verify proper functioning. - - CVE-2010-3615, VU#510208. [RT #22418] - -2968. [security] Named could fail to prove a data set was insecure - before marking it as insecure. One set of conditions - that can trigger this occurs naturally when rolling - DNSKEY algorithms. - - CVE-2010-3614, VU#837744. [RT #22309] - -2967. [bug] 'host -D' now turns on debugging messages earlier. - [RT #22361] - -2966. [bug] isc_print_vsnprintf() failed to check if there was - space available in the buffer when adding a left - justified character with a non zero width, - (e.g. "%-1c"). [RT #22270] - -2964. [bug] view->queryacl was being overloaded. Seperate the - usage into view->queryacl, view->cacheacl and - view->queryonacl. [RT #22114] - -2962. [port] win32: add more dependencies to BINDBuild.dsw. - [RT #22062] - -2952. [port] win32: named-checkzone and named-checkconf failed - to initialise winsock. [RT #21932] - -2951. [bug] named failed to generate a correct signed response - in a optout, delegation only zone with no secure - delegations. [RT #22007] - - --- 9.6-ESV-R2 released --- - -2939. [func] Check that named successfully skips NSEC3 records - that fail to match the NSEC3PARAM record currently - in use. [RT# 21868] - -2937. [bug] Worked around an apparent race condition in over - memory conditions. Without this fix a DNS cache DB or - ADB could incorrectly stay in an over memory state, - effectively refusing further caching, which - subsequently made a BIND 9 caching server unworkable. - This fix prevents this problem from happening by - polling the state of the memory context, rather than - making a copy of the state, which appeared to cause - a race. This is a "workaround" in that it doesn't - solve the possible race per se, but several experiments - proved this change solves the symptom. Also, the - polling overhead hasn't been reported to be an issue. - This bug should only affect a caching server that - specifies a finite max-cache-size. It's also quite - likely that the bug happens only when enabling threads, - but it's not confirmed yet. [RT #21818] - -2925. [bug] Named failed to accept uncachable negative responses - from insecure zones. [RT# 21555] +2855. [func] nsupdate will now preserve the entered case of domain + names in update requests it sends. [RT #20928] -2921. [bug] The resolver could attempt to destroy a fetch context - too soon. [RT #19878] +2854. [func] dig: allow the final soa record in a axfr response to + be suppressed, dig +onesoa. [RT #20929] -2900. [bug] The placeholder negative caching element was not - properly constructed triggering a INSIST in - dns_ncache_towire(). [RT #21346] - -2890. [bug] Handle the introduction of new trusted-keys and - DS, DLV RRsets better. [RT #21097] - -2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. - [RT #20877] - - --- 9.6-ESV-R1 released --- - -2876. [bug] Named could return SERVFAIL for negative responses - from unsigned zones. [RT #21131] - - --- 9.6-ESV released --- +2853. [bug] add_sigs() could run out of scratch space. [RT #21015] 2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619] - --- 9.6.2 released --- +2851. [doc] nslookup.1, removed from the docbook + source as it produced bad nroff. [RT #21007] 2850. [bug] If isc_heap_insert() failed due to memory shortage the heap would have corrupted entries. [RT #20951] @@ -369,61 +659,225 @@ 2849. [bug] Don't treat errors from the xml2 library as fatal. [RT #20945] +2848. [doc] Moved README.dnssec, README.libdns, README.pkcs11 and + README.rfc5011 into the ARM. [RT #20899] + +2847. [cleanup] Corrected usage message in dnssec-settime. [RT #20921] + 2846. [bug] EOF on unix domain sockets was not being handled correctly. [RT #20731] +2845. [bug] RFC 5011 client could crash on shutdown. [RT #20903] + 2844. [doc] notify-delay default in ARM was wrong. It should have been five (5) seconds. - --- 9.6.2rc1 released --- +2843. [func] Prevent dnssec-keygen and dnssec-keyfromlabel from + creating key files if there is a chance that the new + key ID will collide with an existing one after + either of the keys has been revoked. (To override + this in the case of dnssec-keyfromlabel, use the -y + option. dnssec-keygen will simply create a + different, non-colliding key, so an override is + not necessary.) [RT #20838] + +2842. [func] Added "smartsign" and improved "autosign" and + "dnssec" regression tests. [RT #20865] + +2841. [bug] Change 2836 was not complete. [RT #20883] -2838. [func] Backport support for SHA-2 DNSSEC algorithms, - RSASHA256 and RSASHA512, from BIND 9.7. (This - incorporates changes 2726 and 2738 from that - release branch.) [RT #20871] +2840. [bug] Temporary fixed pkcs11-destroy usage check. + [RT #20760] + +2839. [bug] A KSK revoked by named could not be deleted. + [RT #20881] + +2838. [placeholder] 2837. [port] Prevent Linux spurious warnings about fwrite(). [RT #20812] +2836. [bug] Keys that were scheduled to become active could + be delayed. [RT #20874] + +2835. [bug] Key inactivity dates were inadvertently stored in + the private key file with the outdated tag + "Unpublish" rather than "Inactive". This has been + fixed; however, any existing keys that had Inactive + dates set will now need to have them reset, using + 'dnssec-settime -I'. [RT #20868] + +2834. [bug] HMAC-SHA* keys that were longer than the algorithm + digest length were used incorrectly, leading to + interoperability problems with other DNS + implementations. This has been corrected. + (Note: If an oversize key is in use, and + compatibility is needed with an older release of + BIND, the new tool "isc-hmac-fixup" can convert + the key secret to a form that will work with all + versions.) [RT #20751] + +2833. [cleanup] Fix usage messages in dnssec-keygen and dnssec-settime. + [RT #20851] + +2832. [bug] Modify "struct stat" in lib/export/samples/nsprobe.c + to avoid redefinition in some OSs [RT 20831] + 2831. [security] Do not attempt to validate or cache out-of-bailiwick data returned with a secure answer; it must be re-fetched from its original source and validated in that context. [RT #20819] +2830. [bug] Changing the OPTOUT setting could take multiple + passes. [RT #20813] + +2829. [bug] Fixed potential node inconsistency in rbtdb.c. + [RT #20808] + 2828. [security] Cached CNAME or DNAME RR could be returned to clients without DNSSEC validation. [RT #20737] 2827. [security] Bogus NXDOMAIN could be cached as if valid. [RT #20712] +2826. [bug] NSEC3->NSEC transitions could fail due to a lock not + being released. [RT #20740] + 2825. [bug] Changing the setting of OPTOUT in a NSEC3 chain that was in the process of being created was not properly recorded in the zone. [RT #20786] +2824. [bug] "rndc sign" was not being run by the correct task. + [RT #20759] + 2823. [bug] rbtdb.c:getsigningtime() was missing locks. [RT #20781] +2822. [bug] rbtdb.c:loadnode() could return the wrong result. + [RT #20802] + +2821. [doc] Add note that named-checkconf doesn't automatically + read rndc.key and bind.keys [RT #20758] + +2820. [func] Handle read access failure of OpenSSL configuration + file more user friendly (PKCS#11 engine patch). + [RT #20668] + 2819. [cleanup] Removed unnecessary DNS_POINTER_MAXHOPS define. [RT #20771] 2818. [cleanup] rndc could return an incorrect error code when a zone was not found. [RT #20767] +2817. [cleanup] Removed unnecessary isc_task_endexclusive() calls. + [RT #20768] + +2816. [bug] previous_closest_nsec() could fail to return + data for NSEC3 nodes [RT #29730] + 2815. [bug] Exclusively lock the task when freezing a zone. [RT #19838] 2814. [func] Provide a definitive error message when a master zone is not loaded. [RT #20757] - --- 9.6.2b1 released --- +2813. [bug] Better handling of unreadable DNSSEC key files. + [RT #20710] + +2812. [bug] Make sure updates can't result in a zone with + NSEC-only keys and NSEC3 records. [RT 20748] + +2811. [cleanup] Add "rndc sign" to list of commands in rndc usage + output. [RT #20733] + +2810. [doc] Clarified the process of transitioning an NSEC3 zone + to insecure. [RT #20746] + +2809. [cleanup] Restored accidentally-deleted text in usage output + in dnssec-settime and dnssec-revoke [RT #20739] + +2808. [bug] Remove the attempt to install atomic.h from lib/isc. + atomic.h is correctly installed by the architecture + specific subdirectories. [RT #20722] + +2807. [bug] Fixed a possible ASSERT when reconfiguring zone + keys. [RT #20720] + + --- 9.7.0rc1 released --- + +2806. [bug] "rdnc sign" could delay re-signing the DNSKEY + when it had changed. [RT #20703] + +2805. [bug] Fixed namespace problems encountered when building + external programs using non-exported BIND9 libraries + (i.e., built without --enable-exportlib). [RT #20679] + +2804. [bug] Send notifies when a zone is signed with "rndc sign" + or as a result of a scheduled key change. [RT #20700] + +2803. [port] win32: Install named-journalprint, nsec3hash, arpaname + and genrandom under windows. [RT #20670] + +2802. [cleanup] Rename journalprint to named-journalprint. [RT #20670] + +2801. [func] Detect and report records that are different according + to DNSSEC but are semantically equal according to plain + DNS. Apply plain DNS comparisons rather than DNSSEC + comparisons when processing UPDATE requests. + dnssec-signzone now removes such semantically duplicate + records prior to signing the RRset. + + named-checkzone -r {ignore|warn|fail} (default warn) + named-compilezone -r {ignore|warn|fail} (default warn) + + named.conf: check-dup-records {ignore|warn|fail}; + +2800. [func] Reject zones which have NS records which refer to + CNAMEs, DNAMEs or don't have address record (class IN + only). Reject UPDATEs which would cause the zone + to fail the above checks if committed. [RT #20678] + +2799. [cleanup] Changed the "secure-to-insecure" option to + "dnssec-secure-to-insecure", and "dnskey-ksk-only" + to "dnssec-dnskey-kskonly", for clarity. [RT #20586] + +2798. [bug] Addressed bugs in managed-keys initialization + and rollover. [RT #20683] 2797. [bug] Don't decrement the dispatch manager's maxbuffers. [RT #20613] +2796. [bug] Missing dns_rdataset_disassociate() call in + dns_nsec3_delnsec3sx(). [RT #20681] + +2795. [cleanup] Add text to differentiate "update with no effect" + log messages. [RT #18889] + +2794. [bug] Install . [RT #20677] + +2793. [func] Add "autosign" and "metadata" tests to the + automatic tests. [RT #19946] + +2792. [func] "filter-aaaa-on-v4" can now be set in view + options (if compiled in). [RT #20635] + +2791. [bug] The installation of isc-config.sh was broken. + [RT #20667] + 2790. [bug] Handle DS queries to stub zones. [RT #20440] 2789. [bug] Fixed an INSIST in dispatch.c [RT #20576] +2788. [bug] dnssec-signzone could sign with keys that were + not requested [RT #20625] + +2787. [bug] Spurious log message when zone keys were + dynamically reconfigured. [RT #20659] + 2786. [bug] Additional could be promoted to answer. [RT #20663] + --- 9.7.0b3 released --- + +2785. [bug] Revoked keys could fail to self-sign [RT #20652] + 2784. [bug] TC was not always being set when required glue was dropped. [RT #20655] @@ -433,15 +887,65 @@ 2782. [port] win32: use getaddrinfo() for hostname lookups. [RT #20650] +2781. [bug] Inactive keys could be used for signing. [RT #20649] + +2780. [bug] dnssec-keygen -A none didn't properly unset the + activation date in all cases. [RT #20648] + +2779. [bug] Dynamic key revocation could fail. [RT #20644] + +2778. [bug] dnssec-signzone could fail when a key was revoked + without deleting the unrevoked version. [RT #20638] + 2777. [contrib] DLZ MYSQL auto reconnect support discovery was wrong. +2776. [bug] Change #2762 was not correct. [RT #20647] + +2775. [bug] Accept RSASHA256 and RSASHA512 as NSEC3 compatible + in dnssec-keyfromlabel. [RT #20643] + +2774. [bug] Existing cache DB wasn't being reused after + reconfiguration. [RT #20629] + +2773. [bug] In autosigned zones, the SOA could be signed + with the KSK. [RT #20628] + 2772. [security] When validating, track whether pending data was from the additional section or not and only return it if validates as secure. [RT #20438] +2771. [bug] dnssec-signzone: DNSKEY records could be + corrupted when importing from key files [RT #20624] + +2770. [cleanup] Add log messages to resolver.c to indicate events + causing FORMERR responses. [RT #20526] + +2769. [cleanup] Change #2742 was incomplete. [RT #19589] + +2768. [bug] dnssec-signzone: -S no longer implies -g [RT #20568] + +2767. [bug] named could crash on startup if a zone was + configured with auto-dnssec and there was no + key-directory. [RT #20615] + +2766. [bug] isc_socket_fdwatchpoke() should only update the + socketmgr state if the socket is not pending on a + read or write. [RT #20603] + 2765. [bug] Skip masters for which the TSIG key cannot be found. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 11:20:55 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49F0F106564A; Sat, 16 Jul 2011 11:20:55 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 351A38FC12; Sat, 16 Jul 2011 11:20:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GBKtdB025771; Sat, 16 Jul 2011 11:20:55 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GBKtFp025762; Sat, 16 Jul 2011 11:20:55 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161120.p6GBKtFp025762@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 11:20:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224093 - in head: lib/bind lib/bind/dns lib/bind/dns/dns lib/bind/isc lib/bind/isc/isc lib/bind/lwres/lwres share/doc/bind9 usr.bin/nsupdate usr.sbin usr.sbin/arpaname usr.sbin/ddns-co... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 11:20:55 -0000 Author: dougb Date: Sat Jul 16 11:20:54 2011 New Revision: 224093 URL: http://svn.freebsd.org/changeset/base/224093 Log: bmake and other updates necessary for the BIND 9.8.x upgrade. This includes a structural change regarding atomic ops. Previously they were enabled on all platforms unless we had knowledge that they did not work. However both work performed by marius@ on sparc64 and the fact that the 9.8.x branch is fussier in this area has demonstrated that this is not a safe approach. So I've modified a patch provided by marius to enable them for i386, amd64, and ia64 only. Added: head/lib/bind/isc/backtrace-emptytbl.c (contents, props changed) head/usr.sbin/arpaname/ head/usr.sbin/arpaname/Makefile (contents, props changed) head/usr.sbin/ddns-confgen/ head/usr.sbin/ddns-confgen/Makefile (contents, props changed) head/usr.sbin/dnssec-revoke/ head/usr.sbin/dnssec-revoke/Makefile (contents, props changed) head/usr.sbin/dnssec-settime/ head/usr.sbin/dnssec-settime/Makefile (contents, props changed) head/usr.sbin/genrandom/ head/usr.sbin/genrandom/Makefile (contents, props changed) head/usr.sbin/isc-hmac-fixup/ head/usr.sbin/isc-hmac-fixup/Makefile (contents, props changed) head/usr.sbin/named-journalprint/ head/usr.sbin/named-journalprint/Makefile (contents, props changed) head/usr.sbin/nsec3hash/ head/usr.sbin/nsec3hash/Makefile (contents, props changed) Modified: head/lib/bind/Makefile head/lib/bind/config.h head/lib/bind/config.mk head/lib/bind/dns/Makefile head/lib/bind/dns/code.h head/lib/bind/dns/dns/enumtype.h head/lib/bind/dns/dns/rdatastruct.h head/lib/bind/isc/Makefile head/lib/bind/isc/isc/platform.h head/lib/bind/lwres/lwres/netdb.h head/lib/bind/lwres/lwres/platform.h head/share/doc/bind9/Makefile head/usr.bin/nsupdate/Makefile head/usr.sbin/Makefile head/usr.sbin/dnssec-signzone/Makefile head/usr.sbin/named-checkconf/Makefile head/usr.sbin/named/Makefile head/usr.sbin/rndc-confgen/Makefile head/usr.sbin/rndc/Makefile Modified: head/lib/bind/Makefile ============================================================================== --- head/lib/bind/Makefile Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/Makefile Sat Jul 16 11:20:54 2011 (r224093) @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= bind9 dns isc isccc isccfg lwres +SUBDIR= isc isccc dns isccfg bind9 lwres .include Modified: head/lib/bind/config.h ============================================================================== --- head/lib/bind/config.h Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/config.h Sat Jul 16 11:20:54 2011 (r224093) @@ -3,7 +3,7 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.in by autoheader. */ /* - * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -19,7 +19,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: acconfig.h,v 1.51.334.2 2009/02/16 23:47:15 tbox Exp $ */ +/* $Id: acconfig.h,v 1.53 2008-12-01 23:47:44 tbox Exp $ */ /*! \file */ @@ -150,6 +150,9 @@ int sigwait(const unsigned int *set, int /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ +/* Define to enable the "filter-aaaa-on-v4" option. */ +/* #undef ALLOW_FILTER_AAAA_ON_V4 */ + /* Define if recvmsg() does not meet all of the BSD socket API specifications. */ /* #undef BROKEN_RECVMSG */ @@ -160,6 +163,12 @@ int sigwait(const unsigned int *set, int /* Define to enable "rrset-order fixed" syntax. */ /* #undef DNS_RDATASET_FIXED */ +/* Define to enable rpz-nsdname rules. */ +/* #undef ENABLE_RPZ_NSDNAME */ + +/* Define to enable rpz-nsip rules. */ +/* #undef ENABLE_RPZ_NSIP */ + /* Solaris hack to get select_large_fdset. */ /* #undef FD_SETSIZE */ @@ -193,9 +202,15 @@ int sigwait(const unsigned int *set, int /* Define to 1 if you have the header file. */ /* #undef HAVE_GSSAPI_GSSAPI_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GSSAPI_GSSAPI_KRB5_H */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_GSSAPI_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GSSAPI_KRB5_H */ + /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 @@ -214,6 +229,9 @@ int sigwait(const unsigned int *set, int /* Define to 1 if you have the `cap' library (-lcap). */ /* #undef HAVE_LIBCAP */ +/* if system have backtrace function */ +/* #undef HAVE_LIBCTRACE */ + /* Define to 1 if you have the `c_r' library (-lc_r). */ /* #undef HAVE_LIBC_R */ @@ -250,9 +268,27 @@ int sigwait(const unsigned int *set, int /* Define to 1 if you have the header file. */ /* #undef HAVE_NET_IF6_H */ +/* Define if your OpenSSL version supports GOST. */ +/* #undef HAVE_OPENSSL_GOST */ + +/* Define to 1 if you have the header file. */ +#define HAVE_REGEX_H 1 + +/* Define to 1 if you have the `setegid' function. */ +#define HAVE_SETEGID 1 + +/* Define to 1 if you have the `seteuid' function. */ +#define HAVE_SETEUID 1 + /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 +/* Define to 1 if you have the `setresgid' function. */ +#define HAVE_SETRESGID 1 + +/* Define to 1 if you have the `setresuid' function. */ +#define HAVE_SETRESUID 1 + /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 @@ -307,6 +343,15 @@ int sigwait(const unsigned int *set, int /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 +/* return type of gai_strerror */ +#define IRS_GAISTRERROR_RETURN_T const char * + +/* Define to the buffer length type used by getnameinfo(3). */ +#define IRS_GETNAMEINFO_BUFLEN_T size_t + +/* Define to the flags type used by getnameinfo(3). */ +#define IRS_GETNAMEINFO_FLAGS_T int + /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #define LT_OBJDIR ".libs/" @@ -368,11 +413,8 @@ int sigwait(const unsigned int *set, int /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus +/* Define to empty if your compiler does not support "static inline". */ #define inline /**/ -#endif /* Define to `unsigned int' if does not define. */ /* #undef size_t */ Modified: head/lib/bind/config.mk ============================================================================== --- head/lib/bind/config.mk Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/config.mk Sat Jul 16 11:20:54 2011 (r224093) @@ -67,8 +67,10 @@ CFLAGS+= -I${LIB_BIND_DIR} # Use the right version of the atomic.h file from lib/isc .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" ISC_ATOMIC_ARCH= x86_32 +.elif ${MACHINE_ARCH} == "ia64" +ISC_ATOMIC_ARCH= ia64 .else -ISC_ATOMIC_ARCH= ${MACHINE_CPUARCH} +ISC_ATOMIC_ARCH= noatomic .endif # Optional features Modified: head/lib/bind/dns/Makefile ============================================================================== --- head/lib/bind/dns/Makefile Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/dns/Makefile Sat Jul 16 11:20:54 2011 (r224093) @@ -15,26 +15,24 @@ LIB= dns SRCS+= acache.c acl.c adb.c byaddr.c \ cache.c callbacks.c compress.c \ db.c dbiterator.c dbtable.c diff.c dispatch.c \ - dlz.c dnssec.c ds.c \ + dlz.c dns64.c dnssec.c ds.c \ dst_api.c dst_lib.c dst_parse.c dst_result.c \ forward.c \ gssapi_link.c gssapictx.c hmac_link.c \ - iptable.c \ - journal.c \ + iptable.c journal.c \ key.c \ - keytable.c \ - lib.c log.c lookup.c \ + keydata.c keytable.c lib.c log.c lookup.c \ master.c masterdump.c message.c \ name.c ncache.c nsec.c nsec3.c \ openssl_link.c openssldh_link.c \ - openssldsa_link.c opensslrsa_link.c \ - order.c peer.c portlist.c \ - rbt.c rbtdb.c rbtdb64.c rcode.c rdata.c \ - rdatalist.c \ + openssldsa_link.c opensslgost_link.c opensslrsa_link.c \ + order.c peer.c portlist.c private.c \ + rbt.c rbtdb.c rbtdb64.c rcode.c rdata.c rdatalist.c \ rdataset.c rdatasetiter.c rdataslab.c request.c \ - resolver.c result.c rootns.c sdb.c sdlz.c soa.c ssu.c \ + resolver.c result.c rootns.c rpz.c rriterator.c \ + sdb.c sdlz.c soa.c ssu.c ssu_external.c \ stats.c tcpmsg.c time.c timer.c tkey.c \ - tsig.c ttl.c validator.c \ + tsec.c tsig.c ttl.c validator.c \ version.c view.c xfrin.c zone.c zonekey.c zt.c CFLAGS+= -I${SRCDIR}/include/dst -I${SRCDIR}/include -I${SRCDIR} @@ -84,6 +82,7 @@ DNSINCS= ${SRCDIR}/include/dns/acache.h ${SRCDIR}/include/dns/order.h \ ${SRCDIR}/include/dns/peer.h \ ${SRCDIR}/include/dns/portlist.h \ + ${SRCDIR}/include/dns/private.h \ ${SRCDIR}/include/dns/rbt.h \ ${SRCDIR}/include/dns/rcode.h \ ${SRCDIR}/include/dns/rdata.h \ Modified: head/lib/bind/dns/code.h ============================================================================== --- head/lib/bind/dns/code.h Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/dns/code.h Sat Jul 16 11:20:54 2011 (r224093) @@ -83,11 +83,13 @@ #include "rdata/in_1/dhcid_49.c" #include "rdata/generic/nsec3_50.c" #include "rdata/generic/nsec3param_51.c" +#include "rdata/generic/hip_55.c" #include "rdata/generic/spf_99.c" #include "rdata/generic/unspec_103.c" #include "rdata/generic/tkey_249.c" #include "rdata/any_255/tsig_250.c" #include "rdata/generic/dlv_32769.c" +#include "rdata/generic/keydata_65533.c" @@ -190,6 +192,7 @@ break; \ case 50: result = fromtext_nsec3(rdclass, type, lexer, origin, options, target, callbacks); break; \ case 51: result = fromtext_nsec3param(rdclass, type, lexer, origin, options, target, callbacks); break; \ + case 55: result = fromtext_hip(rdclass, type, lexer, origin, options, target, callbacks); break; \ case 99: result = fromtext_spf(rdclass, type, lexer, origin, options, target, callbacks); break; \ case 103: result = fromtext_unspec(rdclass, type, lexer, origin, options, target, callbacks); break; \ case 249: result = fromtext_tkey(rdclass, type, lexer, origin, options, target, callbacks); break; \ @@ -199,6 +202,7 @@ } \ break; \ case 32769: result = fromtext_dlv(rdclass, type, lexer, origin, options, target, callbacks); break; \ + case 65533: result = fromtext_keydata(rdclass, type, lexer, origin, options, target, callbacks); break; \ default: result = DNS_R_UNKNOWN; break; \ } @@ -301,6 +305,7 @@ break; \ case 50: result = totext_nsec3(rdata, tctx, target); break; \ case 51: result = totext_nsec3param(rdata, tctx, target); break; \ + case 55: result = totext_hip(rdata, tctx, target); break; \ case 99: result = totext_spf(rdata, tctx, target); break; \ case 103: result = totext_unspec(rdata, tctx, target); break; \ case 249: result = totext_tkey(rdata, tctx, target); break; \ @@ -310,6 +315,7 @@ } \ break; \ case 32769: result = totext_dlv(rdata, tctx, target); break; \ + case 65533: result = totext_keydata(rdata, tctx, target); break; \ default: use_default = ISC_TRUE; break; \ } @@ -412,6 +418,7 @@ break; \ case 50: result = fromwire_nsec3(rdclass, type, source, dctx, options, target); break; \ case 51: result = fromwire_nsec3param(rdclass, type, source, dctx, options, target); break; \ + case 55: result = fromwire_hip(rdclass, type, source, dctx, options, target); break; \ case 99: result = fromwire_spf(rdclass, type, source, dctx, options, target); break; \ case 103: result = fromwire_unspec(rdclass, type, source, dctx, options, target); break; \ case 249: result = fromwire_tkey(rdclass, type, source, dctx, options, target); break; \ @@ -421,6 +428,7 @@ } \ break; \ case 32769: result = fromwire_dlv(rdclass, type, source, dctx, options, target); break; \ + case 65533: result = fromwire_keydata(rdclass, type, source, dctx, options, target); break; \ default: use_default = ISC_TRUE; break; \ } @@ -523,6 +531,7 @@ break; \ case 50: result = towire_nsec3(rdata, cctx, target); break; \ case 51: result = towire_nsec3param(rdata, cctx, target); break; \ + case 55: result = towire_hip(rdata, cctx, target); break; \ case 99: result = towire_spf(rdata, cctx, target); break; \ case 103: result = towire_unspec(rdata, cctx, target); break; \ case 249: result = towire_tkey(rdata, cctx, target); break; \ @@ -532,6 +541,7 @@ } \ break; \ case 32769: result = towire_dlv(rdata, cctx, target); break; \ + case 65533: result = towire_keydata(rdata, cctx, target); break; \ default: use_default = ISC_TRUE; break; \ } @@ -634,6 +644,7 @@ break; \ case 50: result = compare_nsec3(rdata1, rdata2); break; \ case 51: result = compare_nsec3param(rdata1, rdata2); break; \ + case 55: result = compare_hip(rdata1, rdata2); break; \ case 99: result = compare_spf(rdata1, rdata2); break; \ case 103: result = compare_unspec(rdata1, rdata2); break; \ case 249: result = compare_tkey(rdata1, rdata2); break; \ @@ -643,6 +654,120 @@ } \ break; \ case 32769: result = compare_dlv(rdata1, rdata2); break; \ + case 65533: result = compare_keydata(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } + +#define CASECOMPARESWITCH \ + switch (rdata1->type) { \ + case 1: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_a(rdata1, rdata2); break; \ + case 3: result = casecompare_ch_a(rdata1, rdata2); break; \ + case 4: result = casecompare_hs_a(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 2: result = casecompare_ns(rdata1, rdata2); break; \ + case 3: result = casecompare_md(rdata1, rdata2); break; \ + case 4: result = casecompare_mf(rdata1, rdata2); break; \ + case 5: result = casecompare_cname(rdata1, rdata2); break; \ + case 6: result = casecompare_soa(rdata1, rdata2); break; \ + case 7: result = casecompare_mb(rdata1, rdata2); break; \ + case 8: result = casecompare_mg(rdata1, rdata2); break; \ + case 9: result = casecompare_mr(rdata1, rdata2); break; \ + case 10: result = casecompare_null(rdata1, rdata2); break; \ + case 11: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_wks(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 12: result = casecompare_ptr(rdata1, rdata2); break; \ + case 13: result = casecompare_hinfo(rdata1, rdata2); break; \ + case 14: result = casecompare_minfo(rdata1, rdata2); break; \ + case 15: result = casecompare_mx(rdata1, rdata2); break; \ + case 16: result = casecompare_txt(rdata1, rdata2); break; \ + case 17: result = casecompare_rp(rdata1, rdata2); break; \ + case 18: result = casecompare_afsdb(rdata1, rdata2); break; \ + case 19: result = casecompare_x25(rdata1, rdata2); break; \ + case 20: result = casecompare_isdn(rdata1, rdata2); break; \ + case 21: result = casecompare_rt(rdata1, rdata2); break; \ + case 22: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_nsap(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 23: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_nsap_ptr(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 24: result = casecompare_sig(rdata1, rdata2); break; \ + case 25: result = casecompare_key(rdata1, rdata2); break; \ + case 26: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_px(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 27: result = casecompare_gpos(rdata1, rdata2); break; \ + case 28: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_aaaa(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 29: result = casecompare_loc(rdata1, rdata2); break; \ + case 30: result = casecompare_nxt(rdata1, rdata2); break; \ + case 33: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_srv(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 35: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_naptr(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 36: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_kx(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 37: result = casecompare_cert(rdata1, rdata2); break; \ + case 38: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_a6(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 39: result = casecompare_dname(rdata1, rdata2); break; \ + case 41: result = casecompare_opt(rdata1, rdata2); break; \ + case 42: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_apl(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 43: result = casecompare_ds(rdata1, rdata2); break; \ + case 44: result = casecompare_sshfp(rdata1, rdata2); break; \ + case 45: result = casecompare_ipseckey(rdata1, rdata2); break; \ + case 46: result = casecompare_rrsig(rdata1, rdata2); break; \ + case 47: result = casecompare_nsec(rdata1, rdata2); break; \ + case 48: result = casecompare_dnskey(rdata1, rdata2); break; \ + case 49: switch (rdata1->rdclass) { \ + case 1: result = casecompare_in_dhcid(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 50: result = casecompare_nsec3(rdata1, rdata2); break; \ + case 51: result = casecompare_nsec3param(rdata1, rdata2); break; \ + case 55: result = casecompare_hip(rdata1, rdata2); break; \ + case 99: result = casecompare_spf(rdata1, rdata2); break; \ + case 103: result = casecompare_unspec(rdata1, rdata2); break; \ + case 249: result = casecompare_tkey(rdata1, rdata2); break; \ + case 250: switch (rdata1->rdclass) { \ + case 255: result = casecompare_any_tsig(rdata1, rdata2); break; \ + default: use_default = ISC_TRUE; break; \ + } \ + break; \ + case 32769: result = casecompare_dlv(rdata1, rdata2); break; \ + case 65533: result = casecompare_keydata(rdata1, rdata2); break; \ default: use_default = ISC_TRUE; break; \ } @@ -745,6 +870,7 @@ break; \ case 50: result = fromstruct_nsec3(rdclass, type, source, target); break; \ case 51: result = fromstruct_nsec3param(rdclass, type, source, target); break; \ + case 55: result = fromstruct_hip(rdclass, type, source, target); break; \ case 99: result = fromstruct_spf(rdclass, type, source, target); break; \ case 103: result = fromstruct_unspec(rdclass, type, source, target); break; \ case 249: result = fromstruct_tkey(rdclass, type, source, target); break; \ @@ -754,6 +880,7 @@ } \ break; \ case 32769: result = fromstruct_dlv(rdclass, type, source, target); break; \ + case 65533: result = fromstruct_keydata(rdclass, type, source, target); break; \ default: use_default = ISC_TRUE; break; \ } @@ -856,6 +983,7 @@ break; \ case 50: result = tostruct_nsec3(rdata, target, mctx); break; \ case 51: result = tostruct_nsec3param(rdata, target, mctx); break; \ + case 55: result = tostruct_hip(rdata, target, mctx); break; \ case 99: result = tostruct_spf(rdata, target, mctx); break; \ case 103: result = tostruct_unspec(rdata, target, mctx); break; \ case 249: result = tostruct_tkey(rdata, target, mctx); break; \ @@ -865,6 +993,7 @@ } \ break; \ case 32769: result = tostruct_dlv(rdata, target, mctx); break; \ + case 65533: result = tostruct_keydata(rdata, target, mctx); break; \ default: use_default = ISC_TRUE; break; \ } @@ -967,6 +1096,7 @@ break; \ case 50: freestruct_nsec3(source); break; \ case 51: freestruct_nsec3param(source); break; \ + case 55: freestruct_hip(source); break; \ case 99: freestruct_spf(source); break; \ case 103: freestruct_unspec(source); break; \ case 249: freestruct_tkey(source); break; \ @@ -976,6 +1106,7 @@ } \ break; \ case 32769: freestruct_dlv(source); break; \ + case 65533: freestruct_keydata(source); break; \ default: break; \ } @@ -1078,6 +1209,7 @@ break; \ case 50: result = additionaldata_nsec3(rdata, add, arg); break; \ case 51: result = additionaldata_nsec3param(rdata, add, arg); break; \ + case 55: result = additionaldata_hip(rdata, add, arg); break; \ case 99: result = additionaldata_spf(rdata, add, arg); break; \ case 103: result = additionaldata_unspec(rdata, add, arg); break; \ case 249: result = additionaldata_tkey(rdata, add, arg); break; \ @@ -1087,6 +1219,7 @@ } \ break; \ case 32769: result = additionaldata_dlv(rdata, add, arg); break; \ + case 65533: result = additionaldata_keydata(rdata, add, arg); break; \ default: use_default = ISC_TRUE; break; \ } @@ -1189,6 +1322,7 @@ break; \ case 50: result = digest_nsec3(rdata, digest, arg); break; \ case 51: result = digest_nsec3param(rdata, digest, arg); break; \ + case 55: result = digest_hip(rdata, digest, arg); break; \ case 99: result = digest_spf(rdata, digest, arg); break; \ case 103: result = digest_unspec(rdata, digest, arg); break; \ case 249: result = digest_tkey(rdata, digest, arg); break; \ @@ -1198,6 +1332,7 @@ } \ break; \ case 32769: result = digest_dlv(rdata, digest, arg); break; \ + case 65533: result = digest_keydata(rdata, digest, arg); break; \ default: use_default = ISC_TRUE; break; \ } @@ -1300,6 +1435,7 @@ break; \ case 50: result = checkowner_nsec3(name, rdclass, type, wildcard); break; \ case 51: result = checkowner_nsec3param(name, rdclass, type, wildcard); break; \ + case 55: result = checkowner_hip(name, rdclass, type, wildcard); break; \ case 99: result = checkowner_spf(name, rdclass, type, wildcard); break; \ case 103: result = checkowner_unspec(name, rdclass, type, wildcard); break; \ case 249: result = checkowner_tkey(name, rdclass, type, wildcard); break; \ @@ -1309,6 +1445,7 @@ } \ break; \ case 32769: result = checkowner_dlv(name, rdclass, type, wildcard); break; \ + case 65533: result = checkowner_keydata(name, rdclass, type, wildcard); break; \ default: result = ISC_TRUE; break; \ } @@ -1411,6 +1548,7 @@ break; \ case 50: result = checknames_nsec3(rdata, owner, bad); break; \ case 51: result = checknames_nsec3param(rdata, owner, bad); break; \ + case 55: result = checknames_hip(rdata, owner, bad); break; \ case 99: result = checknames_spf(rdata, owner, bad); break; \ case 103: result = checknames_unspec(rdata, owner, bad); break; \ case 249: result = checknames_tkey(rdata, owner, bad); break; \ @@ -1420,6 +1558,7 @@ } \ break; \ case 32769: result = checknames_dlv(rdata, owner, bad); break; \ + case 65533: result = checknames_keydata(rdata, owner, bad); break; \ default: result = ISC_TRUE; break; \ } #define RDATATYPE_COMPARE(_s, _d, _tn, _n, _tp) \ @@ -1579,6 +1718,9 @@ case 233: \ RDATATYPE_COMPARE("nsec3", 50, _typename, _length, _typep); \ break; \ + case 208: \ + RDATATYPE_COMPARE("hip", 55, _typename, _length, _typep); \ + break; \ case 230: \ RDATATYPE_COMPARE("uinfo", 100, _typename, _length, _typep); \ break; \ @@ -1605,6 +1747,7 @@ break; \ case 50: \ RDATATYPE_COMPARE("maila", 254, _typename, _length, _typep); \ + RDATATYPE_COMPARE("keydata", 65533, _typename, _length, _typep); \ break; \ case 68: \ RDATATYPE_COMPARE("any", 255, _typename, _length, _typep); \ @@ -1663,6 +1806,7 @@ case 49: return (RRTYPE_DHCID_ATTRIBUTES); \ case 50: return (RRTYPE_NSEC3_ATTRIBUTES); \ case 51: return (RRTYPE_NSEC3PARAM_ATTRIBUTES); \ + case 55: return (RRTYPE_HIP_ATTRIBUTES); \ case 99: return (RRTYPE_SPF_ATTRIBUTES); \ case 100: return (DNS_RDATATYPEATTR_RESERVED); \ case 101: return (DNS_RDATATYPEATTR_RESERVED); \ @@ -1676,6 +1820,7 @@ case 254: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \ case 255: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \ case 32769: return (RRTYPE_DLV_ATTRIBUTES); \ + case 65533: return (RRTYPE_KEYDATA_ATTRIBUTES); \ } #define RDATATYPE_TOTEXT_SW \ switch (type) { \ @@ -1730,6 +1875,7 @@ case 49: return (str_totext("DHCID", target)); \ case 50: return (str_totext("NSEC3", target)); \ case 51: return (str_totext("NSEC3PARAM", target)); \ + case 55: return (str_totext("HIP", target)); \ case 99: return (str_totext("SPF", target)); \ case 100: return (str_totext("UINFO", target)); \ case 101: return (str_totext("UID", target)); \ @@ -1743,5 +1889,6 @@ case 254: return (str_totext("MAILA", target)); \ case 255: return (str_totext("ANY", target)); \ case 32769: return (str_totext("DLV", target)); \ + case 65533: return (str_totext("KEYDATA", target)); \ } #endif /* DNS_CODE_H */ Modified: head/lib/bind/dns/dns/enumtype.h ============================================================================== --- head/lib/bind/dns/dns/enumtype.h Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/dns/dns/enumtype.h Sat Jul 16 11:20:54 2011 (r224093) @@ -78,11 +78,13 @@ enum { dns_rdatatype_dhcid = 49, dns_rdatatype_nsec3 = 50, dns_rdatatype_nsec3param = 51, + dns_rdatatype_hip = 55, dns_rdatatype_spf = 99, dns_rdatatype_unspec = 103, dns_rdatatype_tkey = 249, dns_rdatatype_tsig = 250, dns_rdatatype_dlv = 32769, + dns_rdatatype_keydata = 65533, dns_rdatatype_ixfr = 251, dns_rdatatype_axfr = 252, dns_rdatatype_mailb = 253, @@ -138,11 +140,13 @@ enum { #define dns_rdatatype_dhcid ((dns_rdatatype_t)dns_rdatatype_dhcid) #define dns_rdatatype_nsec3 ((dns_rdatatype_t)dns_rdatatype_nsec3) #define dns_rdatatype_nsec3param ((dns_rdatatype_t)dns_rdatatype_nsec3param) +#define dns_rdatatype_hip ((dns_rdatatype_t)dns_rdatatype_hip) #define dns_rdatatype_spf ((dns_rdatatype_t)dns_rdatatype_spf) #define dns_rdatatype_unspec ((dns_rdatatype_t)dns_rdatatype_unspec) #define dns_rdatatype_tkey ((dns_rdatatype_t)dns_rdatatype_tkey) #define dns_rdatatype_tsig ((dns_rdatatype_t)dns_rdatatype_tsig) #define dns_rdatatype_dlv ((dns_rdatatype_t)dns_rdatatype_dlv) +#define dns_rdatatype_keydata ((dns_rdatatype_t)dns_rdatatype_keydata) #define dns_rdatatype_ixfr ((dns_rdatatype_t)dns_rdatatype_ixfr) #define dns_rdatatype_axfr ((dns_rdatatype_t)dns_rdatatype_axfr) #define dns_rdatatype_mailb ((dns_rdatatype_t)dns_rdatatype_mailb) Modified: head/lib/bind/dns/dns/rdatastruct.h ============================================================================== --- head/lib/bind/dns/dns/rdatastruct.h Sat Jul 16 11:12:09 2011 (r224092) +++ head/lib/bind/dns/dns/rdatastruct.h Sat Jul 16 11:20:54 2011 (r224093) @@ -43,7 +43,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rdatastructpre.h,v 1.16 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: rdatastructpre.h,v 1.16 2007-06-19 23:47:17 tbox Exp $ */ #ifndef DNS_RDATASTRUCT_H #define DNS_RDATASTRUCT_H 1 @@ -89,7 +89,7 @@ typedef struct dns_rdatacommon { #ifndef IN_1_A_1_H #define IN_1_A_1_H 1 -/* $Id: a_1.h,v 1.28 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: a_1.h,v 1.28 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_in_a { dns_rdatacommon_t common; @@ -113,7 +113,7 @@ typedef struct dns_rdata_in_a { * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: a_1.h,v 1.5 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: a_1.h,v 1.5 2007-06-19 23:47:17 tbox Exp $ */ /* by Bjorn.Victor@it.uu.se, 2005-05-07 */ /* Based on generic/mx_15.h */ @@ -152,7 +152,7 @@ typedef struct dns_rdata_ch_a { #ifndef HS_4_A_1_H #define HS_4_A_1_H 1 -/* $Id: a_1.h,v 1.12 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: a_1.h,v 1.12 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_hs_a { dns_rdatacommon_t common; @@ -181,7 +181,7 @@ typedef struct dns_rdata_hs_a { #ifndef GENERIC_NS_2_H #define GENERIC_NS_2_H 1 -/* $Id: ns_2.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: ns_2.h,v 1.27 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_ns { dns_rdatacommon_t common; @@ -212,7 +212,7 @@ typedef struct dns_rdata_ns { #ifndef GENERIC_MD_3_H #define GENERIC_MD_3_H 1 -/* $Id: md_3.h,v 1.28 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: md_3.h,v 1.28 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_md { dns_rdatacommon_t common; @@ -243,7 +243,7 @@ typedef struct dns_rdata_md { #ifndef GENERIC_MF_4_H #define GENERIC_MF_4_H 1 -/* $Id: mf_4.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: mf_4.h,v 1.26 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_mf { dns_rdatacommon_t common; @@ -269,7 +269,7 @@ typedef struct dns_rdata_mf { * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: cname_5.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: cname_5.h,v 1.26 2007-06-19 23:47:17 tbox Exp $ */ #ifndef GENERIC_CNAME_5_H #define GENERIC_CNAME_5_H 1 @@ -302,7 +302,7 @@ typedef struct dns_rdata_cname { #ifndef GENERIC_SOA_6_H #define GENERIC_SOA_6_H 1 -/* $Id: soa_6.h,v 1.32 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: soa_6.h,v 1.32 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_soa { dns_rdatacommon_t common; @@ -339,7 +339,7 @@ typedef struct dns_rdata_soa { #ifndef GENERIC_MB_7_H #define GENERIC_MB_7_H 1 -/* $Id: mb_7.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: mb_7.h,v 1.27 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_mb { dns_rdatacommon_t common; @@ -369,7 +369,7 @@ typedef struct dns_rdata_mb { #ifndef GENERIC_MG_8_H #define GENERIC_MG_8_H 1 -/* $Id: mg_8.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: mg_8.h,v 1.26 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_mg { dns_rdatacommon_t common; @@ -399,7 +399,7 @@ typedef struct dns_rdata_mg { #ifndef GENERIC_MR_9_H #define GENERIC_MR_9_H 1 -/* $Id: mr_9.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: mr_9.h,v 1.26 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_mr { dns_rdatacommon_t common; @@ -429,7 +429,7 @@ typedef struct dns_rdata_mr { #ifndef GENERIC_NULL_10_H #define GENERIC_NULL_10_H 1 -/* $Id: null_10.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: null_10.h,v 1.25 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_null { dns_rdatacommon_t common; @@ -460,7 +460,7 @@ typedef struct dns_rdata_null { #ifndef IN_1_WKS_11_H #define IN_1_WKS_11_H 1 -/* $Id: wks_11.h,v 1.22 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: wks_11.h,v 1.22 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_in_wks { dns_rdatacommon_t common; @@ -493,7 +493,7 @@ typedef struct dns_rdata_in_wks { #ifndef GENERIC_PTR_12_H #define GENERIC_PTR_12_H 1 -/* $Id: ptr_12.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: ptr_12.h,v 1.27 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_ptr { dns_rdatacommon_t common; @@ -522,7 +522,7 @@ typedef struct dns_rdata_ptr { #ifndef GENERIC_HINFO_13_H #define GENERIC_HINFO_13_H 1 -/* $Id: hinfo_13.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: hinfo_13.h,v 1.25 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_hinfo { dns_rdatacommon_t common; @@ -555,7 +555,7 @@ typedef struct dns_rdata_hinfo { #ifndef GENERIC_MINFO_14_H #define GENERIC_MINFO_14_H 1 -/* $Id: minfo_14.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: minfo_14.h,v 1.27 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_minfo { dns_rdatacommon_t common; @@ -586,7 +586,7 @@ typedef struct dns_rdata_minfo { #ifndef GENERIC_MX_15_H #define GENERIC_MX_15_H 1 -/* $Id: mx_15.h,v 1.29 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: mx_15.h,v 1.29 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_mx { dns_rdatacommon_t common; @@ -617,7 +617,7 @@ typedef struct dns_rdata_mx { #ifndef GENERIC_TXT_16_H #define GENERIC_TXT_16_H 1 -/* $Id: txt_16.h,v 1.28 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: txt_16.h,v 1.28 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_txt_string { isc_uint8_t length; @@ -668,7 +668,7 @@ dns_rdata_txt_current(dns_rdata_txt_t *, #ifndef GENERIC_RP_17_H #define GENERIC_RP_17_H 1 -/* $Id: rp_17.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: rp_17.h,v 1.21 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1183 */ @@ -702,7 +702,7 @@ typedef struct dns_rdata_rp { #ifndef GENERIC_AFSDB_18_H #define GENERIC_AFSDB_18_H 1 -/* $Id: afsdb_18.h,v 1.20 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: afsdb_18.h,v 1.20 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1183 */ @@ -736,7 +736,7 @@ typedef struct dns_rdata_afsdb { #ifndef GENERIC_X25_19_H #define GENERIC_X25_19_H 1 -/* $Id: x25_19.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: x25_19.h,v 1.18 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1183 */ @@ -769,7 +769,7 @@ typedef struct dns_rdata_x25 { #ifndef GENERIC_ISDN_20_H #define GENERIC_ISDN_20_H 1 -/* $Id: isdn_20.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: isdn_20.h,v 1.18 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1183 */ @@ -804,7 +804,7 @@ typedef struct dns_rdata_isdn { #ifndef GENERIC_RT_21_H #define GENERIC_RT_21_H 1 -/* $Id: rt_21.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: rt_21.h,v 1.21 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1183 */ @@ -837,7 +837,7 @@ typedef struct dns_rdata_rt { #ifndef IN_1_NSAP_22_H #define IN_1_NSAP_22_H 1 -/* $Id: nsap_22.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: nsap_22.h,v 1.18 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1706 */ @@ -870,7 +870,7 @@ typedef struct dns_rdata_in_nsap { #ifndef IN_1_NSAP_PTR_23_H #define IN_1_NSAP_PTR_23_H 1 -/* $Id: nsap-ptr_23.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: nsap-ptr_23.h,v 1.19 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1348. Obsoleted in RFC 1706 - use PTR instead. */ @@ -902,7 +902,7 @@ typedef struct dns_rdata_in_nsap_ptr { #ifndef GENERIC_SIG_24_H #define GENERIC_SIG_24_H 1 -/* $Id: sig_24.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: sig_24.h,v 1.26 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2535 */ @@ -944,7 +944,7 @@ typedef struct dns_rdata_sig_t { #ifndef GENERIC_KEY_25_H #define GENERIC_KEY_25_H 1 -/* $Id: key_25.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: key_25.h,v 1.19 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2535 */ @@ -981,7 +981,7 @@ typedef struct dns_rdata_key_t { #ifndef IN_1_PX_26_H #define IN_1_PX_26_H 1 -/* $Id: px_26.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: px_26.h,v 1.19 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2163 */ @@ -1015,7 +1015,7 @@ typedef struct dns_rdata_in_px { #ifndef GENERIC_GPOS_27_H #define GENERIC_GPOS_27_H 1 -/* $Id: gpos_27.h,v 1.17 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: gpos_27.h,v 1.17 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief per RFC1712 */ @@ -1052,7 +1052,7 @@ typedef struct dns_rdata_gpos { #ifndef IN_1_AAAA_28_H #define IN_1_AAAA_28_H 1 -/* $Id: aaaa_28.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: aaaa_28.h,v 1.21 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1886 */ @@ -1083,7 +1083,7 @@ typedef struct dns_rdata_in_aaaa { #ifndef GENERIC_LOC_29_H #define GENERIC_LOC_29_H 1 -/* $Id: loc_29.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: loc_29.h,v 1.19 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC1876 */ @@ -1126,7 +1126,7 @@ typedef struct dns_rdata_loc { #ifndef GENERIC_NXT_30_H #define GENERIC_NXT_30_H 1 -/* $Id: nxt_30.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: nxt_30.h,v 1.25 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief RFC2535 */ @@ -1160,7 +1160,7 @@ typedef struct dns_rdata_nxt { #ifndef IN_1_SRV_33_H #define IN_1_SRV_33_H 1 -/* $Id: srv_33.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: srv_33.h,v 1.19 2007-06-19 23:47:17 tbox Exp $ */ /* Reviewed: Fri Mar 17 13:01:00 PST 2000 by bwelling */ @@ -1197,7 +1197,7 @@ typedef struct dns_rdata_in_srv { #ifndef IN_1_NAPTR_35_H #define IN_1_NAPTR_35_H 1 -/* $Id: naptr_35.h,v 1.23 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: naptr_35.h,v 1.23 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2915 */ @@ -1237,7 +1237,7 @@ typedef struct dns_rdata_in_naptr { #ifndef IN_1_KX_36_H #define IN_1_KX_36_H 1 -/* $Id: kx_36.h,v 1.20 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: kx_36.h,v 1.20 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2230 */ @@ -1267,7 +1267,7 @@ typedef struct dns_rdata_in_kx { * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: cert_37.h,v 1.20 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: cert_37.h,v 1.20 2007-06-19 23:47:17 tbox Exp $ */ #ifndef GENERIC_CERT_37_H #define GENERIC_CERT_37_H 1 @@ -1304,7 +1304,7 @@ typedef struct dns_rdata_cert { #ifndef IN_1_A6_38_H #define IN_1_A6_38_H 1 -/* $Id: a6_38.h,v 1.24 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: a6_38.h,v 1.24 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2874 */ @@ -1338,7 +1338,7 @@ typedef struct dns_rdata_in_a6 { #ifndef GENERIC_DNAME_39_H #define GENERIC_DNAME_39_H 1 -/* $Id: dname_39.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: dname_39.h,v 1.21 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief per RFC2672 */ @@ -1370,7 +1370,7 @@ typedef struct dns_rdata_dname { #ifndef GENERIC_OPT_41_H #define GENERIC_OPT_41_H 1 -/* $Id: opt_41.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: opt_41.h,v 1.18 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC2671 */ @@ -1426,7 +1426,7 @@ dns_rdata_opt_current(dns_rdata_opt_t *, #ifndef IN_1_APL_42_H #define IN_1_APL_42_H 1 -/* $Id: apl_42.h,v 1.6 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: apl_42.h,v 1.6 2007-06-19 23:47:17 tbox Exp $ */ typedef struct dns_rdata_apl_ent { isc_boolean_t negative; @@ -1478,7 +1478,7 @@ dns_rdata_apl_current(dns_rdata_in_apl_t * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: ds_43.h,v 1.7 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: ds_43.h,v 1.7 2007-06-19 23:47:17 tbox Exp $ */ #ifndef GENERIC_DS_43_H #define GENERIC_DS_43_H 1 @@ -1513,7 +1513,7 @@ typedef struct dns_rdata_ds { * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: sshfp_44.h,v 1.8 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: sshfp_44.h,v 1.8 2007-06-19 23:47:17 tbox Exp $ */ /*! * \brief Per RFC 4255 */ @@ -1547,7 +1547,7 @@ typedef struct dns_rdata_sshfp { * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: ipseckey_45.h,v 1.4 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: ipseckey_45.h,v 1.4 2007-06-19 23:47:17 tbox Exp $ */ #ifndef GENERIC_IPSECKEY_45_H #define GENERIC_IPSECKEY_45_H 1 @@ -1586,7 +1586,7 @@ typedef struct dns_rdata_ipseckey { #ifndef GENERIC_DNSSIG_46_H #define GENERIC_DNSSIG_46_H 1 -/* $Id: rrsig_46.h,v 1.7 2007/06/19 23:47:17 tbox Exp $ */ +/* $Id: rrsig_46.h,v 1.7 2007-06-19 23:47:17 tbox Exp $ */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 11:33:59 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 8DF00106566C; Sat, 16 Jul 2011 11:33:59 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 65-241-43-4.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 403C615849A; Sat, 16 Jul 2011 11:33:59 +0000 (UTC) Message-ID: <4E217726.5020305@FreeBSD.org> Date: Sat, 16 Jul 2011 04:33:58 -0700 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20110706 Thunderbird/5.0 MIME-Version: 1.0 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201107161120.p6GBKtFp025762@svn.freebsd.org> In-Reply-To: <201107161120.p6GBKtFp025762@svn.freebsd.org> X-Enigmail-Version: 1.2pre OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Subject: Re: svn commit: r224093 - in head: lib/bind lib/bind/dns lib/bind/dns/dns lib/bind/isc lib/bind/isc/isc lib/bind/lwres/lwres share/doc/bind9 usr.bin/nsupdate usr.sbin usr.sbin/arpaname usr.sbin/ddns-co... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 11:33:59 -0000 On 07/16/2011 04:20, Doug Barton wrote: > This includes a structural change regarding atomic ops. Previously they > were enabled on all platforms unless we had knowledge that they did not > work. However both work performed by marius@ on sparc64 and the fact that > the 9.8.x branch is fussier in this area has demonstrated that this is > not a safe approach. So I've modified a patch provided by marius to > enable them for i386, amd64, and ia64 only. If anyone familiar with our other archs wants to take this on, and is willing to do the work, I have no objections; and will gladly provide pointers for the right directions to look. Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 11:34:39 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75E531065670; Sat, 16 Jul 2011 11:34:39 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4C31D8FC14; Sat, 16 Jul 2011 11:34:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GBYdYW026229; Sat, 16 Jul 2011 11:34:39 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GBYdUa026227; Sat, 16 Jul 2011 11:34:39 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201107161134.p6GBYdUa026227@svn.freebsd.org> From: Doug Barton Date: Sat, 16 Jul 2011 11:34:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224094 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 11:34:39 -0000 Author: dougb Date: Sat Jul 16 11:34:38 2011 New Revision: 224094 URL: http://svn.freebsd.org/changeset/base/224094 Log: BIND 9.8 import is done Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sat Jul 16 11:20:54 2011 (r224093) +++ svnadmin/conf/sizelimit.conf Sat Jul 16 11:34:38 2011 (r224094) @@ -21,7 +21,6 @@ brooks des dim -dougb ed gnn gonzo From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 12:50:31 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F543106564A; Sat, 16 Jul 2011 12:50:31 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3515B8FC0C; Sat, 16 Jul 2011 12:50:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GCoVV7028494; Sat, 16 Jul 2011 12:50:31 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GCoVBU028492; Sat, 16 Jul 2011 12:50:31 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201107161250.p6GCoVBU028492@svn.freebsd.org> From: Hans Petter Selasky Date: Sat, 16 Jul 2011 12:50:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224095 - head/sys/dev/usb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 12:50:31 -0000 Author: hselasky Date: Sat Jul 16 12:50:30 2011 New Revision: 224095 URL: http://svn.freebsd.org/changeset/base/224095 Log: Fix for VirtualBox 4.x and other virtual machines that fail to generate a port reset change event. MFC after: 1 weeks Modified: head/sys/dev/usb/usb_request.c Modified: head/sys/dev/usb/usb_request.c ============================================================================== --- head/sys/dev/usb/usb_request.c Sat Jul 16 11:34:38 2011 (r224094) +++ head/sys/dev/usb/usb_request.c Sat Jul 16 12:50:30 2011 (r224095) @@ -779,10 +779,17 @@ usbd_req_reset_port(struct usb_device *u uint16_t pr_recovery_delay; #endif - err = usbd_req_set_port_feature(udev, mtx, port, UHF_PORT_RESET); - if (err) { + /* clear any leftover port reset changes first */ + usbd_req_clear_port_feature( + udev, mtx, port, UHF_C_PORT_RESET); + + /* assert port reset on the given port */ + err = usbd_req_set_port_feature( + udev, mtx, port, UHF_PORT_RESET); + + /* check for errors */ + if (err) goto done; - } #ifdef USB_DEBUG /* range check input parameters */ pr_poll_delay = usb_pr_poll_delay; @@ -798,6 +805,9 @@ usbd_req_reset_port(struct usb_device *u #endif n = 0; while (1) { + uint16_t status; + uint16_t change; + #ifdef USB_DEBUG /* wait for the device to recover from reset */ usb_pause_mtx(mtx, USB_MS_TO_TICKS(pr_poll_delay)); @@ -811,14 +821,25 @@ usbd_req_reset_port(struct usb_device *u if (err) { goto done; } + status = UGETW(ps.wPortStatus); + change = UGETW(ps.wPortChange); + /* if the device disappeared, just give up */ - if (!(UGETW(ps.wPortStatus) & UPS_CURRENT_CONNECT_STATUS)) { + if (!(status & UPS_CURRENT_CONNECT_STATUS)) goto done; - } + /* check if reset is complete */ - if (UGETW(ps.wPortChange) & UPS_C_PORT_RESET) { + if (change & UPS_C_PORT_RESET) break; - } + + /* + * Some Virtual Machines like VirtualBox 4.x fail to + * generate a port reset change event. Check if reset + * is no longer asserted. + */ + if (!(status & UPS_RESET)) + break; + /* check for timeout */ if (n > 1000) { n = 0; From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 14:05:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 244F1106566B; Sat, 16 Jul 2011 14:05:35 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1441B8FC18; Sat, 16 Jul 2011 14:05:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GE5YwS030689; Sat, 16 Jul 2011 14:05:34 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GE5YP0030686; Sat, 16 Jul 2011 14:05:34 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107161405.p6GE5YP0030686@svn.freebsd.org> From: John Baldwin Date: Sat, 16 Jul 2011 14:05:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224096 - in head/sys/x86: include x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 14:05:35 -0000 Author: jhb Date: Sat Jul 16 14:05:34 2011 New Revision: 224096 URL: http://svn.freebsd.org/changeset/base/224096 Log: Fix build when NEW_PCIB is not defined. Submitted by: gcooper (partially) Pointy hat to: jhb Modified: head/sys/x86/include/mptable.h head/sys/x86/x86/mptable.c Modified: head/sys/x86/include/mptable.h ============================================================================== --- head/sys/x86/include/mptable.h Sat Jul 16 12:50:30 2011 (r224095) +++ head/sys/x86/include/mptable.h Sat Jul 16 14:05:34 2011 (r224096) @@ -191,13 +191,15 @@ typedef struct BASETABLE_ENTRY { } basetable_entry; #ifdef _KERNEL -#ifdef NEW_PCIB struct mptable_hostb_softc { +#ifdef NEW_PCIB struct pcib_host_resources sc_host_res; int sc_decodes_vga_io; int sc_decodes_isa_io; +#endif }; +#ifdef NEW_PCIB void mptable_pci_host_res_init(device_t pcib); #endif int mptable_pci_probe_table(int bus); Modified: head/sys/x86/x86/mptable.c ============================================================================== --- head/sys/x86/x86/mptable.c Sat Jul 16 12:50:30 2011 (r224095) +++ head/sys/x86/x86/mptable.c Sat Jul 16 14:05:34 2011 (r224096) @@ -192,8 +192,10 @@ static void mptable_probe_cpus_handler(u static void mptable_register(void *dummy); static int mptable_setup_local(void); static int mptable_setup_io(void); +#ifdef NEW_PCIB static void mptable_walk_extended_table( mptable_extended_entry_handler *handler, void *arg); +#endif static void mptable_walk_table(mptable_entry_handler *handler, void *arg); static int search_for_sig(u_int32_t target, int count); @@ -437,6 +439,7 @@ mptable_walk_table(mptable_entry_handler } } +#ifdef NEW_PCIB /* * Call the handler routine for each entry in the MP config extended * table. @@ -455,6 +458,7 @@ mptable_walk_extended_table(mptable_exte entry = (ext_entry_ptr)((char *)entry + entry->length); } } +#endif static void mptable_probe_cpus_handler(u_char *entry, void *arg) From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 14:06:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D26EE106566C; Sat, 16 Jul 2011 14:06:02 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C295E8FC14; Sat, 16 Jul 2011 14:06:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GE62Ae030739; Sat, 16 Jul 2011 14:06:02 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GE62oS030737; Sat, 16 Jul 2011 14:06:02 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107161406.p6GE62oS030737@svn.freebsd.org> From: John Baldwin Date: Sat, 16 Jul 2011 14:06:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224097 - head/sys/i386/xen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 14:06:02 -0000 Author: jhb Date: Sat Jul 16 14:06:02 2011 New Revision: 224097 URL: http://svn.freebsd.org/changeset/base/224097 Log: Fix build with NEW_PCIB defined. Modified: head/sys/i386/xen/mptable.c Modified: head/sys/i386/xen/mptable.c ============================================================================== --- head/sys/i386/xen/mptable.c Sat Jul 16 14:05:34 2011 (r224096) +++ head/sys/i386/xen/mptable.c Sat Jul 16 14:06:02 2011 (r224097) @@ -32,11 +32,18 @@ __FBSDID("$FreeBSD$"); #include #include #include +#ifdef NEW_PCIB +#include +#endif #include #include #include +#ifdef NEW_PCIB +#include +#include +#endif #include #include #include From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 14:07:44 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 948DA1065673; Sat, 16 Jul 2011 14:07:44 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 850C88FC17; Sat, 16 Jul 2011 14:07:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GE7iCb030829; Sat, 16 Jul 2011 14:07:44 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GE7imv030827; Sat, 16 Jul 2011 14:07:44 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201107161407.p6GE7imv030827@svn.freebsd.org> From: John Baldwin Date: Sat, 16 Jul 2011 14:07:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224098 - head/sys/pc98/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 14:07:44 -0000 Author: jhb Date: Sat Jul 16 14:07:44 2011 New Revision: 224098 URL: http://svn.freebsd.org/changeset/base/224098 Log: Enable the new PCI-PCI bridge driver on pc98 by default. I missed this in 221394 when I had meant to enable it on all i386 systems by default. Modified: head/sys/pc98/conf/DEFAULTS Modified: head/sys/pc98/conf/DEFAULTS ============================================================================== --- head/sys/pc98/conf/DEFAULTS Sat Jul 16 14:06:02 2011 (r224097) +++ head/sys/pc98/conf/DEFAULTS Sat Jul 16 14:07:44 2011 (r224098) @@ -27,3 +27,5 @@ options GEOM_PART_PC98 # enable support for native hardware device atpic + +options NEW_PCIB From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 14:49:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C913106566B; Sat, 16 Jul 2011 14:49:57 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7BB858FC17; Sat, 16 Jul 2011 14:49:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GEnvjb032105; Sat, 16 Jul 2011 14:49:57 GMT (envelope-from philip@svn.freebsd.org) Received: (from philip@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GEnvVP032103; Sat, 16 Jul 2011 14:49:57 GMT (envelope-from philip@svn.freebsd.org) Message-Id: <201107161449.p6GEnvVP032103@svn.freebsd.org> From: Philip Paeps Date: Sat, 16 Jul 2011 14:49:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224099 - vendor/pciids/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 14:49:57 -0000 Author: philip Date: Sat Jul 16 14:49:57 2011 New Revision: 224099 URL: http://svn.freebsd.org/changeset/base/224099 Log: Import today's snapshot of the PCI ID Repository. Modified: vendor/pciids/dist/pci.ids Modified: vendor/pciids/dist/pci.ids ============================================================================== --- vendor/pciids/dist/pci.ids Sat Jul 16 14:07:44 2011 (r224098) +++ vendor/pciids/dist/pci.ids Sat Jul 16 14:49:57 2011 (r224099) @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2011.04.04 -# Date: 2011-04-04 03:15:03 +# Version: 2011.07.14 +# Date: 2011-07-14 03:15:06 # # Maintained by Martin Mares and other volunteers from the # PCI ID Project at http://pciids.sf.net/. @@ -74,7 +74,6 @@ 02ac SpeedStream 1012 1012 PCMCIA 10/100 Ethernet Card [RTL81xx] 02e0 XFX Pine Group Inc -0303 Hewlett-Packard Company (Wrong ID) 0308 ZyXEL Communications Corporation 0315 SK-Electronics Co., Ltd. 0357 TTTech AG @@ -83,15 +82,10 @@ 0403 Future Technology Devices International Ltd 0432 SCM Microsystems, Inc. 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] -045e Microsoft - 006e MN-510 802.11b wireless USB paddle - 00c2 MN-710 wireless USB paddle 0482 Kyocera # vendor code used for (at a minimum) RSA cards 04b3 IBM Corp. 4001 Remote System Administration device [RSA2] -04cf Myson Century, Inc - 8818 CS8818 USB2.0-to-ATAPI Bridge Controller with Embedded PHY 050d Belkin 058f Alcor Micro Corporation 05a9 OmniVision @@ -109,13 +103,18 @@ 069d Hughes Network Systems (HNS) 0721 Sapphire, Inc. 0777 Ubiquiti Networks, Inc. +# Atheros, 6th Generation, AR5414, 802.11a, 5GHz + 3005 XtremeRange5 0795 Wired Inc. 6663 Butane II (MPEG2 encoder board) 6666 MediaPress (MPEG2 encoder board) 07ca AVerMedia Technologies Inc. +# Expresscard DVB-T tuner sold by Fujitsu for notebooks + 534a Slim mobile Express DVB-T (Fujitsu) a301 AVerTV 301 b808 AVerTV DVB-T Volar (USB 2.0) 07d0 ITT Geospatial Systems +07d1 D-Link System Inc 07e2 ELMEG Communication Systems GmbH 0842 NPG, Personal Grand Technology # Nee Gemplus International, SA @@ -136,8 +135,6 @@ 09c1 Arris 0704 CM 200E Cable Modem 0a89 BREA Technologies Inc -0ace ZyDAS - 1211 ZD1211 IEEE 802.11b+g USB Adapter 0b0b Rhino Equipment Corp. 0105 Rhino R1T1 0205 Rhino R4FXO @@ -366,6 +363,7 @@ 0055 SAS1068 PCI-X Fusion-MPT SAS 1033 8336 SAS1068 0056 SAS1064ET PCI-Express Fusion-MPT SAS + 1014 03bb ServeRAID BR10il SAS/SATA Controller v2 0057 M1064E MegaRAID SAS 8086 346c Embedded Software RAID Technology II (ESTRII) 0058 SAS1068E PCI-Express Fusion-MPT SAS @@ -379,12 +377,13 @@ 005a SAS1066E PCI-Express Fusion-MPT SAS 005b MegaRAID SAS 2208 [Thunderbolt] 1028 1f2d PERC H810 Adapter - 1028 1f31 PERC H710 Adapter - 1028 1f33 PERC H710 Mini (for blades) - 1028 1f34 PERC H710 Mini (for monolithics) - 1028 1f35 PERC H510 Adapter - 1028 1f37 PERC H510 Mini (for blades) - 1028 1f38 PERC H510 Mini (for monolithics) + 1028 1f30 PERC H710 Embedded + 1028 1f31 PERC H710P Adapter + 1028 1f33 PERC H710P Mini (for blades) + 1028 1f34 PERC H710P Mini (for monolithics) + 1028 1f35 PERC H710 Adapter + 1028 1f37 PERC H710 Mini (for blades) + 1028 1f38 PERC H710 Mini (for monolithics) 005c SAS1064A PCI-X Fusion-MPT SAS 005d MegaRAID SAS-3 3108 [Invader] 005e SAS1066 PCI-X Fusion-MPT SAS @@ -432,8 +431,9 @@ 1028 1f1f PERC H200 Modular 1028 1f20 PERC H200 Embedded 1028 1f22 Internal Tape Adapter + 8086 350f RMS2LL040 RAID Controller 0073 MegaRAID SAS 9240 - 1000 9240 MegaRAID SAS 9240-4i + 1000 9240 MegaRAID SAS 9240-8i 1000 9241 MegaRAID SAS 9240-4i 1014 03b1 ServeRAID M1015 SAS/SATA Controller 1028 1f4e PERC H310 Adapter @@ -448,6 +448,7 @@ 1137 0073 2008 ROMB 15d9 0400 Supermicro SMC2008-iMR 1734 1177 RAID Ctrl SAS 6G 0/1 (D2607) + 8086 350d RMS2AF040 RAID Controller 8086 9240 RAID Controller RS2WC080 8086 9241 RAID Controller RS2WC040 0074 SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] @@ -456,6 +457,8 @@ 0079 MegaRAID SAS 2108 [Liberator] 1000 9251 MegaRAID SAS 9260-4ix 1000 9256 MegaRAID SAS 9260-8ix + 1000 9260 MegaRAID SAS 9260-4i + 1000 9261 MegaRAID SAS 9260-8i 1000 9262 MegaRAID SAS 9262-8i 1000 9263 MegaRAID SAS 9261-8i 1000 9264 MegaRAID SAS 9264-8i @@ -477,13 +480,14 @@ 1734 1176 RAID Ctrl SAS 6G 5/6 512MB (D2616) 1734 1177 RAID Ctrl SAS 6G 0/1 (D2607) 8086 9256 MegaRAID SAS 9260DE-8i - 8086 9260 MegaRAID SAS 9260-4i - 8086 9261 MegaRAID SAS 9260-8i + 8086 9260 RAID Controller RS2BL040 + 8086 9261 RAID Controller RS2BL080 8086 9264 Warm Beach (Caster Lite) 8086 9267 RAID Controller RS2VB040 8086 9268 RAID Controller RS2VB080 007c MegaRAID SAS 1078DE 1014 0395 ServeRAID-AR10is SAS/SATA Controller + 007e SSS6200 PCI-Express Flash SSD 0080 SAS2208 PCI-Express Fusion-MPT SAS-2 0081 SAS2208 PCI-Express Fusion-MPT SAS-2 0082 SAS2208 PCI-Express Fusion-MPT SAS-2 @@ -596,6 +600,7 @@ 0017 PROTO-3 PCI Prototyping board 9100 INI-9100/9100W SCSI Host 1002 ATI Technologies Inc + 1314 Wrestler HDMI Audio [Radeon HD 6250/6310] 3150 M24 1P [Radeon Mobility X600] 103c 0934 nx8220 3151 M24 [FireMV 2400] @@ -693,6 +698,7 @@ 4370 IXP SB400 AC'97 Audio Controller 1025 0079 Aspire 5024WLMMi 1025 0091 Aspire 5032WXMi + 103c 2a05 Pavilion t3030.de Desktop PC 103c 308b MX6125 105b 0c81 Realtek ALC 653 107b 0300 MX6421 @@ -702,27 +708,33 @@ 1462 7217 Aspire L250 4372 IXP SB400 SMBus Controller 1025 0080 Aspire 5024WLMMi + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 0131 MS-1013 Notebook 1462 7217 Aspire L250 4373 IXP SB400 USB2 Host Controller 1025 0080 Aspire 5024WLMMi + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4374 IXP SB400 USB Host Controller + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4375 IXP SB400 USB Host Controller 1025 0080 Aspire 5024WLMMi + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4376 IXP SB400 IDE Controller 1025 0080 Aspire 5024WLMMi + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 0131 MS-1013 Notebook 1462 7217 Aspire L250 4377 IXP SB400 PCI-ISA Bridge 1025 0080 Aspire 5024WLMi + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4378 SB400 AC'97 Modem Controller @@ -755,6 +767,7 @@ 1043 8230 M3A78-EH Motherboard 1043 836c M4A785TD Motherboard 1043 8410 M4A89GTD PRO/USB3 Motherboard + 1043 841b M5A88-V EVO 1179 ff50 Satellite P305D-S8995E 1458 a022 GA-MA770-DS3rev2.0 Motherboard 17f2 5000 KI690-AM2 Motherboard @@ -818,6 +831,7 @@ 4391 SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard + 1043 8443 M5A88-V EVO 4392 SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] 4393 SB7x0/SB8x0/SB9x0 SATA Controller [RAID5 mode] 4394 SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] @@ -825,18 +839,24 @@ 4396 SB7x0/SB8x0/SB9x0 USB EHCI Controller 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard + 1043 8443 M5A88-V EVO 4397 SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard + 1043 8443 M5A88-V EVO 4398 SB7x0 USB OHCI1 Controller 1043 82ef M3A78-EH Motherboard 4399 SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 1043 82ef M3A78-EH Motherboard + 1043 8443 M5A88-V EVO 439c SB7x0/SB8x0/SB9x0 IDE Controller 1043 82ef M3A78-EH Motherboard 439d SB7x0/SB8x0/SB9x0 LPC host controller 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard + 1043 8443 M5A88-V EVO + 43a0 SB700/SB800 PCI to PCI bridge (PCIE port 0) + 43a1 SB700/SB800 PCI to PCI bridge (PCIE port 1) 4437 Radeon Mobility 7000 IGP 4554 210888ET [Mach64 ET] 4654 Mach64 VT @@ -1006,6 +1026,7 @@ 0e11 b111 Evo N600c 1014 0235 ThinkPad A30/A30p (2652/2653) 1014 0239 ThinkPad X22/X23/X24 + 103c 0025 XE4500 Notebook 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 104d 8140 PCG-Z1SP laptop 1509 1930 Medion MD9703 @@ -1299,6 +1320,7 @@ 5950 RS480 Host Bridge 1025 0080 Aspire 5024WLMMi 103c 280a DC5750 Microtower + 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 0131 MS-1013 Notebook 1462 7217 Aspire L250 @@ -1457,20 +1479,33 @@ 5f57 R423 [Radeon X800XT (PCIE)] 6718 Cayman XT [AMD Radeon HD 6900 Series] 6719 Cayman PRO [AMD Radeon 6900 Series] + 671d Antilles [AMD Radeon HD 6990] + 671f NI CAYMAN [Radeon HD 6900 Series] + 6720 Blackcomb [AMD Radeon HD 6900M Series] 6738 Barts XT [ATI Radeon HD 6800 Series] 6739 Barts PRO [ATI Radeon HD 6800 Series] 673e Barts LE [AMD Radeon HD 6700 Series] 6740 Whistler XT [AMD Radeon HD 6700M Series] 6741 NI Whistler [AMD Radeon HD 6600M Series] + 6742 Whistler LE [AMD Radeon HD 6625M Graphics] + 6743 NI WHISTLER [Radeon E6760] + 6750 Turks [AMD Radeon HD 6500 series] + 6758 Turks XT [AMD Radeon HD 6600 Series] 6759 NI Turks [AMD Radeon HD 6500] 6760 NI Seymour [AMD Radeon HD 6470M] 6761 NI Seymour [AMD Radeon HD 6430M] + 6763 NI SEYMOUR [Radoen] E6460 + 6770 NI CAICOS [AMD Radeon HD 6400 Series] 6779 NI Caicos [AMD RADEON HD 6450] + 174b e164 Sapphire HD 6450 1GB DDR3 + 6858 SI LOMBOK [Radoen HD 6000 Series] + 6889 EG Cypress [FirePro V7800] 688c Cypress [AMD FireStream 9370] 688d Cypress [AMD FireStream 9350] 6898 Radeon HD 5870 (Cypress) 1462 8032 R5870 PM2D1G 6899 Cypress [Radeon HD 5800 Series] + 689b EG CYPRESS [Radeon HD 6800 Series] 689c Hemlock [ATI Radeon HD 5900 Series] 689e Radeon HD 5800 Series (Cypress LE) 68a0 Broadway XT [Mobility Radeon HD 5800 Series] @@ -1484,7 +1519,7 @@ 68bf Juniper LE [AMD Radeon HD 6700 Series] 68c0 Madison [Mobility Radeon HD 5000 Series] 103c 1521 Madison XT [FirePro M5800] - 68c1 Redwood [Radeon HD 5600 Series] + 68c1 Madison [AMD Radeon HD 5000M Series] 1025 0347 Aspire 7740G 103c 1521 Madison Pro [FirePro M5800] 68c7 Pinewood [Radeon HD 5570] @@ -1493,13 +1528,14 @@ 68d9 Redwood PRO [Radeon HD 5500 Series] 68da Redwood PRO [Radeon HD 5500 Series] 68e0 Manhattan [Mobility Radeon HD 5400 Series] - 103c 1486 HP TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) + 103c 1486 TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) 68e1 Manhattan [Mobility Radeon HD 5430 Series] 68e4 Robson CE [AMD Radeon HD 6300 Series] 68e5 Robson LE [AMD Radeon HD 6300M Series] 68f1 Cadar [FirePro 2460] 68f2 Cedar [FirePro 2270] 68f9 Cedar PRO [Radeon HD 5450] + 1028 010e XPS 8300 700f PCI Bridge [IGP 320M] 7010 PCI Bridge [IGP 340M] 7100 R520 [Radeon X1800] @@ -1700,6 +1736,7 @@ 1028 0d02 Optiplex 755 94c3 RV610 video device [Radeon HD 2400 PRO] 1002 94c3 Radeon HD 2400PRO + 1028 0302 Radeon HD 2400 Pro 174b e400 Sapphire HD 2400 PRO video device 18bc 3550 GeCube Radeon HD2400 PRO 94c4 RV610 LE AGP [Radeon HD 2400 PRO AGP] @@ -1769,13 +1806,16 @@ 9616 760G [Radeon 3000] 970f RS880 Audio Device [Radeon HD 4200] 1043 83a2 M4A785TD Motherboard + 1043 843e M5A88-V EVO 9710 RS880 [Radeon HD 4200] 1043 83a2 M4A785TD Motherboard 9712 M880G [Mobility Radeon HD 4200] 9713 M860G [Mobility Radeon 4100] 9714 RS880 [Radeon HD 4290] 9715 RS880 [Radeon HD 4250] + 1043 843e M5A88-V EVO 9723 Radeon HD 5450 + 9802 AMD Radeon HD 6310 GraphicsATI aa00 R600 Audio Device [Radeon HD 2900 Series] aa08 RV630/M76 audio device [Radeon HD 2600 Series] aa10 RV610 audio device [Radeon HD 2400 PRO] @@ -1794,7 +1834,10 @@ aa60 Redwood HDMI Audio [Radeon HD 5600 Series] 1025 0347 Aspire 7740G aa68 Manhattan HDMI Audio [Mobility Radeon HD 5000 Series] + 1028 aa68 XPS 8300 aa88 Barts HDMI Audio [Radeon HD 6800 Series] + aa98 NI Caicos HDMI Audio [AMD RADEON HD 6450] + 174b aa98 Sapphire HD 6450 1GB DDR3 ac00 Theater 600 Pro ac02 TV Wonder HD 600 PCIe ac12 Theater HD T507 (DVB-T) TV tuner/capture device @@ -2280,8 +2323,13 @@ 1302 Family 11h Processor DRAM Controller 1303 Family 11h Processor Miscellaneous Control 1304 Family 11h Processor Link Control - 1510 Pavilion DM1Z-3000 Host bridge + 1510 Family 14h Processor Root Complex 1022 1510 Pavilion DM1Z-3000 Host bridge + 1512 Family 14h Processor Root Port + 1513 Family 14h Processor Root Port + 1514 Family 14h Processor Root Port + 1515 Family 14h Processor Root Port + 1516 Family 14h Processor Root Port 1600 Family 15h Processor Function 0 1601 Family 15h Processor Function 1 1602 Family 15h Processor Function 2 @@ -2293,6 +2341,14 @@ 1702 Family 12h/14h Processor Function 2 1703 Family 12h/14h Processor Function 3 1704 Family 12h/14h Processor Function 4 + 1705 Family 12h Processor Root Complex + 1707 Family 12h Processor Root Port + 1708 Family 12h Processor Root Port + 1709 Family 12h Processor Root Port + 170a Family 12h Processor Root Port + 170b Family 12h Processor Root Port + 170c Family 12h Processor Root Port + 170d Family 12h Processor Root Port 1716 Family 12h/14h Processor Function 5 1718 Family 12h/14h Processor Function 6 1719 Family 12h/14h Processor Function 7 @@ -2411,6 +2467,7 @@ 9600 RS780 Host Bridge 1043 82f1 M3A78-EH Motherboard 9601 RS880 Host Bridge + 1043 843e M5A88-V EVO 9602 RS780/RS880 PCI to PCI bridge (int gfx) 9603 RS780 PCI to PCI bridge (ext gfx port 0) 9604 RS780 PCI to PCI bridge (PCIE port 0) @@ -2749,6 +2806,7 @@ 1028 029c PowerEdge M710 MGA G200eW WPCM450 1028 02a4 PowerEdge T310 MGA G200eW WPCM450 0533 MGA G200EH + 103c 3381 iLO4 0534 G200eR2 0540 M91XX 102b 2080 M9140 LP PCIe x16 @@ -3100,7 +3158,7 @@ 1734 1095 D2030-A1 7007 FireWire Controller 1462 701d MS-6701 - 7012 AC'97 Sound Controller + 7012 C-Media AC'97 Sound Controller 1039 7012 SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller 1043 818f A8S-X Motherboard 13f6 0300 CMI9739(A) on ECS K7SOM+ motherboard @@ -3108,6 +3166,7 @@ 1462 7010 MS-6701 motherboard 15bd 1001 DFI 661FX motherboard 1734 109f D2030-A1 Motherboard + 1849 7012 K7S41GX motherboard # There are may be different modem codecs here (Intel537 compatible and incompatible) 7013 AC'97 Modem Controller 7016 SiS7016 PCI Fast Ethernet Adapter @@ -3142,6 +3201,7 @@ 103a Seiko Epson Corporation 103b Tatung Corp. Of America 103c Hewlett-Packard Company + 0025 XE4500 Notebook 002a NX9000 Notebook 08bc NX5000 Notebook 1005 A4977A Visualize EG @@ -3206,6 +3266,7 @@ 2925 E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer 3080 Pavilion ze2028ea 3085 Realtek RTL8139/8139C/8139C+ + 30a3 Compaq NW8440 Notebook 30b5 Compaq Presario V3000Z 31fb DL365 ATI ES1000 VGA controller 3206 Adaptec Embedded Serial ATA HostRAID @@ -3228,14 +3289,33 @@ 103c 3249 Smart Array P812 103c 324a HP Smart Array 712m (Mezzanine RAID controller) 103c 324b Smart Array P711m (Mezzanine RAID controller) - 3300 Proliant iLO2/iLO3 virtual USB controller - 3301 iLO3 Serial Port + 3300 Integrated Lights-Out Standard Virtual USB Controller + 103c 3304 iLO2 + 103c 3305 iLO2 + 103c 3309 iLO2 GXL/iLO3 GXE + 103c 330e iLO3 + 103c 3381 iLO4 + 3301 Integrated Lights-Out Standard Serial Port + 103c 3304 iLO2 + 103c 3305 iLO2 + 103c 330e iLO3 + 103c 3381 iLO4 # Virtual serial port which is presented on a Java applet - 3302 Proliant iLO2 virtual UART - 3305 Proliant iLO2 [Integrated Lights Out] controller - 3306 iLO3 Slave instrumentation & System support - 3307 iLO3 Management Processor Support and Messaging - 3308 iLO3 MS Watchdog Timer + 3302 Integrated Lights-Out Standard KCS Interface + 103c 3304 iLO2 + 103c 3305 iLO2 + 103c 330e iLO3 + 103c 3381 iLO4 + 3305 Integrated Lights-Out (iLO2) Controller + 3306 Integrated Lights-Out Standard Slave Instrumentation & System Support + 103c 330e iLO3 + 103c 3381 iLO4 + 3307 Integrated Lights-Out Standard Management Processor Support and Messaging + 103c 330e iLO3 + 103c 3381 iLO4 + 3308 Integrated Lights-Out Standard MS Watchdog Timer + 103c 330e iLO3 + 103c 3381 iLO4 402f PCIe Root Port 4030 zx2 System Bus Adapter 4031 zx2 I/O Controller @@ -3280,6 +3360,8 @@ 82ca G96 GeForce 9500 GT 82e8 M3N72-D 8383 P7P55D Series Motherboard + 83a4 Motherboard M2N68-AM SE2 + 843e M5A88-V EVO # wrong vendor ID (should have been AMD) 9602 RS880 PCI to PCI bridge (int gfx) 1043 83a2 M4A785TD Motherboard @@ -3442,9 +3524,9 @@ 8021 TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) 104d 80df Vaio PCG-FX403 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP - 8022 TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) + 8022 TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] 104c 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) - 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) + 8023 TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] 103c 088c NC8000 laptop 1043 808b K8N4-E Mainboard 1043 815b P5W DH Deluxe Motherboard @@ -3458,6 +3540,7 @@ 8026 TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) 1025 0035 TravelMate 660 1025 003c Aspire 2001WLCi (Compaq CL50 motherboard) + 103c 0025 XE4500 Notebook 103c 006a NX9500 1043 808d A7V333 mainboard. 8027 PCI4451 IEEE-1394 Controller @@ -3523,14 +3606,14 @@ 8204 PCI7410,7510,7610 PCI Firmware Loading Function 1028 0139 Latitude D400 1028 014e Latitude D800 - 8231 XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge + 8231 XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge 5678 1234 DC-1394 PCIe 8232 XIO3130 PCI Express Switch (Upstream) 8233 XIO3130 PCI Express Switch (Downstream) - 8235 XIO2200(A) IEEE-1394a-2000 Controller (PHY/Link) + 8235 XIO2200A IEEE-1394a-2000 Controller (PHY/Link) 5678 1234 DC-1394 PCIe - 823e XIO2213A/B/XIO2221 PCI Express to PCI Bridge - 823f XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller + 823e XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] + 823f XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] 1546 803c FWB-PCIE1X11B 8240 XIO2001 PCI Express-to-PCI Bridge 8400 ACX 100 22Mbps Wireless Interface @@ -3631,6 +3714,7 @@ 103c 08b0 tc1100 tablet ac55 PCI1520 PC card Cardbus Controller 1014 0512 ThinkPad T30/T40 + 103c 0025 XE4500 Notebook ac56 PCI1510 PC card Cardbus Controller 1014 0512 ThinkPad R50e 1014 0528 ThinkPad R40e @@ -4144,7 +4228,7 @@ 6312 SP202-based 2Gb Fibre Channel to PCI-X HBA 6322 SP212-based 2Gb Fibre Channel to PCI-X HBA 7220 IBA7220 InfiniBand HCA - 7322 InfiniPath QME7342 QDR HCA + 7322 IBA7322 QDR InfiniBand HCA 8000 10GbE Converged Network Adapter (TCP/IP Networking) 8001 10GbE Converged Network Adapter (FCoE) 8020 cLOM8214 1/10GbE Controller @@ -4155,10 +4239,13 @@ 1077 020b 3200 Series Dual Port 10Gb Intelligent Ethernet Adapter 1077 020c 3200 Series Quad Port 1Gb Intelligent Ethernet Adapter 1077 020f 3200 Series Single Port 10Gb Intelligent Ethernet Adapter + 1077 0210 QME8242-k 10GbE Dual Port Mezzanine Card 8021 8200 Series 10GbE Converged Network Adapter (FCoE) 103c 3348 CN1000Q Dual Port Converged Network Adapter + 1077 0211 QME8242-k 10GbE Dual Port Mezzanine Card, FCoE 8022 8200 Series 10GbE Converged Network Adapter (iSCSI) 103c 3347 CN1000Q Dual Port Converged Network Adapter + 1077 0212 QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI 8432 ISP2432M-based 10GbE Converged Network Adapter (CNA) 1078 Cyrix Corporation 0000 5510 [Grappa] @@ -4615,7 +4702,7 @@ 10a7 Benchmarq Microelectronics 10a8 Sierra Semiconductor 0000 STB Horizon 64 -10a9 Silicon Graphics, Inc. +10a9 Silicon Graphics Intl. Corp. 0001 Crosstalk to PCI Bridge 0002 Linc I/O controller 0003 IOC3 I/O controller @@ -4646,8 +4733,6 @@ 4002 TIO-CE PCI Express Port 8001 O2 1394 8002 G-net NT - 8010 Broadcom e-net [SGI IO9/IO10 BaseIO] - 8018 Broadcom e-net [SGI A330 Server BaseIO] 10aa ACC Microelectronics 0000 ACCM 2188 2051 2051 CPU bridge @@ -4768,6 +4853,10 @@ 1518 0200 Kontron ThinkIO-C 15ed 1002 MCCS 8-port Serial Hot Swap 15ed 1003 MCCS 16-port Serial Hot Swap +# MIL-STD-1553B Board + e1c5 0001 TE1-PCI + e1c5 0005 TA1-PCI + e1c5 0006 TA1-PCI4 9036 9036 9050 PCI <-> IOBus Bridge 10b5 1067 IXXAT CAN i165 @@ -5115,12 +5204,14 @@ 1014 050f ThinkPad R30 1014 053d ThinkPad R40e 103c 0024 Pavilion ze4400 builtin IDE + 103c 0025 XE4500 Notebook 1043 8053 A7A266 Motherboard IDE 1849 5229 ASRock 939Dual-SATA2 Motherboard IDE (PATA) 5235 M5225 5237 USB 1.1 Controller 1014 0540 ThinkPad R40e 103c 0024 Pavilion ze4400 builtin USB + 103c 0025 XE4500 Notebook 104d 810f VAIO PCG-U1 USB/OHCI Revision 1.0 10b9 5237 ASRock 939Dual-SATA2 Motherboard 1849 5237 ASRock 939Dual-SATA2 Motherboard @@ -5149,6 +5240,7 @@ 1014 0506 ThinkPad R30 1014 053e ThinkPad R40e 103c 0024 Pavilion ze4400 builtin Audio + 103c 0025 XE4500 Notebook 5453 M5453 PCI AC-Link Controller Modem Device 5455 M5455 PCI AC-Link Controller Audio Device 10b9 5455 ASRock 939Dual-SATA2 Motherboard @@ -5156,6 +5248,7 @@ 5457 M5457 AC'97 Modem Controller 1014 0535 ThinkPad R40e 103c 0024 Pavilion ze4400 builtin Modem Device + 103c 0025 XE4500 Notebook 5459 SmartLink SmartPCI561 56K Modem 545a SmartLink SmartPCI563 56K Modem 5461 High Definition Audio/AC'97 Host Controller @@ -5165,6 +5258,7 @@ 1014 0510 ThinkPad R30 1014 053c ThinkPad R40e 103c 0024 Pavilion ze4400 + 103c 0025 XE4500 Notebook 1849 7101 ASRock 939Dual-SATA2 Motherboard 10ba Mitsubishi Electric Corp. 0301 AccelGraphics AccelECLIPSE @@ -5729,9 +5823,9 @@ 0163 NV44 [GeForce 6200 LE] 0164 NV44 [GeForce Go 6200] 0165 NV44 [Quadro NVS 285] - 0166 NV43 [GeForce Go 6400] - 0167 NV43 [GeForce Go 6200/6400] - 0168 NV43 [GeForce Go 6200/6400] + 0166 NV44 [GeForce Go 6400] + 0167 NV44 [GeForce Go 6200] + 0168 NV44 [GeForce Go 6400] 0169 NV44 [GeForce 6250] 016a NV44 [GeForce 7100 GS] 0170 NV17 [GeForce4 MX 460] @@ -6490,6 +6584,8 @@ 06cd GF100 [GeForce GTX 470] 06d1 GF100 [Tesla C2050 / C2070] 06d2 GF100 [M2070] + 06d8 GF100 [Quadro 6000] + 06d9 GF100 [Quadro 5000] 06dd GF100 [Quadro 4000] 06de GF100 [Tesla S2050] 06df GF100 [M2070Q] @@ -6702,6 +6798,7 @@ 0a2d GT216 [GeForce GT 320M] 0a34 GT216 [GeForce GT 240M] 0a35 GT216 [GeForce GT 325M] + 0a38 GT216GL [Quadro 400] 0a3c GT216 [Quadro FX 880M] 0a60 GT218 [GeForce G210] 0a62 GT218 [GeForce 205] @@ -6835,27 +6932,42 @@ # rev a1 0dd1 GF106 [GeForce GTX 460M] 1558 8687 CLEVO/KAPOK W860CU + 0dd2 GF106 [GeForce GT 445M] + 0dd8 GF106GL [Quadro 2000] + 0dda GF106 [Quadro 2000M] 0de1 GF108 [GeForce GT 430] + 0dee GF108 [Geforce GT 415M] + 0df4 GF106 [GeForce GT 555M SDDR3] 0df8 GF108 [Quadro 600] + 0dfa GF108 [Quadro 1000M] + 0e08 HDMI Audio stub 0e09 GF110 High Definition Audio Controller 0e22 GF104 [GeForce GTX 460] 1462 2322 N460GTX Cyclone 1GD5/OC + 0e3a GF104 [Quadro 3000M] + 0e3b GF104 [Quadro 4000M] + 1056 GF108 [Quadro NVS 4200M] 1080 GF110 [Geforce GTX 580] 1081 GF110 [Geforce GTX 570] 10de 087e Leadtek WinFast GTX 570 1086 GF110 [Geforce GTX 570 HD] - 10c3 G98 [GeForce 8400GS] + 10c3 GT218 [GeForce 8400 GS] 10de 066d G98 [GeForce 8400GS] + 10c5 M116N + 10d8 GT218 [NVS 300] 1200 GF110 [GeForce GTX 560 Ti] + 1244 GF116 [GeForce GTX 550 Ti] 10df Emulex Corporation 1ae5 LP6000 Fibre Channel Host Adapter e100 Proteus-X: LightPulse IOV Fibre Channel Host Adapter e131 LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter e180 Proteus-X: LightPulse IOV Fibre Channel Host Adapter e200 Lancer-X: LightPulse Fibre Channel Host Adapter + e208 LightPulse 16Gb Fibre Channel Host Adapter (Lancer-VF) e220 OneConnect NIC (Lancer) e240 OneConnect iSCSI Initiator (Lancer) e260 OneConnect FCoE Initiator (Lancer) + e268 OneConnect 10Gb FCoE Converged Network Adapter (Lancer-VF) f011 Saturn: LightPulse Fibre Channel Host Adapter f015 Saturn: LightPulse Fibre Channel Host Adapter f085 LP850 Fibre Channel Host Adapter @@ -6939,6 +7051,7 @@ 809c S5933_HEPC3 80b9 Harmonix Hi-Card P8 (4x active ISDN BRI) 80d7 PCI-9112 + 80d8 PCI-7200 80d9 PCI-9118 80da PCI-9812 80fc APCI1500 Signal processing controller (16 dig. inputs + 16 dig. outputs) @@ -7010,6 +7123,7 @@ 1025 8920 ALN-325 1025 8921 ALN-325 103c 006a NX9500 + 103c 2a20 Pavilion t3030.de Desktop PC 103c 30d9 Presario C700 1043 1045 L8400B or L3C/S notebook 1043 8109 P5P800-MX Mainboard @@ -7059,11 +7173,12 @@ 1019 8168 MCP73PVT-SM 103c 1611 Pavilion DM1Z-3000 1043 11f5 A6J-Q008 - 1043 16d5 U6V laptop + 1043 16d5 U6V/U31J laptop 1043 81aa P5B 1043 82c6 M3A78-EH Motherboard 1043 83a3 M4A785TD Motherboard 1043 8432 P8P67 Deluxe Motherboard [Realtek RTL8111E] + 10ec 8168 TEG-ECTX Gigabit PCI-E Adapter [Trendnet] 1458 e000 GA-EP45-DS5 Motherboard 1462 238c Onboard RTL8111b on MSI P965 Platinum Mainboard 1462 368c K9AG Neo2 @@ -7097,7 +7212,7 @@ 1737 0019 WPC11v4 802.11b Wireless-B Notebook Adapter 8185 RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller 8191 RTL8188CE 802.11b/g/n WiFi Adapter - 8192 RTL8192E Wireless LAN Controller + 8192 RTL8192E/RTL8192SE Wireless LAN Controller 8197 SmartLAN56 56K Modem 8199 RTL8187SE Wireless LAN Controller 10ed Ascii Corporation @@ -7323,6 +7438,7 @@ 1043 83c7 P5KPL-AM EPU 0409 VX855/VX875 Host Bridge: Host Control 0415 VT6415 PATA IDE Host Controller + 1043 838f M5A88-V EVO 0501 VT8501 [Apollo MVP4] 0505 VT82C505 # Shares chip with :0576. The VT82C576M has :1571 instead of :0561. @@ -7463,6 +7579,7 @@ 3044 VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller 0010 0001 IEEE 1394 4port DCST 1394-3+1B 1025 005a TravelMate 290 + 103c 2a20 Pavilion t3030.de Desktop PC 1043 808a A8V/A8N/P4P800 series motherboard 1043 81fe M4A series motherboard 1458 1000 GA-7VT600-1394 Motherboard @@ -7583,6 +7700,7 @@ 3123 VT8623 [Apollo CLE266] 3128 VT8753 [P4X266 AGP] 3133 VT3133 Host Bridge + 3142 VT6651 WiFi Adapter, 802.11b 3147 VT8233A ISA Bridge 1043 808c A7V333 motherboard 3148 P4M266 Host Bridge @@ -7639,7 +7757,7 @@ 324a CX700/VX700 PCI to PCI Bridge 324b CX700/VX700 Host Bridge 324e CX700/VX700 Internal Module Bus - 3253 VIA VT6655 WiFi Adapter, 802.11a/b/g + 3253 VT6655 WiFi Adapter, 802.11a/b/g 3258 PT880 Host Bridge 3259 CN333/CN400/PM880 Host Bridge 3260 VIA Chrome9 HC IGP @@ -7665,6 +7783,7 @@ 337a VT8237A PCI to PCI Bridge 337b VT8237A Host Bridge 3403 VT6315 Series Firewire Controller + 1043 8374 M5A88-V EVO 1043 8384 P8P67 Deluxe Motherboard 3409 VX855/VX875 DRAM Bus Control 4149 VIA VT6420 (ATA133) Controller @@ -9041,10 +9160,13 @@ 2211 88SB2211 PCI Express to PCI Bridge 2a01 88W8335 [Libertas] 802.11b/g Wireless 2a02 88W8361 [TopDog] 802.11n Wireless + 07d1 3b02 DIR-615 rev. A1 Mini PCI Wireless Module 1385 7e00 WN311T RangeMax Next 300 Mbps Wireless PCI Adapter 1799 801b F5D8011 v2 802.11n N1 Wireless Notebook Card + 2a08 88W8362e [TopDog] 802.11a/b/g/n Wireless 2a0a 88W8363 [TopDog] 802.11n Wireless 2a0c 88W8363 [TopDog] 802.11n Wireless + 2a24 88W8363 [TopDog] 802.11n Wireless 2a2b 88W8687 [TopDog] 802.11b/g Wireless 2a30 88W8687 [TopDog] 802.11b/g Wireless 2a40 88W8366 [TopDog] 802.11n Wireless @@ -9179,6 +9301,7 @@ a0a0 0506 Marvell 88E8053 Gigabit Ethernet Controller (Aopen) 4363 88E8055 PCI-E Gigabit Ethernet Controller 4364 88E8056 PCI-E Gigabit Ethernet Controller + 11ba 00ba 8056 Gigabit Ethernet Controller 4365 88E8070 based Ethernet Controller 4366 88EC036 PCI-E Gigabit Ethernet Controller 4367 88EC032 Ethernet Controller @@ -9390,8 +9513,9 @@ 0620 Lucent V.92 Data/Fax Modem 1040 HDA softmodem 2600 StarPro26XX family (SP2601, SP2603, SP2612) DSP + 3026 HDA Modem 5400 OR3TP12 FPSC - 5656 Agere Systems Venus Modem + 5656 Venus Modem 5801 USB 5802 USS-312 USB Controller 5803 USS-344S USB Controller @@ -9912,16 +10036,16 @@ 125e Specialvideo Engineering SRL 125f Concurrent Technologies, Inc. 1260 Intersil Corporation - 3872 Prism 2.5 Wavelan chipset + 3872 ISL3872 [Prism 3] 1468 0202 LAN-Express IEEE 802.11b Wireless LAN - 3873 Prism 2.5 Wavelan chipset - 10cf 1169 MBH7WM01-8734 802.11b Wireless Mini PCI Card - 1186 3501 DWL-520 Wireless PCI Adapter - 1186 3700 DWL-520 Wireless PCI Adapter, Rev E1 - 1385 4105 MA311 802.11b wireless adapter + 3873 ISL3874 [Prism 2.5]/ISL3872 [Prism 3] + 10cf 1169 MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874] + 1186 3501 DWL-520 Wireless PCI Adapter (rev A) [ISL3874] + 1186 3700 DWL-520 Wireless PCI Adapter (rev E1) [ISL3872] + 1385 4105 MA311 802.11b wireless adapter [ISL3874] 1668 0414 HWP01170-01 802.11b PCI Wireless Adapter 16a5 1601 AIR.mate PC-400 PCI Wireless LAN Adapter - 1737 3874 WMP11 v1 802.11b Wireless-B PCI Adapter + 1737 3874 WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874] 8086 2510 M3AWEB Wireless 802.11b MiniPCI Adapter 8086 2513 Wireless 802.11b MiniPCI Adapter 3877 ISL3877 [Prism Indigo] @@ -10978,9 +11102,11 @@ 08b4 ISDN network Controller [HFC-4S] 1397 b520 HFC-4S [IOB4ST] 1397 b540 HFC-4S [Swyx 4xS0 SX2 QuadBri] + 1397 b550 HFC-4S [Junghanns quadBRI] 1397 b556 HFC-4S [Junghanns DuoDBRI] 1397 e888 HFC-4S [OpenVox B200P / B400P] 16b8 ISDN network Controller [HFC-8S] + 1397 b562 HFC-8S [IOB8ST] 2bd0 ISDN network controller [HFC-PCI] 0675 1704 ISDN Adapter (PCI Bus, D, C) 0675 1708 ISDN Adapter (PCI Bus, D, C, ACPI) @@ -11119,10 +11245,6 @@ ab06 RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter ab08 21x4x DEC-Tulip compatible 10/100 Ethernet 13d2 Shark Multimedia Inc -13d3 IMC Networks - 3211 DTV-DVB 704A - 3216 AzureWare AD-TU200 - 3219 DTV-DVB 7049A DVB-T USB Stick 13d4 Graphics Microsystems Inc 13d5 Media 100 Inc 13d6 K.I. Technology Co Ltd @@ -11457,6 +11579,7 @@ 9513 OX16PCI954 (Quad 16950 UART) function 1 (parallel port) 9521 OX16PCI952 (Dual 16950 UART) 9523 OX16PCI952 Integrated Parallel Port + c308 EX-44016 16-port serial 1416 Multiwave Innovation pte Ltd 1417 Convergenet Technologies Inc 1418 Kyushu electronics systems Inc @@ -12017,7 +12140,6 @@ 1655 NetXtreme BCM5717 Gigabit Ethernet PCIe 1656 NetXtreme BCM5718 Gigabit Ethernet PCIe 1657 NetXtreme BCM5719 Gigabit Ethernet PCIe - 1658 NetXtreme BCM5720 Gigabit Ethernet 1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express 1014 02c6 eServer xSeries server mainboard 1028 01e6 PowerEdge 860 @@ -12045,6 +12167,7 @@ 103c 0890 NC6000 laptop 103c 099c NX6110/NC6120 10cf 1279 LifeBook E8010D + 165f NetXtreme BCM5720 Gigabit Ethernet PCIe 1662 NetXtreme II BCM57712 10 Gigabit Ethernet 1663 NetXtreme II BCM57712 10 Gigabit Ethernet Multi Function 1668 NetXtreme BCM5714 Gigabit Ethernet @@ -12058,7 +12181,6 @@ 1672 NetXtreme BCM5754M Gigabit Ethernet PCI Express 1673 NetXtreme BCM5755M Gigabit Ethernet PCI Express 1674 NetXtreme BCM5756ME Gigabit Ethernet PCI Express - 1676 NetXtreme BCM5750 Gigabit Ethernet 1677 NetXtreme BCM5751 Gigabit Ethernet PCI Express 1028 0176 Dimension XPS Gen 4 1028 0177 Dimension 8400 @@ -12084,7 +12206,6 @@ 1028 021e Precision T5400 167b NetXtreme BCM5755 Gigabit Ethernet PCI Express 103c 280a DC5750 Microtower - 167c NetXtreme BCM5750M Gigabit Ethernet 167d NetXtreme BCM5751M Gigabit Ethernet PCI Express 1014 0577 ThinkPad Z60t 103c 0940 HP Compaq nw8240 Mobile Workstation @@ -12100,6 +12221,7 @@ 168e NetXtreme II BCM57810 10 Gigabit Ethernet 1690 NetXtreme BCM57760 Gigabit Ethernet PCIe 1691 NetLink BCM57788 Gigabit Ethernet PCIe + 1028 04aa XPS 8300 1692 NetLink BCM57780 Gigabit Ethernet PCIe 1025 033d Aspire 7740G 1693 NetLink BCM5787M Gigabit Ethernet PCI Express @@ -12207,7 +12329,7 @@ 4212 BCM4212 v.90 56k modem 4220 802-11b/g Wireless PCI controller, packaged as a Linksys WPC54G ver 1.2 PCMCIA card 4222 NetXtreme BCM5753M Gigabit Ethernet PCI Express - 4301 BCM4303 802.11b Wireless LAN Controller + 4301 BCM4301 802.11b Wireless LAN Controller 1028 0407 TrueMobile 1180 Onboard WLAN 1043 0120 WL-103b Wireless LAN PC Card 16a5 1602 B-300 802.11b Wireless CardBus Adapter @@ -12300,7 +12422,7 @@ 185f 1220 TravelMate 290E WLAN Mini-PCI Card 4321 BCM4306 802.11a Wireless LAN Controller 4322 BCM4306 UART - 4324 BCM4309 802.11a/b/g + 4324 BCM4306 802.11a/b/g 1028 0001 Truemobile 1400 1028 0002 TrueMobile 1400 Dual Band WLAN PC Card 1028 0003 Truemobile 1450 MiniPCI @@ -12368,6 +12490,7 @@ 4719 BCM47xx/53xx RoboSwitch Core 4720 BCM4712 MIPS CPU 4727 BCM4313 802.11b/g/n Wireless LAN Controller + 1028 0010 XPS 8300 5365 BCM5365P Sentry5 Host Bridge 5600 BCM5600 StrataSwitch 24+2 Ethernet Switch Controller 5605 BCM5605 StrataSwitch 24+2 Ethernet Switch Controller @@ -12559,6 +12682,7 @@ 5051 High Definition Audio (HERMOSA) 5b7a CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder 0070 7444 WinTV HVR-1600 + 5854 3343 GoTView PCI DVD3 Hybrid 8200 CX25850 8234 RS8234 ATM SAR Controller [ServiceSAR Plus] 8800 CX23880/1/2/3 PCI Video and Audio Decoder @@ -12606,11 +12730,13 @@ 18ac db00 FusionHDTV DVB-T1 18ac db11 FusionHDTV DVB-T Plus 18ac db50 FusionHDTV DVB-T Dual Digital + 5654 2388 GoTView PCI Hybrid TV Tuner Card 7063 3000 pcHDTV HD3000 HDTV 7063 5500 pcHDTV HD-5500 8801 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models 185b e000 VideoMate X500 + 5654 2388 GoTView PCI Hybrid Audio AVStream Device 7063 5500 pcHDTV HD-5500 8802 CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models @@ -12629,6 +12755,7 @@ 18ac d820 DViCO FusionHDTV3 Gold-T 18ac db00 DVICO FusionHDTV DVB-T1 18ac db10 DVICO FusionHDTV DVB-T Plus + 5654 2388 GoTView PCI Hybrid TS Capture Device 7063 3000 pcHDTV HD3000 HDTV 7063 5500 pcHDTV HD-5500 8804 CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] @@ -12646,12 +12773,14 @@ 18ac d810 DViCO FusionHDTV3 Gold-Q 18ac d820 DViCO FusionHDTV3 Gold-T 18ac db00 DVICO FusionHDTV DVB-T1 + 5654 2388 GoTView PCI Hybrid Audio Capture Device 8852 CX23885 PCI Video and Audio Decoder 0070 8010 Hauppauge WinTV HVR-1400 ExpressCard 1461 c039 AVerTV Hybrid Express (A577) 18ac db78 FusionHDTV DVB-T Dual Express 8880 CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb 0070 c108 WinTV-HVR-4400-HD model 1278 + 5654 2389 GoTView X5 DVD Hybrid PCI-E 5654 2390 GoTView X5 3D HYBRID PCI-E 14f2 MOBILITY Electronics 0120 EV1000 bridge @@ -12994,7 +13123,7 @@ 15b1 Source Technology Inc 15b2 Mosaid Technologies Inc 15b3 Mellanox Technologies - 0191 MT25408 [ConnectX IB SDR Flash Recovery] + 0191 MT25408 [ConnectX IB Flash Recovery] 01f5 MT27500 Family [ConnectX-3 Flash Recovery] 1002 MT25400 Family [ConnectX-2 Virtual Function] 1003 MT27500 Family [ConnectX-3] @@ -13250,7 +13379,7 @@ 187e 3407 ZyAIR B-320 802.11b Wireless PCI Adapter 2116 ZD1212B Wireless Adapter 167d Samsung Electro-Mechanics Co., Ltd. - a000 IPW2200 miniPCI Wireless + a000 MagicLAN SWL-2210P 802.11b [Intersil ISL3874] 167e ONNTO Corp. 1681 Hercules 0010 Hercules 3d Prophet II Ultra 64MB (350 MHz NV15BR core) @@ -13260,13 +13389,14 @@ 168c Atheros Communications Inc. 0007 AR5000 802.11a Wireless Adapter 1737 0007 WPC54A Wireless PC Card - 1b47 0110 (Proxim) Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter + 1b47 0100 Harmony 8450CN Wireless CardBus Module + 1b47 0110 Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter 8086 2501 PRO/Wireless 5000 LAN PCI Adapter Module 0011 AR5210 802.11a NIC 0012 AR5211 802.11ab NIC 126c 8031 2201 Mobile Adapter 1385 4400 WAB501 802.11ab Wireless CardBus Card - 1b47 aa00 (Proxim) 8460 802.11ab Wireless CardBus Adapter + 1b47 aa00 8460 802.11ab Wireless CardBus Adapter 0013 Atheros AR5001X+ Wireless Network Adapter 0308 3402 AG-100 802.11ag Wireless Cardbus Adapter 0308 3405 G-102 v2 802.11g Wireless Cardbus Adapter @@ -13349,9 +13479,13 @@ 17f9 0018 DX-WGDTC 802.11bg Wireless PCI Adapter # the name AR5006X is used for the reference design using AR5413 001b AR5413 802.11abg NIC + 0777 3002 XR2 802.11g Wireless Mini PCI Adapter *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 14:51:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78CF9106566B; Sat, 16 Jul 2011 14:51:28 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F7C58FC08; Sat, 16 Jul 2011 14:51:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GEpSno032191; Sat, 16 Jul 2011 14:51:28 GMT (envelope-from philip@svn.freebsd.org) Received: (from philip@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GEpSvk032190; Sat, 16 Jul 2011 14:51:28 GMT (envelope-from philip@svn.freebsd.org) Message-Id: <201107161451.p6GEpSvk032190@svn.freebsd.org> From: Philip Paeps Date: Sat, 16 Jul 2011 14:51:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224100 - vendor/pciids/pciids-20110716 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 14:51:28 -0000 Author: philip Date: Sat Jul 16 14:51:28 2011 New Revision: 224100 URL: http://svn.freebsd.org/changeset/base/224100 Log: Tag today's snapshot of the PCI ID Repository. Added: vendor/pciids/pciids-20110716/ - copied from r224099, vendor/pciids/dist/ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 15:40:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7787C106564A; Sat, 16 Jul 2011 15:40:26 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 665428FC14; Sat, 16 Jul 2011 15:40:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GFeQ15033712; Sat, 16 Jul 2011 15:40:26 GMT (envelope-from philip@svn.freebsd.org) Received: (from philip@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GFeQKp033710; Sat, 16 Jul 2011 15:40:26 GMT (envelope-from philip@svn.freebsd.org) Message-Id: <201107161540.p6GFeQKp033710@svn.freebsd.org> From: Philip Paeps Date: Sat, 16 Jul 2011 15:40:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224102 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 15:40:26 -0000 Author: philip Date: Sat Jul 16 15:40:26 2011 New Revision: 224102 URL: http://svn.freebsd.org/changeset/base/224102 Log: MFV pciids-20110716, r224099 Update to use the latest version of the PCI IDs Repository. As discussed on -current@ in May, this brings in a new source of the database, which is also used by other operating systems. Our previous sources no longer exist and this database is actively maintained and more complete in general. Modified: head/share/misc/pci_vendors Modified: head/share/misc/pci_vendors ============================================================================== --- head/share/misc/pci_vendors Sat Jul 16 15:10:43 2011 (r224101) +++ head/share/misc/pci_vendors Sat Jul 16 15:40:26 2011 (r224102) @@ -1,11103 +1,20099 @@ -; $FreeBSD$ -; -; Automatically generated by src/tools/tools/pciid/mk_pci_vendors.pl -; (with the -l option), using the following source lists: -; -; http://www.pcidatabase.com/reports.php?type=csv -; http://members.datafast.net.au/dft0802/downloads/pcidevs.txt -; -; Manual edits on this file will be lost! -; -0000 Gammagraphx Inc -001A Ascend Communications Inc -0033 Paradyne Corp -003D Real 3D (Was: Lockheed Martin-Marietta Corp) - 00D1 i740 PCI Graphics Accelerator -0070 Hauppauge Computer Works Inc. - 4000 WinTV PVR-350 - 4001 WinTV PVR-250 (v1) - 4009 WinTV PVR-250 - 4801 WinTV PVR-250 MCE - 6800 Hauppage Nova -TD-500 DVB-T Tuner Device ( PCIVEN_1131&DEV_7130&SUBSYS_40510000&REV_014&3B) -0071 Nebula Electronics Ltd -0100 Ncipher Corp Ltd -0123 General Dynamics -0246 Addtron(??) -0315 SK - Electronics Co Ltd -0357 TTTech AG - 000A TTP-Monitoring Card V2.0 -0403 Future Technology Devices International Ltd -0432 SCM Microsystems Inc - 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] -045E Microsoft - 006E MN-510 802.11b wireless USB paddle - 00C2 MN-710 wireless USB paddle -0482 Kyocera -04CF Myson Century Inc - 8818 CS8818 USB2.0-to-ATAPI Bridge Controller with Embedded PHY -050D Belkin - 001A FSD7000 802.11g PCI Wireless card - 0109 F5U409-CU USB/Serial Portable Adapter - 7050 F5D7050 802.11g Wireless USB Adapter - 705C F5D7050 v4 -05A9 OmniVision - 8519 OV519 series -05E3 CyberDoor - 0701 CBD516 -064E SUYIN Corporation - A101 Acer Crystal Eye Webcam (suYin) - A103 WebCam (SuYin) - D101 Web Cam (SuYin) -066F Sigmatel Inc - 3410 SMTP3410 - 3500 SMTP3500 -0675 Dynalink - 1700 IS64PH ISDN Adapter - 1702 IS64PH ISDN Adapter - 1703 ISDN Adapter (PCI Bus, DV, W) - 1704 ISDN Adapter (PCI Bus, D, C) -067B Prolific Technology Inc - 2303 PL-2303 USB-to-Serial Converter - 2305 USB-to-Printer Bridge Controller (PL-2305) - 2393 prolific (prolific) - 3507 PL-3507 Hi-Speed USB & IEEE 1394 Combo to IDE Bridge Controller -069D Hughes Network Systems (HNS) -0700 Stream Machine -0721 Sapphire Inc -07CA AVerMedia Technologies Inc - B808 AVerTV DVB-T Volar (USB 2.0) -0815 LinTech GmbH - 0002 ELKA SO-PCI -0871 Berkom - FFA1 A1T HCF-PCI Card - FFA2 T-Concept HCF-PCI Card - FFA4 A4T - FFA8 Scitel Quadro -09C1 Arris - 0704 CM 200E Cable Modem -0A5C Broadcom Corporation - 0201 Broadcom USB iLine10(tm) Network Adapter (Broadcom NetXtreme BCM5782 Gigabie Ethernet Contro) - 2000 Broadcom Bluetooth Firmware Upgrade Device - 2009 Broadcom Bluetooth Controller - 200A Broadcom Bluetooth Controller - 200F Broadcom Bluetooth Controller - 201D BROADCOM Bluetooth Device - 201E IBM Integrated Bluetooth IV - 2020 Broadcom Bluetooth Dongle - 2021 BCM2035B3 ROM Adapter Generic - 2033 Broadcom Blutonium Device Firmware Downloader - 2035 BCM2035 Bluetooth - 2038 Broadcom Blutonium Device Firmware Downloader (BCM2038) - 2039 BROADCOM Bluetooth Device - 2045 Broadcom Bluetooth Controller - 2046 Broadcom USB Bluetooth Device ( 5738z) - 2047 Broadcom USB Bluetooth Device - 205E Broadcom Bluetooth Firmware Upgrade Device - 2100 Broadcom Bluetooth 2.0+eDR USB dongle (BT 50) - 2101 Broadcom Bluetooth 2.0+EDR USB dongle ( 5&11BBCF3F&0&2) - 2102 ANYCOM Blue USB-200/250 ( USBVID_04B4&PID_21025&38CD4C16&0&6) - 2110 Broadcom Bluetooth Controller - 2111 ANYCOM Blue USB-UHE 200/250 - 2120 Broadcom 2045 Bluetooth 2.0 USB-UHE Device with trace filter ( 2045) - 2121 Broadcom 2045 Bluetooth 2.0 USB Device with trace filter - 2122 Broadcom Bluetooth 2.0+EDR USB dongle ( BCM92045B3) - 2124 2045B3ROM Bluetooth Dongle - 2130 Broadcom 2045 Bluetooth 2.0 USB-UHE Device with trace filter - 2131 Broadcom 2045 Bluetooth 2.0 USB Device with trace filter - 2140 2046 Flash UHE Class 2 - 2141 2046 Flash non UHE Class 2 - 2142 2046 Flash non UHE Class 1 - 2143 2046 Flash non UHE Class 1 - 2144 2046 Flash non UHE module Class 2 - 2145 Broadcom BCM9204MD LENO Module - 2146 Broadcom 2045 Bluetooth 2.1 USB UHE Dongle - 2147 Broadcom 2046 Bluetooth 2.1 USB Dongle - 2148 Broadcom 2046 Bluetooth 2.1 USB UHE Dongle - 2149 Broadcom 2046 Bluetooth 2.1 USB Dongle - 214A Broadcom 2046 Bluetooth 2.1 USB Module - 214B Broadcom 2046 Bluetooth 2.1 USB Module - 214C Broadcom 2046 Bluetooth 2.1 USB Module - 214D Broadcom Bluetooth 2.1 UHE Module - 214E Thinkpad Bluetooth with Enhanced Data Rate II - 214F Broadcom 2046 Bluetooth 2.1 USB UHE Dongle - 2150 Broadcom 2046 Bluetooth 2.1 USB Dongle - 2151 Broadcom 2046 Bluetooth 2.1 USB Dongle - 2152 Broadcom 2046 Bluetooth 2.1 USB UHE Dongle - 2153 Broadcom 2046 Bluetooth 2.1 USB UHE Dongle - 2154 Broadcom 2046 Bluetooth 2.1 USB UHE Dongle - 2155 Broadcom Bluetooth USB Dongle - 2157 BCM2046 B1 USB 500 - 2158 Broadcom 2046 Bluetooth 2.1 Device - 4500 Broadcom 2046 Bluetooth 2.1 USB Dongle (BCM2046B1) - 4502 Broadcom 2046 Bluetooth 2.1 USB Dongle (BCM2046B1) - 4503 Broadcom 2046 Bluetooth 2.1 USB Dongle ( BCM2046B1) - 5800 Unified Security Hub - 6300 Pirelli ISB Remote NDIS Device -0A89 BREA Technologies Inc -0B0B Rhino Equiment Corp. - 0105 Rhino R1T1 - 0205 Rhino R4FXO - 0206 RCB4FXO 4-channel FXO analog telphony card - 0305 Rhino R4T1 - 0405 Rhino R8FXX - 0406 RCB8FXX 8-channel modular analog telphony card - 0505 Rhino R24FXX - 0506 RCB24FXS 24-Channel FXS analog telphony card - 0605 Rhino R2T1 - 0705 Rhino R24FXS - 0706 RCB24FXO 24-Channel FXO analog telphony card - 0905 R1T3 Single T3 Digital Telephony Card - 0906 RCB24FXX 24-channel modular analog telphony card - 0A06 RCB672FXX 672-channel modular analog telphony card -0B49 ASCII Corporation - 064F Trance Vibrator -0C45 Microdia Ltd. - 602D USB Webcam (7&2BE7B8E3&0&4) - 6130 USB CAMERA (5&3512B308&0&1) -0E11 Compaq Computer Corp (Now owned by Hewlett-Packard) - 0001 PCI to EISA Bridge - 0002 PCI to ISA Bridge (ISA Bridge) - 000F StorageWorks Library Adapter (HVD) (CPQB1A9) - 0012 686P7 (686P7) - 0046 Smart Array 6400 Controller (N/A) - 0049 Gigabit Upgrade Module (NC7132) - 004A Gigabit Server Adapter (NC6136) - 005A HP Remote Insight Lights-Out II Board (PowerPC 405GP processor at 200MHz [3305103C]) - 007C NC7770 1000BaseTX - 007D NC6770 1000BaseTX - 0085 NC7780 1000BaseTX - 00B1 HP Remote Insight Lights-Out II PCI Device (3305103C) - 00BB NC7760 - 00C0 AIC-7899G 64-bit, 66MHz Dual Channel Wide Ultra3 SCSI Controller - 00CA NC7771 - 00CB NC7781 - 00CF NC7772 - 00D0 NC7782 - 00D1 NC7783 - 00E3 NC7761 - 0508 PCI UTP/STP Controller (Neteligent 4/16 TR) - 1000 Pentium Bridge (Triflex Model 1000) - 2000 Pentium Bridge (Triflex Model 2000) - 3032 GUI Accelerator (QVision 1280/p v0) - 3033 GUI Accelerator (QVision 1280/p v1) - 3034 GUI Accelerator (QVision 1280/p v2) - 4000 Pentium Bridge (Triflex Model 4000) - 4030 SMART-2/P - 4031 SMART-2SL - 4032 Smart Array 3200 - 4033 Smart Array 3100ES - 4034 Smart Array 221 - 4040 Integrated Array - 4048 Compaq Raid LC2 - 4050 Smart Array 4200 - 4051 Smart Array 4250ES - 4058 Smart Array 431 - 4070 Smart Array 5300 - 4080 Smart Array 5i - 4082 Smart Array 532 - 4083 Smart Array 5312 - 4091 Smart Array 6i - 409A Smart Array 641 - 409B Smart Array 642 - 409C Smart Array 6400 - 409D Smart Array 6400 EM - 6010 HotPlug PCI Bridge (Model 6010) - 7020 USB Controller - A0EC Original Compaq fibre Channel HBA - A0F0 Advanced System Management Controller - A0F3 Triflex PCI to ISA PnP Bridge - A0F7 PCI Hot Plug Controller - A0F8 USB Open Host Controller (ZFMicro) - A0FC HPFC-5166A Tachyon TL 64-bit/66MHz Fibre Channel Adapter - AE10 Smart-2 Array Controller - AE29 PCI to ISA Bridge (MIS-L) - AE2A CPU to PCI Bridge (MPC) - AE2B PCI to ISA PnP Bridge (MIS-E) - AE31 System Management Controller (1002&DEV-5653&SUBSYS) - AE32 Netelligent 10/100 TX PCI UTP TLAN 2.3 (950) - AE33 Dual EIDE Controller (Triflex) - AE34 Netelligent 10 T PCI UTP TLAN 2.3 - AE35 Integrated NetFlex-3/P TLAN 2.3 - AE40 Dual-port Netelligent 10/100 TX PCI TLAN 3.03 - AE43 Integrated Netelligent 10/100 TX PCI TLAN 2.3 - AE69 PCI to ISA Bridge (CETUS-L) - AE6C PCI Bridge (DRACO) - AE6D CPU to PCI Bridge (NorthStar) - B011 Dual-port Netelligent 10/100 TX - B012 UTP/Coax PCI (Netelligent 10 T/2) - B01E Fast Ethernet NIC (NC3120) - B01F Fast Ethernet NIC (NC3122) - B02F Ethernet NIC (NC1120) - B030 10/100TX Embedded UTP/Coax Controller (Netelligent WS 1500) - B04A 10/100TX WOL UTP Controller (699209-003) - B060 CISS SMART2 Array Controller - B0C6 NC3161 Fast Ethernet Embedded Controller with WOL - B0C7 Fast Ethernet NIC (NC3160) - B0D7 Fast Ethernet NIC (NC3121 rev. A & B) - B0DD Fast Ethernet NIC (NC3131) - B0DE NC3132 Fast Ethernet Module - B0DF Gigabit Module (NC6132) - B0E0 Gigabit Module (NC6133) - B0E1 Fast Ethernet Module (NC3133) - B123 Gigabit NIC (NC6134) - B134 Fast Ethernet NIC (NC3163) - B13C Fast Ethernet NIC (NC3162) - B144 Fast Ethernet NIC (NC3123) - B163 Fast Ethernet NIC (NC3134) - B164 Fast Ethernet Upgrade Module (NC3135) - B178 SMART2 Array Controller (CISSB) - B196 Conexant SoftK56 Modem (0230) - B1A4 Gigabit Server Adapter (NC7131) - B200 Memory Hot-Plug Controller - B203 Integrated Lights Out Processor (iLo) - B204 Integrated Lights Out Processor (iLo) - F095 HP StorageWorks 2 Gb, 64-Bit/66-MHz PCI-to-Fibre Channel Host Bus Adapter for Windows 2000, Windows (FCA2101) - F130 ThunderLAN 1.0 NetFlex-3/P - F150 ThunderLAN 2.3 NetFlex-3/P with BNC - F700 LP7000 Compaq/Emulex Fibre Channel HBA - F800 LP8000 64-bit Compaq/Emulex Fibre Channel HBA -0E55 HaSoTec GmbH -1000 LSI Logic (Was: Symbios Logic, NCR) - 0001 LSI53C810/A/AE PCI-SCSI I/O Processor - 0002 53C820 820 Fast-Wide-SCSI Adapter - 0003 LSI53C825/A/AE PCI to SCSI I/O Processor (Fast Wide) - 0004 SCSI raid controllers (53C815) - 0005 53C810AP,810ASP, 2081X Fast/Ultra/Wide SCSI Adapter - 0006 PCI to Ultra SCSI I/O Processor (LSI53C860/860E) - 000A LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) - 000B LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller - 000C LSI53C895 PCI to Ultra2 SCSI I/O Processor with LVD Link - 000D Ultra Wide SCSI, Ethernet (53C885) - 000F LSI53C875/E,LSI53C876/E PCI to Ultra SCSI I/O Processor - 0010 LSI53C1510 I2O-Ready PCI RAID Ultra2 SCSI Controller (Intelligent mode) - 0012 PCI to Ultra2 SCSI Controller (LSI53C895A) - 0013 PCI to Ultra SCSI Controller (LSI53C875A) - 0020 LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Multifunction Controller - 0021 PCI to Ultra160 SCSI Controller (LSI53C1000/1000R/1010R/1010-66) - 0030 PCI-X to Ultra320 SCSI Controller (LSI53C1020/1030) - 0031 PCI-X SCSI Controller (LSI53C1030ZC) - 0032 PCI-X to Ultra320 SCSI Controller (LSI53C1035) - 0033 1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI - 0035 PCI-X SCSI Controller (LSI53C1035) - 0040 LSI53C1035 LSI53C1035 PCI-X to Ultra320 SCSI Controller (RAID mode) - 0041 53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI - 0050 SAS 3000 series, 4-port with 1064 -StorPort - 0054 SAS 3000 series, 8-port with 1068 -StorPort - 0055 SAS1068 PCI-X Fusion-MPT SAS - 0056 SAS 3000 series, 4-port with 1064E -StorPort - 0057 M1064E MegaRAID SAS - 0058 SAS 3000 series, 8-port with 1068E -StorPort - 005A SAS 3000 series, 6-port with 1066E -StorPort - 005C SAS1064A PCI-X Fusion-MPT SAS - 005E SAS 3000 series, 6-port with 1066 -StorPort - 0060 SAS1078 PCI-X Fusion-MPT SAS - 0062 PCI-Express Fusion-MPT SAS (LSISAS1078) - 008F LSI 53C8xx SCSI host adapter chip (53C810) - 0407 MegaRAID - 0408 MegaRAID - 0409 MegaRAID Family RAID Controller - 0411 MegaRAID Family RAID Controller - 0413 MegaRAID SAS Verde ZCR - 0621 Fibre Channel I/O Processor (LSIFC909) - 0622 Dial Channel Fibre Channel I/O Processor (LSIFC929) - 0623 Dual Channel Fibre Channel I/O Processor (LSIFC929) - 0624 LSIFC919 Single Channel Fibre Channel I/O Processor - 0625 LSIFC919 Single Channel Fibre Channel I/O Processor - 0626 LSIFC929X Dual Channel Fibre Channel I/O Processor - 0627 LSIFC929X Dual Channel Fibre Channel I/O Processor - 0628 LSIFC919X Single Channel Fibre Channel I/O Processor - 0629 LSIFC919X Single Channel Fibre Channel I/O Processor - 0630 Fibre Channel I/O Processor (LSIFC920) - 0640 Fibre Channel Adapter (LSIFC949X) - 0642 Fibre Channel Adapter (LSIFC939X) - 0646 Fibre Channel Adapter (LSIFC949ES) - 0701 53C885 NT50 DigitalScape Fast Ethernet Adapter - 0702 Gigabit Ethernet Controller (Yellowfin G-NIC) - 0804 SA2010 - 0805 SA2010ZC - 0806 SA2020 - 0807 SA2020ZC - 0901 USB Controller (61C102) - 1000 Fast SCSI Controller (63C815) - 1001 Symbios Ultra2 SCSI controller (53C895) - 1010 Single channel SCSI controller (LSI 53C102000) - 1960 MegaRAID -1001 Kolter Electronic - Germany - 0010 PCI1616 Measurement Card with 32 digital I/O lines - 0011 OPTO-PCI, 16 IN / 16 OUT 24 VDC (ispLSI1032E) - 0012 PCI-AD, PCI-ADDA analog I/O-card (ispLSI1032E) - 0013 PCI-OptoRel, PCI-Relais 16 Relais & Opto (ispLSI1032E) - 0014 Timer, Pulse & Counter-card 16..32 bit (ispLSI1032E) - 0015 PCI-DAC416, 4 channel D/A16bit precision (ispLSI1032E) - 0016 PCI-MFB high-speed analog I/O (ispLSI1032E) - 0017 PROTO-3 PCI, digital I/O with chipselect (ispLSI1032E) - 0020 Universal digital I/O PCI-Interface (ispLSI1032E) -1002 ATI Technologies Inc. / Advanced Micro Devices, Inc. - 0B12 ATI Radeon X1900 (R580) - 1002 0F2A1787 (0F2A1787) - 3150 ATI MOBILITY /ATI RADEON X600 (M24) - 3151 ATI FireMV 2400 (RV380) - 3152 ATI MOBILITY /ATI RADEON X300 (M24) - 3154 ATI MOBILITY FireGL V3200 (M24GL) - 3171 ATI FireMV 2400 Secondary (RV380) - 3E50 ATI RADEON X600/X550 Series (RV380) - 3E54 ATI FireGL V3200 (RV380GL) - 3E70 ATI RADEON X600/X550 Series Secondary (RV380) - 3E74 ATI FireGL V3200 Secondary (RV380GL) - 4136 Radeon IGP 320 (A3) - 4137 Radeon IGP 340 (RS200) - 4144 Radeon 9500 Series (R300) - 4145 Radeon 9200 (M+X) (R300) - 4146 ATI RADEON 9600TX (R300) - 4147 Fire GL Z1 AGP/Pro Video Accelerator (128 MB, 4P) - 4148 ATI RADEON 9800 SE (R350) - 4149 ATI RADEON 9500 (R350) - 414A Radeon 9800 Family - 414B Fire GL X2 - 4150 ATI RADEON 9600 Series (RV350) - 4151 ATI RADEON 9600 Series (RV350) - 4152 ATI RADEON 9600 Series (RV360) - 4153 ATI RADEON 9550/X1050 Series (RV350) - 4154 ATI FireGL T2 (RV350GL) - 4155 ATI RADEON 9600 Series (RV350) - 4156 Fire GL T2 - 4157 Fire GL T2 - 4158 Mach32 (68800AX) - 4164 Radeon 9500 Series (R300) - Secondary - 4165 Radeon 9700 Pro (R300 AE) - Secondary - 4166 ATI RADEON 9600TX Secondary (R300) - 4167 Fire GL Z1 AGP/Pro Secondary Video Accelerator (128 MB, 4P) - 4168 ATI RADEON 9800 SE Secondary (R350) - 4169 ATI RADEON 9500 Secondary (R350) - 4170 ATI RADEON 9600 Series Secondary (RV350) - 4171 ATI RADEON 9600 Series Secondary (RV350) - 4172 ATI RADEON 9600 Series Secondary (RV360) - 4173 ATI RADEON 9550/X1050 Series Secondary (RV350) - 4174 ATI FireGL T2 Secondary (RV350GL) - 4175 ATI RADEON 9600 Series Secondary (RV350) - 4237 Radeon 7000 IGP - 4242 All-In-Wonder 8500DV (R200AIW) - 4243 Radeon 8500 DV OHCI FireWire Controller - 4336 Radeon IGP 320M (rs200) - 4337 Mobility M6 (U2) (RS200M) - 4341 AC'97 Audio Controller (SB200) - 4342 PCI-PCI Bridge (SB200) - 4345 EHCI USB Controller (SB200) - 4347 OHCI USB Controller *1 - 4348 OHCI USB Controller *2 - 4349 PATA-100 IDE Controller (SB200) - 434C PCI-ISA Bridge (SB200) - 434D AC'97 Modem Controller (SB200) - 4353 IXP SB200 SMBUS Controller - 4354 Mach64 CT (215CT222) - 4358 Mach64 CX (210888CX) - 4361 AC'97 Audio Controller - 4363 IXP SB300 SMBUS Controller - 4369 PATA 133 Controller (IXP 3xx) - 436D IXP SB300 AC'97 Modem Controller - 436E IXP SB300 Serial ATA Controller - 4370 IXP SB400 AC'97 Audio Controller - 4371 IXP SB400 PCI-PCI Bridge - 4372 ATI SMBus (x200) - 4373 IXP SB400 EHCI USB 2.0 Controller - 4374 IXP SB400 OHCI USB Controller - 4375 IXP SB400 OHCI USB Controller - 4376 PATA 133 Controller (SB4xx) - 4377 IXP SB400 PCI-ISA Bridge - 4378 IXP SB400 AC'97 Modem Controller - 4379 IXP SB400 Serial ATA Controller - 437A IXP SB400 Serial ATA Controller - 437B IXP SB450 High Definition Audio Controller - 4380 IXP SB600 Serial ATA Controller - 4381 IXP SB600 Serial ATA RAID Controller - 4382 IXP SB600 AC'97 Audio Controller - 4383 IXP SB600 High Definition Audio Controller - 4384 IXP SB600 PCI to PCI Bridge - 4385 ATI SMBus (ATI RD600/RS600) - 4386 IXP SB600 USB Controller (EHCI) - 4387 IXP SB600 USB Controller (OHCI0) - 4388 IXP SB600 USB Controller (OHCI1) - 4389 IXP SB600 USB Controller (OHCI2) - 438A IXP SB600 USB Controller (OHCI3) - 438B IXP SB600 USB Controller (OHCI4) - 438C ATI RD600/RS600 IDE Controller (RD600/RS600) - 438D IXP SB600 PCI to LPC Bridge - 438E IXP SB600 AC'97 Modem Controller - 4390 Integrated SATA II Controller (SB700) - 4391 SB700 SATA Controller [AHCI mode] - 4392 SB700 SATA Controller [Non-RAID5 mode] - 4393 SB700 SATA Controller [RAID5 mode] - 4394 SB700 SATA Controller [SATA and FC Enabled] - 4395 SB SATA Controller [AHCI mode with HyperFlash-PCIE] - 4396 SB700 USB EHCI Controller - 4397 SB700 USB OHCI0 Controller - 4398 Standard OpenHCD USB-Hostcontroller (SB700) - 4399 SB700 USB OHCI2 Controller - 439C PATA 133 Controller (SB7xx) - 439D SB700 LPC host controller - 4437 Radeon Mobility 7000 IGP - 4554 Mach64 ET - 4654 113--34004-104 (Mach64 VT) - 4742 3D Rage Pro AGP 1X/2X ((GT-C2U2)) - 4744 Rage 3D Pro AGP 2x (Rage 3D Pro AGP 2x) - 4747 Rage 3D Pro (GT-C2U2) - 4749 ATI ALL IN WONDER PRO (8MB) (RAGE PRO TURBO AGP 2X) - 474C k7 som+ (Rage XC PCI-66) - 474D SLAT (Rage XL AGP 2x) - 474E Rage XC AGP 2x - 474F I Need Driver for the Chip (Rage XL PCI-66) - 4750 ATI 3D Rage Pro 215GP (ATI 3D Rage Pro 215GP) - 4751 Rage 3D Pro PCI (PQFP Package, Limited 3D) - 4752 ATI On-Board VGA for HP Proliant 350 G3 (Rage XL PCI) - 4753 Rage XC PCI - 4754 Rage 3D II Graphics Accelerator (Mach 64 VT) - 4755 3d rage 2 + dvd (Rage 3D II+pci) - 4756 Rage 3D IIC PCI [Mach64 GT IIC] (PQFP Package) - 4757 Rage 3D IIC AGP (BGA Package) - 4758 Mach64 GX (210888GX) - 4759 m3d agp card on agp slot (215r2qzua21) - 475A Rage 3D IIC AGP (PQFP Package) - 4964 Radeon 9000 Series (RV250 Id) - 4965 Radeon 9000 Series (RV250 Ie) - 4966 Radeon 9000/9000 Pro (RV250) - 4967 Radeon 9000 (RV250) - 496E Radeon 9000/9000 Pro - Secondary (RV250) - 496F Radeon 9000 (RV250) - Secondary - 4A48 ATI RADEON X800 Series (R420) - 4A49 ATI RADEON X800 PRO (R420) - 4A4A ATI RADEON X800 Series (R420) - 4A4B ATI RADEON X800 XT (R420) - 4A4C ATI RADEON X800 Series (R420) - 4A4D ATI FireGL X3-256 (R420GL) - 4A4E ATI MOBILITY /ATI RADEON 9800 (M18) - 4A4F ATI RADEON X800 SE (R420) - 4A50 ATI RADEON X800 XT Platinum Edition (R420) - 4A54 ATI RADEON X800 VE (R420) - 4A68 ATI RADEON X800 Series Secondary (R420) - 4A69 ATI RADEON X800 PRO Secondary (R420) - 4A6A ATI RADEON X800 Series Secondary (R420) - 4A6B ATI RADEON X800 XT Secondary (R420) - 4A6C ATI RADEON X800 Series Secondary (R420) - 4A6D ATI FireGL X3-256 Secondary (R420GL) - 4A6F ATI RADEON X800 SE Secondary (R420) - 4A70 ATI RADEON X800 XT Platinum Edition Secondary (R420) - 4A74 ATI RADEON X800 VE Secondary (R420) - 4B49 ATI RADEON X850 XT (R481) - 4B4A Radeon X850 SE - 4B4B ATI RADEON X850 PRO (R481) - 4B4C ATI RADEON X850 XT Platinum Edition (R481) - 4B69 ATI RADEON X850 XT Secondary (R481) - 4B6A ATI RADEON X850 SE Secondary (R481) - 4B6B ATI RADEON X850 PRO Secondary (R481) - 4B6C ATI RADEON X850 XT Platinum Edition Secondary (R481) - 4C42 Rage 3D LT Pro AGP 133MHz (BGA-312 Package) - 4C44 Rage 3D LT Pro AGP 133 MHz (Rage 3D LT Pro AGP) - 4C45 Rage Mobility M3 AGP - 4C46 0x4c46 (Mobility M3 AGP) - 4C47 Rage 3D LT-G (ati rage pro) - 4C49 Rage 3D LT Pro PCI (BGA-312 Package) - 4C4D Rage P/M Mobility AGP 2x (01541014) - 4C4E Rage Mobility l (216lo sasa25) - 4C50 Rage 3D LT Pro PCI (BGA-256 Package) - 4C51 Rage 3D LT Pro PCI (BGA-256 Package, Limited 3D) - 4C52 Rage P/M Mobility PCI - 4C53 Rage L Mobility PCI (216L0SASA25) - 4C54 Mach64 LT (264LT) - 4C57 Mobility Radeon 7500 (M7 [LW]) - 4C58 FireGL Mobility - 4C59 Radeon Mobility M6 Series (Mobility 6) - 4C5A Radeon Mobility M6 LZ - 4C64 Radeon Mobility M9-GL - 4C65 Radeon Mobility 9000 (R250 Le) - 4C66 MOBILITY RADEON 9000 (M9) (R250) - 4C67 Radeon Mobility 9000 (R250 Lg) - 4C6E Radeon Mobility 9000 - Secondary (R250 Ln) - 4D46 Rage Mobility 128 AGP 4x (ATI mobility128) - 4D4C Rage Mobility 128 AGP (216l0sasa25) - 4D50 Unified AVStream Driver - 4D51 Unified AVStream Driver - 4D52 ATI Theater 550 Pro (ATI Theater 550 Pro) - 4D53 Unified AVStream Driver - 4E44 Radeon 9700/Pro, 9500 Series (R300) - 4E45 ATI RADEON 9500 PRO / 9700 (R300) - 4E46 ATI RADEON 9600 TX (R300) - 4E47 Fire GL X1/Z1 AGP/Pro Video Accelerator (R300-WS) - 4E48 ATI RADEON 9800 PRO (R350) - 4E49 Radeon 9800 (R350) (??) - 4E4A ATI RADEON 9800 XT (R360) - 4E4B ATI FireGL X2-256/X2-256t (R350GL) - 4E50 ATI MOBILITY /ATI RADEON 9600/9700 Series (M10) - 4E51 ATI RADEON 9600 Series (RV350) - 4E52 Mobility Radeon 9500/9600 (M10) (RV350) - 4E53 Radeon Mobility 9600 (M10 NS) - 4E54 ATI MOBILITY FIRE GL T2/T2e (M10GL) - 4E56 ATI MOBILITY /ATI RADEON 9550 (M12) - 4E64 Radeon 9700/Pro, 9500 (R300) Series - Secondary - 4E65 ATI RADEON 9500 PRO / 9700 Secondary (R300) - 4E66 ATI RADEON 9600 TX Secondary (R300) - 4E67 Fire GL X1/Z1 AGP/Pro Secondary Video Accelerator - 4E68 ATI RADEON 9800 PRO Secondary (R350) - 4E69 ATI RADEON 9800 Secondary (R350) - 4E6A ATI RADEON 9800 XT Secondary (R360) - 4E6B ATI FireGL X2-256/X2-256t Secondary (R350GL) - 4E71 Radeon Mobility 9600 (M10 NQ) (secondary) - 4F72 Radeon 9000 Series (RV250) - 4F73 Radeon 9000 Series (RV250) (Secondary) - 5041 Rage 128 Pro PA PCI (gt) - 5042 Rage 128 Pro PB AGP 2x (rage 128 pf pro agp ) - 5043 Rage 128 PC/Pro AGP 4x - 5044 Rage 128 Pro PD PCI (rv100) - 5045 Rage 128 PE/Pro AGP 2x (TMDS) - 5046 Rage 128 PF/Pro AGP 4x (TMDS) - 5047 3d Rage pro agp 2x (215R3BUA22) - 5048 Rage 128 Pro PH AGP 2x (8212104D) - 5049 Rage 128 Pro PI AGP 4x (R128) - 504A Rage 128 Pro PJ PCI (TMDS) (Rage 128 Pro PJ PCI) - 504B Rage 128 Pro PK AGP 2x (TMDS) (Rage 128 Pro PK AGP) - 504C 4x (TMDS) (Rage 128 Pro PL AGP) - 504D Rage 128 Pro PM PCI (Rage 128 Pro PM PCI) - 504E Rage 128 Pro PN AGP 2x (Rage 128 Pro PN AGP) - 504F Rage 128 Pro PO AGP 4x (Rage 128 Pro PO AGP) - 5050 Rage 128 Pro PP PCI (TMDS) (Scheda Grafica Standard PCI(VGA)) - 5051 Rage 128 Pro PQ AGP 2x (TMDS) (Rage 128 Pro PQ AGP) - 5052 Rage 128 Pro PR AGP 4x (TMDS) (Rage 128 Pro PR AGP) - 5053 Rage 128 Pro PS PCI (Rage 128 Pro PS PCI) - 5054 Rage 128 Pro PT AGP 2x (Rage 128 Pro PT AGP) - 5055 rage 128 pro agp 4x tmds (rage 128 pro agp 4x tmds) - 5056 Rage 128 Pro PV PCI (TMDS) (Rage 128 Pro PV PCI) - 5057 Rage 128 Pro PW AGP 2x (TMDS) (Rage 128 Pro PW AGP) - 5058 PX AGP 4x (TMDS) (Rage 128 Pro) - 5144 Radeon 7200 QD SDR/DDR (Radeon 7200 QD SDR/DDR) - 5145 Radeon QE - 5146 Radeon QF - 5147 Radeon QG - 5148 Radeon R200 QH (R200) - 5149 Radeon R200 QI - 514A Radeon R200 QJ - 514B Radeon R200 QK - 514C Radeon 8500 / 8500LE (R200) - 514D Radeon 9100 Series (R200) - 514E Radeon R200 QM - 514F Radeon R200 QN - 5154 Radeon 8500 R200 QT - 5155 Radeon 9100 R200 QU - 5157 Radeon 7500 Series (RV200) - 5158 Radeon 7500 QX (radeon 9700 or 9200) - 5159 Radeon 7000 / Radeon VE (RV100) - 515A Radeon VE QZ - 515E Radeon ES1000 (Radeon ES1000) - 515F ES1000 - 5168 Radeon R200 Qh (ati) - 5169 Radeon R200 Qi - 516A Radeon R200 Qj - 516B Radeon R200 Qk - 516C Radeon 8500 / 8500LE (E7505) - 516D Radeon 9100 Series (R200) - Secondary - 5245 Rage 128 GL PCI (215R46ASA22) - 5246 Rage 32MB (Rage 128 PRO) - 5247 Rage 128 RG (Rage 32MB) - 524B Rage 128 VR RK PCI (g01080-108) - 524C Rage 128 RL/VR AGP 2x - 5345 Rage 128 SE/4x PCI - 5346 Rage 128 SF 4x AGP 2x (Rage 128 SF 4x AGP 2x) - 5347 Rage 128 SG/4x AGP 4x - 5348 Rage 128 4x SH - 534B Rage 128 4x SK PCI (Rage 128 SK PCI) - 534C Rage 128 4x SL AGP 2x (Rage 128 SL AGP 2x) - 534D Rage 128 4x SM AGP 4x (Rage 128 SM AGP 4x) - 534E Rage 128 4x - 5354 Mach 64 ST - 5446 Rage 128 Pro Ultra TF (unknown) - 544C Rage 128 Pro TL - 5452 Rage 128 Pro TR - 5453 Rage 128 Pro Ultra TS - 5454 Rage 128 Pro Ultra TT - 5455 Rade 128 Pro Ultra TU - 5460 ATI MOBILITY /ATI RADEON X300 (M22) - 5461 ATI MOBILITY /ATI RADEON X300 (M22) - 5462 ATI MOBILITY /ATI RADEON X600 SE (M24C) - 5464 ATI MOBILITY FireGL V3100 (M22GL) - 5548 ATI RADEON X800 Series (R423) - 5549 ATI RADEON X800 GTO (R423) - 554A ATI RADEON X800 XT Platinum Edition (R423) - 554B ATI RADEON X800 GT (R423) - 554C R430 XTP - 554D ATI RADEON X800 CrossFire Edition (R430) - 554E ATI RADEON X800 GT (R430) - 554F ATI RADEON X800 GTO (R430) - 5550 ATI FireGL V7100 (R423GL) - 5551 ATI FireGL V5100 (R423GL) - 5552 FireGL V5100 (R423 UR) - 5554 FireGL V7100 (R423 UT) - 5568 ATI RADEON X800 Series Secondary (R423) - 5569 ATI RADEON X800 GTO Secondary (R423) - 556A ATI RADEON X800 XT Platinum Edition Secondary (R423) - 556B ATI RADEON X800 GT Secondary (R423) - 556C R430 XTP Secondary - 556D ATI RADEON X800 CrossFire Edition Secondary (R430) - 556E ATI RADEON X800 GT Secondary (R430) - 556F ATI RADEON X800 GTO Secondary (R430) - 5570 ATI FireGL V7100 Secondary (R423GL) - 5571 FireGL V5100 PCIe (R423GL-SE) - Secondary - 564A ATI MOBILITY FireGL V5000 (M26GL) - 564B ATI MOBILITY FireGL V5000 (M26GL) - 564F ATI MOBILITY /ATI RADEON X700 XL (M26) - 5652 ATI MOBILITY /ATI RADEON X700 (M26) - 5653 ATI MOBILITY/ATI RADEON X700 (RV410) - 5654 Mach64 VT (215VT22200) - 5655 Mach 64 VT3 - 5656 Mach 64 VT4 PCI (Mach 64 VT4 PCI) - 5657 ATI RADEON X550/X700 Series (RV410) - 566F RADEON X700 SERIES SECONDARY - 5673 ATI MOBILITY /ATI RADEON X700 Secondary (M26) - 5677 ATI RADEON X550/X700 Series Secondary (RV410) - 5830 RS300/100 Host Bridge - 5831 RS300/133 Host Bridge - 5832 RS300/166 Host Bridge - 5833 ATI Radeon 9000/9100 IGP Chipset - Host-PCI Bridge (RS300M) - 5834 Radeon 9100 IGP (RS300) - 5835 Mobilitiy Radeon 9100 IGP AGP (RS300M) - 5838 ATI Radeon 9000/9100 IGP Chipset - AGP Controller (RS300M) - 5854 Radeon XPRESS 200 Series Secondary - 5874 Radeon XPRESS 200 Series Secondary - 5940 Radeon 9200 Pro Secondary (RV280) - 5941 ATI Radeon 9200 - Secondary (RV280) - 5942 Radeon 9000U Family - Secondary - 5944 Radeon 9200SE PCI (RV280) - 5950 RS480 Host Bridge - 5951 Radeon Xpress 200 (RS480/RS482/RX480/RX482) Host bridge - 5952 CrossFire Xpress 3200 (RD580) Chipset Host Bridge - 5954 ATI RADEON Xpress Series (RS480) - 5955 ATI RADEON Xpress Series (RS480M) - 5956 RD790 GFX Dual Slot - 5957 RX790 GFX Single Slot - 5958 RD780 GFX Dual Slot - 5960 Radeon 9200 Pro (RV280) - 5961 ATI RADEON 9200 se agp (RV280) - 5962 Radeon 9000U Family - 5964 Radeon 9200 SE Series (Radeon 9200) - 5965 FireMV 2200 (unknown) - 5969 ES1000 - 5974 ATI RADEON Xpress Series (RS482) - 5975 ATI RADEON Xpress Series (RS482M) - 5978 RD790 PCI to PCI bridge (external gfx0 port A) - 5979 RD790 PCI to PCI bridge (external gfx0 port B) - 597A RD790 PCI to PCI bridge (PCIe gpp port A) - 597B RD790 PCI to PCI bridge (PCIe gpp port B) - 597C RD790 PCI to PCI bridge (PCIe gpp port C) - 597D RD790 PCI to PCI bridge (PCIe gpp port D) - 597E RD790 PCI to PCI bridge (PCIe gpp port E) - 597F RD790 PCI to PCI bridge (PCIe gpp port F) - 5980 RD790 PCI to PCI bridge (external gfx1 port A) - 5981 RD790 PCI to PCI bridge (external gfx1 port B) - 5982 RD790 PCI to PCI bridge (NB-SB link) - 5A10 RD890 GFX dual slot (2x16) PCI-e Hydra - 5A11 RD890 single slot GFX Hydra - 5A12 RD890 dual slot (2x8) PCI-e GFX Hydra - 5A13 RD890 PCI to PCI bridge (external gfx0 port A) - 5A14 RD890 PCI to PCI bridge (external gfx0 port B) - 5A15 RD890 PCI to PCI bridge (PCIe gpp port A) - 5A16 RD890 PCI to PCI bridge (PCIe gpp port B) - 5A17 RD890 PCI to PCI bridge (PCIe gpp port C) - 5A18 RD890 PCI to PCI bridge (PCIe gpp port D) - 5A19 RD890 PCI to PCI bridge (PCIe gpp port E) - 5A1A RD890 PCI to PCI bridge (PCIe gpp port F) - 5A1B RD890 PCI to PCI bridge (PCIe gpp port G) - 5A1C RD890 PCI to PCI bridge (PCIe gpp port H) - 5A1D RD890 PCI to PCI bridge (external gfx1 port A) - 5A1E RD890 PCI to PCI bridge (external gfx1 port B) - 5A1F RD890 PCI to PCI bridge (NB-SB link) - 5A30 RS400/100 Host Bridge - 5A31 Host Bridge (RS400/133) - 5A32 RS400/166 Host Bridge - 5A33 Northbridge: Radeon Xpress 200 (RC410) - 5A34 RS480 PCI-X Root Port - 5A36 RS480 PCI Bridge - 5A37 RS480 PCI Bridge - 5A38 RS480 PCI Bridge - 5A39 RS480 PCI Bridge - 5A3F RS480 PCI Bridge - 5A41 ATI RADEON Xpress Series (RS400) - 5A42 ATI RADEON Xpress Series (RS400M) - 5A43 Radeon XPRESS 200 Series Secondary - 5A61 ATI RADEON Xpress Series (RC410) - 5A62 ATI RADEON Xpress Series (RC410M) - 5A63 Radeon XPRESS 200 Series Secondary - 5B60 ATI RADEON X300/X550/X1050 Series (RV370) - 5B61 RV371 - 5B62 ATI RADEON X600 Series (RV380x) - 5B63 ATI RADEON X300/X550/X1050 Series (RV370) - 5B64 ATI FireGL V3100 (RV370GL) - 5B65 FireGL D1100 (RV370 5B65) - 5B66 RV370X - 5B70 ATI RADEON X300/X550/X1050 Series Secondary (RV370) - 5B71 RV371 Secondary - 5B72 ATI RADEON X600 Series Secondary (RV380x) - 5B73 ATI RADEON X300/X550/X1050 Series Secondary (RV370) - 5B74 ATI FireGL V3100 Secondary (RV370GL) - 5B75 ATI FireMV 2200 Secondary (RV370) - 5B76 RV370X Secondary - 5C61 Mobility Radeon 9200 (bk-ati ver008.016m.085.006) - 5C63 Mobility Radeon 9200 (RV280 (M9+)) - 5D44 Radeon 9200 SE Series - Secondary (RV280) - 5D45 ATI FireMV 2200 PCI Secondary (RV280) - 5D48 ATI MOBILITY/ATI RADEON X800 XT (M28) - 5D49 ATI MOBILITY FireGL V5100 (M28GL) - 5D4A ATI MOBILITY /ATI RADEON X800 (M28) - 5D4C R480 CONSUMER 4P - 5D4D ATI RADEON X850 XT Platinum Edition (R480) - 5D4E Radeon X800 GT - 5D4F ATI RADEON X800 GTO (R480) - 5D50 ATI FireGL V7200 (R480GL) - 5D52 ATI RADEON X850 XT (R480) - 5D57 ATI RADEON X800 XT (R423) - 5D6C R480 CONSUMER 4P Secondary - 5D6D ATI RADEON X850 XT Platinum Edition Secondary (R480) - 5D6E Radeon X800 GT Secondary - 5D6F ATI RADEON X800 GTO Secondary (R480) - 5D70 ATI FireGL V7200 Secondary (R480GL) - 5D72 ATI RADEON X850 XT Secondary (R480) - 5D77 ATI RADEON X800 XT Secondary (R423) - 5E48 ATI FireGL V5000 (RV410GL) - 5E49 FireGL V3300 (RV410) - 5E4A ATI RADEON X700 XT (RV410) - 5E4B ATI RADEON X700 PRO (RV410) - 5E4C ATI RADEON X700 SE (RV410) - 5E4D ATI RADEON X700 (RV410) - 5E4F ATI RADEON X700/X550 Series (RV410) - 5E68 ATI FireGL V5000 Secondary (RV410GL) - 5E6A ATI RADEON X700 XT Secondary (RV410) - 5E6B ATI RADEON X700 PRO Secondary (RV410) - 5E6C ATI RADEON X700 SE Secondary (RV410) - 5E6D ATI RADEON X700 Secondary (RV410) - 5E6F ATI RADEON X700/X550 Series Secondary (RV410) - 5F57 Radeon X800XT PCIe (R423) - 6898 ATI Radeon HD 5800 Series (EG CYPRESS XT) - 6899 ATI Radeon HD 5800 Series (EG CYPRESS PRO) - 68A0 ATI Mobility Radeon HD 5800 Series (EG BROADWAY XT) - 68A1 ATI Mobility Radeon HD 5800 Series (EG BROADWAY PRO/LP) - 68B0 ATI Mobility Radeon HD 5800 Series (EG BROADWAY XT) - 68B8 ATI Radeon HD 5700 Series (EG JUNIPER XT) - 68BE ATI Radeon HD 5700 Series (EG JUNIPER LE) - 700F PCI to AGP Bridge (A3/U1) - 7010 PCI to AGP Bridge (RS200) - 7100 ATI RADEON X1800 Series (R520) - 7101 ATI MOBILITY /ATI RADEON X1800 XT (M58) - 7102 ATI MOBILITY /ATI RADEON X1800 (M58) - 7103 ATI MOBILITY FireGL V7200 (M58GL) - 7104 ATI FireGL V7200 (R520GL) - 7105 ATI FireGL V5300 (R520GL) - 7106 ATI MOBILITY FireGL V7100 (M58GL) - 7108 ATI RADEON X1800 Series (R520) - 7109 Radeon X1800 Series - Secondary - 710A ATI RADEON X1800 Series (R520) - 710B ATI RADEON X1800 Series (R520) - 710C ATI RADEON X1800 Series (R520) - 710E ATI FireGL V7300 (R520GL) - 710F ATI FireGL V7350 (R520GL) - 7120 ATI RADEON X1800 Series Secondary (R520) - 7124 ATI FireGL V7200 Secondary (R520GL) - 7125 ATI FireGL V5300 Secondary (R520GL) - 7128 ATI RADEON X1800 Series Secondary (R520) - 7129 ATI RADEON X1800 Series Secondary (R520) - 712A ATI RADEON X1800 Series Secondary (R520) - 712B ATI RADEON X1800 Series Secondary (R520) - 712C ATI RADEON X1800 Series Secondary (R520) - 712E ATI FireGL V7300 Secondary (R520GL) - 712F ATI FireGL V7350 Secondary (R520GL) - 7140 ATI RADEON X1600 Series (RV515) - 7141 RV505 - 7142 ATI RADEON X1300/X1550 Series (RV515) - 7143 ATI RADEON X1550 Series (RV515) - 7145 ATI MOBILITY /ATI RADEON X1400 (M54) - 7146 ATI RADEON X1300 / X1550 Series (RV515) - 7147 ATI RADEON X1550 64-bit (RV515) - 7149 ATI MOBILITY /ATI RADEON X1300 (M52) - 714A ATI MOBILITY /ATI RADEON X1300 (M52) - 714B ATI MOBILITY /ATI RADEON X1300 (M52) - 714C ATI MOBILITY /ATI RADEON X1300 (M52) - 714D ATI RADEON X1300 Series (RV515) - 714E ATI RADEON X1300 Series (RV515PCI) - 714F RV505 - 7151 RV505 - 7152 ATI FireGL V3300 (RV515GL) - 7153 ATI FireGL V3350 (RV515GL) - 715E ATI RADEON X1300 Series (RV515) - 715F ATI RADEON X1550 64-bit (RV515) - 7160 ATI RADEON X1600 Series Secondary (RV515) - 7161 RV505 Secondary - 7162 ATI RADEON X1300/X1550 Series Secondary (RV515) - 7163 ATI RADEON X1550 Series Secondary (RV515) - 7166 ATI RADEON X1300 / X1550 Series Secondary (RV515) - 7167 ATI RADEON X1550 64-bit Secondary (RV515) - 7169 M52 Secondary - 716D ATI RADEON X1300 Series Secondary (RV515) - 716E ATI RADEON X1300 Series Secondary (RV515PCI) - 716F RV505 Secondary - 7171 RV505 Secondary - 7172 ATI FireGL V3300 Secondary (RV515GL) - 7173 ATI FireGL V3350 Secondary (RV515GL) - 717E ATI RADEON X1300 Series Secondary (RV515) - 717F ATI RADEON X1550 64-bit Secondary (RV515) - 7180 ATI RADEON X1300/X1550 Series (RV515) - 7181 ATI RADEON X1600 Series (RV515) - 7183 ATI RADEON X1300/X1550 Series (RV515) - 7186 ATI MOBILITY /ATI RADEON X1450 (M54) - 7187 ATI RADEON X1300/X1550 Series (RV515) - 7188 ATI MOBILITY /ATI RADEON X2300 (M54) - 718A ATI MOBILITY /ATI RADEON X2300 (M54) - 718B ATI MOBILITY /ATI RADEON X1350 (M52) - 718C ATI MOBILITY /ATI RADEON X1350 (M52) - 718D ATI MOBILITY /ATI RADEON X1450 (M54) - 718F ATI RADEON X1300 Series (RV515PCI) - 7193 ATI RADEON X1550 Series (RV515) - 7196 ATI MOBILITY /ATI RADEON X1350 (M52) - 719B ATI FireMV 2250 (RV515) - 719F ATI RADEON X1550 64-bit (RV515) - 71A0 ATI RADEON X1300/X1550 Series Secondary (RV515) - 71A1 ATI RADEON X1600 Series Secondary (RV515) - 71A3 ATI RADEON X1300/X1550 Series Secondary (RV515) - 71A7 ATI RADEON X1300/X1550 Series Secondary (RV515) - 71AF ATI RADEON X1300 Series Secondary (RV515PCI) - 71B3 ATI RADEON X1550 Series Secondary (RV515) - 71BB ATI FireMV 2250 Secondary (RV515) - 71C0 ATI RADEON X1600 Series (RV530) - 71C1 ATI RADEON X1650 Series (RV535) - 71C2 ATI RADEON X1600 Series (RV530) - 71C3 ATI RADEON X1300 Series (RV535) - 71C4 ATI MOBILITY FireGL V5200 (M56GL) - 71C5 ATI MOBILITY /ATI RADEON X1600 (M56) - 71C6 ATI RADEON X1650 Series (RV530) - 71C7 ATI RADEON X1650 Series (RV535) - 71CD ATI RADEON X1600 Series (RV530) - 71CE ATI RADEON X1600 Pro / ATI RADEON X1300 XT (RV530) - 71D2 ATI FireGL V3400 (RV530GL) - 71D4 ATI MOBILITY FireGL V5250 (M56GL) - 71D5 ATI MOBILITY /ATI RADEON X1700 (M56) - 71D6 ATI MOBILITY /ATI RADEON X1700 XT (M56) - 71DA ATI FireGL V5200 (RV530GL) - 71DE ATI MOBILITY /ATI RADEON X1700 (M56) - 71E0 ATI RADEON X1600 Series Secondary (RV530) - 71E1 ATI RADEON X1650 Series Secondary (RV535) - 71E2 ATI RADEON X1600 Series Secondary (RV530) - 71E3 ATI RADEON X1300 Series Secondary (RV535) - 71E5 M56 Secondary - 71E6 ATI RADEON X1600 Series Secondary (RV530) - 71E7 ATI RADEON X1650 Series Secondary (RV535) - 71ED ATI RADEON X1600 Series Secondary (RV530) - 71EE ATI RADEON X1600 Pro / ATI RADEON X1300 XT Secondary (RV530) - 71F2 ATI FireGL V3400 Secondary (RV530GL) - 71FA ATI FireGL V5200 Secondary (RV530GL) - 71FE RV530 SE Secondary - 7205 S3G Unichrome IGP KM400/KN400 (1106) - 7210 ATI MOBILITY /ATI RADEON HD 2300 (M71) - 7211 ATI MOBILITY /ATI RADEON HD 2300 (M71) - 7240 ATI RADEON X1950 Series (R580) - 7241 Radeon X1900 (R580) - 7242 Radeon X1900 (R580) - 7243 ATI RADEON X1900 Series (R580) - 7244 ATI RADEON X1950 Series (R580) - 7245 ATI RADEON X1900 Series (R580) - 7246 ATI RADEON X1900 Series (R580) - 7247 ATI RADEON X1900 Series (R580) - 7248 ATI RADEON X1900 Series (R580) - 7249 ATI RADEON X1900 Series (R580) - 724A ATI RADEON X1900 Series (R580) - 724B ATI RADEON X1900 Series (R580) - 724C ATI RADEON X1900 Series (R580) - 724D ATI RADEON X1900 Series (R580) - 724E FireGL V7300/V7350 PCIe (R580) - 724F ATI RADEON X1900 Series (R580) - 7260 ATI RADEON X1950 Series Secondary (R580) - 7263 ATI RADEON X1900 Series Secondary (R580) - 7264 ATI RADEON X1950 Series Secondary (R580) - 7265 ATI RADEON X1900 Series Secondary (R580) - 7266 ATI RADEON X1900 Series Secondary (R580) - 7267 ATI RADEON X1900 Series Secondary (R580) - 7268 ATI RADEON X1900 Series Secondary (R580) - 7269 ATI RADEON X1900 Series Secondary (R580) - 726A ATI RADEON X1900 Series Secondary (R580) - 726B ATI RADEON X1900 Series Secondary (R580) - 726C ATI RADEON X1900 Series Secondary (R580) - 726D ATI RADEON X1900 Series Secondary (R580) - 726E FireGL V7300/V7350 PCIe (R580) - Secondary - 726F ATI RADEON X1900 Series Secondary (R580) - 7280 ATI RADEON X1950 Series (R580) - 7284 ATI MOBILITY /ATI RADEON X1900 (M58) - 7288 ATI RADEON X1950 GT (R580) - 7291 ATI RADEON X1650 Series (R580) - 7293 ATI RADEON X1650 Series (R580) - 72A0 ATI RADEON X1950 Series Secondary (R580) - 72A8 ATI RADEON X1950 GT Secondary (R580) - 72B1 ATI RADEON X1650 Series Secondary (R580) - 72B3 ATI RADEON X1650 Series Secondary (R580) - 7800 ? - 7830 RS350/100 Host Bridge - 7831 RS350/133 Host Bridge - 7832 RS350/166 Host Bridge - 7833 Radeon 9100 Pro (RS350) - 7834 Radeon 9000/9100 Pro IGP Series - 7835 Radeon Mobility 9200 IGP - 7838 Radeon 9100 IGP PCI/AGP Bridge - 7910 RS690 Host Bridge - 7912 RS690 PCI to PCI Bridge (Internal gfx) - 7916 RS690 PCI to PCI Bridge (PCI Express Port 2) - 7917 RS690 PCI to PCI Bridge (PCI Express Port 3) - 7919 Radeon X1200 Series Audio Controller - 791A HDMI Audio (791A) - 791E ATI RADEON X1200 Series (RS690) - 791F ATI Mobility Radeon x1100 (RS690M) - 7930 RS600(M) Chipset - Host Bridge - 7933 RS600(M) Chipset - PCI Express Graphics Port 0 - 7935 RS600(M) Chipset - PCI Express Port 1 - 7937 ATI Technoligies Inc (Samsung R25P) - 793F ATI RADEON Xpress 1200 Series (RS600) - 7941 ATI RADEON Xpress 1200 Series (RS600) - 7942 ATI RADEON Xpress 1200 Series (RS600M) - 796E ATI RADEON 2100 (RS690) - 7C37 Radeon 9600 SE (RV350 AQ) - 9400 ATI Radeon HD 2900 XT (R600) - 9401 ATI RADEON HD 2900 XT (R600) - 9402 ATI RADEON HD 2900 XT (R600) - 9403 ATI RADEON HD 2900 PRO (R600) - 9405 ATI RADEON HD 2900 GT (R600) - 940A ATI FireGL V8650 (R600GL) - 940B ATI FireGL V8600 (R600GL) - 940F ATI FireGL V7600 (R600GL) - 9440 ATI Radeon HD 4870 (RV770) - 9441 ATI Radeon HD 4870 X2 (R700) - 9442 ATI Radeon HD 4800 Series (RV770) - 9443 ATI Radeon HD 4850 X2 (R700) - 9444 ATI FirePro V8750 (FireGL) (RV770) - 9446 ATI FirePro V7770 (FireGL) (RV770) - 9447 ATI FirePro V8700 Duo (FireGL) (R700) - 944A ATI Mobility Radeon HD 4850 (M98) - 944B ATI Mobility Radeon HD 4850 X2 (M98) - 944C ATI Radeon HD 4800 Series (RV770) - 944E ATI Radeon HD 4700 Series (RV770) - 9450 AMD FireStream 9270 (RV770) - 9452 AMD FireStream 9250 (RV770) - 9456 ATI FirePro V8700 (FireGL) (RV770) - 945A ATI Mobility Radeon HD 4870 (M98) - 9460 ATI Radeon HD 4800 Series (RV790) - 9462 ATI Radeon HD 5000 Series (RV790) - 9480 ATI Mobility Radeon HD 4650 (M96) - 9487 ATI Radeon Graphics Processor (RV730) - 9488 ATI Mobility Radeon HD 4670 (M96) - 948F ATI Radeon Graphics Processor (RV730) - 9490 ATI Radeon HD 4600 Series (RV730) - 9491 ATI Radeon E4600 (M96) - 9495 ATI RADEON HD4650 (RV730) - 9498 ATI Radeon HD 4650 (RV730) - 949C ATI FirePro V7750 (FireGL) (RV730) - 949E ATI FirePro V5700 (FireGL) (RV730) - 949F ATI FirePro V3750 (FireGL) (RV730) - 94A0 ATI Mobility Radeon HD 4830 (M97) - 94A1 ATI Mobility Radeon HD 4860 (M97) - 94A3 ATI FirePro M7740 (M97) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 15:43:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE08E1065672; Sat, 16 Jul 2011 15:43:14 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 84DF08FC17; Sat, 16 Jul 2011 15:43:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GFhEan033829; Sat, 16 Jul 2011 15:43:14 GMT (envelope-from philip@svn.freebsd.org) Received: (from philip@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GFhEwR033828; Sat, 16 Jul 2011 15:43:14 GMT (envelope-from philip@svn.freebsd.org) Message-Id: <201107161543.p6GFhEwR033828@svn.freebsd.org> From: Philip Paeps Date: Sat, 16 Jul 2011 15:43:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224103 - head/tools/tools/pciid X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 15:43:14 -0000 Author: philip Date: Sat Jul 16 15:43:14 2011 New Revision: 224103 URL: http://svn.freebsd.org/changeset/base/224103 Log: Garbage-collect the tools for maintaining the previous PCI vendors list. The sources this tool collates are no longer available and the format of the current database is directly usable by pciconf(8) without needing any special processing. Deleted: head/tools/tools/pciid/ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 16:14:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3FFCC106564A; Sat, 16 Jul 2011 16:14:15 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2F87A8FC1A; Sat, 16 Jul 2011 16:14:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GGEF9T034973; Sat, 16 Jul 2011 16:14:15 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GGEFsQ034971; Sat, 16 Jul 2011 16:14:15 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201107161614.p6GGEFsQ034971@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 16 Jul 2011 16:14:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224104 - head/tools/regression/bin/sh/parser X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 16:14:15 -0000 Author: jilles Date: Sat Jul 16 16:14:14 2011 New Revision: 224104 URL: http://svn.freebsd.org/changeset/base/224104 Log: sh: Add a test for a fairly obscure case with aliases. This also passes on stable/8. Added: head/tools/regression/bin/sh/parser/alias6.0 (contents, props changed) Added: head/tools/regression/bin/sh/parser/alias6.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/parser/alias6.0 Sat Jul 16 16:14:14 2011 (r224104) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias alias0='| cat >/dev/null' + +eval '{ echo bad; } alias0' +eval '(echo bad)alias0' From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 17:22:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 162FA106564A; Sat, 16 Jul 2011 17:22:02 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EF6588FC12; Sat, 16 Jul 2011 17:22:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GHM13M037208; Sat, 16 Jul 2011 17:22:01 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GHM15H037205; Sat, 16 Jul 2011 17:22:01 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201107161722.p6GHM15H037205@svn.freebsd.org> From: "Jayachandran C." Date: Sat, 16 Jul 2011 17:22:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224105 - in head/sys: conf mips/mips X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 17:22:02 -0000 Author: jchandra Date: Sat Jul 16 17:22:01 2011 New Revision: 224105 URL: http://svn.freebsd.org/changeset/base/224105 Log: Support compiling MIPS elf trampoline with a different ABI. Allow changing the trampoline ABI with makeoptions, this will allow us to have a trampoline with a different ABI from the kernel. Useful in cases where we have to boot a 64 bit kernel from a bootloader which supports only 32 bit or vice versa. Approved by: bz(re), jmallett, imp Modified: head/sys/conf/Makefile.mips head/sys/mips/mips/elf_trampoline.c Modified: head/sys/conf/Makefile.mips ============================================================================== --- head/sys/conf/Makefile.mips Sat Jul 16 16:14:14 2011 (r224104) +++ head/sys/conf/Makefile.mips Sat Jul 16 17:22:01 2011 (r224105) @@ -50,7 +50,13 @@ HACK_EXTRA_FLAGS=-shared # is extremely poor, as well as -mno-abicalls to force no ABI usage. CFLAGS+=${EXTRA_FLAGS} $(ARCH_FLAGS) HACK_EXTRA_FLAGS+=${EXTRA_FLAGS} $(ARCH_FLAGS) -TRAMP_EXTRA_FLAGS=${EXTRA_FLAGS} $(ARCH_FLAGS) +TRAMP_ARCH_FLAGS?=$(ARCH_FLAGS) +TRAMP_EXTRA_FLAGS=${EXTRA_FLAGS} ${TRAMP_ARCH_FLAGS} +.if ${MACHINE_ARCH:Mmips64*} != "" +TRAMP_ELFSIZE=64 +.else +TRAMP_ELFSIZE=32 +.endif # XXX hardcoded kernel entry point ASM_CFLAGS+=${CFLAGS} -D_LOCORE -DLOCORE @@ -64,11 +70,12 @@ ${KERNEL_KO}.tramp.bin: ${KERNEL_KO} $S/ sed -e s/${KERNLOADADDR}/${TRAMPLOADADDR}/ -e s/" + SIZEOF_HEADERS"// \ ${LDSCRIPT_NAME} > ${LDSCRIPT_NAME}.tramp.noheader ${CC} -O -nostdlib -I. -I$S ${TRAMP_EXTRA_FLAGS} ${TRAMP_LDFLAGS} -Xlinker \ - -T -Xlinker ${LDSCRIPT_NAME}.tramp.noheader \ - -DKERNNAME="\"${KERNEL_KO}.tmp\"" $S/$M/$M/elf_trampoline.c \ - $S/$M/$M/inckern.S -o ${KERNEL_KO}.tramp.noheader - ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ - ${KERNEL_KO}.tramp.bin \ + -T -Xlinker ${LDSCRIPT_NAME}.tramp.noheader \ + -DKERNNAME="\"${KERNEL_KO}.tmp\"" -DELFSIZE=${TRAMP_ELFSIZE} \ + $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + -o ${KERNEL_KO}.tramp.elf + ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.elf \ + ${KERNEL_KO}.tramp.bin %BEFORE_DEPEND @@ -83,7 +90,7 @@ ${KERNEL_KO}.tramp.bin: ${KERNEL_KO} $S/ %CLEAN CLEAN+= ${LDSCRIPT_NAME} ${LDSCRIPT_NAME}.tramp.noheader \ - ${KERNEL_KO}.tramp.noheader ${KERNEL_KO}.tramp.bin + ${KERNEL_KO}.tramp.elf ${KERNEL_KO}.tramp.bin ${LDSCRIPT_NAME}: $S/conf/${LDSCRIPT_NAME} sed s/KERNLOADADDR/${KERNLOADADDR}/g $S/conf/${LDSCRIPT_NAME} \ Modified: head/sys/mips/mips/elf_trampoline.c ============================================================================== --- head/sys/mips/mips/elf_trampoline.c Sat Jul 16 16:14:14 2011 (r224104) +++ head/sys/mips/mips/elf_trampoline.c Sat Jul 16 17:22:01 2011 (r224105) @@ -27,7 +27,7 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef __mips_n64 +#if ELFSIZE == 64 #include #else #include @@ -90,13 +90,19 @@ bzero(void *addr, size_t count) } /* + * Convert number to pointer, truncate on 64->32 case, sign extend + * in 32->64 case + */ +#define mkptr(x) ((void *)(intptr_t)(int)(x)) + +/* * Relocate PT_LOAD segements of kernel ELF image to their respective * virtual addresses and return entry point */ void * load_kernel(void * kstart) { -#ifdef __mips_n64 +#if ELFSIZE == 64 Elf64_Ehdr *eh; Elf64_Phdr phdr[64] /* XXX */; Elf64_Shdr shdr[64] /* XXX */; @@ -107,17 +113,19 @@ load_kernel(void * kstart) #endif int i, j; void *entry_point; - vm_offset_t lastaddr = 0; + vm_offset_t loadend = 0; + intptr_t lastaddr; int symtabindex = -1; int symstrindex = -1; + Elf_Size tmp; -#ifdef __mips_n64 +#if ELFSIZE == 64 eh = (Elf64_Ehdr *)kstart; #else eh = (Elf32_Ehdr *)kstart; #endif - entry_point = (void*)eh->e_entry; - memcpy(phdr, (void *)(kstart + eh->e_phoff ), + entry_point = mkptr(eh->e_entry); + memcpy(phdr, (void *)(kstart + eh->e_phoff), eh->e_phnum * sizeof(phdr[0])); memcpy(shdr, (void *)(kstart + eh->e_shoff), @@ -147,27 +155,31 @@ load_kernel(void * kstart) if (phdr[i].p_type != PT_LOAD) continue; - memcpy((void *)(phdr[i].p_vaddr), + memcpy(mkptr(phdr[i].p_vaddr), (void*)(kstart + phdr[i].p_offset), phdr[i].p_filesz); /* Clean space from oversized segments, eg: bss. */ if (phdr[i].p_filesz < phdr[i].p_memsz) - bzero((void *)(phdr[i].p_vaddr + phdr[i].p_filesz), + bzero(mkptr(phdr[i].p_vaddr + phdr[i].p_filesz), phdr[i].p_memsz - phdr[i].p_filesz); - if (lastaddr < phdr[i].p_vaddr + phdr[i].p_memsz) - lastaddr = phdr[i].p_vaddr + phdr[i].p_memsz; + if (loadend < phdr[i].p_vaddr + phdr[i].p_memsz) + loadend = phdr[i].p_vaddr + phdr[i].p_memsz; } /* Now grab the symbol tables. */ + lastaddr = (intptr_t)(int)loadend; if (symtabindex >= 0 && symstrindex >= 0) { - *(Elf_Size *)lastaddr = SYMTAB_MAGIC; + tmp = SYMTAB_MAGIC; + memcpy((void *)lastaddr, &tmp, sizeof(tmp)); lastaddr += sizeof(Elf_Size); - *(Elf_Size *)lastaddr = shdr[symtabindex].sh_size + + tmp = shdr[symtabindex].sh_size + shdr[symstrindex].sh_size + 2*sizeof(Elf_Size); + memcpy((void *)lastaddr, &tmp, sizeof(tmp)); lastaddr += sizeof(Elf_Size); /* .symtab size */ - *(Elf_Size *)lastaddr = shdr[symtabindex].sh_size; + tmp = shdr[symtabindex].sh_size; + memcpy((void *)lastaddr, &tmp, sizeof(tmp)); lastaddr += sizeof(shdr[symtabindex].sh_size); /* .symtab data */ memcpy((void*)lastaddr, @@ -176,16 +188,19 @@ load_kernel(void * kstart) lastaddr += shdr[symtabindex].sh_size; /* .strtab size */ - *(Elf_Size *)lastaddr = shdr[symstrindex].sh_size; + tmp = shdr[symstrindex].sh_size; + memcpy((void *)lastaddr, &tmp, sizeof(tmp)); lastaddr += sizeof(shdr[symstrindex].sh_size); /* .strtab data */ memcpy((void*)lastaddr, shdr[symstrindex].sh_offset + kstart, shdr[symstrindex].sh_size); - } else + } else { /* Do not take any chances */ - *(Elf_Size *)lastaddr = 0; + tmp = 0; + memcpy((void *)lastaddr, &tmp, sizeof(tmp)); + } return entry_point; } From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:01:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 014B4106564A; Sat, 16 Jul 2011 19:01:10 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E32718FC12; Sat, 16 Jul 2011 19:01:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJ19Wt040124; Sat, 16 Jul 2011 19:01:09 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJ196Q040112; Sat, 16 Jul 2011 19:01:09 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107161901.p6GJ196Q040112@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 16 Jul 2011 19:01:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224106 - head/sys/boot/powerpc/ps3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:01:10 -0000 Author: nwhitehorn Date: Sat Jul 16 19:01:09 2011 New Revision: 224106 URL: http://svn.freebsd.org/changeset/base/224106 Log: Add support for booting PS3s from disk. This is still a little hackish until we can find a way to get the information from petitboot or to guess it, so the current algorithm is: 1. See if ps3disk3p1 (first GPT slice on OtherOS partition) exists, and if so try to boot it. 2. Otherwise, netboot. Submitted by: glevand Added: head/sys/boot/powerpc/ps3/ps3bus.h (contents, props changed) head/sys/boot/powerpc/ps3/ps3devdesc.h (contents, props changed) head/sys/boot/powerpc/ps3/ps3disk.c (contents, props changed) head/sys/boot/powerpc/ps3/ps3repo.c (contents, props changed) head/sys/boot/powerpc/ps3/ps3repo.h (contents, props changed) head/sys/boot/powerpc/ps3/ps3stor.c (contents, props changed) head/sys/boot/powerpc/ps3/ps3stor.h (contents, props changed) Modified: head/sys/boot/powerpc/ps3/Makefile head/sys/boot/powerpc/ps3/conf.c head/sys/boot/powerpc/ps3/devicename.c head/sys/boot/powerpc/ps3/lv1call.S head/sys/boot/powerpc/ps3/lv1call.h head/sys/boot/powerpc/ps3/main.c head/sys/boot/powerpc/ps3/version Modified: head/sys/boot/powerpc/ps3/Makefile ============================================================================== --- head/sys/boot/powerpc/ps3/Makefile Sat Jul 16 17:22:01 2011 (r224105) +++ head/sys/boot/powerpc/ps3/Makefile Sat Jul 16 19:01:09 2011 (r224106) @@ -10,13 +10,13 @@ INSTALLFLAGS= -b # Architecture-specific loader code SRCS= start.S conf.c metadata.c vers.c main.c devicename.c ppc64_elf_freebsd.c -SRCS+= lv1call.S ps3cons.c font.h ps3mmu.c ps3net.c +SRCS+= lv1call.S ps3cons.c font.h ps3mmu.c ps3net.c ps3repo.c ps3stor.c ps3disk.c SRCS+= ucmpdi2.c LOADER_DISK_SUPPORT?= yes LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?= yes -LOADER_EXT2FS_SUPPORT?= no +LOADER_EXT2FS_SUPPORT?= yes LOADER_NET_SUPPORT?= yes LOADER_NFS_SUPPORT?= yes LOADER_TFTP_SUPPORT?= no Modified: head/sys/boot/powerpc/ps3/conf.c ============================================================================== --- head/sys/boot/powerpc/ps3/conf.c Sat Jul 16 17:22:01 2011 (r224105) +++ head/sys/boot/powerpc/ps3/conf.c Sat Jul 16 19:01:09 2011 (r224106) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1999 Michael Smith + * Copyright (C) 1999 Michael Smith * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,6 +34,8 @@ __FBSDID("$FreeBSD$"); #include "dev_net.h" #endif +extern struct devsw ps3disk; + /* * We could use linker sets for some or all of these, but * then we would have to control what ended up linked into @@ -46,10 +48,8 @@ __FBSDID("$FreeBSD$"); /* Exported for libstand */ struct devsw *devsw[] = { #if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) -#ifdef NOTYET &ps3disk, #endif -#endif #if defined(LOADER_NET_SUPPORT) &netdev, #endif Modified: head/sys/boot/powerpc/ps3/devicename.c ============================================================================== --- head/sys/boot/powerpc/ps3/devicename.c Sat Jul 16 17:22:01 2011 (r224105) +++ head/sys/boot/powerpc/ps3/devicename.c Sat Jul 16 19:01:09 2011 (r224106) @@ -33,8 +33,10 @@ __FBSDID("$FreeBSD$"); #include #include "bootstrap.h" +#include "ps3.h" +#include "ps3devdesc.h" -static int ps3_parsedev(struct devdesc **dev, const char *devspec, +static int ps3_parsedev(struct ps3_devdesc **dev, const char *devspec, const char **path); /* @@ -45,7 +47,7 @@ static int ps3_parsedev(struct devdesc * int ps3_getdev(void **vdev, const char *devspec, const char **path) { - struct devdesc **dev = (struct devdesc **)vdev; + struct ps3_devdesc **dev = (struct ps3_devdesc **)vdev; int rv = 0; /* @@ -82,9 +84,9 @@ ps3_getdev(void **vdev, const char *devs * */ static int -ps3_parsedev(struct devdesc **dev, const char *devspec, const char **path) +ps3_parsedev(struct ps3_devdesc **dev, const char *devspec, const char **path) { - struct devdesc *idev; + struct ps3_devdesc *idev; struct devsw *dv; char *cp; const char *np; @@ -104,7 +106,7 @@ ps3_parsedev(struct devdesc **dev, const } if (dv == NULL) return(ENOENT); - idev = malloc(sizeof(struct devdesc)); + idev = malloc(sizeof(struct ps3_devdesc)); err = 0; np = (devspec + strlen(dv->dv_name)); @@ -112,7 +114,6 @@ ps3_parsedev(struct devdesc **dev, const case DEVT_NONE: break; -#ifdef NOTYET case DEVT_DISK: unit = -1; pnum = -1; @@ -154,7 +155,6 @@ ps3_parsedev(struct devdesc **dev, const if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; break; -#endif case DEVT_NET: /* @@ -188,7 +188,7 @@ fail: char * ps3_fmtdev(void *vdev) { - struct devdesc *dev = (struct devdesc *)vdev; + struct ps3_devdesc *dev = (struct ps3_devdesc *)vdev; char *cp; static char buf[128]; @@ -197,7 +197,6 @@ ps3_fmtdev(void *vdev) strcpy(buf, "(no device)"); break; -#ifdef NOTYET case DEVT_DISK: cp = buf; cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_unit); @@ -212,7 +211,6 @@ ps3_fmtdev(void *vdev) strcat(cp, ":"); break; -#endif case DEVT_NET: sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); @@ -227,7 +225,7 @@ ps3_fmtdev(void *vdev) int ps3_setcurrdev(struct env_var *ev, int flags, const void *value) { - struct devdesc *ncurr; + struct ps3_devdesc *ncurr; int rv; if ((rv = ps3_parsedev(&ncurr, value, NULL)) != 0) Modified: head/sys/boot/powerpc/ps3/lv1call.S ============================================================================== --- head/sys/boot/powerpc/ps3/lv1call.S Sat Jul 16 17:22:01 2011 (r224105) +++ head/sys/boot/powerpc/ps3/lv1call.S Sat Jul 16 19:01:09 2011 (r224106) @@ -1,5 +1,6 @@ /*- * Copyright (C) 2010 Nathan Whitehorn + * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru) * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -163,7 +164,7 @@ lv1_gpu_context_allocate: sldi %r3,%r3,32 clrldi %r4,%r4,32 - ori %r3,%r3,%r4 + or %r3,%r3,%r4 clrldi %r4,%r5,32 clrldi %r5,%r6,32 @@ -254,3 +255,98 @@ lv1_setup_dma: mtlr %r0 blr +.global lv1_get_repository_node_value +lv1_get_repository_node_value: + mflr %r0 + stw %r0,4(%r1) + + sldi %r3,%r3,32 + clrldi %r4,%r4,32 + or %r3,%r3,%r4 + sldi %r4,%r5,32 + clrldi %r5,%r6,32 + or %r4,%r4,%r5 + sldi %r5,%r7,32 + clrldi %r6,%r8,32 + or %r5,%r5,%r6 + sldi %r6,%r9,32 + clrldi %r7,%r10,32 + or %r6,%r6,%r7 + lwz %r7,8(%r1) + lwz %r8,12(%r1) + sldi %r7,%r7,32 + or %r7,%r7,%r8 + + li %r11,91 + hc + extsw %r3,%r3 + + lwz %r6,16(%r1) + std %r4,0(%r6) + lwz %r6,20(%r1) + std %r5,0(%r6) + + lwz %r0,4(%r1) + mtlr %r0 + blr + +.global lv1_storage_read +lv1_storage_read: + mflr %r0 + stw %r0,4(%r1) + + sldi %r3,%r3,32 + clrldi %r4,%r4,32 + or %r3,%r3,%r4 + sldi %r4,%r5,32 + clrldi %r5,%r6,32 + or %r4,%r4,%r5 + sldi %r5,%r7,32 + clrldi %r6,%r8,32 + or %r5,%r5,%r6 + sldi %r6,%r9,32 + clrldi %r7,%r10,32 + or %r6,%r6,%r7 + lwz %r7,8(%r1) + lwz %r8,12(%r1) + sldi %r7,%r7,32 + or %r7,%r7,%r8 + lwz %r8,16(%r1) + lwz %r9,20(%r1) + sldi %r8,%r8,32 + or %r8,%r8,%r9 + + li %r11,245 + hc + extsw %r3,%r3 + + lwz %r5,24(%r1) + std %r4,0(%r5) + + lwz %r0,4(%r1) + mtlr %r0 + blr + +.global lv1_storage_check_async_status +lv1_storage_check_async_status: + mflr %r0 + stw %r0,4(%r1) + stw %r7,-4(%r1) + + sldi %r3,%r3,32 + clrldi %r4,%r4,32 + or %r3,%r3,%r4 + sldi %r4,%r5,32 + clrldi %r5,%r6,32 + or %r4,%r4,%r5 + + li %r11,254 + hc + extsw %r3,%r3 + + lwz %r5,-4(%r1) + std %r4,0(%r5) + + lwz %r0,4(%r1) + mtlr %r0 + blr Modified: head/sys/boot/powerpc/ps3/lv1call.h ============================================================================== --- head/sys/boot/powerpc/ps3/lv1call.h Sat Jul 16 17:22:01 2011 (r224105) +++ head/sys/boot/powerpc/ps3/lv1call.h Sat Jul 16 19:01:09 2011 (r224106) @@ -68,5 +68,13 @@ int lv1_net_start_rx_dma(int bus, int de int lv1_net_stop_tx_dma(int bus, int dev, int); int lv1_net_stop_rx_dma(int bus, int dev, int); +int lv1_get_repository_node_value(uint64_t lpar_id, uint64_t n1, uint64_t n2, + uint64_t n3, uint64_t n4, uint64_t *v1, uint64_t *v2); + +int lv1_storage_read(uint64_t dev_id, uint64_t region_id, + uint64_t start_sector, uint64_t sector_count, + uint64_t flags, uint64_t buf, uint64_t *tag); +int lv1_storage_check_async_status(uint64_t dev_id, uint64_t tag, uint64_t *status); + #endif Modified: head/sys/boot/powerpc/ps3/main.c ============================================================================== --- head/sys/boot/powerpc/ps3/main.c Sat Jul 16 17:22:01 2011 (r224105) +++ head/sys/boot/powerpc/ps3/main.c Sat Jul 16 19:01:09 2011 (r224106) @@ -1,5 +1,6 @@ /*- * Copyright (C) 2010 Nathan Whitehorn + * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru) * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include "bootstrap.h" #include "lv1call.h" #include "ps3.h" +#include "ps3devdesc.h" struct arch_switch archsw; extern void *_end; @@ -58,7 +60,9 @@ main(void) { uint64_t maxmem = 0; void *heapbase; - int i; + int i, err; + struct ps3_devdesc currdev; + struct open_file f; lv1_get_physmem(&maxmem); @@ -78,9 +82,37 @@ main(void) /* * March through the device switch probing for things. */ - for (i = 0; devsw[i] != NULL; i++) - if (devsw[i]->dv_init != NULL) - (devsw[i]->dv_init)(); + for (i = 0; devsw[i] != NULL; i++) { + if (devsw[i]->dv_init != NULL) { + err = (devsw[i]->dv_init)(); + if (err) { + printf("\n%s: initialization failed err=%d\n", + devsw[i]->dv_name, err); + continue; + } + } + + printf("\nDevice: %s\n", devsw[i]->dv_name); + + currdev.d_dev = devsw[i]; + currdev.d_type = currdev.d_dev->dv_type; + + if (strcmp(devsw[i]->dv_name, "disk") == 0) { + f.f_devdata = &currdev; + currdev.d_unit = 3; + currdev.d_disk.pnum = 1; + currdev.d_disk.ptype = PTYPE_GPT; + + if (devsw[i]->dv_open(&f, &currdev) == 0) + break; + } + + if (strcmp(devsw[i]->dv_name, "net") == 0) + break; + } + + if (devsw[i] == NULL) + panic("No boot device found!"); /* * Get timebase at boot. @@ -98,8 +130,10 @@ main(void) printf("(%s, %s)\n", bootprog_maker, bootprog_date); printf("Memory: %lldKB\n", maxmem / 1024); - env_setenv("currdev", EV_VOLATILE, "net", ps3_setcurrdev, env_nounset); - env_setenv("loaddev", EV_VOLATILE, "net", env_noset, env_nounset); + env_setenv("currdev", EV_VOLATILE, ps3_fmtdev(&currdev), + ps3_setcurrdev, env_nounset); + env_setenv("loaddev", EV_VOLATILE, ps3_fmtdev(&currdev), env_noset, + env_nounset); setenv("LINES", "24", 1); setenv("hw.platform", "ps3", 1); Added: head/sys/boot/powerpc/ps3/ps3bus.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/powerpc/ps3/ps3bus.h Sat Jul 16 19:01:09 2011 (r224106) @@ -0,0 +1,41 @@ +/*- + * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _PS3_BUS_H +#define _PS3_BUS_H + +enum { + PS3_BUS_TYPE_STOR = 5, +}; + +enum { + PS3_DEV_TYPE_STOR_DISK = 0, + PS3_DEV_TYPE_STOR_CDROM = 5, + PS3_DEV_TYPE_STOR_FLASH = 14, +}; + +#endif Added: head/sys/boot/powerpc/ps3/ps3devdesc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/powerpc/ps3/ps3devdesc.h Sat Jul 16 19:01:09 2011 (r224106) @@ -0,0 +1,53 @@ +/*- + * Copyright (C) 2000 Benno Rice. + * Copyright (C) 2007 Semihalf, Rafal Jaworowski + * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _PS3_DEV_DESC_H +#define _PS3_DEV_DESC_H + +/* Note: Must match the 'struct devdesc' in bootstrap.h */ +struct ps3_devdesc { + struct devsw *d_dev; + int d_type; + int d_unit; + + union { + struct { + void *data; + int pnum; + int ptype; + } disk; + } d_kind; +}; + +#define d_disk d_kind.disk + +#define PTYPE_BSDLABEL 1 +#define PTYPE_GPT 2 + +#endif Added: head/sys/boot/powerpc/ps3/ps3disk.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/powerpc/ps3/ps3disk.c Sat Jul 16 19:01:09 2011 (r224106) @@ -0,0 +1,313 @@ +/*- + * Copyright (C) 2008 Semihalf, Rafal Jaworowski + * Copyright (C) 2009 Semihalf, Piotr Ziecik + * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include + +#define FSTYPENAMES +#include +#include +#include + +#include "bootstrap.h" +#include "ps3bus.h" +#include "ps3devdesc.h" +#include "ps3stor.h" + +#define dev_printf(dev, fmt, args...) \ + printf("%s%d: " fmt "\n" , dev->d_dev->dv_name, dev->d_unit, ##args) + +#ifdef DISK_DEBUG +#define DEBUG(fmt, args...) printf("%s:%d: " fmt "\n" , __func__ , __LINE__, ##args) +#else +#define DEBUG(fmt, args...) +#endif + +struct open_dev; + +static int ps3disk_open_gpt(struct ps3_devdesc *dev, struct open_dev *od); +static void ps3disk_uuid_letoh(uuid_t *uuid); + +static int ps3disk_init(void); +static int ps3disk_strategy(void *devdata, int flag, daddr_t dblk, + size_t size, char *buf, size_t *rsize); +static int ps3disk_open(struct open_file *f, ...); +static int ps3disk_close(struct open_file *f); +static void ps3disk_print(int verbose); + +struct devsw ps3disk = { + "disk", + DEVT_DISK, + ps3disk_init, + ps3disk_strategy, + ps3disk_open, + ps3disk_close, + noioctl, + ps3disk_print, +}; + +struct gpt_part { + int gp_index; + uuid_t gp_type; + uint64_t gp_start; + uint64_t gp_end; +}; + +struct open_dev { + uint64_t od_start; + + union { + struct { + int nparts; + struct gpt_part *parts; + } gpt; + } od_kind; +}; + +#define od_gpt_nparts od_kind.gpt.nparts +#define od_gpt_parts od_kind.gpt.parts + +static struct ps3_stordev stor_dev; + +static int ps3disk_init(void) +{ + int err; + + err = ps3stor_setup(&stor_dev, PS3_DEV_TYPE_STOR_DISK); + if (err) + return err; + + return 0; +} + +static int ps3disk_strategy(void *devdata, int flag, daddr_t dblk, + size_t size, char *buf, size_t *rsize) +{ + struct ps3_devdesc *dev = (struct ps3_devdesc *) devdata; + struct open_dev *od = (struct open_dev *) dev->d_disk.data; + int err; + + if (flag != F_READ) { + dev_printf(dev, "write operation is not supported!\n"); + return EROFS; + } + + if (size % stor_dev.sd_blksize) { + dev_printf(dev, "size=%u is not multiple of device block size=%llu\n", + size, stor_dev.sd_blksize); + return EIO; + } + + if (rsize) + *rsize = 0; + + err = ps3stor_read_sectors(&stor_dev, dev->d_unit, od->od_start + dblk, + size / stor_dev.sd_blksize, 0, buf); + + if (!err && rsize) + *rsize = size; + + if (err) + dev_printf(dev, "read operation failed dblk=%llu size=%d err=%d\n", + dblk, size, err); + + return err; +} + +static int ps3disk_open(struct open_file *f, ...) +{ + va_list ap; + struct ps3_devdesc *dev; + struct open_dev *od; + int err; + + va_start(ap, f); + dev = va_arg(ap, struct ps3_devdesc *); + va_end(ap); + + od = malloc(sizeof(struct open_dev)); + if (!od) { + dev_printf(dev, "couldn't allocate memory for new open_dev\n"); + return ENOMEM; + } + + err = ps3disk_open_gpt(dev, od); + + if (err) { + dev_printf(dev, "couldn't open GPT disk error=%d\n", err); + free(od); + } else { + ((struct ps3_devdesc *) (f->f_devdata))->d_disk.data = od; + } + + return err; +} + +static int ps3disk_close(struct open_file *f) +{ + struct ps3_devdesc *dev = f->f_devdata; + struct open_dev *od = dev->d_disk.data; + + if (dev->d_disk.ptype == PTYPE_GPT && od->od_gpt_nparts) + free(od->od_gpt_parts); + + free(od); + + dev->d_disk.data = NULL; + + return 0; +} + +static void ps3disk_print(int verbose) +{ +} + +static int ps3disk_open_gpt(struct ps3_devdesc *dev, struct open_dev *od) +{ + char buf[512]; + struct gpt_hdr *hdr; + struct gpt_ent *ent; + daddr_t slba, elba, lba; + int nparts, eps, i, part, err; + + od->od_gpt_nparts = 0; + od->od_gpt_parts = NULL; + + err = ps3stor_read_sectors(&stor_dev, dev->d_unit, 0, 1, 0, buf); + if (err) { + err = EIO; + goto out; + } + + if (le16toh(*((uint16_t *) (buf + DOSMAGICOFFSET))) != DOSMAGIC) { + err = ENXIO; + goto out; + } + + err = ps3stor_read_sectors(&stor_dev, dev->d_unit, 1, 1, 0, buf); + if (err) { + err = EIO; + goto out; + } + + hdr = (struct gpt_hdr *) buf; + + if (bcmp(hdr->hdr_sig, GPT_HDR_SIG, sizeof(hdr->hdr_sig)) || + le64toh(hdr->hdr_lba_self) != 1 || le32toh(hdr->hdr_revision) < 0x00010000 || + le32toh(hdr->hdr_entsz) < sizeof(struct gpt_ent) || + stor_dev.sd_blksize % le32toh(hdr->hdr_entsz) != 0) { + err = ENXIO; + goto out; + } + + nparts = 0; + eps = stor_dev.sd_blksize / le32toh(hdr->hdr_entsz); + slba = le64toh(hdr->hdr_lba_table); + elba = slba + le32toh(hdr->hdr_entries) / eps; + + for (lba = slba; lba < elba; lba++) { + err = ps3stor_read_sectors(&stor_dev, dev->d_unit, lba, 1, 0, buf); + if (err) { + err = EIO; + goto out; + } + + ent = (struct gpt_ent *) buf; + + for (i = 0; i < eps; i++) { + if (uuid_is_nil(&ent[i].ent_type, NULL) || + le64toh(ent[i].ent_lba_start) == 0 || + le64toh(ent[i].ent_lba_end) < le64toh(ent[i].ent_lba_start)) + continue; + + nparts++; + } + } + + if (nparts) { + od->od_gpt_nparts = nparts; + + od->od_gpt_parts = malloc(nparts * sizeof(struct gpt_part)); + if (!od->od_gpt_parts) { + err = ENOMEM; + goto out; + } + + for (lba = slba, part = 0; lba < elba; lba++) { + err = ps3stor_read_sectors(&stor_dev, dev->d_unit, lba, 1, 0, buf); + if (err) { + err = EIO; + goto out; + } + + ent = (struct gpt_ent *) buf; + + for (i = 0; i < eps; i++) { + if (uuid_is_nil(&ent[i].ent_type, NULL) || + le64toh(ent[i].ent_lba_start) == 0 || + le64toh(ent[i].ent_lba_end) < le64toh(ent[i].ent_lba_start)) + continue; + + od->od_gpt_parts[part].gp_index = (lba - slba) * eps + i + 1; + od->od_gpt_parts[part].gp_type = ent[i].ent_type; + od->od_gpt_parts[part].gp_start = le64toh(ent[i].ent_lba_start); + od->od_gpt_parts[part].gp_end = le64toh(ent[i].ent_lba_end); + ps3disk_uuid_letoh(&od->od_gpt_parts[part].gp_type); + part++; + } + } + } + + dev->d_disk.ptype = PTYPE_GPT; + + if (od->od_gpt_nparts && !dev->d_disk.pnum) + dev->d_disk.pnum = od->od_gpt_parts[0].gp_index; + + for (i = 0; i < od->od_gpt_nparts; i++) + if (od->od_gpt_parts[i].gp_index == dev->d_disk.pnum) + od->od_start = od->od_gpt_parts[i].gp_start; + + err = 0; + +out: + + if (err && od->od_gpt_parts) + free(od->od_gpt_parts); + + return err; +} + +static void ps3disk_uuid_letoh(uuid_t *uuid) +{ + uuid->time_low = le32toh(uuid->time_low); + uuid->time_mid = le16toh(uuid->time_mid); + uuid->time_hi_and_version = le16toh(uuid->time_hi_and_version); +} Added: head/sys/boot/powerpc/ps3/ps3repo.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/powerpc/ps3/ps3repo.c Sat Jul 16 19:01:09 2011 (r224106) @@ -0,0 +1,249 @@ +/*- + * Copyright (C) 2011 glevand (geoffrey.levand@mail.ru) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include + +#include "lv1call.h" +#include "ps3.h" +#include "ps3repo.h" + +static uint64_t make_n1(const char *text, unsigned int index) +{ + uint64_t n1; + + n1 = 0; + strncpy((char *) &n1, text, sizeof(n1)); + n1 = (n1 >> 32) + index; + + return n1; +} + +static uint64_t make_n(const char *text, unsigned int index) +{ + uint64_t n; + + n = 0; + strncpy((char *) &n, text, sizeof(n)); + n = n + index; + + return n; +} + +int ps3repo_read_bus_type(unsigned int bus_index, uint64_t *bus_type) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("type", 0), 0, 0, &v1, &v2); + + *bus_type = v1; + + return err; +} + +int ps3repo_read_bus_id(unsigned int bus_index, uint64_t *bus_id) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("id", 0), 0, 0, &v1, &v2); + + *bus_id = v1; + + return err; +} + +int ps3repo_read_bus_num_dev(unsigned int bus_index, uint64_t *num_dev) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("num_dev", 0), 0, 0, &v1, &v2); + + *num_dev = v1; + + return err; +} + +int ps3repo_read_bus_dev_type(unsigned int bus_index, unsigned int dev_index, uint64_t *dev_type) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("type", 0), 0, &v1, &v2); + + *dev_type = v1; + + return err; +} + +int ps3repo_read_bus_dev_id(unsigned int bus_index, unsigned int dev_index, uint64_t *dev_id) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("id", 0), 0, &v1, &v2); + + *dev_id = v1; + + return err; +} + +int ps3repo_read_bus_dev_blk_size(unsigned int bus_index, unsigned int dev_index, uint64_t *blk_size) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("blk_size", 0), 0, &v1, &v2); + + *blk_size = v1; + + return err; +} + +int ps3repo_read_bus_dev_nblocks(unsigned int bus_index, unsigned int dev_index, uint64_t *nblocks) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("n_blocks", 0), 0, &v1, &v2); + + *nblocks = v1; + + return err; +} + +int ps3repo_read_bus_dev_nregs(unsigned int bus_index, unsigned int dev_index, uint64_t *nregs) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("n_regs", 0), 0, &v1, &v2); + + *nregs = v1; + + return err; +} + +int ps3repo_read_bus_dev_reg_id(unsigned int bus_index, unsigned int dev_index, + unsigned int reg_index, uint64_t *reg_id) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("region", reg_index), make_n("id", 0), &v1, &v2); + + *reg_id = v1; + + return err; +} + +int ps3repo_read_bus_dev_reg_start(unsigned int bus_index, unsigned int dev_index, + unsigned int reg_index, uint64_t *reg_start) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("region", reg_index), make_n("start", 0), &v1, &v2); + + *reg_start = v1; + + return err; +} + +int ps3repo_read_bus_dev_reg_size(unsigned int bus_index, unsigned int dev_index, + unsigned int reg_index, uint64_t *reg_size) +{ + uint64_t v1, v2; + int err; + + err = lv1_get_repository_node_value(PS3_LPAR_ID_PME, make_n1("bus", bus_index), + make_n("dev", dev_index), make_n("region", reg_index), make_n("size", 0), &v1, &v2); + + *reg_size = v1; + + return err; +} + +int ps3repo_find_bus_by_type(uint64_t bus_type, unsigned int *bus_index) +{ + unsigned int i; + uint64_t type; + int err; + + for (i = 0; i < 10; i++) { + err = ps3repo_read_bus_type(i, &type); + if (err) { + *bus_index = (unsigned int) -1; + return err; + } + + if (type == bus_type) { + *bus_index = i; + return 0; + } + } + + *bus_index = (unsigned int) -1; + + return ENODEV; +} + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:11:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFC6D1065679; Sat, 16 Jul 2011 19:11:45 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BFBC68FC19; Sat, 16 Jul 2011 19:11:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJBjCu040479; Sat, 16 Jul 2011 19:11:45 GMT (envelope-from zec@svn.freebsd.org) Received: (from zec@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJBjXZ040477; Sat, 16 Jul 2011 19:11:45 GMT (envelope-from zec@svn.freebsd.org) Message-Id: <201107161911.p6GJBjXZ040477@svn.freebsd.org> From: Marko Zec Date: Sat, 16 Jul 2011 19:11:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224107 - head/sys/netgraph X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:11:46 -0000 Author: zec Date: Sat Jul 16 19:11:45 2011 New Revision: 224107 URL: http://svn.freebsd.org/changeset/base/224107 Log: Clear pending ifnet events, in an attempt at preventing ng_ether_link_state() from being dispatched after we have cleared our IFP2NG(ifp). MFC after: 3 days Modified: head/sys/netgraph/ng_ether.c Modified: head/sys/netgraph/ng_ether.c ============================================================================== --- head/sys/netgraph/ng_ether.c Sat Jul 16 19:01:09 2011 (r224106) +++ head/sys/netgraph/ng_ether.c Sat Jul 16 19:11:45 2011 (r224107) @@ -55,6 +55,7 @@ #include #include #include +#include #include #include @@ -336,6 +337,7 @@ ng_ether_detach(struct ifnet *ifp) const node_p node = IFP2NG(ifp); const priv_p priv = NG_NODE_PRIVATE(node); + taskqueue_drain(taskqueue_swi, &ifp->if_linktask); NG_NODE_REALLY_DIE(node); /* Force real removal of node */ /* * We can't assume the ifnet is still around when we run shutdown From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:25:47 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C315F106564A; Sat, 16 Jul 2011 19:25:47 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 78ECA8FC0A; Sat, 16 Jul 2011 19:25:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJPl84040944; Sat, 16 Jul 2011 19:25:47 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJPlOt040942; Sat, 16 Jul 2011 19:25:47 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201107161925.p6GJPlOt040942@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 16 Jul 2011 19:25:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224108 - head/usr.sbin/bsdinstall/partedit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:25:47 -0000 Author: nwhitehorn Date: Sat Jul 16 19:25:47 2011 New Revision: 224108 URL: http://svn.freebsd.org/changeset/base/224108 Log: Add PS3 partitioning (and framework for future pseries support) to the installer. Modified: head/usr.sbin/bsdinstall/partedit/partedit_powerpc.c Modified: head/usr.sbin/bsdinstall/partedit/partedit_powerpc.c ============================================================================== --- head/usr.sbin/bsdinstall/partedit/partedit_powerpc.c Sat Jul 16 19:11:45 2011 (r224107) +++ head/usr.sbin/bsdinstall/partedit/partedit_powerpc.c Sat Jul 16 19:25:47 2011 (r224108) @@ -26,19 +26,42 @@ * $FreeBSD$ */ +#include +#include #include #include "partedit.h" +static char platform[255] = ""; + const char * default_scheme(void) { - return ("APM"); + size_t platlen = sizeof(platform); + if (strlen(platform) == 0) + sysctlbyname("hw.platform", platform, &platlen, NULL, -1); + + if (strcmp(platform, "powermac") == 0) + return ("APM"); + if (strcmp(platform, "chrp") == 0) + return ("MBR"); + + /* Pick GPT (bootable on PS3) as a generic default */ + return ("GPT"); } int is_scheme_bootable(const char *part_type) { - if (strcmp(part_type, "APM") == 0) + size_t platlen = sizeof(platform); + if (strlen(platform) == 0) + sysctlbyname("hw.platform", platform, &platlen, NULL, -1); + + if (strcmp(platform, "powermac") == 0 && strcmp(part_type, "APM") == 0) return (1); + if (strcmp(platform, "ps3") == 0 && strcmp(part_type, "GPT") == 0) + return (1); + if (strcmp(platform, "chrp") == 0 && strcmp(part_type, "MBR") == 0) + return (1); + return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:28:43 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3740106564A; Sat, 16 Jul 2011 19:28:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A2A958FC14; Sat, 16 Jul 2011 19:28:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJShmn041070; Sat, 16 Jul 2011 19:28:43 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJSha5041068; Sat, 16 Jul 2011 19:28:43 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107161928.p6GJSha5041068@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 16 Jul 2011 19:28:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224109 - stable/8/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:28:43 -0000 Author: kib Date: Sat Jul 16 19:28:43 2011 New Revision: 224109 URL: http://svn.freebsd.org/changeset/base/224109 Log: MFC r223884: Implement bitcount16. Sponsored by: The FreeBSD Foundation Modified: stable/8/sys/sys/systm.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/sys/systm.h ============================================================================== --- stable/8/sys/sys/systm.h Sat Jul 16 19:25:47 2011 (r224108) +++ stable/8/sys/sys/systm.h Sat Jul 16 19:28:43 2011 (r224109) @@ -380,4 +380,15 @@ bitcount32(uint32_t x) return (x); } +static __inline uint16_t +bitcount16(uint32_t x) +{ + + x = (x & 0x5555) + ((x & 0xaaaa) >> 1); + x = (x & 0x3333) + ((x & 0xcccc) >> 2); + x = (x + (x >> 4)) & 0x0f0f; + x = (x + (x >> 8)) & 0x00ff; + return (x); +} + #endif /* !_SYS_SYSTM_H_ */ From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:35:44 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 779F31065676; Sat, 16 Jul 2011 19:35:44 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 654CF8FC0C; Sat, 16 Jul 2011 19:35:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJZiB1041334; Sat, 16 Jul 2011 19:35:44 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJZikO041327; Sat, 16 Jul 2011 19:35:44 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201107161935.p6GJZikO041327@svn.freebsd.org> From: "Jayachandran C." Date: Sat, 16 Jul 2011 19:35:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224110 - in head/sys/mips/nlm: . hal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:35:44 -0000 Author: jchandra Date: Sat Jul 16 19:35:44 2011 New Revision: 224110 URL: http://svn.freebsd.org/changeset/base/224110 Log: Add MIPS platform files for Netlogic XLP SoC. Processor, UART, PIC and Messaging Network code. Also add sys/mips/nlm/hal for on-chip device registers. In collaboration with: Prabhath Raman Approved by: bz(re), jmallett, imp(mips) Added: head/sys/mips/nlm/ head/sys/mips/nlm/board.c (contents, props changed) head/sys/mips/nlm/board.h (contents, props changed) head/sys/mips/nlm/bus_space_rmi.c (contents, props changed) head/sys/mips/nlm/clock.h (contents, props changed) head/sys/mips/nlm/cms.c (contents, props changed) head/sys/mips/nlm/files.xlp (contents, props changed) head/sys/mips/nlm/hal/ head/sys/mips/nlm/hal/bridge.h (contents, props changed) head/sys/mips/nlm/hal/cop0.h (contents, props changed) head/sys/mips/nlm/hal/cop2.h (contents, props changed) head/sys/mips/nlm/hal/cpucontrol.h (contents, props changed) head/sys/mips/nlm/hal/fmn.c (contents, props changed) head/sys/mips/nlm/hal/fmn.h (contents, props changed) head/sys/mips/nlm/hal/iomap.h (contents, props changed) head/sys/mips/nlm/hal/mips-extns.h (contents, props changed) head/sys/mips/nlm/hal/mmio.h (contents, props changed) head/sys/mips/nlm/hal/mmu.h (contents, props changed) head/sys/mips/nlm/hal/pic.h (contents, props changed) head/sys/mips/nlm/hal/sys.h (contents, props changed) head/sys/mips/nlm/hal/uart.h (contents, props changed) head/sys/mips/nlm/interrupt.h (contents, props changed) head/sys/mips/nlm/intr_machdep.c (contents, props changed) head/sys/mips/nlm/iodi.c (contents, props changed) head/sys/mips/nlm/mpreset.S (contents, props changed) head/sys/mips/nlm/msgring.h (contents, props changed) head/sys/mips/nlm/std.xlp (contents, props changed) head/sys/mips/nlm/tick.c (contents, props changed) head/sys/mips/nlm/uart_bus_xlp_iodi.c (contents, props changed) head/sys/mips/nlm/uart_cpu_mips_xlp.c (contents, props changed) head/sys/mips/nlm/xlp.h (contents, props changed) head/sys/mips/nlm/xlp_machdep.c (contents, props changed) Added: head/sys/mips/nlm/board.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/nlm/board.c Sat Jul 16 19:35:44 2011 (r224110) @@ -0,0 +1,80 @@ +/*- + * Copyright 2003-2011 Netlogic Microsystems (Netlogic). All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY Netlogic Microsystems ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + * NETLOGIC_BSD */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +struct xlp_board_info xlp_board_info; + +int nlm_setup_xlp_board(void); + +/* + * All our knowledge of chip and board that cannot be detected by probing + * at run-time goes here + */ + +int +nlm_setup_xlp_board(void) +{ + struct xlp_board_info *boardp; + int node; + + /* start with a clean slate */ + boardp = &xlp_board_info; + memset(boardp, 0, sizeof(xlp_board_info)); + boardp->nodemask = 0x1; /* only node 0 */ + + for (node = 0; node < XLP_MAX_NODES; node++) { + if ((boardp->nodemask & (1 << node)) == 0) + continue; + } + return 0; +} + +int nlm_board_info_setup() +{ + nlm_setup_xlp_board(); + return 0; +} Added: head/sys/mips/nlm/board.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/nlm/board.h Sat Jul 16 19:35:44 2011 (r224110) @@ -0,0 +1,75 @@ +/*- + * Copyright 2003-2011 Netlogic Microsystems (Netlogic). All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY Netlogic Microsystems ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + * NETLOGIC_BSD */ + +#ifndef __NLM_BOARD_H__ +#define __NLM_BOARD_H__ + +#define XLP_NAE_NBLOCKS 5 +#define XLP_NAE_NPORTS 4 +#define XLP_I2C_MAXDEVICES 8 + +struct xlp_i2c_devinfo { + u_int addr; /* keep first, for i2c ivars to work */ + int bus; + char *device; +}; + +struct xlp_port_ivars { + int port; + int block; + int type; + int phy_addr; +}; + +struct xlp_block_ivars { + int block; + int type; + u_int portmask; + struct xlp_port_ivars port_ivars[XLP_NAE_NPORTS]; +}; + +struct xlp_nae_ivars { + int node; + u_int blockmask; + struct xlp_block_ivars block_ivars[XLP_NAE_NBLOCKS]; +}; + +struct xlp_board_info { + u_int nodemask; + struct xlp_node_info { + struct xlp_i2c_devinfo i2c_devs[XLP_I2C_MAXDEVICES]; + struct xlp_nae_ivars nae_ivars; + } nodes[XLP_MAX_NODES]; +}; + +extern struct xlp_board_info xlp_board_info; +int nlm_board_info_setup(void); + +#endif Added: head/sys/mips/nlm/bus_space_rmi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/nlm/bus_space_rmi.c Sat Jul 16 19:35:44 2011 (r224110) @@ -0,0 +1,688 @@ +/* + * Copyright 2003-2011 Netlogic Microsystems (Netlogic). All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY Netlogic Microsystems ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + * NETLOGIC_BSD */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +static int +rmi_bus_space_map(void *t, bus_addr_t addr, + bus_size_t size, int flags, + bus_space_handle_t *bshp); + +static void +rmi_bus_space_unmap(void *t, bus_space_handle_t bsh, + bus_size_t size); + +static int +rmi_bus_space_subregion(void *t, + bus_space_handle_t bsh, + bus_size_t offset, bus_size_t size, + bus_space_handle_t *nbshp); + +static u_int8_t +rmi_bus_space_read_1(void *t, + bus_space_handle_t handle, + bus_size_t offset); + +static u_int16_t +rmi_bus_space_read_2(void *t, + bus_space_handle_t handle, + bus_size_t offset); + +static u_int32_t +rmi_bus_space_read_4(void *t, + bus_space_handle_t handle, + bus_size_t offset); + +static void +rmi_bus_space_read_multi_1(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int8_t *addr, + size_t count); + +static void +rmi_bus_space_read_multi_2(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int16_t *addr, + size_t count); + +static void +rmi_bus_space_read_multi_4(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int32_t *addr, + size_t count); + +static void +rmi_bus_space_read_region_1(void *t, + bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, + size_t count); + +static void +rmi_bus_space_read_region_2(void *t, + bus_space_handle_t bsh, + bus_size_t offset, u_int16_t *addr, + size_t count); + +static void +rmi_bus_space_read_region_4(void *t, + bus_space_handle_t bsh, + bus_size_t offset, u_int32_t *addr, + size_t count); + +static void +rmi_bus_space_write_1(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int8_t value); + +static void +rmi_bus_space_write_2(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int16_t value); + +static void +rmi_bus_space_write_4(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int32_t value); + +static void +rmi_bus_space_write_multi_1(void *t, + bus_space_handle_t handle, + bus_size_t offset, + const u_int8_t *addr, + size_t count); + +static void +rmi_bus_space_write_multi_2(void *t, + bus_space_handle_t handle, + bus_size_t offset, + const u_int16_t *addr, + size_t count); + +static void +rmi_bus_space_write_multi_4(void *t, + bus_space_handle_t handle, + bus_size_t offset, + const u_int32_t *addr, + size_t count); + +static void +rmi_bus_space_write_region_2(void *t, + bus_space_handle_t bsh, + bus_size_t offset, + const u_int16_t *addr, + size_t count); + +static void +rmi_bus_space_write_region_4(void *t, + bus_space_handle_t bsh, + bus_size_t offset, + const u_int32_t *addr, + size_t count); + + +static void +rmi_bus_space_set_region_2(void *t, + bus_space_handle_t bsh, + bus_size_t offset, u_int16_t value, + size_t count); +static void +rmi_bus_space_set_region_4(void *t, + bus_space_handle_t bsh, + bus_size_t offset, u_int32_t value, + size_t count); + +static void +rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused, + bus_size_t offset __unused, bus_size_t len __unused, int flags); + +static void +rmi_bus_space_copy_region_2(void *t, + bus_space_handle_t bsh1, + bus_size_t off1, + bus_space_handle_t bsh2, + bus_size_t off2, size_t count); + +u_int8_t +rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle, + bus_size_t offset); + +static u_int16_t +rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle, + bus_size_t offset); + +static u_int32_t +rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle, + bus_size_t offset); +static void +rmi_bus_space_read_multi_stream_1(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int8_t *addr, + size_t count); + +static void +rmi_bus_space_read_multi_stream_2(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int16_t *addr, + size_t count); + +static void +rmi_bus_space_read_multi_stream_4(void *t, + bus_space_handle_t handle, + bus_size_t offset, u_int32_t *addr, + size_t count); + +void +rmi_bus_space_write_stream_1(void *t, bus_space_handle_t bsh, + bus_size_t offset, u_int8_t value); +static void +rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle, + bus_size_t offset, u_int16_t value); + +static void +rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle, + bus_size_t offset, u_int32_t value); + +static void +rmi_bus_space_write_multi_stream_1(void *t, + bus_space_handle_t handle, + bus_size_t offset, + const u_int8_t *addr, + size_t count); +static void +rmi_bus_space_write_multi_stream_2(void *t, + bus_space_handle_t handle, + bus_size_t offset, + const u_int16_t *addr, + size_t count); + +static void +rmi_bus_space_write_multi_stream_4(void *t, + bus_space_handle_t handle, + bus_size_t offset, + const u_int32_t *addr, + size_t count); + +#define TODO() printf("XLP bus space: '%s' unimplemented\n", __func__) + +static struct bus_space local_rmi_bus_space = { + /* cookie */ + (void *)0, + + /* mapping/unmapping */ + rmi_bus_space_map, + rmi_bus_space_unmap, + rmi_bus_space_subregion, + + /* allocation/deallocation */ + NULL, + NULL, + + /* barrier */ + rmi_bus_space_barrier, + + /* read (single) */ + rmi_bus_space_read_1, + rmi_bus_space_read_2, + rmi_bus_space_read_4, + NULL, + + /* read multiple */ + rmi_bus_space_read_multi_1, + rmi_bus_space_read_multi_2, + rmi_bus_space_read_multi_4, + NULL, + + /* read region */ + rmi_bus_space_read_region_1, + rmi_bus_space_read_region_2, + rmi_bus_space_read_region_4, + NULL, + + /* write (single) */ + rmi_bus_space_write_1, + rmi_bus_space_write_2, + rmi_bus_space_write_4, + NULL, + + /* write multiple */ + rmi_bus_space_write_multi_1, + rmi_bus_space_write_multi_2, + rmi_bus_space_write_multi_4, + NULL, + + /* write region */ + NULL, + rmi_bus_space_write_region_2, + rmi_bus_space_write_region_4, + NULL, + + /* set multiple */ + NULL, + NULL, + NULL, + NULL, + + /* set region */ + NULL, + rmi_bus_space_set_region_2, + rmi_bus_space_set_region_4, + NULL, + + /* copy */ + NULL, + rmi_bus_space_copy_region_2, + NULL, + NULL, + + /* read (single) stream */ + rmi_bus_space_read_stream_1, + rmi_bus_space_read_stream_2, + rmi_bus_space_read_stream_4, + NULL, + + /* read multiple stream */ + rmi_bus_space_read_multi_stream_1, + rmi_bus_space_read_multi_stream_2, + rmi_bus_space_read_multi_stream_4, + NULL, + + /* read region stream */ + rmi_bus_space_read_region_1, + rmi_bus_space_read_region_2, + rmi_bus_space_read_region_4, + NULL, + + /* write (single) stream */ + rmi_bus_space_write_stream_1, + rmi_bus_space_write_stream_2, + rmi_bus_space_write_stream_4, + NULL, + + /* write multiple stream */ + rmi_bus_space_write_multi_stream_1, + rmi_bus_space_write_multi_stream_2, + rmi_bus_space_write_multi_stream_4, + NULL, + + /* write region stream */ + NULL, + rmi_bus_space_write_region_2, + rmi_bus_space_write_region_4, + NULL, +}; + +/* generic bus_space tag */ +bus_space_tag_t rmi_bus_space = &local_rmi_bus_space; + +/* + * Map a region of device bus space into CPU virtual address space. + */ +static int +rmi_bus_space_map(void *t __unused, bus_addr_t addr, + bus_size_t size __unused, int flags __unused, + bus_space_handle_t *bshp) +{ + + *bshp = addr; + return (0); +} + +/* + * Unmap a region of device bus space. + */ +static void +rmi_bus_space_unmap(void *t __unused, bus_space_handle_t bsh __unused, + bus_size_t size __unused) +{ +} + +/* + * Get a new handle for a subregion of an already-mapped area of bus space. + */ + +static int +rmi_bus_space_subregion(void *t __unused, bus_space_handle_t bsh, + bus_size_t offset, bus_size_t size __unused, + bus_space_handle_t *nbshp) +{ + *nbshp = bsh + offset; + return (0); +} + +/* + * Read a 1, 2, 4, or 8 byte quantity from bus space + * described by tag/handle/offset. + */ + +static u_int8_t +rmi_bus_space_read_1(void *tag, bus_space_handle_t handle, + bus_size_t offset) +{ + return (u_int8_t) (*(volatile u_int32_t *)(handle + offset)); +} + +static u_int16_t +rmi_bus_space_read_2(void *tag, bus_space_handle_t handle, + bus_size_t offset) +{ + return (u_int16_t)(*(volatile u_int32_t *)(handle + offset)); +} + +static u_int32_t +rmi_bus_space_read_4(void *tag, bus_space_handle_t handle, + bus_size_t offset) +{ + return (*(volatile u_int32_t *)(handle + offset)); +} + + +/* + * Read `count' 1, 2, 4, or 8 byte quantities from bus space + * described by tag/handle/offset and copy into buffer provided. + */ +static void +rmi_bus_space_read_multi_1(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int8_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_read_multi_2(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int16_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_read_multi_4(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int32_t *addr, size_t count) +{ + TODO(); +} + +/* + * Write the 1, 2, 4, or 8 byte value `value' to bus space + * described by tag/handle/offset. + */ + +static void +rmi_bus_space_write_1(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int8_t value) +{ + *(volatile u_int32_t *)(handle + offset) = (u_int32_t)value; +} + +static void +rmi_bus_space_write_2(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int16_t value) +{ + *(volatile u_int32_t *)(handle + offset) = (u_int32_t)value; +} + +static void +rmi_bus_space_write_4(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int32_t value) +{ + *(volatile u_int32_t *)(handle + offset) = value; +} + + +/* + * Write `count' 1, 2, 4, or 8 byte quantities from the buffer + * provided to bus space described by tag/handle/offset. + */ + + +static void +rmi_bus_space_write_multi_1(void *tag, bus_space_handle_t handle, + bus_size_t offset, const u_int8_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_write_multi_2(void *tag, bus_space_handle_t handle, + bus_size_t offset, const u_int16_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_write_multi_4(void *tag, bus_space_handle_t handle, + bus_size_t offset, const u_int32_t *addr, size_t count) +{ + TODO(); +} + +/* + * Write `count' 1, 2, 4, or 8 byte value `val' to bus space described + * by tag/handle starting at `offset'. + */ + +static void +rmi_bus_space_set_region_2(void *t, bus_space_handle_t bsh, + bus_size_t offset, u_int16_t value, size_t count) +{ + bus_addr_t addr = bsh + offset; + + for (; count != 0; count--, addr += 2) + (*(volatile u_int32_t *)(addr)) = value; +} + +static void +rmi_bus_space_set_region_4(void *t, bus_space_handle_t bsh, + bus_size_t offset, u_int32_t value, size_t count) +{ + bus_addr_t addr = bsh + offset; + + for (; count != 0; count--, addr += 4) + (*(volatile u_int32_t *)(addr)) = value; +} + + +/* + * Copy `count' 1, 2, 4, or 8 byte values from bus space starting + * at tag/bsh1/off1 to bus space starting at tag/bsh2/off2. + */ +static void +rmi_bus_space_copy_region_2(void *t, bus_space_handle_t bsh1, + bus_size_t off1, bus_space_handle_t bsh2, + bus_size_t off2, size_t count) +{ + printf("bus_space_copy_region_2 - unimplemented\n"); +} + +/* + * Read `count' 1, 2, 4, or 8 byte quantities from bus space + * described by tag/handle/offset and copy into buffer provided. + */ + +u_int8_t +rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle, + bus_size_t offset) +{ + + return *((volatile u_int8_t *)(handle + offset)); +} + + +static u_int16_t +rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle, + bus_size_t offset) +{ + return *(volatile u_int16_t *)(handle + offset); +} + + +static u_int32_t +rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle, + bus_size_t offset) +{ + return (*(volatile u_int32_t *)(handle + offset)); +} + + +static void +rmi_bus_space_read_multi_stream_1(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int8_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_read_multi_stream_2(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int16_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_read_multi_stream_4(void *tag, bus_space_handle_t handle, + bus_size_t offset, u_int32_t *addr, size_t count) +{ + TODO(); +} + + +/* + * Read `count' 1, 2, 4, or 8 byte quantities from bus space + * described by tag/handle and starting at `offset' and copy into + * buffer provided. + */ +void +rmi_bus_space_read_region_1(void *t, bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, size_t count) +{ + TODO(); +} + +void +rmi_bus_space_read_region_2(void *t, bus_space_handle_t bsh, + bus_size_t offset, u_int16_t *addr, size_t count) +{ + TODO(); +} + +void +rmi_bus_space_read_region_4(void *t, bus_space_handle_t bsh, + bus_size_t offset, u_int32_t *addr, size_t count) +{ + bus_addr_t baddr = bsh + offset; + + while (count--) { + *addr++ = (*(volatile u_int32_t *)(baddr)); + baddr += 4; + } +} + +void +rmi_bus_space_write_stream_1(void *t, bus_space_handle_t handle, + bus_size_t offset, u_int8_t value) +{ + TODO(); +} + + +static void +rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle, + bus_size_t offset, u_int16_t value) +{ + TODO(); +} + + +static void +rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle, + bus_size_t offset, u_int32_t value) +{ + TODO(); +} + + +static void +rmi_bus_space_write_multi_stream_1(void *tag, bus_space_handle_t handle, + bus_size_t offset, const u_int8_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_write_multi_stream_2(void *tag, bus_space_handle_t handle, + bus_size_t offset, const u_int16_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_write_multi_stream_4(void *tag, bus_space_handle_t handle, + bus_size_t offset, const u_int32_t *addr, size_t count) +{ + TODO(); +} + +void +rmi_bus_space_write_region_2(void *t, + bus_space_handle_t bsh, + bus_size_t offset, + const u_int16_t *addr, + size_t count) +{ + TODO(); +} + +void +rmi_bus_space_write_region_4(void *t, bus_space_handle_t bsh, + bus_size_t offset, const u_int32_t *addr, size_t count) +{ + TODO(); +} + +static void +rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused, + bus_size_t offset __unused, bus_size_t len __unused, int flags) +{ +} Added: head/sys/mips/nlm/clock.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/nlm/clock.h Sat Jul 16 19:35:44 2011 (r224110) @@ -0,0 +1,41 @@ +/*- + * Copyright 2003-2011 Netlogic Microsystems (Netlogic). All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY Netlogic Microsystems ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + * NETLOGIC_BSD */ + +#ifndef _RMI_CLOCK_H_ +#define _RMI_CLOCK_H_ + +#define XLP_PIC_HZ 133000000U +#define XLP_CPU_HZ (nlm_cpu_frequency) + +void count_compare_clockhandler(struct trapframe *); +void pic_hardclockhandler(struct trapframe *); +void pic_timecounthandler(struct trapframe *); + +#endif /* _RMI_CLOCK_H_ */ Added: head/sys/mips/nlm/cms.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/nlm/cms.c Sat Jul 16 19:35:44 2011 (r224110) @@ -0,0 +1,451 @@ +/*- + * Copyright 2003-2011 Netlogic Microsystems (Netlogic). All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY Netlogic Microsystems ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + * + * NETLOGIC_BSD */ + +#include +__FBSDID("$FreeBSD$"); +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#define MSGRNG_NSTATIONS 1024 +/* + * Keep track of our message ring handler threads, each core has a + * different message station. Ideally we will need to start a few + * message handling threads every core, and wake them up depending on + * load + */ +struct msgring_thread { + struct thread *thread; /* msgring handler threads */ + int needed; /* thread needs to wake up */ +}; +static struct msgring_thread msgring_threads[XLP_MAX_CORES * XLP_MAX_THREADS]; +static struct proc *msgring_proc; /* all threads are under a proc */ + +/* + * The device drivers can register a handler for the the messages sent + * from a station (corresponding to the device). + */ +struct tx_stn_handler { + msgring_handler action; + void *arg; +}; +static struct tx_stn_handler msgmap[MSGRNG_NSTATIONS]; +static struct mtx msgmap_lock; +uint64_t xlp_cms_base; +uint32_t xlp_msg_thread_mask; +static int xlp_msg_threads_per_core = 3; /* Make tunable */ + +static void create_msgring_thread(int hwtid); +static int msgring_process_fast_intr(void *arg); +/* *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:38:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 437F81065670; Sat, 16 Jul 2011 19:38:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 32A948FC15; Sat, 16 Jul 2011 19:38:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJc91u041436; Sat, 16 Jul 2011 19:38:09 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJc9b7041433; Sat, 16 Jul 2011 19:38:09 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107161938.p6GJc9b7041433@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 16 Jul 2011 19:38:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224111 - stable/8/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:38:09 -0000 Author: kib Date: Sat Jul 16 19:38:08 2011 New Revision: 224111 URL: http://svn.freebsd.org/changeset/base/224111 Log: MFC r223885: Implement pci_find_class(9), the function to find a pci device by its class. Sponsored by: The FreeBSD Foundation Modified: stable/8/sys/dev/pci/pci.c stable/8/sys/dev/pci/pcivar.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/dev/pci/pci.c ============================================================================== --- stable/8/sys/dev/pci/pci.c Sat Jul 16 19:35:44 2011 (r224110) +++ stable/8/sys/dev/pci/pci.c Sat Jul 16 19:38:08 2011 (r224111) @@ -341,6 +341,21 @@ pci_find_device(uint16_t vendor, uint16_ return (NULL); } +device_t +pci_find_class(uint8_t class, uint8_t subclass) +{ + struct pci_devinfo *dinfo; + + STAILQ_FOREACH(dinfo, &pci_devq, pci_links) { + if (dinfo->cfg.baseclass == class && + dinfo->cfg.subclass == subclass) { + return (dinfo->cfg.dev); + } + } + + return (NULL); +} + static int pci_printf(pcicfgregs *cfg, const char *fmt, ...) { Modified: stable/8/sys/dev/pci/pcivar.h ============================================================================== --- stable/8/sys/dev/pci/pcivar.h Sat Jul 16 19:35:44 2011 (r224110) +++ stable/8/sys/dev/pci/pcivar.h Sat Jul 16 19:38:08 2011 (r224111) @@ -450,6 +450,7 @@ pci_msix_count(device_t dev) device_t pci_find_bsf(uint8_t, uint8_t, uint8_t); device_t pci_find_dbsf(uint32_t, uint8_t, uint8_t, uint8_t); device_t pci_find_device(uint16_t, uint16_t); +device_t pci_find_class(uint8_t class, uint8_t subclass); /* Can be used by drivers to manage the MSI-X table. */ int pci_pending_msix(device_t dev, u_int index); From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 19:56:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8E51106564A; Sat, 16 Jul 2011 19:56:07 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9F4548FC14; Sat, 16 Jul 2011 19:56:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GJu7El042017; Sat, 16 Jul 2011 19:56:07 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GJu7Ci042014; Sat, 16 Jul 2011 19:56:07 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107161956.p6GJu7Ci042014@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 16 Jul 2011 19:56:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224112 - in head/sys/ia64: ia64 include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 19:56:07 -0000 Author: marcel Date: Sat Jul 16 19:56:07 2011 New Revision: 224112 URL: http://svn.freebsd.org/changeset/base/224112 Log: Add a few more helper functions for working with memory descriptors: o efi_md_find() - returns the md that covers the given address o efi_md_last() - returns the last md in the list o efi_md_prev() - returns the md that preceeds the given md. Modified: head/sys/ia64/ia64/efi.c head/sys/ia64/include/efi.h Modified: head/sys/ia64/ia64/efi.c ============================================================================== --- head/sys/ia64/ia64/efi.c Sat Jul 16 19:38:08 2011 (r224111) +++ head/sys/ia64/ia64/efi.c Sat Jul 16 19:56:07 2011 (r224112) @@ -161,20 +161,67 @@ efi_get_time(struct efi_tm *tm) struct efi_md * efi_md_first(void) { + struct efi_md *md; if (bootinfo->bi_memmap == 0) return (NULL); - return ((struct efi_md *)bootinfo->bi_memmap); + md = (struct efi_md *)bootinfo->bi_memmap; + return (md); +} + +struct efi_md * +efi_md_last(void) +{ + struct efi_md *md; + + if (bootinfo->bi_memmap == 0) + return (NULL); + md = (struct efi_md *)(bootinfo->bi_memmap + bootinfo->bi_memmap_size - + bootinfo->bi_memdesc_size); + return (md); } struct efi_md * efi_md_next(struct efi_md *md) { - uint64_t plim; + struct efi_md *lim; - plim = bootinfo->bi_memmap + bootinfo->bi_memmap_size; + lim = efi_md_last(); md = (struct efi_md *)((uintptr_t)md + bootinfo->bi_memdesc_size); - return ((md >= (struct efi_md *)plim) ? NULL : md); + return ((md > lim) ? NULL : md); +} + +struct efi_md * +efi_md_prev(struct efi_md *md) +{ + struct efi_md *lim; + + lim = efi_md_first(); + md = (struct efi_md *)((uintptr_t)md - bootinfo->bi_memdesc_size); + return ((md < lim) ? NULL : md); +} + +struct efi_md * +efi_md_find(vm_paddr_t pa) +{ + static struct efi_md *last = NULL; + struct efi_md *md, *p0, *p1; + + md = (last != NULL) ? last : efi_md_first(); + p1 = p0 = NULL; + while (md != NULL && md != p1) { + if (pa >= md->md_phys && + pa < md->md_phys + md->md_pages * EFI_PAGE_SIZE) { + last = md; + return (md); + } + + p1 = p0; + p0 = md; + md = (pa < md->md_phys) ? efi_md_prev(md) : efi_md_next(md); + } + + return (NULL); } void Modified: head/sys/ia64/include/efi.h ============================================================================== --- head/sys/ia64/include/efi.h Sat Jul 16 19:38:08 2011 (r224111) +++ head/sys/ia64/include/efi.h Sat Jul 16 19:56:07 2011 (r224112) @@ -161,8 +161,11 @@ void efi_boot_finish(void); int efi_boot_minimal(uint64_t); void *efi_get_table(struct uuid *); void efi_get_time(struct efi_tm *); +struct efi_md *efi_md_find(vm_paddr_t); struct efi_md *efi_md_first(void); +struct efi_md *efi_md_last(void); struct efi_md *efi_md_next(struct efi_md *); +struct efi_md *efi_md_prev(struct efi_md *); void efi_reset_system(void); int efi_set_time(struct efi_tm *); int efi_var_get(efi_char *, struct uuid *, uint32_t *, size_t *, void *); From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 20:03:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B02291065670; Sat, 16 Jul 2011 20:03:23 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9F1138FC16; Sat, 16 Jul 2011 20:03:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GK3NUg042272; Sat, 16 Jul 2011 20:03:23 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GK3N0O042269; Sat, 16 Jul 2011 20:03:23 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201107162003.p6GK3N0O042269@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 16 Jul 2011 20:03:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224113 - in stable/8/sys: sys ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 20:03:23 -0000 Author: kib Date: Sat Jul 16 20:03:23 2011 New Revision: 224113 URL: http://svn.freebsd.org/changeset/base/224113 Log: MFC r223886: Implement a helper functions to locally set thread-private flag, and restore it to the previous state. Note that only setting a flag locally is supported. MFC r223887: Use helper functions instead of manually managing TDP_INBDFLUSH. MFC r223888: Use 'curthread_pflags' instead of 'thread_pflags' to signify that only curthread can be operated upon. Sponsored by: The FreeBSD Foundation Modified: stable/8/sys/sys/proc.h stable/8/sys/ufs/ffs/ffs_balloc.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/sys/proc.h ============================================================================== --- stable/8/sys/sys/proc.h Sat Jul 16 19:56:07 2011 (r224112) +++ stable/8/sys/sys/proc.h Sat Jul 16 20:03:23 2011 (r224113) @@ -897,6 +897,25 @@ void thread_unthread(struct thread *td); void thread_wait(struct proc *p); struct thread *thread_find(struct proc *p, lwpid_t tid); +static __inline int +curthread_pflags_set(int flags) +{ + struct thread *td; + int save; + + td = curthread; + save = ~flags | (td->td_pflags & flags); + td->td_pflags |= flags; + return (save); +} + +static __inline void +curthread_pflags_restore(int save) +{ + + curthread->td_pflags &= save; +} + #endif /* _KERNEL */ #endif /* !_SYS_PROC_H_ */ Modified: stable/8/sys/ufs/ffs/ffs_balloc.c ============================================================================== --- stable/8/sys/ufs/ffs/ffs_balloc.c Sat Jul 16 19:56:07 2011 (r224112) +++ stable/8/sys/ufs/ffs/ffs_balloc.c Sat Jul 16 20:03:23 2011 (r224113) @@ -228,9 +228,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t if (num < 1) panic ("ffs_balloc_ufs1: ufs_getlbns returned indirect block"); #endif - saved_inbdflush = ~TDP_INBDFLUSH | (curthread->td_pflags & - TDP_INBDFLUSH); - curthread->td_pflags |= TDP_INBDFLUSH; + saved_inbdflush = curthread_pflags_set(TDP_INBDFLUSH); /* * Fetch the first indirect block allocating if necessary. */ @@ -244,7 +242,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t pref = ffs_blkpref_ufs1(ip, lbn, 0, (ufs1_daddr_t *)0); if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, flags, cred, &newb)) != 0) { - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); return (error); } nb = newb; @@ -337,7 +335,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t * If asked only for the indirect block, then return it. */ if (flags & BA_METAONLY) { - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); *bpp = bp; return (0); } @@ -375,7 +373,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t bp->b_flags |= B_CLUSTEROK; bdwrite(bp); } - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); } @@ -397,11 +395,11 @@ ffs_balloc_ufs1(struct vnode *vp, off_t nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); nbp->b_blkno = fsbtodb(fs, nb); } - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); fail: - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); /* * If we have failed to allocate any blocks, simply return the error. * This is the usual case and avoids the need to fsync the file. @@ -734,9 +732,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t if (num < 1) panic ("ffs_balloc_ufs2: ufs_getlbns returned indirect block"); #endif - saved_inbdflush = ~TDP_INBDFLUSH | (curthread->td_pflags & - TDP_INBDFLUSH); - curthread->td_pflags |= TDP_INBDFLUSH; + saved_inbdflush = curthread_pflags_set(TDP_INBDFLUSH); /* * Fetch the first indirect block allocating if necessary. */ @@ -750,7 +746,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t pref = ffs_blkpref_ufs2(ip, lbn, 0, (ufs2_daddr_t *)0); if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, flags, cred, &newb)) != 0) { - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); return (error); } nb = newb; @@ -843,7 +839,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t * If asked only for the indirect block, then return it. */ if (flags & BA_METAONLY) { - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); *bpp = bp; return (0); } @@ -881,7 +877,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t bp->b_flags |= B_CLUSTEROK; bdwrite(bp); } - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); } @@ -909,11 +905,11 @@ ffs_balloc_ufs2(struct vnode *vp, off_t nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); nbp->b_blkno = fsbtodb(fs, nb); } - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); fail: - curthread->td_pflags &= saved_inbdflush; + curthread_pflags_restore(saved_inbdflush); /* * If we have failed to allocate any blocks, simply return the error. * This is the usual case and avoids the need to fsync the file. From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 20:16:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94A0010656E7; Sat, 16 Jul 2011 20:16:50 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2EA718FC0C; Sat, 16 Jul 2011 20:16:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GKGoaL042685; Sat, 16 Jul 2011 20:16:50 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GKGoah042682; Sat, 16 Jul 2011 20:16:50 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107162016.p6GKGoah042682@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 16 Jul 2011 20:16:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224114 - head/sys/ia64/ia64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 20:16:50 -0000 Author: marcel Date: Sat Jul 16 20:16:49 2011 New Revision: 224114 URL: http://svn.freebsd.org/changeset/base/224114 Log: Don't send EOI to the CPU before we handled the interrupt. This could potentially trigger multiple pending interrupts for level-sensitive interrupts. However, the event timer interrupt does need EOI before being handled to avoid missing clock events. These conflicting requirements are handled by having the XIV handler inform the dispatch code whether or not it send EOI to the CPU. If not, the dispatch code will do it. This allows handlers to send EOI before doing potentially long-running activities, while still have a sensible default behaviour. Modified: head/sys/ia64/ia64/clock.c head/sys/ia64/ia64/interrupt.c Modified: head/sys/ia64/ia64/clock.c ============================================================================== --- head/sys/ia64/ia64/clock.c Sat Jul 16 20:03:23 2011 (r224113) +++ head/sys/ia64/ia64/clock.c Sat Jul 16 20:16:49 2011 (r224114) @@ -91,12 +91,14 @@ ia64_ih_clock(struct thread *td, u_int x ia64_set_itm(itc + load); } else ia64_set_itv((1 << 16) | xiv); + + ia64_set_eoi(0); ia64_srlz_d(); et = &ia64_clock_et; if (et->et_active) et->et_event_cb(et, et->et_arg); - return (0); + return (1); } /* Modified: head/sys/ia64/ia64/interrupt.c ============================================================================== --- head/sys/ia64/ia64/interrupt.c Sat Jul 16 20:03:23 2011 (r224113) +++ head/sys/ia64/ia64/interrupt.c Sat Jul 16 20:16:49 2011 (r224114) @@ -320,11 +320,12 @@ ia64_handle_intr(struct trapframe *tf) td->td_intr_frame = tf; do { - ia64_set_eoi(0); - ia64_srlz_d(); CTR2(KTR_INTR, "INTR: ITC=%u, XIV=%u", (u_int)tf->tf_special.ifa, xiv); - (ia64_handler[xiv])(td, xiv, tf); + if (!(ia64_handler[xiv])(td, xiv, tf)) { + ia64_set_eoi(0); + ia64_srlz_d(); + } xiv = ia64_get_ivr(); ia64_srlz_d(); } while (xiv != 15); From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 20:31:30 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35061106566B; Sat, 16 Jul 2011 20:31:30 +0000 (UTC) (envelope-from jchandra@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2343B8FC13; Sat, 16 Jul 2011 20:31:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GKVUH6043163; Sat, 16 Jul 2011 20:31:30 GMT (envelope-from jchandra@svn.freebsd.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GKVTNM043146; Sat, 16 Jul 2011 20:31:29 GMT (envelope-from jchandra@svn.freebsd.org) Message-Id: <201107162031.p6GKVTNM043146@svn.freebsd.org> From: "Jayachandran C." Date: Sat, 16 Jul 2011 20:31:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224115 - in head/sys: conf mips/conf mips/include mips/mips mips/nlm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 20:31:30 -0000 Author: jchandra Date: Sat Jul 16 20:31:29 2011 New Revision: 224115 URL: http://svn.freebsd.org/changeset/base/224115 Log: MIPS changes for Netlogic XLP support. This patch adds support for the Netlogic XLP mips64 processors in the common MIPS code. The changes are : - Add CPU_NLM processor type - Add cases for CPU_NLM, mostly were CPU_RMI is used. - Update cache flush changes for CPU_NLM - Add kernel build configuration files for xLP. In collaboration with: Prabhath Raman Approved by: bz(re), jmallett, imp(mips) Added: head/sys/mips/conf/XLP (contents, props changed) head/sys/mips/conf/XLP64 (contents, props changed) head/sys/mips/conf/XLPN32 (contents, props changed) Modified: head/sys/conf/options.mips head/sys/mips/include/bus.h head/sys/mips/include/cpufunc.h head/sys/mips/include/intr_machdep.h head/sys/mips/mips/cache.c head/sys/mips/mips/cache_mipsNN.c head/sys/mips/mips/cpu.c head/sys/mips/mips/exception.S head/sys/mips/mips/locore.S head/sys/mips/mips/machdep.c head/sys/mips/nlm/cms.c head/sys/mips/nlm/std.xlp head/sys/mips/nlm/xlp_machdep.c Modified: head/sys/conf/options.mips ============================================================================== --- head/sys/conf/options.mips Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/conf/options.mips Sat Jul 16 20:31:29 2011 (r224115) @@ -36,6 +36,7 @@ CPU_HAVEFPU opt_global.h CPU_SB1 opt_global.h CPU_CNMIPS opt_global.h CPU_RMI opt_global.h +CPU_NLM opt_global.h ISA_MIPS1 opt_cputype.h ISA_MIPS3 opt_cputype.h Added: head/sys/mips/conf/XLP ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/XLP Sat Jul 16 20:31:29 2011 (r224115) @@ -0,0 +1,93 @@ +# XLP -- Generic kernel configuration file for FreeBSD/mips +# +# For more information on this file, please read the handbook section on +# Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +machine mips mipseb +ident XLP + +options ISA_MIPS32 +makeoptions KERNLOADADDR=0x80100000 + +include "../nlm/std.xlp" +makeoptions MODULES_OVERRIDE="" +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +#profile 2 +makeoptions TRAMPLOADADDR=0xffffffff85000000 +makeoptions TRAMP_ARCH_FLAGS="-mabi=64 -march=mips64" + +options SCHED_ULE # ULE scheduler +#options VERBOSE_SYSINIT +#options SCHED_4BSD # 4BSD scheduler +options SMP +options PREEMPTION # Enable kernel thread preemption +#options FULL_PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options FFS # Berkeley Fast Filesystem +#options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options NFSCL +options NFS_ROOT +options MSDOSFS #MSDOS Filesystem +# +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=nlge0 +#options BOOTP_COMPAT +#options ROOTDEVNAME=\"nfs:10.1.1.8:/usr/extra/nfsroot\" +# +options MD_ROOT # MD is a potential root device +options MD_ROOT_SIZE=27000 +options ROOTDEVNAME=\"ufs:md0\" +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options HZ=1000 +options NO_SWAPPING + +#Debugging options +options KTRACE # ktrace(1) support +options DDB +options KDB +options GDB +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER +#options DEADLKRES #Enable the deadlock resolver +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options KTR # ktr(4) and ktrdump(8) support +#options KTR_COMPILE=(KTR_LOCK|KTR_PROC|KTR_INTR|KTR_CALLOUT|KTR_UMA|KTR_SYSC) +#options KTR_ENTRIES=131072 +#options LOCK_DEBUG +#options LOCK_PROFILING + + +# Pseudo +device loop +device random +device md +device pty +device bpf + +# UART +device uart + +# Network +device ether Added: head/sys/mips/conf/XLP64 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/XLP64 Sat Jul 16 20:31:29 2011 (r224115) @@ -0,0 +1,95 @@ +# XLP64 -- Generic kernel configuration file for FreeBSD/mips +# +# For more information on this file, please read the handbook section on +# Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +machine mips mips64eb +ident XLP64 + +options ISA_MIPS64 +makeoptions ARCH_FLAGS="-march=mips64 -mabi=64" +makeoptions KERNLOADADDR=0xffffffff80100000 + +include "../nlm/std.xlp" + +makeoptions MODULES_OVERRIDE="" +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +#profile 2 +makeoptions TRAMPLOADADDR=0xffffffff85000000 +makeoptions TRAMP_ARCH_FLAGS="-mabi=64 -march=mips64" + +options SCHED_ULE # ULE scheduler +#options VERBOSE_SYSINIT +#options SCHED_4BSD # 4BSD scheduler +options SMP +options PREEMPTION # Enable kernel thread preemption +#options FULL_PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options FFS # Berkeley Fast Filesystem +#options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options NFSCL +options NFS_ROOT +options MSDOSFS #MSDOS Filesystem +# +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=nlge0 +#options BOOTP_COMPAT +#options ROOTDEVNAME=\"nfs:10.1.1.8:/usr/extra/nfsroot\" +# +options MD_ROOT # MD is a potential root device +options MD_ROOT_SIZE=27000 +options ROOTDEVNAME=\"ufs:md0\" +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options HZ=1000 +options NO_SWAPPING + +#Debugging options +options KTRACE # ktrace(1) support +options DDB +options KDB +options GDB +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER +#options DEADLKRES #Enable the deadlock resolver +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options KTR # ktr(4) and ktrdump(8) support +#options KTR_COMPILE=(KTR_LOCK|KTR_PROC|KTR_INTR|KTR_CALLOUT|KTR_UMA|KTR_SYSC) +#options KTR_ENTRIES=131072 +#options LOCK_DEBUG +#options LOCK_PROFILING + + +# Pseudo +device loop +device random +device md +device pty +device bpf + +# UART +device uart + +# Network +device ether Added: head/sys/mips/conf/XLPN32 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/XLPN32 Sat Jul 16 20:31:29 2011 (r224115) @@ -0,0 +1,94 @@ +# XLPN32 -- Generic kernel configuration file for FreeBSD/mips +# +# For more information on this file, please read the handbook section on +# Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +machine mips mipsn32eb +ident XLPN32 + +options ISA_MIPS64 +makeoptions ARCH_FLAGS="-march=mips64 -mabi=n32" +makeoptions KERNLOADADDR=0x80100000 + +include "../nlm/std.xlp" +makeoptions MODULES_OVERRIDE="" +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +#profile 2 +makeoptions TRAMPLOADADDR=0xffffffff85000000 +makeoptions TRAMP_ARCH_FLAGS="-mabi=64 -march=mips64" + +options SCHED_ULE # ULE scheduler +#options VERBOSE_SYSINIT +#options SCHED_4BSD # 4BSD scheduler +options SMP +options PREEMPTION # Enable kernel thread preemption +#options FULL_PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options FFS # Berkeley Fast Filesystem +#options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options NFSCL +options NFS_ROOT +options MSDOSFS #MSDOS Filesystem +# +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=nlge0 +#options BOOTP_COMPAT +#options ROOTDEVNAME=\"nfs:10.1.1.8:/usr/extra/nfsroot\" +# +options MD_ROOT # MD is a potential root device +options MD_ROOT_SIZE=27000 +options ROOTDEVNAME=\"ufs:md0\" +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options HZ=1000 +options NO_SWAPPING + +#Debugging options +options KTRACE # ktrace(1) support +options DDB +options KDB +options GDB +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER +#options DEADLKRES #Enable the deadlock resolver +#options INVARIANTS #Enable calls of extra sanity checking +#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options KTR # ktr(4) and ktrdump(8) support +#options KTR_COMPILE=(KTR_LOCK|KTR_PROC|KTR_INTR|KTR_CALLOUT|KTR_UMA|KTR_SYSC) +#options KTR_ENTRIES=131072 +#options LOCK_DEBUG +#options LOCK_PROFILING + + +# Pseudo +device loop +device random +device md +device pty +device bpf + +# UART +device uart + +# Network +device ether Modified: head/sys/mips/include/bus.h ============================================================================== --- head/sys/mips/include/bus.h Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/include/bus.h Sat Jul 16 20:31:29 2011 (r224115) @@ -721,7 +721,7 @@ void __bs_c(f,_bs_c_8) (void *t, bus_spa DECLARE_BUS_SPACE_PROTOTYPES(generic); extern bus_space_tag_t mips_bus_space_generic; /* Special bus space for RMI processors */ -#ifdef CPU_RMI +#if defined(CPU_RMI) || defined (CPU_NLM) extern bus_space_tag_t rmi_bus_space; extern bus_space_tag_t rmi_pci_bus_space; #endif Modified: head/sys/mips/include/cpufunc.h ============================================================================== --- head/sys/mips/include/cpufunc.h Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/include/cpufunc.h Sat Jul 16 20:31:29 2011 (r224115) @@ -254,6 +254,10 @@ MIPS_RW32_COP0_SEL(config3, MIPS_COP_0_C #ifdef CPU_CNMIPS MIPS_RW32_COP0_SEL(config4, MIPS_COP_0_CONFIG, 4); #endif +#ifdef CPU_NLM +MIPS_RW32_COP0_SEL(config6, MIPS_COP_0_CONFIG, 6); +MIPS_RW32_COP0_SEL(config7, MIPS_COP_0_CONFIG, 7); +#endif MIPS_RW32_COP0(count, MIPS_COP_0_COUNT); MIPS_RW32_COP0(index, MIPS_COP_0_TLB_INDEX); MIPS_RW32_COP0(wired, MIPS_COP_0_TLB_WIRED); Modified: head/sys/mips/include/intr_machdep.h ============================================================================== --- head/sys/mips/include/intr_machdep.h Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/include/intr_machdep.h Sat Jul 16 20:31:29 2011 (r224115) @@ -29,7 +29,7 @@ #ifndef _MACHINE_INTR_MACHDEP_H_ #define _MACHINE_INTR_MACHDEP_H_ -#ifdef CPU_RMI +#if defined(CPU_RMI) || defined(CPU_NLM) #define XLR_MAX_INTR 64 #else #define NHARD_IRQS 6 Modified: head/sys/mips/mips/cache.c ============================================================================== --- head/sys/mips/mips/cache.c Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/mips/cache.c Sat Jul 16 20:31:29 2011 (r224115) @@ -80,6 +80,11 @@ __FBSDID("$FreeBSD$"); struct mips_cache_ops mips_cache_ops; +static void +cache_noop(vm_offset_t va, vm_size_t size) +{ +} + void mips_config_cache(struct mips_cpuinfo * cpuinfo) { @@ -94,8 +99,13 @@ mips_config_cache(struct mips_cpuinfo * break; case 32: mips_cache_ops.mco_icache_sync_all = mipsNN_icache_sync_all_32; +#ifdef CPU_NLM + mips_cache_ops.mco_icache_sync_range = + mipsNN_icache_sync_range_index_32; +#else mips_cache_ops.mco_icache_sync_range = mipsNN_icache_sync_range_32; +#endif mips_cache_ops.mco_icache_sync_range_index = mipsNN_icache_sync_range_index_32; break; @@ -143,16 +153,26 @@ mips_config_cache(struct mips_cpuinfo * mips_cache_ops.mco_pdcache_wbinv_all = mips_cache_ops.mco_intern_pdcache_wbinv_all = mipsNN_pdcache_wbinv_all_32; +#ifdef CPU_NLM + mips_cache_ops.mco_pdcache_wbinv_range = + mipsNN_pdcache_wbinv_range_index_32; +#else mips_cache_ops.mco_pdcache_wbinv_range = mipsNN_pdcache_wbinv_range_32; +#endif mips_cache_ops.mco_pdcache_wbinv_range_index = mips_cache_ops.mco_intern_pdcache_wbinv_range_index = mipsNN_pdcache_wbinv_range_index_32; mips_cache_ops.mco_pdcache_inv_range = mipsNN_pdcache_inv_range_32; +#if defined(CPU_RMI) || defined(CPU_NLM) + mips_cache_ops.mco_pdcache_wb_range = + mips_cache_ops.mco_intern_pdcache_wb_range = cache_noop; +#else mips_cache_ops.mco_pdcache_wb_range = mips_cache_ops.mco_intern_pdcache_wb_range = mipsNN_pdcache_wb_range_32; +#endif break; #ifdef CPU_CNMIPS case 128: Modified: head/sys/mips/mips/cache_mipsNN.c ============================================================================== --- head/sys/mips/mips/cache_mipsNN.c Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/mips/cache_mipsNN.c Sat Jul 16 20:31:29 2011 (r224115) @@ -54,15 +54,36 @@ __FBSDID("$FreeBSD$"); #define round_line32(x) (((x) + 31) & ~31) #define trunc_line32(x) ((x) & ~31) +#if defined(CPU_NLM) +static __inline void +xlp_sync(void) +{ + __asm __volatile ( + ".set push \n" + ".set noreorder \n" + ".set mips64 \n" + "dla $8, 1f \n" + "/* jr.hb $8 */ \n" + ".word 0x1000408 \n" + "nop \n" + "1: nop \n" + ".set pop \n" + : : : "$8"); +} +#endif -#ifdef SB1250_PASS1 +#if defined(SB1250_PASS1) #define SYNC __asm volatile("sync; sync") +#elif defined(CPU_NLM) +#define SYNC xlp_sync() #else #define SYNC __asm volatile("sync") #endif -#ifdef CPU_CNMIPS +#if defined(CPU_CNMIPS) #define SYNCI mips_sync_icache(); +#elif defined(CPU_NLM) +#define SYNCI xlp_sync() #else #define SYNCI #endif Modified: head/sys/mips/mips/cpu.c ============================================================================== --- head/sys/mips/mips/cpu.c Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/mips/cpu.c Sat Jul 16 20:31:29 2011 (r224115) @@ -101,8 +101,14 @@ mips_get_identity(struct mips_cpuinfo *c /* Learn TLB size and L1 cache geometry. */ cfg1 = mips_rd_config1(); +#ifndef CPU_NLM cpuinfo->tlb_nentries = ((cfg1 & MIPS_CONFIG1_TLBSZ_MASK) >> MIPS_CONFIG1_TLBSZ_SHIFT) + 1; +#else + /* Account for Extended TLB entries in XLP */ + tmp = mips_rd_config6(); + cpuinfo->tlb_nentries = ((tmp >> 16) & 0xffff) + 1; +#endif /* Add extended TLB size information from config4. */ #if defined(CPU_CNMIPS) Modified: head/sys/mips/mips/exception.S ============================================================================== --- head/sys/mips/mips/exception.S Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/mips/exception.S Sat Jul 16 20:31:29 2011 (r224115) @@ -228,7 +228,7 @@ SlowFault: and a0, a0, a2 ; \ mtc0 a0, MIPS_COP_0_STATUS ; \ ITLBNOPFIX -#elif defined(CPU_RMI) +#elif defined(CPU_RMI) || defined(CPU_NLM) #define CLEAR_STATUS \ mfc0 a0, MIPS_COP_0_STATUS ;\ li a2, (MIPS_SR_KX | MIPS_SR_UX | MIPS_SR_COP_2_BIT) ; \ @@ -470,7 +470,7 @@ NNON_LEAF(MipsUserGenException, CALLFRAM and t0, a0, ~(MIPS_SR_COP_1_BIT | MIPS_SR_EXL | MIPS3_SR_KSU_MASK | MIPS_SR_INT_IE) #if defined(CPU_CNMIPS) or t0, t0, (MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX | MIPS_SR_PX) -#elif defined(CPU_RMI) +#elif defined(CPU_RMI) || defined(CPU_NLM) or t0, t0, (MIPS_SR_KX | MIPS_SR_UX | MIPS_SR_COP_2_BIT) #endif mtc0 t0, MIPS_COP_0_STATUS @@ -688,7 +688,7 @@ NNON_LEAF(MipsUserIntr, CALLFRAME_SIZ, r and t0, a0, ~(MIPS_SR_COP_1_BIT | MIPS_SR_EXL | MIPS_SR_INT_IE | MIPS3_SR_KSU_MASK) #ifdef CPU_CNMIPS or t0, t0, (MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX | MIPS_SR_PX) -#elif defined(CPU_RMI) +#elif defined(CPU_RMI) || defined(CPU_NLM) or t0, t0, (MIPS_SR_KX | MIPS_SR_UX | MIPS_SR_COP_2_BIT) #endif mtc0 t0, MIPS_COP_0_STATUS Modified: head/sys/mips/mips/locore.S ============================================================================== --- head/sys/mips/mips/locore.S Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/mips/locore.S Sat Jul 16 20:31:29 2011 (r224115) @@ -99,7 +99,7 @@ VECTOR(_locore, unknown) /* Reset these bits */ li t0, ~(MIPS_SR_DE | MIPS_SR_SOFT_RESET | MIPS_SR_ERL | MIPS_SR_EXL | MIPS_SR_INT_IE) -#elif defined (CPU_RMI) +#elif defined (CPU_RMI) || defined (CPU_NLM) /* Set these bits */ li t1, (MIPS_SR_COP_2_BIT | MIPS_SR_COP_0_BIT | MIPS_SR_KX | MIPS_SR_UX) Modified: head/sys/mips/mips/machdep.c ============================================================================== --- head/sys/mips/mips/machdep.c Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/mips/machdep.c Sat Jul 16 20:31:29 2011 (r224115) @@ -338,7 +338,7 @@ mips_vector_init(void) bcopy(MipsTLBMiss, (void *)MIPS_UTLB_MISS_EXC_VEC, MipsTLBMissEnd - MipsTLBMiss); -#if defined(CPU_CNMIPS) || defined(CPU_RMI) +#if defined(CPU_CNMIPS) || defined(CPU_RMI) || defined(CPU_NLM) /* Fake, but sufficient, for the 32-bit with 64-bit hardware addresses */ bcopy(MipsTLBMiss, (void *)MIPS3_XTLB_MISS_EXC_VEC, MipsTLBMissEnd - MipsTLBMiss); Modified: head/sys/mips/nlm/cms.c ============================================================================== --- head/sys/mips/nlm/cms.c Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/nlm/cms.c Sat Jul 16 20:31:29 2011 (r224115) @@ -257,13 +257,14 @@ xlp_handle_msg_vc(int vc, int max_msgs) continue; } he = &msgmap[srcid]; - if(he->action == NULL) { + if(he->action != NULL) + (he->action)(vc, size, code, srcid, &msg, he->arg); +#if 0 /* debug */ + else printf("[%s]: No Handler for message from stn_id=%d," " vc=%d, size=%d, msg0=%jx, dropping message\n", __func__, srcid, vc, size, (uintmax_t)msg.msg[0]); - continue; - } - (he->action)(vc, size, code, srcid, &msg, he->arg); +#endif } return (i); Modified: head/sys/mips/nlm/std.xlp ============================================================================== --- head/sys/mips/nlm/std.xlp Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/nlm/std.xlp Sat Jul 16 20:31:29 2011 (r224115) @@ -1,12 +1,4 @@ # $FreeBSD$ files "../nlm/files.xlp" -cpu CPU_NLMXLP +cpu CPU_NLM -# -# XXXMIPS: It's a stub, isn't it? -# -#option HW_PAGEWALKER -#option MMU_HASH_MODE # enables hash based lookup into extended TLBs -#option MMU_CLOCK_GATING # enables clock gating on MMU -#option MMU_GLOBAL_MODE # enables global mode of sharing all TLBs with all h/w threads -#option NOFPU Modified: head/sys/mips/nlm/xlp_machdep.c ============================================================================== --- head/sys/mips/nlm/xlp_machdep.c Sat Jul 16 20:16:49 2011 (r224114) +++ head/sys/mips/nlm/xlp_machdep.c Sat Jul 16 20:31:29 2011 (r224115) @@ -214,8 +214,7 @@ xlp_parse_mmu_options(void) unsupp: printf("ERROR : Unsupported CPU mask [use 1,2 or 4 threads per core].\n" - "\tcore0 thread mask [%lx], boot cpu mask [%lx]\n" - "\tUsing default, 16 TLB entries per CPU, split mode\n", + "\tcore0 thread mask [%lx], boot cpu mask [%lx].\n", (u_long)core0_thr_mask, (u_long)cpu_map); panic("Invalid CPU mask - halting.\n"); return; @@ -495,8 +494,6 @@ platform_start(__register_t a0 __unused, xlp_pic_init(); mips_timer_init_params(xlp_cpu_frequency, 0); - - printf("Platform specific startup now completes\n"); } void @@ -630,6 +627,7 @@ platform_ipi_intrnum(void) void platform_ipi_send(int cpuid) { + nlm_pic_send_ipi(xlp_pic_base, 0, xlp_cpuid_to_hwtid[cpuid], platform_ipi_intrnum(), 0); } From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 20:34:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9173106566B; Sat, 16 Jul 2011 20:34:02 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8FCC68FC0A; Sat, 16 Jul 2011 20:34:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GKY2ZN043281; Sat, 16 Jul 2011 20:34:02 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GKY2bd043279; Sat, 16 Jul 2011 20:34:02 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201107162034.p6GKY2bd043279@svn.freebsd.org> From: Marcel Moolenaar Date: Sat, 16 Jul 2011 20:34:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224116 - head/sys/ia64/ia64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 20:34:02 -0000 Author: marcel Date: Sat Jul 16 20:34:02 2011 New Revision: 224116 URL: http://svn.freebsd.org/changeset/base/224116 Log: Don't assume pmap_mapdev() gets called only for memory mapped I/O addresses (i.e. uncacheable). ACPI in particular uses pmap_mapdev() rather excessively (number of calls) just to get a valid KVA. To that end, have pmap_mapdev(): 1. cache the last result so that we don't waste time for multiple consecutive invocations with the same PA/SZ. 2. find the memory descriptor that covers the PA and return NULL if none was found or when the PA is for a common DRAM address. 3. Use either a region 6 or region 7 KVA, in accordance with the memory attribute. Modified: head/sys/ia64/ia64/pmap.c Modified: head/sys/ia64/ia64/pmap.c ============================================================================== --- head/sys/ia64/ia64/pmap.c Sat Jul 16 20:31:29 2011 (r224115) +++ head/sys/ia64/ia64/pmap.c Sat Jul 16 20:34:02 2011 (r224116) @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -2235,12 +2236,37 @@ pmap_remove_write(vm_page_t m) * NOT real memory. */ void * -pmap_mapdev(vm_paddr_t pa, vm_size_t size) +pmap_mapdev(vm_paddr_t pa, vm_size_t sz) { + static void *last_va = NULL; + static vm_paddr_t last_pa = 0; + static vm_size_t last_sz = 0; + struct efi_md *md; vm_offset_t va; - va = pa | IA64_RR_BASE(6); - return ((void *)va); + if (pa == last_pa && sz == last_sz) + return (last_va); + + md = efi_md_find(pa); + if (md == NULL) { + printf("%s: [%#lx..%#lx] not covered by memory descriptor\n", + __func__, pa, pa + sz - 1); + return (NULL); + } + + if (md->md_type == EFI_MD_TYPE_FREE) { + printf("%s: [%#lx..%#lx] is in DRAM\n", __func__, pa, + pa + sz - 1); + return (NULL); + } + + va = (md->md_attr & EFI_MD_ATTR_WB) ? IA64_PHYS_TO_RR7(pa) : + IA64_PHYS_TO_RR6(pa); + + last_va = (void *)va; + last_pa = pa; + last_sz = sz; + return (last_va); } /* From owner-svn-src-all@FreeBSD.ORG Sat Jul 16 20:53:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57599106564A; Sat, 16 Jul 2011 20:53:28 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 477788FC08; Sat, 16 Jul 2011 20:53:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GKrScX043893; Sat, 16 Jul 2011 20:53:28 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6GKrSJ3043891; Sat, 16 Jul 2011 20:53:28 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201107162053.p6GKrSJ3043891@svn.freebsd.org> From: Rick Macklem Date: Sat, 16 Jul 2011 20:53:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224117 - head/sys/fs/nfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 20:53:28 -0000 Author: rmacklem Date: Sat Jul 16 20:53:27 2011 New Revision: 224117 URL: http://svn.freebsd.org/changeset/base/224117 Log: The new NFSv4 client handled NFSERR_GRACE as a fatal error for the remove and rename operations. Some NFSv4 servers will report NFSERR_GRACE for these operations. This patch changes the behaviour of the client so that it handles NFSERR_GRACE like NFSERR_DELAY for non-state related operations like remove and rename. It also exempts the delegreturn operation from handling within newnfs_request() for NFSERR_DELAY/NFSERR_GRACE so that it can handle NFSERR_GRACE in the same manner as before. This problem was resolved thanks to discussion with bfields at fieldses.org. The problem was identified at the recent NFSv4 ineroperability bakeathon. MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_commonkrpc.c Modified: head/sys/fs/nfs/nfs_commonkrpc.c ============================================================================== --- head/sys/fs/nfs/nfs_commonkrpc.c Sat Jul 16 20:34:02 2011 (r224116) +++ head/sys/fs/nfs/nfs_commonkrpc.c Sat Jul 16 20:53:27 2011 (r224117) @@ -715,8 +715,10 @@ tryagain: NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); nd->nd_repstat = fxdr_unsigned(u_int32_t, *tl); if (nd->nd_repstat != 0) { - if ((nd->nd_repstat == NFSERR_DELAY && + if (((nd->nd_repstat == NFSERR_DELAY || + nd->nd_repstat == NFSERR_GRACE) && (nd->nd_flag & ND_NFSV4) && + nd->nd_procnum != NFSPROC_DELEGRETURN && nd->nd_procnum != NFSPROC_SETATTR && nd->nd_procnum != NFSPROC_READ && nd->nd_procnum != NFSPROC_WRITE &&