From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 00:00:29 2010 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 9F78A106566C; Sun, 19 Dec 2010 00:00:29 +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 8DE408FC0C; Sun, 19 Dec 2010 00:00:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJ00T13038730; Sun, 19 Dec 2010 00:00:29 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJ00TtN038728; Sun, 19 Dec 2010 00:00:29 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012190000.oBJ00TtN038728@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 19 Dec 2010 00:00: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: r216552 - 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: Sun, 19 Dec 2010 00:00:29 -0000 Author: yongari Date: Sun Dec 19 00:00:29 2010 New Revision: 216552 URL: http://svn.freebsd.org/changeset/base/216552 Log: Document JMC251/JMC261 support. Modified: head/share/man/man4/jme.4 Modified: head/share/man/man4/jme.4 ============================================================================== --- head/share/man/man4/jme.4 Sat Dec 18 23:52:50 2010 (r216551) +++ head/share/man/man4/jme.4 Sun Dec 19 00:00:29 2010 (r216552) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 6, 2008 +.Dd December 18, 2010 .Dt JME 4 .Os .Sh NAME @@ -48,8 +48,8 @@ if_jme_load="YES" .Sh DESCRIPTION The .Nm -device driver provides support for JMicron JMC250 PCI Express -Gigabit Ethernet controllers and JMicron JMC260 PCI Express Fast +device driver provides support for JMicron JMC25x PCI Express +Gigabit Ethernet controllers and JMicron JMC26x PCI Express Fast Ethernet controllers. .Pp All LOMs supported by the @@ -59,7 +59,7 @@ TCP segmentation offload (TSO), hardware features, Wake On Lan (WOL) and an interrupt coalescing/moderation mechanism as well as a 64-bit multicast hash filter. .Pp -The JMC250 also supports Jumbo Frames (up to 9216 bytes), which can be +The JMC25x also supports Jumbo Frames (up to 9216 bytes), which can be configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the .Xr ifconfig 8 @@ -103,7 +103,11 @@ device driver provides support for the f .It JMicron JMC250 PCI Express Gigabit Ethernet controller .It +JMicron JMC251 PCI Express Gigabit Ethernet with Card Read Host controller +.It JMicron JMC260 PCI Express Fast Ethernet controller +.It +JMicron JMC261 PCI Express Gigabit Ethernet with Card Read Host controller .El .Sh LOADER TUNABLES Tunables can be set at the From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 00:16:19 2010 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 B59E81065670 for ; Sun, 19 Dec 2010 00:16:19 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx23.fluidhosting.com [204.14.89.6]) by mx1.freebsd.org (Postfix) with ESMTP id 5EF068FC0C for ; Sun, 19 Dec 2010 00:16:19 +0000 (UTC) Received: (qmail 17955 invoked by uid 399); 19 Dec 2010 00:16:18 -0000 Received: from localhost (HELO doug-optiplex.ka9q.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 19 Dec 2010 00:16:18 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4D0D4ED0.2050903@FreeBSD.org> Date: Sat, 18 Dec 2010 16:16:16 -0800 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.13) Gecko/20101210 Thunderbird/3.1.7 MIME-Version: 1.0 To: Alexander Leidinger References: <201008191324.o7JDOEtY005222@svn.freebsd.org> In-Reply-To: <201008191324.o7JDOEtY005222@svn.freebsd.org> X-Enigmail-Version: 1.1.2 OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r211506 - stable/8/etc/periodic/daily 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, 19 Dec 2010 00:16:19 -0000 This should not have been done. It added a bunch of extraneous mergeinfo in the RELENG_8 etc branch. This change was important, but not so important that it didn't warrant asking for help to get the merge right. Doug On 08/19/2010 06:24, Alexander Leidinger wrote: > Author: netchild > Date: Thu Aug 19 13:24:13 2010 > New Revision: 211506 > URL: http://svn.freebsd.org/changeset/base/211506 > > Log: > sort of MFC: r211495 was supposed to add this script from HEAD, and while > the merge seems to have been successful, the script does not show up > in releng-8. This is a "svn copy head/.../800.zfs-scrub ." as retrying > the svn merge does not result in the file showing up. This may not be > the best way to fix the problem in svn, but it is the only way I'm aware of > to fix the stable branch (which is IMO more important than to use a potential > best way I'm not aware of). > > Relevant commit log for this file (r209195): > Add a periodic zfs scrub script. > > Features: > - configurable amount of days between scrubs (default value or per pool) > - do not scrub directly after pool creation (respects the configured > number of days between scrubs) > - do not scrub if a scrub is in progress > - tells how to see the status of the scrub > - tells how many days since the last scrub if it skips the scrubbing > - warns if a non-existent pool is specified explicitely > (default: no pools specified -> all currently imported pools are > handled) > - runs late in the periodic run to not slow down the other periodic daily > scripts > > Added: > - copied unchanged from r211505, head/etc/periodic/daily/800.scrub-zfs > Directory Properties: > stable/8/etc/periodic/daily/800.scrub-zfs (props changed) > > Copied: stable/8/etc/periodic/daily/800.scrub-zfs (from r211505, head/etc/periodic/daily/800.scrub-zfs) > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ stable/8/etc/periodic/daily/800.scrub-zfs Thu Aug 19 13:24:13 2010 (r211506, copy of r211505, head/etc/periodic/daily/800.scrub-zfs) > @@ -0,0 +1,86 @@ > +#!/bin/sh > +# > +# $FreeBSD$ > +# > + > +# If there is a global system configuration file, suck it in. > +# > +if [ -r /etc/defaults/periodic.conf ] > +then > + . /etc/defaults/periodic.conf > + source_periodic_confs > +fi > + > +: ${daily_scrub_zfs_default_threshold=30} > + > +case "$daily_scrub_zfs_enable" in > + [Yy][Ee][Ss]) > + echo > + echo 'Scrubbing of zfs pools:' > + > + if [ -z "${daily_scrub_zfs_pools}" ]; then > + daily_scrub_zfs_pools="$(zpool list -H -o name)" > + fi > + > + for pool in ${daily_scrub_zfs_pools}; do > + # sanity check > + zpool list ${pool}>/dev/null 2>&1 > + if [ $? -ne 0 ]; then > + echo " WARNING: pool '${pool}' specified in" > + echo " '/etc/periodic.conf:daily_scrub_zfs_pools'" > + echo " does not exist" > + continue > + fi > + > + # successful only if there is at least one pool to scrub > + rc=0 > + > + # determine how many days shall be between scrubs > + eval _pool_threshold=\${daily_scrub_zfs_${pool}_threshold} > + if [ -z "${_pool_threshold}" ];then > + _pool_threshold=${daily_scrub_zfs_default_threshold} > + fi > + > + _last_scrub=$(zpool history ${pool} | \ > + egrep "^[0-9\.\:\-]{19} zpool scrub ${pool}\$" | tail -1 |\ > + cut -d ' ' -f 1) > + if [ -z "${_last_scrub}" ]; then > + # creation time of the pool if no scrub was done > + _last_scrub=$(zpool history ${pool} | \ > + sed -ne '2s/ .*$//p') > + fi > + > + # Now minus last scrub (both in seconds) converted to days. > + _scrub_diff=$(expr -e \( $(date +%s) - \ > + $(date -j -f %F.%T ${_last_scrub} +%s) \) / 60 / 60 / 24) > + if [ ${_scrub_diff} -le ${_pool_threshold} ]; then > + echo " skipping scrubbing of pool '${pool}':" > + echo " last scrubbing is ${_scrub_diff} days ago, threshold is set to ${_pool_threshold} days" > + continue > + fi > + > + _status="$(zpool status ${pool} | grep scrub:)" > + case "${_status}" in > + *"scrub in progress"*) > + echo " scrubbing of pool '${pool}' already in progress, skipping:" > + ;; > + *"none requested"*) > + echo " starting first scrubbing (after reboot) of pool '${pool}':" > + zpool scrub ${pool} > + ;; > + *) > + echo " starting scrubbing of pool '${pool}':" > + zpool scrub ${pool} > + ;; > + esac > + > + echo " consult 'zpool status ${pool}' for the result" > + done > + ;; > + > + *) > + rc=0 > + ;; > +esac > + > +exit $rc > -- 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 Dec 19 06:07:36 2010 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 20E7D106564A; Sun, 19 Dec 2010 06:07:36 +0000 (UTC) (envelope-from mlaier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0ED858FC1A; Sun, 19 Dec 2010 06:07:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJ67Z1Y061029; Sun, 19 Dec 2010 06:07:35 GMT (envelope-from mlaier@svn.freebsd.org) Received: (from mlaier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJ67Zqb061026; Sun, 19 Dec 2010 06:07:35 GMT (envelope-from mlaier@svn.freebsd.org) Message-Id: <201012190607.oBJ67Zqb061026@svn.freebsd.org> From: Max Laier Date: Sun, 19 Dec 2010 06:07:35 +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: r216553 - 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: Sun, 19 Dec 2010 06:07:36 -0000 Author: mlaier Date: Sun Dec 19 06:07:35 2010 New Revision: 216553 URL: http://svn.freebsd.org/changeset/base/216553 Log: MFC r216335: Fix a long standing (from the original 4.4BSD lite sources) race between vmspace_fork and vm_map_wire that would lead to "vm_fault_copy_wired: page missing" panics. While faulting in pages for a map entry that is being wired down, mark the containing map as busy. In vmspace_fork wait until the map is unbusy, before we try to copy the entries. Sponsored by: Isilon Systems, Inc. Approved by: re (kib) Modified: stable/8/sys/vm/vm_map.c stable/8/sys/vm/vm_map.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/vm/vm_map.c ============================================================================== --- stable/8/sys/vm/vm_map.c Sun Dec 19 00:00:29 2010 (r216552) +++ stable/8/sys/vm/vm_map.c Sun Dec 19 06:07:35 2010 (r216553) @@ -678,6 +678,41 @@ vm_map_wakeup(vm_map_t map) wakeup(&map->root); } +void +vm_map_busy(vm_map_t map) +{ + + VM_MAP_ASSERT_LOCKED(map); + map->busy++; +} + +void +vm_map_unbusy(vm_map_t map) +{ + + VM_MAP_ASSERT_LOCKED(map); + KASSERT(map->busy, ("vm_map_unbusy: not busy")); + if (--map->busy == 0 && (map->flags & MAP_BUSY_WAKEUP)) { + vm_map_modflags(map, 0, MAP_BUSY_WAKEUP); + wakeup(&map->busy); + } +} + +void +vm_map_wait_busy(vm_map_t map) +{ + + VM_MAP_ASSERT_LOCKED(map); + while (map->busy) { + vm_map_modflags(map, MAP_BUSY_WAKEUP, 0); + if (map->system_map) + msleep(&map->busy, &map->system_mtx, 0, "mbusy", 0); + else + sx_sleep(&map->busy, &map->lock, 0, "mbusy", 0); + } + map->timestamp++; +} + long vmspace_resident_count(struct vmspace *vmspace) { @@ -726,6 +761,7 @@ _vm_map_init(vm_map_t map, vm_offset_t m map->flags = 0; map->root = NULL; map->timestamp = 0; + map->busy = 0; } void @@ -2398,12 +2434,14 @@ vm_map_wire(vm_map_t map, vm_offset_t st entry->object.vm_object->type == OBJT_SG); /* * Release the map lock, relying on the in-transition - * mark. + * mark. Mark the map busy for fork. */ + vm_map_busy(map); vm_map_unlock(map); rv = vm_fault_wire(map, saved_start, saved_end, user_wire, fictitious); vm_map_lock(map); + vm_map_unbusy(map); if (last_timestamp + 1 != map->timestamp) { /* * Look again for the entry because the map was @@ -3011,6 +3049,8 @@ vmspace_fork(struct vmspace *vm1, vm_oof int locked; vm_map_lock(old_map); + if (old_map->busy) + vm_map_wait_busy(old_map); vm2 = vmspace_alloc(old_map->min_offset, old_map->max_offset); if (vm2 == NULL) goto unlock_and_return; Modified: stable/8/sys/vm/vm_map.h ============================================================================== --- stable/8/sys/vm/vm_map.h Sun Dec 19 00:00:29 2010 (r216552) +++ stable/8/sys/vm/vm_map.h Sun Dec 19 06:07:35 2010 (r216553) @@ -187,12 +187,14 @@ struct vm_map { pmap_t pmap; /* (c) Physical map */ #define min_offset header.start /* (c) */ #define max_offset header.end /* (c) */ + int busy; }; /* * vm_flags_t values */ #define MAP_WIREFUTURE 0x01 /* wire all future pages */ +#define MAP_BUSY_WAKEUP 0x02 #ifdef _KERNEL static __inline vm_offset_t @@ -275,6 +277,9 @@ int _vm_map_lock_upgrade(vm_map_t map, c void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line); int vm_map_locked(vm_map_t map); void vm_map_wakeup(vm_map_t map); +void vm_map_busy(vm_map_t map); +void vm_map_unbusy(vm_map_t map); +void vm_map_wait_busy(vm_map_t map); #define vm_map_lock(map) _vm_map_lock(map, LOCK_FILE, LOCK_LINE) #define vm_map_unlock(map) _vm_map_unlock(map, LOCK_FILE, LOCK_LINE) From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 06:09:02 2010 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 C0F5B106564A; Sun, 19 Dec 2010 06:09:02 +0000 (UTC) (envelope-from mlaier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AED698FC1B; Sun, 19 Dec 2010 06:09:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJ6925m061179; Sun, 19 Dec 2010 06:09:02 GMT (envelope-from mlaier@svn.freebsd.org) Received: (from mlaier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJ692Pq061176; Sun, 19 Dec 2010 06:09:02 GMT (envelope-from mlaier@svn.freebsd.org) Message-Id: <201012190609.oBJ692Pq061176@svn.freebsd.org> From: Max Laier Date: Sun, 19 Dec 2010 06:09:02 +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: r216554 - stable/7/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, 19 Dec 2010 06:09:03 -0000 Author: mlaier Date: Sun Dec 19 06:09:02 2010 New Revision: 216554 URL: http://svn.freebsd.org/changeset/base/216554 Log: MFC r216335: Fix a long standing (from the original 4.4BSD lite sources) race between vmspace_fork and vm_map_wire that would lead to "vm_fault_copy_wired: page missing" panics. While faulting in pages for a map entry that is being wired down, mark the containing map as busy. In vmspace_fork wait until the map is unbusy, before we try to copy the entries. Sponsored by: Isilon Systems, Inc. Approved by: re (kib) Modified: stable/7/sys/vm/vm_map.c stable/7/sys/vm/vm_map.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/vm/vm_map.c ============================================================================== --- stable/7/sys/vm/vm_map.c Sun Dec 19 06:07:35 2010 (r216553) +++ stable/7/sys/vm/vm_map.c Sun Dec 19 06:09:02 2010 (r216554) @@ -561,6 +561,56 @@ vm_map_wakeup(vm_map_t map) wakeup(&map->root); } +void +vm_map_busy(vm_map_t map) +{ + +#ifdef INVARIANTS + if (map->system_map) { + mtx_assert(&map->system_mtx, MA_OWNED); + } else + sx_assert(&map->lock, SX_XLOCKED); +#endif + map->busy++; +} + +void +vm_map_unbusy(vm_map_t map) +{ + +#ifdef INVARIANTS + if (map->system_map) { + mtx_assert(&map->system_mtx, MA_OWNED); + } else + sx_assert(&map->lock, SX_XLOCKED); +#endif + KASSERT(map->busy, ("vm_map_unbusy: not busy")); + if (--map->busy == 0 && (map->flags & MAP_BUSY_WAKEUP)) { + vm_map_modflags(map, 0, MAP_BUSY_WAKEUP); + wakeup(&map->busy); + } +} + +void +vm_map_wait_busy(vm_map_t map) +{ + +#ifdef INVARIANTS + if (map->system_map) { + mtx_assert(&map->system_mtx, MA_OWNED); + } else + sx_assert(&map->lock, SX_XLOCKED); +#endif + while (map->busy) { + vm_map_modflags(map, MAP_BUSY_WAKEUP, 0); + if (map->system_map) + msleep(&map->busy, &map->system_mtx, 0, "mbusy", 0); + else + sx_sleep(&map->busy, &map->lock, 0, "mbusy", 0); + } + map->timestamp++; +} + long vmspace_resident_count(struct vmspace *vmspace) { @@ -609,6 +659,7 @@ _vm_map_init(vm_map_t map, vm_offset_t m map->flags = 0; map->root = NULL; map->timestamp = 0; + map->busy = 0; } void @@ -2070,12 +2121,14 @@ vm_map_wire(vm_map_t map, vm_offset_t st entry->object.vm_object->type == OBJT_SG); /* * Release the map lock, relying on the in-transition - * mark. + * mark. Mark the map busy for fork. */ + vm_map_busy(map); vm_map_unlock(map); rv = vm_fault_wire(map, saved_start, saved_end, user_wire, fictitious); vm_map_lock(map); + vm_map_unbusy(map); if (last_timestamp + 1 != map->timestamp) { /* * Look again for the entry because the map was @@ -2605,6 +2658,8 @@ vmspace_fork(struct vmspace *vm1) vm_object_t object; vm_map_lock(old_map); + if (old_map->busy) + vm_map_wait_busy(old_map); vm2 = vmspace_alloc(old_map->min_offset, old_map->max_offset); if (vm2 == NULL) Modified: stable/7/sys/vm/vm_map.h ============================================================================== --- stable/7/sys/vm/vm_map.h Sun Dec 19 06:07:35 2010 (r216553) +++ stable/7/sys/vm/vm_map.h Sun Dec 19 06:09:02 2010 (r216554) @@ -194,12 +194,14 @@ struct vm_map { pmap_t pmap; /* (c) Physical map */ #define min_offset header.start /* (c) */ #define max_offset header.end /* (c) */ + int busy; }; /* * vm_flags_t values */ #define MAP_WIREFUTURE 0x01 /* wire all future pages */ +#define MAP_BUSY_WAKEUP 0x02 #ifdef _KERNEL static __inline vm_offset_t @@ -276,6 +278,9 @@ int _vm_map_lock_upgrade(vm_map_t map, c void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line); int vm_map_unlock_and_wait(vm_map_t map, boolean_t user_wait); void vm_map_wakeup(vm_map_t map); +void vm_map_busy(vm_map_t map); +void vm_map_unbusy(vm_map_t map); +void vm_map_wait_busy(vm_map_t map); #define vm_map_lock(map) _vm_map_lock(map, LOCK_FILE, LOCK_LINE) #define vm_map_unlock(map) _vm_map_unlock(map, LOCK_FILE, LOCK_LINE) From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 07:31:57 2010 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 002AF106566B; Sun, 19 Dec 2010 07:31:56 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E2C4A8FC12; Sun, 19 Dec 2010 07:31:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJ7VuWs064198; Sun, 19 Dec 2010 07:31:56 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJ7VuiB064196; Sun, 19 Dec 2010 07:31:56 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201012190731.oBJ7VuiB064196@svn.freebsd.org> From: Alan Cox Date: Sun, 19 Dec 2010 07:31: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: r216555 - head/sys/i386/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: Sun, 19 Dec 2010 07:31:57 -0000 Author: alc Date: Sun Dec 19 07:31:56 2010 New Revision: 216555 URL: http://svn.freebsd.org/changeset/base/216555 Log: Redo some parts of r216333, specifically, the locking changes to pmap_extract_and_hold(), and undo the rest. In particular, I forgot that PG_PS and PG_PTE_PAT are the same bit. Modified: head/sys/i386/i386/pmap.c Modified: head/sys/i386/i386/pmap.c ============================================================================== --- head/sys/i386/i386/pmap.c Sun Dec 19 06:09:02 2010 (r216554) +++ head/sys/i386/i386/pmap.c Sun Dec 19 07:31:56 2010 (r216555) @@ -1291,21 +1291,23 @@ pmap_pte_quick(pmap_t pmap, vm_offset_t vm_paddr_t pmap_extract(pmap_t pmap, vm_offset_t va) { - pt_entry_t pte, *ptep; vm_paddr_t rtval; + pt_entry_t *pte; + pd_entry_t pde; rtval = 0; PMAP_LOCK(pmap); - ptep = pmap_pte(pmap, va); - pte = (ptep != NULL) ? *ptep : 0; - pmap_pte_release(ptep); - PMAP_UNLOCK(pmap); - if ((pte & PG_V) != 0) { - if ((pte & PG_PS) != 0) - rtval = (pte & PG_PS_FRAME) | (va & PDRMASK); - else - rtval = (pte & PG_FRAME) | (va & PAGE_MASK); + pde = pmap->pm_pdir[va >> PDRSHIFT]; + if (pde != 0) { + if ((pde & PG_PS) != 0) + rtval = (pde & PG_PS_FRAME) | (va & PDRMASK); + else { + pte = pmap_pte(pmap, va); + rtval = (*pte & PG_FRAME) | (va & PAGE_MASK); + pmap_pte_release(pte); + } } + PMAP_UNLOCK(pmap); return (rtval); } @@ -1319,30 +1321,40 @@ pmap_extract(pmap_t pmap, vm_offset_t va vm_page_t pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot) { + pd_entry_t pde; pt_entry_t pte, *ptep; - vm_paddr_t locked_pa, pa; vm_page_t m; + vm_paddr_t pa; - locked_pa = 0; + pa = 0; m = NULL; PMAP_LOCK(pmap); retry: - ptep = pmap_pte(pmap, va); - pte = (ptep != NULL) ? *ptep : 0; - pmap_pte_release(ptep); - if ((pte & PG_V) != 0 && - ((pte & PG_RW) != 0 || (prot & VM_PROT_WRITE) == 0)) { - if ((pte & PG_PS) != 0) { - /* Compute the physical address of the 4KB page. */ - pa = (pte & PG_PS_FRAME) | (va & PG_FRAME & PDRMASK); - } else - pa = pte & PG_FRAME; - if (vm_page_pa_tryrelock(pmap, pa, &locked_pa)) - goto retry; - m = PHYS_TO_VM_PAGE(pa); - vm_page_hold(m); - PA_UNLOCK(locked_pa); + pde = *pmap_pde(pmap, va); + if (pde != 0) { + if (pde & PG_PS) { + if ((pde & PG_RW) || (prot & VM_PROT_WRITE) == 0) { + if (vm_page_pa_tryrelock(pmap, (pde & PG_PS_FRAME) | + (va & PDRMASK), &pa)) + goto retry; + m = PHYS_TO_VM_PAGE((pde & PG_PS_FRAME) | + (va & PDRMASK)); + vm_page_hold(m); + } + } else { + ptep = pmap_pte(pmap, va); + pte = *ptep; + pmap_pte_release(ptep); + if (pte != 0 && + ((pte & PG_RW) || (prot & VM_PROT_WRITE) == 0)) { + if (vm_page_pa_tryrelock(pmap, pte & PG_FRAME, &pa)) + goto retry; + m = PHYS_TO_VM_PAGE(pte & PG_FRAME); + vm_page_hold(m); + } + } } + PA_UNLOCK_COND(pa); PMAP_UNLOCK(pmap); return (m); } @@ -4979,30 +4991,39 @@ pmap_change_attr(vm_offset_t va, vm_size int pmap_mincore(pmap_t pmap, vm_offset_t addr, vm_paddr_t *locked_pa) { + pd_entry_t *pdep; pt_entry_t *ptep, pte; vm_paddr_t pa; int val; PMAP_LOCK(pmap); retry: - ptep = pmap_pte(pmap, addr); - pte = (ptep != NULL) ? *ptep : 0; - pmap_pte_release(ptep); - if ((pte & PG_V) != 0) { - val = MINCORE_INCORE; - if ((pte & PG_PS) != 0) { - val |= MINCORE_SUPER; + pdep = pmap_pde(pmap, addr); + if (*pdep != 0) { + if (*pdep & PG_PS) { + pte = *pdep; /* Compute the physical address of the 4KB page. */ - pa = (pte & PG_PS_FRAME) | (addr & PG_FRAME & PDRMASK); - } else + pa = ((*pdep & PG_PS_FRAME) | (addr & PDRMASK)) & + PG_FRAME; + val = MINCORE_SUPER; + } else { + ptep = pmap_pte(pmap, addr); + pte = *ptep; + pmap_pte_release(ptep); pa = pte & PG_FRAME; + val = 0; + } + } else { + pte = 0; + pa = 0; + val = 0; + } + if ((pte & PG_V) != 0) { + val |= MINCORE_INCORE; if ((pte & (PG_M | PG_RW)) == (PG_M | PG_RW)) val |= MINCORE_MODIFIED | MINCORE_MODIFIED_OTHER; if ((pte & PG_A) != 0) val |= MINCORE_REFERENCED | MINCORE_REFERENCED_OTHER; - } else { - val = 0; - pa = 0; } if ((val & (MINCORE_MODIFIED_OTHER | MINCORE_REFERENCED_OTHER)) != (MINCORE_MODIFIED_OTHER | MINCORE_REFERENCED_OTHER) && From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 09:18:14 2010 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 5D772106566B; Sun, 19 Dec 2010 09:18:14 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B7518FC0A; Sun, 19 Dec 2010 09:18:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJ9IEqI067918; Sun, 19 Dec 2010 09:18:14 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJ9IEWf067916; Sun, 19 Dec 2010 09:18:14 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201012190918.oBJ9IEWf067916@svn.freebsd.org> From: Bernhard Schmidt Date: Sun, 19 Dec 2010 09: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: r216556 - head/usr.sbin/wpa/hostapd 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, 19 Dec 2010 09:18:14 -0000 Author: bschmidt Date: Sun Dec 19 09:18:14 2010 New Revision: 216556 URL: http://svn.freebsd.org/changeset/base/216556 Log: Fix build on bigendian archs. Modified: head/usr.sbin/wpa/hostapd/driver_freebsd.c Modified: head/usr.sbin/wpa/hostapd/driver_freebsd.c ============================================================================== --- head/usr.sbin/wpa/hostapd/driver_freebsd.c Sun Dec 19 07:31:56 2010 (r216555) +++ head/usr.sbin/wpa/hostapd/driver_freebsd.c Sun Dec 19 09:18:14 2010 (r216556) @@ -22,6 +22,7 @@ #include "driver.h" #include "eloop.h" #include "common/ieee802_11_defs.h" +#include "common/wpa_common.h" #include #include From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 10:36:06 2010 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 DD5E6106564A; Sun, 19 Dec 2010 10:36:06 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 93D018FC12; Sun, 19 Dec 2010 10:36:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJAa6uV071923; Sun, 19 Dec 2010 10:36:06 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJAa6tw071921; Sun, 19 Dec 2010 10:36:06 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201012191036.oBJAa6tw071921@svn.freebsd.org> From: Bernhard Schmidt Date: Sun, 19 Dec 2010 10:36: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: r216557 - head/sys/dev/wpi 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, 19 Dec 2010 10:36:07 -0000 Author: bschmidt Date: Sun Dec 19 10:36:06 2010 New Revision: 216557 URL: http://svn.freebsd.org/changeset/base/216557 Log: Fix panic trying to use monitor mode. The iwn_cmd() calls issued by iwn_config() want to msleep() on the mutex. PR: kern/138427 Submitted by: Henry Hu MFC after: 3 days Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Sun Dec 19 09:18:14 2010 (r216556) +++ head/sys/dev/wpi/if_wpi.c Sun Dec 19 10:36:06 2010 (r216557) @@ -3561,7 +3561,9 @@ wpi_set_channel(struct ieee80211com *ic) * are already taken care of by their respective firmware commands. */ if (ic->ic_opmode == IEEE80211_M_MONITOR) { + WPI_LOCK(sc); error = wpi_config(sc); + WPI_UNLOCK(sc); if (error != 0) device_printf(sc->sc_dev, "error %d settting channel\n", error); From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 11:14:35 2010 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 0F359106566C; Sun, 19 Dec 2010 11:14:35 +0000 (UTC) (envelope-from tijl@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D81B18FC18; Sun, 19 Dec 2010 11:14:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJBEYmF073156; Sun, 19 Dec 2010 11:14:34 GMT (envelope-from tijl@svn.freebsd.org) Received: (from tijl@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJBEYob073154; Sun, 19 Dec 2010 11:14:34 GMT (envelope-from tijl@svn.freebsd.org) Message-Id: <201012191114.oBJBEYob073154@svn.freebsd.org> From: Tijl Coosemans Date: Sun, 19 Dec 2010 11:14: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: r216558 - head/sys/dev/if_ndis 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, 19 Dec 2010 11:14:35 -0000 Author: tijl Date: Sun Dec 19 11:14:34 2010 New Revision: 216558 URL: http://svn.freebsd.org/changeset/base/216558 Log: Fix a bug introduced in r216518. The ndis_subsys field holds the PCI subdevice ID in addition to the subvendor ID. Reported by: Paul B Mahol 'onemda gmail com' Approved by: kib (mentor) Modified: head/sys/dev/if_ndis/if_ndis_pci.c Modified: head/sys/dev/if_ndis/if_ndis_pci.c ============================================================================== --- head/sys/dev/if_ndis/if_ndis_pci.c Sun Dec 19 10:36:06 2010 (r216557) +++ head/sys/dev/if_ndis/if_ndis_pci.c Sun Dec 19 11:14:34 2010 (r216558) @@ -110,14 +110,20 @@ ndis_devcompare(bustype, t, dev) struct ndis_pci_type *t; device_t dev; { + uint16_t vid, did; + uint32_t subsys; + if (bustype != PCIBus) return(FALSE); + vid = pci_get_vendor(dev); + did = pci_get_device(dev); + subsys = pci_get_subdevice(dev); + subsys = (subsys << 16) | pci_get_subvendor(dev); + while(t->ndis_name != NULL) { - if ((pci_get_vendor(dev) == t->ndis_vid) && - (pci_get_device(dev) == t->ndis_did) && - (pci_get_subvendor(dev) == t->ndis_subsys || - t->ndis_subsys == 0)) { + if ((t->ndis_vid == vid) && (t->ndis_did == did) && + (t->ndis_subsys == subsys || t->ndis_subsys == 0)) { device_set_desc(dev, t->ndis_name); return(TRUE); } @@ -169,6 +175,8 @@ ndis_attach_pci(dev) struct resource_list *rl; struct resource_list_entry *rle; struct drvdb_ent *db; + uint16_t vid, did; + uint32_t subsys; sc = device_get_softc(dev); unit = device_get_unit(dev); @@ -300,14 +308,18 @@ ndis_attach_pci(dev) /* Figure out exactly which device we matched. */ + vid = pci_get_vendor(dev); + did = pci_get_device(dev); + subsys = pci_get_subdevice(dev); + subsys = (subsys << 16) | pci_get_subvendor(dev); + t = db->windrv_devlist; while(t->ndis_name != NULL) { - if ((pci_get_vendor(dev) == t->ndis_vid) && - (pci_get_device(dev) == t->ndis_did)) { + if (t->ndis_vid == vid && t->ndis_did == did) { if (t->ndis_subsys == 0) defidx = devidx; - else if (pci_get_subvendor(dev) == t->ndis_subsys) + else if (t->ndis_subsys == subsys) break; } t++; From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 11:37:44 2010 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 8A38B106564A; Sun, 19 Dec 2010 11:37:44 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 779478FC15; Sun, 19 Dec 2010 11:37:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJBbikf074030; Sun, 19 Dec 2010 11:37:44 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJBbin2074026; Sun, 19 Dec 2010 11:37:44 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201012191137.oBJBbin2074026@svn.freebsd.org> From: Bernhard Schmidt Date: Sun, 19 Dec 2010 11:37: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: r216559 - in head/sys: conf contrib/dev/wpi modules/wpifw 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, 19 Dec 2010 11:37:44 -0000 Author: bschmidt Date: Sun Dec 19 11:37:44 2010 New Revision: 216559 URL: http://svn.freebsd.org/changeset/base/216559 Log: Update firmware for wpi(4) from version 2.14.4 to 15.32.2.9. PR: kern/142907 Submitted by: Craig Butler MFC after: 2 weeks Added: head/sys/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu Deleted: head/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu Modified: head/sys/conf/files head/sys/contrib/dev/wpi/LICENSE head/sys/modules/wpifw/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Dec 19 11:14:34 2010 (r216558) +++ head/sys/conf/files Sun Dec 19 11:37:44 2010 (r216559) @@ -1886,7 +1886,7 @@ dev/wi/if_wi_pccard.c optional wi pccar dev/wi/if_wi_pci.c optional wi pci dev/wl/if_wl.c optional wl isa wpifw.c optional wpifw \ - compile-with "${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:2144 -mwpi -c${.TARGET}" \ + compile-with "${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 -mwpi -c${.TARGET}" \ no-implicit-rule before-depend local \ clean "wpifw.c" wpifw.fwo optional wpifw \ @@ -1895,8 +1895,8 @@ wpifw.fwo optional wpifw \ no-implicit-rule \ clean "wpifw.fwo" wpi.fw optional wpifw \ - dependency "$S/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu" \ - compile-with "uudecode -o ${.TARGET} $S/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu" \ + dependency "$S/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu" \ + compile-with "uudecode -o ${.TARGET} $S/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu" \ no-obj no-implicit-rule \ clean "wpi.fw" dev/xe/if_xe.c optional xe Modified: head/sys/contrib/dev/wpi/LICENSE ============================================================================== --- head/sys/contrib/dev/wpi/LICENSE Sun Dec 19 11:14:34 2010 (r216558) +++ head/sys/contrib/dev/wpi/LICENSE Sun Dec 19 11:37:44 2010 (r216559) @@ -1,4 +1,4 @@ -Copyright (c) 2006, Intel Corporation. +Copyright (c) 2006-2009, Intel Corporation. All rights reserved. Redistribution. Redistribution and use in binary form, without Added: head/sys/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu Sun Dec 19 11:37:44 2010 (r216559) @@ -0,0 +1,2636 @@ +begin-base64 644 iwlwifi-3945.ucode +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 +ArYAH4BAAB+EQwAfQEDPcqAAyB+MEgEAAB9AQJASAADb/89woADUBxYYWIMI2ADZmbmZ/2kgQACZ +BM//z3GgAMgf2BkAANwRAADgfvHAA9oA289xoADUBxUZmIDPcaAAZAukGQIACNgIcYv/z3CAAJwr +Y6DRwOB/ZKDgePHAA9oA289xoADUBxUZmIDPcaAAVAu0GQQACNgIcX//z3CAAJwrY6DRwOB/ZKDg +ePHA4cUD2gDbz3GgANQHFRmYgM9xoADQDw4ZGIAI2M91gACcKySFA6VBhQHhMHIkpQX3CHFt/2Ol +ZKX1A8//4HjxwATYAB8AQAPZANvPcKAA1AcVGFiA9snPcaAA0A8OGRiACNgIcWH/z3CAAJwrY6DR +wOB/ZKDgeIDhCHJB8kAhwwPDuY/hegAtACS7zHDwJkxwgAA4PwB8IIAEGlAAIIAEGlAAIIAEGlAA +IIAEGlAAIIAEGlAAIIAEGlAAIIAEGlAAIIAEGlAAIIAEGlAAIIAEGlAAIIAEGlAAIIAEGlAAIIAE +GlAAIIAEGlAAIIAEGlAAIICAI/+PBBpQAM714H9IcOB4ABYCQAhxQKEAFgJAQaEAFgJAQqEAFgJA +Q6EAFgJARKEAFgJARaEAFgJARqEAFgJAR6EAFgJASKEAFgJASaEAFgJASqEAFgJAS6EAFgBA4H8M +oeB4gOLgfGNqwbqD4uEgzQciu/AmjHCAAHg/AHxAgAQZkAAE4ECABBmQAATgQIAEGZAABOBAgIAj +/48E4OEgwQcEGZAA7fGA4uB8QCLDA8O6j+LhIM0HJLvwJoxwgACIPwB8QIgBGZIAAeBAiAEZkgAB +4ECIARmSAAHgQIgBGZIAAeBAiAEZkgAB4ECIARmSAAHgQIgBGZIAAeBAiAEZkgAB4ECIARmSAAHg +QIgBGZIAAeBAiAEZkgAB4ECIARmSAAHgQIgBGZIAAeBAiAEZkgAB4ECIARmSAAHgQIiAI/+PAeDh +IMEHARmSALzx4HjxwOHFKHUiuYv/wb2B5Q7yguUI8oPlDfQAFoFAARhSAAAWgUABGFIAABaBQCCo +vQHP/+B4CHIA2AbwABYDQQHgAhrUABBx4CDOB/nxCHIA2AbwABaDQAHgARrSABBx4CDOB/nx4cUo +cgDbEPCggAHjABhAU6GAABhAU6KAABhAU6OAABhAUxDgQSoBAXBxMPcA2wfwIIAB4wAYQFAE4FMi +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 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 13:05:17 2010 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 BDD141065675; Sun, 19 Dec 2010 13:05:17 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ACEB98FC12; Sun, 19 Dec 2010 13:05:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJD5HTv078035; Sun, 19 Dec 2010 13:05:17 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJD5HD6078033; Sun, 19 Dec 2010 13:05:17 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012191305.oBJD5HD6078033@svn.freebsd.org> From: Philippe Charnier Date: Sun, 19 Dec 2010 13: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: r216560 - head/libexec/rpc.rwalld 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, 19 Dec 2010 13:05:17 -0000 Author: charnier Date: Sun Dec 19 13:05:17 2010 New Revision: 216560 URL: http://svn.freebsd.org/changeset/base/216560 Log: add __unused Modified: head/libexec/rpc.rwalld/rwalld.c Modified: head/libexec/rpc.rwalld/rwalld.c ============================================================================== --- head/libexec/rpc.rwalld/rwalld.c Sun Dec 19 11:37:44 2010 (r216559) +++ head/libexec/rpc.rwalld/rwalld.c Sun Dec 19 13:05:17 2010 (r216560) @@ -27,10 +27,8 @@ * SUCH DAMAGE. */ -#ifndef lint -static const char rcsid[] = - "$FreeBSD$"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -136,14 +134,14 @@ possess(void) } void -killkids(int sig) +killkids(int sig __unused) { while(wait4(-1, NULL, WNOHANG, NULL) > 0) ; } void * -wallproc_wall_1_svc(wrapstring *s, struct svc_req *rqstp) +wallproc_wall_1_svc(wrapstring *s, struct svc_req *rqstp __unused) { static void *dummy = NULL; From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 13:40:39 2010 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 1CDEE106566C; Sun, 19 Dec 2010 13:40:39 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0B8138FC17; Sun, 19 Dec 2010 13:40:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJDecv1080973; Sun, 19 Dec 2010 13:40:38 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJDecrg080971; Sun, 19 Dec 2010 13:40:38 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012191340.oBJDecrg080971@svn.freebsd.org> From: Philippe Charnier Date: Sun, 19 Dec 2010 13:40: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: r216561 - head/sbin/ping6 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, 19 Dec 2010 13:40:39 -0000 Author: charnier Date: Sun Dec 19 13:40:38 2010 New Revision: 216561 URL: http://svn.freebsd.org/changeset/base/216561 Log: Add __unused. Ansi prototypes. Modified: head/sbin/ping6/ping6.c Modified: head/sbin/ping6/ping6.c ============================================================================== --- head/sbin/ping6/ping6.c Sun Dec 19 13:05:17 2010 (r216560) +++ head/sbin/ping6/ping6.c Sun Dec 19 13:40:38 2010 (r216561) @@ -73,10 +73,11 @@ static const char copyright[] = #if 0 static char sccsid[] = "@(#)ping.c 8.1 (Berkeley) 6/5/93"; #endif -static const char rcsid[] = - "$FreeBSD$"; #endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); + /* * Using the InterNet Control Message Protocol (ICMP) "ECHO" facility, * measure round-trip-delays and packet loss across network paths. @@ -290,9 +291,7 @@ char *nigroup(char *); void usage(void); int -main(argc, argv) - int argc; - char *argv[]; +main(int argc, char *argv[]) { struct itimerval itimer; struct sockaddr_in6 from; @@ -1209,8 +1208,7 @@ main(argc, argv) } void -onsignal(sig) - int sig; +onsignal(int sig) { switch (sig) { @@ -1233,7 +1231,7 @@ onsignal(sig) * This routine transmits another ping6. */ void -retransmit() +retransmit(void) { struct itimerval itimer; @@ -1269,7 +1267,7 @@ retransmit() * byte-order, to compute the round-trip time. */ size_t -pingerlen() +pingerlen(void) { size_t l; @@ -1288,7 +1286,7 @@ pingerlen() } int -pinger() +pinger(void) { struct icmp6_hdr *icp; struct iovec iov[2]; @@ -1403,8 +1401,7 @@ pinger() } int -myechoreply(icp) - const struct icmp6_hdr *icp; +myechoreply(const struct icmp6_hdr *icp) { if (ntohs(icp->icmp6_id) == ident) return 1; @@ -1413,8 +1410,7 @@ myechoreply(icp) } int -mynireply(nip) - const struct icmp6_nodeinfo *nip; +mynireply(const struct icmp6_nodeinfo *nip) { if (memcmp(nip->icmp6_ni_nonce + sizeof(u_int16_t), nonce + sizeof(u_int16_t), @@ -1425,12 +1421,9 @@ mynireply(nip) } char * -dnsdecode(sp, ep, base, buf, bufsiz) - const u_char **sp; - const u_char *ep; - const u_char *base; /*base for compressed name*/ - char *buf; - size_t bufsiz; +dnsdecode(const u_char **sp, const u_char *ep, const u_char *base, char *buf, + size_t bufsiz) + /*base for compressed name*/ { int i; const u_char *cp; @@ -1495,10 +1488,7 @@ dnsdecode(sp, ep, base, buf, bufsiz) * program to be run without having intermingled output (or statistics!). */ void -pr_pack(buf, cc, mhdr) - u_char *buf; - int cc; - struct msghdr *mhdr; +pr_pack(u_char *buf, int cc, struct msghdr *mhdr) { #define safeputc(c) printf((isprint((c)) ? "%c" : "\\%03o"), c) struct icmp6_hdr *icp; @@ -1779,8 +1769,7 @@ pr_pack(buf, cc, mhdr) } void -pr_exthdrs(mhdr) - struct msghdr *mhdr; +pr_exthdrs(struct msghdr *mhdr) { ssize_t bufsize; void *bufp; @@ -1956,10 +1945,7 @@ pr_rthdr(void *extbuf, size_t bufsize __ #endif /* USE_RFC2292BIS */ int -pr_bitrange(v, soff, ii) - u_int32_t v; - int soff; - int ii; +pr_bitrange(u_int32_t v, int soff, int ii) { int off; int i; @@ -2005,9 +1991,8 @@ pr_bitrange(v, soff, ii) } void -pr_suptypes(ni, nilen) - struct icmp6_nodeinfo *ni; /* ni->qtype must be SUPTYPES */ - size_t nilen; +pr_suptypes(struct icmp6_nodeinfo *ni, size_t nilen) + /* ni->qtype must be SUPTYPES */ { size_t clen; u_int32_t v; @@ -2072,9 +2057,8 @@ pr_suptypes(ni, nilen) } void -pr_nodeaddr(ni, nilen) - struct icmp6_nodeinfo *ni; /* ni->qtype must be NODEADDR */ - int nilen; +pr_nodeaddr(struct icmp6_nodeinfo *ni, int nilen) + /* ni->qtype must be NODEADDR */ { u_char *cp = (u_char *)(ni + 1); char ntop_buf[INET6_ADDRSTRLEN]; @@ -2139,8 +2123,7 @@ pr_nodeaddr(ni, nilen) } int -get_hoplim(mhdr) - struct msghdr *mhdr; +get_hoplim(struct msghdr *mhdr) { struct cmsghdr *cm; @@ -2159,8 +2142,7 @@ get_hoplim(mhdr) } struct in6_pktinfo * -get_rcvpktinfo(mhdr) - struct msghdr *mhdr; +get_rcvpktinfo(struct msghdr *mhdr) { struct cmsghdr *cm; @@ -2179,8 +2161,7 @@ get_rcvpktinfo(mhdr) } int -get_pathmtu(mhdr) - struct msghdr *mhdr; +get_pathmtu(struct msghdr *mhdr) { #ifdef IPV6_RECVPATHMTU struct cmsghdr *cm; @@ -2240,8 +2221,7 @@ get_pathmtu(mhdr) * be >= in. */ void -tvsub(out, in) - struct timeval *out, *in; +tvsub(struct timeval *out, struct timeval *in) { if ((out->tv_usec -= in->tv_usec) < 0) { --out->tv_sec; @@ -2256,8 +2236,7 @@ tvsub(out, in) */ /* ARGSUSED */ void -onint(notused) - int notused; +onint(int notused __unused) { summary(); @@ -2284,7 +2263,7 @@ onint(notused) * Print out statistics. */ void -summary() +summary(void) { (void)printf("\n--- %s ping6 statistics ---\n", hostname); @@ -2332,9 +2311,7 @@ static const char *nircode[] = { * Print a descriptive string about an ICMP header. */ void -pr_icmph(icp, end) - struct icmp6_hdr *icp; - u_char *end; +pr_icmph(struct icmp6_hdr *icp, u_char *end) { char ntop_buf[INET6_ADDRSTRLEN]; struct nd_redirect *red; @@ -2564,8 +2541,7 @@ pr_icmph(icp, end) * Print an IP6 header. */ void -pr_iph(ip6) - struct ip6_hdr *ip6; +pr_iph(struct ip6_hdr *ip6) { u_int32_t flow = ip6->ip6_flow & IPV6_FLOWLABEL_MASK; u_int8_t tc; @@ -2593,9 +2569,7 @@ pr_iph(ip6) * a hostname. */ const char * -pr_addr(addr, addrlen) - struct sockaddr *addr; - int addrlen; +pr_addr(struct sockaddr *addr, int addrlen) { static char buf[NI_MAXHOST]; int flag = 0; @@ -2614,9 +2588,7 @@ pr_addr(addr, addrlen) * Dump some info on a returned (via ICMPv6) IPv6 packet. */ void -pr_retip(ip6, end) - struct ip6_hdr *ip6; - u_char *end; +pr_retip(struct ip6_hdr *ip6, u_char *end) { u_char *cp = (u_char *)ip6, nh; int hlen; @@ -2696,8 +2668,7 @@ pr_retip(ip6, end) } void -fill(bp, patp) - char *bp, *patp; +fill(char *bp, char *patp) { int ii, jj, kk; int pat[16]; @@ -2730,9 +2701,7 @@ fill(bp, patp) #ifdef IPSEC #ifdef IPSEC_POLICY_IPSEC int -setpolicy(so, policy) - int so; - char *policy; +setpolicy(int so __unused, char *policy) { char *buf; @@ -2753,8 +2722,7 @@ setpolicy(so, policy) #endif char * -nigroup(name) - char *name; +nigroup(char *name) { char *p; char *q; @@ -2798,7 +2766,7 @@ nigroup(name) } void -usage() +usage(void) { (void)fprintf(stderr, #if defined(IPSEC) && !defined(IPSEC_POLICY_IPSEC) From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 14:18:08 2010 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 25B8E106566B; Sun, 19 Dec 2010 14:18:08 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1487D8FC19; Sun, 19 Dec 2010 14:18:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJEI75T084061; Sun, 19 Dec 2010 14:18:07 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJEI7ex084059; Sun, 19 Dec 2010 14:18:07 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012191418.oBJEI7ex084059@svn.freebsd.org> From: Philippe Charnier Date: Sun, 19 Dec 2010 14:18: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: r216562 - head/usr.bin/mail 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, 19 Dec 2010 14:18:08 -0000 Author: charnier Date: Sun Dec 19 14:18:07 2010 New Revision: 216562 URL: http://svn.freebsd.org/changeset/base/216562 Log: Add __unused. Ansi prototypes. Modified: head/usr.bin/mail/cmd1.c Modified: head/usr.bin/mail/cmd1.c ============================================================================== --- head/usr.bin/mail/cmd1.c Sun Dec 19 13:40:38 2010 (r216561) +++ head/usr.bin/mail/cmd1.c Sun Dec 19 14:18:07 2010 (r216562) @@ -54,8 +54,7 @@ extern const struct cmd cmdtab[]; static int screen; int -headers(msgvec) - int *msgvec; +headers(int *msgvec) { int n, mesg, flag, size; struct message *mp; @@ -94,8 +93,7 @@ headers(msgvec) * Scroll to the next/previous screen */ int -scroll(arg) - char arg[]; +scroll(char arg[]) { int s, size; int cur[1]; @@ -133,7 +131,7 @@ scroll(arg) * Compute screen size. */ int -screensize() +screensize(void) { int s; char *cp; @@ -148,8 +146,7 @@ screensize() * in the passed message list. */ int -from(msgvec) - int *msgvec; +from(int *msgvec) { int *ip; @@ -165,8 +162,7 @@ from(msgvec) * This is a slight improvement to the standard one. */ void -printhead(mesg) - int mesg; +printhead(int mesg) { struct message *mp; char headline[LINESIZE], wcount[LINESIZE], *subjline, dispc, curind; @@ -212,7 +208,7 @@ printhead(mesg) * Print out the value of dot. */ int -pdot() +pdot(void) { printf("%d\n", dot - &message[0] + 1); return (0); @@ -222,7 +218,7 @@ pdot() * Print out all the possible commands. */ int -pcmdlist() +pcmdlist(void) { const struct cmd *cp; int cc; @@ -246,8 +242,7 @@ pcmdlist() * Paginate messages, honor ignored fields. */ int -more(msgvec) - int *msgvec; +more(int *msgvec) { return (type1(msgvec, 1, 1)); @@ -257,8 +252,7 @@ more(msgvec) * Paginate messages, even printing ignored fields. */ int -More(msgvec) - int *msgvec; +More(int *msgvec) { return (type1(msgvec, 0, 1)); @@ -268,8 +262,7 @@ More(msgvec) * Type out messages, honor ignored fields. */ int -type(msgvec) - int *msgvec; +type(int *msgvec) { return (type1(msgvec, 1, 0)); @@ -279,8 +272,7 @@ type(msgvec) * Type out messages, even printing ignored fields. */ int -Type(msgvec) - int *msgvec; +Type(int *msgvec) { return (type1(msgvec, 0, 0)); @@ -291,9 +283,7 @@ Type(msgvec) */ static jmp_buf pipestop; int -type1(msgvec, doign, page) - int *msgvec; - int doign, page; +type1(int *msgvec, int doign, int page) { int nlines, *ip; struct message *mp; @@ -354,8 +344,7 @@ close_pipe: */ /*ARGSUSED*/ void -brokpipe(signo) - int signo; +brokpipe(int signo __unused) { longjmp(pipestop, 1); } @@ -366,8 +355,7 @@ brokpipe(signo) * and defaults to 5. */ int -top(msgvec) - int *msgvec; +top(int *msgvec) { int *ip; struct message *mp; @@ -408,8 +396,7 @@ top(msgvec) * get mboxed. */ int -stouch(msgvec) - int msgvec[]; +stouch(int msgvec[]) { int *ip; @@ -425,8 +412,7 @@ stouch(msgvec) * Make sure all passed messages get mboxed. */ int -mboxit(msgvec) - int msgvec[]; +mboxit(int msgvec[]) { int *ip; @@ -442,7 +428,7 @@ mboxit(msgvec) * List the folders the user currently has. */ int -folders() +folders(void) { char dirname[PATHSIZE]; char *cmd; @@ -462,8 +448,7 @@ folders() * come in since we started reading mail. */ int -inc(v) - void *v; +inc(void *v __unused) { int nmsg, mdot; From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 16:07:54 2010 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 72330106566B; Sun, 19 Dec 2010 16:07:54 +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 4632E8FC15; Sun, 19 Dec 2010 16:07:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJG7sU6096631; Sun, 19 Dec 2010 16:07:54 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJG7ssR096628; Sun, 19 Dec 2010 16:07:54 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201012191607.oBJG7ssR096628@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 19 Dec 2010 16:07: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: r216563 - head/sys/powerpc/aim 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, 19 Dec 2010 16:07:54 -0000 Author: nwhitehorn Date: Sun Dec 19 16:07:53 2010 New Revision: 216563 URL: http://svn.freebsd.org/changeset/base/216563 Log: Garbage-collect unused variable. Modified: head/sys/powerpc/aim/mmu_oea.c head/sys/powerpc/aim/mmu_oea64.c Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Sun Dec 19 14:18:07 2010 (r216562) +++ head/sys/powerpc/aim/mmu_oea.c Sun Dec 19 16:07:53 2010 (r216563) @@ -666,7 +666,6 @@ moea_bootstrap(mmu_t mmup, vm_offset_t k phandle_t chosen, mmu; int sz; int i, j; - int ofw_mappings; vm_size_t size, physsz, hwphyssz; vm_offset_t pa, va, off; void *dpcpu; @@ -868,7 +867,7 @@ moea_bootstrap(mmu_t mmup, vm_offset_t k CTR0(KTR_PMAP, "moea_bootstrap: translations"); sz /= sizeof(*translations); qsort(translations, sz, sizeof (*translations), om_cmp); - for (i = 0, ofw_mappings = 0; i < sz; i++) { + for (i = 0; i < sz; i++) { CTR3(KTR_PMAP, "translation: pa=%#x va=%#x len=%#x", translations[i].om_pa, translations[i].om_va, translations[i].om_len); @@ -881,11 +880,9 @@ moea_bootstrap(mmu_t mmup, vm_offset_t k continue; /* Enter the pages */ - for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) { + for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) moea_kenter(mmup, translations[i].om_va + off, translations[i].om_pa + off); - ofw_mappings++; - } } /* Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Sun Dec 19 14:18:07 2010 (r216562) +++ head/sys/powerpc/aim/mmu_oea64.c Sun Dec 19 16:07:53 2010 (r216563) @@ -521,7 +521,7 @@ moea64_add_ofw_mappings(mmu_t mmup, phan register_t msr; vm_offset_t off; vm_paddr_t pa_base; - int i, ofw_mappings; + int i; bzero(translations, sz); if (OF_getprop(mmu, "translations", translations, sz) == -1) @@ -531,7 +531,7 @@ moea64_add_ofw_mappings(mmu_t mmup, phan sz /= sizeof(*translations); qsort(translations, sz, sizeof (*translations), om_cmp); - for (i = 0, ofw_mappings = 0; i < sz; i++) { + for (i = 0; i < sz; i++) { CTR3(KTR_PMAP, "translation: pa=%#x va=%#x len=%#x", (uint32_t)(translations[i].om_pa_lo), translations[i].om_va, translations[i].om_len); @@ -558,8 +558,6 @@ moea64_add_ofw_mappings(mmu_t mmup, phan moea64_kenter(mmup, translations[i].om_va + off, pa_base + off); - - ofw_mappings++; } ENABLE_TRANS(msr); } From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 16:25:24 2010 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 35C14106566B; Sun, 19 Dec 2010 16:25:24 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 231098FC14; Sun, 19 Dec 2010 16:25:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJGPOsK099137; Sun, 19 Dec 2010 16:25:24 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJGPO56099126; Sun, 19 Dec 2010 16:25:24 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012191625.oBJGPO56099126@svn.freebsd.org> From: Philippe Charnier Date: Sun, 19 Dec 2010 16:25: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: r216564 - head/usr.bin/mail 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, 19 Dec 2010 16:25:24 -0000 Author: charnier Date: Sun Dec 19 16:25:23 2010 New Revision: 216564 URL: http://svn.freebsd.org/changeset/base/216564 Log: Add __unused. Ansi prototypes. Modified: head/usr.bin/mail/cmd2.c head/usr.bin/mail/cmd3.c head/usr.bin/mail/collect.c head/usr.bin/mail/edit.c head/usr.bin/mail/fio.c head/usr.bin/mail/getname.c head/usr.bin/mail/head.c head/usr.bin/mail/lex.c head/usr.bin/mail/list.c head/usr.bin/mail/main.c head/usr.bin/mail/names.c head/usr.bin/mail/popen.c head/usr.bin/mail/quit.c head/usr.bin/mail/send.c head/usr.bin/mail/strings.c head/usr.bin/mail/temp.c head/usr.bin/mail/tty.c head/usr.bin/mail/util.c head/usr.bin/mail/v7.local.c head/usr.bin/mail/vars.c Modified: head/usr.bin/mail/cmd2.c ============================================================================== --- head/usr.bin/mail/cmd2.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/cmd2.c Sun Dec 19 16:25:23 2010 (r216564) @@ -53,8 +53,7 @@ extern int wait_status; * If given as first command with no arguments, print first message. */ int -next(msgvec) - int *msgvec; +next(int *msgvec) { struct message *mp; int *ip, *ip2, list[2], mdot; @@ -131,8 +130,7 @@ hitit: * so we can discard when the user quits. */ int -save(str) - char str[]; +save(char str[]) { return (save1(str, 1, "save", saveignore)); @@ -142,8 +140,7 @@ save(str) * Copy a message to a file without affected its saved-ness */ int -copycmd(str) - char str[]; +copycmd(char str[]) { return (save1(str, 0, "copy", saveignore)); @@ -154,11 +151,7 @@ copycmd(str) * If mark is true, mark the message "saved." */ int -save1(str, mark, cmd, ignore) - char str[]; - int mark; - const char *cmd; - struct ignoretab *ignore; +save1(char str[], int mark, const char *cmd, struct ignoretab *ignore) { struct message *mp; char *file; @@ -215,8 +208,7 @@ save1(str, mark, cmd, ignore) * file name, minus header and trailing blank line. */ int -swrite(str) - char str[]; +swrite(char str[]) { return (save1(str, 1, "write", ignoreall)); @@ -232,9 +224,7 @@ swrite(str) */ char * -snarf(linebuf, flag) - char linebuf[]; - int *flag; +snarf(char linebuf[], int *flag) { char *cp; @@ -270,8 +260,7 @@ snarf(linebuf, flag) * Delete messages. */ int -delete(msgvec) - int msgvec[]; +delete(int msgvec[]) { delm(msgvec); @@ -282,8 +271,7 @@ delete(msgvec) * Delete messages, then type the new dot. */ int -deltype(msgvec) - int msgvec[]; +deltype(int msgvec[]) { int list[2]; int lastdot; @@ -308,8 +296,7 @@ deltype(msgvec) * Internal interface. */ int -delm(msgvec) - int *msgvec; +delm(int *msgvec) { struct message *mp; int *ip, last; @@ -346,8 +333,7 @@ delm(msgvec) * Undelete the indicated messages. */ int -undelete_messages(msgvec) - int *msgvec; +undelete_messages(int *msgvec) { struct message *mp; int *ip; @@ -365,7 +351,7 @@ undelete_messages(msgvec) * Interactively dump core on "core" */ int -core() +core(void) { int pid; @@ -391,8 +377,7 @@ core() * Clobber as many bytes of stack as the user requests. */ int -clobber(argv) - char **argv; +clobber(char **argv) { int times; @@ -408,8 +393,7 @@ clobber(argv) * Clobber the stack. */ void -clob1(n) - int n; +clob1(int n) { char buf[512]; char *cp; @@ -426,8 +410,7 @@ clob1(n) * If no arguments, print the current list of retained fields. */ int -retfield(list) - char *list[]; +retfield(char *list[]) { return (ignore1(list, ignore + 1, "retained")); @@ -438,34 +421,28 @@ retfield(list) * If no arguments, print the current list of ignored fields. */ int -igfield(list) - char *list[]; +igfield(char *list[]) { return (ignore1(list, ignore, "ignored")); } int -saveretfield(list) - char *list[]; +saveretfield(char *list[]) { return (ignore1(list, saveignore + 1, "retained")); } int -saveigfield(list) - char *list[]; +saveigfield(char *list[]) { return (ignore1(list, saveignore, "ignored")); } int -ignore1(list, tab, which) - char *list[]; - struct ignoretab *tab; - const char *which; +ignore1(char *list[], struct ignoretab *tab, const char *which) { char field[LINESIZE]; int h; @@ -494,9 +471,7 @@ ignore1(list, tab, which) * Print out all currently retained fields. */ int -igshow(tab, which) - struct ignoretab *tab; - const char *which; +igshow(struct ignoretab *tab, const char *which) { int h; struct ignore *igp; @@ -522,8 +497,7 @@ igshow(tab, which) * Compare two names for sorting ignored field list. */ int -igcomp(l, r) - const void *l, *r; +igcomp(const void *l, const void *r) { return (strcmp(*(const char **)l, *(const char **)r)); Modified: head/usr.bin/mail/cmd3.c ============================================================================== --- head/usr.bin/mail/cmd3.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/cmd3.c Sun Dec 19 16:25:23 2010 (r216564) @@ -49,8 +49,7 @@ __FBSDID("$FreeBSD$"); * and forking a sh -c */ int -shell(str) - char *str; +shell(char *str) { sig_t sigint = signal(SIGINT, SIG_IGN); char *sh; @@ -73,8 +72,7 @@ shell(str) */ /*ARGSUSED*/ int -dosh(str) - char *str; +dosh(char *str __unused) { sig_t sigint = signal(SIGINT, SIG_IGN); char *sh; @@ -92,9 +90,7 @@ dosh(str) * last issued command where possible. */ int -bangexp(str, strsize) - char *str; - size_t strsize; +bangexp(char *str, size_t strsize) { char bangbuf[BUFSIZ]; static char lastbang[BUFSIZ]; @@ -148,7 +144,7 @@ overf: */ int -help() +help(void) { int c; FILE *f; @@ -167,8 +163,7 @@ help() * Change user's working directory. */ int -schdir(arglist) - char **arglist; +schdir(char **arglist) { char *cp; @@ -187,8 +182,7 @@ schdir(arglist) } int -respond(msgvec) - int *msgvec; +respond(int *msgvec) { if (value("Replyall") == NULL && value("flipr") == NULL) return (dorespond(msgvec)); @@ -201,8 +195,7 @@ respond(msgvec) * message header and send them off to mail1() */ int -dorespond(msgvec) - int *msgvec; +dorespond(int *msgvec) { struct message *mp; char *cp, *rcv, *replyto; @@ -267,8 +260,7 @@ dorespond(msgvec) * it does not already. */ char * -reedit(subj) - char *subj; +reedit(char *subj) { char *newsubj; @@ -288,8 +280,7 @@ reedit(subj) * back to the system mailbox. */ int -preserve(msgvec) - int *msgvec; +preserve(int *msgvec) { int *ip, mesg; struct message *mp; @@ -312,8 +303,7 @@ preserve(msgvec) * Mark all given messages as unread. */ int -unread(msgvec) - int msgvec[]; +unread(int msgvec[]) { int *ip; @@ -329,8 +319,7 @@ unread(msgvec) * Print the size of each message. */ int -messize(msgvec) - int *msgvec; +messize(int *msgvec) { struct message *mp; int *ip, mesg; @@ -348,8 +337,7 @@ messize(msgvec) * by returning an error. */ int -rexit(e) - int e; +rexit(int e __unused) { if (sourcing) return (1); @@ -362,8 +350,7 @@ rexit(e) * of csh. */ int -set(arglist) - char **arglist; +set(char **arglist) { struct var *vp; char *cp, *cp2; @@ -409,8 +396,7 @@ set(arglist) * Unset a bunch of variable values. */ int -unset(arglist) - char **arglist; +unset(char **arglist) { struct var *vp, *vp2; int errs, h; @@ -449,8 +435,7 @@ unset(arglist) * Put add users to a group. */ int -group(argv) - char **argv; +group(char **argv) { struct grouphead *gh; struct group *gp; @@ -505,8 +490,7 @@ group(argv) * order. */ void -sort(list) - char **list; +sort(char **list) { char **ap; @@ -522,8 +506,7 @@ sort(list) * qsort. */ int -diction(a, b) - const void *a, *b; +diction(const void *a, const void *b) { return (strcmp(*(const char **)a, *(const char **)b)); } @@ -534,8 +517,7 @@ diction(a, b) /*ARGSUSED*/ int -null(e) - int e; +null(int e __unused) { return (0); } @@ -545,8 +527,7 @@ null(e) * the current file. */ int -file(argv) - char **argv; +file(char **argv) { if (argv[0] == NULL) { @@ -563,8 +544,7 @@ file(argv) * Expand file names like echo */ int -echo(argv) - char **argv; +echo(char **argv) { char **ap, *cp; @@ -581,8 +561,7 @@ echo(argv) } int -Respond(msgvec) - int *msgvec; +Respond(int *msgvec) { if (value("Replyall") == NULL && value("flipr") == NULL) return (doRespond(msgvec)); @@ -596,8 +575,7 @@ Respond(msgvec) * reply. */ int -doRespond(msgvec) - int msgvec[]; +doRespond(int msgvec[]) { struct header head; struct message *mp; @@ -634,8 +612,7 @@ doRespond(msgvec) * .mailrc and do some things if sending, others if receiving. */ int -ifcmd(argv) - char **argv; +ifcmd(char **argv) { char *cp; @@ -666,7 +643,7 @@ ifcmd(argv) * flip over the conditional flag. */ int -elsecmd() +elsecmd(void) { switch (cond) { @@ -694,7 +671,7 @@ elsecmd() * End of if statement. Just set cond back to anything. */ int -endifcmd() +endifcmd(void) { if (cond == CANY) { @@ -709,8 +686,7 @@ endifcmd() * Set the list of alternate names. */ int -alternates(namelist) - char **namelist; +alternates(char **namelist) { int c; char **ap, **ap2, *cp; Modified: head/usr.bin/mail/collect.c ============================================================================== --- head/usr.bin/mail/collect.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/collect.c Sun Dec 19 16:25:23 2010 (r216564) @@ -70,9 +70,7 @@ static int colljmp_p; /* whether to lon static jmp_buf collabort; /* To end collection with error */ FILE * -collect(hp, printheaders) - struct header *hp; - int printheaders; +collect(struct header *hp, int printheaders) { FILE *fbuf; int lc, cc, escape, eofcount, fd, c, t; @@ -495,10 +493,7 @@ out: * Write a file, ex-like if f set. */ int -exwrite(name, fp, f) - char name[]; - FILE *fp; - int f; +exwrite(char name[], FILE *fp, int f) { FILE *of; int c, lc; @@ -543,9 +538,7 @@ exwrite(name, fp, f) * On return, make the edit file the new temp file. */ void -mesedit(fp, c) - FILE *fp; - int c; +mesedit(FILE *fp, int c) { sig_t sigint = signal(SIGINT, SIG_IGN); FILE *nf = run_editor(fp, (off_t)-1, c, 0); @@ -565,9 +558,7 @@ mesedit(fp, c) * Sh -c must return 0 to accept the new message. */ void -mespipe(fp, cmd) - FILE *fp; - char cmd[]; +mespipe(FILE *fp, char cmd[]) { FILE *nf; int fd; @@ -617,11 +608,7 @@ out: * should shift over and 'f' if not. */ int -forward(ms, fp, fn, f) - char ms[]; - FILE *fp; - char *fn; - int f; +forward(char ms[], FILE *fp, char *fn, int f) { int *msgvec; struct ignoretab *ig; @@ -665,8 +652,7 @@ forward(ms, fp, fn, f) */ /*ARGSUSED*/ void -collstop(s) - int s; +collstop(int s) { sig_t old_action = signal(s, SIG_DFL); sigset_t nset; @@ -690,8 +676,7 @@ collstop(s) */ /*ARGSUSED*/ void -collint(s) - int s; +collint(int s __unused) { /* * the control flow is subtle, because we can be called from ~q. @@ -714,8 +699,7 @@ collint(s) /*ARGSUSED*/ void -collhup(s) - int s; +collhup(int s __unused) { rewind(collf); savedeadletter(collf); @@ -727,8 +711,7 @@ collhup(s) } void -savedeadletter(fp) - FILE *fp; +savedeadletter(FILE *fp) { FILE *dbuf; int c; Modified: head/usr.bin/mail/edit.c ============================================================================== --- head/usr.bin/mail/edit.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/edit.c Sun Dec 19 16:25:23 2010 (r216564) @@ -49,8 +49,7 @@ __FBSDID("$FreeBSD$"); * Edit a message list. */ int -editor(msgvec) - int *msgvec; +editor(int *msgvec) { return (edit1(msgvec, 'e')); @@ -60,8 +59,7 @@ editor(msgvec) * Invoke the visual editor on a message list. */ int -visual(msgvec) - int *msgvec; +visual(int *msgvec) { return (edit1(msgvec, 'v')); @@ -73,9 +71,7 @@ visual(msgvec) * We get the editor from the stuff above. */ int -edit1(msgvec, type) - int *msgvec; - int type; +edit1(int *msgvec, int type) { int c, i; FILE *fp; @@ -137,10 +133,7 @@ edit1(msgvec, type) * "Type" is 'e' for _PATH_EX, 'v' for _PATH_VI. */ FILE * -run_editor(fp, size, type, readonly) - FILE *fp; - off_t size; - int type, readonly; +run_editor(FILE *fp, off_t size, int type, int readonly) { FILE *nf = NULL; int t; Modified: head/usr.bin/mail/fio.c ============================================================================== --- head/usr.bin/mail/fio.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/fio.c Sun Dec 19 16:25:23 2010 (r216564) @@ -56,9 +56,7 @@ extern int wait_status; * Set up the input pointers while copying the mail file into /tmp. */ void -setptr(ibuf, offset) - FILE *ibuf; - off_t offset; +setptr(FILE *ibuf, off_t offset) { int c, count; char *cp, *cp2; @@ -163,10 +161,7 @@ setptr(ibuf, offset) * characters written, including the newline if requested. */ int -putline(obuf, linebuf, outlf) - FILE *obuf; - char *linebuf; - int outlf; +putline(FILE *obuf, char *linebuf, int outlf) { int c; @@ -187,10 +182,7 @@ putline(obuf, linebuf, outlf) * include the newline (or carriage return) at the end. */ int -readline(ibuf, linebuf, linesize) - FILE *ibuf; - char *linebuf; - int linesize; +readline(FILE *ibuf, char *linebuf, int linesize) { int n; @@ -210,8 +202,7 @@ readline(ibuf, linebuf, linesize) * passed message pointer. */ FILE * -setinput(mp) - struct message *mp; +setinput(struct message *mp) { (void)fflush(otf); @@ -226,9 +217,7 @@ setinput(mp) * a dynamically allocated message structure. */ void -makemessage(f, omsgCount) - FILE *f; - int omsgCount; +makemessage(FILE *f, int omsgCount) { size_t size; struct message *nmessage; @@ -258,9 +247,7 @@ makemessage(f, omsgCount) * If the write fails, return 1, else 0 */ int -append(mp, f) - struct message *mp; - FILE *f; +append(struct message *mp, FILE *f) { return (fwrite((char *)mp, sizeof(*mp), 1, f) != 1); } @@ -269,8 +256,7 @@ append(mp, f) * Delete a file, but only if the file is a plain file. */ int -rm(name) - char *name; +rm(char *name) { struct stat sb; @@ -289,7 +275,7 @@ static sigset_t nset, oset; * Hold signals SIGHUP, SIGINT, and SIGQUIT. */ void -holdsigs() +holdsigs(void) { if (sigdepth++ == 0) { @@ -305,7 +291,7 @@ holdsigs() * Release signals SIGHUP, SIGINT, and SIGQUIT. */ void -relsesigs() +relsesigs(void) { if (--sigdepth == 0) @@ -317,8 +303,7 @@ relsesigs() * the passed buffer. */ off_t -fsize(iob) - FILE *iob; +fsize(FILE *iob) { struct stat sbuf; @@ -339,8 +324,7 @@ fsize(iob) * Return the file name as a dynamic string. */ char * -expand(name) - char *name; +expand(char *name) { char xname[PATHSIZE]; char cmdbuf[PATHSIZE]; /* also used for file names */ @@ -432,9 +416,7 @@ expand(name) * Determine the current folder directory name. */ int -getfold(name, namelen) - char *name; - int namelen; +getfold(char *name, int namelen) { char *folder; int copylen; @@ -453,7 +435,7 @@ getfold(name, namelen) * Return the name of the dead.letter file. */ char * -getdeadletter() +getdeadletter(void) { char *cp; Modified: head/usr.bin/mail/getname.c ============================================================================== --- head/usr.bin/mail/getname.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/getname.c Sun Dec 19 16:25:23 2010 (r216564) @@ -45,8 +45,7 @@ __FBSDID("$FreeBSD$"); * Search the passwd file for a uid. Return name on success, NULL on failure. */ char * -getname(uid) - int uid; +getname(int uid) { struct passwd *pw; @@ -60,8 +59,7 @@ getname(uid) * on error. */ int -getuserid(name) - char name[]; +getuserid(char name[]) { struct passwd *pw; Modified: head/usr.bin/mail/head.c ============================================================================== --- head/usr.bin/mail/head.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/head.c Sun Dec 19 16:25:23 2010 (r216564) @@ -50,8 +50,7 @@ __FBSDID("$FreeBSD$"); * accomodate all funny formats. */ int -ishead(linebuf) - char linebuf[]; +ishead(char linebuf[]) { struct headline hl; char parbuf[BUFSIZ]; @@ -73,10 +72,8 @@ ishead(linebuf) return (1); } -/*ARGSUSED*/ void -fail(linebuf, reason) - const char *linebuf, *reason; +fail(const char *linebuf __unused, const char *reason __unused) { /* @@ -93,9 +90,7 @@ fail(linebuf, reason) * structure. Actually, it scans. */ void -parse(line, hl, pbuf) - char line[], pbuf[]; - struct headline *hl; +parse(char line[], struct headline *hl, char pbuf[]) { char *cp, *sp; char word[LINESIZE]; @@ -134,9 +129,7 @@ parse(line, hl, pbuf) * the left string into it. */ char * -copyin(src, space) - char *src; - char **space; +copyin(char *src, char **space) { char *cp, *top; @@ -183,8 +176,7 @@ static char *date_formats[] = { }; int -isdate(date) - char date[]; +isdate(char date[]) { int i; @@ -200,8 +192,7 @@ isdate(date) * Return 1 if they match, 0 if they don't */ int -cmatch(cp, tp) - char *cp, *tp; +cmatch(char *cp, char *tp) { while (*cp != '\0' && *tp != '\0') @@ -256,8 +247,7 @@ cmatch(cp, tp) * or NULL if none follow. */ char * -nextword(wp, wbuf) - char *wp, *wbuf; +nextword(char *wp, char *wbuf) { int c; Modified: head/usr.bin/mail/lex.c ============================================================================== --- head/usr.bin/mail/lex.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/lex.c Sun Dec 19 16:25:23 2010 (r216564) @@ -62,8 +62,7 @@ extern const char *version; * mail. */ int -setfile(name) - char *name; +setfile(char *name) { FILE *ibuf; int checkmode, i, fd; @@ -165,7 +164,7 @@ nomail: * started reading mail. */ int -incfile() +incfile(void) { off_t newsize; int omsgCount = msgCount; @@ -198,7 +197,7 @@ static int reset_on_stop; /* do a reset * print no prompt. */ void -commands() +commands(void) { int n, eofloop = 0; char linebuf[LINESIZE]; @@ -275,9 +274,7 @@ commands() * Contxt is non-zero if called while composing mail. */ int -execute(linebuf, contxt) - char linebuf[]; - int contxt; +execute(char linebuf[], int contxt) { char word[LINESIZE]; char *arglist[MAXARGC]; @@ -472,8 +469,7 @@ out: * lists to message list functions. */ void -setmsize(sz) - int sz; +setmsize(int sz) { if (msgvec != NULL) @@ -487,8 +483,7 @@ setmsize(sz) */ __const struct cmd * -lex(word) - char word[]; +lex(char word[]) { const struct cmd *cp; @@ -514,8 +509,7 @@ lex(word) * Return true if yep. */ int -isprefix(as1, as2) - const char *as1, *as2; +isprefix(const char *as1, const char *as2) { const char *s1, *s2; @@ -537,10 +531,8 @@ isprefix(as1, as2) static int inithdr; /* am printing startup headers */ -/*ARGSUSED*/ void -intr(s) - int s; +intr(int s __unused) { noreset = 0; @@ -564,8 +556,7 @@ intr(s) * When we wake up after ^Z, reprint the prompt. */ void -stop(s) - int s; +stop(int s) { sig_t old_action = signal(s, SIG_DFL); sigset_t nset; @@ -585,10 +576,8 @@ stop(s) /* * Branch here on hangup signal and simulate "exit". */ -/*ARGSUSED*/ void -hangup(s) - int s; +hangup(int s __unused) { /* nothing to do? */ @@ -600,7 +589,7 @@ hangup(s) * give the message count, and print a header listing. */ void -announce() +announce(void) { int vec[2], mdot; @@ -620,8 +609,7 @@ announce() * Return a likely place to set dot. */ int -newfileinfo(omsgCount) - int omsgCount; +newfileinfo(int omsgCount) { struct message *mp; int u, n, mdot, d, s; @@ -681,10 +669,8 @@ newfileinfo(omsgCount) * Print the current version number. */ -/*ARGSUSED*/ int -pversion(e) - int e; +pversion(int e __unused) { printf("Version %s\n", version); @@ -695,8 +681,7 @@ pversion(e) * Load a file of user definitions. */ void -load(name) - char *name; +load(char *name) { FILE *in, *oldin; Modified: head/usr.bin/mail/list.c ============================================================================== --- head/usr.bin/mail/list.c Sun Dec 19 16:07:53 2010 (r216563) +++ head/usr.bin/mail/list.c Sun Dec 19 16:25:23 2010 (r216564) @@ -52,9 +52,7 @@ __FBSDID("$FreeBSD$"); * Returns the count of messages picked up or -1 on error. */ int -getmsglist(buf, vector, flags) - char *buf; - int *vector, flags; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 18:06:21 2010 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 2C6131065672; Sun, 19 Dec 2010 18:06:21 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1B9D88FC16; Sun, 19 Dec 2010 18:06:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJI6LWH008150; Sun, 19 Dec 2010 18:06:21 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJI6KVh008148; Sun, 19 Dec 2010 18:06:20 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201012191806.oBJI6KVh008148@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 19 Dec 2010 18:06:20 +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: r216565 - head/sys/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: Sun, 19 Dec 2010 18:06:21 -0000 Author: pjd Date: Sun Dec 19 18:06:20 2010 New Revision: 216565 URL: http://svn.freebsd.org/changeset/base/216565 Log: Reduce lock scope a little. Modified: head/sys/nfsserver/nfs_serv.c Modified: head/sys/nfsserver/nfs_serv.c ============================================================================== --- head/sys/nfsserver/nfs_serv.c Sun Dec 19 16:25:23 2010 (r216564) +++ head/sys/nfsserver/nfs_serv.c Sun Dec 19 18:06:20 2010 (r216565) @@ -2826,11 +2826,11 @@ again: io.uio_rw = UIO_READ; io.uio_td = NULL; eofflag = 0; - vn_lock(vp, LK_SHARED | LK_RETRY); if (cookies) { free((caddr_t)cookies, M_TEMP); cookies = NULL; } + vn_lock(vp, LK_SHARED | LK_RETRY); error = VOP_READDIR(vp, &io, cred, &eofflag, &ncookies, &cookies); off = (off_t)io.uio_offset; if (!cookies && !error) @@ -3114,12 +3114,12 @@ again: io.uio_rw = UIO_READ; io.uio_td = NULL; eofflag = 0; - vn_lock(vp, LK_SHARED | LK_RETRY); vp_locked = 1; if (cookies) { free((caddr_t)cookies, M_TEMP); cookies = NULL; } + vn_lock(vp, LK_SHARED | LK_RETRY); error = VOP_READDIR(vp, &io, cred, &eofflag, &ncookies, &cookies); off = (u_quad_t)io.uio_offset; getret = VOP_GETATTR(vp, &at, cred); From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 18:07:10 2010 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 E044F1065670; Sun, 19 Dec 2010 18:07:10 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CFBBB8FC0A; Sun, 19 Dec 2010 18:07:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJI7AAt008235; Sun, 19 Dec 2010 18:07:10 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJI7Amm008233; Sun, 19 Dec 2010 18:07:10 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201012191807.oBJI7Amm008233@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 19 Dec 2010 18:07: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: r216566 - head/share/man/man9 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, 19 Dec 2010 18:07:11 -0000 Author: pjd Date: Sun Dec 19 18:07:10 2010 New Revision: 216566 URL: http://svn.freebsd.org/changeset/base/216566 Log: Correct cookie type to match reality. Modified: head/share/man/man9/VOP_READDIR.9 Modified: head/share/man/man9/VOP_READDIR.9 ============================================================================== --- head/share/man/man9/VOP_READDIR.9 Sun Dec 19 18:06:20 2010 (r216565) +++ head/share/man/man9/VOP_READDIR.9 Sun Dec 19 18:07:10 2010 (r216566) @@ -92,8 +92,7 @@ Memory for the cookies should be allocat .Bd -literal ...; *ncookies = number of entries read; - *cookies = (u_int*)# - malloc(*ncookies * sizeof(u_int), M_TEMP, M_WAITOK); + *cookies = malloc(*ncookies * sizeof(u_long), M_TEMP, M_WAITOK); .Ed .Sh ERRORS .Bl -tag -width Er From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 20:10:49 2010 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 2EB96106566C; Sun, 19 Dec 2010 20:10:49 +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 1D6E08FC1A; Sun, 19 Dec 2010 20:10:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJKAnCi023239; Sun, 19 Dec 2010 20:10:49 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJKAnAU023237; Sun, 19 Dec 2010 20:10:49 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201012192010.oBJKAnAU023237@svn.freebsd.org> From: Doug Barton Date: Sun, 19 Dec 2010 20:10: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: r216568 - in stable/8/etc: periodic/daily 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, 19 Dec 2010 20:10:49 -0000 Author: dougb Date: Sun Dec 19 20:10:48 2010 New Revision: 216568 URL: http://svn.freebsd.org/changeset/base/216568 Log: MFC r215824: Add a sync to the shutdown step. In the common case this will be harmless at worst. On a heavily loaded server it will give the fs a chance to do its business without the axe hanging over its head. Submitted by: ivoras Approved by: re (kib) Modified: stable/8/etc/rc.d/mountcritlocal Directory Properties: stable/8/etc/ (props changed) stable/8/etc/periodic/daily/ (props changed) stable/8/etc/periodic/daily/800.scrub-zfs (props changed) stable/8/etc/periodic/security/ (props changed) Modified: stable/8/etc/rc.d/mountcritlocal ============================================================================== --- stable/8/etc/rc.d/mountcritlocal Sun Dec 19 18:21:25 2010 (r216567) +++ stable/8/etc/rc.d/mountcritlocal Sun Dec 19 20:10:48 2010 (r216568) @@ -5,13 +5,13 @@ # PROVIDE: mountcritlocal # REQUIRE: root -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr name="mountcritlocal" start_cmd="mountcritlocal_start" -stop_cmd=":" +stop_cmd=sync mountcritlocal_start() { From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 20:11:21 2010 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 819A11065674; Sun, 19 Dec 2010 20:11:21 +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 708AC8FC15; Sun, 19 Dec 2010 20:11:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJKBLQM023353; Sun, 19 Dec 2010 20:11:21 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJKBLQf023351; Sun, 19 Dec 2010 20:11:21 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201012192011.oBJKBLQf023351@svn.freebsd.org> From: Doug Barton Date: Sun, 19 Dec 2010 20:11:21 +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: r216569 - stable/7/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, 19 Dec 2010 20:11:21 -0000 Author: dougb Date: Sun Dec 19 20:11:21 2010 New Revision: 216569 URL: http://svn.freebsd.org/changeset/base/216569 Log: MFC r215824: Add a sync to the shutdown step. In the common case this will be harmless at worst. On a heavily loaded server it will give the fs a chance to do its business without the axe hanging over its head. Submitted by: ivoras Approved by: re (kib) Modified: stable/7/etc/rc.d/mountcritlocal Directory Properties: stable/7/etc/ (props changed) Modified: stable/7/etc/rc.d/mountcritlocal ============================================================================== --- stable/7/etc/rc.d/mountcritlocal Sun Dec 19 20:10:48 2010 (r216568) +++ stable/7/etc/rc.d/mountcritlocal Sun Dec 19 20:11:21 2010 (r216569) @@ -5,13 +5,13 @@ # PROVIDE: mountcritlocal # REQUIRE: root -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr name="mountcritlocal" start_cmd="mountcritlocal_start" -stop_cmd=":" +stop_cmd=sync mountcritlocal_start() { From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 20:12:17 2010 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 74A2C106566B; Sun, 19 Dec 2010 20:12:17 +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 63F638FC1C; Sun, 19 Dec 2010 20:12:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJKCHQJ023455; Sun, 19 Dec 2010 20:12:17 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJKCHPZ023453; Sun, 19 Dec 2010 20:12:17 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201012192012.oBJKCHPZ023453@svn.freebsd.org> From: Doug Barton Date: Sun, 19 Dec 2010 20:12:17 +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: r216570 - stable/8 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, 19 Dec 2010 20:12:17 -0000 Author: dougb Date: Sun Dec 19 20:12:17 2010 New Revision: 216570 URL: http://svn.freebsd.org/changeset/base/216570 Log: MFC r216187: Add MAKEDEV.8 Submitted by: Alex Kozlov Approved by: re (kib) Modified: stable/8/ObsoleteFiles.inc (contents, props changed) Modified: stable/8/ObsoleteFiles.inc ============================================================================== --- stable/8/ObsoleteFiles.inc Sun Dec 19 20:11:21 2010 (r216569) +++ stable/8/ObsoleteFiles.inc Sun Dec 19 20:12:17 2010 (r216570) @@ -16,6 +16,8 @@ # 20101123: removed subblock.h from liblzma OLD_FILES+=usr/include/lzma/subblock.h +# 20101114: Remove long-obsolete MAKEDEV.8 +OLD_FILES+=usr/share/man/man8/MAKEDEV.8.gz # 20101112: vgonel(9) has gone to private API a while ago OLD_FILES+=usr/share/man/man9/vgonel.9.gz # 20101025: catch up with vm_page_sleep_if_busy rename From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 20:12:44 2010 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 B3B8E106564A; Sun, 19 Dec 2010 20:12:44 +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 A30978FC1B; Sun, 19 Dec 2010 20:12:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJKCiGP023596; Sun, 19 Dec 2010 20:12:44 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJKCis1023594; Sun, 19 Dec 2010 20:12:44 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201012192012.oBJKCis1023594@svn.freebsd.org> From: Doug Barton Date: Sun, 19 Dec 2010 20:12:44 +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: r216571 - stable/7 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, 19 Dec 2010 20:12:44 -0000 Author: dougb Date: Sun Dec 19 20:12:44 2010 New Revision: 216571 URL: http://svn.freebsd.org/changeset/base/216571 Log: MFC r216187: Add MAKEDEV.8 Submitted by: Alex Kozlov Approved by: re (kib) Modified: stable/7/ObsoleteFiles.inc (contents, props changed) Modified: stable/7/ObsoleteFiles.inc ============================================================================== --- stable/7/ObsoleteFiles.inc Sun Dec 19 20:12:17 2010 (r216570) +++ stable/7/ObsoleteFiles.inc Sun Dec 19 20:12:44 2010 (r216571) @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20101114: Remove long-obsolete MAKEDEV.8 +OLD_FILES+=usr/share/man/man8/MAKEDEV.8.gz # 20101112: vgonel(9) has gone to private API a while ago OLD_FILES+=usr/share/man/man9/vgonel.9.gz # 20101025: catch up with vm_page_sleep_if_busy rename From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 21:18:33 2010 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 B9E5D106564A; Sun, 19 Dec 2010 21:18:33 +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 A90E68FC14; Sun, 19 Dec 2010 21:18:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJLIX0l029002; Sun, 19 Dec 2010 21:18:33 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJLIXmW029000; Sun, 19 Dec 2010 21:18:33 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201012192118.oBJLIXmW029000@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 19 Dec 2010 21:18: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: r216572 - head/sys/compat/freebsd32 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, 19 Dec 2010 21:18:33 -0000 Author: kib Date: Sun Dec 19 21:18:33 2010 New Revision: 216572 URL: http://svn.freebsd.org/changeset/base/216572 Log: Restore the ABI of struct kinfo_proc32 after r213536. MFC after: 3 days Modified: head/sys/compat/freebsd32/freebsd32.h Modified: head/sys/compat/freebsd32/freebsd32.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32.h Sun Dec 19 20:12:44 2010 (r216571) +++ head/sys/compat/freebsd32/freebsd32.h Sun Dec 19 21:18:33 2010 (r216572) @@ -328,6 +328,7 @@ struct kinfo_proc32 { uint32_t ki_pcb; uint32_t ki_kstack; uint32_t ki_udata; + uint32_t ki_tdaddr; uint32_t ki_spareptrs[KI_NSPARE_PTR]; /* spare room for growth */ int ki_sparelongs[KI_NSPARE_LONG]; int ki_sflag; From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 21:33:28 2010 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 E579E106564A; Sun, 19 Dec 2010 21:33:28 +0000 (UTC) (envelope-from joerg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D3DA88FC0A; Sun, 19 Dec 2010 21:33:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJLXSKp030432; Sun, 19 Dec 2010 21:33:28 GMT (envelope-from joerg@svn.freebsd.org) Received: (from joerg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJLXSvF030430; Sun, 19 Dec 2010 21:33:28 GMT (envelope-from joerg@svn.freebsd.org) Message-Id: <201012192133.oBJLXSvF030430@svn.freebsd.org> From: Joerg Wunsch Date: Sun, 19 Dec 2010 21:33:28 +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: r216573 - stable/8/sys/dev/ieee488 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, 19 Dec 2010 21:33:29 -0000 Author: joerg Date: Sun Dec 19 21:33:28 2010 New Revision: 216573 URL: http://svn.freebsd.org/changeset/base/216573 Log: Fix __retval vs. retval confusion: retval is meant to store the (userland) pointer where data is to be returned by ibask() (currently unimplemented), while __retval holds the value returned by the libgpib ibfoo() functions. The confusion resulted in the ibfoo() functions returning an uninitialized value except in situations where the GPIB activity has been terminated abnormally. Implement more of __ibsta: END and SRQI status bits (taken out of the uPD7210 IRQ status). Approved by: re (kib) Modified: stable/8/sys/dev/ieee488/ibfoo.c Modified: stable/8/sys/dev/ieee488/ibfoo.c ============================================================================== --- stable/8/sys/dev/ieee488/ibfoo.c Sun Dec 19 21:18:33 2010 (r216572) +++ stable/8/sys/dev/ieee488/ibfoo.c Sun Dec 19 21:33:28 2010 (r216573) @@ -333,6 +333,14 @@ gpib_ib_wait_xfer(struct upd7210 *u, str break; } } + if ((u->rreg[ISR1] & IXR1_ENDRX) != 0) { + ib->ap->__retval |= END; + ib->ap->__ibsta |= END; + } + if ((u->rreg[ISR2] & IXR2_SRQI) != 0) { + ib->ap->__retval |= SRQI; + ib->ap->__ibsta |= SRQI; + } ib->mode = BUSY; ib->buf = NULL; upd7210_wr(u, IMR1, 0); @@ -1027,7 +1035,7 @@ gpib_ib_ioctl(struct cdev *dev, u_long c ap->__iberr = 0; ap->__ibsta = 0; ap->__ibcnt = 0; - ap->retval = 0; + ap->__retval = 0; if (ap->__field & __F_TMO) { if (ap->tmo < 0 || ap->tmo >= max_timeouts) From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 21:51:11 2010 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 CA9401065695; Sun, 19 Dec 2010 21:51:11 +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 9EE448FC25; Sun, 19 Dec 2010 21:51:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJLpB7S032464; Sun, 19 Dec 2010 21:51:11 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJLpBaA032463; Sun, 19 Dec 2010 21:51:11 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201012192151.oBJLpBaA032463@svn.freebsd.org> From: Doug Barton Date: Sun, 19 Dec 2010 21:51:11 +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: r216574 - stable/8/etc/periodic/daily 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, 19 Dec 2010 21:51:11 -0000 Author: dougb Date: Sun Dec 19 21:51:11 2010 New Revision: 216574 URL: http://svn.freebsd.org/changeset/base/216574 Log: Pull svn:mergeinfo up from subdirectories and files onto etc/ where it belongs. Approved by: re (kib) Modified: Directory Properties: stable/8/etc/ (props changed) stable/8/etc/periodic/daily/ (props changed) stable/8/etc/periodic/daily/800.scrub-zfs (props changed) stable/8/etc/periodic/security/ (props changed) From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 23:09:42 2010 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 DC729106566C; Sun, 19 Dec 2010 23:09:42 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B056B8FC08; Sun, 19 Dec 2010 23:09:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJN9g8v041695; Sun, 19 Dec 2010 23:09:42 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJN9gTv041693; Sun, 19 Dec 2010 23:09:42 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <201012192309.oBJN9gTv041693@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 19 Dec 2010 23:09: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: r216575 - head/usr.sbin/portsnap/portsnap 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, 19 Dec 2010 23:09:43 -0000 Author: simon Date: Sun Dec 19 23:09:42 2010 New Revision: 216575 URL: http://svn.freebsd.org/changeset/base/216575 Log: Add --numeric-owner to tar extract operations in portsnap. This is done to speed up extraction significantly (both for portsnap extract and update) in the case of slow NSS modules (like nss_ldap) as it avoids having to look up uid and gid for root / wheel. The reason this is a bigger problem for portsnap than for many other system operations, is that portsnap executes tar(1) once for each port so the internal uid/gid caching in tar(1) only helps a bit, resulting in many user lookup calls. Discussed with: cperciva Modified: head/usr.sbin/portsnap/portsnap/portsnap.sh Modified: head/usr.sbin/portsnap/portsnap/portsnap.sh ============================================================================== --- head/usr.sbin/portsnap/portsnap/portsnap.sh Sun Dec 19 21:51:11 2010 (r216574) +++ head/usr.sbin/portsnap/portsnap/portsnap.sh Sun Dec 19 23:09:42 2010 (r216575) @@ -632,7 +632,7 @@ fetch_snapshot() { fetch -r http://${SERVERNAME}/s/${SNAPSHOTHASH}.tgz || return 1 echo -n "Extracting snapshot... " - tar -xzf ${SNAPSHOTHASH}.tgz snap/ || return 1 + tar -xz --numeric-owner -f ${SNAPSHOTHASH}.tgz snap/ || return 1 rm ${SNAPSHOTHASH}.tgz echo "done." @@ -896,12 +896,12 @@ extract_run() { */) rm -rf ${PORTSDIR}/${FILE%/} mkdir -p ${PORTSDIR}/${FILE} - tar -xzf ${WORKDIR}/files/${HASH}.gz \ + tar -xz --numeric-owner -f ${WORKDIR}/files/${HASH}.gz \ -C ${PORTSDIR}/${FILE} ;; *) rm -f ${PORTSDIR}/${FILE} - tar -xzf ${WORKDIR}/files/${HASH}.gz \ + tar -xz --numeric-owner -f ${WORKDIR}/files/${HASH}.gz \ -C ${PORTSDIR} ${FILE} ;; esac @@ -966,11 +966,11 @@ update_run() { case ${FILE} in */) mkdir -p ${PORTSDIR}/${FILE} - tar -xzf ${WORKDIR}/files/${HASH}.gz \ + tar -xz --numeric-owner -f ${WORKDIR}/files/${HASH}.gz \ -C ${PORTSDIR}/${FILE} ;; *) - tar -xzf ${WORKDIR}/files/${HASH}.gz \ + tar -xz --numeric-owner -f ${WORKDIR}/files/${HASH}.gz \ -C ${PORTSDIR} ${FILE} ;; esac From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 23:50:36 2010 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 9E637106566C; Sun, 19 Dec 2010 23:50:36 +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 8B1B88FC12; Sun, 19 Dec 2010 23:50:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJNoa9l046670; Sun, 19 Dec 2010 23:50:36 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJNoaxu046668; Sun, 19 Dec 2010 23:50:36 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012192350.oBJNoaxu046668@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 19 Dec 2010 23:50: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: r216576 - 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: Sun, 19 Dec 2010 23:50:36 -0000 Author: yongari Date: Sun Dec 19 23:50:36 2010 New Revision: 216576 URL: http://svn.freebsd.org/changeset/base/216576 Log: ae(4), igb(4), ixgb(4) and ixgbe(4) supports altq(4). Modified: head/share/man/man4/altq.4 Modified: head/share/man/man4/altq.4 ============================================================================== --- head/share/man/man4/altq.4 Sun Dec 19 23:09:42 2010 (r216575) +++ head/share/man/man4/altq.4 Sun Dec 19 23:50:36 2010 (r216576) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 14, 2010 +.Dd December 19, 2010 .Dt ALTQ 4 .Os .Sh NAME @@ -115,6 +115,7 @@ The driver modifications described in are required to use a certain network card with .Nm . They have been applied to the following hardware drivers: +.Xr ae 4 , .Xr age 4 , .Xr alc 4 , .Xr ale 4 , @@ -135,8 +136,11 @@ They have been applied to the following .Xr fxp 4 , .Xr gem 4 , .Xr hme 4 , +.Xr igb 4 , .Xr ipw 4 , .Xr iwi 4 , +.Xr ixgb 4 , +.Xr ixgbe 4 , .Xr jme 4 , .Xr le 4 , .Xr msk 4 , From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 23:53:24 2010 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 3B32C106564A; Sun, 19 Dec 2010 23:53:24 +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 298F38FC0C; Sun, 19 Dec 2010 23:53:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJNrOJm047050; Sun, 19 Dec 2010 23:53:24 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJNrOox047048; Sun, 19 Dec 2010 23:53:24 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012192353.oBJNrOox047048@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 19 Dec 2010 23:53: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: r216577 - 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: Sun, 19 Dec 2010 23:53:24 -0000 Author: yongari Date: Sun Dec 19 23:53:23 2010 New Revision: 216577 URL: http://svn.freebsd.org/changeset/base/216577 Log: Add .Xr to altq(4). Modified: head/share/man/man4/ixgb.4 Modified: head/share/man/man4/ixgb.4 ============================================================================== --- head/share/man/man4/ixgb.4 Sun Dec 19 23:50:36 2010 (r216576) +++ head/share/man/man4/ixgb.4 Sun Dec 19 23:53:23 2010 (r216577) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 18, 2006 +.Dd December 19, 2010 .Dt IXGB 4 .Os .Sh NAME @@ -104,6 +104,7 @@ with a supported adapter, email the spec issue to .Aq freebsdnic@mailbox.intel.com . .Sh SEE ALSO +.Xr altq 4 , .Xr arp 4 , .Xr em 4 , .Xr netintro 4 , From owner-svn-src-all@FreeBSD.ORG Sun Dec 19 23:54:32 2010 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 241AA106564A; Sun, 19 Dec 2010 23:54:32 +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 12A908FC08; Sun, 19 Dec 2010 23:54:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBJNsVIP047238; Sun, 19 Dec 2010 23:54:31 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBJNsVl1047235; Sun, 19 Dec 2010 23:54:31 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012192354.oBJNsVl1047235@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 19 Dec 2010 23:54: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: r216578 - 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: Sun, 19 Dec 2010 23:54:32 -0000 Author: yongari Date: Sun Dec 19 23:54:31 2010 New Revision: 216578 URL: http://svn.freebsd.org/changeset/base/216578 Log: Add .Xr to altq(4). Modified: head/share/man/man4/ixgbe.4 Modified: head/share/man/man4/ixgbe.4 ============================================================================== --- head/share/man/man4/ixgbe.4 Sun Dec 19 23:53:23 2010 (r216577) +++ head/share/man/man4/ixgbe.4 Sun Dec 19 23:54:31 2010 (r216578) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 11, 2008 +.Dd December 19, 2010 .Dt IXGBE 4 .Os .Sh NAME @@ -107,6 +107,7 @@ with a supported adapter, email the spec issue to .Aq freebsdnic@mailbox.intel.com . .Sh SEE ALSO +.Xr altq 4 , .Xr arp 4 , .Xr netintro 4 , .Xr ng_ether 4 , From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 00:10:53 2010 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 EA92E1065675; Mon, 20 Dec 2010 00:10:53 +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 D8C918FC16; Mon, 20 Dec 2010 00:10:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK0ArI6049165; Mon, 20 Dec 2010 00:10:53 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK0Arde049163; Mon, 20 Dec 2010 00:10:53 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012200010.oBK0Arde049163@svn.freebsd.org> From: Pyun YongHyeon Date: Mon, 20 Dec 2010 00:10: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: r216579 - 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: Mon, 20 Dec 2010 00:10:54 -0000 Author: yongari Date: Mon Dec 20 00:10:53 2010 New Revision: 216579 URL: http://svn.freebsd.org/changeset/base/216579 Log: igb(4), ixgbe(4), mxge(4) and nxge(4) support VLAN hardware tag insertion/stripping. et(4) and fwe(4) support VLAN oversized frames. Modified: head/share/man/man4/vlan.4 Modified: head/share/man/man4/vlan.4 ============================================================================== --- head/share/man/man4/vlan.4 Sun Dec 19 23:54:31 2010 (r216578) +++ head/share/man/man4/vlan.4 Mon Dec 20 00:10:53 2010 (r216579) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 14, 2010 +.Dd December 19, 2010 .Dt VLAN 4 .Os .Sh NAME @@ -129,9 +129,13 @@ in the hardware is limited to the follow .Xr bge 4 , .Xr cxgb 4 , .Xr em 4 , +.Xr igb 4 , .Xr ixgb 4 , +.Xr ixgbe 4 , .Xr jme 4 , .Xr msk 4 , +.Xr mxge 4 , +.Xr nxge 4 , .Xr nge 4 , .Xr re 4 , .Xr sge 4 , @@ -164,8 +168,10 @@ natively: .Xr bfe 4 , .Xr cas 4 , .Xr dc 4 , +.Xr et 4 , .Xr fwe 4 , .Xr fxp 4 , +.Xr fwe 4 , .Xr gem 4 , .Xr hme 4 , .Xr le 4 , From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 00:23:47 2010 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 DA82E1065670; Mon, 20 Dec 2010 00:23:47 +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 C8A238FC08; Mon, 20 Dec 2010 00:23:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK0Nl6h050789; Mon, 20 Dec 2010 00:23:47 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK0NlDh050787; Mon, 20 Dec 2010 00:23:47 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012200023.oBK0NlDh050787@svn.freebsd.org> From: Pyun YongHyeon Date: Mon, 20 Dec 2010 00:23: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: r216580 - 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: Mon, 20 Dec 2010 00:23:47 -0000 Author: yongari Date: Mon Dec 20 00:23:47 2010 New Revision: 216580 URL: http://svn.freebsd.org/changeset/base/216580 Log: Add ae(4) to the list of drivers use the miibus interface. Modified: head/share/man/man4/miibus.4 Modified: head/share/man/man4/miibus.4 ============================================================================== --- head/share/man/man4/miibus.4 Mon Dec 20 00:10:53 2010 (r216579) +++ head/share/man/man4/miibus.4 Mon Dec 20 00:23:47 2010 (r216580) @@ -8,7 +8,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 14, 2010 +.Dd December 19, 2010 .Dt MIIBUS 4 .Os .Sh NAME @@ -45,6 +45,8 @@ The following network device drivers use interface: .Pp .Bl -tag -compact -width ".Xr fxp 4" +.It Xr ae 4 +Attansic/Atheros L2 Fast Ethernet .It Xr age 4 Attansic/Atheros L1 Gigabit Ethernet .It Xr alc 4 @@ -132,6 +134,7 @@ and .Nx , but as a result are not well behaved newbus device drivers. .Sh SEE ALSO +.Xr ae 4 , .Xr age 4 , .Xr alc 4 , .Xr ale 4 , From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 00:27:40 2010 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 B5B33106566C; Mon, 20 Dec 2010 00:27:40 +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 89EE28FC14; Mon, 20 Dec 2010 00:27:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK0Re8V051288; Mon, 20 Dec 2010 00:27:40 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK0ReJh051286; Mon, 20 Dec 2010 00:27:40 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201012200027.oBK0ReJh051286@svn.freebsd.org> From: Pyun YongHyeon Date: Mon, 20 Dec 2010 00:27: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: r216581 - 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: Mon, 20 Dec 2010 00:27:40 -0000 Author: yongari Date: Mon Dec 20 00:27:40 2010 New Revision: 216581 URL: http://svn.freebsd.org/changeset/base/216581 Log: Oops, fwe(4) listed twice. Modified: head/share/man/man4/vlan.4 Modified: head/share/man/man4/vlan.4 ============================================================================== --- head/share/man/man4/vlan.4 Mon Dec 20 00:23:47 2010 (r216580) +++ head/share/man/man4/vlan.4 Mon Dec 20 00:27:40 2010 (r216581) @@ -171,7 +171,6 @@ natively: .Xr et 4 , .Xr fwe 4 , .Xr fxp 4 , -.Xr fwe 4 , .Xr gem 4 , .Xr hme 4 , .Xr le 4 , From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 07:39:41 2010 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 71C3D106566C; Mon, 20 Dec 2010 07:39:41 +0000 (UTC) (envelope-from swell.k@gmail.com) Received: from mail-yx0-f196.google.com (mail-yx0-f196.google.com [209.85.213.196]) by mx1.freebsd.org (Postfix) with ESMTP id 00A878FC14; Mon, 20 Dec 2010 07:39:40 +0000 (UTC) Received: by yxf34 with SMTP id 34so962062yxf.7 for ; Sun, 19 Dec 2010 23:39:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:references :date:in-reply-to:message-id:user-agent:mime-version:content-type; bh=Wrtra7mhK/PzuTZLZPmq3/QmN2R49FaR1cA15BWpBGA=; b=ncCrBrQZcixwNmtyh6KEgk2vGwnNbRiXMshZmdgx56jTr0i/pGLDkW2BRONf9Evg86 8sy14DSc1owfz5JE8mI61bYom2ojPfvKGKZishQEIrjb7B6eWkvlO6aENqNnr04zqhvN ZDlYwL1r3RE95ZbFYe0P7bGVlM1UpRcZlVkaw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; b=qmVyWUsQTTfE4lLatZbI1sf2dVR4XDBzIQUOzLTuGt36PWfIgJtF4UsACRTWL0Zccn bxunwgub6qNn9uQ7XgExZVbmOETTSZVkxtND0lv7BhRr81jltlYvORNeCFlId0J/QvhJ YYKoVnOHLt/6FBqgwTK4GAsAI8rIJAuXJ1vTM= Received: by 10.90.82.16 with SMTP id f16mr5097482agb.67.1292830780132; Sun, 19 Dec 2010 23:39:40 -0800 (PST) Received: from localhost ([199.48.147.45]) by mx.google.com with ESMTPS id e24sm8014917ana.22.2010.12.19.23.39.38 (version=SSLv3 cipher=RC4-MD5); Sun, 19 Dec 2010 23:39:39 -0800 (PST) From: Anonymous To: "David E. O'Brien" References: <201009162231.o8GMV3Ov009118__30279.1559639902$1284676285$gmane$org@svn.freebsd.org> Date: Mon, 20 Dec 2010 10:39:34 +0300 In-Reply-To: <201009162231.o8GMV3Ov009118__30279.1559639902$1284676285$gmane$org@svn.freebsd.org> (David E. O'Brien's message of "Thu, 16 Sep 2010 22:31:03 +0000 (UTC)") Message-ID: <86sjxsq4eh.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: r212770 - head/usr.bin/script 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, 20 Dec 2010 07:39:41 -0000 "David E. O'Brien" writes: > Author: obrien > Date: Thu Sep 16 22:31:03 2010 > New Revision: 212770 > URL: http://svn.freebsd.org/changeset/base/212770 > > Log: > + Add the 'command' argument (if supplied on the command line) to the > typescript file. This creates a more complete typescript when invoked > this way - more equal to invoking script without supplying the 'command' > argument. [...] > + if (av[0]) > + for (k = 0 ; av[k] ; ++k) > + fprintf(fscript, "%s%s", k ? " " : "", av[k]); > + fprintf(fscript, "\r\n"); > + Can you make it opt-in? It breaks scripts that do not expect anything other than command output in a typescript. For example, timestamps can be disabled by `-q' option. Which make below syntax script -q file command ... another way to write command >file 2>&1 but it captures output sent to /dev/tty, too. Besides, the commit also breaks bin/114465, a replay feature from NetBSD. From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 08:29:55 2010 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 196241065675; Mon, 20 Dec 2010 08:29:55 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 082948FC08; Mon, 20 Dec 2010 08:29:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK8Ts0B021710; Mon, 20 Dec 2010 08:29:54 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK8TsnU021707; Mon, 20 Dec 2010 08:29:54 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012200829.oBK8TsnU021707@svn.freebsd.org> From: Philippe Charnier Date: Mon, 20 Dec 2010 08:29: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: r216582 - head/libexec/getty 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, 20 Dec 2010 08:29:55 -0000 Author: charnier Date: Mon Dec 20 08:29:54 2010 New Revision: 216582 URL: http://svn.freebsd.org/changeset/base/216582 Log: Add __unused. Ansi prototypes. Modified: head/libexec/getty/chat.c head/libexec/getty/main.c Modified: head/libexec/getty/chat.c ============================================================================== --- head/libexec/getty/chat.c Mon Dec 20 00:27:40 2010 (r216581) +++ head/libexec/getty/chat.c Mon Dec 20 08:29:54 2010 (r216582) @@ -23,10 +23,8 @@ * For semi-intelligent modem handling. */ -#ifndef lint -static const char rcsid[] = - "$FreeBSD$"; -#endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -78,7 +76,7 @@ static int chat_send(char const *); */ static void -chat_alrm(int signo) +chat_alrm(int signo __unused) { int on = 1; Modified: head/libexec/getty/main.c ============================================================================== --- head/libexec/getty/main.c Mon Dec 20 00:27:40 2010 (r216581) +++ head/libexec/getty/main.c Mon Dec 20 08:29:54 2010 (r216582) @@ -41,9 +41,9 @@ static const char copyright[] = #if 0 static char sccsid[] = "@(#)from: main.c 8.1 (Berkeley) 6/20/93"; #endif -static const char rcsid[] = - "$FreeBSD$"; #endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -799,7 +799,7 @@ putf(const char *cp) * Read a gettytab database entry and perform necessary quirks. */ static void -dogettytab() +dogettytab(void) { /* Read the database entry. */ From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 08:34:55 2010 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 6A32F1065696; Mon, 20 Dec 2010 08:34:55 +0000 (UTC) (envelope-from swell.k@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id CE27F8FC1E; Mon, 20 Dec 2010 08:34:54 +0000 (UTC) Received: by qwj9 with SMTP id 9so2367044qwj.13 for ; Mon, 20 Dec 2010 00:34:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:references :date:in-reply-to:message-id:user-agent:mime-version:content-type; bh=TNnKXU33OdTnMAS85BHqOPTR3S1mshSzIgH/O31tIWk=; b=RbrkN88XY/yhI7XGhCV9o05mqQmR5YmTt/0zzbqJnHxBlYu4OjzoU/vET/rN0Zugkx OzdBYkBLrEZBoDzYd4O25lzTkiBfgZX4l2XKD4636A0hOMBEnJyNO7z+cdlfsTC8mMqd fof6RVTxKWQDlq8r7nS5oy9ukIqdJE0Hik9Nc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; b=EOaQZ5864JRlu8uCHHj9Ui+QNU+qYWBAeX4fs/tGap9rkvxoG2g45JMsYguZGQQz1v JggdsP1zOSUyJ0MlhVHVI40KNLPDrDMu3WGmKXD1i31UPgTWZmxIPhekS9PfYE+8RU7H EWIcgdbQwKdF6zbZ1tOC609kbBatAZLuSKrKw= Received: by 10.224.6.67 with SMTP id 3mr3791593qay.80.1292834093742; Mon, 20 Dec 2010 00:34:53 -0800 (PST) Received: from localhost (anonymizer6.torservers.net [174.36.199.203]) by mx.google.com with ESMTPS id l12sm2041632qcu.43.2010.12.20.00.34.51 (version=SSLv3 cipher=RC4-MD5); Mon, 20 Dec 2010 00:34:53 -0800 (PST) From: Anonymous To: "David E. O'Brien" References: <201009162231.o8GMV3Ov009118__30279.1559639902$1284676285$gmane$org@svn.freebsd.org> <86sjxsq4eh.fsf__10621.3107625537$1292830823$gmane$org@gmail.com> Date: Mon, 20 Dec 2010 11:34:47 +0300 In-Reply-To: <86sjxsq4eh.fsf__10621.3107625537$1292830823$gmane$org@gmail.com> (Anonymous's message of "Mon, 20 Dec 2010 10:39:34 +0300") Message-ID: <86wrn4ona0.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: r212770 - head/usr.bin/script 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, 20 Dec 2010 08:34:55 -0000 Anonymous writes: > "David E. O'Brien" writes: > >> Author: obrien >> Date: Thu Sep 16 22:31:03 2010 >> New Revision: 212770 >> URL: http://svn.freebsd.org/changeset/base/212770 >> >> Log: >> + Add the 'command' argument (if supplied on the command line) to the >> typescript file. This creates a more complete typescript when invoked >> this way - more equal to invoking script without supplying the 'command' >> argument. > [...] >> + if (av[0]) >> + for (k = 0 ; av[k] ; ++k) >> + fprintf(fscript, "%s%s", k ? " " : "", av[k]); >> + fprintf(fscript, "\r\n"); >> + > > Can you make it opt-in? It breaks scripts that do not expect anything > other than command output in a typescript. For example, timestamps can > be disabled by `-q' option. So, how about putting it under `-q' and making it more easy to notice. %% Index: usr.bin/script/script.1 =================================================================== --- usr.bin/script/script.1 (revision 216581) +++ usr.bin/script/script.1 (working copy) @@ -75,7 +75,7 @@ .It Fl k Log keys sent to program as well as output. .It Fl q -Run in quiet mode, omit the start and stop status messages. +Run in quiet mode, omit the start, stop and command status messages. .It Fl t Ar time Specify time interval between flushing script output file. A value of 0 Index: usr.bin/script/script.c =================================================================== --- usr.bin/script/script.c (revision 216581) +++ usr.bin/script/script.c (working copy) @@ -86,6 +86,7 @@ char ibuf[BUFSIZ]; fd_set rfd; int flushtime = 30; + int k; aflg = kflg = 0; while ((ch = getopt(argc, argv, "aqkt:")) != -1) @@ -137,6 +138,11 @@ tvec = time(NULL); (void)printf("Script started, output file is %s\n", fname); (void)fprintf(fscript, "Script started on %s", ctime(&tvec)); + if (argv[0]) + fprintf(fscript, "command: "); + for (k = 0 ; argv[k] ; ++k) + fprintf(fscript, "%s%s", k ? " " : "", argv[k]); + fprintf(fscript, "\n"); fflush(fscript); } if (ttyflg) { @@ -231,17 +237,11 @@ doshell(char **av) { const char *shell; - int k; shell = getenv("SHELL"); if (shell == NULL) shell = _PATH_BSHELL; - if (av[0]) - for (k = 0 ; av[k] ; ++k) - fprintf(fscript, "%s%s", k ? " " : "", av[k]); - fprintf(fscript, "\r\n"); - (void)close(master); (void)fclose(fscript); login_tty(slave); %% From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 08:37:26 2010 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 C24F61065670; Mon, 20 Dec 2010 08:37:26 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B12DA8FC19; Mon, 20 Dec 2010 08:37:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK8bQA7023363; Mon, 20 Dec 2010 08:37:26 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK8bQtU023361; Mon, 20 Dec 2010 08:37:26 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012200837.oBK8bQtU023361@svn.freebsd.org> From: Philippe Charnier Date: Mon, 20 Dec 2010 08:37: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: r216583 - head/libexec/rbootd 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, 20 Dec 2010 08:37:26 -0000 Author: charnier Date: Mon Dec 20 08:37:26 2010 New Revision: 216583 URL: http://svn.freebsd.org/changeset/base/216583 Log: Add __unused Modified: head/libexec/rbootd/rbootd.c Modified: head/libexec/rbootd/rbootd.c ============================================================================== --- head/libexec/rbootd/rbootd.c Mon Dec 20 08:29:54 2010 (r216582) +++ head/libexec/rbootd/rbootd.c Mon Dec 20 08:37:26 2010 (r216583) @@ -54,9 +54,9 @@ static const char copyright[] = #if 0 static const char sccsid[] = "@(#)rbootd.c 8.1 (Berkeley) 6/4/93"; #endif -static const char rcsid[] = - "$FreeBSD$"; #endif /* not lint */ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -397,7 +397,7 @@ Exit(int sig) ** - This routine must be called with SIGHUP blocked. */ void -ReConfig(int signo) +ReConfig(int signo __unused) { syslog(LOG_NOTICE, "reconfiguring boot server"); @@ -423,7 +423,7 @@ ReConfig(int signo) ** - Debug file is closed. */ void -DebugOff(int signo) +DebugOff(int signo __unused) { if (DbgFp != NULL) (void) fclose(DbgFp); @@ -445,7 +445,7 @@ DebugOff(int signo) ** otherwise do nothing. */ void -DebugOn(int signo) +DebugOn(int signo __unused) { if (DbgFp == NULL) { if ((DbgFp = fopen(DbgFile, "w")) == NULL) From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 08:44:09 2010 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 5BC5E106566B; Mon, 20 Dec 2010 08:44:09 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 322118FC1B; Mon, 20 Dec 2010 08:44:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK8i80a024697; Mon, 20 Dec 2010 08:44:08 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK8i8dU024695; Mon, 20 Dec 2010 08:44:08 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012200844.oBK8i8dU024695@svn.freebsd.org> From: Philippe Charnier Date: Mon, 20 Dec 2010 08:44: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: r216584 - head/libexec/rlogind 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, 20 Dec 2010 08:44:09 -0000 Author: charnier Date: Mon Dec 20 08:44:08 2010 New Revision: 216584 URL: http://svn.freebsd.org/changeset/base/216584 Log: Add __unused Modified: head/libexec/rlogind/rlogind.c Modified: head/libexec/rlogind/rlogind.c ============================================================================== --- head/libexec/rlogind/rlogind.c Mon Dec 20 08:37:26 2010 (r216583) +++ head/libexec/rlogind/rlogind.c Mon Dec 20 08:44:08 2010 (r216584) @@ -477,7 +477,7 @@ protocol(int f, int p) } void -cleanup(int signo) +cleanup(int signo __unused) { shutdown(netf, SHUT_RDWR); From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 08:47:43 2010 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 9F8F9106566C; Mon, 20 Dec 2010 08:47:43 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7448A8FC13; Mon, 20 Dec 2010 08:47:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK8lhlq025492; Mon, 20 Dec 2010 08:47:43 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK8lhva025490; Mon, 20 Dec 2010 08:47:43 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012200847.oBK8lhva025490@svn.freebsd.org> From: Philippe Charnier Date: Mon, 20 Dec 2010 08:47: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: r216585 - head/usr.bin/rsh 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, 20 Dec 2010 08:47:43 -0000 Author: charnier Date: Mon Dec 20 08:47:43 2010 New Revision: 216585 URL: http://svn.freebsd.org/changeset/base/216585 Log: Add __unused Modified: head/usr.bin/rsh/rsh.c Modified: head/usr.bin/rsh/rsh.c ============================================================================== --- head/usr.bin/rsh/rsh.c Mon Dec 20 08:44:08 2010 (r216584) +++ head/usr.bin/rsh/rsh.c Mon Dec 20 08:47:43 2010 (r216585) @@ -328,7 +328,7 @@ done: } void -connect_timeout(int sig) +connect_timeout(int sig __unused) { char message[] = "timeout reached before connection completed.\n"; From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 08:54:31 2010 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 29965106566C; Mon, 20 Dec 2010 08:54:31 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 185108FC1B; Mon, 20 Dec 2010 08:54:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK8sUqV026923; Mon, 20 Dec 2010 08:54:30 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK8sUrl026921; Mon, 20 Dec 2010 08:54:30 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012200854.oBK8sUrl026921@svn.freebsd.org> From: Philippe Charnier Date: Mon, 20 Dec 2010 08:54: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: r216586 - head/usr.sbin/mld6query 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, 20 Dec 2010 08:54:31 -0000 Author: charnier Date: Mon Dec 20 08:54:30 2010 New Revision: 216586 URL: http://svn.freebsd.org/changeset/base/216586 Log: Add __unused. Ansi prototypes. Modified: head/usr.sbin/mld6query/mld6.c Modified: head/usr.sbin/mld6query/mld6.c ============================================================================== --- head/usr.sbin/mld6query/mld6.c Mon Dec 20 08:47:43 2010 (r216585) +++ head/usr.sbin/mld6query/mld6.c Mon Dec 20 08:54:30 2010 (r216586) @@ -1,5 +1,4 @@ /* $KAME: mld6.c,v 1.15 2003/04/02 11:29:54 suz Exp $ */ -/* $FreeBSD$ */ /* * Copyright (C) 1998 WIDE Project. @@ -29,6 +28,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ + +#include +__FBSDID("$FreeBSD$"); + #include #include #include @@ -330,9 +333,8 @@ dump(int s) fflush(stdout); } -/* ARGSUSED */ void -quit(int signum) +quit(int signum __unused) { mreq.ipv6mr_multiaddr = any; mreq.ipv6mr_interface = ifindex; @@ -344,7 +346,7 @@ quit(int signum) } void -usage() +usage(void) { (void)fprintf(stderr, "usage: mld6query ifname [addr]\n"); exit(1); From owner-svn-src-all@FreeBSD.ORG Mon Dec 20 09:28:28 2010 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 A717D106564A; Mon, 20 Dec 2010 09:28:28 +0000 (UTC) (envelope-from charnier@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 944DE8FC1A; Mon, 20 Dec 2010 09:28:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBK9SSYh033354; Mon, 20 Dec 2010 09:28:28 GMT (envelope-from charnier@svn.freebsd.org) Received: (from charnier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBK9SSdY033352; Mon, 20 Dec 2010 09:28:28 GMT (envelope-from charnier@svn.freebsd.org) Message-Id: <201012200928.oBK9SSdY033352@svn.freebsd.org> From: Philippe Charnier Date: Mon, 20 Dec 2010 09:28: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: r216587 - 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: Mon, 20 Dec 2010 09:28:28 -0000 Author: charnier Date: Mon Dec 20 09:28:28 2010 New Revision: 216587 URL: http://svn.freebsd.org/changeset/base/216587 Log: Add __unused. Ansi prototypes. Modified: head/usr.sbin/mountd/mountd.c Modified: head/usr.sbin/mountd/mountd.c ============================================================================== --- head/usr.sbin/mountd/mountd.c Mon Dec 20 08:54:30 2010 (r216586) +++ head/usr.sbin/mountd/mountd.c Mon Dec 20 09:28:28 2010 (r216587) @@ -196,6 +196,7 @@ void mntsrv(struct svc_req *, SVCXPRT *) void nextfield(char **, char **); void out_of_mem(void); void parsecred(char *, struct xucred *); +int parsesec(char *, struct exportlist *); int put_exlist(struct dirlist *, XDR *, struct dirlist *, int *, int); void *sa_rawaddr(struct sockaddr *sa, int *nbytes); int sacmp(struct sockaddr *sa1, struct sockaddr *sa2, @@ -205,6 +206,7 @@ static void usage(void); int xdr_dir(XDR *, char *); int xdr_explist(XDR *, caddr_t); int xdr_explist_brief(XDR *, caddr_t); +int xdr_explist_common(XDR *, caddr_t, int); int xdr_fhs(XDR *, caddr_t); int xdr_mlist(XDR *, caddr_t); void terminate(int); @@ -269,9 +271,7 @@ int debug = 0; * and "-n" to allow nonroot mount. */ int -main(argc, argv) - int argc; - char **argv; +main(int argc, char **argv) { fd_set readfds; struct netconfig *nconf; @@ -729,7 +729,7 @@ create_service(struct netconfig *nconf) } static void -usage() +usage(void) { fprintf(stderr, "usage: mountd [-2] [-d] [-e] [-l] [-n] [-p ] [-r] " @@ -741,9 +741,7 @@ usage() * The mount rpc service */ void -mntsrv(rqstp, transp) - struct svc_req *rqstp; - SVCXPRT *transp; +mntsrv(struct svc_req *rqstp, SVCXPRT *transp) { struct exportlist *ep; struct dirlist *dp; @@ -949,9 +947,7 @@ mntsrv(rqstp, transp) * Xdr conversion for a dirpath string */ int -xdr_dir(xdrsp, dirp) - XDR *xdrsp; - char *dirp; +xdr_dir(XDR *xdrsp, char *dirp) { return (xdr_string(xdrsp, &dirp, MNTPATHLEN)); } @@ -960,9 +956,7 @@ xdr_dir(xdrsp, dirp) * Xdr routine to generate file handle reply */ int -xdr_fhs(xdrsp, cp) - XDR *xdrsp; - caddr_t cp; +xdr_fhs(XDR *xdrsp, caddr_t cp) { struct fhreturn *fhrp = (struct fhreturn *)cp; u_long ok = 0, len, auth; @@ -998,9 +992,7 @@ xdr_fhs(xdrsp, cp) } int -xdr_mlist(xdrsp, cp) - XDR *xdrsp; - caddr_t cp; +xdr_mlist(XDR *xdrsp, caddr_t cp __unused) { struct mountlist *mlp; int true = 1; @@ -1028,10 +1020,7 @@ xdr_mlist(xdrsp, cp) * Xdr conversion for export list */ int -xdr_explist_common(xdrsp, cp, brief) - XDR *xdrsp; - caddr_t cp; - int brief; +xdr_explist_common(XDR *xdrsp, caddr_t cp __unused, int brief) { struct exportlist *ep; int false = 0; @@ -1067,12 +1056,8 @@ errout: * directory paths. */ int -put_exlist(dp, xdrsp, adp, putdefp, brief) - struct dirlist *dp; - XDR *xdrsp; - struct dirlist *adp; - int *putdefp; - int brief; +put_exlist(struct dirlist *dp, XDR *xdrsp, struct dirlist *adp, int *putdefp, + int brief) { struct grouplist *grp; struct hostlist *hp; @@ -1135,18 +1120,14 @@ put_exlist(dp, xdrsp, adp, putdefp, brie } int -xdr_explist(xdrsp, cp) - XDR *xdrsp; - caddr_t cp; +xdr_explist(XDR *xdrsp, caddr_t cp) { return xdr_explist_common(xdrsp, cp, 0); } int -xdr_explist_brief(xdrsp, cp) - XDR *xdrsp; - caddr_t cp; +xdr_explist_brief(XDR *xdrsp, caddr_t cp) { return xdr_explist_common(xdrsp, cp, 1); @@ -1160,7 +1141,7 @@ FILE *exp_file; * Get the export list from one, currently open file */ static void -get_exportlist_one() +get_exportlist_one(void) { struct exportlist *ep, *ep2; struct grouplist *grp, *tgrp; @@ -1470,7 +1451,7 @@ nextline: * Get the export list from all specified files */ void -get_exportlist() +get_exportlist(void) { struct exportlist *ep, *ep2; struct grouplist *grp, *tgrp; @@ -1621,7 +1602,7 @@ get_exportlist() * Allocate an export list element */ struct exportlist * -get_exp() +get_exp(void) { struct exportlist *ep; @@ -1636,7 +1617,7 @@ get_exp() * Allocate a group list element */ struct grouplist * -get_grp() +get_grp(void) { struct grouplist *gp; @@ -1651,9 +1632,7 @@ get_grp() * Clean up upon an error in get_exportlist(). */ void -getexp_err(ep, grp) - struct exportlist *ep; - struct grouplist *grp; +getexp_err(struct exportlist *ep, struct grouplist *grp) { struct grouplist *tgrp; @@ -1672,8 +1651,7 @@ getexp_err(ep, grp) * Search the export list for a matching fs. */ struct exportlist * -ex_search(fsid) - fsid_t *fsid; +ex_search(fsid_t *fsid) { struct exportlist *ep; @@ -1691,10 +1669,7 @@ ex_search(fsid) * Add a directory path to the list. */ char * -add_expdir(dpp, cp, len) - struct dirlist **dpp; - char *cp; - int len; +add_expdir(struct dirlist **dpp, char *cp, int len) { struct dirlist *dp; @@ -1715,11 +1690,8 @@ add_expdir(dpp, cp, len) * and update the entry for host. */ void -hang_dirp(dp, grp, ep, flags) - struct dirlist *dp; - struct grouplist *grp; - struct exportlist *ep; - int flags; +hang_dirp(struct dirlist *dp, struct grouplist *grp, struct exportlist *ep, + int flags) { struct hostlist *hp; struct dirlist *dp2; @@ -1756,11 +1728,8 @@ hang_dirp(dp, grp, ep, flags) * for the new directory or adding the new node. */ void -add_dlist(dpp, newdp, grp, flags) - struct dirlist **dpp; - struct dirlist *newdp; - struct grouplist *grp; - int flags; +add_dlist(struct dirlist **dpp, struct dirlist *newdp, struct grouplist *grp, + int flags) { struct dirlist *dp; struct hostlist *hp; @@ -1803,9 +1772,7 @@ add_dlist(dpp, newdp, grp, flags) * Search for a dirpath on the export point. */ struct dirlist * -dirp_search(dp, dirp) - struct dirlist *dp; - char *dirp; +dirp_search(struct dirlist *dp, char *dirp) { int cmp; @@ -1825,11 +1792,8 @@ dirp_search(dp, dirp) * Scan for a host match in a directory tree. */ int -chk_host(dp, saddr, defsetp, hostsetp) - struct dirlist *dp; - struct sockaddr *saddr; - int *defsetp; - int *hostsetp; +chk_host(struct dirlist *dp, struct sockaddr *saddr, int *defsetp, + int *hostsetp) { struct hostlist *hp; struct grouplist *grp; @@ -1872,9 +1836,7 @@ chk_host(dp, saddr, defsetp, hostsetp) * Scan tree for a host that matches the address. */ int -scan_tree(dp, saddr) - struct dirlist *dp; - struct sockaddr *saddr; +scan_tree(struct dirlist *dp, struct sockaddr *saddr) { int defset, hostset; @@ -1893,8 +1855,7 @@ scan_tree(dp, saddr) * Traverse the dirlist tree and free it up. */ void -free_dir(dp) - struct dirlist *dp; +free_dir(struct dirlist *dp) { if (dp) { @@ -1909,9 +1870,7 @@ free_dir(dp) * Parse a colon separated list of security flavors */ int -parsesec(seclist, ep) - char *seclist; - struct exportlist *ep; +parsesec(char *seclist, struct exportlist *ep) { char *cp, savedc; int flavor; @@ -1962,13 +1921,8 @@ parsesec(seclist, ep) * -