From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 00:33:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F41D5106564A; Sun, 6 Feb 2011 00:33:12 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id CA62E8FC17; Sun, 6 Feb 2011 00:33:12 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 7C27E46B8A; Sat, 5 Feb 2011 19:33:12 -0500 (EST) Date: Sun, 6 Feb 2011 00:33:12 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: John Baldwin In-Reply-To: <58E18E40-3670-429A-A8D9-0A1C65E99CC5@freebsd.org> Message-ID: References: <201102031922.p13JML8i055697@svn.freebsd.org> <4D4C45C9.4080105@freebsd.org> <201102041356.39777.jhb@freebsd.org> <58E18E40-3670-429A-A8D9-0A1C65E99CC5@freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, Randall Stewart , svn-src-all@freebsd.org, src-committers@freebsd.org, Julian Elischer Subject: Re: svn commit: r218232 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 00:33:13 -0000 On Fri, 4 Feb 2011, Robert N. M. Watson wrote: > On 4 Feb 2011, at 10:56, John Baldwin wrote: > >> The difference here is that FOREACH_THREAD_IN_PROC() is just a >> TAILQ_FOREACH(). The CPU iterators are more complex. >> >> I agree that that we should have topology-aware iterators, though part of >> the problem is what do you iterate? We'd have to create new sets of >> package and core IDs. >> >> For HWTHREAD_FOREACH() you can already use CPU_FOREACH(). > > Yeah, I have no real opinion on spelling at all. Rather, I'm of the opinion > that we need some more semantics in order to express useful concepts, and > make it easy to represent things like "one X per package", and "find me the > closest X to which I wish to enqueue this request". And just to expand on this thought slightly: I'd like it to answer the question without dirtying cache lines for shared data (so no locks, etc). That way we can do it cheaply per-packet if need be. Robert From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 01:00:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FF39106564A; Sun, 6 Feb 2011 01:00:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D3AD8FC08; Sun, 6 Feb 2011 01:00: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 p1610es6047342; Sun, 6 Feb 2011 01:00:40 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1610ekh047340; Sun, 6 Feb 2011 01:00:40 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201102060100.p1610ekh047340@svn.freebsd.org> From: Ed Maste Date: Sun, 6 Feb 2011 01:00:40 +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: r218361 - stable/7/sys/dev/aac X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 01:00:40 -0000 Author: emaste Date: Sun Feb 6 01:00:40 2011 New Revision: 218361 URL: http://svn.freebsd.org/changeset/base/218361 Log: MFC r218207: Revert part of r173264. Both aac_ioctl_sendfib and aac_ioctl_send_raw_srb make use of the aac_ioctl_event callback, if acc_alloc_command fails. This can end up in an infinite loop in the while loop in aac_release_command. Modified: stable/7/sys/dev/aac/aac.c 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/dev/aac/aac.c ============================================================================== --- stable/7/sys/dev/aac/aac.c Sat Feb 5 23:32:17 2011 (r218360) +++ stable/7/sys/dev/aac/aac.c Sun Feb 6 01:00:40 2011 (r218361) @@ -1411,11 +1411,7 @@ aac_release_command(struct aac_command * aac_enqueue_free(cm); - /* - * Dequeue all events so that there's no risk of events getting - * stranded. - */ - while ((event = TAILQ_FIRST(&sc->aac_ev_cmfree)) != NULL) { + if ((event = TAILQ_FIRST(&sc->aac_ev_cmfree)) != NULL) { TAILQ_REMOVE(&sc->aac_ev_cmfree, event, ev_links); event->ev_callback(sc, event, event->ev_arg); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 01:13:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B014106566B; Sun, 6 Feb 2011 01:13:10 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 683B28FC08; Sun, 6 Feb 2011 01:13: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 p161DA2G047672; Sun, 6 Feb 2011 01:13:10 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p161DAoK047670; Sun, 6 Feb 2011 01:13:10 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201102060113.p161DAoK047670@svn.freebsd.org> From: Ed Maste Date: Sun, 6 Feb 2011 01:13:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218362 - stable/8/sys/dev/aac X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 01:13:10 -0000 Author: emaste Date: Sun Feb 6 01:13:10 2011 New Revision: 218362 URL: http://svn.freebsd.org/changeset/base/218362 Log: MFC r218207: Revert part of r173264. Both aac_ioctl_sendfib and aac_ioctl_send_raw_srb make use of the aac_ioctl_event callback, if acc_alloc_command fails. This can end up in an infinite loop in the while loop in aac_release_command. Modified: stable/8/sys/dev/aac/aac.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/dev/aac/aac.c ============================================================================== --- stable/8/sys/dev/aac/aac.c Sun Feb 6 01:00:40 2011 (r218361) +++ stable/8/sys/dev/aac/aac.c Sun Feb 6 01:13:10 2011 (r218362) @@ -1415,11 +1415,7 @@ aac_release_command(struct aac_command * aac_enqueue_free(cm); - /* - * Dequeue all events so that there's no risk of events getting - * stranded. - */ - while ((event = TAILQ_FIRST(&sc->aac_ev_cmfree)) != NULL) { + if ((event = TAILQ_FIRST(&sc->aac_ev_cmfree)) != NULL) { TAILQ_REMOVE(&sc->aac_ev_cmfree, event, ev_links); event->ev_callback(sc, event, event->ev_arg); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 07:41:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AEFE106564A; Sun, 6 Feb 2011 07:41:28 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EC3478FC1B; Sun, 6 Feb 2011 07:41:27 +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 p167fRAU056375; Sun, 6 Feb 2011 07:41:27 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p167fRGr056373; Sun, 6 Feb 2011 07:41:27 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201102060741.p167fRGr056373@svn.freebsd.org> From: Hiroki Sato Date: Sun, 6 Feb 2011 07:41:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218363 - releng/8.2/release/doc/en_US.ISO8859-1/relnotes X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 07:41:28 -0000 Author: hrs Date: Sun Feb 6 07:41:27 2011 New Revision: 218363 URL: http://svn.freebsd.org/changeset/base/218363 Log: Add relnotes entries for upcoming 8.2R (first round): [ia64] DMA bounce buffer pool increased from 256 to 1024, [powerpc] kern.hz 100->1000, [powerpc] SMP support on MPC7400-based machines, [powerpc] DMA bounce buffer support, ddb(8) reset and reboot delay support, ddb(8) show cdev, memguard(9) improvement to use larger KVA, aibs(4) added in favor of acpi_aiboost(4), coretemp(4) Xeon 5500/5600 support, ichwd(4) Intel NM10 Express chipset support, video4linux API support in Linux emulation subsystem, alc(4) AR8151/8152 support, alc(4) poor UDP performance issue fixed, bge(4) TSO fixed, bce(4) flow control support, bwi(4) for BCM430x and BCM431x added (but not in GENERIC yet), bwn(4) padding issue fixed, cxgb(4) new sysctls: nfilters, pkt_timestamp, core_clock, em(4) 7.1.9, igb(4) 2.0.7, em(4) and igb(4) statistics counters as sysctl MIB objects, em(4) and igb(4) now supports led(4), epair(4) linkstate support, iwn(4) 6000 series support, firmware version 9.221.4.1, ixgbe(4) kernel module building, version 2.2.1, mwlfw(4) kernel module building, rl(4) WoL support, prefer_iomap knob added, sis(4) stability issue fixed, ste(4) prefer_iomap knob added, sk(4) TX checksum offloading disabled by default, altq(4) kernel module building, IPsec flow distribution improved, proxy ARP issue over Netgraph interfaces fixed, an issue with IPv6 use_defaultzone=1 fixed, ng_patch(4) added, ng_ether(4) issue when associated IF is moved to another vnet fixed, TCP BW*DELAY window limiting (inflight) disabled by default, TCP path MTU discovery when <256 octets of MTU fixed, TCP initial window increase algorithm in RFC 3390 improved, VNET now supports IPv4 multicast routing, ahci(4) NCQ and PMP disabled on VIA VT8251, arcmsr(4) updated to version 1.20.00.17, ata(4) device hints for initial ATA mode added, ata(4) now checks also on controller side when ata_dma_check_80pin=1, mpt(4) now reports max I/O size to the upper layer, twa(4) updated to version 3.8.06.003, ZFS version 15, metaslab code updated, various bug fixes, vfs.zfs.vdec.max_pending reduced from 35 to 10, arp(8) -an improvement, calendar(1) improved, dhclient(8) 10-second period changed, du(1) -t threshold added, gcore(1) -f added, get{host,net,proto}*() returns ERANGE and NS_RETURN for too small buf, gpart(8) resize command added, ifconfig(8) CIDR subnet width parsing improved, jot(1) bug fix, newsyslog(8) -S pidfile option added, pkill(8) -l option added, pmcstat(8) now supports file and network socket for the event source, pom(6) -p added, powerd(8) -m -M added, sh(1) SIGINT handling fixed, sh(1) supports " Kernel Changes - + The maximum number of pages + used for DMA bounce buffer pool has been increased from 256 to + 1024. + + The default value of + kern.hz has been increased from 100 to + 1000. + + The SMP kernel now works on + MPC7400-based Apple desktop machines such as + PowerMac3,3. + + &os;/powerpc now supports + DMA bounce buffer which is required on systems with larger RAM + than 4GB. + + The &man.ddb.8; kernel debugger now + supports an optional delay in reset and + reboot commands. This allows an + administrator to break the system into debugger and trigger + automatic textdump when an unattended panic occurs. + + The &man.ddb.8; kernel debugger now + supports a show cdev command. This + displays the list of all created cdev's, consisting of devfs + node name and struct cdev address. + + The &os; &man.memguard.9; framework has + been improved to make it able to detect use-after-free of + allocated memories over a longer time. For more details, see + &man.memguard.9; manual page. Boot Loader Changes @@ -170,44 +200,408 @@ Hardware Support - + The &man.aibs.4; driver has been + added. This supports the hardware sensors in ASUS + motherboards and replaces the &man.acpi.aiboost.4; + driver. + + The &man.coretemp.4; driver now supports + Xeon 5500/5600 series. + + The &man.ichwd.4; driver + now supports Intel NM10 Express chipset watchdog + timer. Multimedia Support - + The &os; Linux emulation subsystem now supports + video4linux API. This requires native video4linux + hardware drivers such as ones whichmultimedia/pwc and multimedia/webcamd provide. Network Interface Support - + The &man.alc.4; driver now supports + Atheros AR8151/AR8152 PCIe Gigabit/Fast Ethernet + controllers. + + The TX interrupt moderation timer in + the &man.alc.4; driver has been reduced from 50ms to 1ms. + The 50ms timer resulted in a poor UDP performance. + + A bug in the &man.bge.4; driver which + prevents TSO in BCM57780 from working has been + fixed. + + The &man.bce.4; driver now supports + flow control. + + The &man.bwi.4; driver, which supports + Broadcom BCM430* and BCM431* family Wireless Ethernet + controllers, has been added. This is not compiled into + the GENERIC kernel because there are + some problems. The kernel module + if_bwi.ko is available and can be + loaded without recompiling the kernel to enable this + driver. + + A bug in the &man.bwn.4; driver which + prevents WPA authentication from working has been + fixed. + + The &man.cxgb.4; driver now supports + the following new &man.sysctl.8; variables: + hw.cxgb.nfilters sets the maximum + number of entries in the hardware filter table, + dev.cxgbc.N.pkt_timestamp + provides packet timestamp instead of connection hash, and + dev.cxgbc.N.core_clock + provides the core clock frequency in kHz. + + The &man.em.4; driver has been updated to version + 7.1.9. + + The &man.igb.4; driver has been updated to version + 2.0.7. + + The &man.em.4; and &man.igb.4; drivers + now provide statistics counters as &man.sysctl.8; MIB + objects. + + The &man.em.4; and &man.igb.4; drivers + now support &man.led.4; interface via + /dev/led/emN + and + /dev/led/igbN + for identification LED control. The following command + line makes the LED blink on em0: + + &prompt.root; echo f2 > /dev/led/em0 + + The &man.ixgbe.4; + driver is now also provided as a kernel module. + + The &man.epair.4; virtual Ethernet + interface driver now supports explicit UP/DOWN linkstate. + This fixes an issue when it is used with the &man.carp.4; + protocol. + + The &man.iwn.4; driver now supports + Intel Wireless WiFi Link 6000 series. The firmware has + been updated to version 9.221.4.1. + + The &man.ixgbe.4; driver has been + updated to version 2.2.1. It now supports 82599, better + interrupt handling, hardware assist to LRO, and so + on. + + The &man.mwlfw.4; + driver is now also provided as a kernel module. + + The &man.rl.4; driver now supports WOL + (Wake On Lan) on RTL8139B or newer controllers. + + The &man.rl.4; driver now supports a + device hint to change a way of register access. Although + some newer RTL8139 controllers support memory-mapped + register access, it is difficult to detect the support + automatically. For this reason the driver uses I/O + mapping by default and provides the following device hint. + If it is set to 0, the driver uses + memory mapping for register access. + + hint.rl.N.prefer_iomap="0" + + Note that the default value is 1. + + Some stability issues in + the &man.sis.4; driver have been fixed. + + The &man.ste.4; driver now supports a + device hint to change a way of register access. Although + it uses memory-mapped register access by default, some old + IC Plus Corp (formerly Sundace) controllers are found + unstable. The following device hint makes the driver use + I/O mapping for register access: + + hint.ste.N.prefer_iomap="1" + + The &man.sk.4; driver now disable TX + checksum offloading by default. This is because some + revision of Yukon controller generates corrupted frames. + The checksum offloading can be enabled manually by using + option in the &man.ifconfig.8; + utility. Network Protocols - + The &man.altq.4; support is now provided + as a kernel module alq.ko. + + IPsec flow distribution has been + improved for more parallel processing. + + A bug in &os; IPv4 stack that a proxy + ARP entry cannot be added over &man.netgraph.4; interfaces + has been fixed. + + A bug in &os; IPv6 stack which prevents + an in the &man.ping6.8; utility from + working with + net.inet6.ip6.use_defaultzone=1 has been + fixed. + + A new &man.netgraph.4; node + &man.ng.patch.4; has been added. This performs data + modification of packets passing through. Modifications are + restricted to a subset of C language operations on unsigned + integers of 8, 16, 32 or 64-bit size. + + The &man.ng.ether.4; &man.netgraph.4; + node now supports interface transfer between multiple virtual + network stacks by &man.ifconfig.8; vnet + command. A &man.ng.ether.4; node associated with an network + interface is now destroyed and recreated when the network + interface is moved to another vnet. + + A TCP bandwidth delay product window + limiting algorithm by a &man.sysctl.8; variable + net.inet.tcp.inflight.enable is now + disabled by default. It has been found that this algorithm + is inefficient on a fast network with smaller RTT than 10ms. + It had been enabled by default since 5.2-RELEASE, and then + had been disabled only if the RTT was lesser than 10ms since + 7.0-RELEASE. Pluggable TCP congestion control algorithm + modules are planned to be added for the future + releases. + + A bug in &os; TCP Path MTU discovery + which can lead to a wrong calculation for a smaller MTU than + 256 octets has been fixed. Note that this bug does not + affect when MTU is equal to or larger than 256 + octets. + + The TCP initial window increase in RFC + 3390 which can be controlled by a &man.sysctl.8; variable + net.inet.tcp.rfc3390 now reduces the + congestion window to the restart window if a TCP connection + has been idle for one retransmit timeout or more. For more + details, see RFC 5681 Section 4.1. + + &os; virtual network stack (vnet) now + supports IPv4 multicast routing. Disks and Storage - + The &man.ahci.4; driver now disables NCQ + and PMP support on VIA VT8251 because they are unreliable + under load. + + The &man.arcmsr.4; driver + has been updated to version 1.20.00.17. + + The &man.ata.4; driver + now supports limiting initial ATA mode for devices via + device hints + hint.devname.unit.devN.mode or + hint.devname.unit.mode. + The valid values are the same as ones supported in the + &man.atacontrol.8; and &man.camcontrol.8;. + + The &man.ata.4; driver + now enables cable status check on both of controller and + device side when + hw.ata.ata_dma_check_80pin is + enabled. + + The &man.mpt.4; driver now supports + larger I/O sizes which the device and &man.CAM.4; subsystem + can support. This was limited to 64KB, and the number of + scatter/gather segments was limited to 33 on platforms with + 4K pages. + + The &man.twa.4; + driver has been updated. The version number is + 3.80.06.003. File Systems - + The ZFS on-disk format has been updated + to version 15. + + The ZFS metaslab code has been updated. + This provides a noticeable improvement on write speed, + especially on pools with less than 30% of free space. The + related OpenSolaris Bug IDs are 6826241, 6869229, 6918420, + and 6917066. + + The default value of + vfs.zfs.vdev.max_pending has been + decreased from 35 to 10 (OpenSolaris Bug ID is 6891731) to + improve latency. + + Bugs in the ZFS subsystem has been fixed. The + OpenSolaris Bug IDs are: 6798878, 6809683, 6794570, 6844069, + 6788152, 6843235, 6857012, 6870564, 6836714, 6836714, + 6870564, 6857012, 6843235, 6788152, 6844069, 6794570, + 6809683, 6798878, 6950219, 6953403, 6951024, 6809340, + 6755435, 6748436, 6740164, 6769612, 6757430, 6542860, + 6761100, 6774886, 6737463, 6765294, 6572357, 6572376, + 6328632, 6739487, 6767129, 6747698, 6745863, 6722540, + 6759999, 6758107, 6776548, 6761406, 6770866, 6674216, + 6621164, 6635482, 6595194, 6722991, 6396518, 6713916, + 6739553, 6784104, 6784108, 6788830, 6791064, 6791066, + 6791071, 6792134, 6792884, 6798384, 6551866, 6504953, + 6702206, 6780491, 6747596, 6801507, 6633095, 6775697, + 6790687, 6791101, 6800942, 6582163, 6804954, 6800184, + 6803822, 6789318, 6790345, 6797109, 6797118, 6803343, + 6815893, 6809691, 6790064, 6604992, 6810367, 6807765, + 6821169, 6821170, 6824006, 6792139, 6794830, 6824062, + 6816124, 6818183, 6710376, 6501037, 6827260, 6815592, + 6759986, 6774713, 6717022, 6799895, 6826466, 6826468, + 6826469, 6826470, 6826471, 6826472, 6833711, 6764124, + 6830237, 6833162, 6824968, 6834217, 6596237, 6623978, + 6801810, 6586537, 6836768, 6838062, 6794136, 6776104, + 6664765, 6841321, 6843069, 6847229, 6838344, 6844900, + 6857012, 6848242, 6856634, 6861983, 6862984, 6696858, + 6696858, 6882227, 6880764, 6793430, 6822816, 6892298, + 6807339, 6906110, 6906946, 6898245, and 6833999. Userland Changes - + The &man.arp.8; utility has been improved. + It now runs faster even when a single interface has a number + of aliases. + + The &man.calendar.1; utility now supports + repeating events which span multiple years, lunar events, and + solar events. + + The &man.dhclient.8; utility now reports a + reason for exiting and the 10-second period in which the + &man.dhclient.8; ignores routing messages has been changed to + start just after dhclient-script starts + instead of just after it finished. This change fixes a + symptom that &man.dhclient.8; silently exits under a certain + condition. + + The &man.du.1; utility now supports a + + option to display entries that exceeds the value of + threshold. If the value is + negative, it displays entries with a value less than the + absolute value of threshold. + + The &man.gcore.1; utility now supports an + flag which forces a full dump of all the + segments except for the malformed ones. + + The gethost*(), + getnet*(), and + getproto*() functions now set the errno + to ERANGE and the NSS backend terminates + with NS_RETURN when the result buffer size + is too small. + + The &man.gpart.8; utility now supports + resize command to resize partitions for all + schemes but EBR. + + The &man.ifconfig.8; utility now check an + invalid CIDR subnet notation more strictly. It wrongly + accepted 10.0.0.1/10.0.0.1 as + 10.0.0.1/10. + + Incorrect behaviors in stuttering + sequences and reverse ranges in the &man.jot.1; utility have + been fixed. + + The &man.newsyslog.8; utility now supports + an + option to override the default &man.syslogd.8; PID + file. + + The &man.pkill.1; utility now supports + an option which the &man.kill.1; utility + does. + + The &man.pmcstat.8; utility now supports a + file and a network socket as a top source. A new option + + specifies to send log output to + filename, and another new option + + specifies to receive events from + filename. For a socket, the + filename is in a form of + ipaddr:port. This allows top + monitoring over TCP on a system with no local symbols, for + example. + + The &man.pom.6; utility now + supports a flag to print only the + percentage. + + The &man.powerd.8; utility now supports + an and + to control + the minimum and maximum frequency, respectively. + + A bug in the &man.sh.1; program has been + fixed. A SIGINT signal is now passed + through from a child process if the shell is interactive and + the job control is enabled. For example, aborting + &man.sleep.1; command by Ctrl-C no longer display + ok in the following command line: + + &prompt.user; sleep 5; echo ok + + The &man.sh.1; program now supports a + bg command consisting solely of + redirections. For example: + + &prompt.user; < /dev/null & + + The &man.sleep.1; utility now supports + SIGINFO signal and reports the specified + sleep time and the remaining time. + + The &man.uname.1; utility now supports an + flag as a synonym for the + flag for compatibility with other + systems. + + Bugs in &man.vi.1; utility have been + fixed. They include handling of ^@ and + ^C in insert mode when reading an ex + command. + + The set sharenfs + command in the &man.zfs.8; utility now supports + option. + + + <filename>/etc/periodic</filename> Scripts + + A periodic script for zfs scrub has + been added. For more details, see &man.periodic.conf.5; + manual page. + <filename>/etc/rc.d</filename> Scripts @@ -241,15 +635,24 @@ sendmail has been updated to version 8.14.4. - - The timezone database has been updated to the - tzdata2010j release. --> + The timezone database has been updated to the + tzdata2010l release. Release Engineering and Integration + The &man.sysinstall.8; utility now uses + the following numbers for default and minimum partition sizes: + 1GB for /, 4GB for + /var, and 1GB for + /tmp. + + The &man.sysinstall.8; utility now + attempts to enable &man.getty.8; on a serial port when no VGA + card on the system. + The supported version of the GNOME desktop environment (x11/gnome2) has been From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 09:33:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1A401065694; Sun, 6 Feb 2011 09:33:08 +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 BEF108FC18; Sun, 6 Feb 2011 09:33: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 p169X8Q5058842; Sun, 6 Feb 2011 09:33:08 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p169X8IZ058840; Sun, 6 Feb 2011 09:33:08 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102060933.p169X8IZ058840@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 6 Feb 2011 09:33:08 +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: r218365 - stable/8/libexec/rtld-elf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 09:33:08 -0000 Author: kib Date: Sun Feb 6 09:33:08 2011 New Revision: 218365 URL: http://svn.freebsd.org/changeset/base/218365 Log: MFC r218098: Make ldd(1) work when versioned dependency file is cannot be loaded. MFC r218099: Fix grammar. Modified: stable/8/libexec/rtld-elf/rtld.c Directory Properties: stable/8/libexec/rtld-elf/ (props changed) Modified: stable/8/libexec/rtld-elf/rtld.c ============================================================================== --- stable/8/libexec/rtld-elf/rtld.c Sun Feb 6 08:46:37 2011 (r218364) +++ stable/8/libexec/rtld-elf/rtld.c Sun Feb 6 09:33:08 2011 (r218365) @@ -3448,10 +3448,17 @@ locate_dependency(const Obj_Entry *obj, } for (needed = obj->needed; needed != NULL; needed = needed->next) { - if (needed->obj == NULL) - continue; - if (object_match_name(needed->obj, name)) - return needed->obj; + if (strcmp(obj->strtab + needed->name, name) == 0 || + (needed->obj != NULL && object_match_name(needed->obj, name))) { + /* + * If there is DT_NEEDED for the name we are looking for, + * we are all set. Note that object might not be found if + * dependency was not loaded yet, so the function can + * return NULL here. This is expected and handled + * properly by the caller. + */ + return (needed->obj); + } } _rtld_error("%s: Unexpected inconsistency: dependency %s not found", obj->path, name); @@ -3577,6 +3584,8 @@ rtld_verify_object_versions(Obj_Entry *o vn = obj->verneed; while (vn != NULL) { depobj = locate_dependency(obj, obj->strtab + vn->vn_file); + if (depobj == NULL) + return (-1); vna = (const Elf_Vernaux *) ((char *)vn + vn->vn_aux); for (;;) { if (check_object_provided_version(obj, depobj, vna)) From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 09:49:56 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4154E106566B; Sun, 6 Feb 2011 09:49:56 +0000 (UTC) (envelope-from miwi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2F6CB8FC08; Sun, 6 Feb 2011 09:49: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 p169nu1N059208; Sun, 6 Feb 2011 09:49:56 GMT (envelope-from miwi@svn.freebsd.org) Received: (from miwi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p169nub4059206; Sun, 6 Feb 2011 09:49:56 GMT (envelope-from miwi@svn.freebsd.org) Message-Id: <201102060949.p169nub4059206@svn.freebsd.org> From: Martin Wilke Date: Sun, 6 Feb 2011 09:49: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: r218366 - 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, 06 Feb 2011 09:49:56 -0000 Author: miwi (doc,ports committer) Date: Sun Feb 6 09:49:55 2011 New Revision: 218366 URL: http://svn.freebsd.org/changeset/base/218366 Log: - Add Dell Wireless 1390 BCM4311 Mini PCI to supported list. PR: 154500 Submitted by: Ruslan Mahmatkhanov Modified: head/share/man/man4/bwi.4 Modified: head/share/man/man4/bwi.4 ============================================================================== --- head/share/man/man4/bwi.4 Sun Feb 6 09:33:08 2011 (r218365) +++ head/share/man/man4/bwi.4 Sun Feb 6 09:49:55 2011 (r218366) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 30, 2010 +.Dd February 6, 2011 .Dt BWI 4 .Os .Sh NAME @@ -81,6 +81,7 @@ driver supports Broadcom BCM43xx based w .It "Buffalo WLI-CB-G54S BCM4318 CardBus b/g" .It "Buffalo WLI-PCI-G54S BCM4306 PCI b/g" .It "Compaq R4035 onboard BCM4306 PCI b/g" +.It "Dell Wireless 1390 BCM4311 Mini PCI b/g" .It "Dell Wireless 1470 BCM4318 Mini PCI b/g" .It "Dell Truemobile 1300 r2 BCM4306 Mini PCI b/g" .It "Dell Truemobile 1400 BCM4309 Mini PCI b/g" @@ -91,18 +92,18 @@ driver supports Broadcom BCM43xx based w .It "US Robotics 5411 BCM4318 CardBus b/g" .El .Pp -The -.Nm +The +.Nm driver uses the older v3 version of Broadcom's firmware. While this older firmware does support most BCM43xx parts, the -.Xr bwn 4 +.Xr bwn 4 driver works better for the newer chips it supports. -You must use the -.Nm +You must use the +.Nm driver if you are using older Broadcom chipsets (BCM4301, BCM4303 and BCM4306 rev 2). -The v4 version of the firmware that -.Xr bwn 4 +The v4 version of the firmware that +.Xr bwn 4 uses does not support these chips. .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 10:16:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD8F8106564A for ; Sun, 6 Feb 2011 10:16:49 +0000 (UTC) (envelope-from miwi.freebsd@googlemail.com) Received: from mail-pv0-f182.google.com (mail-pv0-f182.google.com [74.125.83.182]) by mx1.freebsd.org (Postfix) with ESMTP id AA8D38FC19 for ; Sun, 6 Feb 2011 10:16:49 +0000 (UTC) Received: by pvc22 with SMTP id 22so811895pvc.13 for ; Sun, 06 Feb 2011 02:16:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:reply-to :organization:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=s+kxVxBRbU1vKUq/r1Wvr+VM9GCrGBFRdE1J59DF2hk=; b=qBj1I8nrgNk5AG+nqN/uDnBbr8VLlO4mNrC2YUZ+PJ+ULQIKUmHzM9Nvod6fzzlEqv Mk6hgUN+eGlsMC62mDIi0ZpAZqNvyuit1My9e61aurZiWRRjGjAq/rcmTzPdiG9U1nsy tcI+GD/bEiyf1h6znpluL9CZv+W7aE9/8EHvs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=sender:message-id:date:from:reply-to:organization:user-agent :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; b=vrmX0QJEVkgRItPcmMxKWqsn6hc/EBBURz5eZZ1uMsXyr2Yh3TTsFBrMYbxwRF03Zj 8lUxoJVVzsg7KvlqseVRE99k00pOOEjBP8ctiChhAFi/LOunEBc6NKwdVeM0jthWCPOE ICjT6F4daFbMZBlclH8lfgPk05jRskkA2f0zw= Received: by 10.142.133.17 with SMTP id g17mr13883937wfd.167.1296986014249; Sun, 06 Feb 2011 01:53:34 -0800 (PST) Received: from asus.miwibox.org ([175.139.12.61]) by mx.google.com with ESMTPS id w42sm4032029wfh.15.2011.02.06.01.53.32 (version=SSLv3 cipher=RC4-MD5); Sun, 06 Feb 2011 01:53:33 -0800 (PST) Sender: Martin Wilke Message-ID: <4D4E6F96.6010606@FreeBSD.org> Date: Sun, 06 Feb 2011 17:53:26 +0800 From: Martin Wilke Organization: FreeBSD User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.13) Gecko/20110206 Thunderbird/3.1.7 MIME-Version: 1.0 To: svn-src-all@freebsd.org References: <201102060949.p169nub4059206@svn.freebsd.org> In-Reply-To: <201102060949.p169nub4059206@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: svn commit: r218366 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: miwi@FreeBSD.org List-Id: "SVN commit messages 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, 06 Feb 2011 10:16:49 -0000 On 02/06/2011 17:49, Martin Wilke wrote: > Author: miwi (doc,ports committer) > Date: Sun Feb 6 09:49:55 2011 > New Revision: 218366 > URL: http://svn.freebsd.org/changeset/base/218366 > > Log: > - Add Dell Wireless 1390 BCM4311 Mini PCI to supported list. > > PR: 154500 > Submitted by: Ruslan Mahmatkhanov While here fix some whitespaces. Reviewed by: bschmidt > Modified: > head/share/man/man4/bwi.4 > > Modified: head/share/man/man4/bwi.4 > ============================================================================== > --- head/share/man/man4/bwi.4 Sun Feb 6 09:33:08 2011 (r218365) > +++ head/share/man/man4/bwi.4 Sun Feb 6 09:49:55 2011 (r218366) > @@ -24,7 +24,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd June 30, 2010 > +.Dd February 6, 2011 > .Dt BWI 4 > .Os > .Sh NAME > @@ -81,6 +81,7 @@ driver supports Broadcom BCM43xx based w > .It "Buffalo WLI-CB-G54S BCM4318 CardBus b/g" > .It "Buffalo WLI-PCI-G54S BCM4306 PCI b/g" > .It "Compaq R4035 onboard BCM4306 PCI b/g" > +.It "Dell Wireless 1390 BCM4311 Mini PCI b/g" > .It "Dell Wireless 1470 BCM4318 Mini PCI b/g" > .It "Dell Truemobile 1300 r2 BCM4306 Mini PCI b/g" > .It "Dell Truemobile 1400 BCM4309 Mini PCI b/g" > @@ -91,18 +92,18 @@ driver supports Broadcom BCM43xx based w > .It "US Robotics 5411 BCM4318 CardBus b/g" > .El > .Pp > -The > -.Nm > +The > +.Nm > driver uses the older v3 version of Broadcom's firmware. > While this older firmware does support most BCM43xx parts, the > -.Xr bwn 4 > +.Xr bwn 4 > driver works better for the newer chips it supports. > -You must use the > -.Nm > +You must use the > +.Nm > driver if you are using older Broadcom chipsets (BCM4301, BCM4303 and > BCM4306 rev 2). > -The v4 version of the firmware that > -.Xr bwn 4 > +The v4 version of the firmware that > +.Xr bwn 4 > uses does not support these chips. > .Sh EXAMPLES > Join an existing BSS network (i.e., connect to an access point): > _______________________________________________ > svn-src-all@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" -- With best Regards, Martin Wilke (miwi_(at)_FreeBSD.org) \\Mess with the Best, Die like the Rest// From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 10:25:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82233106566B; Sun, 6 Feb 2011 10:25:11 +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 702408FC08; Sun, 6 Feb 2011 10:25: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 p16APBjl060147; Sun, 6 Feb 2011 10:25:11 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16APBNF060145; Sun, 6 Feb 2011 10:25:11 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201102061025.p16APBNF060145@svn.freebsd.org> From: Bernhard Schmidt Date: Sun, 6 Feb 2011 10:25:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218368 - head/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 10:25:11 -0000 Author: bschmidt Date: Sun Feb 6 10:25:11 2011 New Revision: 218368 URL: http://svn.freebsd.org/changeset/base/218368 Log: Fix cut&paste mistake. MFC after: 1 week Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Feb 6 10:21:33 2011 (r218367) +++ head/sys/conf/files Sun Feb 6 10:25:11 2011 (r218368) @@ -1254,7 +1254,7 @@ iwn6050.fw optional iwn6050fw | iwnfw dependency "$S/contrib/dev/iwn/iwlwifi-6050-9.201.4.1.fw.uu" \ compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6050-9.201.4.1.fw.uu" \ no-obj no-implicit-rule \ - clean "iwn6000.fw" + clean "iwn6050.fw" dev/ixgb/if_ixgb.c optional ixgb dev/ixgb/ixgb_ee.c optional ixgb dev/ixgb/ixgb_hw.c optional ixgb From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 11:39:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4F481065672; Sun, 6 Feb 2011 11:39:51 +0000 (UTC) (envelope-from miwi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7C6A08FC16; Sun, 6 Feb 2011 11:39:51 +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 p16BdpQ9063762; Sun, 6 Feb 2011 11:39:51 GMT (envelope-from miwi@svn.freebsd.org) Received: (from miwi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16Bdpkq063760; Sun, 6 Feb 2011 11:39:51 GMT (envelope-from miwi@svn.freebsd.org) Message-Id: <201102061139.p16Bdpkq063760@svn.freebsd.org> From: Martin Wilke Date: Sun, 6 Feb 2011 11:39:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218369 - 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, 06 Feb 2011 11:39:51 -0000 Author: miwi (doc,ports committer) Date: Sun Feb 6 11:39:51 2011 New Revision: 218369 URL: http://svn.freebsd.org/changeset/base/218369 Log: - Use tabs not spaces Reported by: bschmidt Modified: head/share/man/man4/bwi.4 Modified: head/share/man/man4/bwi.4 ============================================================================== --- head/share/man/man4/bwi.4 Sun Feb 6 10:25:11 2011 (r218368) +++ head/share/man/man4/bwi.4 Sun Feb 6 11:39:51 2011 (r218369) @@ -81,7 +81,7 @@ driver supports Broadcom BCM43xx based w .It "Buffalo WLI-CB-G54S BCM4318 CardBus b/g" .It "Buffalo WLI-PCI-G54S BCM4306 PCI b/g" .It "Compaq R4035 onboard BCM4306 PCI b/g" -.It "Dell Wireless 1390 BCM4311 Mini PCI b/g" +.It "Dell Wireless 1390 BCM4311 Mini PCI b/g" .It "Dell Wireless 1470 BCM4318 Mini PCI b/g" .It "Dell Truemobile 1300 r2 BCM4306 Mini PCI b/g" .It "Dell Truemobile 1400 BCM4309 Mini PCI b/g" From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 12:21:30 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 033161065696; Sun, 6 Feb 2011 12:21:30 +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 E65538FC2B; Sun, 6 Feb 2011 12:21: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 p16CLTlB064676; Sun, 6 Feb 2011 12:21:29 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16CLTCm064674; Sun, 6 Feb 2011 12:21:29 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102061221.p16CLTCm064674@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 6 Feb 2011 12:21: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: r218370 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 12:21:30 -0000 Author: pjd Date: Sun Feb 6 12:21:29 2011 New Revision: 218370 URL: http://svn.freebsd.org/changeset/base/218370 Log: Close more descriptors that can be open if the worker process for the given resource is already running. Submitted by: Mikolaj Golub MFC after: 1 week Modified: head/sbin/hastd/hastd.c Modified: head/sbin/hastd/hastd.c ============================================================================== --- head/sbin/hastd/hastd.c Sun Feb 6 11:39:51 2011 (r218369) +++ head/sbin/hastd/hastd.c Sun Feb 6 12:21:29 2011 (r218370) @@ -109,6 +109,12 @@ descriptors_cleanup(struct hast_resource proto_close(tres->hr_remotein); if (tres->hr_remoteout != NULL) proto_close(tres->hr_remoteout); + if (tres->hr_ctrl != NULL) + proto_close(tres->hr_ctrl); + if (tres->hr_event != NULL) + proto_close(tres->hr_event); + if (tres->hr_conn != NULL) + proto_close(tres->hr_conn); } if (cfg->hc_controlin != NULL) proto_close(cfg->hc_controlin); From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 13:17:41 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 666A6106564A; Sun, 6 Feb 2011 13:17:41 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3B52C8FC13; Sun, 6 Feb 2011 13:17:41 +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 p16DHfWB065987; Sun, 6 Feb 2011 13:17:41 GMT (envelope-from rrs@svn.freebsd.org) Received: (from rrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16DHfrW065985; Sun, 6 Feb 2011 13:17:41 GMT (envelope-from rrs@svn.freebsd.org) Message-Id: <201102061317.p16DHfrW065985@svn.freebsd.org> From: Randall Stewart Date: Sun, 6 Feb 2011 13:17:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218371 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 13:17:41 -0000 Author: rrs Date: Sun Feb 6 13:17:40 2011 New Revision: 218371 URL: http://svn.freebsd.org/changeset/base/218371 Log: 1) Use same scheme Michael and I discussed for a selected for a flowid 2) If flowid is not set, arrange so it is stored. 3) If flowid is set by lower layer, use it. MFC after: 3 Months Modified: head/sys/netinet/sctp_input.c Modified: head/sys/netinet/sctp_input.c ============================================================================== --- head/sys/netinet/sctp_input.c Sun Feb 6 12:21:29 2011 (r218370) +++ head/sys/netinet/sctp_input.c Sun Feb 6 13:17:40 2011 (r218371) @@ -5946,32 +5946,32 @@ sctp_input(struct mbuf *m, int off) struct sctphdr *sh; int offset; int cpu_to_use; - uint32_t tag; + uint32_t flowid, tag; if (mp_ncpus > 1) { - ip = mtod(m, struct ip *); - offset = off + sizeof(*sh); - if (SCTP_BUF_LEN(m) < offset) { - if ((m = m_pullup(m, offset)) == 0) { - SCTP_STAT_INCR(sctps_hdrops); - return; - } - ip = mtod(m, struct ip *); - } - sh = (struct sctphdr *)((caddr_t)ip + off); - if (sh->v_tag) { - tag = htonl(sh->v_tag); + if (m->m_flags & M_FLOWID) { + flowid = m->m_pkthdr.flowid; } else { /* - * Distribute new INIT's to all CPU's don't just - * pick on 0. + * No flow id built by lower layers fix it so we + * create one. */ - struct timeval tv; - - (void)SCTP_GETTIME_TIMEVAL(&tv); - tag = (uint32_t) tv.tv_usec; + ip = mtod(m, struct ip *); + offset = off + sizeof(*sh); + if (SCTP_BUF_LEN(m) < offset) { + if ((m = m_pullup(m, offset)) == 0) { + SCTP_STAT_INCR(sctps_hdrops); + return; + } + ip = mtod(m, struct ip *); + } + sh = (struct sctphdr *)((caddr_t)ip + off); + tag = htonl(sh->v_tag); + flowid = tag ^ ntohs(sh->dest_port) ^ ntohs(sh->src_port); + m->m_pkthdr.flowid = flowid; + m->m_flags |= M_FLOWID; } - cpu_to_use = sctp_cpuarry[tag % mp_ncpus]; + cpu_to_use = sctp_cpuarry[flowid % mp_ncpus]; sctp_queue_to_mcore(m, off, cpu_to_use); return; } From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 13:59:04 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 466A4106564A; Sun, 6 Feb 2011 13:59:04 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 33E818FC08; Sun, 6 Feb 2011 13:59:04 +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 p16Dx4ue067008; Sun, 6 Feb 2011 13:59:04 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16Dx4WU067003; Sun, 6 Feb 2011 13:59:04 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201102061359.p16Dx4WU067003@svn.freebsd.org> From: Brooks Davis Date: Sun, 6 Feb 2011 13:59:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218372 - in stable/8: etc/defaults etc/periodic/security share/man/man5 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 13:59:04 -0000 Author: brooks Date: Sun Feb 6 13:59:03 2011 New Revision: 218372 URL: http://svn.freebsd.org/changeset/base/218372 Log: MFC r215213: Add an (off by default) check for negative permissions (where the group on a object has less permissions than everyone). These permissions will not work reliably over NFS if you have more than 14 supplemental groups and are usually not what you mean. Added: stable/8/etc/periodic/security/110.neggrpperm - copied unchanged from r215213, head/etc/periodic/security/110.neggrpperm Modified: stable/8/etc/defaults/periodic.conf stable/8/etc/periodic/security/Makefile stable/8/share/man/man5/periodic.conf.5 Directory Properties: stable/8/etc/ (props changed) stable/8/share/man/man5/ (props changed) Modified: stable/8/etc/defaults/periodic.conf ============================================================================== --- stable/8/etc/defaults/periodic.conf Sun Feb 6 13:17:40 2011 (r218371) +++ stable/8/etc/defaults/periodic.conf Sun Feb 6 13:59:03 2011 (r218372) @@ -157,6 +157,9 @@ daily_status_security_diff_flags="-b -u" # 100.chksetuid daily_status_security_chksetuid_enable="YES" +# 110.neggrpperm +daily_status_security_neggrpperm_enable="NO" + # 200.chkmounts daily_status_security_chkmounts_enable="YES" #daily_status_security_chkmounts_ignore="^amd:" # Don't check matching Copied: stable/8/etc/periodic/security/110.neggrpperm (from r215213, head/etc/periodic/security/110.neggrpperm) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/8/etc/periodic/security/110.neggrpperm Sun Feb 6 13:59:03 2011 (r218372, copy of r215213, head/etc/periodic/security/110.neggrpperm) @@ -0,0 +1,54 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# 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 + +rc=0 + +case "$daily_status_security_neggrpperm_enable" in + [Yy][Ee][Ss]) + echo "" + echo 'Checking negative group permissions:' + MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'` + n=$(find -sx $MP /dev/null -type f \ + \( \( ! -perm +010 -and -perm +001 \) -or \ + \( ! -perm +020 -and -perm +002 \) -or \ + \( ! -perm +040 -and -perm +004 \) \) \ + -exec ls -liTd \{\} \+ | tee /dev/stderr | wc -l) + [ $n -gt 0 ] && rc=1 || rc=0 + ;; +esac + +exit $rc Modified: stable/8/etc/periodic/security/Makefile ============================================================================== --- stable/8/etc/periodic/security/Makefile Sun Feb 6 13:17:40 2011 (r218371) +++ stable/8/etc/periodic/security/Makefile Sun Feb 6 13:59:03 2011 (r218372) @@ -3,6 +3,7 @@ .include FILES= 100.chksetuid \ + 110.neggrpperm \ 200.chkmounts \ 300.chkuid0 \ 400.passwdless \ Modified: stable/8/share/man/man5/periodic.conf.5 ============================================================================== --- stable/8/share/man/man5/periodic.conf.5 Sun Feb 6 13:17:40 2011 (r218371) +++ stable/8/share/man/man5/periodic.conf.5 Sun Feb 6 13:59:03 2011 (r218372) @@ -482,6 +482,14 @@ Set to .Dq Li YES to compare the modes and modification times of setuid executables with the previous day's values. +.It Va daily_status_security_neggrpperm_enable +.Pq Vt bool +Set to +.Dq Li YES +to check for files where the group of a file has less permissions than +the world at large. +When users are in more than 14 supplemental groups these negative +permissions may not be enforced via NFS shares. .It Va daily_status_security_chkmounts_enable .Pq Vt bool Set to From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 14:06:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC3CC1065670; Sun, 6 Feb 2011 14:06:37 +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 DBEAC8FC12; Sun, 6 Feb 2011 14:06:37 +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 p16E6bjk067261; Sun, 6 Feb 2011 14:06:37 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16E6b5P067259; Sun, 6 Feb 2011 14:06:37 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102061406.p16E6b5P067259@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 6 Feb 2011 14:06:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218373 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 14:06:38 -0000 Author: pjd Date: Sun Feb 6 14:06:37 2011 New Revision: 218373 URL: http://svn.freebsd.org/changeset/base/218373 Log: Open syslog when logging sysconf(3) failure. Reported by: Mikolaj Golub MFC after: 1 week Modified: head/sbin/hastd/hastd.c Modified: head/sbin/hastd/hastd.c ============================================================================== --- head/sbin/hastd/hastd.c Sun Feb 6 13:59:03 2011 (r218372) +++ head/sbin/hastd/hastd.c Sun Feb 6 14:06:37 2011 (r218373) @@ -168,7 +168,11 @@ descriptors_assert(const struct hast_res maxfd = sysconf(_SC_OPEN_MAX); if (maxfd < 0) { + pjdlog_init(pjdlogmode); + pjdlog_prefix_set("[%s] (%s) ", res->hr_name, + role2str(res->hr_role)); pjdlog_errno(LOG_WARNING, "sysconf(_SC_OPEN_MAX) failed"); + pjdlog_fini(); maxfd = 16384; } for (fd = 0; fd <= maxfd; fd++) { From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 14:07:59 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21424106564A; Sun, 6 Feb 2011 14:07:59 +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 110318FC14; Sun, 6 Feb 2011 14:07:59 +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 p16E7w1x067322; Sun, 6 Feb 2011 14:07:58 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16E7wUu067320; Sun, 6 Feb 2011 14:07:58 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102061407.p16E7wUu067320@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 6 Feb 2011 14:07:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218374 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 14:07:59 -0000 Author: pjd Date: Sun Feb 6 14:07:58 2011 New Revision: 218374 URL: http://svn.freebsd.org/changeset/base/218374 Log: Treat fstat(2) failure (different than EBADF) as fatal error. Reported by: Mikolaj Golub MFC after: 1 week Modified: head/sbin/hastd/hastd.c Modified: head/sbin/hastd/hastd.c ============================================================================== --- head/sbin/hastd/hastd.c Sun Feb 6 14:06:37 2011 (r218373) +++ head/sbin/hastd/hastd.c Sun Feb 6 14:07:58 2011 (r218374) @@ -188,6 +188,7 @@ descriptors_assert(const struct hast_res snprintf(msg, sizeof(msg), "Unable to fstat descriptor %d: %s", fd, strerror(errno)); + break; } if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO) { From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 14:09:20 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3580C1065670; Sun, 6 Feb 2011 14:09:20 +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 24ABE8FC14; Sun, 6 Feb 2011 14:09:20 +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 p16E9KhZ067389; Sun, 6 Feb 2011 14:09:20 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16E9KRa067387; Sun, 6 Feb 2011 14:09:20 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102061409.p16E9KRa067387@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 6 Feb 2011 14:09: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: r218375 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 14:09:20 -0000 Author: pjd Date: Sun Feb 6 14:09:19 2011 New Revision: 218375 URL: http://svn.freebsd.org/changeset/base/218375 Log: Add (void) cast before snprintf(3)s for which we are not interested in return values. MFC after: 1 week Modified: head/sbin/hastd/hastd.c Modified: head/sbin/hastd/hastd.c ============================================================================== --- head/sbin/hastd/hastd.c Sun Feb 6 14:07:58 2011 (r218374) +++ head/sbin/hastd/hastd.c Sun Feb 6 14:09:19 2011 (r218375) @@ -185,7 +185,7 @@ descriptors_assert(const struct hast_res } else { isopen = true; /* silence gcc */ mode = 0; /* silence gcc */ - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Unable to fstat descriptor %d: %s", fd, strerror(errno)); break; @@ -193,7 +193,7 @@ descriptors_assert(const struct hast_res if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO) { if (!isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (%s) is closed, but should be open.", fd, (fd == STDIN_FILENO ? "stdin" : (fd == STDOUT_FILENO ? "stdout" : "stderr"))); @@ -201,39 +201,39 @@ descriptors_assert(const struct hast_res } } else if (fd == proto_descriptor(res->hr_event)) { if (!isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (event) is closed, but should be open.", fd); break; } if (!S_ISSOCK(mode)) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (event) is %s, but should be %s.", fd, dtype2str(mode), dtype2str(S_IFSOCK)); break; } } else if (fd == proto_descriptor(res->hr_ctrl)) { if (!isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (ctrl) is closed, but should be open.", fd); break; } if (!S_ISSOCK(mode)) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (ctrl) is %s, but should be %s.", fd, dtype2str(mode), dtype2str(S_IFSOCK)); break; } } else if (fd == proto_descriptor(res->hr_conn)) { if (!isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (conn) is closed, but should be open.", fd); break; } if (!S_ISSOCK(mode)) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (conn) is %s, but should be %s.", fd, dtype2str(mode), dtype2str(S_IFSOCK)); break; @@ -241,13 +241,13 @@ descriptors_assert(const struct hast_res } else if (res->hr_role == HAST_ROLE_SECONDARY && fd == proto_descriptor(res->hr_remotein)) { if (!isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (remote in) is closed, but should be open.", fd); break; } if (!S_ISSOCK(mode)) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (remote in) is %s, but should be %s.", fd, dtype2str(mode), dtype2str(S_IFSOCK)); break; @@ -255,20 +255,20 @@ descriptors_assert(const struct hast_res } else if (res->hr_role == HAST_ROLE_SECONDARY && fd == proto_descriptor(res->hr_remoteout)) { if (!isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (remote out) is closed, but should be open.", fd); break; } if (!S_ISSOCK(mode)) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d (remote out) is %s, but should be %s.", fd, dtype2str(mode), dtype2str(S_IFSOCK)); break; } } else { if (isopen) { - snprintf(msg, sizeof(msg), + (void)snprintf(msg, sizeof(msg), "Descriptor %d is open (%s), but should be closed.", fd, dtype2str(mode)); break; From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 14:14:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54472106566B; Sun, 6 Feb 2011 14:14:57 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.garage.freebsd.pl (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id EFF948FC1B; Sun, 6 Feb 2011 14:14:55 +0000 (UTC) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 9432645E9D; Sun, 6 Feb 2011 15:14:54 +0100 (CET) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 384B745C9F; Sun, 6 Feb 2011 15:14:49 +0100 (CET) Date: Sun, 6 Feb 2011 15:14:28 +0100 From: Pawel Jakub Dawidek To: Mikolaj Golub Message-ID: <20110206141428.GE2035@garage.freebsd.pl> References: <201101282148.p0SLmF8W001192@svn.freebsd.org> <86aaiartxg.fsf@kopusha.home.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="VYvi4N5CyHZx5xNE" Content-Disposition: inline In-Reply-To: <86aaiartxg.fsf@kopusha.home.net> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 9.0-CURRENT amd64 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-0.6 required=4.5 tests=BAYES_00,RCVD_IN_SORBS_DUL autolearn=no version=3.0.4 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218041 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 14:14:57 -0000 --VYvi4N5CyHZx5xNE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Feb 06, 2011 at 12:35:39AM +0200, Mikolaj Golub wrote: [...] > I think tres->hr_ctrl, hr_event, and hr_conn should be closed here too (l= ike > in the attached patch). Otherwise descriptor assertion will fail in prima= ry if > you have more than one resource, on the second resource. You are right, committed. Thanks! --=20 Pawel Jakub Dawidek http://www.wheelsystems.com pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --VYvi4N5CyHZx5xNE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk1OrMQACgkQForvXbEpPzQyZwCgh5/mRsmHbmqlyI8iEkGA+ljE 0doAn3uQbiwk0udccxTjxU0WZwOFZMqo =VLdW -----END PGP SIGNATURE----- --VYvi4N5CyHZx5xNE-- From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 14:17:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AAC82106564A; Sun, 6 Feb 2011 14:17:08 +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 9A5E28FC17; Sun, 6 Feb 2011 14:17: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 p16EH8xN067651; Sun, 6 Feb 2011 14:17:08 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16EH8C5067649; Sun, 6 Feb 2011 14:17:08 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102061417.p16EH8C5067649@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sun, 6 Feb 2011 14:17: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: r218376 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 14:17:08 -0000 Author: pjd Date: Sun Feb 6 14:17:08 2011 New Revision: 218376 URL: http://svn.freebsd.org/changeset/base/218376 Log: Now that we break the loop on fstat(2) failure we no longer need to satisfy gcc's imperfections. MFC after: 1 week Modified: head/sbin/hastd/hastd.c Modified: head/sbin/hastd/hastd.c ============================================================================== --- head/sbin/hastd/hastd.c Sun Feb 6 14:09:19 2011 (r218375) +++ head/sbin/hastd/hastd.c Sun Feb 6 14:17:08 2011 (r218376) @@ -183,8 +183,6 @@ descriptors_assert(const struct hast_res isopen = false; mode = 0; } else { - isopen = true; /* silence gcc */ - mode = 0; /* silence gcc */ (void)snprintf(msg, sizeof(msg), "Unable to fstat descriptor %d: %s", fd, strerror(errno)); From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 14:18:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34D361065670; Sun, 6 Feb 2011 14:18:37 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.garage.freebsd.pl (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id CCCAE8FC15; Sun, 6 Feb 2011 14:18:36 +0000 (UTC) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 987E445E9D; Sun, 6 Feb 2011 15:18:35 +0100 (CET) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 6C97445EAA; Sun, 6 Feb 2011 15:18:30 +0100 (CET) Date: Sun, 6 Feb 2011 15:18:09 +0100 From: Pawel Jakub Dawidek To: Mikolaj Golub Message-ID: <20110206141809.GF2035@garage.freebsd.pl> References: <201101282156.p0SLulCc001547@svn.freebsd.org> <8662syrtm0.fsf@kopusha.home.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="NAwUDtUPse4omjmu" Content-Disposition: inline In-Reply-To: <8662syrtm0.fsf@kopusha.home.net> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 9.0-CURRENT amd64 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-0.6 required=4.5 tests=BAYES_00,RCVD_IN_SORBS_DUL autolearn=no version=3.0.4 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218044 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 14:18:37 -0000 --NAwUDtUPse4omjmu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Feb 06, 2011 at 12:42:31AM +0200, Mikolaj Golub wrote: [...] > PJD> + /* > PJD> + * At this point descriptor to syslog socket is closed, so= if we want > PJD> + * to log assertion message, we have to first store it in = 'msg' local > PJD> + * buffer and then open syslog socket and log it. > PJD> + */ > PJD> + msg[0] =3D '\0'; > PJD> + > PJD> + maxfd =3D sysconf(_SC_OPEN_MAX); > PJD> + if (maxfd < 0) { > PJD> + pjdlog_errno(LOG_WARNING, "sysconf(_SC_OPEN_MAX) f= ailed"); >=20 > As it is commented above :-) syslog socket is closed so we can't call > pjdlog_errno() here. Correct. Fix committed. > PJD> + } else { > PJD> + isopen =3D true; /* silence gcc */ > PJD> + mode =3D 0; /* silence gcc */ > PJD> + snprintf(msg, sizeof(msg), > PJD> + "Unable to fstat descriptor %d: %s", f= d, > PJD> + strerror(errno)); >=20 > Shouldn't it break here? Yes, I think we should. My initial idea it seems was that it isn't fatal error, but it becomes messy, as we will eventually overwrite msg buffer, so I added break there. Thanks! --=20 Pawel Jakub Dawidek http://www.wheelsystems.com pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --NAwUDtUPse4omjmu Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk1OraEACgkQForvXbEpPzStHQCgnlNndiGoc7Wh0eQwNiwaGrpV 8XsAniyGyAMCRcLnaVDJUEFCj8+/TZxe =Nnlf -----END PGP SIGNATURE----- --NAwUDtUPse4omjmu-- From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 16:21:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 526B81065670; Sun, 6 Feb 2011 16:21:21 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3F8998FC0A; Sun, 6 Feb 2011 16:21: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 p16GLLBr070540; Sun, 6 Feb 2011 16:21:21 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16GLL2U070538; Sun, 6 Feb 2011 16:21:21 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201102061621.p16GLL2U070538@svn.freebsd.org> From: Hiroki Sato Date: Sun, 6 Feb 2011 16:21:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218377 - releng/8.2/release/doc/en_US.ISO8859-1/relnotes X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 16:21:21 -0000 Author: hrs Date: Sun Feb 6 16:21:21 2011 New Revision: 218377 URL: http://svn.freebsd.org/changeset/base/218377 Log: Add more relnotes items for 8.2R: CTLFLAG_RDTUNize vm.kmem_size*, debug.{kdb.stop_cpus,trace_on_panic}, kern.sync_on_panic, pxeboot(8) NFSv3 by default, bge(4) UDP checksum offloading bug tunable, bge(4) DMA bounce buffer handling improvement, sis(4) works on all supported platforms, WoL on DP8315, padding bug tunable, xl(4) WoL support, ipfw(4) netgraph + one_pass issue fixed, ipfw(4) ngtee action changed, pf(4) + TSO issue fixed, ahci(4) device reset timeout 10->15 seconds, ata(4) serverworks K2 SATA detection fixed, kenv boot.nfsroot.nfshandlelen added, more ZFS changes, gpart(8) better /dev/ prefix handling in command line, hastd(8) SIGHUP/SIGINT/SIGTERM handling, libarchive LZMA support, pax(1) off-by-one in ustar filename fixed, tftp(1) and tfptd(8) overhaul, and tzdata2010m. Approved by: re (implicit) Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Sun Feb 6 14:17:08 2011 (r218376) +++ releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Sun Feb 6 16:21:21 2011 (r218377) @@ -186,6 +186,15 @@ displays the list of all created cdev's, consisting of devfs node name and struct cdev address. + The following sysctl + variables are also now loader tunables: + vm.kmem_size, + vm.kmem_size_max, and + vm.kmem_size_min, + debug.kdb.stop_cpus, + debug.trace_on_panic, and + kern.sync_on_panic. + The &os; &man.memguard.9; framework has been improved to make it able to detect use-after-free of allocated memories over a longer time. For more details, see @@ -194,7 +203,8 @@ Boot Loader Changes - + The &man.pxeboot.8; now uses NFS + version 3 instead of version 2 by default. @@ -233,12 +243,29 @@ the &man.alc.4; driver has been reduced from 50ms to 1ms. The 50ms timer resulted in a poor UDP performance. + The &man.bce.4; driver now supports + flow control. + A bug in the &man.bge.4; driver which prevents TSO in BCM57780 from working has been fixed. - The &man.bce.4; driver now supports - flow control. + UDP checksum offloading in the + &man.bge.4; driver has been disabled by default. This is + because Broadcom controllers have a bug which can generate + UDP datagrams with checksum value 0 + when TX UDP checksum offloading is enabled. The checksum + offloading can be enabled by using the following loader + tunable: + + dev.bge.N.forced_udpcsum + + A bug in the &man.bge.4; driver + which can lead poor performance on a system with RAM + larger than 4GB has been fixed. The cause was that all of + Broadcom controllers except for BCM5755 and later has 4GB + boundary DMA bug and the inefficient use of bounce + buffer. The &man.bwi.4; driver, which supports Broadcom BCM430* and BCM431* family Wireless Ethernet @@ -302,8 +329,8 @@ The &man.mwlfw.4; driver is now also provided as a kernel module. - The &man.rl.4; driver now supports WOL - (Wake On Lan) on RTL8139B or newer controllers. + The &man.rl.4; driver now supports WoL + (Wake on LAN) on RTL8139B or newer controllers. The &man.rl.4; driver now supports a device hint to change a way of register access. Although @@ -318,8 +345,24 @@ Note that the default value is 1. - Some stability issues in - the &man.sis.4; driver have been fixed. + The &man.sis.4; driver + now works on all supported platforms. Some stability and + performance issues have also been fixed. + + The &man.sis.4; driver now supports + WoL (Wake on LAN) on NS DP8315 controller. + + A tunable + dev.sis.N.manual_pad + for the &man.sis.4; driver has been added. This controls + whether padding with 0x00 for short frames by software, + not the controller. The reason why this tunable has been + added is that NS DP83815/DP83816 pads them with 0xff + though RFC 1042 specifies it should be 0x00. The tunable + is disabled by default, which means padding with 0xff is + used because padding with 0x00 by software needs extra CPU + cycles. Setting a non-zero value enables the software + padding. The &man.ste.4; driver now supports a device hint to change a way of register access. Although @@ -336,6 +379,11 @@ The checksum offloading can be enabled manually by using option in the &man.ifconfig.8; utility. + + The &man.xl.4; driver now supports + WoL (Wake on LAN). Note that not all controllers support + this functionality and some need an additional remote + wakeup cable. @@ -345,6 +393,15 @@ The &man.altq.4; support is now provided as a kernel module alq.ko. + A bug in the &man.ipfw.4; packet + filter subsystem has been fixed. The syctl variable + net.inet.ip.fw.one_pass did not work for + netgraph action. + + A ngtee action in + the &man.ipfw.4; packet filter subsystem has been changed. + It no longer accepts a packet. + IPsec flow distribution has been improved for more parallel processing. @@ -371,6 +428,10 @@ interface is now destroyed and recreated when the network interface is moved to another vnet. + An ICMP unreachable problem in the + &man.pf.4; packet filter subsystem when TSO support is + enabled has been fixed. + A TCP bandwidth delay product window limiting algorithm by a &man.sysctl.8; variable net.inet.tcp.inflight.enable is now @@ -406,6 +467,10 @@ and PMP support on VIA VT8251 because they are unreliable under load. + The &man.ahci.4; driver now uses 15 + seconds for device reset timeout instead of 10 seconds + because some devices needs 10-12 seconds to spin up. + The &man.arcmsr.4; driver has been updated to version 1.20.00.17. @@ -424,6 +489,10 @@ hw.ata.ata_dma_check_80pin is enabled. + A device detection of Serverworls K2 + SATA controllers in the &man.ata.4; has been + improved. + The &man.mpt.4; driver now supports larger I/O sizes which the device and &man.CAM.4; subsystem can support. This was limited to 64KB, and the number of @@ -438,6 +507,13 @@ File Systems + The &os; NFS client now supports a + kernel environment variable + boot.nfsroot.nfshandlelen. This lets the + diskless root file system on boot to use NFS version 3 and + the spedified file handle length. If this variable is not + set, NFS version 2 is used. + The ZFS on-disk format has been updated to version 15. @@ -447,37 +523,46 @@ related OpenSolaris Bug IDs are 6826241, 6869229, 6918420, and 6917066. - The default value of + Performance improvements for the ZFS + have been imported from OpenSolaris. They include cachin of + ACL permission checks, faster handling of &man.stat.2;, + mitigation of mutex lock contention. The related + OpenSolaris Bug IDs are 6802734, 6844861, 6848431, 6775100, + 6827779, 6857433, 6860318, 6865875, 6867395, 6868276, and + 6870564. + + The default value of vfs.zfs.vdev.max_pending has been decreased from 35 to 10 (OpenSolaris Bug ID is 6891731) to improve latency. - Bugs in the ZFS subsystem has been fixed. The - OpenSolaris Bug IDs are: 6798878, 6809683, 6794570, 6844069, - 6788152, 6843235, 6857012, 6870564, 6836714, 6836714, - 6870564, 6857012, 6843235, 6788152, 6844069, 6794570, - 6809683, 6798878, 6950219, 6953403, 6951024, 6809340, - 6755435, 6748436, 6740164, 6769612, 6757430, 6542860, - 6761100, 6774886, 6737463, 6765294, 6572357, 6572376, - 6328632, 6739487, 6767129, 6747698, 6745863, 6722540, - 6759999, 6758107, 6776548, 6761406, 6770866, 6674216, - 6621164, 6635482, 6595194, 6722991, 6396518, 6713916, - 6739553, 6784104, 6784108, 6788830, 6791064, 6791066, - 6791071, 6792134, 6792884, 6798384, 6551866, 6504953, - 6702206, 6780491, 6747596, 6801507, 6633095, 6775697, - 6790687, 6791101, 6800942, 6582163, 6804954, 6800184, - 6803822, 6789318, 6790345, 6797109, 6797118, 6803343, - 6815893, 6809691, 6790064, 6604992, 6810367, 6807765, - 6821169, 6821170, 6824006, 6792139, 6794830, 6824062, - 6816124, 6818183, 6710376, 6501037, 6827260, 6815592, - 6759986, 6774713, 6717022, 6799895, 6826466, 6826468, - 6826469, 6826470, 6826471, 6826472, 6833711, 6764124, - 6830237, 6833162, 6824968, 6834217, 6596237, 6623978, - 6801810, 6586537, 6836768, 6838062, 6794136, 6776104, - 6664765, 6841321, 6843069, 6847229, 6838344, 6844900, - 6857012, 6848242, 6856634, 6861983, 6862984, 6696858, - 6696858, 6882227, 6880764, 6793430, 6822816, 6892298, - 6807339, 6906110, 6906946, 6898245, and 6833999. + Various bugs in the ZFS subsystem have been fixed. The + related OpenSolaris Bug IDs are: 6328632, 6396518, 6501037, + 6504953, 6542860, 6551866, 6572357, 6572376, 6582163, + 6586537, 6595194, 6596237, 6604992, 6621164, 6623978, + 6633095, 6635482, 6664765, 6674216, 6696858, 6696858, + 6702206, 6710376, 6713916, 6717022, 6722540, 6722991, + 6737463, 6739487, 6739553, 6740164, 6745863, 6747596, + 6747698, 6748436, 6755435, 6757430, 6758107, 6759986, + 6759999, 6761100, 6761406, 6764124, 6765294, 6767129, + 6769612, 6770866, 6774713, 6774886, 6775697, 6776104, + 6776548, 6780491, 6784104, 6784108, 6788152, 6788152, + 6788830, 6789318, 6790064, 6790345, 6790687, 6791064, + 6791066, 6791071, 6791101, 6792134, 6792139, 6792884, + 6793430, 6794136, 6794570, 6794570, 6794830, 6797109, + 6797118, 6798384, 6798878, 6798878, 6799895, 6800184, + 6800942, 6801507, 6801810, 6803343, 6803822, 6804954, + 6807339, 6807765, 6809340, 6809683, 6809683, 6809691, + 6810367, 6815592, 6815893, 6816124, 6818183, 6821169, + 6821170, 6822816, 6824006, 6824062, 6824968, 6826466, + 6826468, 6826469, 6826470, 6826471, 6826472, 6827260, + 6830237, 6833162, 6833711, 6833999, 6834217, 6836714, + 6836714, 6836768, 6838062, 6838344, 6841321, 6843069, + 6843235, 6843235, 6844069, 6844069, 6844900, 6847229, + 6848242, 6856634, 6857012, 6857012, 6857012, 6861983, + 6862984, 6863610, 6870564, 6870564, 6880764, 6882227, + 6892298, 6898245, 6906110, 6906946, 6939941, 6950219, + 6951024, and 6953403. @@ -522,6 +607,16 @@ resize command to resize partitions for all schemes but EBR. + The &man.gpart.8; utility now handles + given geom/provider names with and without + /dev/ prefix. + + The &man.hastd.8; utility now supports + SIGHUP for reloading the configuration + file. When SIGTERM or + SIGINT is received, the worker processes + terminate. + The &man.ifconfig.8; utility now check an invalid CIDR subnet notation more strictly. It wrongly accepted 10.0.0.1/10.0.0.1 as @@ -531,11 +626,19 @@ sequences and reverse ranges in the &man.jot.1; utility have been fixed. + The libarchive and + &man.tar.1; utility now support LZMA (Lempel-Ziv-Markov + chain-Algorithm) compression format. + The &man.newsyslog.8; utility now supports an option to override the default &man.syslogd.8; PID file. + An off-by-one error in the &man.pax.1; + utility when ustar file name is too long has been + fixed. + The &man.pkill.1; utility now supports an option which the &man.kill.1; utility does. @@ -581,6 +684,10 @@ SIGINFO signal and reports the specified sleep time and the remaining time. + The &man.tftp.1; and &man.tftpd.8; + utilities have been improved for better interoperability and + they now supports RFC 1350, 2347, 2348, 2349, and 3617. + The &man.uname.1; utility now supports an flag as a synonym for the flag for compatibility with other @@ -637,7 +744,7 @@ version 8.14.4. --> The timezone database has been updated to the - tzdata2010l release. + tzdata2010m release. From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 17:40:28 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 068A0106566C; Sun, 6 Feb 2011 17:40:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CF4368FC15; Sun, 6 Feb 2011 17:40:27 +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 p16HeRJd072266; Sun, 6 Feb 2011 17:40:27 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16HeRcs072263; Sun, 6 Feb 2011 17:40:27 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102061740.p16HeRcs072263@svn.freebsd.org> From: Adrian Chadd Date: Sun, 6 Feb 2011 17:40:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218378 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 17:40:28 -0000 Author: adrian Date: Sun Feb 6 17:40:27 2011 New Revision: 218378 URL: http://svn.freebsd.org/changeset/base/218378 Log: Only tag packets with the A-MPDU bit if they were part of an A-MPDU RX. Whilst I'm here, add a counter to count said packets. Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_athioctl.h Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Sun Feb 6 16:21:21 2011 (r218377) +++ head/sys/dev/ath/if_ath.c Sun Feb 6 17:40:27 2011 (r218378) @@ -3892,16 +3892,11 @@ rx_accept: IEEE80211_KEYIX_NONE : rs->rs_keyix); sc->sc_lastrs = rs; if (ni != NULL) { -#ifdef NOTYET - /* tag AMPDU aggregates for reorder processing */ - /* - * XXX this should only tag frames marked as aggregate; rather - * XXX than all frames. - */ - if (ni->ni_flags & IEEE80211_NODE_HT) - m->m_flags |= M_AMPDU; -#endif - + /* tag AMPDU aggregates for reorder processing */ + if (rs->rs_isaggr) { + + m->m_flags |= M_AMPDU; + } /* * Sending station is known, dispatch directly. */ @@ -6499,4 +6494,6 @@ ath_sysctl_stats_attach(struct ath_softc &sc->sc_stats.ast_be_missed, 0, "number of -missed- beacons"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_ani_cal", CTLFLAG_RD, &sc->sc_stats.ast_ani_cal, 0, "number of ANI polls"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_agg", CTLFLAG_RD, + &sc->sc_stats.ast_rx_agg, 0, "number of aggregate frames received"); } Modified: head/sys/dev/ath/if_athioctl.h ============================================================================== --- head/sys/dev/ath/if_athioctl.h Sun Feb 6 16:21:21 2011 (r218377) +++ head/sys/dev/ath/if_athioctl.h Sun Feb 6 17:40:27 2011 (r218378) @@ -120,7 +120,8 @@ struct ath_stats { u_int32_t ast_tx_nofrag; /* tx dropped 'cuz no ath frag buffer */ u_int32_t ast_be_missed; /* missed beacons */ u_int32_t ast_ani_cal; /* ANI calibrations performed */ - u_int32_t ast_pad[12]; + u_int32_t ast_rx_agg; /* number of aggregate frames RX'ed */ + u_int32_t ast_pad[11]; }; #define SIOCGATHSTATS _IOWR('i', 137, struct ifreq) From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 20:11:24 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 765A0106566C; Sun, 6 Feb 2011 20:11:24 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 646D78FC0C; Sun, 6 Feb 2011 20:11: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 p16KBOqu075650; Sun, 6 Feb 2011 20:11:24 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16KBOx2075648; Sun, 6 Feb 2011 20:11:24 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102062011.p16KBOx2075648@svn.freebsd.org> From: Adrian Chadd Date: Sun, 6 Feb 2011 20:11: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: r218379 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 20:11:24 -0000 Author: adrian Date: Sun Feb 6 20:11:24 2011 New Revision: 218379 URL: http://svn.freebsd.org/changeset/base/218379 Log: Just tag all RX packets as needing reorder processing for now. This fixes two problems - * All packets need to be processed here, not just aggregate ones - as any received frames (AMPDU or otherwise) in the given TID (traffic class id) will update the sequence number and, implied with that, update the window; * It seems there's situations where packets aren't matching a current node but somehow need to be tracked. Thus just tag them all for now; I'll figure out the why later. Whilst I'm here, bump the stats counters whilst I'm at it. This fixes AMPDU RX in my tests; the main problems now stem from what look like PHY level error/retransmits which are impeding general throughput, incl. AMPDU. Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Sun Feb 6 17:40:27 2011 (r218378) +++ head/sys/dev/ath/if_ath.c Sun Feb 6 20:11:24 2011 (r218379) @@ -3891,12 +3891,19 @@ rx_accept: rs->rs_keyix == HAL_RXKEYIX_INVALID ? IEEE80211_KEYIX_NONE : rs->rs_keyix); sc->sc_lastrs = rs; + /* tag AMPDU aggregates for reorder processing */ + /* + * Just make sure all frames are tagged for AMPDU reorder checking. + * As there seems to be some situations where single frames aren't + * matching a node but bump the seqno. This needs to be investigated. + */ + m->m_flags |= M_AMPDU; + + /* Keep statistics on the number of aggregate packets received */ + if (rs->rs_isaggr) + sc->sc_stats.ast_rx_agg++; + if (ni != NULL) { - /* tag AMPDU aggregates for reorder processing */ - if (rs->rs_isaggr) { - - m->m_flags |= M_AMPDU; - } /* * Sending station is known, dispatch directly. */ From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 22:18:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBD4E106566C; Sun, 6 Feb 2011 22:18:37 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA3E88FC08; Sun, 6 Feb 2011 22:18:37 +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 p16MIbK9078725; Sun, 6 Feb 2011 22:18:37 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16MIbEE078723; Sun, 6 Feb 2011 22:18:37 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201102062218.p16MIbEE078723@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 6 Feb 2011 22:18:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218382 - head/sys/ia64/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 22:18:37 -0000 Author: marcel Date: Sun Feb 6 22:18:37 2011 New Revision: 218382 URL: http://svn.freebsd.org/changeset/base/218382 Log: Comment-out FLOWTABLE. It causes a kernel panic due to a misaligned memory access related to an IPv6 route update. PR: kern/148018 Modified: head/sys/ia64/conf/GENERIC Modified: head/sys/ia64/conf/GENERIC ============================================================================== --- head/sys/ia64/conf/GENERIC Sun Feb 6 21:42:28 2011 (r218381) +++ head/sys/ia64/conf/GENERIC Sun Feb 6 22:18:37 2011 (r218382) @@ -31,7 +31,8 @@ options COMPAT_FREEBSD7 # Compatible wi options DDB # Support DDB options DEADLKRES # Enable the deadlock resolver options FFS # Berkeley Fast Filesystem -options FLOWTABLE # per-cpu routing cache +#options FLOWTABLE # per-cpu routing cache (removed due to + # misaligned access -- see kern/148018) options GDB # Support remote GDB options GEOM_LABEL # Provides labelization options INCLUDE_CONFIG_FILE # Include this file in kernel From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 22:21:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DDA81065670; Sun, 6 Feb 2011 22:21:19 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 20CD18FC12; Sun, 6 Feb 2011 22:21:19 +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 p16MLJTu078822; Sun, 6 Feb 2011 22:21:19 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16MLJ2N078820; Sun, 6 Feb 2011 22:21:19 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201102062221.p16MLJ2N078820@svn.freebsd.org> From: Juli Mallett Date: Sun, 6 Feb 2011 22:21:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218383 - head/sys/mips/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 22:21:19 -0000 Author: jmallett Date: Sun Feb 6 22:21:18 2011 New Revision: 218383 URL: http://svn.freebsd.org/changeset/base/218383 Log: o) Cavium Octeon doesn't need nop barriers. o) Have mips_wblush just do syncw, not sync on Cavium Octeon. o) Add support for reading and writing some Octeon-specific registers. NB: Some of these are not entirely Octeon-specific. Submitted by: Bhanu Prakash Modified: head/sys/mips/include/cpufunc.h Modified: head/sys/mips/include/cpufunc.h ============================================================================== --- head/sys/mips/include/cpufunc.h Sun Feb 6 22:18:37 2011 (r218382) +++ head/sys/mips/include/cpufunc.h Sun Feb 6 22:21:18 2011 (r218383) @@ -69,6 +69,9 @@ static __inline void mips_barrier(void) { +#ifdef CPU_CNMIPS + __asm __volatile("" : : : "memory"); +#else __asm __volatile (".set noreorder\n\t" "nop\n\t" "nop\n\t" @@ -80,6 +83,7 @@ mips_barrier(void) "nop\n\t" ".set reorder\n\t" : : : "memory"); +#endif } static __inline void @@ -91,8 +95,15 @@ mips_cp0_sync(void) static __inline void mips_wbflush(void) { +#if defined(CPU_CNMIPS) + __asm __volatile (".set noreorder\n\t" + "syncw\n\t" + ".set reorder\n" + : : : "memory"); +#else __asm __volatile ("sync" : : : "memory"); mips_barrier(); +#endif } static __inline void @@ -136,10 +147,37 @@ mips_wr_ ## n (uint64_t a0) \ mips_barrier(); \ } struct __hack +#define MIPS_RW64_COP0_SEL(n,r,s) \ +static __inline uint64_t \ +mips_rd_ ## n(void) \ +{ \ + int v0; \ + __asm __volatile ("dmfc0 %[v0], $"__XSTRING(r)", "__XSTRING(s)";" \ + : [v0] "=&r"(v0)); \ + mips_barrier(); \ + return (v0); \ +} \ +static __inline void \ +mips_wr_ ## n(uint64_t a0) \ +{ \ + __asm __volatile ("dmtc0 %[a0], $"__XSTRING(r)", "__XSTRING(s)";" \ + __XSTRING(COP0_SYNC)";" \ + : \ + : [a0] "r"(a0)); \ + mips_barrier(); \ +} struct __hack + #if defined(__mips_n64) MIPS_RW64_COP0(excpc, MIPS_COP_0_EXC_PC); MIPS_RW64_COP0(entryhi, MIPS_COP_0_TLB_HI); MIPS_RW64_COP0(pagemask, MIPS_COP_0_TLB_PG_MASK); +#ifdef CPU_CNMIPS +MIPS_RW64_COP0_SEL(cvmcount, MIPS_COP_0_COUNT, 6); +MIPS_RW64_COP0_SEL(cvmctl, MIPS_COP_0_COUNT, 7); +MIPS_RW64_COP0_SEL(cvmmemctl, MIPS_COP_0_COMPARE, 7); +MIPS_RW64_COP0_SEL(icache_err, MIPS_COP_0_CACHE_ERR, 0); +MIPS_RW64_COP0_SEL(dcache_err, MIPS_COP_0_CACHE_ERR, 1); +#endif #endif #if defined(__mips_n64) || defined(__mips_n32) /* PHYSADDR_64_BIT */ MIPS_RW64_COP0(entrylo0, MIPS_COP_0_TLB_LO0); @@ -148,6 +186,7 @@ MIPS_RW64_COP0(entrylo1, MIPS_COP_0_TLB_ MIPS_RW64_COP0(xcontext, MIPS_COP_0_TLB_XCONTEXT); #undef MIPS_RW64_COP0 +#undef MIPS_RW64_COP0_SEL #endif #define MIPS_RW32_COP0(n,r) \ @@ -212,6 +251,9 @@ MIPS_RW32_COP0(config, MIPS_COP_0_CONFIG MIPS_RW32_COP0_SEL(config1, MIPS_COP_0_CONFIG, 1); MIPS_RW32_COP0_SEL(config2, MIPS_COP_0_CONFIG, 2); MIPS_RW32_COP0_SEL(config3, MIPS_COP_0_CONFIG, 3); +#ifdef CPU_CNMIPS +MIPS_RW32_COP0_SEL(config4, MIPS_COP_0_CONFIG, 4); +#endif MIPS_RW32_COP0(count, MIPS_COP_0_COUNT); MIPS_RW32_COP0(index, MIPS_COP_0_TLB_INDEX); MIPS_RW32_COP0(wired, MIPS_COP_0_TLB_WIRED); From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 22:40:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82D80106564A; Sun, 6 Feb 2011 22:40:45 +0000 (UTC) (envelope-from dchagin@dchagin.static.corbina.ru) Received: from contrabass.post.ru (contrabass.post.ru [85.21.78.5]) by mx1.freebsd.org (Postfix) with ESMTP id 2D8A58FC1B; Sun, 6 Feb 2011 22:40:44 +0000 (UTC) Received: from corbina.ru (mail.post.ru [195.14.50.16]) by contrabass.post.ru (Postfix) with ESMTP id 75F09CA332; Mon, 7 Feb 2011 01:15:14 +0300 (MSK) X-Virus-Scanned: by cgpav Uf39PSi9pFi9oFi9 Received: from [10.208.17.3] (HELO dchagin.static.corbina.ru) by corbina.ru (CommuniGate Pro SMTP 5.1.14) with ESMTPS id 298778863; Mon, 07 Feb 2011 01:15:14 +0300 Received: from dchagin.static.corbina.ru (localhost [127.0.0.1]) by dchagin.static.corbina.ru (8.14.4/8.14.4) with ESMTP id p16MFDrQ013698; Mon, 7 Feb 2011 01:15:13 +0300 (MSK) (envelope-from dchagin@dchagin.static.corbina.ru) Received: (from dchagin@localhost) by dchagin.static.corbina.ru (8.14.4/8.14.4/Submit) id p16MF8Gm013697; Mon, 7 Feb 2011 01:15:08 +0300 (MSK) (envelope-from dchagin) Date: Mon, 7 Feb 2011 01:15:08 +0300 From: Chagin Dmitry To: John Baldwin Message-ID: <20110206221508.GA13630@dchagin.static.corbina.ru> References: <201101131422.p0DEMRHk053165@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xHFwDpU9dbj6ez1V" Content-Disposition: inline In-Reply-To: <201101131422.p0DEMRHk053165@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r217351 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 22:40:45 -0000 --xHFwDpU9dbj6ez1V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jan 13, 2011 at 02:22:27PM +0000, John Baldwin wrote: > Author: jhb > Date: Thu Jan 13 14:22:27 2011 > New Revision: 217351 > URL: http://svn.freebsd.org/changeset/base/217351 >=20 > Log: > Introduce two new helper macros to define the priority ranges used for > interactive timeshare threads (PRI_*_INTERACTIVE) and non-interactive > timeshare threads (PRI_*_BATCH) and use these instead of PRI_*_REALTIME > and PRI_*_TIMESHARE. No functional change. > =20 > Reviewed by: jeff Hi, John. Got a panic in vbox: Mon Feb 7 00:57:27 MSK 2011 FreeBSD amd64 9.0-CURRENT FreeBSD 9.0-CURRENT #2 r218225+ae81d3a: Sun Feb 6 21:57:31 MSK 2011 root@amd64:/usr/obj/usr/work/head/sys/YOY amd64 panic: sched_priority: invalid priority 3920: nice 0, ticks 122826752 ftick 185416 ltick 186416 tick pri 3748 --=20 Have fun! chd --xHFwDpU9dbj6ez1V Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAk1PHWoACgkQ0t2Tb3OO/O1/+wCeP/nBfAYEWnZM9IW0uX71PSTu pzMAoJBUf+kvzord2n6Vk3Mjjpi2Hj0B =wghs -----END PGP SIGNATURE----- --xHFwDpU9dbj6ez1V-- From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 22:46:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C080C1065674; Sun, 6 Feb 2011 22:46:07 +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 AA8AB8FC12; Sun, 6 Feb 2011 22:46:07 +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 p16Mk7MD080946; Sun, 6 Feb 2011 22:46:07 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p16Mk7K5080930; Sun, 6 Feb 2011 22:46:07 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102062246.p16Mk7K5080930@svn.freebsd.org> From: Doug Barton Date: Sun, 6 Feb 2011 22:46: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: r218384 - in head: contrib/bind9 contrib/bind9/bin/check contrib/bind9/bin/dig contrib/bind9/bin/dnssec contrib/bind9/bin/named contrib/bind9/bin/named/include/named contrib/bind9/bin/n... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 06 Feb 2011 22:46:07 -0000 Author: dougb Date: Sun Feb 6 22:46:07 2011 New Revision: 218384 URL: http://svn.freebsd.org/changeset/base/218384 Log: Update to BIND 9.6.3, the latest from ISC on the 9.6 branch. All 9.6 users with DNSSEC validation enabled should upgrade to this version, or the latest version in the 9.7 branch, prior to 2011-03-31 in order to avoid validation failures for names in .COM as described here: https://www.isc.org/announcement/bind-9-dnssec-validation-fails-new-ds-record In addition the fixes for this and other bugs, there are also the following: * Various fixes to kerberos support, including GSS-TSIG * Various fixes to avoid leaking memory, and to problems that could prevent a clean shutdown of named Added: head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html - copied unchanged from r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.html head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf - copied unchanged from r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.pdf head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt - copied unchanged from r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.txt Deleted: head/contrib/bind9/RELEASE-NOTES-BIND-9.6-ESV.html head/contrib/bind9/RELEASE-NOTES-BIND-9.6-ESV.pdf head/contrib/bind9/RELEASE-NOTES-BIND-9.6-ESV.txt head/contrib/bind9/release-notes.css Modified: head/contrib/bind9/CHANGES head/contrib/bind9/COPYRIGHT head/contrib/bind9/README head/contrib/bind9/bin/check/check-tool.c head/contrib/bind9/bin/check/check-tool.h head/contrib/bind9/bin/check/named-checkconf.c head/contrib/bind9/bin/check/named-checkzone.c head/contrib/bind9/bin/dig/dig.c head/contrib/bind9/bin/dig/dighost.c head/contrib/bind9/bin/dig/host.c head/contrib/bind9/bin/dig/nslookup.1 head/contrib/bind9/bin/dig/nslookup.docbook head/contrib/bind9/bin/dig/nslookup.html head/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 head/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html head/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html head/contrib/bind9/bin/dnssec/dnssec-keygen.html head/contrib/bind9/bin/dnssec/dnssec-signzone.c head/contrib/bind9/bin/dnssec/dnssec-signzone.html head/contrib/bind9/bin/named/builtin.c head/contrib/bind9/bin/named/client.c head/contrib/bind9/bin/named/control.c head/contrib/bind9/bin/named/include/named/globals.h head/contrib/bind9/bin/named/include/named/query.h head/contrib/bind9/bin/named/main.c head/contrib/bind9/bin/named/query.c head/contrib/bind9/bin/named/server.c head/contrib/bind9/bin/named/update.c head/contrib/bind9/bin/named/xfrout.c head/contrib/bind9/bin/nsupdate/nsupdate.1 head/contrib/bind9/bin/nsupdate/nsupdate.c head/contrib/bind9/bin/nsupdate/nsupdate.docbook head/contrib/bind9/bin/nsupdate/nsupdate.html head/contrib/bind9/config.h.in head/contrib/bind9/config.threads.in head/contrib/bind9/configure.in head/contrib/bind9/doc/arm/Bv9ARM-book.xml head/contrib/bind9/doc/arm/Bv9ARM.ch06.html head/contrib/bind9/doc/arm/Bv9ARM.ch07.html head/contrib/bind9/doc/arm/Bv9ARM.ch08.html head/contrib/bind9/doc/arm/Bv9ARM.ch09.html head/contrib/bind9/doc/arm/Bv9ARM.html head/contrib/bind9/doc/arm/Bv9ARM.pdf head/contrib/bind9/doc/arm/man.dig.html head/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html head/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html head/contrib/bind9/doc/arm/man.dnssec-keygen.html head/contrib/bind9/doc/arm/man.dnssec-signzone.html head/contrib/bind9/doc/arm/man.host.html head/contrib/bind9/doc/arm/man.named-checkconf.html head/contrib/bind9/doc/arm/man.named-checkzone.html head/contrib/bind9/doc/arm/man.named.html head/contrib/bind9/doc/arm/man.nsupdate.html head/contrib/bind9/doc/arm/man.rndc-confgen.html head/contrib/bind9/doc/arm/man.rndc.conf.html head/contrib/bind9/doc/arm/man.rndc.html head/contrib/bind9/doc/misc/options head/contrib/bind9/lib/bind9/api head/contrib/bind9/lib/bind9/check.c head/contrib/bind9/lib/dns/Makefile.in head/contrib/bind9/lib/dns/adb.c head/contrib/bind9/lib/dns/api head/contrib/bind9/lib/dns/dst_api.c head/contrib/bind9/lib/dns/dst_internal.h head/contrib/bind9/lib/dns/gssapictx.c head/contrib/bind9/lib/dns/include/dns/diff.h head/contrib/bind9/lib/dns/include/dns/events.h head/contrib/bind9/lib/dns/include/dns/name.h head/contrib/bind9/lib/dns/include/dns/ncache.h head/contrib/bind9/lib/dns/include/dns/rdataset.h head/contrib/bind9/lib/dns/include/dns/resolver.h head/contrib/bind9/lib/dns/include/dns/result.h head/contrib/bind9/lib/dns/include/dns/tsig.h head/contrib/bind9/lib/dns/include/dns/types.h head/contrib/bind9/lib/dns/include/dns/validator.h head/contrib/bind9/lib/dns/include/dns/view.h head/contrib/bind9/lib/dns/include/dns/zone.h head/contrib/bind9/lib/dns/include/dst/dst.h head/contrib/bind9/lib/dns/journal.c head/contrib/bind9/lib/dns/message.c head/contrib/bind9/lib/dns/name.c head/contrib/bind9/lib/dns/ncache.c head/contrib/bind9/lib/dns/openssl_link.c head/contrib/bind9/lib/dns/rbtdb.c head/contrib/bind9/lib/dns/rdata.c head/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c head/contrib/bind9/lib/dns/rdata/generic/nsec_47.c head/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c head/contrib/bind9/lib/dns/rdatalist.c head/contrib/bind9/lib/dns/rdataset.c head/contrib/bind9/lib/dns/rdataslab.c head/contrib/bind9/lib/dns/resolver.c head/contrib/bind9/lib/dns/result.c head/contrib/bind9/lib/dns/rootns.c head/contrib/bind9/lib/dns/sdb.c head/contrib/bind9/lib/dns/sdlz.c head/contrib/bind9/lib/dns/time.c head/contrib/bind9/lib/dns/tkey.c head/contrib/bind9/lib/dns/tsig.c head/contrib/bind9/lib/dns/validator.c head/contrib/bind9/lib/dns/view.c head/contrib/bind9/lib/dns/zone.c head/contrib/bind9/lib/isc/Makefile.in head/contrib/bind9/lib/isc/api head/contrib/bind9/lib/isc/entropy.c head/contrib/bind9/lib/isc/include/isc/mem.h head/contrib/bind9/lib/isc/include/isc/platform.h.in head/contrib/bind9/lib/isc/include/isc/task.h head/contrib/bind9/lib/isc/mem.c head/contrib/bind9/lib/isc/nothreads/Makefile.in head/contrib/bind9/lib/isc/print.c head/contrib/bind9/lib/isc/pthreads/mutex.c head/contrib/bind9/lib/isc/task.c head/contrib/bind9/lib/isc/unix/socket.c head/contrib/bind9/lib/isccfg/api head/contrib/bind9/lib/isccfg/namedconf.c head/contrib/bind9/lib/lwres/man/lwres.html head/contrib/bind9/lib/lwres/man/lwres_buffer.html head/contrib/bind9/lib/lwres/man/lwres_config.html head/contrib/bind9/lib/lwres/man/lwres_context.html head/contrib/bind9/lib/lwres/man/lwres_gabn.html head/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html head/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html head/contrib/bind9/lib/lwres/man/lwres_gethostent.html head/contrib/bind9/lib/lwres/man/lwres_getipnode.html head/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html head/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html head/contrib/bind9/lib/lwres/man/lwres_gnba.html head/contrib/bind9/lib/lwres/man/lwres_hstrerror.html head/contrib/bind9/lib/lwres/man/lwres_inetntop.html head/contrib/bind9/lib/lwres/man/lwres_noop.html head/contrib/bind9/lib/lwres/man/lwres_packet.html head/contrib/bind9/lib/lwres/man/lwres_resutil.html head/contrib/bind9/lib/lwres/print_p.h head/contrib/bind9/version head/lib/bind/config.h head/lib/bind/dns/code.h head/lib/bind/dns/dns/enumclass.h head/lib/bind/dns/dns/enumtype.h head/lib/bind/dns/dns/rdatastruct.h head/lib/bind/isc/isc/platform.h Directory Properties: head/contrib/bind9/ (props changed) Modified: head/contrib/bind9/CHANGES ============================================================================== --- head/contrib/bind9/CHANGES Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/CHANGES Sun Feb 6 22:46:07 2011 (r218384) @@ -1,5 +1,54 @@ + --- 9.6.3 released --- - --- 9.6-ESV-R3 released --- +3009. [bug] clients-per-query code didn't work as expected with + particular query patterns. [RT #22972] + + --- 9.6.3rc1 released --- + +3007. [bug] Named failed to preserve the case of domain names in + rdata which is not compressible when writing master + files. [RT #22863] + +3002. [bug] isc_mutex_init_errcheck() failed to destroy attr. + [RT #22766] + +2996. [security] Temporarily disable SO_ACCEPTFILTER support. + [RT #22589] + +2995. [bug] The Kerberos realm was not being correctly extracted + from the signer's identity. [RT #22770] + +2994. [port] NetBSD: use pthreads by default on NetBSD >= 5.0, and + do not use threads on earlier versions. Also kill + the unproven-pthreads, mit-pthreads, and ptl2 support. + +2984. [bug] Don't run MX checks when the target of the MX record + is ".". [RT #22645] + +2817. [cleanup] Removed unnecessary isc_task_endexclusive() calls. + [RT #20768] + + --- 9.6.3b1 released --- + +2982. [bug] Reference count dst keys. dst_key_attach() can be used + increment the reference count. + + Note: dns_tsigkey_createfromkey() callers should now + always call dst_key_free() rather than setting it + to NULL on success. [RT #22672] + +2979. [bug] named could deadlock during shutdown if two + "rndc stop" commands were issued at the same + time. [RT #22108] + +2978. [port] hpux: look for [RT #21919] + +2976. [bug] named could die on exit after negotiating a GSS-TSIG + key. [RT #22573] + +2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() aquired the + wrong lock which could lead to server deadlock. + [RT #22614] 2972. [bug] win32: address windows socket errors. [RT #21906] @@ -36,6 +85,9 @@ justified character with a non zero width, (e.g. "%-1c"). [RT #22270] +2965. [func] Test HMAC functions using test data from RFC 2104 and + RFC 4634. [RT #21702] + 2964. [bug] view->queryacl was being overloaded. Seperate the usage into view->queryacl, view->cacheacl and view->queryonacl. [RT #22114] @@ -43,6 +95,25 @@ 2962. [port] win32: add more dependencies to BINDBuild.dsw. [RT #22062] +2960. [func] Check that named accepts non-authoritative answers. + [RT #21594] + +2959. [func] Check that named starts with a missing masterfile. + [RT #22076] + +2957. [bug] entropy_get() and entropy_getpseudo() failed to match + the API for RAND_bytes() and RAND_pseudo_bytes() + respectively. [RT #21962] + +2956. [port] Enable atomic operations on the PowerPC64. [RT #21899] + +2954. [bug] contrib: dlz_mysql_driver.c bad error handling on + build_sqldbinstance failure. [RT #21623] + +2953. [bug] Silence spurious "expected covering NSEC3, got an + exact match" message when returning a wildcard + no data response. [RT #21744] + 2952. [port] win32: named-checkzone and named-checkconf failed to initialise winsock. [RT #21932] @@ -50,7 +121,23 @@ in a optout, delegation only zone with no secure delegations. [RT #22007] - --- 9.6-ESV-R2 released --- +2950. [bug] named failed to perform a SOA up to date check when + falling back to TCP on UDP timeouts when + ixfr-from-differences was set. [RT #21595] + +2946. [doc] Document the default values for the minimum and maximum + zone refresh and retry values in the ARM. [RT #21886] + +2945. [doc] Update empty-zones list in ARM. [RT #21772] + +2944. [maint] Remove ORCHID prefix from built in empty zones. + [RT #21772] + +2942. [contrib] zone2sqlite failed to setup the entropy sources. + [RT #21610] + +2941. [bug] sdb and sdlz (dlz's zone database) failed to support + DNAME at the zone apex. [RT #21610] 2939. [func] Check that named successfully skips NSEC3 records that fail to match the NSEC3PARAM record currently @@ -73,31 +160,173 @@ likely that the bug happens only when enabling threads, but it's not confirmed yet. [RT #21818] +2935. [bug] nsupdate: improve 'file not found' error message. + [RT #21871] + +2934. [bug] Use ANSI C compliant shift range in lib/isc/entropy.c. + [RT #21871] + +2933. [bug] 'dig +nsid' used stack memory after it went out of + scope. This could potentially result in a unknown, + potentially malformed, EDNS option being sent instead + of the desired NSID option. [RT #21781] + +2932. [cleanup] Corrected a numbering error in the "dnssec" test. + [RT #21597] + +2931. [bug] Temporarily and partially disable change 2864 + because it would cause infinite attempts of RRSIG + queries. This is an urgent care fix; we'll + revisit the issue and complete the fix later. + [RT #21710] + +2929. [bug] Improved handling of GSS security contexts: + - added LRU expiration for generated TSIGs + - added the ability to use a non-default realm + - added new "realm" keyword in nsupdate + - limited lifetime of generated keys to 1 hour + or the lifetime of the context (whichever is + smaller) + [RT #19737] + 2925. [bug] Named failed to accept uncachable negative responses from insecure zones. [RT# 21555] +2923. [bug] 'dig +trace' could drop core after "connection + timeout". [RT #21514] + +2922. [contrib] Update zkt to version 1.0. + 2921. [bug] The resolver could attempt to destroy a fetch context too soon. [RT #19878] +2918. [maint] Add AAAA address for I.ROOT-SERVERS.NET. + +2916. [func] Add framework to use IPv6 in tests. + fd92:7065:b8e:ffff::1 ... fd92:7065:b8e:ffff::7 + +2915. [cleanup] Be smarter about which objects we attempt to compile + based on configure options. [RT #21444] + +2912. [func] Windows clients don't like UPDATE responses that clear + the zone section. [RT #20986] + +2911. [bug] dnssec-signzone didn't handle out of zone records well. + [RT #21367] + +2910. [func] Sanity check Kerberos credentials. [RT #20986] + +2908. [bug] It was possible for re-signing to stop after removing + a DNSKEY. [RT #21384] + +2905. [port] aix: set use_atomic=yes with native compiler. + [RT #21402] + +2904. [bug] When using DLV, sub-zones of the zones in the DLV, + could be incorrectly marked as insecure instead of + secure leading to negative proofs failing. This was + a unintended outcome from change 2890. [RT# 21392] + +2901. [port] Use AC_C_FLEXIBLE_ARRAY_MEMBER. [RT #21316] + 2900. [bug] The placeholder negative caching element was not - properly constructed triggering a INSIST in + properly constructed triggering a INSIST in dns_ncache_towire(). [RT #21346] - + +2899. [port] win32: Support linking against OpenSSL 1.0.0. + +2898. [bug] nslookup leaked memory when -domain=value was + specified. [RT #21301] + +2894. [contrib] DLZ LDAP support now use '$' not '%'. [RT #21294] + +2891. [maint] Update empty-zones list to match + draft-ietf-dnsop-default-local-zones-13. [RT# 21099] + 2890. [bug] Handle the introduction of new trusted-keys and DS, DLV RRsets better. [RT #21097] -2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. - [RT #20877] +2889. [bug] Elements of the grammar where not properly reported. + [RT #21046] + +2888. [bug] Only the first EDNS option was displayed. [RT #21273] + +2885. [bug] Improve -fno-strict-aliasing support probing in + configure. [RT #21080] + +2884. [bug] Insufficient validation in dns_name_getlabelsequence(). + [RT #21283] + +2883. [bug] 'dig +short' failed to handle really large datasets. + [RT #21113] + +2882. [bug] Remove memory context from list of active contexts + before clearing 'magic'. [RT #21274] + +2881. [bug] Reduce the amount of time the rbtdb write lock + is held when closing a version. [RT #21198] + +2879. [contrib] DLZ bdbhpt driver fails to close correct cursor. + [RT #21106] - --- 9.6-ESV-R1 released --- +2877. [bug] The validator failed to skip obviously mismatching + RRSIGs. [RT #21138] 2876. [bug] Named could return SERVFAIL for negative responses from unsigned zones. [RT #21131] - --- 9.6-ESV released --- +2875. [bug] dns_time64_fromtext() could accept non digits. + [RT #21033] + +2874. [bug] Cache lack of EDNS support only after the server + successfully responds to the query using plain DNS. + [RT #20930] + +2870. [maint] Add AAAA address for L.ROOT-SERVERS.NET. + +2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. + [RT #20877] + +2868. [cleanup] Run "make clean" at the end of configure to ensure + any changes made by configure are integrated. + Use --with-make-clean=no to disable. [RT #20994] + +2867. [bug] Don't set GSS_C_SEQUENCE_FLAG as Windows DNS servers + don't like it. [RT #20986] + +2866. [bug] Windows does not like the TSIG name being compressed. + [RT #20986] + +2865. [bug] memset to zero event.data. [RT #20986] + +2864. [bug] Direct SIG/RRSIG queries were not handled correctly. + [RT #21050] + +2863. [port] linux: disable IPv6 PMTUD and use network minimum MTU. + [RT #21056] + +2862. [bug] nsupdate didn't default to the parent zone when + updating DS records. [RT #20896] + +2859. [bug] When cancelling validation it was possible to leak + memory. [RT #20800] + +2858. [bug] RTT estimates were not being adjusted on ICMP errors. + [RT #20772] + +2857. [bug] named-checkconf did not fail on a bad trusted key. + [RT #20705] + +2856. [bug] The size of a memory allocation was not always properly + recorded. [RT #20927] + +2853. [bug] add_sigs() could run out of scratch space. [RT #21015] 2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619] +2851. [doc] nslookup.1, removed from the docbook + source as it produced bad nroff. [RT #21007] + --- 9.6.2 released --- 2850. [bug] If isc_heap_insert() failed due to memory shortage @@ -138,10 +367,10 @@ 2823. [bug] rbtdb.c:getsigningtime() was missing locks. [RT #20781] -2819. [cleanup] Removed unnecessary DNS_POINTER_MAXHOPS define +2819. [cleanup] Removed unnecessary DNS_POINTER_MAXHOPS define. [RT #20771] -2818. [cleanup] rndc could return an incorrect error code +2818. [cleanup] rndc could return an incorrect error code when a zone was not found. [RT #20767] 2815. [bug] Exclusively lock the task when freezing a zone. @@ -357,7 +586,7 @@ 2621. [doc] Made copyright boilterplate consistent. [RT #19833] -2920. [bug] Delay thawing the zone until the reload of it has +2620. [bug] Delay thawing the zone until the reload of it has completed successfully. [RT #19750] 2618. [bug] The sdb and sdlz db_interator_seek() methods could Modified: head/contrib/bind9/COPYRIGHT ============================================================================== --- head/contrib/bind9/COPYRIGHT Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/COPYRIGHT Sun Feb 6 22:46:07 2011 (r218384) @@ -1,4 +1,4 @@ -Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 1996-2003 Internet Software Consortium. Permission to use, copy, modify, and/or distribute this software for any @@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -$Id: COPYRIGHT,v 1.14.176.2 2010/01/07 23:47:36 tbox Exp $ +$Id: COPYRIGHT,v 1.14.176.3 2011-01-04 23:45:42 tbox Exp $ Portions Copyright (C) 1996-2001 Nominum, Inc. Modified: head/contrib/bind9/README ============================================================================== --- head/contrib/bind9/README Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/README Sun Feb 6 22:46:07 2011 (r218384) @@ -42,11 +42,9 @@ BIND 9 Stichting NLnet - NLnet Foundation Nominum, Inc. -BIND 9.6-ESV (Extended Support Version) +BIND 9.6.3 - BIND 9.6-ESV will be supported until March 31, 2013, at - which time you will need to upgrade to the current release - of BIND. + BIND 9.6.3 is a maintenance release, fixing bugs in 9.6.2. BIND 9.6.2 Copied: head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html (from r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.html) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html Sun Feb 6 22:46:07 2011 (r218384, copy of r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.html) @@ -0,0 +1,165 @@ + + +

+ +

Introduction

+ +

+ BIND 9.6.3 is the current release of BIND 9.6. +

+

+ This document summarizes changes from BIND 9.6.2-P2 to BIND 9.6.3. + Please see the CHANGES file in the source code release for a + complete list of all changes. +

+
+ +

Download

+ +

+ The latest development version of BIND 9 software can always be found + on our web site at + http://www.isc.org/downloads/development. + There you will find additional information about each release, + source code, and some pre-compiled versions for certain operating + systems. +

+
+ +

Support

+ +

Product support information is available on + http://www.isc.org/services/support + for paid support options. Free support is provided by our user + community via a mailing list. Information on all public email + lists is available at + https://lists.isc.org/mailman/listinfo. +

+
+ +

New Features

+ +

9.6.3

+ +

None.

+
+
+ +

Feature Changes

+ +

9.6.3

+ +

None.

+
+
+ +

Security Fixes

+ +

9.6.2-P3

+ +
  • + Adding a NO DATA signed negative response to cache failed to clear + any matching RRSIG records already in cache. A subsequent lookup + of the cached NO DATA entry could crash named (INSIST) when the + unexpected RRSIG was also returned with the NO DATA cache entry. + [RT #22288] [CVE-2010-3613] [VU#706148] +
  • + BIND, acting as a DNSSEC validator, was determining if the NS RRset + is insecure based on a value that could mean either that the RRset + is actually insecure or that there wasn't a matching key for the RRSIG + in the DNSKEY RRset when resuming from validating the DNSKEY RRset. + This can happen when in the middle of a DNSKEY algorithm rollover, + when two different algorithms were used to sign a zone but only the + new set of keys are in the zone DNSKEY RRset. + [RT #22309] [CVE-2010-3614] [VU#837744] +
+
+
+ +

Bug Fixes

+ +

9.6.3

+ +
  • + BIND now builds with threads disabled in versions of NetBSD earlier + than 5.0 and with pthreads enabled by default in NetBSD versions 5.0 + and higher. Also removes support for unproven-pthreads, mit-pthreads + and ptl2. [RT #19203] +
  • + HPUX now correctly defaults to using /dev/poll, which should + increase performance. [RT #21919] +
  • + If named is running as a threaded application, after an "rndc stop" + command has been issued, other inbound TCP requests can cause named + to hang and never complete shutdown. [RT #22108] +
  • + When performing a GSS-TSIG signed dynamic zone update, memory could be + leaked. This causes an unclean shutdown and may affect long-running + servers. [RT #22573] +
  • + A bug in NetBSD and FreeBSD kernels with SO_ACCEPTFILTER enabled allows + for a TCP DoS attack. Until there is a kernel fix, ISC is disabling + SO_ACCEPTFILTER support in BIND. [RT #22589] +
  • + Corrected a defect where a combination of dynamic updates and zone + transfers incorrectly locked the in-memory zone database, causing + named to freeze. [RT #22614] +
  • + Don't run MX checks (check-mx) when the MX record points to ".". + [RT #22645] +
  • + DST key reference counts can now be incremented via dst_key_attach. + [RT #22672] +
  • + isc_mutex_init_errcheck() in phtreads/mutex.c failed to destroy attr. [RT #22766] +
  • + The Kerberos realm was being truncated when being pulled from the + the host prinicipal, make krb5-self updates fail. [RT #22770] +
  • + named failed to preserve the case of domain names in RDATA which is not compressible when writing master files. [RT #22863] +
  • +There was a bug in how the clients-per-query code worked with some +query patterns. This could result, in rare circumstances, in having all +the client query slots filled with queries for the same DNS label, +essentially ignoring the max-clients-per-query setting. +[RT #22972] +
+
+

9.6.2-P3

+ +
  • + Worked around a race condition in the cache database memory + handling. Without this fix a DNS cache DB or ADB could + incorrectly stay in an over memory state, effectively refusing + further caching, which subsequently made a BIND 9 caching + server unworkable. + [RT #21818] +
  • + Microsoft changed the behavior of sockets between NT/XP based + stacks vs Vista/windows7 stacks. Server 2003/2008 have the older + behavior, 2008r2 has the new behavior. With the change, different + error results are possible, so ISC adapted BIND to handle the new + error results. + This resolves an issue where sockets would shut down on + Windows servers causing named to stop responding to queries. + [RT #21906] +
  • + Windows has non-POSIX compliant behavior in its rename() and unlink() + calls. This caused journal compaction to fail on Windows BIND servers + with the log error: "dns_journal_compact failed: failure". + [RT #22434] +
+ +
+
+ +

Thank You

+ +

+ Thank you to everyone who assisted us in making this release possible. + If you would like to contribute to ISC to assist us in continuing to make + quality open source software, please visit our donations page at + http://www.isc.org/supportisc. +

+
+
Copied: head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf (from r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.pdf) ============================================================================== Binary file (source and/or target). No diff available. Copied: head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt (from r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.txt) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt Sun Feb 6 22:46:07 2011 (r218384, copy of r218352, vendor/bind9/dist/RELEASE-NOTES-BIND-9.6.3.txt) @@ -0,0 +1,118 @@ + __________________________________________________________________ + +Introduction + + BIND 9.6.3 is the current release of BIND 9.6. + + This document summarizes changes from BIND 9.6.2-P2 to BIND 9.6.3. + Please see the CHANGES file in the source code release for a complete + list of all changes. + +Download + + The latest development version of BIND 9 software can always be found + on our web site at http://www.isc.org/downloads/development. There you + will find additional information about each release, source code, and + some pre-compiled versions for certain operating systems. + +Support + + Product support information is available on + http://www.isc.org/services/support for paid support options. Free + support is provided by our user community via a mailing list. + Information on all public email lists is available at + https://lists.isc.org/mailman/listinfo. + +New Features + +9.6.3 + + None. + +Feature Changes + +9.6.3 + + None. + +Security Fixes + +9.6.2-P3 + + * Adding a NO DATA signed negative response to cache failed to clear + any matching RRSIG records already in cache. A subsequent lookup of + the cached NO DATA entry could crash named (INSIST) when the + unexpected RRSIG was also returned with the NO DATA cache entry. + [RT #22288] [CVE-2010-3613] [VU#706148] + * BIND, acting as a DNSSEC validator, was determining if the NS RRset + is insecure based on a value that could mean either that the RRset + is actually insecure or that there wasn't a matching key for the + RRSIG in the DNSKEY RRset when resuming from validating the DNSKEY + RRset. This can happen when in the middle of a DNSKEY algorithm + rollover, when two different algorithms were used to sign a zone + but only the new set of keys are in the zone DNSKEY RRset. [RT + #22309] [CVE-2010-3614] [VU#837744] + +Bug Fixes + +9.6.3 + + * BIND now builds with threads disabled in versions of NetBSD earlier + than 5.0 and with pthreads enabled by default in NetBSD versions + 5.0 and higher. Also removes support for unproven-pthreads, + mit-pthreads and ptl2. [RT #19203] + * HPUX now correctly defaults to using /dev/poll, which should + increase performance. [RT #21919] + * If named is running as a threaded application, after an "rndc stop" + command has been issued, other inbound TCP requests can cause named + to hang and never complete shutdown. [RT #22108] + * When performing a GSS-TSIG signed dynamic zone update, memory could + be leaked. This causes an unclean shutdown and may affect + long-running servers. [RT #22573] + * A bug in NetBSD and FreeBSD kernels with SO_ACCEPTFILTER enabled + allows for a TCP DoS attack. Until there is a kernel fix, ISC is + disabling SO_ACCEPTFILTER support in BIND. [RT #22589] + * Corrected a defect where a combination of dynamic updates and zone + transfers incorrectly locked the in-memory zone database, causing + named to freeze. [RT #22614] + * Don't run MX checks (check-mx) when the MX record points to ".". + [RT #22645] + * DST key reference counts can now be incremented via dst_key_attach. + [RT #22672] + * isc_mutex_init_errcheck() in phtreads/mutex.c failed to destroy + attr. [RT #22766] + * The Kerberos realm was being truncated when being pulled from the + the host prinicipal, make krb5-self updates fail. [RT #22770] + * named failed to preserve the case of domain names in RDATA which is + not compressible when writing master files. [RT #22863] + * There was a bug in how the clients-per-query code worked with some + query patterns. This could result, in rare circumstances, in having + all the client query slots filled with queries for the same DNS + label, essentially ignoring the max-clients-per-query setting. [RT + #22972] + +9.6.2-P3 + + * Worked around a race condition in the cache database memory + handling. Without this fix a DNS cache DB or ADB could incorrectly + stay in an over memory state, effectively refusing further caching, + which subsequently made a BIND 9 caching server unworkable. [RT + #21818] + * Microsoft changed the behavior of sockets between NT/XP based + stacks vs Vista/windows7 stacks. Server 2003/2008 have the older + behavior, 2008r2 has the new behavior. With the change, different + error results are possible, so ISC adapted BIND to handle the new + error results. This resolves an issue where sockets would shut down + on Windows servers causing named to stop responding to queries. [RT + #21906] + * Windows has non-POSIX compliant behavior in its rename() and + unlink() calls. This caused journal compaction to fail on Windows + BIND servers with the log error: "dns_journal_compact failed: + failure". [RT #22434] + +Thank You + + Thank you to everyone who assisted us in making this release possible. + If you would like to contribute to ISC to assist us in continuing to + make quality open source software, please visit our donations page at + http://www.isc.org/supportisc. Modified: head/contrib/bind9/bin/check/check-tool.c ============================================================================== --- head/contrib/bind9/bin/check/check-tool.c Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/check/check-tool.c Sun Feb 6 22:46:07 2011 (r218384) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: check-tool.c,v 1.35.36.3.24.2 2010/09/07 23:46:25 tbox Exp $ */ +/* $Id: check-tool.c,v 1.35.36.5 2010-09-07 23:46:05 tbox Exp $ */ /*! \file */ Modified: head/contrib/bind9/bin/check/check-tool.h ============================================================================== --- head/contrib/bind9/bin/check/check-tool.h Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/check/check-tool.h Sun Feb 6 22:46:07 2011 (r218384) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: check-tool.h,v 1.14.628.2 2010/09/07 23:46:26 tbox Exp $ */ +/* $Id: check-tool.h,v 1.14.334.2 2010-09-07 23:46:05 tbox Exp $ */ #ifndef CHECK_TOOL_H #define CHECK_TOOL_H Modified: head/contrib/bind9/bin/check/named-checkconf.c ============================================================================== --- head/contrib/bind9/bin/check/named-checkconf.c Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/check/named-checkconf.c Sun Feb 6 22:46:07 2011 (r218384) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkconf.c,v 1.46.222.2.24.2 2010/09/07 23:46:26 tbox Exp $ */ +/* $Id: named-checkconf.c,v 1.46.222.4 2010-09-07 23:46:05 tbox Exp $ */ /*! \file */ Modified: head/contrib/bind9/bin/check/named-checkzone.c ============================================================================== --- head/contrib/bind9/bin/check/named-checkzone.c Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/check/named-checkzone.c Sun Feb 6 22:46:07 2011 (r218384) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkzone.c,v 1.51.34.4.10.2 2010/09/07 23:46:26 tbox Exp $ */ +/* $Id: named-checkzone.c,v 1.51.34.6 2010-09-07 23:46:06 tbox Exp $ */ /*! \file */ Modified: head/contrib/bind9/bin/dig/dig.c ============================================================================== --- head/contrib/bind9/bin/dig/dig.c Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/dig/dig.c Sun Feb 6 22:46:07 2011 (r218384) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dig.c,v 1.225.26.4 2009/05/06 10:18:33 fdupont Exp $ */ +/* $Id: dig.c,v 1.225.26.7 2010-05-13 00:43:37 marka Exp $ */ /*! \file */ @@ -306,6 +306,8 @@ say_message(dns_rdata_t *rdata, dig_quer ADD_STRING(buf, " "); } result = dns_rdata_totext(rdata, NULL, buf); + if (result == ISC_R_NOSPACE) + return (result); check_result(result, "dns_rdata_totext"); if (query->lookup->identify) { TIME_NOW(&now); @@ -328,10 +330,8 @@ short_answer(dns_message_t *msg, dns_mes { dns_name_t *name; dns_rdataset_t *rdataset; - isc_buffer_t target; isc_result_t result, loopresult; dns_name_t empty_name; - char t[4096]; dns_rdata_t rdata = DNS_RDATA_INIT; UNUSED(flags); @@ -347,8 +347,6 @@ short_answer(dns_message_t *msg, dns_mes name = NULL; dns_message_currentname(msg, DNS_SECTION_ANSWER, &name); - isc_buffer_init(&target, t, sizeof(t)); - for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; rdataset = ISC_LIST_NEXT(rdataset, link)) { @@ -357,6 +355,8 @@ short_answer(dns_message_t *msg, dns_mes dns_rdataset_current(rdataset, &rdata); result = say_message(&rdata, query, buf); + if (result == ISC_R_NOSPACE) + return (result); check_result(result, "say_message"); loopresult = dns_rdataset_next(rdataset); dns_rdata_reset(&rdata); @@ -505,6 +505,8 @@ printmessage(dig_query_t *query, dns_mes printf(" ad"); if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) printf(" cd"); + if ((msg->flags & 0x0040U) != 0) + printf("; MBZ: 0x4"); printf("; QUERY: %u, ANSWER: %u, " "AUTHORITY: %u, ADDITIONAL: %u\n", Modified: head/contrib/bind9/bin/dig/dighost.c ============================================================================== --- head/contrib/bind9/bin/dig/dighost.c Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/dig/dighost.c Sun Feb 6 22:46:07 2011 (r218384) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dighost.c,v 1.311.70.11 2009/11/10 17:27:13 each Exp $ */ +/* $Id: dighost.c,v 1.311.70.17 2010-12-09 01:12:54 marka Exp $ */ /*! \file * \note @@ -246,7 +246,7 @@ isc_result_t opentmpkey(isc_mem_t *mct char **tempp, FILE **fp); isc_result_t removetmpkey(isc_mem_t *mctx, const char *file); void clean_trustedkey(void); -void insert_trustedkey(dst_key_t * key); +void insert_trustedkey(dst_key_t **key); #if DIG_SIGCHASE_BU isc_result_t getneededrr(dns_message_t *msg); void sigchase_bottom_up(dns_message_t *msg); @@ -970,7 +970,6 @@ setup_file_key(void) { keynametext, isc_result_totext(result)); goto failure; } - dstkey = NULL; failure: if (dstkey != NULL) dst_key_free(&dstkey); @@ -990,12 +989,21 @@ make_searchlist_entry(char *domain) { } static void +clear_searchlist(void) { + dig_searchlist_t *search; + while ((search = ISC_LIST_HEAD(search_list)) != NULL) { + ISC_LIST_UNLINK(search_list, search, link); + isc_mem_free(mctx, search); + } +} + +static void create_search_list(lwres_conf_t *confdata) { int i; dig_searchlist_t *search; debug("create_search_list()"); - ISC_LIST_INIT(search_list); + clear_searchlist(); for (i = 0; i < confdata->searchnxt; i++) { search = make_searchlist_entry(confdata->search[i]); @@ -1038,7 +1046,7 @@ setup_system(void) { else { /* No search list. Use the domain name if any */ if (lwconf->domainname != NULL) { domain = make_searchlist_entry(lwconf->domainname); - ISC_LIST_INITANDAPPEND(search_list, domain, link); + ISC_LIST_APPEND(search_list, domain, link); domain = NULL; } } @@ -1093,15 +1101,6 @@ setup_system(void) { } -static void -clear_searchlist(void) { - dig_searchlist_t *search; - while ((search = ISC_LIST_HEAD(search_list)) != NULL) { - ISC_LIST_UNLINK(search_list, search, link); - isc_mem_free(mctx, search); - } -} - /*% * Override the search list derived from resolv.conf by 'domain'. */ @@ -1201,14 +1200,15 @@ add_opt(dns_message_t *msg, isc_uint16_t if (dnssec) rdatalist->ttl |= DNS_MESSAGEEXTFLAG_DO; if (nsid) { - unsigned char data[4]; - isc_buffer_t buf; + isc_buffer_t *b = NULL; - isc_buffer_init(&buf, data, sizeof(data)); - isc_buffer_putuint16(&buf, DNS_OPT_NSID); - isc_buffer_putuint16(&buf, 0); - rdata->data = data; - rdata->length = sizeof(data); + result = isc_buffer_allocate(mctx, &b, 4); + check_result(result, "isc_buffer_allocate"); + isc_buffer_putuint16(b, DNS_OPT_NSID); + isc_buffer_putuint16(b, 0); + rdata->data = isc_buffer_base(b); + rdata->length = isc_buffer_usedlength(b); + dns_message_takebuffer(msg, &b); } else { rdata->data = NULL; rdata->length = 0; @@ -2218,6 +2218,15 @@ force_timeout(dig_lookup_t *l, dig_query isc_result_totext(ISC_R_NOMEMORY)); } isc_task_send(global_task, &event); + + /* + * The timer may have expired if, for example, get_address() takes + * long time and the timer was running on a different thread. + * We need to cancel the possible timeout event not to confuse + * ourselves due to the duplicate events. + */ + if (l->timer != NULL) + isc_timer_detach(&l->timer); } @@ -2241,7 +2250,7 @@ send_tcp_connect(dig_query_t *query) { query->waiting_connect = ISC_TRUE; query->lookup->current_query = query; result = get_address(query->servname, port, &query->sockaddr); - if (result == ISC_R_NOTFOUND) { + if (result != ISC_R_SUCCESS) { /* * This servname doesn't have an address. Try the next server * by triggering an immediate 'timeout' (we lie, but the effect @@ -2323,7 +2332,7 @@ send_udp(dig_query_t *query) { /* XXX Check the sense of this, need assertion? */ query->waiting_connect = ISC_FALSE; result = get_address(query->servname, port, &query->sockaddr); - if (result == ISC_R_NOTFOUND) { + if (result != ISC_R_SUCCESS) { /* This servname doesn't have an address. */ force_timeout(l, query); return; @@ -3858,14 +3867,15 @@ sigchase_scanname(dns_rdatatype_t type, } void -insert_trustedkey(dst_key_t * key) +insert_trustedkey(dst_key_t **keyp) { - if (key == NULL) + if (*keyp == NULL) return; if (tk_list.nb_tk >= MAX_TRUSTED_KEY) return; - tk_list.key[tk_list.nb_tk++] = key; + tk_list.key[tk_list.nb_tk++] = *keyp; + *keyp = NULL; return; } @@ -4039,11 +4049,12 @@ get_trusted_key(isc_mem_t *mctx) fclose(fp); return (ISC_R_FAILURE); } - insert_trustedkey(key); #if 0 dst_key_tofile(key, DST_TYPE_PUBLIC,"/tmp"); #endif - key = NULL; + insert_trustedkey(&key); + if (key != NULL) + dst_key_free(&key); } return (ISC_R_SUCCESS); } Modified: head/contrib/bind9/bin/dig/host.c ============================================================================== --- head/contrib/bind9/bin/dig/host.c Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/dig/host.c Sun Feb 6 22:46:07 2011 (r218384) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: host.c,v 1.116.216.3.10.2 2010/10/19 23:46:25 tbox Exp $ */ +/* $Id: host.c,v 1.116.216.5 2010-10-19 23:45:58 tbox Exp $ */ /*! \file */ Modified: head/contrib/bind9/bin/dig/nslookup.1 ============================================================================== --- head/contrib/bind9/bin/dig/nslookup.1 Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/dig/nslookup.1 Sun Feb 6 22:46:07 2011 (r218384) @@ -1,4 +1,4 @@ -.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2004-2007, 2010 Internet Systems Consortium, Inc. ("ISC") .\" .\" Permission to use, copy, modify, and/or distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -12,7 +12,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: nslookup.1,v 1.14.354.1 2009/07/11 01:55:20 tbox Exp $ +.\" $Id: nslookup.1,v 1.14.354.2 2010-02-23 01:56:02 tbox Exp $ .\" .hy 0 .ad l @@ -54,7 +54,13 @@ when the first argument is a hyphen (\-) Non\-interactive mode is used when the name or Internet address of the host to be looked up is given as the first argument. The optional second argument specifies the host name or address of a name server. .PP Options can also be specified on the command line if they precede the arguments and are prefixed with a hyphen. For example, to change the default query type to host information, and the initial timeout to 10 seconds, type: -.sp .RS 4 .nf nslookup \-query=hinfo \-timeout=10 .fi .RE +.sp +.RS 4 +.nf +nslookup \-query=hinfo \-timeout=10 +.fi +.RE +.sp .SH "INTERACTIVE COMMANDS" .PP \fBhost\fR [server] @@ -248,5 +254,5 @@ Try the next nameserver if a nameserver .PP Andrew Cherenson .SH "COPYRIGHT" -Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC") +Copyright \(co 2004\-2007, 2010 Internet Systems Consortium, Inc. ("ISC") .br Modified: head/contrib/bind9/bin/dig/nslookup.docbook ============================================================================== --- head/contrib/bind9/bin/dig/nslookup.docbook Sun Feb 6 22:21:18 2011 (r218383) +++ head/contrib/bind9/bin/dig/nslookup.docbook Sun Feb 6 22:46:07 2011 (r218384) @@ -2,7 +2,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []> - + + The &man.ee.1; program has been updated + to version 1.5.2. + The timezone database has been updated to the - tzdata2010m release. + tzdata2010o release.
From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 21:05:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 384591065693; Tue, 8 Feb 2011 21:05:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 25E3A8FC20; Tue, 8 Feb 2011 21:05:07 +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 p18L57JS059800; Tue, 8 Feb 2011 21:05:07 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18L579d059798; Tue, 8 Feb 2011 21:05:07 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201102082105.p18L579d059798@svn.freebsd.org> From: John Baldwin Date: Tue, 8 Feb 2011 21:05:07 +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: r218456 - stable/7/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: Tue, 08 Feb 2011 21:05:08 -0000 Author: jhb Date: Tue Feb 8 21:05:07 2011 New Revision: 218456 URL: http://svn.freebsd.org/changeset/base/218456 Log: Properly close a socket for a TCP NFS client if the NFS server notices that the client has disconnected while attempting to fetch a request. This accidentally works most of the time because the socket upcall is invoked twice for some reason causing two nfsd threads to be assigned to the same connection. The first thread notices the disconnect when soreceive() fails, and the second thread will then cleanup the connection. Occasionally the second thread will grab the NFSD lock before the first thread has returned from soreceive() to mark the connection as disconnected. When that happens, the socket is never cleaned up and is leaked. Fix this by checking for the disconnect flag if there is an error pulling a request from the connection and closing the socket if it nfsrv_rcv() marked the connection as disconnected. Now the first thread will close the socket in most cases and the socket is never leaked. This is a direct commit to 7 as it is specific to the pre-krpc code used in 7. Modified: stable/7/sys/nfsserver/nfs_syscalls.c Modified: stable/7/sys/nfsserver/nfs_syscalls.c ============================================================================== --- stable/7/sys/nfsserver/nfs_syscalls.c Tue Feb 8 20:39:03 2011 (r218455) +++ stable/7/sys/nfsserver/nfs_syscalls.c Tue Feb 8 21:05:07 2011 (r218456) @@ -366,6 +366,8 @@ nfssvc_nfsd(struct thread *td) slp = nfsd->nfsd_slp; } if (error || (slp->ns_flag & SLP_VALID) == 0) { + if (slp->ns_flag & SLP_DISCONN) + nfsrv_zapsock(slp); if (nd) { if (nd->nd_cr != NULL) crfree(nd->nd_cr); From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 21:58:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDDF6106566C; Tue, 8 Feb 2011 21:58:13 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DC8468FC15; Tue, 8 Feb 2011 21:58:13 +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 p18LwDx3060983; Tue, 8 Feb 2011 21:58:13 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18LwDG5060981; Tue, 8 Feb 2011 21:58:13 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102082158.p18LwDG5060981@svn.freebsd.org> From: Marius Strobl Date: Tue, 8 Feb 2011 21:58:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218457 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 21:58:14 -0000 Author: marius Date: Tue Feb 8 21:58:13 2011 New Revision: 218457 URL: http://svn.freebsd.org/changeset/base/218457 Log: Take advantage of accessing the kernel TSB via ASI_ATOMIC_QUAD_LDD_PHYS on SPARC64-V, too. Tested by: Michael Moll Modified: head/sys/sparc64/sparc64/pmap.c Modified: head/sys/sparc64/sparc64/pmap.c ============================================================================== --- head/sys/sparc64/sparc64/pmap.c Tue Feb 8 21:05:07 2011 (r218456) +++ head/sys/sparc64/sparc64/pmap.c Tue Feb 8 21:58:13 2011 (r218457) @@ -389,7 +389,8 @@ pmap_bootstrap(u_int cpu_impl) * not support it, yet. */ virtsz = roundup(physsz, PAGE_SIZE_4M << (PAGE_SHIFT - TTE_SHIFT)); - if (cpu_impl >= CPU_IMPL_ULTRASPARCIIIp) + if (cpu_impl == CPU_IMPL_SPARC64V || + cpu_impl >= CPU_IMPL_ULTRASPARCIIIp) tsb_kernel_ldd_phys = 1; else { dtlb_slots_avail = 0; From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 22:08:01 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 268E0106566C; Tue, 8 Feb 2011 22:08:01 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 12D168FC16; Tue, 8 Feb 2011 22:08:01 +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 p18M80Og061295; Tue, 8 Feb 2011 22:08:00 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18M80cl061287; Tue, 8 Feb 2011 22:08:00 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102082208.p18M80cl061287@svn.freebsd.org> From: Marius Strobl Date: Tue, 8 Feb 2011 22:08:00 +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: r218458 - in stable/8/sys: sparc64/include sparc64/pci sparc64/sbus sparc64/sparc64 sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 22:08:01 -0000 Author: marius Date: Tue Feb 8 22:08:00 2011 New Revision: 218458 URL: http://svn.freebsd.org/changeset/base/218458 Log: MFC: r216961 Reserve INTR_MD[1-4] similarly to what BUS_DMA_BUS[1-4] are intended for and switch sparc64 to use the first one for bus error filter handlers of bridge drivers instead of (ab)using INTR_FAST for that so we eventually can get rid of the latter. Reviewed by: jhb Modified: stable/8/sys/sparc64/include/intr_machdep.h stable/8/sys/sparc64/pci/fire.c stable/8/sys/sparc64/pci/psycho.c stable/8/sys/sparc64/pci/schizo.c stable/8/sys/sparc64/sbus/sbus.c stable/8/sys/sparc64/sparc64/intr_machdep.c stable/8/sys/sys/bus.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/sparc64/include/intr_machdep.h ============================================================================== --- stable/8/sys/sparc64/include/intr_machdep.h Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sparc64/include/intr_machdep.h Tue Feb 8 22:08:00 2011 (r218458) @@ -47,11 +47,13 @@ #define PIL_STOP 5 /* stop cpu ipi */ #define PIL_PREEMPT 6 /* preempt idle thread cpu ipi */ #define PIL_FILTER 12 /* filter interrupts */ -#define PIL_FAST 13 /* fast interrupts */ +#define PIL_BRIDGE 13 /* bridge interrupts */ #define PIL_TICK 14 /* tick interrupts */ #ifndef LOCORE +#define INTR_BRIDGE INTR_MD1 + struct trapframe; typedef void ih_func_t(struct trapframe *); Modified: stable/8/sys/sparc64/pci/fire.c ============================================================================== --- stable/8/sys/sparc64/pci/fire.c Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sparc64/pci/fire.c Tue Feb 8 22:08:00 2011 (r218458) @@ -836,7 +836,7 @@ fire_set_intr(struct fire_softc *sc, u_i INTIGN(vec) != sc->sc_ign || intr_vectors[vec].iv_ic != &fire_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], - INTR_TYPE_MISC | INTR_FAST, handler, NULL, arg, + INTR_TYPE_MISC | INTR_BRIDGE, handler, NULL, arg, &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } Modified: stable/8/sys/sparc64/pci/psycho.c ============================================================================== --- stable/8/sys/sparc64/pci/psycho.c Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sparc64/pci/psycho.c Tue Feb 8 22:08:00 2011 (r218458) @@ -716,7 +716,7 @@ psycho_set_intr(struct psycho_softc *sc, INTVEC(PSYCHO_READ8(sc, intrmap)) != vec || intr_vectors[vec].iv_ic != &psycho_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], - INTR_TYPE_MISC | INTR_FAST, filt, intr, sc, + INTR_TYPE_MISC | INTR_BRIDGE, filt, intr, sc, &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } Modified: stable/8/sys/sparc64/pci/schizo.c ============================================================================== --- stable/8/sys/sparc64/pci/schizo.c Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sparc64/pci/schizo.c Tue Feb 8 22:08:00 2011 (r218458) @@ -745,7 +745,7 @@ schizo_set_intr(struct schizo_softc *sc, INTIGN(vec) != sc->sc_ign || intr_vectors[vec].iv_ic != &schizo_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], - INTR_TYPE_MISC | INTR_FAST, handler, NULL, sc, + INTR_TYPE_MISC | INTR_BRIDGE, handler, NULL, sc, &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } Modified: stable/8/sys/sparc64/sbus/sbus.c ============================================================================== --- stable/8/sys/sparc64/sbus/sbus.c Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sparc64/sbus/sbus.c Tue Feb 8 22:08:00 2011 (r218458) @@ -459,7 +459,7 @@ sbus_attach(device_t dev) INTIGN(vec = rman_get_start(sc->sc_ot_ires)) != sc->sc_ign || INTVEC(SYSIO_READ8(sc, SBR_THERM_INT_MAP)) != vec || intr_vectors[vec].iv_ic != &sbus_ic || - bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_FAST, + bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_BRIDGE, NULL, sbus_overtemp, sc, &sc->sc_ot_ihand) != 0) panic("%s: failed to set up temperature interrupt", __func__); i = 3; @@ -469,7 +469,7 @@ sbus_attach(device_t dev) INTIGN(vec = rman_get_start(sc->sc_pf_ires)) != sc->sc_ign || INTVEC(SYSIO_READ8(sc, SBR_POWER_INT_MAP)) != vec || intr_vectors[vec].iv_ic != &sbus_ic || - bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_FAST, + bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_BRIDGE, NULL, sbus_pwrfail, sc, &sc->sc_pf_ihand) != 0) panic("%s: failed to set up power fail interrupt", __func__); Modified: stable/8/sys/sparc64/sparc64/intr_machdep.c ============================================================================== --- stable/8/sys/sparc64/sparc64/intr_machdep.c Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sparc64/sparc64/intr_machdep.c Tue Feb 8 22:08:00 2011 (r218458) @@ -98,7 +98,7 @@ static const char *const pil_names[] = { "preempt", /* PIL_PREEMPT */ "stray", "stray", "stray", "stray", "stray", "filter", /* PIL_FILTER */ - "fast", /* PIL_FAST */ + "bridge", /* PIL_BRIDGE */ "tick", /* PIL_TICK */ }; @@ -327,10 +327,10 @@ inthand_add(const char *name, int vec, d if (vec < 0 || vec >= IV_MAX) return (EINVAL); /* - * INTR_FAST filters/handlers are special purpose only, allowing + * INTR_BRIDGE filters/handlers are special purpose only, allowing * them to be shared just would complicate things unnecessarily. */ - if ((flags & INTR_FAST) != 0 && (flags & INTR_EXCL) == 0) + if ((flags & INTR_BRIDGE) != 0 && (flags & INTR_EXCL) == 0) return (EINVAL); sx_xlock(&intr_table_lock); iv = &intr_vectors[vec]; @@ -348,7 +348,7 @@ inthand_add(const char *name, int vec, d ic->ic_disable(iv); iv->iv_refcnt++; if (iv->iv_refcnt == 1) - intr_setup((flags & INTR_FAST) != 0 ? PIL_FAST : + intr_setup((flags & INTR_BRIDGE) != 0 ? PIL_BRIDGE : filt != NULL ? PIL_FILTER : PIL_ITHREAD, intr_fast, vec, intr_execute_handlers, iv); else if (filt != NULL) { Modified: stable/8/sys/sys/bus.h ============================================================================== --- stable/8/sys/sys/bus.h Tue Feb 8 21:58:13 2011 (r218457) +++ stable/8/sys/sys/bus.h Tue Feb 8 22:08:00 2011 (r218458) @@ -194,7 +194,11 @@ enum intr_type { INTR_FAST = 128, INTR_EXCL = 256, /* exclusive interrupt */ INTR_MPSAFE = 512, /* this interrupt is SMP safe */ - INTR_ENTROPY = 1024 /* this interrupt provides entropy */ + INTR_ENTROPY = 1024, /* this interrupt provides entropy */ + INTR_MD1 = 4096, /* flag reserved for MD use */ + INTR_MD2 = 8192, /* flag reserved for MD use */ + INTR_MD3 = 16384, /* flag reserved for MD use */ + INTR_MD4 = 32768 /* flag reserved for MD use */ }; enum intr_trigger { From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 22:14:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D330106564A; Tue, 8 Feb 2011 22:14:19 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7984B8FC08; Tue, 8 Feb 2011 22:14:19 +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 p18MEJDk061565; Tue, 8 Feb 2011 22:14:19 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18MEJnv061557; Tue, 8 Feb 2011 22:14:19 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102082214.p18MEJnv061557@svn.freebsd.org> From: Marius Strobl Date: Tue, 8 Feb 2011 22:14:19 +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: r218460 - in stable/7/sys: sparc64/include sparc64/pci sparc64/sbus sparc64/sparc64 sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 22:14:19 -0000 Author: marius Date: Tue Feb 8 22:14:19 2011 New Revision: 218460 URL: http://svn.freebsd.org/changeset/base/218460 Log: MFC: r216961 Reserve INTR_MD[1-4] similarly to what BUS_DMA_BUS[1-4] are intended for and switch sparc64 to use the first one for bus error filter handlers of bridge drivers instead of (ab)using INTR_FAST for that so we eventually can get rid of the latter. Reviewed by: jhb Modified: stable/7/sys/sparc64/include/intr_machdep.h stable/7/sys/sparc64/pci/fire.c stable/7/sys/sparc64/pci/psycho.c stable/7/sys/sparc64/pci/schizo.c stable/7/sys/sparc64/sbus/sbus.c stable/7/sys/sparc64/sparc64/intr_machdep.c stable/7/sys/sys/bus.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/sparc64/include/intr_machdep.h ============================================================================== --- stable/7/sys/sparc64/include/intr_machdep.h Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sparc64/include/intr_machdep.h Tue Feb 8 22:14:19 2011 (r218460) @@ -47,11 +47,13 @@ #define PIL_STOP 5 /* stop cpu ipi */ #define PIL_PREEMPT 6 /* preempt idle thread cpu ipi */ #define PIL_FILTER 12 /* filter interrupts */ -#define PIL_FAST 13 /* fast interrupts */ +#define PIL_BRIDGE 13 /* bridge interrupts */ #define PIL_TICK 14 /* tick interrupts */ #ifndef LOCORE +#define INTR_BRIDGE INTR_MD1 + struct trapframe; typedef void ih_func_t(struct trapframe *); Modified: stable/7/sys/sparc64/pci/fire.c ============================================================================== --- stable/7/sys/sparc64/pci/fire.c Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sparc64/pci/fire.c Tue Feb 8 22:14:19 2011 (r218460) @@ -835,7 +835,7 @@ fire_set_intr(struct fire_softc *sc, u_i INTIGN(vec) != sc->sc_ign || intr_vectors[vec].iv_ic != &fire_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], - INTR_TYPE_MISC | INTR_FAST, handler, NULL, arg, + INTR_TYPE_MISC | INTR_BRIDGE, handler, NULL, arg, &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } Modified: stable/7/sys/sparc64/pci/psycho.c ============================================================================== --- stable/7/sys/sparc64/pci/psycho.c Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sparc64/pci/psycho.c Tue Feb 8 22:14:19 2011 (r218460) @@ -716,7 +716,7 @@ psycho_set_intr(struct psycho_softc *sc, INTVEC(PSYCHO_READ8(sc, intrmap)) != vec || intr_vectors[vec].iv_ic != &psycho_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], - INTR_TYPE_MISC | INTR_FAST, filt, intr, sc, + INTR_TYPE_MISC | INTR_BRIDGE, filt, intr, sc, &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } Modified: stable/7/sys/sparc64/pci/schizo.c ============================================================================== --- stable/7/sys/sparc64/pci/schizo.c Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sparc64/pci/schizo.c Tue Feb 8 22:14:19 2011 (r218460) @@ -745,7 +745,7 @@ schizo_set_intr(struct schizo_softc *sc, INTIGN(vec) != sc->sc_ign || intr_vectors[vec].iv_ic != &schizo_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], - INTR_TYPE_MISC | INTR_FAST, handler, NULL, sc, + INTR_TYPE_MISC | INTR_BRIDGE, handler, NULL, sc, &sc->sc_ihand[index]) != 0) panic("%s: failed to set up interrupt %d", __func__, index); } Modified: stable/7/sys/sparc64/sbus/sbus.c ============================================================================== --- stable/7/sys/sparc64/sbus/sbus.c Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sparc64/sbus/sbus.c Tue Feb 8 22:14:19 2011 (r218460) @@ -457,7 +457,7 @@ sbus_attach(device_t dev) INTIGN(vec = rman_get_start(sc->sc_ot_ires)) != sc->sc_ign || INTVEC(SYSIO_READ8(sc, SBR_THERM_INT_MAP)) != vec || intr_vectors[vec].iv_ic != &sbus_ic || - bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_FAST, + bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_BRIDGE, NULL, sbus_overtemp, sc, &sc->sc_ot_ihand) != 0) panic("%s: failed to set up temperature interrupt", __func__); i = 3; @@ -467,7 +467,7 @@ sbus_attach(device_t dev) INTIGN(vec = rman_get_start(sc->sc_pf_ires)) != sc->sc_ign || INTVEC(SYSIO_READ8(sc, SBR_POWER_INT_MAP)) != vec || intr_vectors[vec].iv_ic != &sbus_ic || - bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_FAST, + bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_BRIDGE, NULL, sbus_pwrfail, sc, &sc->sc_pf_ihand) != 0) panic("%s: failed to set up power fail interrupt", __func__); Modified: stable/7/sys/sparc64/sparc64/intr_machdep.c ============================================================================== --- stable/7/sys/sparc64/sparc64/intr_machdep.c Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sparc64/sparc64/intr_machdep.c Tue Feb 8 22:14:19 2011 (r218460) @@ -99,7 +99,7 @@ static const char *const pil_names[] = { "preempt", /* PIL_PREEMPT */ "stray", "stray", "stray", "stray", "stray", "filter", /* PIL_FILTER */ - "fast", /* PIL_FAST */ + "bridge", /* PIL_BRIDGE */ "tick", /* PIL_TICK */ }; @@ -328,10 +328,10 @@ inthand_add(const char *name, int vec, d if (vec < 0 || vec >= IV_MAX) return (EINVAL); /* - * INTR_FAST filters/handlers are special purpose only, allowing + * INTR_BRIDGE filters/handlers are special purpose only, allowing * them to be shared just would complicate things unnecessarily. */ - if ((flags & INTR_FAST) != 0 && (flags & INTR_EXCL) == 0) + if ((flags & INTR_BRIDGE) != 0 && (flags & INTR_EXCL) == 0) return (EINVAL); sx_xlock(&intr_table_lock); iv = &intr_vectors[vec]; @@ -349,7 +349,7 @@ inthand_add(const char *name, int vec, d ic->ic_disable(iv); iv->iv_refcnt++; if (iv->iv_refcnt == 1) - intr_setup((flags & INTR_FAST) != 0 ? PIL_FAST : + intr_setup((flags & INTR_BRIDGE) != 0 ? PIL_BRIDGE : filt != NULL ? PIL_FILTER : PIL_ITHREAD, intr_fast, vec, intr_execute_handlers, iv); else if (filt != NULL) { Modified: stable/7/sys/sys/bus.h ============================================================================== --- stable/7/sys/sys/bus.h Tue Feb 8 22:09:00 2011 (r218459) +++ stable/7/sys/sys/bus.h Tue Feb 8 22:14:19 2011 (r218460) @@ -190,7 +190,11 @@ enum intr_type { INTR_FAST = 128, INTR_EXCL = 256, /* exclusive interrupt */ INTR_MPSAFE = 512, /* this interrupt is SMP safe */ - INTR_ENTROPY = 1024 /* this interrupt provides entropy */ + INTR_ENTROPY = 1024, /* this interrupt provides entropy */ + INTR_MD1 = 4096, /* flag reserved for MD use */ + INTR_MD2 = 8192, /* flag reserved for MD use */ + INTR_MD3 = 16384, /* flag reserved for MD use */ + INTR_MD4 = 32768 /* flag reserved for MD use */ }; enum intr_trigger { From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 22:16:30 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 001611065672; Tue, 8 Feb 2011 22:16:29 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C85AE8FC26; Tue, 8 Feb 2011 22:16: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 p18MGTjf061669; Tue, 8 Feb 2011 22:16:29 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18MGTnm061667; Tue, 8 Feb 2011 22:16:29 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201102082216.p18MGTnm061667@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 8 Feb 2011 22:16: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: r218461 - head/sys/dev/usb/controller X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 22:16:30 -0000 Author: marcel Date: Tue Feb 8 22:16:29 2011 New Revision: 218461 URL: http://svn.freebsd.org/changeset/base/218461 Log: Improve the error interrupt handler. In particular, read the error address on a decoding error to unlatch it and to allow us to print a better diagnostics message. This also has the side effect of clearing the condition, which prevents an interrupt storm. Modified: head/sys/dev/usb/controller/ehci_mv.c Modified: head/sys/dev/usb/controller/ehci_mv.c ============================================================================== --- head/sys/dev/usb/controller/ehci_mv.c Tue Feb 8 22:14:19 2011 (r218460) +++ head/sys/dev/usb/controller/ehci_mv.c Tue Feb 8 22:16:29 2011 (r218461) @@ -93,8 +93,9 @@ static void *ih_err; /* EHCI HC regs start at this offset within USB range */ #define MV_USB_HOST_OFST 0x0100 -#define USB_BRIDGE_INTR_CAUSE 0x210 -#define USB_BRIDGE_INTR_MASK 0x214 +#define USB_BRIDGE_INTR_CAUSE 0x210 +#define USB_BRIDGE_INTR_MASK 0x214 +#define USB_BRIDGE_ERR_ADDR 0x21C #define MV_USB_ADDR_DECODE_ERR (1 << 0) #define MV_USB_HOST_UNDERFLOW (1 << 1) @@ -345,18 +346,22 @@ err_intr(void *arg) cause = EREAD4(sc, USB_BRIDGE_INTR_CAUSE); if (cause) { - printf("IRQ ERR: cause: 0x%08x\n", cause); - if (cause & MV_USB_ADDR_DECODE_ERR) - printf("IRQ ERR: Address decoding error\n"); + printf("USB error: "); + if (cause & MV_USB_ADDR_DECODE_ERR) { + uint32_t addr; + + addr = EREAD4(sc, USB_BRIDGE_ERR_ADDR); + printf("address decoding error (addr=%#x)\n", addr); + } if (cause & MV_USB_HOST_UNDERFLOW) - printf("IRQ ERR: USB Host Underflow\n"); + printf("host underflow\n"); if (cause & MV_USB_HOST_OVERFLOW) - printf("IRQ ERR: USB Host Overflow\n"); + printf("host overflow\n"); if (cause & MV_USB_DEVICE_UNDERFLOW) - printf("IRQ ERR: USB Device Underflow\n"); + printf("device underflow\n"); if (cause & ~(MV_USB_ADDR_DECODE_ERR | MV_USB_HOST_UNDERFLOW | MV_USB_HOST_OVERFLOW | MV_USB_DEVICE_UNDERFLOW)) - printf("IRQ ERR: Unknown error\n"); + printf("unknown cause (cause=%#x)\n", cause); EWRITE4(sc, USB_BRIDGE_INTR_CAUSE, 0); } From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 23:08:20 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1CA9106564A; Tue, 8 Feb 2011 23:08:20 +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 A6B0C8FC1B; Tue, 8 Feb 2011 23:08:20 +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 p18N8K0Q063053; Tue, 8 Feb 2011 23:08:20 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18N8Kgj063051; Tue, 8 Feb 2011 23:08:20 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102082308.p18N8Kgj063051@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Tue, 8 Feb 2011 23:08: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: r218464 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 23:08:20 -0000 Author: pjd Date: Tue Feb 8 23:08:20 2011 New Revision: 218464 URL: http://svn.freebsd.org/changeset/base/218464 Log: Unlink UNIX domain socket file only if: 1. The descriptor is the one we are listening on (not the one when we connect as a client and not the one which is created on accept(2)). 2. Descriptor was created by us (PID matches with the PID stored on bind(2)). Reported by: Mikolaj Golub MFC after: 1 week Modified: head/sbin/hastd/proto_uds.c Modified: head/sbin/hastd/proto_uds.c ============================================================================== --- head/sbin/hastd/proto_uds.c Tue Feb 8 22:17:59 2011 (r218463) +++ head/sbin/hastd/proto_uds.c Tue Feb 8 23:08:20 2011 (r218464) @@ -54,6 +54,7 @@ struct uds_ctx { #define UDS_SIDE_CLIENT 0 #define UDS_SIDE_SERVER_LISTEN 1 #define UDS_SIDE_SERVER_WORK 2 + pid_t uc_owner; }; static void uds_close(void *ctx); @@ -109,6 +110,7 @@ uds_common_setup(const char *addr, void } uctx->uc_side = side; + uctx->uc_owner = 0; uctx->uc_magic = UDS_CTX_MAGIC; *ctxp = uctx; @@ -167,13 +169,14 @@ uds_server(const char *addr, void **ctxp uctx = *ctxp; - unlink(uctx->uc_sun.sun_path); + (void)unlink(uctx->uc_sun.sun_path); if (bind(uctx->uc_fd, (struct sockaddr *)&uctx->uc_sun, sizeof(uctx->uc_sun)) < 0) { ret = errno; uds_close(uctx); return (ret); } + uctx->uc_owner = getpid(); if (listen(uctx->uc_fd, 8) < 0) { ret = errno; uds_close(uctx); @@ -200,9 +203,9 @@ uds_accept(void *ctx, void **newctxp) if (newuctx == NULL) return (errno); - fromlen = sizeof(uctx->uc_sun); - newuctx->uc_fd = accept(uctx->uc_fd, (struct sockaddr *)&uctx->uc_sun, - &fromlen); + fromlen = sizeof(newuctx->uc_sun); + newuctx->uc_fd = accept(uctx->uc_fd, + (struct sockaddr *)&newuctx->uc_sun, &fromlen); if (newuctx->uc_fd < 0) { ret = errno; free(newuctx); @@ -309,7 +312,15 @@ uds_close(void *ctx) if (uctx->uc_fd >= 0) close(uctx->uc_fd); - unlink(uctx->uc_sun.sun_path); + /* + * Unlink the socket only if we are the owner and this is descriptor + * we listen on. + */ + if (uctx->uc_side == UDS_SIDE_SERVER_LISTEN && + uctx->uc_owner == getpid()) { + (void)unlink(uctx->uc_sun.sun_path); + } + uctx->uc_owner = 0; uctx->uc_magic = 0; free(uctx); } From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 23:16:20 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28970106564A; Tue, 8 Feb 2011 23:16:20 +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 17C3E8FC0A; Tue, 8 Feb 2011 23:16:20 +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 p18NGJZE063284; Tue, 8 Feb 2011 23:16:19 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18NGJVT063282; Tue, 8 Feb 2011 23:16:19 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102082316.p18NGJVT063282@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Tue, 8 Feb 2011 23:16:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218465 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 23:16:20 -0000 Author: pjd Date: Tue Feb 8 23:16:19 2011 New Revision: 218465 URL: http://svn.freebsd.org/changeset/base/218465 Log: Explicitly include as suggested by getpid(2) and don't rely on including what's needed. MFC after: 1 week Modified: head/sbin/hastd/proto_uds.c Modified: head/sbin/hastd/proto_uds.c ============================================================================== --- head/sbin/hastd/proto_uds.c Tue Feb 8 23:08:20 2011 (r218464) +++ head/sbin/hastd/proto_uds.c Tue Feb 8 23:16:19 2011 (r218465) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); /* UDS - UNIX Domain Socket */ +#include #include #include From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 23:18:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4532D1065672; Tue, 8 Feb 2011 23:18:07 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 339E58FC16; Tue, 8 Feb 2011 23:18:07 +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 p18NI7TG063363; Tue, 8 Feb 2011 23:18:07 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18NI72i063357; Tue, 8 Feb 2011 23:18:07 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201102082318.p18NI72i063357@svn.freebsd.org> From: Jilles Tjoelker Date: Tue, 8 Feb 2011 23: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: r218466 - head/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 23:18:07 -0000 Author: jilles Date: Tue Feb 8 23:18:06 2011 New Revision: 218466 URL: http://svn.freebsd.org/changeset/base/218466 Log: sh: Import arithmetic expression code from dash. New features: * proper lazy evaluation of || and && * ?: ternary operator * executable is considerably smaller (8K on i386) because lex and yacc are no longer used Differences from dash: * arith_t instead of intmax_t * imaxdiv() not used * unset or null variables default to 0 * let/exp builtin (undocumented, will probably be removed later) Obtained from: dash Added: head/bin/sh/arith_yacc.c (contents, props changed) head/bin/sh/arith_yacc.h (contents, props changed) head/bin/sh/arith_yylex.c (contents, props changed) Deleted: head/bin/sh/arith.y head/bin/sh/arith_lex.l Modified: head/bin/sh/Makefile head/bin/sh/arith.h Modified: head/bin/sh/Makefile ============================================================================== --- head/bin/sh/Makefile Tue Feb 8 23:16:19 2011 (r218465) +++ head/bin/sh/Makefile Tue Feb 8 23:18:06 2011 (r218466) @@ -3,22 +3,22 @@ PROG= sh INSTALLFLAGS= -S -SHSRCS= alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \ +SHSRCS= alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \ + exec.c expand.c \ histedit.c input.c jobs.c kill.c mail.c main.c memalloc.c miscbltin.c \ mystring.c options.c output.c parser.c printf.c redir.c show.c \ test.c trap.c var.c GENSRCS= builtins.c init.c nodes.c syntax.c GENHDRS= builtins.h nodes.h syntax.h token.h -SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} y.tab.h +SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} # MLINKS for Shell built in commands for which there are no userland # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -DPADD= ${LIBL} ${LIBEDIT} ${LIBTERMCAP} -LDADD= -ll -ledit -ltermcap +DPADD= ${LIBEDIT} ${LIBTERMCAP} +LDADD= -ledit -ltermcap -LFLAGS= -8 # 8-bit lex scanner for arithmetic CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: # DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline Modified: head/bin/sh/arith.h ============================================================================== --- head/bin/sh/arith.h Tue Feb 8 23:16:19 2011 (r218465) +++ head/bin/sh/arith.h Tue Feb 8 23:18:06 2011 (r218466) @@ -34,8 +34,6 @@ #define DIGITS(var) (3 + (2 + CHAR_BIT * sizeof((var))) / 3) -extern const char *arith_buf, *arith_startbuf; - arith_t arith(const char *); void arith_lex_reset(void); int expcmd(int, char **); Added: head/bin/sh/arith_yacc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/arith_yacc.c Tue Feb 8 23:18:06 2011 (r218466) @@ -0,0 +1,376 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * Copyright (c) 2007 + * Herbert Xu . All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Kenneth Almquist. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include "arith.h" +#include "arith_yacc.h" +#include "expand.h" +#include "shell.h" +#include "error.h" +#include "memalloc.h" +#include "output.h" +#include "options.h" +#include "var.h" + +#if ARITH_BOR + 11 != ARITH_BORASS || ARITH_ASS + 11 != ARITH_EQ +#error Arithmetic tokens are out of order. +#endif + +static const char *arith_startbuf; + +const char *arith_buf; +union yystype yylval; + +static int last_token; + +#define ARITH_PRECEDENCE(op, prec) [op - ARITH_BINOP_MIN] = prec + +static const char prec[ARITH_BINOP_MAX - ARITH_BINOP_MIN] = { + ARITH_PRECEDENCE(ARITH_MUL, 0), + ARITH_PRECEDENCE(ARITH_DIV, 0), + ARITH_PRECEDENCE(ARITH_REM, 0), + ARITH_PRECEDENCE(ARITH_ADD, 1), + ARITH_PRECEDENCE(ARITH_SUB, 1), + ARITH_PRECEDENCE(ARITH_LSHIFT, 2), + ARITH_PRECEDENCE(ARITH_RSHIFT, 2), + ARITH_PRECEDENCE(ARITH_LT, 3), + ARITH_PRECEDENCE(ARITH_LE, 3), + ARITH_PRECEDENCE(ARITH_GT, 3), + ARITH_PRECEDENCE(ARITH_GE, 3), + ARITH_PRECEDENCE(ARITH_EQ, 4), + ARITH_PRECEDENCE(ARITH_NE, 4), + ARITH_PRECEDENCE(ARITH_BAND, 5), + ARITH_PRECEDENCE(ARITH_BXOR, 6), + ARITH_PRECEDENCE(ARITH_BOR, 7), +}; + +#define ARITH_MAX_PREC 8 + +static __dead2 void yyerror(const char *s) +{ + error("arithmetic expression: %s: \"%s\"", s, arith_startbuf); + /* NOTREACHED */ +} + +static arith_t arith_lookupvarint(char *varname) +{ + const char *str; + char *p; + arith_t result; + + str = lookupvar(varname); + if (str == NULL || *str == '\0') + str = "0"; + errno = 0; + result = strtoarith_t(str, &p, 0); + if (errno != 0 || *p != '\0') + yyerror("variable conversion error"); + return result; +} + +static inline int arith_prec(int op) +{ + return prec[op - ARITH_BINOP_MIN]; +} + +static inline int higher_prec(int op1, int op2) +{ + return arith_prec(op1) < arith_prec(op2); +} + +static arith_t do_binop(int op, arith_t a, arith_t b) +{ + + switch (op) { + default: + case ARITH_REM: + case ARITH_DIV: + if (!b) + yyerror("division by zero"); + return op == ARITH_REM ? a % b : a / b; + case ARITH_MUL: + return a * b; + case ARITH_ADD: + return a + b; + case ARITH_SUB: + return a - b; + case ARITH_LSHIFT: + return a << b; + case ARITH_RSHIFT: + return a >> b; + case ARITH_LT: + return a < b; + case ARITH_LE: + return a <= b; + case ARITH_GT: + return a > b; + case ARITH_GE: + return a >= b; + case ARITH_EQ: + return a == b; + case ARITH_NE: + return a != b; + case ARITH_BAND: + return a & b; + case ARITH_BXOR: + return a ^ b; + case ARITH_BOR: + return a | b; + } +} + +static arith_t assignment(int var, int noeval); + +static arith_t primary(int token, union yystype *val, int op, int noeval) +{ + arith_t result; + +again: + switch (token) { + case ARITH_LPAREN: + result = assignment(op, noeval); + if (last_token != ARITH_RPAREN) + yyerror("expecting ')'"); + last_token = yylex(); + return result; + case ARITH_NUM: + last_token = op; + return val->val; + case ARITH_VAR: + last_token = op; + return noeval ? val->val : arith_lookupvarint(val->name); + case ARITH_ADD: + token = op; + *val = yylval; + op = yylex(); + goto again; + case ARITH_SUB: + *val = yylval; + return -primary(op, val, yylex(), noeval); + case ARITH_NOT: + *val = yylval; + return !primary(op, val, yylex(), noeval); + case ARITH_BNOT: + *val = yylval; + return ~primary(op, val, yylex(), noeval); + default: + yyerror("expecting primary"); + } +} + +static arith_t binop2(arith_t a, int op, int prec, int noeval) +{ + for (;;) { + union yystype val; + arith_t b; + int op2; + int token; + + token = yylex(); + val = yylval; + + b = primary(token, &val, yylex(), noeval); + + op2 = last_token; + if (op2 >= ARITH_BINOP_MIN && op2 < ARITH_BINOP_MAX && + higher_prec(op2, op)) { + b = binop2(b, op2, arith_prec(op), noeval); + op2 = last_token; + } + + a = noeval ? b : do_binop(op, a, b); + + if (op2 < ARITH_BINOP_MIN || op2 >= ARITH_BINOP_MAX || + arith_prec(op2) >= prec) + return a; + + op = op2; + } +} + +static arith_t binop(int token, union yystype *val, int op, int noeval) +{ + arith_t a = primary(token, val, op, noeval); + + op = last_token; + if (op < ARITH_BINOP_MIN || op >= ARITH_BINOP_MAX) + return a; + + return binop2(a, op, ARITH_MAX_PREC, noeval); +} + +static arith_t and(int token, union yystype *val, int op, int noeval) +{ + arith_t a = binop(token, val, op, noeval); + arith_t b; + + op = last_token; + if (op != ARITH_AND) + return a; + + token = yylex(); + *val = yylval; + + b = and(token, val, yylex(), noeval | !a); + + return a && b; +} + +static arith_t or(int token, union yystype *val, int op, int noeval) +{ + arith_t a = and(token, val, op, noeval); + arith_t b; + + op = last_token; + if (op != ARITH_OR) + return a; + + token = yylex(); + *val = yylval; + + b = or(token, val, yylex(), noeval | !!a); + + return a || b; +} + +static arith_t cond(int token, union yystype *val, int op, int noeval) +{ + arith_t a = or(token, val, op, noeval); + arith_t b; + arith_t c; + + if (last_token != ARITH_QMARK) + return a; + + b = assignment(yylex(), noeval | !a); + + if (last_token != ARITH_COLON) + yyerror("expecting ':'"); + + token = yylex(); + *val = yylval; + + c = cond(token, val, yylex(), noeval | !!a); + + return a ? b : c; +} + +static arith_t assignment(int var, int noeval) +{ + union yystype val = yylval; + int op = yylex(); + arith_t result; + char sresult[DIGITS(result) + 1]; + + if (var != ARITH_VAR) + return cond(var, &val, op, noeval); + + if (op != ARITH_ASS && (op < ARITH_ASS_MIN || op >= ARITH_ASS_MAX)) + return cond(var, &val, op, noeval); + + result = assignment(yylex(), noeval); + if (noeval) + return result; + + if (op != ARITH_ASS) + result = do_binop(op - 11, arith_lookupvarint(val.name), result); + snprintf(sresult, sizeof(sresult), ARITH_FORMAT_STR, result); + setvar(val.name, sresult, 0); + return result; +} + +arith_t arith(const char *s) +{ + struct stackmark smark; + arith_t result; + + setstackmark(&smark); + + arith_buf = arith_startbuf = s; + + result = assignment(yylex(), 0); + + if (last_token) + yyerror("expecting EOF"); + + popstackmark(&smark); + + return result; +} + +/* + * The exp(1) builtin. + */ +int +expcmd(int argc, char **argv) +{ + const char *p; + char *concat; + char **ap; + arith_t i; + + if (argc > 1) { + p = argv[1]; + if (argc > 2) { + /* + * Concatenate arguments. + */ + STARTSTACKSTR(concat); + ap = argv + 2; + for (;;) { + while (*p) + STPUTC(*p++, concat); + if ((p = *ap++) == NULL) + break; + STPUTC(' ', concat); + } + STPUTC('\0', concat); + p = grabstackstr(concat); + } + } else + p = ""; + + i = arith(p); + + out1fmt(ARITH_FORMAT_STR "\n", i); + return !i; +} + Added: head/bin/sh/arith_yacc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/arith_yacc.h Tue Feb 8 23:18:06 2011 (r218466) @@ -0,0 +1,91 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * Copyright (c) 2007 + * Herbert Xu . All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Kenneth Almquist. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#define ARITH_ASS 1 + +#define ARITH_OR 2 +#define ARITH_AND 3 +#define ARITH_BAD 4 +#define ARITH_NUM 5 +#define ARITH_VAR 6 +#define ARITH_NOT 7 + +#define ARITH_BINOP_MIN 8 +#define ARITH_LE 8 +#define ARITH_GE 9 +#define ARITH_LT 10 +#define ARITH_GT 11 +#define ARITH_EQ 12 +#define ARITH_REM 13 +#define ARITH_BAND 14 +#define ARITH_LSHIFT 15 +#define ARITH_RSHIFT 16 +#define ARITH_MUL 17 +#define ARITH_ADD 18 +#define ARITH_BOR 19 +#define ARITH_SUB 20 +#define ARITH_BXOR 21 +#define ARITH_DIV 22 +#define ARITH_NE 23 +#define ARITH_BINOP_MAX 24 + +#define ARITH_ASS_MIN 24 +#define ARITH_REMASS 24 +#define ARITH_BANDASS 25 +#define ARITH_LSHIFTASS 26 +#define ARITH_RSHIFTASS 27 +#define ARITH_MULASS 28 +#define ARITH_ADDASS 29 +#define ARITH_BORASS 30 +#define ARITH_SUBASS 31 +#define ARITH_BXORASS 32 +#define ARITH_DIVASS 33 +#define ARITH_ASS_MAX 34 + +#define ARITH_LPAREN 34 +#define ARITH_RPAREN 35 +#define ARITH_BNOT 36 +#define ARITH_QMARK 37 +#define ARITH_COLON 38 + +union yystype { + arith_t val; + char *name; +}; + +extern union yystype yylval; + +int yylex(void); Added: head/bin/sh/arith_yylex.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/arith_yylex.c Tue Feb 8 23:18:06 2011 (r218466) @@ -0,0 +1,244 @@ +/*- + * Copyright (c) 2002 + * Herbert Xu. + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Kenneth Almquist. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include "shell.h" +#include "arith_yacc.h" +#include "expand.h" +#include "error.h" +#include "memalloc.h" +#include "parser.h" +#include "syntax.h" + +#if ARITH_BOR + 11 != ARITH_BORASS || ARITH_ASS + 11 != ARITH_EQ +#error Arithmetic tokens are out of order. +#endif + +extern const char *arith_buf; + +int +yylex() +{ + int value; + const char *buf = arith_buf; + const char *p; + + for (;;) { + value = *buf; + switch (value) { + case ' ': + case '\t': + case '\n': + buf++; + continue; + default: + return ARITH_BAD; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + yylval.val = strtoarith_t(buf, (char **)&arith_buf, 0); + return ARITH_NUM; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case '_': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': + p = buf; + while (buf++, is_in_name(*buf)) + ; + yylval.name = stalloc(buf - p + 1); + memcpy(yylval.name, p, buf - p); + yylval.name[buf - p] = '\0'; + value = ARITH_VAR; + goto out; + case '=': + value += ARITH_ASS - '='; +checkeq: + buf++; +checkeqcur: + if (*buf != '=') + goto out; + value += 11; + break; + case '>': + switch (*++buf) { + case '=': + value += ARITH_GE - '>'; + break; + case '>': + value += ARITH_RSHIFT - '>'; + goto checkeq; + default: + value += ARITH_GT - '>'; + goto out; + } + break; + case '<': + switch (*++buf) { + case '=': + value += ARITH_LE - '<'; + break; + case '<': + value += ARITH_LSHIFT - '<'; + goto checkeq; + default: + value += ARITH_LT - '<'; + goto out; + } + break; + case '|': + if (*++buf != '|') { + value += ARITH_BOR - '|'; + goto checkeqcur; + } + value += ARITH_OR - '|'; + break; + case '&': + if (*++buf != '&') { + value += ARITH_BAND - '&'; + goto checkeqcur; + } + value += ARITH_AND - '&'; + break; + case '!': + if (*++buf != '=') { + value += ARITH_NOT - '!'; + goto out; + } + value += ARITH_NE - '!'; + break; + case 0: + goto out; + case '(': + value += ARITH_LPAREN - '('; + break; + case ')': + value += ARITH_RPAREN - ')'; + break; + case '*': + value += ARITH_MUL - '*'; + goto checkeq; + case '/': + value += ARITH_DIV - '/'; + goto checkeq; + case '%': + value += ARITH_REM - '%'; + goto checkeq; + case '+': + value += ARITH_ADD - '+'; + goto checkeq; + case '-': + value += ARITH_SUB - '-'; + goto checkeq; + case '~': + value += ARITH_BNOT - '~'; + break; + case '^': + value += ARITH_BXOR - '^'; + goto checkeq; + case '?': + value += ARITH_QMARK - '?'; + break; + case ':': + value += ARITH_COLON - ':'; + break; + } + break; + } + + buf++; +out: + arith_buf = buf; + return value; +} From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 23:19:41 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10C97106564A; Tue, 8 Feb 2011 23:19:41 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 008DF8FC12; Tue, 8 Feb 2011 23:19:41 +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 p18NJepk063429; Tue, 8 Feb 2011 23:19:40 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18NJevx063427; Tue, 8 Feb 2011 23:19:40 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201102082319.p18NJevx063427@svn.freebsd.org> From: Jilles Tjoelker Date: Tue, 8 Feb 2011 23:19: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: r218467 - head/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 23:19:41 -0000 Author: jilles Date: Tue Feb 8 23:19:40 2011 New Revision: 218467 URL: http://svn.freebsd.org/changeset/base/218467 Log: sh(1): Update description of arithmetic. Modified: head/bin/sh/sh.1 Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Tue Feb 8 23:18:06 2011 (r218466) +++ head/bin/sh/sh.1 Tue Feb 8 23:19:40 2011 (r218467) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd February 4, 2011 +.Dd February 8, 2011 .Dt SH 1 .Os .Sh NAME @@ -1499,13 +1499,8 @@ and contain integer constants. .Li "* / % + - << >> < <= > >= == != & ^ | && ||" .It Assignment operators .Li "= += -= *= /= %= <<= >>= &= ^= |=" -.It Short-circuit evaluation -The -.Li && -and -.Li || -operators always evaluate both sides. -This is a bug. +.It Conditional operator +.Li "? :" .El .Pp The result of the expression is substituted in decimal. From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 23:21:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 573271065670; Tue, 8 Feb 2011 23:21:35 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 46E018FC08; Tue, 8 Feb 2011 23:21:35 +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 p18NLZrD063513; Tue, 8 Feb 2011 23:21:35 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18NLZ4x063511; Tue, 8 Feb 2011 23:21:35 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102082321.p18NLZ4x063511@svn.freebsd.org> From: Marius Strobl Date: Tue, 8 Feb 2011 23:21:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218468 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 23:21:35 -0000 Author: marius Date: Tue Feb 8 23:21:35 2011 New Revision: 218468 URL: http://svn.freebsd.org/changeset/base/218468 Log: Set td_kstack_pages for thread0. Modified: head/sys/sparc64/sparc64/machdep.c Modified: head/sys/sparc64/sparc64/machdep.c ============================================================================== --- head/sys/sparc64/sparc64/machdep.c Tue Feb 8 23:19:40 2011 (r218467) +++ head/sys/sparc64/sparc64/machdep.c Tue Feb 8 23:21:35 2011 (r218468) @@ -548,6 +548,7 @@ sparc64_init(caddr_t mdp, u_long o1, u_l proc0.p_md.md_sigtramp = NULL; proc0.p_md.md_utrap = NULL; thread0.td_kstack = kstack0; + thread0.td_kstack_pages = KSTACK_PAGES; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; frame0.tf_tstate = TSTATE_IE | TSTATE_PEF | TSTATE_PRIV; From owner-svn-src-all@FreeBSD.ORG Tue Feb 8 23:23:55 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B8D7106564A; Tue, 8 Feb 2011 23:23:55 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6ADE38FC08; Tue, 8 Feb 2011 23:23: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 p18NNt0j063616; Tue, 8 Feb 2011 23:23:55 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p18NNtKZ063613; Tue, 8 Feb 2011 23:23:55 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201102082323.p18NNtKZ063613@svn.freebsd.org> From: Jilles Tjoelker Date: Tue, 8 Feb 2011 23:23:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218469 - head/tools/regression/bin/sh/expansion X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 23:23:55 -0000 Author: jilles Date: Tue Feb 8 23:23:55 2011 New Revision: 218469 URL: http://svn.freebsd.org/changeset/base/218469 Log: sh: Add tests for new features in arithmetic. Added: head/tools/regression/bin/sh/expansion/arith10.0 (contents, props changed) head/tools/regression/bin/sh/expansion/arith9.0 (contents, props changed) Added: head/tools/regression/bin/sh/expansion/arith10.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/expansion/arith10.0 Tue Feb 8 23:23:55 2011 (r218469) @@ -0,0 +1,35 @@ +# $FreeBSD$ + +failures=0 + +check() { + if [ $(($1)) != $2 ]; then + failures=$((failures+1)) + echo "For $1, expected $2 actual $(($1))" + fi +} + +readonly ro=4 +rw=1 +check "0 && 0 / 0" 0 +check "1 || 0 / 0" 1 +check "0 && (ro = 2)" 0 +check "ro" 4 +check "1 || (ro = -1)" 1 +check "ro" 4 +check "0 && (rw += 1)" 0 +check "rw" 1 +check "1 || (rw += 1)" 1 +check "rw" 1 +check "0 ? 44 / 0 : 51" 51 +check "0 ? ro = 3 : 52" 52 +check "ro" 4 +check "0 ? rw += 1 : 52" 52 +check "rw" 1 +check "1 ? 68 : 30 / 0" 68 +check "2 ? 1 : (ro += 2)" 1 +check "ro" 4 +check "4 ? 1 : (rw += 1)" 1 +check "rw" 1 + +exit $((failures != 0)) Added: head/tools/regression/bin/sh/expansion/arith9.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/expansion/arith9.0 Tue Feb 8 23:23:55 2011 (r218469) @@ -0,0 +1,20 @@ +# $FreeBSD$ + +failures=0 + +check() { + if [ $(($1)) != $2 ]; then + failures=$((failures+1)) + echo "For $1, expected $2 actual $(($1))" + fi +} + +check "0 ? 44 : 51" 51 +check "1 ? 68 : 30" 68 +check "2 ? 1 : -5" 1 +check "0 ? 4 : 0 ? 5 : 6" 6 +check "0 ? 4 : 1 ? 5 : 6" 5 +check "1 ? 4 : 0 ? 5 : 6" 4 +check "1 ? 4 : 1 ? 5 : 6" 4 + +exit $((failures != 0)) From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 05:30:39 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3BDA0106566B; Wed, 9 Feb 2011 05:30:39 +0000 (UTC) (envelope-from osa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2A6058FC12; Wed, 9 Feb 2011 05:30: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 p195Udwh072033; Wed, 9 Feb 2011 05:30:39 GMT (envelope-from osa@svn.freebsd.org) Received: (from osa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p195UdEY072031; Wed, 9 Feb 2011 05:30:39 GMT (envelope-from osa@svn.freebsd.org) Message-Id: <201102090530.p195UdEY072031@svn.freebsd.org> From: "Sergey A. Osokin" Date: Wed, 9 Feb 2011 05:30:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218471 - head/usr.bin/calendar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 05:30:39 -0000 Author: osa (ports committer) Date: Wed Feb 9 05:30:38 2011 New Revision: 218471 URL: http://svn.freebsd.org/changeset/base/218471 Log: Fix Paskha and Paskha-specific holidays. Modified: head/usr.bin/calendar/parsedata.c Modified: head/usr.bin/calendar/parsedata.c ============================================================================== --- head/usr.bin/calendar/parsedata.c Wed Feb 9 04:35:33 2011 (r218470) +++ head/usr.bin/calendar/parsedata.c Wed Feb 9 05:30:38 2011 (r218471) @@ -459,6 +459,7 @@ parsedaymonth(char *date, int *yearp, in yearinfo->mondays = mondaytab[isleap(year)]; yearinfo->ieaster = easter(year); + yearinfo->ipaskha = paskha(year); fpom(year, UTCOffset, yearinfo->ffullmoon, yearinfo->fnewmoon); fpom(year, UTCOFFSET_CNY, yearinfo->ffullmooncny, From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 06:38:32 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A1F2106564A; Wed, 9 Feb 2011 06:38:32 +0000 (UTC) (envelope-from osa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 88CA88FC15; Wed, 9 Feb 2011 06:38: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 p196cWrM073609; Wed, 9 Feb 2011 06:38:32 GMT (envelope-from osa@svn.freebsd.org) Received: (from osa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p196cWST073607; Wed, 9 Feb 2011 06:38:32 GMT (envelope-from osa@svn.freebsd.org) Message-Id: <201102090638.p196cWST073607@svn.freebsd.org> From: "Sergey A. Osokin" Date: Wed, 9 Feb 2011 06:38:32 +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: r218473 - head/usr.bin/calendar X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 06:38:32 -0000 Author: osa (ports committer) Date: Wed Feb 9 06:38:32 2011 New Revision: 218473 URL: http://svn.freebsd.org/changeset/base/218473 Log: Always convert Paskha day from Julian (old) to Gregorian (new) style by adding 13 days. Bug introduced in 1.13 revision. Modified: head/usr.bin/calendar/paskha.c Modified: head/usr.bin/calendar/paskha.c ============================================================================== --- head/usr.bin/calendar/paskha.c Wed Feb 9 05:48:52 2011 (r218472) +++ head/usr.bin/calendar/paskha.c Wed Feb 9 06:38:32 2011 (r218473) @@ -37,7 +37,7 @@ __FBSDID("$FreeBSD$"); #define PASKHALEN (sizeof(PASKHA) - 1) /* return year day for Orthodox Easter using Gauss formula */ -/* (old style result) */ +/* (new style result) */ int paskha(int R) /*year*/ @@ -53,5 +53,5 @@ paskha(int R) /*year*/ d = (19 * a + x) % 30; e = (2 * b + 4 * c + 6 * d + y) % 7; cumday = cumdaytab[isleap(R)]; - return (((cumday[3] + 1) + 22) + (d + e)); + return (((cumday[3] + 1) + 22) + (d + e) + 13); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 08:01:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0DE7106564A; Wed, 9 Feb 2011 08:01: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 BF8088FC0C; Wed, 9 Feb 2011 08:01: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 p1981Aue075431; Wed, 9 Feb 2011 08:01:10 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1981AHI075429; Wed, 9 Feb 2011 08:01:10 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201102090801.p1981AHI075429@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 9 Feb 2011 08:01: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: r218474 - head/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 08:01:10 -0000 Author: pjd Date: Wed Feb 9 08:01:10 2011 New Revision: 218474 URL: http://svn.freebsd.org/changeset/base/218474 Log: When we decide to unlink socket file, sun_path must be set. If it is set, but there is problem unlinking the file, log a warning. MFC after: 1 week Modified: head/sbin/hastd/proto_uds.c Modified: head/sbin/hastd/proto_uds.c ============================================================================== --- head/sbin/hastd/proto_uds.c Wed Feb 9 06:38:32 2011 (r218473) +++ head/sbin/hastd/proto_uds.c Wed Feb 9 08:01:10 2011 (r218474) @@ -319,7 +319,12 @@ uds_close(void *ctx) */ if (uctx->uc_side == UDS_SIDE_SERVER_LISTEN && uctx->uc_owner == getpid()) { - (void)unlink(uctx->uc_sun.sun_path); + PJDLOG_ASSERT(uctx->uc_sun.sun_path[0] != '\0'); + if (unlink(uctx->uc_sun.sun_path) == -1) { + pjdlog_errno(LOG_WARNING, + "Unable to unlink socket file %s", + uctx->uc_sun.sun_path); + } } uctx->uc_owner = 0; uctx->uc_magic = 0; From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 08:01:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA05E1065672; Wed, 9 Feb 2011 08:01:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9D7708FC0C; Wed, 9 Feb 2011 08:01:45 +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 p1981j8x075479; Wed, 9 Feb 2011 08:01:45 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1981jCW075475; Wed, 9 Feb 2011 08:01:45 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201102090801.p1981jCW075475@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 9 Feb 2011 08:01:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218475 - in head/sys/dev/usb: . controller template X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 08:01:45 -0000 Author: hselasky Date: Wed Feb 9 08:01:45 2011 New Revision: 218475 URL: http://svn.freebsd.org/changeset/base/218475 Log: Minor cleanup: - use device_printf() instead of printf() to give more accurate warnings. - use memcpy() instead of bcopy(). - add missing #if's for non-FreeBSD compilation. Approved by: thompsa (mentor) Modified: head/sys/dev/usb/controller/usb_controller.c head/sys/dev/usb/template/usb_template.c head/sys/dev/usb/usb_transfer.c Modified: head/sys/dev/usb/controller/usb_controller.c ============================================================================== --- head/sys/dev/usb/controller/usb_controller.c Wed Feb 9 08:01:10 2011 (r218474) +++ head/sys/dev/usb/controller/usb_controller.c Wed Feb 9 08:01:45 2011 (r218475) @@ -460,19 +460,19 @@ usb_attach_sub(device_t dev, struct usb_ if (usb_proc_create(&bus->giant_callback_proc, &bus->bus_mtx, pname, USB_PRI_MED)) { - printf("WARNING: Creation of USB Giant " + device_printf(dev, "WARNING: Creation of USB Giant " "callback process failed.\n"); } else if (usb_proc_create(&bus->non_giant_callback_proc, &bus->bus_mtx, pname, USB_PRI_HIGH)) { - printf("WARNING: Creation of USB non-Giant " + device_printf(dev, "WARNING: Creation of USB non-Giant " "callback process failed.\n"); } else if (usb_proc_create(&bus->explore_proc, &bus->bus_mtx, pname, USB_PRI_MED)) { - printf("WARNING: Creation of USB explore " + device_printf(dev, "WARNING: Creation of USB explore " "process failed.\n"); } else if (usb_proc_create(&bus->control_xfer_proc, &bus->bus_mtx, pname, USB_PRI_MED)) { - printf("WARNING: Creation of USB control transfer " + device_printf(dev, "WARNING: Creation of USB control transfer " "process failed.\n"); } else { /* Get final attach going */ Modified: head/sys/dev/usb/template/usb_template.c ============================================================================== --- head/sys/dev/usb/template/usb_template.c Wed Feb 9 08:01:10 2011 (r218474) +++ head/sys/dev/usb/template/usb_template.c Wed Feb 9 08:01:45 2011 (r218475) @@ -125,7 +125,7 @@ usb_make_raw_desc(struct usb_temp_setup len = raw[0]; if (temp->buf) { dst = USB_ADD_BYTES(temp->buf, temp->size); - bcopy(raw, dst, len); + memcpy(dst, raw, len); /* check if we have got a CDC union descriptor */ Modified: head/sys/dev/usb/usb_transfer.c ============================================================================== --- head/sys/dev/usb/usb_transfer.c Wed Feb 9 08:01:10 2011 (r218474) +++ head/sys/dev/usb/usb_transfer.c Wed Feb 9 08:01:45 2011 (r218475) @@ -1148,7 +1148,9 @@ done: static void usbd_transfer_unsetup_sub(struct usb_xfer_root *info, uint8_t needs_delay) { +#if USB_HAVE_BUSDMA struct usb_page_cache *pc; +#endif USB_BUS_LOCK_ASSERT(info->bus, MA_OWNED); From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 09:20:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C37E106564A; Wed, 9 Feb 2011 09:20:27 +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 60D488FC0A; Wed, 9 Feb 2011 09:20:27 +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 p199KRqE077702; Wed, 9 Feb 2011 09:20:27 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p199KRn5077698; Wed, 9 Feb 2011 09:20:27 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102090920.p199KRn5077698@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 9 Feb 2011 09:20:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218476 - head/libexec/rtld-elf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 09:20:27 -0000 Author: kib Date: Wed Feb 9 09:20:27 2011 New Revision: 218476 URL: http://svn.freebsd.org/changeset/base/218476 Log: Use sigsetjmp/siglongjmp with disabled signal mask access for lock upgrade in rtld. There is no need to care about the mask, which causes a lot of unneeded sigprocmask(2) calls during each symbol lookup. Modified: head/libexec/rtld-elf/rtld.c head/libexec/rtld-elf/rtld.h head/libexec/rtld-elf/rtld_lock.c Modified: head/libexec/rtld-elf/rtld.c ============================================================================== --- head/libexec/rtld-elf/rtld.c Wed Feb 9 08:01:45 2011 (r218475) +++ head/libexec/rtld-elf/rtld.c Wed Feb 9 09:20:27 2011 (r218476) @@ -560,7 +560,7 @@ _rtld_bind(Obj_Entry *obj, Elf_Size relo RtldLockState lockstate; rlock_acquire(rtld_bind_lock, &lockstate); - if (setjmp(lockstate.env) != 0) + if (sigsetjmp(lockstate.env, 0) != 0) lock_upgrade(rtld_bind_lock, &lockstate); if (obj->pltrel) rel = (const Elf_Rel *) ((caddr_t) obj->pltrel + reloff); @@ -2142,7 +2142,7 @@ dlopen(const char *name, int mode) ld_tracing = (mode & RTLD_TRACE) == 0 ? NULL : "1"; if (ld_tracing != NULL) { rlock_acquire(rtld_bind_lock, &lockstate); - if (setjmp(lockstate.env) != 0) + if (sigsetjmp(lockstate.env, 0) != 0) lock_upgrade(rtld_bind_lock, &lockstate); environ = (char **)*get_program_var_addr("environ", &lockstate); lock_release(rtld_bind_lock, &lockstate); @@ -2264,7 +2264,7 @@ do_dlsym(void *handle, const char *name, req.lockstate = &lockstate; rlock_acquire(rtld_bind_lock, &lockstate); - if (setjmp(lockstate.env) != 0) + if (sigsetjmp(lockstate.env, 0) != 0) lock_upgrade(rtld_bind_lock, &lockstate); if (handle == NULL || handle == RTLD_NEXT || handle == RTLD_DEFAULT || handle == RTLD_SELF) { Modified: head/libexec/rtld-elf/rtld.h ============================================================================== --- head/libexec/rtld-elf/rtld.h Wed Feb 9 08:01:45 2011 (r218475) +++ head/libexec/rtld-elf/rtld.h Wed Feb 9 09:20:27 2011 (r218476) @@ -276,7 +276,7 @@ typedef struct Struct_DoneList { struct Struct_RtldLockState { int lockstate; - jmp_buf env; + sigjmp_buf env; }; /* Modified: head/libexec/rtld-elf/rtld_lock.c ============================================================================== --- head/libexec/rtld-elf/rtld_lock.c Wed Feb 9 08:01:45 2011 (r218475) +++ head/libexec/rtld-elf/rtld_lock.c Wed Feb 9 09:20:27 2011 (r218476) @@ -259,7 +259,7 @@ lock_restart_for_upgrade(RtldLockState * case RTLD_LOCK_WLOCKED: break; case RTLD_LOCK_RLOCKED: - longjmp(lockstate->env, 1); + siglongjmp(lockstate->env, 1); break; default: assert(0); From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 10:06:31 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89500106564A; Wed, 9 Feb 2011 10:06:31 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 78E0A8FC08; Wed, 9 Feb 2011 10:06: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 p19A6VB7078779; Wed, 9 Feb 2011 10:06:31 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19A6VCp078777; Wed, 9 Feb 2011 10:06:31 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201102091006.p19A6VCp078777@svn.freebsd.org> From: Ulrich Spoerlein Date: Wed, 9 Feb 2011 10:06: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: r218477 - head/etc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 10:06:31 -0000 Author: uqs Date: Wed Feb 9 10:06:31 2011 New Revision: 218477 URL: http://svn.freebsd.org/changeset/base/218477 Log: Fix termcap entry typo. MFC after: 2 weeks Modified: head/etc/termcap.small Modified: head/etc/termcap.small ============================================================================== --- head/etc/termcap.small Wed Feb 9 09:20:27 2011 (r218476) +++ head/etc/termcap.small Wed Feb 9 10:06:31 2011 (r218477) @@ -171,7 +171,7 @@ cons60l1|cons60-iso8859-1:\ cons60l1-m|cons60-iso8859-1-mono:\ :li#60:tc=cons25l1-m: # 132x25 ISO 8859-1 FreeBSD console -cons25l1-w|:cons25w-iso8859-1:\ +cons25l1-w|cons25w-iso8859-1:\ :co#132:tc=cons25l1: cons30l1-w|cons30w-iso8859-1:\ :co#132:tc=cons30l1: From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 11:28:58 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56F991065670; Wed, 9 Feb 2011 11:28:58 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 465A58FC08; Wed, 9 Feb 2011 11:28:58 +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 p19BSwha081989; Wed, 9 Feb 2011 11:28:58 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19BSw2c081986; Wed, 9 Feb 2011 11:28:58 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102091128.p19BSw2c081986@svn.freebsd.org> From: Marius Strobl Date: Wed, 9 Feb 2011 11:28:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218478 - head/sys/dev/sound/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 11:28:58 -0000 Author: marius Date: Wed Feb 9 11:28:57 2011 New Revision: 218478 URL: http://svn.freebsd.org/changeset/base/218478 Log: Correct signedness and off-by-one issues in parameters used for DMA tag creation. PR: 154259 Submitted by: Vladislav Movchan (partially) MFC after: 3 days Modified: head/sys/dev/sound/pci/emu10k1.c head/sys/dev/sound/pci/emu10kx.c Modified: head/sys/dev/sound/pci/emu10k1.c ============================================================================== --- head/sys/dev/sound/pci/emu10k1.c Wed Feb 9 10:06:31 2011 (r218477) +++ head/sys/dev/sound/pci/emu10k1.c Wed Feb 9 11:28:57 2011 (r218478) @@ -2017,7 +2017,7 @@ emu_pci_attach(device_t dev) if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(dev), /*alignment*/2, /*boundary*/0, - /*lowaddr*/1 << 31, /* can only access 0-2gb */ + /*lowaddr*/(1U << 31) - 1, /* can only access 0-2gb */ /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, /*maxsize*/sc->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff, Modified: head/sys/dev/sound/pci/emu10kx.c ============================================================================== --- head/sys/dev/sound/pci/emu10kx.c Wed Feb 9 10:06:31 2011 (r218477) +++ head/sys/dev/sound/pci/emu10kx.c Wed Feb 9 11:28:57 2011 (r218478) @@ -2700,7 +2700,7 @@ emu_init(struct emu_sc_info *sc) if (bus_dma_tag_create( /* parent */ bus_get_dma_tag(sc->dev), /* alignment */ 2, /* boundary */ 0, - /* lowaddr */ 1 << 31, /* can only access 0-2gb */ + /* lowaddr */ (1U << 31) - 1, /* can only access 0-2gb */ /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, /* filterarg */ NULL, /* maxsize */ EMU_MAX_BUFSZ, /* nsegments */ 1, /* maxsegz */ 0x3ffff, From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 11:45:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 707C4106566B; Wed, 9 Feb 2011 11:45:08 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 7B8F78FC13; Wed, 9 Feb 2011 11:45:07 +0000 (UTC) Received: by wwf26 with SMTP id 26so65677wwf.31 for ; Wed, 09 Feb 2011 03:45:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=/kzb0HGxeIP5Uq+X4DWoiMyJ1U8sntrNCztX9XlEy1w=; b=pWUYKLHYc6JYczNw07CQi6tgjtxpUbZgUDCIjqnetUHx9nIpxJPZakDItf2ySJaLfT rimvTKTwS8STKNxDjC3GdkowebUUBmGnD92O8ZOMNR5NRKf64AQOaWluzC5GL4VZN5Ov 4E778vqZbCI/byh+6gzxy6ql/wm8e8WQw+hG0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=qxKIMrfi40CbEPccRSCTqz5RO5XlxaQWS1yVpXNB1GeYK/kWsYmvA8bBDdFFoz08o9 fWatHiOd1wsU2FCjerMn6WIb+yW/WDWfzFxprvYXYhsK6lYdWx7G0say0DttJ0zhN3b3 OTAGbC00KqFz3MAtFvx/+zSW4FI7VN/595x1w= MIME-Version: 1.0 Received: by 10.216.220.219 with SMTP id o69mr2706933wep.57.1297251906634; Wed, 09 Feb 2011 03:45:06 -0800 (PST) Sender: yanegomi@gmail.com Received: by 10.216.71.200 with HTTP; Wed, 9 Feb 2011 03:45:06 -0800 (PST) In-Reply-To: <201102091128.p19BSw2c081986@svn.freebsd.org> References: <201102091128.p19BSw2c081986@svn.freebsd.org> Date: Wed, 9 Feb 2011 03:45:06 -0800 X-Google-Sender-Auth: oe66CRNYOe7wE17EgrukPar6Vek Message-ID: From: Garrett Cooper To: Marius Strobl Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Vladislav Movchan Subject: Re: svn commit: r218478 - head/sys/dev/sound/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 11:45:08 -0000 On Wed, Feb 9, 2011 at 3:28 AM, Marius Strobl wrote: > Author: marius > Date: Wed Feb =A09 11:28:57 2011 > New Revision: 218478 > URL: http://svn.freebsd.org/changeset/base/218478 > > Log: > =A0Correct signedness and off-by-one issues in parameters used for DMA ta= g > =A0creation. > > =A0PR: =A0 =A0 =A0 =A0 =A0 154259 > =A0Submitted by: Vladislav Movchan (partially) > =A0MFC after: =A0 =A03 days Thanks guys! -Garrett From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 14:37:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FFAC106566B; Wed, 9 Feb 2011 14:37:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0FD4A8FC19; Wed, 9 Feb 2011 14:37: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 p19EbXIR087249; Wed, 9 Feb 2011 14:37:33 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19EbXmS087247; Wed, 9 Feb 2011 14:37:33 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201102091437.p19EbXmS087247@svn.freebsd.org> From: John Baldwin Date: Wed, 9 Feb 2011 14:37: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: r218482 - head/sys/arm/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 14:37:34 -0000 Author: jhb Date: Wed Feb 9 14:37:33 2011 New Revision: 218482 URL: http://svn.freebsd.org/changeset/base/218482 Log: Whitespace tweak. Modified: head/sys/arm/include/pmap.h Modified: head/sys/arm/include/pmap.h ============================================================================== --- head/sys/arm/include/pmap.h Wed Feb 9 12:48:12 2011 (r218481) +++ head/sys/arm/include/pmap.h Wed Feb 9 14:37:33 2011 (r218482) @@ -136,7 +136,7 @@ struct pmap { pd_entry_t *pm_pdir; /* KVA of page directory */ uint32_t pm_gen_count; /* generation count (pmap lock dropped) */ u_int pm_retries; - cpumask_t pm_active; /* active on cpus */ + cpumask_t pm_active; /* active on cpus */ struct pmap_statistics pm_stats; /* pmap statictics */ TAILQ_HEAD(,pv_entry) pm_pvlist; /* list of mappings in pmap */ }; From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 15:23:17 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B92F106566C; Wed, 9 Feb 2011 15:23:17 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A59E8FC16; Wed, 9 Feb 2011 15:23: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 p19FNHBH088400; Wed, 9 Feb 2011 15:23:17 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19FNHa1088397; Wed, 9 Feb 2011 15:23:17 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102091523.p19FNHa1088397@svn.freebsd.org> From: Adrian Chadd Date: Wed, 9 Feb 2011 15:23: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: r218483 - in head/sys/dev/ath: . ath_hal/ar5212 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 15:23:17 -0000 Author: adrian Date: Wed Feb 9 15:23:16 2011 New Revision: 218483 URL: http://svn.freebsd.org/changeset/base/218483 Log: Fix the keycache behaviour for multicast keycache search. The correct bit to set is 0x1 in the high MAC address byte, not 0x80. The hardware isn't programmed with that bit (which is the multicast adress bit.) The linux ath9k keycache code uses that bit in the MAC as a "this is a multicast key!" and doesn't set the AR_KEYTABLE_VALID bit. This tells the hardware the MAC isn't to be used for unicast destination matching but it can be used for multicast bssid traffic. This fixes some encryption problems in station mode. PR: kern/154598 Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c Wed Feb 9 14:37:33 2011 (r218482) +++ head/sys/dev/ath/ath_hal/ar5212/ar5212_keycache.c Wed Feb 9 15:23:16 2011 (r218483) @@ -99,11 +99,18 @@ ar5212ResetKeyCacheEntry(struct ath_hal /* * Sets the mac part of the specified key cache entry (and any * associated MIC entry) and mark them valid. + * + * Since mac[0] is shifted off and not presented to the hardware, + * it does double duty as a "don't use for unicast, use for multicast + * matching" flag. This interface should later be extended to + * explicitly do that rather than overloading a bit in the MAC + * address. */ HAL_BOOL ar5212SetKeyCacheEntryMac(struct ath_hal *ah, uint16_t entry, const uint8_t *mac) { uint32_t macHi, macLo; + uint32_t unicast_flag = AR_KEYTABLE_VALID; if (entry >= AH_PRIVATE(ah)->ah_caps.halKeyCacheSize) { HALDEBUG(ah, HAL_DEBUG_ANY, "%s: entry %u out of range\n", @@ -115,6 +122,16 @@ ar5212SetKeyCacheEntryMac(struct ath_hal * the 4 MSBs, and MacHi is the 2 LSBs. */ if (mac != AH_NULL) { + /* + * AR_KEYTABLE_VALID indicates that the address is a unicast + * address, which must match the transmitter address for + * decrypting frames. + * Not setting this bit allows the hardware to use the key + * for multicast frame decryption. + */ + if (mac[0] & 0x01) + unicast_flag = 0; + macHi = (mac[5] << 8) | mac[4]; macLo = (mac[3] << 24)| (mac[2] << 16) | (mac[1] << 8) | mac[0]; @@ -125,7 +142,7 @@ ar5212SetKeyCacheEntryMac(struct ath_hal macLo = macHi = 0; } OS_REG_WRITE(ah, AR_KEYTABLE_MAC0(entry), macLo); - OS_REG_WRITE(ah, AR_KEYTABLE_MAC1(entry), macHi | AR_KEYTABLE_VALID); + OS_REG_WRITE(ah, AR_KEYTABLE_MAC1(entry), macHi | unicast_flag); return AH_TRUE; } Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Wed Feb 9 14:37:33 2011 (r218482) +++ head/sys/dev/ath/if_ath.c Wed Feb 9 15:23:16 2011 (r218483) @@ -1938,10 +1938,10 @@ ath_keyset(struct ath_softc *sc, const s /* * Group keys on hardware that supports multicast frame * key search use a MAC that is the sender's address with - * the high bit set instead of the app-specified address. + * the multicast bit set instead of the app-specified address. */ IEEE80211_ADDR_COPY(gmac, bss->ni_macaddr); - gmac[0] |= 0x80; + gmac[0] |= 0x01; mac = gmac; } else mac = k->wk_macaddr; From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 15:32:05 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 101BE106564A; Wed, 9 Feb 2011 15:32:05 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F26EC8FC15; Wed, 9 Feb 2011 15:32:04 +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 p19FW4cR088638; Wed, 9 Feb 2011 15:32:04 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19FW4U2088636; Wed, 9 Feb 2011 15:32:04 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201102091532.p19FW4U2088636@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 9 Feb 2011 15:32:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218484 - stable/8/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 15:32:05 -0000 Author: pluknet Date: Wed Feb 9 15:32:04 2011 New Revision: 218484 URL: http://svn.freebsd.org/changeset/base/218484 Log: MFC r218189: Remove OpenSolaris include path referring to a non-existing directory. Reported by: arundel on freebsd-hackers@ via clang Approved by: kib (mentor) Modified: stable/8/sys/conf/kern.pre.mk 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/conf/kern.pre.mk ============================================================================== --- stable/8/sys/conf/kern.pre.mk Wed Feb 9 15:23:16 2011 (r218483) +++ stable/8/sys/conf/kern.pre.mk Wed Feb 9 15:32:04 2011 (r218484) @@ -79,9 +79,6 @@ INCLUDES+= -I$S/dev/twa # ... and XFS INCLUDES+= -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs -# ... and OpenSolaris -INCLUDES+= -I$S/contrib/opensolaris/compat - # ... and the same for cxgb INCLUDES+= -I$S/dev/cxgb From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 15:33:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C6E61065693; Wed, 9 Feb 2011 15:33:14 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0193B8FC12; Wed, 9 Feb 2011 15:33: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 p19FXD3N088717; Wed, 9 Feb 2011 15:33:13 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19FXD3H088712; Wed, 9 Feb 2011 15:33:13 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201102091533.p19FXD3H088712@svn.freebsd.org> From: Alexander Leidinger Date: Wed, 9 Feb 2011 15:33:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218485 - in head/sys/ufs: ffs ufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 15:33:14 -0000 Author: netchild Date: Wed Feb 9 15:33:13 2011 New Revision: 218485 URL: http://svn.freebsd.org/changeset/base/218485 Log: Add some FEATURE macros for some UFS features. SU+J is not included as a FEATURE macro: - it was not in the tree during the GSoC - I do not see an option to en-/disable it in NOTES Two minor changes where made during the review compared to what was developed during GSoC 2010. No FreeBSD version bump, the userland application to query the features will be committed last and can serve as an indication of the availablility if needed. Sponsored by: Google Summer of Code 2010 Submitted by: kibab Reviewed by: kib X-MFC after: to be determined in last commit with code from this project Modified: head/sys/ufs/ffs/ffs_snapshot.c head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ufs/ufs_acl.c head/sys/ufs/ufs/ufs_vnops.c Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Wed Feb 9 15:32:04 2011 (r218484) +++ head/sys/ufs/ffs/ffs_snapshot.c Wed Feb 9 15:33:13 2011 (r218485) @@ -124,6 +124,7 @@ ffs_copyonwrite(devvp, bp) } #else +FEATURE(ffs_snapshot, "FFS snapshot support"); TAILQ_HEAD(snaphead, inode); Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Wed Feb 9 15:32:04 2011 (r218484) +++ head/sys/ufs/ffs/ffs_softdep.c Wed Feb 9 15:33:13 2011 (r218485) @@ -575,6 +575,9 @@ softdep_get_depcounts(struct mount *mp, } #else + +FEATURE(softupdates, "FFS soft-updates support"); + /* * These definitions need to be adapted to the system to which * this file is being ported. Modified: head/sys/ufs/ufs/ufs_acl.c ============================================================================== --- head/sys/ufs/ufs/ufs_acl.c Wed Feb 9 15:32:04 2011 (r218484) +++ head/sys/ufs/ufs/ufs_acl.c Wed Feb 9 15:33:13 2011 (r218485) @@ -57,6 +57,8 @@ __FBSDID("$FreeBSD$"); #ifdef UFS_ACL +FEATURE(ufs_acl, "ACL support for UFS"); + /* * Synchronize an ACL and an inode by copying over appropriate inode fields * to the passed ACL. Assumes an ACL that would satisfy acl_posix1e_check(), Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Wed Feb 9 15:32:04 2011 (r218484) +++ head/sys/ufs/ufs/ufs_vnops.c Wed Feb 9 15:33:13 2011 (r218485) @@ -82,8 +82,19 @@ __FBSDID("$FreeBSD$"); #endif #ifdef UFS_GJOURNAL #include +FEATURE(ufs_gjournal, "Journaling support through GEOM for UFS"); #endif +#ifdef QUOTA +FEATURE(ufs_quota, "UFS disk quotas support"); +FEATURE(ufs_quota64, "64bit UFS disk quotas support"); +#endif + +#ifdef SUIDDIR +FEATURE(suiddir, "Give all new files in directory the same ownership as the directory"); +#endif + + #include static vop_accessx_t ufs_accessx; From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 15:40:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD505106564A; Wed, 9 Feb 2011 15:40:48 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ABCC68FC16; Wed, 9 Feb 2011 15:40:48 +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 p19FemDw088979; Wed, 9 Feb 2011 15:40:48 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19FemD2088977; Wed, 9 Feb 2011 15:40:48 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201102091540.p19FemD2088977@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 9 Feb 2011 15:40:48 +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: r218487 - stable/7/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 15:40:48 -0000 Author: pluknet Date: Wed Feb 9 15:40:48 2011 New Revision: 218487 URL: http://svn.freebsd.org/changeset/base/218487 Log: MFC r218189: Remove OpenSolaris include path referring to a non-existing directory. Reported by: arundel on freebsd-hackers@ via clang Approved by: kib (mentor) Modified: stable/7/sys/conf/kern.pre.mk 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/conf/kern.pre.mk ============================================================================== --- stable/7/sys/conf/kern.pre.mk Wed Feb 9 15:40:13 2011 (r218486) +++ stable/7/sys/conf/kern.pre.mk Wed Feb 9 15:40:48 2011 (r218487) @@ -77,9 +77,6 @@ INCLUDES+= -I$S/dev/twa # ... and XFS INCLUDES+= -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs -# ... and OpenSolaris -INCLUDES+= -I$S/contrib/opensolaris/compat - # ... and the same for cxgb INCLUDES+= -I$S/dev/cxgb From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 15:43:38 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A33A1106564A; Wed, 9 Feb 2011 15:43:38 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 924588FC16; Wed, 9 Feb 2011 15:43:38 +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 p19FhcH9089067; Wed, 9 Feb 2011 15:43:38 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19FhcpV089065; Wed, 9 Feb 2011 15:43:38 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102091543.p19FhcpV089065@svn.freebsd.org> From: Adrian Chadd Date: Wed, 9 Feb 2011 15:43: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: r218488 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 15:43:38 -0000 Author: adrian Date: Wed Feb 9 15:43:38 2011 New Revision: 218488 URL: http://svn.freebsd.org/changeset/base/218488 Log: Add in the (very!) optional glue to flip the 11n bits for if_ath. There's still a lot of random issues to sort out with the radio side of things and AMPDU RX handling (and completely missing AMPDU TX handling!) but if people wish to give this a go and assist in debugging the issues, they can define ATH_DO_11N to enable it. I'm just re-iterating - this is here to allow people to assist in further 11n development; it is not any indication that the 11n support is complete and functional. Important notes: * This doesn't support 1-stream cards yet - (eg AR9285) - the various bits that negotiate TX/RX MCS don't know not to try >1 stream TX or negotiate 1-stream RX; so don't enable 11n unless you've first taught the rate control module and the net80211 stack to negotiate 1-stream stuff; * The only rate control module minimally 11n aware is ath_rate_sample; * ath_rate_sample doesn't know about HT/40; so airtime will be incorrectly calculated; * The AR9160 and AR9280 radio code is unreliable at the higher MCS rates for some reason; this will definitely impact 11n performance; * AMPDU-TX isn't yet implemented; * AMPDU-RX may be a bit buggy still and will definitely suffer from the radio unreliability mentioned above (ie, don't expect 150/300mbit RX just yet.) Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Wed Feb 9 15:40:48 2011 (r218487) +++ head/sys/dev/ath/if_ath.c Wed Feb 9 15:43:38 2011 (r218488) @@ -283,6 +283,10 @@ SYSCTL_INT(_hw_ath, OID_AUTO, bstuck, CT MALLOC_DEFINE(M_ATHDEV, "athdev", "ath driver dma buffers"); +#define HAL_MODE_HT20 (HAL_MODE_11NG_HT20 | HAL_MODE_11NA_HT20) +#define HAL_MODE_HT40 \ + (HAL_MODE_11NG_HT40PLUS | HAL_MODE_11NG_HT40MINUS | \ + HAL_MODE_11NA_HT40PLUS | HAL_MODE_11NA_HT40MINUS) int ath_attach(u_int16_t devid, struct ath_softc *sc) { @@ -611,6 +615,52 @@ ath_attach(u_int16_t devid, struct ath_s ic->ic_tdma_update = ath_tdma_update; } #endif + + /* + * The if_ath 11n support is completely not ready for normal use. + * Enabling this option will likely break everything and everything. + * Don't think of doing that unless you know what you're doing. + */ + +#ifdef DO_ATH_11N + /* + * Query HT capabilities + */ + if (ath_hal_getcapability(ah, HAL_CAP_HT, 0, NULL) == HAL_OK && + (wmodes & (HAL_MODE_HT20 | HAL_MODE_HT40))) { + int rxs, txs; + + device_printf(sc->sc_dev, "[HT] enabling HT modes\n"); + ic->ic_htcaps = IEEE80211_HTC_HT /* HT operation */ + | IEEE80211_HTC_AMPDU /* A-MPDU tx/rx */ + | IEEE80211_HTC_AMSDU /* A-MSDU tx/rx */ + | IEEE80211_HTCAP_MAXAMSDU_3839 /* max A-MSDU length */ + | IEEE80211_HTCAP_SHORTGI20 /* short GI in 20MHz */ + | IEEE80211_HTCAP_SMPS_OFF; /* SM power save off */ + ; + + if (wmodes & HAL_MODE_HT40) + ic->ic_htcaps |= IEEE80211_HTCAP_CHWIDTH40 + | IEEE80211_HTCAP_SHORTGI40; + + /* + * rx/tx stream is not currently used anywhere; it needs to be taken + * into account when negotiating which MCS rates it'll receive and + * what MCS rates are available for TX. + */ + (void) ath_hal_getcapability(ah, HAL_CAP_STREAMS, 0, &rxs); + (void) ath_hal_getcapability(ah, HAL_CAP_STREAMS, 1, &txs); + + ath_hal_getrxchainmask(ah, &sc->sc_rxchainmask); + ath_hal_gettxchainmask(ah, &sc->sc_txchainmask); + + ic->ic_txstream = txs; + ic->ic_rxstream = rxs; + + device_printf(sc->sc_dev, "[HT] %d RX streams; %d TX streams\n", rxs, txs); + } +#endif + /* * Indicate we need the 802.11 header padded to a * 32-bit boundary for 4-address and QoS frames. From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 15:55:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1F9C106564A; Wed, 9 Feb 2011 15:55:48 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0BAF8FC19; Wed, 9 Feb 2011 15:55:48 +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 p19FtmLf089351; Wed, 9 Feb 2011 15:55:48 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19FtmnP089349; Wed, 9 Feb 2011 15:55:48 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201102091555.p19FtmnP089349@svn.freebsd.org> From: Jaakko Heinonen Date: Wed, 9 Feb 2011 15:55: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: r218489 - stable/8/etc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 15:55:48 -0000 Author: jh Date: Wed Feb 9 15:55:48 2011 New Revision: 218489 URL: http://svn.freebsd.org/changeset/base/218489 Log: MFC r217090: Warn if rules could not be read from a ruleset file. Now at least something gets logged if the file has syntax errors. PR: conf/91342 Modified: stable/8/etc/rc.subr Directory Properties: stable/8/etc/ (props changed) Modified: stable/8/etc/rc.subr ============================================================================== --- stable/8/etc/rc.subr Wed Feb 9 15:43:38 2011 (r218488) +++ stable/8/etc/rc.subr Wed Feb 9 15:55:48 2011 (r218489) @@ -1348,7 +1348,10 @@ devfs_init_rulesets() return fi for file in $devfs_rulesets; do - devfs_rulesets_from_file $file || return 1 + if ! devfs_rulesets_from_file $file; then + warn "$_me: could not read rules from $file" + return 1 + fi done devfs_rulesets_init=1 debug "$_me: devfs rulesets initialized" From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 16:37:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A379D106566B; Wed, 9 Feb 2011 16:37:29 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 77B838FC23; Wed, 9 Feb 2011 16:37: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 p19GbTHb090466; Wed, 9 Feb 2011 16:37:29 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19GbTLD090462; Wed, 9 Feb 2011 16:37:29 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102091637.p19GbTLD090462@svn.freebsd.org> From: Adrian Chadd Date: Wed, 9 Feb 2011 16:37: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: r218490 - in head/sys/dev/ath: . ath_hal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 16:37:29 -0000 Author: adrian Date: Wed Feb 9 16:37:29 2011 New Revision: 218490 URL: http://svn.freebsd.org/changeset/base/218490 Log: Expose the 4k transaction workaround hooks to the driver, but don't (yet) fix the descriptor allocation. Modified: head/sys/dev/ath/ath_hal/ah.c head/sys/dev/ath/ath_hal/ah.h head/sys/dev/ath/if_athvar.h Modified: head/sys/dev/ath/ath_hal/ah.c ============================================================================== --- head/sys/dev/ath/ath_hal/ah.c Wed Feb 9 15:55:48 2011 (r218489) +++ head/sys/dev/ath/ath_hal/ah.c Wed Feb 9 16:37:29 2011 (r218490) @@ -594,6 +594,8 @@ ath_hal_getcapability(struct ath_hal *ah default: return HAL_ENOTSUPP; } + case HAP_CAP_SPLIT_4KB_TRANS: /* hardware handles descriptors straddling 4k page boundary */ + return pCap->hal4kbSplitTransSupport ? HAL_OK : HAL_ENOTSUPP; default: return HAL_EINVAL; } Modified: head/sys/dev/ath/ath_hal/ah.h ============================================================================== --- head/sys/dev/ath/ath_hal/ah.h Wed Feb 9 15:55:48 2011 (r218489) +++ head/sys/dev/ath/ath_hal/ah.h Wed Feb 9 16:37:29 2011 (r218490) @@ -112,6 +112,7 @@ typedef enum { HAL_CAP_INTRMASK = 37, /* bitmask of supported interrupts */ HAL_CAP_BSSIDMATCH = 38, /* hardware has disable bssid match */ HAL_CAP_STREAMS = 39, /* how many 802.11n spatial streams are available */ + HAP_CAP_SPLIT_4KB_TRANS = 40, /* hardware supports descriptors straddling a 4k page boundary */ } HAL_CAPABILITY_TYPE; /* Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Wed Feb 9 15:55:48 2011 (r218489) +++ head/sys/dev/ath/if_athvar.h Wed Feb 9 16:37:29 2011 (r218490) @@ -636,6 +636,8 @@ void ath_intr(void *); (ath_hal_getcapability(_ah, HAL_CAP_RX_CHAINMASK, 0, _prxchainmask)) #define ath_hal_gettxchainmask(_ah, _ptxchainmask) \ (ath_hal_getcapability(_ah, HAL_CAP_TX_CHAINMASK, 0, _ptxchainmask)) +#define ath_hal_split4ktrans(_ah) \ + (ath_hal_getcapability(_ah, HAP_CAP_SPLIT_4KB_TRANS, 0, NULL) == HAL_OK) #define ath_hal_setuprxdesc(_ah, _ds, _size, _intreq) \ ((*(_ah)->ah_setupRxDesc)((_ah), (_ds), (_size), (_intreq))) From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 18:09:27 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F9D71065672; Wed, 9 Feb 2011 18:09:27 +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 7DC068FC18; Wed, 9 Feb 2011 18:09:27 +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 p19I9RM7092679; Wed, 9 Feb 2011 18:09:27 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19I9RHJ092676; Wed, 9 Feb 2011 18:09:27 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201102091809.p19I9RHJ092676@svn.freebsd.org> From: Bernhard Schmidt Date: Wed, 9 Feb 2011 18:09:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218492 - head/sys/dev/usb/wlan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 18:09:27 -0000 Author: bschmidt Date: Wed Feb 9 18:09:27 2011 New Revision: 218492 URL: http://svn.freebsd.org/changeset/base/218492 Log: Rework beacon handling re-enable run_updateslot(). Drivers which rely on net80211 to create the beacon need to call ieee80211_beacon_update() on iv_update_beacon() calls. This is required that certain bits, e.g. TIM, get updated. A call to ieee80211_beacon_alloc() is not enough because it does not care about flags which can only change during runtime. By design a beacon is supposed to be allocated only once while moving into RUN state. To handle all possible calls to iv_update_beacon() the run_updateslot() function has been revived and run_updateprot() has been added. run_updateslot() handles slot time changes and run_updateprot() changes to protection, both can change while nodes associate/leave. Submitted by: Alexander Zagrebin , PseudoCylon MFC after: 3 weeks Modified: head/sys/dev/usb/wlan/if_run.c head/sys/dev/usb/wlan/if_runvar.h Modified: head/sys/dev/usb/wlan/if_run.c ============================================================================== --- head/sys/dev/usb/wlan/if_run.c Wed Feb 9 16:41:06 2011 (r218491) +++ head/sys/dev/usb/wlan/if_run.c Wed Feb 9 18:09:27 2011 (r218492) @@ -388,6 +388,7 @@ static void run_scan_end(struct ieee8021 static void run_update_beacon(struct ieee80211vap *, int); static void run_update_beacon_cb(void *); static void run_updateprot(struct ieee80211com *); +static void run_updateprot_cb(void *); static void run_usb_timeout_cb(void *); static void run_reset_livelock(struct run_softc *); static void run_enable_tsf_sync(struct run_softc *); @@ -398,6 +399,7 @@ static void run_set_leds(struct run_soft static void run_set_bssid(struct run_softc *, const uint8_t *); static void run_set_macaddr(struct run_softc *, const uint8_t *); static void run_updateslot(struct ifnet *); +static void run_updateslot_cb(void *); static void run_update_mcast(struct ifnet *); static int8_t run_rssi2dbm(struct run_softc *, uint8_t, uint8_t); static void run_update_promisc_locked(struct ifnet *); @@ -674,7 +676,7 @@ run_attach(device_t self) ic->ic_set_channel = run_set_channel; ic->ic_node_alloc = run_node_alloc; ic->ic_newassoc = run_newassoc; - //ic->ic_updateslot = run_updateslot; + ic->ic_updateslot = run_updateslot; ic->ic_update_mcast = run_update_mcast; ic->ic_wme.wme_update = run_wme_update; ic->ic_raw_xmit = run_raw_xmit; @@ -856,6 +858,9 @@ run_vap_delete(struct ieee80211vap *vap) RUN_LOCK(sc); + m_freem(rvp->beacon_mbuf); + rvp->beacon_mbuf = NULL; + rvp_id = rvp->rvp_id; sc->ratectl_run &= ~(1 << rvp_id); sc->rvp_bmap &= ~(1 << rvp_id); @@ -1790,6 +1795,9 @@ run_newstate(struct ieee80211vap *vap, e sc->runbmap |= bid; } + m_freem(rvp->beacon_mbuf); + rvp->beacon_mbuf = NULL; + switch (vap->iv_opmode) { case IEEE80211_M_HOSTAP: case IEEE80211_M_MBSS: @@ -3901,8 +3909,29 @@ run_update_beacon(struct ieee80211vap *v { struct ieee80211com *ic = vap->iv_ic; struct run_softc *sc = ic->ic_ifp->if_softc; + struct run_vap *rvp = RUN_VAP(vap); + int mcast = 0; uint32_t i; + KASSERT(vap != NULL, ("no beacon")); + + switch (item) { + case IEEE80211_BEACON_ERP: + run_updateslot(ic->ic_ifp); + break; + case IEEE80211_BEACON_HTINFO: + run_updateprot(ic); + break; + case IEEE80211_BEACON_TIM: + mcast = 1; /*TODO*/ + break; + default: + break; + } + + setbit(rvp->bo.bo_flags, item); + ieee80211_beacon_update(vap->iv_bss, &rvp->bo, rvp->beacon_mbuf, mcast); + i = RUN_CMDQ_GET(&sc->cmdq_store); DPRINTF("cmdq_store=%d\n", i); sc->cmdq[i].func = run_update_beacon_cb; @@ -3916,6 +3945,7 @@ static void run_update_beacon_cb(void *arg) { struct ieee80211vap *vap = arg; + struct run_vap *rvp = RUN_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct run_softc *sc = ic->ic_ifp->if_softc; struct rt2860_txwi txwi; @@ -3925,8 +3955,17 @@ run_update_beacon_cb(void *arg) if (vap->iv_bss->ni_chan == IEEE80211_CHAN_ANYC) return; - if ((m = ieee80211_beacon_alloc(vap->iv_bss, &RUN_VAP(vap)->bo)) == NULL) - return; + /* + * No need to call ieee80211_beacon_update(), run_update_beacon() + * is taking care of apropriate calls. + */ + if (rvp->beacon_mbuf == NULL) { + rvp->beacon_mbuf = ieee80211_beacon_alloc(vap->iv_bss, + &rvp->bo); + if (rvp->beacon_mbuf == NULL) + return; + } + m = rvp->beacon_mbuf; memset(&txwi, 0, sizeof txwi); txwi.wcid = 0xff; @@ -3941,13 +3980,11 @@ run_update_beacon_cb(void *arg) txwi.flags = RT2860_TX_TS; txwi.xflags = RT2860_TX_NSEQ; - run_write_region_1(sc, RT2860_BCN_BASE(RUN_VAP(vap)->rvp_id), + run_write_region_1(sc, RT2860_BCN_BASE(rvp->rvp_id), (uint8_t *)&txwi, sizeof txwi); - run_write_region_1(sc, RT2860_BCN_BASE(RUN_VAP(vap)->rvp_id) + sizeof txwi, + run_write_region_1(sc, RT2860_BCN_BASE(rvp->rvp_id) + sizeof txwi, mtod(m, uint8_t *), (m->m_pkthdr.len + 1) & ~1); /* roundup len */ - m_freem(m); - return; } @@ -3955,6 +3992,20 @@ static void run_updateprot(struct ieee80211com *ic) { struct run_softc *sc = ic->ic_ifp->if_softc; + uint32_t i; + + i = RUN_CMDQ_GET(&sc->cmdq_store); + DPRINTF("cmdq_store=%d\n", i); + sc->cmdq[i].func = run_updateprot_cb; + sc->cmdq[i].arg0 = ic; + ieee80211_runtask(ic, &sc->cmdq_task); +} + +static void +run_updateprot_cb(void *arg) +{ + struct ieee80211com *ic = arg; + struct run_softc *sc = ic->ic_ifp->if_softc; uint32_t tmp; tmp = RT2860_RTSTH_EN | RT2860_PROT_NAV_SHORT | RT2860_TXOP_ALLOW_ALL; @@ -4164,12 +4215,29 @@ run_set_macaddr(struct run_softc *sc, co addr[4] | addr[5] << 8 | 0xff << 16); } -/* ARGSUSED */ static void run_updateslot(struct ifnet *ifp) { struct run_softc *sc = ifp->if_softc; struct ieee80211com *ic = ifp->if_l2com; + uint32_t i; + + i = RUN_CMDQ_GET(&sc->cmdq_store); + DPRINTF("cmdq_store=%d\n", i); + sc->cmdq[i].func = run_updateslot_cb; + sc->cmdq[i].arg0 = ifp; + ieee80211_runtask(ic, &sc->cmdq_task); + + return; +} + +/* ARGSUSED */ +static void +run_updateslot_cb(void *arg) +{ + struct ifnet *ifp = arg; + struct run_softc *sc = ifp->if_softc; + struct ieee80211com *ic = ifp->if_l2com; uint32_t tmp; run_read(sc, RT2860_BKOFF_SLOT_CFG, &tmp); @@ -4747,7 +4815,7 @@ run_init_locked(struct run_softc *sc) run_set_chan(sc, ic->ic_curchan); /* setup initial protection mode */ - run_updateprot(ic); + run_updateprot_cb(ic); /* turn radio LED on */ run_set_leds(sc, RT2860_LED_RADIO); Modified: head/sys/dev/usb/wlan/if_runvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_runvar.h Wed Feb 9 16:41:06 2011 (r218491) +++ head/sys/dev/usb/wlan/if_runvar.h Wed Feb 9 18:09:27 2011 (r218492) @@ -121,6 +121,7 @@ struct run_cmdq { struct run_vap { struct ieee80211vap vap; struct ieee80211_beacon_offsets bo; + struct mbuf *beacon_mbuf; int (*newstate)(struct ieee80211vap *, enum ieee80211_state, int); From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 18:45:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 449161065674; Wed, 9 Feb 2011 18:45:34 +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 33F0D8FC15; Wed, 9 Feb 2011 18:45: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 p19IjYch093846; Wed, 9 Feb 2011 18:45:34 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19IjY3R093844; Wed, 9 Feb 2011 18:45:34 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201102091845.p19IjY3R093844@svn.freebsd.org> From: Alan Cox Date: Wed, 9 Feb 2011 18:45: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: r218493 - head/sys/i386/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 18:45:34 -0000 Author: alc Date: Wed Feb 9 18:45:33 2011 New Revision: 218493 URL: http://svn.freebsd.org/changeset/base/218493 Log: Setting VV_TEXT here is redundant. It is already set by do_execve(). Reviewed by: kib Modified: head/sys/i386/linux/imgact_linux.c Modified: head/sys/i386/linux/imgact_linux.c ============================================================================== --- head/sys/i386/linux/imgact_linux.c Wed Feb 9 18:09:27 2011 (r218492) +++ head/sys/i386/linux/imgact_linux.c Wed Feb 9 18:45:33 2011 (r218493) @@ -217,9 +217,6 @@ exec_linux_imgact(struct image_params *i #endif } - /* Indicate that this file should not be modified */ - mp_fixme("Unlocked v_flag access"); - imgp->vp->v_vflag |= VV_TEXT; } /* Fill in process VM information */ vmspace->vm_tsize = round_page(a_out->a_text) >> PAGE_SHIFT; From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 19:08:22 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 640001065696; Wed, 9 Feb 2011 19:08:22 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 38EE18FC2D; Wed, 9 Feb 2011 19:08:22 +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 p19J8MwU094441; Wed, 9 Feb 2011 19:08:22 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19J8M0x094438; Wed, 9 Feb 2011 19:08:22 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201102091908.p19J8M0x094438@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 9 Feb 2011 19:08:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218494 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 19:08:22 -0000 Author: marcel Date: Wed Feb 9 19:08:21 2011 New Revision: 218494 URL: http://svn.freebsd.org/changeset/base/218494 Log: Provide convenience function for obtaining MODINFO_ADDR and MODINFO_SIZE attributes for preloaded modules/images. In particular, MODINFO_ADDR has the added complexity of not always being relocated properly. Rather than kluging this in the various components that are affected, we handle it in a centralized place (preload_fetch_addr()). To that end, expose a new variable, preload_addr_relocate, that MD initialization code can set and that turns the address attribute into a valid kernel VA. Architectures that need the relocation: arm & powerpc (at least). Components that can utilize this: acpi(4), md(4), fb(4), pci(4), ZFS, geli. Sponsored by: Juniper Networks Modified: head/sys/kern/subr_module.c head/sys/sys/linker.h Modified: head/sys/kern/subr_module.c ============================================================================== --- head/sys/kern/subr_module.c Wed Feb 9 18:45:33 2011 (r218493) +++ head/sys/kern/subr_module.c Wed Feb 9 19:08:21 2011 (r218494) @@ -35,7 +35,8 @@ __FBSDID("$FreeBSD$"); * Preloaded module support */ -caddr_t preload_metadata; +vm_offset_t preload_addr_relocate = 0; +caddr_t preload_metadata; /* * Search for the preloaded module (name) @@ -230,6 +231,28 @@ preload_delete_name(const char *name) } } +void * +preload_fetch_addr(caddr_t mod) +{ + caddr_t *mdp; + + mdp = (caddr_t *)preload_search_info(mod, MODINFO_ADDR); + if (mdp == NULL) + return (NULL); + return (*mdp + preload_addr_relocate); +} + +size_t +preload_fetch_size(caddr_t mod) +{ + size_t *mdp; + + mdp = (size_t *)preload_search_info(mod, MODINFO_SIZE); + if (mdp == NULL) + return (0); + return (*mdp); +} + /* Called from locore on i386. Convert physical pointers to kvm. Sigh. */ void preload_bootstrap_relocate(vm_offset_t offset) Modified: head/sys/sys/linker.h ============================================================================== --- head/sys/sys/linker.h Wed Feb 9 18:45:33 2011 (r218493) +++ head/sys/sys/linker.h Wed Feb 9 19:08:21 2011 (r218494) @@ -234,7 +234,11 @@ void *linker_hwpmc_list_objects(void); /* * Module lookup */ +extern vm_offset_t preload_addr_relocate; extern caddr_t preload_metadata; + +extern void * preload_fetch_addr(caddr_t _mod); +extern size_t preload_fetch_size(caddr_t _mod); extern caddr_t preload_search_by_name(const char *_name); extern caddr_t preload_search_by_type(const char *_type); extern caddr_t preload_search_next_name(caddr_t _base); From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 19:31:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F595106566C; Wed, 9 Feb 2011 19:31:11 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F29358FC15; Wed, 9 Feb 2011 19:31: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 p19JVADr095007; Wed, 9 Feb 2011 19:31:10 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19JVAqh095005; Wed, 9 Feb 2011 19:31:10 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201102091931.p19JVAqh095005@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 9 Feb 2011 19:31: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: r218495 - head/sys/dev/md X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 19:31:11 -0000 Author: marcel Date: Wed Feb 9 19:31:10 2011 New Revision: 218495 URL: http://svn.freebsd.org/changeset/base/218495 Log: Use the preload_fetch_addr() and preload_fetch_size() convenience functions and only create the MD device when we have a non-zero pointer and size. Sponsored by: Juniper Networks Modified: head/sys/dev/md/md.c Modified: head/sys/dev/md/md.c ============================================================================== --- head/sys/dev/md/md.c Wed Feb 9 19:08:21 2011 (r218494) +++ head/sys/dev/md/md.c Wed Feb 9 19:31:10 2011 (r218495) @@ -1235,7 +1235,6 @@ static void g_md_init(struct g_class *mp __unused) { caddr_t mod; - caddr_t c; u_char *ptr, *name, *type; unsigned len; int i; @@ -1263,15 +1262,15 @@ g_md_init(struct g_class *mp __unused) continue; if (strcmp(type, "md_image") && strcmp(type, "mfs_root")) continue; - c = preload_search_info(mod, MODINFO_ADDR); - ptr = *(u_char **)c; - c = preload_search_info(mod, MODINFO_SIZE); - len = *(size_t *)c; - printf("%s%d: Preloaded image <%s> %d bytes at %p\n", - MD_NAME, mdunits, name, len, ptr); - sx_xlock(&md_sx); - md_preloaded(ptr, len); - sx_xunlock(&md_sx); + ptr = preload_fetch_addr(mod); + len = preload_fetch_size(mod); + if (ptr != NULL && len != 0) { + printf("%s%d: Preloaded image <%s> %d bytes at %p\n", + MD_NAME, mdunits, name, len, ptr); + sx_xlock(&md_sx); + md_preloaded(ptr, len); + sx_xunlock(&md_sx); + } } status_dev = make_dev(&mdctl_cdevsw, INT_MAX, UID_ROOT, GID_WHEEL, 0600, MDCTL_NAME); From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 20:23:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23B9E106564A; Wed, 9 Feb 2011 20:23:23 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ECE598FC19; Wed, 9 Feb 2011 20:23:22 +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 p19KNMj7096656; Wed, 9 Feb 2011 20:23:22 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19KNMuF096654; Wed, 9 Feb 2011 20:23:22 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201102092023.p19KNMuF096654@svn.freebsd.org> From: Alexander Leidinger Date: Wed, 9 Feb 2011 20:23:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218497 - head/sys/compat/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 20:23:23 -0000 Author: netchild Date: Wed Feb 9 20:23:22 2011 New Revision: 218497 URL: http://svn.freebsd.org/changeset/base/218497 Log: Linux' shm_open() fails because it wants to find some funky shmfs to construct the full pathname. It starts to search at the default mountpoint which is /dev/shm. If this fails it runs through fstab and searches for shmfs and tmpfs. Whatever it finds will be statfs()'ed to be checked for Linux' fs magic for shmfs (0x01021994). Ideally our tmpfs should deliver this fs magic to Linux processes, but as our tmpfs is considered to be an experimental feature we can not assume that there is always a tmpfs available. To make shared memory work in the Linuxulator, force the fs type of /dev/shm (which can be a symlink) to match what Linux expects. The user is responsible (info has to be added to the linux base ports and the docs) to setup a suitable link for /dev/shm. Noticed by: Andre Albsmeier Submitted by: Andre Albsmeier MFC after: 1 month Modified: head/sys/compat/linux/linux_stats.c Modified: head/sys/compat/linux/linux_stats.c ============================================================================== --- head/sys/compat/linux/linux_stats.c Wed Feb 9 19:57:00 2011 (r218496) +++ head/sys/compat/linux/linux_stats.c Wed Feb 9 20:23:22 2011 (r218497) @@ -58,6 +58,8 @@ __FBSDID("$FreeBSD$"); #include #include +#define LINUX_SHMFS_MAGIC 0x01021994 + static void translate_vnhook_major_minor(struct vnode *vp, struct stat *sb) { @@ -394,7 +396,7 @@ linux_statfs(struct thread *td, struct l struct l_statfs linux_statfs; struct statfs bsd_statfs; char *path; - int error; + int error, dev_shm; LCONVPATHEXIST(td, args->path, &path); @@ -402,11 +404,17 @@ linux_statfs(struct thread *td, struct l if (ldebug(statfs)) printf(ARGS(statfs, "%s, *"), path); #endif + dev_shm = 0; error = kern_statfs(td, path, UIO_SYSSPACE, &bsd_statfs); + if (strncmp(path, "/dev/shm", sizeof("/dev/shm") - 1) == 0) + dev_shm = (path[8] == '\0' + || (path[8] == '/' && path[9] == '\0')); LFREEPATH(path); if (error) return (error); bsd_to_linux_statfs(&bsd_statfs, &linux_statfs); + if (dev_shm) + linux_statfs.f_type = LINUX_SHMFS_MAGIC; return copyout(&linux_statfs, args->buf, sizeof(linux_statfs)); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 20:35:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53ED4106566C; Wed, 9 Feb 2011 20:35:07 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id D8DD98FC0A; Wed, 9 Feb 2011 20:35:06 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id DA4E241C798; Wed, 9 Feb 2011 21:35:05 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id HgIVj-s09-TN; Wed, 9 Feb 2011 21:35:05 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id 653EE41C7B5; Wed, 9 Feb 2011 21:35:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id C5CD14448F3; Wed, 9 Feb 2011 20:32:11 +0000 (UTC) Date: Wed, 9 Feb 2011 20:32:11 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Alexander Leidinger In-Reply-To: <201102091533.p19FXD3H088712@svn.freebsd.org> Message-ID: <20110209203050.L80258@maildrop.int.zabbadoz.net> References: <201102091533.p19FXD3H088712@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218485 - in head/sys/ufs: ffs ufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 20:35:07 -0000 On Wed, 9 Feb 2011, Alexander Leidinger wrote: > Author: netchild > Date: Wed Feb 9 15:33:13 2011 > New Revision: 218485 > URL: http://svn.freebsd.org/changeset/base/218485 > > Log: > Add some FEATURE macros for some UFS features. > > SU+J is not included as a FEATURE macro: > - it was not in the tree during the GSoC > - I do not see an option to en-/disable it in NOTES > > Two minor changes where made during the review compared to what was developed > during GSoC 2010. > > No FreeBSD version bump, the userland application to query the features will > be committed last and can serve as an indication of the availablility if > needed. > > Sponsored by: Google Summer of Code 2010 > Submitted by: kibab > Modified: head/sys/ufs/ufs/ufs_vnops.c > ============================================================================== > --- head/sys/ufs/ufs/ufs_vnops.c Wed Feb 9 15:32:04 2011 (r218484) > +++ head/sys/ufs/ufs/ufs_vnops.c Wed Feb 9 15:33:13 2011 (r218485) > @@ -82,8 +82,19 @@ __FBSDID("$FreeBSD$"); > #endif > #ifdef UFS_GJOURNAL > #include > +FEATURE(ufs_gjournal, "Journaling support through GEOM for UFS"); > #endif > > +#ifdef QUOTA > +FEATURE(ufs_quota, "UFS disk quotas support"); > +FEATURE(ufs_quota64, "64bit UFS disk quotas support"); > +#endif > + > +#ifdef SUIDDIR > +FEATURE(suiddir, "Give all new files in directory the same ownership as the directory"); 80charwide80charwide80charwide80charwide80charwide80charwide80charwide80charwide Please wrap long lines. > +#endif > + > + > #include > > static vop_accessx_t ufs_accessx; > -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 00:20:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34245106564A; Thu, 10 Feb 2011 00:20:57 +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 212B78FC08; Thu, 10 Feb 2011 00:20:57 +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 p1A0KvRI002876; Thu, 10 Feb 2011 00:20:57 GMT (envelope-from mlaier@svn.freebsd.org) Received: (from mlaier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A0KvmS002874; Thu, 10 Feb 2011 00:20:57 GMT (envelope-from mlaier@svn.freebsd.org) Message-Id: <201102100020.p1A0KvmS002874@svn.freebsd.org> From: Max Laier Date: Thu, 10 Feb 2011 00:20:57 +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: r218502 - stable/7/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 00:20:57 -0000 Author: mlaier Date: Thu Feb 10 00:20:56 2011 New Revision: 218502 URL: http://svn.freebsd.org/changeset/base/218502 Log: MFH: r180238 Use bcopy instead of strlcpy in uipc_bind and unp_connect, since soun->sun_path isn't a null-terminated string. As UNIX(4) states, "the terminating NUL is not part of the address." Since strlcpy has to return "the total length of the string [it] tried to create," it walks off the end of soun->sun_path looking for a \0. This reverts r105332. Modified: stable/7/sys/kern/uipc_usrreq.c 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/kern/uipc_usrreq.c ============================================================================== --- stable/7/sys/kern/uipc_usrreq.c Thu Feb 10 00:05:11 2011 (r218501) +++ stable/7/sys/kern/uipc_usrreq.c Thu Feb 10 00:20:56 2011 (r218502) @@ -421,7 +421,8 @@ uipc_bind(struct socket *so, struct sock UNP_PCB_UNLOCK(unp); buf = malloc(namelen + 1, M_TEMP, M_WAITOK); - strlcpy(buf, soun->sun_path, namelen + 1); + bcopy(soun->sun_path, buf, namelen); + buf[namelen] = 0; restart: vfslocked = 0; @@ -1144,7 +1145,8 @@ unp_connect(struct socket *so, struct so len = nam->sa_len - offsetof(struct sockaddr_un, sun_path); if (len <= 0) return (EINVAL); - strlcpy(buf, soun->sun_path, len + 1); + bcopy(soun->sun_path, buf, len); + buf[len] = 0; UNP_PCB_LOCK(unp); if (unp->unp_flags & UNP_CONNECTING) { From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 01:24:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CCB41065670; Thu, 10 Feb 2011 01:24:09 +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 5AA218FC12; Thu, 10 Feb 2011 01:24: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 p1A1O98G004480; Thu, 10 Feb 2011 01:24:09 GMT (envelope-from mlaier@svn.freebsd.org) Received: (from mlaier@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A1O9VY004478; Thu, 10 Feb 2011 01:24:09 GMT (envelope-from mlaier@svn.freebsd.org) Message-Id: <201102100124.p1A1O9VY004478@svn.freebsd.org> From: Max Laier Date: Thu, 10 Feb 2011 01:24:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218503 - head/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 01:24:09 -0000 Author: mlaier Date: Thu Feb 10 01:24:09 2011 New Revision: 218503 URL: http://svn.freebsd.org/changeset/base/218503 Log: As info.rti_info[RTAX_DST] can point inside of rtm we must not free the rtm until rt_dispatch is done with the sockaddr. Found by: memguard MFC after: 3 days Modified: head/sys/net/rtsock.c Modified: head/sys/net/rtsock.c ============================================================================== --- head/sys/net/rtsock.c Thu Feb 10 00:20:56 2011 (r218502) +++ head/sys/net/rtsock.c Thu Feb 10 01:24:09 2011 (r218503) @@ -883,7 +883,6 @@ flush: m = NULL; } else if (m->m_pkthdr.len > rtm->rtm_msglen) m_adj(m, rtm->rtm_msglen - m->m_pkthdr.len); - Free(rtm); } if (m) { if (rp) { @@ -898,6 +897,9 @@ flush: } else rt_dispatch(m, info.rti_info[RTAX_DST]); } + /* info.rti_info[RTAX_DST] (used above) can point inside of rtm */ + if (rtm) + Free(rtm); } return (error); #undef sa_equal From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 04:53:09 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CFC91065670; Thu, 10 Feb 2011 04:53:09 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6CEAF8FC0C; Thu, 10 Feb 2011 04:53: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 p1A4r9Rd009501; Thu, 10 Feb 2011 04:53:09 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A4r9gH009498; Thu, 10 Feb 2011 04:53:09 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102100453.p1A4r9gH009498@svn.freebsd.org> From: Warner Losh Date: Thu, 10 Feb 2011 04:53:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218505 - head/lib/libdevinfo X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 04:53:09 -0000 Author: imp Date: Thu Feb 10 04:53:09 2011 New Revision: 218505 URL: http://svn.freebsd.org/changeset/base/218505 Log: sys/rman.h now requires sys/types.h. Include it to make the API match the man page again. Submitted by: Raphael Kubo da Costa MFC after: 2 weeks Modified: head/lib/libdevinfo/devinfo.h head/lib/libdevinfo/devinfo_var.h Modified: head/lib/libdevinfo/devinfo.h ============================================================================== --- head/lib/libdevinfo/devinfo.h Thu Feb 10 02:48:27 2011 (r218504) +++ head/lib/libdevinfo/devinfo.h Thu Feb 10 04:53:09 2011 (r218505) @@ -31,7 +31,7 @@ #define _DEVINFO_H_INCLUDED #include -#include +#include #include typedef __uintptr_t devinfo_handle_t; Modified: head/lib/libdevinfo/devinfo_var.h ============================================================================== --- head/lib/libdevinfo/devinfo_var.h Thu Feb 10 02:48:27 2011 (r218504) +++ head/lib/libdevinfo/devinfo_var.h Thu Feb 10 04:53:09 2011 (r218505) @@ -27,6 +27,7 @@ * $FreeBSD$ */ +#include #include #include From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 04:55:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BE9E106564A; Thu, 10 Feb 2011 04:55:51 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7C1328FC0A; Thu, 10 Feb 2011 04:55:51 +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 p1A4tpJ4009671; Thu, 10 Feb 2011 04:55:51 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A4tpQg009669; Thu, 10 Feb 2011 04:55:51 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102100455.p1A4tpQg009669@svn.freebsd.org> From: Warner Losh Date: Thu, 10 Feb 2011 04:55:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218506 - 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: Thu, 10 Feb 2011 04:55:51 -0000 Author: imp Date: Thu Feb 10 04:55:51 2011 New Revision: 218506 URL: http://svn.freebsd.org/changeset/base/218506 Log: Document requirement that sys/types.h be included before rman.h. Submitted by: Raphael Kubo da Costa MFC after: 2 weeks Modified: head/share/man/man9/rman.9 Modified: head/share/man/man9/rman.9 ============================================================================== --- head/share/man/man9/rman.9 Thu Feb 10 04:53:09 2011 (r218505) +++ head/share/man/man9/rman.9 Thu Feb 10 04:55:51 2011 (r218506) @@ -55,6 +55,7 @@ .Nm rman_get_rid .Nd resource management functions .Sh SYNOPSIS +.In sys/types.h .In sys/rman.h .Ft int .Fn rman_activate_resource "struct resource *r" From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 05:33:41 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E088106564A; Thu, 10 Feb 2011 05:33:41 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E2698FC15; Thu, 10 Feb 2011 05:33:41 +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 p1A5XeTx010640; Thu, 10 Feb 2011 05:33:40 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A5Xe6P010639; Thu, 10 Feb 2011 05:33:40 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201102100533.p1A5Xe6P010639@svn.freebsd.org> From: Kevin Lo Date: Thu, 10 Feb 2011 05:33: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: r218507 - head/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 05:33:41 -0000 Author: kevlo Date: Thu Feb 10 05:33:40 2011 New Revision: 218507 URL: http://svn.freebsd.org/changeset/base/218507 Log: Add tmpfs(5) to NOTES Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Thu Feb 10 04:55:51 2011 (r218506) +++ head/sys/conf/NOTES Thu Feb 10 05:33:40 2011 (r218507) @@ -963,7 +963,6 @@ options DUMMYNET # zero_copy(9) for more details. options ZERO_COPY_SOCKETS - ##################################################################### # FILESYSTEM OPTIONS @@ -1010,6 +1009,7 @@ options PROCFS #Process filesystem (r options PSEUDOFS #Pseudo-filesystem framework options PSEUDOFS_TRACE #Debugging support for PSEUDOFS options SMBFS #SMB/CIFS filesystem +options TMPFS #Efficient memory filesystem options UDF #Universal Disk Format options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 07:37:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92116106566C; Thu, 10 Feb 2011 07:37:29 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 812DD8FC13; Thu, 10 Feb 2011 07:37: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 p1A7bT3R013582; Thu, 10 Feb 2011 07:37:29 GMT (envelope-from das@svn.freebsd.org) Received: (from das@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A7bTvV013580; Thu, 10 Feb 2011 07:37:29 GMT (envelope-from das@svn.freebsd.org) Message-Id: <201102100737.p1A7bTvV013580@svn.freebsd.org> From: David Schultz Date: Thu, 10 Feb 2011 07:37: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: r218508 - head/lib/msun/src X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 07:37:29 -0000 Author: das Date: Thu Feb 10 07:37:29 2011 New Revision: 218508 URL: http://svn.freebsd.org/changeset/base/218508 Log: Fix a bogus threshold that was copied from the double precision version. This commit should have no effect on correctness; it merely changes the threshold at which a simpler approximation can be used. Reviewed by: bde Modified: head/lib/msun/src/e_expf.c Modified: head/lib/msun/src/e_expf.c ============================================================================== --- head/lib/msun/src/e_expf.c Thu Feb 10 05:33:40 2011 (r218507) +++ head/lib/msun/src/e_expf.c Thu Feb 10 07:37:29 2011 (r218508) @@ -72,7 +72,7 @@ __ieee754_expf(float x) /* default IEEE } x = hi - lo; } - else if(hx < 0x31800000) { /* when |x|<2**-28 */ + else if(hx < 0x39000000) { /* when |x|<2**-14 */ if(huge+x>one) return one+x;/* trigger inexact */ } else k = 0; From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 07:37:50 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C1E3106564A; Thu, 10 Feb 2011 07:37:50 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 60B4C8FC0A; Thu, 10 Feb 2011 07:37:50 +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 p1A7boUb013630; Thu, 10 Feb 2011 07:37:50 GMT (envelope-from das@svn.freebsd.org) Received: (from das@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A7bo6j013624; Thu, 10 Feb 2011 07:37:50 GMT (envelope-from das@svn.freebsd.org) Message-Id: <201102100737.p1A7bo6j013624@svn.freebsd.org> From: David Schultz Date: Thu, 10 Feb 2011 07:37:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218509 - head/lib/msun/src X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 07:37:50 -0000 Author: das Date: Thu Feb 10 07:37:50 2011 New Revision: 218509 URL: http://svn.freebsd.org/changeset/base/218509 Log: For small arguments, these functions use simple approximations, e.g. cos(small) = 1, sin(small) = small. This commit tightens the thresholds at which the simple approximations are used. Reviewed by: bde Modified: head/lib/msun/src/e_asin.c head/lib/msun/src/s_atan.c head/lib/msun/src/s_cos.c head/lib/msun/src/s_sin.c head/lib/msun/src/s_tan.c Modified: head/lib/msun/src/e_asin.c ============================================================================== --- head/lib/msun/src/e_asin.c Thu Feb 10 07:37:29 2011 (r218508) +++ head/lib/msun/src/e_asin.c Thu Feb 10 07:37:50 2011 (r218509) @@ -82,7 +82,7 @@ __ieee754_asin(double x) return x*pio2_hi+x*pio2_lo; return (x-x)/(x-x); /* asin(|x|>1) is NaN */ } else if (ix<0x3fe00000) { /* |x|<0.5 */ - if(ix<0x3e400000) { /* if |x| < 2**-27 */ + if(ix<0x3e500000) { /* if |x| < 2**-26 */ if(huge+x>one) return x;/* return x with inexact if x!=0*/ } t = x*x; Modified: head/lib/msun/src/s_atan.c ============================================================================== --- head/lib/msun/src/s_atan.c Thu Feb 10 07:37:29 2011 (r218508) +++ head/lib/msun/src/s_atan.c Thu Feb 10 07:37:50 2011 (r218509) @@ -87,7 +87,7 @@ atan(double x) if(hx>0) return atanhi[3]+*(volatile double *)&atanlo[3]; else return -atanhi[3]-*(volatile double *)&atanlo[3]; } if (ix < 0x3fdc0000) { /* |x| < 0.4375 */ - if (ix < 0x3e200000) { /* |x| < 2^-29 */ + if (ix < 0x3e400000) { /* |x| < 2^-27 */ if(huge+x>one) return x; /* raise inexact */ } id = -1; Modified: head/lib/msun/src/s_cos.c ============================================================================== --- head/lib/msun/src/s_cos.c Thu Feb 10 07:37:29 2011 (r218508) +++ head/lib/msun/src/s_cos.c Thu Feb 10 07:37:50 2011 (r218509) @@ -63,7 +63,7 @@ cos(double x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; if(ix <= 0x3fe921fb) { - if(ix<0x3e400000) /* if x < 2**-27 */ + if(ix<0x3e46a09e) /* if x < 2**-27 * sqrt(2) */ if(((int)x)==0) return 1.0; /* generate inexact */ return __kernel_cos(x,z); } Modified: head/lib/msun/src/s_sin.c ============================================================================== --- head/lib/msun/src/s_sin.c Thu Feb 10 07:37:29 2011 (r218508) +++ head/lib/msun/src/s_sin.c Thu Feb 10 07:37:50 2011 (r218509) @@ -63,7 +63,7 @@ sin(double x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; if(ix <= 0x3fe921fb) { - if(ix<0x3e400000) /* |x| < 2**-27 */ + if(ix<0x3e500000) /* |x| < 2**-26 */ {if((int)x==0) return x;} /* generate inexact */ return __kernel_sin(x,z,0); } Modified: head/lib/msun/src/s_tan.c ============================================================================== --- head/lib/msun/src/s_tan.c Thu Feb 10 07:37:29 2011 (r218508) +++ head/lib/msun/src/s_tan.c Thu Feb 10 07:37:50 2011 (r218509) @@ -62,7 +62,7 @@ tan(double x) /* |x| ~< pi/4 */ ix &= 0x7fffffff; if(ix <= 0x3fe921fb) { - if(ix<0x3e300000) /* x < 2**-28 */ + if(ix<0x3e400000) /* x < 2**-27 */ if((int)x==0) return x; /* generate inexact */ return __kernel_tan(x,z,1); } From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 07:38:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73C051065702; Thu, 10 Feb 2011 07:38:13 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6310D8FC0A; Thu, 10 Feb 2011 07:38:13 +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 p1A7cD35013678; Thu, 10 Feb 2011 07:38:13 GMT (envelope-from das@svn.freebsd.org) Received: (from das@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A7cDlE013676; Thu, 10 Feb 2011 07:38:13 GMT (envelope-from das@svn.freebsd.org) Message-Id: <201102100738.p1A7cDlE013676@svn.freebsd.org> From: David Schultz Date: Thu, 10 Feb 2011 07:38:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218510 - head/lib/msun/src X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 07:38:13 -0000 Author: das Date: Thu Feb 10 07:38:13 2011 New Revision: 218510 URL: http://svn.freebsd.org/changeset/base/218510 Log: Fix a bug where the wrong argument was passed to INSERT_WORDS(). This bug results in a type mismatch that happens to be harmless because of the way INSERT_WORDS() works. Submitted by: bde Modified: head/lib/msun/src/s_nexttoward.c Modified: head/lib/msun/src/s_nexttoward.c ============================================================================== --- head/lib/msun/src/s_nexttoward.c Thu Feb 10 07:37:50 2011 (r218509) +++ head/lib/msun/src/s_nexttoward.c Thu Feb 10 07:38:13 2011 (r218510) @@ -63,8 +63,8 @@ nexttoward(double x, long double y) if(ix<0x00100000) { /* underflow */ t = x*x; if(t!=x) { /* raise underflow flag */ - INSERT_WORDS(y,hx,lx); - return y; + INSERT_WORDS(x,hx,lx); + return x; } } INSERT_WORDS(x,hx,lx); From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 07:38:39 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 513A41065696; Thu, 10 Feb 2011 07:38:39 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4081A8FC0A; Thu, 10 Feb 2011 07:38: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 p1A7cd7k013720; Thu, 10 Feb 2011 07:38:39 GMT (envelope-from das@svn.freebsd.org) Received: (from das@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A7cdO1013718; Thu, 10 Feb 2011 07:38:39 GMT (envelope-from das@svn.freebsd.org) Message-Id: <201102100738.p1A7cdO1013718@svn.freebsd.org> From: David Schultz Date: Thu, 10 Feb 2011 07:38:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218511 - head/lib/msun/src X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 07:38:39 -0000 Author: das Date: Thu Feb 10 07:38:38 2011 New Revision: 218511 URL: http://svn.freebsd.org/changeset/base/218511 Log: Fix a bug where the wrong argument was passed to SET_FLOAT_WORD(). This bug results in a type mismatch that happens to be harmless because of the way SET_FLOAT_WORD() works. Submitted by: bde Modified: head/lib/msun/src/s_nexttowardf.c Modified: head/lib/msun/src/s_nexttowardf.c ============================================================================== --- head/lib/msun/src/s_nexttowardf.c Thu Feb 10 07:38:13 2011 (r218510) +++ head/lib/msun/src/s_nexttowardf.c Thu Feb 10 07:38:38 2011 (r218511) @@ -50,8 +50,8 @@ nexttowardf(float x, long double y) if(ix<0x00800000) { /* underflow */ t = x*x; if(t!=x) { /* raise underflow flag */ - SET_FLOAT_WORD(y,hx); - return y; + SET_FLOAT_WORD(x,hx); + return x; } } SET_FLOAT_WORD(x,hx); From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 08:06:56 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD709106564A; Thu, 10 Feb 2011 08:06:56 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9BCDD8FC14; Thu, 10 Feb 2011 08:06: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 p1A86uRO014493; Thu, 10 Feb 2011 08:06:56 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1A86u9L014491; Thu, 10 Feb 2011 08:06:56 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201102100806.p1A86u9L014491@svn.freebsd.org> From: Alexander Leidinger Date: Thu, 10 Feb 2011 08:06: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: r218513 - head/sys/ufs/ufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 08:06:56 -0000 Author: netchild Date: Thu Feb 10 08:06:56 2011 New Revision: 218513 URL: http://svn.freebsd.org/changeset/base/218513 Log: Wrap long line. Noticed by: bz Modified: head/sys/ufs/ufs/ufs_vnops.c Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Thu Feb 10 07:56:55 2011 (r218512) +++ head/sys/ufs/ufs/ufs_vnops.c Thu Feb 10 08:06:56 2011 (r218513) @@ -91,7 +91,8 @@ FEATURE(ufs_quota64, "64bit UFS disk quo #endif #ifdef SUIDDIR -FEATURE(suiddir, "Give all new files in directory the same ownership as the directory"); +FEATURE(suiddir, + "Give all new files in directory the same ownership as the directory"); #endif From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 13:50:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 335D5106566B; Thu, 10 Feb 2011 13:50:07 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id DAF878FC1B; Thu, 10 Feb 2011 13:50:06 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 40F4741C6FC; Thu, 10 Feb 2011 14:50:06 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id 6n4pK8CFg-CY; Thu, 10 Feb 2011 14:50:05 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id 863C341C6EA; Thu, 10 Feb 2011 14:50:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 4C0E94448F3; Thu, 10 Feb 2011 13:45:36 +0000 (UTC) Date: Thu, 10 Feb 2011 13:45:36 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Warner Losh In-Reply-To: <201101311517.p0VFHl9F028038@svn.freebsd.org> Message-ID: <20110210134108.D80258@maildrop.int.zabbadoz.net> References: <201101311517.p0VFHl9F028038@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218130 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 13:50:07 -0000 On Mon, 31 Jan 2011, Warner Losh wrote: > Author: imp > Date: Mon Jan 31 15:17:47 2011 > New Revision: 218130 > URL: http://svn.freebsd.org/changeset/base/218130 > > Log: > Move the architecture guessing from Makefile.inc1 to Makefile. We > need to do this because variables specified on the command line > override those specified in the Makefile. This is why we also moved > from TARGET to _TARGET in Makefile, and then set TARGET on the command > line when we fork a submake with Makefile.inc1. > > This makes mips/mips work again, even without the workaround committed to > lib/libc/Makefile. > > Modified: > head/Makefile > head/Makefile.inc1 Hey, not sure if it's a result of this commit or one of the many others: env MAKEOBJDIRPREFIX=/path/to/obj make -f Makefile.inc1 hierarchy \ -DWITHOUT_TOOLCHAIN \ __MAKE_CONF=/path/to/make.conf SRCCONF=/path/to/src.conf \ DESTDIR=/path/to/destdir \ TARGET=i386 results in: "/path/to/base9-201102092305/Makefile.inc1", line 127: Unknown target :i386. This used to work before. TARGET_ARCH is unset, TARGET=i386 thus they differ and thus the check there tries to find "/i386" rather than just "i386". Is it a rather unsupported thing or what's the proper way to fix it? As a workaround I was also setting TARGET_ARCH=i386 for the moment. /bz -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 14:46:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7430106566B; Thu, 10 Feb 2011 14:46:37 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C6A0F8FC08; Thu, 10 Feb 2011 14:46:37 +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 p1AEkbNa025236; Thu, 10 Feb 2011 14:46:37 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1AEkbCm025234; Thu, 10 Feb 2011 14:46:37 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201102101446.p1AEkbCm025234@svn.freebsd.org> From: Michael Tuexen Date: Thu, 10 Feb 2011 14:46:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218521 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 14:46:37 -0000 Author: tuexen Date: Thu Feb 10 14:46:37 2011 New Revision: 218521 URL: http://svn.freebsd.org/changeset/base/218521 Log: Remove addresses from endpoint when there are no associations. This fixes a bug reported by brucec@. MFC after: 3 months. Modified: head/sys/netinet/sctp_asconf.c Modified: head/sys/netinet/sctp_asconf.c ============================================================================== --- head/sys/netinet/sctp_asconf.c Thu Feb 10 14:29:34 2011 (r218520) +++ head/sys/netinet/sctp_asconf.c Thu Feb 10 14:46:37 2011 (r218521) @@ -3104,6 +3104,7 @@ sctp_addr_mgmt_ep_sa(struct sctp_inpcb * uint32_t type, uint32_t vrf_id, struct sctp_ifa *sctp_ifap) { struct sctp_ifa *ifa; + struct sctp_laddr *laddr, *nladdr; if (sa->sa_len == 0) { SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_ASCONF, EINVAL); @@ -3124,8 +3125,6 @@ sctp_addr_mgmt_ep_sa(struct sctp_inpcb * if (type == SCTP_ADD_IP_ADDRESS) { sctp_add_local_addr_ep(inp, ifa, type); } else if (type == SCTP_DEL_IP_ADDRESS) { - struct sctp_laddr *laddr; - if (inp->laddr_count < 2) { /* can't delete the last local address */ SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_ASCONF, EINVAL); @@ -3139,11 +3138,19 @@ sctp_addr_mgmt_ep_sa(struct sctp_inpcb * } } } - if (!LIST_EMPTY(&inp->sctp_asoc_list)) { + if (LIST_EMPTY(&inp->sctp_asoc_list)) { /* * There is no need to start the iterator if the inp * has no associations. */ + if (type == SCTP_DEL_IP_ADDRESS) { + LIST_FOREACH_SAFE(laddr, &inp->sctp_addr_list, sctp_nxt_addr, nladdr) { + if (laddr->ifa == ifa) { + sctp_del_local_addr_ep(inp, ifa); + } + } + } + } else { struct sctp_asconf_iterator *asc; struct sctp_laddr *wi; From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 15:41:35 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1DA7106566B; Thu, 10 Feb 2011 15:41:35 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 38DD28FC1F; Thu, 10 Feb 2011 15:41: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 p1AFfXlJ026611; Thu, 10 Feb 2011 15:41:33 GMT (envelope-from jpaetzel@svn.freebsd.org) Received: (from jpaetzel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1AFfXVo026609; Thu, 10 Feb 2011 15:41:33 GMT (envelope-from jpaetzel@svn.freebsd.org) Message-Id: <201102101541.p1AFfXVo026609@svn.freebsd.org> From: Josh Paetzel Date: Thu, 10 Feb 2011 15:41: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: r218523 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 15:41:35 -0000 Author: jpaetzel Date: Thu Feb 10 15:41:32 2011 New Revision: 218523 URL: http://svn.freebsd.org/changeset/base/218523 Log: Netgear renamed the WG311 to the WG311v1 after they released a second version of it. There is also a WG311v3 which uses a chipset covered by malo(4). Along the way add the WG311T to the list which is also an atheros chipset. PR: docs/154589 Approved by: kib (mentor) MFC after: 3 days Modified: head/share/man/man4/ath_hal.4 Modified: head/share/man/man4/ath_hal.4 ============================================================================== --- head/share/man/man4/ath_hal.4 Thu Feb 10 15:07:17 2011 (r218522) +++ head/share/man/man4/ath_hal.4 Thu Feb 10 15:41:32 2011 (r218523) @@ -109,7 +109,9 @@ module: .It "Netgear WAG311 AR5212 PCI a/b/g" .It "Netgear WAB501 AR5211 CardBus a/b" .It "Netgear WAG511 AR5212 CardBus a/b/g" -.It "Netgear WG311 AR5212 PCI b/g" +.It "Netgear WG311 (aka WG311v1) AR5212 PCI b/g" +.It "Netgear WG311v2 AR5212 PCI b/g" +.It "Netgear WG311T AR5212 PCI b/g" .It "Netgear WG511T AR5212 CardBus b/g" .It "Orinoco 8480 AR5212 CardBus a/b/g" .It "Orinoco 8470WD AR5212 CardBus a/b/g" From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 16:13:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F19A106566B; Thu, 10 Feb 2011 16:13:34 +0000 (UTC) (envelope-from dchagin@dchagin.static.corbina.ru) Received: from contrabass.post.ru (contrabass.post.ru [85.21.78.5]) by mx1.freebsd.org (Postfix) with ESMTP id E7DED8FC0C; Thu, 10 Feb 2011 16:13:33 +0000 (UTC) Received: from corbina.ru (mail.post.ru [195.14.50.16]) by contrabass.post.ru (Postfix) with ESMTP id EEB95CA1BF; Thu, 10 Feb 2011 19:13:30 +0300 (MSK) X-Virus-Scanned: by cgpav Uf39PSi9pFi9oFi9 Received: from [10.208.17.3] (HELO dchagin.static.corbina.ru) by corbina.ru (CommuniGate Pro SMTP 5.1.14) with ESMTPS id 299894795; Thu, 10 Feb 2011 19:13:30 +0300 Received: from dchagin.static.corbina.ru (localhost [127.0.0.1]) by dchagin.static.corbina.ru (8.14.4/8.14.4) with ESMTP id p1AGDUS0029287; Thu, 10 Feb 2011 19:13:30 +0300 (MSK) (envelope-from dchagin@dchagin.static.corbina.ru) Received: (from dchagin@localhost) by dchagin.static.corbina.ru (8.14.4/8.14.4/Submit) id p1AGDPCM029286; Thu, 10 Feb 2011 19:13:25 +0300 (MSK) (envelope-from dchagin) Date: Thu, 10 Feb 2011 19:13:25 +0300 From: Chagin Dmitry To: Rui Paulo Message-ID: <20110210161325.GA29246@dchagin.static.corbina.ru> References: <201008250910.o7P9AWsv005437@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="MGYHOYXEY6WxJCY8" Content-Disposition: inline In-Reply-To: <201008250910.o7P9AWsv005437@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r211804 - in head/sys: amd64/amd64 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: Thu, 10 Feb 2011 16:13:34 -0000 --MGYHOYXEY6WxJCY8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Aug 25, 2010 at 09:10:32AM +0000, Rui Paulo wrote: > Author: rpaulo > Date: Wed Aug 25 09:10:32 2010 > New Revision: 211804 > URL: http://svn.freebsd.org/changeset/base/211804 >=20 > Log: > Call the necessary DTrace function pointers when we have different kinds > of traps. > =20 > Sponsored by: The FreeBSD Foundation >=20 > Modified: > head/sys/amd64/amd64/trap.c > head/sys/i386/i386/trap.c >=20 > Modified: head/sys/amd64/amd64/trap.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/amd64/amd64/trap.c Wed Aug 25 08:49:21 2010 (r211803) > +++ head/sys/amd64/amd64/trap.c Wed Aug 25 09:10:32 2010 (r211804) > @@ -109,6 +109,13 @@ dtrace_doubletrap_func_t dtrace_doubletr > * implementation opaque.=20 > */ > systrace_probe_func_t systrace_probe_func; > + > +/* > + * These hooks are necessary for the pid, usdt and fasttrap providers. > + */ > +dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr; > +dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr; > +dtrace_return_probe_ptr_t dtrace_return_probe_ptr; > #endif > =20 > extern void trap(struct trapframe *frame); > @@ -239,6 +246,55 @@ trap(struct trapframe *frame) > if (dtrace_trap_func !=3D NULL) > if ((*dtrace_trap_func)(frame, type)) > goto out; > + if (type =3D=3D T_DTRACE_PROBE || type =3D=3D T_DTRACE_RET || > + type =3D=3D T_BPTFLT) { > + struct reg regs; > + > + regs.r_r15 =3D frame->tf_r15; > + regs.r_r14 =3D frame->tf_r14; > + regs.r_r13 =3D frame->tf_r13; > + regs.r_r12 =3D frame->tf_r12; > + regs.r_r11 =3D frame->tf_r11; > + regs.r_r10 =3D frame->tf_r10; > + regs.r_r9 =3D frame->tf_r9; > + regs.r_r8 =3D frame->tf_r8; > + regs.r_rdi =3D frame->tf_rdi; > + regs.r_rsi =3D frame->tf_rsi; > + regs.r_rbp =3D frame->tf_rbp; > + regs.r_rbx =3D frame->tf_rbx; > + regs.r_rdx =3D frame->tf_rdx; > + regs.r_rcx =3D frame->tf_rcx; > + regs.r_rax =3D frame->tf_rax; > + regs.r_rip =3D frame->tf_rip; > + regs.r_cs =3D frame->tf_cs; > + regs.r_rflags =3D frame->tf_rflags; > + regs.r_rsp =3D frame->tf_rsp; > + regs.r_ss =3D frame->tf_ss; > + if (frame->tf_flags & TF_HASSEGS) { > + regs.r_ds =3D frame->tf_ds; > + regs.r_es =3D frame->tf_es; > + regs.r_fs =3D frame->tf_fs; > + regs.r_gs =3D frame->tf_gs; > + } else { > + regs.r_ds =3D 0; > + regs.r_es =3D 0; > + regs.r_fs =3D 0; > + regs.r_gs =3D 0; hi, maybe use fill_regs() would more appropriate here? --=20 Have fun! chd --MGYHOYXEY6WxJCY8 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAk1UDqQACgkQ0t2Tb3OO/O16swCgvH/nvHHS8kVZPJudogpdRzZf DQkAn3i3QDJpVNs3CB3+r7/TOVqCRlIX =o0c/ -----END PGP SIGNATURE----- --MGYHOYXEY6WxJCY8-- From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 16:21:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07D62106566B; Thu, 10 Feb 2011 16:21:08 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 7EDCC8FC0A; Thu, 10 Feb 2011 16:21:07 +0000 (UTC) Received: by vws9 with SMTP id 9so981585vws.13 for ; Thu, 10 Feb 2011 08:21:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=h7hiMKnIbvyfC/Rgtl4mfUWu+j6oOqyseh2oPezkiU0=; b=om60QhdP6CkvZYNqDDKbfeonLzlrbKvQ3sm0Q0fP+m+7EWUrMxiQt/jBKoJPKOC1+4 Yrd3c7lUlElc7/cMQTFgmKuCzrsUxuhdSkVpZ+DrJN5bNdFeMg7OCwqUnnHHYBiey02u 0PacT9EwtQWPEVC5ZpTYXRUchaxqSimR1NFdM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=AU/BYe5jXlByXVI4wfVZG3YXTGAAwIjD4b9OG9c9Pp5r9iH2YaLYkn0giOE/MeMizA nFNyutU20ztg5dxnUAEiHv1S4MqvfVPeHkmXliJVk5rTiGhapVXvDxHdgDX6jpi4L0Fw 9h9qqwmY5mpN+3BJHS/6S4Encwx5m9BQl2pEA= MIME-Version: 1.0 Received: by 10.220.192.74 with SMTP id dp10mr5536924vcb.156.1297354865515; Thu, 10 Feb 2011 08:21:05 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.220.198.203 with HTTP; Thu, 10 Feb 2011 08:21:05 -0800 (PST) In-Reply-To: <20110210134108.D80258@maildrop.int.zabbadoz.net> References: <201101311517.p0VFHl9F028038@svn.freebsd.org> <20110210134108.D80258@maildrop.int.zabbadoz.net> Date: Fri, 11 Feb 2011 00:21:05 +0800 X-Google-Sender-Auth: BGP83Wxtd1aM8qbWvvdvfvj8Yk0 Message-ID: From: Adrian Chadd To: "Bjoern A. Zeeb" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Warner Losh Subject: Re: svn commit: r218130 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 16:21:08 -0000 So when I run this: adrian@ref8-amd64:/scratch/tmp/adrian/head/src$ env BUILD_FLAGS=3D"NOCLEAN=3D1 NO_CLEAN=3D1" ../../build/build-scripts/bin/buil= d rspro buildworld MAKEOBJDIRPREFIX: /scratch/tmp/adrian/head/src/../obj/mipseb/ env=3DMAKEOBJDIRPREFIX=3D/scratch/tmp/adrian/head/src/../obj/mipseb/ make NOCLEAN=3D1 NO_CLEAN=3D1 TARGET=3Dmips TARGET_ARCH=3Dmipseb TARGET_CPUTYPE=3Dmips32 KERNCONF=3DRSPRO_STANDALONE DESTDIR=3D/scratch/tmp/adrian/head/src/../root/mipseb LOCAL_DIRS=3Dtools/tools/ath buildworld I get this: =3D=3D=3D> usr.bin/rpcgen (obj,depend,all,install) sh /scratch/tmp/adrian/head/src/tools/install.sh -s -o root -g wheel -m 555 rpcgen /scratch/tmp/adrian/head/src/../obj/mipseb//mips.mipseb/scratch/tmp/adrian/= head/src/tmp/legacy/usr/bin =3D=3D=3D> usr.bin/sed (obj,depend,all,install) make: don't know how to make /scratch/tmp/adrian/head/obj-i386/i386.i386/scratch/tmp/adrian/head/src/tmp= /usr/include/sys/cdefs.h. Stop *** Error code 2 Stop in /scratch/tmp/adrian/head/src. *** Error code 1 Stop in /scratch/tmp/adrian/head/src. *** Error code 1 Stop in /scratch/tmp/adrian/head/src. Adrian On 10 February 2011 21:45, Bjoern A. Zeeb wrote: > On Mon, 31 Jan 2011, Warner Losh wrote: > >> Author: imp >> Date: Mon Jan 31 15:17:47 2011 >> New Revision: 218130 >> URL: http://svn.freebsd.org/changeset/base/218130 >> >> Log: >> =A0Move the architecture guessing from Makefile.inc1 to Makefile. =A0We >> =A0need to do this because variables specified on the command line >> =A0override those specified in the Makefile. =A0This is why we also move= d >> =A0from TARGET to _TARGET in Makefile, and then set TARGET on the comman= d >> =A0line when we fork a submake with Makefile.inc1. >> >> =A0This makes mips/mips work again, even without the workaround committe= d to >> =A0lib/libc/Makefile. >> >> Modified: >> =A0head/Makefile >> =A0head/Makefile.inc1 > > Hey, > > not sure if it's a result of this commit or one of the many others: > > env MAKEOBJDIRPREFIX=3D/path/to/obj make -f Makefile.inc1 hierarchy \ > =A0 =A0 =A0 =A0-DWITHOUT_TOOLCHAIN \ > =A0 =A0 =A0 =A0__MAKE_CONF=3D/path/to/make.conf SRCCONF=3D/path/to/src.co= nf \ > =A0 =A0 =A0 =A0DESTDIR=3D/path/to/destdir \ > =A0 =A0 =A0 =A0TARGET=3Di386 > > results in: > > "/path/to/base9-201102092305/Makefile.inc1", line 127: Unknown target :i3= 86. > > This used to work before. TARGET_ARCH is unset, TARGET=3Di386 thus > they differ and thus the check there tries to find "/i386" rather than > just "i386". > > Is it a rather unsupported thing or what's the proper way to fix it? > As a workaround I was also setting TARGET_ARCH=3Di386 for the moment. > > /bz > > -- > Bjoern A. Zeeb =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 You have to have visions! > =A0 =A0 =A0 =A0 Stop bit received. Insert coin for new address family. > From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 16:57:13 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 463591065674; Thu, 10 Feb 2011 16:57:13 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 030F68FC13; Thu, 10 Feb 2011 16:57:12 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id p1AGoTJB013890; Thu, 10 Feb 2011 09:50:30 -0700 (MST) (envelope-from imp@bsdimp.com) Message-ID: <4D541755.7010602@bsdimp.com> Date: Thu, 10 Feb 2011 09:50:29 -0700 From: Warner Losh User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.13) Gecko/20101211 Thunderbird/3.1.7 MIME-Version: 1.0 To: "Bjoern A. Zeeb" References: <201101311517.p0VFHl9F028038@svn.freebsd.org> <20110210134108.D80258@maildrop.int.zabbadoz.net> In-Reply-To: <20110210134108.D80258@maildrop.int.zabbadoz.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Warner Losh Subject: Re: svn commit: r218130 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 16:57:13 -0000 On 02/10/2011 06:45, Bjoern A. Zeeb wrote: > On Mon, 31 Jan 2011, Warner Losh wrote: > >> Author: imp >> Date: Mon Jan 31 15:17:47 2011 >> New Revision: 218130 >> URL: http://svn.freebsd.org/changeset/base/218130 >> >> Log: >> Move the architecture guessing from Makefile.inc1 to Makefile. We >> need to do this because variables specified on the command line >> override those specified in the Makefile. This is why we also moved >> from TARGET to _TARGET in Makefile, and then set TARGET on the command >> line when we fork a submake with Makefile.inc1. >> >> This makes mips/mips work again, even without the workaround >> committed to >> lib/libc/Makefile. >> >> Modified: >> head/Makefile >> head/Makefile.inc1 > > Hey, > > not sure if it's a result of this commit or one of the many others: > > env MAKEOBJDIRPREFIX=/path/to/obj make -f Makefile.inc1 hierarchy \ > -DWITHOUT_TOOLCHAIN \ > __MAKE_CONF=/path/to/make.conf SRCCONF=/path/to/src.conf \ > DESTDIR=/path/to/destdir \ > TARGET=i386 > > results in: > > "/path/to/base9-201102092305/Makefile.inc1", line 127: Unknown target > :i386. > > This used to work before. TARGET_ARCH is unset, TARGET=i386 thus > they differ and thus the check there tries to find "/i386" rather than > just "i386". > > Is it a rather unsupported thing or what's the proper way to fix it? > As a workaround I was also setting TARGET_ARCH=i386 for the moment. Calling Makefile.inc1 directly isn't supported. Instead, you should use the hierarchy target that's in Makefile directly. If you want to call Makefile.inc1 for some reason, you'll need to pass it both TARGET and TARGET_ARCH. I can turn it into an error to not pass both, but setting one based on the other not being set has a lot of holes in it. Warner From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 17:20:06 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBF7B1065673; Thu, 10 Feb 2011 17:20:06 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id 6DD858FC12; Thu, 10 Feb 2011 17:20:06 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id C7BC441C7AE; Thu, 10 Feb 2011 18:20:05 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id FUtyws+JqTVM; Thu, 10 Feb 2011 18:20:05 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id 5267C41C7AC; Thu, 10 Feb 2011 18:20:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 3A9624448F3; Thu, 10 Feb 2011 17:17:06 +0000 (UTC) Date: Thu, 10 Feb 2011 17:17:06 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Warner Losh In-Reply-To: <4D541755.7010602@bsdimp.com> Message-ID: <20110210171622.K80258@maildrop.int.zabbadoz.net> References: <201101311517.p0VFHl9F028038@svn.freebsd.org> <20110210134108.D80258@maildrop.int.zabbadoz.net> <4D541755.7010602@bsdimp.com> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r218130 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 17:20:07 -0000 On Thu, 10 Feb 2011, Warner Losh wrote: > On 02/10/2011 06:45, Bjoern A. Zeeb wrote: >> On Mon, 31 Jan 2011, Warner Losh wrote: >> >>> Author: imp >>> Date: Mon Jan 31 15:17:47 2011 >>> New Revision: 218130 >>> URL: http://svn.freebsd.org/changeset/base/218130 >>> >>> Log: >>> Move the architecture guessing from Makefile.inc1 to Makefile. We >>> need to do this because variables specified on the command line >>> override those specified in the Makefile. This is why we also moved >>> from TARGET to _TARGET in Makefile, and then set TARGET on the command >>> line when we fork a submake with Makefile.inc1. >>> >>> This makes mips/mips work again, even without the workaround committed to >>> lib/libc/Makefile. >>> >>> Modified: >>> head/Makefile >>> head/Makefile.inc1 >> >> Hey, >> >> not sure if it's a result of this commit or one of the many others: >> >> env MAKEOBJDIRPREFIX=/path/to/obj make -f Makefile.inc1 hierarchy \ >> -DWITHOUT_TOOLCHAIN \ >> __MAKE_CONF=/path/to/make.conf SRCCONF=/path/to/src.conf \ >> DESTDIR=/path/to/destdir \ >> TARGET=i386 >> >> results in: >> >> "/path/to/base9-201102092305/Makefile.inc1", line 127: Unknown target >> :i386. >> >> This used to work before. TARGET_ARCH is unset, TARGET=i386 thus >> they differ and thus the check there tries to find "/i386" rather than >> just "i386". >> >> Is it a rather unsupported thing or what's the proper way to fix it? >> As a workaround I was also setting TARGET_ARCH=i386 for the moment. > > Calling Makefile.inc1 directly isn't supported. Instead, you should use the > hierarchy target that's in Makefile directly. If you want to call > Makefile.inc1 for some reason, you'll need to pass it both TARGET and > TARGET_ARCH. I can turn it into an error to not pass both, but setting one > based on the other not being set has a lot of holes in it. Not sure for how long that code I had;-) An assert always seems to be a good idea to document expectiation. I am all for that. -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 18:54:52 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D33D71065670; Thu, 10 Feb 2011 18:54:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C14A28FC13; Thu, 10 Feb 2011 18:54:52 +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 p1AIsqfO031481; Thu, 10 Feb 2011 18:54:52 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1AIsqo8031478; Thu, 10 Feb 2011 18:54:52 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201102101854.p1AIsqo8031478@svn.freebsd.org> From: John Baldwin Date: Thu, 10 Feb 2011 18:54:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218524 - in head: . share/man/man7 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 18:54:52 -0000 Author: jhb Date: Thu Feb 10 18:54:52 2011 New Revision: 218524 URL: http://svn.freebsd.org/changeset/base/218524 Log: - Add a new UNIVERSE_TARGET variable for 'make universe'. If it is set, then that target is invoked for each architecture rather than the default action of building world and kernels for each architecture. - Add a 'make toolchains' wrapper which uses UNIVERSE_TARGET to build toolchains for all architectures. - Document JFLAG, MAKE_JUST_KERNELS, and MAKE_JUST_WORLDS variables for 'make universe'. Reviewed by: bz MFC after: 1 week Modified: head/Makefile head/share/man/man7/build.7 Modified: head/Makefile ============================================================================== --- head/Makefile Thu Feb 10 15:41:32 2011 (r218523) +++ head/Makefile Thu Feb 10 18:54:52 2011 (r218524) @@ -30,6 +30,7 @@ # delete-old-libs - Delete obsolete libraries. # targets - Print a list of supported TARGET/TARGET_ARCH pairs # for world and kernel targets. +# toolchains - Build a toolchain for all world and kernel targets. # # This makefile is simple by design. The FreeBSD make automatically reads # the /usr/share/mk/sys.mk unless the -m argument is specified on the @@ -307,8 +308,10 @@ make: .PHONY ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR= tinderbox: - @cd ${.CURDIR} && \ - DOING_TINDERBOX=YES ${MAKE} JFLAG=${JFLAG} universe + @cd ${.CURDIR} && ${MAKE} DOING_TINDERBOX=YES universe + +toolchains: + @cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe # # universe @@ -328,6 +331,12 @@ TARGET_ARCHES_sun4v?= sparc64 TARGET_ARCHES_${target}?= ${target} .endfor +.if defined(UNIVERSE_TARGET) +MAKE_JUST_WORLDS= YES +.else +UNIVERSE_TARGET?= buildworld +.endif + targets: @echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets" .for target in ${TARGETS} @@ -361,16 +370,16 @@ universe_${target}_prologue: .for target_arch in ${TARGET_ARCHES_${target}} universe_${target}: universe_${target}_${target_arch} universe_${target}_${target_arch}: universe_${target}_prologue - @echo ">> ${target}.${target_arch} buildworld started on `LC_ALL=C date`" + @echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C date`" @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ - ${MAKE} ${JFLAG} buildworld \ + ${MAKE} ${JFLAG} ${UNIVERSE_TARGET} \ TARGET=${target} \ TARGET_ARCH=${target_arch} \ - > _.${target}.${target_arch}.buildworld 2>&1 || \ - (echo "${target}.${target_arch} world failed," \ - "check _.${target}.${target_arch}.buildworld for details" | \ + > _.${target}.${target_arch}.${UNIVERSE_TARGET} 2>&1 || \ + (echo "${target}.${target_arch} ${UNIVERSE_TARGET} failed," \ + "check _.${target}.${target_arch}.${UNIVERSE_TARGET} for details" | \ ${MAKEFAIL})) - @echo ">> ${target}.${target_arch} buildworld completed on `LC_ALL=C date`" + @echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} completed on `LC_ALL=C date`" .endfor .endif .if !defined(MAKE_JUST_WORLDS) Modified: head/share/man/man7/build.7 ============================================================================== --- head/share/man/man7/build.7 Thu Feb 10 15:41:32 2011 (r218523) +++ head/share/man/man7/build.7 Thu Feb 10 18:54:52 2011 (r218524) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 25, 2011 +.Dd February 10, 2011 .Dt BUILD 7 .Os .Sh NAME @@ -218,13 +218,14 @@ on how to make it start at boot time. Create the build toolchain needed to build the rest of the system. For cross-architecture builds, this step creates a cross-toolchain. .It Cm universe -Execute a +For each architecture, +execute a .Cm buildworld -and +followed by a .Cm buildkernel -for all kernels including -.Pa LINT , -for each architecture supported by the build system. +for all kernels for that architecture, +including +.Pa LINT . This command takes a long time. .It Cm update Get updated sources as configured in @@ -240,6 +241,8 @@ Execute the same targets as .Cm universe . In addition print a summary of all failed targets at the end and exit with an error if there were any. +.It Cm toolchains +Create a build toolchain for each architecture supported by the build system. .El .Pp Kernel specific build targets in @@ -508,6 +511,29 @@ If set, restricts the documentation buil specified as its content. The default action is to build documentation for all languages. .El +.Pp +Builds using the +.Cm universe +target are influenced by the following +.Xr make 1 +variables: +.Bl -tag -width ".Va MAKE_JUST_KERNELS" +.It Va JFLAG +Pass the value of this variable to each +.Xr make 1 +invocation used to build worlds and kernels. +This can be used to enable multiple jobs within a single architecture's build +while still building each architecture serially. +.It Va MAKE_JUST_KERNELS +Only build kernels for each supported architecture. +.It Va MAKE_JUST_WORLDS +Only build worlds for each supported architecture. +.It Va UNIVERSE_TARGET +Execute the specified +.Xr make 1 +target for each supported architecture instead of the default action of +building a world and one or more kernels. +.El .Sh FILES .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact .It Pa /usr/doc/Makefile From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 19:06:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A1E0106564A; Thu, 10 Feb 2011 19:06:57 +0000 (UTC) (envelope-from rpaulo@me.com) Received: from asmtpout020.mac.com (asmtpout020.mac.com [17.148.16.95]) by mx1.freebsd.org (Postfix) with ESMTP id 3BFF78FC1B; Thu, 10 Feb 2011 19:06:57 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from rui-macbook-pro.apple.com (unknown [17.193.13.39]) by asmtp020.mac.com (Oracle Communications Messaging Exchange Server 7u4-20.01 64bit (built Nov 21 2010)) with ESMTPSA id <0LGE002GDYAUEC60@asmtp020.mac.com>; Thu, 10 Feb 2011 10:06:30 -0800 (PST) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.2.15,1.0.148,0.0.0000 definitions=2011-02-10_06:2011-02-10, 2011-02-10, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=6.0.2-1012030000 definitions=main-1102100101 From: Rui Paulo In-reply-to: <20110210161325.GA29246@dchagin.static.corbina.ru> Date: Thu, 10 Feb 2011 10:06:29 -0800 Message-id: References: <201008250910.o7P9AWsv005437@svn.freebsd.org> <20110210161325.GA29246@dchagin.static.corbina.ru> To: Chagin Dmitry X-Mailer: Apple Mail (2.1082.1) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Rui Paulo Subject: Re: svn commit: r211804 - in head/sys: amd64/amd64 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: Thu, 10 Feb 2011 19:06:57 -0000 On Feb 10, 2011, at 8:13 AM, Chagin Dmitry wrote: > On Wed, Aug 25, 2010 at 09:10:32AM +0000, Rui Paulo wrote: >> Author: rpaulo >> Date: Wed Aug 25 09:10:32 2010 >> New Revision: 211804 >> URL: http://svn.freebsd.org/changeset/base/211804 >> >> Log: >> Call the necessary DTrace function pointers when we have different kinds >> of traps. >> >> Sponsored by: The FreeBSD Foundation >> >> Modified: >> head/sys/amd64/amd64/trap.c >> head/sys/i386/i386/trap.c >> >> Modified: head/sys/amd64/amd64/trap.c >> ============================================================================== >> --- head/sys/amd64/amd64/trap.c Wed Aug 25 08:49:21 2010 (r211803) >> +++ head/sys/amd64/amd64/trap.c Wed Aug 25 09:10:32 2010 (r211804) >> @@ -109,6 +109,13 @@ dtrace_doubletrap_func_t dtrace_doubletr >> * implementation opaque. >> */ >> systrace_probe_func_t systrace_probe_func; >> + >> +/* >> + * These hooks are necessary for the pid, usdt and fasttrap providers. >> + */ >> +dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr; >> +dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr; >> +dtrace_return_probe_ptr_t dtrace_return_probe_ptr; >> #endif >> >> extern void trap(struct trapframe *frame); >> @@ -239,6 +246,55 @@ trap(struct trapframe *frame) >> if (dtrace_trap_func != NULL) >> if ((*dtrace_trap_func)(frame, type)) >> goto out; >> + if (type == T_DTRACE_PROBE || type == T_DTRACE_RET || >> + type == T_BPTFLT) { >> + struct reg regs; >> + >> + regs.r_r15 = frame->tf_r15; >> + regs.r_r14 = frame->tf_r14; >> + regs.r_r13 = frame->tf_r13; >> + regs.r_r12 = frame->tf_r12; >> + regs.r_r11 = frame->tf_r11; >> + regs.r_r10 = frame->tf_r10; >> + regs.r_r9 = frame->tf_r9; >> + regs.r_r8 = frame->tf_r8; >> + regs.r_rdi = frame->tf_rdi; >> + regs.r_rsi = frame->tf_rsi; >> + regs.r_rbp = frame->tf_rbp; >> + regs.r_rbx = frame->tf_rbx; >> + regs.r_rdx = frame->tf_rdx; >> + regs.r_rcx = frame->tf_rcx; >> + regs.r_rax = frame->tf_rax; >> + regs.r_rip = frame->tf_rip; >> + regs.r_cs = frame->tf_cs; >> + regs.r_rflags = frame->tf_rflags; >> + regs.r_rsp = frame->tf_rsp; >> + regs.r_ss = frame->tf_ss; >> + if (frame->tf_flags & TF_HASSEGS) { >> + regs.r_ds = frame->tf_ds; >> + regs.r_es = frame->tf_es; >> + regs.r_fs = frame->tf_fs; >> + regs.r_gs = frame->tf_gs; >> + } else { >> + regs.r_ds = 0; >> + regs.r_es = 0; >> + regs.r_fs = 0; >> + regs.r_gs = 0; > > > hi, maybe use fill_regs() would more appropriate here? No, fill_regs() takes a thread as an argument. I all I had was a frame. Regards, -- Rui Paulo From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 19:13:54 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BEDE10656C5; Thu, 10 Feb 2011 19:13:54 +0000 (UTC) (envelope-from keramida@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4AA7F8FC16; Thu, 10 Feb 2011 19:13: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 p1AJDsR2032010; Thu, 10 Feb 2011 19:13:54 GMT (envelope-from keramida@svn.freebsd.org) Received: (from keramida@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1AJDsYj032008; Thu, 10 Feb 2011 19:13:54 GMT (envelope-from keramida@svn.freebsd.org) Message-Id: <201102101913.p1AJDsYj032008@svn.freebsd.org> From: Giorgos Keramidas Date: Thu, 10 Feb 2011 19:13: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: r218525 - head/share/mk X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 19:13:54 -0000 Author: keramida (doc committer) Date: Thu Feb 10 19:13:54 2011 New Revision: 218525 URL: http://svn.freebsd.org/changeset/base/218525 Log: Add LIBEXECDIR to the bsd.own.mk vars, pointing to /usr/libexec by default Some of the patches we are preparing for porting ATF from NetBSD refer to '/usr/libexec' several times. Instead of repeating the path all over the place, add ${LIBEXECDIR} to match ${LIBDATADIR} and reduce the redundancy of the relevant makefiles. Submitted by: Garrett Cooper Approved by: ru MFC after: 1 month Modified: head/share/mk/bsd.own.mk Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Thu Feb 10 18:54:52 2011 (r218524) +++ head/share/mk/bsd.own.mk Thu Feb 10 19:13:54 2011 (r218525) @@ -30,6 +30,8 @@ # # LIBDATADIR Base path for misc. utility data files. [/usr/libdata] # +# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] +# # LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] # # SHLIBDIR Base path for shared libraries. [${LIBDIR}] @@ -129,6 +131,7 @@ KMODMODE?= ${BINMODE} LIBDIR?= /usr/lib LIBCOMPATDIR?= /usr/lib/compat LIBDATADIR?= /usr/libdata +LIBEXECDIR?= /usr/libexec LINTLIBDIR?= /usr/libdata/lint SHLIBDIR?= ${LIBDIR} LIBOWN?= ${BINOWN} From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 19:18:48 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5E2C106566B; Thu, 10 Feb 2011 19:18:48 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 755598FC1C; Thu, 10 Feb 2011 19:18:48 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id p1AJFqWx015997; Thu, 10 Feb 2011 12:15:53 -0700 (MST) (envelope-from imp@bsdimp.com) Message-ID: <4D543968.9090502@bsdimp.com> Date: Thu, 10 Feb 2011 12:15:52 -0700 From: Warner Losh User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.13) Gecko/20101211 Thunderbird/3.1.7 MIME-Version: 1.0 To: Adrian Chadd References: <201101311517.p0VFHl9F028038@svn.freebsd.org> <20110210134108.D80258@maildrop.int.zabbadoz.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, "Bjoern A. Zeeb" , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Warner Losh Subject: Re: svn commit: r218130 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 19:18:49 -0000 Can you send me build-scripts? Warner On 02/10/2011 09:21, Adrian Chadd wrote: > So when I run this: > > adrian@ref8-amd64:/scratch/tmp/adrian/head/src$ env > BUILD_FLAGS="NOCLEAN=1 NO_CLEAN=1" ../../build/build-scripts/bin/build > rspro buildworld > MAKEOBJDIRPREFIX: /scratch/tmp/adrian/head/src/../obj/mipseb/ > env=MAKEOBJDIRPREFIX=/scratch/tmp/adrian/head/src/../obj/mipseb/ make > NOCLEAN=1 NO_CLEAN=1 TARGET=mips TARGET_ARCH=mipseb > TARGET_CPUTYPE=mips32 KERNCONF=RSPRO_STANDALONE > DESTDIR=/scratch/tmp/adrian/head/src/../root/mipseb > LOCAL_DIRS=tools/tools/ath buildworld > > > I get this: > ===> usr.bin/rpcgen (obj,depend,all,install) > sh /scratch/tmp/adrian/head/src/tools/install.sh -s -o root -g wheel > -m 555 rpcgen > /scratch/tmp/adrian/head/src/../obj/mipseb//mips.mipseb/scratch/tmp/adrian/head/src/tmp/legacy/usr/bin > ===> usr.bin/sed (obj,depend,all,install) > make: don't know how to make > /scratch/tmp/adrian/head/obj-i386/i386.i386/scratch/tmp/adrian/head/src/tmp/usr/include/sys/cdefs.h. > Stop > *** Error code 2 > > Stop in /scratch/tmp/adrian/head/src. > *** Error code 1 > > Stop in /scratch/tmp/adrian/head/src. > *** Error code 1 > > Stop in /scratch/tmp/adrian/head/src. > > > > Adrian > > > On 10 February 2011 21:45, Bjoern A. Zeeb > wrote: >> On Mon, 31 Jan 2011, Warner Losh wrote: >> >>> Author: imp >>> Date: Mon Jan 31 15:17:47 2011 >>> New Revision: 218130 >>> URL: http://svn.freebsd.org/changeset/base/218130 >>> >>> Log: >>> Move the architecture guessing from Makefile.inc1 to Makefile. We >>> need to do this because variables specified on the command line >>> override those specified in the Makefile. This is why we also moved >>> from TARGET to _TARGET in Makefile, and then set TARGET on the command >>> line when we fork a submake with Makefile.inc1. >>> >>> This makes mips/mips work again, even without the workaround committed to >>> lib/libc/Makefile. >>> >>> Modified: >>> head/Makefile >>> head/Makefile.inc1 >> Hey, >> >> not sure if it's a result of this commit or one of the many others: >> >> env MAKEOBJDIRPREFIX=/path/to/obj make -f Makefile.inc1 hierarchy \ >> -DWITHOUT_TOOLCHAIN \ >> __MAKE_CONF=/path/to/make.conf SRCCONF=/path/to/src.conf \ >> DESTDIR=/path/to/destdir \ >> TARGET=i386 >> >> results in: >> >> "/path/to/base9-201102092305/Makefile.inc1", line 127: Unknown target :i386. >> >> This used to work before. TARGET_ARCH is unset, TARGET=i386 thus >> they differ and thus the check there tries to find "/i386" rather than >> just "i386". >> >> Is it a rather unsupported thing or what's the proper way to fix it? >> As a workaround I was also setting TARGET_ARCH=i386 for the moment. >> >> /bz >> >> -- >> Bjoern A. Zeeb You have to have visions! >> Stop bit received. Insert coin for new address family. >> > > From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 19:58:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 979751065672; Thu, 10 Feb 2011 19:58:21 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7D3D28FC33; Thu, 10 Feb 2011 19:58: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 p1AJwL8S033061; Thu, 10 Feb 2011 19:58:21 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1AJwLCq033059; Thu, 10 Feb 2011 19:58:21 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102101958.p1AJwLCq033059@svn.freebsd.org> From: Warner Losh Date: Thu, 10 Feb 2011 19:58:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218526 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 19:58:21 -0000 Author: imp Date: Thu Feb 10 19:58:21 2011 New Revision: 218526 URL: http://svn.freebsd.org/changeset/base/218526 Log: You are now *REQUIRED* to pass both TARGET and TARGET_ARCH to any invocations of Makefile.inc1 (since that's supposed to be an internal interface for world and related targets). Document this with a .error message. For a transition period, support passing in just TARGET, but give a .warning for that case: I plan on removing it in 9.0... Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Feb 10 19:13:54 2011 (r218525) +++ head/Makefile.inc1 Thu Feb 10 19:58:21 2011 (r218526) @@ -28,6 +28,17 @@ # /usr/share/mk. These include: # obj depend all install clean cleandepend cleanobj +# You are supposed to define both of these when calling Makefile.inc1 +# directly. However, some old scripts don't. Cope for the moment, but +# issue a new warning for a transition period. +.if defined(TARGET) && !defined(TARGET_ARCH) +.warning "You must pass both TARGET and TARGET_ARCH to Makefile.inc1. Setting TARGET_ARCH=${TARGET}." +TARGET_ARCH=${TARGET} +.endif +.if !defined(TARGET) || !defined(TARGET_ARCH) +.error "Both TARGET and TARGET_ARCH must be defined." +.endif + .include .include From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 22:36:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1C92106566C; Thu, 10 Feb 2011 22:36:23 +0000 (UTC) (envelope-from davidch@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 90A3B8FC0C; Thu, 10 Feb 2011 22:36:23 +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 p1AMaNJ2036888; Thu, 10 Feb 2011 22:36:23 GMT (envelope-from davidch@svn.freebsd.org) Received: (from davidch@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1AMaNL9036885; Thu, 10 Feb 2011 22:36:23 GMT (envelope-from davidch@svn.freebsd.org) Message-Id: <201102102236.p1AMaNL9036885@svn.freebsd.org> From: David Christensen Date: Thu, 10 Feb 2011 22:36:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218527 - head/sys/dev/bce X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 22:36:23 -0000 Author: davidch Date: Thu Feb 10 22:36:23 2011 New Revision: 218527 URL: http://svn.freebsd.org/changeset/base/218527 Log: - Added error checking to nvram read functions. - Minor style updates. Submitted by: gcooper@freebsd.org MFC after: 2 weeks Modified: head/sys/dev/bce/if_bce.c head/sys/dev/bce/if_bcereg.h Modified: head/sys/dev/bce/if_bce.c ============================================================================== --- head/sys/dev/bce/if_bce.c Thu Feb 10 19:58:21 2011 (r218526) +++ head/sys/dev/bce/if_bce.c Thu Feb 10 22:36:23 2011 (r218527) @@ -89,12 +89,6 @@ __FBSDID("$FreeBSD$"); #endif /****************************************************************************/ -/* BCE Build Time Options */ -/****************************************************************************/ -/* #define BCE_NVRAM_WRITE_SUPPORT 1 */ - - -/****************************************************************************/ /* PCI Device ID Table */ /* */ /* Used by bce_probe() to identify the devices supported by this driver. */ @@ -339,9 +333,9 @@ static int bce_miibus_write_reg (device static void bce_miibus_statchg (device_t); #ifdef BCE_DEBUG -static int sysctl_nvram_dump(SYSCTL_HANDLER_ARGS); +static int bce_sysctl_nvram_dump(SYSCTL_HANDLER_ARGS); #ifdef BCE_NVRAM_WRITE_SUPPORT -static int sysctl_nvram_write(SYSCTL_HANDLER_ARGS); +static int bce_sysctl_nvram_write(SYSCTL_HANDLER_ARGS); #endif #endif @@ -2884,9 +2878,9 @@ bce_nvram_write(struct bce_softc *sc, u3 goto bce_nvram_write_exit; bce_nvram_write_locked_exit: - bce_disable_nvram_write(sc); - bce_disable_nvram_access(sc); - bce_release_nvram_lock(sc); + bce_disable_nvram_write(sc); + bce_disable_nvram_access(sc); + bce_release_nvram_lock(sc); bce_nvram_write_exit: if (align_start || align_end) @@ -2931,7 +2925,7 @@ bce_nvram_test(struct bce_softc *sc) * Verify that offset 0 of the NVRAM contains * a valid magic number. */ - magic = bce_be32toh(buf[0]); + magic = bce_be32toh(buf[0]); if (magic != BCE_NVRAM_MAGIC) { rc = ENODEV; BCE_PRINTF("%s(%d): Invalid NVRAM magic value! " @@ -8266,7 +8260,6 @@ bce_tick_exit: return; } - #ifdef BCE_DEBUG /****************************************************************************/ /* Allows the driver state to be dumped through the sysctl interface. */ @@ -8631,7 +8624,8 @@ bce_sysctl_nvram_read(SYSCTL_HANDLER_ARG if (error || (req->newptr == NULL)) return (error); - bce_nvram_read(sc, result, data, 4); + error = bce_nvram_read(sc, result, data, 4); + BCE_PRINTF("offset 0x%08X = 0x%08X\n", result, bce_be32toh(val[0])); return (error); @@ -8701,50 +8695,62 @@ bce_sysctl_phy_read(SYSCTL_HANDLER_ARGS) } +/****************************************************************************/ +/* Provides a sysctl interface for dumping the nvram contents. */ +/* DO NOT ENABLE ON PRODUCTION SYSTEMS! */ +/* */ +/* Returns: */ +/* 0 for success, positive errno for failure. */ +/****************************************************************************/ static int -sysctl_nvram_dump(SYSCTL_HANDLER_ARGS) +bce_sysctl_nvram_dump(SYSCTL_HANDLER_ARGS) { struct bce_softc *sc = (struct bce_softc *)arg1; int error, i; - if (sc->nvram_buf == NULL) { + if (sc->nvram_buf == NULL) sc->nvram_buf = malloc(sc->bce_flash_size, - M_TEMP, M_ZERO | M_WAITOK); - } - if (sc->nvram_buf == NULL) { - return(ENOMEM); - } + M_TEMP, M_ZERO | M_WAITOK); + + error = 0; if (req->oldlen == sc->bce_flash_size) { - for (i = 0; i < sc->bce_flash_size; i++) { - bce_nvram_read(sc, i, &sc->nvram_buf[i], 1); - } + for (i = 0; i < sc->bce_flash_size && error == 0; i++) + error = bce_nvram_read(sc, i, &sc->nvram_buf[i], 1); } - error = SYSCTL_OUT(req, sc->nvram_buf, sc->bce_flash_size); + if (error == 0) + error = SYSCTL_OUT(req, sc->nvram_buf, sc->bce_flash_size); return error; } #ifdef BCE_NVRAM_WRITE_SUPPORT +/****************************************************************************/ +/* Provides a sysctl interface for writing to nvram. */ +/* DO NOT ENABLE ON PRODUCTION SYSTEMS! */ +/* */ +/* Returns: */ +/* 0 for success, positive errno for failure. */ +/****************************************************************************/ static int -sysctl_nvram_write(SYSCTL_HANDLER_ARGS) +bce_sysctl_nvram_write(SYSCTL_HANDLER_ARGS) { struct bce_softc *sc = (struct bce_softc *)arg1; int error; - if (sc->nvram_buf == NULL) { + if (sc->nvram_buf == NULL) sc->nvram_buf = malloc(sc->bce_flash_size, - M_TEMP, M_ZERO | M_WAITOK); - } - if (sc->nvram_buf == NULL) { - return(ENOMEM); - } - bzero(sc->nvram_buf, sc->bce_flash_size); + M_TEMP, M_ZERO | M_WAITOK); + else + bzero(sc->nvram_buf, sc->bce_flash_size); + error = SYSCTL_IN(req, sc->nvram_buf, sc->bce_flash_size); + if (error == 0) + return (error); - if (req->newlen == sc->bce_flash_size) { - bce_nvram_write(sc, 0, sc->nvram_buf , sc->bce_flash_size); - } + if (req->newlen == sc->bce_flash_size) + error = bce_nvram_write(sc, 0, sc->nvram_buf, + sc->bce_flash_size); return error; @@ -8779,7 +8785,7 @@ bce_sysctl_dump_ctx(SYSCTL_HANDLER_ARGS) } - /****************************************************************************/ +/****************************************************************************/ /* Provides a sysctl interface to forcing the driver to dump state and */ /* enter the debugger. DO NOT ENABLE ON PRODUCTION SYSTEMS! */ /* */ @@ -8808,7 +8814,6 @@ bce_sysctl_breakpoint(SYSCTL_HANDLER_ARG } #endif - /****************************************************************************/ /* Adds any sysctl parameters for tuning or debugging purposes. */ /* */ @@ -8992,13 +8997,13 @@ bce_add_sysctls(struct bce_softc *sc) SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "nvram_dump", CTLTYPE_OPAQUE | CTLFLAG_RD, (void *)sc, 0, - sysctl_nvram_dump, "S", ""); + bce_sysctl_nvram_dump, "S", ""); #ifdef BCE_NVRAM_WRITE_SUPPORT SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "nvram_write", CTLTYPE_OPAQUE | CTLFLAG_WR, (void *)sc, 0, - sysctl_nvram_write, "S", ""); + bce_sysctl_nvram_write, "S", ""); #endif #endif /* BCE_DEBUG */ Modified: head/sys/dev/bce/if_bcereg.h ============================================================================== --- head/sys/dev/bce/if_bcereg.h Thu Feb 10 19:58:21 2011 (r218526) +++ head/sys/dev/bce/if_bcereg.h Thu Feb 10 22:36:23 2011 (r218527) @@ -6789,11 +6789,12 @@ struct bce_softc /* Number of split header frames received. */ u64 split_header_frames_rcvd; - /* Number of split header TCP frames received. */ + /* Number of split header TCP frames received. */ u64 split_header_tcp_frames_rcvd; -#endif /* BCE_DEBUG */ - uint8_t *nvram_buf; + /* Buffer with NVRAM contents for the NIC. */ + u8 *nvram_buf; +#endif /* BCE_DEBUG */ }; #endif /* __BCEREG_H_DEFINED */ From owner-svn-src-all@FreeBSD.ORG Thu Feb 10 23:36:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 311DF106564A; Thu, 10 Feb 2011 23:36:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 06C2E8FC13; Thu, 10 Feb 2011 23:36: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 p1ANadfu038310; Thu, 10 Feb 2011 23:36:39 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1ANad4k038308; Thu, 10 Feb 2011 23:36:39 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102102336.p1ANad4k038308@svn.freebsd.org> From: Warner Losh Date: Thu, 10 Feb 2011 23:36:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218528 - head/tools/tools/nanobsd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 23:36:40 -0000 Author: imp Date: Thu Feb 10 23:36:39 2011 New Revision: 218528 URL: http://svn.freebsd.org/changeset/base/218528 Log: Add 'generic' flash images. This is for projects producing generic images that are of a certain size. The geometery is bogus, but that doesn't matter since the new packet mode onviates the need to get the geometry right. Modified: head/tools/tools/nanobsd/FlashDevice.sub Modified: head/tools/tools/nanobsd/FlashDevice.sub ============================================================================== --- head/tools/tools/nanobsd/FlashDevice.sub Thu Feb 10 22:36:23 2011 (r218527) +++ head/tools/tools/nanobsd/FlashDevice.sub Thu Feb 10 23:36:39 2011 (r218528) @@ -203,10 +203,52 @@ sub_FlashDevice () { ;; esac ;; + # Generic flash media. It assumes that we're booting using packet + # mode so the HEADS and SECTS don't matter. The truncation of the + # size to a slightly lower number is intentional to be conservative + # (eg, 1 sector smaller than N GB is always smaller than any flash + # claiming to be N GB, but wastes a little space sometimes when 1GB + # really means 1GiB). This is intended to be used when producing + # generic images for anybody to boot. Media sizes are specified 'Xg' + # for X GB (10^9 bytes) flash or Xm for X MB (10^6 bytes) flash. + # Power of 2 variants can be specified with gi or mi for GiB and MiB + # sizeed flash and don't try to be conservative (use with caution). + generic) + case $a2 in + *.*) # Catch unsupported 1.5g case, since expr can't + # cope with floats. + echo "Unsupported generic size $a2" + exit 2 + ;; + *m) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%m} \* 1000000 / 512` + ;; + *g) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%g} \* 1000000000 / 512` + ;; + *mi) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%mi} \* 1024 \* 1024 / 512` + ;; + *gi) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%gi} \* 1024 \* 1024 \* 1024 / 512` + ;; + *) + echo "Unsupported generic size $a2" + exit 2 + ;; + esac + ;; *) echo "Unknown Flash manufacturer" exit 2 ;; esac } - From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 00:41:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0BEA106564A; Fri, 11 Feb 2011 00:41:49 +0000 (UTC) (envelope-from davidch@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8E1098FC0A; Fri, 11 Feb 2011 00:41: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 p1B0fngR039780; Fri, 11 Feb 2011 00:41:49 GMT (envelope-from davidch@svn.freebsd.org) Received: (from davidch@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B0fnW3039778; Fri, 11 Feb 2011 00:41:49 GMT (envelope-from davidch@svn.freebsd.org) Message-Id: <201102110041.p1B0fnW3039778@svn.freebsd.org> From: David Christensen Date: Fri, 11 Feb 2011 00:41:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218529 - head/sys/dev/bce X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 00:41:49 -0000 Author: davidch Date: Fri Feb 11 00:41:49 2011 New Revision: 218529 URL: http://svn.freebsd.org/changeset/base/218529 Log: - Updated firmware which improves small packet performance. MFC after: 2 weeks Modified: head/sys/dev/bce/if_bcefw.h Modified: head/sys/dev/bce/if_bcefw.h ============================================================================== --- head/sys/dev/bce/if_bcefw.h Thu Feb 10 23:36:39 2011 (r218528) +++ head/sys/dev/bce/if_bcefw.h Fri Feb 11 00:41:49 2011 (r218529) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006-2010 Broadcom Corporation + * Copyright (c) 2006-2011 Broadcom Corporation * David Christensen . All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,1310 +31,1254 @@ /* * This file contains firmware data derived from proprietary unpublished - * source code, Copyright (c) 2004, 2005, 2007, 2008 Broadcom Corporation. + * source code, Copyright (c) 2004-2011 Broadcom Corporation. * * Permission is hereby granted for the distribution of this firmware data - * in hexadecimal or equivalent format, provided this copyright notice is - * accompanying it. + * in hexadecimal or equivalent format, provided this copyright notice also + * accompanies it. */ -/* Firmware release 4.6.17 for BCM5706 and BCM5708 (b06). */ -/* Firmware release 4.6.16 for BCM5709 and BCM5716 (b09). */ -int bce_COM_b06FwReleaseMajor = 0x1; -int bce_COM_b06FwReleaseMinor = 0x0; -int bce_COM_b06FwReleaseFix = 0x0; -u32 bce_COM_b06FwStartAddr = 0x080000f8; -u32 bce_COM_b06FwTextAddr = 0x08000000; -int bce_COM_b06FwTextLen = 0x4df0; -u32 bce_COM_b06FwDataAddr = 0x00000000; -int bce_COM_b06FwDataLen = 0x0; -u32 bce_COM_b06FwRodataAddr = 0x08004df0; -int bce_COM_b06FwRodataLen = 0x14; -u32 bce_COM_b06FwBssAddr = 0x08004e58; -int bce_COM_b06FwBssLen = 0xbc; -u32 bce_COM_b06FwSbssAddr = 0x08004e20; -int bce_COM_b06FwSbssLen = 0x38; -u32 bce_COM_b06FwSDataAddr = 0x00000000; -int bce_COM_b06FwSDataLen = 0x0; -u32 bce_COM_b06FwText[(0x4df0/4) + 1] = { -0xa00003e, 0x0, 0x0, -0xd, 0x636f6d34, 0x2e362e31, 0x37000000, -0x4061102, 0x0, 0x3, 0x14, -0x32, 0x3, 0x0, 0x0, -0x0, 0x0, 0x0, 0x10, -0x136, 0xea60, 0x1, 0x0, -0x0, 0x0, 0x8, 0x0, -0x0, 0x0, 0x0, 0x0, -0x0, 0x0, 0x0, 0x0, -0x0, 0x0, 0x0, 0x2, -0x0, 0x0, 0x0, 0x0, -0x0, 0x0, 0x0, 0x0, -0x0, 0x10, 0x0, 0x0, -0x0, 0x0, 0x0, 0x0, -0x0, 0x0, 0x0, 0x0, -0x0, 0x0, 0x0, 0x0, -0x10000003, 0x0, 0xd, 0xd, -0x3c020800, 0x24424e20, 0x3c030800, 0x24634f14, -0xac400000, 0x43202b, 0x1480fffd, 0x24420004, -0x3c1d0800, 0x37bd7ffc, 0x3a0f021, 0x3c100800, -0x261000f8, 0x3c1c0800, 0x279c4e20, 0xe0002bd, -0x0, 0xd, 0x3c036010, 0x8c645000, -0x2402ff7f, 0x3c1a8000, 0x822024, 0x3484380c, -0x24020037, 0xac645000, 0xaf420008, 0x24020c80, -0xaf420024, 0x3c1b8008, 0x3c060800, 0x24c607e8, -0x3c020800, 0x24424e58, 0x2404001b, 0x2484ffff, -0xac460000, 0x481fffd, 0x24420004, 0x3c020800, -0x24420380, 0x3c010800, 0xac224e60, 0x3c020800, -0x24420680, 0x3c010800, 0xac224e64, 0x3c020800, -0x24420dcc, 0x3c010800, 0xac224ea0, 0x3c020800, -0x24420a5c, 0x3c030800, 0x24630954, 0x3c040800, -0x24840990, 0x3c050800, 0x24a53c70, 0x3c010800, -0xac224ea8, 0x3c020800, 0x24420570, 0x3c010800, -0xac264ea4, 0x3c010800, 0xac254eb4, 0x3c010800, -0xac234ebc, 0x3c010800, 0xac224ec0, 0x3c010800, -0xac244ec4, 0x3c010800, 0xac234e5c, 0x3c010800, -0xac204e68, 0x3c010800, 0xac204e6c, 0x3c010800, -0xac204e70, 0x3c010800, 0xac204e74, 0x3c010800, -0xac204e78, 0x3c010800, 0xac204e7c, 0x3c010800, -0xac204e80, 0x3c010800, 0xac244e84, 0x3c010800, -0xac204e88, 0x3c010800, 0xac204e8c, 0x3c010800, -0xac204e90, 0x3c010800, 0xac204e94, 0x3c010800, -0xac204e98, 0x3c010800, 0xac264e9c, 0x3c010800, -0xac204eac, 0x3c010800, 0xac254eb0, 0x3c010800, -0xac234eb8, 0xa000707, 0x0, 0x3c030800, -0x8c630020, 0x8f820008, 0x10430003, 0x0, -0xa00053f, 0xaf830008, 0x3e00008, 0x0, -0x27bdffe8, 0xafb00010, 0xafbf0014, 0x27500100, -0x92020009, 0x1040001a, 0x24030001, 0x3c020800, -0x8c420020, 0x10400016, 0x1821, 0xe000577, -0x0, 0x96030008, 0x3c060800, 0x94c64ed6, -0x8e040018, 0x8f820020, 0x9605000c, 0x31c00, -0x661825, 0xac440000, 0xac450004, 0x24040001, -0xac400008, 0xac40000c, 0xac400010, 0xac400014, -0xac400018, 0xe00059c, 0xac43001c, 0x1821, -0x8fbf0014, 0x8fb00010, 0x601021, 0x3e00008, -0x27bd0018, 0x27bdffe8, 0xafbf0010, 0x97420108, -0x30437000, 0x24022000, 0x1062000a, 0x28642001, -0x54800012, 0x8fbf0010, 0x24024000, 0x10620008, -0x24026000, 0x1062000a, 0x8fbf0010, 0xa0000fb, -0x1021, 0x8fbf0010, 0xa0000bb, 0x27bd0018, -0xe000409, 0x0, 0xa0000fa, 0x8fbf0010, -0xe000fc9, 0x0, 0x8fbf0010, 0x1021, -0x3e00008, 0x27bd0018, 0x3c020800, 0x8c420020, -0x27bdffe8, 0x10400027, 0xafbf0010, 0xe000577, -0x0, 0x97420108, 0x9743010c, 0x8f850020, -0x3042003e, 0x3063ffff, 0x21400, 0x431025, -0xaca20000, 0x8f420100, 0x3c060800, 0x94c64ed6, -0x8fbf0010, 0xaca20004, 0x97430116, 0x9744010e, -0x3c022000, 0x31c00, 0x3084ffff, 0x641825, -0xaca30008, 0xc23025, 0x97420110, 0x97430112, -0x24040001, 0x21400, 0x3063ffff, 0x431025, -0xaca2000c, 0x97420114, 0x27bd0018, 0x3042ffff, -0xaca20010, 0xaca00014, 0xaca00018, 0xa00059c, -0xaca6001c, 0x8fbf0010, 0x3e00008, 0x27bd0018, -0x3c020800, 0x8c420020, 0x27bdffe8, 0x1040002a, -0xafbf0010, 0xe000577, 0x0, 0x97420108, -0x9743010c, 0x8f850020, 0x3042003e, 0x3063ffff, -0x21400, 0x431025, 0xaca20000, 0x8f420100, -0x3c060800, 0x94c64ed6, 0x8fbf0010, 0xaca20004, -0x97430116, 0x9744010e, 0x3c022000, 0x31c00, -0x3084ffff, 0x641825, 0xaca30008, 0xc23025, -0x97420110, 0x97430112, 0x24040001, 0x21400, -0x3063ffff, 0x431025, 0xaca2000c, 0x97420114, -0x27bd0018, 0x3042ffff, 0xaca20010, 0x8f420118, -0xaca20014, 0x9342010b, 0x304200ff, 0xaca20018, -0xa00059c, 0xaca6001c, 0x8fbf0010, 0x3e00008, -0x27bd0018, 0x27bdffe0, 0xafb00010, 0xafbf0018, -0xafb10014, 0x27500100, 0x9203000b, 0x2402001a, -0x96110008, 0x14620035, 0x2021, 0x32220001, -0x10400009, 0x0, 0x8e020000, 0x96030014, -0x211c2, 0x21040, 0x5a1021, 0xa4430080, -0xa000179, 0x32220002, 0xe00012b, 0x0, -0x3c020800, 0x8c420040, 0x24420001, 0x3c010800, -0xac220040, 0x32220002, 0x2202b, 0x3c020800, -0x8c420044, 0x32230004, 0x24420001, 0x3c010800, -0xac220044, 0x1060001a, 0x8fbf0018, 0x8f4202b8, -0x4410008, 0x24040001, 0x3c020800, 0x8c420060, -0x24420001, 0x3c010800, 0xac220060, 0xa00019c, -0x8fb10014, 0x8e020020, 0x96030016, 0x2021, -0xaf420280, 0x8e020004, 0xa7430284, 0xaf420288, -0x3c021000, 0xaf4202b8, 0x3c020800, 0x8c42005c, -0x24420001, 0x3c010800, 0xac22005c, 0x8fbf0018, -0x8fb10014, 0x8fb00010, 0x801021, 0x3e00008, -0x27bd0020, 0x27bdffe0, 0xafb00010, 0xafbf0018, -0xafb10014, 0x27500100, 0x9203000b, 0x24020003, -0x96110008, 0x14620048, 0x2021, 0x32220001, -0x10400008, 0x0, 0x8e020000, 0x96030014, -0x211c2, 0x21040, 0x5a1021, 0xa0001bb, -0xa4430080, 0xe0000fd, 0x0, 0x3c020800, -0x8c420040, 0x24420001, 0x3c010800, 0xac220040, -0x3c020800, 0x8c420044, 0x32230004, 0x24420001, -0x3c010800, 0xac220044, 0x1060001a, 0x32220002, -0x8f4202b8, 0x4430008, 0x8e020020, 0x3c020800, -0x8c420060, 0x24420001, 0x3c010800, 0xac220060, -0xa0001f1, 0x24040001, 0x96030016, 0x2021, -0xaf420280, 0x8e020004, 0xa7430284, 0xaf420288, -0x3c021000, 0xaf4202b8, 0x3c020800, 0x8c42005c, -0x24420001, 0x3c010800, 0xac22005c, 0xa0001f2, -0x8fbf0018, 0x10400014, 0x2021, 0x8f430104, -0x3c026020, 0xac430014, 0x8c420004, 0x240301fe, -0x304203ff, 0x1443000c, 0x2021, 0x8f420100, -0x219c2, 0x2462fffc, 0x2c420008, 0x10400003, -0x24040002, 0x2462fffd, 0x442004, 0x3c026000, -0xac446914, 0x2021, 0x8fbf0018, 0x8fb10014, -0x8fb00010, 0x801021, 0x3e00008, 0x27bd0020, -0x93620000, 0x3e00008, 0xaf800004, 0x3e00008, -0x1021, 0x27bdffe8, 0xafbf0014, 0xafb00010, -0x8f420100, 0xaf420020, 0x8f420104, 0xaf4200a8, -0x9350010b, 0xe0001f7, 0x321000ff, 0x3c020800, -0x24424e58, 0x101880, 0x2e10001c, 0x16000004, -0x621021, 0xe0001fa, 0xa000212, 0x0, -0x8c420000, 0x40f809, 0x0, 0x10400005, -0x3c024000, 0x8f430104, 0x3c026020, 0xac430014, -0x3c024000, 0xaf420138, 0x3c020800, 0x8c420034, -0x8fbf0014, 0x8fb00010, 0x24420001, 0x3c010800, -0xac220034, 0x3e00008, 0x27bd0018, 0x27bdffe8, -0xafbf0010, 0x8f420140, 0xe0001f7, 0xaf420020, -0xe000393, 0x0, 0x3c024000, 0xaf420178, -0x3c030800, 0x24630038, 0x8c620000, 0x8fbf0010, -0x27bd0018, 0x24420001, 0x3e00008, 0xac620000, -0x27bdffe8, 0xafbf0010, 0x8f420180, 0xe0001f7, -0xaf420020, 0x8f430180, 0x24020f00, 0x14620005, -0x0, 0x8f420188, 0xa742009c, 0xa00024c, -0x3c024000, 0x93620000, 0x24030050, 0x304200ff, -0x14430008, 0x3c024000, 0xe000377, 0x0, -0x14400004, 0x3c024000, 0xe000e55, 0x0, -0x3c024000, 0xaf4201b8, 0x3c020800, 0x8c42003c, -0x8fbf0010, 0x24420001, 0x3c010800, 0xac22003c, -0x3e00008, 0x27bd0018, 0x3e00008, 0x1021, -0x8f430104, 0x8f820010, 0x10430008, 0x0, -0x3c020800, 0x8c420084, 0x24420001, 0x3c010800, -0xac220084, 0x8f420104, 0xaf820010, 0x3e00008, -0x0, 0x27bdffe8, 0xafbf0010, 0x27440100, -0x94820008, 0x30430002, 0x30420004, 0x1040001b, -0x0, 0x8f4202b8, 0x4410008, 0x24050001, -0x3c020800, 0x8c420060, 0x24420001, 0x3c010800, -0xac220060, 0xa000294, 0x8fbf0010, 0x8c820020, -0x94830016, 0x2821, 0xaf420280, 0x8c820004, -0xa7430284, 0xaf420288, 0x3c021000, 0xaf4202b8, -0x3c020800, 0x8c42005c, 0x24420001, 0x3c010800, -0xac22005c, 0xa000294, 0x8fbf0010, 0x10600008, -0x24050001, 0x3c020800, 0x8c420084, 0x24420001, -0x3c010800, 0xac220084, 0xa000294, 0x8fbf0010, -0x8f440100, 0xe000257, 0x0, 0x2821, -0x8fbf0010, 0xa01021, 0x3e00008, 0x27bd0018, -0x3c020800, 0x8c420088, 0x27430100, 0x9465000c, -0x24420001, 0x3c010800, 0xac220088, 0x8c640018, -0x3451021, 0x90454000, 0xaf440038, 0x8c62001c, -0x2403fff8, 0x52e00, 0x431024, 0x34420004, -0xaf42003c, 0x3c020005, 0xaf420030, 0x0, -0x0, 0x0, 0xaf450404, 0x0, -0x0, 0x0, 0x3c020006, 0x34420001, -0xaf420030, 0x0, 0x0, 0x0, -0x8f420000, 0x30420010, 0x1040fffd, 0x1021, -0x3e00008, 0x0, 0x27bdffe0, 0xafbf0018, -0xafb10014, 0xe000055, 0xafb00010, 0x3c028000, -0x34420070, 0x8c420000, 0xaf820014, 0xe0000b2, -0x0, 0x3c028000, 0x34460070, 0x3c030800, -0x8c6300a0, 0x3c020800, 0x8c4200a4, 0x10430004, -0x8f840014, 0x3c010800, 0xac2300a4, 0xa743009e, -0x8cca0000, 0x3c030800, 0x8c6300bc, 0x3c020800, -0x8c4200b8, 0x1442023, 0x641821, 0x4021, -0x64202b, 0x481021, 0x441021, 0x3c010800, -0xac2300bc, 0x3c010800, 0xac2200b8, 0x8f510000, -0x32220007, 0x1040ffe1, 0xaf8a0014, 0x8cc60000, -0x3c050800, 0x8ca500bc, 0x3c040800, 0x8c8400b8, -0xca3023, 0xa62821, 0x1021, 0xa6302b, -0x822021, 0x862021, 0x32270001, 0x3c010800, -0xac2500bc, 0x3c010800, 0xac2400b8, 0x10e00021, -0x32220002, 0x8f420100, 0xaf420020, 0x8f420104, -0xaf4200a8, 0x9342010b, 0xe0001f7, 0x305000ff, -0x2e02001c, 0x54400004, 0x101080, 0xe0001fa, -0xa00030b, 0x0, 0x3c030800, 0x24634e58, -0x431021, 0x8c420000, 0x40f809, 0x0, -0x10400005, 0x3c024000, 0x8f430104, 0x3c026020, -0xac430014, 0x3c024000, 0xaf420138, 0x3c020800, -0x8c420034, 0x24420001, 0x3c010800, 0xac220034, -0x32220002, 0x1040000e, 0x32220004, 0x8f420140, -0xe0001f7, 0xaf420020, 0xe000393, 0x0, -0x3c024000, 0xaf420178, 0x3c020800, 0x8c420038, -0x24420001, 0x3c010800, 0xac220038, 0x32220004, -0x1040ff9b, 0x3c028000, 0x8f420180, 0xe0001f7, -0xaf420020, 0x8f430180, 0x24020f00, 0x14620005, -0x0, 0x8f420188, 0xa742009c, 0xa000340, -0x3c024000, 0x93620000, 0x24030050, 0x304200ff, -0x14430008, 0x3c024000, 0xe000377, 0x0, -0x54400004, 0x3c024000, 0xe000e55, 0x0, -0x3c024000, 0xaf4201b8, 0x3c020800, 0x8c42003c, -0x24420001, 0x3c010800, 0xac22003c, 0xa0002c3, -0x3c028000, 0x3c029000, 0x34420001, 0x822025, -0xaf440020, 0x8f420020, 0x440fffe, 0x0, -0x3e00008, 0x0, 0x3c028000, 0x34420001, -0x822025, 0x3e00008, 0xaf440020, 0x27bdffe0, -0xafb10014, 0xafb00010, 0x808821, 0xafbf0018, -0xe000348, 0x30b000ff, 0x9362007d, 0x2202021, -0x2028025, 0xa370007d, 0x8f700074, 0x3c028000, -0xe000351, 0x2028024, 0x16000009, 0x8fbf0018, -0x8f4201f8, 0x440fffe, 0x24020002, 0xaf5101c0, -0xa34201c4, 0x3c021000, 0xaf4201f8, 0x8fbf0018, -0x8fb10014, 0x8fb00010, 0x3e00008, 0x27bd0020, -0x27bdffd0, 0x1021, 0x3e00008, 0x27bd0030, -0x27bdffe8, 0xafbf0010, 0x97420184, 0x30420200, -0x10400005, 0x2021, 0xe00108c, 0x0, -0xa00038b, 0x24040001, 0x8f420188, 0x4400009, -0x8fbf0010, 0x8f420188, 0x3c03ff00, 0x431024, -0x3c030400, 0x14430003, 0x24040001, 0x9362003e, -0x8fbf0010, 0x801021, 0x3e00008, 0x27bd0018, -0xa3600022, 0x8f440140, 0xa000356, 0x24050001, -0x27bdffe8, 0xafbf0014, 0xafb00010, 0x93620000, -0x24030020, 0x304200ff, 0x1043000b, 0x0, -0x93620000, 0x24030030, 0x304200ff, 0x10430006, -0x0, 0x93620000, 0x24030050, 0x304200ff, -0x14430062, 0x8fbf0014, 0x93420148, 0x304200ff, -0x2443ffff, 0x2c620005, 0x1040005c, 0x8fbf0014, -0x31080, 0x3c030800, 0x24634df0, 0x431021, -0x8c420000, 0x400008, 0x0, 0xe000348, -0x8f440140, 0x8f70000c, 0x8f420144, 0x16020002, -0x24020001, 0xaf62000c, 0xe000351, 0x8f440140, -0x8f420144, 0x14500004, 0x8fbf0014, 0x8fb00010, -0xa001000, 0x27bd0018, 0x8f62000c, 0xa0003ff, -0x0, 0x97620010, 0x8f430144, 0x3042ffff, -0x14620009, 0x0, 0x24020001, 0xa7620010, -0x8f420140, 0xaf420200, 0x3c021000, 0xaf420238, -0xa000406, 0x8fbf0014, 0x97620010, 0xa0003ff, -0x0, 0xe000348, 0x8f440140, 0x97620012, -0x8f430144, 0x3050ffff, 0x16030002, 0x24020001, -0xa7620012, 0xe000351, 0x8f440140, 0x8f420144, -0x16020004, 0x8fbf0014, 0x8fb00010, 0xa00038f, -0x27bd0018, 0x97620012, 0xa0003ff, 0x0, -0x97620014, 0x8f430144, 0x3042ffff, 0x14620006, -0x8fbf0014, 0x24020001, 0x8fb00010, 0xa7620014, -0xa00132c, 0x27bd0018, 0x97620014, 0xa0003ff, -0x0, 0x97620016, 0x8f430144, 0x3042ffff, -0x14620006, 0x24020001, 0x8fbf0014, 0x8fb00010, -0xa7620016, 0xa000bf3, 0x27bd0018, 0x97620016, -0x14400006, 0x8fbf0014, 0x3c020800, 0x8c420070, -0x24420001, 0x3c010800, 0xac220070, 0x8fb00010, -0x3e00008, 0x27bd0018, 0x27bdffe8, 0xafbf0014, -0xafb00010, 0x93430109, 0x2402001f, 0x8f500100, -0x106200a5, 0x28620020, 0x10400018, 0x24020038, -0x2862000a, 0x1040000c, 0x2402000b, 0x28620008, -0x1040002c, 0x0, 0x46000e7, 0x28620002, -0x14400028, 0x24020006, 0x10620026, 0x8fbf0014, -0xa000503, 0x8fb00010, 0x1062005e, 0x2862000b, -0x144000de, 0x8fbf0014, 0x2402000e, 0x10620073, -0x8fb00010, 0xa000503, 0x0, 0x106200c2, -0x28620039, 0x1040000a, 0x24020080, 0x24020036, -0x106200cc, 0x28620037, 0x104000b6, 0x24020035, -0x106200c3, 0x8fbf0014, 0xa000503, 0x8fb00010, -0x1062002b, 0x28620081, 0x10400006, 0x240200c8, -0x24020039, 0x106200b6, 0x8fbf0014, 0xa000503, -0x8fb00010, 0x10620099, 0x8fbf0014, 0xa000503, -0x8fb00010, 0x3c020800, 0x8c420020, 0x104000bb, -0x8fbf0014, 0xe000577, 0x0, 0x8f420100, -0x8f830020, 0x9745010c, 0x97460108, 0xac620000, -0x8f420104, 0x3c040800, 0x94844ed6, 0x52c00, -0xac620004, 0x8f420118, 0x63400, 0xc43025, -0xac620008, 0x8f42011c, 0x24040001, 0xac62000c, -0x9342010a, 0xa22825, 0xac650010, 0xac600014, -0xac600018, 0xac66001c, 0xa0004d7, 0x8fbf0014, -0x3c020800, 0x8c420020, 0x1040009c, 0x8fbf0014, -0xe000577, 0x0, 0x97440108, 0x3c030800, -0x94634ed6, 0x9745010c, 0x42202, 0x9746010e, -0x8f820020, 0x42600, 0x832025, 0x52c00, -0x3c030080, 0xa62825, 0x832025, 0xac400000, -0xac400004, 0xac400008, 0xac40000c, 0xac450010, -0xac400014, 0xac400018, 0xac44001c, 0xa0004d6, -0x24040001, 0x9742010c, 0x14400015, 0x0, -0x93620005, 0x30420010, 0x14400011, 0x0, -0xe000348, 0x2002021, 0x93620005, 0x2002021, -0x34420010, 0xe000351, 0xa3620005, 0x93620000, -0x24030020, 0x304200ff, 0x1043006f, 0x2002021, -0x8fbf0014, 0x8fb00010, 0xa0010a2, 0x27bd0018, -0xd, 0xa000502, 0x8fbf0014, 0x3c020800, -0x8c420020, 0x10400065, 0x8fbf0014, 0xe000577, -0x0, 0x8f420104, 0x8f830020, 0x9744010c, -0x3c050800, 0x94a54ed6, 0xac620000, 0x9762002c, -0x42400, 0x3042ffff, 0x822025, 0x3c02400e, -0xa22825, 0xac640004, 0xac600008, 0xac60000c, -0xac600010, 0xac600014, 0xac600018, 0xac65001c, -0xa0004d6, 0x24040001, 0xe000348, 0x2002021, -0xa7600008, 0xe000351, 0x2002021, 0x2002021, -0xe000356, 0x24050001, 0x3c020800, 0x8c420020, -0x10400042, 0x8fbf0014, 0xe000577, 0x0, -0x9742010c, 0x8f830020, 0x3c050800, 0x94a54ed6, -0x21400, 0xac700000, 0xac620004, 0xac600008, -0x8f64004c, 0x3c02401f, 0xa22825, 0xac64000c, -0x8f620050, 0x24040001, 0xac620010, 0x8f620054, -0xac620014, 0xac600018, 0xac65001c, 0x8fbf0014, -0x8fb00010, 0xa00059c, 0x27bd0018, 0x93620000, -0x24030020, 0x304200ff, 0x10430024, 0x8fbf0014, -0xe000fea, 0x2002021, 0x10400020, 0x8fbf0014, -0x2002021, 0x8fb00010, 0x2821, 0xa000356, -0x27bd0018, 0x2002021, 0x8fbf0014, 0x8fb00010, -0xa000664, 0x27bd0018, 0x9745010c, 0x2002021, -0x8fbf0014, 0x8fb00010, 0xa000684, 0x27bd0018, -0x2002021, 0x8fb00010, 0xa0006a9, 0x27bd0018, -0x9345010d, 0x2002021, 0x8fb00010, 0xa0006f3, -0x27bd0018, 0x2002021, 0x8fbf0014, 0x8fb00010, -0xa0006cf, 0x27bd0018, 0x8fbf0014, 0x8fb00010, -0x3e00008, 0x27bd0018, 0x8f420278, 0x440fffe, -0x34820080, 0xaf420240, 0x24020002, 0xa3420244, -0x3c021000, 0x3e00008, 0xaf420278, 0x3c040800, -0x94844ee2, 0x3c020800, 0x8c424eec, 0x3083ffff, -0x318c0, 0x431021, 0xaf42003c, 0x3c020800, -0x8c424ee8, 0xaf420038, 0x3c020050, 0x34420008, -0xaf420030, 0x0, 0x0, 0x0, -0x8f420000, 0x30420020, 0x1040fffd, 0x0, -0x8f420400, 0x3c010800, 0xac224ed8, 0x8f420404, -0x3c010800, 0xac224edc, 0x3c020020, 0xaf420030, -0x0, 0x3c020800, 0x94424ee0, 0x3c030800, -0x94634ee4, 0x3c050800, 0x94a54ee6, 0x24840001, -0x431021, 0x3083ffff, 0x3c010800, 0xa4224ee0, -0x3c010800, 0xa4244ee2, 0x14650003, 0x0, -0x3c010800, 0xa4204ee2, 0x3e00008, 0x0, -0x3c05000a, 0x27bdffe8, 0x3452821, 0x3c040800, -0x24844ec8, 0xafbf0010, 0xe000601, 0x2406000a, -0x3c020800, 0x94424eca, 0x3c030800, 0x94634ee6, -0x3042000f, 0x24420003, 0x431804, 0x24027fff, -0x43102b, 0x10400002, 0xaf83001c, 0xd, -0xe00050e, 0x0, 0x3c020800, 0x94424ed2, -0x8fbf0010, 0x27bd0018, 0x3e00008, 0xa74200a2, -0x3c02000a, 0x3421021, 0x94430006, 0x3c020800, -0x94424ed2, 0x3c010800, 0xa4234ece, 0x431023, -0x8f83001c, 0x21400, 0x21403, 0x43102b, -0x3e00008, 0x38420001, 0x27bdffe8, 0xafbf0010, -0x3c02000a, 0x3421021, 0x94420006, 0x3c010800, -0xa4224ece, 0xe00055b, 0x0, 0x5440fff9, -0x3c02000a, 0x8fbf0010, 0x3e00008, 0x27bd0018, -0x27bdffe8, 0xafbf0010, 0xe00055b, 0x0, -0x10400003, 0x0, 0xe000569, 0x0, -0x3c020800, 0x8c424ed8, 0x8fbf0010, 0x27430400, -0xaf420038, 0x3c020800, 0x8c424edc, 0x27bd0018, -0xaf830020, 0xaf42003c, 0x3c020005, 0xaf420030, -0x3e00008, 0xaf800018, 0x8f820018, 0x3c030006, -0x21140, 0x431025, 0xaf420030, 0x0, -0x0, 0x0, 0x8f420000, 0x30420010, -0x1040fffd, 0x27420400, 0xaf820020, 0x3e00008, -0xaf800018, 0x3c060800, 0x8cc64edc, 0x8f850018, -0x8f830020, 0x3c020800, 0x94424ed2, 0x27bdffe0, -0x24a50001, 0x24630020, 0x24420001, 0x24c70020, -0xafb10014, 0xafb00010, 0xafbf0018, 0xaf850018, -0xaf830020, 0x3c010800, 0xa4224ed2, 0x309000ff, -0x3c010800, 0xac274edc, 0x4c10008, 0x8821, -0x4e00006, 0x0, 0x3c020800, 0x8c424ed8, -0x24420001, 0x3c010800, 0xac224ed8, 0x3c020800, -0x94424ed2, 0x3c030800, 0x94634ee0, 0x10202b, -0x431026, 0x2c420001, 0x441025, 0x14400004, -0x8f830018, 0x24020010, 0x1462000f, 0x0, -0xe00058d, 0x24110001, 0x3c030800, 0x94634ed2, -0x3c020800, 0x94424ee0, 0x14620003, 0x0, -0xe00050e, 0x0, 0x16000003, 0x0, -0xe000577, 0x0, 0x3c030800, 0x94634ed6, -0x3c020800, 0x94424ed4, 0x24630001, 0x3064ffff, -0x3c010800, 0xa4234ed6, 0x14820003, 0x0, -0x3c010800, 0xa4204ed6, 0x12000006, 0x0, -0x3c020800, 0x94424ed2, 0xa74200a2, 0xa0005ef, -0x2201021, 0xe00055b, 0x0, 0x10400004, -0x2201021, 0xe000569, 0x0, 0x2201021, -0x8fbf0018, 0x8fb10014, 0x8fb00010, 0x3e00008, -0x27bd0020, 0x3084ffff, 0x30a5ffff, 0x1821, -0x10800007, 0x0, 0x30820001, 0x10400002, -0x42042, 0x651821, 0xa0005f7, 0x52840, -0x3e00008, 0x601021, 0x10c00006, 0x24c6ffff, -0x8ca20000, 0x24a50004, 0xac820000, 0xa000601, -0x24840004, 0x3e00008, 0x0, 0x10a00008, -0x24a3ffff, 0xac860000, 0x0, 0x0, -0x2402ffff, 0x2463ffff, 0x1462fffa, 0x24840004, -0x3e00008, 0x0, 0x24020001, 0xaf62000c, -0xa7620010, 0xa7620012, 0xa7620014, 0x3e00008, -0xa7620016, 0x3082007f, 0x3421021, 0x3c08000e, -0x481821, 0x3c020800, 0x8c420020, 0x27bdffd8, -0x2407ff80, 0xafb3001c, 0xafb20018, 0xafb10014, -0xafb00010, 0xafbf0020, 0x808021, 0x30b100ff, -0x872024, 0x30d200ff, 0x1040002f, 0x9821, -0xaf44002c, 0x90620000, 0x24030050, 0x304200ff, -0x1443000e, 0x0, 0x3c020800, 0x8c4200e0, -0x2021021, 0x471024, 0xaf42002c, 0x3c020800, -0x8c4200e0, 0x2021021, 0x3042007f, 0x3421021, -0x481021, 0x944200d4, 0x3053ffff, 0xe000577, -0x0, 0x3c020800, 0x94424ed6, 0x8f830020, -0x113400, 0xc23025, 0x122c00, 0x3c024000, -0xc23025, 0x34a50001, 0xac700000, 0x8fbf0020, -0xac600004, 0x8fb20018, 0xac730008, 0x8fb10014, -0xac60000c, 0x8fb3001c, 0xac650010, 0x8fb00010, -0xac600014, 0x24040001, 0xac600018, 0x27bd0028, -0xa00059c, 0xac66001c, 0x8fbf0020, 0x8fb3001c, -0x8fb20018, 0x8fb10014, 0x8fb00010, 0x3e00008, -0x27bd0028, 0x9343010f, 0x24020010, 0x1062000e, -0x28650011, 0x10a00007, 0x24020012, 0x24020008, -0x2405003a, 0x10620006, 0x3021, 0x3e00008, -0x0, 0x24050035, 0x1462fffc, 0x3021, -0xa00061c, 0x0, 0x8f420074, 0x24420fa0, -0x3e00008, 0xaf62000c, 0x27bdffe8, 0xafbf0010, -0xe000356, 0x24050001, 0x8fbf0010, 0x24020001, -0xa7620012, 0x27bd0018, 0x24020001, 0x3e00008, -0xa3600022, 0x27bdffe0, 0xafb10014, 0xafb00010, -0xafbf0018, 0x30b1ffff, 0xe000348, 0x808021, -0x9362003f, 0x24030004, 0x304200ff, 0x1443000c, -0x2002021, 0x12200008, 0x2402000a, 0xe000615, -0x0, 0x93620005, 0x2403fffe, 0x431024, -0xa3620005, 0x24020012, 0xa362003f, 0x2002021, -0xe000351, 0xa3600081, 0x16200003, 0x2002021, -0xe000679, 0x0, 0x2002021, 0x322600ff, -0x8fbf0018, 0x8fb10014, 0x8fb00010, 0x24050038, -0xa00061c, 0x27bd0020, 0x27bdffe0, 0xafbf001c, -0xafb20018, 0xafb10014, 0xafb00010, 0xe000348, -0x808021, 0xe000615, 0x0, 0x9362003f, -0x24120018, 0x305100ff, 0x12320003, 0x2002021, -0x24020012, 0xa362003f, 0x93620005, 0x2403fffe, -0x431024, 0xe000351, 0xa3620005, 0x2002021, -0x24050020, 0x16320007, 0x3021, 0x8fbf001c, -0x8fb20018, 0x8fb10014, 0x8fb00010, 0xa000356, -0x27bd0020, 0x8fbf001c, 0x8fb20018, 0x8fb10014, -0x8fb00010, 0x24050039, 0xa00061c, 0x27bd0020, -0x27bdffe8, 0xafb00010, 0xafbf0014, 0x9742010c, -0x24050036, 0x808021, 0x14400010, 0x304600ff, -0xe000348, 0x0, 0x24020012, 0xa362003f, -0x93620005, 0x34420010, 0xe000615, 0xa3620005, -0xe000351, 0x2002021, 0x2002021, 0xe000356, -0x24050020, 0xa0006e8, 0x0, 0xe00061c, -0x0, 0xe000348, 0x2002021, 0x93620023, -0x2403ff9f, 0x2002021, 0x431024, 0x8fbf0014, -0x8fb00010, 0xa3620023, 0xa000351, 0x27bd0018, -0x27bdffe0, 0xafbf0018, 0xafb10014, 0xafb00010, -0x30b100ff, 0xe000348, 0x808021, 0x24020012, -0xe000615, 0xa362003f, 0xe000351, 0x2002021, -0x2002021, 0x2203021, 0x8fbf0018, 0x8fb10014, -0x8fb00010, 0x24050035, 0xa00061c, 0x27bd0020, -0xa380002c, 0x3e00008, 0xa380002d, 0x8f420278, -0x440fffe, 0x8f820034, 0xaf420240, 0x24020002, -0xa3420244, 0x3c021000, 0x3e00008, 0xaf420278, -0x3c036000, 0x8c625400, 0x30420008, 0x1440fffd, -0x0, 0x8c625408, 0xaf820000, 0x24020052, -0xac605408, 0xac645430, 0xac625434, 0x24020008, -0x3e00008, 0xac625400, 0x3c026000, 0x8c425400, -0x30420008, 0x10400005, 0x3c036000, 0x8c625400, -0x30420008, 0x1440fffd, 0x0, 0x8f830000, -0x3c026000, 0x3e00008, 0xac435408, 0x90a30000, -0x24020005, 0x804021, 0x3063003f, 0x4821, -0x14620005, 0x5021, 0x90a2001c, 0x94a3001e, -0x304900ff, 0x306affff, 0xad00000c, 0xad000010, -0xad000024, 0x95020014, 0x8d05001c, 0x8d040018, -0x3042ffff, 0x491023, 0x21100, 0x237c3, -0x403821, 0x862023, 0xa2102b, 0x822023, -0xa72823, 0xad05001c, 0xad040018, 0xa5090014, -0xa5090020, 0xa50a0016, 0x3e00008, 0xa50a0022, -0x8f4201f8, 0x440fffe, 0x24020002, 0xaf4401c0, -0xa34201c4, 0x3c021000, 0x3e00008, 0xaf4201f8, -0x3c020800, 0x8c4200b4, 0x27bdffe8, 0xafbf0014, -0x24420001, 0xafb00010, 0x3c010800, 0xac2200b4, -0x8f430024, 0x3c02001f, 0x30aa00ff, 0x3442ff80, -0x30d800ff, 0x628024, 0x80f821, 0x30ef00ff, -0x1158003b, 0x1405821, 0x240cff80, 0x3c19000a, -0x3163007f, 0x310c0, 0x31940, 0x621821, -0x3c020800, 0x8c4200dc, 0x25680001, 0x310d007f, -0x3e21021, 0x431021, 0x3043007f, 0x3431821, -0x4c1024, 0x794821, 0xaf420024, 0x8d220024, -0x16c1824, 0x6c7026, 0xad22000c, 0x8d220024, -0x310800ff, 0xad220010, 0x95220014, 0x95230020, -0x8d27001c, 0x3042ffff, 0x3063ffff, 0x8d260018, -0x431023, 0x21100, 0x227c3, 0x402821, -0xc43023, 0xe2102b, 0xc23023, 0xe53823, -0xad27001c, 0xad260018, 0x95220020, 0xa5220014, -0x95220022, 0x154b000a, 0xa5220016, 0x8d230024, -0x8d220008, 0x25460001, 0x31450080, 0x14620004, -0x30c4007f, 0x108f0002, 0x38aa0080, 0xc05021, -0x51af0001, 0x31c800ff, 0x1518ffc9, 0x1005821, -0x8f840034, 0x3082007f, 0x3421821, 0x3c02000a, -0x621821, 0x2402ff80, 0x822024, 0xaf440024, -0xa06a0079, 0xa06a0083, 0x8c620050, 0x8f840034, -0xac620070, 0x8c650074, 0x3c027fff, 0x3442ffff, -0xa22824, 0xe00074f, 0xac650074, 0xaf500024, -0x8fbf0014, 0x8fb00010, 0x3e00008, 0x27bd0018, -0x27bdffc0, 0xafbe0038, 0xafb70034, 0xafb5002c, -0xafb20020, 0xafb1001c, 0xafb00018, 0xafbf003c, -0xafb60030, 0xafb40028, 0xafb30024, 0x8f450024, -0x8f460028, 0x8f43002c, 0x3c02001f, 0x3442ff80, -0x621824, 0xc23024, 0x80a821, 0xafa30014, -0xa2f024, 0xe000713, 0xafa60010, 0x3c020800, -0x8c4200e0, 0x2410ff80, 0x3608821, 0x2a21021, -0x501024, 0xaf420024, 0x3c020800, 0x8c4200e0, -0x2a21021, 0x3042007f, 0x3421821, 0x3c02000a, -0x629021, 0x924200d2, 0x93630084, 0x305700ff, -0x306300ff, 0x24020001, 0x10620034, 0x3602021, -0x24020002, 0x14620036, 0x0, 0xe0012f8, -0x2402821, 0x92230083, 0x92220083, 0x3063007f, -0x3042007f, 0x210c0, 0x31940, 0x621821, -0x3c020800, 0x8c4200dc, 0x2a21021, 0x433821, -0xf01024, 0xaf420028, 0x92250078, 0x92240083, -0x30e2007f, 0x3421821, 0x3c02000c, 0x14850007, -0x628021, 0x2402ffff, 0xa24200f1, 0x2402ffff, -0xa64200f2, 0xa00080b, 0x2402ffff, 0x96020020, -0xa24200f1, 0x96020022, 0xa64200f2, 0x8e020024, -0xae4200f4, 0x92220083, 0xa24200f0, 0x8e4200c8, -0xae4200fc, 0x8e4200c4, 0xae4200f8, 0x8e220050, -0xae420100, 0x8e4200cc, 0xae420104, 0x92220085, -0x3042003f, 0xa000866, 0x34420040, 0xe00131b, -0x2402821, 0x92220085, 0xa000866, 0x3042003f, -0x93620085, 0x2403ffdf, 0x3042003f, 0xa3620085, -0x93620085, 0x431024, 0xa3620085, 0x93630083, -0x93620078, 0x307400ff, 0x304200ff, 0x10540036, -0x240aff80, 0x3c0c000c, 0x3283007f, 0x310c0, -0x31940, 0x621821, 0x3c020800, 0x8c4200dc, -0x26880001, 0x3109007f, 0x2a21021, 0x433821, -0x30e2007f, 0x3421821, 0xea1024, 0xaf420028, -0x6c8021, 0x8e020024, 0x28a1824, 0x6a5826, -0xae02000c, 0x8e020024, 0x310800ff, 0xae020010, -0x96020014, 0x96030020, 0x8e07001c, 0x3042ffff, -0x3063ffff, 0x8e060018, 0x431023, 0x21100, -0x227c3, 0x402821, 0xc43023, 0xe2102b, -0xc23023, 0xe53823, 0xae07001c, 0xae060018, -0x96020020, 0xa6020014, 0x96020022, 0xa6020016, -0x92220079, 0x304200ff, 0x10540007, 0x0, -0x51370001, 0x316800ff, 0x92220078, 0x304200ff, -0x1448ffcd, 0x100a021, 0x92220083, 0xa2220079, -0x8e220050, 0xa0008c6, 0xae220070, 0xa2220085, -0x8e22004c, 0x2405ff80, 0xae42010c, 0x92220085, -0x34420020, 0xa2220085, 0x924200d1, 0x3c030800, -0x8c6300dc, 0x305400ff, 0x3c020800, 0x8c4200e4, -0x143140, 0x1420c0, 0x2a31821, 0xc42021, -0x2a21021, 0x643821, 0x461021, 0x451824, -0xe52824, 0xaf450028, 0xaf43002c, 0x3042007f, -0x924400d0, 0x30e3007f, 0x3422821, 0x3431821, -0x3c02000c, 0x628021, 0x3c02000e, 0x309600ff, -0xa29821, 0x1296002a, 0x0, 0x8e02000c, -0x2002021, 0x2602821, 0x10400025, 0x26100028, -0xe00072e, 0x0, 0x9262000d, 0x26830001, -0x307400ff, 0x3042007f, 0xa262000d, 0x2404ff80, -0x1697fff0, 0x26730020, 0x3c020800, 0x8c4200dc, -0xa021, 0x2a21021, 0x441024, 0xaf420028, -0x3c020800, 0x8c4200e4, 0x3c030800, 0x8c6300dc, -0x2a21021, 0x441024, 0xaf42002c, 0x3c020800, -0x8c4200e4, 0x2a31821, 0x3063007f, 0x2a21021, -0x3042007f, 0x3422021, 0x3431821, 0x3c02000c, -0x628021, 0x3c02000e, 0xa000888, 0x829821, -0x8e4200d8, 0xae220050, 0x8e4200d8, 0xae220070, -0x92250083, 0x924600d1, 0x92230083, 0x924400d1, -0x2402ff80, 0xa22824, 0x3063007f, 0x308400ff, -0xa62825, 0x64182a, 0x10600002, 0x30a500ff, -0x38a50080, 0xa2250083, 0xa2250079, 0xe000721, -0x0, 0x9222007e, 0x2a02021, 0xa222007a, -0x8e230074, 0x3c027fff, 0x3442ffff, 0x621824, -0xe00074f, 0xae230074, 0x8fa20010, 0xaf5e0024, -0x8fbf003c, 0xaf420028, 0x8fbe0038, 0x8fa20014, -0x8fb70034, 0x8fb60030, 0x8fb5002c, 0x8fb40028, -0x8fb30024, 0x8fb20020, 0x8fb1001c, 0x8fb00018, -0x27bd0040, 0x3e00008, 0xaf42002c, 0x90a20000, -0x24420001, 0xa0a20000, 0x3c030800, 0x8c6300f4, -0x304200ff, 0x1443000f, 0x803021, 0xa0a00000, -0x3c020800, 0x8c4200e4, 0x8f840034, 0x822021, -0x3082007f, 0x3421821, 0x3c02000c, 0x621821, -0x2402ff80, 0x822024, 0xacc30000, 0x3e00008, -0xaf440028, 0x8c820000, 0x24420020, 0x3e00008, -0xac820000, 0x94c20000, 0x3c080800, 0x950800ca, -0x30e7ffff, 0x804821, 0x1021021, 0xa4c20000, -0x94c20000, 0x3042ffff, 0xe2102b, 0x54400001, -0xa4c70000, 0x94a20000, 0x3c030800, 0x8c6300cc, -0x24420001, 0xa4a20000, 0x94a20000, 0x3042ffff, -0x54430007, 0x8f860028, 0x107102b, 0xa4a00000, -0x54400001, 0x1003821, 0xa4c70000, 0x8f860028, -0x8cc4001c, 0xaf44003c, 0x94a20000, 0x8f43003c, -0x3042ffff, 0x210c0, 0x621821, 0xaf43003c, -0x8f42003c, 0x822023, 0x18800004, 0x0, -0x8cc20018, 0xa000927, 0x24420001, 0x8cc20018, -0xaf420038, 0x3c020050, 0x34420010, 0xaf420030, -0x0, 0x0, 0x0, 0x8f420000, -0x30420020, 0x1040fffd, 0x0, 0x8f420404, -0xad220004, 0x8f420400, 0xad220000, 0x3c020020, -0xaf420030, 0x3e00008, 0x0, 0x27bdffe0, -0xafb20018, 0xafb10014, 0xafb00010, 0xafbf001c, -0x94c20000, 0xc08021, 0x3c120800, 0x965200c6, -0x24420001, 0xa6020000, 0x96030000, 0x94e20000, -0xe03021, 0x14430005, 0x8fb10030, 0xe0008fc, -0x2403821, 0xa000959, 0x0, 0x8c830004, -0x8c820004, 0x24420040, 0x4610007, 0xac820004, -0x8c820004, 0x4400004, 0x0, 0x8c820000, -0x24420001, 0xac820000, 0x96020000, 0x3042ffff, -0x50520001, 0xa6000000, 0x96220000, 0x24420001, -0xa6220000, 0x8f820028, 0x96230000, 0x94420016, -0x14430004, 0x8fbf001c, 0x24020001, 0xa6220000, -0x8fbf001c, 0x8fb20018, 0x8fb10014, 0x8fb00010, -0x3e00008, 0x27bd0020, 0x8f890028, 0x27bdffe0, -0xafbf0018, 0x8d220028, 0x27480400, 0x30e700ff, -0xaf420038, 0x8d22002c, 0xaf880030, 0xaf42003c, -0x3c020005, 0xaf420030, 0x0, 0x0, -0x0, 0x0, 0x0, 0x0, -0x8c82000c, 0x8c82000c, 0xad020000, 0x8c820010, -0xad020004, 0x8c820018, 0xad020008, 0x8c82001c, -0xad02000c, 0x8ca20014, 0xad020010, 0x8c820020, -0xad020014, 0x90820005, 0x304200ff, 0x21200, -0xad020018, 0x8ca20018, 0xad02001c, 0x8ca2000c, -0xad020020, 0x8ca20010, 0xad020024, 0x8ca2001c, -0xad020028, 0x8ca20020, 0xad02002c, 0xad060030, -0xad000034, 0x97830026, 0x3402ffff, 0x14620002, -0x602021, 0x3404ffff, 0x10e00011, 0xad040038, -0x95230036, 0x95240036, 0x24020001, 0x3063ffff, -0x318c2, 0x691821, 0x90650040, 0x30840007, -0x821004, 0x451025, 0xa0620040, 0x8f820028, -0x94420056, 0x3042ffff, 0xa0009c0, 0xad02003c, -0x95230036, 0x95240036, 0x24020001, 0x3063ffff, -0x318c2, 0x691821, 0x90650040, 0x30840007, -0x821004, 0x21027, 0x451024, 0xa0620040, -0xad00003c, 0x0, 0x0, 0x0, -0x3c020006, 0x34420040, 0xaf420030, 0x0, -0x0, 0x0, 0x8f420000, 0x30420010, -0x1040fffd, 0x8f860028, 0xaf880030, 0x24c20056, -0x24c7003c, 0x24c40028, 0x24c50032, 0x24c60036, -0xe00093a, 0xafa20010, 0x8fbf0018, 0x3e00008, -0x27bd0020, 0x8f830024, 0x3c050800, 0x8ca500e8, -0x8f820034, 0x30633fff, 0x31980, 0x451021, -0x431021, 0x2403ff80, 0x3045007f, 0x431024, -0xaf420028, 0x3451821, 0x3c02000c, 0x623021, -0x90c2000d, 0x3821, 0x34420010, 0xa0c2000d, -0x8f890028, 0x8f8a0024, 0x95230036, 0xa1382, -0x30480003, 0x24020001, 0xa4c3000e, 0x1102000b, -0x29020002, 0x10400005, 0x24020002, 0x1100000c, -0x24030001, 0xa000a03, 0x1821, 0x11020006, -0x0, 0xa000a03, 0x1821, 0x8cc2002c, -0xa000a03, 0x24430001, 0x8cc20014, 0x24430001, -0x8cc20018, 0x43102b, 0x14400003, 0x0, -0xa000a0c, 0x24070001, 0x9522003e, 0x24420001, -0xa522003e, 0xa1382, 0x30430003, 0x2c620002, -0x10400009, 0x802821, 0x14600004, 0x0, -0x94c20036, 0xa000a1c, 0x3046ffff, 0x8cc60038, -0xa000a1c, 0x802821, 0x3021, 0x3c040800, -0x24844ef0, 0xa00096d, 0x0, 0x27490100, -0x8d22000c, 0x95230006, 0x1202021, 0x21602, -0x3045003f, 0x3063ffff, 0x24020027, 0x28a60028, -0x10a2000e, 0xaf830024, 0x10c00008, 0x24020031, -0x24020021, 0x10a20009, 0x24020025, 0x10a20007, -0x9382002d, 0xa000a3a, 0x0, 0x10a20005, -0x9382002d, 0xa000a3a, 0x0, 0xa0009d8, -0x0, 0xa00070a, 0x0, 0x95230006, -0x91240005, 0x8d25000c, 0x8d260010, 0x8d270018, -0x8d28001c, 0x8d290020, 0x24420001, 0x3c010800, -0xa4234ef6, 0x3c010800, 0xa0244ef5, 0x3c010800, -0xac254efc, 0x3c010800, 0xac264f00, 0x3c010800, -0xac274f08, 0x3c010800, 0xac284f0c, 0x3c010800, -0xac294f10, 0x3e00008, 0xa382002d, 0x8f870028, -0x27bdffc0, 0xafb30034, 0xafb20030, 0xafb1002c, -0xafb00028, 0xafbf0038, 0x3c020800, 0x8c4200d0, -0x94e30030, 0x30b0ffff, 0x501007, 0x3045ffff, -0x3063ffff, 0xc09821, 0xa7a20010, 0x3c110800, -0x963100c6, 0x14a30006, 0x3092ffff, 0x8ce20024, -0x24420030, 0xaf42003c, 0xa000a73, 0x8ce20020, -0x94e20032, 0x3042ffff, 0x54a20008, 0x27a40018, -0x8ce2002c, 0x24420030, 0xaf42003c, 0x8ce20028, -0xaf420038, 0xa000a81, 0x8f840028, 0x27a50010, -0x27a60020, 0x2203821, 0xe0008fc, 0xa7a00020, -0x8fa20018, 0x24420030, 0xaf420038, 0x8fa2001c, -0xaf42003c, 0x8f840028, 0x3c020005, 0xaf420030, -0x94820034, 0x27430400, 0x3042ffff, 0x202102b, -0x14400007, 0xaf830030, 0x94820054, 0x94830034, -0x2021021, 0x431023, 0xa000a95, 0x3043ffff, -0x94830054, 0x94820034, 0x2231821, 0x501023, -0x621823, 0x3063ffff, 0x94820016, 0x3042ffff, -0x14430003, 0x0, 0xa000aa3, 0x24030001, -0x94820016, 0x3042ffff, 0x43102b, 0x10400005, -0x8f820030, 0x94820016, 0x621023, 0x3043ffff, -0x8f820030, 0xac530000, 0xac400004, 0xac520008, -0xac43000c, 0x3c020006, 0x34420010, 0xaf420030, -0x0, 0x0, 0x0, 0x8f420000, -0x30420010, 0x1040fffd, 0x1018c2, 0x641821, -0x90650040, 0x32040007, 0x24020001, 0x8fbf0038, -0x8fb30034, 0x8fb20030, 0x8fb1002c, 0x8fb00028, -0x821004, 0x451025, 0x27bd0040, 0x3e00008, -0xa0620040, 0x27bdffa8, 0xafb60050, 0xafb5004c, -0xafb40048, 0xafb30044, 0xafb1003c, 0xafbf0054, -0xafb20040, 0xafb00038, 0x8c900000, 0x3c020800, -0x8c4200e8, 0x8f860034, 0x96030002, 0x2413ff80, -0xc23021, 0x30633fff, 0x31980, 0xc33821, -0xf31024, 0x90b20000, 0xaf42002c, 0x92030002, -0x30e2007f, 0x3423021, 0x3c02000e, 0xc28821, -0x306300c0, 0x24020040, 0x80a821, 0xa0b021, -0x14620026, 0xa021, 0x8e340038, 0x8e220018, -0x14400002, 0x24020001, 0xae220018, 0x9202000d, -0x30420020, 0x14400015, 0x8f820034, 0x3c030800, -0x8c6300dc, 0x1238c0, 0x123140, 0x431021, -0xc73021, 0x463821, 0x30e30007, 0x3c020080, -0x30e60078, 0xc23025, 0x3431821, 0xf31024, -0xaf420800, 0x24630900, 0xaf460810, 0x8e220018, -0x8c630008, 0x431021, 0xae220018, 0x8e22002c, -0x8e230018, 0x24420001, 0x62182b, 0x1060003d, -0x0, 0xa000b57, 0x0, 0x92030002, -0x2402ffc0, 0x431024, 0x304200ff, 0x14400005, -0x24020001, 0xae220018, 0x96220036, 0xa000b40, -0x3054ffff, 0x8e220014, 0x24420001, 0xae220018, -0x92020000, 0x21600, 0x21603, 0x4410029, -0x0, 0x96020002, 0x27a40010, 0x802821, -0xa7a20016, 0x96020002, 0x24070001, 0x3021, -0x3042ffff, 0xaf820024, 0xe00096d, 0xafa0001c, -0x96030002, 0x3c040800, 0x8c8400e8, 0x8f820034, -0x30633fff, 0x31980, 0x441021, 0x431021, -0x3043007f, 0x3c05000c, 0x531024, 0x3431821, -0xaf420028, 0x651821, 0x9062000d, 0x122140, -0x3042007f, 0xa062000d, 0x3c030800, 0x8c6300e4, -0x8f820034, 0x431021, 0x443821, 0x30e2007f, -0x3421021, 0x451021, 0xf31824, 0xaf430028, -0xaea20000, 0x9222000d, 0x30420010, 0x10400013, -0x2a02021, 0x8f830028, 0x8ea40000, 0x2803021, -0x9462003e, 0x2442ffff, 0xa462003e, 0x94840002, -0x9625000e, 0x3084ffff, 0xe000a52, 0x30a5ffff, -0x8f820028, 0x94430034, 0x9622000e, 0x14430003, -0x2a02021, 0x24020001, 0xa382002c, 0x2c02821, -0xe0008e2, 0x0, 0x8fbf0054, 0x8fb60050, -0x8fb5004c, 0x8fb40048, 0x8fb30044, 0x8fb20040, -0x8fb1003c, 0x8fb00038, 0x3e00008, 0x27bd0058, -0x8f850028, 0x27bdffd0, 0xafb40028, 0xafb20020, -0xafbf002c, 0xafb30024, 0xafb1001c, 0xafb00018, -0x90a800d0, 0x90a600d1, 0x3c020800, 0x8c4200e4, -0x8f830034, 0x30c700ff, 0xa3a60010, 0x621821, -0x71140, 0x621821, 0x3062007f, 0x3422021, -0x3c02000c, 0x822021, 0x2402ff80, 0x621824, -0x311200ff, 0x8cb100d8, 0xafa40014, 0x8cb300dc, -0xa021, 0xaf430028, 0x10f2001f, 0x24020001, -0x8fa60014, 0x27a40014, 0x27a50010, 0x8cc20004, -0x2228021, 0x2701023, 0x4400017, 0x24020001, -0x90c3000d, 0x2402ff80, 0x431024, 0x304200ff, -0x14400007, 0x2008821, 0x90c2000d, 0x34420040, -0xe0008e2, 0xa0c2000d, 0xa000b9e, 0x93a20010, -0xe000ac0, 0x24140001, 0x8f830028, 0xac7000d8, -0x93a20010, 0xa06200d1, 0x93a20010, 0x1452ffe5, -0x8fa60014, 0x24020001, 0x16820004, 0x8fbf002c, -0xe00070a, 0x0, 0x8fbf002c, 0x8fb40028, -0x8fb30024, 0x8fb20020, 0x8fb1001c, 0x8fb00018, -0x3e00008, 0x27bd0030, 0x27bdffd8, 0xafb3001c, -0xafb20018, 0xafb10014, 0xafb00010, 0xafbf0020, -0x809821, 0xe08021, 0x30b1ffff, 0xe000577, -0x30d200ff, 0x0, 0x0, 0x0, -0x8f820020, 0xac510000, 0xac520004, 0xac530008, -0xac40000c, 0xac400010, 0xac400014, 0xac400018, -0x3c030800, 0x94634ed6, 0x2038025, 0xac50001c, -0x0, 0x0, 0x0, 0x24040001, -0x8fbf0020, 0x8fb3001c, 0x8fb20018, 0x8fb10014, -0x8fb00010, 0xa00059c, 0x27bd0028, 0x27bdffe8, -0xafb00010, 0xafbf0014, 0x30a5ffff, 0x30c600ff, -0x808021, 0x24020c80, 0xaf420024, 0x0, -0x0, 0x0, 0x0, 0x0, -0xe000bad, 0x0, 0x3c040800, 0x248400e0, -0x8c820000, 0x2403ff80, 0x8fbf0014, 0x2021021, -0x431024, 0xaf420024, 0x8c820000, 0x3c03000a, -0x2028021, 0x3210007f, 0x3501021, 0x8fb00010, -0x431021, 0x27bd0018, 0x3e00008, 0xaf820028, -0x27bdffe8, 0xafbf0010, 0x8f440140, 0x3c030800, -0x8c6300e0, 0x2402ff80, 0xaf840034, 0x831821, -0x621024, 0xaf420024, 0x3c020008, 0x3424021, -0x95050002, 0x3063007f, 0x3c02000a, 0x3431821, -0x621821, 0x30a5ffff, 0x3402ffff, 0x3021, -0x3c076020, 0x10a20006, 0xaf830028, 0x2402ffff, -0xa5020002, 0x946500d4, 0xe000bd2, 0x30a5ffff, -0x8fbf0010, 0x24020c80, 0x27bd0018, 0x3e00008, -0xaf420024, 0x3c020008, 0x3424021, 0x95020002, -0x3c0a0800, 0x954a00c6, 0x3046ffff, 0x14c00007, -0x3402ffff, 0x8f820028, 0x8f840034, 0x3c076020, -0x944500d4, 0xa000c3b, 0x30a5ffff, 0x10c20024, -0x8f870028, 0x94e20054, 0x94e40016, 0x3045ffff, -0xa61023, 0xa6182b, 0x3089ffff, 0x10600004, -0x3044ffff, 0xc51023, 0x1221023, 0x3044ffff, -0x8a102b, 0x1040000c, 0x12a1023, 0x24020001, -0xa5020016, 0x2402ffff, 0xa5020002, 0x94e500d4, -0x8f840034, 0x3021, 0x30a5ffff, 0x3c076020, -0xa000bd2, 0x0, 0x44102a, 0x10400008, -0x0, 0x95020016, 0x30420001, 0x10400004, -0x0, 0x9742007e, 0x24420014, 0xa5020016, -0x3e00008, 0x0, 0x8f840028, 0x27bdffe0, -0xafbf0018, 0x94820034, 0x9483003e, 0x1060001a, -0x3048ffff, 0x9383002c, 0x24020001, 0x14620027, -0x8fbf0018, 0x8f820028, 0x818c2, 0x31080007, -0x621821, 0x2447003a, 0x24490054, 0x24440020, -0x24450030, 0x24460034, 0x90620040, 0x304200ff, -0x1021007, 0x30420001, 0x10400016, 0x8fbf0018, -0xe00093a, 0xafa90010, 0x8f820028, 0x94420034, -0xa000c54, 0x3048ffff, 0x94830036, 0x94820034, -0x1043000e, 0x8fbf0018, 0x94820036, 0xa4820034, -0x94820056, 0xa4820054, 0x8c82002c, 0xac820024, -0x94820032, 0xa4820030, 0x9482003c, 0xa482003a, -0x8fbf0018, 0xa000c14, 0x27bd0020, 0x3e00008, -0x27bd0020, 0x27bdffe8, 0xafbf0010, 0x8f4a0100, -0x3c050800, 0x8ca500e0, 0x3c020800, 0x90424efc, -0x3c0c0800, 0x958c4ef6, 0x1452821, 0x304b003f, -0x30a2007f, 0x3424021, 0x39690032, 0x3c02000a, -0x3963003f, 0x2c630001, 0x1024021, 0x2d290001, -0x2402ff80, 0xa22824, 0x1234825, 0xaf8a0034, -0x801821, 0xaf450024, 0x3021, 0x802821, -0x24070001, 0xaf880028, 0x3c040800, 0x24844ef0, -0xaf8c0024, 0x15200006, 0xa380002d, 0x24020020, -0x1562000e, 0x3402ffff, 0x1582000c, 0x0, -0x24020020, 0x15620005, 0x0, 0x8c630014, -0x2402ffff, 0x10620007, 0x0, 0xe00096d, -0x0, 0xa000cb0, 0x0, 0xe0009d8, -0x602021, 0xe000c49, 0x0, 0x8fbf0010, -0x24020c80, 0x27bd0018, 0x3e00008, 0xaf420024, -0x3c020800, 0x8c4200e0, 0x27bdffa0, 0xafb1003c, -0x821021, 0x2411ff80, 0xafbe0058, 0xafb70054, -0xafb20040, 0xafb00038, 0xafbf005c, 0xafb60050, -0xafb5004c, 0xafb40048, 0xafb30044, 0x511024, -0x8f480024, 0x8f490028, 0x8f470028, 0xaf420024, -0x3c020800, 0x8c4200e0, 0x809021, 0x24060006, -0x821021, 0x3042007f, 0x3421821, 0x3c02000a, -0x628021, 0x3c02001f, 0x3442ff80, 0xe23824, -0x27a40010, 0x260500f0, 0x122f024, 0x102b824, -0xe000601, 0xafa70030, 0x8fa20018, 0xae0200c4, -0x8fa2001c, 0xae0200c8, 0x8fa20024, 0xae0200cc, -0x93a40010, 0x920300d1, 0x2402ff80, 0x821024, -0x431025, 0x304900ff, 0x3083007f, 0x3122007f, -0x62102a, 0x10400004, 0x310c0, 0x1311026, -0x304900ff, 0x310c0, 0x31940, 0x621821, -0x3c020800, 0x8c4200dc, 0x920400d2, 0x2421021, -0x431021, 0x511024, 0xaf420028, 0x93a30010, -0x3063007f, 0x310c0, 0x31940, 0x621821, -0x3c020800, 0x8c4200dc, 0x2421021, 0x431021, -0x3042007f, 0x3421821, 0x3c02000c, 0x624021, -0x8fa30014, 0x2402ffff, 0x10620030, 0x309500ff, -0x93a20011, 0x95030014, 0x304400ff, 0x3063ffff, -0x64182b, 0x1060000d, 0x0, 0x95040014, -0x8d07001c, 0x8d060018, 0x3084ffff, 0x442023, -0x42100, 0x1021, 0xe43821, 0xe4202b, -0xc23021, 0xa000d2a, 0xc43021, 0x95040014, -0x8d07001c, 0x8d060018, 0x3084ffff, 0x822023, -0x42100, 0x1021, 0x801821, 0xc23023, -0xe4202b, 0xc43023, 0xe33823, 0xad07001c, -0xad060018, 0x93a20011, 0xa5020014, 0x97a20012, -0xa5020016, 0x8fa20014, 0xad020010, 0x8fa20014, -0xad02000c, 0x93a20011, 0xa5020020, 0x97a20012, -0xa5020022, 0x8fa20014, 0xad020024, 0x2406ff80, -0x2461024, 0x3256007f, 0xaf420024, 0x3561821, -0x3c02000a, 0x628021, 0x8e02004c, 0x8fa20020, -0x3124007f, 0x428c0, 0xae020050, 0x8fa20020, -0x42140, 0x852821, 0xae020070, 0x93a20010, -0x1208821, 0xa2020083, 0x93a20010, 0xa2020079, -0x92020085, 0x3042003f, 0xa2020085, 0x3c020800, -0x8c4200dc, 0x2421021, 0x451021, 0x461024, -0xaf42002c, 0x3c020800, 0x8c4200e4, 0x3c030800, -0x8c6300dc, 0x2421021, 0x441021, 0x461024, -0xaf420028, 0x3c020800, 0x8c4200e4, 0x2431821, -0x651821, 0x2421021, 0x441021, 0x3042007f, -0x3063007f, 0x93a50010, 0x3422021, 0x3431821, -0x3c02000e, 0x624021, 0x3c02000c, 0x10b1008c, -0x824821, 0x3233007f, 0x16600019, 0x2404ff80, -0x3c020800, 0x8c4200dc, 0x2421021, 0x441024, -0xaf42002c, 0x3c020800, 0x8c4200e4, 0x3c030800, -0x8c6300dc, 0x2421021, 0x441024, 0xaf420028, -0x3c020800, 0x8c4200e4, 0x2431821, 0x3063007f, -0x2421021, 0x3042007f, 0x3422021, 0x3431821, -0x3c02000e, 0x624021, 0x3c02000c, 0x824821, -0x9124000d, 0x2414ff80, 0x1021, 0x942025, -0xa124000d, 0x95040002, 0x95050014, 0x8d07001c, -0x3084ffff, 0x30a5ffff, 0x8d060018, 0x852023, -0x42100, 0xe43821, 0xc23021, 0xe4202b, -0xc43021, 0xad07001c, 0xad060018, 0x95020002, -0xa5020014, 0xa5000016, 0x8d020008, 0xad020010, -0x8d020008, 0xad02000c, 0x95020002, 0xa5020020, -0xa5000022, 0x8d020008, 0xad020024, 0x9122000d, -0x30420040, 0x10400042, 0x26220001, 0x3c020800, -0x8c4200e0, 0xa3b30028, 0x3c10000a, 0x2421021, -0x541024, 0xaf420024, 0x3c020800, 0x8c4200e0, -0xa380002c, 0x27a4002c, 0x2421021, 0x3042007f, -0x3421821, 0x701821, 0x8c6200d8, 0x8d260004, -0x27a50028, 0xafa9002c, 0x461021, 0xac6200d8, -0xe000ac0, 0xaf830028, 0x93a30028, 0x8f820028, -0xe00070a, 0xa04300d1, 0xe000c49, 0x0, -0x2541024, 0xaf420024, 0x3c020800, 0x8c4200dc, -0x132940, 0x1320c0, 0xa42021, 0x2421021, -0x441021, 0x541024, 0xaf42002c, 0x3c020800, -0x8c4200e4, 0x3c030800, 0x8c6300dc, 0x3563021, -0x2421021, 0x451021, 0x541024, 0xaf420028, -0x3c020800, 0x8c4200e4, 0x2431821, 0x641821, -0x2421021, 0x451021, 0x3042007f, 0x3063007f, -0x3422021, 0x3431821, 0x3c02000e, 0x624021, -0x3c02000c, 0xd08021, 0x824821, 0x26220001, -0x3043007f, 0x14750005, 0x304400ff, 0x2403ff80, -0x2231024, 0x431026, 0x304400ff, 0x93a20010, -0x808821, 0x25080028, 0x1444ff76, 0x25290020, -0x93a40010, 0x8fa30014, 0x2402ffff, 0x1062000a, -0x308900ff, 0x24820001, 0x24830001, 0x3042007f, -0x14550005, 0x306900ff, 0x2403ff80, 0x831024, -0x431026, 0x304900ff, 0x92020078, 0x305300ff, -0x11330032, 0x1208821, 0x3c020800, 0x8c4200dc, -0x3225007f, 0x520c0, 0x52940, 0xa42021, -0x2421021, 0x2406ff80, 0x441021, 0x461024, -0xaf42002c, 0x3c030800, 0x8c6300dc, 0x3c020800, -0x8c4200e4, 0x2431821, 0x2421021, 0x451021, -0x641821, 0x461024, 0x3063007f, 0xaf420028, -0x3431821, 0x3c02000e, 0x624021, 0x3c020800, -0x8c4200e4, 0x8d06000c, 0x1002021, 0x2421021, -0x451021, 0x3042007f, 0x3421821, 0x3c02000c, -0x624821, 0x10c0000d, 0x1202821, 0xe00072e, -0x0, 0x2402ff80, 0x2221824, 0x26240001, -0x622826, 0x3082007f, 0x14550002, 0x308300ff, -0x30a300ff, 0x1473ffd0, 0x608821, 0x8e030074, -0x3c027fff, 0x3442ffff, 0x621824, 0xae030074, -0xe00074f, 0x2402021, 0xaf570024, 0x8fa20030, -0xaf5e0028, 0x8fbf005c, 0x8fbe0058, 0x8fb70054, -0x8fb60050, 0x8fb5004c, 0x8fb40048, 0x8fb30044, -0x8fb20040, 0x8fb1003c, 0x8fb00038, 0x27bd0060, -0x3e00008, 0xaf42002c, 0x27bdffd8, 0xafb1001c, -0xafbf0020, 0xafb00018, 0x27510188, 0x92220003, -0x2408ff80, 0x3c03000a, 0x3047007f, 0xa3a70010, -0x8f460180, 0x3c020800, 0x8c4200e0, 0xaf860034, -0xc22821, 0xa81024, 0xaf420024, 0x92240000, -0x30a2007f, 0x3421021, 0x431021, 0xaf820028, -0x3084007f, 0x24020002, 0x14820025, 0x71940, -0x3c020800, 0x8c4200e4, 0xc21021, 0x432821, -0x30a2007f, 0x3421821, 0xa81024, 0xaf420028, -0x3c02000c, 0x621821, 0x9062000d, 0xafa30014, -0x481025, 0xa062000d, 0x8fa30014, 0x9062000d, -0x30420040, 0x5040006a, 0x8fbf0020, 0x8f860028, -0xa380002c, 0x27a40014, 0x8cc200d8, 0x8c630004, -0x27a50010, 0x431021, 0xe000ac0, 0xacc200d8, -0x93a30010, 0x8f820028, 0xe00070a, 0xa04300d1, -0xe000c49, 0x0, 0xa000eeb, 0x8fbf0020, -0xe000713, 0xc02021, 0xe000721, 0x0, -0x3c020008, 0x3428021, 0x92230001, 0x9202007b, -0x1443004f, 0x8fbf0020, 0x92220000, 0x3044007f, -0x24020004, 0x10820017, 0x28820005, 0x10400006, -0x24020005, 0x24020003, 0x10820007, 0x8fb1001c, -0xa000eec, 0x0, 0x10820012, 0x8fbf0020, -0xa000eec, 0x8fb1001c, 0x92050083, 0x92060078, -0x8e070074, 0x8f840034, 0x30a500ff, 0x73e02, -0x30c600ff, 0xe000757, 0x30e7007f, 0xa000eeb, -0x8fbf0020, 0xe000cb7, 0x8f840034, 0xa000eeb, -0x8fbf0020, 0x24020c80, 0xaf420024, 0x9202003e, -0x30420040, 0x10400020, 0x0, 0x9202003e, -0x21600, 0x21603, 0x4410006, 0x0, -0x8f840034, 0xe000684, 0x24050093, 0xa000eeb, -0x8fbf0020, 0x9202003f, 0x24030018, 0x304200ff, -0x1443000c, 0x8f840034, 0x24050039, 0xe00061c, -0x3021, 0xe000348, 0x8f840034, 0x24020012, -0xa202003f, 0xe000351, 0x8f840034, 0xa000eeb, -0x8fbf0020, 0x24050036, 0xe00061c, 0x3021, -0xa000eeb, 0x8fbf0020, 0xe000348, 0x8f840034, -0x92020005, 0x34420020, 0xa2020005, 0xe000351, -0x8f840034, 0xe0010a2, 0x8f840034, 0x8fbf0020, -0x8fb1001c, 0x8fb00018, 0x24020c80, 0x27bd0028, -0x3e00008, 0xaf420024, 0x27bdffe8, 0xafb00010, -0xafbf0014, 0x27430100, 0x94620008, 0x21400, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 01:00:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55979106564A; Fri, 11 Feb 2011 01:00:26 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 440978FC0C; Fri, 11 Feb 2011 01:00: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 p1B10QkL040290; Fri, 11 Feb 2011 01:00:26 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B10Qwt040283; Fri, 11 Feb 2011 01:00:26 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201102110100.p1B10Qwt040283@svn.freebsd.org> From: Jack F Vogel Date: Fri, 11 Feb 2011 01:00:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218530 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 01:00:26 -0000 Author: jfv Date: Fri Feb 11 01:00:26 2011 New Revision: 218530 URL: http://svn.freebsd.org/changeset/base/218530 Log: Add support for the new I350 family of 1G interfaces. - this also includes virtualization support on these devices Correct some vlan issues we were seeing in test, jumbo frames on vlans did not work correctly, this was all due to confused logic around HW filters, the new code should now work for all uses. Important fix: when mbuf resources are depeleted, it was possible to completely empty the RX ring, and then the RX engine would stall forever. This is fixed by a flag being set whenever the refresh code fails due to an mbuf shortage, also the local timer now makes sure that all queues get an interrupt when it runs, the interrupt code will then always call rxeof, and in that routine the first thing done is now to check the refresh flag and call refresh_mbufs. This has been verified to fix this type 'hang'. Similar code will follow in the other drivers. Finally, sync up shared code for the I350 support. Thanks to everyone that has been reporting issues, and helping in the debug/test process!! Modified: head/sys/dev/e1000/e1000_82575.c head/sys/dev/e1000/e1000_82575.h head/sys/dev/e1000/e1000_api.c head/sys/dev/e1000/e1000_api.h head/sys/dev/e1000/e1000_defines.h head/sys/dev/e1000/e1000_hw.h head/sys/dev/e1000/e1000_mac.c head/sys/dev/e1000/e1000_mac.h head/sys/dev/e1000/e1000_manage.c head/sys/dev/e1000/e1000_manage.h head/sys/dev/e1000/e1000_mbx.c head/sys/dev/e1000/e1000_nvm.c head/sys/dev/e1000/e1000_nvm.h head/sys/dev/e1000/e1000_osdep.c head/sys/dev/e1000/e1000_phy.c head/sys/dev/e1000/e1000_phy.h head/sys/dev/e1000/e1000_regs.h head/sys/dev/e1000/e1000_vf.c head/sys/dev/e1000/e1000_vf.h head/sys/dev/e1000/if_igb.c head/sys/dev/e1000/if_igb.h Modified: head/sys/dev/e1000/e1000_82575.c ============================================================================== --- head/sys/dev/e1000/e1000_82575.c Fri Feb 11 00:41:49 2011 (r218529) +++ head/sys/dev/e1000/e1000_82575.c Fri Feb 11 01:00:26 2011 (r218530) @@ -60,10 +60,14 @@ static s32 e1000_read_phy_reg_sgmii_825 u16 *data); static s32 e1000_reset_hw_82575(struct e1000_hw *hw); static s32 e1000_reset_hw_82580(struct e1000_hw *hw); -static s32 e1000_read_phy_reg_82580(struct e1000_hw *hw, +static s32 e1000_read_phy_reg_82580(struct e1000_hw *hw, u32 offset, u16 *data); -static s32 e1000_write_phy_reg_82580(struct e1000_hw *hw, +static s32 e1000_write_phy_reg_82580(struct e1000_hw *hw, u32 offset, u16 data); +static s32 e1000_set_d0_lplu_state_82580(struct e1000_hw *hw, + bool active); +static s32 e1000_set_d3_lplu_state_82580(struct e1000_hw *hw, + bool active); static s32 e1000_set_d0_lplu_state_82575(struct e1000_hw *hw, bool active); static s32 e1000_setup_copper_link_82575(struct e1000_hw *hw); @@ -86,6 +90,14 @@ static void e1000_shutdown_serdes_link_8 static void e1000_power_up_serdes_link_82575(struct e1000_hw *hw); static s32 e1000_set_pcie_completion_timeout(struct e1000_hw *hw); static s32 e1000_reset_mdicnfg_82580(struct e1000_hw *hw); +static s32 e1000_validate_nvm_checksum_82580(struct e1000_hw *hw); +static s32 e1000_update_nvm_checksum_82580(struct e1000_hw *hw); +static s32 e1000_update_nvm_checksum_with_offset(struct e1000_hw *hw, + u16 offset); +static s32 e1000_validate_nvm_checksum_with_offset(struct e1000_hw *hw, + u16 offset); +static s32 e1000_validate_nvm_checksum_i350(struct e1000_hw *hw); +static s32 e1000_update_nvm_checksum_i350(struct e1000_hw *hw); static const u16 e1000_82580_rxpbs_table[] = { 36, 72, 144, 1, 2, 4, 8, 16, @@ -115,6 +127,7 @@ static bool e1000_sgmii_uses_mdio_82575( ext_mdio = !!(reg & E1000_MDIC_DEST); break; case e1000_82580: + case e1000_i350: reg = E1000_READ_REG(hw, E1000_MDICNFG); ext_mdio = !!(reg & E1000_MDICNFG_EXT_MDIO); break; @@ -165,7 +178,7 @@ static s32 e1000_init_phy_params_82575(s E1000_WRITE_REG(hw, E1000_CTRL_EXT, ctrl_ext); e1000_reset_mdicnfg_82580(hw); - + if (e1000_sgmii_active_82575(hw) && !e1000_sgmii_uses_mdio_82575(hw)) { phy->ops.read_reg = e1000_read_phy_reg_sgmii_82575; phy->ops.write_reg = e1000_write_phy_reg_sgmii_82575; @@ -182,11 +195,17 @@ static s32 e1000_init_phy_params_82575(s /* Verify phy id and set remaining function pointers */ switch (phy->id) { + case I347AT4_E_PHY_ID: + case M88E1112_E_PHY_ID: case M88E1111_I_PHY_ID: phy->type = e1000_phy_m88; phy->ops.check_polarity = e1000_check_polarity_m88; phy->ops.get_info = e1000_get_phy_info_m88; - phy->ops.get_cable_length = e1000_get_cable_length_m88; + if (phy->id == I347AT4_E_PHY_ID || + phy->id == M88E1112_E_PHY_ID) + phy->ops.get_cable_length = e1000_get_cable_length_m88_gen2; + else + phy->ops.get_cable_length = e1000_get_cable_length_m88; phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_m88; break; case IGP03E1000_E_PHY_ID: @@ -200,11 +219,14 @@ static s32 e1000_init_phy_params_82575(s phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_generic; break; case I82580_I_PHY_ID: + case I350_I_PHY_ID: phy->type = e1000_phy_82580; phy->ops.check_polarity = e1000_check_polarity_82577; phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_82577; phy->ops.get_cable_length = e1000_get_cable_length_82577; phy->ops.get_info = e1000_get_phy_info_82577; + phy->ops.set_d0_lplu_state = e1000_set_d0_lplu_state_82580; + phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_82580; break; default: ret_val = -E1000_ERR_PHY; @@ -227,6 +249,16 @@ static s32 e1000_init_nvm_params_82575(s DEBUGFUNC("e1000_init_nvm_params_82575"); + size = (u16)((eecd & E1000_EECD_SIZE_EX_MASK) >> + E1000_EECD_SIZE_EX_SHIFT); + /* + * Added to a constant, "size" becomes the left-shift value + * for setting word_size. + */ + size += NVM_WORD_SIZE_BASE_SHIFT; + + nvm->word_size = 1 << size; + nvm->opcode_bits = 8; nvm->delay_usec = 1; switch (nvm->override) { @@ -244,30 +276,36 @@ static s32 e1000_init_nvm_params_82575(s break; } - nvm->type = e1000_nvm_eeprom_spi; - - size = (u16)((eecd & E1000_EECD_SIZE_EX_MASK) >> - E1000_EECD_SIZE_EX_SHIFT); + nvm->type = e1000_nvm_eeprom_spi; - /* - * Added to a constant, "size" becomes the left-shift value - * for setting word_size. - */ - size += NVM_WORD_SIZE_BASE_SHIFT; + if (nvm->word_size == (1 << 15)) { + nvm->page_size = 128; + } - /* EEPROM access above 16k is unsupported */ - if (size > 14) - size = 14; - nvm->word_size = 1 << size; /* Function Pointers */ - nvm->ops.acquire = e1000_acquire_nvm_82575; - nvm->ops.read = e1000_read_nvm_eerd; - nvm->ops.release = e1000_release_nvm_82575; - nvm->ops.update = e1000_update_nvm_checksum_generic; + nvm->ops.acquire = e1000_acquire_nvm_82575; + if (nvm->word_size < (1 << 15)) { + nvm->ops.read = e1000_read_nvm_eerd; + } else { + nvm->ops.read = e1000_read_nvm_spi; + } + nvm->ops.release = e1000_release_nvm_82575; nvm->ops.valid_led_default = e1000_valid_led_default_82575; - nvm->ops.validate = e1000_validate_nvm_checksum_generic; - nvm->ops.write = e1000_write_nvm_spi; + switch (hw->mac.type) { + case e1000_82580: + nvm->ops.validate = e1000_validate_nvm_checksum_82580; + nvm->ops.update = e1000_update_nvm_checksum_82580; + break; + case e1000_i350: + nvm->ops.validate = e1000_validate_nvm_checksum_i350; + nvm->ops.update = e1000_update_nvm_checksum_i350; + break; + default: + nvm->ops.validate = e1000_validate_nvm_checksum_generic; + nvm->ops.update = e1000_update_nvm_checksum_generic; + } + nvm->ops.write = e1000_write_nvm_spi; return E1000_SUCCESS; } @@ -318,6 +356,12 @@ static s32 e1000_init_mac_params_82575(s mac->rar_entry_count = E1000_RAR_ENTRIES_82576; if (mac->type == e1000_82580) mac->rar_entry_count = E1000_RAR_ENTRIES_82580; + if (mac->type == e1000_i350) { + mac->rar_entry_count = E1000_RAR_ENTRIES_I350; + /* Enable EEE default settings for i350 */ + dev_spec->eee_disable = FALSE; + } + /* Set if part includes ASF firmware */ mac->asf_firmware_present = TRUE; /* FWSM register */ @@ -550,6 +594,7 @@ static s32 e1000_get_phy_id_82575(struct phy->addr = mdic >> E1000_MDIC_PHY_SHIFT; break; case e1000_82580: + case e1000_i350: mdic = E1000_READ_REG(hw, E1000_MDICNFG); mdic &= E1000_MDICNFG_PHY_MASK; phy->addr = mdic >> E1000_MDICNFG_PHY_SHIFT; @@ -730,6 +775,103 @@ out: } /** + * e1000_set_d0_lplu_state_82580 - Set Low Power Linkup D0 state + * @hw: pointer to the HW structure + * @active: TRUE to enable LPLU, FALSE to disable + * + * Sets the LPLU D0 state according to the active flag. When + * activating LPLU this function also disables smart speed + * and vice versa. LPLU will not be activated unless the + * device autonegotiation advertisement meets standards of + * either 10 or 10/100 or 10/100/1000 at all duplexes. + * This is a function pointer entry point only called by + * PHY setup routines. + **/ +static s32 e1000_set_d0_lplu_state_82580(struct e1000_hw *hw, bool active) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val = E1000_SUCCESS; + u16 data; + + DEBUGFUNC("e1000_set_d0_lplu_state_82580"); + + data = E1000_READ_REG(hw, E1000_82580_PHY_POWER_MGMT); + + if (active) { + data |= E1000_82580_PM_D0_LPLU; + + /* When LPLU is enabled, we should disable SmartSpeed */ + data &= ~E1000_82580_PM_SPD; + } else { + data &= ~E1000_82580_PM_D0_LPLU; + + /* + * LPLU and SmartSpeed are mutually exclusive. LPLU is used + * during Dx states where the power conservation is most + * important. During driver activity we should enable + * SmartSpeed, so performance is maintained. + */ + if (phy->smart_speed == e1000_smart_speed_on) { + data |= E1000_82580_PM_SPD; + } else if (phy->smart_speed == e1000_smart_speed_off) { + data &= ~E1000_82580_PM_SPD; + } + } + + E1000_WRITE_REG(hw, E1000_82580_PHY_POWER_MGMT, data); + return ret_val; +} + +/** + * e1000_set_d3_lplu_state_82580 - Sets low power link up state for D3 + * @hw: pointer to the HW structure + * @active: boolean used to enable/disable lplu + * + * Success returns 0, Failure returns 1 + * + * The low power link up (lplu) state is set to the power management level D3 + * and SmartSpeed is disabled when active is TRUE, else clear lplu for D3 + * and enable Smartspeed. LPLU and Smartspeed are mutually exclusive. LPLU + * is used during Dx states where the power conservation is most important. + * During driver activity, SmartSpeed should be enabled so performance is + * maintained. + **/ +s32 e1000_set_d3_lplu_state_82580(struct e1000_hw *hw, bool active) +{ + struct e1000_phy_info *phy = &hw->phy; + s32 ret_val = E1000_SUCCESS; + u16 data; + + DEBUGFUNC("e1000_set_d3_lplu_state_82580"); + + data = E1000_READ_REG(hw, E1000_82580_PHY_POWER_MGMT); + + if (!active) { + data &= ~E1000_82580_PM_D3_LPLU; + /* + * LPLU and SmartSpeed are mutually exclusive. LPLU is used + * during Dx states where the power conservation is most + * important. During driver activity we should enable + * SmartSpeed, so performance is maintained. + */ + if (phy->smart_speed == e1000_smart_speed_on) { + data |= E1000_82580_PM_SPD; + } else if (phy->smart_speed == e1000_smart_speed_off) { + data &= ~E1000_82580_PM_SPD; + } + } else if ((phy->autoneg_advertised == E1000_ALL_SPEED_DUPLEX) || + (phy->autoneg_advertised == E1000_ALL_NOT_GIG) || + (phy->autoneg_advertised == E1000_ALL_10_SPEED)) { + data |= E1000_82580_PM_D3_LPLU; + /* When LPLU is enabled, we should disable SmartSpeed */ + data &= ~E1000_82580_PM_SPD; + } + + E1000_WRITE_REG(hw, E1000_82580_PHY_POWER_MGMT, data); + return ret_val; +} + +/** * e1000_acquire_nvm_82575 - Request for access to EEPROM * @hw: pointer to the HW structure * @@ -1076,7 +1218,7 @@ void e1000_shutdown_serdes_link_82575(st **/ static s32 e1000_reset_hw_82575(struct e1000_hw *hw) { - u32 ctrl, icr; + u32 ctrl; s32 ret_val; DEBUGFUNC("e1000_reset_hw_82575"); @@ -1126,7 +1268,7 @@ static s32 e1000_reset_hw_82575(struct e /* Clear any pending interrupt events. */ E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); /* Install any alternate MAC address into RAR0 */ ret_val = e1000_check_alt_mac_addr_generic(hw); @@ -1222,7 +1364,11 @@ static s32 e1000_setup_copper_link_82575 } switch (hw->phy.type) { case e1000_phy_m88: - ret_val = e1000_copper_link_setup_m88(hw); + if (hw->phy.id == I347AT4_E_PHY_ID || + hw->phy.id == M88E1112_E_PHY_ID) + ret_val = e1000_copper_link_setup_m88_gen2(hw); + else + ret_val = e1000_copper_link_setup_m88(hw); break; case e1000_phy_igp_3: ret_val = e1000_copper_link_setup_igp(hw); @@ -1570,7 +1716,7 @@ static void e1000_clear_hw_cntrs_82575(s } /** - * e1000_rx_fifo_flush_82575 - Clean rx fifo after RX enable + * e1000_rx_fifo_flush_82575 - Clean rx fifo after Rx enable * @hw: pointer to the HW structure * * After rx enable if managability is enabled then there is likely some @@ -1588,7 +1734,7 @@ void e1000_rx_fifo_flush_82575(struct e1 !(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN)) return; - /* Disable all RX queues */ + /* Disable all Rx queues */ for (i = 0; i < 4; i++) { rxdctl[i] = E1000_READ_REG(hw, E1000_RXDCTL(i)); E1000_WRITE_REG(hw, E1000_RXDCTL(i), @@ -1626,7 +1772,7 @@ void e1000_rx_fifo_flush_82575(struct e1 E1000_WRITE_FLUSH(hw); msec_delay(2); - /* Enable RX queues that were previously enabled and restore our + /* Enable Rx queues that were previously enabled and restore our * previous state */ for (i = 0; i < 4; i++) @@ -1709,6 +1855,7 @@ void e1000_vmdq_set_anti_spoofing_pf(str switch (hw->mac.type) { case e1000_82576: + case e1000_i350: dtxswc = E1000_READ_REG(hw, E1000_DTXSWC); if (enable) { dtxswc |= (E1000_DTXSWC_MAC_SPOOF_MASK | @@ -1747,6 +1894,14 @@ void e1000_vmdq_set_loopback_pf(struct e dtxswc &= ~E1000_DTXSWC_VMDQ_LOOPBACK_EN; E1000_WRITE_REG(hw, E1000_DTXSWC, dtxswc); break; + case e1000_i350: + dtxswc = E1000_READ_REG(hw, E1000_TXSWC); + if (enable) + dtxswc |= E1000_DTXSWC_VMDQ_LOOPBACK_EN; + else + dtxswc &= ~E1000_DTXSWC_VMDQ_LOOPBACK_EN; + E1000_WRITE_REG(hw, E1000_TXSWC, dtxswc); + break; default: /* Currently no other hardware supports loopback */ break; @@ -1839,7 +1994,7 @@ static s32 e1000_reset_mdicnfg_82580(str { s32 ret_val = E1000_SUCCESS; u32 mdicnfg; - u16 nvm_data; + u16 nvm_data = 0; DEBUGFUNC("e1000_reset_mdicnfg_82580"); @@ -1878,7 +2033,7 @@ static s32 e1000_reset_hw_82580(struct e s32 ret_val = E1000_SUCCESS; /* BH SW mailbox bit in SW_FW_SYNC */ u16 swmbsw_mask = E1000_SW_SYNCH_MB; - u32 ctrl, icr; + u32 ctrl; bool global_device_reset = hw->dev_spec._82575.global_device_reset; DEBUGFUNC("e1000_reset_hw_82580"); @@ -1940,7 +2095,7 @@ static s32 e1000_reset_hw_82580(struct e /* Clear any pending interrupt events. */ E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); ret_val = e1000_reset_mdicnfg_82580(hw); if (ret_val) @@ -1957,7 +2112,7 @@ static s32 e1000_reset_hw_82580(struct e } /** - * e1000_rxpbs_adjust_82580 - adjust RXPBS value to reflect actual RX PBA size + * e1000_rxpbs_adjust_82580 - adjust RXPBS value to reflect actual Rx PBA size * @data: data received by reading RXPBS register * * The 82580 uses a table based approach for packet buffer allocation sizes. @@ -1975,3 +2130,263 @@ u16 e1000_rxpbs_adjust_82580(u32 data) return ret_val; } + +/** + * e1000_validate_nvm_checksum_with_offset - Validate EEPROM + * checksum + * @hw: pointer to the HW structure + * @offset: offset in words of the checksum protected region + * + * Calculates the EEPROM checksum by reading/adding each word of the EEPROM + * and then verifies that the sum of the EEPROM is equal to 0xBABA. + **/ +s32 e1000_validate_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset) +{ + s32 ret_val = E1000_SUCCESS; + u16 checksum = 0; + u16 i, nvm_data; + + DEBUGFUNC("e1000_validate_nvm_checksum_with_offset"); + + for (i = offset; i < ((NVM_CHECKSUM_REG + offset) + 1); i++) { + ret_val = hw->nvm.ops.read(hw, i, 1, &nvm_data); + if (ret_val) { + DEBUGOUT("NVM Read Error\n"); + goto out; + } + checksum += nvm_data; + } + + if (checksum != (u16) NVM_SUM) { + DEBUGOUT("NVM Checksum Invalid\n"); + ret_val = -E1000_ERR_NVM; + goto out; + } + +out: + return ret_val; +} + +/** + * e1000_update_nvm_checksum_with_offset - Update EEPROM + * checksum + * @hw: pointer to the HW structure + * @offset: offset in words of the checksum protected region + * + * Updates the EEPROM checksum by reading/adding each word of the EEPROM + * up to the checksum. Then calculates the EEPROM checksum and writes the + * value to the EEPROM. + **/ +s32 e1000_update_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset) +{ + s32 ret_val; + u16 checksum = 0; + u16 i, nvm_data; + + DEBUGFUNC("e1000_update_nvm_checksum_with_offset"); + + for (i = offset; i < (NVM_CHECKSUM_REG + offset); i++) { + ret_val = hw->nvm.ops.read(hw, i, 1, &nvm_data); + if (ret_val) { + DEBUGOUT("NVM Read Error while updating checksum.\n"); + goto out; + } + checksum += nvm_data; + } + checksum = (u16) NVM_SUM - checksum; + ret_val = hw->nvm.ops.write(hw, (NVM_CHECKSUM_REG + offset), 1, + &checksum); + if (ret_val) + DEBUGOUT("NVM Write Error while updating checksum.\n"); + +out: + return ret_val; +} + +/** + * e1000_validate_nvm_checksum_82580 - Validate EEPROM checksum + * @hw: pointer to the HW structure + * + * Calculates the EEPROM section checksum by reading/adding each word of + * the EEPROM and then verifies that the sum of the EEPROM is + * equal to 0xBABA. + **/ +static s32 e1000_validate_nvm_checksum_82580(struct e1000_hw *hw) +{ + s32 ret_val = E1000_SUCCESS; + u16 eeprom_regions_count = 1; + u16 j, nvm_data; + u16 nvm_offset; + + DEBUGFUNC("e1000_validate_nvm_checksum_82580"); + + ret_val = hw->nvm.ops.read(hw, NVM_COMPATIBILITY_REG_3, 1, &nvm_data); + if (ret_val) { + DEBUGOUT("NVM Read Error\n"); + goto out; + } + + if (nvm_data & NVM_COMPATIBILITY_BIT_MASK) { + /* if chekcsums compatibility bit is set validate checksums + * for all 4 ports. */ + eeprom_regions_count = 4; + } + + for (j = 0; j < eeprom_regions_count; j++) { + nvm_offset = NVM_82580_LAN_FUNC_OFFSET(j); + ret_val = e1000_validate_nvm_checksum_with_offset(hw, + nvm_offset); + if (ret_val != E1000_SUCCESS) + goto out; + } + +out: + return ret_val; +} + +/** + * e1000_update_nvm_checksum_82580 - Update EEPROM checksum + * @hw: pointer to the HW structure + * + * Updates the EEPROM section checksums for all 4 ports by reading/adding + * each word of the EEPROM up to the checksum. Then calculates the EEPROM + * checksum and writes the value to the EEPROM. + **/ +static s32 e1000_update_nvm_checksum_82580(struct e1000_hw *hw) +{ + s32 ret_val; + u16 j, nvm_data; + u16 nvm_offset; + + DEBUGFUNC("e1000_update_nvm_checksum_82580"); + + ret_val = hw->nvm.ops.read(hw, NVM_COMPATIBILITY_REG_3, 1, &nvm_data); + if (ret_val) { + DEBUGOUT("NVM Read Error while updating checksum" + " compatibility bit.\n"); + goto out; + } + + if ((nvm_data & NVM_COMPATIBILITY_BIT_MASK) == 0) { + /* set compatibility bit to validate checksums appropriately */ + nvm_data = nvm_data | NVM_COMPATIBILITY_BIT_MASK; + ret_val = hw->nvm.ops.write(hw, NVM_COMPATIBILITY_REG_3, 1, + &nvm_data); + if (ret_val) { + DEBUGOUT("NVM Write Error while updating checksum" + " compatibility bit.\n"); + goto out; + } + } + + for (j = 0; j < 4; j++) { + nvm_offset = NVM_82580_LAN_FUNC_OFFSET(j); + ret_val = e1000_update_nvm_checksum_with_offset(hw, nvm_offset); + if (ret_val) { + goto out; + } + } + +out: + return ret_val; +} + +/** + * e1000_validate_nvm_checksum_i350 - Validate EEPROM checksum + * @hw: pointer to the HW structure + * + * Calculates the EEPROM section checksum by reading/adding each word of + * the EEPROM and then verifies that the sum of the EEPROM is + * equal to 0xBABA. + **/ +static s32 e1000_validate_nvm_checksum_i350(struct e1000_hw *hw) +{ + s32 ret_val = E1000_SUCCESS; + u16 j; + u16 nvm_offset; + + DEBUGFUNC("e1000_validate_nvm_checksum_i350"); + + for (j = 0; j < 4; j++) { + nvm_offset = NVM_82580_LAN_FUNC_OFFSET(j); + ret_val = e1000_validate_nvm_checksum_with_offset(hw, + nvm_offset); + if (ret_val != E1000_SUCCESS) + goto out; + } + +out: + return ret_val; +} + +/** + * e1000_update_nvm_checksum_i350 - Update EEPROM checksum + * @hw: pointer to the HW structure + * + * Updates the EEPROM section checksums for all 4 ports by reading/adding + * each word of the EEPROM up to the checksum. Then calculates the EEPROM + * checksum and writes the value to the EEPROM. + **/ +static s32 e1000_update_nvm_checksum_i350(struct e1000_hw *hw) +{ + s32 ret_val = E1000_SUCCESS; + u16 j; + u16 nvm_offset; + + DEBUGFUNC("e1000_update_nvm_checksum_i350"); + + for (j = 0; j < 4; j++) { + nvm_offset = NVM_82580_LAN_FUNC_OFFSET(j); + ret_val = e1000_update_nvm_checksum_with_offset(hw, nvm_offset); + if (ret_val != E1000_SUCCESS) + goto out; + } + +out: + return ret_val; +} + +/** + * e1000_set_eee_i350 - Enable/disable EEE support + * @hw: pointer to the HW structure + * + * Enable/disable EEE based on setting in dev_spec structure. + * + **/ +s32 e1000_set_eee_i350(struct e1000_hw *hw) +{ + s32 ret_val = E1000_SUCCESS; + u32 ipcnfg, eeer, ctrl_ext; + + DEBUGFUNC("e1000_set_eee_i350"); + + ctrl_ext = E1000_READ_REG(hw, E1000_CTRL_EXT); + if ((hw->mac.type != e1000_i350) || + (ctrl_ext & E1000_CTRL_EXT_LINK_MODE_MASK)) + goto out; + ipcnfg = E1000_READ_REG(hw, E1000_IPCNFG); + eeer = E1000_READ_REG(hw, E1000_EEER); + + /* enable or disable per user setting */ + if (!(hw->dev_spec._82575.eee_disable)) { + ipcnfg |= (E1000_IPCNFG_EEE_1G_AN | + E1000_IPCNFG_EEE_100M_AN); + eeer |= (E1000_EEER_TX_LPI_EN | + E1000_EEER_RX_LPI_EN | + E1000_EEER_LPI_FC); + + } else { + ipcnfg &= ~(E1000_IPCNFG_EEE_1G_AN | + E1000_IPCNFG_EEE_100M_AN); + eeer &= ~(E1000_EEER_TX_LPI_EN | + E1000_EEER_RX_LPI_EN | + E1000_EEER_LPI_FC); + } + E1000_WRITE_REG(hw, E1000_IPCNFG, ipcnfg); + E1000_WRITE_REG(hw, E1000_EEER, eeer); + E1000_READ_REG(hw, E1000_IPCNFG); + E1000_READ_REG(hw, E1000_EEER); +out: + + return ret_val; +} Modified: head/sys/dev/e1000/e1000_82575.h ============================================================================== --- head/sys/dev/e1000/e1000_82575.h Fri Feb 11 00:41:49 2011 (r218529) +++ head/sys/dev/e1000/e1000_82575.h Fri Feb 11 01:00:26 2011 (r218530) @@ -52,6 +52,7 @@ #define E1000_RAR_ENTRIES_82575 16 #define E1000_RAR_ENTRIES_82576 24 #define E1000_RAR_ENTRIES_82580 24 +#define E1000_RAR_ENTRIES_I350 32 #define E1000_SW_SYNCH_MB 0x00000100 #define E1000_STAT_DEV_RST_SET 0x00100000 #define E1000_CTRL_DEV_RST 0x20000000 @@ -200,8 +201,8 @@ union e1000_adv_rx_desc { __le32 data; struct { __le16 pkt_info; /*RSS type, Pkt type*/ - __le16 hdr_info; /* Split Header, - * header buffer len*/ + /* Split Header, header buffer len */ + __le16 hdr_info; } hs_rss; } lo_dword; union { @@ -425,6 +426,14 @@ struct e1000_adv_tx_context_desc { #define E1000_VMOLR_STRVLAN 0x40000000 /* Vlan stripping enable */ #define E1000_VMOLR_STRCRC 0x80000000 /* CRC stripping enable */ +#define E1000_VMOLR_VPE 0x00800000 /* VLAN promiscuous enable */ +#define E1000_VMOLR_UPE 0x20000000 /* Unicast promisuous enable */ +#define E1000_DVMOLR_HIDVLAN 0x20000000 /* Vlan hiding enable */ +#define E1000_DVMOLR_STRVLAN 0x40000000 /* Vlan stripping enable */ +#define E1000_DVMOLR_STRCRC 0x80000000 /* CRC stripping enable */ + +#define E1000_PBRWAC_WALPB 0x00000007 /* Wrap around event on LAN Rx PB */ +#define E1000_PBRWAC_PBE 0x00000008 /* Rx packet buffer empty */ #define E1000_VLVF_ARRAY_SIZE 32 #define E1000_VLVF_VLANID_MASK 0x00000FFF @@ -455,7 +464,7 @@ struct e1000_adv_tx_context_desc { #define ALL_QUEUES 0xFFFF -/* RX packet buffer size defines */ +/* Rx packet buffer size defines */ #define E1000_RXPBS_SIZE_MASK_82576 0x0000007F void e1000_vmdq_set_loopback_pf(struct e1000_hw *hw, bool enable); void e1000_vmdq_set_anti_spoofing_pf(struct e1000_hw *hw, bool enable, int pf); @@ -472,4 +481,5 @@ void e1000_vfta_set_vf(struct e1000_hw * void e1000_rlpml_set_vf(struct e1000_hw *, u16); s32 e1000_promisc_set_vf(struct e1000_hw *, enum e1000_promisc_type type); u16 e1000_rxpbs_adjust_82580(u32 data); +s32 e1000_set_eee_i350(struct e1000_hw *); #endif /* _E1000_82575_H_ */ Modified: head/sys/dev/e1000/e1000_api.c ============================================================================== --- head/sys/dev/e1000/e1000_api.c Fri Feb 11 00:41:49 2011 (r218529) +++ head/sys/dev/e1000/e1000_api.c Fri Feb 11 01:00:26 2011 (r218530) @@ -314,11 +314,22 @@ s32 e1000_set_mac_type(struct e1000_hw * case E1000_DEV_ID_82580_QUAD_FIBER: case E1000_DEV_ID_DH89XXCC_SGMII: case E1000_DEV_ID_DH89XXCC_SERDES: + case E1000_DEV_ID_DH89XXCC_BACKPLANE: + case E1000_DEV_ID_DH89XXCC_SFP: mac->type = e1000_82580; break; + case E1000_DEV_ID_I350_COPPER: + case E1000_DEV_ID_I350_FIBER: + case E1000_DEV_ID_I350_SERDES: + case E1000_DEV_ID_I350_SGMII: + mac->type = e1000_i350; + break; case E1000_DEV_ID_82576_VF: mac->type = e1000_vfadapt; break; + case E1000_DEV_ID_I350_VF: + mac->type = e1000_vfadapt_i350; + break; default: /* Should never have loaded on this device */ ret_val = -E1000_ERR_MAC_INIT; @@ -412,11 +423,15 @@ s32 e1000_setup_init_funcs(struct e1000_ case e1000_82575: case e1000_82576: case e1000_82580: + case e1000_i350: e1000_init_function_pointers_82575(hw); break; case e1000_vfadapt: e1000_init_function_pointers_vf(hw); break; + case e1000_vfadapt_i350: + e1000_init_function_pointers_vf(hw); + break; default: DEBUGOUT("Hardware not supported\n"); ret_val = -E1000_ERR_CONFIG; @@ -1173,21 +1188,6 @@ s32 e1000_read_pba_length(struct e1000_h } /** - * e1000_read_pba_num - Read device part number - * @hw: pointer to the HW structure - * @pba_num: pointer to device part number - * - * Reads the product board assembly (PBA) number from the EEPROM and stores - * the value in pba_num. - * Currently no func pointer exists and all implementations are handled in the - * generic version of this function. - **/ -s32 e1000_read_pba_num(struct e1000_hw *hw, u32 *pba_num) -{ - return e1000_read_pba_num_generic(hw, pba_num); -} - -/** * e1000_validate_nvm_checksum - Verifies NVM (EEPROM) checksum * @hw: pointer to the HW structure * Modified: head/sys/dev/e1000/e1000_api.h ============================================================================== --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 00:41:49 2011 (r218529) +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 01:00:26 2011 (r218530) @@ -96,7 +96,6 @@ s32 e1000_phy_commit(struct e1000_hw *h void e1000_power_up_phy(struct e1000_hw *hw); void e1000_power_down_phy(struct e1000_hw *hw); s32 e1000_read_mac_addr(struct e1000_hw *hw); -s32 e1000_read_pba_num(struct e1000_hw *hw, u32 *part_num); s32 e1000_read_pba_string(struct e1000_hw *hw, u8 *pba_num, u32 pba_num_size); s32 e1000_read_pba_length(struct e1000_hw *hw, u32 *pba_num_size); Modified: head/sys/dev/e1000/e1000_defines.h ============================================================================== --- head/sys/dev/e1000/e1000_defines.h Fri Feb 11 00:41:49 2011 (r218529) +++ head/sys/dev/e1000/e1000_defines.h Fri Feb 11 01:00:26 2011 (r218530) @@ -46,6 +46,7 @@ #define E1000_WUC_PME_STATUS 0x00000004 /* PME Status */ #define E1000_WUC_APMPME 0x00000008 /* Assert PME on APM Wakeup */ #define E1000_WUC_LSCWE 0x00000010 /* Link Status wake up enable */ +#define E1000_WUC_PPROXYE 0x00000010 /* Protocol Proxy Enable */ #define E1000_WUC_LSCWO 0x00000020 /* Link Status wake up override */ #define E1000_WUC_SPM 0x80000000 /* Enable SPM */ #define E1000_WUC_PHY_WAKE 0x00000100 /* if PHY supports wakeup */ @@ -77,6 +78,7 @@ #define E1000_WUFC_FLX5 0x00200000 /* Flexible Filter 5 Enable */ #define E1000_WUFC_FLX6 0x00400000 /* Flexible Filter 6 Enable */ #define E1000_WUFC_FLX7 0x00800000 /* Flexible Filter 7 Enable */ +#define E1000_WUFC_FW_RST 0x80000000 /* Wake on FW Reset Enable */ #define E1000_WUFC_ALL_FILTERS_PHY_4 0x0000F0FF /*Mask for all wakeup filters*/ #define E1000_WUFC_FLX_OFFSET_PHY 12 /* Offset to the Flexible Filters bits */ #define E1000_WUFC_FLX_FILTERS_PHY_4 0x0000F000 /*Mask for 4 flexible filters*/ @@ -324,6 +326,8 @@ #define E1000_MANC_SMB_DATA_IN 0x08000000 /* SMBus Data In */ #define E1000_MANC_SMB_DATA_OUT 0x10000000 /* SMBus Data Out */ #define E1000_MANC_SMB_CLK_OUT 0x20000000 /* SMBus Clock Out */ +#define E1000_MANC_MPROXYE 0x40000000 /* Mngment Proxy Enable */ +#define E1000_MANC_EN_BMC2OS 0x10000000 /* OS2BMC is enabled or not */ #define E1000_MANC_SMB_DATA_OUT_SHIFT 28 /* SMBus Data Out Shift */ #define E1000_MANC_SMB_CLK_OUT_SHIFT 29 /* SMBus Clock Out Shift */ @@ -346,9 +350,9 @@ #define E1000_RCTL_LBM_TCVR 0x000000C0 /* tcvr loopback mode */ #define E1000_RCTL_DTYP_MASK 0x00000C00 /* Descriptor type mask */ #define E1000_RCTL_DTYP_PS 0x00000400 /* Packet Split descriptor */ -#define E1000_RCTL_RDMTS_HALF 0x00000000 /* rx desc min thresh size */ -#define E1000_RCTL_RDMTS_QUAT 0x00000100 /* rx desc min thresh size */ -#define E1000_RCTL_RDMTS_EIGTH 0x00000200 /* rx desc min thresh size */ +#define E1000_RCTL_RDMTS_HALF 0x00000000 /* Rx desc min thresh size */ +#define E1000_RCTL_RDMTS_QUAT 0x00000100 /* Rx desc min thresh size */ +#define E1000_RCTL_RDMTS_EIGTH 0x00000200 /* Rx desc min thresh size */ #define E1000_RCTL_MO_SHIFT 12 /* multicast offset shift */ #define E1000_RCTL_MO_0 0x00000000 /* multicast offset 11:0 */ #define E1000_RCTL_MO_1 0x00001000 /* multicast offset 12:1 */ @@ -357,14 +361,14 @@ #define E1000_RCTL_MDR 0x00004000 /* multicast desc ring 0 */ #define E1000_RCTL_BAM 0x00008000 /* broadcast enable */ /* these buffer sizes are valid if E1000_RCTL_BSEX is 0 */ -#define E1000_RCTL_SZ_2048 0x00000000 /* rx buffer size 2048 */ -#define E1000_RCTL_SZ_1024 0x00010000 /* rx buffer size 1024 */ -#define E1000_RCTL_SZ_512 0x00020000 /* rx buffer size 512 */ -#define E1000_RCTL_SZ_256 0x00030000 /* rx buffer size 256 */ +#define E1000_RCTL_SZ_2048 0x00000000 /* Rx buffer size 2048 */ +#define E1000_RCTL_SZ_1024 0x00010000 /* Rx buffer size 1024 */ +#define E1000_RCTL_SZ_512 0x00020000 /* Rx buffer size 512 */ +#define E1000_RCTL_SZ_256 0x00030000 /* Rx buffer size 256 */ /* these buffer sizes are valid if E1000_RCTL_BSEX is 1 */ -#define E1000_RCTL_SZ_16384 0x00010000 /* rx buffer size 16384 */ -#define E1000_RCTL_SZ_8192 0x00020000 /* rx buffer size 8192 */ -#define E1000_RCTL_SZ_4096 0x00030000 /* rx buffer size 4096 */ +#define E1000_RCTL_SZ_16384 0x00010000 /* Rx buffer size 16384 */ +#define E1000_RCTL_SZ_8192 0x00020000 /* Rx buffer size 8192 */ +#define E1000_RCTL_SZ_4096 0x00030000 /* Rx buffer size 4096 */ #define E1000_RCTL_VFE 0x00040000 /* vlan filter enable */ #define E1000_RCTL_CFIEN 0x00080000 /* canonical form enable */ #define E1000_RCTL_CFI 0x00100000 /* canonical form indicator */ @@ -409,6 +413,7 @@ #define E1000_SWFW_CSR_SM 0x08 #define E1000_SWFW_PHY2_SM 0x20 #define E1000_SWFW_PHY3_SM 0x40 +#define E1000_SWFW_SW_MNG_SM 0x400 /* FACTPS Definitions */ #define E1000_FACTPS_LFS 0x40000000 /* LAN Function Select */ @@ -645,7 +650,7 @@ /* Transmit Control */ #define E1000_TCTL_RST 0x00000001 /* software reset */ -#define E1000_TCTL_EN 0x00000002 /* enable tx */ +#define E1000_TCTL_EN 0x00000002 /* enable Tx */ #define E1000_TCTL_BCE 0x00000004 /* busy check enable */ #define E1000_TCTL_PSP 0x00000008 /* pad short packets */ #define E1000_TCTL_CT 0x00000ff0 /* collision threshold */ @@ -780,10 +785,10 @@ #define E1000_ICR_TXDW 0x00000001 /* Transmit desc written back */ #define E1000_ICR_TXQE 0x00000002 /* Transmit Queue empty */ #define E1000_ICR_LSC 0x00000004 /* Link Status Change */ -#define E1000_ICR_RXSEQ 0x00000008 /* rx sequence error */ -#define E1000_ICR_RXDMT0 0x00000010 /* rx desc min. threshold (0) */ -#define E1000_ICR_RXO 0x00000040 /* rx overrun */ -#define E1000_ICR_RXT0 0x00000080 /* rx timer intr (ring 0) */ +#define E1000_ICR_RXSEQ 0x00000008 /* Rx sequence error */ +#define E1000_ICR_RXDMT0 0x00000010 /* Rx desc min. threshold (0) */ +#define E1000_ICR_RXO 0x00000040 /* Rx overrun */ +#define E1000_ICR_RXT0 0x00000080 /* Rx timer intr (ring 0) */ #define E1000_ICR_VMMB 0x00000100 /* VM MB event */ #define E1000_ICR_MDAC 0x00000200 /* MDIO access complete */ #define E1000_ICR_RXCFG 0x00000400 /* Rx /c/ ordered set */ @@ -819,12 +824,14 @@ #define E1000_ICR_OTHER 0x01000000 /* Other Interrupts */ #define E1000_ICR_FER 0x00400000 /* Fatal Error */ +#define E1000_ICR_THS 0x00800000 /* ICR.THS: Thermal Sensor Event*/ +#define E1000_ICR_MDDET 0x10000000 /* Malicious Driver Detect */ /* PBA ECC Register */ #define E1000_PBA_ECC_COUNTER_MASK 0xFFF00000 /* ECC counter mask */ #define E1000_PBA_ECC_COUNTER_SHIFT 20 /* ECC counter shift value */ -#define E1000_PBA_ECC_CORR_EN 0x00000001 /* Enable ECC error correction */ -#define E1000_PBA_ECC_STAT_CLR 0x00000002 /* Clear ECC error counter */ -#define E1000_PBA_ECC_INT_EN 0x00000004 /* Enable ICR bit 5 on ECC error */ +#define E1000_PBA_ECC_CORR_EN 0x00000001 /* Enable ECC error correction */ +#define E1000_PBA_ECC_STAT_CLR 0x00000002 /* Clear ECC error counter */ +#define E1000_PBA_ECC_INT_EN 0x00000004 /* Enable ICR bit 5 on ECC error */ /* Extended Interrupt Cause Read */ #define E1000_EICR_RX_QUEUE0 0x00000001 /* Rx Queue 0 Interrupt */ @@ -874,10 +881,10 @@ #define E1000_IMS_TXQE E1000_ICR_TXQE /* Transmit Queue empty */ #define E1000_IMS_LSC E1000_ICR_LSC /* Link Status Change */ #define E1000_IMS_VMMB E1000_ICR_VMMB /* Mail box activity */ -#define E1000_IMS_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */ -#define E1000_IMS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */ -#define E1000_IMS_RXO E1000_ICR_RXO /* rx overrun */ -#define E1000_IMS_RXT0 E1000_ICR_RXT0 /* rx timer intr */ +#define E1000_IMS_RXSEQ E1000_ICR_RXSEQ /* Rx sequence error */ +#define E1000_IMS_RXDMT0 E1000_ICR_RXDMT0 /* Rx desc min. threshold */ +#define E1000_IMS_RXO E1000_ICR_RXO /* Rx overrun */ +#define E1000_IMS_RXT0 E1000_ICR_RXT0 /* Rx timer intr */ #define E1000_IMS_MDAC E1000_ICR_MDAC /* MDIO access complete */ #define E1000_IMS_RXCFG E1000_ICR_RXCFG /* Rx /c/ ordered set */ #define E1000_IMS_GPI_EN0 E1000_ICR_GPI_EN0 /* GP Int 0 */ @@ -913,6 +920,8 @@ #define E1000_IMS_OTHER E1000_ICR_OTHER /* Other Interrupts */ #define E1000_IMS_FER E1000_ICR_FER /* Fatal Error */ +#define E1000_IMS_THS E1000_ICR_THS /* ICR.TS: Thermal Sensor Event*/ +#define E1000_IMS_MDDET E1000_ICR_MDDET /* Malicious Driver Detect */ /* Extended Interrupt Mask Set */ #define E1000_EIMS_RX_QUEUE0 E1000_EICR_RX_QUEUE0 /* Rx Queue 0 Interrupt */ #define E1000_EIMS_RX_QUEUE1 E1000_EICR_RX_QUEUE1 /* Rx Queue 1 Interrupt */ @@ -929,10 +938,10 @@ #define E1000_ICS_TXDW E1000_ICR_TXDW /* Tx desc written back */ #define E1000_ICS_TXQE E1000_ICR_TXQE /* Transmit Queue empty */ #define E1000_ICS_LSC E1000_ICR_LSC /* Link Status Change */ -#define E1000_ICS_RXSEQ E1000_ICR_RXSEQ /* rx sequence error */ -#define E1000_ICS_RXDMT0 E1000_ICR_RXDMT0 /* rx desc min. threshold */ -#define E1000_ICS_RXO E1000_ICR_RXO /* rx overrun */ -#define E1000_ICS_RXT0 E1000_ICR_RXT0 /* rx timer intr */ +#define E1000_ICS_RXSEQ E1000_ICR_RXSEQ /* Rx sequence error */ +#define E1000_ICS_RXDMT0 E1000_ICR_RXDMT0 /* Rx desc min. threshold */ +#define E1000_ICS_RXO E1000_ICR_RXO /* Rx overrun */ +#define E1000_ICS_RXT0 E1000_ICR_RXT0 /* Rx timer intr */ #define E1000_ICS_MDAC E1000_ICR_MDAC /* MDIO access complete */ #define E1000_ICS_RXCFG E1000_ICR_RXCFG /* Rx /c/ ordered set */ #define E1000_ICS_GPI_EN0 E1000_ICR_GPI_EN0 /* GP Int 0 */ @@ -976,14 +985,14 @@ #define E1000_EITR_ITR_INT_MASK 0x0000FFFF /* E1000_EITR_CNT_IGNR is only for 82576 and newer */ -#define E1000_EITR_CNT_IGNR 0x80000000 /* Don't reset counters on write */ +#define E1000_EITR_CNT_IGNR 0x80000000 /* Don't reset counters on write */ /* Transmit Descriptor Control */ -#define E1000_TXDCTL_PTHRESH 0x0000003F /* TXDCTL Prefetch Threshold */ -#define E1000_TXDCTL_HTHRESH 0x00003F00 /* TXDCTL Host Threshold */ -#define E1000_TXDCTL_WTHRESH 0x003F0000 /* TXDCTL Writeback Threshold */ -#define E1000_TXDCTL_GRAN 0x01000000 /* TXDCTL Granularity */ -#define E1000_TXDCTL_LWTHRESH 0xFE000000 /* TXDCTL Low Threshold */ +#define E1000_TXDCTL_PTHRESH 0x0000003F /* TXDCTL Prefetch Threshold */ +#define E1000_TXDCTL_HTHRESH 0x00003F00 /* TXDCTL Host Threshold */ +#define E1000_TXDCTL_WTHRESH 0x003F0000 /* TXDCTL Writeback Threshold */ +#define E1000_TXDCTL_GRAN 0x01000000 /* TXDCTL Granularity */ +#define E1000_TXDCTL_LWTHRESH 0xFE000000 /* TXDCTL Low Threshold */ #define E1000_TXDCTL_FULL_TX_DESC_WB 0x01010000 /* GRAN=1, WTHRESH=1 */ #define E1000_TXDCTL_MAX_TX_DESC_PREFETCH 0x0100001F /* GRAN=1, PTHRESH=31 */ /* Enable the counting of descriptors still to be processed. */ @@ -1010,8 +1019,10 @@ #define E1000_RAH_AV 0x80000000 /* Receive descriptor valid */ #define E1000_RAL_MAC_ADDR_LEN 4 #define E1000_RAH_MAC_ADDR_LEN 2 -#define E1000_RAH_POOL_MASK 0x03FC0000 -#define E1000_RAH_POOL_1 0x00040000 +#define E1000_RAH_QUEUE_MASK_82575 0x000C0000 +#define E1000_RAH_POOL_MASK 0x03FC0000 +#define E1000_RAH_POOL_SHIFT 18 +#define E1000_RAH_POOL_1 0x00040000 /* Error Codes */ #define E1000_SUCCESS 0 @@ -1073,17 +1084,17 @@ #define E1000_RXCW_SYNCH 0x40000000 /* Receive config synch */ #define E1000_RXCW_ANC 0x80000000 /* Auto-neg complete */ -#define E1000_TSYNCTXCTL_VALID 0x00000001 /* tx timestamp valid */ -#define E1000_TSYNCTXCTL_ENABLED 0x00000010 /* enable tx timestampping */ +#define E1000_TSYNCTXCTL_VALID 0x00000001 /* Tx timestamp valid */ +#define E1000_TSYNCTXCTL_ENABLED 0x00000010 /* enable Tx timestamping */ -#define E1000_TSYNCRXCTL_VALID 0x00000001 /* rx timestamp valid */ -#define E1000_TSYNCRXCTL_TYPE_MASK 0x0000000E /* rx type mask */ +#define E1000_TSYNCRXCTL_VALID 0x00000001 /* Rx timestamp valid */ +#define E1000_TSYNCRXCTL_TYPE_MASK 0x0000000E /* Rx type mask */ #define E1000_TSYNCRXCTL_TYPE_L2_V2 0x00 #define E1000_TSYNCRXCTL_TYPE_L4_V1 0x02 #define E1000_TSYNCRXCTL_TYPE_L2_L4_V2 0x04 #define E1000_TSYNCRXCTL_TYPE_ALL 0x08 #define E1000_TSYNCRXCTL_TYPE_EVENT_V2 0x0A -#define E1000_TSYNCRXCTL_ENABLED 0x00000010 /* enable rx timestampping */ +#define E1000_TSYNCRXCTL_ENABLED 0x00000010 /* enable Rx timestamping */ #define E1000_TSYNCRXCFG_PTP_V1_CTRLT_MASK 0x000000FF #define E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE 0x00 @@ -1129,6 +1140,23 @@ #define E1000_MDICNFG_PHY_MASK 0x03E00000 #define E1000_MDICNFG_PHY_SHIFT 21 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 02:24:04 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E47D1106564A; Fri, 11 Feb 2011 02:24:04 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D3F528FC0C; Fri, 11 Feb 2011 02:24:04 +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 p1B2O4a5042077; Fri, 11 Feb 2011 02:24:04 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B2O4eF042075; Fri, 11 Feb 2011 02:24:04 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102110224.p1B2O4eF042075@svn.freebsd.org> From: Warner Losh Date: Fri, 11 Feb 2011 02:24:04 +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: r218531 - head/lib/libpmc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 02:24:05 -0000 Author: imp Date: Fri Feb 11 02:24:04 2011 New Revision: 218531 URL: http://svn.freebsd.org/changeset/base/218531 Log: Don't require CPUTYPE to be defined for ARM, but use it if it is. Modified: head/lib/libpmc/Makefile Modified: head/lib/libpmc/Makefile ============================================================================== --- head/lib/libpmc/Makefile Fri Feb 11 01:00:26 2011 (r218530) +++ head/lib/libpmc/Makefile Fri Feb 11 02:24:04 2011 (r218531) @@ -38,7 +38,7 @@ MAN+= pmc.corei7uc.3 MAN+= pmc.westmere.3 MAN+= pmc.westmereuc.3 MAN+= pmc.tsc.3 -.elif ${MACHINE_CPUARCH} == "arm" && ${CPUTYPE} == "xscale" +.elif ${MACHINE_CPUARCH} == "arm" && defined(CPUTYPE) && ${CPUTYPE} == "xscale" MAN+= pmc.xscale.3 .endif From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 02:34:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BC97106564A; Fri, 11 Feb 2011 02:34:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6E28FC0A; Fri, 11 Feb 2011 02:34: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 p1B2YQwx042370; Fri, 11 Feb 2011 02:34:26 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B2YQo2042368; Fri, 11 Feb 2011 02:34:26 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102110234.p1B2YQo2042368@svn.freebsd.org> From: Warner Losh Date: Fri, 11 Feb 2011 02:34: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: r218532 - head/lib/libpmc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 02:34:26 -0000 Author: imp Date: Fri Feb 11 02:34:26 2011 New Revision: 218532 URL: http://svn.freebsd.org/changeset/base/218532 Log: Revert last commit: CPUTYPE will be defined here Modified: head/lib/libpmc/Makefile Modified: head/lib/libpmc/Makefile ============================================================================== --- head/lib/libpmc/Makefile Fri Feb 11 02:24:04 2011 (r218531) +++ head/lib/libpmc/Makefile Fri Feb 11 02:34:26 2011 (r218532) @@ -38,7 +38,7 @@ MAN+= pmc.corei7uc.3 MAN+= pmc.westmere.3 MAN+= pmc.westmereuc.3 MAN+= pmc.tsc.3 -.elif ${MACHINE_CPUARCH} == "arm" && defined(CPUTYPE) && ${CPUTYPE} == "xscale" +.elif ${MACHINE_CPUARCH} == "arm" && ${CPUTYPE} == "xscale" MAN+= pmc.xscale.3 .endif From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 02:37:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B553106566C; Fri, 11 Feb 2011 02:37:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2AC4F8FC14; Fri, 11 Feb 2011 02:37:48 +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 p1B2bm8V042479; Fri, 11 Feb 2011 02:37:48 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B2bmDg042477; Fri, 11 Feb 2011 02:37:48 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102110237.p1B2bmDg042477@svn.freebsd.org> From: Warner Losh Date: Fri, 11 Feb 2011 02:37:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218533 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 02:37:48 -0000 Author: imp Date: Fri Feb 11 02:37:47 2011 New Revision: 218533 URL: http://svn.freebsd.org/changeset/base/218533 Log: CPUTYPE is now a required define for calling Makefile.inc1 diretly, so make sure we define it for the xdev stuff. Move xdev stuff to be last again in this file. # xdev-build works now, but xdev-install appears to be broken though. Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Feb 11 02:34:26 2011 (r218532) +++ head/Makefile.inc1 Fri Feb 11 02:37:47 2011 (r218533) @@ -1389,11 +1389,54 @@ check-old: check-old-files check-old-lib showconfig: @${MAKE} -n -f bsd.own.mk -V dummy -dg1 | grep ^MK_ | sort +.if !empty(KRNLOBJDIR) && !empty(KERNCONF) +DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ + +.if !defined(FDT_DTS_FILE) || empty(FDT_DTS_FILE) +.if exists(${KERNCONFDIR}/${KERNCONF}) +FDT_DTS_FILE!= awk 'BEGIN {FS="="} /^makeoptions[[:space:]]+FDT_DTS_FILE/ {print $$2}' \ + ${KERNCONFDIR}/${KERNCONF} +.endif +.endif + +.endif + +.if !defined(DTBOUTPUTPATH) || !exists(${DTBOUTPUTPATH}) +DTBOUTPUTPATH= ${.CURDIR} +.endif + +# +# Build 'standalone' Device Tree Blob +# +builddtb: + @if [ "${FDT_DTS_FILE}" = "" ]; then \ + echo "ERROR: FDT_DTS_FILE must be specified!"; \ + exit 1; \ + fi; \ + if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} ]; then \ + echo "ERROR: Specified DTS file (${FDT_DTS_FILE}) does not \ + exist!"; \ + exit 1; \ + fi; \ + if [ "${DTBOUTPUTPATH}" = "${.CURDIR}" ]; then \ + echo "WARNING: DTB will be placed in the current working \ + directory"; \ + fi + @PATH=${TMPPATH} \ + dtc -O dtb -o \ + ${DTBOUTPUTPATH}/`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 \ + -p 1024 ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} ############### .if defined(XDEV) && defined(XDEV_ARCH) +.if ${XDEV} == ${MACHINE} && ${XDEV_ARCH} == ${MACHINE_ARCH} +XDEV_CPUTYPE?=${CPUTYPE} +.else +XDEV_CPUTYPE?=${TARGET_CPUTYPE} +.endif + NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_PROFILE \ -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS @@ -1401,7 +1444,8 @@ NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOU XDDIR=${XDEV}-freebsd XDTP=/usr/${XDDIR} CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ - TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} + TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ + CPUTYPE=${XDEV_CPUTYPE} CDENV= ${CDBENV} \ _SHLIBDIRPREFIX=${XDTP} \ TOOLS_PREFIX=${XDTP} @@ -1477,41 +1521,3 @@ _xi-links: ../../../../usr/bin/${XDDIR}${OSREL}-$$i; \ done .endif - -.if !empty(KRNLOBJDIR) && !empty(KERNCONF) -DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ - -.if !defined(FDT_DTS_FILE) || empty(FDT_DTS_FILE) -.if exists(${KERNCONFDIR}/${KERNCONF}) -FDT_DTS_FILE!= awk 'BEGIN {FS="="} /^makeoptions[[:space:]]+FDT_DTS_FILE/ {print $$2}' \ - ${KERNCONFDIR}/${KERNCONF} -.endif -.endif - -.endif - -.if !defined(DTBOUTPUTPATH) || !exists(${DTBOUTPUTPATH}) -DTBOUTPUTPATH= ${.CURDIR} -.endif - -# -# Build 'standalone' Device Tree Blob -# -builddtb: - @if [ "${FDT_DTS_FILE}" = "" ]; then \ - echo "ERROR: FDT_DTS_FILE must be specified!"; \ - exit 1; \ - fi; \ - if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} ]; then \ - echo "ERROR: Specified DTS file (${FDT_DTS_FILE}) does not \ - exist!"; \ - exit 1; \ - fi; \ - if [ "${DTBOUTPUTPATH}" = "${.CURDIR}" ]; then \ - echo "WARNING: DTB will be placed in the current working \ - directory"; \ - fi - @PATH=${TMPPATH} \ - dtc -O dtb -o \ - ${DTBOUTPUTPATH}/`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 \ - -p 1024 ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 04:03:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48B151065670; Fri, 11 Feb 2011 04:03:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 37DE58FC0A; Fri, 11 Feb 2011 04:03: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 p1B43eRZ044656; Fri, 11 Feb 2011 04:03:40 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B43ehI044654; Fri, 11 Feb 2011 04:03:40 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102110403.p1B43ehI044654@svn.freebsd.org> From: Warner Losh Date: Fri, 11 Feb 2011 04:03: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: r218534 - head X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 04:03:40 -0000 Author: imp Date: Fri Feb 11 04:03:39 2011 New Revision: 218534 URL: http://svn.freebsd.org/changeset/base/218534 Log: Hmmm, specifying TARGET and TARGET_ARCH in the environment doesn't seem to work when building xdev anymore (most likely my changes lately moving the TARGET guessing stuff to Makefile from Makefile.inc1, but I really don't grok why). Fix make xdev by putting them on the command line. This will work either way while I try to figure it out. Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Feb 11 02:37:47 2011 (r218533) +++ head/Makefile.inc1 Fri Feb 11 04:03:39 2011 (r218534) @@ -1439,13 +1439,13 @@ XDEV_CPUTYPE?=${TARGET_CPUTYPE} NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_PROFILE \ - -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS - -XDDIR=${XDEV}-freebsd -XDTP=/usr/${XDDIR} -CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ + -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS \ TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ CPUTYPE=${XDEV_CPUTYPE} + +XDDIR=${XDEV_ARCH}-freebsd +XDTP=/usr/${XDDIR} +CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} CDENV= ${CDBENV} \ _SHLIBDIRPREFIX=${XDTP} \ TOOLS_PREFIX=${XDTP} @@ -1467,7 +1467,7 @@ xdev: xdev-build xdev-install xdev-build: _xb-build-tools _xb-cross-tools _xb-build-tools: - ${_+_}cd ${.CURDIR}; \ + ${_+_}@cd ${.CURDIR}; \ ${CDBENV} ${MAKE} -f Makefile.inc1 ${NOFUN} build-tools _xb-cross-tools: From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:33:36 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6149D1065693; Fri, 11 Feb 2011 05:33:36 +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 4FB078FC0C; Fri, 11 Feb 2011 05:33: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 p1B5XaqR046662; Fri, 11 Feb 2011 05:33:36 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5XaQZ046660; Fri, 11 Feb 2011 05:33:36 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102110533.p1B5XaQZ046660@svn.freebsd.org> From: Doug Barton Date: Fri, 11 Feb 2011 05:33: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: r218535 - head/usr.bin/stat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:33:36 -0000 Author: dougb Date: Fri Feb 11 05:33:35 2011 New Revision: 218535 URL: http://svn.freebsd.org/changeset/base/218535 Log: Synthesize the change from NetBSD's 1.33: "Do not crash if a date cannot be represented (localtime returning NULL), use the Epoch value instead." Obtained from: njoly@NetBSD.org Modified: head/usr.bin/stat/stat.c Modified: head/usr.bin/stat/stat.c ============================================================================== --- head/usr.bin/stat/stat.c Fri Feb 11 04:03:39 2011 (r218534) +++ head/usr.bin/stat/stat.c Fri Feb 11 05:33:35 2011 (r218535) @@ -30,7 +30,7 @@ #include #if 0 #ifndef lint -__RCSID("$NetBSD: stat.c,v 1.31 2010/12/16 05:30:16 dholland Exp $" +__RCSID("$NetBSD: stat.c,v 1.33 2011/01/15 22:54:10 njoly Exp $" "$OpenBSD: stat.c,v 1.14 2009/06/24 09:44:25 sobrado Exp $"); #endif #endif @@ -731,6 +731,10 @@ format1(const struct stat *st, small = (sizeof(ts.tv_sec) == 4); data = ts.tv_sec; tm = localtime(&ts.tv_sec); + if (tm == NULL) { + ts.tv_sec = 0; + tm = localtime(&ts.tv_sec); + } (void)strftime(path, sizeof(path), timefmt, tm); sdata = path; formats = FMTF_DECIMAL | FMTF_OCTAL | FMTF_UNSIGNED | FMTF_HEX | From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:37:06 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AC391065670; Fri, 11 Feb 2011 05:37:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 774358FC14; Fri, 11 Feb 2011 05:37: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 p1B5b6Fv046774; Fri, 11 Feb 2011 05:37:06 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5b6lB046766; Fri, 11 Feb 2011 05:37:06 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201102110537.p1B5b6lB046766@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 11 Feb 2011 05:37:06 +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: r218536 - in stable/8/sys: geom/part sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:37:06 -0000 Author: ae Date: Fri Feb 11 05:37:05 2011 New Revision: 218536 URL: http://svn.freebsd.org/changeset/base/218536 Log: MFC r218014: Add new user-friendly aliases for partition types for the MBR and EBR schemes: fat32, ebr, linux-data, linux-raid, linux-swap and linux-lvm. Add bios-boot GUID and alias for the GPT scheme. It used by GRUB 2 loader. Also do sorting definitions of types in diskmbr.h and in g_part.c. PR: bin/120990, kern/147664 Modified: stable/8/sys/geom/part/g_part.c stable/8/sys/geom/part/g_part.h stable/8/sys/geom/part/g_part_ebr.c stable/8/sys/geom/part/g_part_gpt.c stable/8/sys/geom/part/g_part_mbr.c stable/8/sys/sys/diskmbr.h stable/8/sys/sys/gpt.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/geom/part/g_part.c ============================================================================== --- stable/8/sys/geom/part/g_part.c Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/geom/part/g_part.c Fri Feb 11 05:37:05 2011 (r218536) @@ -76,7 +76,10 @@ struct g_part_alias_list { { "apple-raid-offline", G_PART_ALIAS_APPLE_RAID_OFFLINE }, { "apple-tv-recovery", G_PART_ALIAS_APPLE_TV_RECOVERY }, { "apple-ufs", G_PART_ALIAS_APPLE_UFS }, + { "bios-boot", G_PART_ALIAS_BIOS_BOOT }, + { "ebr", G_PART_ALIAS_EBR }, { "efi", G_PART_ALIAS_EFI }, + { "fat32", G_PART_ALIAS_MS_FAT32 }, { "freebsd", G_PART_ALIAS_FREEBSD }, { "freebsd-boot", G_PART_ALIAS_FREEBSD_BOOT }, { "freebsd-swap", G_PART_ALIAS_FREEBSD_SWAP }, @@ -87,6 +90,7 @@ struct g_part_alias_list { { "linux-lvm", G_PART_ALIAS_LINUX_LVM }, { "linux-raid", G_PART_ALIAS_LINUX_RAID }, { "linux-swap", G_PART_ALIAS_LINUX_SWAP }, + { "mbr", G_PART_ALIAS_MBR }, { "ms-basic-data", G_PART_ALIAS_MS_BASIC_DATA }, { "ms-ldm-data", G_PART_ALIAS_MS_LDM_DATA }, { "ms-ldm-metadata", G_PART_ALIAS_MS_LDM_METADATA }, @@ -98,7 +102,6 @@ struct g_part_alias_list { { "netbsd-lfs", G_PART_ALIAS_NETBSD_LFS }, { "netbsd-raid", G_PART_ALIAS_NETBSD_RAID }, { "netbsd-swap", G_PART_ALIAS_NETBSD_SWAP }, - { "mbr", G_PART_ALIAS_MBR } }; /* Modified: stable/8/sys/geom/part/g_part.h ============================================================================== --- stable/8/sys/geom/part/g_part.h Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/geom/part/g_part.h Fri Feb 11 05:37:05 2011 (r218536) @@ -66,6 +66,9 @@ enum g_part_alias { G_PART_ALIAS_NETBSD_RAID, /* A NetBSD RAID partition entry. */ G_PART_ALIAS_NETBSD_SWAP, /* A NetBSD swap partition entry. */ G_PART_ALIAS_NETBSD_LFS, /* A NetBSD LFS partition entry. */ + G_PART_ALIAS_EBR, /* A EBR partition entry. */ + G_PART_ALIAS_MS_FAT32, /* A Microsoft FAT32 partition entry. */ + G_PART_ALIAS_BIOS_BOOT, /* A GRUB 2 boot partition entry. */ /* Keep the following last */ G_PART_ALIAS_COUNT }; Modified: stable/8/sys/geom/part/g_part_ebr.c ============================================================================== --- stable/8/sys/geom/part/g_part_ebr.c Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/geom/part/g_part_ebr.c Fri Feb 11 05:37:05 2011 (r218536) @@ -113,6 +113,19 @@ static struct g_part_scheme g_part_ebr_s }; G_PART_SCHEME_DECLARE(g_part_ebr); +static struct g_part_ebr_alias { + u_char typ; + int alias; +} ebr_alias_match[] = { + { DOSPTYP_386BSD, G_PART_ALIAS_FREEBSD }, + { DOSPTYP_NTFS, G_PART_ALIAS_MS_NTFS }, + { DOSPTYP_FAT32, G_PART_ALIAS_MS_FAT32 }, + { DOSPTYP_LINSWP, G_PART_ALIAS_LINUX_SWAP }, + { DOSPTYP_LINUX, G_PART_ALIAS_LINUX_DATA }, + { DOSPTYP_LINLVM, G_PART_ALIAS_LINUX_LVM }, + { DOSPTYP_LINRAID, G_PART_ALIAS_LINUX_RAID }, +}; + static void ebr_set_chs(struct g_part_table *, uint32_t, u_char *, u_char *, u_char *); @@ -152,6 +165,7 @@ ebr_parse_type(const char *type, u_char const char *alias; char *endp; long lt; + int i; if (type[0] == '!') { lt = strtol(type + 1, &endp, 0); @@ -160,14 +174,18 @@ ebr_parse_type(const char *type, u_char *dp_typ = (u_char)lt; return (0); } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD); - if (!strcasecmp(type, alias)) { - *dp_typ = DOSPTYP_386BSD; - return (0); + for (i = 0; + i < sizeof(ebr_alias_match) / sizeof(ebr_alias_match[0]); i++) { + alias = g_part_alias_name(ebr_alias_match[i].alias); + if (strcasecmp(type, alias) == 0) { + *dp_typ = ebr_alias_match[i].typ; + return (0); + } } return (EINVAL); } + static void ebr_set_chs(struct g_part_table *table, uint32_t lba, u_char *cylp, u_char *hdp, u_char *secp) @@ -537,13 +555,15 @@ g_part_ebr_type(struct g_part_table *bas char *buf, size_t bufsz) { struct g_part_ebr_entry *entry; - int type; + int i; entry = (struct g_part_ebr_entry *)baseentry; - type = entry->ent.dp_typ; - if (type == DOSPTYP_386BSD) - return (g_part_alias_name(G_PART_ALIAS_FREEBSD)); - snprintf(buf, bufsz, "!%d", type); + for (i = 0; + i < sizeof(ebr_alias_match) / sizeof(ebr_alias_match[0]); i++) { + if (ebr_alias_match[i].typ == entry->ent.dp_typ) + return (g_part_alias_name(ebr_alias_match[i].alias)); + } + snprintf(buf, bufsz, "!%d", entry->ent.dp_typ); return (buf); } Modified: stable/8/sys/geom/part/g_part_gpt.c ============================================================================== --- stable/8/sys/geom/part/g_part_gpt.c Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/geom/part/g_part_gpt.c Fri Feb 11 05:37:05 2011 (r218536) @@ -146,6 +146,7 @@ static struct uuid gpt_uuid_apple_raid = static struct uuid gpt_uuid_apple_raid_offline = GPT_ENT_TYPE_APPLE_RAID_OFFLINE; static struct uuid gpt_uuid_apple_tv_recovery = GPT_ENT_TYPE_APPLE_TV_RECOVERY; static struct uuid gpt_uuid_apple_ufs = GPT_ENT_TYPE_APPLE_UFS; +static struct uuid gpt_uuid_bios_boot = GPT_ENT_TYPE_BIOS_BOOT; static struct uuid gpt_uuid_efi = GPT_ENT_TYPE_EFI; static struct uuid gpt_uuid_freebsd = GPT_ENT_TYPE_FREEBSD; static struct uuid gpt_uuid_freebsd_boot = GPT_ENT_TYPE_FREEBSD_BOOT; @@ -181,6 +182,7 @@ static struct g_part_uuid_alias { { &gpt_uuid_apple_raid_offline, G_PART_ALIAS_APPLE_RAID_OFFLINE }, { &gpt_uuid_apple_tv_recovery, G_PART_ALIAS_APPLE_TV_RECOVERY }, { &gpt_uuid_apple_ufs, G_PART_ALIAS_APPLE_UFS }, + { &gpt_uuid_bios_boot, G_PART_ALIAS_BIOS_BOOT }, { &gpt_uuid_efi, G_PART_ALIAS_EFI }, { &gpt_uuid_freebsd, G_PART_ALIAS_FREEBSD }, { &gpt_uuid_freebsd_boot, G_PART_ALIAS_FREEBSD_BOOT }, Modified: stable/8/sys/geom/part/g_part_mbr.c ============================================================================== --- stable/8/sys/geom/part/g_part_mbr.c Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/geom/part/g_part_mbr.c Fri Feb 11 05:37:05 2011 (r218536) @@ -108,12 +108,27 @@ static struct g_part_scheme g_part_mbr_s }; G_PART_SCHEME_DECLARE(g_part_mbr); +static struct g_part_mbr_alias { + u_char typ; + int alias; +} mbr_alias_match[] = { + { DOSPTYP_386BSD, G_PART_ALIAS_FREEBSD }, + { DOSPTYP_EXT, G_PART_ALIAS_EBR }, + { DOSPTYP_NTFS, G_PART_ALIAS_MS_NTFS }, + { DOSPTYP_FAT32, G_PART_ALIAS_MS_FAT32 }, + { DOSPTYP_LINSWP, G_PART_ALIAS_LINUX_SWAP }, + { DOSPTYP_LINUX, G_PART_ALIAS_LINUX_DATA }, + { DOSPTYP_LINLVM, G_PART_ALIAS_LINUX_LVM }, + { DOSPTYP_LINRAID, G_PART_ALIAS_LINUX_RAID }, +}; + static int mbr_parse_type(const char *type, u_char *dp_typ) { const char *alias; char *endp; long lt; + int i; if (type[0] == '!') { lt = strtol(type + 1, &endp, 0); @@ -122,15 +137,13 @@ mbr_parse_type(const char *type, u_char *dp_typ = (u_char)lt; return (0); } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD); - if (!strcasecmp(type, alias)) { - *dp_typ = DOSPTYP_386BSD; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_MS_NTFS); - if (!strcasecmp(type, alias)) { - *dp_typ = DOSPTYP_NTFS; - return (0); + for (i = 0; + i < sizeof(mbr_alias_match) / sizeof(mbr_alias_match[0]); i++) { + alias = g_part_alias_name(mbr_alias_match[i].alias); + if (strcasecmp(type, alias) == 0) { + *dp_typ = mbr_alias_match[i].typ; + return (0); + } } return (EINVAL); } @@ -511,18 +524,15 @@ g_part_mbr_type(struct g_part_table *bas char *buf, size_t bufsz) { struct g_part_mbr_entry *entry; - int type; + int i; entry = (struct g_part_mbr_entry *)baseentry; - type = entry->ent.dp_typ; - switch (type) { - case DOSPTYP_386BSD: - return (g_part_alias_name(G_PART_ALIAS_FREEBSD)); - case DOSPTYP_NTFS: - return (g_part_alias_name(G_PART_ALIAS_MS_NTFS)); - default: - snprintf(buf, bufsz, "!%d", type); + for (i = 0; + i < sizeof(mbr_alias_match) / sizeof(mbr_alias_match[0]); i++) { + if (mbr_alias_match[i].typ == entry->ent.dp_typ) + return (g_part_alias_name(mbr_alias_match[i].alias)); } + snprintf(buf, bufsz, "!%d", entry->ent.dp_typ); return (buf); } Modified: stable/8/sys/sys/diskmbr.h ============================================================================== --- stable/8/sys/sys/diskmbr.h Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/sys/diskmbr.h Fri Feb 11 05:37:05 2011 (r218536) @@ -43,13 +43,16 @@ #define DOSMAGICOFFSET 510 #define DOSMAGIC 0xAA55 +#define DOSPTYP_EXT 0x05 /* DOS extended partition */ +#define DOSPTYP_NTFS 0x07 /* NTFS partition */ +#define DOSPTYP_FAT32 0x0b /* FAT32 partition */ +#define DOSPTYP_EXTLBA 0x0f /* DOS extended partition */ #define DOSPTYP_386BSD 0xa5 /* 386BSD partition type */ #define DOSPTYP_LINSWP 0x82 /* Linux swap partition */ #define DOSPTYP_LINUX 0x83 /* Linux partition */ +#define DOSPTYP_LINLVM 0x8e /* Linux LVM partition */ #define DOSPTYP_PMBR 0xee /* GPT Protective MBR */ -#define DOSPTYP_EXT 5 /* DOS extended partition */ -#define DOSPTYP_EXTLBA 15 /* DOS extended partition */ -#define DOSPTYP_NTFS 0x07 /* NTFS partition */ +#define DOSPTYP_LINRAID 0xfd /* Linux raid partition */ struct dos_partition { unsigned char dp_flag; /* bootstrap flags */ Modified: stable/8/sys/sys/gpt.h ============================================================================== --- stable/8/sys/sys/gpt.h Fri Feb 11 05:33:35 2011 (r218535) +++ stable/8/sys/sys/gpt.h Fri Feb 11 05:37:05 2011 (r218536) @@ -150,4 +150,10 @@ struct gpt_ent { #define GPT_ENT_TYPE_NETBSD_CGD \ {0x2db519ec,0xb10f,0x11dc,0xb9,0x9b,{0x00,0x19,0xd1,0x87,0x96,0x48}} +/* + * Boot partition used by GRUB 2. + */ +#define GPT_ENT_TYPE_BIOS_BOOT \ + {0x21686148,0x6449,0x6e6f,0x74,0x4e,{0x65,0x65,0x64,0x45,0x46,0x49}} + #endif /* _SYS_GPT_H_ */ From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:48:45 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B2A51065672; Fri, 11 Feb 2011 05:48:45 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1838A8FC0A; Fri, 11 Feb 2011 05:48:45 +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 p1B5mii5047141; Fri, 11 Feb 2011 05:48:44 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5mies047139; Fri, 11 Feb 2011 05:48:44 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201102110548.p1B5mies047139@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 11 Feb 2011 05:48:44 +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: r218537 - stable/8/sbin/geom/class/part X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:48:45 -0000 Author: ae Date: Fri Feb 11 05:48:44 2011 New Revision: 218537 URL: http://svn.freebsd.org/changeset/base/218537 Log: MFC r217314: Fix up the grammar. PR: docs/153933 MFC r217342,217343,217344 by maxim: o Typo fixes. o Start each sentence on a new line. No content changes. o Somehow I revert Dd macro in the previous commit. MFC r218015: Document the "bios-boot" partition type. Modified: stable/8/sbin/geom/class/part/gpart.8 Directory Properties: stable/8/sbin/geom/class/part/ (props changed) Modified: stable/8/sbin/geom/class/part/gpart.8 ============================================================================== --- stable/8/sbin/geom/class/part/gpart.8 Fri Feb 11 05:37:05 2011 (r218536) +++ stable/8/sbin/geom/class/part/gpart.8 Fri Feb 11 05:48:44 2011 (r218537) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 22, 2010 +.Dd January 28, 2011 .Dt GPART 8 .Os .Sh NAME @@ -422,8 +422,9 @@ about its use. .It Cm restore Restore the partition table from backup previously created by .Cm backup -action and given from standard input. Only partition table -may be restored. This action does not affect content of partitions. +action and given from standard input. +Only partition table may be restored. +This action does not affect content of partitions. This mean that you should copy your data from backup after restoring partition table and write bootcode again if it is needed. .Pp @@ -508,6 +509,11 @@ utility also allows the user to specify for partition types that do not have symbol names. The symbolic names currently understood are: .Bl -tag -width ".Cm freebsd-vinum" +.It Cm bios-boot +The system partition dedicated to second stage of the boot loader program. +Usually it used by GRUB 2 loader when the partition table is GPT. +The scheme-specific type is +.Qq Li "!21686148-6449-6E6F-744E-656564454649" . .It Cm efi The system partition for computers that use the Extensible Firmware Interface (EFI). @@ -703,20 +709,23 @@ action. .Sh RECOVERING The GEOM class PART supports recovering of partition tables only for GPT. The GUID partition table has a primary and secondary (backup) copy of -metadata for redundance. They are stored in the begining and in the end -of device respectively. Therefore it is acceptable to have some corruptions -in the metadata that are not fatal to work with GPT. When kernel detects -corrupt metadata it marks this table as corrupt and reports about corruption. +metadata for redundance. +They are stored in the begining and in the end of device respectively. +Therefore it is acceptable to have some corruptions in the metadata that +are not fatal to work with GPT. +When kernel detects corrupt metadata it marks this table as corrupt and +reports about corruption. Any changes in corrupt table are prohibited except .Cm destroy and .Cm recover . .Pp In case when only first sector is corrupt kernel can not detect GPT even -if partition table is not corrupt. You can write protective MBR with +if partition table is not corrupt. +You can write protective MBR with .Xr dd 1 -command to restore ability of GPT detection. The copy of protective MBR is -usually located in the +command to restore ability of GPT detection. +The copy of protective MBR is usually located in the .Pa /boot/pmbr file. .Pp @@ -743,25 +752,27 @@ and will report about corrupt table. .Pp In case when the size of device has changed (e.g. volume expansion) the -secondary GPT header will become located not in the last sector. This is -not a metadata corruption, but it is dangerous because any corruption of -the primary GPT will lead to lost of partition table. Kernel reports about -this problem with message: +secondary GPT header will become located not in the last sector. +This is not a metadata corruption, but it is dangerous because any +corruption of the primary GPT will lead to lost of partition table. +Kernel reports about this problem with message: .Bd -literal -offset indent GEOM: provider: the secondary GPT header is not in the last LBA. .Ed .Pp A corrupt table can be recovered with .Cm gpart recover -command. This command does reconstruction of corrupt metadata using -known valid metadata. Also it can relocate secondary GPT to the end of -device. +command. +This command does reconstruction of corrupt metadata using +known valid metadata. +Also it can relocate secondary GPT to the end of device. .Pp .Pa NOTE : The GEOM class PART can detect the same partition table on different GEOM -providers and some of them will marked as corrupt. Be careful when choising -a provider for recovering. If you did incorrect choise you can destroy -metadata of another GEOM class, e.g. GEOM MIRROR or GEOM LABEL. +providers and some of them will be marked as corrupt. +Be careful when choosing a provider for recovering. +If you choose incorrectly you can destroy the metadata of another GEOM class, +e.g. GEOM MIRROR or GEOM LABEL. .Sh EXIT STATUS Exit status is 0 on success, and 1 if the command fails. .Sh EXAMPLES From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:50:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 518E7106567A; Fri, 11 Feb 2011 05:50:29 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 264A98FC1E; Fri, 11 Feb 2011 05:50: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 p1B5oTfO047231; Fri, 11 Feb 2011 05:50:29 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5oTx8047229; Fri, 11 Feb 2011 05:50:29 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102110550.p1B5oTx8047229@svn.freebsd.org> From: Warner Losh Date: Fri, 11 Feb 2011 05:50: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: r218538 - head/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:50:29 -0000 Author: imp Date: Fri Feb 11 05:50:28 2011 New Revision: 218538 URL: http://svn.freebsd.org/changeset/base/218538 Log: whitespace nit. Modified: head/sys/conf/kern.pre.mk Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Fri Feb 11 05:48:44 2011 (r218537) +++ head/sys/conf/kern.pre.mk Fri Feb 11 05:50:28 2011 (r218538) @@ -15,7 +15,7 @@ KODIR?= /boot/${KERNEL} LDSCRIPT_NAME?= ldscript.$M LDSCRIPT?= $S/conf/${LDSCRIPT_NAME} -M= ${MACHINE_CPUARCH} +M= ${MACHINE_CPUARCH} AWK?= awk LINT?= lint From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:52:04 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85B1D1065675 for ; Fri, 11 Feb 2011 05:52:04 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx22.fluidhosting.com [204.14.89.5]) by mx1.freebsd.org (Postfix) with ESMTP id 140B88FC22 for ; Fri, 11 Feb 2011 05:52:03 +0000 (UTC) Received: (qmail 13982 invoked by uid 399); 11 Feb 2011 05:52:02 -0000 Received: from localhost (HELO doug-optiplex.ka9q.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 11 Feb 2011 05:52:02 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4D54CE80.3060305@FreeBSD.org> Date: Thu, 10 Feb 2011 21:52:00 -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/20110129 Thunderbird/3.1.7 MIME-Version: 1.0 To: Bruce Evans References: <201101260506.p0Q56Bhf064034@svn.freebsd.org> <20110126173411.P972@besplex.bde.org> <4D408463.4000001@FreeBSD.org> <20110127153956.J1436@besplex.bde.org> <4D41D52D.2080906@FreeBSD.org> <20110128194615.G1167@besplex.bde.org> In-Reply-To: <20110128194615.G1167@besplex.bde.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-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r217871 - head/sbin/mount X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:52:04 -0000 On 01/28/2011 01:06, Bruce Evans wrote: > The solaris server behaviour can't happen, except accidentally due to > races :-). Since the FreeBSD client doesn't support the noatime flag > except to ignore it, it can't tell any server about it. I don't mean to be a pest, but I'm confused as to why I observed what I observed if this is the case. I tested it a couple of times each way, so I'm confident that I saw a difference with and without noatime when mounting a solaris server. Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:53:46 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6EEFE1065672; Fri, 11 Feb 2011 05:53:46 +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 5CF828FC12; Fri, 11 Feb 2011 05:53:46 +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 p1B5rkNh047345; Fri, 11 Feb 2011 05:53:46 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5rkD3047343; Fri, 11 Feb 2011 05:53:46 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102110553.p1B5rkD3047343@svn.freebsd.org> From: Doug Barton Date: Fri, 11 Feb 2011 05:53:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218539 - stable/8/etc/rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:53:46 -0000 Author: dougb Date: Fri Feb 11 05:53:46 2011 New Revision: 218539 URL: http://svn.freebsd.org/changeset/base/218539 Log: MFC 218142: Let rpcbind clean up after itself Modified: stable/8/etc/rc.d/rpcbind Directory Properties: stable/8/etc/ (props changed) Modified: stable/8/etc/rc.d/rpcbind ============================================================================== --- stable/8/etc/rc.d/rpcbind Fri Feb 11 05:50:28 2011 (r218538) +++ stable/8/etc/rc.d/rpcbind Fri Feb 11 05:53:46 2011 (r218539) @@ -13,5 +13,7 @@ name="rpcbind" rcvar=`set_rcvar` command="/usr/sbin/${name}" +stop_postcmd='/bin/rm -f /var/run/rpcbind.*' + load_rc_config $name run_rc_command "$1" From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:54:46 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F12F01065672; Fri, 11 Feb 2011 05:54:46 +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 DEFCB8FC0A; Fri, 11 Feb 2011 05:54:46 +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 p1B5skPx047423; Fri, 11 Feb 2011 05:54:46 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5skjI047421; Fri, 11 Feb 2011 05:54:46 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102110554.p1B5skjI047421@svn.freebsd.org> From: Doug Barton Date: Fri, 11 Feb 2011 05:54:46 +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: r218540 - 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: Fri, 11 Feb 2011 05:54:47 -0000 Author: dougb Date: Fri Feb 11 05:54:46 2011 New Revision: 218540 URL: http://svn.freebsd.org/changeset/base/218540 Log: MFC 218142: Let rpcbind clean up after itself Modified: stable/7/etc/rc.d/rpcbind Directory Properties: stable/7/etc/ (props changed) Modified: stable/7/etc/rc.d/rpcbind ============================================================================== --- stable/7/etc/rc.d/rpcbind Fri Feb 11 05:53:46 2011 (r218539) +++ stable/7/etc/rc.d/rpcbind Fri Feb 11 05:54:46 2011 (r218540) @@ -13,5 +13,7 @@ name="rpcbind" rcvar=`set_rcvar` command="/usr/sbin/${name}" +stop_postcmd='/bin/rm -f /var/run/rpcbind.*' + load_rc_config $name run_rc_command "$1" From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:56:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CE18106566C; Fri, 11 Feb 2011 05:56:15 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A0618FC15; Fri, 11 Feb 2011 05:56:15 +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 p1B5uF8n047527; Fri, 11 Feb 2011 05:56:15 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5uFo8047525; Fri, 11 Feb 2011 05:56:15 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201102110556.p1B5uFo8047525@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 11 Feb 2011 05:56:15 +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: r218541 - stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:56:15 -0000 Author: ae Date: Fri Feb 11 05:56:14 2011 New Revision: 218541 URL: http://svn.freebsd.org/changeset/base/218541 Log: MFC r218278: vdev's sectorsize should not be greater than 8 Kbytes and also it should be power of 2. This prevents non-aligned access while probing vdev's labels. PR: kern/147852 Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Fri Feb 11 05:54:46 2011 (r218540) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Fri Feb 11 05:56:14 2011 (r218541) @@ -392,7 +392,8 @@ vdev_geom_open_by_path(vdev_t *vd, int c if (pp != NULL) { ZFS_LOG(1, "Found provider by name %s.", vd->vdev_path); cp = vdev_geom_attach(pp); - if (cp != NULL && check_guid) { + if (cp != NULL && check_guid && ISP2(pp->sectorsize) && + pp->sectorsize <= VDEV_PAD_SIZE) { g_topology_unlock(); guid = vdev_geom_read_guid(cp); g_topology_lock(); @@ -456,6 +457,17 @@ vdev_geom_open(vdev_t *vd, uint64_t *psi if (cp == NULL) { ZFS_LOG(1, "Provider %s not found.", vd->vdev_path); error = ENOENT; + } else if (cp->provider->sectorsize > VDEV_PAD_SIZE || + !ISP2(cp->provider->sectorsize)) { + ZFS_LOG(1, "Provider %s has unsupported sectorsize.", + vd->vdev_path); + + g_topology_lock(); + vdev_geom_detach(cp, 0); + g_topology_unlock(); + + error = EINVAL; + cp = NULL; } else if (cp->acw == 0 && (spa_mode(vd->vdev_spa) & FWRITE) != 0) { int i; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:56:48 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7CC210656C6; Fri, 11 Feb 2011 05:56:48 +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 B50FD8FC14; Fri, 11 Feb 2011 05:56:48 +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 p1B5umKj047572; Fri, 11 Feb 2011 05:56:48 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5um4f047570; Fri, 11 Feb 2011 05:56:48 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102110556.p1B5um4f047570@svn.freebsd.org> From: Doug Barton Date: Fri, 11 Feb 2011 05:56: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: r218542 - stable/8/etc/namedb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:56:49 -0000 Author: dougb Date: Fri Feb 11 05:56:48 2011 New Revision: 218542 URL: http://svn.freebsd.org/changeset/base/218542 Log: MFC 218350: Catch up with reality and references from the latest RFCs (especially 5735) for our default empty zones. Modified: stable/8/etc/namedb/named.conf Directory Properties: stable/8/etc/ (props changed) Modified: stable/8/etc/namedb/named.conf ============================================================================== --- stable/8/etc/namedb/named.conf Fri Feb 11 05:56:14 2011 (r218541) +++ stable/8/etc/namedb/named.conf Fri Feb 11 05:56:48 2011 (r218542) @@ -125,7 +125,7 @@ zone "in-addr.arpa" { 1. Faster local resolution for your users 2. No spurious traffic will be sent from your network to the roots */ -// RFC 1912 (and BCP 32 for localhost) +// RFCs 1912 and 5735 (and BCP 32 for localhost) zone "localhost" { type master; file "/etc/namedb/master/localhost-forward.db"; }; zone "127.in-addr.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; zone "255.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; @@ -133,10 +133,10 @@ zone "255.in-addr.arpa" { type master; f // RFC 1912-style zone for IPv6 localhost address zone "0.ip6.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; -// "This" Network (RFCs 1912 and 3330) +// "This" Network (RFCs 1912 and 5735) zone "0.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// Private Use Networks (RFC 1918) +// Private Use Networks (RFCs 1918 and 5735) zone "10.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; @@ -156,16 +156,19 @@ zone "30.172.in-addr.arpa" { type master zone "31.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "168.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// Link-local/APIPA (RFCs 3330 and 3927) +// Link-local/APIPA (RFCs 3927 and 5735) zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// TEST-NET-[1-3] for Documentation (RFC 5737) +// IETF protocol assignments (RFCs 5735 and 5736) +zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; + +// TEST-NET-[1-3] for Documentation (RFCs 5735 and 5737) zone "2.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "100.51.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "113.0.203.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 Range for Documentation (RFC 3849) -zone "0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; +zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Domain Names for Documentation and Testing (BCP 32) zone "test" { type master; file "/etc/namedb/master/empty.db"; }; @@ -175,11 +178,11 @@ zone "example.com" { type master; file " zone "example.net" { type master; file "/etc/namedb/master/empty.db"; }; zone "example.org" { type master; file "/etc/namedb/master/empty.db"; }; -// Router Benchmark Testing (RFC 3330) +// Router Benchmark Testing (RFCs 2544 and 5735) zone "18.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "19.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// IANA Reserved - Old Class E Space +// IANA Reserved - Old Class E Space (RFC 5735) zone "240.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "241.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "242.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 05:57:33 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5F511065695; Fri, 11 Feb 2011 05:57:33 +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 B38658FC08; Fri, 11 Feb 2011 05:57: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 p1B5vXTj047644; Fri, 11 Feb 2011 05:57:33 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B5vX54047642; Fri, 11 Feb 2011 05:57:33 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102110557.p1B5vX54047642@svn.freebsd.org> From: Doug Barton Date: Fri, 11 Feb 2011 05:57:33 +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: r218543 - stable/7/etc/namedb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 05:57:34 -0000 Author: dougb Date: Fri Feb 11 05:57:33 2011 New Revision: 218543 URL: http://svn.freebsd.org/changeset/base/218543 Log: MFC 218350: Catch up with reality and references from the latest RFCs (especially 5735) for our default empty zones. Modified: stable/7/etc/namedb/named.conf Directory Properties: stable/7/etc/ (props changed) Modified: stable/7/etc/namedb/named.conf ============================================================================== --- stable/7/etc/namedb/named.conf Fri Feb 11 05:56:48 2011 (r218542) +++ stable/7/etc/namedb/named.conf Fri Feb 11 05:57:33 2011 (r218543) @@ -125,7 +125,7 @@ zone "in-addr.arpa" { 1. Faster local resolution for your users 2. No spurious traffic will be sent from your network to the roots */ -// RFC 1912 (and BCP 32 for localhost) +// RFCs 1912 and 5735 (and BCP 32 for localhost) zone "localhost" { type master; file "/etc/namedb/master/localhost-forward.db"; }; zone "127.in-addr.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; zone "255.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; @@ -133,10 +133,10 @@ zone "255.in-addr.arpa" { type master; f // RFC 1912-style zone for IPv6 localhost address zone "0.ip6.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; -// "This" Network (RFCs 1912 and 3330) +// "This" Network (RFCs 1912 and 5735) zone "0.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// Private Use Networks (RFC 1918) +// Private Use Networks (RFCs 1918 and 5735) zone "10.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; @@ -156,16 +156,19 @@ zone "30.172.in-addr.arpa" { type master zone "31.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "168.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// Link-local/APIPA (RFCs 3330 and 3927) +// Link-local/APIPA (RFCs 3927 and 5735) zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// TEST-NET-[1-3] for Documentation (RFC 5737) +// IETF protocol assignments (RFCs 5735 and 5736) +zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; + +// TEST-NET-[1-3] for Documentation (RFCs 5735 and 5737) zone "2.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "100.51.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "113.0.203.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 Range for Documentation (RFC 3849) -zone "0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; +zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Domain Names for Documentation and Testing (BCP 32) zone "test" { type master; file "/etc/namedb/master/empty.db"; }; @@ -175,11 +178,11 @@ zone "example.com" { type master; file " zone "example.net" { type master; file "/etc/namedb/master/empty.db"; }; zone "example.org" { type master; file "/etc/namedb/master/empty.db"; }; -// Router Benchmark Testing (RFC 3330) +// Router Benchmark Testing (RFCs 2544 and 5735) zone "18.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "19.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; -// IANA Reserved - Old Class E Space +// IANA Reserved - Old Class E Space (RFC 5735) zone "240.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "241.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "242.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 06:35:53 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3FAD106564A; Fri, 11 Feb 2011 06:35:53 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C23F18FC16; Fri, 11 Feb 2011 06:35: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 p1B6Zra4048659; Fri, 11 Feb 2011 06:35:53 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B6ZrfQ048656; Fri, 11 Feb 2011 06:35:53 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201102110635.p1B6ZrfQ048656@svn.freebsd.org> From: Warner Losh Date: Fri, 11 Feb 2011 06:35: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: r218544 - head/usr.sbin/config X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 06:35:53 -0000 Author: imp Date: Fri Feb 11 06:35:53 2011 New Revision: 218544 URL: http://svn.freebsd.org/changeset/base/218544 Log: Generate MACHINE= and MACHINE_ARCH= lines based on the machine directive. Once this is MFC'd, we can move these out of the template files where they are (incosnsitently) defined. MFC after: 1 week Modified: head/usr.sbin/config/configvers.h head/usr.sbin/config/mkmakefile.c Modified: head/usr.sbin/config/configvers.h ============================================================================== --- head/usr.sbin/config/configvers.h Fri Feb 11 05:57:33 2011 (r218543) +++ head/usr.sbin/config/configvers.h Fri Feb 11 06:35:53 2011 (r218544) @@ -49,5 +49,5 @@ * * $FreeBSD$ */ -#define CONFIGVERS 600011 +#define CONFIGVERS 600012 #define MAJOR_VERS(x) ((x) / 100000) Modified: head/usr.sbin/config/mkmakefile.c ============================================================================== --- head/usr.sbin/config/mkmakefile.c Fri Feb 11 05:57:33 2011 (r218543) +++ head/usr.sbin/config/mkmakefile.c Fri Feb 11 06:35:53 2011 (r218544) @@ -140,6 +140,8 @@ makefile(void) if (ofp == 0) err(1, "%s", path("Makefile.new")); fprintf(ofp, "KERN_IDENT=%s\n", ident); + fprintf(ofp, "MACHINE=%s\n", machinename); + fprintf(ofp, "MACHINE_ARCH=%s\n", machinearch); SLIST_FOREACH_SAFE(op, &mkopt, op_next, t) { fprintf(ofp, "%s=%s", op->op_name, op->op_value); while ((op = SLIST_NEXT(op, op_append)) != NULL) From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 07:26:17 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B522C106564A; Fri, 11 Feb 2011 07:26:17 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A1A4A8FC0C; Fri, 11 Feb 2011 07:26: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 p1B7QHYu049821; Fri, 11 Feb 2011 07:26:17 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B7QHBr049816; Fri, 11 Feb 2011 07:26:17 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201102110726.p1B7QHBr049816@svn.freebsd.org> From: Lawrence Stewart Date: Fri, 11 Feb 2011 07:26: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: r218545 - in head/share/examples/kld: . khelp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 07:26:17 -0000 Author: lstewart Date: Fri Feb 11 07:26:17 2011 New Revision: 218545 URL: http://svn.freebsd.org/changeset/base/218545 Log: Add an example Khelp module, which will be referenced in the forthcoming Khelp documentation. Sponsored by: FreeBSD Foundation Discussed with: David Hayes MFC after: 5 weeks X-MFC with: r216615 Added: head/share/examples/kld/khelp/ head/share/examples/kld/khelp/Makefile (contents, props changed) head/share/examples/kld/khelp/README (contents, props changed) head/share/examples/kld/khelp/h_example.c (contents, props changed) Modified: head/share/examples/kld/Makefile Modified: head/share/examples/kld/Makefile ============================================================================== --- head/share/examples/kld/Makefile Fri Feb 11 06:35:53 2011 (r218544) +++ head/share/examples/kld/Makefile Fri Feb 11 07:26:17 2011 (r218545) @@ -67,6 +67,6 @@ # $FreeBSD$ # -SUBDIR= cdev dyn_sysctl firmware syscall +SUBDIR= cdev dyn_sysctl firmware khelp syscall .include Added: head/share/examples/kld/khelp/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/examples/kld/khelp/Makefile Fri Feb 11 07:26:17 2011 (r218545) @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.include + +# Change if the src tree you are compiling for is not in /usr/src +#SYSDIR=/usr/src/sys + +KMOD= h_example +SRCS= h_example.c + +.include Added: head/share/examples/kld/khelp/README ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/examples/kld/khelp/README Fri Feb 11 07:26:17 2011 (r218545) @@ -0,0 +1,6 @@ +$FreeBSD$ + +An example Khelp module which uses the helper hook points available in the TCP +stack to calculate a per-connection count of inbound and outbound packets when +the connection is in the established state. The code is verbosely documented in +an attempt to explain how everything fits together. Added: head/share/examples/kld/khelp/h_example.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/examples/kld/khelp/h_example.c Fri Feb 11 07:26:17 2011 (r218545) @@ -0,0 +1,154 @@ +/*- + * Copyright (c) 2010-2011 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed at the Centre for Advanced Internet + * Architectures, Swinburne University of Technology, Melbourne, Australia by + * Lawrence Stewart under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * This example Khelp module uses the helper hook points available in the TCP + * stack to calculate a per-connection count of inbound and outbound packets + * when the connection is in the established state. The code is verbosely + * documented in an attempt to explain how everything fits together. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +/* + * Function prototype for our helper hook (man 9 hhook) compatible hook + * function. + */ +static int example_hook(int hhook_type, int hhook_id, void *udata, + void *ctx_data, void *hdata, struct osd *hosd); + +/* + * Our per-connection persistent data storage struct. + */ +struct example { + uint32_t est_in_count; + uint32_t est_out_count; +}; + +/* + * Fill in the required bits of our module's struct helper (defined in + * ). + * + * - Our helper will be storing persistent state for each TCP connection, so we + * request the use the Object Specific Data (OSD) feature from the framework by + * setting the HELPER_NEEDS_OSD flag. + * + * - Our helper is related to the TCP subsystem, so tell the Khelp framework + * this by setting an appropriate class for the module. When a new TCP + * connection is created, the Khelp framework takes care of associating helper + * modules of the appropriate class with the new connection. + */ +struct helper example_helper = { + .h_flags = HELPER_NEEDS_OSD, + .h_classes = HELPER_CLASS_TCP +}; + +/* + * Set which helper hook points our module wants to hook by creating an array of + * hookinfo structs (defined in ). We hook the TCP established + * inbound/outbound hook points (TCP hhook points are defined in + * ) with our example_hook() function. We don't require a user + * data pointer to be passed to our hook function when called, so we set it to + * NULL. + */ +struct hookinfo example_hooks[] = { + { + .hook_type = HHOOK_TYPE_TCP, + .hook_id = HHOOK_TCP_EST_IN, + .hook_udata = NULL, + .hook_func = &example_hook + }, + { + .hook_type = HHOOK_TYPE_TCP, + .hook_id = HHOOK_TCP_EST_OUT, + .hook_udata = NULL, + .hook_func = &example_hook + } +}; + +/* + * Very simple helper hook function. Here's a quick run through the arguments: + * + * - hhook_type and hhook_id are useful if you use a single function with many + * hook points and want to know which hook point called the function. + * + * - udata will be NULL, because we didn't elect to pass a pointer in either of + * the hookinfo structs we instantiated above in the example_hooks array. + * + * - ctx_data contains context specific data from the hook point call site. The + * data type passed is subsystem dependent. In the case of TCP, the hook points + * pass a pointer to a "struct tcp_hhook_data" (defined in ). + * + * - hdata is a pointer to the persistent per-object storage for our module. The + * pointer is allocated automagically by the Khelp framework when the connection + * is created, and comes from a dedicated UMA zone. It will never be NULL. + * + * - hosd can be used with the Khelp framework's khelp_get_osd() function to + * access data belonging to a different Khelp module. + */ +static int +example_hook(int hhook_type, int hhook_id, void *udata, void *ctx_data, + void *hdata, struct osd *hosd) +{ + struct example *data; + + data = hdata; + + if (hhook_id == HHOOK_TCP_EST_IN) + data->est_in_count++; + else if (hhook_id == HHOOK_TCP_EST_OUT) + data->est_out_count++; + + return (0); +} + +/* + * We use a convenient macro which handles registering our module with the Khelp + * framework. Note that Khelp modules which set the HELPER_NEEDS_OSD flag (i.e. + * require persistent per-object storage) must use the KHELP_DECLARE_MOD_UMA() + * macro. If you don't require per-object storage, use the KHELP_DECLARE_MOD() + * macro instead. + */ +KHELP_DECLARE_MOD_UMA(example, &example_helper, example_hooks, 1, + sizeof(struct example), NULL, NULL); From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 09:58:39 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36490106564A; Fri, 11 Feb 2011 09:58:39 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0B2698FC15; Fri, 11 Feb 2011 09:58: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 p1B9wcWS053445; Fri, 11 Feb 2011 09:58:38 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1B9wcHH053442; Fri, 11 Feb 2011 09:58:38 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201102110958.p1B9wcHH053442@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Fri, 11 Feb 2011 09:58: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: r218548 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 09:58:39 -0000 Author: bz Date: Fri Feb 11 09:58:38 2011 New Revision: 218548 URL: http://svn.freebsd.org/changeset/base/218548 Log: After r218530 export several functions which are no longer private to e1000_mac.c but part of the e1000_api. X-MFC with: 218530 by jfv Modified: head/sys/dev/e1000/e1000_api.h head/sys/dev/e1000/e1000_mac.c Modified: head/sys/dev/e1000/e1000_api.h ============================================================================== --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 07:46:54 2011 (r218547) +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 09:58:38 2011 (r218548) @@ -120,6 +120,9 @@ s32 e1000_mng_write_cmd_header(struct e s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, u16 length); u32 e1000_translate_register_82542(u32 reg); +s32 e1000_set_default_fc_generic(struct e1000_hw *hw); +s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); +s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); /* * TBI_ACCEPT macro definition: Modified: head/sys/dev/e1000/e1000_mac.c ============================================================================== --- head/sys/dev/e1000/e1000_mac.c Fri Feb 11 07:46:54 2011 (r218547) +++ head/sys/dev/e1000/e1000_mac.c Fri Feb 11 09:58:38 2011 (r218548) @@ -34,9 +34,6 @@ #include "e1000_api.h" -static s32 e1000_set_default_fc_generic(struct e1000_hw *hw); -static s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); -static s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); static s32 e1000_validate_mdi_setting_generic(struct e1000_hw *hw); static void e1000_set_lan_id_multi_port_pcie(struct e1000_hw *hw); @@ -1097,7 +1094,7 @@ void e1000_config_collision_dist_generic * Polls for link up by reading the status register, if link fails to come * up with auto-negotiation, then the link is forced if a signal is detected. **/ -static s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw) +s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw) { struct e1000_mac_info *mac = &hw->mac; u32 i, status; @@ -1149,7 +1146,7 @@ out: * Write the flow control settings to the Transmit Config Word Register (TXCW) * base on the flow control settings in e1000_mac_info. **/ -static s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw) +s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw) { struct e1000_mac_info *mac = &hw->mac; u32 txcw; @@ -1264,7 +1261,7 @@ s32 e1000_set_fc_watermarks_generic(stru * Read the EEPROM for the default values for flow control and store the * values. **/ -static s32 e1000_set_default_fc_generic(struct e1000_hw *hw) +s32 e1000_set_default_fc_generic(struct e1000_hw *hw) { s32 ret_val = E1000_SUCCESS; u16 nvm_data; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 10:06:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94B45106564A; Fri, 11 Feb 2011 10:06:49 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 833CA8FC1B; Fri, 11 Feb 2011 10:06: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 p1BA6ngk053748; Fri, 11 Feb 2011 10:06:49 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BA6n2A053745; Fri, 11 Feb 2011 10:06:49 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201102111006.p1BA6n2A053745@svn.freebsd.org> From: Jaakko Heinonen Date: Fri, 11 Feb 2011 10:06:49 +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: r218549 - stable/7/etc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 10:06:49 -0000 Author: jh Date: Fri Feb 11 10:06:49 2011 New Revision: 218549 URL: http://svn.freebsd.org/changeset/base/218549 Log: MFC r217090: Warn if rules could not be read from a ruleset file. Now at least something gets logged if the file has syntax errors. PR: conf/91342 Modified: stable/7/etc/rc.subr Directory Properties: stable/7/etc/ (props changed) Modified: stable/7/etc/rc.subr ============================================================================== --- stable/7/etc/rc.subr Fri Feb 11 09:58:38 2011 (r218548) +++ stable/7/etc/rc.subr Fri Feb 11 10:06:49 2011 (r218549) @@ -1242,7 +1242,10 @@ devfs_init_rulesets() return fi for file in $devfs_rulesets; do - devfs_rulesets_from_file $file || return 1 + if ! devfs_rulesets_from_file $file; then + warn "$_me: could not read rules from $file" + return 1 + fi done devfs_rulesets_init=1 debug "$_me: devfs rulesets initialized" From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 10:46:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF9E61065673; Fri, 11 Feb 2011 10:46:15 +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 DE9D08FC0A; Fri, 11 Feb 2011 10:46:15 +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 p1BAkFEN056854; Fri, 11 Feb 2011 10:46:15 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BAkF5w056852; Fri, 11 Feb 2011 10:46:15 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102111046.p1BAkF5w056852@svn.freebsd.org> From: Konstantin Belousov Date: Fri, 11 Feb 2011 10:46:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218550 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 10:46:16 -0000 Author: kib Date: Fri Feb 11 10:46:15 2011 New Revision: 218550 URL: http://svn.freebsd.org/changeset/base/218550 Log: For UIO_NOCOPY case of reading request on zfs vnode, which has vm object attached, activate the page after the successful read, and free the page if read was unsuccessfull. Freshly allocated page is not on any queue yet, and not activating (or deactivating) the page leaves it on no queue, excluding the page from pagedaemon scans and making the memory disappeared until the vnode reclaimed. Reviewed by: avg MFC after: 1 week Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Feb 11 10:06:49 2011 (r218549) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Feb 11 10:46:15 2011 (r218550) @@ -527,9 +527,15 @@ again: zfs_unmap_page(sf); } VM_OBJECT_LOCK(obj); - if (error == 0) - m->valid = VM_PAGE_BITS_ALL; vm_page_io_finish(m); + vm_page_lock(m); + if (error == 0) { + m->valid = VM_PAGE_BITS_ALL; + vm_page_activate(m); + } else + vm_page_free(m); + vm_page_unlock(m); + if (error == 0) { uio->uio_resid -= bytes; uio->uio_offset += bytes; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 10:50:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C4551065672; Fri, 11 Feb 2011 10:50:34 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 29AE88FC23; Fri, 11 Feb 2011 10:50: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 p1BAoYFw056999; Fri, 11 Feb 2011 10:50:34 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BAoYCg056997; Fri, 11 Feb 2011 10:50:34 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201102111050.p1BAoYCg056997@svn.freebsd.org> From: Hiroki Sato Date: Fri, 11 Feb 2011 10:50:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218551 - releng/8.2/release/doc/en_US.ISO8859-1/relnotes X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 10:50:34 -0000 Author: hrs Date: Fri Feb 11 10:50:33 2011 New Revision: 218551 URL: http://svn.freebsd.org/changeset/base/218551 Log: Add more relnotes items for 8.2R: qpi(4) pseudo bus driver added, acpi(4) ACPI Reset Register handling changed, tpm(4) added, alc(4) freeze on boot with no cable fixed, bge(4) BCM5718 support added, re(4) 64-bit DMA addressing support, rl(4) statistics counter support, sk(4) station address bug fixed, net.link.ifqmaxlen replaced IFQ_MAXLEN, siftr(4) Statistical Information For TCP Research module added, ada(4) kern.cam.ada.spindown_shutdown added, dtrace(1) userland support added, dtruss(1) added, gpart(8) "recover" subcommand for GPT partition tables added, tar(1) -b now supports up to 8192 as the blocksize, sh(1) -u nounset option's $@, $*, and $! handling changed, periodic(8) script to find installed ports with mismatched chekcsum, ISC BIND 9.6-ESV-R2. Approved by: re (implicit) Some spelling mistakes were spotted by: pluknet Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Fri Feb 11 10:46:15 2011 (r218550) +++ releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Fri Feb 11 10:50:33 2011 (r218551) @@ -187,6 +187,18 @@ CPU topology detection for Intel CPUs has been improved. + The qpi(4) pseudo bus + driver has been added. This supports extra PCI buses on Intel + QPI chipsets where various hardware such as memory controllers + for each socket is connected. + + The &man.acpi.4; + driver now uses ACPI Reset Register capability by default only + when a flag in the FADT which indicates it is available. This + behavior was controlled by a &man.sysctl.8; variable + hw.acpi.handle_reboot and the default value + was always set to 0. + The &man.ddb.8; kernel debugger now supports an optional delay in reset and reboot commands. This allows an @@ -259,6 +271,9 @@ now supports Intel NM10 Express chipset watchdog timer. + The &man.tpm.4; driver, which supports + Trusted Platform Module has been added. + Multimedia Support @@ -276,6 +291,11 @@ Atheros AR8151/AR8152 PCIe Gigabit/Fast Ethernet controllers. + A bug in the &man.alc.4; driver + which can lead to a system freeze when the system is + booted without a cable plugged in. The symptom was found + in AR8132 on EEE PC. + The TX interrupt moderation timer in the &man.alc.4; driver has been reduced from 50ms to 1ms. The 50ms timer resulted in a poor UDP performance. @@ -287,6 +307,14 @@ The &man.bce.4; driver now supports flow control. + The &man.bge.4; driver now supports + BCM5718 family. This family is the successor to the + BCM5714/BCM5715 family and supports IPv4/IPv6 checksum + offloading, TSO, VLAN hardware tagging, jumbo frames, + MSI/MSIX, IOV, RSS and TSS. The current version of the + driver supports all hardware features except IOV and + RSS/TSS. + A bug in the &man.bge.4; driver which prevents TSO in BCM57780 from working has been fixed. @@ -382,9 +410,19 @@ The &man.mwlfw.4; driver is now also provided as a kernel module. + The &man.re.4; driver now supports + 64-bit DMA addressing for RTL810xE/RTL8168/RTL8111 PCIe + controllers. + The &man.rl.4; driver now supports WoL (Wake on LAN) on RTL8139B or newer controllers. + The &man.rl.4; driver now supports + reading hardware statistics counters by setting a + &man.sysctl.8; variable + dev.re.N.stats + to 1. + The &man.rl.4; driver now supports a device hint to change a way of register access. Although some newer RTL8139 controllers support memory-mapped @@ -402,6 +440,18 @@ improved on interrupt handling. It now has better TX performance under high RX load. + A bug in the &man.sk.4; driver has + been fixed. It did not program the station address for + Yukon controllers and overriding the station address with + &man.ifconfig.8; was not possible. + + The &man.sk.4; driver now disable TX + checksum offloading by default. This is because some + revision of Yukon controller generates corrupted frames. + The checksum offloading can be enabled manually by using + option in the &man.ifconfig.8; + utility. + The &man.sis.4; driver now works on all supported platforms. Some stability and performance issues have also been fixed. @@ -430,13 +480,6 @@ hint.ste.N.prefer_iomap="1" - The &man.sk.4; driver now disable TX - checksum offloading by default. This is because some - revision of Yukon controller generates corrupted frames. - The checksum offloading can be enabled manually by using - option in the &man.ifconfig.8; - utility. - The &man.xl.4; driver now supports WoL (Wake on LAN). Note that not all controllers support this functionality and some need an additional remote @@ -451,10 +494,16 @@ as a kernel module alq.ko. A bug in the &man.ipfw.4; packet - filter subsystem has been fixed. The syctl variable + filter subsystem has been fixed. The &man.sysctl.8; variable net.inet.ip.fw.one_pass did not work for netgraph action. + A new loader tunable + net.link.ifqmaxlen has been added. It + specifies the default value of send interface queue length. + The default value for this parameter is + 50. + A ngtee action in the &man.ipfw.4; packet filter subsystem has been changed. It no longer accepts a packet. @@ -476,7 +525,7 @@ fixed. The &man.lagg.4; interface now - supports a sysctl variable + supports a &man.sysctl.8; variable net.link.lagg.failover_rx_all. This controls whether to accept input packets on any link in a failover lagg. @@ -522,6 +571,14 @@ has been idle for one retransmit timeout or more. For more details, see RFC 5681 Section 4.1. + The &man.siftr.4;, Statistical + Information For TCP Research (SIFTR) kernel module has been + added. This is a facility that logs a range of statistics + on active TCP connections to a log file. It provides the + ability to make highly granular measurements of TCP + connection state, aimed at system administrators, developers + and researchers. + &os; virtual network stack (vnet) now supports IPv4 multicast routing. @@ -540,6 +597,13 @@ The &man.arcmsr.4; driver has been updated to version 1.20.00.17. + The &man.ada.4; driver now supports a + now &man.sysctl.8; variable + kern.cam.ada.spindown_shutdown which + controls whether or not to spin-down disks when shutting + down if the device supports the functionality. The default + value is 1. + The &man.ata.4; driver now supports limiting initial ATA mode for devices via device hints @@ -612,7 +676,7 @@ kernel environment variable boot.nfsroot.nfshandlelen. This lets the diskless root file system on boot to use NFS version 3 and - the spedified file handle length. If this variable is not + the specified file handle length. If this variable is not set, NFS version 2 is used. The ZFS on-disk format has been updated @@ -629,7 +693,7 @@ 6726045, and 6803605. Performance improvements for the ZFS - have been imported from OpenSolaris. They include cachin of + have been imported from OpenSolaris. They include caching of ACL permission checks, faster handling of &man.stat.2;, mitigation of mutex lock contention. The related OpenSolaris Bug IDs are 6802734, 6844861, 6848431, 6775100, @@ -645,29 +709,28 @@ related OpenSolaris Bug IDs are: 6328632, 6396518, 6501037, 6504953, 6542860, 6551866, 6572357, 6572376, 6582163, 6586537, 6595194, 6596237, 6604992, 6621164, 6623978, - 6633095, 6635482, 6664765, 6674216, 6696858, 6696858, + 6633095, 6635482, 6664765, 6674216, 6696242, 6696858, 6702206, 6710376, 6713916, 6717022, 6722540, 6722991, 6737463, 6739487, 6739553, 6740164, 6745863, 6747596, 6747698, 6748436, 6755435, 6757430, 6758107, 6759986, 6759999, 6761100, 6761406, 6764124, 6765294, 6767129, 6769612, 6770866, 6774713, 6774886, 6775697, 6776104, - 6776548, 6780491, 6784104, 6784108, 6788152, 6788152, + 6776548, 6780491, 6784104, 6784108, 6785914, 6788152, 6788830, 6789318, 6790064, 6790345, 6790687, 6791064, 6791066, 6791071, 6791101, 6792134, 6792139, 6792884, - 6793430, 6794136, 6794570, 6794570, 6794830, 6797109, - 6797118, 6798384, 6798878, 6798878, 6799895, 6800184, - 6800942, 6801507, 6801810, 6803343, 6803822, 6804954, - 6807339, 6807765, 6809340, 6809683, 6809683, 6809691, - 6810367, 6815592, 6815893, 6816124, 6818183, 6821169, - 6821170, 6822816, 6824006, 6824062, 6824968, 6826466, - 6826468, 6826469, 6826470, 6826471, 6826472, 6827260, - 6830237, 6833162, 6833711, 6833999, 6834217, 6836714, - 6836714, 6836768, 6838062, 6838344, 6841321, 6843014, - 6843069, 6843235, 6844069, 6844069, 6844900, 6847229, - 6848242, 6856634, 6857012, 6857012, 6857012, 6861983, - 6862984, 6863610, 6870564, 6870564, 6880764, 6882227, - 6892298, 6898245, 6906110, 6906946, 6939941, 6950219, - 6951024, and 6953403. + 6793430, 6794136, 6794570, 6794830, 6797109, 6797118, + 6798384, 6798878, 6799895, 6800184, 6800942, 6801507, + 6801810, 6803343, 6803822, 6804954, 6807339, 6807765, + 6809340, 6809683, 6809691, 6810367, 6815592, 6815893, + 6816124, 6818183, 6821169, 6821170, 6822816, 6824006, + 6824062, 6824968, 6826466, 6826468, 6826469, 6826470, + 6826471, 6826472, 6827260, 6830237, 6830541, 6833162, + 6833711, 6833999, 6834217, 6836714, 6836768, 6838062, + 6838344, 6841321, 6843014, 6843069, 6843235, 6844069, + 6844900, 6847229, 6848242, 6856634, 6857012, 6861983, + 6862984, 6863610, 6870564, 6880764, 6882227, 6892298, + 6898245, 6906110, 6906946, 6939941, 6950219, 6951024, and + 6953403. @@ -679,7 +742,7 @@ of aliases. A bug in the &man.b64decode.1; which - prevernts an option from handling arbitary + prevents an option from handling arbitrary breaks in a base64 encoded string has been fixed. The &man.calendar.1; utility now supports @@ -694,6 +757,14 @@ symptom that &man.dhclient.8; silently exits under a certain condition. + Userland support for the &man.dtrace.1; + subsystem has been added. This allows inspection of userland + software itself and its correlation with the kernel, thus + allowing a much better picture of what exactly is going on + behind the scenes. The &man.dtruss.1; utility has been added + and the libproc has been updated to + support the facility. + The &man.du.1; utility now supports a option to display entries that exceeds the value of @@ -716,7 +787,7 @@ suspend new I/O requests, remove all &man.geli.8; sensitive data from the kernel memory (like encryption keys) and will wait for either geli resume or - geli detach commmand. For more + geli detach command. For more information, see &man.geli.8; manual page. The &man.geli.8; utility now checks the @@ -749,6 +820,29 @@ subcommand. This option force destroying of the partition table even if it is not empty. + The &man.gpart.8; utility now supports a + recover subcommand for GPT partition + tables. A corrupted GPT is now marked when the following + three types of corruption: + + + + Primary GPT header or table is corrupted. + + + + Secondary GPT header or table is corrupted. + + + + Secondary GPT header is not located at the last LBA. + + + + Any changes to the corrupted GPT table is not allowed + except for destroy and + recover subcommands./para> + The &man.gpart.8; utility now supports GPT_ENT_ATTR_BOOTME, GPT_ENT_ATTR_BOOTONCE, and @@ -776,6 +870,11 @@ &man.tar.1; utility now support LZMA (Lempel-Ziv-Markov chain-Algorithm) compression format. + The &man.tar.1; utility now supports a + blocksize which is up to 8192 (4MB) in the + + option. + A bug in the &man.lpr.1; utility which prevents it from working with some files on a ZFS file system has been fixed. @@ -801,7 +900,7 @@ file. The &man.ntpd.8; utility is now compiled - with shared memory reference clock driver. For exmaple, GPS + with shared memory reference clock driver. For example, GPS devices can be used as source of precise time via astro/gpsd in the Ports Collection. @@ -839,6 +938,10 @@ The &man.ruptime.1; utility now displays hostnames longer than 12 characters. + A option in + the &man.sh.1; program now handles expansion of positional and + special variables $@, $*, and $!. + A bug in the &man.sh.1; program has been fixed. A SIGINT signal is now passed through from a child process if the shell is interactive and @@ -892,6 +995,10 @@ A periodic script for zfs scrub has been added. For more details, see &man.periodic.conf.5; manual page. + + A periodic script which can be used to find installed + ports' files with mismatched checksum has been added. For more + details, see &man.periodic.conf.5; @@ -915,10 +1022,9 @@ The &man.ee.1; program has been updated to version 1.5.2. - The &man.ee.1; program has been updated to version 1.5.2. ISC BIND has been updated to - version 9.6-ESV-R2. - The timezone database has been updated to the tzdata2010o release. + + xz has been updated from + snapshot as of 12 April 2010 to 5.0.0 release + + + + Ports/Packages Collection Infrastructure + + The &man.pkg.create.1; utility now supports + xz compression. Note that the + default is still bzip2. From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 17:18:42 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8422106566C; Fri, 11 Feb 2011 17:18:42 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BC41D8FC18; Fri, 11 Feb 2011 17:18: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 p1BHIgGQ068176; Fri, 11 Feb 2011 17:18:42 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BHIg8t068172; Fri, 11 Feb 2011 17:18:42 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201102111718.p1BHIg8t068172@svn.freebsd.org> From: Jack F Vogel Date: Fri, 11 Feb 2011 17:18: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: r218581 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 17:18:43 -0000 Author: jfv Date: Fri Feb 11 17:18:42 2011 New Revision: 218581 URL: http://svn.freebsd.org/changeset/base/218581 Log: Inconsistencies in the updated igb shared code and the older em/lem, breaking the build, correcting that. Modified: head/sys/dev/e1000/e1000_82542.c head/sys/dev/e1000/e1000_mac.c head/sys/dev/e1000/e1000_mac.h Modified: head/sys/dev/e1000/e1000_82542.c ============================================================================== --- head/sys/dev/e1000/e1000_82542.c Fri Feb 11 16:14:16 2011 (r218580) +++ head/sys/dev/e1000/e1000_82542.c Fri Feb 11 17:18:42 2011 (r218581) @@ -51,7 +51,6 @@ static void e1000_rar_set_82542(struct e static void e1000_clear_hw_cntrs_82542(struct e1000_hw *hw); static s32 e1000_read_mac_addr_82542(struct e1000_hw *hw); - /** * e1000_init_phy_params_82542 - Init PHY func ptrs. * @hw: pointer to the HW structure @@ -192,7 +191,7 @@ static s32 e1000_reset_hw_82542(struct e { struct e1000_bus_info *bus = &hw->bus; s32 ret_val = E1000_SUCCESS; - u32 ctrl, icr; + u32 ctrl; DEBUGFUNC("e1000_reset_hw_82542"); @@ -223,7 +222,7 @@ static s32 e1000_reset_hw_82542(struct e msec_delay(2); E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); if (hw->revision_id == E1000_REVISION_2) { if (bus->pci_cmd_word & CMD_MEM_WRT_INVALIDATE) Modified: head/sys/dev/e1000/e1000_mac.c ============================================================================== --- head/sys/dev/e1000/e1000_mac.c Fri Feb 11 16:14:16 2011 (r218580) +++ head/sys/dev/e1000/e1000_mac.c Fri Feb 11 17:18:42 2011 (r218581) @@ -399,7 +399,10 @@ s32 e1000_check_alt_mac_addr_generic(str if (ret_val) goto out; - if (!(nvm_data & NVM_COMPAT_LOM)) + /* Check for LOM (vs. NIC) or one of two valid mezzanine cards */ + if (!((nvm_data & NVM_COMPAT_LOM) || + (hw->device_id == E1000_DEV_ID_82571EB_SERDES_DUAL) || + (hw->device_id == E1000_DEV_ID_82571EB_SERDES_QUAD))) goto out; ret_val = hw->nvm.ops.read(hw, NVM_ALT_MAC_ADDR_PTR, 1, Modified: head/sys/dev/e1000/e1000_mac.h ============================================================================== --- head/sys/dev/e1000/e1000_mac.h Fri Feb 11 16:14:16 2011 (r218580) +++ head/sys/dev/e1000/e1000_mac.h Fri Feb 11 17:18:42 2011 (r218581) @@ -70,6 +70,7 @@ s32 e1000_led_on_generic(struct e1000_h s32 e1000_led_off_generic(struct e1000_hw *hw); void e1000_update_mc_addr_list_generic(struct e1000_hw *hw, u8 *mc_addr_list, u32 mc_addr_count); +s32 e1000_set_default_fc_generic(struct e1000_hw *hw); s32 e1000_set_fc_watermarks_generic(struct e1000_hw *hw); s32 e1000_setup_fiber_serdes_link_generic(struct e1000_hw *hw); s32 e1000_setup_led_generic(struct e1000_hw *hw); From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 18:38:49 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63B12106564A for ; Fri, 11 Feb 2011 18:38:49 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx22.fluidhosting.com [204.14.89.5]) by mx1.freebsd.org (Postfix) with ESMTP id B0A6B8FC08 for ; Fri, 11 Feb 2011 18:38:48 +0000 (UTC) Received: (qmail 13284 invoked by uid 399); 11 Feb 2011 18:38:47 -0000 Received: from localhost (HELO doug-optiplex.ka9q.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 11 Feb 2011 18:38:47 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4D558236.7000409@FreeBSD.org> Date: Fri, 11 Feb 2011 10:38:46 -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/20110129 Thunderbird/3.1.7 MIME-Version: 1.0 To: Jack F Vogel References: <201102111718.p1BHIg8t068172@svn.freebsd.org> In-Reply-To: <201102111718.p1BHIg8t068172@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-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218581 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 18:38:49 -0000 On 02/11/2011 09:18, Jack F Vogel wrote: > Modified: head/sys/dev/e1000/e1000_mac.h > ============================================================================== > --- head/sys/dev/e1000/e1000_mac.h Fri Feb 11 16:14:16 2011 (r218580) > +++ head/sys/dev/e1000/e1000_mac.h Fri Feb 11 17:18:42 2011 (r218581) > @@ -70,6 +70,7 @@ s32 e1000_led_on_generic(struct e1000_h > s32 e1000_led_off_generic(struct e1000_hw *hw); > void e1000_update_mc_addr_list_generic(struct e1000_hw *hw, > u8 *mc_addr_list, u32 mc_addr_count); > +s32 e1000_set_default_fc_generic(struct e1000_hw *hw); This is a redundant declaration, it's already defined in _api.h. Commenting this out allows the build to succeed, and if you receive this message it seems to be working fine. :) hth, Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 18:45:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2CCE106566C; Fri, 11 Feb 2011 18:45:07 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id 4B8C88FC18; Fri, 11 Feb 2011 18:45:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 0CD0641C7BE; Fri, 11 Feb 2011 19:45:06 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id 1ck8dgymc0AR; Fri, 11 Feb 2011 19:45:05 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id 8E9A341C7B9; Fri, 11 Feb 2011 19:45:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 073144448F3; Fri, 11 Feb 2011 18:42:04 +0000 (UTC) Date: Fri, 11 Feb 2011 18:42:04 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Doug Barton In-Reply-To: <4D558236.7000409@FreeBSD.org> Message-ID: <20110211184043.T80258@maildrop.int.zabbadoz.net> References: <201102111718.p1BHIg8t068172@svn.freebsd.org> <4D558236.7000409@FreeBSD.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Jack F Vogel , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218581 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 18:45:07 -0000 On Fri, 11 Feb 2011, Doug Barton wrote: > On 02/11/2011 09:18, Jack F Vogel wrote: >> Modified: head/sys/dev/e1000/e1000_mac.h >> ============================================================================== >> --- head/sys/dev/e1000/e1000_mac.h Fri Feb 11 16:14:16 2011 >> (r218580) >> +++ head/sys/dev/e1000/e1000_mac.h Fri Feb 11 17:18:42 2011 >> (r218581) >> @@ -70,6 +70,7 @@ s32 e1000_led_on_generic(struct e1000_h >> s32 e1000_led_off_generic(struct e1000_hw *hw); >> void e1000_update_mc_addr_list_generic(struct e1000_hw *hw, >> u8 *mc_addr_list, u32 >> mc_addr_count); >> +s32 e1000_set_default_fc_generic(struct e1000_hw *hw); > > This is a redundant declaration, it's already defined in _api.h. Commenting > this out allows the build to succeed, and if you receive this message it > seems to be working fine. :) Yeah, I put it into _api.h this morning to unbreak the build. Jack, you may want to revert parts of my commit and adjust to your local trees (mine had a style bug anyway;) That was the commit: http://svn.freebsd.org/changeset/base/218548 /bz -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 19:03:00 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97A95106564A; Fri, 11 Feb 2011 19:03:00 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8646A8FC08; Fri, 11 Feb 2011 19:03:00 +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 p1BJ301P070974; Fri, 11 Feb 2011 19:03:00 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BJ30YQ070972; Fri, 11 Feb 2011 19:03:00 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201102111903.p1BJ30YQ070972@svn.freebsd.org> From: Jack F Vogel Date: Fri, 11 Feb 2011 19:03:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218582 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 19:03:00 -0000 Author: jfv Date: Fri Feb 11 19:03:00 2011 New Revision: 218582 URL: http://svn.freebsd.org/changeset/base/218582 Log: Revert changes made here, they will cause a conflict later on with our shared code. Modified: head/sys/dev/e1000/e1000_api.h Modified: head/sys/dev/e1000/e1000_api.h ============================================================================== --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 17:18:42 2011 (r218581) +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 19:03:00 2011 (r218582) @@ -120,9 +120,6 @@ s32 e1000_mng_write_cmd_header(struct e s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, u16 length); u32 e1000_translate_register_82542(u32 reg); -s32 e1000_set_default_fc_generic(struct e1000_hw *hw); -s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); -s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); /* * TBI_ACCEPT macro definition: From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 19:11:05 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E02301065670; Fri, 11 Feb 2011 19:11:05 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id 6EBB18FC12; Fri, 11 Feb 2011 19:11:05 +0000 (UTC) Received: by gyc15 with SMTP id 15so1232589gyc.13 for ; Fri, 11 Feb 2011 11:11:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=libFk7NDpWno//HFRZAyJHllCLPN/8BYUDReAAtN8tc=; b=TWgLaBHHA7k6gwrrJRNwk2X+qLmC6hksQeopIGlZTSA0Xrf0XLlrD5PtkTYidV9zTV EDRzEF0uAN/IRZYEtXrjx4La4qZKDaDCu/M9aHywpYm+AAOJYplvYWoTisRpVBOkERU5 jYQJezPrWACtnpm42Bj58FLHGzWSRloTQZGMw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ffbopb+aQQVlyUIYIyAf5Rfs/wnenkj8F83w4l0LLVlRilykBQCSjhzExpfaiweKxc SlUGGMB1Y/SeIZENQnTpReNGS21kLHMTyMKI8/cN4u2UZsDgHAg01jgscSKkZjczvBlV 6H/b8g06sVj+qAQLvWQDsWopdmUQsDdRNgjE4= MIME-Version: 1.0 Received: by 10.150.203.13 with SMTP id a13mr916430ybg.54.1297450076060; Fri, 11 Feb 2011 10:47:56 -0800 (PST) Received: by 10.147.167.5 with HTTP; Fri, 11 Feb 2011 10:47:56 -0800 (PST) In-Reply-To: <20110211184043.T80258@maildrop.int.zabbadoz.net> References: <201102111718.p1BHIg8t068172@svn.freebsd.org> <4D558236.7000409@FreeBSD.org> <20110211184043.T80258@maildrop.int.zabbadoz.net> Date: Fri, 11 Feb 2011 10:47:56 -0800 Message-ID: From: Jack Vogel To: "Bjoern A. Zeeb" Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Jack F Vogel , svn-src-head@freebsd.org, svn-src-all@freebsd.org, Doug Barton , src-committers@freebsd.org Subject: Re: svn commit: r218581 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 19:11:06 -0000 Ya, I just saw that, I think I will Bjoern, only because its gonna be a problem the next time I check in shared code, I don't really even own the stuff, when my internal build runs it just filters the defines in the stuff according to my needs, but doesn't directly change anything. I was gonna send email around midnight last night and say I saw the breakage, but I couldn't fix it til this morning, you had good intentions anyway :) Jack On Fri, Feb 11, 2011 at 10:42 AM, Bjoern A. Zeeb wrote: > On Fri, 11 Feb 2011, Doug Barton wrote: > > On 02/11/2011 09:18, Jack F Vogel wrote: >> >>> Modified: head/sys/dev/e1000/e1000_mac.h >>> >>> ============================================================================== >>> --- head/sys/dev/e1000/e1000_mac.h Fri Feb 11 16:14:16 2011 >>> (r218580) >>> +++ head/sys/dev/e1000/e1000_mac.h Fri Feb 11 17:18:42 2011 >>> (r218581) >>> @@ -70,6 +70,7 @@ s32 e1000_led_on_generic(struct e1000_h >>> s32 e1000_led_off_generic(struct e1000_hw *hw); >>> void e1000_update_mc_addr_list_generic(struct e1000_hw *hw, >>> u8 *mc_addr_list, u32 >>> mc_addr_count); >>> +s32 e1000_set_default_fc_generic(struct e1000_hw *hw); >>> >> >> This is a redundant declaration, it's already defined in _api.h. >> Commenting this out allows the build to succeed, and if you receive this >> message it seems to be working fine. :) >> > > Yeah, I put it into _api.h this morning to unbreak the build. Jack, > you may want to revert parts of my commit and adjust to your local > trees (mine had a style bug anyway;) > > That was the commit: > http://svn.freebsd.org/changeset/base/218548 > > /bz > > -- > Bjoern A. Zeeb You have to have visions! > Stop bit received. Insert coin for new address family. > From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 19:48:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFE4D106566B; Fri, 11 Feb 2011 19:48:56 +0000 (UTC) (envelope-from dchagin@dchagin.static.corbina.ru) Received: from contrabass.post.ru (contrabass.post.ru [85.21.78.5]) by mx1.freebsd.org (Postfix) with ESMTP id 503858FC0C; Fri, 11 Feb 2011 19:48:55 +0000 (UTC) Received: from corbina.ru (mail.post.ru [195.14.50.16]) by contrabass.post.ru (Postfix) with ESMTP id 69FD2CAC7B; Fri, 11 Feb 2011 22:48:53 +0300 (MSK) X-Virus-Scanned: by cgpav Uf39PSi9pFi9oFi9 Received: from [10.208.17.3] (HELO dchagin.static.corbina.ru) by corbina.ru (CommuniGate Pro SMTP 5.1.14) with ESMTPS id 300151258; Fri, 11 Feb 2011 22:48:50 +0300 Received: from dchagin.static.corbina.ru (localhost [127.0.0.1]) by dchagin.static.corbina.ru (8.14.4/8.14.4) with ESMTP id p1BJmoHu010140; Fri, 11 Feb 2011 22:48:50 +0300 (MSK) (envelope-from dchagin@dchagin.static.corbina.ru) Received: (from dchagin@localhost) by dchagin.static.corbina.ru (8.14.4/8.14.4/Submit) id p1BJmjE3010139; Fri, 11 Feb 2011 22:48:45 +0300 (MSK) (envelope-from dchagin) Date: Fri, 11 Feb 2011 22:48:45 +0300 From: Chagin Dmitry To: Rui Paulo Message-ID: <20110211194845.GA10131@dchagin.static.corbina.ru> References: <201008250910.o7P9AWsv005437@svn.freebsd.org> <20110210161325.GA29246@dchagin.static.corbina.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="tThc/1wpZn/ma/RB" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Rui Paulo Subject: Re: svn commit: r211804 - in head/sys: amd64/amd64 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: Fri, 11 Feb 2011 19:48:57 -0000 --tThc/1wpZn/ma/RB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Feb 10, 2011 at 10:06:29AM -0800, Rui Paulo wrote: >=20 > On Feb 10, 2011, at 8:13 AM, Chagin Dmitry wrote: >=20 > > On Wed, Aug 25, 2010 at 09:10:32AM +0000, Rui Paulo wrote: > >> Author: rpaulo > >> Date: Wed Aug 25 09:10:32 2010 > >> New Revision: 211804 > >> URL: http://svn.freebsd.org/changeset/base/211804 > >>=20 > >> Log: > >> Call the necessary DTrace function pointers when we have different ki= nds > >> of traps. > >>=20 > >> Sponsored by: The FreeBSD Foundation > >>=20 > >> Modified: > >> head/sys/amd64/amd64/trap.c > >> head/sys/i386/i386/trap.c > >>=20 > >> Modified: head/sys/amd64/amd64/trap.c > >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > >> --- head/sys/amd64/amd64/trap.c Wed Aug 25 08:49:21 2010 (r211803) > >> +++ head/sys/amd64/amd64/trap.c Wed Aug 25 09:10:32 2010 (r211804) > >> @@ -109,6 +109,13 @@ dtrace_doubletrap_func_t dtrace_doubletr > >> * implementation opaque.=20 > >> */ > >> systrace_probe_func_t systrace_probe_func; > >> + > >> +/* > >> + * These hooks are necessary for the pid, usdt and fasttrap providers. > >> + */ > >> +dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr; > >> +dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr; > >> +dtrace_return_probe_ptr_t dtrace_return_probe_ptr; > >> #endif > >>=20 > >> extern void trap(struct trapframe *frame); > >> @@ -239,6 +246,55 @@ trap(struct trapframe *frame) > >> if (dtrace_trap_func !=3D NULL) > >> if ((*dtrace_trap_func)(frame, type)) > >> goto out; > >> + if (type =3D=3D T_DTRACE_PROBE || type =3D=3D T_DTRACE_RET || > >> + type =3D=3D T_BPTFLT) { > >> + struct reg regs; > >> + > >> + regs.r_r15 =3D frame->tf_r15; > >> + regs.r_r14 =3D frame->tf_r14; > >> + regs.r_r13 =3D frame->tf_r13; > >> + regs.r_r12 =3D frame->tf_r12; > >> + regs.r_r11 =3D frame->tf_r11; > >> + regs.r_r10 =3D frame->tf_r10; > >> + regs.r_r9 =3D frame->tf_r9; > >> + regs.r_r8 =3D frame->tf_r8; > >> + regs.r_rdi =3D frame->tf_rdi; > >> + regs.r_rsi =3D frame->tf_rsi; > >> + regs.r_rbp =3D frame->tf_rbp; > >> + regs.r_rbx =3D frame->tf_rbx; > >> + regs.r_rdx =3D frame->tf_rdx; > >> + regs.r_rcx =3D frame->tf_rcx; > >> + regs.r_rax =3D frame->tf_rax; > >> + regs.r_rip =3D frame->tf_rip; > >> + regs.r_cs =3D frame->tf_cs; > >> + regs.r_rflags =3D frame->tf_rflags; > >> + regs.r_rsp =3D frame->tf_rsp; > >> + regs.r_ss =3D frame->tf_ss; > >> + if (frame->tf_flags & TF_HASSEGS) { > >> + regs.r_ds =3D frame->tf_ds; > >> + regs.r_es =3D frame->tf_es; > >> + regs.r_fs =3D frame->tf_fs; > >> + regs.r_gs =3D frame->tf_gs; > >> + } else { > >> + regs.r_ds =3D 0; > >> + regs.r_es =3D 0; > >> + regs.r_fs =3D 0; > >> + regs.r_gs =3D 0; > >=20 > >=20 > > hi, maybe use fill_regs() would more appropriate here? >=20 > No, fill_regs() takes a thread as an argument. I all I had was a frame. >=20 ah, can u test http://people.freebsd.org/~dchagin/fillregs.patch, please? thnx :) --=20 Have fun! chd --tThc/1wpZn/ma/RB Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAk1VkpwACgkQ0t2Tb3OO/O0VwQCfeY6QKAdESMnqkcDAwyBktCmg 6K8An2olKIVEIm9POlUF/qj6JdQSajOw =g/SO -----END PGP SIGNATURE----- --tThc/1wpZn/ma/RB-- From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 19:49:07 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7CD21065697; Fri, 11 Feb 2011 19:49:07 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AC4918FC15; Fri, 11 Feb 2011 19:49:07 +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 p1BJn7BK072029; Fri, 11 Feb 2011 19:49:07 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BJn7dd072027; Fri, 11 Feb 2011 19:49:07 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201102111949.p1BJn7dd072027@svn.freebsd.org> From: Jack F Vogel Date: Fri, 11 Feb 2011 19:49: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: r218583 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 19:49:07 -0000 Author: jfv Date: Fri Feb 11 19:49:07 2011 New Revision: 218583 URL: http://svn.freebsd.org/changeset/base/218583 Log: Somehow the RX ring depletion fix got partially removed, replace the missing pieces. Modified: head/sys/dev/e1000/if_igb.c Modified: head/sys/dev/e1000/if_igb.c ============================================================================== --- head/sys/dev/e1000/if_igb.c Fri Feb 11 19:03:00 2011 (r218582) +++ head/sys/dev/e1000/if_igb.c Fri Feb 11 19:49:07 2011 (r218583) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2010, Intel Corporation + Copyright (c) 2001-2011, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -99,7 +99,7 @@ int igb_display_debug_stats = 0; /********************************************************************* * Driver version: *********************************************************************/ -char igb_driver_version[] = "version - 2.1.3"; +char igb_driver_version[] = "version - 2.1.4"; /********************************************************************* @@ -1937,6 +1937,10 @@ igb_local_timer(void *arg) goto timeout; out: callout_reset(&adapter->timer, hz, igb_local_timer, adapter); +#ifndef DEVICE_POLLING + /* Fire off all queue interrupts - deadlock protection */ + E1000_WRITE_REG(&adapter->hw, E1000_EICS, adapter->que_mask); +#endif return; timeout: @@ -3616,6 +3620,7 @@ igb_refresh_mbufs(struct rx_ring *rxr, i int i, nsegs, error, cleaned; i = rxr->next_to_refresh; + rxr->needs_refresh = FALSE; cleaned = -1; /* Signify no completions */ while (i != limit) { rxbuf = &rxr->rx_buffers[i]; @@ -3624,8 +3629,10 @@ igb_refresh_mbufs(struct rx_ring *rxr, i goto no_split; if (rxbuf->m_head == NULL) { mh = m_gethdr(M_DONTWAIT, MT_DATA); - if (mh == NULL) + if (mh == NULL) { + rxr->needs_refresh = TRUE; goto update; + } } else mh = rxbuf->m_head; @@ -3651,8 +3658,10 @@ no_split: if (rxbuf->m_pack == NULL) { mp = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, adapter->rx_mbuf_sz); - if (mp == NULL) + if (mp == NULL) { + rxr->needs_refresh = TRUE; goto update; + } } else mp = rxbuf->m_pack; @@ -4303,6 +4312,10 @@ igb_rxeof(struct igb_queue *que, int cou bus_dmamap_sync(rxr->rxdma.dma_tag, rxr->rxdma.dma_map, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); + /* Try outstanding refresh first */ + if (rxr->needs_refresh == TRUE) + igb_refresh_mbufs(rxr, rxr->next_to_check); + /* Main clean loop */ for (i = rxr->next_to_check; count != 0;) { struct mbuf *sendmp, *mh, *mp; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 21:28:55 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF4C3106564A; Fri, 11 Feb 2011 21:28:55 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 8FD6C8FC0A; Fri, 11 Feb 2011 21:28:55 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:fcb8:bd7a:f0d1:1b94] (unknown [IPv6:2001:7b8:3a7:0:fcb8:bd7a:f0d1:1b94]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 600065C59; Fri, 11 Feb 2011 22:28:53 +0100 (CET) Message-ID: <4D55AA18.3090707@FreeBSD.org> Date: Fri, 11 Feb 2011 22:28:56 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.15pre) Gecko/20110205 Lanikai/3.1.9pre MIME-Version: 1.0 To: Jack F Vogel References: <201102111903.p1BJ30YQ070972@svn.freebsd.org> In-Reply-To: <201102111903.p1BJ30YQ070972@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218582 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 21:28:55 -0000 On 2011-02-11 20:03, Jack F Vogel wrote: > Author: jfv > Date: Fri Feb 11 19:03:00 2011 > New Revision: 218582 > URL: http://svn.freebsd.org/changeset/base/218582 > > Log: > Revert changes made here, they will cause a conflict > later on with our shared code. > > Modified: > head/sys/dev/e1000/e1000_api.h > > Modified: head/sys/dev/e1000/e1000_api.h > ============================================================================== > --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 17:18:42 2011 (r218581) > +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 19:03:00 2011 (r218582) > @@ -120,9 +120,6 @@ s32 e1000_mng_write_cmd_header(struct e > s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, > u8 *buffer, u16 length); > u32 e1000_translate_register_82542(u32 reg); > -s32 e1000_set_default_fc_generic(struct e1000_hw *hw); > -s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); > -s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); This breaks the build, please put back the following two prototypes for now: s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 22:43:10 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A6C61065672; Fri, 11 Feb 2011 22:43:10 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A3FB8FC12; Fri, 11 Feb 2011 22:43: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 p1BMhAQi076354; Fri, 11 Feb 2011 22:43:10 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BMhAUc076352; Fri, 11 Feb 2011 22:43:10 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201102112243.p1BMhAUc076352@svn.freebsd.org> From: Juli Mallett Date: Fri, 11 Feb 2011 22:43: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: r218584 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 22:43:10 -0000 Author: jmallett Date: Fri Feb 11 22:43:10 2011 New Revision: 218584 URL: http://svn.freebsd.org/changeset/base/218584 Log: With smp_topo_none, set cg_mask to all_cpus rather than setting the mp_ncpus low bits. Submitted by: Bhanu Prakash Reviewed by: jeffr Modified: head/sys/kern/subr_smp.c Modified: head/sys/kern/subr_smp.c ============================================================================== --- head/sys/kern/subr_smp.c Fri Feb 11 19:49:07 2011 (r218583) +++ head/sys/kern/subr_smp.c Fri Feb 11 22:43:10 2011 (r218584) @@ -476,7 +476,7 @@ smp_topo_none(void) top = &group[0]; top->cg_parent = NULL; top->cg_child = NULL; - top->cg_mask = ~0U >> (32 - mp_ncpus); + top->cg_mask = all_cpus; top->cg_count = mp_ncpus; top->cg_children = 0; top->cg_level = CG_SHARE_NONE; From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 22:56:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B50A106566B; Fri, 11 Feb 2011 22:56:15 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F5578FC0A; Fri, 11 Feb 2011 22:56:15 +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 p1BMuFI8076753; Fri, 11 Feb 2011 22:56:15 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BMuFoe076750; Fri, 11 Feb 2011 22:56:15 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201102112256.p1BMuFoe076750@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 11 Feb 2011 22:56:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218585 - in vendor-sys/acpica/dist: . common compiler debugger dispatcher events executer generate/unix generate/unix/acpiexec generate/unix/acpinames generate/unix/acpisrc generate/un... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 22:56:15 -0000 Author: jkim Date: Fri Feb 11 22:56:14 2011 New Revision: 218585 URL: http://svn.freebsd.org/changeset/base/218585 Log: Import ACPICA 20110211. Added: vendor-sys/acpica/dist/compiler/aslbtypes.c (contents, props changed) vendor-sys/acpica/dist/compiler/aslwalks.c (contents, props changed) vendor-sys/acpica/dist/compiler/dtexpress.c (contents, props changed) vendor-sys/acpica/dist/debugger/dbmethod.c (contents, props changed) vendor-sys/acpica/dist/debugger/dbnames.c (contents, props changed) vendor-sys/acpica/dist/dispatcher/dsargs.c (contents, props changed) vendor-sys/acpica/dist/dispatcher/dscontrol.c (contents, props changed) vendor-sys/acpica/dist/dispatcher/dswload2.c (contents, props changed) vendor-sys/acpica/dist/generate/unix/ vendor-sys/acpica/dist/generate/unix/Makefile (contents, props changed) vendor-sys/acpica/dist/generate/unix/Makefile.config (contents, props changed) vendor-sys/acpica/dist/generate/unix/acpiexec/ vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile (contents, props changed) vendor-sys/acpica/dist/generate/unix/acpinames/ vendor-sys/acpica/dist/generate/unix/acpinames/Makefile (contents, props changed) vendor-sys/acpica/dist/generate/unix/acpisrc/ vendor-sys/acpica/dist/generate/unix/acpisrc/Makefile (contents, props changed) vendor-sys/acpica/dist/generate/unix/acpixtract/ vendor-sys/acpica/dist/generate/unix/acpixtract/Makefile (contents, props changed) vendor-sys/acpica/dist/generate/unix/iasl/ vendor-sys/acpica/dist/generate/unix/iasl/Makefile (contents, props changed) vendor-sys/acpica/dist/generate/unix/readme.txt (contents, props changed) vendor-sys/acpica/dist/tools/acpinames/Makefile (contents, props changed) vendor-sys/acpica/dist/utilities/utdecode.c (contents, props changed) Modified: vendor-sys/acpica/dist/changes.txt vendor-sys/acpica/dist/common/dmtable.c vendor-sys/acpica/dist/common/dmtbdump.c vendor-sys/acpica/dist/common/dmtbinfo.c vendor-sys/acpica/dist/compiler/Makefile vendor-sys/acpica/dist/compiler/aslanalyze.c vendor-sys/acpica/dist/compiler/aslcompile.c vendor-sys/acpica/dist/compiler/aslcompiler.h vendor-sys/acpica/dist/compiler/aslcompiler.l vendor-sys/acpica/dist/compiler/aslcompiler.y vendor-sys/acpica/dist/compiler/aslmessages.h vendor-sys/acpica/dist/compiler/aslpredef.c vendor-sys/acpica/dist/compiler/asltree.c vendor-sys/acpica/dist/compiler/dtcompile.c vendor-sys/acpica/dist/compiler/dtcompiler.h vendor-sys/acpica/dist/compiler/dtfield.c vendor-sys/acpica/dist/compiler/dtio.c vendor-sys/acpica/dist/compiler/dttable.c vendor-sys/acpica/dist/compiler/dtutils.c vendor-sys/acpica/dist/debugger/dbcmds.c vendor-sys/acpica/dist/debugger/dbdisply.c vendor-sys/acpica/dist/debugger/dbinput.c vendor-sys/acpica/dist/dispatcher/dsopcode.c vendor-sys/acpica/dist/dispatcher/dswload.c vendor-sys/acpica/dist/events/evgpe.c vendor-sys/acpica/dist/events/evregion.c vendor-sys/acpica/dist/events/evxfregn.c vendor-sys/acpica/dist/executer/exfldio.c vendor-sys/acpica/dist/include/acdebug.h vendor-sys/acpica/dist/include/acdisasm.h vendor-sys/acpica/dist/include/acdispat.h vendor-sys/acpica/dist/include/acglobal.h vendor-sys/acpica/dist/include/aclocal.h vendor-sys/acpica/dist/include/acoutput.h vendor-sys/acpica/dist/include/acpixf.h vendor-sys/acpica/dist/include/actbl.h vendor-sys/acpica/dist/tables/tbfadt.c vendor-sys/acpica/dist/tests/misc/badcode.asl vendor-sys/acpica/dist/tools/acpiexec/Makefile vendor-sys/acpica/dist/tools/acpiexec/aecommon.h vendor-sys/acpica/dist/tools/acpiexec/aehandlers.c vendor-sys/acpica/dist/tools/acpiexec/aemain.c vendor-sys/acpica/dist/tools/acpisrc/astable.c vendor-sys/acpica/dist/utilities/utglobal.c Modified: vendor-sys/acpica/dist/changes.txt ============================================================================== --- vendor-sys/acpica/dist/changes.txt Fri Feb 11 22:43:10 2011 (r218584) +++ vendor-sys/acpica/dist/changes.txt Fri Feb 11 22:56:14 2011 (r218585) @@ -1,18 +1,107 @@ ---------------------------------------- +11 February 2011. Summary of changes for version 20110211: + +This release is available at www.acpica.org/downloads + +1) ACPI CA Core Subsystem: + +Added a mechanism to defer _REG methods for some early-installed handlers. +Most user handlers should be installed before call to AcpiEnableSubsystem. +However, Event handlers and region handlers should be installed after +AcpiInitializeObjects. Override handlers for the "default" regions should be +installed early, however. This change executes all _REG methods for the +default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any +chicken/egg issues between them. ACPICA BZ 848. + +Implemented an optimization for GPE detection. This optimization will simply +ignore GPE registers that contain no enabled GPEs -- there is no need to +read the register since this information is available internally. This +becomes more important on machines with a large GPE space. ACPICA bugzilla +884. Lin Ming. Suggestion from Joe Liu. + +Removed all use of the highly unreliable FADT revision field. The revision +number in the FADT has been found to be completely unreliable and cannot be +trusted. Only the actual table length can be used to infer the version. This +change updates the ACPICA core and the disassembler so that both no longer +even look at the FADT version and instead depend solely upon the FADT +length. + +Fix an unresolved name issue for the no-debug and no-error-message source +generation cases. The _AcpiModuleName was left undefined in these cases, but +it is actually needed as a parameter to some interfaces. Define +_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888. + +Split several large files (makefiles and project files updated) + utglobal.c -> utdecode.c + dbcomds.c -> dbmethod.c dbnames.c + dsopcode.c -> dsargs.c dscontrol.c + dsload.c -> dsload2.c + aslanalyze.c -> aslbtypes.c aslwalks.c + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. + + Previous Release (VC 9.0): + Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total + Debug Version: 163.9K Code, 67.5K Data, 231.4K Total + Current Release (VC 9.0): + Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total + Debug Version: 163.9K Code, 67.5K Data, 231.4K Total + +2) iASL Compiler/Disassembler and Tools: + +iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. +These are useful C-style macros with the standard definitions. ACPICA +bugzilla 898. + +iASL/DTC: Added support for integer expressions and labels. Support for full +expressions for all integer fields in all ACPI tables. Support for labels in +"generic" portions of tables such as UEFI. See the iASL reference manual. + +Debugger: Added a command to display the status of global handlers. The +"handlers" command will display op region, fixed event, and miscellaneous +global handlers. installation status -- and for op regions, whether default +or user-installed handler will be used. + +iASL: Warn if reserved method incorrectly returns a value. Many predefined +names are defined such that they do not return a value. If implemented as a +method, issue a warning if such a name explicitly returns a value. ACPICA +Bugzilla 855. + +iASL: Added detection of GPE method name conflicts. Detects a conflict where +there are two GPE methods of the form _Lxy and _Exy in the same scope. (For +example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848. + +iASL/DTC: Fixed a couple input scanner issues with comments and line +numbers. Comment remover could get confused and miss a comment ending. Fixed +a problem with line counter maintenance. + +iASL/DTC: Reduced the severity of some errors from fatal to error. There is +no need to abort on simple errors within a field definition. + +Debugger: Simplified the output of the help command. All help output now in +a single screen, instead of help subcommands. ACPICA Bugzilla 897. + + +---------------------------------------- 12 January 2011. Summary of changes for version 20110112: 1) ACPI CA Core Subsystem: Fixed a race condition between method execution and namespace walks that can possibly cause a fault. The problem was apparently introduced in version -20100528 as a result of a performance optimization that reduces the number of +20100528 as a result of a performance optimization that reduces the number +of namespace walks upon method exit by using the delete_namespace_subtree function instead of the delete_namespace_by_owner function used previously. Bug is a missing namespace lock in the delete_namespace_subtree function. dana.myers@oracle.com Fixed several issues and a possible fault with the automatic "serialized" -method support. History: This support changes a method to "serialized" on the +method support. History: This support changes a method to "serialized" on +the fly if the method generates an AE_ALREADY_EXISTS error, indicating the possibility that it cannot handle reentrancy. This fix repairs a couple of issues seen in the field, especially on machines with many cores: @@ -50,7 +139,8 @@ details. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release (VC 6.0): @@ -62,11 +152,13 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Added generic data types to the Data Table compiler. Add "generic" data +iASL: Added generic data types to the Data Table compiler. Add "generic" +data types such as UINT32, String, Unicode, etc., to simplify the generation of platform-defined tables such as UEFI. Lin Ming. -iASL: Added listing support for the Data Table Compiler. Adds listing support +iASL: Added listing support for the Data Table Compiler. Adds listing +support (-l) to display actual binary output for each line of input code. ---------------------------------------- @@ -98,13 +190,15 @@ when a Wake GPE is received if there is handler. ACPICA BZ 870. Fixed a problem with the Scope() operator during table parse and load phase. -During load phase (table load or method execution), the scope operator should +During load phase (table load or method execution), the scope operator +should not enter the target into the namespace. Instead, it should open a new scope at the target location. Linux BZ 19462, ACPICA BZ 882. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -163,7 +257,8 @@ longer needed in Execute_HID, Execute_CI Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -176,13 +271,16 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: iASL: Implemented additional compile-time validation for _HID strings. The -non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of +non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length +of the string must be exactly seven or eight characters. For both _HID and _CID strings, all characters must be alphanumeric. ACPICA BZ 874. iASL: Allow certain "null" resource descriptors. Some BIOS code creates -descriptors that are mostly or all zeros, with the expectation that they will -be filled in at runtime. iASL now allows this as long as there is a "resource +descriptors that are mostly or all zeros, with the expectation that they +will +be filled in at runtime. iASL now allows this as long as there is a +"resource tag" (name) associated with the descriptor, which gives the ASL a handle needed to modify the descriptor. ACPICA BZ 873. @@ -192,7 +290,8 @@ threaded ACPICA tools/applications - inc _MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED option. ACPICA BZ 879. -AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support +AcpiExec: several fixes for the 64-bit version. Adds XSDT support and +support for 64-bit DSDT/FACS addresses in the FADT. Lin Ming. iASL: Moved all compiler messages to a new file, aslmessages.h. @@ -202,7 +301,8 @@ iASL: Moved all compiler messages to a n 1) ACPI CA Core Subsystem: -Removed the AcpiOsDerivePciId OSL interface. The various host implementations +Removed the AcpiOsDerivePciId OSL interface. The various host +implementations of this function were not OS-dependent and are now obsolete and can be removed from all host OSLs. This function has been replaced by AcpiHwDerivePciId, which is now part of the ACPICA core code. @@ -216,7 +316,8 @@ accordance with the ACPI specification a ACPICA BZ 871. The ACPI_THREAD_ID type is no longer configurable, internally it is now -always UINT64. This simplifies the ACPICA code, especially any printf output. +always UINT64. This simplifies the ACPICA code, especially any printf +output. UINT64 is the only common data type for all thread_id types across all operating systems. It is now up to the host OSL to cast the native thread_id type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). @@ -238,7 +339,8 @@ is used. ACPICA BZ 829. Lin Ming, Bob Mo Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -267,7 +369,8 @@ of size_t on 32-bit versus 64-bit genera Designed and implemented a new host interface to the _OSI support code. This will allow the host to dynamically add or remove multiple _OSI strings, as well as install an optional handler that is called for each _OSI invocation. -Also added a new AML debugger command, 'osi' to display and modify the global +Also added a new AML debugger command, 'osi' to display and modify the +global _OSI string table, and test support in the AcpiExec utility. See the ACPICA reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836. New Functions: @@ -296,12 +399,14 @@ It should be a (UINT64 *). This may affe Fixed a couple problems with the recently modified Linux makefiles for iASL and AcpiExec. These new makefiles place the generated object files in the -local directory so that there can be no collisions between the files that are +local directory so that there can be no collisions between the files that +are shared between them that are compiled with different options. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -342,25 +447,29 @@ interface. This interface will set or cl 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces are now used for "runtime" GPEs only. -Changed the behavior of the GPE install/remove handler interfaces. The GPE is +Changed the behavior of the GPE install/remove handler interfaces. The GPE +is no longer disabled during this process, as it was found to cause problems on some machines. Rafael J. Wysocki. Reverted a change introduced in version 20100528 to enable Embedded -Controller multi-byte transfers. This change was found to cause problems with +Controller multi-byte transfers. This change was found to cause problems +with Index Fields and possibly Bank Fields. It will be reintroduced when these problems have been resolved. Fixed a problem with references to Alias objects within Package Objects. A reference to an Alias within the definition of a Package was not always resolved properly. Aliases to objects like Processors, Thermal zones, etc. -were resolved to the actual object instead of a reference to the object as it +were resolved to the actual object instead of a reference to the object as +it should be. Package objects are only allowed to contain integer, string, buffer, package, and reference objects. Redhat bugzilla 608648. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -410,7 +519,8 @@ ACPI tables that have been seen in the f Implemented support to enable multi-byte transfers for Embedded Controller (EC) operation regions. Previously, the maximum data size passed to the EC operation region handler was a single byte. There are often EC Fields larger -than one byte that need to be transferred, and it is useful for the EC driver +than one byte that need to be transferred, and it is useful for the EC +driver to lock these as a single transaction. This change enables single transfers larger than 8 bits. This effectively changes the access to the EC space from ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded @@ -427,12 +537,16 @@ node and an ACPI operand object. However namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy. Implemented a performance optimization that reduces the number of namespace -walks. On control method exit, only walk the namespace if the method is known -to have created namespace objects outside of its local scope. Previously, the +walks. On control method exit, only walk the namespace if the method is +known +to have created namespace objects outside of its local scope. Previously, +the entire namespace was traversed on each control method exit. This change can -improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob Moore. +improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob +Moore. -Added support to truncate I/O addresses to 16 bits for Windows compatibility. +Added support to truncate I/O addresses to 16 bits for Windows +compatibility. Some ASL code has been seen in the field that inadvertently has bits set above bit 15. This feature is optional and is enabled if the BIOS requests any Windows OSI strings. It can also be enabled by the host OS. Matthew @@ -450,15 +564,18 @@ part of the ACPI spec. ACPICA BZ 860. Expanded all statistic counters used during namespace and device initialization from 16 to 32 bits in order to support very large namespaces. -Replaced all instances of %d in printf format specifiers with %u since nearly +Replaced all instances of %d in printf format specifiers with %u since +nearly all integers in ACPICA are unsigned. -Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly returned +Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly +returned as AE_NO_HANDLER. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -492,7 +609,8 @@ new table, and process any _Lxx/_Exx GPE runtime GPE that is referenced by an _Lxx/_Exx method in the new table is immediately enabled. Handles the FADT-defined GPEs as well as GPE Block Devices. Provides compatibility with other ACPI implementations. Two new -files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob Moore. +files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob +Moore. Fixed a regression introduced in version 20100331 within the table manager where initial table loading could fail. This was introduced in the fix for @@ -504,12 +622,14 @@ AcpiUtCopySimpleObject. The original cod where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847. Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a -possible access beyond end-of-allocation. Also, now fully validate descriptor +possible access beyond end-of-allocation. Also, now fully validate +descriptor (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847 Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -526,7 +646,8 @@ descriptors. This change implements vali are common to all address-type resource descriptors. These checks are implemented: Checks for valid Min/Max, length within the Min/Max window, valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per -table 6-40 in the ACPI 4.0a specification. Also split the large aslrestype1.c +table 6-40 in the ACPI 4.0a specification. Also split the large +aslrestype1.c and aslrestype2.c files into five new files. ACPICA BZ 840. iASL: Added support for the _Wxx predefined names. This support was missing @@ -570,8 +691,10 @@ New: AcpiSetGpe Implemented write support for DataTable operation regions. These regions are -defined via the DataTableRegion() operator. Previously, only read support was -implemented. The ACPI specification allows DataTableRegions to be read/write, +defined via the DataTableRegion() operator. Previously, only read support +was +implemented. The ACPI specification allows DataTableRegions to be +read/write, however. Implemented a new subsystem option to force a copy of the DSDT to local @@ -581,7 +704,8 @@ the original DSDT, creating the need for not copy the DSDT. Implemented detection of a corrupted or replaced DSDT. This change adds -support to detect a DSDT that has been corrupted and/or replaced from outside +support to detect a DSDT that has been corrupted and/or replaced from +outside the OS (by firmware). This is typically catastrophic for the system, but has been seen on some machines. Once this problem has been detected, the DSDT copy option can be enabled via system configuration. Lin Ming, Bob Moore. @@ -594,7 +718,8 @@ was not set correctly. Alexey Starikovsk Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -610,7 +735,8 @@ iASL: Implement limited typechecking for control methods. The type of any returned static (unnamed) object is now validated. For example, Return(1). ACPICA BZ 786. -iASL: Fixed a predefined name object verification regression. Fixes a problem +iASL: Fixed a predefined name object verification regression. Fixes a +problem introduced in version 20100304. An error is incorrectly generated if a predefined name is declared as a static named object with a value defined using the keywords "Zero", "One", or "Ones". Lin Ming. @@ -629,21 +755,25 @@ Introduced in commit ae7d6fd: Properly h Fixed a possible problem with the AML Mutex handling function AcpiExReleaseMutex where the function could fault under the very rare -condition when the interpreter has blocked, the interpreter lock is released, +condition when the interpreter has blocked, the interpreter lock is +released, the interpreter is then reentered via the same thread, and attempts to -acquire an AML mutex that was previously acquired. FreeBSD report 140979. Lin +acquire an AML mutex that was previously acquired. FreeBSD report 140979. +Lin Ming. Implemented additional configuration support for the AML "Debug Object". Output from the debug object can now be enabled via a global variable, -AcpiGbl_EnableAmlDebugObject. This will assist with remote machine debugging. +AcpiGbl_EnableAmlDebugObject. This will assist with remote machine +debugging. This debug output is now available in the release version of ACPICA instead of just the debug version. Also, the entire debug output module can now be configured out of the ACPICA build if desired. One new file added, executer/exdebug.c. Lin Ming, Bob Moore. Added header support for the ACPI MCHI table (Management Controller Host -Interface Table). This table was added in ACPI 4.0, but the defining document +Interface Table). This table was added in ACPI 4.0, but the defining +document has only recently become available. Standardized output of integer values for ACPICA warnings/errors. Always use @@ -654,7 +784,8 @@ ACPI_DEBUG_PRINT invocations and were no Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -669,7 +800,8 @@ much larger code and data size. iASL: Implemented typechecking support for static (non-control method) predefined named objects that are declared with the Name() operator. For example, the type of this object is now validated to be of type Integer: -Name(_BBN, 1). This change migrates the compiler to using the core predefined +Name(_BBN, 1). This change migrates the compiler to using the core +predefined name table instead of maintaining a local version. Added a new file, aslpredef.c. ACPICA BZ 832. @@ -684,15 +816,20 @@ Added the 2010 copyright to all module h virtually every file in the ACPICA core subsystem, the iASL compiler, the tools/utilities, and the test suites. -Implemented a change to the AcpiGetDevices interface to eliminate unnecessary +Implemented a change to the AcpiGetDevices interface to eliminate +unnecessary invocations of the _STA method. In the case where a specific _HID is requested, do not run _STA until a _HID match is found. This eliminates -potentially dozens of _STA calls during a search for a particular device/HID, +potentially dozens of _STA calls during a search for a particular +device/HID, which in turn can improve boot times. ACPICA BZ 828. Lin Ming. -Implemented an additional repair for predefined method return values. Attempt -to repair unexpected NULL elements within returned Package objects. Create an -Integer of value zero, a NULL String, or a zero-length Buffer as appropriate. +Implemented an additional repair for predefined method return values. +Attempt +to repair unexpected NULL elements within returned Package objects. Create +an +Integer of value zero, a NULL String, or a zero-length Buffer as +appropriate. ACPICA BZ 818. Lin Ming, Bob Moore. Removed the obsolete ACPI_INTEGER data type. This type was introduced as the @@ -704,14 +841,16 @@ for now for compatibility with existing Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in the parse tree object. -Added additional warning options for the gcc-4 generation. Updated the source +Added additional warning options for the gcc-4 generation. Updated the +source accordingly. This includes some code restructuring to eliminate unreachable code, elimination of some gotos, elimination of unused return values, some additional casting, and removal of redundant declarations. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -733,10 +872,12 @@ No functional changes for this release. Enhanced automatic data type conversions for predefined name repairs. This change expands the automatic repairs/conversions for predefined name return values to make Integers, Strings, and Buffers fully interchangeable. Also, a -Buffer can be converted to a Package of Integers if necessary. The nsrepair.c +Buffer can be converted to a Package of Integers if necessary. The +nsrepair.c module was completely restructured. Lin Ming, Bob Moore. -Implemented automatic removal of null package elements during predefined name +Implemented automatic removal of null package elements during predefined +name repairs. This change will automatically remove embedded and trailing NULL package elements from returned package objects that are defined to contain a variable number of sub-packages. The driver is then presented with a package @@ -745,7 +886,8 @@ with no null elements to deal with. ACPI Implemented a repair for the predefined _FDE and _GTM names. The expected return value for both names is a Buffer of 5 DWORDs. This repair fixes two possible problems (both seen in the field), where a package of integers is -returned, or a buffer of BYTEs is returned. With assistance from Jung-uk Kim. +returned, or a buffer of BYTEs is returned. With assistance from Jung-uk +Kim. Implemented additional module-level code support. This change will properly execute module-level code that is not at the root of the namespace (under a @@ -760,7 +902,8 @@ not been seen before. ACPICA BZ 826. Lin Fixed a possible memory leak during module-level code execution. An object could be leaked for each block of executed module-level code if the -interpreter slack mode is enabled This change deletes any implicitly returned +interpreter slack mode is enabled This change deletes any implicitly +returned object from the module-level code block. Lin Ming. Removed messages for successful predefined repair(s). The repair mechanism @@ -770,7 +913,8 @@ repairs were converted to ACPI_DEBUG_PRI Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -782,7 +926,8 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Fixed a regression introduced in 20091112 where intermediate .SRC files +iASL: Fixed a regression introduced in 20091112 where intermediate .SRC +files were no longer automatically removed at the termination of the compile. acpiexec: Implemented the -f option to specify default region fill value. @@ -808,19 +953,23 @@ attributes. Such regions are probably BI Linux BZ 14445. Lin Ming. Implemented an automatic repair for predefined methods that must return -sorted lists. This change will repair (by sorting) packages returned by _ALR, -_PSS, and _TSS. Drivers can now assume that the packages are correctly sorted +sorted lists. This change will repair (by sorting) packages returned by +_ALR, +_PSS, and _TSS. Drivers can now assume that the packages are correctly +sorted and do not contain NULL package elements. Adds one new file, namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore. Fixed a possible fault during predefined name validation if a return Package object contains NULL elements. Also adds a warning if a NULL element is -followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement may +followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement +may include repair or removal of all such NULL elements where possible. Implemented additional module-level executable AML code support. This change will execute module-level code that is not at the root of the namespace -(under a Device object, etc.) at table load time. Module-level executable AML +(under a Device object, etc.) at table load time. Module-level executable +AML code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming. Implemented a new internal function to create Integer objects. This function @@ -828,12 +977,14 @@ simplifies miscellaneous object creation Reduced the severity of predefined repair messages, Warning to Info. Since the object was successfully repaired, a warning is too severe. Reduced to an -info message for now. These messages may eventually be changed to debug-only. +info message for now. These messages may eventually be changed to debug- +only. ACPICA BZ 812. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -855,10 +1006,12 @@ exists, but is shorter than the declared technically legal, this is probably a coding error and it is seen in the field. ACPICA BZ 815. Lin Ming, Bob Moore. -iASL: Fixed a problem where the compiler could fault after the maximum number +iASL: Fixed a problem where the compiler could fault after the maximum +number of errors was reached (200). -acpixtract: Fixed a possible warning for pointer cast if the compiler warning +acpixtract: Fixed a possible warning for pointer cast if the compiler +warning level set very high. ---------------------------------------- @@ -878,7 +1031,8 @@ operand object was leaked. Lin Ming. Implemented a run-time repair for the _MAT predefined method. If the _MAT return value is defined as a Field object in the AML, and the field -size is less than or equal to the default width of an integer (32 or 64),_MAT +size is less than or equal to the default width of an integer (32 or +64),_MAT can incorrectly return an Integer instead of a Buffer. ACPICA now automatically repairs this problem. ACPICA BZ 810. @@ -891,7 +1045,8 @@ within the returned Package. ACPICA BZ 8 Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -934,8 +1089,10 @@ Fixed a possible memory leak in the inte the package initializer list is longer than the defined size of the package. This apparently can only happen if the BIOS changes the package size on the fly (seen in a _PSS object), as ASL compilers do not allow this. The -interpreter will truncate the package to the defined size (and issue an error -message), but previously could leave the extra objects undeleted if they were +interpreter will truncate the package to the defined size (and issue an +error +message), but previously could leave the extra objects undeleted if they +were pre-created during the argument processing (such is the case if the package consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805. @@ -955,7 +1112,8 @@ return type cannot be performed. ACPICA Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1005,13 +1163,17 @@ EINJ, ERST, and HEST. Other newly suppor have been some ACPI 4.0 changes to other existing tables. Split the large actbl1.h header into the existing actbl2.h header. ACPICA BZ 774. -ACPI 4.0: Implemented predefined name validation for all new names. There are -31 new names in ACPI 4.0. The predefined validation module was split into two +ACPI 4.0: Implemented predefined name validation for all new names. There +are +31 new names in ACPI 4.0. The predefined validation module was split into +two files. The new file is namespace/nsrepair.c. ACPICA BZ 770. Implemented support for so-called "module-level executable code". This is -executable AML code that exists outside of any control method and is intended -to be executed at table load time. Although illegal since ACPI 2.0, this type +executable AML code that exists outside of any control method and is +intended +to be executed at table load time. Although illegal since ACPI 2.0, this +type of code still exists and is apparently still being created. Blocks of this code are now detected and executed as intended. Currently, the code blocks must exist under either an If, Else, or While construct; these are the @@ -1027,7 +1189,8 @@ be repaired: _ALR, _CSD, _HPX, _MLS, _PR 790. Fixed a regression introduced in 20090625 for the AcpiGetDevices interface. -The _HID/_CID matching was broken and no longer matched IDs correctly. ACPICA +The _HID/_CID matching was broken and no longer matched IDs correctly. +ACPICA BZ 793. Fixed a problem with AcpiReset where the reset would silently fail if the @@ -1041,12 +1204,14 @@ does not exist during an attempt to writ (However, some hosts already delete the code that writes this bit, and the code may in fact be obsolete at this date.) ACPICA BZ 799. -Fixed a problem where AcpiTerminate could fault if inadvertently called twice +Fixed a problem where AcpiTerminate could fault if inadvertently called +twice in succession. ACPICA BZ 795. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1091,7 +1256,8 @@ been added - utilities/utids.c. ACPICA B Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit transfers. The Value parameter has been extended from 32 bits to 64 bits in -order to support new ACPI 4.0 tables. These changes will require an update to +order to support new ACPI 4.0 tables. These changes will require an update +to all callers of these interfaces. See the ACPICA Programmer Reference for details. ACPICA BZ 768. @@ -1119,7 +1285,8 @@ tree head. ACPICA BZ 776. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1143,7 +1310,8 @@ predefined names and control methods (31 1) ACPI CA Core Subsystem: Disabled the preservation of the SCI enable bit in the PM1 control register. -The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to be +The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to +be a "preserved" bit - "OSPM always preserves this bit position", section 4.7.3.2.1. However, some machines fail if this bit is in fact preserved because the bit needs to be explicitly set by the OS as a workaround. No @@ -1155,7 +1323,8 @@ incorrectly formed _PRT package could ca ensure that each package element is actually a sub-package. Implemented a new interface to install or override a single control method, -AcpiInstallMethod. This interface is useful when debugging in order to repair +AcpiInstallMethod. This interface is useful when debugging in order to +repair an existing method or to install a missing method without having to override the entire ACPI table. See the ACPICA Programmer Reference for use and examples. Lin Ming, Bob Moore. @@ -1169,7 +1338,8 @@ caller. Lin Ming. Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple mutexes of the same sync level are acquired but then not released in strict -opposite order, the internally maintained Current Sync Level becomes confused +opposite order, the internally maintained Current Sync Level becomes +confused and can cause subsequent execution errors. ACPICA BZ 471. Changed the allowable release order for ASL mutex objects. The ACPI 4.0 @@ -1192,7 +1362,8 @@ and reduced code for this frequently use Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1217,10 +1388,12 @@ Fixed a compatibility issue with the rec mechanism. For windows compatibility, 1) On a port protection violation, simply ignore the request and do not return an exception (allow the control method to continue execution.) 2) If only part of the request overlaps a -protected port, read/write the individual ports that are not protected. Linux +protected port, read/write the individual ports that are not protected. +Linux BZ 13036. Lin Ming -Enhanced the execution of the ASL/AML BreakPoint operator so that it actually +Enhanced the execution of the ASL/AML BreakPoint operator so that it +actually breaks into the AML debugger if the debugger is present. This matches the ACPI-defined behavior. @@ -1233,12 +1406,14 @@ ACPICA BZ 766, 767. Fixed a number of possible warnings when compiling with gcc 4+ (depending on warning options.) Examples include printf formats, aliasing, unused globals, missing prototypes, missing switch default statements, use of non-ANSI -library functions, use of non-ANSI constructs. See generate/unix/Makefile for +library functions, use of non-ANSI constructs. See generate/unix/Makefile +for a list of warning options used with gcc 3 and 4. ACPICA BZ 735. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1250,10 +1425,12 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings on +iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings +on the 64-bit build. -iASL: Fixed a problem where the Unix/Linux versions of the compiler could not +iASL: Fixed a problem where the Unix/Linux versions of the compiler could +not correctly digest Windows/DOS formatted files (with CR/LF). iASL: Added a new option for "quiet mode" (-va) that produces only the @@ -1281,8 +1458,10 @@ execute fully on Cygwin. 1) ACPI CA Core Subsystem: Fixed a possible race condition between AcpiWalkNamespace and dynamic table -unloads. Added a reader/writer locking mechanism to allow multiple concurrent -namespace walks (readers), but block a dynamic table unload until it can gain +unloads. Added a reader/writer locking mechanism to allow multiple +concurrent +namespace walks (readers), but block a dynamic table unload until it can +gain exclusive write access to the namespace. This fixes a problem where a table unload could (possibly catastrophically) delete the portion of the namespace that is currently being examined by a walk. Adds a new file, utlock.c, that @@ -1316,7 +1495,8 @@ performed on a per-field basis instead o Modified the handling of the PM1 Status Register ignored bit (bit 11.) Ignored bits must be "preserved" according to the ACPI spec. Usually, this means a read/modify/write when writing to the register. However, for status -registers, writing a one means clear the event. Writing a zero means preserve +registers, writing a one means clear the event. Writing a zero means +preserve the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec, and the ACPICA code now simply always writes a zero to the ignored bit. @@ -1356,7 +1536,8 @@ AcpiGetRegisterUnlocked function is no l This will improve performance for reads on these registers. ACPICA BZ 760. Fixed the parameter validation for AcpiRead/Write. Now return -AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS if +AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS +if the register has an address of zero. Previously, these cases simply returned AE_OK. For optional registers such as PM1B status/enable/control, the caller should check for a valid register address before calling. ACPICA BZ 748. @@ -1369,27 +1550,33 @@ and condensing duplicate code to reduce Added new functions to transparently handle the possibly split PM1 A/B registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions -now handle the split registers for PM1 Status, Enable, and Control. ACPICA BZ +now handle the split registers for PM1 Status, Enable, and Control. ACPICA +BZ 746. Added a function to handle the PM1 control registers, AcpiHwWritePm1Control. -This function writes both of the PM1 control registers (A/B). These registers +This function writes both of the PM1 control registers (A/B). These +registers are different than the PM1 A/B status and enable registers in that different values can be written to the A/B registers. Most notably, the SLP_TYP bits -can be different, as per the values returned from the _Sx predefined methods. +can be different, as per the values returned from the _Sx predefined +methods. Removed an extra register write within AcpiHwClearAcpiStatus. This function was writing an optional PM1B status register twice. The existing call to the low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B register. ACPICA BZ 751. -Split out the PM1 Status registers from the FADT. Added new globals for these +Split out the PM1 Status registers from the FADT. Added new globals for +these registers (A/B), similar to the way the PM1 Enable registers are handled. Instead of overloading the FADT Event Register blocks. This makes the code clearer and less prone to error. -Fixed the warning message for when the platform contains too many ACPI tables -for the default size of the global root table data structure. The calculation +Fixed the warning message for when the platform contains too many ACPI +tables +for the default size of the global root table data structure. The +calculation for the truncation value was incorrect. Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this @@ -1404,13 +1591,15 @@ Conditionally compile the AcpiSetFirmwar function is only needed on 64-bit host operating systems and is thus not included for 32-bit hosts. -Debug output: print the input and result for invocations of the _OSI reserved +Debug output: print the input and result for invocations of the _OSI +reserved control method via the ACPI_LV_INFO debug level. Also, reduced some of the verbosity of this debug level. Len Brown. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1435,7 +1624,8 @@ virtually every file in the ACPICA core the tools/utilities. Implemented a change to allow the host to override any ACPI table, including -dynamically loaded tables. Previously, only the DSDT could be replaced by the +dynamically loaded tables. Previously, only the DSDT could be replaced by +the host. With this change, the AcpiOsTableOverride interface is called for each table found in the RSDT/XSDT during ACPICA initialization, and also whenever a table is dynamically loaded via the AML Load operator. @@ -1448,7 +1638,8 @@ with the actual namespace entry which is Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1494,7 +1685,8 @@ file, components/hardware/hwxface.c Enhanced the FADT parsing and low-level ACPI register access: The ACPI register lengths within the FADT are now used, and the low level ACPI register access no longer hardcodes the ACPI register lengths. Given that -there may be some risk in actually trusting the FADT register lengths, a run- +there may be some risk in actually trusting the FADT register lengths, a +run- time option was added to fall back to the default hardcoded lengths if the FADT proves to contain incorrect values - UseDefaultRegisterWidths. This option is set to true for now, and a warning is issued if a suspicious FADT @@ -1507,12 +1699,14 @@ Packages. Lin Ming. Added semaphore support to the Linux/Unix application OS-services layer (OSL). ACPICA BZ 448. Lin Ming. -Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes will +Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes +will be implemented in the OSL, or will binary semaphores be used instead. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1524,7 +1718,8 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Completed the '-e' option to include additional ACPI tables in order to +iASL: Completed the '-e' option to include additional ACPI tables in order +to aid with disassembly and External statement generation. ACPICA BZ 742. Lin Ming. @@ -1541,7 +1736,8 @@ Disassembler: Updates for several ACPI d 1) ACPI CA Core Subsystem: -Restructured the ACPICA header files into public/private. acpi.h now includes +Restructured the ACPICA header files into public/private. acpi.h now +includes only the "public" acpica headers. All other acpica headers are "private" and should not be included by acpica users. One new file, accommon.h is used to include the commonly used private headers for acpica code generation. Future @@ -1558,7 +1754,8 @@ with a valid null-terminated string. Lin Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVector into two: one for the 32-bit vector, another for the 64-bit vector. This is required because the host OS must setup the wake much differently for each -vector (real vs. protected mode, etc.) and the interface itself should not be +vector (real vs. protected mode, etc.) and the interface itself should not +be deciding which vector to use. Also, eliminated the GetFirmwareWakingVector interface, as it served no purpose (only the firmware reads the vector, OS only writes the vector.) ACPICA BZ 731. @@ -1599,13 +1796,15 @@ handler installation, and calling a cont source/tools/examples. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 22:57:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE450106564A; Fri, 11 Feb 2011 22:57:19 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A3EED8FC08; Fri, 11 Feb 2011 22:57:19 +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 p1BMvJYg076833; Fri, 11 Feb 2011 22:57:19 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BMvJ4L076832; Fri, 11 Feb 2011 22:57:19 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201102112257.p1BMvJ4L076832@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 11 Feb 2011 22:57:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218586 - vendor-sys/acpica/20110211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 22:57:19 -0000 Author: jkim Date: Fri Feb 11 22:57:19 2011 New Revision: 218586 URL: http://svn.freebsd.org/changeset/base/218586 Log: Tag ACPICA 20110211. Added: vendor-sys/acpica/20110211/ - copied from r218585, vendor-sys/acpica/dist/ From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 23:08:34 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89E461065693; Fri, 11 Feb 2011 23:08:34 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 79C128FC12; Fri, 11 Feb 2011 23:08: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 p1BN8YJT077222; Fri, 11 Feb 2011 23:08:34 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BN8Ym2077220; Fri, 11 Feb 2011 23:08:34 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102112308.p1BN8Ym2077220@svn.freebsd.org> From: Doug Barton Date: Fri, 11 Feb 2011 23:08: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: r218587 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 23:08:34 -0000 Author: dougb Date: Fri Feb 11 23:08:34 2011 New Revision: 218587 URL: http://svn.freebsd.org/changeset/base/218587 Log: Restore 2 prototypes that seem to have been mistakenly removed in r218582. I've manually twiddled the whitespace for e1000_commit_fc_settings_generic to match the others in the file. Submitted by: dim Tested by: me Modified: head/sys/dev/e1000/e1000_api.h Modified: head/sys/dev/e1000/e1000_api.h ============================================================================== --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 22:57:19 2011 (r218586) +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 23:08:34 2011 (r218587) @@ -120,6 +120,8 @@ s32 e1000_mng_write_cmd_header(struct e s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, u16 length); u32 e1000_translate_register_82542(u32 reg); +s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); +s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); /* * TBI_ACCEPT macro definition: From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 23:10:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70FA71065679 for ; Fri, 11 Feb 2011 23:10:40 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx22.fluidhosting.com [204.14.89.5]) by mx1.freebsd.org (Postfix) with ESMTP id 16FB58FC16 for ; Fri, 11 Feb 2011 23:10:39 +0000 (UTC) Received: (qmail 16941 invoked by uid 399); 11 Feb 2011 23:10:39 -0000 Received: from localhost (HELO doug-optiplex.ka9q.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 11 Feb 2011 23:10:39 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4D55C1ED.6030908@FreeBSD.org> Date: Fri, 11 Feb 2011 15:10:37 -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/20110129 Thunderbird/3.1.7 MIME-Version: 1.0 To: Dimitry Andric References: <201102111903.p1BJ30YQ070972@svn.freebsd.org> <4D55AA18.3090707@FreeBSD.org> In-Reply-To: <4D55AA18.3090707@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: Jack F Vogel , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218582 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 23:10:40 -0000 On 02/11/2011 13:28, Dimitry Andric wrote: > On 2011-02-11 20:03, Jack F Vogel wrote: >> Author: jfv >> Date: Fri Feb 11 19:03:00 2011 >> New Revision: 218582 >> URL: http://svn.freebsd.org/changeset/base/218582 >> >> Log: >> Revert changes made here, they will cause a conflict >> later on with our shared code. >> >> Modified: >> head/sys/dev/e1000/e1000_api.h >> >> Modified: head/sys/dev/e1000/e1000_api.h >> ============================================================================== >> >> --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 17:18:42 2011 (r218581) >> +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 19:03:00 2011 (r218582) >> @@ -120,9 +120,6 @@ s32 e1000_mng_write_cmd_header(struct e >> s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, >> u8 *buffer, u16 length); >> u32 e1000_translate_register_82542(u32 reg); >> -s32 e1000_set_default_fc_generic(struct e1000_hw *hw); >> -s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); >> -s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); > > This breaks the build, please put back the following two prototypes for > now: > > s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); > s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); I went ahead and restored these to get the build working again. I have an em card in this system so I was able to confirm that it both builds and runs just fine. hth, Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Fri Feb 11 23:13:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3BE451065679 for ; Fri, 11 Feb 2011 23:13:21 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx22.fluidhosting.com [204.14.89.5]) by mx1.freebsd.org (Postfix) with ESMTP id CBB0F8FC14 for ; Fri, 11 Feb 2011 23:13:20 +0000 (UTC) Received: (qmail 19264 invoked by uid 399); 11 Feb 2011 23:13:20 -0000 Received: from localhost (HELO doug-optiplex.ka9q.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 11 Feb 2011 23:13:20 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Message-ID: <4D55C28E.6030006@FreeBSD.org> Date: Fri, 11 Feb 2011 15:13:18 -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/20110129 Thunderbird/3.1.7 MIME-Version: 1.0 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201102112308.p1BN8Ym2077220@svn.freebsd.org> In-Reply-To: <201102112308.p1BN8Ym2077220@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: Subject: Re: svn commit: r218587 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 23:13:21 -0000 On 02/11/2011 15:08, Doug Barton wrote: > Author: dougb > Date: Fri Feb 11 23:08:34 2011 > New Revision: 218587 > URL: http://svn.freebsd.org/changeset/base/218587 > > Log: > Restore 2 prototypes that seem to have been mistakenly removed in r218582. > > I've manually twiddled the whitespace for e1000_commit_fc_settings_generic > to match the others in the file. Sorry, I wasn't clear on this. The bit that dim submitted was right, but when I diffed against r218581 I noticed that the ws was different in the previous version. Given that it was going to be a change either way I chose to be consistent rather than doing a straight "revert" to the previous state. Doug > Submitted by: dim > Tested by: me > > Modified: > head/sys/dev/e1000/e1000_api.h > > Modified: head/sys/dev/e1000/e1000_api.h > ============================================================================== > --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 22:57:19 2011 (r218586) > +++ head/sys/dev/e1000/e1000_api.h Fri Feb 11 23:08:34 2011 (r218587) > @@ -120,6 +120,8 @@ s32 e1000_mng_write_cmd_header(struct e > s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, > u8 *buffer, u16 length); > u32 e1000_translate_register_82542(u32 reg); > +s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); > +s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); > > /* > * TBI_ACCEPT macro definition: > -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 00:07:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DC71106564A; Sat, 12 Feb 2011 00:07:40 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7CE4E8FC16; Sat, 12 Feb 2011 00:07: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 p1C07e75078590; Sat, 12 Feb 2011 00:07:40 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C07en9078579; Sat, 12 Feb 2011 00:07:40 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201102120007.p1C07en9078579@svn.freebsd.org> From: Jack F Vogel Date: Sat, 12 Feb 2011 00:07: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: r218588 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 00:07:40 -0000 Author: jfv Date: Sat Feb 12 00:07:40 2011 New Revision: 218588 URL: http://svn.freebsd.org/changeset/base/218588 Log: Fix the shared code to be consistent with Intel-internal, and now build. Modified: head/sys/dev/e1000/e1000_80003es2lan.c head/sys/dev/e1000/e1000_80003es2lan.h head/sys/dev/e1000/e1000_82540.c head/sys/dev/e1000/e1000_82541.c head/sys/dev/e1000/e1000_82543.c head/sys/dev/e1000/e1000_82571.c head/sys/dev/e1000/e1000_api.h head/sys/dev/e1000/e1000_ich8lan.c head/sys/dev/e1000/e1000_ich8lan.h head/sys/dev/e1000/e1000_mac.h Modified: head/sys/dev/e1000/e1000_80003es2lan.c ============================================================================== --- head/sys/dev/e1000/e1000_80003es2lan.c Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_80003es2lan.c Sat Feb 12 00:07:40 2011 (r218588) @@ -82,8 +82,8 @@ static void e1000_power_down_phy_copper_ * with a lower bound at "index" and the upper bound at * "index + 5". */ -static const u16 e1000_gg82563_cable_length_table[] = - { 0, 60, 115, 150, 150, 60, 115, 150, 180, 180, 0xFF }; +static const u16 e1000_gg82563_cable_length_table[] = { + 0, 60, 115, 150, 150, 60, 115, 150, 180, 180, 0xFF }; #define GG82563_CABLE_LENGTH_TABLE_SIZE \ (sizeof(e1000_gg82563_cable_length_table) / \ sizeof(e1000_gg82563_cable_length_table[0])) @@ -854,7 +854,7 @@ static s32 e1000_get_link_up_info_80003e **/ static s32 e1000_reset_hw_80003es2lan(struct e1000_hw *hw) { - u32 ctrl, icr; + u32 ctrl; s32 ret_val; DEBUGFUNC("e1000_reset_hw_80003es2lan"); @@ -890,7 +890,7 @@ static s32 e1000_reset_hw_80003es2lan(st /* Clear any pending interrupt events. */ E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); ret_val = e1000_check_alt_mac_addr_generic(hw); @@ -909,6 +909,7 @@ static s32 e1000_init_hw_80003es2lan(str struct e1000_mac_info *mac = &hw->mac; u32 reg_data; s32 ret_val; + u16 kum_reg_data; u16 i; DEBUGFUNC("e1000_init_hw_80003es2lan"); @@ -936,6 +937,13 @@ static s32 e1000_init_hw_80003es2lan(str /* Setup link and flow control */ ret_val = mac->ops.setup_link(hw); + /* Disable IBIST slave mode (far-end loopback) */ + e1000_read_kmrn_reg_80003es2lan(hw, E1000_KMRNCTRLSTA_INBAND_PARAM, + &kum_reg_data); + kum_reg_data |= E1000_KMRNCTRLSTA_IBIST_DISABLE; + e1000_write_kmrn_reg_80003es2lan(hw, E1000_KMRNCTRLSTA_INBAND_PARAM, + kum_reg_data); + /* Set the transmit descriptor write-back policy */ reg_data = E1000_READ_REG(hw, E1000_TXDCTL(0)); reg_data = (reg_data & ~E1000_TXDCTL_WTHRESH) | Modified: head/sys/dev/e1000/e1000_80003es2lan.h ============================================================================== --- head/sys/dev/e1000/e1000_80003es2lan.h Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_80003es2lan.h Sat Feb 12 00:07:40 2011 (r218588) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2009, Intel Corporation + Copyright (c) 2001-2010, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without Modified: head/sys/dev/e1000/e1000_82540.c ============================================================================== --- head/sys/dev/e1000/e1000_82540.c Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_82540.c Sat Feb 12 00:07:40 2011 (r218588) @@ -269,7 +269,7 @@ void e1000_init_function_pointers_82540( **/ static s32 e1000_reset_hw_82540(struct e1000_hw *hw) { - u32 ctrl, icr, manc; + u32 ctrl, manc; s32 ret_val = E1000_SUCCESS; DEBUGFUNC("e1000_reset_hw_82540"); @@ -314,7 +314,7 @@ static s32 e1000_reset_hw_82540(struct e E1000_WRITE_REG(hw, E1000_MANC, manc); E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); return ret_val; } Modified: head/sys/dev/e1000/e1000_82541.c ============================================================================== --- head/sys/dev/e1000/e1000_82541.c Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_82541.c Sat Feb 12 00:07:40 2011 (r218588) @@ -300,7 +300,7 @@ void e1000_init_function_pointers_82541( **/ static s32 e1000_reset_hw_82541(struct e1000_hw *hw) { - u32 ledctl, ctrl, icr, manc; + u32 ledctl, ctrl, manc; DEBUGFUNC("e1000_reset_hw_82541"); @@ -364,7 +364,7 @@ static s32 e1000_reset_hw_82541(struct e E1000_WRITE_REG(hw, E1000_IMC, 0xFFFFFFFF); /* Clear any pending interrupt events. */ - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); return E1000_SUCCESS; } @@ -390,7 +390,7 @@ static s32 e1000_init_hw_82541(struct e1 DEBUGOUT("Error initializing identification LED\n"); /* This is not fatal and we should not stop init due to this */ } - + /* Storing the Speed Power Down value for later use */ ret_val = hw->phy.ops.read_reg(hw, IGP01E1000_GMII_FIFO, Modified: head/sys/dev/e1000/e1000_82543.c ============================================================================== --- head/sys/dev/e1000/e1000_82543.c Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_82543.c Sat Feb 12 00:07:40 2011 (r218588) @@ -901,7 +901,7 @@ static s32 e1000_phy_hw_reset_82543(stru **/ static s32 e1000_reset_hw_82543(struct e1000_hw *hw) { - u32 ctrl, icr; + u32 ctrl; s32 ret_val = E1000_SUCCESS; DEBUGFUNC("e1000_reset_hw_82543"); @@ -943,7 +943,7 @@ static s32 e1000_reset_hw_82543(struct e /* Masking off and clearing any pending interrupts */ E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); return ret_val; } Modified: head/sys/dev/e1000/e1000_82571.c ============================================================================== --- head/sys/dev/e1000/e1000_82571.c Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_82571.c Sat Feb 12 00:07:40 2011 (r218588) @@ -82,6 +82,10 @@ static s32 e1000_get_hw_semaphore_82573 static void e1000_put_hw_semaphore_82573(struct e1000_hw *hw); static s32 e1000_get_hw_semaphore_82574(struct e1000_hw *hw); static void e1000_put_hw_semaphore_82574(struct e1000_hw *hw); +static s32 e1000_set_d0_lplu_state_82574(struct e1000_hw *hw, + bool active); +static s32 e1000_set_d3_lplu_state_82574(struct e1000_hw *hw, + bool active); static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw); static s32 e1000_write_nvm_eewr_82571(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); @@ -95,7 +99,6 @@ static void e1000_power_down_phy_copper_ static s32 e1000_init_phy_params_82571(struct e1000_hw *hw) { struct e1000_phy_info *phy = &hw->phy; - struct e1000_dev_spec_82571 *dev_spec = &hw->dev_spec._82571; s32 ret_val = E1000_SUCCESS; DEBUGFUNC("e1000_init_phy_params_82571"); @@ -129,16 +132,6 @@ static s32 e1000_init_phy_params_82571(s phy->ops.write_reg = e1000_write_phy_reg_igp; phy->ops.acquire = e1000_get_hw_semaphore_82571; phy->ops.release = e1000_put_hw_semaphore_82571; - - /* This uses above function pointers */ - ret_val = e1000_get_phy_id_82571(hw); - - /* Verify PHY ID */ - if (phy->id != IGP01E1000_I_PHY_ID) { - ret_val = -E1000_ERR_PHY; - DEBUGOUT1("PHY ID unknown: type = 0x%08x\n", phy->id); - goto out; - } break; case e1000_82573: phy->type = e1000_phy_m88; @@ -152,20 +145,10 @@ static s32 e1000_init_phy_params_82571(s phy->ops.write_reg = e1000_write_phy_reg_m88; phy->ops.acquire = e1000_get_hw_semaphore_82571; phy->ops.release = e1000_put_hw_semaphore_82571; - - /* This uses above function pointers */ - ret_val = e1000_get_phy_id_82571(hw); - - /* Verify PHY ID */ - if (phy->id != M88E1111_I_PHY_ID) { - ret_val = -E1000_ERR_PHY; - DEBUGOUT1("PHY ID unknown: type = 0x%08x\n", phy->id); - goto out; - } break; case e1000_82574: case e1000_82583: - E1000_MUTEX_INIT(&dev_spec->swflag_mutex); + E1000_MUTEX_INIT(&hw->dev_spec._82571.swflag_mutex); phy->type = e1000_phy_bm; phy->ops.get_cfg_done = e1000_get_cfg_done_generic; @@ -178,22 +161,46 @@ static s32 e1000_init_phy_params_82571(s phy->ops.write_reg = e1000_write_phy_reg_bm2; phy->ops.acquire = e1000_get_hw_semaphore_82574; phy->ops.release = e1000_put_hw_semaphore_82574; + phy->ops.set_d0_lplu_state = e1000_set_d0_lplu_state_82574; + phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_82574; + break; + default: + ret_val = -E1000_ERR_PHY; + goto out; + break; + } + + /* This can only be done after all function pointers are setup. */ + ret_val = e1000_get_phy_id_82571(hw); + if (ret_val) { + DEBUGOUT("Error getting PHY ID\n"); + goto out; + } - /* This uses above function pointers */ - ret_val = e1000_get_phy_id_82571(hw); - /* Verify PHY ID */ - if (phy->id != BME1000_E_PHY_ID_R2) { + /* Verify phy id */ + switch (hw->mac.type) { + case e1000_82571: + case e1000_82572: + if (phy->id != IGP01E1000_I_PHY_ID) + ret_val = -E1000_ERR_PHY; + break; + case e1000_82573: + if (phy->id != M88E1111_I_PHY_ID) + ret_val = -E1000_ERR_PHY; + break; + case e1000_82574: + case e1000_82583: + if (phy->id != BME1000_E_PHY_ID_R2) ret_val = -E1000_ERR_PHY; - DEBUGOUT1("PHY ID unknown: type = 0x%08x\n", phy->id); - goto out; - } break; default: ret_val = -E1000_ERR_PHY; - goto out; break; } + if (ret_val) + DEBUGOUT1("PHY ID unknown: type = 0x%08x\n", phy->id); + out: return ret_val; } @@ -693,6 +700,62 @@ static void e1000_put_hw_semaphore_82574 } /** + * e1000_set_d0_lplu_state_82574 - Set Low Power Linkup D0 state + * @hw: pointer to the HW structure + * @active: TRUE to enable LPLU, FALSE to disable + * + * Sets the LPLU D0 state according to the active flag. + * LPLU will not be activated unless the + * device autonegotiation advertisement meets standards of + * either 10 or 10/100 or 10/100/1000 at all duplexes. + * This is a function pointer entry point only called by + * PHY setup routines. + **/ +static s32 e1000_set_d0_lplu_state_82574(struct e1000_hw *hw, bool active) +{ + u16 data = E1000_READ_REG(hw, E1000_POEMB); + + DEBUGFUNC("e1000_set_d0_lplu_state_82574"); + + if (active) + data |= E1000_PHY_CTRL_D0A_LPLU; + else + data &= ~E1000_PHY_CTRL_D0A_LPLU; + + E1000_WRITE_REG(hw, E1000_POEMB, data); + return E1000_SUCCESS; +} + +/** + * e1000_set_d3_lplu_state_82574 - Sets low power link up state for D3 + * @hw: pointer to the HW structure + * @active: boolean used to enable/disable lplu + * + * The low power link up (lplu) state is set to the power management level D3 + * when active is TRUE, else clear lplu for D3. LPLU + * is used during Dx states where the power conservation is most important. + * During driver activity, SmartSpeed should be enabled so performance is + * maintained. + **/ +static s32 e1000_set_d3_lplu_state_82574(struct e1000_hw *hw, bool active) +{ + u16 data = E1000_READ_REG(hw, E1000_POEMB); + + DEBUGFUNC("e1000_set_d3_lplu_state_82574"); + + if (!active) { + data &= ~E1000_PHY_CTRL_NOND0A_LPLU; + } else if ((hw->phy.autoneg_advertised == E1000_ALL_SPEED_DUPLEX) || + (hw->phy.autoneg_advertised == E1000_ALL_NOT_GIG) || + (hw->phy.autoneg_advertised == E1000_ALL_10_SPEED)) { + data |= E1000_PHY_CTRL_NOND0A_LPLU; + } + + E1000_WRITE_REG(hw, E1000_POEMB, data); + return E1000_SUCCESS; +} + +/** * e1000_acquire_nvm_82571 - Request for access to the EEPROM * @hw: pointer to the HW structure * @@ -1039,7 +1102,7 @@ out: **/ static s32 e1000_reset_hw_82571(struct e1000_hw *hw) { - u32 ctrl, ctrl_ext, icr; + u32 ctrl, ctrl_ext; s32 ret_val; DEBUGFUNC("e1000_reset_hw_82571"); @@ -1125,7 +1188,7 @@ static s32 e1000_reset_hw_82571(struct e /* Clear any pending interrupt events. */ E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); if (hw->mac.type == e1000_82571) { /* Install any alternate MAC address into RAR0 */ @@ -1336,7 +1399,7 @@ static void e1000_initialize_hw_bits_825 * apply workaround for hardware errata documented in errata * docs Fixes issue where some error prone or unreliable PCIe * completions are occurring, particularly with ASPM enabled. - * Without fix, issue can cause tx timeouts. + * Without fix, issue can cause Tx timeouts. */ reg = E1000_READ_REG(hw, E1000_GCR2); reg |= 1; @@ -1467,7 +1530,7 @@ bool e1000_check_phy_82574(struct e1000_ &receive_errors); if (ret_val) goto out; - if (receive_errors == E1000_RECEIVE_ERROR_MAX) { + if (receive_errors == E1000_RECEIVE_ERROR_MAX) { ret_val = hw->phy.ops.read_reg(hw, E1000_BASE1000T_STATUS, &status_1kbt); if (ret_val) @@ -1510,6 +1573,7 @@ static s32 e1000_setup_link_82571(struct default: break; } + return e1000_setup_link_generic(hw); } @@ -1645,7 +1709,7 @@ static s32 e1000_check_for_serdes_link_8 * auto-negotiation in the TXCW register and disable * forced link in the Device Control register in an * attempt to auto-negotiate with our link partner. - * If the partner code word is null, stop forcing + * If the partner code word is null, stop forcing * and restart auto negotiation. */ if ((rxcw & E1000_RXCW_C) || !(rxcw & E1000_RXCW_CW)) { Modified: head/sys/dev/e1000/e1000_api.h ============================================================================== --- head/sys/dev/e1000/e1000_api.h Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_api.h Sat Feb 12 00:07:40 2011 (r218588) @@ -120,8 +120,6 @@ s32 e1000_mng_write_cmd_header(struct e s32 e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, u16 length); u32 e1000_translate_register_82542(u32 reg); -s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); -s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); /* * TBI_ACCEPT macro definition: Modified: head/sys/dev/e1000/e1000_ich8lan.c ============================================================================== --- head/sys/dev/e1000/e1000_ich8lan.c Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_ich8lan.c Sat Feb 12 00:07:40 2011 (r218588) @@ -75,6 +75,9 @@ static void e1000_release_nvm_ich8lan(st static bool e1000_check_mng_mode_ich8lan(struct e1000_hw *hw); static bool e1000_check_mng_mode_pchlan(struct e1000_hw *hw); static void e1000_rar_set_pch2lan(struct e1000_hw *hw, u8 *addr, u32 index); +static void e1000_update_mc_addr_list_pch2lan(struct e1000_hw *hw, + u8 *mc_addr_list, + u32 mc_addr_count); static s32 e1000_check_reset_block_ich8lan(struct e1000_hw *hw); static s32 e1000_phy_hw_reset_ich8lan(struct e1000_hw *hw); static s32 e1000_set_lplu_state_pchlan(struct e1000_hw *hw, bool active); @@ -213,7 +216,8 @@ static s32 e1000_init_phy_params_pchlan( * the interconnect to PCIe mode. */ fwsm = E1000_READ_REG(hw, E1000_FWSM); - if (!(fwsm & E1000_ICH_FWSM_FW_VALID)) { + if (!(fwsm & E1000_ICH_FWSM_FW_VALID) && + !(hw->phy.ops.check_reset_block(hw))) { ctrl = E1000_READ_REG(hw, E1000_CTRL); ctrl |= E1000_CTRL_LANPHYPC_OVERRIDE; ctrl &= ~E1000_CTRL_LANPHYPC_VALUE; @@ -540,6 +544,9 @@ static s32 e1000_init_mac_params_ich8lan case e1000_pch2lan: mac->rar_entry_count = E1000_PCH2_RAR_ENTRIES; mac->ops.rar_set = e1000_rar_set_pch2lan; + /* multicast address update for pch2 */ + mac->ops.update_mc_addr_list = + e1000_update_mc_addr_list_pch2lan; /* fall-through */ case e1000_pchlan: /* save PCH revision_id */ @@ -835,8 +842,13 @@ static void e1000_release_swflag_ich8lan DEBUGFUNC("e1000_release_swflag_ich8lan"); extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL); - extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG; - E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl); + + if (extcnf_ctrl & E1000_EXTCNF_CTRL_SWFLAG) { + extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG; + E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl); + } else { + DEBUGOUT("Semaphore unexpectedly released by sw/fw/hw\n"); + } E1000_MUTEX_UNLOCK(&hw->dev_spec.ich8lan.swflag_mutex); @@ -942,6 +954,34 @@ static void e1000_rar_set_pch2lan(struct } /** + * e1000_update_mc_addr_list_pch2lan - Update Multicast addresses + * @hw: pointer to the HW structure + * @mc_addr_list: array of multicast addresses to program + * @mc_addr_count: number of multicast addresses to program + * + * Updates entire Multicast Table Array of the PCH2 MAC and PHY. + * The caller must have a packed mc_addr_list of multicast addresses. + **/ +static void e1000_update_mc_addr_list_pch2lan(struct e1000_hw *hw, + u8 *mc_addr_list, + u32 mc_addr_count) +{ + int i; + + DEBUGFUNC("e1000_update_mc_addr_list_pch2lan"); + + e1000_update_mc_addr_list_generic(hw, mc_addr_list, mc_addr_count); + + for (i = 0; i < hw->mac.mta_reg_count; i++) { + hw->phy.ops.write_reg(hw, BM_MTA(i), + (u16)(hw->mac.mta_shadow[i] & 0xFFFF)); + hw->phy.ops.write_reg(hw, (BM_MTA(i) + 1), + (u16)((hw->mac.mta_shadow[i] >> 16) & + 0xFFFF)); + } +} + +/** * e1000_check_reset_block_ich8lan - Check if PHY reset is blocked * @hw: pointer to the HW structure * @@ -1482,13 +1522,11 @@ static s32 e1000_hv_phy_workarounds_ich8 ret_val = hw->phy.ops.acquire(hw); if (ret_val) goto out; - ret_val = hw->phy.ops.read_reg_locked(hw, - PHY_REG(BM_PORT_CTRL_PAGE, 17), + ret_val = hw->phy.ops.read_reg_locked(hw, BM_PORT_GEN_CFG_REG, &phy_data); if (ret_val) goto release; - ret_val = hw->phy.ops.write_reg_locked(hw, - PHY_REG(BM_PORT_CTRL_PAGE, 17), + ret_val = hw->phy.ops.write_reg_locked(hw, BM_PORT_GEN_CFG_REG, phy_data & 0x00FF); release: hw->phy.ops.release(hw); @@ -1773,7 +1811,7 @@ out: /** * e1000_gate_hw_phy_config_ich8lan - disable PHY config via hardware * @hw: pointer to the HW structure - * @gate: boolean set to TRUE to gate, FALSE to un-gate + * @gate: boolean set to TRUE to gate, FALSE to ungate * * Gate/ungate the automatic PHY configuration via hardware; perform * the configuration via software instead. @@ -1911,11 +1949,26 @@ static s32 e1000_post_phy_reset_ich8lan( /* Configure the LCD with the OEM bits in NVM */ ret_val = e1000_oem_bits_config_ich8lan(hw, TRUE); - /* Ungate automatic PHY configuration on non-managed 82579 */ - if ((hw->mac.type == e1000_pch2lan) && - !(E1000_READ_REG(hw, E1000_FWSM) & E1000_ICH_FWSM_FW_VALID)) { - msec_delay(10); - e1000_gate_hw_phy_config_ich8lan(hw, FALSE); + if (hw->mac.type == e1000_pch2lan) { + /* Ungate automatic PHY configuration on non-managed 82579 */ + if (!(E1000_READ_REG(hw, E1000_FWSM) & + E1000_ICH_FWSM_FW_VALID)) { + msec_delay(10); + e1000_gate_hw_phy_config_ich8lan(hw, FALSE); + } + + /* Set EEE LPI Update Timer to 200usec */ + ret_val = hw->phy.ops.acquire(hw); + if (ret_val) + goto out; + ret_val = hw->phy.ops.write_reg_locked(hw, I82579_EMI_ADDR, + I82579_LPI_UPDATE_TIMER); + if (ret_val) + goto release; + ret_val = hw->phy.ops.write_reg_locked(hw, I82579_EMI_DATA, + 0x1387); +release: + hw->phy.ops.release(hw); } out: @@ -2323,7 +2376,6 @@ static s32 e1000_flash_cycle_init_ich8la { union ich8_hws_flash_status hsfsts; s32 ret_val = -E1000_ERR_NVM; - s32 i = 0; DEBUGFUNC("e1000_flash_cycle_init_ich8lan"); @@ -2361,6 +2413,8 @@ static s32 e1000_flash_cycle_init_ich8la E1000_WRITE_FLASH_REG16(hw, ICH_FLASH_HSFSTS, hsfsts.regval); ret_val = E1000_SUCCESS; } else { + s32 i; + /* * Otherwise poll for sometime so the current * cycle has a chance to end before giving up. @@ -3198,7 +3252,7 @@ static s32 e1000_reset_hw_ich8lan(struct { struct e1000_dev_spec_ich8lan *dev_spec = &hw->dev_spec.ich8lan; u16 reg; - u32 ctrl, icr, kab; + u32 ctrl, kab; s32 ret_val; DEBUGFUNC("e1000_reset_hw_ich8lan"); @@ -3290,7 +3344,7 @@ static s32 e1000_reset_hw_ich8lan(struct E1000_WRITE_REG(hw, E1000_CRC_OFFSET, 0x65656565); E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff); - icr = E1000_READ_REG(hw, E1000_ICR); + E1000_READ_REG(hw, E1000_ICR); kab = E1000_READ_REG(hw, E1000_KABGTXD); kab |= E1000_KABGTXD_BGSQLBIAS; @@ -3665,7 +3719,7 @@ static s32 e1000_kmrn_lock_loss_workarou DEBUGFUNC("e1000_kmrn_lock_loss_workaround_ich8lan"); - if (!(dev_spec->kmrn_lock_loss_workaround_enabled)) + if (!dev_spec->kmrn_lock_loss_workaround_enabled) goto out; /* Modified: head/sys/dev/e1000/e1000_ich8lan.h ============================================================================== --- head/sys/dev/e1000/e1000_ich8lan.h Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_ich8lan.h Sat Feb 12 00:07:40 2011 (r218588) @@ -151,24 +151,24 @@ #define BM_RCTL_PMCF 0x0040 /* Pass MAC Control Frames */ #define BM_RCTL_RFCE 0x0080 /* Rx Flow Control Enable */ -#define HV_LED_CONFIG PHY_REG(768, 30) /* LED Configuration */ +#define HV_LED_CONFIG PHY_REG(768, 30) /* LED Configuration */ #define HV_MUX_DATA_CTRL PHY_REG(776, 16) #define HV_MUX_DATA_CTRL_GEN_TO_MAC 0x0400 #define HV_MUX_DATA_CTRL_FORCE_SPEED 0x0004 -#define HV_SCC_UPPER PHY_REG(778, 16) /* Single Collision Count */ -#define HV_SCC_LOWER PHY_REG(778, 17) -#define HV_ECOL_UPPER PHY_REG(778, 18) /* Excessive Collision Count */ -#define HV_ECOL_LOWER PHY_REG(778, 19) -#define HV_MCC_UPPER PHY_REG(778, 20) /* Multiple Collision Count */ -#define HV_MCC_LOWER PHY_REG(778, 21) -#define HV_LATECOL_UPPER PHY_REG(778, 23) /* Late Collision Count */ -#define HV_LATECOL_LOWER PHY_REG(778, 24) -#define HV_COLC_UPPER PHY_REG(778, 25) /* Collision Count */ -#define HV_COLC_LOWER PHY_REG(778, 26) -#define HV_DC_UPPER PHY_REG(778, 27) /* Defer Count */ -#define HV_DC_LOWER PHY_REG(778, 28) -#define HV_TNCRS_UPPER PHY_REG(778, 29) /* Transmit with no CRS */ -#define HV_TNCRS_LOWER PHY_REG(778, 30) +#define HV_SCC_UPPER PHY_REG(778, 16) /* Single Collision Count */ +#define HV_SCC_LOWER PHY_REG(778, 17) +#define HV_ECOL_UPPER PHY_REG(778, 18) /* Excessive Collision Count */ +#define HV_ECOL_LOWER PHY_REG(778, 19) +#define HV_MCC_UPPER PHY_REG(778, 20) /* Multiple Collision Count */ +#define HV_MCC_LOWER PHY_REG(778, 21) +#define HV_LATECOL_UPPER PHY_REG(778, 23) /* Late Collision Count */ +#define HV_LATECOL_LOWER PHY_REG(778, 24) +#define HV_COLC_UPPER PHY_REG(778, 25) /* Collision Count */ +#define HV_COLC_LOWER PHY_REG(778, 26) +#define HV_DC_UPPER PHY_REG(778, 27) /* Defer Count */ +#define HV_DC_LOWER PHY_REG(778, 28) +#define HV_TNCRS_UPPER PHY_REG(778, 29) /* Transmit with no CRS */ +#define HV_TNCRS_LOWER PHY_REG(778, 30) #define E1000_FCRTV_PCH 0x05F40 /* PCH Flow Control Refresh Timer Value */ @@ -195,17 +195,22 @@ #define LCD_CFG_PHY_ADDR_BIT 0x0020 /* Phy address bit from LCD Config word */ /* KMRN Mode Control */ -#define HV_KMRN_MODE_CTRL PHY_REG(769, 16) -#define HV_KMRN_MDIO_SLOW 0x0400 +#define HV_KMRN_MODE_CTRL PHY_REG(769, 16) +#define HV_KMRN_MDIO_SLOW 0x0400 /* PHY Power Management Control */ -#define HV_PM_CTRL PHY_REG(770, 17) +#define HV_PM_CTRL PHY_REG(770, 17) #define SW_FLAG_TIMEOUT 1000 /* SW Semaphore flag timeout in milliseconds */ /* PHY Low Power Idle Control */ -#define I82579_LPI_CTRL PHY_REG(772, 20) -#define I82579_LPI_CTRL_ENABLE_MASK 0x6000 +#define I82579_LPI_CTRL PHY_REG(772, 20) +#define I82579_LPI_CTRL_ENABLE_MASK 0x6000 + +/* EMI Registers */ +#define I82579_EMI_ADDR 0x10 +#define I82579_EMI_DATA 0x11 +#define I82579_LPI_UPDATE_TIMER 0x4805 /* in 40ns units + 40 ns base value */ /* * Additional interrupts need to be handled for ICH family: @@ -231,7 +236,7 @@ #define E1000_RXDEXT_LINKSEC_ERROR_BAD_SIG 0x60000000 /* Receive Address Initial CRC Calculation */ -#define E1000_PCH_RAICC(_n) (0x05F50 + ((_n) * 4)) +#define E1000_PCH_RAICC(_n) (0x05F50 + ((_n) * 4)) void e1000_set_kmrn_lock_loss_workaround_ich8lan(struct e1000_hw *hw, bool state); Modified: head/sys/dev/e1000/e1000_mac.h ============================================================================== --- head/sys/dev/e1000/e1000_mac.h Fri Feb 11 23:08:34 2011 (r218587) +++ head/sys/dev/e1000/e1000_mac.h Sat Feb 12 00:07:40 2011 (r218588) @@ -52,6 +52,8 @@ s32 e1000_check_for_copper_link_generic s32 e1000_check_for_fiber_link_generic(struct e1000_hw *hw); s32 e1000_check_for_serdes_link_generic(struct e1000_hw *hw); s32 e1000_cleanup_led_generic(struct e1000_hw *hw); +s32 e1000_commit_fc_settings_generic(struct e1000_hw *hw); +s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw); s32 e1000_config_fc_after_link_up_generic(struct e1000_hw *hw); s32 e1000_disable_pcie_master_generic(struct e1000_hw *hw); s32 e1000_force_mac_fc_generic(struct e1000_hw *hw); From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 01:00:00 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D60BD1065672; Sat, 12 Feb 2011 01:00:00 +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 A8F5D8FC0C; Sat, 12 Feb 2011 01:00:00 +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 p1C100K0079902; Sat, 12 Feb 2011 01:00:00 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C100nK079899; Sat, 12 Feb 2011 01:00:00 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201102120100.p1C100nK079899@svn.freebsd.org> From: Alan Cox Date: Sat, 12 Feb 2011 01:00:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218589 - in head/sys: kern 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: Sat, 12 Feb 2011 01:00:01 -0000 Author: alc Date: Sat Feb 12 01:00:00 2011 New Revision: 218589 URL: http://svn.freebsd.org/changeset/base/218589 Log: Retire VFS_BIO_DEBUG. Convert those checks that were still valid into KASSERT()s and eliminate the rest. Replace excessive printf()s and a panic() in bufdone_finish() with a KASSERT() in vm_page_io_finish(). Reviewed by: kib Modified: head/sys/kern/vfs_bio.c head/sys/vm/vm_page.c Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Sat Feb 12 00:07:40 2011 (r218588) +++ head/sys/kern/vfs_bio.c Sat Feb 12 01:00:00 2011 (r218589) @@ -2830,11 +2830,6 @@ loop: if (vmio) { bp->b_flags |= B_VMIO; -#if defined(VFS_BIO_DEBUG) - if (vn_canvmio(vp) != TRUE) - printf("getblk: VMIO on vnode type %d\n", - vp->v_type); -#endif KASSERT(vp->v_object == bp->b_bufobj->bo_object, ("ARGH! different b_bufobj->bo_object %p %p %p\n", bp, vp->v_object, bp->b_bufobj->bo_object)); @@ -3343,36 +3338,26 @@ bufdone_finish(struct buf *bp) buf_complete(bp); if (bp->b_flags & B_VMIO) { - int i; vm_ooffset_t foff; vm_page_t m; vm_object_t obj; - int bogus, iosize; - struct vnode *vp = bp->b_vp; + struct vnode *vp; + int bogus, i, iosize; obj = bp->b_bufobj->bo_object; - -#if defined(VFS_BIO_DEBUG) - mp_fixme("usecount and vflag accessed without locks."); - if (vp->v_usecount == 0) { - panic("biodone: zero vnode ref count"); - } - + KASSERT(obj->paging_in_progress >= bp->b_npages, + ("biodone_finish: paging in progress(%d) < b_npages(%d)", + obj->paging_in_progress, bp->b_npages)); + + vp = bp->b_vp; + KASSERT(vp->v_holdcnt > 0, + ("biodone_finish: vnode %p has zero hold count", vp)); KASSERT(vp->v_object != NULL, - ("biodone: vnode %p has no vm_object", vp)); -#endif + ("biodone_finish: vnode %p has no vm_object", vp)); foff = bp->b_offset; KASSERT(bp->b_offset != NOOFFSET, - ("biodone: no buffer offset")); - - VM_OBJECT_LOCK(obj); -#if defined(VFS_BIO_DEBUG) - if (obj->paging_in_progress < bp->b_npages) { - printf("biodone: paging in progress(%d) < bp->b_npages(%d)\n", - obj->paging_in_progress, bp->b_npages); - } -#endif + ("biodone_finish: bp %p has no buffer offset", bp)); /* * Set B_CACHE if the op was a normal read and no error @@ -3386,6 +3371,7 @@ bufdone_finish(struct buf *bp) bp->b_flags |= B_CACHE; } bogus = 0; + VM_OBJECT_LOCK(obj); for (i = 0; i < bp->b_npages; i++) { int bogusflag = 0; int resid; @@ -3405,13 +3391,9 @@ bufdone_finish(struct buf *bp) panic("biodone: page disappeared!"); bp->b_pages[i] = m; } -#if defined(VFS_BIO_DEBUG) - if (OFF_TO_IDX(foff) != m->pindex) { - printf( -"biodone: foff(%jd)/m->pindex(%ju) mismatch\n", - (intmax_t)foff, (uintmax_t)m->pindex); - } -#endif + KASSERT(OFF_TO_IDX(foff) == m->pindex, + ("biodone_finish: foff(%jd)/pindex(%ju) mismatch", + (intmax_t)foff, (uintmax_t)m->pindex)); /* * In the write case, the valid and clean bits are @@ -3425,31 +3407,6 @@ bufdone_finish(struct buf *bp) vfs_page_set_valid(bp, foff, m); } - /* - * when debugging new filesystems or buffer I/O methods, this - * is the most common error that pops up. if you see this, you - * have not set the page busy flag correctly!!! - */ - if (m->busy == 0) { - printf("biodone: page busy < 0, " - "pindex: %d, foff: 0x(%x,%x), " - "resid: %d, index: %d\n", - (int) m->pindex, (int)(foff >> 32), - (int) foff & 0xffffffff, resid, i); - if (!vn_isdisk(vp, NULL)) - printf(" iosize: %jd, lblkno: %jd, flags: 0x%x, npages: %d\n", - (intmax_t)bp->b_vp->v_mount->mnt_stat.f_iosize, - (intmax_t) bp->b_lblkno, - bp->b_flags, bp->b_npages); - else - printf(" VDEV, lblkno: %jd, flags: 0x%x, npages: %d\n", - (intmax_t) bp->b_lblkno, - bp->b_flags, bp->b_npages); - printf(" valid: 0x%lx, dirty: 0x%lx, wired: %d\n", - (u_long)m->valid, (u_long)m->dirty, - m->wire_count); - panic("biodone: page busy < 0\n"); - } vm_page_io_finish(m); vm_object_pip_subtract(obj, 1); foff = (foff + PAGE_SIZE) & ~(off_t)PAGE_MASK; Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Sat Feb 12 00:07:40 2011 (r218588) +++ head/sys/vm/vm_page.c Sat Feb 12 01:00:00 2011 (r218589) @@ -557,6 +557,7 @@ vm_page_io_finish(vm_page_t m) { VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); + KASSERT(m->busy > 0, ("vm_page_io_finish: page %p is not busy", m)); m->busy--; if (m->busy == 0) vm_page_flash(m); From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 01:03:16 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D9C3106566C; Sat, 12 Feb 2011 01:03:16 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 187CD8FC08; Sat, 12 Feb 2011 01:03:16 +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 p1C13Fv6080031; Sat, 12 Feb 2011 01:03:15 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C13Fqa080027; Sat, 12 Feb 2011 01:03:15 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201102120103.p1C13Fqa080027@svn.freebsd.org> From: Jung-uk Kim Date: Sat, 12 Feb 2011 01:03:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218590 - in head: sys/conf sys/contrib/dev/acpica sys/contrib/dev/acpica/common sys/contrib/dev/acpica/compiler sys/contrib/dev/acpica/debugger sys/contrib/dev/acpica/dispatcher sys/co... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 01:03:16 -0000 Author: jkim Date: Sat Feb 12 01:03:15 2011 New Revision: 218590 URL: http://svn.freebsd.org/changeset/base/218590 Log: Merge ACPICA 20110211. Added: head/sys/contrib/dev/acpica/compiler/aslbtypes.c - copied, changed from r218586, vendor-sys/acpica/dist/compiler/aslbtypes.c head/sys/contrib/dev/acpica/compiler/aslwalks.c - copied, changed from r218586, vendor-sys/acpica/dist/compiler/aslwalks.c head/sys/contrib/dev/acpica/compiler/dtexpress.c - copied, changed from r218586, vendor-sys/acpica/dist/compiler/dtexpress.c head/sys/contrib/dev/acpica/debugger/dbmethod.c - copied, changed from r218586, vendor-sys/acpica/dist/debugger/dbmethod.c head/sys/contrib/dev/acpica/debugger/dbnames.c - copied, changed from r218586, vendor-sys/acpica/dist/debugger/dbnames.c head/sys/contrib/dev/acpica/dispatcher/dsargs.c - copied, changed from r218586, vendor-sys/acpica/dist/dispatcher/dsargs.c head/sys/contrib/dev/acpica/dispatcher/dscontrol.c - copied, changed from r218586, vendor-sys/acpica/dist/dispatcher/dscontrol.c head/sys/contrib/dev/acpica/dispatcher/dswload2.c - copied, changed from r218586, vendor-sys/acpica/dist/dispatcher/dswload2.c head/sys/contrib/dev/acpica/utilities/utdecode.c - copied, changed from r218586, vendor-sys/acpica/dist/utilities/utdecode.c Modified: head/sys/conf/files head/sys/contrib/dev/acpica/changes.txt head/sys/contrib/dev/acpica/common/dmtable.c head/sys/contrib/dev/acpica/common/dmtbdump.c head/sys/contrib/dev/acpica/common/dmtbinfo.c head/sys/contrib/dev/acpica/compiler/aslanalyze.c head/sys/contrib/dev/acpica/compiler/aslcompile.c head/sys/contrib/dev/acpica/compiler/aslcompiler.h head/sys/contrib/dev/acpica/compiler/aslcompiler.l head/sys/contrib/dev/acpica/compiler/aslcompiler.y head/sys/contrib/dev/acpica/compiler/aslmessages.h head/sys/contrib/dev/acpica/compiler/aslpredef.c head/sys/contrib/dev/acpica/compiler/asltree.c head/sys/contrib/dev/acpica/compiler/dtcompile.c head/sys/contrib/dev/acpica/compiler/dtcompiler.h head/sys/contrib/dev/acpica/compiler/dtfield.c head/sys/contrib/dev/acpica/compiler/dtio.c head/sys/contrib/dev/acpica/compiler/dttable.c head/sys/contrib/dev/acpica/compiler/dtutils.c head/sys/contrib/dev/acpica/debugger/dbcmds.c head/sys/contrib/dev/acpica/debugger/dbdisply.c head/sys/contrib/dev/acpica/debugger/dbinput.c head/sys/contrib/dev/acpica/dispatcher/dsopcode.c head/sys/contrib/dev/acpica/dispatcher/dswload.c head/sys/contrib/dev/acpica/events/evgpe.c head/sys/contrib/dev/acpica/events/evregion.c head/sys/contrib/dev/acpica/events/evxfregn.c head/sys/contrib/dev/acpica/executer/exfldio.c head/sys/contrib/dev/acpica/include/acdebug.h head/sys/contrib/dev/acpica/include/acdisasm.h head/sys/contrib/dev/acpica/include/acdispat.h head/sys/contrib/dev/acpica/include/acglobal.h head/sys/contrib/dev/acpica/include/aclocal.h head/sys/contrib/dev/acpica/include/acoutput.h head/sys/contrib/dev/acpica/include/acpixf.h head/sys/contrib/dev/acpica/include/actbl.h head/sys/contrib/dev/acpica/tables/tbfadt.c head/sys/contrib/dev/acpica/tools/acpiexec/aecommon.h head/sys/contrib/dev/acpica/utilities/utglobal.c head/sys/modules/acpi/acpi/Makefile head/usr.sbin/acpi/acpidb/Makefile head/usr.sbin/acpi/iasl/Makefile Directory Properties: head/sys/contrib/dev/acpica/ (props changed) Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sat Feb 12 01:00:00 2011 (r218589) +++ head/sys/conf/files Sat Feb 12 01:03:15 2011 (r218590) @@ -161,6 +161,8 @@ contrib/dev/acpica/debugger/dbexec.c opt contrib/dev/acpica/debugger/dbfileio.c optional acpi acpi_debug contrib/dev/acpica/debugger/dbhistry.c optional acpi acpi_debug contrib/dev/acpica/debugger/dbinput.c optional acpi acpi_debug +contrib/dev/acpica/debugger/dbmethod.c optional acpi acpi_debug +contrib/dev/acpica/debugger/dbnames.c optional acpi acpi_debug contrib/dev/acpica/debugger/dbstats.c optional acpi acpi_debug contrib/dev/acpica/debugger/dbutils.c optional acpi acpi_debug contrib/dev/acpica/debugger/dbxface.c optional acpi acpi_debug @@ -173,6 +175,8 @@ contrib/dev/acpica/disassembler/dmresrcl contrib/dev/acpica/disassembler/dmresrcs.c optional acpi acpi_debug contrib/dev/acpica/disassembler/dmutils.c optional acpi acpi_debug contrib/dev/acpica/disassembler/dmwalk.c optional acpi acpi_debug +contrib/dev/acpica/dispatcher/dsargs.c optional acpi +contrib/dev/acpica/dispatcher/dscontrol.c optional acpi contrib/dev/acpica/dispatcher/dsfield.c optional acpi contrib/dev/acpica/dispatcher/dsinit.c optional acpi contrib/dev/acpica/dispatcher/dsmethod.c optional acpi @@ -182,6 +186,7 @@ contrib/dev/acpica/dispatcher/dsopcode.c contrib/dev/acpica/dispatcher/dsutils.c optional acpi contrib/dev/acpica/dispatcher/dswexec.c optional acpi contrib/dev/acpica/dispatcher/dswload.c optional acpi +contrib/dev/acpica/dispatcher/dswload2.c optional acpi contrib/dev/acpica/dispatcher/dswscope.c optional acpi contrib/dev/acpica/dispatcher/dswstate.c optional acpi contrib/dev/acpica/events/evevent.c optional acpi @@ -278,6 +283,7 @@ contrib/dev/acpica/utilities/utalloc.c contrib/dev/acpica/utilities/utcache.c optional acpi contrib/dev/acpica/utilities/utcopy.c optional acpi contrib/dev/acpica/utilities/utdebug.c optional acpi +contrib/dev/acpica/utilities/utdecode.c optional acpi contrib/dev/acpica/utilities/utdelete.c optional acpi contrib/dev/acpica/utilities/uteval.c optional acpi contrib/dev/acpica/utilities/utglobal.c optional acpi Modified: head/sys/contrib/dev/acpica/changes.txt ============================================================================== --- head/sys/contrib/dev/acpica/changes.txt Sat Feb 12 01:00:00 2011 (r218589) +++ head/sys/contrib/dev/acpica/changes.txt Sat Feb 12 01:03:15 2011 (r218590) @@ -1,18 +1,107 @@ ---------------------------------------- +11 February 2011. Summary of changes for version 20110211: + +This release is available at www.acpica.org/downloads + +1) ACPI CA Core Subsystem: + +Added a mechanism to defer _REG methods for some early-installed handlers. +Most user handlers should be installed before call to AcpiEnableSubsystem. +However, Event handlers and region handlers should be installed after +AcpiInitializeObjects. Override handlers for the "default" regions should be +installed early, however. This change executes all _REG methods for the +default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any +chicken/egg issues between them. ACPICA BZ 848. + +Implemented an optimization for GPE detection. This optimization will simply +ignore GPE registers that contain no enabled GPEs -- there is no need to +read the register since this information is available internally. This +becomes more important on machines with a large GPE space. ACPICA bugzilla +884. Lin Ming. Suggestion from Joe Liu. + +Removed all use of the highly unreliable FADT revision field. The revision +number in the FADT has been found to be completely unreliable and cannot be +trusted. Only the actual table length can be used to infer the version. This +change updates the ACPICA core and the disassembler so that both no longer +even look at the FADT version and instead depend solely upon the FADT +length. + +Fix an unresolved name issue for the no-debug and no-error-message source +generation cases. The _AcpiModuleName was left undefined in these cases, but +it is actually needed as a parameter to some interfaces. Define +_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888. + +Split several large files (makefiles and project files updated) + utglobal.c -> utdecode.c + dbcomds.c -> dbmethod.c dbnames.c + dsopcode.c -> dsargs.c dscontrol.c + dsload.c -> dsload2.c + aslanalyze.c -> aslbtypes.c aslwalks.c + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. + + Previous Release (VC 9.0): + Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total + Debug Version: 163.9K Code, 67.5K Data, 231.4K Total + Current Release (VC 9.0): + Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total + Debug Version: 163.9K Code, 67.5K Data, 231.4K Total + +2) iASL Compiler/Disassembler and Tools: + +iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. +These are useful C-style macros with the standard definitions. ACPICA +bugzilla 898. + +iASL/DTC: Added support for integer expressions and labels. Support for full +expressions for all integer fields in all ACPI tables. Support for labels in +"generic" portions of tables such as UEFI. See the iASL reference manual. + +Debugger: Added a command to display the status of global handlers. The +"handlers" command will display op region, fixed event, and miscellaneous +global handlers. installation status -- and for op regions, whether default +or user-installed handler will be used. + +iASL: Warn if reserved method incorrectly returns a value. Many predefined +names are defined such that they do not return a value. If implemented as a +method, issue a warning if such a name explicitly returns a value. ACPICA +Bugzilla 855. + +iASL: Added detection of GPE method name conflicts. Detects a conflict where +there are two GPE methods of the form _Lxy and _Exy in the same scope. (For +example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848. + +iASL/DTC: Fixed a couple input scanner issues with comments and line +numbers. Comment remover could get confused and miss a comment ending. Fixed +a problem with line counter maintenance. + +iASL/DTC: Reduced the severity of some errors from fatal to error. There is +no need to abort on simple errors within a field definition. + +Debugger: Simplified the output of the help command. All help output now in +a single screen, instead of help subcommands. ACPICA Bugzilla 897. + + +---------------------------------------- 12 January 2011. Summary of changes for version 20110112: 1) ACPI CA Core Subsystem: Fixed a race condition between method execution and namespace walks that can possibly cause a fault. The problem was apparently introduced in version -20100528 as a result of a performance optimization that reduces the number of +20100528 as a result of a performance optimization that reduces the number +of namespace walks upon method exit by using the delete_namespace_subtree function instead of the delete_namespace_by_owner function used previously. Bug is a missing namespace lock in the delete_namespace_subtree function. dana.myers@oracle.com Fixed several issues and a possible fault with the automatic "serialized" -method support. History: This support changes a method to "serialized" on the +method support. History: This support changes a method to "serialized" on +the fly if the method generates an AE_ALREADY_EXISTS error, indicating the possibility that it cannot handle reentrancy. This fix repairs a couple of issues seen in the field, especially on machines with many cores: @@ -50,7 +139,8 @@ details. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release (VC 6.0): @@ -62,11 +152,13 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Added generic data types to the Data Table compiler. Add "generic" data +iASL: Added generic data types to the Data Table compiler. Add "generic" +data types such as UINT32, String, Unicode, etc., to simplify the generation of platform-defined tables such as UEFI. Lin Ming. -iASL: Added listing support for the Data Table Compiler. Adds listing support +iASL: Added listing support for the Data Table Compiler. Adds listing +support (-l) to display actual binary output for each line of input code. ---------------------------------------- @@ -98,13 +190,15 @@ when a Wake GPE is received if there is handler. ACPICA BZ 870. Fixed a problem with the Scope() operator during table parse and load phase. -During load phase (table load or method execution), the scope operator should +During load phase (table load or method execution), the scope operator +should not enter the target into the namespace. Instead, it should open a new scope at the target location. Linux BZ 19462, ACPICA BZ 882. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -163,7 +257,8 @@ longer needed in Execute_HID, Execute_CI Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -176,13 +271,16 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: iASL: Implemented additional compile-time validation for _HID strings. The -non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of +non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length +of the string must be exactly seven or eight characters. For both _HID and _CID strings, all characters must be alphanumeric. ACPICA BZ 874. iASL: Allow certain "null" resource descriptors. Some BIOS code creates -descriptors that are mostly or all zeros, with the expectation that they will -be filled in at runtime. iASL now allows this as long as there is a "resource +descriptors that are mostly or all zeros, with the expectation that they +will +be filled in at runtime. iASL now allows this as long as there is a +"resource tag" (name) associated with the descriptor, which gives the ASL a handle needed to modify the descriptor. ACPICA BZ 873. @@ -192,7 +290,8 @@ threaded ACPICA tools/applications - inc _MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED option. ACPICA BZ 879. -AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support +AcpiExec: several fixes for the 64-bit version. Adds XSDT support and +support for 64-bit DSDT/FACS addresses in the FADT. Lin Ming. iASL: Moved all compiler messages to a new file, aslmessages.h. @@ -202,7 +301,8 @@ iASL: Moved all compiler messages to a n 1) ACPI CA Core Subsystem: -Removed the AcpiOsDerivePciId OSL interface. The various host implementations +Removed the AcpiOsDerivePciId OSL interface. The various host +implementations of this function were not OS-dependent and are now obsolete and can be removed from all host OSLs. This function has been replaced by AcpiHwDerivePciId, which is now part of the ACPICA core code. @@ -216,7 +316,8 @@ accordance with the ACPI specification a ACPICA BZ 871. The ACPI_THREAD_ID type is no longer configurable, internally it is now -always UINT64. This simplifies the ACPICA code, especially any printf output. +always UINT64. This simplifies the ACPICA code, especially any printf +output. UINT64 is the only common data type for all thread_id types across all operating systems. It is now up to the host OSL to cast the native thread_id type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). @@ -238,7 +339,8 @@ is used. ACPICA BZ 829. Lin Ming, Bob Mo Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -267,7 +369,8 @@ of size_t on 32-bit versus 64-bit genera Designed and implemented a new host interface to the _OSI support code. This will allow the host to dynamically add or remove multiple _OSI strings, as well as install an optional handler that is called for each _OSI invocation. -Also added a new AML debugger command, 'osi' to display and modify the global +Also added a new AML debugger command, 'osi' to display and modify the +global _OSI string table, and test support in the AcpiExec utility. See the ACPICA reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836. New Functions: @@ -296,12 +399,14 @@ It should be a (UINT64 *). This may affe Fixed a couple problems with the recently modified Linux makefiles for iASL and AcpiExec. These new makefiles place the generated object files in the -local directory so that there can be no collisions between the files that are +local directory so that there can be no collisions between the files that +are shared between them that are compiled with different options. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -342,25 +447,29 @@ interface. This interface will set or cl 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces are now used for "runtime" GPEs only. -Changed the behavior of the GPE install/remove handler interfaces. The GPE is +Changed the behavior of the GPE install/remove handler interfaces. The GPE +is no longer disabled during this process, as it was found to cause problems on some machines. Rafael J. Wysocki. Reverted a change introduced in version 20100528 to enable Embedded -Controller multi-byte transfers. This change was found to cause problems with +Controller multi-byte transfers. This change was found to cause problems +with Index Fields and possibly Bank Fields. It will be reintroduced when these problems have been resolved. Fixed a problem with references to Alias objects within Package Objects. A reference to an Alias within the definition of a Package was not always resolved properly. Aliases to objects like Processors, Thermal zones, etc. -were resolved to the actual object instead of a reference to the object as it +were resolved to the actual object instead of a reference to the object as +it should be. Package objects are only allowed to contain integer, string, buffer, package, and reference objects. Redhat bugzilla 608648. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -410,7 +519,8 @@ ACPI tables that have been seen in the f Implemented support to enable multi-byte transfers for Embedded Controller (EC) operation regions. Previously, the maximum data size passed to the EC operation region handler was a single byte. There are often EC Fields larger -than one byte that need to be transferred, and it is useful for the EC driver +than one byte that need to be transferred, and it is useful for the EC +driver to lock these as a single transaction. This change enables single transfers larger than 8 bits. This effectively changes the access to the EC space from ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded @@ -427,12 +537,16 @@ node and an ACPI operand object. However namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy. Implemented a performance optimization that reduces the number of namespace -walks. On control method exit, only walk the namespace if the method is known -to have created namespace objects outside of its local scope. Previously, the +walks. On control method exit, only walk the namespace if the method is +known +to have created namespace objects outside of its local scope. Previously, +the entire namespace was traversed on each control method exit. This change can -improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob Moore. +improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob +Moore. -Added support to truncate I/O addresses to 16 bits for Windows compatibility. +Added support to truncate I/O addresses to 16 bits for Windows +compatibility. Some ASL code has been seen in the field that inadvertently has bits set above bit 15. This feature is optional and is enabled if the BIOS requests any Windows OSI strings. It can also be enabled by the host OS. Matthew @@ -450,15 +564,18 @@ part of the ACPI spec. ACPICA BZ 860. Expanded all statistic counters used during namespace and device initialization from 16 to 32 bits in order to support very large namespaces. -Replaced all instances of %d in printf format specifiers with %u since nearly +Replaced all instances of %d in printf format specifiers with %u since +nearly all integers in ACPICA are unsigned. -Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly returned +Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly +returned as AE_NO_HANDLER. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -492,7 +609,8 @@ new table, and process any _Lxx/_Exx GPE runtime GPE that is referenced by an _Lxx/_Exx method in the new table is immediately enabled. Handles the FADT-defined GPEs as well as GPE Block Devices. Provides compatibility with other ACPI implementations. Two new -files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob Moore. +files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob +Moore. Fixed a regression introduced in version 20100331 within the table manager where initial table loading could fail. This was introduced in the fix for @@ -504,12 +622,14 @@ AcpiUtCopySimpleObject. The original cod where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847. Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a -possible access beyond end-of-allocation. Also, now fully validate descriptor +possible access beyond end-of-allocation. Also, now fully validate +descriptor (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847 Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -526,7 +646,8 @@ descriptors. This change implements vali are common to all address-type resource descriptors. These checks are implemented: Checks for valid Min/Max, length within the Min/Max window, valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per -table 6-40 in the ACPI 4.0a specification. Also split the large aslrestype1.c +table 6-40 in the ACPI 4.0a specification. Also split the large +aslrestype1.c and aslrestype2.c files into five new files. ACPICA BZ 840. iASL: Added support for the _Wxx predefined names. This support was missing @@ -570,8 +691,10 @@ New: AcpiSetGpe Implemented write support for DataTable operation regions. These regions are -defined via the DataTableRegion() operator. Previously, only read support was -implemented. The ACPI specification allows DataTableRegions to be read/write, +defined via the DataTableRegion() operator. Previously, only read support +was +implemented. The ACPI specification allows DataTableRegions to be +read/write, however. Implemented a new subsystem option to force a copy of the DSDT to local @@ -581,7 +704,8 @@ the original DSDT, creating the need for not copy the DSDT. Implemented detection of a corrupted or replaced DSDT. This change adds -support to detect a DSDT that has been corrupted and/or replaced from outside +support to detect a DSDT that has been corrupted and/or replaced from +outside the OS (by firmware). This is typically catastrophic for the system, but has been seen on some machines. Once this problem has been detected, the DSDT copy option can be enabled via system configuration. Lin Ming, Bob Moore. @@ -594,7 +718,8 @@ was not set correctly. Alexey Starikovsk Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -610,7 +735,8 @@ iASL: Implement limited typechecking for control methods. The type of any returned static (unnamed) object is now validated. For example, Return(1). ACPICA BZ 786. -iASL: Fixed a predefined name object verification regression. Fixes a problem +iASL: Fixed a predefined name object verification regression. Fixes a +problem introduced in version 20100304. An error is incorrectly generated if a predefined name is declared as a static named object with a value defined using the keywords "Zero", "One", or "Ones". Lin Ming. @@ -629,21 +755,25 @@ Introduced in commit ae7d6fd: Properly h Fixed a possible problem with the AML Mutex handling function AcpiExReleaseMutex where the function could fault under the very rare -condition when the interpreter has blocked, the interpreter lock is released, +condition when the interpreter has blocked, the interpreter lock is +released, the interpreter is then reentered via the same thread, and attempts to -acquire an AML mutex that was previously acquired. FreeBSD report 140979. Lin +acquire an AML mutex that was previously acquired. FreeBSD report 140979. +Lin Ming. Implemented additional configuration support for the AML "Debug Object". Output from the debug object can now be enabled via a global variable, -AcpiGbl_EnableAmlDebugObject. This will assist with remote machine debugging. +AcpiGbl_EnableAmlDebugObject. This will assist with remote machine +debugging. This debug output is now available in the release version of ACPICA instead of just the debug version. Also, the entire debug output module can now be configured out of the ACPICA build if desired. One new file added, executer/exdebug.c. Lin Ming, Bob Moore. Added header support for the ACPI MCHI table (Management Controller Host -Interface Table). This table was added in ACPI 4.0, but the defining document +Interface Table). This table was added in ACPI 4.0, but the defining +document has only recently become available. Standardized output of integer values for ACPICA warnings/errors. Always use @@ -654,7 +784,8 @@ ACPI_DEBUG_PRINT invocations and were no Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -669,7 +800,8 @@ much larger code and data size. iASL: Implemented typechecking support for static (non-control method) predefined named objects that are declared with the Name() operator. For example, the type of this object is now validated to be of type Integer: -Name(_BBN, 1). This change migrates the compiler to using the core predefined +Name(_BBN, 1). This change migrates the compiler to using the core +predefined name table instead of maintaining a local version. Added a new file, aslpredef.c. ACPICA BZ 832. @@ -684,15 +816,20 @@ Added the 2010 copyright to all module h virtually every file in the ACPICA core subsystem, the iASL compiler, the tools/utilities, and the test suites. -Implemented a change to the AcpiGetDevices interface to eliminate unnecessary +Implemented a change to the AcpiGetDevices interface to eliminate +unnecessary invocations of the _STA method. In the case where a specific _HID is requested, do not run _STA until a _HID match is found. This eliminates -potentially dozens of _STA calls during a search for a particular device/HID, +potentially dozens of _STA calls during a search for a particular +device/HID, which in turn can improve boot times. ACPICA BZ 828. Lin Ming. -Implemented an additional repair for predefined method return values. Attempt -to repair unexpected NULL elements within returned Package objects. Create an -Integer of value zero, a NULL String, or a zero-length Buffer as appropriate. +Implemented an additional repair for predefined method return values. +Attempt +to repair unexpected NULL elements within returned Package objects. Create +an +Integer of value zero, a NULL String, or a zero-length Buffer as +appropriate. ACPICA BZ 818. Lin Ming, Bob Moore. Removed the obsolete ACPI_INTEGER data type. This type was introduced as the @@ -704,14 +841,16 @@ for now for compatibility with existing Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in the parse tree object. -Added additional warning options for the gcc-4 generation. Updated the source +Added additional warning options for the gcc-4 generation. Updated the +source accordingly. This includes some code restructuring to eliminate unreachable code, elimination of some gotos, elimination of unused return values, some additional casting, and removal of redundant declarations. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -733,10 +872,12 @@ No functional changes for this release. Enhanced automatic data type conversions for predefined name repairs. This change expands the automatic repairs/conversions for predefined name return values to make Integers, Strings, and Buffers fully interchangeable. Also, a -Buffer can be converted to a Package of Integers if necessary. The nsrepair.c +Buffer can be converted to a Package of Integers if necessary. The +nsrepair.c module was completely restructured. Lin Ming, Bob Moore. -Implemented automatic removal of null package elements during predefined name +Implemented automatic removal of null package elements during predefined +name repairs. This change will automatically remove embedded and trailing NULL package elements from returned package objects that are defined to contain a variable number of sub-packages. The driver is then presented with a package @@ -745,7 +886,8 @@ with no null elements to deal with. ACPI Implemented a repair for the predefined _FDE and _GTM names. The expected return value for both names is a Buffer of 5 DWORDs. This repair fixes two possible problems (both seen in the field), where a package of integers is -returned, or a buffer of BYTEs is returned. With assistance from Jung-uk Kim. +returned, or a buffer of BYTEs is returned. With assistance from Jung-uk +Kim. Implemented additional module-level code support. This change will properly execute module-level code that is not at the root of the namespace (under a @@ -760,7 +902,8 @@ not been seen before. ACPICA BZ 826. Lin Fixed a possible memory leak during module-level code execution. An object could be leaked for each block of executed module-level code if the -interpreter slack mode is enabled This change deletes any implicitly returned +interpreter slack mode is enabled This change deletes any implicitly +returned object from the module-level code block. Lin Ming. Removed messages for successful predefined repair(s). The repair mechanism @@ -770,7 +913,8 @@ repairs were converted to ACPI_DEBUG_PRI Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -782,7 +926,8 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Fixed a regression introduced in 20091112 where intermediate .SRC files +iASL: Fixed a regression introduced in 20091112 where intermediate .SRC +files were no longer automatically removed at the termination of the compile. acpiexec: Implemented the -f option to specify default region fill value. @@ -808,19 +953,23 @@ attributes. Such regions are probably BI Linux BZ 14445. Lin Ming. Implemented an automatic repair for predefined methods that must return -sorted lists. This change will repair (by sorting) packages returned by _ALR, -_PSS, and _TSS. Drivers can now assume that the packages are correctly sorted +sorted lists. This change will repair (by sorting) packages returned by +_ALR, +_PSS, and _TSS. Drivers can now assume that the packages are correctly +sorted and do not contain NULL package elements. Adds one new file, namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore. Fixed a possible fault during predefined name validation if a return Package object contains NULL elements. Also adds a warning if a NULL element is -followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement may +followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement +may include repair or removal of all such NULL elements where possible. Implemented additional module-level executable AML code support. This change will execute module-level code that is not at the root of the namespace -(under a Device object, etc.) at table load time. Module-level executable AML +(under a Device object, etc.) at table load time. Module-level executable +AML code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming. Implemented a new internal function to create Integer objects. This function @@ -828,12 +977,14 @@ simplifies miscellaneous object creation Reduced the severity of predefined repair messages, Warning to Info. Since the object was successfully repaired, a warning is too severe. Reduced to an -info message for now. These messages may eventually be changed to debug-only. +info message for now. These messages may eventually be changed to debug- +only. ACPICA BZ 812. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -855,10 +1006,12 @@ exists, but is shorter than the declared technically legal, this is probably a coding error and it is seen in the field. ACPICA BZ 815. Lin Ming, Bob Moore. -iASL: Fixed a problem where the compiler could fault after the maximum number +iASL: Fixed a problem where the compiler could fault after the maximum +number of errors was reached (200). -acpixtract: Fixed a possible warning for pointer cast if the compiler warning +acpixtract: Fixed a possible warning for pointer cast if the compiler +warning level set very high. ---------------------------------------- @@ -878,7 +1031,8 @@ operand object was leaked. Lin Ming. Implemented a run-time repair for the _MAT predefined method. If the _MAT return value is defined as a Field object in the AML, and the field -size is less than or equal to the default width of an integer (32 or 64),_MAT +size is less than or equal to the default width of an integer (32 or +64),_MAT can incorrectly return an Integer instead of a Buffer. ACPICA now automatically repairs this problem. ACPICA BZ 810. @@ -891,7 +1045,8 @@ within the returned Package. ACPICA BZ 8 Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -934,8 +1089,10 @@ Fixed a possible memory leak in the inte the package initializer list is longer than the defined size of the package. This apparently can only happen if the BIOS changes the package size on the fly (seen in a _PSS object), as ASL compilers do not allow this. The -interpreter will truncate the package to the defined size (and issue an error -message), but previously could leave the extra objects undeleted if they were +interpreter will truncate the package to the defined size (and issue an +error +message), but previously could leave the extra objects undeleted if they +were pre-created during the argument processing (such is the case if the package consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805. @@ -955,7 +1112,8 @@ return type cannot be performed. ACPICA Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1005,13 +1163,17 @@ EINJ, ERST, and HEST. Other newly suppor have been some ACPI 4.0 changes to other existing tables. Split the large actbl1.h header into the existing actbl2.h header. ACPICA BZ 774. -ACPI 4.0: Implemented predefined name validation for all new names. There are -31 new names in ACPI 4.0. The predefined validation module was split into two +ACPI 4.0: Implemented predefined name validation for all new names. There +are +31 new names in ACPI 4.0. The predefined validation module was split into +two files. The new file is namespace/nsrepair.c. ACPICA BZ 770. Implemented support for so-called "module-level executable code". This is -executable AML code that exists outside of any control method and is intended -to be executed at table load time. Although illegal since ACPI 2.0, this type +executable AML code that exists outside of any control method and is +intended +to be executed at table load time. Although illegal since ACPI 2.0, this +type of code still exists and is apparently still being created. Blocks of this code are now detected and executed as intended. Currently, the code blocks must exist under either an If, Else, or While construct; these are the @@ -1027,7 +1189,8 @@ be repaired: _ALR, _CSD, _HPX, _MLS, _PR 790. Fixed a regression introduced in 20090625 for the AcpiGetDevices interface. -The _HID/_CID matching was broken and no longer matched IDs correctly. ACPICA +The _HID/_CID matching was broken and no longer matched IDs correctly. +ACPICA BZ 793. Fixed a problem with AcpiReset where the reset would silently fail if the @@ -1041,12 +1204,14 @@ does not exist during an attempt to writ (However, some hosts already delete the code that writes this bit, and the code may in fact be obsolete at this date.) ACPICA BZ 799. -Fixed a problem where AcpiTerminate could fault if inadvertently called twice +Fixed a problem where AcpiTerminate could fault if inadvertently called +twice in succession. ACPICA BZ 795. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1091,7 +1256,8 @@ been added - utilities/utids.c. ACPICA B Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit transfers. The Value parameter has been extended from 32 bits to 64 bits in -order to support new ACPI 4.0 tables. These changes will require an update to +order to support new ACPI 4.0 tables. These changes will require an update +to all callers of these interfaces. See the ACPICA Programmer Reference for details. ACPICA BZ 768. @@ -1119,7 +1285,8 @@ tree head. ACPICA BZ 776. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1143,7 +1310,8 @@ predefined names and control methods (31 1) ACPI CA Core Subsystem: Disabled the preservation of the SCI enable bit in the PM1 control register. -The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to be +The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to +be a "preserved" bit - "OSPM always preserves this bit position", section 4.7.3.2.1. However, some machines fail if this bit is in fact preserved because the bit needs to be explicitly set by the OS as a workaround. No @@ -1155,7 +1323,8 @@ incorrectly formed _PRT package could ca ensure that each package element is actually a sub-package. Implemented a new interface to install or override a single control method, -AcpiInstallMethod. This interface is useful when debugging in order to repair +AcpiInstallMethod. This interface is useful when debugging in order to +repair an existing method or to install a missing method without having to override the entire ACPI table. See the ACPICA Programmer Reference for use and examples. Lin Ming, Bob Moore. @@ -1169,7 +1338,8 @@ caller. Lin Ming. Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple mutexes of the same sync level are acquired but then not released in strict -opposite order, the internally maintained Current Sync Level becomes confused +opposite order, the internally maintained Current Sync Level becomes +confused and can cause subsequent execution errors. ACPICA BZ 471. Changed the allowable release order for ASL mutex objects. The ACPI 4.0 @@ -1192,7 +1362,8 @@ and reduced code for this frequently use Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1217,10 +1388,12 @@ Fixed a compatibility issue with the rec mechanism. For windows compatibility, 1) On a port protection violation, simply ignore the request and do not return an exception (allow the control method to continue execution.) 2) If only part of the request overlaps a -protected port, read/write the individual ports that are not protected. Linux +protected port, read/write the individual ports that are not protected. +Linux BZ 13036. Lin Ming -Enhanced the execution of the ASL/AML BreakPoint operator so that it actually +Enhanced the execution of the ASL/AML BreakPoint operator so that it +actually breaks into the AML debugger if the debugger is present. This matches the ACPI-defined behavior. @@ -1233,12 +1406,14 @@ ACPICA BZ 766, 767. Fixed a number of possible warnings when compiling with gcc 4+ (depending on warning options.) Examples include printf formats, aliasing, unused globals, missing prototypes, missing switch default statements, use of non-ANSI -library functions, use of non-ANSI constructs. See generate/unix/Makefile for +library functions, use of non-ANSI constructs. See generate/unix/Makefile +for a list of warning options used with gcc 3 and 4. ACPICA BZ 735. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1250,10 +1425,12 @@ much larger code and data size. 2) iASL Compiler/Disassembler and Tools: -iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings on +iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings +on the 64-bit build. -iASL: Fixed a problem where the Unix/Linux versions of the compiler could not +iASL: Fixed a problem where the Unix/Linux versions of the compiler could +not correctly digest Windows/DOS formatted files (with CR/LF). iASL: Added a new option for "quiet mode" (-va) that produces only the @@ -1281,8 +1458,10 @@ execute fully on Cygwin. 1) ACPI CA Core Subsystem: Fixed a possible race condition between AcpiWalkNamespace and dynamic table -unloads. Added a reader/writer locking mechanism to allow multiple concurrent -namespace walks (readers), but block a dynamic table unload until it can gain +unloads. Added a reader/writer locking mechanism to allow multiple +concurrent +namespace walks (readers), but block a dynamic table unload until it can +gain exclusive write access to the namespace. This fixes a problem where a table unload could (possibly catastrophically) delete the portion of the namespace that is currently being examined by a walk. Adds a new file, utlock.c, that @@ -1316,7 +1495,8 @@ performed on a per-field basis instead o Modified the handling of the PM1 Status Register ignored bit (bit 11.) Ignored bits must be "preserved" according to the ACPI spec. Usually, this means a read/modify/write when writing to the register. However, for status -registers, writing a one means clear the event. Writing a zero means preserve +registers, writing a one means clear the event. Writing a zero means +preserve the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec, and the ACPICA code now simply always writes a zero to the ignored bit. @@ -1356,7 +1536,8 @@ AcpiGetRegisterUnlocked function is no l This will improve performance for reads on these registers. ACPICA BZ 760. Fixed the parameter validation for AcpiRead/Write. Now return -AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS if +AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS +if the register has an address of zero. Previously, these cases simply returned AE_OK. For optional registers such as PM1B status/enable/control, the caller should check for a valid register address before calling. ACPICA BZ 748. @@ -1369,27 +1550,33 @@ and condensing duplicate code to reduce Added new functions to transparently handle the possibly split PM1 A/B registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions -now handle the split registers for PM1 Status, Enable, and Control. ACPICA BZ +now handle the split registers for PM1 Status, Enable, and Control. ACPICA +BZ 746. Added a function to handle the PM1 control registers, AcpiHwWritePm1Control. -This function writes both of the PM1 control registers (A/B). These registers +This function writes both of the PM1 control registers (A/B). These +registers are different than the PM1 A/B status and enable registers in that different values can be written to the A/B registers. Most notably, the SLP_TYP bits -can be different, as per the values returned from the _Sx predefined methods. +can be different, as per the values returned from the _Sx predefined +methods. Removed an extra register write within AcpiHwClearAcpiStatus. This function was writing an optional PM1B status register twice. The existing call to the low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B register. ACPICA BZ 751. -Split out the PM1 Status registers from the FADT. Added new globals for these +Split out the PM1 Status registers from the FADT. Added new globals for +these registers (A/B), similar to the way the PM1 Enable registers are handled. Instead of overloading the FADT Event Register blocks. This makes the code clearer and less prone to error. -Fixed the warning message for when the platform contains too many ACPI tables -for the default size of the global root table data structure. The calculation +Fixed the warning message for when the platform contains too many ACPI +tables +for the default size of the global root table data structure. The +calculation for the truncation value was incorrect. Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this @@ -1404,13 +1591,15 @@ Conditionally compile the AcpiSetFirmwar function is only needed on 64-bit host operating systems and is thus not included for 32-bit hosts. -Debug output: print the input and result for invocations of the _OSI reserved +Debug output: print the input and result for invocations of the _OSI +reserved control method via the ACPI_LV_INFO debug level. Also, reduced some of the verbosity of this debug level. Len Brown. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1435,7 +1624,8 @@ virtually every file in the ACPICA core the tools/utilities. Implemented a change to allow the host to override any ACPI table, including -dynamically loaded tables. Previously, only the DSDT could be replaced by the +dynamically loaded tables. Previously, only the DSDT could be replaced by +the host. With this change, the AcpiOsTableOverride interface is called for each table found in the RSDT/XSDT during ACPICA initialization, and also whenever a table is dynamically loaded via the AML Load operator. @@ -1448,7 +1638,8 @@ with the actual namespace entry which is Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a much larger code and data size. Previous Release: @@ -1494,7 +1685,8 @@ file, components/hardware/hwxface.c Enhanced the FADT parsing and low-level ACPI register access: The ACPI register lengths within the FADT are now used, and the low level ACPI register access no longer hardcodes the ACPI register lengths. Given that -there may be some risk in actually trusting the FADT register lengths, a run- +there may be some risk in actually trusting the FADT register lengths, a +run- time option was added to fall back to the default hardcoded lengths if the FADT proves to contain incorrect values - UseDefaultRegisterWidths. This option is set to true for now, and a warning is issued if a suspicious FADT @@ -1507,12 +1699,14 @@ Packages. Lin Ming. Added semaphore support to the Linux/Unix application OS-services layer (OSL). ACPICA BZ 448. Lin Ming. -Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes will +Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes +will be implemented in the OSL, or will binary semaphores be used instead. Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The -debug version of the code includes the debug output trace mechanism and has a +debug version of the code includes the debug output trace mechanism and has +a *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 02:08:24 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D18E51065697; Sat, 12 Feb 2011 02:08:24 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF7D38FC1B; Sat, 12 Feb 2011 02:08: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 p1C28O4W081425; Sat, 12 Feb 2011 02:08:24 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C28OfB081419; Sat, 12 Feb 2011 02:08:24 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201102120208.p1C28OfB081419@svn.freebsd.org> From: Juli Mallett Date: Sat, 12 Feb 2011 02:08: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: r218591 - in head/sys/mips: cavium include mips rmi sibyte X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 02:08:24 -0000 Author: jmallett Date: Sat Feb 12 02:08:24 2011 New Revision: 218591 URL: http://svn.freebsd.org/changeset/base/218591 Log: Allow the platform code to return a bitmask of running cores rather than just a number of cores, this allows for a sparse set of CPUs. Implement support for sparse core masks on Octeon. XXX jeff@ suggests that all_cpus should include cores that are offline or running other applications/OSes, so the platform API should be further extended to allow us to set all_cpus to include all cores that are physically-present as opposed to only those that are running FreeBSD. Submitted by: Bhanu Prakash (with modifications) Reviewed by: jchandra Glanced at by: kib, jeff, jhb Modified: head/sys/mips/cavium/octeon_mp.c head/sys/mips/include/hwfunc.h head/sys/mips/mips/mp_machdep.c head/sys/mips/rmi/xlr_machdep.c head/sys/mips/sibyte/sb_scd.c Modified: head/sys/mips/cavium/octeon_mp.c ============================================================================== --- head/sys/mips/cavium/octeon_mp.c Sat Feb 12 01:03:15 2011 (r218590) +++ head/sys/mips/cavium/octeon_mp.c Sat Feb 12 02:08:24 2011 (r218591) @@ -102,10 +102,10 @@ platform_init_ap(int cpuid) mips_wbflush(); } -int -platform_num_processors(void) +cpumask_t +platform_cpu_mask(void) { - return (bitcount32(octeon_bootinfo->core_mask)); + return (octeon_bootinfo->core_mask); } struct cpu_group * Modified: head/sys/mips/include/hwfunc.h ============================================================================== --- head/sys/mips/include/hwfunc.h Sat Feb 12 01:03:15 2011 (r218590) +++ head/sys/mips/include/hwfunc.h Sat Feb 12 02:08:24 2011 (r218591) @@ -89,9 +89,9 @@ void platform_ipi_clear(void); extern int platform_processor_id(void); /* - * Return the number of processors available on this platform. + * Return the cpumask of available processors. */ -extern int platform_num_processors(void); +extern cpumask_t platform_cpu_mask(void); /* * Return the topology of processors on this platform Modified: head/sys/mips/mips/mp_machdep.c ============================================================================== --- head/sys/mips/mips/mp_machdep.c Sat Feb 12 01:03:15 2011 (r218590) +++ head/sys/mips/mips/mp_machdep.c Sat Feb 12 02:08:24 2011 (r218591) @@ -200,12 +200,14 @@ start_ap(int cpuid) void cpu_mp_setmaxid(void) { + cpumask_t cpumask; - mp_ncpus = platform_num_processors(); + cpumask = platform_cpu_mask(); + mp_ncpus = bitcount32(cpumask); if (mp_ncpus <= 0) mp_ncpus = 1; - mp_maxid = min(mp_ncpus, MAXCPU) - 1; + mp_maxid = min(fls(cpumask), MAXCPU) - 1; } void @@ -231,24 +233,30 @@ void cpu_mp_start(void) { int error, cpuid; + cpumask_t cpumask; mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); - all_cpus = 1; /* BSP */ - for (cpuid = 1; cpuid < platform_num_processors(); ++cpuid) { + all_cpus = 0; + cpumask = platform_cpu_mask(); + + while (cpumask != 0) { + cpuid = ffs(cpumask) - 1; + cpumask &= ~(1 << cpuid); + if (cpuid >= MAXCPU) { printf("cpu_mp_start: ignoring AP #%d.\n", cpuid); continue; } - if ((error = start_ap(cpuid)) != 0) { - printf("AP #%d failed to start: %d\n", cpuid, error); - continue; + if (cpuid != platform_processor_id()) { + if ((error = start_ap(cpuid)) != 0) { + printf("AP #%d failed to start: %d\n", cpuid, error); + continue; + } + if (bootverbose) + printf("AP #%d started!\n", cpuid); } - - if (bootverbose) - printf("AP #%d started!\n", cpuid); - all_cpus |= 1 << cpuid; } Modified: head/sys/mips/rmi/xlr_machdep.c ============================================================================== --- head/sys/mips/rmi/xlr_machdep.c Sat Feb 12 01:03:15 2011 (r218590) +++ head/sys/mips/rmi/xlr_machdep.c Sat Feb 12 02:08:24 2011 (r218591) @@ -614,11 +614,11 @@ platform_processor_id(void) return (xlr_hwtid_to_cpuid[xlr_cpu_id()]); } -int -platform_num_processors(void) +cpumask_t +platform_cpu_mask(void) { - return (xlr_ncores * xlr_threads_per_core); + return (~0U >> (32 - (xlr_ncores * xlr_threads_per_core))); } struct cpu_group * Modified: head/sys/mips/sibyte/sb_scd.c ============================================================================== --- head/sys/mips/sibyte/sb_scd.c Sat Feb 12 01:03:15 2011 (r218590) +++ head/sys/mips/sibyte/sb_scd.c Sat Feb 12 02:08:24 2011 (r218591) @@ -242,11 +242,11 @@ sb_clear_mailbox(int cpu, uint64_t val) sb_store64(regaddr, val); } -int -platform_num_processors(void) +cpumask_t +platform_cpu_mask(void) { - return (SYSREV_NUM_PROCESSORS(sb_read_sysrev())); + return (~0U >> (32 - SYSREV_NUM_PROCESSORS(sb_read_sysrev()))); } #endif /* SMP */ From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 02:10:08 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 904F6106566C; Sat, 12 Feb 2011 02:10:08 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7F4B88FC08; Sat, 12 Feb 2011 02:10: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 p1C2A8Rl081501; Sat, 12 Feb 2011 02:10:08 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C2A8Ej081499; Sat, 12 Feb 2011 02:10:08 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201102120210.p1C2A8Ej081499@svn.freebsd.org> From: Juli Mallett Date: Sat, 12 Feb 2011 02:10: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: r218592 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 02:10:08 -0000 Author: jmallett Date: Sat Feb 12 02:10:08 2011 New Revision: 218592 URL: http://svn.freebsd.org/changeset/base/218592 Log: Use CPU_FOREACH rather than expecting CPUs 0 through mp_ncpus-1 to be present. Don't micro-optimize the uniprocessor case; use the same loop there. Submitted by: Bhanu Prakash Reviewed by: kib, jhb Modified: head/sys/vm/vm_meter.c Modified: head/sys/vm/vm_meter.c ============================================================================== --- head/sys/vm/vm_meter.c Sat Feb 12 02:08:24 2011 (r218591) +++ head/sys/vm/vm_meter.c Sat Feb 12 02:10:08 2011 (r218592) @@ -254,16 +254,12 @@ vcnt(SYSCTL_HANDLER_ARGS) { int count = *(int *)arg1; int offset = (char *)arg1 - (char *)&cnt; -#ifdef SMP int i; - for (i = 0; i < mp_ncpus; ++i) { + CPU_FOREACH(i) { struct pcpu *pcpu = pcpu_find(i); count += *(int *)((char *)&pcpu->pc_cnt + offset); } -#else - count += *(int *)((char *)PCPU_PTR(cnt) + offset); -#endif return (SYSCTL_OUT(req, &count, sizeof(int))); } From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 02:14:19 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA8AD106564A; Sat, 12 Feb 2011 02:14:19 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ADD0F8FC19; Sat, 12 Feb 2011 02:14:19 +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 p1C2EJlC081633; Sat, 12 Feb 2011 02:14:19 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C2EJHv081629; Sat, 12 Feb 2011 02:14:19 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102120214.p1C2EJHv081629@svn.freebsd.org> From: Adrian Chadd Date: Sat, 12 Feb 2011 02:14:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218593 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 02:14:20 -0000 Author: adrian Date: Sat Feb 12 02:14:19 2011 New Revision: 218593 URL: http://svn.freebsd.org/changeset/base/218593 Log: The current code used the fields in ath_set11nratescenario() . Use them correctly: * pass in whether to allow the hardware to override the duration field in the main data frame (durupdate_en) - PS_POLL frames in particular don't have the duration bit overriden; * there's no rts/cts duration here; that's done elsehwere Modified: head/sys/dev/ath/if_ath_tx.c head/sys/dev/ath/if_ath_tx_ht.c head/sys/dev/ath/if_ath_tx_ht.h Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Sat Feb 12 02:10:08 2011 (r218592) +++ head/sys/dev/ath/if_ath_tx.c Sat Feb 12 02:14:19 2011 (r218593) @@ -812,7 +812,7 @@ ath_tx_start(struct ath_softc *sc, struc } if (ath_tx_is_11n(sc)) { - ath_buf_set_rate(sc, ni, bf, pktlen, flags, ctsrate, rate, try); + ath_buf_set_rate(sc, ni, bf, pktlen, flags, ctsrate, (atype == HAL_PKT_TYPE_PSPOLL), rate, try); } ath_tx_handoff(sc, txq, bf); @@ -998,7 +998,7 @@ ath_tx_raw_start(struct ath_softc *sc, s * notice that rix doesn't include any of the "magic" flags txrate * does for communicating "other stuff" to the HAL. */ - ath_buf_set_rate(sc, ni, bf, pktlen, flags, ctsrate, rate, try); + ath_buf_set_rate(sc, ni, bf, pktlen, flags, ctsrate, (atype == HAL_PKT_TYPE_PSPOLL), rate, try); } /* NB: no buffered multicast in power save support */ Modified: head/sys/dev/ath/if_ath_tx_ht.c ============================================================================== --- head/sys/dev/ath/if_ath_tx_ht.c Sat Feb 12 02:10:08 2011 (r218592) +++ head/sys/dev/ath/if_ath_tx_ht.c Sat Feb 12 02:14:19 2011 (r218593) @@ -168,7 +168,7 @@ ath_rateseries_print(HAL_11N_RATE_SERIES void ath_buf_set_rate(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf, - int pktlen, int flags, uint8_t ctsrate, uint8_t *rix, uint8_t *try) + int pktlen, int flags, uint8_t ctsrate, int is_pspoll, uint8_t *rix, uint8_t *try) { HAL_11N_RATE_SERIES series[4]; struct ath_desc *ds = bf->bf_desc; @@ -189,8 +189,9 @@ ath_buf_set_rate(struct ath_softc *sc, s /* Set rate scenario */ ath_hal_set11nratescenario(ah, ds, + !is_pspoll, /* whether to override the duration or not */ + /* don't allow hardware to override the duration on ps-poll packets */ ctsrate, /* rts/cts rate */ - 0, /* rts/cts duration */ series, /* 11n rate series */ 4, /* number of series */ flags); Modified: head/sys/dev/ath/if_ath_tx_ht.h ============================================================================== --- head/sys/dev/ath/if_ath_tx_ht.h Sat Feb 12 02:10:08 2011 (r218592) +++ head/sys/dev/ath/if_ath_tx_ht.h Sat Feb 12 02:14:19 2011 (r218593) @@ -33,7 +33,7 @@ extern void ath_buf_set_rate(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf, - int pktlen, int flags, uint8_t ctsrate, uint8_t *rix, - uint8_t *try); + int pktlen, int flags, uint8_t ctsrate, int is_pspoll, + uint8_t *rix, uint8_t *try); #endif From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 02:41:33 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 802B1106564A; Sat, 12 Feb 2011 02:41:33 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 53E728FC14; Sat, 12 Feb 2011 02:41: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 p1C2fXTZ082320; Sat, 12 Feb 2011 02:41:33 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C2fXPb082317; Sat, 12 Feb 2011 02:41:33 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201102120241.p1C2fXPb082317@svn.freebsd.org> From: Juli Mallett Date: Sat, 12 Feb 2011 02:41: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: r218594 - in head/sys/mips/cavium: . octe X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 02:41:33 -0000 Author: jmallett Date: Sat Feb 12 02:41:33 2011 New Revision: 218594 URL: http://svn.freebsd.org/changeset/base/218594 Log: The Lanner MR-730 uses the first two MACs at its MAC base for the 10/100 management ports, and gigabit ports start at an offset of 2 from the MAC base. Modified: head/sys/mips/cavium/if_octm.c head/sys/mips/cavium/octe/ethernet-common.c Modified: head/sys/mips/cavium/if_octm.c ============================================================================== --- head/sys/mips/cavium/if_octm.c Sat Feb 12 02:14:19 2011 (r218593) +++ head/sys/mips/cavium/if_octm.c Sat Feb 12 02:41:33 2011 (r218594) @@ -64,6 +64,8 @@ #include #include +extern cvmx_bootinfo_t *octeon_bootinfo; + struct octm_softc { struct ifnet *sc_ifp; device_t sc_dev; @@ -173,10 +175,27 @@ octm_attach(device_t dev) return (ENXIO); } - mac = cvmx_mgmt_port_get_mac(sc->sc_port); - if (mac == CVMX_MGMT_PORT_GET_MAC_ERROR) { - device_printf(dev, "unable to read MAC.\n"); - return (ENXIO); + switch (cvmx_sysinfo_get()->board_type) { +#if defined(OCTEON_VENDOR_LANNER) + case CVMX_BOARD_TYPE_CUST_LANNER_MR730: + /* + * The MR-730 uses its first two MACs for the management + * ports. + */ + mac = 0; + memcpy((u_int8_t *)&mac + 2, octeon_bootinfo->mac_addr_base, + 6); + mac += sc->sc_port; + cvmx_mgmt_port_set_mac(sc->sc_port, mac); + break; +#endif + default: + mac = cvmx_mgmt_port_get_mac(sc->sc_port); + if (mac == CVMX_MGMT_PORT_GET_MAC_ERROR) { + device_printf(dev, "unable to read MAC.\n"); + return (ENXIO); + } + break; } /* No watermark for input ring. */ Modified: head/sys/mips/cavium/octe/ethernet-common.c ============================================================================== --- head/sys/mips/cavium/octe/ethernet-common.c Sat Feb 12 02:14:19 2011 (r218593) +++ head/sys/mips/cavium/octe/ethernet-common.c Sat Feb 12 02:41:33 2011 (r218594) @@ -279,6 +279,20 @@ int cvm_oct_common_init(struct ifnet *if octeon_bootinfo->mac_addr_base[5] + count}; cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; + switch (cvmx_sysinfo_get()->board_type) { +#if defined(OCTEON_VENDOR_LANNER) + case CVMX_BOARD_TYPE_CUST_LANNER_MR730: + /* + * The MR-730 uses its first two MACs for the management + * ports. + */ + mac[5] += 2; + break; +#endif + default: + break; + } + ifp->if_mtu = ETHERMTU; count++; From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 06:22:23 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F5A6106564A; Sat, 12 Feb 2011 06:22:23 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D1908FC17; Sat, 12 Feb 2011 06:22:23 +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 p1C6MNtU087402; Sat, 12 Feb 2011 06:22:23 GMT (envelope-from nyan@svn.freebsd.org) Received: (from nyan@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C6MNIx087400; Sat, 12 Feb 2011 06:22:23 GMT (envelope-from nyan@svn.freebsd.org) Message-Id: <201102120622.p1C6MNIx087400@svn.freebsd.org> From: Takahashi Yoshihiro Date: Sat, 12 Feb 2011 06:22:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218595 - head/sys/boot/pc98/pc98boot X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 06:22:23 -0000 Author: nyan Date: Sat Feb 12 06:22:23 2011 New Revision: 218595 URL: http://svn.freebsd.org/changeset/base/218595 Log: Fix build. Modified: head/sys/boot/pc98/pc98boot/Makefile Modified: head/sys/boot/pc98/pc98boot/Makefile ============================================================================== --- head/sys/boot/pc98/pc98boot/Makefile Sat Feb 12 02:41:33 2011 (r218594) +++ head/sys/boot/pc98/pc98boot/Makefile Sat Feb 12 06:22:23 2011 (r218595) @@ -1,14 +1,22 @@ # $FreeBSD$ FILES= ${BOOT} -SRCS= ${BOOT0} ${BOOT05} CLEANFILES= ${BOOT} ${BOOT}.part BOOT= pc98boot + +.if exists(${.OBJDIR}/../boot0) +BOOT0= ${.OBJDIR}/../boot0/boot0 +.else BOOT0= ${.CURDIR}/../boot0/boot0 +.endif +.if exists(${.OBJDIR}/../boot0.5) +BOOT05= ${.OBJDIR}/../boot0.5/boot0.5 +.else BOOT05= ${.CURDIR}/../boot0.5/boot0.5 +.endif -${BOOT}: ${SRCS} ${BOOT}.part +${BOOT}: ${BOOT0} ${BOOT05} ${BOOT}.part cat ${BOOT0} ${BOOT}.part ${BOOT05} > ${.TARGET} ${BOOT}.part: From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 07:06:40 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7243E1065670; Sat, 12 Feb 2011 07:06:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 55CD88FC08; Sat, 12 Feb 2011 07:06: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 p1C76esl088430; Sat, 12 Feb 2011 07:06:40 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C76eLP088428; Sat, 12 Feb 2011 07:06:40 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201102120706.p1C76eLP088428@svn.freebsd.org> From: Alexander Motin Date: Sat, 12 Feb 2011 07:06: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: r218596 - head/sys/dev/ahci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 07:06:40 -0000 Author: mav Date: Sat Feb 12 07:06:40 2011 New Revision: 218596 URL: http://svn.freebsd.org/changeset/base/218596 Log: Disable NCQ for multiport Marvell 88SX61XX SATA controllers. Simultaneous active I/O to several disks (copying large file on ZFS) causes timeout after just a few seconds of run. Single port 88SX6111 seems like not affected. Skip reading transferred bytes count for these controllers. It works for 88SX6111, but 88SX6145 always returns zero there. Haven't tested others, but better to be safe. Modified: head/sys/dev/ahci/ahci.c Modified: head/sys/dev/ahci/ahci.c ============================================================================== --- head/sys/dev/ahci/ahci.c Sat Feb 12 06:22:23 2011 (r218595) +++ head/sys/dev/ahci/ahci.c Sat Feb 12 07:06:40 2011 (r218596) @@ -114,6 +114,7 @@ static struct { #define AHCI_Q_SATA2 128 #define AHCI_Q_NOBSYRES 256 #define AHCI_Q_NOAA 512 +#define AHCI_Q_NOCOUNT 1024 } ahci_ids[] = { {0x43801002, 0x00, "ATI IXP600", 0}, {0x43901002, 0x00, "ATI IXP700", 0}, @@ -161,19 +162,19 @@ static struct { {0x1c038086, 0x00, "Intel Cougar Point", 0}, {0x1c048086, 0x00, "Intel Cougar Point", 0}, {0x1c058086, 0x00, "Intel Cougar Point", 0}, - {0x23238086, 0x00, "Intel DH89xxCC", 0}, - {0x1d028086, 0x00, "Intel Patsburg", 0}, - {0x1d048086, 0x00, "Intel Patsburg", 0}, - {0x1d068086, 0x00, "Intel Patsburg", 0}, {0x2361197b, 0x00, "JMicron JMB361", AHCI_Q_NOFORCE}, {0x2363197b, 0x00, "JMicron JMB363", AHCI_Q_NOFORCE}, {0x2365197b, 0x00, "JMicron JMB365", AHCI_Q_NOFORCE}, {0x2366197b, 0x00, "JMicron JMB366", AHCI_Q_NOFORCE}, {0x2368197b, 0x00, "JMicron JMB368", AHCI_Q_NOFORCE}, - {0x611111ab, 0x00, "Marvell 88SX6111", AHCI_Q_NOFORCE|AHCI_Q_1CH|AHCI_Q_EDGEIS}, - {0x612111ab, 0x00, "Marvell 88SX6121", AHCI_Q_NOFORCE|AHCI_Q_2CH|AHCI_Q_EDGEIS}, - {0x614111ab, 0x00, "Marvell 88SX6141", AHCI_Q_NOFORCE|AHCI_Q_4CH|AHCI_Q_EDGEIS}, - {0x614511ab, 0x00, "Marvell 88SX6145", AHCI_Q_NOFORCE|AHCI_Q_4CH|AHCI_Q_EDGEIS}, + {0x611111ab, 0x00, "Marvell 88SX6111", AHCI_Q_NOFORCE | AHCI_Q_1CH | + AHCI_Q_EDGEIS}, + {0x612111ab, 0x00, "Marvell 88SX6121", AHCI_Q_NOFORCE | AHCI_Q_2CH | + AHCI_Q_EDGEIS | AHCI_Q_NONCQ | AHCI_Q_NOCOUNT}, + {0x614111ab, 0x00, "Marvell 88SX6141", AHCI_Q_NOFORCE | AHCI_Q_4CH | + AHCI_Q_EDGEIS | AHCI_Q_NONCQ | AHCI_Q_NOCOUNT}, + {0x614511ab, 0x00, "Marvell 88SX6145", AHCI_Q_NOFORCE | AHCI_Q_4CH | + AHCI_Q_EDGEIS | AHCI_Q_NONCQ | AHCI_Q_NOCOUNT}, {0x91231b4b, 0x11, "Marvell 88SE912x", AHCI_Q_NOBSYRES}, {0x91231b4b, 0x00, "Marvell 88SE912x", AHCI_Q_EDGEIS|AHCI_Q_SATA2|AHCI_Q_NOBSYRES}, {0x06201103, 0x00, "HighPoint RocketRAID 620", AHCI_Q_NOBSYRES}, @@ -1908,12 +1909,14 @@ ahci_end_transaction(struct ahci_slot *s } else bzero(res, sizeof(*res)); if ((ccb->ataio.cmd.flags & CAM_ATAIO_FPDMA) == 0 && - (ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { + (ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE && + (ch->quirks & AHCI_Q_NOCOUNT) == 0) { ccb->ataio.resid = ccb->ataio.dxfer_len - le32toh(clp->bytecount); } } else { - if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE && + (ch->quirks & AHCI_Q_NOCOUNT) == 0) { ccb->csio.resid = ccb->csio.dxfer_len - le32toh(clp->bytecount); } From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 08:29:17 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B043106566C; Sat, 12 Feb 2011 08:29:17 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E30218FC14; Sat, 12 Feb 2011 08:29:16 +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 p1C8TGVR090341; Sat, 12 Feb 2011 08:29:16 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C8TGH7090339; Sat, 12 Feb 2011 08:29:16 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201102120829.p1C8TGH7090339@svn.freebsd.org> From: Hiroki Sato Date: Sat, 12 Feb 2011 08:29:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218597 - releng/8.2/release/doc/share/sgml X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 08:29:17 -0000 Author: hrs Date: Sat Feb 12 08:29:16 2011 New Revision: 218597 URL: http://svn.freebsd.org/changeset/base/218597 Log: Add revision attribute handling. Links are now generated at the end of the paragraph from revision="NNN". Approved by: re (implicit) Modified: releng/8.2/release/doc/share/sgml/release.dsl Modified: releng/8.2/release/doc/share/sgml/release.dsl ============================================================================== --- releng/8.2/release/doc/share/sgml/release.dsl Sat Feb 12 07:06:40 2011 (r218596) +++ releng/8.2/release/doc/share/sgml/release.dsl Sat Feb 12 08:29:16 2011 (r218597) @@ -209,6 +209,7 @@ (normalize "footnote"))) (tgroup (have-ancestor? (normalize "tgroup"))) (arch (attribute-string (normalize "arch"))) + (rev (attribute-string (normalize "revision"))) (role (attribute-string (normalize "role"))) (arch-string (entity-text "arch")) (merged-string (entity-text "merged"))) @@ -219,28 +220,46 @@ (list (list "ALIGN" %default-quadding%)) '())) (make sequence - (cond - ;; If arch= not specified, then print unconditionally. This clause - ;; handles the majority of cases. - ((or (equal? arch #f) - (equal? arch "") - (equal? arch "all")) - (process-children)) - (else - (sosofo-append - (make sequence - (literal "[") - (let loop ((prev (car (split-string-to-list arch))) - (rest (cdr (split-string-to-list arch)))) - (make sequence - (literal prev) - (if (not (null? rest)) - (make sequence - (literal ", ") - (loop (car rest) (cdr rest))) - (empty-sosofo)))) - (literal "] ") - (process-children))))) + (sosofo-append + (if (and (not (equal? arch #f)) + (not (equal? arch "")) + (not (equal? arch "all"))) + (make sequence + (literal "[") + (let loop ((prev (car (split-string-to-list arch))) + (rest (cdr (split-string-to-list arch)))) + (make sequence + (literal prev) + (if (not (null? rest)) + (make sequence + (literal ", ") + (loop (car rest) (cdr rest))) + (empty-sosofo)))) + (literal "] ")) + (empty-sosofo)) + (process-children) + (if (and (not (equal? rev #f)) + (not (equal? rev ""))) + (make sequence + (literal "[") + (let loop ((prev (car (split-string-to-list rev))) + (rest (cdr (split-string-to-list rev)))) + (make sequence + (make element gi: "A" + attributes: (list + (list "HREF" (string-append + "http://svn.freebsd.org/viewvc/base?view=revision&revision=" + prev)) + (list "TARGET" "_top")) + (literal "r") + (literal prev)) + (if (not (null? rest)) + (make sequence + (literal ", ") + (loop (car rest) (cdr rest))) + (empty-sosofo)))) + (literal "] ")) + (empty-sosofo))) (if (and (not (null? role)) (equal? role "merged")) (literal " [" merged-string "]") (empty-sosofo)) From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 08:51:06 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6189106564A; Sat, 12 Feb 2011 08:51:06 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 92B328FC16; Sat, 12 Feb 2011 08:51: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 p1C8p6jv090869; Sat, 12 Feb 2011 08:51:06 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C8p6Re090867; Sat, 12 Feb 2011 08:51:06 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201102120851.p1C8p6Re090867@svn.freebsd.org> From: Hiroki Sato Date: Sat, 12 Feb 2011 08:51:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218598 - releng/8.2/release/doc/en_US.ISO8859-1/relnotes X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 08:51:06 -0000 Author: hrs Date: Sat Feb 12 08:51:06 2011 New Revision: 218598 URL: http://svn.freebsd.org/changeset/base/218598 Log: - FreeBSD/mips Netlogic Microsystems XLR, XLS multicore support[1], - kern_fpu_{enter,leave}() that allow to use XMM register in kernel[2], - PT_LWPINFO request in ptrace(2) improved[2], - rewording and s/pwc/pwcbsd/ in a video4linux entry[3], - s//has been fixed/ in an alc(4) entry[4], - bge(4) BCM6906 typo fix[5], - bge(4) MAC statistics support[5], - s/lead/lead to/ typo fix in a bge(4) entry[6], - more NICs in the flow control improvement[7], - rl(4) and re(4) typo fix[5], - run(4) entry removal[8], - s/altq/alq/ typo fix[9], - s/now/new/ typo fix[10], - ata(4) cable check rewording[10], - ata(4) SATA power management with ATA_CAM[10], - ata(4) ICH5 and ICH8+ in legacy mode improvement[10], - s,/para>,, typo fix[11], - s/passphrease/passphrase/ typo fix[12], - s/globing/globbing/ typo fix[12], - s/-u nounset/-u/ rewording[13], - tr(1) [=]=] equivalent class rewording[14]. Approved by: re (implicit) Reviewed and suggested by: kib[2], mav[10], hselasky, imp, jmallett, yongari[5], bcr[11], brix[11], manolis[3], brucec[3], Jayachandran C.[1], jilles[13], ohauer[4,14], pluknet[8,9], lme[3,4,6,11,12], marius[7], and swills[11] Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Sat Feb 12 08:29:16 2011 (r218597) +++ releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Sat Feb 12 08:51:06 2011 (r218598) @@ -179,6 +179,9 @@ improved. It now supports SMP on a SWARM with a dual-core Sibyte processor. + &os;/mips now supports Netlogic Microsystems' + XLR and XLS multi-core processor families. + &os;/sparc64 now supports reservation-based physical memory allocation which provides better performance. @@ -198,10 +201,11 @@ ACPI suspend/resume functionality support has been improved. - The qpi(4) pseudo bus - driver has been added. This supports extra PCI buses on Intel - QPI chipsets where various hardware such as memory controllers - for each socket is connected. + &os; kernel now + supports kern_fpu_enter() and + kern_fpu_leave() KPIs which allow the + kernel subsystems to use XMM register files used in Intel SSE + (Streaming SIMD Extensions). The &man.acpi.4; driver now uses ACPI Reset Register capability by default only @@ -257,6 +261,14 @@ allocated memories over a longer time. For more details, see &man.memguard.9; manual page. + PT_LWPINFO request to + obtain information about the kernel thread that caused the + traced process to stop in the &man.ptrace.2; process tracing + and debugging facility has been improved. It now reports + system call entry and leave events, as well as availability of + siginfo_t accompanying the reported + signal. + The &os; &man.crypto.4; framework (opencrypto) now supports XTS-AES (XEX-TCB-CTS, or XEX-based Tweaked Code Book mode with CipherText Stealing), which is @@ -266,6 +278,11 @@ &os;/amd64 kernel has been improved. For more details, see &man.xen.4; manual page. + The qpi(4) pseudo bus + driver has been added. This supports extra PCI buses on Intel + QPI chipsets where various hardware such as memory controllers + for each socket is connected. + Boot Loader Changes @@ -324,9 +341,9 @@ The &os; Linux emulation subsystem now supports video4linux API. This requires native video4linux - hardware drivers such as ones whichmultimedia/pwc and multimedia/webcamd provide. + hardware drivers such as the ones provided by multimedia/pwcbsd and multimedia/webcamd. MIDI input buffer size in the &man.uaudio.4; driver has been changed. This fixes a @@ -347,8 +364,8 @@ A bug in the &man.alc.4; driver which can lead to a system freeze when the system is - booted without a cable plugged in. The symptom was found - in AR8132 on EEE PC. + booted without a cable plugged in has been fixed. The + symptom was found in AR8132 on EEE PC. The TX interrupt moderation timer in the &man.alc.4; driver has been reduced from 50ms to 1ms. @@ -376,8 +393,16 @@ offloading has been fixed. Some improvements for reliability of - the &man.bge.4; driver with BCM5906 or BCM6906 controller - has been added. + the &man.bge.4; driver with BCM5906 controller has been + added. + + The &man.bge.4; driver now supports + hardware MAC statistics in controller's internal memory + for BCM5705 or newer Broadcom controllers. These counters + can be accessed via &man.sysctl.8; variable + dev.bge.N.stats.* + and provide useful information to diagnose driver + issues. UDP checksum offloading in the &man.bge.4; driver has been disabled by default. This is @@ -390,7 +415,7 @@ dev.bge.N.forced_udpcsum A bug in the &man.bge.4; driver - which can lead poor performance on a system with RAM + which can lead to poor performance on a system with RAM larger than 4GB has been fixed. The cause was that all of Broadcom controllers except for BCM5755 and later has 4GB boundary DMA bug and the inefficient use of bounce @@ -461,15 +486,17 @@ 82599, better interrupt handling, hardware assist to LRO, VM SRIOV interface, and so on. - The + The &man.miibus.4; has been rewritten for the generic IEEE 802.3 annex 31B full duplex flow control support. The - &man.alc.4; &man.bge.4;, &man.bce.4;, &man.jme.4;, - &man.msk.4;, &man.nfe.4;, &man.re.4;, and &man.stge.4; - drivers along with brgphy(4), e1000phy(4), ip1000phy(4), - atphy(4), bmtphy(4), gentbi(4), inphy(4), jmphy(4), + &man.alc.4;, &man.bge.4;, &man.bce.4;, &man.cas.4;, + &man.fxp.4;, &man.gem.4;, &man.jme.4;, &man.msk.4;, + &man.nfe.4;, &man.re.4;, &man.stge.4;, and &man.xl.4; + drivers along with atphy(4), bmtphy(4), brgphy(4), + e1000phy(4), gentbi(4), inphy(4), ip1000phy(4), jmphy(4), nsgphy(4), nsphyter(4), and &man.rgephy.4; have been - updated to support flow control via this facility./para> + updated to support flow control via this facility. The &man.mwlfw.4; driver is now also provided as a kernel module. @@ -486,7 +513,7 @@ The &man.re.4; driver now supports hardware interrupt moderation of TX completion interrupt - on RTL8169/RTL8169 controllers. + on RTL8169/RTL8168 controllers. The &man.rl.4; driver now supports WoL (Wake on LAN) on RTL8139B or newer controllers. @@ -494,7 +521,7 @@ The &man.rl.4; driver now supports reading hardware statistics counters by setting a &man.sysctl.8; variable - dev.re.N.stats + dev.rl.N.stats to 1. The &man.rl.4; driver now supports a @@ -514,10 +541,6 @@ improved on interrupt handling. It now has better TX performance under high RX load. - The &man.run.4; driver, which is - from OpenBSD and supports Ralink RT2700U/RT2800U/RT3000U - USB 802.11agn devices has been added. - A bug in the &man.sk.4; driver has been fixed. It did not program the station address for Yukon controllers and overriding the station address with @@ -568,8 +591,9 @@ Network Protocols - The &man.altq.4; support is now provided - as a kernel module alq.ko. + The &man.alq.9; support is now + provided as a kernel module + alq.ko. A bug in the &man.ipfw.4; packet filter subsystem has been fixed. The &man.sysctl.8; @@ -681,7 +705,7 @@ has been updated to version 1.20.00.19. The &man.ada.4; driver now supports a - now &man.sysctl.8; variable + new &man.sysctl.8; variable kern.cam.ada.spindown_shutdown which controls whether or not to spin-down disks when shutting down if the device supports the functionality. The default @@ -696,11 +720,25 @@ The valid values are the same as ones supported in the &man.atacontrol.8; and &man.camcontrol.8;. - The &man.ata.4; driver - now enables cable status check on both of controller and - device side when + The &man.ata.4; driver now disables + cable status check on both of controller and device side + when the loader tunable hw.ata.ata_dma_check_80pin is - enabled. + 0. The check on controller side was + performed regardless of this loader tunable. + + The &man.ata.4; driver now reports + SATA power management capabilities to &man.CAM.4; layer when + is enabled. This allows a device + to initiate transitions if controller configured to accept + it. This makes + hint.ata.N.pm_level=1 + mode work. + + The &man.ata.4; driver has been + improved on hotplugging and connection speed reporting + support for some Intel SATA controllers including ICH5 and + ICH8+ operating in legacy mode. An issue of device detection of Serverworks K2 SATA controllers in the &man.ata.4; has been fixed. @@ -865,7 +903,7 @@ The &man.geli.8; utility now supports resize subcommand to resize encrypted file - systems prior to growing it + systems prior to growing it. The &man.geli.8; utility now supports suspend and resume @@ -885,7 +923,7 @@ The &man.geli.8; utility now supports and - options for loading passphrease from a file. + options for loading passphrase from a file. The gethost*(), getnet*(), and @@ -933,7 +971,7 @@ Any changes to the corrupted GPT table is not allowed except for destroy and - recover subcommands./para> + recover subcommands. The &man.gpart.8; utility now supports GPT_ENT_ATTR_BOOTME, @@ -1008,7 +1046,7 @@ The &man.newsyslog.8; utility now supports a special log file name <include> for processing file - inclusion. Globing in the file name and circular dependency + inclusion. Globbing in the file name and circular dependency detection are supported. For more details, see &man.newsyslog.conf.5; manual page. @@ -1052,10 +1090,10 @@ hostnames longer than 12 characters. A behavior of the &man.sh.1; program - when an option is specified has - been changed. The special parameters $@ - and $* no longer cause an error when there - are no positional parameters. + when an option is specified has been + changed. The special parameters $@ and + $* no longer cause an error when there are + no positional parameters. A bug in the &man.sh.1; program has been fixed. A SIGINT signal is now passed @@ -1082,7 +1120,9 @@ A bug in [=]=] equivalent class handling in the &man.tr.1; utility has been - fixed. + fixed. A closing bracket immediately after + [= was incorrectly treated as + special. The &man.uname.1; utility now supports an flag as a synonym for the @@ -1135,18 +1175,19 @@ OpenSSL has been updated to version 0.9.8q. - The timezone database has been updated to the - tzdata2010o release. + The timezone database has been + updated to the tzdata2010o + release. - xz has been updated from - snapshot as of 12 April 2010 to 5.0.0 release + The xz program has been updated + from snapshot as of 12 April 2010 to 5.0.0 release Ports/Packages Collection Infrastructure - The &man.pkg.create.1; utility now supports - xz compression. Note that the + The &man.pkg.create.1; utility now supports LZMA + (xz) compression. Note that the default is still bzip2. From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 09:12:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D7CA1065670; Sat, 12 Feb 2011 09:12:11 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5BB098FC15; Sat, 12 Feb 2011 09:12: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 p1C9CBVB091375; Sat, 12 Feb 2011 09:12:11 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1C9CBkE091373; Sat, 12 Feb 2011 09:12:11 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201102120912.p1C9CBkE091373@svn.freebsd.org> From: Hiroki Sato Date: Sat, 12 Feb 2011 09:12:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218599 - releng/8.2/release/doc/en_US.ISO8859-1/relnotes X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 09:12:11 -0000 Author: hrs Date: Sat Feb 12 09:12:11 2011 New Revision: 218599 URL: http://svn.freebsd.org/changeset/base/218599 Log: s/9.6-ESV-R4/9.6-ESV-R3/. Spotted by: dougb Approved by: re (implicit) Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Modified: releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Sat Feb 12 08:51:06 2011 (r218598) +++ releng/8.2/release/doc/en_US.ISO8859-1/relnotes/article.sgml Sat Feb 12 09:12:11 2011 (r218599) @@ -1167,7 +1167,7 @@ to version 1.5.2. ISC BIND has been updated to - version 9.6-ESV-R4. + version 9.6-ESV-R3. netcat has been updated to version 4.8. From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 12:46:01 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E7131065670; Sat, 12 Feb 2011 12:46:01 +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 528C58FC0C; Sat, 12 Feb 2011 12:46:01 +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 p1CCk1ud001917; Sat, 12 Feb 2011 12:46:01 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CCk1Ks001915; Sat, 12 Feb 2011 12:46:01 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102121246.p1CCk1Ks001915@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 12 Feb 2011 12:46:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218601 - head/lib/libufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 12:46:01 -0000 Author: kib Date: Sat Feb 12 12:46:00 2011 New Revision: 218601 URL: http://svn.freebsd.org/changeset/base/218601 Log: Replace ERROR() macro with inline function. In-tree gcc cannot tolerate the construct like printf("%\s", NULL) resulting from macroexpand of ERROR(u, NULL), making it impossible to use LIBUFS_DEBUGGING. With inline function, compiler cannot detect the NULL argument to known function and does not try to convert it into puts(). In collaboration with: pho Modified: head/lib/libufs/libufs.h Modified: head/lib/libufs/libufs.h ============================================================================== --- head/lib/libufs/libufs.h Sat Feb 12 11:00:34 2011 (r218600) +++ head/lib/libufs/libufs.h Sat Feb 12 12:46:00 2011 (r218601) @@ -31,34 +31,6 @@ #define __LIBUFS_H__ /* - * libufs macros (internal, non-exported). - */ -#ifdef _LIBUFS -#ifdef _LIBUFS_DEBUGGING -/* - * Trace steps through libufs, to be used at entry and erroneous return. - */ -#define ERROR(uufsd, str) \ -do { \ - fprintf(stderr, "libufs in %s", __func__); \ - if (str != NULL) \ - fprintf(stderr, ": %s", str); \ - if (errno) \ - fprintf(stderr, ": %s", strerror(errno)); \ - fprintf(stderr, "\n"); \ - if ((uufsd) != NULL) \ - (uufsd)->d_error = str; \ -} while (0) -#else /* _LIBUFS_DEBUGGING */ -#define ERROR(uufsd, str) \ -do { \ - if ((uufsd) != NULL) \ - (uufsd)->d_error = str; \ -} while (0) -#endif /* _LIBUFS_DEBUGGING */ -#endif /* _LIBUFS */ - -/* * libufs structures. */ @@ -94,6 +66,30 @@ struct uufsd { #define d_cg d_cgunion.d_cg }; +/* + * libufs macros (internal, non-exported). + */ +#ifdef _LIBUFS +/* + * Trace steps through libufs, to be used at entry and erroneous return. + */ +static inline void +ERROR(struct uufsd *u, const char *str) +{ + +#ifdef _LIBUFS_DEBUGGING + if (str != NULL) { + fprintf(stderr, "libufs: %s", str); + if (errno != 0) + fprintf(stderr, ": %s", strerror(errno)); + fprintf(stderr, "\n"); + } +#endif + if (u != NULL) + u->d_error = str; +} +#endif /* _LIBUFS */ + __BEGIN_DECLS /* From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 12:52:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 653F41065672; Sat, 12 Feb 2011 12:52:13 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 538738FC12; Sat, 12 Feb 2011 12:52:13 +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 p1CCqDPj002092; Sat, 12 Feb 2011 12:52:13 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CCqDog002089; Sat, 12 Feb 2011 12:52:13 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102121252.p1CCqDog002089@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 12 Feb 2011 12:52:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218602 - head/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 12:52:13 -0000 Author: kib Date: Sat Feb 12 12:52:12 2011 New Revision: 218602 URL: http://svn.freebsd.org/changeset/base/218602 Log: Use the native sector size of the device backing the UFS volume for SU+J journal blocks, instead of hard coding 512 byte sector size. Journal need to atomically write the block, that can only be guaranteed at the device sector size, not larger. Attempt to write less then sector size results in driver errors. Note that this is the first structure in UFS that depends on the sector size. Other elements are written in the units of fragments. In collaboration with: pho Reviewed by: jeff Tested by: bz, pho Modified: head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ffs/fs.h Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Sat Feb 12 12:46:00 2011 (r218601) +++ head/sys/ufs/ffs/ffs_softdep.c Sat Feb 12 12:52:12 2011 (r218602) @@ -750,7 +750,7 @@ static void handle_written_jnewblk(struc static void handle_written_jfreeblk(struct jfreeblk *); static void handle_written_jfreefrag(struct jfreefrag *); static void complete_jseg(struct jseg *); -static void jseg_write(struct fs *, struct jblocks *, struct jseg *, +static void jseg_write(struct ufsmount *ump, struct jblocks *, struct jseg *, uint8_t *); static void jaddref_write(struct jaddref *, struct jseg *, uint8_t *); static void jremref_write(struct jremref *, struct jseg *, uint8_t *); @@ -2557,8 +2557,8 @@ softdep_prelink(dvp, vp) } static void -jseg_write(fs, jblocks, jseg, data) - struct fs *fs; +jseg_write(ump, jblocks, jseg, data) + struct ufsmount *ump; struct jblocks *jblocks; struct jseg *jseg; uint8_t *data; @@ -2569,9 +2569,9 @@ jseg_write(fs, jblocks, jseg, data) rec->jsr_seq = jseg->js_seq; rec->jsr_oldest = jblocks->jb_oldestseq; rec->jsr_cnt = jseg->js_cnt; - rec->jsr_blocks = jseg->js_size / DEV_BSIZE; + rec->jsr_blocks = jseg->js_size / ump->um_devvp->v_bufobj.bo_bsize; rec->jsr_crc = 0; - rec->jsr_time = fs->fs_mtime; + rec->jsr_time = ump->um_fs->fs_mtime; } static inline void @@ -2721,19 +2721,21 @@ softdep_process_journal(mp, flags) int size; int cnt; int off; + int devbsize; if ((mp->mnt_kern_flag & MNTK_SUJ) == 0) return; ump = VFSTOUFS(mp); fs = ump->um_fs; jblocks = ump->softdep_jblocks; + devbsize = ump->um_devvp->v_bufobj.bo_bsize; /* * We write anywhere between a disk block and fs block. The upper * bound is picked to prevent buffer cache fragmentation and limit * processing time per I/O. */ - jrecmin = (DEV_BSIZE / JREC_SIZE) - 1; /* -1 for seg header */ - jrecmax = (fs->fs_bsize / DEV_BSIZE) * jrecmin; + jrecmin = (devbsize / JREC_SIZE) - 1; /* -1 for seg header */ + jrecmax = (fs->fs_bsize / devbsize) * jrecmin; segwritten = 0; while ((cnt = ump->softdep_on_journal) != 0) { /* @@ -2788,7 +2790,7 @@ softdep_process_journal(mp, flags) */ cnt = ump->softdep_on_journal; if (cnt < jrecmax) - size = howmany(cnt, jrecmin) * DEV_BSIZE; + size = howmany(cnt, jrecmin) * devbsize; else size = fs->fs_bsize; /* @@ -2808,7 +2810,7 @@ softdep_process_journal(mp, flags) * sequence number to it and link it in-order. */ cnt = MIN(ump->softdep_on_journal, - (size / DEV_BSIZE) * jrecmin); + (size / devbsize) * jrecmin); jseg->js_buf = bp; jseg->js_cnt = cnt; jseg->js_refs = cnt + 1; /* Self ref. */ @@ -2827,8 +2829,8 @@ softdep_process_journal(mp, flags) while ((wk = LIST_FIRST(&ump->softdep_journal_pending)) != NULL) { /* Place a segment header on every device block. */ - if ((off % DEV_BSIZE) == 0) { - jseg_write(fs, jblocks, jseg, data); + if ((off % devbsize) == 0) { + jseg_write(ump, jblocks, jseg, data); off += JREC_SIZE; data = bp->b_data + off; } Modified: head/sys/ufs/ffs/fs.h ============================================================================== --- head/sys/ufs/ffs/fs.h Sat Feb 12 12:46:00 2011 (r218601) +++ head/sys/ufs/ffs/fs.h Sat Feb 12 12:52:12 2011 (r218602) @@ -682,7 +682,7 @@ struct jsegrec { uint64_t jsr_seq; /* Our sequence number */ uint64_t jsr_oldest; /* Oldest valid sequence number */ uint16_t jsr_cnt; /* Count of valid records */ - uint16_t jsr_blocks; /* Count of DEV_BSIZE blocks. */ + uint16_t jsr_blocks; /* Count of device bsize blocks. */ uint32_t jsr_crc; /* 32bit crc of the valid space */ ufs_time_t jsr_time; /* timestamp for mount instance */ }; From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:12:46 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33AEB1065670; Sat, 12 Feb 2011 13:12:46 +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 07B028FC08; Sat, 12 Feb 2011 13:12:46 +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 p1CDCjHW002586; Sat, 12 Feb 2011 13:12:45 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CDCjhD002584; Sat, 12 Feb 2011 13:12:45 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102121312.p1CDCjhD002584@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 12 Feb 2011 13:12:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218603 - head/sbin/tunefs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:12:46 -0000 Author: kib Date: Sat Feb 12 13:12:45 2011 New Revision: 218603 URL: http://svn.freebsd.org/changeset/base/218603 Log: When creating a directory entry for the journal, always read at least the fragment, and write the full block. Reading less might not work due to device sector size bigger then size of direntries in the last directory fragment. Reported by: bz In collaboration with: pho Reviewed by: jeff Tested by: bz, pho Modified: head/sbin/tunefs/tunefs.c Modified: head/sbin/tunefs/tunefs.c ============================================================================== --- head/sbin/tunefs/tunefs.c Sat Feb 12 12:52:12 2011 (r218602) +++ head/sbin/tunefs/tunefs.c Sat Feb 12 13:12:45 2011 (r218603) @@ -688,6 +688,19 @@ journal_findfile(void) return (0); } +static void +dir_clear_block(char *block, off_t off) +{ + struct direct *dp; + + for (; off < sblock.fs_bsize; off += DIRBLKSIZ) { + dp = (struct direct *)&block[off]; + dp->d_ino = 0; + dp->d_reclen = DIRBLKSIZ; + dp->d_type = DT_UNKNOWN; + } +} + /* * Insert the journal at inode 'ino' into directory blk 'blk' at the first * free offset of 'off'. DIRBLKSIZ blocks after off are initialized as @@ -710,13 +723,7 @@ dir_insert(ufs2_daddr_t blk, off_t off, dp->d_type = DT_REG; dp->d_namlen = strlen(SUJ_FILE); bcopy(SUJ_FILE, &dp->d_name, strlen(SUJ_FILE)); - off += DIRBLKSIZ; - for (; off < sblock.fs_bsize; off += DIRBLKSIZ) { - dp = (struct direct *)&block[off]; - dp->d_ino = 0; - dp->d_reclen = DIRBLKSIZ; - dp->d_type = DT_UNKNOWN; - } + dir_clear_block(block, off + DIRBLKSIZ); if (bwrite(&disk, fsbtodb(&sblock, blk), block, sblock.fs_bsize) <= 0) { warn("Failed to write dir block"); return (-1); @@ -733,16 +740,19 @@ dir_extend(ufs2_daddr_t blk, ufs2_daddr_ { char block[MAXBSIZE]; - if (bread(&disk, fsbtodb(&sblock, blk), block, size) <= 0) { + if (bread(&disk, fsbtodb(&sblock, blk), block, + roundup(size, sblock.fs_fsize)) <= 0) { warn("Failed to read dir block"); return (-1); } - if (bwrite(&disk, fsbtodb(&sblock, nblk), block, size) <= 0) { + dir_clear_block(block, size); + if (bwrite(&disk, fsbtodb(&sblock, nblk), block, sblock.fs_bsize) + <= 0) { warn("Failed to write dir block"); return (-1); } - return dir_insert(nblk, size, ino); + return (dir_insert(nblk, size, ino)); } /* From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:17:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA9AD106564A; Sat, 12 Feb 2011 13:17:14 +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 B8A238FC1A; Sat, 12 Feb 2011 13:17: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 p1CDHEQJ002746; Sat, 12 Feb 2011 13:17:14 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CDHE9v002742; Sat, 12 Feb 2011 13:17:14 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201102121317.p1CDHE9v002742@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 12 Feb 2011 13:17: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: r218604 - head/sbin/fsck_ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:17:14 -0000 Author: kib Date: Sat Feb 12 13:17:14 2011 New Revision: 218604 URL: http://svn.freebsd.org/changeset/base/218604 Log: In checker, read journal by sectors. Due to UFS insistence to pretend that device sector size is 512 bytes, sector size is obtained from ioctl(DIOCGSECTORSIZE) for real devices, and from the label otherwise. The file images without label have to be made with 512 sector size. In collaboration with: pho Reviewed by: jeff Tested by: bz, pho Modified: head/sbin/fsck_ffs/fsck.h head/sbin/fsck_ffs/setup.c head/sbin/fsck_ffs/suj.c Modified: head/sbin/fsck_ffs/fsck.h ============================================================================== --- head/sbin/fsck_ffs/fsck.h Sat Feb 12 13:12:45 2011 (r218603) +++ head/sbin/fsck_ffs/fsck.h Sat Feb 12 13:17:14 2011 (r218604) @@ -268,6 +268,7 @@ char snapname[BUFSIZ]; /* when doing sna char *cdevname; /* name of device being checked */ long dev_bsize; /* computed value of DEV_BSIZE */ long secsize; /* actual disk sector size */ +long real_dev_bsize; char nflag; /* assume a no response */ char yflag; /* assume a yes response */ int bkgrdflag; /* use a snapshot to run on an active system */ Modified: head/sbin/fsck_ffs/setup.c ============================================================================== --- head/sbin/fsck_ffs/setup.c Sat Feb 12 13:12:45 2011 (r218603) +++ head/sbin/fsck_ffs/setup.c Sat Feb 12 13:17:14 2011 (r218604) @@ -446,7 +446,7 @@ sblock_init(void) if (sblk.b_un.b_buf == NULL || asblk.b_un.b_buf == NULL) errx(EEXIT, "cannot allocate space for superblock"); if ((lp = getdisklabel(NULL, fsreadfd))) - dev_bsize = secsize = lp->d_secsize; + real_dev_bsize = dev_bsize = secsize = lp->d_secsize; else dev_bsize = secsize = DEV_BSIZE; } Modified: head/sbin/fsck_ffs/suj.c ============================================================================== --- head/sbin/fsck_ffs/suj.c Sat Feb 12 13:12:45 2011 (r218603) +++ head/sbin/fsck_ffs/suj.c Sat Feb 12 13:17:14 2011 (r218604) @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -201,6 +202,11 @@ opendisk(const char *devnam) disk->d_error); } fs = &disk->d_fs; + if (real_dev_bsize == 0 && ioctl(disk->d_fd, DIOCGSECTORSIZE, + &real_dev_bsize) == -1) + real_dev_bsize = secsize; + if (debug) + printf("dev_bsize %ld\n", real_dev_bsize); } /* @@ -2262,7 +2268,7 @@ suj_build(void) rec = (union jrec *)seg->ss_blk; for (i = 0; i < seg->ss_rec.jsr_cnt; off += JREC_SIZE, rec++) { /* skip the segrec. */ - if ((off % DEV_BSIZE) == 0) + if ((off % real_dev_bsize) == 0) continue; switch (rec->rec_jrefrec.jr_op) { case JOP_ADDREF: @@ -2340,7 +2346,7 @@ suj_prune(void) TAILQ_FOREACH_SAFE(seg, &allsegs, ss_next, segn) { if (!discard && newseq++ == seg->ss_rec.jsr_seq) { jrecs += seg->ss_rec.jsr_cnt; - jbytes += seg->ss_rec.jsr_blocks * DEV_BSIZE; + jbytes += seg->ss_rec.jsr_blocks * real_dev_bsize; continue; } discard = 1; @@ -2440,7 +2446,7 @@ jblocks_next(struct jblocks *jblocks, in int freecnt; int blocks; - blocks = bytes / DEV_BSIZE; + blocks = bytes / disk->d_bsize; jext = &jblocks->jb_extent[jblocks->jb_head]; freecnt = jext->je_blocks - jblocks->jb_off; if (freecnt == 0) { @@ -2452,7 +2458,7 @@ jblocks_next(struct jblocks *jblocks, in } if (freecnt > blocks) freecnt = blocks; - *actual = freecnt * DEV_BSIZE; + *actual = freecnt * disk->d_bsize; daddr = jext->je_daddr + jblocks->jb_off; return (daddr); @@ -2466,7 +2472,7 @@ static void jblocks_advance(struct jblocks *jblocks, int bytes) { - jblocks->jb_off += bytes / DEV_BSIZE; + jblocks->jb_off += bytes / disk->d_bsize; } static void @@ -2563,7 +2569,7 @@ restart: } for (rec = (void *)block; size; size -= recsize, rec = (struct jsegrec *)((uintptr_t)rec + recsize)) { - recsize = DEV_BSIZE; + recsize = real_dev_bsize; if (rec->jsr_time != fs->fs_mtime) { if (debug) printf("Rec time %jd != fs mtime %jd\n", @@ -2579,7 +2585,7 @@ restart: continue; } blocks = rec->jsr_blocks; - recsize = blocks * DEV_BSIZE; + recsize = blocks * real_dev_bsize; if (recsize > size) { /* * We may just have run out of buffer, restart @@ -2592,7 +2598,7 @@ restart: if (debug) printf("Found invalid segsize %d > %d\n", recsize, size); - recsize = DEV_BSIZE; + recsize = real_dev_bsize; jblocks_advance(suj_jblocks, recsize); continue; } @@ -2600,15 +2606,15 @@ restart: * Verify that all blocks in the segment are present. */ for (i = 1; i < blocks; i++) { - recn = (void *) - ((uintptr_t)rec) + i * DEV_BSIZE; + recn = (void *)((uintptr_t)rec) + i * + real_dev_bsize; if (recn->jsr_seq == rec->jsr_seq && recn->jsr_time == rec->jsr_time) continue; if (debug) printf("Incomplete record %jd (%d)\n", rec->jsr_seq, i); - recsize = i * DEV_BSIZE; + recsize = i * real_dev_bsize; jblocks_advance(suj_jblocks, recsize); goto restart; } From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:28:51 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D370106566B; Sat, 12 Feb 2011 13:28:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3BE418FC1E; Sat, 12 Feb 2011 13:28:51 +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 p1CDSpQD003046; Sat, 12 Feb 2011 13:28:51 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CDSpIY003044; Sat, 12 Feb 2011 13:28:51 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201102121328.p1CDSpIY003044@svn.freebsd.org> From: Alexander Motin Date: Sat, 12 Feb 2011 13:28:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218605 - head/sys/dev/ahci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:28:51 -0000 Author: mav Date: Sat Feb 12 13:28:50 2011 New Revision: 218605 URL: http://svn.freebsd.org/changeset/base/218605 Log: Restore DH89xxCC/Patsburg chip IDs accentally dropped at r218596. Modified: head/sys/dev/ahci/ahci.c Modified: head/sys/dev/ahci/ahci.c ============================================================================== --- head/sys/dev/ahci/ahci.c Sat Feb 12 13:17:14 2011 (r218604) +++ head/sys/dev/ahci/ahci.c Sat Feb 12 13:28:50 2011 (r218605) @@ -162,6 +162,10 @@ static struct { {0x1c038086, 0x00, "Intel Cougar Point", 0}, {0x1c048086, 0x00, "Intel Cougar Point", 0}, {0x1c058086, 0x00, "Intel Cougar Point", 0}, + {0x23238086, 0x00, "Intel DH89xxCC", 0}, + {0x1d028086, 0x00, "Intel Patsburg", 0}, + {0x1d048086, 0x00, "Intel Patsburg", 0}, + {0x1d068086, 0x00, "Intel Patsburg", 0}, {0x2361197b, 0x00, "JMicron JMB361", AHCI_Q_NOFORCE}, {0x2363197b, 0x00, "JMicron JMB363", AHCI_Q_NOFORCE}, {0x2365197b, 0x00, "JMicron JMB365", AHCI_Q_NOFORCE}, From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:30:11 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5999106566B; Sat, 12 Feb 2011 13:30:11 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id 0436E8FC28; Sat, 12 Feb 2011 13:30:10 +0000 (UTC) Received: by fxm16 with SMTP id 16so3930788fxm.13 for ; Sat, 12 Feb 2011 05:30:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:subject:references:in-reply-to:x-enigmail-version :content-type:content-transfer-encoding; bh=q64W6+HpsOdNxdxHjbECC0p9VyAjJ8Yrmv09aKjsuIY=; b=ppaBGnwnYDaSQd9SUpBjU/me1bx0T0+1CKIRZw/MAFcx6n/53U9wEJvyrytcM5aahY oKRI+7mQPy/lFMGD9eVmD7AoCKI0YqlO22ikFgBNJrhreVDr6bxTSAZa4cC49TLfFcDt EscmxltA06h3kfE4Rm4n8Gtf8X9TgwpZ5VhIE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=HoMyWJ5zzy1DfSvECaTp0kEeEjS/2K7+6ha5BWtc6FYQI+9vNPDeF0PakV+DY5UG8N hxZnBD/VPT0GtfP1/LG0pdtyfJpFHXrcd5cjAhrYp/EVjrd36lVbJU25vqtU4ppaykWL /Bdn94zNgiTEhsFBJq7ftN93b8/q5ND4/V53k= Received: by 10.223.110.77 with SMTP id m13mr1912535fap.86.1297517409977; Sat, 12 Feb 2011 05:30:09 -0800 (PST) Received: from mavbook2.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id a2sm175432faw.22.2011.02.12.05.30.07 (version=SSLv3 cipher=OTHER); Sat, 12 Feb 2011 05:30:08 -0800 (PST) Sender: Alexander Motin Message-ID: <4D568B15.8020908@FreeBSD.org> Date: Sat, 12 Feb 2011 15:28:53 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20091212) MIME-Version: 1.0 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, poyopoyo@puripuri.plala.or.jp References: <201102120706.p1C76eLP088428@svn.freebsd.org> <8639ntidyn.wl%poyopoyo@puripuri.plala.or.jp> In-Reply-To: <8639ntidyn.wl%poyopoyo@puripuri.plala.or.jp> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Subject: Re: svn commit: r218596 - head/sys/dev/ahci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:30:12 -0000 poyopoyo@puripuri.plala.or.jp wrote: > At Sat, 12 Feb 2011 07:06:40 +0000 (UTC), > Alexander Motin wrote: >> @@ -161,19 +162,19 @@ static struct { >> {0x1c038086, 0x00, "Intel Cougar Point", 0}, >> {0x1c048086, 0x00, "Intel Cougar Point", 0}, >> {0x1c058086, 0x00, "Intel Cougar Point", 0}, >> - {0x23238086, 0x00, "Intel DH89xxCC", 0}, >> - {0x1d028086, 0x00, "Intel Patsburg", 0}, >> - {0x1d048086, 0x00, "Intel Patsburg", 0}, >> - {0x1d068086, 0x00, "Intel Patsburg", 0}, >> {0x2361197b, 0x00, "JMicron JMB361", AHCI_Q_NOFORCE}, >> {0x2363197b, 0x00, "JMicron JMB363", AHCI_Q_NOFORCE}, >> {0x2365197b, 0x00, "JMicron JMB365", AHCI_Q_NOFORCE}, > > Is this intentional? Oops! It's not. Fixed. Thank you! -- Alexander Motin From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:34:12 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B48F106566B; Sat, 12 Feb 2011 13:34:12 +0000 (UTC) (envelope-from poyopoyo@puripuri.plala.or.jp) Received: from msa04a.plala.or.jp (msa04.plala.or.jp [58.93.240.4]) by mx1.freebsd.org (Postfix) with ESMTP id 6CE298FC14; Sat, 12 Feb 2011 13:34:10 +0000 (UTC) Received: from i220-109-122-68.s02.a026.ap.plala.or.jp ([220.109.122.68]) by msa01b.plala.or.jp with ESMTP id <20110212132329.KQSK16045.msa01b.plala.or.jp@i220-109-122-68.s02.a026.ap.plala.or.jp>; Sat, 12 Feb 2011 22:23:29 +0900 Date: Sat, 12 Feb 2011 22:23:28 +0900 Message-ID: <8639ntidyn.wl%poyopoyo@puripuri.plala.or.jp> From: poyopoyo@puripuri.plala.or.jp To: Alexander Motin In-Reply-To: <201102120706.p1C76eLP088428@svn.freebsd.org> References: <201102120706.p1C76eLP088428@svn.freebsd.org> Mail-Followup-To: Alexander Motin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, poyopoyo@puripuri.plala.or.jp User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-2022-JP-2?B?R29qGyQoRCtXGyhC?=) APEL/10.8 Emacs/23.2 (amd64-portbld-freebsd9.0) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-VirusScan: Outbound; msa01b; Sat, 12 Feb 2011 22:23:29 +0900 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218596 - head/sys/dev/ahci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:34:12 -0000 At Sat, 12 Feb 2011 07:06:40 +0000 (UTC), Alexander Motin wrote: > @@ -161,19 +162,19 @@ static struct { > {0x1c038086, 0x00, "Intel Cougar Point", 0}, > {0x1c048086, 0x00, "Intel Cougar Point", 0}, > {0x1c058086, 0x00, "Intel Cougar Point", 0}, > - {0x23238086, 0x00, "Intel DH89xxCC", 0}, > - {0x1d028086, 0x00, "Intel Patsburg", 0}, > - {0x1d048086, 0x00, "Intel Patsburg", 0}, > - {0x1d068086, 0x00, "Intel Patsburg", 0}, > {0x2361197b, 0x00, "JMicron JMB361", AHCI_Q_NOFORCE}, > {0x2363197b, 0x00, "JMicron JMB363", AHCI_Q_NOFORCE}, > {0x2365197b, 0x00, "JMicron JMB365", AHCI_Q_NOFORCE}, Is this intentional? From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:41:00 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5B47106564A; Sat, 12 Feb 2011 13:41:00 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8901F8FC12; Sat, 12 Feb 2011 13:41:00 +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 p1CDf0LG003333; Sat, 12 Feb 2011 13:41:00 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CDf0Gi003330; Sat, 12 Feb 2011 13:41:00 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102121341.p1CDf0Gi003330@svn.freebsd.org> From: Marius Strobl Date: Sat, 12 Feb 2011 13:41:00 +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: r218606 - stable/8/sys/dev/sound/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:41:00 -0000 Author: marius Date: Sat Feb 12 13:41:00 2011 New Revision: 218606 URL: http://svn.freebsd.org/changeset/base/218606 Log: MFC: r218478 Correct signedness and off-by-one issues in parameters used for DMA tag creation. PR: 154259 Submitted by: Vladislav Movchan (partially) Modified: stable/8/sys/dev/sound/pci/emu10k1.c stable/8/sys/dev/sound/pci/emu10kx.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/dev/sound/pci/emu10k1.c ============================================================================== --- stable/8/sys/dev/sound/pci/emu10k1.c Sat Feb 12 13:28:50 2011 (r218605) +++ stable/8/sys/dev/sound/pci/emu10k1.c Sat Feb 12 13:41:00 2011 (r218606) @@ -2017,7 +2017,7 @@ emu_pci_attach(device_t dev) if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(dev), /*alignment*/2, /*boundary*/0, - /*lowaddr*/1 << 31, /* can only access 0-2gb */ + /*lowaddr*/(1U << 31) - 1, /* can only access 0-2gb */ /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, /*maxsize*/sc->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff, Modified: stable/8/sys/dev/sound/pci/emu10kx.c ============================================================================== --- stable/8/sys/dev/sound/pci/emu10kx.c Sat Feb 12 13:28:50 2011 (r218605) +++ stable/8/sys/dev/sound/pci/emu10kx.c Sat Feb 12 13:41:00 2011 (r218606) @@ -2700,7 +2700,7 @@ emu_init(struct emu_sc_info *sc) if (bus_dma_tag_create( /* parent */ bus_get_dma_tag(sc->dev), /* alignment */ 2, /* boundary */ 0, - /* lowaddr */ 1 << 31, /* can only access 0-2gb */ + /* lowaddr */ (1U << 31) - 1, /* can only access 0-2gb */ /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, /* filterarg */ NULL, /* maxsize */ EMU_MAX_BUFSZ, /* nsegments */ 1, /* maxsegz */ 0x3ffff, From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 13:41:05 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A56721065762; Sat, 12 Feb 2011 13:41:05 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E2CAA8FC17; Sat, 12 Feb 2011 13:41: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 p1CDf2AN003372; Sat, 12 Feb 2011 13:41:02 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CDf2PC003369; Sat, 12 Feb 2011 13:41:02 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201102121341.p1CDf2PC003369@svn.freebsd.org> From: Marius Strobl Date: Sat, 12 Feb 2011 13:41: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: r218607 - stable/7/sys/dev/sound/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 13:41:05 -0000 Author: marius Date: Sat Feb 12 13:41:02 2011 New Revision: 218607 URL: http://svn.freebsd.org/changeset/base/218607 Log: MFC: r218478 Correct signedness and off-by-one issues in parameters used for DMA tag creation. PR: 154259 Submitted by: Vladislav Movchan (partially) Modified: stable/7/sys/dev/sound/pci/emu10k1.c stable/7/sys/dev/sound/pci/emu10kx.c 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/dev/sound/pci/emu10k1.c ============================================================================== --- stable/7/sys/dev/sound/pci/emu10k1.c Sat Feb 12 13:41:00 2011 (r218606) +++ stable/7/sys/dev/sound/pci/emu10k1.c Sat Feb 12 13:41:02 2011 (r218607) @@ -2012,7 +2012,7 @@ emu_pci_attach(device_t dev) if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(dev), /*alignment*/2, /*boundary*/0, - /*lowaddr*/1 << 31, /* can only access 0-2gb */ + /*lowaddr*/(1U << 31) - 1, /* can only access 0-2gb */ /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, /*maxsize*/sc->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff, Modified: stable/7/sys/dev/sound/pci/emu10kx.c ============================================================================== --- stable/7/sys/dev/sound/pci/emu10kx.c Sat Feb 12 13:41:00 2011 (r218606) +++ stable/7/sys/dev/sound/pci/emu10kx.c Sat Feb 12 13:41:02 2011 (r218607) @@ -2696,7 +2696,7 @@ emu_init(struct emu_sc_info *sc) if (bus_dma_tag_create( /* parent */ bus_get_dma_tag(sc->dev), /* alignment */ 2, /* boundary */ 0, - /* lowaddr */ 1 << 31, /* can only access 0-2gb */ + /* lowaddr */ (1U << 31) - 1, /* can only access 0-2gb */ /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, /* filterarg */ NULL, /* maxsize */ EMU_MAX_BUFSZ, /* nsegments */ 1, /* maxsegz */ 0x3ffff, From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 14:21:14 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21911106566B; Sat, 12 Feb 2011 14:21:14 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id 513C88FC14; Sat, 12 Feb 2011 14:21:12 +0000 (UTC) Received: by fxm16 with SMTP id 16so3957650fxm.13 for ; Sat, 12 Feb 2011 06:21:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=/pBLgIKQ34Wr/NZ9lF+m+m5vSMSqjTOzyYfV8Z4hhU0=; b=ExrG1SJdQ8+7ZHrbnpDSqPdTJq7kfHZV2aI/O0DDa/oTRBqjNVWg4kuVzWE5kquqcn rgfQ8UgL3+CmctSSP1f6icEwd/Jl5MPM35sqK5ZIRrZNPWH4v8oxNG7jPZzr6lTaQAAM t0erqeNYp20Y9gdH+h0ojQHetn3nYXIflN5yE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=mxnXkgsbz2mKMSaWRU23WkrGmOlYpRMwSe0lF586KLSKbz5J3aIs8G56dRGfk1yZ96 QFvH1xzVATg/uITF1oDHEI4mCTdYDC3f4oOAAaiYGrb2m2fNNkhtKmEo4irJVwxaesty LFP8fSovZzQnw2iHyUS+AGMO9fDlLj9E6U9m8= Received: by 10.223.36.220 with SMTP id u28mr768662fad.11.1297520472136; Sat, 12 Feb 2011 06:21:12 -0800 (PST) Received: from mavbook2.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id n15sm194359fam.12.2011.02.12.06.21.10 (version=SSLv3 cipher=OTHER); Sat, 12 Feb 2011 06:21:11 -0800 (PST) Sender: Alexander Motin Message-ID: <4D56970B.3030609@FreeBSD.org> Date: Sat, 12 Feb 2011 16:19:55 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20091212) MIME-Version: 1.0 To: Nikolay Denev References: <201102120706.p1C76eLP088428@svn.freebsd.org> In-Reply-To: X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218596 - head/sys/dev/ahci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 14:21:14 -0000 Nikolay Denev wrote: > On 12 Feb, 2011, at 09:06 , Alexander Motin wrote: >> Author: mav >> Date: Sat Feb 12 07:06:40 2011 >> New Revision: 218596 >> URL: http://svn.freebsd.org/changeset/base/218596 >> >> Log: >> Disable NCQ for multiport Marvell 88SX61XX SATA controllers. Simultaneous >> active I/O to several disks (copying large file on ZFS) causes timeout after >> just a few seconds of run. Single port 88SX6111 seems like not affected. >> >> Skip reading transferred bytes count for these controllers. It works for >> 88SX6111, but 88SX6145 always returns zero there. Haven't tested others, >> but better to be safe. >> >> Modified: >> head/sys/dev/ahci/ahci.c > > I was using Marvell 6121 for quite some time with OCZ Throttle eSATA 8G flash drive for zfs l2arc, > but the timeouts were not there from the beginning. Maybe NCQ was not enabled in earlier drivers? > Also there is no other drive/ssd attached to the controller, the OCZ drive reports that it supports 2 tag openings. > > atapci2@pci0:4:0:0: class=0x01018f card=0x612111ab chip=0x612111ab rev=0xb2 hdr=0x00 > vendor = 'Marvell Semiconductor (Was: Galileo Technology Ltd)' > device = '6121 SATA2 Controller' > class = mass storage > subclass = ATA > bar [10] = type I/O Port, range 32, base 0xbf00, size 8, enabled > bar [14] = type I/O Port, range 32, base 0xbe00, size 4, enabled > bar [18] = type I/O Port, range 32, base 0xbd00, size 8, enabled > bar [1c] = type I/O Port, range 32, base 0xbc00, size 4, enabled > bar [20] = type I/O Port, range 32, base 0xbb00, size 16, enabled > bar [24] = type Memory, range 32, base 0xfb9ff000, size 1024, enabled > cap 01[48] = powerspec 2 supports D0 D1 D3 current D0 > cap 05[50] = MSI supports 1 message > cap 10[e0] = PCI-Express 1 legacy endpoint max data 128(128) link x1(x1) > ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected I can't see here whether you are using ahci(4) or ataahci from ata(4). In last case (from the beginning) there is no NCQ by definition. If you are using ahci(4), and 2 tags you are talking about were reported by `camcontrol tags ...`, then quite likely your device doesn't support NCQ at all, but CAM submits two command at a time to the queue-aware controller just to hide some inter-request latencies. If both device and controller support NCQ, you should see such message during probe: ada0: Command Queueing enabled PS: I can't confirm that problem exist on 88SX6121 -- I have no such hardware. But I have seen user complaining about it and that is what Linux also does. -- Alexander Motin From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 14:32:59 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3CE0106564A; Sat, 12 Feb 2011 14:32:58 +0000 (UTC) (envelope-from ndenev@gmail.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 21FE18FC15; Sat, 12 Feb 2011 14:32:57 +0000 (UTC) Received: by ewy24 with SMTP id 24so1772810ewy.13 for ; Sat, 12 Feb 2011 06:32:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:subject:mime-version:content-type:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to:x-mailer; bh=gSIvVdRpxv+x2/40yTW4SciU9UMSFpe574ERBst2R0c=; b=wG6c1kCzi4iO81fLSp2VdKoQ+/ycPTZwIDWm5jFcxrz3epWOFqYKjPfzRQdU2nLQ4Y vqYnMpXF4CHbV0VOHSQlZLS5nrg2WGb+/qf2X4VS5dwdvgiRmJn/93Jc/z2JPxl7NpY/ Nv5x8pVYutCA+0XhqIx4WGpeBiS/TlHLxE5qI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=jVbmhkT9pK+sBZ1ZcLgfJd0ahy/NaLWCo93q/MnNavlw7B2c3fHr0YVdVlSqKCK8m5 CVwgGXLpMouNv9T5dV7ykFs71NRSsbwBSU4OfMhXVYUsmQ61Ps75CUgp1ru3W69Q4EK4 jyIsryx2feACWctbIp6Id/G/e+fQFMlOnbhak= Received: by 10.213.25.148 with SMTP id z20mr1696695ebb.92.1297519307502; Sat, 12 Feb 2011 06:01:47 -0800 (PST) Received: from mytaht-2.totalterror.net (93-152-151-19.ddns.onlinedirect.bg [93.152.151.19]) by mx.google.com with ESMTPS id q52sm472328eei.15.2011.02.12.06.01.45 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 12 Feb 2011 06:01:46 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Nikolay Denev In-Reply-To: <201102120706.p1C76eLP088428@svn.freebsd.org> Date: Sat, 12 Feb 2011 16:01:43 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201102120706.p1C76eLP088428@svn.freebsd.org> To: Alexander Motin X-Mailer: Apple Mail (2.1082) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218596 - head/sys/dev/ahci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 14:32:59 -0000 On 12 Feb, 2011, at 09:06 , Alexander Motin wrote: > Author: mav > Date: Sat Feb 12 07:06:40 2011 > New Revision: 218596 > URL: http://svn.freebsd.org/changeset/base/218596 >=20 > Log: > Disable NCQ for multiport Marvell 88SX61XX SATA controllers. = Simultaneous > active I/O to several disks (copying large file on ZFS) causes = timeout after > just a few seconds of run. Single port 88SX6111 seems like not = affected. >=20 > Skip reading transferred bytes count for these controllers. It works = for > 88SX6111, but 88SX6145 always returns zero there. Haven't tested = others, > but better to be safe. >=20 > Modified: > head/sys/dev/ahci/ahci.c >=20 I was using Marvell 6121 for quite some time with OCZ Throttle eSATA 8G = flash drive for zfs l2arc, but the timeouts were not there from the beginning. Maybe NCQ was not = enabled in earlier drivers? Also there is no other drive/ssd attached to the controller, the OCZ = drive reports that it supports 2 tag openings. atapci2@pci0:4:0:0: class=3D0x01018f card=3D0x612111ab = chip=3D0x612111ab rev=3D0xb2 hdr=3D0x00 vendor =3D 'Marvell Semiconductor (Was: Galileo Technology Ltd)' device =3D '6121 SATA2 Controller' class =3D mass storage subclass =3D ATA bar [10] =3D type I/O Port, range 32, base 0xbf00, size 8, = enabled bar [14] =3D type I/O Port, range 32, base 0xbe00, size 4, = enabled bar [18] =3D type I/O Port, range 32, base 0xbd00, size 8, = enabled bar [1c] =3D type I/O Port, range 32, base 0xbc00, size 4, = enabled bar [20] =3D type I/O Port, range 32, base 0xbb00, size 16, = enabled bar [24] =3D type Memory, range 32, base 0xfb9ff000, size 1024, = enabled cap 01[48] =3D powerspec 2 supports D0 D1 D3 current D0 cap 05[50] =3D MSI supports 1 message=20 cap 10[e0] =3D PCI-Express 1 legacy endpoint max data 128(128) link = x1(x1) ecap 0001[100] =3D AER 1 0 fatal 0 non-fatal 1 corrected From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 15:24:53 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18CA6106566B; Sat, 12 Feb 2011 15:24:53 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0768E8FC15; Sat, 12 Feb 2011 15:24: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 p1CFOq8X005785; Sat, 12 Feb 2011 15:24:52 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CFOqoR005783; Sat, 12 Feb 2011 15:24:52 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121524.p1CFOqoR005783@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 15:24:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218609 - head/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 15:24:53 -0000 Author: dchagin Date: Sat Feb 12 15:24:52 2011 New Revision: 218609 URL: http://svn.freebsd.org/changeset/base/218609 Log: Remove unused since r134586 thr_exit1() declaration. Modified: head/sys/sys/proc.h Modified: head/sys/sys/proc.h ============================================================================== --- head/sys/sys/proc.h Sat Feb 12 14:33:19 2011 (r218608) +++ head/sys/sys/proc.h Sat Feb 12 15:24:52 2011 (r218609) @@ -908,7 +908,6 @@ int thread_unsuspend_one(struct thread * void thread_unthread(struct thread *td); void thread_wait(struct proc *p); struct thread *thread_find(struct proc *p, lwpid_t tid); -void thr_exit1(void); #endif /* _KERNEL */ From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 15:33:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 544081065761; Sat, 12 Feb 2011 15:33:26 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 425298FC08; Sat, 12 Feb 2011 15:33: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 p1CFXQLh006005; Sat, 12 Feb 2011 15:33:26 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CFXQr6006002; Sat, 12 Feb 2011 15:33:26 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121533.p1CFXQr6006002@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 15:33: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: r218610 - in head/sys: amd64/linux32 i386/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 15:33:26 -0000 Author: dchagin Date: Sat Feb 12 15:33:25 2011 New Revision: 218610 URL: http://svn.freebsd.org/changeset/base/218610 Log: The fourth argument of linux_clone is a pointer to the TLS. Change clone syscall definition to match actual linux one. Modified: head/sys/amd64/linux32/syscalls.master head/sys/i386/linux/syscalls.master Modified: head/sys/amd64/linux32/syscalls.master ============================================================================== --- head/sys/amd64/linux32/syscalls.master Sat Feb 12 15:24:52 2011 (r218609) +++ head/sys/amd64/linux32/syscalls.master Sat Feb 12 15:33:25 2011 (r218610) @@ -213,9 +213,8 @@ 118 AUE_FSYNC NOPROTO { int fsync(int fd); } 119 AUE_SIGRETURN STD { int linux_sigreturn( \ struct l_sigframe *sfp); } -; linux uses some strange calling convention here so we have to use the dummy arg 120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \ - void *parent_tidptr, int dummy, void * child_tidptr); } + void *parent_tidptr, void *tls, void * child_tidptr); } 121 AUE_SYSCTL STD { int linux_setdomainname(char *name, \ int len); } 122 AUE_NULL STD { int linux_newuname( \ Modified: head/sys/i386/linux/syscalls.master ============================================================================== --- head/sys/i386/linux/syscalls.master Sat Feb 12 15:24:52 2011 (r218609) +++ head/sys/i386/linux/syscalls.master Sat Feb 12 15:33:25 2011 (r218610) @@ -214,9 +214,8 @@ 118 AUE_FSYNC NOPROTO { int fsync(int fd); } 119 AUE_SIGRETURN STD { int linux_sigreturn( \ struct l_sigframe *sfp); } -; linux uses some strange calling convention here so we have to use the dummy arg 120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \ - void *parent_tidptr, int dummy, void * child_tidptr); } + void *parent_tidptr, void *tls, void * child_tidptr); } 121 AUE_SYSCTL STD { int linux_setdomainname(char *name, \ int len); } 122 AUE_NULL STD { int linux_newuname( \ From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 15:36:26 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20F39106564A; Sat, 12 Feb 2011 15:36:26 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E74D8FC14; Sat, 12 Feb 2011 15:36: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 p1CFaPtF006101; Sat, 12 Feb 2011 15:36:25 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CFaPts006094; Sat, 12 Feb 2011 15:36:25 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121536.p1CFaPts006094@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 15:36:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218611 - in head/sys: amd64/linux32 i386/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 15:36:26 -0000 Author: dchagin Date: Sat Feb 12 15:36:25 2011 New Revision: 218611 URL: http://svn.freebsd.org/changeset/base/218611 Log: Regen for r218610. Modified: head/sys/amd64/linux32/linux32_proto.h head/sys/amd64/linux32/linux32_syscall.h head/sys/amd64/linux32/linux32_sysent.c head/sys/i386/linux/linux_proto.h head/sys/i386/linux/linux_syscall.h head/sys/i386/linux/linux_sysent.c Modified: head/sys/amd64/linux32/linux32_proto.h ============================================================================== --- head/sys/amd64/linux32/linux32_proto.h Sat Feb 12 15:33:25 2011 (r218610) +++ head/sys/amd64/linux32/linux32_proto.h Sat Feb 12 15:36:25 2011 (r218611) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 213544 2010-10-08 07:18:44Z kib + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 218610 2011-02-12 15:33:25Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -375,7 +375,7 @@ struct linux_clone_args { char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; char stack_l_[PADL_(void *)]; void * stack; char stack_r_[PADR_(void *)]; char parent_tidptr_l_[PADL_(void *)]; void * parent_tidptr; char parent_tidptr_r_[PADR_(void *)]; - char dummy_l_[PADL_(int)]; int dummy; char dummy_r_[PADR_(int)]; + char tls_l_[PADL_(void *)]; void * tls; char tls_r_[PADR_(void *)]; char child_tidptr_l_[PADL_(void *)]; void * child_tidptr; char child_tidptr_r_[PADR_(void *)]; }; struct linux_setdomainname_args { Modified: head/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- head/sys/amd64/linux32/linux32_syscall.h Sat Feb 12 15:33:25 2011 (r218610) +++ head/sys/amd64/linux32/linux32_syscall.h Sat Feb 12 15:36:25 2011 (r218611) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 213544 2010-10-08 07:18:44Z kib + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 218610 2011-02-12 15:33:25Z dchagin */ #define LINUX_SYS_exit 1 Modified: head/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- head/sys/amd64/linux32/linux32_sysent.c Sat Feb 12 15:33:25 2011 (r218610) +++ head/sys/amd64/linux32/linux32_sysent.c Sat Feb 12 15:36:25 2011 (r218611) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 213544 2010-10-08 07:18:44Z kib + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 218610 2011-02-12 15:33:25Z dchagin */ #include "opt_compat.h" Modified: head/sys/i386/linux/linux_proto.h ============================================================================== --- head/sys/i386/linux/linux_proto.h Sat Feb 12 15:33:25 2011 (r218610) +++ head/sys/i386/linux/linux_proto.h Sat Feb 12 15:36:25 2011 (r218611) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/i386/linux/syscalls.master 218610 2011-02-12 15:33:25Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -378,7 +378,7 @@ struct linux_clone_args { char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; char stack_l_[PADL_(void *)]; void * stack; char stack_r_[PADR_(void *)]; char parent_tidptr_l_[PADL_(void *)]; void * parent_tidptr; char parent_tidptr_r_[PADR_(void *)]; - char dummy_l_[PADL_(int)]; int dummy; char dummy_r_[PADR_(int)]; + char tls_l_[PADL_(void *)]; void * tls; char tls_r_[PADR_(void *)]; char child_tidptr_l_[PADL_(void *)]; void * child_tidptr; char child_tidptr_r_[PADR_(void *)]; }; struct linux_setdomainname_args { Modified: head/sys/i386/linux/linux_syscall.h ============================================================================== --- head/sys/i386/linux/linux_syscall.h Sat Feb 12 15:33:25 2011 (r218610) +++ head/sys/i386/linux/linux_syscall.h Sat Feb 12 15:36:25 2011 (r218611) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/i386/linux/syscalls.master 218610 2011-02-12 15:33:25Z dchagin */ #define LINUX_SYS_exit 1 Modified: head/sys/i386/linux/linux_sysent.c ============================================================================== --- head/sys/i386/linux/linux_sysent.c Sat Feb 12 15:33:25 2011 (r218610) +++ head/sys/i386/linux/linux_sysent.c Sat Feb 12 15:36:25 2011 (r218611) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 184789 2008-11-09 10:45:13Z ed + * created from FreeBSD: head/sys/i386/linux/syscalls.master 218610 2011-02-12 15:33:25Z dchagin */ #include From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 15:50:22 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BEE7106564A; Sat, 12 Feb 2011 15:50:22 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 090F08FC1C; Sat, 12 Feb 2011 15:50:22 +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 p1CFoLQf006433; Sat, 12 Feb 2011 15:50:21 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CFoLCv006430; Sat, 12 Feb 2011 15:50:21 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121550.p1CFoLCv006430@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 15:50:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218612 - in head/sys: amd64/linux32 i386/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 15:50:22 -0000 Author: dchagin Date: Sat Feb 12 15:50:21 2011 New Revision: 218612 URL: http://svn.freebsd.org/changeset/base/218612 Log: In preparation for moving linux_clone () to a MI path move the TLS code in a separate function. Use function parameter instead of direct using register. Modified: head/sys/amd64/linux32/linux32_machdep.c head/sys/i386/linux/linux_machdep.c Modified: head/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- head/sys/amd64/linux32/linux32_machdep.c Sat Feb 12 15:36:25 2011 (r218611) +++ head/sys/amd64/linux32/linux32_machdep.c Sat Feb 12 15:50:21 2011 (r218612) @@ -496,6 +496,50 @@ linux_vfork(struct thread *td, struct li return (0); } +static int +linux_set_cloned_tls(struct thread *td, void *desc) +{ + struct user_segment_descriptor sd; + struct l_user_desc info; + struct pcb *pcb; + int error; + int a[2]; + + error = copyin(desc, &info, sizeof(struct l_user_desc)); + if (error) { + printf(LMSG("copyin failed!")); + } else { + /* We might copy out the entry_number as GUGS32_SEL. */ + info.entry_number = GUGS32_SEL; + error = copyout(&info, desc, sizeof(struct l_user_desc)); + if (error) + printf(LMSG("copyout failed!")); + + a[0] = LINUX_LDT_entry_a(&info); + a[1] = LINUX_LDT_entry_b(&info); + + memcpy(&sd, &a, sizeof(a)); +#ifdef DEBUG + if (ldebug(clone)) + printf("Segment created in clone with " + "CLONE_SETTLS: lobase: %x, hibase: %x, " + "lolimit: %x, hilimit: %x, type: %i, " + "dpl: %i, p: %i, xx: %i, long: %i, " + "def32: %i, gran: %i\n", sd.sd_lobase, + sd.sd_hibase, sd.sd_lolimit, sd.sd_hilimit, + sd.sd_type, sd.sd_dpl, sd.sd_p, sd.sd_xx, + sd.sd_long, sd.sd_def32, sd.sd_gran); +#endif + pcb = td->td_pcb; + pcb->pcb_gsbase = (register_t)info.base_addr; +/* XXXKIB pcb->pcb_gs32sd = sd; */ + td->td_frame->tf_gs = GSEL(GUGS32_SEL, SEL_UPL); + set_pcb_flags(pcb, PCB_GS32BIT | PCB_32BIT); + } + + return (error); +} + int linux_clone(struct thread *td, struct linux_clone_args *args) { @@ -613,46 +657,8 @@ linux_clone(struct thread *td, struct li if (args->stack) td2->td_frame->tf_rsp = PTROUT(args->stack); - if (args->flags & LINUX_CLONE_SETTLS) { - struct user_segment_descriptor sd; - struct l_user_desc info; - struct pcb *pcb; - int a[2]; - - error = copyin((void *)td->td_frame->tf_rsi, &info, - sizeof(struct l_user_desc)); - if (error) { - printf(LMSG("copyin failed!")); - } else { - /* We might copy out the entry_number as GUGS32_SEL. */ - info.entry_number = GUGS32_SEL; - error = copyout(&info, (void *)td->td_frame->tf_rsi, - sizeof(struct l_user_desc)); - if (error) - printf(LMSG("copyout failed!")); - - a[0] = LINUX_LDT_entry_a(&info); - a[1] = LINUX_LDT_entry_b(&info); - - memcpy(&sd, &a, sizeof(a)); -#ifdef DEBUG - if (ldebug(clone)) - printf("Segment created in clone with " - "CLONE_SETTLS: lobase: %x, hibase: %x, " - "lolimit: %x, hilimit: %x, type: %i, " - "dpl: %i, p: %i, xx: %i, long: %i, " - "def32: %i, gran: %i\n", sd.sd_lobase, - sd.sd_hibase, sd.sd_lolimit, sd.sd_hilimit, - sd.sd_type, sd.sd_dpl, sd.sd_p, sd.sd_xx, - sd.sd_long, sd.sd_def32, sd.sd_gran); -#endif - pcb = td2->td_pcb; - pcb->pcb_gsbase = (register_t)info.base_addr; -/* XXXKIB pcb->pcb_gs32sd = sd; */ - td2->td_frame->tf_gs = GSEL(GUGS32_SEL, SEL_UPL); - set_pcb_flags(pcb, PCB_GS32BIT | PCB_32BIT); - } - } + if (args->flags & LINUX_CLONE_SETTLS) + linux_set_cloned_tls(td2, args->tls); #ifdef DEBUG if (ldebug(clone)) Modified: head/sys/i386/linux/linux_machdep.c ============================================================================== --- head/sys/i386/linux/linux_machdep.c Sat Feb 12 15:36:25 2011 (r218611) +++ head/sys/i386/linux/linux_machdep.c Sat Feb 12 15:50:21 2011 (r218612) @@ -387,6 +387,62 @@ linux_vfork(struct thread *td, struct li return (0); } +static int +linux_set_cloned_tls(struct thread *td, void *desc) +{ + struct segment_descriptor sd; + struct l_user_desc info; + int idx, error; + int a[2]; + + error = copyin(desc, &info, sizeof(struct l_user_desc)); + if (error) { + printf(LMSG("copyin failed!")); + } else { + idx = info.entry_number; + + /* + * looks like we're getting the idx we returned + * in the set_thread_area() syscall + */ + if (idx != 6 && idx != 3) { + printf(LMSG("resetting idx!")); + idx = 3; + } + + /* this doesnt happen in practice */ + if (idx == 6) { + /* we might copy out the entry_number as 3 */ + info.entry_number = 3; + error = copyout(&info, desc, sizeof(struct l_user_desc)); + if (error) + printf(LMSG("copyout failed!")); + } + + a[0] = LINUX_LDT_entry_a(&info); + a[1] = LINUX_LDT_entry_b(&info); + + memcpy(&sd, &a, sizeof(a)); +#ifdef DEBUG + if (ldebug(clone)) + printf("Segment created in clone with " + "CLONE_SETTLS: lobase: %x, hibase: %x, " + "lolimit: %x, hilimit: %x, type: %i, " + "dpl: %i, p: %i, xx: %i, def32: %i, " + "gran: %i\n", sd.sd_lobase, sd.sd_hibase, + sd.sd_lolimit, sd.sd_hilimit, sd.sd_type, + sd.sd_dpl, sd.sd_p, sd.sd_xx, + sd.sd_def32, sd.sd_gran); +#endif + + /* set %gs */ + td->td_pcb->pcb_gsd = sd; + td->td_pcb->pcb_gs = GSEL(GUGS_SEL, SEL_UPL); + } + + return (error); +} + int linux_clone(struct thread *td, struct linux_clone_args *args) { @@ -505,60 +561,8 @@ linux_clone(struct thread *td, struct li if (args->stack) td2->td_frame->tf_esp = (unsigned int)args->stack; - if (args->flags & LINUX_CLONE_SETTLS) { - struct l_user_desc info; - int idx; - int a[2]; - struct segment_descriptor sd; - - error = copyin((void *)td->td_frame->tf_esi, &info, sizeof(struct l_user_desc)); - if (error) { - printf(LMSG("copyin failed!")); - } else { - - idx = info.entry_number; - - /* - * looks like we're getting the idx we returned - * in the set_thread_area() syscall - */ - if (idx != 6 && idx != 3) { - printf(LMSG("resetting idx!")); - idx = 3; - } - - /* this doesnt happen in practice */ - if (idx == 6) { - /* we might copy out the entry_number as 3 */ - info.entry_number = 3; - error = copyout(&info, (void *) td->td_frame->tf_esi, sizeof(struct l_user_desc)); - if (error) - printf(LMSG("copyout failed!")); - } - - a[0] = LINUX_LDT_entry_a(&info); - a[1] = LINUX_LDT_entry_b(&info); - - memcpy(&sd, &a, sizeof(a)); -#ifdef DEBUG - if (ldebug(clone)) - printf("Segment created in clone with CLONE_SETTLS: lobase: %x, hibase: %x, lolimit: %x, hilimit: %x, type: %i, dpl: %i, p: %i, xx: %i, def32: %i, gran: %i\n", sd.sd_lobase, - sd.sd_hibase, - sd.sd_lolimit, - sd.sd_hilimit, - sd.sd_type, - sd.sd_dpl, - sd.sd_p, - sd.sd_xx, - sd.sd_def32, - sd.sd_gran); -#endif - - /* set %gs */ - td2->td_pcb->pcb_gsd = sd; - td2->td_pcb->pcb_gs = GSEL(GUGS_SEL, SEL_UPL); - } - } + if (args->flags & LINUX_CLONE_SETTLS) + linux_set_cloned_tls(td2, args->tls); #ifdef DEBUG if (ldebug(clone)) From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 16:33:00 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 996931065670; Sat, 12 Feb 2011 16:33:00 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6D58B8FC08; Sat, 12 Feb 2011 16:33:00 +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 p1CGX0gH007618; Sat, 12 Feb 2011 16:33:00 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CGX0D3007613; Sat, 12 Feb 2011 16:33:00 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121633.p1CGX0D3007613@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 16:33:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218613 - in head/sys: amd64/linux32 i386/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 16:33:00 -0000 Author: dchagin Date: Sat Feb 12 16:33:00 2011 New Revision: 218613 URL: http://svn.freebsd.org/changeset/base/218613 Log: In preparation for moving linux_clone() to a MI path introduce linux_set_upcall_kse(). Modified: head/sys/amd64/linux32/linux.h head/sys/amd64/linux32/linux32_machdep.c head/sys/i386/linux/linux.h head/sys/i386/linux/linux_machdep.c Modified: head/sys/amd64/linux32/linux.h ============================================================================== --- head/sys/amd64/linux32/linux.h Sat Feb 12 15:50:21 2011 (r218612) +++ head/sys/amd64/linux32/linux.h Sat Feb 12 16:33:00 2011 (r218613) @@ -920,4 +920,6 @@ struct linux_robust_list_head { l_uintptr_t pending_list; }; +int linux_set_upcall_kse(struct thread *td, register_t stack); + #endif /* !_AMD64_LINUX_H_ */ Modified: head/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- head/sys/amd64/linux32/linux32_machdep.c Sat Feb 12 15:50:21 2011 (r218612) +++ head/sys/amd64/linux32/linux32_machdep.c Sat Feb 12 16:33:00 2011 (r218613) @@ -655,7 +655,7 @@ linux_clone(struct thread *td, struct li * intact. */ if (args->stack) - td2->td_frame->tf_rsp = PTROUT(args->stack); + linux_set_upcall_kse(td2, PTROUT(args->stack)); if (args->flags & LINUX_CLONE_SETTLS) linux_set_cloned_tls(td2, args->tls); @@ -694,6 +694,15 @@ linux_clone(struct thread *td, struct li return (0); } +int +linux_set_upcall_kse(struct thread *td, register_t stack) +{ + + td->td_frame->tf_rsp = stack; + + return (0); +} + #define STACK_SIZE (2 * 1024 * 1024) #define GUARD_SIZE (4 * PAGE_SIZE) Modified: head/sys/i386/linux/linux.h ============================================================================== --- head/sys/i386/linux/linux.h Sat Feb 12 15:50:21 2011 (r218612) +++ head/sys/i386/linux/linux.h Sat Feb 12 16:33:00 2011 (r218613) @@ -880,4 +880,6 @@ struct linux_robust_list_head { struct linux_robust_list *pending_list; }; +int linux_set_upcall_kse(struct thread *td, register_t stack); + #endif /* !_I386_LINUX_H_ */ Modified: head/sys/i386/linux/linux_machdep.c ============================================================================== --- head/sys/i386/linux/linux_machdep.c Sat Feb 12 15:50:21 2011 (r218612) +++ head/sys/i386/linux/linux_machdep.c Sat Feb 12 16:33:00 2011 (r218613) @@ -559,7 +559,7 @@ linux_clone(struct thread *td, struct li * this is what normal fork() does so we just keep the tf_esp arg intact */ if (args->stack) - td2->td_frame->tf_esp = (unsigned int)args->stack; + linux_set_upcall_kse(td2, PTROUT(args->stack)); if (args->flags & LINUX_CLONE_SETTLS) linux_set_cloned_tls(td2, args->tls); @@ -597,6 +597,15 @@ linux_clone(struct thread *td, struct li return (0); } +int +linux_set_upcall_kse(struct thread *td, register_t stack) +{ + + td->td_frame->tf_esp = stack; + + return (0); +} + #define STACK_SIZE (2 * 1024 * 1024) #define GUARD_SIZE (4 * PAGE_SIZE) From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 17:57:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58CEE106566B; Sat, 12 Feb 2011 17:57:57 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2DF2C8FC15; Sat, 12 Feb 2011 17:57:57 +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 p1CHvu0b009871; Sat, 12 Feb 2011 17:57:56 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CHvuQv009868; Sat, 12 Feb 2011 17:57:56 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201102121757.p1CHvuQv009868@svn.freebsd.org> From: Glen Barber Date: Sat, 12 Feb 2011 17:57:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218614 - stable/8/share/man/man5 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 17:57:57 -0000 Author: gjb (doc committer) Date: Sat Feb 12 17:57:56 2011 New Revision: 218614 URL: http://svn.freebsd.org/changeset/base/218614 Log: MFC 212827, 217717: Note that devfs(5) and fdescfs(5) both create /dev/fd file descriptors. PR: 144534 Approved by: keramida (mentor) Modified: stable/8/share/man/man5/devfs.5 stable/8/share/man/man5/fdescfs.5 Directory Properties: stable/8/share/man/man5/ (props changed) Modified: stable/8/share/man/man5/devfs.5 ============================================================================== --- stable/8/share/man/man5/devfs.5 Sat Feb 12 16:33:00 2011 (r218613) +++ stable/8/share/man/man5/devfs.5 Sat Feb 12 17:57:56 2011 (r218614) @@ -38,7 +38,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 30, 2010 +.Dd September 18, 2010 .Dt DEVFS 5 .Os .Sh NAME @@ -69,6 +69,27 @@ The .Xr mknod 8 tool can be used to recover deleted device entries under .Nm . +.Pp +The +.Xr fdescfs 5 +filesystem is an alternate means for populating +.Pa /dev/fd . +The character devices that both +.Nm +and +.Xr fdescfs 5 +present in +.Pa /dev/fd +correspond to the open file descriptors of the process +accessing the directory. +.Nm +only creates files for the standard file descriptors +.Pa 0 , +.Pa 1 +and +.Pa 2 . +.Xr fdescfs 5 +creates files for all open descriptors. .Sh FILES .Bl -tag -width /dev/XXXX -compact .It Pa /dev @@ -84,6 +105,7 @@ volume located on .Pp .Dl "mount -t devfs devfs /mychroot/dev" .Sh SEE ALSO +.Xr fdescfs 5 , .Xr devfs 8 , .Xr mount 8 .Sh HISTORY Modified: stable/8/share/man/man5/fdescfs.5 ============================================================================== --- stable/8/share/man/man5/fdescfs.5 Sat Feb 12 16:33:00 2011 (r218613) +++ stable/8/share/man/man5/fdescfs.5 Sat Feb 12 17:57:56 2011 (r218614) @@ -38,7 +38,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 14, 1996 +.Dd September 18, 2010 .Dt FDESCFS 5 .Os .Sh NAME @@ -87,6 +87,19 @@ call other than and .Dv O_RDWR are ignored. +.Pp +.Em "Note:" +.Pa /dev/fd/0 , +.Pa /dev/fd/1 +and +.Pa /dev/fd/2 +files are created by default when devfs alone is mounted. +.Nm +creates entries for all file descriptors opened by the process. +.Sh FILES +.Bl -tag -width /dev/stderr -compact +.It Pa /dev/fd/# +.El .Sh EXAMPLES To mount a .Nm @@ -94,11 +107,8 @@ volume located on .Pa /dev/fd : .Pp .Dl "mount -t fdescfs null /dev/fd" -.Sh FILES -.Bl -tag -width /dev/stderr -compact -.It Pa /dev/fd/# -.El .Sh SEE ALSO +.Xr devfs 5 , .Xr mount 8 .Sh HISTORY The From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 17:58:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F265106566C; Sat, 12 Feb 2011 17:58:37 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D8CFD8FC1C; Sat, 12 Feb 2011 17:58: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 p1CHwaXk009924; Sat, 12 Feb 2011 17:58:36 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CHwaHc009921; Sat, 12 Feb 2011 17:58:36 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201102121758.p1CHwaHc009921@svn.freebsd.org> From: Glen Barber Date: Sat, 12 Feb 2011 17:58:36 +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: r218615 - stable/7/share/man/man5 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 17:58:37 -0000 Author: gjb (doc committer) Date: Sat Feb 12 17:58:36 2011 New Revision: 218615 URL: http://svn.freebsd.org/changeset/base/218615 Log: MFC 212827, 217717: Note that devfs(5) and fdescfs(5) both create /dev/fd file descriptors. PR: 144534 Approved by: keramida (mentor) Modified: stable/7/share/man/man5/devfs.5 stable/7/share/man/man5/fdescfs.5 Directory Properties: stable/7/share/man/man5/ (props changed) Modified: stable/7/share/man/man5/devfs.5 ============================================================================== --- stable/7/share/man/man5/devfs.5 Sat Feb 12 17:57:56 2011 (r218614) +++ stable/7/share/man/man5/devfs.5 Sat Feb 12 17:58:36 2011 (r218615) @@ -38,7 +38,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 30, 2010 +.Dd September 18, 2010 .Dt DEVFS 5 .Os .Sh NAME @@ -69,6 +69,27 @@ The .Xr mknod 8 tool can be used to recover deleted device entries under .Nm . +.Pp +The +.Xr fdescfs 5 +filesystem is an alternate means for populating +.Pa /dev/fd . +The character devices that both +.Nm +and +.Xr fdescfs 5 +present in +.Pa /dev/fd +correspond to the open file descriptors of the process +accessing the directory. +.Nm +only creates files for the standard file descriptors +.Pa 0 , +.Pa 1 +and +.Pa 2 . +.Xr fdescfs 5 +creates files for all open descriptors. .Sh FILES .Bl -tag -width /dev/XXXX -compact .It Pa /dev @@ -84,6 +105,7 @@ volume located on .Pp .Dl "mount -t devfs devfs /mychroot/dev" .Sh SEE ALSO +.Xr fdescfs 5 , .Xr devfs 8 , .Xr mount 8 .Sh HISTORY Modified: stable/7/share/man/man5/fdescfs.5 ============================================================================== --- stable/7/share/man/man5/fdescfs.5 Sat Feb 12 17:57:56 2011 (r218614) +++ stable/7/share/man/man5/fdescfs.5 Sat Feb 12 17:58:36 2011 (r218615) @@ -38,7 +38,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 14, 1996 +.Dd September 18, 2010 .Dt FDESCFS 5 .Os .Sh NAME @@ -87,6 +87,19 @@ call other than and .Dv O_RDWR are ignored. +.Pp +.Em "Note:" +.Pa /dev/fd/0 , +.Pa /dev/fd/1 +and +.Pa /dev/fd/2 +files are created by default when devfs alone is mounted. +.Nm +creates entries for all file descriptors opened by the process. +.Sh FILES +.Bl -tag -width /dev/stderr -compact +.It Pa /dev/fd/# +.El .Sh EXAMPLES To mount a .Nm @@ -94,11 +107,8 @@ volume located on .Pa /dev/fd : .Pp .Dl "mount -t fdescfs null /dev/fd" -.Sh FILES -.Bl -tag -width /dev/stderr -compact -.It Pa /dev/fd/# -.El .Sh SEE ALSO +.Xr devfs 5 , .Xr mount 8 .Sh HISTORY The From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 18:17:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 489FC106564A; Sat, 12 Feb 2011 18:17:13 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36C178FC14; Sat, 12 Feb 2011 18:17:13 +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 p1CIHDmA010482; Sat, 12 Feb 2011 18:17:13 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CIHDvb010472; Sat, 12 Feb 2011 18:17:13 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121817.p1CIHDvb010472@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 18:17:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218616 - in head/sys: amd64/linux32 compat/linux conf i386/linux modules/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 18:17:13 -0000 Author: dchagin Date: Sat Feb 12 18:17:12 2011 New Revision: 218616 URL: http://svn.freebsd.org/changeset/base/218616 Log: Move linux_clone(), linux_fork(), linux_vfork() to a MI path. Added: head/sys/compat/linux/linux_fork.c (contents, props changed) Modified: head/sys/amd64/linux32/linux.h head/sys/amd64/linux32/linux32_machdep.c head/sys/conf/files.amd64 head/sys/conf/files.i386 head/sys/conf/files.pc98 head/sys/i386/linux/linux.h head/sys/i386/linux/linux_machdep.c head/sys/modules/linux/Makefile Modified: head/sys/amd64/linux32/linux.h ============================================================================== --- head/sys/amd64/linux32/linux.h Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/amd64/linux32/linux.h Sat Feb 12 18:17:12 2011 (r218616) @@ -921,5 +921,6 @@ struct linux_robust_list_head { }; int linux_set_upcall_kse(struct thread *td, register_t stack); +int linux_set_cloned_tls(struct thread *td, void *desc); #endif /* !_AMD64_LINUX_H_ */ Modified: head/sys/amd64/linux32/linux32_machdep.c ============================================================================== --- head/sys/amd64/linux32/linux32_machdep.c Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/amd64/linux32/linux32_machdep.c Sat Feb 12 18:17:12 2011 (r218616) @@ -409,94 +409,6 @@ linux_old_select(struct thread *td, stru } int -linux_fork(struct thread *td, struct linux_fork_args *args) -{ - int error; - struct proc *p2; - struct thread *td2; - -#ifdef DEBUG - if (ldebug(fork)) - printf(ARGS(fork, "")); -#endif - - if ((error = fork1(td, RFFDG | RFPROC | RFSTOPPED, 0, &p2)) != 0) - return (error); - - if (error == 0) { - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - } - - if (td->td_retval[1] == 1) - td->td_retval[0] = 0; - error = linux_proc_init(td, td->td_retval[0], 0); - if (error) - return (error); - - td2 = FIRST_THREAD_IN_PROC(p2); - - /* - * Make this runnable after we are finished with it. - */ - thread_lock(td2); - TD_SET_CAN_RUN(td2); - sched_add(td2, SRQ_BORING); - thread_unlock(td2); - - return (0); -} - -int -linux_vfork(struct thread *td, struct linux_vfork_args *args) -{ - int error; - struct proc *p2; - struct thread *td2; - -#ifdef DEBUG - if (ldebug(vfork)) - printf(ARGS(vfork, "")); -#endif - - /* Exclude RFPPWAIT */ - if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFSTOPPED, 0, &p2)) != 0) - return (error); - if (error == 0) { - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - } - /* Are we the child? */ - if (td->td_retval[1] == 1) - td->td_retval[0] = 0; - error = linux_proc_init(td, td->td_retval[0], 0); - if (error) - return (error); - - PROC_LOCK(p2); - p2->p_flag |= P_PPWAIT; - PROC_UNLOCK(p2); - - td2 = FIRST_THREAD_IN_PROC(p2); - - /* - * Make this runnable after we are finished with it. - */ - thread_lock(td2); - TD_SET_CAN_RUN(td2); - sched_add(td2, SRQ_BORING); - thread_unlock(td2); - - /* wait for the children to exit, ie. emulate vfork */ - PROC_LOCK(p2); - while (p2->p_flag & P_PPWAIT) - cv_wait(&p2->p_pwait, &p2->p_mtx); - PROC_UNLOCK(p2); - - return (0); -} - -static int linux_set_cloned_tls(struct thread *td, void *desc) { struct user_segment_descriptor sd; @@ -541,160 +453,6 @@ linux_set_cloned_tls(struct thread *td, } int -linux_clone(struct thread *td, struct linux_clone_args *args) -{ - int error, ff = RFPROC | RFSTOPPED; - struct proc *p2; - struct thread *td2; - int exit_signal; - struct linux_emuldata *em; - -#ifdef DEBUG - if (ldebug(clone)) { - printf(ARGS(clone, "flags %x, stack %p, parent tid: %p, " - "child tid: %p"), (unsigned)args->flags, - args->stack, args->parent_tidptr, args->child_tidptr); - } -#endif - - exit_signal = args->flags & 0x000000ff; - if (LINUX_SIG_VALID(exit_signal)) { - if (exit_signal <= LINUX_SIGTBLSZ) - exit_signal = - linux_to_bsd_signal[_SIG_IDX(exit_signal)]; - } else if (exit_signal != 0) - return (EINVAL); - - if (args->flags & LINUX_CLONE_VM) - ff |= RFMEM; - if (args->flags & LINUX_CLONE_SIGHAND) - ff |= RFSIGSHARE; - /* - * XXX: In Linux, sharing of fs info (chroot/cwd/umask) - * and open files is independant. In FreeBSD, its in one - * structure but in reality it does not cause any problems - * because both of these flags are usually set together. - */ - if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS))) - ff |= RFFDG; - - /* - * Attempt to detect when linux_clone(2) is used for creating - * kernel threads. Unfortunately despite the existence of the - * CLONE_THREAD flag, version of linuxthreads package used in - * most popular distros as of beginning of 2005 doesn't make - * any use of it. Therefore, this detection relies on - * empirical observation that linuxthreads sets certain - * combination of flags, so that we can make more or less - * precise detection and notify the FreeBSD kernel that several - * processes are in fact part of the same threading group, so - * that special treatment is necessary for signal delivery - * between those processes and fd locking. - */ - if ((args->flags & 0xffffff00) == LINUX_THREADING_FLAGS) - ff |= RFTHREAD; - - if (args->flags & LINUX_CLONE_PARENT_SETTID) - if (args->parent_tidptr == NULL) - return (EINVAL); - - error = fork1(td, ff, 0, &p2); - if (error) - return (error); - - if (args->flags & (LINUX_CLONE_PARENT | LINUX_CLONE_THREAD)) { - sx_xlock(&proctree_lock); - PROC_LOCK(p2); - proc_reparent(p2, td->td_proc->p_pptr); - PROC_UNLOCK(p2); - sx_xunlock(&proctree_lock); - } - - /* create the emuldata */ - error = linux_proc_init(td, p2->p_pid, args->flags); - /* reference it - no need to check this */ - em = em_find(p2, EMUL_DOLOCK); - KASSERT(em != NULL, ("clone: emuldata not found.\n")); - /* and adjust it */ - - if (args->flags & LINUX_CLONE_THREAD) { -#ifdef notyet - PROC_LOCK(p2); - p2->p_pgrp = td->td_proc->p_pgrp; - PROC_UNLOCK(p2); -#endif - exit_signal = 0; - } - - if (args->flags & LINUX_CLONE_CHILD_SETTID) - em->child_set_tid = args->child_tidptr; - else - em->child_set_tid = NULL; - - if (args->flags & LINUX_CLONE_CHILD_CLEARTID) - em->child_clear_tid = args->child_tidptr; - else - em->child_clear_tid = NULL; - - EMUL_UNLOCK(&emul_lock); - - if (args->flags & LINUX_CLONE_PARENT_SETTID) { - error = copyout(&p2->p_pid, args->parent_tidptr, - sizeof(p2->p_pid)); - if (error) - printf(LMSG("copyout failed!")); - } - - PROC_LOCK(p2); - p2->p_sigparent = exit_signal; - PROC_UNLOCK(p2); - td2 = FIRST_THREAD_IN_PROC(p2); - /* - * In a case of stack = NULL, we are supposed to COW calling process - * stack. This is what normal fork() does, so we just keep tf_rsp arg - * intact. - */ - if (args->stack) - linux_set_upcall_kse(td2, PTROUT(args->stack)); - - if (args->flags & LINUX_CLONE_SETTLS) - linux_set_cloned_tls(td2, args->tls); - -#ifdef DEBUG - if (ldebug(clone)) - printf(LMSG("clone: successful rfork to %d, " - "stack %p sig = %d"), (int)p2->p_pid, args->stack, - exit_signal); -#endif - if (args->flags & LINUX_CLONE_VFORK) { - PROC_LOCK(p2); - p2->p_flag |= P_PPWAIT; - PROC_UNLOCK(p2); - } - - /* - * Make this runnable after we are finished with it. - */ - thread_lock(td2); - TD_SET_CAN_RUN(td2); - sched_add(td2, SRQ_BORING); - thread_unlock(td2); - - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - - if (args->flags & LINUX_CLONE_VFORK) { - /* wait for the children to exit, ie. emulate vfork */ - PROC_LOCK(p2); - while (p2->p_flag & P_PPWAIT) - cv_wait(&p2->p_pwait, &p2->p_mtx); - PROC_UNLOCK(p2); - } - - return (0); -} - -int linux_set_upcall_kse(struct thread *td, register_t stack) { Added: head/sys/compat/linux/linux_fork.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/compat/linux/linux_fork.c Sat Feb 12 18:17:12 2011 (r218616) @@ -0,0 +1,297 @@ +/*- + * Copyright (c) 2004 Tim J. Robbins + * Copyright (c) 2002 Doug Rabson + * Copyright (c) 2000 Marcel Moolenaar + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_compat.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#ifdef COMPAT_LINUX32 +#include +#include +#else +#include +#include +#endif +#include +#include + + +int +linux_fork(struct thread *td, struct linux_fork_args *args) +{ + int error; + struct proc *p2; + struct thread *td2; + +#ifdef DEBUG + if (ldebug(fork)) + printf(ARGS(fork, "")); +#endif + + if ((error = fork1(td, RFFDG | RFPROC | RFSTOPPED, 0, &p2)) != 0) + return (error); + + if (error == 0) { + td->td_retval[0] = p2->p_pid; + td->td_retval[1] = 0; + } + + if (td->td_retval[1] == 1) + td->td_retval[0] = 0; + error = linux_proc_init(td, td->td_retval[0], 0); + if (error) + return (error); + + td2 = FIRST_THREAD_IN_PROC(p2); + + /* + * Make this runnable after we are finished with it. + */ + thread_lock(td2); + TD_SET_CAN_RUN(td2); + sched_add(td2, SRQ_BORING); + thread_unlock(td2); + + return (0); +} + +int +linux_vfork(struct thread *td, struct linux_vfork_args *args) +{ + int error; + struct proc *p2; + struct thread *td2; + +#ifdef DEBUG + if (ldebug(vfork)) + printf(ARGS(vfork, "")); +#endif + + /* Exclude RFPPWAIT */ + if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFSTOPPED, 0, &p2)) != 0) + return (error); + if (error == 0) { + td->td_retval[0] = p2->p_pid; + td->td_retval[1] = 0; + } + /* Are we the child? */ + if (td->td_retval[1] == 1) + td->td_retval[0] = 0; + error = linux_proc_init(td, td->td_retval[0], 0); + if (error) + return (error); + + PROC_LOCK(p2); + p2->p_flag |= P_PPWAIT; + PROC_UNLOCK(p2); + + td2 = FIRST_THREAD_IN_PROC(p2); + + /* + * Make this runnable after we are finished with it. + */ + thread_lock(td2); + TD_SET_CAN_RUN(td2); + sched_add(td2, SRQ_BORING); + thread_unlock(td2); + + /* wait for the children to exit, ie. emulate vfork */ + PROC_LOCK(p2); + while (p2->p_flag & P_PPWAIT) + cv_wait(&p2->p_pwait, &p2->p_mtx); + PROC_UNLOCK(p2); + + return (0); +} + +int +linux_clone(struct thread *td, struct linux_clone_args *args) +{ + int error, ff = RFPROC | RFSTOPPED; + struct proc *p2; + struct thread *td2; + int exit_signal; + struct linux_emuldata *em; + +#ifdef DEBUG + if (ldebug(clone)) { + printf(ARGS(clone, "flags %x, stack %p, parent tid: %p, " + "child tid: %p"), (unsigned)args->flags, + args->stack, args->parent_tidptr, args->child_tidptr); + } +#endif + + exit_signal = args->flags & 0x000000ff; + if (LINUX_SIG_VALID(exit_signal)) { + if (exit_signal <= LINUX_SIGTBLSZ) + exit_signal = + linux_to_bsd_signal[_SIG_IDX(exit_signal)]; + } else if (exit_signal != 0) + return (EINVAL); + + if (args->flags & LINUX_CLONE_VM) + ff |= RFMEM; + if (args->flags & LINUX_CLONE_SIGHAND) + ff |= RFSIGSHARE; + /* + * XXX: In Linux, sharing of fs info (chroot/cwd/umask) + * and open files is independant. In FreeBSD, its in one + * structure but in reality it does not cause any problems + * because both of these flags are usually set together. + */ + if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS))) + ff |= RFFDG; + + /* + * Attempt to detect when linux_clone(2) is used for creating + * kernel threads. Unfortunately despite the existence of the + * CLONE_THREAD flag, version of linuxthreads package used in + * most popular distros as of beginning of 2005 doesn't make + * any use of it. Therefore, this detection relies on + * empirical observation that linuxthreads sets certain + * combination of flags, so that we can make more or less + * precise detection and notify the FreeBSD kernel that several + * processes are in fact part of the same threading group, so + * that special treatment is necessary for signal delivery + * between those processes and fd locking. + */ + if ((args->flags & 0xffffff00) == LINUX_THREADING_FLAGS) + ff |= RFTHREAD; + + if (args->flags & LINUX_CLONE_PARENT_SETTID) + if (args->parent_tidptr == NULL) + return (EINVAL); + + error = fork1(td, ff, 0, &p2); + if (error) + return (error); + + if (args->flags & (LINUX_CLONE_PARENT | LINUX_CLONE_THREAD)) { + sx_xlock(&proctree_lock); + PROC_LOCK(p2); + proc_reparent(p2, td->td_proc->p_pptr); + PROC_UNLOCK(p2); + sx_xunlock(&proctree_lock); + } + + /* create the emuldata */ + error = linux_proc_init(td, p2->p_pid, args->flags); + /* reference it - no need to check this */ + em = em_find(p2, EMUL_DOLOCK); + KASSERT(em != NULL, ("clone: emuldata not found.")); + /* and adjust it */ + + if (args->flags & LINUX_CLONE_THREAD) { +#ifdef notyet + PROC_LOCK(p2); + p2->p_pgrp = td->td_proc->p_pgrp; + PROC_UNLOCK(p2); +#endif + exit_signal = 0; + } + + if (args->flags & LINUX_CLONE_CHILD_SETTID) + em->child_set_tid = args->child_tidptr; + else + em->child_set_tid = NULL; + + if (args->flags & LINUX_CLONE_CHILD_CLEARTID) + em->child_clear_tid = args->child_tidptr; + else + em->child_clear_tid = NULL; + + EMUL_UNLOCK(&emul_lock); + + if (args->flags & LINUX_CLONE_PARENT_SETTID) { + error = copyout(&p2->p_pid, args->parent_tidptr, + sizeof(p2->p_pid)); + if (error) + printf(LMSG("copyout failed!")); + } + + PROC_LOCK(p2); + p2->p_sigparent = exit_signal; + PROC_UNLOCK(p2); + td2 = FIRST_THREAD_IN_PROC(p2); + /* + * In a case of stack = NULL, we are supposed to COW calling process + * stack. This is what normal fork() does, so we just keep tf_rsp arg + * intact. + */ + if (args->stack) + linux_set_upcall_kse(td2, PTROUT(args->stack)); + + if (args->flags & LINUX_CLONE_SETTLS) + linux_set_cloned_tls(td2, args->tls); + +#ifdef DEBUG + if (ldebug(clone)) + printf(LMSG("clone: successful rfork to %d, " + "stack %p sig = %d"), (int)p2->p_pid, args->stack, + exit_signal); +#endif + if (args->flags & LINUX_CLONE_VFORK) { + PROC_LOCK(p2); + p2->p_flag |= P_PPWAIT; + PROC_UNLOCK(p2); + } + + /* + * Make this runnable after we are finished with it. + */ + thread_lock(td2); + TD_SET_CAN_RUN(td2); + sched_add(td2, SRQ_BORING); + thread_unlock(td2); + + td->td_retval[0] = p2->p_pid; + td->td_retval[1] = 0; + + if (args->flags & LINUX_CLONE_VFORK) { + /* wait for the children to exit, ie. emulate vfork */ + PROC_LOCK(p2); + while (p2->p_flag & P_PPWAIT) + cv_wait(&p2->p_pwait, &p2->p_mtx); + PROC_UNLOCK(p2); + } + + return (0); +} Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/conf/files.amd64 Sat Feb 12 18:17:12 2011 (r218616) @@ -259,6 +259,7 @@ amd64/linux32/linux32_sysent.c optional amd64/linux32/linux32_sysvec.c optional compat_linux32 compat/linux/linux_emul.c optional compat_linux32 compat/linux/linux_file.c optional compat_linux32 +compat/linux/linux_fork.c optional compat_linux32 compat/linux/linux_futex.c optional compat_linux32 compat/linux/linux_getcwd.c optional compat_linux32 compat/linux/linux_ioctl.c optional compat_linux32 Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/conf/files.i386 Sat Feb 12 18:17:12 2011 (r218616) @@ -71,6 +71,7 @@ compat/linprocfs/linprocfs.c optional li compat/linsysfs/linsysfs.c optional linsysfs compat/linux/linux_emul.c optional compat_linux compat/linux/linux_file.c optional compat_linux +compat/linux/linux_fork.c optional compat_linux compat/linux/linux_futex.c optional compat_linux compat/linux/linux_getcwd.c optional compat_linux compat/linux/linux_ioctl.c optional compat_linux Modified: head/sys/conf/files.pc98 ============================================================================== --- head/sys/conf/files.pc98 Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/conf/files.pc98 Sat Feb 12 18:17:12 2011 (r218616) @@ -42,6 +42,7 @@ compat/linprocfs/linprocfs.c optional li compat/linsysfs/linsysfs.c optional linsysfs compat/linux/linux_emul.c optional compat_linux compat/linux/linux_file.c optional compat_linux +compat/linux/linux_fork.c optional compat_linux compat/linux/linux_futex.c optional compat_linux compat/linux/linux_getcwd.c optional compat_linux compat/linux/linux_ioctl.c optional compat_linux Modified: head/sys/i386/linux/linux.h ============================================================================== --- head/sys/i386/linux/linux.h Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/i386/linux/linux.h Sat Feb 12 18:17:12 2011 (r218616) @@ -881,5 +881,6 @@ struct linux_robust_list_head { }; int linux_set_upcall_kse(struct thread *td, register_t stack); +int linux_set_cloned_tls(struct thread *td, void *desc); #endif /* !_I386_LINUX_H_ */ Modified: head/sys/i386/linux/linux_machdep.c ============================================================================== --- head/sys/i386/linux/linux_machdep.c Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/i386/linux/linux_machdep.c Sat Feb 12 18:17:12 2011 (r218616) @@ -300,94 +300,6 @@ linux_old_select(struct thread *td, stru } int -linux_fork(struct thread *td, struct linux_fork_args *args) -{ - int error; - struct proc *p2; - struct thread *td2; - -#ifdef DEBUG - if (ldebug(fork)) - printf(ARGS(fork, "")); -#endif - - if ((error = fork1(td, RFFDG | RFPROC | RFSTOPPED, 0, &p2)) != 0) - return (error); - - if (error == 0) { - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - } - - if (td->td_retval[1] == 1) - td->td_retval[0] = 0; - error = linux_proc_init(td, td->td_retval[0], 0); - if (error) - return (error); - - td2 = FIRST_THREAD_IN_PROC(p2); - - /* - * Make this runnable after we are finished with it. - */ - thread_lock(td2); - TD_SET_CAN_RUN(td2); - sched_add(td2, SRQ_BORING); - thread_unlock(td2); - - return (0); -} - -int -linux_vfork(struct thread *td, struct linux_vfork_args *args) -{ - int error; - struct proc *p2; - struct thread *td2; - -#ifdef DEBUG - if (ldebug(vfork)) - printf(ARGS(vfork, "")); -#endif - - /* exclude RFPPWAIT */ - if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFSTOPPED, 0, &p2)) != 0) - return (error); - if (error == 0) { - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - } - /* Are we the child? */ - if (td->td_retval[1] == 1) - td->td_retval[0] = 0; - error = linux_proc_init(td, td->td_retval[0], 0); - if (error) - return (error); - - PROC_LOCK(p2); - p2->p_flag |= P_PPWAIT; - PROC_UNLOCK(p2); - - td2 = FIRST_THREAD_IN_PROC(p2); - - /* - * Make this runnable after we are finished with it. - */ - thread_lock(td2); - TD_SET_CAN_RUN(td2); - sched_add(td2, SRQ_BORING); - thread_unlock(td2); - - /* wait for the children to exit, ie. emulate vfork */ - PROC_LOCK(p2); - while (p2->p_flag & P_PPWAIT) - cv_wait(&p2->p_pwait, &p2->p_mtx); - PROC_UNLOCK(p2); - - return (0); -} - -static int linux_set_cloned_tls(struct thread *td, void *desc) { struct segment_descriptor sd; @@ -444,160 +356,6 @@ linux_set_cloned_tls(struct thread *td, } int -linux_clone(struct thread *td, struct linux_clone_args *args) -{ - int error, ff = RFPROC | RFSTOPPED; - struct proc *p2; - struct thread *td2; - int exit_signal; - struct linux_emuldata *em; - -#ifdef DEBUG - if (ldebug(clone)) { - printf(ARGS(clone, "flags %x, stack %x, parent tid: %x, child tid: %x"), - (unsigned int)args->flags, (unsigned int)args->stack, - (unsigned int)args->parent_tidptr, (unsigned int)args->child_tidptr); - } -#endif - - exit_signal = args->flags & 0x000000ff; - if (LINUX_SIG_VALID(exit_signal)) { - if (exit_signal <= LINUX_SIGTBLSZ) - exit_signal = - linux_to_bsd_signal[_SIG_IDX(exit_signal)]; - } else if (exit_signal != 0) - return (EINVAL); - - if (args->flags & LINUX_CLONE_VM) - ff |= RFMEM; - if (args->flags & LINUX_CLONE_SIGHAND) - ff |= RFSIGSHARE; - /* - * XXX: in linux sharing of fs info (chroot/cwd/umask) - * and open files is independant. in fbsd its in one - * structure but in reality it doesn't cause any problems - * because both of these flags are usually set together. - */ - if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS))) - ff |= RFFDG; - - /* - * Attempt to detect when linux_clone(2) is used for creating - * kernel threads. Unfortunately despite the existence of the - * CLONE_THREAD flag, version of linuxthreads package used in - * most popular distros as of beginning of 2005 doesn't make - * any use of it. Therefore, this detection relies on - * empirical observation that linuxthreads sets certain - * combination of flags, so that we can make more or less - * precise detection and notify the FreeBSD kernel that several - * processes are in fact part of the same threading group, so - * that special treatment is necessary for signal delivery - * between those processes and fd locking. - */ - if ((args->flags & 0xffffff00) == LINUX_THREADING_FLAGS) - ff |= RFTHREAD; - - if (args->flags & LINUX_CLONE_PARENT_SETTID) - if (args->parent_tidptr == NULL) - return (EINVAL); - - error = fork1(td, ff, 0, &p2); - if (error) - return (error); - - if (args->flags & (LINUX_CLONE_PARENT | LINUX_CLONE_THREAD)) { - sx_xlock(&proctree_lock); - PROC_LOCK(p2); - proc_reparent(p2, td->td_proc->p_pptr); - PROC_UNLOCK(p2); - sx_xunlock(&proctree_lock); - } - - /* create the emuldata */ - error = linux_proc_init(td, p2->p_pid, args->flags); - /* reference it - no need to check this */ - em = em_find(p2, EMUL_DOLOCK); - KASSERT(em != NULL, ("clone: emuldata not found.\n")); - /* and adjust it */ - - if (args->flags & LINUX_CLONE_THREAD) { - /* XXX: linux mangles pgrp and pptr somehow - * I think it might be this but I am not sure. - */ -#ifdef notyet - PROC_LOCK(p2); - p2->p_pgrp = td->td_proc->p_pgrp; - PROC_UNLOCK(p2); -#endif - exit_signal = 0; - } - - if (args->flags & LINUX_CLONE_CHILD_SETTID) - em->child_set_tid = args->child_tidptr; - else - em->child_set_tid = NULL; - - if (args->flags & LINUX_CLONE_CHILD_CLEARTID) - em->child_clear_tid = args->child_tidptr; - else - em->child_clear_tid = NULL; - - EMUL_UNLOCK(&emul_lock); - - if (args->flags & LINUX_CLONE_PARENT_SETTID) { - error = copyout(&p2->p_pid, args->parent_tidptr, sizeof(p2->p_pid)); - if (error) - printf(LMSG("copyout failed!")); - } - - PROC_LOCK(p2); - p2->p_sigparent = exit_signal; - PROC_UNLOCK(p2); - td2 = FIRST_THREAD_IN_PROC(p2); - /* - * in a case of stack = NULL we are supposed to COW calling process stack - * this is what normal fork() does so we just keep the tf_esp arg intact - */ - if (args->stack) - linux_set_upcall_kse(td2, PTROUT(args->stack)); - - if (args->flags & LINUX_CLONE_SETTLS) - linux_set_cloned_tls(td2, args->tls); - -#ifdef DEBUG - if (ldebug(clone)) - printf(LMSG("clone: successful rfork to %ld, stack %p sig = %d"), - (long)p2->p_pid, args->stack, exit_signal); -#endif - if (args->flags & LINUX_CLONE_VFORK) { - PROC_LOCK(p2); - p2->p_flag |= P_PPWAIT; - PROC_UNLOCK(p2); - } - - /* - * Make this runnable after we are finished with it. - */ - thread_lock(td2); - TD_SET_CAN_RUN(td2); - sched_add(td2, SRQ_BORING); - thread_unlock(td2); - - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - - if (args->flags & LINUX_CLONE_VFORK) { - /* wait for the children to exit, ie. emulate vfork */ - PROC_LOCK(p2); - while (p2->p_flag & P_PPWAIT) - cv_wait(&p2->p_pwait, &p2->p_mtx); - PROC_UNLOCK(p2); - } - - return (0); -} - -int linux_set_upcall_kse(struct thread *td, register_t stack) { Modified: head/sys/modules/linux/Makefile ============================================================================== --- head/sys/modules/linux/Makefile Sat Feb 12 17:58:36 2011 (r218615) +++ head/sys/modules/linux/Makefile Sat Feb 12 18:17:12 2011 (r218616) @@ -8,7 +8,7 @@ CFLAGS+=-DCOMPAT_FREEBSD32 -DCOMPAT_LINU .PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_CPUARCH}/linux${SFX} KMOD= linux -SRCS= linux${SFX}_dummy.c linux_emul.c linux_file.c \ +SRCS= linux_fork.c linux${SFX}_dummy.c linux_emul.c linux_file.c \ linux_futex.c linux_getcwd.c linux_ioctl.c linux_ipc.c \ linux${SFX}_machdep.c linux_mib.c linux_misc.c linux_signal.c \ linux_socket.c linux_stats.c linux_sysctl.c linux${SFX}_sysent.c \ From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 19:14:57 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF4361065673; Sat, 12 Feb 2011 19:14:57 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AFA9D8FC1D; Sat, 12 Feb 2011 19:14:57 +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 p1CJEvhZ011926; Sat, 12 Feb 2011 19:14:57 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CJEvuV011924; Sat, 12 Feb 2011 19:14:57 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102121914.p1CJEvuV011924@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 19:14:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218617 - head/sys/compat/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 19:14:57 -0000 Author: dchagin Date: Sat Feb 12 19:14:57 2011 New Revision: 218617 URL: http://svn.freebsd.org/changeset/base/218617 Log: Remove bogus include Modified: head/sys/compat/linux/linux_fork.c Modified: head/sys/compat/linux/linux_fork.c ============================================================================== --- head/sys/compat/linux/linux_fork.c Sat Feb 12 18:17:12 2011 (r218616) +++ head/sys/compat/linux/linux_fork.c Sat Feb 12 19:14:57 2011 (r218617) @@ -41,8 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include - #ifdef COMPAT_LINUX32 #include #include From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 20:16:25 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9411F10656A6; Sat, 12 Feb 2011 20:16:25 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 845808FC2A; Sat, 12 Feb 2011 20:16:25 +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 p1CKGPcJ013609; Sat, 12 Feb 2011 20:16:25 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CKGPOA013607; Sat, 12 Feb 2011 20:16:25 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102122016.p1CKGPOA013607@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 20:16:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218618 - head/sys/compat/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 20:16:25 -0000 Author: dchagin Date: Sat Feb 12 20:16:25 2011 New Revision: 218618 URL: http://svn.freebsd.org/changeset/base/218618 Log: Slightly rewrite linux_fork: 1) Remove bogus error checking. 2) A new process exit from kernel through fork_trampoline(), so remove bogus check. Modified: head/sys/compat/linux/linux_fork.c Modified: head/sys/compat/linux/linux_fork.c ============================================================================== --- head/sys/compat/linux/linux_fork.c Sat Feb 12 19:14:57 2011 (r218617) +++ head/sys/compat/linux/linux_fork.c Sat Feb 12 20:16:25 2011 (r218618) @@ -67,13 +67,9 @@ linux_fork(struct thread *td, struct lin if ((error = fork1(td, RFFDG | RFPROC | RFSTOPPED, 0, &p2)) != 0) return (error); - if (error == 0) { - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - } + td->td_retval[0] = p2->p_pid; + td->td_retval[1] = 0; - if (td->td_retval[1] == 1) - td->td_retval[0] = 0; error = linux_proc_init(td, td->td_retval[0], 0); if (error) return (error); @@ -106,13 +102,10 @@ linux_vfork(struct thread *td, struct li /* Exclude RFPPWAIT */ if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFSTOPPED, 0, &p2)) != 0) return (error); - if (error == 0) { - td->td_retval[0] = p2->p_pid; - td->td_retval[1] = 0; - } - /* Are we the child? */ - if (td->td_retval[1] == 1) - td->td_retval[0] = 0; + + td->td_retval[0] = p2->p_pid; + td->td_retval[1] = 0; + error = linux_proc_init(td, td->td_retval[0], 0); if (error) return (error); From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 20:28:15 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC3A1106566B; Sat, 12 Feb 2011 20:28:15 +0000 (UTC) (envelope-from brucec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9C7C98FC08; Sat, 12 Feb 2011 20:28:15 +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 p1CKSF1n013925; Sat, 12 Feb 2011 20:28:15 GMT (envelope-from brucec@svn.freebsd.org) Received: (from brucec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CKSFVT013923; Sat, 12 Feb 2011 20:28:15 GMT (envelope-from brucec@svn.freebsd.org) Message-Id: <201102122028.p1CKSFVT013923@svn.freebsd.org> From: Bruce Cran Date: Sat, 12 Feb 2011 20:28:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218619 - head/bin/ed X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 20:28:15 -0000 Author: brucec Date: Sat Feb 12 20:28:15 2011 New Revision: 218619 URL: http://svn.freebsd.org/changeset/base/218619 Log: Fix typos. PR: docs/131625 Submitted by: Andrew Wright MFC after: 1 month Modified: head/bin/ed/ed.1 Modified: head/bin/ed/ed.1 ============================================================================== --- head/bin/ed/ed.1 Sat Feb 12 20:16:25 2011 (r218618) +++ head/bin/ed/ed.1 Sat Feb 12 20:28:15 2011 (r218619) @@ -231,7 +231,7 @@ The current line (address) in the buffer The last line in the buffer. .It n The -.Em n Ns th, +.Em n Ns th line in the buffer where .Em n @@ -649,7 +649,7 @@ The mark is not cleared until the line i deleted or otherwise modified. .It (.,.)l Print the addressed lines unambiguously. -If a single line fills for than one screen (as might be the case +If a single line fills more than one screen (as might be the case when viewing a binary file, for instance), a .Dq Li --More-- prompt is printed on the last line. From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 20:42:54 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BFCB106566B; Sat, 12 Feb 2011 20:42:54 +0000 (UTC) (envelope-from brucec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EFEDF8FC17; Sat, 12 Feb 2011 20:42: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 p1CKgrGd014323; Sat, 12 Feb 2011 20:42:53 GMT (envelope-from brucec@svn.freebsd.org) Received: (from brucec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CKgr21014321; Sat, 12 Feb 2011 20:42:53 GMT (envelope-from brucec@svn.freebsd.org) Message-Id: <201102122042.p1CKgr21014321@svn.freebsd.org> From: Bruce Cran Date: Sat, 12 Feb 2011 20:42: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: r218620 - head/share/examples/pf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 20:42:54 -0000 Author: brucec Date: Sat Feb 12 20:42:53 2011 New Revision: 218620 URL: http://svn.freebsd.org/changeset/base/218620 Log: If the pf.conf(5) example file is copied when setting up a firewall it's easy to forget about icmp. Update the file to show allowing icmp through the firewall. PR: docs/144986 MFC after: 1 month Modified: head/share/examples/pf/pf.conf Modified: head/share/examples/pf/pf.conf ============================================================================== --- head/share/examples/pf/pf.conf Sat Feb 12 20:28:15 2011 (r218619) +++ head/share/examples/pf/pf.conf Sat Feb 12 20:42:53 2011 (r218620) @@ -32,3 +32,4 @@ #pass in on $ext_if proto tcp to ($ext_if) port ssh #pass in log on $ext_if proto tcp to ($ext_if) port smtp #pass out log on $ext_if proto tcp from ($ext_if) to port smtp +#pass in on $ext_if proto icmp to ($ext_if) From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 20:58:59 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9DFD51065672; Sat, 12 Feb 2011 20:58:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7306D8FC0A; Sat, 12 Feb 2011 20:58:59 +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 p1CKwxrk014761; Sat, 12 Feb 2011 20:58:59 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CKwxCi014757; Sat, 12 Feb 2011 20:58:59 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <201102122058.p1CKwxCi014757@svn.freebsd.org> From: Dmitry Chagin Date: Sat, 12 Feb 2011 20:58:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218621 - head/sys/compat/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 20:58:59 -0000 Author: dchagin Date: Sat Feb 12 20:58:59 2011 New Revision: 218621 URL: http://svn.freebsd.org/changeset/base/218621 Log: Rename used_requeue and use it as bitwise field to store more flags. Reimplement used_requeue logic with LINUX_XDEPR_REQUEUEOP flag. Modified: head/sys/compat/linux/linux_emul.c head/sys/compat/linux/linux_emul.h head/sys/compat/linux/linux_futex.c Modified: head/sys/compat/linux/linux_emul.c ============================================================================== --- head/sys/compat/linux/linux_emul.c Sat Feb 12 20:42:53 2011 (r218620) +++ head/sys/compat/linux/linux_emul.c Sat Feb 12 20:58:59 2011 (r218621) @@ -87,7 +87,7 @@ linux_proc_init(struct thread *td, pid_t em = malloc(sizeof *em, M_LINUX, M_WAITOK | M_ZERO); em->pid = child; em->pdeath_signal = 0; - em->used_requeue = 0; + em->flags = 0; em->robust_futexes = NULL; if (flags & LINUX_CLONE_THREAD) { /* handled later in the code */ Modified: head/sys/compat/linux/linux_emul.h ============================================================================== --- head/sys/compat/linux/linux_emul.h Sat Feb 12 20:42:53 2011 (r218620) +++ head/sys/compat/linux/linux_emul.h Sat Feb 12 20:58:59 2011 (r218621) @@ -55,7 +55,7 @@ struct linux_emuldata { struct linux_emuldata_shared *shared; int pdeath_signal; /* parent death signal */ - int used_requeue; /* uses deprecated futex op */ + int flags; /* different emuldata flags */ struct linux_robust_list_head *robust_futexes; @@ -76,6 +76,10 @@ struct linux_emuldata *em_find(struct pr #define EMUL_DOLOCK 1 #define EMUL_DONTLOCK 0 +/* emuldata flags */ +#define LINUX_XDEPR_REQUEUEOP 0x00000001 /* uses deprecated + futex REQUEUE op*/ + int linux_proc_init(struct thread *, pid_t, int); void linux_proc_exit(void *, struct proc *); void linux_schedtail(void *, struct proc *); Modified: head/sys/compat/linux/linux_futex.c ============================================================================== --- head/sys/compat/linux/linux_futex.c Sat Feb 12 20:42:53 2011 (r218620) +++ head/sys/compat/linux/linux_futex.c Sat Feb 12 20:58:59 2011 (r218621) @@ -678,11 +678,11 @@ linux_sys_futex(struct thread *td, struc * FUTEX_REQUEUE returned EINVAL. */ em = em_find(td->td_proc, EMUL_DONTLOCK); - if (em->used_requeue == 0) { + if ((em->flags & LINUX_XDEPR_REQUEUEOP) == 0) { linux_msg(td, "linux_sys_futex: " "unsupported futex_requeue op\n"); - em->used_requeue = 1; + em->flags |= LINUX_XDEPR_REQUEUEOP; } return (EINVAL); From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 21:17:39 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 252171065675; Sat, 12 Feb 2011 21:17:39 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 149018FC1A; Sat, 12 Feb 2011 21:17: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 p1CLHctl015231; Sat, 12 Feb 2011 21:17:38 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CLHc2K015229; Sat, 12 Feb 2011 21:17:38 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201102122117.p1CLHc2K015229@svn.freebsd.org> From: Hans Petter Selasky Date: Sat, 12 Feb 2011 21:17: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: r218623 - head/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 21:17:39 -0000 Author: hselasky Date: Sat Feb 12 21:17:38 2011 New Revision: 218623 URL: http://svn.freebsd.org/changeset/base/218623 Log: Add missing USB_HOST_ALIGN option. Approved by: thompsa (mentor) Modified: head/sys/conf/options Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Sat Feb 12 21:06:12 2011 (r218622) +++ head/sys/conf/options Sat Feb 12 21:17:38 2011 (r218623) @@ -643,6 +643,7 @@ BUS_DEBUG opt_bus.h # options for USB support USB_DEBUG opt_usb.h +USB_HOST_ALIGN opt_usb.h USB_REQ_DEBUG opt_usb.h USB_VERBOSE opt_usb.h USB_EHCI_BIG_ENDIAN_DESC opt_usb.h From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 21:30:47 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47D211065674; Sat, 12 Feb 2011 21:30:47 +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 36CBB8FC19; Sat, 12 Feb 2011 21:30: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 p1CLUlBC015585; Sat, 12 Feb 2011 21:30:47 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CLUlsa015583; Sat, 12 Feb 2011 21:30:47 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <201102122130.p1CLUlsa015583@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sat, 12 Feb 2011 21:30: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: r218625 - head/crypto/openssl/ssl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 21:30:47 -0000 Author: simon Date: Sat Feb 12 21:30:46 2011 New Revision: 218625 URL: http://svn.freebsd.org/changeset/base/218625 Log: Fix Incorrectly formatted ClientHello SSL/TLS handshake messages could cause OpenSSL to parse past the end of the message. Note: Applications are only affected if they act as a server and call SSL_CTX_set_tlsext_status_cb on the server's SSL_CTX. This includes Apache httpd >= 2.3.3, if configured with "SSLUseStapling On". Security: http://www.openssl.org/news/secadv_20110208.txt Security: CVE-2011-0014 Obtained from: OpenSSL CVS Modified: head/crypto/openssl/ssl/t1_lib.c Modified: head/crypto/openssl/ssl/t1_lib.c ============================================================================== --- head/crypto/openssl/ssl/t1_lib.c Sat Feb 12 21:30:08 2011 (r218624) +++ head/crypto/openssl/ssl/t1_lib.c Sat Feb 12 21:30:46 2011 (r218625) @@ -521,6 +521,7 @@ int ssl_parse_clienthello_tlsext(SSL *s, } n2s(data, idsize); dsize -= 2 + idsize; + size -= 2 + idsize; if (dsize < 0) { *al = SSL_AD_DECODE_ERROR; @@ -559,9 +560,14 @@ int ssl_parse_clienthello_tlsext(SSL *s, } /* Read in request_extensions */ + if (size < 2) + { + *al = SSL_AD_DECODE_ERROR; + return 0; + } n2s(data,dsize); size -= 2; - if (dsize > size) + if (dsize != size) { *al = SSL_AD_DECODE_ERROR; return 0; From owner-svn-src-all@FreeBSD.ORG Sat Feb 12 23:44:06 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A0D2106564A; Sat, 12 Feb 2011 23:44:06 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D08D38FC14; Sat, 12 Feb 2011 23:44:05 +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 p1CNi5oY018862; Sat, 12 Feb 2011 23:44:05 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1CNi5DG018858; Sat, 12 Feb 2011 23:44:05 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201102122344.p1CNi5DG018858@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 12 Feb 2011 23:44:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218626 - in head: bin/sh tools/regression/bin/sh/expansion X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2011 23:44:06 -0000 Author: jilles Date: Sat Feb 12 23:44:05 2011 New Revision: 218626 URL: http://svn.freebsd.org/changeset/base/218626 Log: sh: Detect dividing the smallest integer by -1. This overflows and on some architectures such as amd64 it generates SIGFPE. Generate an error on all architectures. Added: head/tools/regression/bin/sh/expansion/arith11.0 (contents, props changed) Modified: head/bin/sh/arith_yacc.c head/bin/sh/shell.h Modified: head/bin/sh/arith_yacc.c ============================================================================== --- head/bin/sh/arith_yacc.c Sat Feb 12 21:30:46 2011 (r218625) +++ head/bin/sh/arith_yacc.c Sat Feb 12 23:44:05 2011 (r218626) @@ -125,6 +125,8 @@ static arith_t do_binop(int op, arith_t case ARITH_DIV: if (!b) yyerror("division by zero"); + if (a == ARITH_MIN && b == -1) + yyerror("divide error"); return op == ARITH_REM ? a % b : a / b; case ARITH_MUL: return a * b; Modified: head/bin/sh/shell.h ============================================================================== --- head/bin/sh/shell.h Sat Feb 12 21:30:46 2011 (r218625) +++ head/bin/sh/shell.h Sat Feb 12 23:44:05 2011 (r218626) @@ -59,6 +59,8 @@ typedef intmax_t arith_t; #define ARITH_FORMAT_STR "%" PRIdMAX #define atoarith_t(arg) strtoimax(arg, NULL, 0) #define strtoarith_t(nptr, endptr, base) strtoimax(nptr, endptr, base) +#define ARITH_MIN INTMAX_MIN +#define ARITH_MAX INTMAX_MAX typedef void *pointer; #define MKINIT /* empty */ Added: head/tools/regression/bin/sh/expansion/arith11.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/expansion/arith11.0 Sat Feb 12 23:44:05 2011 (r218626) @@ -0,0 +1,12 @@ +# $FreeBSD$ +# Try to divide the smallest integer by -1. +# On amd64 this causes SIGFPE, so make sure the shell checks. + +# Calculate the minimum possible value, assuming two's complement and +# a certain interpretation of overflow when shifting left. +minint=1 +while [ $((minint <<= 1)) -gt 0 ]; do + : +done +v=$( eval ': $((minint / -1))' 2>&1 >/dev/null) +[ $? -ne 0 ] && [ -n "$v" ]