From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 01:06:58 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96B70106564A; Sun, 7 Jun 2009 01:06:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 84A568FC0A; Sun, 7 Jun 2009 01:06:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5716vnh077203; Sun, 7 Jun 2009 01:06:57 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5716v1N077202; Sun, 7 Jun 2009 01:06:57 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200906070106.n5716v1N077202@svn.freebsd.org> From: Rick Macklem Date: Sun, 7 Jun 2009 01:06: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: r193603 - head/sys/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 01:06:59 -0000 Author: rmacklem Date: Sun Jun 7 01:06:56 2009 New Revision: 193603 URL: http://svn.freebsd.org/changeset/base/193603 Log: Fix a lockorder reversal I introduced in r193436 when I moved the mtx_destroy() of the pool mutex to after SVC_RELEASE(), because the pool mutex was still locked when soclose() was called by svc_dg_destroy(). To fix this, an mtx_unlock() was added where mtx_destroy() was before r193436. Reviewed by: jhb Tested by: pho Approved by: rwatson (mentor) Modified: head/sys/rpc/svc.c Modified: head/sys/rpc/svc.c ============================================================================== --- head/sys/rpc/svc.c Sun Jun 7 01:02:33 2009 (r193602) +++ head/sys/rpc/svc.c Sun Jun 7 01:06:56 2009 (r193603) @@ -174,6 +174,7 @@ svcpool_destroy(SVCPOOL *pool) svc_unreg(pool, s->sc_prog, s->sc_vers); mtx_lock(&pool->sp_lock); } + mtx_unlock(&pool->sp_lock); TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) { SVC_RELEASE(xprt); From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 02:42:32 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BBEF106566B; Sun, 7 Jun 2009 02:42:32 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout018.mac.com (asmtpout018.mac.com [17.148.16.93]) by mx1.freebsd.org (Postfix) with ESMTP id 542F28FC15; Sun, 7 Jun 2009 02:42:32 +0000 (UTC) (envelope-from xcllnt@mac.com) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Received: from MacBook-Pro.lan.xcllnt.net (mail.xcllnt.net [75.101.29.67]) by asmtp018.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KKU007HWKUVYT60@asmtp018.mac.com>; Sat, 06 Jun 2009 19:42:32 -0700 (PDT) Message-id: <27E90488-75EB-49DB-900D-CE0B1C5D034C@mac.com> From: Marcel Moolenaar To: Rafal Jaworowski In-reply-to: <200906060933.n569XWEu054745@svn.freebsd.org> Date: Sat, 06 Jun 2009 19:42:31 -0700 References: <200906060933.n569XWEu054745@svn.freebsd.org> X-Mailer: Apple Mail (2.935.3) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193578 - in head/sys/powerpc: include powerpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 02:42:32 -0000 On Jun 6, 2009, at 2:33 AM, Rafal Jaworowski wrote: > Author: raj > Date: Sat Jun 6 09:33:32 2009 > New Revision: 193578 > URL: http://svn.freebsd.org/changeset/base/193578 > > Log: > Provide 64-bit big endian bus space operations for PowerPC. They > are required > for the upcoming sec(4) driver. BTW: We should probably obsolete pio.h and implement the various I/O functions inline in bus_machdep.c. No driver should use out* or in* functions directly if they want to be portable anyway... -- Marcel Moolenaar xcllnt@mac.com From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 04:45:51 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D68E106564A; Sun, 7 Jun 2009 04:45:51 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3DA9F8FC0C; Sun, 7 Jun 2009 04:45:51 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n574jp8V081785; Sun, 7 Jun 2009 04:45:51 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n574jptO081783; Sun, 7 Jun 2009 04:45:51 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200906070445.n574jptO081783@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 7 Jun 2009 04:45: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: r193609 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 04:45:52 -0000 Author: edwin Date: Sun Jun 7 04:45:50 2009 New Revision: 193609 URL: http://svn.freebsd.org/changeset/base/193609 Log: Remove cruft at 0E11-0002. Informed upstream. Submitted by: Pawel Worach MFC after: 6 days. Modified: head/share/misc/pci_vendors Modified: head/share/misc/pci_vendors ============================================================================== --- head/share/misc/pci_vendors Sun Jun 7 04:39:58 2009 (r193608) +++ head/share/misc/pci_vendors Sun Jun 7 04:45:50 2009 (r193609) @@ -146,7 +146,7 @@ 064F Trance Vibrator 0E11 Compaq Computer Corp (Now owned by Hewlett-Packard) 0001 PCI to EISA Bridge - 0002 [URL=http://bjlsgpvs.com]zyqdruqt[/URL] pkooxpbn http://khmycdty.com znrqsyvm syeowswq Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F1691065675; Sun, 7 Jun 2009 04:49:25 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8AE048FC1B; Sun, 7 Jun 2009 04:49:25 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n574nPcd081886; Sun, 7 Jun 2009 04:49:25 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n574nNgV081882; Sun, 7 Jun 2009 04:49:23 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200906070449.n574nNgV081882@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 7 Jun 2009 04:49:23 +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: r193610 - in stable/7/games/fortune: . datfiles fortune X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 04:49:26 -0000 Author: edwin Date: Sun Jun 7 04:49:23 2009 New Revision: 193610 URL: http://svn.freebsd.org/changeset/base/193610 Log: MFC of r193486 Misc fixed to fortunes PR: conf/112024 Submitted by: Niclas Zeising Modified: stable/7/games/fortune/ (props changed) stable/7/games/fortune/datfiles/ (props changed) stable/7/games/fortune/datfiles/fortunes stable/7/games/fortune/datfiles/fortunes-o.real stable/7/games/fortune/datfiles/freebsd-tips (props changed) stable/7/games/fortune/fortune/ (props changed) Modified: stable/7/games/fortune/datfiles/fortunes ============================================================================== --- stable/7/games/fortune/datfiles/fortunes Sun Jun 7 04:45:50 2009 (r193609) +++ stable/7/games/fortune/datfiles/fortunes Sun Jun 7 04:49:23 2009 (r193610) @@ -674,8 +674,9 @@ Liza Minnelli. % ... with liberty and justice for all who can afford it. % - 12 + 144 + 20 + 3(4) 2 - ---------------------- + 5(11) = 9 + 0 + 1/2 + 12 + 144 + 20 + 3*4 2 + ---------------------- + 5 * 11 = 9 + 0 7 A dozen, a gross and a score, @@ -758,7 +759,7 @@ his honeymoon a chastened man. He'd bec A farm in the country side had several turkeys, it was known as the house of seven gobbles. % - A father gave his teen-age daughter an untrained pedigreed pup for + A father gave his teenage daughter an untrained pedigreed pup for her birthday. An hour later, when wandered through the house, he found her looking at a puddle in the center of the kitchen. "My pup," she murmured sadly, "runneth over." @@ -2541,7 +2542,7 @@ library and I'm half way through the sec should find what I'm looking for by mid May. I hope I can remember what it was by the time I find it. I had this idea for a new horror film, "VMS Manuals from Hell" or maybe -"The Paper Chase : IBM vs. DEC". It's based on Hitchcock's "The Birds", except +"The Paper Chase: IBM vs. DEC". It's based on Hitchcock's "The Birds", except that it's centered around a programmer who is attacked by a swarm of binder pages with an index number and the single line "This page intentionally left blank." @@ -2935,7 +2936,7 @@ Esther and hustle them off to prison. They can't prove who they are because they've left their passports in their hotel room. For three weeks they're tortured day and night to get them to name their contacts in the liberation -movement.. Finally they're hauled in front of a military court, +movement. Finally they're hauled in front of a military court, charged with espionage, and sentenced to death. The next morning they're lined up in front of the wall where they'll be shot. The sergeant in charge of the firing squad asks them @@ -2992,7 +2993,7 @@ a girl should not do before twenty." "Your mother is right," said the executive, "I don't like a large audience, either." % - NEW YORK-- Kraft Foods, Inc. announced today that its board of + NEW YORK -- Kraft Foods, Inc. announced today that its board of directors unanimously rejected the $11 billion takeover bid by Philip Morris and Co. A Kraft spokesman stated in a press conference that the offer was rejected because the $90-per-share bid did not reflect the @@ -4077,7 +4078,7 @@ right! Can I have a dollar?" % The master programmer moves from program to program without fear. No change in management can harm him. He will not be fired, even if the project -is canceled. Why is this? He is filled with the Tao. +is canceled. Why is this? He is filled with the Tao. -- Geoffrey James, "The Tao of Programming" % The Minnesota Board of Education voted to consider requiring all @@ -4242,7 +4243,7 @@ With a lot of these folks you'd have to make sure that they are Earthlings. Then there's the police. In Portland, when some guy goes bananas, the cops rope off a sixteen block area around him and call a shrink from the medical school who stands atop a patrol car -with a megaphone and shouts, "OK! THIS! ALL! STARTED! WHEN! YOU! WERE! +with a megaphone and shouts, "OK! THIS! ALL! STARTED! WHEN! YOU! WERE! THREE! YEARS! OLD! ON! ACCOUNT! OF! YOUR MOTHER! RIGHT? SO! LET'S! TALK! ABOUT! IT!" Down here they don't waste that kind of time. The LAPD has SWAT teams composed of guys who make Darth Vader look like Mr. Peepers. @@ -4377,7 +4378,7 @@ against a wall, and this was inscribed o warlord Wu. The warlord asked the programmer: "Which is easier to design: an accounting package or an operating system?" "An operating system," replied the programmer. - The warlord uttered an exclamation of disbelief. "Surely an + The warlord uttered an exclamation of disbelief. "Surely an accounting package is trivial next to the complexity of an operating system," he said. "Not so," said the programmer, "when designing an accounting package, @@ -4387,7 +4388,7 @@ tax laws. By contrast, an operating sys appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design." - The warlord of Wu nodded and smiled. "That is all good and well," + The warlord of Wu nodded and smiled. "That is all good and well," he said, "but which is easier to debug?" The programmer made no reply. -- Geoffrey James, "The Tao of Programming" @@ -4828,7 +4829,7 @@ invariably he can't speak English, and i sure, little lady, it's eleven-thirty. Wanna get high? Don't bother thinking that instant lust will turn into the real thing. It may, but then you may also wake up one morning to find you're the Queen of -Rumania. +Romania. -- Cynthia Hemiel, "Sex Tips for Girls" % "When you wake up in the morning, Pooh," said Piglet at last, @@ -5270,9 +5271,9 @@ marked "450 volts", react as you would n For those who have had too much of Esalen, Topanga, and Kairos. Tired of being genuine all the time? Would you like to learn how to be a little phony again? Have you disclosed so much that you're -beginning to avoid people? Have you touched so many people that -they're all beginning to feel the same? Like to be a little dependent? -Are perfect orgasms beginning to bore you? Would you like, for once, +beginning to avoid people? Have you touched so many people that +they're all beginning to feel the same? Like to be a little dependent? +Are perfect orgasms beginning to bore you? Would you like, for once, not to express a feeling? Or better yet, not be in touch with it at all? Come to us. We promise to relieve you of the burden of your great potential. @@ -6572,7 +6573,7 @@ A critic is a bundle of biases held loos -- Whitney Balliett % A "critic" is a man who creates nothing and thereby feels -qualified to judge the work of creative men. There is logic +qualified to judge the work of creative men. There is logic in this; he is unbiased -- he hates all creative people equally. % A cynic is a person searching for an honest man, with a stolen lantern. @@ -7264,7 +7265,7 @@ A little inaccuracy sometimes saves tons % A little kid went up to Santa and asked him, "Santa, you know when I'm bad right?" And Santa says, "Yes, I do." The little kid then asks, "And you -know when I'm sleeping?" To which Santa replies, "Every minute." So the +know when I'm sleeping?" To which Santa replies, "Every minute." So the little kid then says, "Well, if you know when I'm bad and when I'm good, then how come you don't know what I want for Christmas?" % Modified: stable/7/games/fortune/datfiles/fortunes-o.real ============================================================================== --- stable/7/games/fortune/datfiles/fortunes-o.real Sun Jun 7 04:45:50 2009 (r193609) +++ stable/7/games/fortune/datfiles/fortunes-o.real Sun Jun 7 04:49:23 2009 (r193610) @@ -1636,7 +1636,7 @@ Jerry Falwell, would get upset about see claim," he jeered, "that my client came at you with a broken bottle in his hand. But is it not true, that you had something in YOUR hand?" - "Yes," he admitted, "his wife. Very charming, of course, but + "Yes," he admitted, "his wife. Very charming, of course, but not much good in a fight." % The devout Jew was beside himself because his son had been dating From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:08:21 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 748F0106564A; Sun, 7 Jun 2009 05:08:21 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 61A548FC16; Sun, 7 Jun 2009 05:08:21 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5758Lw5082336; Sun, 7 Jun 2009 05:08:21 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5758L1Z082335; Sun, 7 Jun 2009 05:08:21 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070508.n5758L1Z082335@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 05:08:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193612 - in stable/7/sys: . contrib/pf dev/age dev/ath/ath_hal dev/cxgb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 05:08:22 -0000 Author: yongari Date: Sun Jun 7 05:08:20 2009 New Revision: 193612 URL: http://svn.freebsd.org/changeset/base/193612 Log: MFC r192418: pci(4) handles PCIM_CMD_INTxDIS so there is no need to poke this bit in driver. Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/age/if_age.c stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) Modified: stable/7/sys/dev/age/if_age.c ============================================================================== --- stable/7/sys/dev/age/if_age.c Sun Jun 7 04:58:34 2009 (r193611) +++ stable/7/sys/dev/age/if_age.c Sun Jun 7 05:08:20 2009 (r193612) @@ -1477,23 +1477,11 @@ age_resume(device_t dev) { struct age_softc *sc; struct ifnet *ifp; - uint16_t cmd; sc = device_get_softc(dev); AGE_LOCK(sc); - /* - * Clear INTx emulation disable for hardwares that - * is set in resume event. From Linux. - */ - cmd = pci_read_config(sc->age_dev, PCIR_COMMAND, 2); - if ((cmd & 0x0400) != 0) { - cmd &= ~0x0400; - pci_write_config(sc->age_dev, PCIR_COMMAND, cmd, 2); - } - AGE_UNLOCK(sc); age_phy_reset(sc); - AGE_LOCK(sc); ifp = sc->age_ifp; if ((ifp->if_flags & IFF_UP) != 0) age_init_locked(sc); From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:12:52 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 08A3C106566C; Sun, 7 Jun 2009 05:12:52 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E9DE78FC0A; Sun, 7 Jun 2009 05:12:51 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n575Cof2082477; Sun, 7 Jun 2009 05:12:50 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n575CoBr082476; Sun, 7 Jun 2009 05:12:50 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070512.n575CoBr082476@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 05:12:50 +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: r193613 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/nfe X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 05:12:52 -0000 Author: yongari Date: Sun Jun 7 05:12:50 2009 New Revision: 193613 URL: http://svn.freebsd.org/changeset/base/193613 Log: MFC r192706: NVIDIA MCP controllers have no Rx buffer alignment restrictions. Remove PAGE_SIZE alignment used in Rx buffer DMA tag creation. The alignment restriction was used in old local jumbo allocator and nfe(4) switched to UMA backed page allocator for jumbo frame. This change should fix jumbo buffer allocation failure. Reported by: Pascal Braun ( pascal.braun <> continum dot net ) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/nfe/if_nfe.c Modified: stable/7/sys/dev/nfe/if_nfe.c ============================================================================== --- stable/7/sys/dev/nfe/if_nfe.c Sun Jun 7 05:08:20 2009 (r193612) +++ stable/7/sys/dev/nfe/if_nfe.c Sun Jun 7 05:12:50 2009 (r193613) @@ -1153,7 +1153,7 @@ nfe_alloc_jrx_ring(struct nfe_softc *sc, /* Create DMA tag for jumbo Rx buffers. */ error = bus_dma_tag_create(sc->nfe_parent_tag, - PAGE_SIZE, 0, /* alignment, boundary */ + 1, 0, /* alignment, boundary */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:22:24 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32484106564A; Sun, 7 Jun 2009 05:22:24 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1EF348FC17; Sun, 7 Jun 2009 05:22:24 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n575MMVd082704; Sun, 7 Jun 2009 05:22:22 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n575MMWB082703; Sun, 7 Jun 2009 05:22:22 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070522.n575MMWB082703@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 05:22:22 +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: r193614 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/msk X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 05:22:24 -0000 Author: yongari Date: Sun Jun 7 05:22:22 2009 New Revision: 193614 URL: http://svn.freebsd.org/changeset/base/193614 Log: MFC r190314: Togging ALLMULTI does not require controller reset so have Rx filtering handle this. Introduce a new function msk_rxfilter that handles Rx filter configuration and multicast setup as well as promiscuous mode. This simplifies code a lot. Promiscuous mode always have preference to any other Rx filtering so don't disable the mode when ALLMULTI is set. Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/msk/if_msk.c Modified: stable/7/sys/dev/msk/if_msk.c ============================================================================== --- stable/7/sys/dev/msk/if_msk.c Sun Jun 7 05:12:50 2009 (r193613) +++ stable/7/sys/dev/msk/if_msk.c Sun Jun 7 05:22:22 2009 (r193614) @@ -287,9 +287,8 @@ static int msk_miibus_writereg(device_t, static void msk_miibus_statchg(device_t); static void msk_link_task(void *, int); -static void msk_setmulti(struct msk_if_softc *); +static void msk_rxfilter(struct msk_if_softc *); static void msk_setvlan(struct msk_if_softc *, struct ifnet *); -static void msk_setpromisc(struct msk_if_softc *); static void msk_stats_clear(struct msk_if_softc *); static void msk_stats_update(struct msk_if_softc *); @@ -560,7 +559,7 @@ msk_link_task(void *arg, int pending) } static void -msk_setmulti(struct msk_if_softc *sc_if) +msk_rxfilter(struct msk_if_softc *sc_if) { struct msk_softc *sc; struct ifnet *ifp; @@ -577,15 +576,14 @@ msk_setmulti(struct msk_if_softc *sc_if) bzero(mchash, sizeof(mchash)); mode = GMAC_READ_2(sc, sc_if->msk_port, GM_RX_CTRL); - mode |= GM_RXCR_UCF_ENA; - if ((ifp->if_flags & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { - if ((ifp->if_flags & IFF_PROMISC) != 0) - mode &= ~(GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); - else if ((ifp->if_flags & IFF_ALLMULTI) != 0) { - mchash[0] = 0xffff; - mchash[1] = 0xffff; - } + if ((ifp->if_flags & IFF_PROMISC) != 0) + mode &= ~(GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); + else if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + mode |= GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA; + mchash[0] = 0xffff; + mchash[1] = 0xffff; } else { + mode |= GM_RXCR_UCF_ENA; IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) @@ -598,7 +596,8 @@ msk_setmulti(struct msk_if_softc *sc_if) mchash[crc >> 5] |= 1 << (crc & 0x1f); } IF_ADDR_UNLOCK(ifp); - mode |= GM_RXCR_MCF_ENA; + if (mchash[0] != 0 || mchash[1] != 0) + mode |= GM_RXCR_MCF_ENA; } GMAC_WRITE_2(sc, sc_if->msk_port, GM_MC_ADDR_H1, @@ -631,26 +630,6 @@ msk_setvlan(struct msk_if_softc *sc_if, } } -static void -msk_setpromisc(struct msk_if_softc *sc_if) -{ - struct msk_softc *sc; - struct ifnet *ifp; - uint16_t mode; - - MSK_IF_LOCK_ASSERT(sc_if); - - sc = sc_if->msk_softc; - ifp = sc_if->msk_ifp; - - mode = GMAC_READ_2(sc, sc_if->msk_port, GM_RX_CTRL); - if (ifp->if_flags & IFF_PROMISC) - mode &= ~(GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); - else - mode |= (GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); - GMAC_WRITE_2(sc, sc_if->msk_port, GM_RX_CTRL, mode); -} - static int msk_init_rx_ring(struct msk_if_softc *sc_if) { @@ -954,10 +933,8 @@ msk_ioctl(struct ifnet *ifp, u_long comm if ((ifp->if_flags & IFF_UP) != 0) { if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { if (((ifp->if_flags ^ sc_if->msk_if_flags) - & IFF_PROMISC) != 0) { - msk_setpromisc(sc_if); - msk_setmulti(sc_if); - } + & (IFF_PROMISC | IFF_ALLMULTI)) != 0) + msk_rxfilter(sc_if); } else { if (sc_if->msk_detach == 0) msk_init_locked(sc_if); @@ -973,7 +950,7 @@ msk_ioctl(struct ifnet *ifp, u_long comm case SIOCDELMULTI: MSK_IF_LOCK(sc_if); if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) - msk_setmulti(sc_if); + msk_rxfilter(sc_if); MSK_IF_UNLOCK(sc_if); break; case SIOCGIFMEDIA: @@ -3594,11 +3571,8 @@ msk_init_locked(struct msk_if_softc *sc_ CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_CTRL_T), GMF_OPER_ON | GMF_RX_F_FL_ON); - /* Set promiscuous mode. */ - msk_setpromisc(sc_if); - - /* Set multicast filter. */ - msk_setmulti(sc_if); + /* Set receive filter. */ + msk_rxfilter(sc_if); /* Flush Rx MAC FIFO on any flow control or error. */ CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK), From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:41:14 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30D58106566B; Sun, 7 Jun 2009 05:41:14 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1C8758FC18; Sun, 7 Jun 2009 05:41:14 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n575fDsa083182; Sun, 7 Jun 2009 05:41:13 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n575fDBq083180; Sun, 7 Jun 2009 05:41:13 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070541.n575fDBq083180@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 05:41:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193615 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/nge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 05:41:15 -0000 Author: yongari Date: Sun Jun 7 05:41:13 2009 New Revision: 193615 URL: http://svn.freebsd.org/changeset/base/193615 Log: MFC r192288-192292,192294,192297-192299: r192288: Use ANSI C declarations for all functions. r192289: Remove register keyword. r192290: Remove trailling whitespaces. r192291: Remove return statement at the end of functions that return void. r192292: style(9) - space after keyword. r192294: s/u_int8_t/uint8_t/g s/u_int16_t/uint16_t/g s/u_int32_t/uint32_t/g r192297: style(9) r192298: Consistently use tab characters instead of spaces. r192299: Remove extra parenthesis used in macros. These macros are not used in driver, though. Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/nge/if_nge.c stable/7/sys/dev/nge/if_ngereg.h Modified: stable/7/sys/dev/nge/if_nge.c ============================================================================== --- stable/7/sys/dev/nge/if_nge.c Sun Jun 7 05:22:22 2009 (r193614) +++ stable/7/sys/dev/nge/if_nge.c Sun Jun 7 05:41:13 2009 (r193615) @@ -151,7 +151,7 @@ static int nge_attach(device_t); static int nge_detach(device_t); static int nge_newbuf(struct nge_softc *, struct nge_desc *, struct mbuf *); -static int nge_encap(struct nge_softc *, struct mbuf *, u_int32_t *); +static int nge_encap(struct nge_softc *, struct mbuf *, uint32_t *); #ifdef NGE_FIXUP_RX static __inline void nge_fixup_rx (struct mbuf *); #endif @@ -174,11 +174,11 @@ static void nge_ifmedia_sts(struct ifnet static void nge_delay(struct nge_softc *); static void nge_eeprom_idle(struct nge_softc *); static void nge_eeprom_putbyte(struct nge_softc *, int); -static void nge_eeprom_getword(struct nge_softc *, int, u_int16_t *); +static void nge_eeprom_getword(struct nge_softc *, int, uint16_t *); static void nge_read_eeprom(struct nge_softc *, caddr_t, int, int, int); static void nge_mii_sync(struct nge_softc *); -static void nge_mii_send(struct nge_softc *, u_int32_t, int); +static void nge_mii_send(struct nge_softc *, uint32_t, int); static int nge_mii_readreg(struct nge_softc *, struct nge_mii_frame *); static int nge_mii_writereg(struct nge_softc *, struct nge_mii_frame *); @@ -244,22 +244,18 @@ DRIVER_MODULE(miibus, nge, miibus_driver CSR_WRITE_4(sc, NGE_MEAR, CSR_READ_4(sc, NGE_MEAR) & ~(x)) static void -nge_delay(sc) - struct nge_softc *sc; +nge_delay(struct nge_softc *sc) { - int idx; + int idx; for (idx = (300 / 33) + 1; idx > 0; idx--) CSR_READ_4(sc, NGE_CSR); - - return; } static void -nge_eeprom_idle(sc) - struct nge_softc *sc; +nge_eeprom_idle(struct nge_softc *sc) { - register int i; + int i; SIO_SET(NGE_MEAR_EE_CSEL); nge_delay(sc); @@ -278,19 +274,15 @@ nge_eeprom_idle(sc) SIO_CLR(NGE_MEAR_EE_CSEL); nge_delay(sc); CSR_WRITE_4(sc, NGE_MEAR, 0x00000000); - - return; } /* * Send a read command and address to the EEPROM, check for ACK. */ static void -nge_eeprom_putbyte(sc, addr) - struct nge_softc *sc; - int addr; +nge_eeprom_putbyte(struct nge_softc *sc, int addr) { - register int d, i; + int d, i; d = addr | NGE_EECMD_READ; @@ -309,21 +301,16 @@ nge_eeprom_putbyte(sc, addr) SIO_CLR(NGE_MEAR_EE_CLK); nge_delay(sc); } - - return; } /* * Read a word of data stored in the EEPROM at address 'addr.' */ static void -nge_eeprom_getword(sc, addr, dest) - struct nge_softc *sc; - int addr; - u_int16_t *dest; +nge_eeprom_getword(struct nge_softc *sc, int addr, uint16_t *dest) { - register int i; - u_int16_t word = 0; + int i; + uint16_t word = 0; /* Force EEPROM to idle state. */ nge_eeprom_idle(sc); @@ -357,44 +344,34 @@ nge_eeprom_getword(sc, addr, dest) nge_eeprom_idle(sc); *dest = word; - - return; } /* * Read a sequence of words from the EEPROM. */ static void -nge_read_eeprom(sc, dest, off, cnt, swap) - struct nge_softc *sc; - caddr_t dest; - int off; - int cnt; - int swap; +nge_read_eeprom(struct nge_softc *sc, caddr_t dest, int off, int cnt, int swap) { - int i; - u_int16_t word = 0, *ptr; + int i; + uint16_t word = 0, *ptr; for (i = 0; i < cnt; i++) { nge_eeprom_getword(sc, off + i, &word); - ptr = (u_int16_t *)(dest + (i * 2)); + ptr = (uint16_t *)(dest + (i * 2)); if (swap) *ptr = ntohs(word); else *ptr = word; } - - return; } /* * Sync the PHYs by setting data bit and strobing the clock 32 times. */ static void -nge_mii_sync(sc) - struct nge_softc *sc; +nge_mii_sync(struct nge_softc *sc) { - register int i; + int i; SIO_SET(NGE_MEAR_MII_DIR|NGE_MEAR_MII_DATA); @@ -404,29 +381,24 @@ nge_mii_sync(sc) SIO_CLR(NGE_MEAR_MII_CLK); DELAY(1); } - - return; } /* * Clock a series of bits through the MII. */ static void -nge_mii_send(sc, bits, cnt) - struct nge_softc *sc; - u_int32_t bits; - int cnt; +nge_mii_send(struct nge_softc *sc, uint32_t bits, int cnt) { - int i; + int i; SIO_CLR(NGE_MEAR_MII_CLK); for (i = (0x1 << (cnt - 1)); i; i >>= 1) { - if (bits & i) { + if (bits & i) { SIO_SET(NGE_MEAR_MII_DATA); - } else { + } else { SIO_CLR(NGE_MEAR_MII_DATA); - } + } DELAY(1); SIO_CLR(NGE_MEAR_MII_CLK); DELAY(1); @@ -438,12 +410,9 @@ nge_mii_send(sc, bits, cnt) * Read an PHY register through the MII. */ static int -nge_mii_readreg(sc, frame) - struct nge_softc *sc; - struct nge_mii_frame *frame; - +nge_mii_readreg(struct nge_softc *sc, struct nge_mii_frame *frame) { - int i, ack; + int i, ack; /* * Set up frame for RX. @@ -452,7 +421,7 @@ nge_mii_readreg(sc, frame) frame->mii_opcode = NGE_MII_READOP; frame->mii_turnaround = 0; frame->mii_data = 0; - + CSR_WRITE_4(sc, NGE_MEAR, 0); /* @@ -490,7 +459,7 @@ nge_mii_readreg(sc, frame) * need to clock through 16 cycles to keep the PHY(s) in sync. */ if (ack) { - for(i = 0; i < 16; i++) { + for (i = 0; i < 16; i++) { SIO_CLR(NGE_MEAR_MII_CLK); DELAY(1); SIO_SET(NGE_MEAR_MII_CLK); @@ -519,18 +488,15 @@ fail: DELAY(1); if (ack) - return(1); - return(0); + return (1); + return (0); } /* * Write to a PHY register through the MII. */ static int -nge_mii_writereg(sc, frame) - struct nge_softc *sc; - struct nge_mii_frame *frame; - +nge_mii_writereg(struct nge_softc *sc, struct nge_mii_frame *frame) { /* @@ -540,7 +506,7 @@ nge_mii_writereg(sc, frame) frame->mii_stdelim = NGE_MII_STARTDELIM; frame->mii_opcode = NGE_MII_WRITEOP; frame->mii_turnaround = NGE_MII_TURNAROUND; - + /* * Turn on data output. */ @@ -566,16 +532,14 @@ nge_mii_writereg(sc, frame) */ SIO_CLR(NGE_MEAR_MII_DIR); - return(0); + return (0); } static int -nge_miibus_readreg(dev, phy, reg) - device_t dev; - int phy, reg; +nge_miibus_readreg(device_t dev, int phy, int reg) { - struct nge_softc *sc; - struct nge_mii_frame frame; + struct nge_softc *sc; + struct nge_mii_frame frame; sc = device_get_softc(dev); @@ -585,16 +549,14 @@ nge_miibus_readreg(dev, phy, reg) frame.mii_regaddr = reg; nge_mii_readreg(sc, &frame); - return(frame.mii_data); + return (frame.mii_data); } static int -nge_miibus_writereg(dev, phy, reg, data) - device_t dev; - int phy, reg, data; +nge_miibus_writereg(device_t dev, int phy, int reg, int data) { - struct nge_softc *sc; - struct nge_mii_frame frame; + struct nge_softc *sc; + struct nge_mii_frame frame; sc = device_get_softc(dev); @@ -605,16 +567,15 @@ nge_miibus_writereg(dev, phy, reg, data) frame.mii_data = data; nge_mii_writereg(sc, &frame); - return(0); + return (0); } static void -nge_miibus_statchg(dev) - device_t dev; +nge_miibus_statchg(device_t dev) { - int status; - struct nge_softc *sc; - struct mii_data *mii; + int status; + struct nge_softc *sc; + struct mii_data *mii; sc = device_get_softc(dev); if (sc->nge_tbi) { @@ -631,7 +592,7 @@ nge_miibus_statchg(dev) NGE_CLRBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); } - } else if ((sc->nge_ifmedia.ifm_cur->ifm_media & IFM_GMASK) + } else if ((sc->nge_ifmedia.ifm_cur->ifm_media & IFM_GMASK) != IFM_FDX) { NGE_CLRBIT(sc, NGE_TX_CFG, (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); @@ -662,17 +623,15 @@ nge_miibus_statchg(dev) NGE_CLRBIT(sc, NGE_CFG, NGE_CFG_MODE_1000); } } - return; } static void -nge_setmulti(sc) - struct nge_softc *sc; +nge_setmulti(struct nge_softc *sc) { - struct ifnet *ifp; - struct ifmultiaddr *ifma; - u_int32_t h = 0, i, filtsave; - int bit, index; + struct ifnet *ifp; + struct ifmultiaddr *ifma; + uint32_t h = 0, i, filtsave; + int bit, index; NGE_LOCK_ASSERT(sc); ifp = sc->nge_ifp; @@ -723,15 +682,12 @@ nge_setmulti(sc) IF_ADDR_UNLOCK(ifp); CSR_WRITE_4(sc, NGE_RXFILT_CTL, filtsave); - - return; } static void -nge_reset(sc) - struct nge_softc *sc; +nge_reset(struct nge_softc *sc) { - register int i; + int i; NGE_SETBIT(sc, NGE_CSR, NGE_CSR_RESET); @@ -752,8 +708,6 @@ nge_reset(sc) */ CSR_WRITE_4(sc, NGE_CLKRUN, NGE_CLKRUN_PMESTS); CSR_WRITE_4(sc, NGE_CLKRUN, 0); - - return; } /* @@ -761,23 +715,22 @@ nge_reset(sc) * IDs against our list and return a device name if we find a match. */ static int -nge_probe(dev) - device_t dev; +nge_probe(device_t dev) { - struct nge_type *t; + struct nge_type *t; t = nge_devs; - while(t->nge_name != NULL) { + while (t->nge_name != NULL) { if ((pci_get_vendor(dev) == t->nge_vid) && (pci_get_device(dev) == t->nge_did)) { device_set_desc(dev, t->nge_name); - return(BUS_PROBE_DEFAULT); + return (BUS_PROBE_DEFAULT); } t++; } - return(ENXIO); + return (ENXIO); } /* @@ -785,13 +738,12 @@ nge_probe(dev) * setup and ethernet/BPF attach. */ static int -nge_attach(dev) - device_t dev; +nge_attach(device_t dev) { - u_char eaddr[ETHER_ADDR_LEN]; - struct nge_softc *sc; - struct ifnet *ifp = NULL; - int error = 0, rid; + u_char eaddr[ETHER_ADDR_LEN]; + struct nge_softc *sc; + struct ifnet *ifp = NULL; + int error = 0, rid; sc = device_get_softc(dev); sc->nge_dev = dev; @@ -877,10 +829,10 @@ nge_attach(dev) if (CSR_READ_4(sc, NGE_CFG) & NGE_CFG_TBI_EN) { sc->nge_tbi = 1; device_printf(dev, "Using TBI\n"); - + sc->nge_miibus = dev; - ifmedia_init(&sc->nge_ifmedia, 0, nge_ifmedia_upd, + ifmedia_init(&sc->nge_ifmedia, 0, nge_ifmedia_upd, nge_ifmedia_sts); #define ADD(m, c) ifmedia_add(&sc->nge_ifmedia, (m), (c), NULL) ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, 0), 0); @@ -889,16 +841,16 @@ nge_attach(dev) ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0), 0); #undef ADD device_printf(dev, " 1000baseSX, 1000baseSX-FDX, auto\n"); - - ifmedia_set(&sc->nge_ifmedia, + + ifmedia_set(&sc->nge_ifmedia, IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0)); - + CSR_WRITE_4(sc, NGE_GPIO, CSR_READ_4(sc, NGE_GPIO) - | NGE_GPIO_GP4_OUT - | NGE_GPIO_GP1_OUTENB | NGE_GPIO_GP2_OUTENB + | NGE_GPIO_GP4_OUT + | NGE_GPIO_GP1_OUTENB | NGE_GPIO_GP2_OUTENB | NGE_GPIO_GP3_OUTENB | NGE_GPIO_GP3_IN | NGE_GPIO_GP4_IN); - + } else { device_printf(dev, "MII without any PHY!\n"); error = ENXIO; @@ -934,15 +886,14 @@ fail: if (sc->nge_res) bus_release_resource(dev, NGE_RES, NGE_RID, sc->nge_res); NGE_LOCK_DESTROY(sc); - return(error); + return (error); } static int -nge_detach(dev) - device_t dev; +nge_detach(device_t dev) { - struct nge_softc *sc; - struct ifnet *ifp; + struct nge_softc *sc; + struct ifnet *ifp; sc = device_get_softc(dev); ifp = sc->nge_ifp; @@ -971,19 +922,18 @@ nge_detach(dev) NGE_LOCK_DESTROY(sc); - return(0); + return (0); } /* * Initialize the transmit descriptors. */ static int -nge_list_tx_init(sc) - struct nge_softc *sc; +nge_list_tx_init(struct nge_softc *sc) { - struct nge_list_data *ld; - struct nge_ring_data *cd; - int i; + struct nge_list_data *ld; + struct nge_ring_data *cd; + int i; cd = &sc->nge_cdata; ld = sc->nge_ldata; @@ -1007,7 +957,7 @@ nge_list_tx_init(sc) cd->nge_tx_prod = cd->nge_tx_cons = cd->nge_tx_cnt = 0; - return(0); + return (0); } @@ -1017,19 +967,18 @@ nge_list_tx_init(sc) * points back to the first. */ static int -nge_list_rx_init(sc) - struct nge_softc *sc; +nge_list_rx_init(struct nge_softc *sc) { - struct nge_list_data *ld; - struct nge_ring_data *cd; - int i; + struct nge_list_data *ld; + struct nge_ring_data *cd; + int i; ld = sc->nge_ldata; cd = &sc->nge_cdata; for (i = 0; i < NGE_RX_LIST_CNT; i++) { if (nge_newbuf(sc, &ld->nge_rx_list[i], NULL) == ENOBUFS) - return(ENOBUFS); + return (ENOBUFS); if (i == (NGE_RX_LIST_CNT - 1)) { ld->nge_rx_list[i].nge_nextdesc = &ld->nge_rx_list[0]; @@ -1046,17 +995,14 @@ nge_list_rx_init(sc) cd->nge_rx_prod = 0; sc->nge_head = sc->nge_tail = NULL; - return(0); + return (0); } /* * Initialize an RX descriptor and attach an MBUF cluster. */ static int -nge_newbuf(sc, c, m) - struct nge_softc *sc; - struct nge_desc *c; - struct mbuf *m; +nge_newbuf(struct nge_softc *sc, struct nge_desc *c, struct mbuf *m) { if (m == NULL) { @@ -1068,34 +1014,33 @@ nge_newbuf(sc, c, m) m->m_len = m->m_pkthdr.len = MCLBYTES; - m_adj(m, sizeof(u_int64_t)); + m_adj(m, sizeof(uint64_t)); c->nge_mbuf = m; c->nge_ptr = vtophys(mtod(m, caddr_t)); c->nge_ctl = m->m_len; c->nge_extsts = 0; - return(0); + return (0); } #ifdef NGE_FIXUP_RX static __inline void -nge_fixup_rx(m) - struct mbuf *m; -{ - int i; - uint16_t *src, *dst; - +nge_fixup_rx(struct mbuf *m) +{ + int i; + uint16_t *src, *dst; + src = mtod(m, uint16_t *); dst = src - 1; - + for (i = 0; i < (m->m_len / sizeof(uint16_t) + 1); i++) *dst++ = *src++; - + m->m_data -= ETHER_ALIGN; - + return; -} +} #endif /* @@ -1103,21 +1048,20 @@ nge_fixup_rx(m) * the higher level protocols. */ static void -nge_rxeof(sc) - struct nge_softc *sc; +nge_rxeof(struct nge_softc *sc) { - struct mbuf *m; - struct ifnet *ifp; - struct nge_desc *cur_rx; - int i, total_len = 0; - u_int32_t rxstat; + struct mbuf *m; + struct ifnet *ifp; + struct nge_desc *cur_rx; + int i, total_len = 0; + uint32_t rxstat; NGE_LOCK_ASSERT(sc); ifp = sc->nge_ifp; i = sc->nge_cdata.nge_rx_prod; - while(NGE_OWNDESC(&sc->nge_ldata->nge_rx_list[i])) { - u_int32_t extsts; + while (NGE_OWNDESC(&sc->nge_ldata->nge_rx_list[i])) { + uint32_t extsts; #ifdef DEVICE_POLLING if (ifp->if_capenable & IFCAP_POLLING) { @@ -1237,8 +1181,6 @@ nge_rxeof(sc) } sc->nge_cdata.nge_rx_prod = i; - - return; } /* @@ -1247,12 +1189,11 @@ nge_rxeof(sc) */ static void -nge_txeof(sc) - struct nge_softc *sc; +nge_txeof(struct nge_softc *sc) { - struct nge_desc *cur_tx; - struct ifnet *ifp; - u_int32_t idx; + struct nge_desc *cur_tx; + struct ifnet *ifp; + uint32_t idx; NGE_LOCK_ASSERT(sc); ifp = sc->nge_ifp; @@ -1300,17 +1241,14 @@ nge_txeof(sc) if (idx == sc->nge_cdata.nge_tx_prod) ifp->if_timer = 0; - - return; } static void -nge_tick(xsc) - void *xsc; +nge_tick(void *xsc) { - struct nge_softc *sc; - struct mii_data *mii; - struct ifnet *ifp; + struct nge_softc *sc; + struct mii_data *mii; + struct ifnet *ifp; sc = xsc; NGE_LOCK_ASSERT(sc); @@ -1318,10 +1256,10 @@ nge_tick(xsc) if (sc->nge_tbi) { if (!sc->nge_link) { - if (CSR_READ_4(sc, NGE_TBI_BMSR) + if (CSR_READ_4(sc, NGE_TBI_BMSR) & NGE_TBIBMSR_ANEG_DONE) { if (bootverbose) - device_printf(sc->nge_dev, + device_printf(sc->nge_dev, "gigabit link up\n"); nge_miibus_statchg(sc->nge_miibus); sc->nge_link++; @@ -1337,9 +1275,9 @@ nge_tick(xsc) if (mii->mii_media_status & IFM_ACTIVE && IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) { sc->nge_link++; - if (IFM_SUBTYPE(mii->mii_media_active) + if (IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_T && bootverbose) - device_printf(sc->nge_dev, + device_printf(sc->nge_dev, "gigabit link up\n"); if (ifp->if_snd.ifq_head != NULL) nge_start_locked(ifp); @@ -1347,8 +1285,6 @@ nge_tick(xsc) } } callout_reset(&sc->nge_stat_ch, hz, nge_tick, sc); - - return; } #ifdef DEVICE_POLLING @@ -1357,7 +1293,7 @@ static poll_handler_t nge_poll; static void nge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) { - struct nge_softc *sc = ifp->if_softc; + struct nge_softc *sc = ifp->if_softc; NGE_LOCK(sc); if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { @@ -1379,7 +1315,7 @@ nge_poll(struct ifnet *ifp, enum poll_cm nge_start_locked(ifp); if (sc->rxcycles > 0 || cmd == POLL_AND_CHECK_STATUS) { - u_int32_t status; + uint32_t status; /* Reading the ISR register clears all interrupts. */ status = CSR_READ_4(sc, NGE_ISR); @@ -1400,12 +1336,11 @@ nge_poll(struct ifnet *ifp, enum poll_cm #endif /* DEVICE_POLLING */ static void -nge_intr(arg) - void *arg; +nge_intr(void *arg) { - struct nge_softc *sc; - struct ifnet *ifp; - u_int32_t status; + struct nge_softc *sc; + struct ifnet *ifp; + uint32_t status; sc = arg; ifp = sc->nge_ifp; @@ -1429,7 +1364,7 @@ nge_intr(arg) CSR_WRITE_4(sc, NGE_IER, 0); /* Data LED on for TBI mode */ - if(sc->nge_tbi) + if (sc->nge_tbi) CSR_WRITE_4(sc, NGE_GPIO, CSR_READ_4(sc, NGE_GPIO) | NGE_GPIO_GP3_OUT); @@ -1464,7 +1399,7 @@ nge_intr(arg) } #if 0 - /* + /* * XXX: nge_tick() is not ready to be called this way * it screws up the aneg timeout because mii_tick() is * only to be called once per second. @@ -1484,13 +1419,11 @@ nge_intr(arg) /* Data LED off for TBI mode */ - if(sc->nge_tbi) + if (sc->nge_tbi) CSR_WRITE_4(sc, NGE_GPIO, CSR_READ_4(sc, NGE_GPIO) & ~NGE_GPIO_GP3_OUT); NGE_UNLOCK(sc); - - return; } /* @@ -1498,14 +1431,11 @@ nge_intr(arg) * pointers to the fragment pointers. */ static int -nge_encap(sc, m_head, txidx) - struct nge_softc *sc; - struct mbuf *m_head; - u_int32_t *txidx; -{ - struct nge_desc *f = NULL; - struct mbuf *m; - int frag, cur, cnt = 0; +nge_encap(struct nge_softc *sc, struct mbuf *m_head, uint32_t *txidx) +{ + struct nge_desc *f = NULL; + struct mbuf *m; + int frag, cur, cnt = 0; /* * Start packing the mbufs in this chain into @@ -1519,7 +1449,7 @@ nge_encap(sc, m_head, txidx) if (m->m_len != 0) { if ((NGE_TX_LIST_CNT - (sc->nge_cdata.nge_tx_cnt + cnt)) < 2) - return(ENOBUFS); + return (ENOBUFS); f = &sc->nge_ldata->nge_tx_list[frag]; f->nge_ctl = NGE_CMDSTS_MORE | m->m_len; f->nge_ptr = vtophys(mtod(m, vm_offset_t)); @@ -1532,7 +1462,7 @@ nge_encap(sc, m_head, txidx) } if (m != NULL) - return(ENOBUFS); + return (ENOBUFS); sc->nge_ldata->nge_tx_list[*txidx].nge_extsts = 0; if (m_head->m_pkthdr.csum_flags) { @@ -1558,7 +1488,7 @@ nge_encap(sc, m_head, txidx) sc->nge_cdata.nge_tx_cnt += cnt; *txidx = frag; - return(0); + return (0); } /* @@ -1569,10 +1499,9 @@ nge_encap(sc, m_head, txidx) */ static void -nge_start(ifp) - struct ifnet *ifp; +nge_start(struct ifnet *ifp) { - struct nge_softc *sc; + struct nge_softc *sc; sc = ifp->if_softc; NGE_LOCK(sc); @@ -1581,12 +1510,11 @@ nge_start(ifp) } static void -nge_start_locked(ifp) - struct ifnet *ifp; +nge_start_locked(struct ifnet *ifp) { - struct nge_softc *sc; - struct mbuf *m_head = NULL; - u_int32_t idx; + struct nge_softc *sc; + struct mbuf *m_head = NULL; + uint32_t idx; sc = ifp->if_softc; @@ -1598,7 +1526,7 @@ nge_start_locked(ifp) if (ifp->if_drv_flags & IFF_DRV_OACTIVE) return; - while(sc->nge_ldata->nge_tx_list[idx].nge_mbuf == NULL) { + while (sc->nge_ldata->nge_tx_list[idx].nge_mbuf == NULL) { IF_DEQUEUE(&ifp->if_snd, m_head); if (m_head == NULL) break; @@ -1625,15 +1553,12 @@ nge_start_locked(ifp) * Set a timeout in case the chip goes out to lunch. */ ifp->if_timer = 5; - - return; } static void -nge_init(xsc) - void *xsc; +nge_init(void *xsc) { - struct nge_softc *sc = xsc; + struct nge_softc *sc = xsc; NGE_LOCK(sc); nge_init_locked(sc); @@ -1641,11 +1566,10 @@ nge_init(xsc) } static void -nge_init_locked(sc) - struct nge_softc *sc; +nge_init_locked(struct nge_softc *sc) { - struct ifnet *ifp = sc->nge_ifp; - struct mii_data *mii; + struct ifnet *ifp = sc->nge_ifp; + struct mii_data *mii; NGE_LOCK_ASSERT(sc); @@ -1666,13 +1590,13 @@ nge_init_locked(sc) /* Set MAC address */ CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR0); CSR_WRITE_4(sc, NGE_RXFILT_DATA, - ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[0]); + ((uint16_t *)IF_LLADDR(sc->nge_ifp))[0]); CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR1); CSR_WRITE_4(sc, NGE_RXFILT_DATA, - ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[1]); + ((uint16_t *)IF_LLADDR(sc->nge_ifp))[1]); CSR_WRITE_4(sc, NGE_RXFILT_CTL, NGE_FILTADDR_PAR2); CSR_WRITE_4(sc, NGE_RXFILT_DATA, - ((u_int16_t *)IF_LLADDR(sc->nge_ifp))[2]); + ((uint16_t *)IF_LLADDR(sc->nge_ifp))[2]); /* Init circular RX list. */ if (nge_list_rx_init(sc) == ENOBUFS) { @@ -1760,7 +1684,7 @@ nge_init_locked(sc) /* Set full/half duplex mode. */ if (sc->nge_tbi) { - if ((sc->nge_ifmedia.ifm_cur->ifm_media & IFM_GMASK) + if ((sc->nge_ifmedia.ifm_cur->ifm_media & IFM_GMASK) == IFM_FDX) { NGE_SETBIT(sc, NGE_TX_CFG, (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); @@ -1824,18 +1748,15 @@ nge_init_locked(sc) ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - - return; } /* * Set media options. */ static int -nge_ifmedia_upd(ifp) - struct ifnet *ifp; +nge_ifmedia_upd(struct ifnet *ifp) { - struct nge_softc *sc; + struct nge_softc *sc; sc = ifp->if_softc; NGE_LOCK(sc); @@ -1845,26 +1766,25 @@ nge_ifmedia_upd(ifp) } static void -nge_ifmedia_upd_locked(ifp) - struct ifnet *ifp; +nge_ifmedia_upd_locked(struct ifnet *ifp) { - struct nge_softc *sc; - struct mii_data *mii; + struct nge_softc *sc; + struct mii_data *mii; sc = ifp->if_softc; NGE_LOCK_ASSERT(sc); if (sc->nge_tbi) { - if (IFM_SUBTYPE(sc->nge_ifmedia.ifm_cur->ifm_media) + if (IFM_SUBTYPE(sc->nge_ifmedia.ifm_cur->ifm_media) == IFM_AUTO) { - CSR_WRITE_4(sc, NGE_TBI_ANAR, + CSR_WRITE_4(sc, NGE_TBI_ANAR, CSR_READ_4(sc, NGE_TBI_ANAR) | NGE_TBIANAR_HDX | NGE_TBIANAR_FDX | NGE_TBIANAR_PS1 | NGE_TBIANAR_PS2); CSR_WRITE_4(sc, NGE_TBI_BMCR, NGE_TBIBMCR_ENABLE_ANEG | NGE_TBIBMCR_RESTART_ANEG); CSR_WRITE_4(sc, NGE_TBI_BMCR, NGE_TBIBMCR_ENABLE_ANEG); - } else if ((sc->nge_ifmedia.ifm_cur->ifm_media + } else if ((sc->nge_ifmedia.ifm_cur->ifm_media & IFM_GMASK) == IFM_FDX) { NGE_SETBIT(sc, NGE_TX_CFG, (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); @@ -1880,7 +1800,7 @@ nge_ifmedia_upd_locked(ifp) CSR_WRITE_4(sc, NGE_TBI_ANAR, 0); CSR_WRITE_4(sc, NGE_TBI_BMCR, 0); } - + CSR_WRITE_4(sc, NGE_GPIO, CSR_READ_4(sc, NGE_GPIO) & ~NGE_GPIO_GP3_OUT); } else { @@ -1900,12 +1820,10 @@ nge_ifmedia_upd_locked(ifp) * Report current media status. */ static void -nge_ifmedia_sts(ifp, ifmr) - struct ifnet *ifp; - struct ifmediareq *ifmr; +nge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) { - struct nge_softc *sc; - struct mii_data *mii; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:46:12 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC46C106566B; Sun, 7 Jun 2009 05:46:12 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C771C8FC19; Sun, 7 Jun 2009 05:46:12 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n575kC49083331; Sun, 7 Jun 2009 05:46:12 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n575kCDE083329; Sun, 7 Jun 2009 05:46:12 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070546.n575kCDE083329@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 05:46:12 +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: r193616 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/nge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 05:46:13 -0000 Author: yongari Date: Sun Jun 7 05:46:12 2009 New Revision: 193616 URL: http://svn.freebsd.org/changeset/base/193616 Log: MFC r192506: bus_dma(9) conversion and make nge(4) work on all architectures. o Header file cleanup. o bus_dma(9) conversion. - Removed all consumers of vtophys(9) and converted to use bus_dma(9). - 64bit DMA support was disabled because DP83821 is not capable of handling the DMA request. 64bit DMA request on DP83820 requires different descriptor structures and it's hard to dynamically change descriptor format at run time so I disabled it. Note, this is the same behavior as previous one but previously nge(4) didn't explicitly disable 64bit mode on DP83820. - Added Tx/Rx descriptor ring alignment requirements(8 bytes alignment). - Limit maximum number of Tx DMA segments to 16. In fact, controller does not seem to have limitations on number of Tx DMA segments but 16 should be enough for most cases and m_collapse(9) will handle highly fragmented frames without consuming a lot of CPU cycles. - Added Rx buffer alignment requirements(8 bytes alignment). This means driver should fixup received frames to align on 16bits boundary on strict-alignment architectures. - Nuked driver private data structure in descriptor ring. - Added endianness support code in Tx/Rx descriptor access. o Prefer faster memory mapped register access to I/O mapped access. Added fall-back mechanism to use alternative register access. The hardware supports both memory and I/O mapped access. o Added suspend/resume methods but it wasn't tested as controller I have does not support PCI PME. o Removed swap argument in nge_read_eeprom() since endianness should be handled after reading EEPROM. o Implemented experimental 802.3x full-duplex flow-control. ATM it was commented out but will be activated after we have generic flow-control framework in mii(4) layer. o Rearranged promiscuous mode settings and simplified logic. o Always disable Rx filter prior to changing Rx filter functions as indicated in DP83820/DP83821 datasheet. o Added an explicit DELAY in timeout loop of nge_reset(). o Added a sysctl variable dev.nge.%d.int_holdoff to control interrupt moderation. Valid ranges are 1 to 255(default 1) in units of 100us. The actual delivery of interrupt would be delayed based on the sysctl value. The interface has to be brought down and up again before a change takes effect. With proper tuning value, users do not need to resort to polling(4) anymore. o Added ALTQ(4) support. o Added missing IFCAP_VLAN_HWCSUM as nge(4) can offload Tx/Rx checksum calculation on VLAN tagged frames as well as VLAN tag insertion/stripping. Also add IFCAP_VLAN_MTU capability as nge(4) can handle VLAN tagged oversized frames. o Fixed media header length for VLAN. o Rearranged nge_detach routine such that it's now used for general clean-up routine. o Enabled MWI. o Accessing EEPROM takes very long time so read 6 bytes ethernet address with one call instead of 3 separate accesses. o Don't set if_mtu in device attach, it's already set in ether_ifattach(). o Don't do any special things for TBI interface. Remove TBI specific media handling in the driver and have gentbi(4) handle it. Add glue code to read/write TBI PHY registers in miibus method. This change removes a lot of PHY handling code in driver and now its functionality is handled by mii(4). o Alignment fixup code is now applied only for strict-alignment architectures. Previously the code was applied for all architectures except i386. With this change amd64 will get instant Rx performance boost. o When driver fails to allocate a new mbuf, update if_qdrops so users can see what was wrong in Rx path. o Added a workaround for a hardware bug which resulted in short VLAN tagged frames(e.g. ARP) was rejected as if runt frame was received. With this workaround nge(4) now accepts the short VLAN tagged frame and nge(4) can take full advantage of hardware VLAN tag stripping. I have no idea how this bug wasn't known so far, without the workaround nge(4) may never work on VLAN environments. o Fixed Rx checksum offload logic such that it now honors active interface capability configured with ifconfig(8). o In nge_start()/nge_txencap(), always leave at least one free descriptor as indicated in datasheet. Without this the hardware would be confused with ring descriptor structure(e.g. no clue for the end of descriptor ring). o Removed dead-code that checks interrupts on PHY hardware. The code was designed to detect link state changes but it was disabled as driving nge_tick clock would break auto-negotiation timer. This code is no longer needed as nge(4) now uses mii(4) and link state change handling is done with mii callback. o Rearranged ethernet address programming logic such that it works on strict-alignment architectures. o Added IFCAP_VLAN_HWTAGGING/IFCAP_VLAN_HWCSUM handler in nge_ioctl() such that the functionality is configurable with ifconfig(8). DP83820/DP83821 can do checksum offload for VLAN tagged frames so enable Tx/Rx checksum offload for VLAN interfaces. o Simplified IFCAP_POLLING selection logic in nge_ioctl(). o Fixed module unload panic when bpf listeners are active. o Tx/Rx descriptor ring address uses 64bit DMA address for readability. High address part of DMA would be 0 as nge(4) disabled 64bit DMA transfers so it's ok for DP83821. o Removed volatile keyword in softc as bus_dmamap_sync(9) should take care of this. o Removed extra driver private structures in descriptor ring. These extra elements are not part of descriptor structure. Embedding private driver structure into descriptor ring is not good idea as its size may be different on 32bit/64bit architectures. o Added miibus_linkchg method handler to catch link state changes. o Removed unneeded nge_ifmedia in softc. All TBI access is handled in gentbi(4). There is no difference between TBI and non-TBI case now. o Removed "gigabit link up" message handling in nge_tick. Link state change notification is already performed by mii(4) and checking link state by accessing PHY registers in periodic timer handler of driver is wrong. All link state and speed/duplex monitoring should be handled in PHY driver. o Use our own timer for watchdog instead of if_watchdog/if_timer interface. o Added hardware MAC statistics counter, users canget current MAC statistics from dev.nge.%d.stats sysctl node(%d is unit number of a device). o Removed unused macros, NGE_LASTDESC, NGE_MODE, NGE_OWNDESC, NGE_RXBYTES. o Increased number of Tx/Rx descriptors from 128 to 256. From my experience on gigabit ethernet controllers, number of descriptors should be 256 or higher to get an optimal performance on gigabit link. o Increased jumbo frame length to 9022 bytes to cope with other gigabit ethernet drivers. Experimentation shows no problems with 9022 bytes. o Removed unused member variables in softc. o Switched from bus_space_{read|write}_4 to bus_{read|write}_4. o Added support for WOL. Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/nge/if_nge.c stable/7/sys/dev/nge/if_ngereg.h Modified: stable/7/sys/dev/nge/if_nge.c ============================================================================== --- stable/7/sys/dev/nge/if_nge.c Sun Jun 7 05:41:13 2009 (r193615) +++ stable/7/sys/dev/nge/if_nge.c Sun Jun 7 05:46:12 2009 (r193616) @@ -94,13 +94,20 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include +#include +#include +#include +#include #include +#include #include -#include +#include +#include #include +#include +#include +#include #include #include #include @@ -109,32 +116,23 @@ __FBSDID("$FreeBSD$"); #include #include -#include - -#include /* for vtophys */ -#include /* for vtophys */ -#include -#include -#include -#include - #include #include #include #include -#define NGE_USEIOSPACE +#include #include +/* "device miibus" required. See GENERIC if you get errors here. */ +#include "miibus_if.h" + MODULE_DEPEND(nge, pci, 1, 1, 1); MODULE_DEPEND(nge, ether, 1, 1, 1); MODULE_DEPEND(nge, miibus, 1, 1, 1); -/* "device miibus" required. See GENERIC if you get errors here. */ -#include "miibus_if.h" - #define NGE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP) /* @@ -149,33 +147,38 @@ static struct nge_type nge_devs[] = { static int nge_probe(device_t); static int nge_attach(device_t); static int nge_detach(device_t); +static int nge_shutdown(device_t); +static int nge_suspend(device_t); +static int nge_resume(device_t); -static int nge_newbuf(struct nge_softc *, struct nge_desc *, struct mbuf *); -static int nge_encap(struct nge_softc *, struct mbuf *, uint32_t *); -#ifdef NGE_FIXUP_RX -static __inline void nge_fixup_rx (struct mbuf *); +static __inline void nge_discard_rxbuf(struct nge_softc *, int); +static int nge_newbuf(struct nge_softc *, int); +static int nge_encap(struct nge_softc *, struct mbuf **); +#ifndef __NO_STRICT_ALIGNMENT +static __inline void nge_fixup_rx(struct mbuf *); #endif static void nge_rxeof(struct nge_softc *); static void nge_txeof(struct nge_softc *); static void nge_intr(void *); static void nge_tick(void *); +static void nge_stats_update(struct nge_softc *); static void nge_start(struct ifnet *); static void nge_start_locked(struct ifnet *); static int nge_ioctl(struct ifnet *, u_long, caddr_t); static void nge_init(void *); static void nge_init_locked(struct nge_softc *); +static int nge_stop_mac(struct nge_softc *); static void nge_stop(struct nge_softc *); -static void nge_watchdog(struct ifnet *); -static int nge_shutdown(device_t); -static int nge_ifmedia_upd(struct ifnet *); -static void nge_ifmedia_upd_locked(struct ifnet *); -static void nge_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static void nge_wol(struct nge_softc *); +static void nge_watchdog(struct nge_softc *); +static int nge_mediachange(struct ifnet *); +static void nge_mediastatus(struct ifnet *, struct ifmediareq *); static void nge_delay(struct nge_softc *); static void nge_eeprom_idle(struct nge_softc *); static void nge_eeprom_putbyte(struct nge_softc *, int); static void nge_eeprom_getword(struct nge_softc *, int, uint16_t *); -static void nge_read_eeprom(struct nge_softc *, caddr_t, int, int, int); +static void nge_read_eeprom(struct nge_softc *, caddr_t, int, int); static void nge_mii_sync(struct nge_softc *); static void nge_mii_send(struct nge_softc *, uint32_t, int); @@ -186,18 +189,16 @@ static int nge_miibus_readreg(device_t, static int nge_miibus_writereg(device_t, int, int, int); static void nge_miibus_statchg(device_t); -static void nge_setmulti(struct nge_softc *); +static void nge_rxfilter(struct nge_softc *); static void nge_reset(struct nge_softc *); +static void nge_dmamap_cb(void *, bus_dma_segment_t *, int, int); +static int nge_dma_alloc(struct nge_softc *); +static void nge_dma_free(struct nge_softc *); static int nge_list_rx_init(struct nge_softc *); static int nge_list_tx_init(struct nge_softc *); - -#ifdef NGE_USEIOSPACE -#define NGE_RES SYS_RES_IOPORT -#define NGE_RID NGE_PCI_LOIO -#else -#define NGE_RES SYS_RES_MEMORY -#define NGE_RID NGE_PCI_LOMEM -#endif +static void nge_sysctl_node(struct nge_softc *); +static int sysctl_int_range(SYSCTL_HANDLER_ARGS, int, int); +static int sysctl_hw_nge_int_holdoff(SYSCTL_HANDLER_ARGS); static device_method_t nge_methods[] = { /* Device interface */ @@ -205,6 +206,8 @@ static device_method_t nge_methods[] = { DEVMETHOD(device_attach, nge_attach), DEVMETHOD(device_detach, nge_detach), DEVMETHOD(device_shutdown, nge_shutdown), + DEVMETHOD(device_suspend, nge_suspend), + DEVMETHOD(device_resume, nge_resume), /* bus interface */ DEVMETHOD(bus_print_child, bus_generic_print_child), @@ -215,7 +218,7 @@ static device_method_t nge_methods[] = { DEVMETHOD(miibus_writereg, nge_miibus_writereg), DEVMETHOD(miibus_statchg, nge_miibus_statchg), - { 0, 0 } + { NULL, NULL } }; static driver_t nge_driver = { @@ -350,7 +353,7 @@ nge_eeprom_getword(struct nge_softc *sc, * Read a sequence of words from the EEPROM. */ static void -nge_read_eeprom(struct nge_softc *sc, caddr_t dest, int off, int cnt, int swap) +nge_read_eeprom(struct nge_softc *sc, caddr_t dest, int off, int cnt) { int i; uint16_t word = 0, *ptr; @@ -358,10 +361,7 @@ nge_read_eeprom(struct nge_softc *sc, ca for (i = 0; i < cnt; i++) { nge_eeprom_getword(sc, off + i, &word); ptr = (uint16_t *)(dest + (i * 2)); - if (swap) - *ptr = ntohs(word); - else - *ptr = word; + *ptr = word; } } @@ -540,8 +540,48 @@ nge_miibus_readreg(device_t dev, int phy { struct nge_softc *sc; struct nge_mii_frame frame; + int rv; sc = device_get_softc(dev); + if ((sc->nge_flags & NGE_FLAG_TBI) != 0) { + /* Pretend PHY is at address 0. */ + if (phy != 0) + return (0); + switch (reg) { + case MII_BMCR: + reg = NGE_TBI_BMCR; + break; + case MII_BMSR: + /* 83820/83821 has different bit layout for BMSR. */ + rv = BMSR_ANEG | BMSR_EXTCAP | BMSR_EXTSTAT; + reg = CSR_READ_4(sc, NGE_TBI_BMSR); + if ((reg & NGE_TBIBMSR_ANEG_DONE) != 0) + rv |= BMSR_ACOMP; + if ((reg & NGE_TBIBMSR_LINKSTAT) != 0) + rv |= BMSR_LINK; + return (rv); + case MII_ANAR: + reg = NGE_TBI_ANAR; + break; + case MII_ANLPAR: + reg = NGE_TBI_ANLPAR; + break; + case MII_ANER: + reg = NGE_TBI_ANER; + break; + case MII_EXTSR: + reg = NGE_TBI_ESR; + break; + case MII_PHYIDR1: + case MII_PHYIDR2: + return (0); + default: + device_printf(sc->nge_dev, + "bad phy register read : %d\n", reg); + return (0); + } + return (CSR_READ_4(sc, reg)); + } bzero((char *)&frame, sizeof(frame)); @@ -559,6 +599,39 @@ nge_miibus_writereg(device_t dev, int ph struct nge_mii_frame frame; sc = device_get_softc(dev); + if ((sc->nge_flags & NGE_FLAG_TBI) != 0) { + /* Pretend PHY is at address 0. */ + if (phy != 0) + return (0); + switch (reg) { + case MII_BMCR: + reg = NGE_TBI_BMCR; + break; + case MII_BMSR: + return (0); + case MII_ANAR: + reg = NGE_TBI_ANAR; + break; + case MII_ANLPAR: + reg = NGE_TBI_ANLPAR; + break; + case MII_ANER: + reg = NGE_TBI_ANER; + break; + case MII_EXTSR: + reg = NGE_TBI_ESR; + break; + case MII_PHYIDR1: + case MII_PHYIDR2: + return (0); + default: + device_printf(sc->nge_dev, + "bad phy register write : %d\n", reg); + return (0); + } + CSR_WRITE_4(sc, reg, data); + return (0); + } bzero((char *)&frame, sizeof(frame)); @@ -570,90 +643,213 @@ nge_miibus_writereg(device_t dev, int ph return (0); } +/* + * media status/link state change handler. + */ static void nge_miibus_statchg(device_t dev) { - int status; struct nge_softc *sc; struct mii_data *mii; + struct ifnet *ifp; + struct nge_txdesc *txd; + uint32_t done, reg, status; + int i; sc = device_get_softc(dev); - if (sc->nge_tbi) { - if (IFM_SUBTYPE(sc->nge_ifmedia.ifm_cur->ifm_media) - == IFM_AUTO) { - status = CSR_READ_4(sc, NGE_TBI_ANLPAR); - if (status == 0 || status & NGE_TBIANAR_FDX) { - NGE_SETBIT(sc, NGE_TX_CFG, - (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); - NGE_SETBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); - } else { - NGE_CLRBIT(sc, NGE_TX_CFG, - (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); - NGE_CLRBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); - } + NGE_LOCK_ASSERT(sc); - } else if ((sc->nge_ifmedia.ifm_cur->ifm_media & IFM_GMASK) - != IFM_FDX) { - NGE_CLRBIT(sc, NGE_TX_CFG, - (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); - NGE_CLRBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); - } else { - NGE_SETBIT(sc, NGE_TX_CFG, - (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); - NGE_SETBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); + mii = device_get_softc(sc->nge_miibus); + ifp = sc->nge_ifp; + if (mii == NULL || ifp == NULL || + (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; + + sc->nge_flags &= ~NGE_FLAG_LINK; + if ((mii->mii_media_status & (IFM_AVALID | IFM_ACTIVE)) == + (IFM_AVALID | IFM_ACTIVE)) { + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_10_T: + case IFM_100_TX: + case IFM_1000_T: + case IFM_1000_SX: + case IFM_1000_LX: + case IFM_1000_CX: + sc->nge_flags |= NGE_FLAG_LINK; + break; + default: + break; } - } else { - mii = device_get_softc(sc->nge_miibus); + } + + /* Stop Tx/Rx MACs. */ + if (nge_stop_mac(sc) == ETIMEDOUT) + device_printf(sc->nge_dev, + "%s: unable to stop Tx/Rx MAC\n", __func__); + nge_txeof(sc); + nge_rxeof(sc); + if (sc->nge_head != NULL) { + m_freem(sc->nge_head); + sc->nge_head = sc->nge_tail = NULL; + } + + /* Release queued frames. */ + for (i = 0; i < NGE_TX_RING_CNT; i++) { + txd = &sc->nge_cdata.nge_txdesc[i]; + if (txd->tx_m != NULL) { + bus_dmamap_sync(sc->nge_cdata.nge_tx_tag, + txd->tx_dmamap, BUS_DMASYNC_POSTWRITE); + bus_dmamap_unload(sc->nge_cdata.nge_tx_tag, + txd->tx_dmamap); + m_freem(txd->tx_m); + txd->tx_m = NULL; + } + } - if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX) { - NGE_SETBIT(sc, NGE_TX_CFG, - (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); + /* Program MAC with resolved speed/duplex. */ + if ((sc->nge_flags & NGE_FLAG_LINK) != 0) { + if ((IFM_OPTIONS(mii->mii_media_active) & IFM_FDX) != 0) { + NGE_SETBIT(sc, NGE_TX_CFG, + (NGE_TXCFG_IGN_HBEAT | NGE_TXCFG_IGN_CARR)); NGE_SETBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); +#ifdef notyet + /* Enable flow-control. */ + if ((IFM_OPTIONS(mii->mii_media_active) & + (IFM_ETH_RXPAUSE | IFM_ETH_TXPAUSE)) != 0) + NGE_SETBIT(sc, NGE_PAUSECSR, + NGE_PAUSECSR_PAUSE_ENB); +#endif } else { NGE_CLRBIT(sc, NGE_TX_CFG, - (NGE_TXCFG_IGN_HBEAT|NGE_TXCFG_IGN_CARR)); + (NGE_TXCFG_IGN_HBEAT | NGE_TXCFG_IGN_CARR)); NGE_CLRBIT(sc, NGE_RX_CFG, NGE_RXCFG_RX_FDX); + NGE_CLRBIT(sc, NGE_PAUSECSR, NGE_PAUSECSR_PAUSE_ENB); } - /* If we have a 1000Mbps link, set the mode_1000 bit. */ - if (IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_T || - IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_SX) { - NGE_SETBIT(sc, NGE_CFG, NGE_CFG_MODE_1000); - } else { - NGE_CLRBIT(sc, NGE_CFG, NGE_CFG_MODE_1000); + reg = CSR_READ_4(sc, NGE_CFG); + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_1000_SX: + case IFM_1000_LX: + case IFM_1000_CX: + case IFM_1000_T: + reg |= NGE_CFG_MODE_1000; + break; + default: + reg &= ~NGE_CFG_MODE_1000; + break; + } + CSR_WRITE_4(sc, NGE_CFG, reg); + + /* Reset Tx/Rx MAC. */ + reg = CSR_READ_4(sc, NGE_CSR); + reg |= NGE_CSR_TX_RESET | NGE_CSR_RX_RESET; + CSR_WRITE_4(sc, NGE_CSR, reg); + /* Check the completion of reset. */ + done = 0; + for (i = 0; i < NGE_TIMEOUT; i++) { + DELAY(1); + status = CSR_READ_4(sc, NGE_ISR); + if ((status & NGE_ISR_RX_RESET_DONE) != 0) + done |= NGE_ISR_RX_RESET_DONE; + if ((status & NGE_ISR_TX_RESET_DONE) != 0) + done |= NGE_ISR_TX_RESET_DONE; + if (done == + (NGE_ISR_TX_RESET_DONE | NGE_ISR_RX_RESET_DONE)) + break; + } + if (i == NGE_TIMEOUT) + device_printf(sc->nge_dev, + "%s: unable to reset Tx/Rx MAC\n", __func__); + /* Reuse Rx buffer and reset consumer pointer. */ + sc->nge_cdata.nge_rx_cons = 0; + /* + * It seems that resetting Rx/Tx MAC results in + * resetting Tx/Rx descriptor pointer registers such + * that reloading Tx/Rx lists address are needed. + */ + CSR_WRITE_4(sc, NGE_RX_LISTPTR_HI, + NGE_ADDR_HI(sc->nge_rdata.nge_rx_ring_paddr)); + CSR_WRITE_4(sc, NGE_RX_LISTPTR_LO, + NGE_ADDR_LO(sc->nge_rdata.nge_rx_ring_paddr)); + CSR_WRITE_4(sc, NGE_TX_LISTPTR_HI, + NGE_ADDR_HI(sc->nge_rdata.nge_tx_ring_paddr)); + CSR_WRITE_4(sc, NGE_TX_LISTPTR_LO, + NGE_ADDR_LO(sc->nge_rdata.nge_tx_ring_paddr)); + /* Reinitialize Tx buffers. */ + nge_list_tx_init(sc); + + /* Restart Rx MAC. */ + reg = CSR_READ_4(sc, NGE_CSR); + reg |= NGE_CSR_RX_ENABLE; + CSR_WRITE_4(sc, NGE_CSR, reg); + for (i = 0; i < NGE_TIMEOUT; i++) { + if ((CSR_READ_4(sc, NGE_CSR) & NGE_CSR_RX_ENABLE) != 0) + break; + DELAY(1); } + if (i == NGE_TIMEOUT) + device_printf(sc->nge_dev, + "%s: unable to restart Rx MAC\n", __func__); } + + /* Data LED off for TBI mode */ + if ((sc->nge_flags & NGE_FLAG_TBI) != 0) + CSR_WRITE_4(sc, NGE_GPIO, + CSR_READ_4(sc, NGE_GPIO) & ~NGE_GPIO_GP3_OUT); } static void -nge_setmulti(struct nge_softc *sc) +nge_rxfilter(struct nge_softc *sc) { struct ifnet *ifp; struct ifmultiaddr *ifma; - uint32_t h = 0, i, filtsave; + uint32_t h, i, rxfilt; int bit, index; NGE_LOCK_ASSERT(sc); ifp = sc->nge_ifp; - if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { - NGE_CLRBIT(sc, NGE_RXFILT_CTL, - NGE_RXFILTCTL_MCHASH|NGE_RXFILTCTL_UCHASH); - NGE_SETBIT(sc, NGE_RXFILT_CTL, NGE_RXFILTCTL_ALLMULTI); - return; + /* Make sure to stop Rx filtering. */ + rxfilt = CSR_READ_4(sc, NGE_RXFILT_CTL); + rxfilt &= ~NGE_RXFILTCTL_ENABLE; + CSR_WRITE_4(sc, NGE_RXFILT_CTL, rxfilt); + CSR_BARRIER_WRITE_4(sc, NGE_RXFILT_CTL); + + rxfilt &= ~(NGE_RXFILTCTL_ALLMULTI | NGE_RXFILTCTL_ALLPHYS); + rxfilt &= ~NGE_RXFILTCTL_BROAD; + /* + * We don't want to use the hash table for matching unicast + * addresses. + */ + rxfilt &= ~(NGE_RXFILTCTL_MCHASH | NGE_RXFILTCTL_UCHASH); + + /* + * For the NatSemi chip, we have to explicitly enable the + * reception of ARP frames, as well as turn on the 'perfect + * match' filter where we store the station address, otherwise + * we won't receive unicasts meant for this host. + */ + rxfilt |= NGE_RXFILTCTL_ARP | NGE_RXFILTCTL_PERFECT; + + /* + * Set the capture broadcast bit to capture broadcast frames. + */ + if ((ifp->if_flags & IFF_BROADCAST) != 0) + rxfilt |= NGE_RXFILTCTL_BROAD; + + if ((ifp->if_flags & IFF_PROMISC) != 0 || + (ifp->if_flags & IFF_ALLMULTI) != 0) { + rxfilt |= NGE_RXFILTCTL_ALLMULTI; + if ((ifp->if_flags & IFF_PROMISC) != 0) + rxfilt |= NGE_RXFILTCTL_ALLPHYS; + goto done; } /* * We have to explicitly enable the multicast hash table * on the NatSemi chip if we want to use it, which we do. - * We also have to tell it that we don't want to use the - * hash table for matching unicast addresses. */ - NGE_SETBIT(sc, NGE_RXFILT_CTL, NGE_RXFILTCTL_MCHASH); - NGE_CLRBIT(sc, NGE_RXFILT_CTL, - NGE_RXFILTCTL_ALLMULTI|NGE_RXFILTCTL_UCHASH); - - filtsave = CSR_READ_4(sc, NGE_RXFILT_CTL); + rxfilt |= NGE_RXFILTCTL_MCHASH; /* first, zot all the existing hash bits */ for (i = 0; i < NGE_MCAST_FILTER_LEN; i += 2) { @@ -681,12 +877,18 @@ nge_setmulti(struct nge_softc *sc) } IF_ADDR_UNLOCK(ifp); - CSR_WRITE_4(sc, NGE_RXFILT_CTL, filtsave); +done: + CSR_WRITE_4(sc, NGE_RXFILT_CTL, rxfilt); + /* Turn the receive filter on. */ + rxfilt |= NGE_RXFILTCTL_ENABLE; + CSR_WRITE_4(sc, NGE_RXFILT_CTL, rxfilt); + CSR_BARRIER_WRITE_4(sc, NGE_RXFILT_CTL); } static void nge_reset(struct nge_softc *sc) { + uint32_t v; int i; NGE_SETBIT(sc, NGE_CSR, NGE_CSR_RESET); @@ -694,6 +896,7 @@ nge_reset(struct nge_softc *sc) for (i = 0; i < NGE_TIMEOUT; i++) { if (!(CSR_READ_4(sc, NGE_CSR) & NGE_CSR_RESET)) break; + DELAY(1); } if (i == NGE_TIMEOUT) @@ -708,6 +911,18 @@ nge_reset(struct nge_softc *sc) */ CSR_WRITE_4(sc, NGE_CLKRUN, NGE_CLKRUN_PMESTS); CSR_WRITE_4(sc, NGE_CLKRUN, 0); + + /* Clear WOL events which may interfere normal Rx filter opertaion. */ + CSR_WRITE_4(sc, NGE_WOLCSR, 0); + + /* + * Only DP83820 supports 64bits addressing/data transfers and + * 64bit addressing requires different descriptor structures. + * To make it simple, disable 64bit addressing/data transfers. + */ + v = CSR_READ_4(sc, NGE_CFG); + v &= ~(NGE_CFG_64BIT_ADDR_ENB | NGE_CFG_64BIT_DATA_ENB); + CSR_WRITE_4(sc, NGE_CFG, v); } /* @@ -740,11 +955,13 @@ nge_probe(device_t dev) static int nge_attach(device_t dev) { - u_char eaddr[ETHER_ADDR_LEN]; + uint8_t eaddr[ETHER_ADDR_LEN]; + uint16_t ea[ETHER_ADDR_LEN/2], ea_temp, reg; struct nge_softc *sc; - struct ifnet *ifp = NULL; - int error = 0, rid; + struct ifnet *ifp; + int error, i, rid; + error = 0; sc = device_get_softc(dev); sc->nge_dev = dev; @@ -756,18 +973,35 @@ nge_attach(device_t dev) */ pci_enable_busmaster(dev); - rid = NGE_RID; - sc->nge_res = bus_alloc_resource_any(dev, NGE_RES, &rid, RF_ACTIVE); +#ifdef NGE_USEIOSPACE + sc->nge_res_type = SYS_RES_IOPORT; + sc->nge_res_id = PCIR_BAR(0); +#else + sc->nge_res_type = SYS_RES_MEMORY; + sc->nge_res_id = PCIR_BAR(1); +#endif + sc->nge_res = bus_alloc_resource_any(dev, sc->nge_res_type, + &sc->nge_res_id, RF_ACTIVE); if (sc->nge_res == NULL) { - device_printf(dev, "couldn't map ports/memory\n"); - error = ENXIO; - goto fail; + if (sc->nge_res_type == SYS_RES_MEMORY) { + sc->nge_res_type = SYS_RES_IOPORT; + sc->nge_res_id = PCIR_BAR(0); + } else { + sc->nge_res_type = SYS_RES_MEMORY; + sc->nge_res_id = PCIR_BAR(1); + } + sc->nge_res = bus_alloc_resource_any(dev, sc->nge_res_type, + &sc->nge_res_id, RF_ACTIVE); + if (sc->nge_res == NULL) { + device_printf(dev, "couldn't allocate %s resources\n", + sc->nge_res_type == SYS_RES_MEMORY ? "memory" : + "I/O"); + NGE_LOCK_DESTROY(sc); + return (ENXIO); + } } - sc->nge_btag = rman_get_bustag(sc->nge_res); - sc->nge_bhandle = rman_get_bushandle(sc->nge_res); - /* Allocate interrupt */ rid = 0; sc->nge_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, @@ -779,83 +1013,77 @@ nge_attach(device_t dev) goto fail; } + /* Enable MWI. */ + reg = pci_read_config(dev, PCIR_COMMAND, 2); + reg |= PCIM_CMD_MWRICEN; + pci_write_config(dev, PCIR_COMMAND, reg, 2); + /* Reset the adapter. */ nge_reset(sc); /* * Get station address from the EEPROM. */ - nge_read_eeprom(sc, (caddr_t)&eaddr[4], NGE_EE_NODEADDR, 1, 0); - nge_read_eeprom(sc, (caddr_t)&eaddr[2], NGE_EE_NODEADDR + 1, 1, 0); - nge_read_eeprom(sc, (caddr_t)&eaddr[0], NGE_EE_NODEADDR + 2, 1, 0); + nge_read_eeprom(sc, (caddr_t)ea, NGE_EE_NODEADDR, 3); + for (i = 0; i < ETHER_ADDR_LEN / 2; i++) + ea[i] = le16toh(ea[i]); + ea_temp = ea[0]; + ea[0] = ea[2]; + ea[2] = ea_temp; + bcopy(ea, eaddr, sizeof(eaddr)); - sc->nge_ldata = contigmalloc(sizeof(struct nge_list_data), M_DEVBUF, - M_NOWAIT|M_ZERO, 0, 0xffffffff, PAGE_SIZE, 0); - - if (sc->nge_ldata == NULL) { - device_printf(dev, "no memory for list buffers!\n"); + if (nge_dma_alloc(sc) != 0) { error = ENXIO; goto fail; } + nge_sysctl_node(sc); + ifp = sc->nge_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { - device_printf(dev, "can not if_alloc()\n"); + device_printf(dev, "can not allocate ifnet structure\n"); error = ENOSPC; goto fail; } ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_mtu = ETHERMTU; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = nge_ioctl; ifp->if_start = nge_start; - ifp->if_watchdog = nge_watchdog; ifp->if_init = nge_init; - ifp->if_snd.ifq_maxlen = NGE_TX_LIST_CNT - 1; + ifp->if_snd.ifq_drv_maxlen = NGE_TX_RING_CNT - 1; + IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); + IFQ_SET_READY(&ifp->if_snd); ifp->if_hwassist = NGE_CSUM_FEATURES; - ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_VLAN_HWTAGGING; + ifp->if_capabilities = IFCAP_HWCSUM; + /* + * It seems that some hardwares doesn't provide 3.3V auxiliary + * supply(3VAUX) to drive PME such that checking PCI power + * management capability is necessary. + */ + if (pci_find_extcap(sc->nge_dev, PCIY_PMG, &i) == 0) + ifp->if_capabilities |= IFCAP_WOL; ifp->if_capenable = ifp->if_capabilities; -#ifdef DEVICE_POLLING - ifp->if_capabilities |= IFCAP_POLLING; -#endif + + if ((CSR_READ_4(sc, NGE_CFG) & NGE_CFG_TBI_EN) != 0) { + sc->nge_flags |= NGE_FLAG_TBI; + device_printf(dev, "Using TBI\n"); + /* Configure GPIO. */ + CSR_WRITE_4(sc, NGE_GPIO, CSR_READ_4(sc, NGE_GPIO) + | NGE_GPIO_GP4_OUT + | NGE_GPIO_GP1_OUTENB | NGE_GPIO_GP2_OUTENB + | NGE_GPIO_GP3_OUTENB + | NGE_GPIO_GP3_IN | NGE_GPIO_GP4_IN); + } /* * Do MII setup. */ - /* XXX: leaked on error */ - if (mii_phy_probe(dev, &sc->nge_miibus, - nge_ifmedia_upd, nge_ifmedia_sts)) { - if (CSR_READ_4(sc, NGE_CFG) & NGE_CFG_TBI_EN) { - sc->nge_tbi = 1; - device_printf(dev, "Using TBI\n"); - - sc->nge_miibus = dev; - - ifmedia_init(&sc->nge_ifmedia, 0, nge_ifmedia_upd, - nge_ifmedia_sts); -#define ADD(m, c) ifmedia_add(&sc->nge_ifmedia, (m), (c), NULL) - ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, 0), 0); - ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, 0, 0), 0); - ADD(IFM_MAKEWORD(IFM_ETHER, IFM_1000_SX, IFM_FDX, 0),0); - ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0), 0); -#undef ADD - device_printf(dev, " 1000baseSX, 1000baseSX-FDX, auto\n"); - - ifmedia_set(&sc->nge_ifmedia, - IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0)); - - CSR_WRITE_4(sc, NGE_GPIO, CSR_READ_4(sc, NGE_GPIO) - | NGE_GPIO_GP4_OUT - | NGE_GPIO_GP1_OUTENB | NGE_GPIO_GP2_OUTENB - | NGE_GPIO_GP3_OUTENB - | NGE_GPIO_GP3_IN | NGE_GPIO_GP4_IN); - - } else { - device_printf(dev, "MII without any PHY!\n"); - error = ENXIO; - goto fail; - } + error = mii_phy_probe(dev, &sc->nge_miibus, nge_mediachange, + nge_mediastatus); + if (error != 0) { + device_printf(dev, "no PHY found!\n"); + goto fail; } /* @@ -863,6 +1091,20 @@ nge_attach(device_t dev) */ ether_ifattach(ifp, eaddr); + /* VLAN capability setup. */ + ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING; + ifp->if_capabilities |= IFCAP_VLAN_HWCSUM; + ifp->if_capenable = ifp->if_capabilities; +#ifdef DEVICE_POLLING + ifp->if_capabilities |= IFCAP_POLLING; +#endif + /* + * Tell the upper layer(s) we support long frames. + * Must appear after the call to ether_ifattach() because + * ether_ifattach() sets ifi_hdrlen to the default value. + */ + ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); + /* * Hookup IRQ last. */ @@ -873,19 +1115,9 @@ nge_attach(device_t dev) goto fail; } - return (0); - fail: - if (sc->nge_ldata) - contigfree(sc->nge_ldata, - sizeof(struct nge_list_data), M_DEVBUF); - if (ifp) - if_free(ifp); - if (sc->nge_irq) - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->nge_irq); - if (sc->nge_res) - bus_release_resource(dev, NGE_RES, NGE_RID, sc->nge_res); - NGE_LOCK_DESTROY(sc); + if (error != 0) + nge_detach(dev); return (error); } @@ -899,68 +1131,339 @@ nge_detach(device_t dev) ifp = sc->nge_ifp; #ifdef DEVICE_POLLING - if (ifp->if_capenable & IFCAP_POLLING) + if (ifp != NULL && ifp->if_capenable & IFCAP_POLLING) ether_poll_deregister(ifp); #endif - NGE_LOCK(sc); - nge_reset(sc); - nge_stop(sc); - NGE_UNLOCK(sc); - callout_drain(&sc->nge_stat_ch); - ether_ifdetach(ifp); - bus_generic_detach(dev); - if (!sc->nge_tbi) { + if (device_is_attached(dev)) { + NGE_LOCK(sc); + sc->nge_flags |= NGE_FLAG_DETACH; + nge_stop(sc); + NGE_UNLOCK(sc); + callout_drain(&sc->nge_stat_ch); + if (ifp != NULL) + ether_ifdetach(ifp); + } + + if (sc->nge_miibus != NULL) { device_delete_child(dev, sc->nge_miibus); + sc->nge_miibus = NULL; } - bus_teardown_intr(dev, sc->nge_irq, sc->nge_intrhand); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->nge_irq); - bus_release_resource(dev, NGE_RES, NGE_RID, sc->nge_res); + bus_generic_detach(dev); + if (sc->nge_intrhand != NULL) + bus_teardown_intr(dev, sc->nge_irq, sc->nge_intrhand); + if (sc->nge_irq != NULL) + bus_release_resource(dev, SYS_RES_IRQ, 0, sc->nge_irq); + if (sc->nge_res != NULL) + bus_release_resource(dev, sc->nge_res_type, sc->nge_res_id, + sc->nge_res); - contigfree(sc->nge_ldata, sizeof(struct nge_list_data), M_DEVBUF); - if_free(ifp); + nge_dma_free(sc); + if (ifp != NULL) + if_free(ifp); NGE_LOCK_DESTROY(sc); return (0); } +struct nge_dmamap_arg { + bus_addr_t nge_busaddr; +}; + +static void +nge_dmamap_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error) +{ + struct nge_dmamap_arg *ctx; + + if (error != 0) + return; + ctx = arg; + ctx->nge_busaddr = segs[0].ds_addr; +} + +static int +nge_dma_alloc(struct nge_softc *sc) +{ + struct nge_dmamap_arg ctx; + struct nge_txdesc *txd; + struct nge_rxdesc *rxd; + int error, i; + + /* Create parent DMA tag. */ + error = bus_dma_tag_create( + bus_get_dma_tag(sc->nge_dev), /* parent */ + 1, 0, /* alignment, boundary */ + BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + BUS_SPACE_MAXSIZE_32BIT, /* maxsize */ + 0, /* nsegments */ + BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockarg */ + &sc->nge_cdata.nge_parent_tag); + if (error != 0) { + device_printf(sc->nge_dev, "failed to create parent DMA tag\n"); + goto fail; + } + /* Create tag for Tx ring. */ + error = bus_dma_tag_create(sc->nge_cdata.nge_parent_tag,/* parent */ + NGE_RING_ALIGN, 0, /* alignment, boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + NGE_TX_RING_SIZE, /* maxsize */ + 1, /* nsegments */ + NGE_TX_RING_SIZE, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockarg */ + &sc->nge_cdata.nge_tx_ring_tag); + if (error != 0) { + device_printf(sc->nge_dev, "failed to create Tx ring DMA tag\n"); + goto fail; + } + + /* Create tag for Rx ring. */ + error = bus_dma_tag_create(sc->nge_cdata.nge_parent_tag,/* parent */ + NGE_RING_ALIGN, 0, /* alignment, boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + NGE_RX_RING_SIZE, /* maxsize */ + 1, /* nsegments */ + NGE_RX_RING_SIZE, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockarg */ + &sc->nge_cdata.nge_rx_ring_tag); + if (error != 0) { + device_printf(sc->nge_dev, + "failed to create Rx ring DMA tag\n"); + goto fail; + } + + /* Create tag for Tx buffers. */ + error = bus_dma_tag_create(sc->nge_cdata.nge_parent_tag,/* parent */ + 1, 0, /* alignment, boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + MCLBYTES * NGE_MAXTXSEGS, /* maxsize */ + NGE_MAXTXSEGS, /* nsegments */ + MCLBYTES, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockarg */ + &sc->nge_cdata.nge_tx_tag); + if (error != 0) { + device_printf(sc->nge_dev, "failed to create Tx DMA tag\n"); + goto fail; + } + + /* Create tag for Rx buffers. */ + error = bus_dma_tag_create(sc->nge_cdata.nge_parent_tag,/* parent */ + NGE_RX_ALIGN, 0, /* alignment, boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + MCLBYTES, /* maxsize */ + 1, /* nsegments */ + MCLBYTES, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockarg */ + &sc->nge_cdata.nge_rx_tag); + if (error != 0) { + device_printf(sc->nge_dev, "failed to create Rx DMA tag\n"); + goto fail; + } + + /* Allocate DMA'able memory and load the DMA map for Tx ring. */ + error = bus_dmamem_alloc(sc->nge_cdata.nge_tx_ring_tag, + (void **)&sc->nge_rdata.nge_tx_ring, BUS_DMA_WAITOK | + BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->nge_cdata.nge_tx_ring_map); + if (error != 0) { + device_printf(sc->nge_dev, + "failed to allocate DMA'able memory for Tx ring\n"); + goto fail; + } + + ctx.nge_busaddr = 0; + error = bus_dmamap_load(sc->nge_cdata.nge_tx_ring_tag, + sc->nge_cdata.nge_tx_ring_map, sc->nge_rdata.nge_tx_ring, + NGE_TX_RING_SIZE, nge_dmamap_cb, &ctx, 0); + if (error != 0 || ctx.nge_busaddr == 0) { + device_printf(sc->nge_dev, + "failed to load DMA'able memory for Tx ring\n"); + goto fail; + } + sc->nge_rdata.nge_tx_ring_paddr = ctx.nge_busaddr; + + /* Allocate DMA'able memory and load the DMA map for Rx ring. */ + error = bus_dmamem_alloc(sc->nge_cdata.nge_rx_ring_tag, + (void **)&sc->nge_rdata.nge_rx_ring, BUS_DMA_WAITOK | + BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->nge_cdata.nge_rx_ring_map); + if (error != 0) { + device_printf(sc->nge_dev, + "failed to allocate DMA'able memory for Rx ring\n"); + goto fail; + } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:49:37 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F7331065679; Sun, 7 Jun 2009 05:49:37 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5BFCB8FC14; Sun, 7 Jun 2009 05:49:37 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n575nbFo083440; Sun, 7 Jun 2009 05:49:37 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n575nbYZ083439; Sun, 7 Jun 2009 05:49:37 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070549.n575nbYZ083439@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 05:49:37 +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: r193617 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb sparc64/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, 07 Jun 2009 05:49:38 -0000 Author: yongari Date: Sun Jun 7 05:49:37 2009 New Revision: 193617 URL: http://svn.freebsd.org/changeset/base/193617 Log: MFC r192508: Add nge(4), nge(4) should work on all architectures. Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/sparc64/conf/GENERIC Modified: stable/7/sys/sparc64/conf/GENERIC ============================================================================== --- stable/7/sys/sparc64/conf/GENERIC Sun Jun 7 05:46:12 2009 (r193616) +++ stable/7/sys/sparc64/conf/GENERIC Sun Jun 7 05:49:37 2009 (r193617) @@ -167,6 +167,7 @@ device dc # DEC/Intel 21143 and variou device fxp # Intel EtherExpress PRO/100B (82557, 82558) device gem # Sun GEM/Sun ERI/Apple GMAC device hme # Sun HME (Happy Meal Ethernet) +device nge # NatSemi DP83820 gigabit Ethernet #device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 05:52:22 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3170106566B; Sun, 7 Jun 2009 05:52:22 +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 C108F8FC18; Sun, 7 Jun 2009 05:52:22 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n575qMiX083554; Sun, 7 Jun 2009 05:52:22 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n575qM6o083553; Sun, 7 Jun 2009 05:52:22 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <200906070552.n575qM6o083553@svn.freebsd.org> From: Adrian Chadd Date: Sun, 7 Jun 2009 05:52: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: r193618 - head/sys/dev/xen/netfront X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 05:52:23 -0000 Author: adrian Date: Sun Jun 7 05:52:22 2009 New Revision: 193618 URL: http://svn.freebsd.org/changeset/base/193618 Log: Fix compilation when compiled w/out WITNESS. Submitted by: Edwin Shao Modified: head/sys/dev/xen/netfront/netfront.c Modified: head/sys/dev/xen/netfront/netfront.c ============================================================================== --- head/sys/dev/xen/netfront/netfront.c Sun Jun 7 05:49:37 2009 (r193617) +++ head/sys/dev/xen/netfront/netfront.c Sun Jun 7 05:52:22 2009 (r193618) @@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 06:22:00 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 068281065673; Sun, 7 Jun 2009 06:22:00 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E83508FC12; Sun, 7 Jun 2009 06:21:59 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n576Lxs9084230; Sun, 7 Jun 2009 06:21:59 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n576LxPS084229; Sun, 7 Jun 2009 06:21:59 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070621.n576LxPS084229@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 06:21:59 +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: r193619 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 06:22:00 -0000 Author: yongari Date: Sun Jun 7 06:21:59 2009 New Revision: 193619 URL: http://svn.freebsd.org/changeset/base/193619 Log: MFC r176267: Document the hw.skc.jumbo_disable tunable. While here, correct some things in the SYSCTLS section. Submitted by: yongari Modified: stable/7/share/man/man4/ (props changed) stable/7/share/man/man4/igb.4 (props changed) stable/7/share/man/man4/sk.4 Modified: stable/7/share/man/man4/sk.4 ============================================================================== --- stable/7/share/man/man4/sk.4 Sun Jun 7 05:52:22 2009 (r193618) +++ stable/7/share/man/man4/sk.4 Sun Jun 7 06:21:59 2009 (r193619) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 16, 2005 +.Dd February 14, 2008 .Dt SK 4 .Os .Sh NAME @@ -191,17 +191,28 @@ SK-9844 SK-NET GE-SX dual port, multimod .It SMC 9452TX single port, 1000baseT adapter .El +.Sh LOADER TUNABLES +Tunables can be set at the +.Xr loader 8 +prompt before booting the kernel or stored in +.Xr loader.conf 5 . +.Bl -tag -width xxxxxx +.It Va hw.skc.jumbo_disable +Disable jumbo frame support. +Systems with less memory can set it to a non-zero value to save memory. +The default value is 0. +.El .Sh SYSCTL VARIABLES The following variable is available as both .Xr sysctl 8 variable and .Xr loader 8 tunable: -.Bl -tag -width indent +.Bl -tag -width xxxxxx .It Va dev.skc.%d.int_mod -.Pp This variable controls interrupt moderation. -The accepted range is 10 to 10000, default value is 100 microseconds. +The accepted range is 10 to 10000. +The default value is 100 microseconds. The interface has to be brought down and up again before a change takes effect. .El .Sh DIAGNOSTICS From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 06:23:25 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 194421065674; Sun, 7 Jun 2009 06:23:25 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 06CF58FC18; Sun, 7 Jun 2009 06:23:25 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n576NO6b084316; Sun, 7 Jun 2009 06:23:24 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n576NOj2084314; Sun, 7 Jun 2009 06:23:24 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070623.n576NOj2084314@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 06:23:24 +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: r193620 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 06:23:25 -0000 Author: yongari Date: Sun Jun 7 06:23:24 2009 New Revision: 193620 URL: http://svn.freebsd.org/changeset/base/193620 Log: MFC r187662: Update the supported device list a little bit. PR: 84538 Submitted by: asmodai Modified: stable/7/share/man/man4/ (props changed) stable/7/share/man/man4/igb.4 (props changed) stable/7/share/man/man4/nge.4 stable/7/share/man/man4/sk.4 Modified: stable/7/share/man/man4/nge.4 ============================================================================== --- stable/7/share/man/man4/nge.4 Sun Jun 7 06:21:59 2009 (r193619) +++ stable/7/share/man/man4/nge.4 Sun Jun 7 06:23:24 2009 (r193620) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 14, 2006 +.Dd January 23, 2009 .Dt NGE 4 .Os .Sh NAME @@ -170,6 +170,8 @@ Asante FriendlyNet GigaNIX 1000TA and 10 .It D-Link DGE-500T .It +Linksys EG1032, revision 1 +.It Netgear GA621 .It Netgear GA622T Modified: stable/7/share/man/man4/sk.4 ============================================================================== --- stable/7/share/man/man4/sk.4 Sun Jun 7 06:21:59 2009 (r193619) +++ stable/7/share/man/man4/sk.4 Sun Jun 7 06:23:24 2009 (r193620) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 14, 2008 +.Dd January 23, 2009 .Dt SK 4 .Os .Sh NAME @@ -82,7 +82,7 @@ second port on dual port adapters for fa on the primary port fails, the SysKonnect driver will automatically switch traffic onto the second port. .Pp -Also supported is the Marvell Semiconductor 88E1000* gigabit PHY. +Also supported is the Marvell Semiconductor 88E100* gigabit PHY. .Pp The XaQti XMAC II supports full and half duplex operation with autonegotiation. @@ -173,7 +173,7 @@ Belkin F5D5005 single port, 1000baseT ad .It D-Link DGE-530T single port, 1000baseT adapter .It -Linksys EG1032 single port, 1000baseT adapter +Linksys (revision 2) single port, 1000baseT adapter .It SK-9521 SK-NET GE-T single port, 1000baseT adapter .It From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 06:27:33 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E85C6106566C; Sun, 7 Jun 2009 06:27:33 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BB45A8FC13; Sun, 7 Jun 2009 06:27:33 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n576RXbE084460; Sun, 7 Jun 2009 06:27:33 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n576RXbH084459; Sun, 7 Jun 2009 06:27:33 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070627.n576RXbH084459@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 06:27: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: r193621 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 06:27:34 -0000 Author: yongari Date: Sun Jun 7 06:27:33 2009 New Revision: 193621 URL: http://svn.freebsd.org/changeset/base/193621 Log: MFC r192512-192514: r192512: Document sysctl variable dev.nge.%d.int_holdoff. r192513: DP83821 also supports jumbo frames. r192514: nge(4) supports altq(4). Xr altq Modified: stable/7/share/man/man4/ (props changed) stable/7/share/man/man4/igb.4 (props changed) stable/7/share/man/man4/nge.4 Modified: stable/7/share/man/man4/nge.4 ============================================================================== --- stable/7/share/man/man4/nge.4 Sun Jun 7 06:23:24 2009 (r193620) +++ stable/7/share/man/man4/nge.4 Sun Jun 7 06:27:33 2009 (r193621) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 23, 2009 +.Dd May 21, 2009 .Dt NGE 4 .Os .Sh NAME @@ -69,8 +69,8 @@ Most cards also use the DP83861 10/100/1 chip, which supports autonegotiation of 10, 100 and 1000Mbps modes in full or half duplex. .Pp -The DP83820 also supports jumbo frames, which can be configured -via the interface MTU setting. +The DP83820 and DP83821 also support jumbo frames, which can be +configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the .Xr ifconfig 8 utility configures the adapter to receive and transmit jumbo frames. @@ -182,6 +182,21 @@ Surecom Technology EP-320G-TX .It Trendware TEG-PCITX (32-bit PCI) and TEG-PCITX2 (64-bit PCI) .El +.Sh SYSCTL VARIABLES +The following variables are available as both +.Xr sysctl 8 +variables and +.Xr loader 8 +tunables: +.Bl -tag -width "xxxxxx" +.It Va dev.nge.%d.int_holdoff +Maximum amount of time to delay interrupt processing in units of +100us. +The accepted range is 0 to 255, the default is 1(100us). +Value 0 completely disables the interrupt moderation. +The interface has to be brought down and up again before a change +takes effect. +.El .Sh DIAGNOSTICS .Bl -diag .It "nge%d: couldn't map memory" @@ -205,6 +220,7 @@ The device has stopped responding to the the network connection (cable). .El .Sh SEE ALSO +.Xr altq 4 , .Xr arp 4 , .Xr miibus 4 , .Xr netintro 4 , From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 06:28:55 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B733B106568B; Sun, 7 Jun 2009 06:28:55 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A4A6E8FC23; Sun, 7 Jun 2009 06:28:55 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n576Sta4084531; Sun, 7 Jun 2009 06:28:55 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n576St4I084530; Sun, 7 Jun 2009 06:28:55 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906070628.n576St4I084530@svn.freebsd.org> From: Pyun YongHyeon Date: Sun, 7 Jun 2009 06:28:55 +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: r193622 - stable/7/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 06:28:57 -0000 Author: yongari Date: Sun Jun 7 06:28:55 2009 New Revision: 193622 URL: http://svn.freebsd.org/changeset/base/193622 Log: MFC r192515: Add nge(4) to the list of drivers supporting ALTQ. Modified: stable/7/share/man/man4/ (props changed) stable/7/share/man/man4/altq.4 stable/7/share/man/man4/igb.4 (props changed) Modified: stable/7/share/man/man4/altq.4 ============================================================================== --- stable/7/share/man/man4/altq.4 Sun Jun 7 06:27:33 2009 (r193621) +++ stable/7/share/man/man4/altq.4 Sun Jun 7 06:28:55 2009 (r193622) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 12, 2009 +.Dd May 21, 2009 .Dt ALTQ 4 .Os .Sh NAME @@ -141,6 +141,7 @@ They have been applied to the following .Xr mxge 4 , .Xr my 4 , .Xr nfe 4 , +.Xr nge 4 , .Xr npe 4 , .Xr nve 4 , .Xr ral 4 , From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 07:45:25 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A9501065672; Sun, 7 Jun 2009 07:45:25 +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 792718FC16; Sun, 7 Jun 2009 07:45:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n577jPGI086107; Sun, 7 Jun 2009 07:45:25 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n577jPwV086106; Sun, 7 Jun 2009 07:45:25 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200906070745.n577jPwV086106@svn.freebsd.org> From: Warner Losh Date: Sun, 7 Jun 2009 07:45: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: r193625 - head/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, 07 Jun 2009 07:45:26 -0000 Author: imp Date: Sun Jun 7 07:45:25 2009 New Revision: 193625 URL: http://svn.freebsd.org/changeset/base/193625 Log: I don't know why fstab doesn't document that the fifth field specifies the number of days between backups. All it says is frequency, with no units given. It likely should say "the interval in days between backups" instead, but not today. Modified: head/share/man/man5/fstab.5 Modified: head/share/man/man5/fstab.5 ============================================================================== --- head/share/man/man5/fstab.5 Sun Jun 7 07:01:21 2009 (r193624) +++ head/share/man/man5/fstab.5 Sun Jun 7 07:45:25 2009 (r193625) @@ -198,6 +198,8 @@ command to determine which file systems If the fifth field is not present, a value of zero is returned and .Nm dump will assume that the file system does not need to be dumped. +If the fifth field is greater than 0, then it specifies the number of days +between dumps for this file system. .Pp The sixth field, .Pq Fa fs_passno , From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 08:11:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D49C106564A; Sun, 7 Jun 2009 08:11:26 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EDDD58FC13; Sun, 7 Jun 2009 08:11:25 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n578BPq6086665; Sun, 7 Jun 2009 08:11:25 GMT (envelope-from brian@svn.freebsd.org) Received: (from brian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n578BP0Z086661; Sun, 7 Jun 2009 08:11:25 GMT (envelope-from brian@svn.freebsd.org) Message-Id: <200906070811.n578BP0Z086661@svn.freebsd.org> From: Brian Somers Date: Sun, 7 Jun 2009 08:11:25 +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: r193626 - stable/7/bin/ps X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 08:11:26 -0000 Author: brian Date: Sun Jun 7 08:11:25 2009 New Revision: 193626 URL: http://svn.freebsd.org/changeset/base/193626 Log: MFC: r192239: Add a -d switch. Modified: stable/7/bin/ps/ (props changed) stable/7/bin/ps/print.c stable/7/bin/ps/ps.1 stable/7/bin/ps/ps.c stable/7/bin/ps/ps.h Modified: stable/7/bin/ps/print.c ============================================================================== --- stable/7/bin/ps/print.c Sun Jun 7 07:45:25 2009 (r193625) +++ stable/7/bin/ps/print.c Sun Jun 7 08:11:25 2009 (r193626) @@ -129,25 +129,33 @@ command(KINFO *k, VARENT *ve) v = ve->var; if (cflag) { /* If it is the last field, then don't pad */ - if (STAILQ_NEXT(ve, next_ve) == NULL) + if (STAILQ_NEXT(ve, next_ve) == NULL) { + if (k->ki_d.prefix) + (void)printf("%s", k->ki_d.prefix); (void)printf("%s", k->ki_p->ki_comm); - else + } else (void)printf("%-*s", v->width, k->ki_p->ki_comm); return; } if ((vis_args = malloc(strlen(k->ki_args) * 4 + 1)) == NULL) errx(1, "malloc failed"); strvis(vis_args, k->ki_args, VIS_TAB | VIS_NL | VIS_NOSLASH); - if (k->ki_env) { - if ((vis_env = malloc(strlen(k->ki_env) * 4 + 1)) == NULL) - errx(1, "malloc failed"); - strvis(vis_env, k->ki_env, VIS_TAB | VIS_NL | VIS_NOSLASH); - } else - vis_env = NULL; if (STAILQ_NEXT(ve, next_ve) == NULL) { /* last field */ + + if (k->ki_env) { + if ((vis_env = malloc(strlen(k->ki_env) * 4 + 1)) + == NULL) + errx(1, "malloc failed"); + strvis(vis_env, k->ki_env, + VIS_TAB | VIS_NL | VIS_NOSLASH); + } else + vis_env = NULL; + if (termwidth == UNLIMITED) { + if (k->ki_d.prefix) + (void)printf("%s", k->ki_d.prefix); if (vis_env) (void)printf("%s ", vis_env); (void)printf("%s", vis_args); @@ -155,6 +163,9 @@ command(KINFO *k, VARENT *ve) left = termwidth - (totwidth - v->width); if (left < 1) /* already wrapped, just use std width */ left = v->width; + if ((cp = k->ki_d.prefix) != NULL) + while (--left >= 0 && *cp) + (void)putchar(*cp++); if ((cp = vis_env) != NULL) { while (--left >= 0 && *cp) (void)putchar(*cp++); @@ -164,12 +175,12 @@ command(KINFO *k, VARENT *ve) for (cp = vis_args; --left >= 0 && *cp != '\0';) (void)putchar(*cp++); } + if (vis_env != NULL) + free(vis_env); } else - /* XXX env? */ + /* ki_d.prefix & ki_env aren't shown for interim fields */ (void)printf("%-*.*s", v->width, v->width, vis_args); free(vis_args); - if (vis_env != NULL) - free(vis_env); } void @@ -178,9 +189,11 @@ ucomm(KINFO *k, VARENT *ve) VAR *v; v = ve->var; - if (STAILQ_NEXT(ve, next_ve) == NULL) /* last field, don't pad */ + if (STAILQ_NEXT(ve, next_ve) == NULL) { /* last field, don't pad */ + if (k->ki_d.prefix) + (void)printf("%s", k->ki_d.prefix); (void)printf("%s", k->ki_p->ki_comm); - else + } else (void)printf("%-*s", v->width, k->ki_p->ki_comm); } Modified: stable/7/bin/ps/ps.1 ============================================================================== --- stable/7/bin/ps/ps.1 Sun Jun 7 07:45:25 2009 (r193625) +++ stable/7/bin/ps/ps.1 Sun Jun 7 08:11:25 2009 (r193626) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd August 21, 2006 +.Dd May 16, 2009 .Dt PS 1 .Os .Sh NAME @@ -37,7 +37,7 @@ .Nd process status .Sh SYNOPSIS .Nm -.Op Fl aCcefHhjlmrSTuvwXxZ +.Op Fl aCcdefHhjlmrSTuvwXxZ .Op Fl O Ar fmt | Fl o Ar fmt .Op Fl G Ar gid Ns Op , Ns Ar gid Ns Ar ... .Op Fl M Ar core @@ -122,6 +122,15 @@ CPU calculation that ignores .Dq resident time (this normally has no effect). +.It Fl d +Arrange processes into descendancy order and prefix each command with +indentation text showing sibling and parent/child relationships. +If either of the +.Fl m +and +.Fl r +options are also used, they control how sibling processes are sorted +relative to eachother. .It Fl e Display the environment as well. .It Fl f Modified: stable/7/bin/ps/ps.c ============================================================================== --- stable/7/bin/ps/ps.c Sun Jun 7 07:45:25 2009 (r193625) +++ stable/7/bin/ps/ps.c Sun Jun 7 08:11:25 2009 (r193626) @@ -137,6 +137,7 @@ static int addelem_pid(struct listinfo static int addelem_tty(struct listinfo *, const char *); static int addelem_uid(struct listinfo *, const char *); static void add_list(struct listinfo *, const char *); +static void descendant_sort(KINFO *, int); static void dynsizevars(KINFO *); static void *expand_list(struct listinfo *); static const char * @@ -162,7 +163,7 @@ static char vfmt[] = "pid,state,time,sl, "%cpu,%mem,command"; static char Zfmt[] = "label"; -#define PS_ARGS "AaCce" OPT_LAZY_f "G:gHhjLlM:mN:O:o:p:rSTt:U:uvwXxZ" +#define PS_ARGS "AaCcde" OPT_LAZY_f "G:gHhjLlM:mN:O:o:p:rSTt:U:uvwXxZ" int main(int argc, char *argv[]) @@ -176,7 +177,7 @@ main(int argc, char *argv[]) const char *nlistf, *memf; char *cols; int all, ch, elem, flag, _fmt, i, lineno; - int nentries, nkept, nselectors; + int descendancy, nentries, nkept, nselectors; int prtheader, showthreads, wflag, what, xkeep, xkeep_implied; char errbuf[_POSIX2_LINE_MAX]; @@ -200,7 +201,7 @@ main(int argc, char *argv[]) if (argc > 1) argv[1] = kludge_oldps_options(PS_ARGS, argv[1], argv[2]); - all = _fmt = nselectors = optfatal = 0; + all = descendancy = _fmt = nselectors = optfatal = 0; prtheader = showthreads = wflag = xkeep_implied = 0; xkeep = -1; /* Neither -x nor -X. */ init_list(&gidlist, addelem_gid, sizeof(gid_t), "group"); @@ -232,6 +233,9 @@ main(int argc, char *argv[]) case 'c': cflag = 1; break; + case 'd': + descendancy = 1; + break; case 'e': /* XXX set ufmt */ needenv = 1; break; @@ -574,6 +578,8 @@ main(int argc, char *argv[]) keepit: next_KINFO = &kinfo[nkept]; next_KINFO->ki_p = kp; + next_KINFO->ki_d.level = 0; + next_KINFO->ki_d.prefix = NULL; next_KINFO->ki_pcpu = getpcpu(next_KINFO); if (sortby == SORTMEM) next_KINFO->ki_memsize = kp->ki_tsize + @@ -598,6 +604,13 @@ main(int argc, char *argv[]) * sort proc list */ qsort(kinfo, nkept, sizeof(KINFO), pscomp); + + /* + * We want things in descendant order + */ + if (descendancy) + descendant_sort(kinfo, nkept); + /* * For each process, call each variable output function. */ @@ -621,6 +634,9 @@ main(int argc, char *argv[]) free_list(&sesslist); free_list(&ttylist); free_list(&uidlist); + for (i = 0; i < nkept; i++) + free(kinfo[i].ki_d.prefix); + free(kinfo); exit(eval); } @@ -889,6 +905,116 @@ add_list(struct listinfo *inf, const cha } } +static void +descendant_sort(KINFO *ki, int items) +{ + int dst, lvl, maxlvl, n, ndst, nsrc, siblings, src; + unsigned char *path; + KINFO kn; + + /* + * First, sort the entries by descendancy, tracking the descendancy + * depth in the ki_d.level field. + */ + src = 0; + maxlvl = 0; + while (src < items) { + if (ki[src].ki_d.level) { + src++; + continue; + } + for (nsrc = 1; src + nsrc < items; nsrc++) + if (!ki[src + nsrc].ki_d.level) + break; + + for (dst = 0; dst < items; dst++) { + if (ki[dst].ki_p->ki_pid == ki[src].ki_p->ki_pid) + continue; + if (ki[dst].ki_p->ki_pid == ki[src].ki_p->ki_ppid) + break; + } + + if (dst == items) { + src += nsrc; + continue; + } + + for (ndst = 1; dst + ndst < items; ndst++) + if (ki[dst + ndst].ki_d.level <= ki[dst].ki_d.level) + break; + + for (n = src; n < src + nsrc; n++) { + ki[n].ki_d.level += ki[dst].ki_d.level + 1; + if (maxlvl < ki[n].ki_d.level) + maxlvl = ki[n].ki_d.level; + } + + while (nsrc) { + if (src < dst) { + kn = ki[src]; + memmove(ki + src, ki + src + 1, + (dst - src + ndst - 1) * sizeof *ki); + ki[dst + ndst - 1] = kn; + nsrc--; + dst--; + ndst++; + } else if (src != dst + ndst) { + kn = ki[src]; + memmove(ki + dst + ndst + 1, ki + dst + ndst, + (src - dst - ndst) * sizeof *ki); + ki[dst + ndst] = kn; + ndst++; + nsrc--; + src++; + } else { + ndst += nsrc; + src += nsrc; + nsrc = 0; + } + } + } + + /* + * Now populate ki_d.prefix (instead of ki_d.level) with the command + * prefix used to show descendancies. + */ + path = malloc((maxlvl + 7) / 8); + memset(path, '\0', (maxlvl + 7) / 8); + for (src = 0; src < items; src++) { + if ((lvl = ki[src].ki_d.level) == 0) { + ki[src].ki_d.prefix = NULL; + continue; + } + if ((ki[src].ki_d.prefix = malloc(lvl * 2 + 1)) == NULL) + errx(1, "malloc failed"); + for (n = 0; n < lvl - 2; n++) { + ki[src].ki_d.prefix[n * 2] = + path[n / 8] & 1 << (n % 8) ? '|' : ' '; + ki[src].ki_d.prefix[n * 2 + 1] = ' '; + + } + if (n == lvl - 2) { + /* Have I any more siblings? */ + for (siblings = 0, dst = src + 1; dst < items; dst++) { + if (ki[dst].ki_d.level > lvl) + continue; + if (ki[dst].ki_d.level == lvl) + siblings = 1; + break; + } + if (siblings) + path[n / 8] |= 1 << (n % 8); + else + path[n / 8] &= ~(1 << (n % 8)); + ki[src].ki_d.prefix[n * 2] = siblings ? '|' : '`'; + ki[src].ki_d.prefix[n * 2 + 1] = '-'; + n++; + } + strcpy(ki[src].ki_d.prefix + n * 2, "- "); + } + free(path); +} + static void * expand_list(struct listinfo *inf) { Modified: stable/7/bin/ps/ps.h ============================================================================== --- stable/7/bin/ps/ps.h Sun Jun 7 07:45:25 2009 (r193625) +++ stable/7/bin/ps/ps.h Sun Jun 7 08:11:25 2009 (r193626) @@ -42,6 +42,10 @@ typedef struct kinfo { int ki_valid; /* 1 => uarea stuff valid */ double ki_pcpu; /* calculated in main() */ segsz_t ki_memsize; /* calculated in main() */ + union { + int level; /* used in decendant_sort() */ + char *prefix; /* calculated in decendant_sort() */ + } ki_d; } KINFO; /* Variables. */ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 08:21:06 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AED81106566B; Sun, 7 Jun 2009 08:21:06 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 938F98FC1B; Sun, 7 Jun 2009 08:21:06 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n578L6XJ086940; Sun, 7 Jun 2009 08:21:06 GMT (envelope-from brian@svn.freebsd.org) Received: (from brian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n578L66a086938; Sun, 7 Jun 2009 08:21:06 GMT (envelope-from brian@svn.freebsd.org) Message-Id: <200906070821.n578L66a086938@svn.freebsd.org> From: Brian Somers Date: Sun, 7 Jun 2009 08:21:06 +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: r193627 - stable/7/usr.bin/pkill X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 08:21:07 -0000 Author: brian Date: Sun Jun 7 08:21:06 2009 New Revision: 193627 URL: http://svn.freebsd.org/changeset/base/193627 Log: MFC: r192242: Don't kill ancestors unless -a is given. Modified: stable/7/usr.bin/pkill/ (props changed) stable/7/usr.bin/pkill/pkill.1 stable/7/usr.bin/pkill/pkill.c Modified: stable/7/usr.bin/pkill/pkill.1 ============================================================================== --- stable/7/usr.bin/pkill/pkill.1 Sun Jun 7 08:11:25 2009 (r193626) +++ stable/7/usr.bin/pkill/pkill.1 Sun Jun 7 08:21:06 2009 (r193627) @@ -36,7 +36,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 23, 2006 +.Dd May 16, 2009 .Dt PKILL 1 .Os .Sh NAME @@ -44,7 +44,7 @@ .Nd find or signal processes by name .Sh SYNOPSIS .Nm pgrep -.Op Fl LSfilnovx +.Op Fl LSafilnovx .Op Fl F Ar pidfile .Op Fl G Ar gid .Op Fl M Ar core @@ -60,7 +60,7 @@ .Ar pattern ... .Nm pkill .Op Fl Ar signal -.Op Fl ILfinovx +.Op Fl ILafinovx .Op Fl F Ar pidfile .Op Fl G Ar gid .Op Fl M Ar core @@ -128,6 +128,15 @@ The default is a newline. This option can only be used with the .Nm pgrep command. +.It Fl a +Include process ancestors in the match list. +By default, the current +.Nm pgrep +or +.Nm pkill +process and all of its ancestors are excluded (unless +.Fl v +is used). .It Fl f Match against full argument lists. The default is to match against process names. Modified: stable/7/usr.bin/pkill/pkill.c ============================================================================== --- stable/7/usr.bin/pkill/pkill.c Sun Jun 7 08:11:25 2009 (r193626) +++ stable/7/usr.bin/pkill/pkill.c Sun Jun 7 08:21:06 2009 (r193627) @@ -133,7 +133,7 @@ main(int argc, char **argv) { char buf[_POSIX2_LINE_MAX], *mstr, **pargv, *p, *q, *pidfile; const char *execf, *coref; - int debug_opt; + int ancestors, debug_opt; int i, ch, bestidx, rv, criteria, pidfromfile, pidfilelock; size_t jsz; int (*action)(const struct kinfo_proc *); @@ -142,6 +142,7 @@ main(int argc, char **argv) struct timeval best_tval; regex_t reg; regmatch_t regmatch; + pid_t pid; setlocale(LC_ALL, ""); @@ -174,13 +175,14 @@ main(int argc, char **argv) } } + ancestors = 0; criteria = 0; debug_opt = 0; pidfile = NULL; pidfilelock = 0; execf = coref = _PATH_DEVNULL; - while ((ch = getopt(argc, argv, "DF:G:ILM:N:P:SU:d:fg:ij:lnos:t:u:vx")) != -1) + while ((ch = getopt(argc, argv, "DF:G:ILM:N:P:SU:ad:fg:ij:lnos:t:u:vx")) != -1) switch (ch) { case 'D': debug_opt++; @@ -220,6 +222,9 @@ main(int argc, char **argv) makelist(&ruidlist, LT_USER, optarg); criteria = 1; break; + case 'a': + ancestors++; + break; case 'd': if (!pgrep) usage(); @@ -468,6 +473,27 @@ main(int argc, char **argv) selected[i] = 1; } + if (!ancestors) { + pid = mypid; + while (pid) { + for (i = 0, kp = plist; i < nproc; i++, kp++) { + if (PSKIP(kp)) + continue; + if (kp->ki_pid == pid) { + selected[i] = 0; + pid = kp->ki_ppid; + break; + } + } + if (i == nproc) { + if (pid == mypid) + pid = getppid(); + else + break; /* Maybe we're in a jail ? */ + } + } + } + if (newest || oldest) { best_tval.tv_sec = 0; best_tval.tv_usec = 0; From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 08:42:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 59DA0106566B; Sun, 7 Jun 2009 08:42:26 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 485D58FC2C; Sun, 7 Jun 2009 08:42:26 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n578gQ9P087474; Sun, 7 Jun 2009 08:42:26 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n578gQJV087473; Sun, 7 Jun 2009 08:42:26 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200906070842.n578gQJV087473@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 7 Jun 2009 08:42: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: r193628 - head/sys/gnu/fs/ext2fs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 08:42:26 -0000 Author: stas Date: Sun Jun 7 08:42:26 2009 New Revision: 193628 URL: http://svn.freebsd.org/changeset/base/193628 Log: - Outindent long printf lines instead of splitting them in the middle of senetences. This also makes the code more consistent with the corresponding FFS code. - Use 2-space sentences breaks consistently. Suggested by: bde Modified: head/sys/gnu/fs/ext2fs/ext2_vfsops.c Modified: head/sys/gnu/fs/ext2fs/ext2_vfsops.c ============================================================================== --- head/sys/gnu/fs/ext2fs/ext2_vfsops.c Sun Jun 7 08:21:06 2009 (r193627) +++ head/sys/gnu/fs/ext2fs/ext2_vfsops.c Sun Jun 7 08:42:26 2009 (r193628) @@ -218,12 +218,12 @@ ext2_mount(struct mount *mp) if ((fs->s_es->s_state & EXT2_VALID_FS) == 0 || (fs->s_es->s_state & EXT2_ERROR_FS)) { if (mp->mnt_flag & MNT_FORCE) { - printf("WARNING: %s was not properly " - "dismounted\n", fs->fs_fsmnt); + printf( +"WARNING: %s was not properly dismounted\n", fs->fs_fsmnt); } else { - printf("WARNING: R/W mount of %s " - "denied. Filesystem is not clean" - " - run fsck\n", fs->fs_fsmnt); + printf( +"WARNING: R/W mount of %s denied. Filesystem is not clean - run fsck\n", + fs->fs_fsmnt); return (EPERM); } } @@ -359,8 +359,9 @@ ext2_check_sb_compat(struct ext2_super_b } if (es->s_rev_level > EXT2_GOOD_OLD_REV) { if (es->s_feature_incompat & ~EXT2_FEATURE_INCOMPAT_SUPP) { - printf("WARNING: mount of %s denied due to unsupported " - "optional features\n", devtoname(dev)); + printf( +"WARNING: mount of %s denied due to unsupported optional features\n", + devtoname(dev)); return (1); } if (!ronly && @@ -629,11 +630,11 @@ ext2_mountfs(struct vnode *devvp, struct if ((es->s_state & EXT2_VALID_FS) == 0 || (es->s_state & EXT2_ERROR_FS)) { if (ronly || (mp->mnt_flag & MNT_FORCE)) { - printf("WARNING: Filesystem was not properly " - "dismounted\n"); + printf( +"WARNING: Filesystem was not properly dismounted\n"); } else { - printf("WARNING: R/W mount denied. Filesystem " - "is not clean - run fsck\n"); + printf( +"WARNING: R/W mount denied. Filesystem is not clean - run fsck\n"); error = EPERM; goto out; } From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 09:06:22 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FC94106564A; Sun, 7 Jun 2009 09:06:22 +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 E73C88FC08; Sun, 7 Jun 2009 09:06:21 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5796L37088023; Sun, 7 Jun 2009 09:06:21 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5796Luv088021; Sun, 7 Jun 2009 09:06:21 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906070906.n5796Luv088021@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 09:06: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: r193629 - head/bin/df X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 09:06:22 -0000 Author: simon Date: Sun Jun 7 09:06:21 2009 New Revision: 193629 URL: http://svn.freebsd.org/changeset/base/193629 Log: Make "human-readable" (-H/-h) output also "humanize" inode counts. Base 10 is always used for the inode counts as I could not think of any reason base 2 inode counts would be useful. Minor mdoc markup fix to df(1) while here anyway. MFC after: 3 weeks Modified: head/bin/df/df.1 head/bin/df/df.c Modified: head/bin/df/df.1 ============================================================================== --- head/bin/df/df.1 Sun Jun 7 08:42:26 2009 (r193628) +++ head/bin/df/df.1 Sun Jun 7 09:06:21 2009 (r193629) @@ -78,15 +78,20 @@ this overrides the .Ev BLOCKSIZE specification from the environment. .It Fl H -"Human-readable" output. +.Dq Human-readable +output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to four or fewer using base 10 for sizes. .It Fl h -"Human-readable" output. +.Dq Human-readable +output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to four or fewer using base 2 for sizes. +Inodes statistics, if enabled with +.Fl i , +are always printed in base 10. .It Fl i Include statistics on the number of free inodes. .It Fl k Modified: head/bin/df/df.c ============================================================================== --- head/bin/df/df.c Sun Jun 7 08:42:26 2009 (r193628) +++ head/bin/df/df.c Sun Jun 7 09:06:21 2009 (r193629) @@ -369,6 +369,23 @@ prthumanval(int64_t bytes) } /* + * Print an inode count in "human-readable" format. + */ +static void +prthumanvalinode(int64_t bytes) +{ + char buf[6]; + int flags; + + flags = HN_NOSPACE | HN_DECIMAL | HN_DIVISOR_1000; + + humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1), + bytes, "", HN_AUTOSCALE, flags); + + (void)printf(" %5s", buf); +} + +/* * Convert statfs returned file system size into BLOCKSIZE units. * Attempts to avoid overflow for large file systems. */ @@ -413,8 +430,10 @@ prtstat(struct statfs *sfsp, struct maxw (void)printf(" %-*s %*s %*s Capacity", mwp->total, header, mwp->used, "Used", mwp->avail, "Avail"); if (iflag) { - mwp->iused = imax(mwp->iused, (int)strlen(" iused")); - mwp->ifree = imax(mwp->ifree, (int)strlen("ifree")); + mwp->iused = imax(hflag ? 0 : mwp->iused, + (int)strlen(" iused")); + mwp->ifree = imax(hflag ? 0 : mwp->ifree, + (int)strlen("ifree")); (void)printf(" %*s %*s %%iused", mwp->iused - 2, "iused", mwp->ifree, "ifree"); } @@ -440,8 +459,15 @@ prtstat(struct statfs *sfsp, struct maxw if (iflag) { inodes = sfsp->f_files; used = inodes - sfsp->f_ffree; - (void)printf(" %*jd %*jd %4.0f%% ", mwp->iused, (intmax_t)used, - mwp->ifree, (intmax_t)sfsp->f_ffree, inodes == 0 ? 100.0 : + if (hflag) { + (void)printf(" "); + prthumanvalinode(used); + prthumanvalinode(sfsp->f_ffree); + } else { + (void)printf(" %*jd %*jd", mwp->iused, (intmax_t)used, + mwp->ifree, (intmax_t)sfsp->f_ffree); + } + (void)printf(" %4.0f%% ", inodes == 0 ? 100.0 : (double)used / (double)inodes * 100.0); } else (void)printf(" "); From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 09:21:10 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E6B5106566B; Sun, 7 Jun 2009 09:21:10 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 08ACA8FC08; Sun, 7 Jun 2009 09:21:10 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n579L9HF088371; Sun, 7 Jun 2009 09:21:09 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n579L9fE088356; Sun, 7 Jun 2009 09:21:09 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906070921.n579L9fE088356@svn.freebsd.org> From: Ed Schouten Date: Sun, 7 Jun 2009 09:21:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193630 - in vendor/llvm/dist: docs include/llvm include/llvm/Analysis lib/Analysis lib/AsmParser lib/CodeGen/SelectionDAG lib/Target/PowerPC lib/Target/X86 lib/Transforms/IPO lib/Trans... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 09:21:10 -0000 Author: ed Date: Sun Jun 7 09:21:09 2009 New Revision: 193630 URL: http://svn.freebsd.org/changeset/base/193630 Log: Import LLVM r73021. Added: vendor/llvm/dist/test/CodeGen/PowerPC/vec_shift.ll vendor/llvm/dist/test/CodeGen/X86/vec_loadsingles.ll vendor/llvm/dist/test/Transforms/InstCombine/vec_demanded_elts-3.ll vendor/llvm/dist/tools/llvmc/example/mcc16/ vendor/llvm/dist/tools/llvmc/example/mcc16/Makefile vendor/llvm/dist/tools/llvmc/example/mcc16/README vendor/llvm/dist/tools/llvmc/example/mcc16/driver/ vendor/llvm/dist/tools/llvmc/example/mcc16/driver/Main.cpp vendor/llvm/dist/tools/llvmc/example/mcc16/driver/Makefile vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/ vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/Makefile vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/PIC16Base/ vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/PIC16Base/Makefile vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/PIC16Base/PIC16Base.td vendor/llvm/dist/tools/llvmc/example/mcc16/plugins/PIC16Base/PluginMain.cpp Modified: vendor/llvm/dist/docs/GoldPlugin.html vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h vendor/llvm/dist/include/llvm/DerivedTypes.h vendor/llvm/dist/include/llvm/Type.h vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp vendor/llvm/dist/lib/AsmParser/LLParser.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp vendor/llvm/dist/lib/Transforms/IPO/IPConstantPropagation.cpp vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp vendor/llvm/dist/lib/Transforms/Scalar/PredicateSimplifier.cpp vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp vendor/llvm/dist/lib/Transforms/Scalar/ScalarReplAggregates.cpp vendor/llvm/dist/lib/VMCore/Type.cpp vendor/llvm/dist/lib/VMCore/Verifier.cpp vendor/llvm/dist/test/CodeGen/X86/vec_set-5.ll vendor/llvm/dist/test/CodeGen/X86/vec_set-6.ll vendor/llvm/dist/tools/gold/gold-plugin.cpp Modified: vendor/llvm/dist/docs/GoldPlugin.html ============================================================================== --- vendor/llvm/dist/docs/GoldPlugin.html Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/docs/GoldPlugin.html Sun Jun 7 09:21:09 2009 (r193630) @@ -157,7 +157,7 @@ export AR="$PREFIX/bin/ar" export NM="$PREFIX/bin/nm" export RANLIB=/bin/true #ranlib is not needed, and doesn't support .bc files in .a export CFLAGS="-O4" - +
  • Or you can just set your path:
    @@ -166,7 +166,7 @@ export CC="llvm-gcc -use-gold-plugin"
     export CXX="llvm-g++ -use-gold-plugin"
     export RANLIB=/bin/true
     export CFLAGS="-O4"
    -     
    +
  • Configure & build the project as usual: ./configure && make && make check
  • Modified: vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h Sun Jun 7 09:21:09 2009 (r193630) @@ -227,9 +227,9 @@ namespace llvm { /// TargetData *TD; - /// UnknownValue - This SCEV is used to represent unknown trip counts and - /// things. - SCEVHandle UnknownValue; + /// CouldNotCompute - This SCEV is used to represent unknown trip + /// counts and things. + SCEVHandle CouldNotCompute; /// Scalars - This is a cache of the scalars we have analyzed so far. /// @@ -322,23 +322,23 @@ namespace llvm { /// a constant number of times (the condition evolves only from constants), /// try to evaluate a few iterations of the loop until we get the exit /// condition gets a value of ExitWhen (true or false). If we cannot - /// evaluate the trip count of the loop, return UnknownValue. + /// evaluate the trip count of the loop, return CouldNotCompute. SCEVHandle ComputeBackedgeTakenCountExhaustively(const Loop *L, Value *Cond, bool ExitWhen); /// HowFarToZero - Return the number of times a backedge comparing the /// specified value to zero will execute. If not computable, return - /// UnknownValue. + /// CouldNotCompute. SCEVHandle HowFarToZero(const SCEV *V, const Loop *L); /// HowFarToNonZero - Return the number of times a backedge checking the /// specified value for nonzero will execute. If not computable, return - /// UnknownValue. + /// CouldNotCompute. SCEVHandle HowFarToNonZero(const SCEV *V, const Loop *L); /// HowManyLessThans - Return the number of times a backedge containing the /// specified less-than comparison will execute. If not computable, return - /// UnknownValue. isSigned specifies whether the less-than is signed. + /// CouldNotCompute. isSigned specifies whether the less-than is signed. BackedgeTakenInfo HowManyLessThans(const SCEV *LHS, const SCEV *RHS, const Loop *L, bool isSigned); Modified: vendor/llvm/dist/include/llvm/DerivedTypes.h ============================================================================== --- vendor/llvm/dist/include/llvm/DerivedTypes.h Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/include/llvm/DerivedTypes.h Sun Jun 7 09:21:09 2009 (r193630) @@ -159,6 +159,10 @@ public: /// type. static bool isValidReturnType(const Type *RetTy); + /// isValidArgumentType - Return true if the specified type is valid as an + /// argument type. + static bool isValidArgumentType(const Type *ArgTy); + inline bool isVarArg() const { return isVarArgs; } inline const Type *getReturnType() const { return ContainedTys[0]; } @@ -232,6 +236,10 @@ public: /// an empty struct, pass NULL, NULL. static StructType *get(const Type *type, ...) END_WITH_NULL; + /// isValidElementType - Return true if the specified type is valid as a + /// element type. + static bool isValidElementType(const Type *ElemTy); + // Iterator access to the elements typedef Type::subtype_iterator element_iterator; element_iterator element_begin() const { return ContainedTys; } @@ -331,6 +339,10 @@ public: /// static ArrayType *get(const Type *ElementType, uint64_t NumElements); + /// isValidElementType - Return true if the specified type is valid as a + /// element type. + static bool isValidElementType(const Type *ElemTy); + inline uint64_t getNumElements() const { return NumElements; } // Implement the AbstractTypeUser interface. @@ -391,6 +403,10 @@ public: return VectorType::get(EltTy, VTy->getNumElements()); } + /// isValidElementType - Return true if the specified type is valid as a + /// element type. + static bool isValidElementType(const Type *ElemTy); + /// @brief Return the number of elements in the Vector type. inline unsigned getNumElements() const { return NumElements; } @@ -431,6 +447,10 @@ public: return PointerType::get(ElementType, 0); } + /// isValidElementType - Return true if the specified type is valid as a + /// element type. + static bool isValidElementType(const Type *ElemTy); + /// @brief Return the address space of the Pointer type. inline unsigned getAddressSpace() const { return AddressSpace; } Modified: vendor/llvm/dist/include/llvm/Type.h ============================================================================== --- vendor/llvm/dist/include/llvm/Type.h Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/include/llvm/Type.h Sun Jun 7 09:21:09 2009 (r193630) @@ -205,7 +205,7 @@ public: inline bool isAbstract() const { return Abstract; } /// canLosslesslyBitCastTo - Return true if this type could be converted - /// with a lossless BitCast to type 'Ty'. For example, uint to int. BitCasts + /// with a lossless BitCast to type 'Ty'. For example, i8* to i32*. BitCasts /// are valid for types of the same size only where no re-interpretation of /// the bits is done. /// @brief Determine if this type could be losslessly bitcast to Ty Modified: vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp ============================================================================== --- vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -1771,7 +1771,7 @@ const Type *ScalarEvolution::getEffectiv } SCEVHandle ScalarEvolution::getCouldNotCompute() { - return UnknownValue; + return CouldNotCompute; } /// hasSCEV - Return true if the SCEV for this value has already been @@ -2395,7 +2395,7 @@ ScalarEvolution::getBackedgeTakenInfo(co BackedgeTakenCounts.insert(std::make_pair(L, getCouldNotCompute())); if (Pair.second) { BackedgeTakenInfo ItCount = ComputeBackedgeTakenCount(L); - if (ItCount.Exact != UnknownValue) { + if (ItCount.Exact != CouldNotCompute) { assert(ItCount.Exact->isLoopInvariant(L) && ItCount.Max->isLoopInvariant(L) && "Computed trip count isn't loop invariant for loop!"); @@ -2464,20 +2464,20 @@ ScalarEvolution::ComputeBackedgeTakenCou // If the loop has a non-one exit block count, we can't analyze it. BasicBlock *ExitBlock = L->getExitBlock(); if (!ExitBlock) - return UnknownValue; + return CouldNotCompute; // Okay, there is one exit block. Try to find the condition that causes the // loop to be exited. BasicBlock *ExitingBlock = L->getExitingBlock(); if (!ExitingBlock) - return UnknownValue; // More than one block exiting! + return CouldNotCompute; // More than one block exiting! // Okay, we've computed the exiting block. See what condition causes us to // exit. // // FIXME: we should be able to handle switch instructions (with a single exit) BranchInst *ExitBr = dyn_cast(ExitingBlock->getTerminator()); - if (ExitBr == 0) return UnknownValue; + if (ExitBr == 0) return CouldNotCompute; assert(ExitBr->isConditional() && "If unconditional, it can't be in loop!"); // At this point, we know we have a conditional branch that determines whether @@ -2493,7 +2493,7 @@ ScalarEvolution::ComputeBackedgeTakenCou if (ExitBr->getSuccessor(0) != L->getHeader() && ExitBr->getSuccessor(1) != L->getHeader() && ExitBr->getParent() != L->getHeader()) - return UnknownValue; + return CouldNotCompute; ICmpInst *ExitCond = dyn_cast(ExitBr->getCondition()); @@ -2647,11 +2647,11 @@ SCEVHandle ScalarEvolution:: ComputeLoadConstantCompareBackedgeTakenCount(LoadInst *LI, Constant *RHS, const Loop *L, ICmpInst::Predicate predicate) { - if (LI->isVolatile()) return UnknownValue; + if (LI->isVolatile()) return CouldNotCompute; // Check to see if the loaded pointer is a getelementptr of a global. GetElementPtrInst *GEP = dyn_cast(LI->getOperand(0)); - if (!GEP) return UnknownValue; + if (!GEP) return CouldNotCompute; // Make sure that it is really a constant global we are gepping, with an // initializer, and make sure the first IDX is really 0. @@ -2659,7 +2659,7 @@ ComputeLoadConstantCompareBackedgeTakenC if (!GV || !GV->isConstant() || !GV->hasInitializer() || GEP->getNumOperands() < 3 || !isa(GEP->getOperand(1)) || !cast(GEP->getOperand(1))->isNullValue()) - return UnknownValue; + return CouldNotCompute; // Okay, we allow one non-constant index into the GEP instruction. Value *VarIdx = 0; @@ -2669,7 +2669,7 @@ ComputeLoadConstantCompareBackedgeTakenC if (ConstantInt *CI = dyn_cast(GEP->getOperand(i))) { Indexes.push_back(CI); } else if (!isa(GEP->getOperand(i))) { - if (VarIdx) return UnknownValue; // Multiple non-constant idx's. + if (VarIdx) return CouldNotCompute; // Multiple non-constant idx's. VarIdx = GEP->getOperand(i); VarIdxNum = i-2; Indexes.push_back(0); @@ -2686,7 +2686,7 @@ ComputeLoadConstantCompareBackedgeTakenC if (!IdxExpr || !IdxExpr->isAffine() || IdxExpr->isLoopInvariant(L) || !isa(IdxExpr->getOperand(0)) || !isa(IdxExpr->getOperand(1))) - return UnknownValue; + return CouldNotCompute; unsigned MaxSteps = MaxBruteForceIterations; for (unsigned IterationNum = 0; IterationNum != MaxSteps; ++IterationNum) { @@ -2713,7 +2713,7 @@ ComputeLoadConstantCompareBackedgeTakenC return getConstant(ItCst); // Found terminating iteration! } } - return UnknownValue; + return CouldNotCompute; } @@ -2852,11 +2852,11 @@ getConstantEvolutionLoopExitValue(PHINod /// constant number of times (the condition evolves only from constants), /// try to evaluate a few iterations of the loop until we get the exit /// condition gets a value of ExitWhen (true or false). If we cannot -/// evaluate the trip count of the loop, return UnknownValue. +/// evaluate the trip count of the loop, return CouldNotCompute. SCEVHandle ScalarEvolution:: ComputeBackedgeTakenCountExhaustively(const Loop *L, Value *Cond, bool ExitWhen) { PHINode *PN = getConstantEvolvingPHI(Cond, L); - if (PN == 0) return UnknownValue; + if (PN == 0) return CouldNotCompute; // Since the loop is canonicalized, the PHI node must have two entries. One // entry must be a constant (coming in from outside of the loop), and the @@ -2864,11 +2864,11 @@ ComputeBackedgeTakenCountExhaustively(co bool SecondIsBackedge = L->contains(PN->getIncomingBlock(1)); Constant *StartCST = dyn_cast(PN->getIncomingValue(!SecondIsBackedge)); - if (StartCST == 0) return UnknownValue; // Must be a constant. + if (StartCST == 0) return CouldNotCompute; // Must be a constant. Value *BEValue = PN->getIncomingValue(SecondIsBackedge); PHINode *PN2 = getConstantEvolvingPHI(BEValue, L); - if (PN2 != PN) return UnknownValue; // Not derived from same PHI. + if (PN2 != PN) return CouldNotCompute; // Not derived from same PHI. // Okay, we find a PHI node that defines the trip count of this loop. Execute // the loop symbolically to determine when the condition gets a value of @@ -2881,7 +2881,7 @@ ComputeBackedgeTakenCountExhaustively(co dyn_cast_or_null(EvaluateExpression(Cond, PHIVal)); // Couldn't symbolically evaluate. - if (!CondVal) return UnknownValue; + if (!CondVal) return CouldNotCompute; if (CondVal->getValue() == uint64_t(ExitWhen)) { ConstantEvolutionLoopExitValue[PN] = PHIVal; @@ -2892,12 +2892,12 @@ ComputeBackedgeTakenCountExhaustively(co // Compute the value of the PHI node for the next iteration. Constant *NextPHI = EvaluateExpression(BEValue, PHIVal); if (NextPHI == 0 || NextPHI == PHIVal) - return UnknownValue; // Couldn't evaluate or not making progress... + return CouldNotCompute; // Couldn't evaluate or not making progress... PHIVal = NextPHI; } // Too many iterations were needed to evaluate. - return UnknownValue; + return CouldNotCompute; } /// getSCEVAtScope - Return a SCEV expression handle for the specified value @@ -3052,7 +3052,7 @@ SCEVHandle ScalarEvolution::getSCEVAtSco // To evaluate this recurrence, we need to know how many times the AddRec // loop iterates. Compute this now. SCEVHandle BackedgeTakenCount = getBackedgeTakenCount(AddRec->getLoop()); - if (BackedgeTakenCount == UnknownValue) return AddRec; + if (BackedgeTakenCount == CouldNotCompute) return AddRec; // Then, evaluate the AddRec. return AddRec->evaluateAtIteration(BackedgeTakenCount, *this); @@ -3201,18 +3201,18 @@ SolveQuadraticEquation(const SCEVAddRecE } /// HowFarToZero - Return the number of times a backedge comparing the specified -/// value to zero will execute. If not computable, return UnknownValue. +/// value to zero will execute. If not computable, return CouldNotCompute. SCEVHandle ScalarEvolution::HowFarToZero(const SCEV *V, const Loop *L) { // If the value is a constant if (const SCEVConstant *C = dyn_cast(V)) { // If the value is already zero, the branch will execute zero times. if (C->getValue()->isZero()) return C; - return UnknownValue; // Otherwise it will loop infinitely. + return CouldNotCompute; // Otherwise it will loop infinitely. } const SCEVAddRecExpr *AddRec = dyn_cast(V); if (!AddRec || AddRec->getLoop() != L) - return UnknownValue; + return CouldNotCompute; if (AddRec->isAffine()) { // If this is an affine expression, the execution count of this branch is @@ -3274,12 +3274,12 @@ SCEVHandle ScalarEvolution::HowFarToZero } } - return UnknownValue; + return CouldNotCompute; } /// HowFarToNonZero - Return the number of times a backedge checking the /// specified value for nonzero will execute. If not computable, return -/// UnknownValue +/// CouldNotCompute SCEVHandle ScalarEvolution::HowFarToNonZero(const SCEV *V, const Loop *L) { // Loops that look like: while (X == 0) are very strange indeed. We don't // handle them yet except for the trivial case. This could be expanded in the @@ -3290,12 +3290,12 @@ SCEVHandle ScalarEvolution::HowFarToNonZ if (const SCEVConstant *C = dyn_cast(V)) { if (!C->getValue()->isNullValue()) return getIntegerSCEV(0, C->getType()); - return UnknownValue; // Otherwise it will loop infinitely. + return CouldNotCompute; // Otherwise it will loop infinitely. } // We could implement others, but I really doubt anyone writes loops like // this, and if they did, they would already be constant folded. - return UnknownValue; + return CouldNotCompute; } /// getLoopPredecessor - If the given loop's header has exactly one unique @@ -3446,16 +3446,16 @@ bool ScalarEvolution::isLoopGuardedByCon /// HowManyLessThans - Return the number of times a backedge containing the /// specified less-than comparison will execute. If not computable, return -/// UnknownValue. +/// CouldNotCompute. ScalarEvolution::BackedgeTakenInfo ScalarEvolution:: HowManyLessThans(const SCEV *LHS, const SCEV *RHS, const Loop *L, bool isSigned) { // Only handle: "ADDREC < LoopInvariant". - if (!RHS->isLoopInvariant(L)) return UnknownValue; + if (!RHS->isLoopInvariant(L)) return CouldNotCompute; const SCEVAddRecExpr *AddRec = dyn_cast(LHS); if (!AddRec || AddRec->getLoop() != L) - return UnknownValue; + return CouldNotCompute; if (AddRec->isAffine()) { // FORNOW: We only support unit strides. @@ -3466,7 +3466,7 @@ HowManyLessThans(const SCEV *LHS, const // TODO: handle non-constant strides. const SCEVConstant *CStep = dyn_cast(Step); if (!CStep || CStep->isZero()) - return UnknownValue; + return CouldNotCompute; if (CStep->isOne()) { // With unit stride, the iteration never steps past the limit value. } else if (CStep->getValue()->getValue().isStrictlyPositive()) { @@ -3477,19 +3477,19 @@ HowManyLessThans(const SCEV *LHS, const APInt Max = APInt::getSignedMaxValue(BitWidth); if ((Max - CStep->getValue()->getValue()) .slt(CLimit->getValue()->getValue())) - return UnknownValue; + return CouldNotCompute; } else { APInt Max = APInt::getMaxValue(BitWidth); if ((Max - CStep->getValue()->getValue()) .ult(CLimit->getValue()->getValue())) - return UnknownValue; + return CouldNotCompute; } } else // TODO: handle non-constant limit values below. - return UnknownValue; + return CouldNotCompute; } else // TODO: handle negative strides below. - return UnknownValue; + return CouldNotCompute; // We know the LHS is of the form {n,+,s} and the RHS is some loop-invariant // m. So, we count the number of iterations in which {n,+,s} < m is true. @@ -3536,7 +3536,7 @@ HowManyLessThans(const SCEV *LHS, const return BackedgeTakenInfo(BECount, MaxBECount); } - return UnknownValue; + return CouldNotCompute; } /// getNumIterationsInRange - Return the number of iterations of this loop that @@ -3724,7 +3724,7 @@ ScalarEvolution::SCEVCallbackVH::SCEVCal //===----------------------------------------------------------------------===// ScalarEvolution::ScalarEvolution() - : FunctionPass(&ID), UnknownValue(new SCEVCouldNotCompute()) { + : FunctionPass(&ID), CouldNotCompute(new SCEVCouldNotCompute()) { } bool ScalarEvolution::runOnFunction(Function &F) { Modified: vendor/llvm/dist/lib/AsmParser/LLParser.cpp ============================================================================== --- vendor/llvm/dist/lib/AsmParser/LLParser.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/AsmParser/LLParser.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -1043,6 +1043,8 @@ bool LLParser::ParseTypeRec(PATypeHolder return TokError("basic block pointers are invalid"); if (Result.get() == Type::VoidTy) return TokError("pointers to void are invalid; use i8* instead"); + if (!PointerType::isValidElementType(Result.get())) + return TokError("pointer to this type is invalid"); Result = HandleUpRefs(PointerType::getUnqual(Result.get())); Lex.Lex(); break; @@ -1053,6 +1055,8 @@ bool LLParser::ParseTypeRec(PATypeHolder return TokError("basic block pointers are invalid"); if (Result.get() == Type::VoidTy) return TokError("pointers to void are invalid; use i8* instead"); + if (!PointerType::isValidElementType(Result.get())) + return TokError("pointer to this type is invalid"); unsigned AddrSpace; if (ParseOptionalAddrSpace(AddrSpace) || ParseToken(lltok::star, "expected '*' in address space")) @@ -1149,7 +1153,7 @@ bool LLParser::ParseArgumentList(std::ve Lex.Lex(); } - if (!ArgTy->isFirstClassType() && !isa(ArgTy)) + if (!FunctionType::isValidArgumentType(ArgTy)) return Error(TypeLoc, "invalid type for function argument"); ArgList.push_back(ArgInfo(TypeLoc, ArgTy, Attrs, Name)); @@ -1245,6 +1249,8 @@ bool LLParser::ParseStructType(PATypeHol if (Result == Type::VoidTy) return Error(EltTyLoc, "struct element can not have void type"); + if (!StructType::isValidElementType(Result)) + return Error(EltTyLoc, "invalid element type for struct"); while (EatIfPresent(lltok::comma)) { EltTyLoc = Lex.getLoc(); @@ -1252,6 +1258,8 @@ bool LLParser::ParseStructType(PATypeHol if (Result == Type::VoidTy) return Error(EltTyLoc, "struct element can not have void type"); + if (!StructType::isValidElementType(Result)) + return Error(EltTyLoc, "invalid element type for struct"); ParamsList.push_back(Result); } @@ -1299,11 +1307,11 @@ bool LLParser::ParseArrayVectorType(PATy return Error(SizeLoc, "zero element vector is illegal"); if ((unsigned)Size != Size) return Error(SizeLoc, "size too large for vector"); - if (!EltTy->isFloatingPoint() && !EltTy->isInteger()) + if (!VectorType::isValidElementType(EltTy)) return Error(TypeLoc, "vector element type must be fp or integer"); Result = VectorType::get(EltTy, unsigned(Size)); } else { - if (!EltTy->isFirstClassType() && !isa(EltTy)) + if (!ArrayType::isValidElementType(EltTy)) return Error(TypeLoc, "invalid array element type"); Result = HandleUpRefs(ArrayType::get(EltTy, Size)); } Modified: vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp ============================================================================== --- vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -1785,48 +1785,41 @@ SDValue SelectionDAGLegalize::ExpandSCAL /// support the operation, but do support the resultant vector type. SDValue SelectionDAGLegalize::ExpandBUILD_VECTOR(SDNode *Node) { unsigned NumElems = Node->getNumOperands(); - SDValue SplatValue = Node->getOperand(0); + SDValue Value1, Value2; DebugLoc dl = Node->getDebugLoc(); MVT VT = Node->getValueType(0); - MVT OpVT = SplatValue.getValueType(); + MVT OpVT = Node->getOperand(0).getValueType(); MVT EltVT = VT.getVectorElementType(); // If the only non-undef value is the low element, turn this into a // SCALAR_TO_VECTOR node. If this is { X, X, X, X }, determine X. bool isOnlyLowElement = true; - - // FIXME: it would be far nicer to change this into map - // and use a bitmask instead of a list of elements. - // FIXME: this doesn't treat <0, u, 0, u> for example, as a splat. - std::map > Values; - Values[SplatValue].push_back(0); + bool MoreThanTwoValues = false; bool isConstant = true; - if (!isa(SplatValue) && !isa(SplatValue) && - SplatValue.getOpcode() != ISD::UNDEF) - isConstant = false; - - for (unsigned i = 1; i < NumElems; ++i) { + for (unsigned i = 0; i < NumElems; ++i) { SDValue V = Node->getOperand(i); - Values[V].push_back(i); - if (V.getOpcode() != ISD::UNDEF) + if (V.getOpcode() == ISD::UNDEF) + continue; + if (i > 0) isOnlyLowElement = false; - if (SplatValue != V) - SplatValue = SDValue(0, 0); - - // If this isn't a constant element or an undef, we can't use a constant - // pool load. - if (!isa(V) && !isa(V) && - V.getOpcode() != ISD::UNDEF) + if (!isa(V) && !isa(V)) isConstant = false; + + if (!Value1.getNode()) { + Value1 = V; + } else if (!Value2.getNode()) { + if (V != Value1) + Value2 = V; + } else if (V != Value1 && V != Value2) { + MoreThanTwoValues = true; + } } - if (isOnlyLowElement) { - // If the low element is an undef too, then this whole things is an undef. - if (Node->getOperand(0).getOpcode() == ISD::UNDEF) - return DAG.getUNDEF(VT); - // Otherwise, turn this into a scalar_to_vector node. + if (!Value1.getNode()) + return DAG.getUNDEF(VT); + + if (isOnlyLowElement) return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Node->getOperand(0)); - } // If all elements are constants, create a load from the constant pool. if (isConstant) { @@ -1852,59 +1845,25 @@ SDValue SelectionDAGLegalize::ExpandBUIL false, Alignment); } - if (SplatValue.getNode()) { // Splat of one value? - // Build the shuffle constant vector: <0, 0, 0, 0> - SmallVector ZeroVec(NumElems, 0); - - // If the target supports VECTOR_SHUFFLE and this shuffle mask, use it. - if (TLI.isShuffleMaskLegal(ZeroVec, Node->getValueType(0))) { + if (!MoreThanTwoValues) { + SmallVector ShuffleVec(NumElems, -1); + for (unsigned i = 0; i < NumElems; ++i) { + SDValue V = Node->getOperand(i); + if (V.getOpcode() == ISD::UNDEF) + continue; + ShuffleVec[i] = V == Value1 ? 0 : NumElems; + } + if (TLI.isShuffleMaskLegal(ShuffleVec, Node->getValueType(0))) { // Get the splatted value into the low element of a vector register. - SDValue LowValVec = - DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, SplatValue); + SDValue Vec1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value1); + SDValue Vec2; + if (Value2.getNode()) + Vec2 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value2); + else + Vec2 = DAG.getUNDEF(VT); // Return shuffle(LowValVec, undef, <0,0,0,0>) - return DAG.getVectorShuffle(VT, dl, LowValVec, DAG.getUNDEF(VT), - &ZeroVec[0]); - } - } - - // If there are only two unique elements, we may be able to turn this into a - // vector shuffle. - if (Values.size() == 2) { - // Get the two values in deterministic order. - SDValue Val1 = Node->getOperand(1); - SDValue Val2; - std::map >::iterator MI = Values.begin(); - if (MI->first != Val1) - Val2 = MI->first; - else - Val2 = (++MI)->first; - - // If Val1 is an undef, make sure it ends up as Val2, to ensure that our - // vector shuffle has the undef vector on the RHS. - if (Val1.getOpcode() == ISD::UNDEF) - std::swap(Val1, Val2); - - // Build the shuffle constant vector: e.g. <0, 4, 0, 4> - SmallVector ShuffleMask(NumElems, -1); - - // Set elements of the shuffle mask for Val1. - std::vector &Val1Elts = Values[Val1]; - for (unsigned i = 0, e = Val1Elts.size(); i != e; ++i) - ShuffleMask[Val1Elts[i]] = 0; - - // Set elements of the shuffle mask for Val2. - std::vector &Val2Elts = Values[Val2]; - for (unsigned i = 0, e = Val2Elts.size(); i != e; ++i) - if (Val2.getOpcode() != ISD::UNDEF) - ShuffleMask[Val2Elts[i]] = NumElems; - - // If the target supports SCALAR_TO_VECTOR and this shuffle mask, use it. - if (TLI.isOperationLegalOrCustom(ISD::SCALAR_TO_VECTOR, VT) && - TLI.isShuffleMaskLegal(ShuffleMask, VT)) { - Val1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Val1); - Val2 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Val2); - return DAG.getVectorShuffle(VT, dl, Val1, Val2, &ShuffleMask[0]); + return DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec.data()); } } Modified: vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td ============================================================================== --- vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td Sun Jun 7 09:21:09 2009 (r193630) @@ -666,3 +666,25 @@ def : Pat<(int_ppc_altivec_vnmsubfp VRRC def : Pat<(PPCvperm (v16i8 VRRC:$vA), VRRC:$vB, VRRC:$vC), (VPERM VRRC:$vA, VRRC:$vB, VRRC:$vC)>; + +// Vector shifts +def : Pat<(v16i8 (shl (v16i8 VRRC:$vA), (v16i8 VRRC:$vB))), + (v16i8 (VSLB VRRC:$vA, VRRC:$vB))>; +def : Pat<(v8i16 (shl (v8i16 VRRC:$vA), (v8i16 VRRC:$vB))), + (v8i16 (VSLH VRRC:$vA, VRRC:$vB))>; +def : Pat<(v4i32 (shl (v4i32 VRRC:$vA), (v4i32 VRRC:$vB))), + (v4i32 (VSLW VRRC:$vA, VRRC:$vB))>; + +def : Pat<(v16i8 (srl (v16i8 VRRC:$vA), (v16i8 VRRC:$vB))), + (v16i8 (VSRB VRRC:$vA, VRRC:$vB))>; +def : Pat<(v8i16 (srl (v8i16 VRRC:$vA), (v8i16 VRRC:$vB))), + (v8i16 (VSRH VRRC:$vA, VRRC:$vB))>; +def : Pat<(v4i32 (srl (v4i32 VRRC:$vA), (v4i32 VRRC:$vB))), + (v4i32 (VSRW VRRC:$vA, VRRC:$vB))>; + +def : Pat<(v16i8 (sra (v16i8 VRRC:$vA), (v16i8 VRRC:$vB))), + (v16i8 (VSRAB VRRC:$vA, VRRC:$vB))>; +def : Pat<(v8i16 (sra (v8i16 VRRC:$vA), (v8i16 VRRC:$vB))), + (v8i16 (VSRAH VRRC:$vA, VRRC:$vB))>; +def : Pat<(v4i32 (sra (v4i32 VRRC:$vA), (v4i32 VRRC:$vB))), + (v4i32 (VSRAW VRRC:$vA, VRRC:$vB))>; Modified: vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp ============================================================================== --- vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -7691,13 +7691,15 @@ static bool isBaseAlignmentOfN(unsigned } static bool EltsFromConsecutiveLoads(ShuffleVectorSDNode *N, unsigned NumElems, - MVT EVT, SDNode *&Base, + MVT EVT, LoadSDNode *&LDBase, + unsigned &LastLoadedElt, SelectionDAG &DAG, MachineFrameInfo *MFI, const TargetLowering &TLI) { - Base = NULL; + LDBase = NULL; + LastLoadedElt = -1; for (unsigned i = 0; i < NumElems; ++i) { if (N->getMaskElt(i) < 0) { - if (!Base) + if (!LDBase) return false; continue; } @@ -7706,19 +7708,20 @@ static bool EltsFromConsecutiveLoads(Shu if (!Elt.getNode() || (Elt.getOpcode() != ISD::UNDEF && !ISD::isNON_EXTLoad(Elt.getNode()))) return false; - if (!Base) { - Base = Elt.getNode(); - if (Base->getOpcode() == ISD::UNDEF) + if (!LDBase) { + if (Elt.getNode()->getOpcode() == ISD::UNDEF) return false; + LDBase = cast(Elt.getNode()); + LastLoadedElt = i; continue; } if (Elt.getOpcode() == ISD::UNDEF) continue; LoadSDNode *LD = cast(Elt); - LoadSDNode *LDBase = cast(Base); if (!TLI.isConsecutiveLoad(LD, LDBase, EVT.getSizeInBits()/8, i, MFI)) return false; + LastLoadedElt = i; } return true; } @@ -7737,134 +7740,29 @@ static SDValue PerformShuffleCombine(SDN ShuffleVectorSDNode *SVN = cast(N); unsigned NumElems = VT.getVectorNumElements(); - // For x86-32 machines, if we see an insert and then a shuffle in a v2i64 - // where the upper half is 0, it is advantageous to rewrite it as a build - // vector of (0, val) so it can use movq. - if (VT == MVT::v2i64) { - SDValue In[2]; - In[0] = N->getOperand(0); - In[1] = N->getOperand(1); - int Idx0 = SVN->getMaskElt(0); - int Idx1 = SVN->getMaskElt(1); - // FIXME: can we take advantage of undef index? - if (Idx0 >= 0 && Idx1 >= 0 && - In[Idx0/2].getOpcode() == ISD::INSERT_VECTOR_ELT && - In[Idx1/2].getOpcode() == ISD::BUILD_VECTOR) { - ConstantSDNode* InsertVecIdx = - dyn_cast(In[Idx0/2].getOperand(2)); - if (InsertVecIdx && - InsertVecIdx->getZExtValue() == (unsigned)(Idx0 % 2) && - isZeroNode(In[Idx1/2].getOperand(Idx1 % 2))) { - return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, - In[Idx0/2].getOperand(1), - In[Idx1/2].getOperand(Idx1 % 2)); - } - } - } + if (VT.getSizeInBits() != 128) + return SDValue(); // Try to combine a vector_shuffle into a 128-bit load. MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); - SDNode *Base = NULL; - if (!EltsFromConsecutiveLoads(SVN, NumElems, EVT, Base, DAG, MFI, TLI)) + LoadSDNode *LD = NULL; + unsigned LastLoadedElt; + if (!EltsFromConsecutiveLoads(SVN, NumElems, EVT, LD, LastLoadedElt, DAG, + MFI, TLI)) return SDValue(); - LoadSDNode *LD = cast(Base); - if (isBaseAlignmentOfN(16, Base->getOperand(1).getNode(), TLI)) + if (LastLoadedElt == NumElems - 1) { + if (isBaseAlignmentOfN(16, LD->getBasePtr().getNode(), TLI)) + return DAG.getLoad(VT, dl, LD->getChain(), LD->getBasePtr(), + LD->getSrcValue(), LD->getSrcValueOffset(), + LD->isVolatile()); return DAG.getLoad(VT, dl, LD->getChain(), LD->getBasePtr(), LD->getSrcValue(), LD->getSrcValueOffset(), - LD->isVolatile()); - return DAG.getLoad(VT, dl, LD->getChain(), LD->getBasePtr(), - LD->getSrcValue(), LD->getSrcValueOffset(), - LD->isVolatile(), LD->getAlignment()); -} - -/// PerformBuildVectorCombine - build_vector 0,(load i64 / f64) -> movq / movsd. -static SDValue PerformBuildVectorCombine(SDNode *N, SelectionDAG &DAG, - TargetLowering::DAGCombinerInfo &DCI, - const X86Subtarget *Subtarget, - const TargetLowering &TLI) { - unsigned NumOps = N->getNumOperands(); - DebugLoc dl = N->getDebugLoc(); - - // Ignore single operand BUILD_VECTOR. - if (NumOps == 1) - return SDValue(); - - MVT VT = N->getValueType(0); - MVT EVT = VT.getVectorElementType(); - - // Before or during type legalization, we want to try and convert a - // build_vector of an i64 load and a zero value into vzext_movl before the - // legalizer can break it up. - // FIXME: does the case below remove the need to do this? - if (DCI.isBeforeLegalize() || DCI.isCalledByLegalizer()) { - if ((EVT != MVT::i64 && EVT != MVT::f64) || Subtarget->is64Bit()) - return SDValue(); - - // This must be an insertion into a zero vector. - SDValue HighElt = N->getOperand(1); - if (!isZeroNode(HighElt)) - return SDValue(); - - // Value must be a load. - SDNode *Base = N->getOperand(0).getNode(); - if (!isa(Base)) { - if (Base->getOpcode() != ISD::BIT_CONVERT) - return SDValue(); - Base = Base->getOperand(0).getNode(); - if (!isa(Base)) - return SDValue(); - } - - // Transform it into VZEXT_LOAD addr. - LoadSDNode *LD = cast(Base); - - // Load must not be an extload. - if (LD->getExtensionType() != ISD::NON_EXTLOAD) - return SDValue(); - - // Load type should legal type so we don't have to legalize it. - if (!TLI.isTypeLegal(VT)) - return SDValue(); - - SDVTList Tys = DAG.getVTList(VT, MVT::Other); - SDValue Ops[] = { LD->getChain(), LD->getBasePtr() }; - SDValue ResNode = DAG.getNode(X86ISD::VZEXT_LOAD, dl, Tys, Ops, 2); - TargetLowering::TargetLoweringOpt TLO(DAG); - TLO.CombineTo(SDValue(Base, 1), ResNode.getValue(1)); - DCI.CommitTargetLoweringOpt(TLO); - return ResNode; - } - - // The type legalizer will have broken apart v2i64 build_vector created during - // widening before the code which handles that case is run. Look for build - // vector (load, load + 4, 0/undef, 0/undef) - if (VT == MVT::v4i32 || VT == MVT::v4f32) { - LoadSDNode *LD0 = dyn_cast(N->getOperand(0)); - LoadSDNode *LD1 = dyn_cast(N->getOperand(1)); - if (!LD0 || !LD1) - return SDValue(); - if (LD0->getExtensionType() != ISD::NON_EXTLOAD || - LD1->getExtensionType() != ISD::NON_EXTLOAD) - return SDValue(); - // Make sure the second elt is a consecutive load. - if (!TLI.isConsecutiveLoad(LD1, LD0, EVT.getSizeInBits()/8, 1, - DAG.getMachineFunction().getFrameInfo())) - return SDValue(); - - SDValue N2 = N->getOperand(2); - SDValue N3 = N->getOperand(3); - if (!isZeroNode(N2) && N2.getOpcode() != ISD::UNDEF) - return SDValue(); - if (!isZeroNode(N3) && N3.getOpcode() != ISD::UNDEF) - return SDValue(); - + LD->isVolatile(), LD->getAlignment()); + } else if (NumElems == 4 && LastLoadedElt == 1) { SDVTList Tys = DAG.getVTList(MVT::v2i64, MVT::Other); - SDValue Ops[] = { LD0->getChain(), LD0->getBasePtr() }; + SDValue Ops[] = { LD->getChain(), LD->getBasePtr() }; SDValue ResNode = DAG.getNode(X86ISD::VZEXT_LOAD, dl, Tys, Ops, 2); - TargetLowering::TargetLoweringOpt TLO(DAG); - TLO.CombineTo(SDValue(LD0, 1), ResNode.getValue(1)); - DCI.CommitTargetLoweringOpt(TLO); return DAG.getNode(ISD::BIT_CONVERT, dl, VT, ResNode); } return SDValue(); @@ -8466,14 +8364,25 @@ static SDValue PerformBTCombine(SDNode * return SDValue(); } +static SDValue PerformVZEXT_MOVLCombine(SDNode *N, SelectionDAG &DAG) { + SDValue Op = N->getOperand(0); + if (Op.getOpcode() == ISD::BIT_CONVERT) + Op = Op.getOperand(0); + MVT VT = N->getValueType(0), OpVT = Op.getValueType(); + if (Op.getOpcode() == X86ISD::VZEXT_LOAD && + VT.getVectorElementType().getSizeInBits() == + OpVT.getVectorElementType().getSizeInBits()) { + return DAG.getNode(ISD::BIT_CONVERT, N->getDebugLoc(), VT, Op); + } + return SDValue(); +} + SDValue X86TargetLowering::PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const { SelectionDAG &DAG = DCI.DAG; switch (N->getOpcode()) { default: break; case ISD::VECTOR_SHUFFLE: return PerformShuffleCombine(N, DAG, *this); - case ISD::BUILD_VECTOR: - return PerformBuildVectorCombine(N, DAG, DCI, Subtarget, *this); case ISD::SELECT: return PerformSELECTCombine(N, DAG, Subtarget); case X86ISD::CMOV: return PerformCMOVCombine(N, DAG, DCI); case ISD::MUL: return PerformMulCombine(N, DAG, DCI); @@ -8485,6 +8394,7 @@ SDValue X86TargetLowering::PerformDAGCom case X86ISD::FOR: return PerformFORCombine(N, DAG); case X86ISD::FAND: return PerformFANDCombine(N, DAG); case X86ISD::BT: return PerformBTCombine(N, DAG, DCI); + case X86ISD::VZEXT_MOVL: return PerformVZEXT_MOVLCombine(N, DAG); } return SDValue(); Modified: vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp ============================================================================== --- vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -932,8 +932,7 @@ static bool ValueIsOnlyUsedLocallyOrStor GlobalVariable *GV, SmallPtrSet &PHIs) { for (Value::use_iterator UI = V->use_begin(), E = V->use_end(); UI != E;++UI){ - Instruction *Inst = dyn_cast(*UI); - if (Inst == 0) return false; + Instruction *Inst = cast(*UI); if (isa(Inst) || isa(Inst)) { continue; // Fine, ignore. Modified: vendor/llvm/dist/lib/Transforms/IPO/IPConstantPropagation.cpp ============================================================================== --- vendor/llvm/dist/lib/Transforms/IPO/IPConstantPropagation.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Transforms/IPO/IPConstantPropagation.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -241,15 +241,11 @@ bool IPCP::PropagateConstantReturn(Funct for (Value::use_iterator I = Call->use_begin(), E = Call->use_end(); I != E;) { - Instruction *Ins = dyn_cast(*I); + Instruction *Ins = cast(*I); // Increment now, so we can remove the use ++I; - // Not an instruction? Ignore - if (!Ins) - continue; - // Find the index of the retval to replace with int index = -1; if (ExtractValueInst *EV = dyn_cast(Ins)) Modified: vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp ============================================================================== --- vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -12579,6 +12579,12 @@ Instruction *InstCombiner::visitInsertEl } } + unsigned VWidth = cast(VecOp->getType())->getNumElements(); + APInt UndefElts(VWidth, 0); + APInt AllOnesEltMask(APInt::getAllOnesValue(VWidth)); + if (SimplifyDemandedVectorElts(&IE, AllOnesEltMask, UndefElts)) + return &IE; + return 0; } Modified: vendor/llvm/dist/lib/Transforms/Scalar/PredicateSimplifier.cpp ============================================================================== --- vendor/llvm/dist/lib/Transforms/Scalar/PredicateSimplifier.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Transforms/Scalar/PredicateSimplifier.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -1525,12 +1525,12 @@ namespace { Instruction *I2 = dyn_cast(R); if (I2 && below(I2)) { std::vector ToNotify; - for (Value::use_iterator UI = R->use_begin(), UE = R->use_end(); + for (Value::use_iterator UI = I2->use_begin(), UE = I2->use_end(); UI != UE;) { Use &TheUse = UI.getUse(); ++UI; - if (Instruction *I = dyn_cast(TheUse.getUser())) - ToNotify.push_back(I); + Instruction *I = cast(TheUse.getUser()); + ToNotify.push_back(I); } DOUT << "Simply removing " << *I2 @@ -1658,10 +1658,9 @@ namespace { ++UI; Value *V = TheUse.getUser(); if (!V->use_empty()) { - if (Instruction *Inst = dyn_cast(V)) { - if (aboveOrBelow(Inst)) - opsToDef(Inst); - } + Instruction *Inst = cast(V); + if (aboveOrBelow(Inst)) + opsToDef(Inst); } } } @@ -2262,10 +2261,9 @@ namespace { UE = O.LHS->use_end(); UI != UE;) { Use &TheUse = UI.getUse(); ++UI; - if (Instruction *I = dyn_cast(TheUse.getUser())) { - if (aboveOrBelow(I)) - opsToDef(I); - } + Instruction *I = cast(TheUse.getUser()); + if (aboveOrBelow(I)) + opsToDef(I); } } if (Instruction *I2 = dyn_cast(O.RHS)) { @@ -2277,10 +2275,9 @@ namespace { UE = O.RHS->use_end(); UI != UE;) { Use &TheUse = UI.getUse(); ++UI; - if (Instruction *I = dyn_cast(TheUse.getUser())) { - if (aboveOrBelow(I)) - opsToDef(I); - } + Instruction *I = cast(TheUse.getUser()); + if (aboveOrBelow(I)) + opsToDef(I); } } } Modified: vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp ============================================================================== --- vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp Sun Jun 7 09:06:21 2009 (r193629) +++ vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp Sun Jun 7 09:21:09 2009 (r193630) @@ -639,8 +639,8 @@ void SCCPSolver::visitReturnInst(ReturnI DenseMap, LatticeVal>::iterator It = TrackedMultipleRetVals.find(std::make_pair(F, i)); if (It == TrackedMultipleRetVals.end()) break; - Value *Val = FindInsertedValue(I.getOperand(0), i); - mergeInValue(It->second, F, getValueState(Val)); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 09:21:25 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE74E10656C9; Sun, 7 Jun 2009 09:21:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C13388FC15; Sun, 7 Jun 2009 09:21:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n579LPi7088422; Sun, 7 Jun 2009 09:21:25 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n579LPmt088410; Sun, 7 Jun 2009 09:21:25 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906070921.n579LPmt088410@svn.freebsd.org> From: Ed Schouten Date: Sun, 7 Jun 2009 09:21:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193631 - in vendor/clang/dist: include/clang/AST lib/AST lib/CodeGen lib/Headers lib/Sema test/CodeGen test/Sema www X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 09:21:26 -0000 Author: ed Date: Sun Jun 7 09:21:25 2009 New Revision: 193631 URL: http://svn.freebsd.org/changeset/base/193631 Log: Import Clang r73021. Modified: vendor/clang/dist/include/clang/AST/X86Builtins.def vendor/clang/dist/lib/AST/DeclObjC.cpp vendor/clang/dist/lib/CodeGen/ABIInfo.h vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp vendor/clang/dist/lib/CodeGen/CGCall.cpp vendor/clang/dist/lib/CodeGen/CGExpr.cpp vendor/clang/dist/lib/CodeGen/TargetABIInfo.cpp vendor/clang/dist/lib/Headers/CMakeLists.txt vendor/clang/dist/lib/Headers/xmmintrin.h vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp vendor/clang/dist/test/CodeGen/builtins-x86.c vendor/clang/dist/test/CodeGen/vector.c vendor/clang/dist/test/CodeGen/x86.c vendor/clang/dist/test/Sema/builtins.c vendor/clang/dist/www/latest_checker.html.incl Modified: vendor/clang/dist/include/clang/AST/X86Builtins.def ============================================================================== --- vendor/clang/dist/include/clang/AST/X86Builtins.def Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/include/clang/AST/X86Builtins.def Sun Jun 7 09:21:25 2009 (r193631) @@ -12,9 +12,6 @@ // //===----------------------------------------------------------------------===// -// FIXME: this needs to be the full list supported by GCC. Right now, I'm just -// adding stuff on demand. - // The format of this database matches clang/AST/Builtins.def. // FIXME: In GCC, these builtins are defined depending on whether support for @@ -54,37 +51,12 @@ BUILTIN(__builtin_ia32_ucomisdle, "iV2dV BUILTIN(__builtin_ia32_ucomisdgt, "iV2dV2d", "") BUILTIN(__builtin_ia32_ucomisdge, "iV2dV2d", "") BUILTIN(__builtin_ia32_ucomisdneq, "iV2dV2d", "") -BUILTIN(__builtin_ia32_addps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_subps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_mulps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_divps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_addss, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_subss, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_mulss, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_divss, "V4fV4fV4f", "") BUILTIN(__builtin_ia32_cmpps, "V4fV4fV4fc", "") BUILTIN(__builtin_ia32_cmpss, "V4fV4fV4fc", "") BUILTIN(__builtin_ia32_minps, "V4fV4fV4f", "") BUILTIN(__builtin_ia32_maxps, "V4fV4fV4f", "") BUILTIN(__builtin_ia32_minss, "V4fV4fV4f", "") BUILTIN(__builtin_ia32_maxss, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_andps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_andnps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_orps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_xorps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_movss, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_movhlps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_movlhps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_unpckhps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_unpcklps, "V4fV4fV4f", "") -BUILTIN(__builtin_ia32_paddb, "V8cV8cV8c", "") -BUILTIN(__builtin_ia32_paddw, "V4sV4sV4s", "") -BUILTIN(__builtin_ia32_paddd, "V2iV2iV2i", "") -BUILTIN(__builtin_ia32_paddq, "V1LLiV1LLiV1LLi", "") -BUILTIN(__builtin_ia32_psubb, "V8cV8cV8c", "") -BUILTIN(__builtin_ia32_psubw, "V4sV4sV4s", "") -BUILTIN(__builtin_ia32_psubd, "V2iV2iV2i", "") -BUILTIN(__builtin_ia32_psubq, "V1LLiV1LLiV1LLi", "") BUILTIN(__builtin_ia32_paddsb, "V8cV8cV8c", "") BUILTIN(__builtin_ia32_paddsw, "V4sV4sV4s", "") BUILTIN(__builtin_ia32_psubsb, "V8cV8cV8c", "") @@ -93,13 +65,8 @@ BUILTIN(__builtin_ia32_paddusb, "V8cV8cV BUILTIN(__builtin_ia32_paddusw, "V4sV4sV4s", "") BUILTIN(__builtin_ia32_psubusb, "V8cV8cV8c", "") BUILTIN(__builtin_ia32_psubusw, "V4sV4sV4s", "") -BUILTIN(__builtin_ia32_pmullw, "V4sV4sV4s", "") BUILTIN(__builtin_ia32_pmulhw, "V4sV4sV4s", "") BUILTIN(__builtin_ia32_pmulhuw, "V4sV4sV4s", "") -BUILTIN(__builtin_ia32_pand, "V1LLiV1LLiV1LLi", "") -BUILTIN(__builtin_ia32_pandn, "V1LLiV1LLiV1LLi", "") -BUILTIN(__builtin_ia32_por, "V1LLiV1LLiV1LLi", "") -BUILTIN(__builtin_ia32_pxor, "V1LLiV1LLiV1LLi", "") BUILTIN(__builtin_ia32_pavgb, "V8cV8cV8c", "") BUILTIN(__builtin_ia32_pavgw, "V4sV4sV4s", "") BUILTIN(__builtin_ia32_pcmpeqb, "V8cV8cV8c", "") @@ -118,35 +85,12 @@ BUILTIN(__builtin_ia32_punpckhdq, "V2iV2 BUILTIN(__builtin_ia32_punpcklbw, "V8cV8cV8c", "") BUILTIN(__builtin_ia32_punpcklwd, "V4sV4sV4s", "") BUILTIN(__builtin_ia32_punpckldq, "V2iV2iV2i", "") -BUILTIN(__builtin_ia32_addpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_subpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_mulpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_divpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_addsd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_subsd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_mulsd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_divsd, "V2dV2dV2d", "") BUILTIN(__builtin_ia32_cmppd, "V2dV2dV2dc", "") BUILTIN(__builtin_ia32_cmpsd, "V2dV2dV2dc", "") BUILTIN(__builtin_ia32_minpd, "V2dV2dV2d", "") BUILTIN(__builtin_ia32_maxpd, "V2dV2dV2d", "") BUILTIN(__builtin_ia32_minsd, "V2dV2dV2d", "") BUILTIN(__builtin_ia32_maxsd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_andpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_andnpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_orpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_xorpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_movsd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_unpckhpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_unpcklpd, "V2dV2dV2d", "") -BUILTIN(__builtin_ia32_paddb128, "V16cV16cV16c", "") -BUILTIN(__builtin_ia32_paddw128, "V8sV8sV8s", "") -BUILTIN(__builtin_ia32_paddd128, "V4iV4iV4i", "") -BUILTIN(__builtin_ia32_paddq128, "V2LLiV2LLiV2LLi", "") -BUILTIN(__builtin_ia32_psubb128, "V16cV16cV16c", "") -BUILTIN(__builtin_ia32_psubw128, "V8sV8sV8s", "") -BUILTIN(__builtin_ia32_psubd128, "V4iV4iV4i", "") -BUILTIN(__builtin_ia32_psubq128, "V2LLiV2LLiV2LLi", "") BUILTIN(__builtin_ia32_paddsb128, "V16cV16cV16c", "") BUILTIN(__builtin_ia32_paddsw128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_psubsb128, "V16cV16cV16c", "") @@ -157,10 +101,6 @@ BUILTIN(__builtin_ia32_psubusb128, "V16c BUILTIN(__builtin_ia32_psubusw128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_pmullw128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_pmulhw128, "V8sV8sV8s", "") -BUILTIN(__builtin_ia32_pand128, "V2LLiV2LLiV2LLi", "") -BUILTIN(__builtin_ia32_pandn128, "V2LLiV2LLiV2LLi", "") -BUILTIN(__builtin_ia32_por128, "V2LLiV2LLiV2LLi", "") -BUILTIN(__builtin_ia32_pxor128, "V2LLiV2LLiV2LLi", "") BUILTIN(__builtin_ia32_pavgb128, "V16cV16cV16c", "") BUILTIN(__builtin_ia32_pavgw128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_pcmpeqb128, "V16cV16cV16c", "") @@ -173,14 +113,6 @@ BUILTIN(__builtin_ia32_pmaxub128, "V16cV BUILTIN(__builtin_ia32_pmaxsw128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_pminub128, "V16cV16cV16c", "") BUILTIN(__builtin_ia32_pminsw128, "V8sV8sV8s", "") -BUILTIN(__builtin_ia32_punpckhbw128, "V16cV16cV16c", "") -BUILTIN(__builtin_ia32_punpckhwd128, "V8sV8sV8s", "") -BUILTIN(__builtin_ia32_punpckhdq128, "V4iV4iV4i", "") -BUILTIN(__builtin_ia32_punpckhqdq128, "V2LLiV2LLiV2LLi", "") -BUILTIN(__builtin_ia32_punpcklbw128, "V16cV16cV16c", "") -BUILTIN(__builtin_ia32_punpcklwd128, "V8sV8sV8s", "") -BUILTIN(__builtin_ia32_punpckldq128, "V4iV4iV4i", "") -BUILTIN(__builtin_ia32_punpcklqdq128, "V2LLiV2LLiV2LLi", "") BUILTIN(__builtin_ia32_packsswb128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_packssdw128, "V4iV4iV4i", "") BUILTIN(__builtin_ia32_packuswb128, "V8sV8sV8s", "") @@ -229,7 +161,6 @@ BUILTIN(__builtin_ia32_psrld, "V2iV2iV1L BUILTIN(__builtin_ia32_psrlq, "V1LLiV1LLiV1LLi", "") BUILTIN(__builtin_ia32_psraw, "V4sV4sV1LLi", "") BUILTIN(__builtin_ia32_psrad, "V2iV2iV1LLi", "") -BUILTIN(__builtin_ia32_pshufw, "V4sV4si", "") BUILTIN(__builtin_ia32_pmaddwd, "V2iV4sV4s", "") BUILTIN(__builtin_ia32_packsswb, "V8cV4sV4s", "") BUILTIN(__builtin_ia32_packssdw, "V4sV2iV2i", "") @@ -238,18 +169,12 @@ BUILTIN(__builtin_ia32_ldmxcsr, "vUi", " BUILTIN(__builtin_ia32_stmxcsr, "Ui", "") BUILTIN(__builtin_ia32_cvtpi2ps, "V4fV4fV2i", "") BUILTIN(__builtin_ia32_cvtps2pi, "V2iV4f", "") -BUILTIN(__builtin_ia32_cvtsi2ss, "V4fV4fi", "") -BUILTIN(__builtin_ia32_cvtsi642ss, "V4fV4fLLi", "") BUILTIN(__builtin_ia32_cvtss2si, "iV4f", "") BUILTIN(__builtin_ia32_cvtss2si64, "LLiV4f", "") BUILTIN(__builtin_ia32_cvttps2pi, "V2iV4f", "") -BUILTIN(__builtin_ia32_cvttss2si, "iV4f", "") -BUILTIN(__builtin_ia32_cvttss2si64, "LLiV4f", "") BUILTIN(__builtin_ia32_maskmovq, "vV8cV8cc*", "") BUILTIN(__builtin_ia32_loadups, "V4ffC*", "") BUILTIN(__builtin_ia32_storeups, "vf*V4f", "") -BUILTIN(__builtin_ia32_loadhps, "V4fV4fV2i*", "") -BUILTIN(__builtin_ia32_loadlps, "V4fV4fV2i*", "") BUILTIN(__builtin_ia32_storehps, "vV2i*V4f", "") BUILTIN(__builtin_ia32_storelps, "vV2i*V4f", "") BUILTIN(__builtin_ia32_movmskps, "iV4f", "") @@ -264,50 +189,17 @@ BUILTIN(__builtin_ia32_rsqrtps, "V4fV4f" BUILTIN(__builtin_ia32_rsqrtss, "V4fV4f", "") BUILTIN(__builtin_ia32_sqrtps, "V4fV4f", "") BUILTIN(__builtin_ia32_sqrtss, "V4fV4f", "") -BUILTIN(__builtin_ia32_shufps, "V4fV4fV4fi", "") -BUILTIN(__builtin_ia32_femms, "v", "") -BUILTIN(__builtin_ia32_pavgusb, "V8cV8cV8c", "") -BUILTIN(__builtin_ia32_pf2id, "V2iV2f", "") -BUILTIN(__builtin_ia32_pfacc, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfadd, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfcmpeq, "V2iV2fV2f", "") -BUILTIN(__builtin_ia32_pfcmpge, "V2iV2fV2f", "") -BUILTIN(__builtin_ia32_pfcmpgt, "V2iV2fV2f", "") -BUILTIN(__builtin_ia32_pfmax, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfmin, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfmul, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfrcp, "V2fV2f", "") -BUILTIN(__builtin_ia32_pfrcpit1, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfrcpit2, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfrsqrt, "V2fV2f", "") -BUILTIN(__builtin_ia32_pfrsqit1, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfsub, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfsubr, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pi2fd, "V2fV2i", "") -BUILTIN(__builtin_ia32_pmulhrw, "V4sV4sV4s", "") -BUILTIN(__builtin_ia32_pf2iw, "V2iV2f", "") -BUILTIN(__builtin_ia32_pfnacc, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pfpnacc, "V2fV2fV2f", "") -BUILTIN(__builtin_ia32_pi2fw, "V2fV2i", "") -BUILTIN(__builtin_ia32_pswapdsf, "V2fV2f", "") -BUILTIN(__builtin_ia32_pswapdsi, "V2iV2i", "") BUILTIN(__builtin_ia32_maskmovdqu, "vV16cV16cc*", "") BUILTIN(__builtin_ia32_loadupd, "V2ddC*", "") BUILTIN(__builtin_ia32_storeupd, "vd*V2d", "") -BUILTIN(__builtin_ia32_loadhpd, "V2dV2ddC*", "") -BUILTIN(__builtin_ia32_loadlpd, "V2dV2ddC*", "") BUILTIN(__builtin_ia32_movmskpd, "iV2d", "") BUILTIN(__builtin_ia32_pmovmskb128, "iV16c", "") BUILTIN(__builtin_ia32_movnti, "vi*i", "") BUILTIN(__builtin_ia32_movntpd, "vd*V2d", "") BUILTIN(__builtin_ia32_movntdq, "vV2LLi*V2LLi", "") -BUILTIN(__builtin_ia32_pshufd, "V4iV4ii", "") -BUILTIN(__builtin_ia32_pshuflw, "V8sV8si", "") -BUILTIN(__builtin_ia32_pshufhw, "V8sV8si", "") BUILTIN(__builtin_ia32_psadbw128, "V2LLiV16cV16c", "") BUILTIN(__builtin_ia32_sqrtpd, "V2dV2d", "") BUILTIN(__builtin_ia32_sqrtsd, "V2dV2d", "") -BUILTIN(__builtin_ia32_shufpd, "V2dV2dV2di", "") BUILTIN(__builtin_ia32_cvtdq2pd, "V2dV4i", "") BUILTIN(__builtin_ia32_cvtdq2ps, "V4fV4i", "") BUILTIN(__builtin_ia32_cvtpd2dq, "V2LLiV2d", "") @@ -317,16 +209,10 @@ BUILTIN(__builtin_ia32_cvttpd2dq, "V4iV2 BUILTIN(__builtin_ia32_cvttpd2pi, "V2iV2d", "") BUILTIN(__builtin_ia32_cvtpi2pd, "V2dV2i", "") BUILTIN(__builtin_ia32_cvtsd2si, "iV2d", "") -BUILTIN(__builtin_ia32_cvttsd2si, "iV2d", "") BUILTIN(__builtin_ia32_cvtsd2si64, "LLiV2d", "") -BUILTIN(__builtin_ia32_cvttsd2si64, "LLiV2d", "") BUILTIN(__builtin_ia32_cvtps2dq, "V4iV4f", "") BUILTIN(__builtin_ia32_cvtps2pd, "V2dV4f", "") BUILTIN(__builtin_ia32_cvttps2dq, "V4iV4f", "") -BUILTIN(__builtin_ia32_cvtsi2sd, "V2dV2di", "") -BUILTIN(__builtin_ia32_cvtsi642sd, "V2dV2dLLi", "") -BUILTIN(__builtin_ia32_cvtsd2ss, "V4fV4fV2d", "") -BUILTIN(__builtin_ia32_cvtss2sd, "V2dV2dV4f", "") BUILTIN(__builtin_ia32_clflush, "vvC*", "") BUILTIN(__builtin_ia32_lfence, "v", "") BUILTIN(__builtin_ia32_mfence, "v", "") @@ -368,21 +254,6 @@ BUILTIN(__builtin_ia32_movsldup, "V4fV4f BUILTIN(__builtin_ia32_lddqu, "V16ccC*", "") BUILTIN(__builtin_ia32_palignr128, "V2LLiV2LLiV2LLii", "") BUILTIN(__builtin_ia32_palignr, "V1LLiV1LLiV1LLis", "") -BUILTIN(__builtin_ia32_vec_init_v2si, "V2iii", "") -BUILTIN(__builtin_ia32_vec_init_v4hi, "V4sssss", "") -BUILTIN(__builtin_ia32_vec_init_v8qi, "V8ccccccccc", "") -BUILTIN(__builtin_ia32_vec_ext_v2df, "dV2di", "") -BUILTIN(__builtin_ia32_vec_ext_v2di, "LLiV2LLii", "") -BUILTIN(__builtin_ia32_vec_ext_v4sf, "fV4fi", "") -BUILTIN(__builtin_ia32_vec_ext_v4si, "iV4ii", "") -BUILTIN(__builtin_ia32_vec_ext_v8hi, "UsV8si", "") -BUILTIN(__builtin_ia32_vec_ext_v4hi, "sV4si", "") -BUILTIN(__builtin_ia32_vec_ext_v2si, "iV2ii", "") -BUILTIN(__builtin_ia32_vec_set_v8hi, "V8sV8ssi", "") -BUILTIN(__builtin_ia32_vec_set_v4hi, "V4sV4ssi", "") -BUILTIN(__builtin_ia32_vec_set_v16qi, "V16cV16cii", "") -BUILTIN(__builtin_ia32_vec_set_v4si, "V4iV4iii", "") -BUILTIN(__builtin_ia32_vec_set_v2di, "V2LLiV2LLiLLii", "") BUILTIN(__builtin_ia32_insertps128, "V4fV4fV4fi", "") BUILTIN(__builtin_ia32_loadlv4si, "V4iV2i*", "") Modified: vendor/clang/dist/lib/AST/DeclObjC.cpp ============================================================================== --- vendor/clang/dist/lib/AST/DeclObjC.cpp Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/AST/DeclObjC.cpp Sun Jun 7 09:21:25 2009 (r193631) @@ -156,16 +156,6 @@ ObjCIvarDecl *ObjCInterfaceDecl::lookupI clsDeclared = ClassDecl; return I; } - // look into properties. - for (ObjCInterfaceDecl::prop_iterator I = ClassDecl->prop_begin(Context), - E = ClassDecl->prop_end(Context); I != E; ++I) { - ObjCPropertyDecl *PDecl = (*I); - if (ObjCIvarDecl *IV = PDecl->getPropertyIvarDecl()) - if (IV->getIdentifier() == ID) { - clsDeclared = ClassDecl; - return IV; - } - } ClassDecl = ClassDecl->getSuperClass(); } return NULL; Modified: vendor/clang/dist/lib/CodeGen/ABIInfo.h ============================================================================== --- vendor/clang/dist/lib/CodeGen/ABIInfo.h Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/CodeGen/ABIInfo.h Sun Jun 7 09:21:25 2009 (r193631) @@ -44,6 +44,9 @@ namespace clang { /// converted LLVM type. Complex and structure types /// are passed using first class aggregates. + Extend, /// Valid only for integer argument types. Same as 'direct' + /// but also emit a zero/sign extension attribute. + Indirect, /// Pass the argument indirectly via a hidden pointer /// with the specified alignment (0 indicates default /// alignment). @@ -79,6 +82,9 @@ namespace clang { static ABIArgInfo getDirect() { return ABIArgInfo(Direct); } + static ABIArgInfo getExtend() { + return ABIArgInfo(Extend); + } static ABIArgInfo getIgnore() { return ABIArgInfo(Ignore); } @@ -94,6 +100,7 @@ namespace clang { Kind getKind() const { return TheKind; } bool isDirect() const { return TheKind == Direct; } + bool isExtend() const { return TheKind == Extend; } bool isIgnore() const { return TheKind == Ignore; } bool isCoerce() const { return TheKind == Coerce; } bool isIndirect() const { return TheKind == Indirect; } Modified: vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp ============================================================================== --- vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp Sun Jun 7 09:21:25 2009 (r193631) @@ -625,81 +625,6 @@ Value *CodeGenFunction::EmitX86BuiltinEx switch (BuiltinID) { default: return 0; - case X86::BI__builtin_ia32_mulps: - return Builder.CreateMul(Ops[0], Ops[1], "mulps"); - case X86::BI__builtin_ia32_mulpd: - return Builder.CreateMul(Ops[0], Ops[1], "mulpd"); - case X86::BI__builtin_ia32_pand: - case X86::BI__builtin_ia32_pand128: - return Builder.CreateAnd(Ops[0], Ops[1], "pand"); - case X86::BI__builtin_ia32_por: - case X86::BI__builtin_ia32_por128: - return Builder.CreateOr(Ops[0], Ops[1], "por"); - case X86::BI__builtin_ia32_pxor: - case X86::BI__builtin_ia32_pxor128: - return Builder.CreateXor(Ops[0], Ops[1], "pxor"); - case X86::BI__builtin_ia32_pandn: - case X86::BI__builtin_ia32_pandn128: - Ops[0] = Builder.CreateNot(Ops[0], "tmp"); - return Builder.CreateAnd(Ops[0], Ops[1], "pandn"); - case X86::BI__builtin_ia32_paddb: - case X86::BI__builtin_ia32_paddb128: - case X86::BI__builtin_ia32_paddd: - case X86::BI__builtin_ia32_paddd128: - case X86::BI__builtin_ia32_paddq: - case X86::BI__builtin_ia32_paddq128: - case X86::BI__builtin_ia32_paddw: - case X86::BI__builtin_ia32_paddw128: - case X86::BI__builtin_ia32_addps: - case X86::BI__builtin_ia32_addpd: - return Builder.CreateAdd(Ops[0], Ops[1], "add"); - case X86::BI__builtin_ia32_psubb: - case X86::BI__builtin_ia32_psubb128: - case X86::BI__builtin_ia32_psubd: - case X86::BI__builtin_ia32_psubd128: - case X86::BI__builtin_ia32_psubq: - case X86::BI__builtin_ia32_psubq128: - case X86::BI__builtin_ia32_psubw: - case X86::BI__builtin_ia32_psubw128: - case X86::BI__builtin_ia32_subps: - case X86::BI__builtin_ia32_subpd: - return Builder.CreateSub(Ops[0], Ops[1], "sub"); - case X86::BI__builtin_ia32_divps: - return Builder.CreateFDiv(Ops[0], Ops[1], "divps"); - case X86::BI__builtin_ia32_divpd: - return Builder.CreateFDiv(Ops[0], Ops[1], "divpd"); - case X86::BI__builtin_ia32_pmullw: - case X86::BI__builtin_ia32_pmullw128: - return Builder.CreateMul(Ops[0], Ops[1], "pmul"); - case X86::BI__builtin_ia32_punpckhbw: - return EmitShuffleVector(Ops[0], Ops[1], 4, 12, 5, 13, 6, 14, 7, 15, - "punpckhbw"); - case X86::BI__builtin_ia32_punpckhbw128: - return EmitShuffleVector(Ops[0], Ops[1], 8, 24, 9, 25, 10, 26, 11, 27, - 12, 28, 13, 29, 14, 30, 15, 31, - "punpckhbw"); - case X86::BI__builtin_ia32_punpckhwd: - return EmitShuffleVector(Ops[0], Ops[1], 2, 6, 3, 7, "punpckhwd"); - case X86::BI__builtin_ia32_punpckhwd128: - return EmitShuffleVector(Ops[0], Ops[1], 4, 12, 5, 13, 6, 14, 7, 15, - "punpckhwd"); - case X86::BI__builtin_ia32_punpckhdq: - return EmitShuffleVector(Ops[0], Ops[1], 1, 3, "punpckhdq"); - case X86::BI__builtin_ia32_punpckhdq128: - return EmitShuffleVector(Ops[0], Ops[1], 2, 6, 3, 7, "punpckhdq"); - case X86::BI__builtin_ia32_punpckhqdq128: - return EmitShuffleVector(Ops[0], Ops[1], 1, 3, "punpckhqdq"); - case X86::BI__builtin_ia32_punpcklbw: - return EmitShuffleVector(Ops[0], Ops[1], 0, 8, 1, 9, 2, 10, 3, 11, - "punpcklbw"); - case X86::BI__builtin_ia32_punpcklwd: - return EmitShuffleVector(Ops[0], Ops[1], 0, 4, 1, 5, "punpcklwd"); - case X86::BI__builtin_ia32_punpckldq: - return EmitShuffleVector(Ops[0], Ops[1], 0, 2, "punpckldq"); - case X86::BI__builtin_ia32_punpckldq128: - return EmitShuffleVector(Ops[0], Ops[1], 0, 4, 1, 5, "punpckldq"); - case X86::BI__builtin_ia32_punpcklqdq128: - return EmitShuffleVector(Ops[0], Ops[1], 0, 2, "punpcklqdq"); case X86::BI__builtin_ia32_pslldi128: case X86::BI__builtin_ia32_psllqi128: case X86::BI__builtin_ia32_psllwi128: @@ -807,46 +732,6 @@ Value *CodeGenFunction::EmitX86BuiltinEx llvm::Function *F = CGM.getIntrinsic(ID); return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), name); } - case X86::BI__builtin_ia32_pshufw: { - unsigned i = cast(Ops[1])->getZExtValue(); - return EmitShuffleVector(Ops[0], Ops[0], - i & 0x3, (i & 0xc) >> 2, - (i & 0x30) >> 4, (i & 0xc0) >> 6, - "pshufw"); - } - case X86::BI__builtin_ia32_pshuflw: { - unsigned i = cast(Ops[1])->getZExtValue(); - return EmitShuffleVector(Ops[0], Ops[0], - i & 0x3, (i & 0xc) >> 2, - (i & 0x30) >> 4, (i & 0xc0) >> 6, 4, 5, 6, 7, - "pshuflw"); - } - case X86::BI__builtin_ia32_pshufhw: { - unsigned i = cast(Ops[1])->getZExtValue(); - return EmitShuffleVector(Ops[0], Ops[0], 0, 1, 2, 3, - 4 + (i & 0x3), 4 + ((i & 0xc) >> 2), - 4 + ((i & 0x30) >> 4), 4 + ((i & 0xc0) >> 6), - "pshufhw"); - } - case X86::BI__builtin_ia32_pshufd: { - unsigned i = cast(Ops[1])->getZExtValue(); - return EmitShuffleVector(Ops[0], Ops[0], - i & 0x3, (i & 0xc) >> 2, - (i & 0x30) >> 4, (i & 0xc0) >> 6, - "pshufd"); - } - case X86::BI__builtin_ia32_vec_init_v4hi: - case X86::BI__builtin_ia32_vec_init_v8qi: - case X86::BI__builtin_ia32_vec_init_v2si: - return EmitVector(&Ops[0], Ops.size()); - case X86::BI__builtin_ia32_vec_ext_v2si: - case X86::BI__builtin_ia32_vec_ext_v2di: - case X86::BI__builtin_ia32_vec_ext_v4sf: - case X86::BI__builtin_ia32_vec_ext_v4si: - case X86::BI__builtin_ia32_vec_ext_v8hi: - case X86::BI__builtin_ia32_vec_ext_v4hi: - case X86::BI__builtin_ia32_vec_ext_v2df: - return Builder.CreateExtractElement(Ops[0], Ops[1], "result"); case X86::BI__builtin_ia32_cmpps: { llvm::Function *F = CGM.getIntrinsic(Intrinsic::x86_sse_cmp_ps); return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), "cmpps"); @@ -879,63 +764,6 @@ Value *CodeGenFunction::EmitX86BuiltinEx llvm::Function *F = CGM.getIntrinsic(Intrinsic::x86_sse2_cmp_sd); return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), "cmpsd"); } - case X86::BI__builtin_ia32_movss: - return EmitShuffleVector(Ops[0], Ops[1], 4, 1, 2, 3, "movss"); - case X86::BI__builtin_ia32_shufps: { - unsigned i = cast(Ops[2])->getZExtValue(); - return EmitShuffleVector(Ops[0], Ops[1], - i & 0x3, (i & 0xc) >> 2, - ((i & 0x30) >> 4) + 4, - ((i & 0xc0) >> 6) + 4, "shufps"); - } - case X86::BI__builtin_ia32_shufpd: { - unsigned i = cast(Ops[2])->getZExtValue(); - return EmitShuffleVector(Ops[0], Ops[1], i & 1, - ((i & 2) >> 1)+2, "shufpd"); - } - case X86::BI__builtin_ia32_punpcklbw128: - return EmitShuffleVector(Ops[0], Ops[1], 0, 16, 1, 17, 2, 18, 3, 19, - 4, 20, 5, 21, 6, 22, 7, 23, - "punpcklbw"); - case X86::BI__builtin_ia32_punpcklwd128: - return EmitShuffleVector(Ops[0], Ops[1], 0, 8, 1, 9, 2, 10, 3, 11, - "punpcklwd"); - case X86::BI__builtin_ia32_movlhps: - return EmitShuffleVector(Ops[0], Ops[1], 0, 1, 4, 5, "movlhps"); - case X86::BI__builtin_ia32_movhlps: - return EmitShuffleVector(Ops[0], Ops[1], 6, 7, 2, 3, "movhlps"); - case X86::BI__builtin_ia32_unpckhps: - return EmitShuffleVector(Ops[0], Ops[1], 2, 6, 3, 7, "unpckhps"); - case X86::BI__builtin_ia32_unpcklps: - return EmitShuffleVector(Ops[0], Ops[1], 0, 4, 1, 5, "unpcklps"); - case X86::BI__builtin_ia32_unpckhpd: - return EmitShuffleVector(Ops[0], Ops[1], 1, 3, "unpckhpd"); - case X86::BI__builtin_ia32_unpcklpd: - return EmitShuffleVector(Ops[0], Ops[1], 0, 2, "unpcklpd"); - case X86::BI__builtin_ia32_movsd: - return EmitShuffleVector(Ops[0], Ops[1], 2, 1, "movsd"); - case X86::BI__builtin_ia32_loadlps: - case X86::BI__builtin_ia32_loadhps: { - // FIXME: This should probably be represented as - // shuffle (dst, (v4f32 (insert undef, (load i64), 0)), shuf mask hi/lo) - const llvm::Type *EltTy = llvm::Type::DoubleTy; - const llvm::Type *VecTy = llvm::VectorType::get(EltTy, 2); - const llvm::Type *OrigTy = Ops[0]->getType(); - unsigned Index = BuiltinID == X86::BI__builtin_ia32_loadlps ? 0 : 1; - llvm::Value *Idx = llvm::ConstantInt::get(llvm::Type::Int32Ty, Index); - Ops[1] = Builder.CreateBitCast(Ops[1], llvm::PointerType::getUnqual(EltTy)); - Ops[1] = Builder.CreateLoad(Ops[1], "tmp"); - Ops[0] = Builder.CreateBitCast(Ops[0], VecTy, "cast"); - Ops[0] = Builder.CreateInsertElement(Ops[0], Ops[1], Idx, "loadps"); - return Builder.CreateBitCast(Ops[0], OrigTy, "loadps"); - } - case X86::BI__builtin_ia32_loadlpd: - case X86::BI__builtin_ia32_loadhpd: { - Ops[1] = Builder.CreateLoad(Ops[1], "tmp"); - unsigned Index = BuiltinID == X86::BI__builtin_ia32_loadlpd ? 0 : 1; - llvm::Value *Idx = llvm::ConstantInt::get(llvm::Type::Int32Ty, Index); - return Builder.CreateInsertElement(Ops[0], Ops[1], Idx, "loadpd"); - } case X86::BI__builtin_ia32_storehps: case X86::BI__builtin_ia32_storelps: { const llvm::Type *EltTy = llvm::Type::Int64Ty; @@ -977,55 +805,6 @@ Value *CodeGenFunction::EmitX86BuiltinEx return Builder.CreateBitCast(Ops[0], llvm::VectorType::get(llvm::Type::Int32Ty, 4)); } - case X86::BI__builtin_ia32_vec_set_v4hi: - case X86::BI__builtin_ia32_vec_set_v8hi: - return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrw"); - case X86::BI__builtin_ia32_vec_set_v4si: - return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrd"); - case X86::BI__builtin_ia32_vec_set_v2di: - return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrq"); - case X86::BI__builtin_ia32_andps: - case X86::BI__builtin_ia32_andpd: - case X86::BI__builtin_ia32_andnps: - case X86::BI__builtin_ia32_andnpd: - case X86::BI__builtin_ia32_orps: - case X86::BI__builtin_ia32_orpd: - case X86::BI__builtin_ia32_xorpd: - case X86::BI__builtin_ia32_xorps: { - const llvm::Type *ITy = llvm::VectorType::get(llvm::Type::Int32Ty, 4); - const llvm::Type *FTy = Ops[0]->getType(); - Ops[0] = Builder.CreateBitCast(Ops[0], ITy, "bitcast"); - Ops[1] = Builder.CreateBitCast(Ops[1], ITy, "bitcast"); - switch (BuiltinID) { - case X86::BI__builtin_ia32_andps: - Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andps"); - break; - case X86::BI__builtin_ia32_andpd: - Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andpd"); - break; - case X86::BI__builtin_ia32_andnps: - Ops[0] = Builder.CreateNot(Ops[0], "not"); - Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andnps"); - break; - case X86::BI__builtin_ia32_andnpd: - Ops[0] = Builder.CreateNot(Ops[0], "not"); - Ops[0] = Builder.CreateAnd(Ops[0], Ops[1], "andnpd"); - break; - case X86::BI__builtin_ia32_orps: - Ops[0] = Builder.CreateOr(Ops[0], Ops[1], "orps"); - break; - case X86::BI__builtin_ia32_orpd: - Ops[0] = Builder.CreateOr(Ops[0], Ops[1], "orpd"); - break; - case X86::BI__builtin_ia32_xorps: - Ops[0] = Builder.CreateXor(Ops[0], Ops[1], "xorps"); - break; - case X86::BI__builtin_ia32_xorpd: - Ops[0] = Builder.CreateXor(Ops[0], Ops[1], "xorpd"); - break; - } - return Builder.CreateBitCast(Ops[0], FTy, "bitcast"); - } } } Modified: vendor/clang/dist/lib/CodeGen/CGCall.cpp ============================================================================== --- vendor/clang/dist/lib/CodeGen/CGCall.cpp Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/CodeGen/CGCall.cpp Sun Jun 7 09:21:25 2009 (r193631) @@ -314,6 +314,7 @@ CodeGenTypes::GetFunctionType(const CGFu case ABIArgInfo::Expand: assert(0 && "Invalid ABI kind for return argument"); + case ABIArgInfo::Extend: case ABIArgInfo::Direct: ResultType = ConvertType(RetTy); break; @@ -353,7 +354,8 @@ CodeGenTypes::GetFunctionType(const CGFu ArgTys.push_back(llvm::PointerType::getUnqual(LTy)); break; } - + + case ABIArgInfo::Extend: case ABIArgInfo::Direct: ArgTys.push_back(ConvertType(it->type)); break; @@ -394,14 +396,14 @@ void CodeGenModule::ConstructAttributeLi unsigned Index = 1; const ABIArgInfo &RetAI = FI.getReturnInfo(); switch (RetAI.getKind()) { + case ABIArgInfo::Extend: + if (RetTy->isSignedIntegerType()) { + RetAttrs |= llvm::Attribute::SExt; + } else if (RetTy->isUnsignedIntegerType()) { + RetAttrs |= llvm::Attribute::ZExt; + } + // FALLTHROUGH case ABIArgInfo::Direct: - if (RetTy->isPromotableIntegerType()) { - if (RetTy->isSignedIntegerType()) { - RetAttrs |= llvm::Attribute::SExt; - } else if (RetTy->isUnsignedIntegerType()) { - RetAttrs |= llvm::Attribute::ZExt; - } - } break; case ABIArgInfo::Indirect: @@ -452,15 +454,15 @@ void CodeGenModule::ConstructAttributeLi FuncAttrs &= ~(llvm::Attribute::ReadOnly | llvm::Attribute::ReadNone); break; - + + case ABIArgInfo::Extend: + if (ParamType->isSignedIntegerType()) { + Attributes |= llvm::Attribute::SExt; + } else if (ParamType->isUnsignedIntegerType()) { + Attributes |= llvm::Attribute::ZExt; + } + // FALLS THROUGH case ABIArgInfo::Direct: - if (ParamType->isPromotableIntegerType()) { - if (ParamType->isSignedIntegerType()) { - Attributes |= llvm::Attribute::SExt; - } else if (ParamType->isUnsignedIntegerType()) { - Attributes |= llvm::Attribute::ZExt; - } - } if (RegParm > 0 && (ParamType->isIntegerType() || ParamType->isPointerType())) { RegParm -= @@ -536,7 +538,8 @@ void CodeGenFunction::EmitFunctionProlog EmitParmDecl(*Arg, V); break; } - + + case ABIArgInfo::Extend: case ABIArgInfo::Direct: { assert(AI != Fn->arg_end() && "Argument mismatch!"); llvm::Value* V = AI; @@ -618,10 +621,10 @@ void CodeGenFunction::EmitFunctionEpilog llvm::Value *RV = 0; // Functions with no result always return void. - if (ReturnValue) { + if (ReturnValue) { QualType RetTy = FI.getReturnType(); const ABIArgInfo &RetAI = FI.getReturnInfo(); - + switch (RetAI.getKind()) { case ABIArgInfo::Indirect: if (RetTy->isAnyComplexType()) { @@ -630,11 +633,12 @@ void CodeGenFunction::EmitFunctionEpilog } else if (CodeGenFunction::hasAggregateLLVMType(RetTy)) { EmitAggregateCopy(CurFn->arg_begin(), ReturnValue, RetTy); } else { - EmitStoreOfScalar(Builder.CreateLoad(ReturnValue), CurFn->arg_begin(), + EmitStoreOfScalar(Builder.CreateLoad(ReturnValue), CurFn->arg_begin(), false, RetTy); } break; + case ABIArgInfo::Extend: case ABIArgInfo::Direct: // The internal return value temp always will have // pointer-to-return-type type. @@ -705,6 +709,7 @@ RValue CodeGenFunction::EmitCall(const C } break; + case ABIArgInfo::Extend: case ABIArgInfo::Direct: if (RV.isScalar()) { Args.push_back(RV.getScalarVal()); @@ -791,6 +796,7 @@ RValue CodeGenFunction::EmitCall(const C return RValue::getAggregate(Args[0]); return RValue::get(EmitLoadOfScalar(Args[0], false, RetTy)); + case ABIArgInfo::Extend: case ABIArgInfo::Direct: if (RetTy->isAnyComplexType()) { llvm::Value *Real = Builder.CreateExtractValue(CI, 0); Modified: vendor/clang/dist/lib/CodeGen/CGExpr.cpp ============================================================================== --- vendor/clang/dist/lib/CodeGen/CGExpr.cpp Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/CodeGen/CGExpr.cpp Sun Jun 7 09:21:25 2009 (r193631) @@ -843,14 +843,16 @@ LValue CodeGenFunction::EmitPredefinedLV LValue CodeGenFunction::EmitArraySubscriptExpr(const ArraySubscriptExpr *E) { // The index must always be an integer, which is not an aggregate. Emit it. llvm::Value *Idx = EmitScalarExpr(E->getIdx()); - + QualType IdxTy = E->getIdx()->getType(); + bool IdxSigned = IdxTy->isSignedIntegerType(); + // If the base is a vector type, then we are forming a vector element lvalue // with this subscript. if (E->getBase()->getType()->isVectorType()) { // Emit the vector as an lvalue to get its address. LValue LHS = EmitLValue(E->getBase()); assert(LHS.isSimple() && "Can only subscript lvalue vectors here!"); - // FIXME: This should properly sign/zero/extend or truncate Idx to i32. + Idx = Builder.CreateIntCast(Idx, llvm::Type::Int32Ty, IdxSigned, "vidx"); return LValue::MakeVectorElt(LHS.getAddress(), Idx, E->getBase()->getType().getCVRQualifiers()); } @@ -859,8 +861,6 @@ LValue CodeGenFunction::EmitArraySubscri llvm::Value *Base = EmitScalarExpr(E->getBase()); // Extend or truncate the index type to 32 or 64-bits. - QualType IdxTy = E->getIdx()->getType(); - bool IdxSigned = IdxTy->isSignedIntegerType(); unsigned IdxBitwidth = cast(Idx->getType())->getBitWidth(); if (IdxBitwidth != LLVMPointerWidth) Idx = Builder.CreateIntCast(Idx, llvm::IntegerType::get(LLVMPointerWidth), Modified: vendor/clang/dist/lib/CodeGen/TargetABIInfo.cpp ============================================================================== --- vendor/clang/dist/lib/CodeGen/TargetABIInfo.cpp Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/CodeGen/TargetABIInfo.cpp Sun Jun 7 09:21:25 2009 (r193631) @@ -28,6 +28,9 @@ void ABIArgInfo::dump() const { case Direct: fprintf(stderr, "Direct"); break; + case Extend: + fprintf(stderr, "Extend"); + break; case Ignore: fprintf(stderr, "Ignore"); break; @@ -342,7 +345,8 @@ ABIArgInfo X86_32ABIInfo::classifyReturn return ABIArgInfo::getIndirect(0); } else { - return ABIArgInfo::getDirect(); + return (RetTy->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } } @@ -371,7 +375,8 @@ ABIArgInfo X86_32ABIInfo::classifyArgume return ABIArgInfo::getIndirect(0); } else { - return ABIArgInfo::getDirect(); + return (Ty->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } } @@ -750,8 +755,8 @@ ABIArgInfo X86_64ABIInfo::getCoerceResul // Integer and pointer types will end up in a general purpose // register. if (Ty->isIntegralType() || Ty->isPointerType()) - return ABIArgInfo::getDirect(); - + return (Ty->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } else if (CoerceTo == llvm::Type::DoubleTy) { // FIXME: It would probably be better to make CGFunctionInfo only map using // canonical types than to canonize here. @@ -771,7 +776,8 @@ ABIArgInfo X86_64ABIInfo::getIndirectRes // If this is a scalar LLVM value then assume LLVM will pass it in the right // place naturally. if (!CodeGenFunction::hasAggregateLLVMType(Ty)) - return ABIArgInfo::getDirect(); + return (Ty->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); // FIXME: Set alignment correctly. return ABIArgInfo::getIndirect(0); @@ -1267,7 +1273,8 @@ void ARMABIInfo::computeInfo(CGFunctionI ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty, ASTContext &Context) const { if (!CodeGenFunction::hasAggregateLLVMType(Ty)) { - return ABIArgInfo::getDirect(); + return (Ty->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } // FIXME: This is kind of nasty... but there isn't much choice because the ARM // backend doesn't support byval. @@ -1299,7 +1306,8 @@ ABIArgInfo ARMABIInfo::classifyReturnTyp return ABIArgInfo::getCoerce(llvm::Type::Int32Ty); return ABIArgInfo::getIndirect(0); } else { - return ABIArgInfo::getDirect(); + return (RetTy->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } } @@ -1335,7 +1343,8 @@ ABIArgInfo DefaultABIInfo::classifyRetur } else if (CodeGenFunction::hasAggregateLLVMType(RetTy)) { return ABIArgInfo::getIndirect(0); } else { - return ABIArgInfo::getDirect(); + return (RetTy->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } } @@ -1344,7 +1353,8 @@ ABIArgInfo DefaultABIInfo::classifyArgum if (CodeGenFunction::hasAggregateLLVMType(Ty)) { return ABIArgInfo::getIndirect(0); } else { - return ABIArgInfo::getDirect(); + return (Ty->isPromotableIntegerType() ? + ABIArgInfo::getExtend() : ABIArgInfo::getDirect()); } } Modified: vendor/clang/dist/lib/Headers/CMakeLists.txt ============================================================================== --- vendor/clang/dist/lib/Headers/CMakeLists.txt Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/Headers/CMakeLists.txt Sun Jun 7 09:21:25 2009 (r193631) @@ -1,12 +1,21 @@ set(files - iso646.h - mmintrin.h - stdarg.h - stdbool.h - stddef.h - ) + emmintrin.h + float.h + iso646.h + limits.h + mm_malloc.h + mmintrin.h + pmmintrin.h + stdarg.h + stdbool.h + stddef.h + stdint.h + tgmath.h + tmmintrin.h + xmmintrin.h) -set(output_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../Headers) +#FIXME: Centralize Clang version info +set(output_dir ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/clang/1.0/include) foreach( f ${files} ) set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} ) Modified: vendor/clang/dist/lib/Headers/xmmintrin.h ============================================================================== --- vendor/clang/dist/lib/Headers/xmmintrin.h Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/Headers/xmmintrin.h Sun Jun 7 09:21:25 2009 (r193631) @@ -464,20 +464,19 @@ _mm_cvtss_f32(__m128 a) static inline __m128 __attribute__((__always_inline__, __nodebug__)) _mm_loadh_pi(__m128 a, __m64 const *p) { - return __builtin_ia32_loadhps(a, (__v2si *)p); + __m128 b; + b[0] = *(float*)p; + b[1] = *((float*)p+1); + return __builtin_shufflevector(a, b, 0, 1, 4, 5); } static inline __m128 __attribute__((__always_inline__, __nodebug__)) _mm_loadl_pi(__m128 a, __m64 const *p) { -#if 0 - // FIXME: This should work, but gives really crappy code at the moment __m128 b; b[0] = *(float*)p; b[1] = *((float*)p+1); - return __builtin_shufflevector(a, b, 0, 1, 4, 5); -#endif - return __builtin_ia32_loadlps(a, (__v2si *)p); + return __builtin_shufflevector(a, b, 4, 5, 2, 3); } static inline __m128 __attribute__((__always_inline__, __nodebug__)) Modified: vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp ============================================================================== --- vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp Sun Jun 7 09:21:25 2009 (r193631) @@ -1996,10 +1996,15 @@ Sema::DeclPtrTy Sema::ActOnPropertyImplD ObjCInterfaceDecl *ClassDeclared; Ivar = IDecl->lookupInstanceVariable(Context, PropertyIvar, ClassDeclared); if (!Ivar) { - Ivar = ObjCIvarDecl::Create(Context, CurContext, PropertyLoc, + DeclContext *EnclosingContext = cast_or_null(IDecl); + assert(EnclosingContext && + "null DeclContext for synthesized ivar - ActOnPropertyImplDecl"); + Ivar = ObjCIvarDecl::Create(Context, EnclosingContext, PropertyLoc, PropertyIvar, PropType, ObjCIvarDecl::Public, (Expr *)0); + Ivar->setLexicalDeclContext(IDecl); + IDecl->addDecl(Context, Ivar); property->setPropertyIvarDecl(Ivar); if (!getLangOptions().ObjCNonFragileABI) Diag(PropertyLoc, diag::error_missing_property_ivar_decl) << PropertyId; Modified: vendor/clang/dist/test/CodeGen/builtins-x86.c ============================================================================== --- vendor/clang/dist/test/CodeGen/builtins-x86.c Sun Jun 7 09:21:09 2009 (r193630) +++ vendor/clang/dist/test/CodeGen/builtins-x86.c Sun Jun 7 09:21:25 2009 (r193631) @@ -101,14 +101,6 @@ void f0() { tmp_i = __builtin_ia32_ucomisdgt(tmp_V2d, tmp_V2d); tmp_i = __builtin_ia32_ucomisdge(tmp_V2d, tmp_V2d); tmp_i = __builtin_ia32_ucomisdneq(tmp_V2d, tmp_V2d); - tmp_V4f = __builtin_ia32_addps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_subps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_mulps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_divps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_addss(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_subss(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_mulss(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_divss(tmp_V4f, tmp_V4f); tmp_V4f = __builtin_ia32_cmpps(tmp_V4f, tmp_V4f, 0); tmp_V4f = __builtin_ia32_cmpps(tmp_V4f, tmp_V4f, 1); tmp_V4f = __builtin_ia32_cmpps(tmp_V4f, tmp_V4f, 2); @@ -129,24 +121,7 @@ void f0() { tmp_V4f = __builtin_ia32_maxps(tmp_V4f, tmp_V4f); tmp_V4f = __builtin_ia32_minss(tmp_V4f, tmp_V4f); tmp_V4f = __builtin_ia32_maxss(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_andps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_andnps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_orps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_xorps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_movss(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_movhlps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_movlhps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_unpckhps(tmp_V4f, tmp_V4f); - tmp_V4f = __builtin_ia32_unpcklps(tmp_V4f, tmp_V4f); - tmp_V8c = __builtin_ia32_paddb(tmp_V8c, tmp_V8c); - tmp_V4s = __builtin_ia32_paddw(tmp_V4s, tmp_V4s); - tmp_V2i = __builtin_ia32_paddd(tmp_V2i, tmp_V2i); - tmp_V1LLi = __builtin_ia32_paddq(tmp_V1LLi, tmp_V1LLi); - tmp_V8c = __builtin_ia32_psubb(tmp_V8c, tmp_V8c); - tmp_V4s = __builtin_ia32_psubw(tmp_V4s, tmp_V4s); - tmp_V2i = __builtin_ia32_psubd(tmp_V2i, tmp_V2i); - tmp_V1LLi = __builtin_ia32_psubq(tmp_V1LLi, tmp_V1LLi); tmp_V8c = __builtin_ia32_paddsb(tmp_V8c, tmp_V8c); tmp_V4s = __builtin_ia32_paddsw(tmp_V4s, tmp_V4s); tmp_V8c = __builtin_ia32_psubsb(tmp_V8c, tmp_V8c); @@ -155,13 +130,8 @@ void f0() { tmp_V4s = __builtin_ia32_paddusw(tmp_V4s, tmp_V4s); tmp_V8c = __builtin_ia32_psubusb(tmp_V8c, tmp_V8c); tmp_V4s = __builtin_ia32_psubusw(tmp_V4s, tmp_V4s); - tmp_V4s = __builtin_ia32_pmullw(tmp_V4s, tmp_V4s); tmp_V4s = __builtin_ia32_pmulhw(tmp_V4s, tmp_V4s); tmp_V4s = __builtin_ia32_pmulhuw(tmp_V4s, tmp_V4s); - tmp_V1LLi = __builtin_ia32_pand(tmp_V1LLi, tmp_V1LLi); - tmp_V1LLi = __builtin_ia32_pandn(tmp_V1LLi, tmp_V1LLi); - tmp_V1LLi = __builtin_ia32_por(tmp_V1LLi, tmp_V1LLi); - tmp_V1LLi = __builtin_ia32_pxor(tmp_V1LLi, tmp_V1LLi); tmp_V8c = __builtin_ia32_pavgb(tmp_V8c, tmp_V8c); tmp_V4s = __builtin_ia32_pavgw(tmp_V4s, tmp_V4s); tmp_V8c = __builtin_ia32_pcmpeqb(tmp_V8c, tmp_V8c); @@ -174,20 +144,6 @@ void f0() { tmp_V4s = __builtin_ia32_pmaxsw(tmp_V4s, tmp_V4s); tmp_V8c = __builtin_ia32_pminub(tmp_V8c, tmp_V8c); tmp_V4s = __builtin_ia32_pminsw(tmp_V4s, tmp_V4s); - tmp_V8c = __builtin_ia32_punpckhbw(tmp_V8c, tmp_V8c); - tmp_V4s = __builtin_ia32_punpckhwd(tmp_V4s, tmp_V4s); - tmp_V2i = __builtin_ia32_punpckhdq(tmp_V2i, tmp_V2i); - tmp_V8c = __builtin_ia32_punpcklbw(tmp_V8c, tmp_V8c); - tmp_V4s = __builtin_ia32_punpcklwd(tmp_V4s, tmp_V4s); - tmp_V2i = __builtin_ia32_punpckldq(tmp_V2i, tmp_V2i); - tmp_V2d = __builtin_ia32_addpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_subpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_mulpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_divpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_addsd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_subsd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_mulsd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_divsd(tmp_V2d, tmp_V2d); tmp_V2d = __builtin_ia32_cmppd(tmp_V2d, tmp_V2d, 0); tmp_V2d = __builtin_ia32_cmppd(tmp_V2d, tmp_V2d, 1); tmp_V2d = __builtin_ia32_cmppd(tmp_V2d, tmp_V2d, 2); @@ -208,21 +164,6 @@ void f0() { tmp_V2d = __builtin_ia32_maxpd(tmp_V2d, tmp_V2d); tmp_V2d = __builtin_ia32_minsd(tmp_V2d, tmp_V2d); tmp_V2d = __builtin_ia32_maxsd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_andpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_andnpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_orpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_xorpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_movsd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_unpckhpd(tmp_V2d, tmp_V2d); - tmp_V2d = __builtin_ia32_unpcklpd(tmp_V2d, tmp_V2d); - tmp_V16c = __builtin_ia32_paddb128(tmp_V16c, tmp_V16c); - tmp_V8s = __builtin_ia32_paddw128(tmp_V8s, tmp_V8s); - tmp_V4i = __builtin_ia32_paddd128(tmp_V4i, tmp_V4i); - tmp_V2LLi = __builtin_ia32_paddq128(tmp_V2LLi, tmp_V2LLi); - tmp_V16c = __builtin_ia32_psubb128(tmp_V16c, tmp_V16c); - tmp_V8s = __builtin_ia32_psubw128(tmp_V8s, tmp_V8s); - tmp_V4i = __builtin_ia32_psubd128(tmp_V4i, tmp_V4i); - tmp_V2LLi = __builtin_ia32_psubq128(tmp_V2LLi, tmp_V2LLi); tmp_V16c = __builtin_ia32_paddsb128(tmp_V16c, tmp_V16c); tmp_V8s = __builtin_ia32_paddsw128(tmp_V8s, tmp_V8s); tmp_V16c = __builtin_ia32_psubsb128(tmp_V16c, tmp_V16c); @@ -231,12 +172,7 @@ void f0() { tmp_V8s = __builtin_ia32_paddusw128(tmp_V8s, tmp_V8s); tmp_V16c = __builtin_ia32_psubusb128(tmp_V16c, tmp_V16c); tmp_V8s = __builtin_ia32_psubusw128(tmp_V8s, tmp_V8s); - tmp_V8s = __builtin_ia32_pmullw128(tmp_V8s, tmp_V8s); tmp_V8s = __builtin_ia32_pmulhw128(tmp_V8s, tmp_V8s); - tmp_V2LLi = __builtin_ia32_pand128(tmp_V2LLi, tmp_V2LLi); - tmp_V2LLi = __builtin_ia32_pandn128(tmp_V2LLi, tmp_V2LLi); - tmp_V2LLi = __builtin_ia32_por128(tmp_V2LLi, tmp_V2LLi); - tmp_V2LLi = __builtin_ia32_pxor128(tmp_V2LLi, tmp_V2LLi); tmp_V16c = __builtin_ia32_pavgb128(tmp_V16c, tmp_V16c); tmp_V8s = __builtin_ia32_pavgw128(tmp_V8s, tmp_V8s); tmp_V16c = __builtin_ia32_pcmpeqb128(tmp_V16c, tmp_V16c); @@ -249,14 +185,6 @@ void f0() { tmp_V8s = __builtin_ia32_pmaxsw128(tmp_V8s, tmp_V8s); tmp_V16c = __builtin_ia32_pminub128(tmp_V16c, tmp_V16c); tmp_V8s = __builtin_ia32_pminsw128(tmp_V8s, tmp_V8s); - tmp_V16c = __builtin_ia32_punpckhbw128(tmp_V16c, tmp_V16c); - tmp_V8s = __builtin_ia32_punpckhwd128(tmp_V8s, tmp_V8s); - tmp_V4i = __builtin_ia32_punpckhdq128(tmp_V4i, tmp_V4i); - tmp_V2LLi = __builtin_ia32_punpckhqdq128(tmp_V2LLi, tmp_V2LLi); - tmp_V16c = __builtin_ia32_punpcklbw128(tmp_V16c, tmp_V16c); - tmp_V8s = __builtin_ia32_punpcklwd128(tmp_V8s, tmp_V8s); - tmp_V4i = __builtin_ia32_punpckldq128(tmp_V4i, tmp_V4i); - tmp_V2LLi = __builtin_ia32_punpcklqdq128(tmp_V2LLi, tmp_V2LLi); tmp_V8s = __builtin_ia32_packsswb128(tmp_V8s, tmp_V8s); tmp_V4i = __builtin_ia32_packssdw128(tmp_V4i, tmp_V4i); tmp_V8s = __builtin_ia32_packuswb128(tmp_V8s, tmp_V8s); @@ -305,9 +233,6 @@ void f0() { tmp_V1LLi = __builtin_ia32_psrlq(tmp_V1LLi, tmp_V1LLi); tmp_V4s = __builtin_ia32_psraw(tmp_V4s, tmp_V1LLi); tmp_V2i = __builtin_ia32_psrad(tmp_V2i, tmp_V1LLi); -#ifdef USE_ALL - tmp_V4s = __builtin_ia32_pshufw(tmp_V4s, imm_i); -#endif tmp_V2i = __builtin_ia32_pmaddwd(tmp_V4s, tmp_V4s); tmp_V8c = __builtin_ia32_packsswb(tmp_V4s, tmp_V4s); tmp_V4s = __builtin_ia32_packssdw(tmp_V2i, tmp_V2i); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 09:23:27 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B88B106564A; Sun, 7 Jun 2009 09:23:27 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 700198FC13; Sun, 7 Jun 2009 09:23:27 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n579NRcg088511; Sun, 7 Jun 2009 09:23:27 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n579NRRU088510; Sun, 7 Jun 2009 09:23:27 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906070923.n579NRRU088510@svn.freebsd.org> From: Ed Schouten Date: Sun, 7 Jun 2009 09:23:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193632 - vendor/llvm/llvm-r73021 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 09:23:28 -0000 Author: ed Date: Sun Jun 7 09:23:27 2009 New Revision: 193632 URL: http://svn.freebsd.org/changeset/base/193632 Log: Tag the LLVM r73021 import. Added: vendor/llvm/llvm-r73021/ - copied from r193631, vendor/llvm/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 09:23:53 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C4AE1065698; Sun, 7 Jun 2009 09:23:52 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C01968FC0A; Sun, 7 Jun 2009 09:23:50 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n579Node088556; Sun, 7 Jun 2009 09:23:50 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n579NoA7088555; Sun, 7 Jun 2009 09:23:50 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906070923.n579NoA7088555@svn.freebsd.org> From: Ed Schouten Date: Sun, 7 Jun 2009 09:23:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193633 - vendor/clang/clang-r73021 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 09:23:53 -0000 Author: ed Date: Sun Jun 7 09:23:50 2009 New Revision: 193633 URL: http://svn.freebsd.org/changeset/base/193633 Log: Tag the Clang r73021 import. Added: vendor/clang/clang-r73021/ - copied from r193632, vendor/clang/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 10:00:35 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C951F106568D; Sun, 7 Jun 2009 10:00:35 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B184C8FC21; Sun, 7 Jun 2009 10:00:35 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57A0Z48089383; Sun, 7 Jun 2009 10:00:35 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57A0Zem089380; Sun, 7 Jun 2009 10:00:35 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200906071000.n57A0Zem089380@svn.freebsd.org> From: Fabien Thomas Date: Sun, 7 Jun 2009 10:00:35 +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: r193634 - in stable/7: lib/libpmc share/man/man4 sys/amd64/amd64 sys/amd64/include sys/conf sys/dev/hwpmc sys/i386/i386 sys/i386/include sys/kern sys/modules/hwpmc sys/sys usr.sbin usr.... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 10:00:36 -0000 Author: fabient Date: Sun Jun 7 10:00:35 2009 New Revision: 193634 URL: http://svn.freebsd.org/changeset/base/193634 Log: MFC hwpmc framework: - capture with callchain - Intel Core 2 support - Intel Core i7 support - source code annotate (pmcannotate) - bug fixes Reviewed by: jkoshy (mentor) Approved by: re (gnn) Added: stable/7/lib/libpmc/libpmcinternal.h (contents, props changed) stable/7/lib/libpmc/pmc.atom.3 (contents, props changed) stable/7/lib/libpmc/pmc.core.3 (contents, props changed) stable/7/lib/libpmc/pmc.core2.3 (contents, props changed) stable/7/lib/libpmc/pmc.iaf.3 (contents, props changed) stable/7/lib/libpmc/pmc.k7.3 (contents, props changed) stable/7/lib/libpmc/pmc.k8.3 (contents, props changed) stable/7/lib/libpmc/pmc.p4.3 (contents, props changed) stable/7/lib/libpmc/pmc.p5.3 (contents, props changed) stable/7/lib/libpmc/pmc.p6.3 (contents, props changed) stable/7/lib/libpmc/pmc.tsc.3 (contents, props changed) stable/7/lib/libpmc/pmc_allocate.3 (contents, props changed) stable/7/lib/libpmc/pmc_attach.3 (contents, props changed) stable/7/lib/libpmc/pmc_capabilities.3 (contents, props changed) stable/7/lib/libpmc/pmc_configure_logfile.3 (contents, props changed) stable/7/lib/libpmc/pmc_disable.3 (contents, props changed) stable/7/lib/libpmc/pmc_event_names_of_class.3 (contents, props changed) stable/7/lib/libpmc/pmc_get_driver_stats.3 (contents, props changed) stable/7/lib/libpmc/pmc_get_msr.3 (contents, props changed) stable/7/lib/libpmc/pmc_init.3 (contents, props changed) stable/7/lib/libpmc/pmc_name_of_capability.3 (contents, props changed) stable/7/lib/libpmc/pmc_read.3 (contents, props changed) stable/7/lib/libpmc/pmc_set.3 (contents, props changed) stable/7/lib/libpmc/pmc_start.3 (contents, props changed) stable/7/sys/dev/hwpmc/hwpmc_core.c (contents, props changed) stable/7/sys/dev/hwpmc/hwpmc_core.h (contents, props changed) stable/7/sys/dev/hwpmc/hwpmc_intel.c (contents, props changed) stable/7/sys/dev/hwpmc/hwpmc_tsc.c (contents, props changed) stable/7/sys/dev/hwpmc/hwpmc_tsc.h (contents, props changed) stable/7/usr.sbin/pmcannotate/ stable/7/usr.sbin/pmcannotate/Makefile (contents, props changed) stable/7/usr.sbin/pmcannotate/pmcannotate.8 (contents, props changed) stable/7/usr.sbin/pmcannotate/pmcannotate.c (contents, props changed) Modified: stable/7/lib/libpmc/Makefile stable/7/lib/libpmc/libpmc.c stable/7/lib/libpmc/pmc.3 stable/7/lib/libpmc/pmclog.c stable/7/lib/libpmc/pmclog.h stable/7/share/man/man4/hwpmc.4 stable/7/sys/amd64/amd64/exception.S stable/7/sys/amd64/amd64/genassym.c stable/7/sys/amd64/amd64/machdep.c stable/7/sys/amd64/amd64/mp_machdep.c stable/7/sys/amd64/amd64/trap.c stable/7/sys/amd64/include/intr_machdep.h stable/7/sys/amd64/include/pmc_mdep.h stable/7/sys/conf/Makefile.amd64 stable/7/sys/conf/Makefile.i386 stable/7/sys/conf/files.amd64 stable/7/sys/conf/files.i386 stable/7/sys/conf/files.pc98 stable/7/sys/dev/hwpmc/hwpmc_amd.c stable/7/sys/dev/hwpmc/hwpmc_amd.h stable/7/sys/dev/hwpmc/hwpmc_arm.c stable/7/sys/dev/hwpmc/hwpmc_ia64.c stable/7/sys/dev/hwpmc/hwpmc_logging.c stable/7/sys/dev/hwpmc/hwpmc_mod.c stable/7/sys/dev/hwpmc/hwpmc_pentium.c stable/7/sys/dev/hwpmc/hwpmc_pentium.h stable/7/sys/dev/hwpmc/hwpmc_piv.c stable/7/sys/dev/hwpmc/hwpmc_piv.h stable/7/sys/dev/hwpmc/hwpmc_powerpc.c stable/7/sys/dev/hwpmc/hwpmc_ppro.c stable/7/sys/dev/hwpmc/hwpmc_ppro.h stable/7/sys/dev/hwpmc/hwpmc_sparc64.c stable/7/sys/dev/hwpmc/hwpmc_x86.c stable/7/sys/dev/hwpmc/pmc_events.h stable/7/sys/i386/i386/exception.s stable/7/sys/i386/i386/genassym.c stable/7/sys/i386/i386/trap.c stable/7/sys/i386/include/pmc_mdep.h stable/7/sys/kern/kern_pmc.c stable/7/sys/modules/hwpmc/Makefile stable/7/sys/sys/pmc.h stable/7/sys/sys/pmckern.h stable/7/sys/sys/pmclog.h stable/7/sys/sys/proc.h stable/7/usr.sbin/Makefile stable/7/usr.sbin/pmccontrol/pmccontrol.8 stable/7/usr.sbin/pmccontrol/pmccontrol.c stable/7/usr.sbin/pmcstat/Makefile stable/7/usr.sbin/pmcstat/pmcstat.8 stable/7/usr.sbin/pmcstat/pmcstat.c stable/7/usr.sbin/pmcstat/pmcstat.h stable/7/usr.sbin/pmcstat/pmcstat_log.c Modified: stable/7/lib/libpmc/Makefile ============================================================================== --- stable/7/lib/libpmc/Makefile Sun Jun 7 09:23:50 2009 (r193633) +++ stable/7/lib/libpmc/Makefile Sun Jun 7 10:00:35 2009 (r193634) @@ -7,40 +7,54 @@ INCS= pmc.h pmclog.h WARNS?= 6 -MAN= pmc.3 pmclog.3 +MAN= pmc.3 +MAN+= pmc_allocate.3 +MAN+= pmc_attach.3 +MAN+= pmc_capabilities.3 +MAN+= pmc_configure_logfile.3 +MAN+= pmc_disable.3 +MAN+= pmc_event_names_of_class.3 +MAN+= pmc_get_driver_stats.3 +MAN+= pmc_get_msr.3 +MAN+= pmc_init.3 +MAN+= pmc_name_of_capability.3 +MAN+= pmc_read.3 +MAN+= pmc_set.3 +MAN+= pmc_start.3 +MAN+= pmclog.3 + +# PMC-dependent manual pages +MAN+= pmc.atom.3 +MAN+= pmc.core.3 +MAN+= pmc.core2.3 +MAN+= pmc.iaf.3 +MAN+= pmc.k7.3 +MAN+= pmc.k8.3 +MAN+= pmc.p4.3 +MAN+= pmc.p5.3 +MAN+= pmc.p6.3 +MAN+= pmc.tsc.3 MLINKS+= \ - pmc.3 pmc_allocate.3 \ - pmc.3 pmc_attach.3 \ - pmc.3 pmc_capabilities.3 \ - pmc.3 pmc_configure_logfile.3 \ - pmc.3 pmc_cpuinfo.3 \ - pmc.3 pmc_detach.3 \ - pmc.3 pmc_disable.3 \ - pmc.3 pmc_enable.3 \ - pmc.3 pmc_event_names_of_class.3 \ - pmc.3 pmc_flush_logfile.3 \ - pmc.3 pmc_get_driver_stats.3 \ - pmc.3 pmc_init.3 \ - pmc.3 pmc_name_of_capability.3 \ - pmc.3 pmc_name_of_class.3 \ - pmc.3 pmc_name_of_cputype.3 \ - pmc.3 pmc_name_of_event.3 \ - pmc.3 pmc_name_of_mode.3 \ - pmc.3 pmc_name_of_state.3 \ - pmc.3 pmc_ncpu.3 \ - pmc.3 pmc_npmc.3 \ - pmc.3 pmc_pmcinfo.3 \ - pmc.3 pmc_read.3 \ - pmc.3 pmc_release.3 \ - pmc.3 pmc_rw.3 \ - pmc.3 pmc_set.3 \ - pmc.3 pmc_start.3 \ - pmc.3 pmc_stop.3 \ - pmc.3 pmc_width.3 \ - pmc.3 pmc_write.3 \ - pmc.3 pmc_writelog.3 \ - pmc.3 pmc_x86_get_msr.3 + pmc_allocate.3 pmc_release.3 \ + pmc_attach.3 pmc_detach.3 \ + pmc_capabilities.3 pmc_ncpu.3 \ + pmc_capabilities.3 pmc_npmc.3 \ + pmc_capabilities.3 pmc_pmcinfo.3 \ + pmc_capabilities.3 pmc_cpuinfo.3 \ + pmc_capabilities.3 pmc_width.3 \ + pmc_configure_logfile.3 pmc_flush_logfile.3 \ + pmc_configure_logfile.3 pmc_writelog.3 \ + pmc_disable.3 pmc_enable.3 \ + pmc_name_of_capability.3 pmc_name_of_class.3 \ + pmc_name_of_capability.3 pmc_name_of_cputype.3 \ + pmc_name_of_capability.3 pmc_name_of_disposition.3 \ + pmc_name_of_capability.3 pmc_name_of_event.3 \ + pmc_name_of_capability.3 pmc_name_of_mode.3 \ + pmc_name_of_capability.3 pmc_name_of_state.3 \ + pmc_read.3 pmc_rw.3 \ + pmc_read.3 pmc_write.3 \ + pmc_start.3 pmc_stop.3 MLINKS+= \ pmclog.3 pmclog_open.3 \ Modified: stable/7/lib/libpmc/libpmc.c ============================================================================== --- stable/7/lib/libpmc/libpmc.c Sun Jun 7 09:23:50 2009 (r193633) +++ stable/7/lib/libpmc/libpmc.c Sun Jun 7 10:00:35 2009 (r193634) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2003-2006 Joseph Koshy + * Copyright (c) 2003-2008 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,12 +42,18 @@ __FBSDID("$FreeBSD$"); #include #include +#include "libpmcinternal.h" + /* Function prototypes */ #if defined(__i386__) static int k7_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); #endif #if defined(__amd64__) || defined(__i386__) +static int iaf_allocate_pmc(enum pmc_event _pe, char *_ctrspec, + struct pmc_op_pmcallocate *_pmc_config); +static int iap_allocate_pmc(enum pmc_event _pe, char *_ctrspec, + struct pmc_op_pmcallocate *_pmc_config); static int k8_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); static int p4_allocate_pmc(enum pmc_event _pe, char *_ctrspec, @@ -59,6 +65,10 @@ static int p5_allocate_pmc(enum pmc_even static int p6_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); #endif +#if defined(__amd64__) || defined(__i386__) +static int tsc_allocate_pmc(enum pmc_event _pe, char *_ctrspec, + struct pmc_op_pmcallocate *_pmc_config); +#endif #define PMC_CALL(cmd, params) \ syscall(pmc_syscall, PMC_OP_##cmd, (params)) @@ -69,7 +79,6 @@ static int p6_allocate_pmc(enum pmc_even * mapped to the appropriate canonical event descriptions using a * lookup table. */ - struct pmc_event_alias { const char *pm_alias; const char *pm_spec; @@ -78,25 +87,145 @@ struct pmc_event_alias { static const struct pmc_event_alias *pmc_mdep_event_aliases; /* - * The pmc_event_descr table maps symbolic names known to the user + * The pmc_event_descr structure maps symbolic names known to the user * to integer codes used by the PMC KLD. */ - struct pmc_event_descr { const char *pm_ev_name; enum pmc_event pm_ev_code; - enum pmc_class pm_ev_class; }; -static const struct pmc_event_descr -pmc_event_table[] = +/* + * The pmc_class_descr structure maps class name prefixes for + * event names to event tables and other PMC class data. + */ +struct pmc_class_descr { + const char *pm_evc_name; + size_t pm_evc_name_size; + enum pmc_class pm_evc_class; + const struct pmc_event_descr *pm_evc_event_table; + size_t pm_evc_event_table_size; + int (*pm_evc_allocate_pmc)(enum pmc_event _pe, + char *_ctrspec, struct pmc_op_pmcallocate *_pa); +}; + +#define PMC_TABLE_SIZE(N) (sizeof(N)/sizeof(N[0])) +#define PMC_EVENT_TABLE_SIZE(N) PMC_TABLE_SIZE(N##_event_table) + +#undef __PMC_EV +#define __PMC_EV(C,N) { #N, PMC_EV_ ## C ## _ ## N }, + +/* + * PMC_CLASSDEP_TABLE(NAME, CLASS) + * + * Define a table mapping event names and aliases to HWPMC event IDs. + */ +#define PMC_CLASSDEP_TABLE(N, C) \ + static const struct pmc_event_descr N##_event_table[] = \ + { \ + __PMC_EV_##C() \ + } + +PMC_CLASSDEP_TABLE(iaf, IAF); +PMC_CLASSDEP_TABLE(k7, K7); +PMC_CLASSDEP_TABLE(k8, K8); +PMC_CLASSDEP_TABLE(p4, P4); +PMC_CLASSDEP_TABLE(p5, P5); +PMC_CLASSDEP_TABLE(p6, P6); + +#undef __PMC_EV_ALIAS +#define __PMC_EV_ALIAS(N,CODE) { N, PMC_EV_##CODE }, + +static const struct pmc_event_descr atom_event_table[] = +{ + __PMC_EV_ALIAS_ATOM() +}; + +static const struct pmc_event_descr core_event_table[] = { -#undef __PMC_EV -#define __PMC_EV(C,N,EV) { #EV, PMC_EV_ ## C ## _ ## N, PMC_CLASS_ ## C }, - __PMC_EVENTS() + __PMC_EV_ALIAS_CORE() +}; + + +static const struct pmc_event_descr core2_event_table[] = +{ + __PMC_EV_ALIAS_CORE2() +}; + +static const struct pmc_event_descr corei7_event_table[] = +{ + __PMC_EV_ALIAS_COREI7() }; /* + * PMC_MDEP_TABLE(NAME, PRIMARYCLASS, ADDITIONAL_CLASSES...) + * + * Map a CPU to the PMC classes it supports. + */ +#define PMC_MDEP_TABLE(N,C,...) \ + static const enum pmc_class N##_pmc_classes[] = { \ + PMC_CLASS_##C, __VA_ARGS__ \ + } + +PMC_MDEP_TABLE(atom, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC); +PMC_MDEP_TABLE(core, IAP, PMC_CLASS_TSC); +PMC_MDEP_TABLE(core2, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC); +PMC_MDEP_TABLE(corei7, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC); +PMC_MDEP_TABLE(k7, K7, PMC_CLASS_TSC); +PMC_MDEP_TABLE(k8, K8, PMC_CLASS_TSC); +PMC_MDEP_TABLE(p4, P4, PMC_CLASS_TSC); +PMC_MDEP_TABLE(p5, P5, PMC_CLASS_TSC); +PMC_MDEP_TABLE(p6, P6, PMC_CLASS_TSC); + +static const struct pmc_event_descr tsc_event_table[] = +{ + __PMC_EV_TSC() +}; + +#undef PMC_CLASS_TABLE_DESC +#define PMC_CLASS_TABLE_DESC(NAME, CLASS, EVENTS, ALLOCATOR) \ +static const struct pmc_class_descr NAME##_class_table_descr = \ + { \ + .pm_evc_name = #CLASS "-", \ + .pm_evc_name_size = sizeof(#CLASS "-") - 1, \ + .pm_evc_class = PMC_CLASS_##CLASS , \ + .pm_evc_event_table = EVENTS##_event_table , \ + .pm_evc_event_table_size = \ + PMC_EVENT_TABLE_SIZE(EVENTS), \ + .pm_evc_allocate_pmc = ALLOCATOR##_allocate_pmc \ + } + +#if defined(__i386__) || defined(__amd64__) +PMC_CLASS_TABLE_DESC(iaf, IAF, iaf, iaf); +PMC_CLASS_TABLE_DESC(atom, IAP, atom, iap); +PMC_CLASS_TABLE_DESC(core, IAP, core, iap); +PMC_CLASS_TABLE_DESC(core2, IAP, core2, iap); +PMC_CLASS_TABLE_DESC(corei7, IAP, corei7, iap); +#endif +#if defined(__i386__) +PMC_CLASS_TABLE_DESC(k7, K7, k7, k7); +#endif +#if defined(__i386__) || defined(__amd64__) +PMC_CLASS_TABLE_DESC(k8, K8, k8, k8); +PMC_CLASS_TABLE_DESC(p4, P4, p4, p4); +#endif +#if defined(__i386__) +PMC_CLASS_TABLE_DESC(p5, P5, p5, p5); +PMC_CLASS_TABLE_DESC(p6, P6, p6, p6); +#endif +#if defined(__i386__) || defined(__amd64__) +PMC_CLASS_TABLE_DESC(tsc, TSC, tsc, tsc); +#endif + +#undef PMC_CLASS_TABLE_DESC + +static const struct pmc_class_descr **pmc_class_table; +#define PMC_CLASS_TABLE_SIZE cpu_info.pm_nclass + +static const enum pmc_class *pmc_mdep_class_list; +static size_t pmc_mdep_class_list_size; + +/* * Mapping tables, mapping enumeration values to human readable * strings. */ @@ -113,9 +242,14 @@ static const char * pmc_class_names[] = __PMC_CLASSES() }; -static const char * pmc_cputype_names[] = { +struct pmc_cputype_map { + enum pmc_class pm_cputype; + const char *pm_name; +}; + +static const struct pmc_cputype_map pmc_cputype_names[] = { #undef __PMC_CPU -#define __PMC_CPU(S, D) #S , +#define __PMC_CPU(S, V, D) { .pm_cputype = PMC_CPU_##S, .pm_name = #S } , __PMC_CPUS() }; @@ -141,11 +275,6 @@ static int pmc_syscall = -1; /* filled static struct pmc_cpuinfo cpu_info; /* filled in by pmc_init() */ - -/* Architecture dependent event parsing */ -static int (*pmc_mdep_allocate_pmc)(enum pmc_event _pe, char *_ctrspec, - struct pmc_op_pmcallocate *_pmc_config); - /* Event masks for events */ struct pmc_masks { const char *pm_name; @@ -163,20 +292,21 @@ pmc_parse_mask(const struct pmc_masks *p int c; if (pmask == NULL) /* no mask keywords */ - return -1; - q = strchr(p, '='); /* skip '=' */ + return (-1); + q = strchr(p, '='); /* skip '=' */ if (*++q == '\0') /* no more data */ - return -1; + return (-1); c = 0; /* count of mask keywords seen */ while ((r = strsep(&q, "+")) != NULL) { - for (pm = pmask; pm->pm_name && strcmp(r, pm->pm_name); pm++) + for (pm = pmask; pm->pm_name && strcasecmp(r, pm->pm_name); + pm++) ; if (pm->pm_name == NULL) /* not found */ - return -1; + return (-1); *evmask |= pm->pm_value; c++; } - return c; + return (c); } #endif @@ -194,7 +324,7 @@ static struct pmc_event_alias k7_aliases EV_ALIAS("branches", "k7-retired-branches"), EV_ALIAS("branch-mispredicts", "k7-retired-branches-mispredicted"), EV_ALIAS("cycles", "tsc"), - EV_ALIAS("dc-misses", "k7-dc-misses,mask=moesi"), + EV_ALIAS("dc-misses", "k7-dc-misses"), EV_ALIAS("ic-misses", "k7-ic-misses"), EV_ALIAS("instructions", "k7-retired-instructions"), EV_ALIAS("interrupts", "k7-hardware-interrupts"), @@ -212,19 +342,12 @@ static int k7_allocate_pmc(enum pmc_event pe, char *ctrspec, struct pmc_op_pmcallocate *pmc_config) { - char *e, *p, *q; - int c, has_unitmask; + char *e, *p, *q; + int c, has_unitmask; uint32_t count, unitmask; pmc_config->pm_md.pm_amd.pm_amd_config = 0; - pmc_config->pm_caps |= PMC_CAP_READ; - - if (pe == PMC_EV_TSC_TSC) { - /* TSC events must be unqualified. */ - if (ctrspec && *ctrspec != '\0') - return -1; - return 0; - } + pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); if (pe == PMC_EV_K7_DC_REFILLS_FROM_L2 || pe == PMC_EV_K7_DC_REFILLS_FROM_SYSTEM || @@ -234,17 +357,15 @@ k7_allocate_pmc(enum pmc_event pe, char } else unitmask = has_unitmask = 0; - pmc_config->pm_caps |= PMC_CAP_WRITE; - while ((p = strsep(&ctrspec, ",")) != NULL) { if (KWPREFIXMATCH(p, K7_KW_COUNT "=")) { q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); count = strtol(q, &e, 0); if (e == q || *e != '\0') - return -1; + return (-1); pmc_config->pm_caps |= PMC_CAP_THRESHOLD; pmc_config->pm_md.pm_amd.pm_amd_config |= @@ -258,11 +379,11 @@ k7_allocate_pmc(enum pmc_event pe, char pmc_config->pm_caps |= PMC_CAP_SYSTEM; } else if (KWPREFIXMATCH(p, K7_KW_UNITMASK "=")) { if (has_unitmask == 0) - return -1; + return (-1); unitmask = 0; q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); while ((c = tolower(*q++)) != 0) if (c == 'm') @@ -278,15 +399,15 @@ k7_allocate_pmc(enum pmc_event pe, char else if (c == '+') continue; else - return -1; + return (-1); if (unitmask == 0) - return -1; + return (-1); } else if (KWMATCH(p, K7_KW_USR)) { pmc_config->pm_caps |= PMC_CAP_USER; } else - return -1; + return (-1); } if (has_unitmask) { @@ -295,7 +416,7 @@ k7_allocate_pmc(enum pmc_event pe, char AMD_PMC_TO_UNITMASK(unitmask); } - return 0; + return (0); } @@ -304,6 +425,240 @@ k7_allocate_pmc(enum pmc_event pe, char #if defined(__amd64__) || defined(__i386__) /* + * Intel Core (Family 6, Model E) PMCs. + */ + +static struct pmc_event_alias core_aliases[] = { + EV_ALIAS("branches", "iap-br-instr-ret"), + EV_ALIAS("branch-mispredicts", "iap-br-mispred-ret"), + EV_ALIAS("cycles", "tsc-tsc"), + EV_ALIAS("ic-misses", "iap-icache-misses"), + EV_ALIAS("instructions", "iap-instr-ret"), + EV_ALIAS("interrupts", "iap-core-hw-int-rx"), + EV_ALIAS("unhalted-cycles", "iap-unhalted-core-cycles"), + EV_ALIAS(NULL, NULL) +}; + +/* + * Intel Core2 (Family 6, Model F), Core2Extreme (Family 6, Model 17H) + * and Atom (Family 6, model 1CH) PMCs. + */ + +static struct pmc_event_alias core2_aliases[] = { + EV_ALIAS("branches", "iap-br-inst-retired.any"), + EV_ALIAS("branch-mispredicts", "iap-br-inst-retired.mispred"), + EV_ALIAS("cycles", "tsc-tsc"), + EV_ALIAS("ic-misses", "iap-l1i-misses"), + EV_ALIAS("instructions", "iaf-instr-retired.any"), + EV_ALIAS("interrupts", "iap-hw-int-rcv"), + EV_ALIAS("unhalted-cycles", "iaf-cpu-clk-unhalted.core"), + EV_ALIAS(NULL, NULL) +}; +#define atom_aliases core2_aliases +#define corei7_aliases core2_aliases + +#define IAF_KW_OS "os" +#define IAF_KW_USR "usr" +#define IAF_KW_ANYTHREAD "anythread" + +/* + * Parse an event specifier for Intel fixed function counters. + */ +static int +iaf_allocate_pmc(enum pmc_event pe, char *ctrspec, + struct pmc_op_pmcallocate *pmc_config) +{ + char *p; + + (void) pe; + + pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); + pmc_config->pm_md.pm_iaf.pm_iaf_flags = 0; + + while ((p = strsep(&ctrspec, ",")) != NULL) { + if (KWMATCH(p, IAF_KW_OS)) + pmc_config->pm_caps |= PMC_CAP_SYSTEM; + else if (KWMATCH(p, IAF_KW_USR)) + pmc_config->pm_caps |= PMC_CAP_USER; + else if (KWMATCH(p, IAF_KW_ANYTHREAD)) + pmc_config->pm_md.pm_iaf.pm_iaf_flags |= IAF_ANY; + else + return (-1); + } + + return (0); +} + +/* + * Core/Core2 support. + */ + +#define IAP_KW_AGENT "agent" +#define IAP_KW_ANYTHREAD "anythread" +#define IAP_KW_CACHESTATE "cachestate" +#define IAP_KW_CMASK "cmask" +#define IAP_KW_CORE "core" +#define IAP_KW_EDGE "edge" +#define IAP_KW_INV "inv" +#define IAP_KW_OS "os" +#define IAP_KW_PREFETCH "prefetch" +#define IAP_KW_SNOOPRESPONSE "snoopresponse" +#define IAP_KW_SNOOPTYPE "snooptype" +#define IAP_KW_TRANSITION "trans" +#define IAP_KW_USR "usr" + +static struct pmc_masks iap_core_mask[] = { + PMCMASK(all, (0x3 << 14)), + PMCMASK(this, (0x1 << 14)), + NULLMASK +}; + +static struct pmc_masks iap_agent_mask[] = { + PMCMASK(this, 0), + PMCMASK(any, (0x1 << 13)), + NULLMASK +}; + +static struct pmc_masks iap_prefetch_mask[] = { + PMCMASK(both, (0x3 << 12)), + PMCMASK(only, (0x1 << 12)), + PMCMASK(exclude, 0), + NULLMASK +}; + +static struct pmc_masks iap_cachestate_mask[] = { + PMCMASK(i, (1 << 8)), + PMCMASK(s, (1 << 9)), + PMCMASK(e, (1 << 10)), + PMCMASK(m, (1 << 11)), + NULLMASK +}; + +static struct pmc_masks iap_snoopresponse_mask[] = { + PMCMASK(clean, (1 << 8)), + PMCMASK(hit, (1 << 9)), + PMCMASK(hitm, (1 << 11)), + NULLMASK +}; + +static struct pmc_masks iap_snooptype_mask[] = { + PMCMASK(cmp2s, (1 << 8)), + PMCMASK(cmp2i, (1 << 9)), + NULLMASK +}; + +static struct pmc_masks iap_transition_mask[] = { + PMCMASK(any, 0x00), + PMCMASK(frequency, 0x10), + NULLMASK +}; + +static int +iap_allocate_pmc(enum pmc_event pe, char *ctrspec, + struct pmc_op_pmcallocate *pmc_config) +{ + char *e, *p, *q; + uint32_t cachestate, evmask; + int count, n; + + pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE | + PMC_CAP_QUALIFIER); + pmc_config->pm_md.pm_iap.pm_iap_config = 0; + + cachestate = evmask = 0; + + /* Parse additional modifiers if present */ + while ((p = strsep(&ctrspec, ",")) != NULL) { + + n = 0; + if (KWPREFIXMATCH(p, IAP_KW_CMASK "=")) { + q = strchr(p, '='); + if (*++q == '\0') /* skip '=' */ + return (-1); + count = strtol(q, &e, 0); + if (e == q || *e != '\0') + return (-1); + pmc_config->pm_caps |= PMC_CAP_THRESHOLD; + pmc_config->pm_md.pm_iap.pm_iap_config |= + IAP_CMASK(count); + } else if (KWMATCH(p, IAP_KW_EDGE)) { + pmc_config->pm_caps |= PMC_CAP_EDGE; + } else if (KWMATCH(p, IAP_KW_INV)) { + pmc_config->pm_caps |= PMC_CAP_INVERT; + } else if (KWMATCH(p, IAP_KW_OS)) { + pmc_config->pm_caps |= PMC_CAP_SYSTEM; + } else if (KWMATCH(p, IAP_KW_USR)) { + pmc_config->pm_caps |= PMC_CAP_USER; + } else if (KWMATCH(p, IAP_KW_ANYTHREAD)) { + pmc_config->pm_md.pm_iap.pm_iap_config |= IAP_ANY; + } else if (KWMATCH(p, IAP_KW_CORE)) { + n = pmc_parse_mask(iap_core_mask, p, &evmask); + if (n != 1) + return (-1); + } else if (KWMATCH(p, IAP_KW_AGENT)) { + n = pmc_parse_mask(iap_agent_mask, p, &evmask); + if (n != 1) + return (-1); + } else if (KWMATCH(p, IAP_KW_PREFETCH)) { + n = pmc_parse_mask(iap_prefetch_mask, p, &evmask); + if (n != 1) + return (-1); + } else if (KWMATCH(p, IAP_KW_CACHESTATE)) { + n = pmc_parse_mask(iap_cachestate_mask, p, &cachestate); + } else if (cpu_info.pm_cputype == PMC_CPU_INTEL_CORE && + KWMATCH(p, IAP_KW_TRANSITION)) { + n = pmc_parse_mask(iap_transition_mask, p, &evmask); + if (n != 1) + return (-1); + } else if (cpu_info.pm_cputype == PMC_CPU_INTEL_ATOM || + cpu_info.pm_cputype == PMC_CPU_INTEL_CORE2 || + cpu_info.pm_cputype == PMC_CPU_INTEL_CORE2EXTREME || + cpu_info.pm_cputype == PMC_CPU_INTEL_COREI7) { + if (KWMATCH(p, IAP_KW_SNOOPRESPONSE)) { + n = pmc_parse_mask(iap_snoopresponse_mask, p, + &evmask); + } else if (KWMATCH(p, IAP_KW_SNOOPTYPE)) { + n = pmc_parse_mask(iap_snooptype_mask, p, + &evmask); + } else + return (-1); + } else + return (-1); + + if (n < 0) /* Parsing failed. */ + return (-1); + } + + pmc_config->pm_md.pm_iap.pm_iap_config |= evmask; + + /* + * If the event requires a 'cachestate' qualifier but was not + * specified by the user, use a sensible default. + */ + switch (pe) { + case PMC_EV_IAP_EVENT_28H: /* Core, Core2, Atom */ + case PMC_EV_IAP_EVENT_29H: /* Core, Core2, Atom */ + case PMC_EV_IAP_EVENT_2AH: /* Core, Core2, Atom */ + case PMC_EV_IAP_EVENT_2BH: /* Atom, Core2 */ + case PMC_EV_IAP_EVENT_2EH: /* Core, Core2, Atom */ + case PMC_EV_IAP_EVENT_30H: /* Core, Core2, Atom */ + case PMC_EV_IAP_EVENT_32H: /* Core */ + case PMC_EV_IAP_EVENT_40H: /* Core */ + case PMC_EV_IAP_EVENT_41H: /* Core */ + case PMC_EV_IAP_EVENT_42H: /* Core, Core2, Atom */ + case PMC_EV_IAP_EVENT_77H: /* Core */ + if (cachestate == 0) + cachestate = (0xF << 8); + default: + break; + } + + pmc_config->pm_md.pm_iap.pm_iap_config |= cachestate; + + return (0); +} + +/* * AMD K8 PMCs. * * These are very similar to AMD K7 PMCs, but support more kinds of @@ -317,7 +672,7 @@ static struct pmc_event_alias k8_aliases EV_ALIAS("cycles", "tsc"), EV_ALIAS("dc-misses", "k8-dc-miss"), EV_ALIAS("ic-misses", "k8-ic-miss"), - EV_ALIAS("instructions", "k8-fr-retired-x86-instructions"), + EV_ALIAS("instructions", "k8-fr-retired-x86-instructions"), EV_ALIAS("interrupts", "k8-fr-taken-hardware-interrupts"), EV_ALIAS("unhalted-cycles", "k8-bu-cpu-clk-unhalted"), EV_ALIAS(NULL, NULL) @@ -492,7 +847,7 @@ static const struct pmc_masks k8_mask_np /* nb hypertransport bus bandwidth */ static const struct pmc_masks k8_mask_nhbb[] = { /* HT bus bandwidth */ __K8MASK(command, 0), - __K8MASK(data, 1), + __K8MASK(data, 1), __K8MASK(buffer-release, 2), __K8MASK(nop, 3), NULLMASK @@ -511,21 +866,14 @@ static int k8_allocate_pmc(enum pmc_event pe, char *ctrspec, struct pmc_op_pmcallocate *pmc_config) { - char *e, *p, *q; - int n; + char *e, *p, *q; + int n; uint32_t count, evmask; const struct pmc_masks *pm, *pmask; - pmc_config->pm_caps |= PMC_CAP_READ; + pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); pmc_config->pm_md.pm_amd.pm_amd_config = 0; - if (pe == PMC_EV_TSC_TSC) { - /* TSC events must be unqualified. */ - if (ctrspec && *ctrspec != '\0') - return -1; - return 0; - } - pmask = NULL; evmask = 0; @@ -599,17 +947,15 @@ k8_allocate_pmc(enum pmc_event pe, char break; /* no options defined */ } - pmc_config->pm_caps |= PMC_CAP_WRITE; - while ((p = strsep(&ctrspec, ",")) != NULL) { if (KWPREFIXMATCH(p, K8_KW_COUNT "=")) { q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); count = strtol(q, &e, 0); if (e == q || *e != '\0') - return -1; + return (-1); pmc_config->pm_caps |= PMC_CAP_THRESHOLD; pmc_config->pm_md.pm_amd.pm_amd_config |= @@ -621,18 +967,17 @@ k8_allocate_pmc(enum pmc_event pe, char pmc_config->pm_caps |= PMC_CAP_INVERT; } else if (KWPREFIXMATCH(p, K8_KW_MASK "=")) { if ((n = pmc_parse_mask(pmask, p, &evmask)) < 0) - return -1; + return (-1); pmc_config->pm_caps |= PMC_CAP_QUALIFIER; } else if (KWMATCH(p, K8_KW_OS)) { pmc_config->pm_caps |= PMC_CAP_SYSTEM; } else if (KWMATCH(p, K8_KW_USR)) { pmc_config->pm_caps |= PMC_CAP_USER; } else - return -1; + return (-1); } /* other post processing */ - switch (pe) { case PMC_EV_K8_FP_DISPATCHED_FPU_OPS: case PMC_EV_K8_FP_CYCLES_WITH_NO_FPU_OPS_RETIRED: @@ -648,7 +993,7 @@ k8_allocate_pmc(enum pmc_event pe, char case PMC_EV_K8_LS_LOCKED_OPERATION: /* XXX CPU Rev A,B evmask is to be zero */ if (evmask & (evmask - 1)) /* > 1 bit set */ - return -1; + return (-1); if (evmask == 0) { evmask = 0x01; /* Rev C and later: #instrs */ pmc_config->pm_caps |= PMC_CAP_QUALIFIER; @@ -666,7 +1011,7 @@ k8_allocate_pmc(enum pmc_event pe, char pmc_config->pm_md.pm_amd.pm_amd_config = AMD_PMC_TO_UNITMASK(evmask); - return 0; + return (0); } #endif @@ -1008,25 +1353,17 @@ p4_allocate_pmc(enum pmc_event pe, char uint32_t evmask, cccractivemask; const struct pmc_masks *pm, *pmask; - pmc_config->pm_caps |= PMC_CAP_READ; + pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); pmc_config->pm_md.pm_p4.pm_p4_cccrconfig = pmc_config->pm_md.pm_p4.pm_p4_escrconfig = 0; - if (pe == PMC_EV_TSC_TSC) { - /* TSC must not be further qualified */ - if (ctrspec && *ctrspec != '\0') - return -1; - return 0; - } - pmask = NULL; evmask = 0; cccractivemask = 0x3; has_tag = has_busreqtype = 0; - pmc_config->pm_caps |= PMC_CAP_WRITE; #define __P4SETMASK(M) do { \ - pmask = p4_mask_##M; \ + pmask = p4_mask_##M; \ } while (0) switch (pe) { @@ -1159,7 +1496,7 @@ p4_allocate_pmc(enum pmc_event pe, char __P4SETMASK(machclr); break; default: - return -1; + return (-1); } /* process additional flags */ @@ -1167,30 +1504,30 @@ p4_allocate_pmc(enum pmc_event pe, char if (KWPREFIXMATCH(p, P4_KW_ACTIVE)) { q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); - if (strcmp(q, P4_KW_ACTIVE_NONE) == 0) + if (strcasecmp(q, P4_KW_ACTIVE_NONE) == 0) cccractivemask = 0x0; - else if (strcmp(q, P4_KW_ACTIVE_SINGLE) == 0) + else if (strcasecmp(q, P4_KW_ACTIVE_SINGLE) == 0) cccractivemask = 0x1; - else if (strcmp(q, P4_KW_ACTIVE_BOTH) == 0) + else if (strcasecmp(q, P4_KW_ACTIVE_BOTH) == 0) cccractivemask = 0x2; - else if (strcmp(q, P4_KW_ACTIVE_ANY) == 0) + else if (strcasecmp(q, P4_KW_ACTIVE_ANY) == 0) cccractivemask = 0x3; else - return -1; + return (-1); } else if (KWPREFIXMATCH(p, P4_KW_BUSREQTYPE)) { if (has_busreqtype == 0) - return -1; + return (-1); q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); count = strtol(q, &e, 0); if (e == q || *e != '\0') - return -1; + return (-1); evmask = (evmask & ~0x1F) | (count & 0x1F); } else if (KWMATCH(p, P4_KW_CASCADE)) pmc_config->pm_caps |= PMC_CAP_CASCADE; @@ -1200,7 +1537,7 @@ p4_allocate_pmc(enum pmc_event pe, char pmc_config->pm_caps |= PMC_CAP_INVERT; else if (KWPREFIXMATCH(p, P4_KW_MASK "=")) { if ((n = pmc_parse_mask(pmask, p, &evmask)) < 0) - return -1; + return (-1); pmc_config->pm_caps |= PMC_CAP_QUALIFIER; } else if (KWMATCH(p, P4_KW_OS)) pmc_config->pm_caps |= PMC_CAP_SYSTEM; @@ -1208,15 +1545,15 @@ p4_allocate_pmc(enum pmc_event pe, char pmc_config->pm_caps |= PMC_CAP_PRECISE; else if (KWPREFIXMATCH(p, P4_KW_TAG "=")) { if (has_tag == 0) - return -1; + return (-1); q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); count = strtol(q, &e, 0); if (e == q || *e != '\0') - return -1; + return (-1); pmc_config->pm_caps |= PMC_CAP_TAGGING; pmc_config->pm_md.pm_p4.pm_p4_escrconfig |= @@ -1224,11 +1561,11 @@ p4_allocate_pmc(enum pmc_event pe, char } else if (KWPREFIXMATCH(p, P4_KW_THRESHOLD "=")) { q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); count = strtol(q, &e, 0); if (e == q || *e != '\0') - return -1; + return (-1); pmc_config->pm_caps |= PMC_CAP_THRESHOLD; pmc_config->pm_md.pm_p4.pm_p4_cccrconfig &= @@ -1238,7 +1575,7 @@ p4_allocate_pmc(enum pmc_event pe, char } else if (KWMATCH(p, P4_KW_USR)) pmc_config->pm_caps |= PMC_CAP_USER; else - return -1; + return (-1); } /* other post processing */ @@ -1258,16 +1595,16 @@ p4_allocate_pmc(enum pmc_event pe, char case PMC_EV_P4_FSB_DATA_ACTIVITY: if ((evmask & 0x06) == 0x06 || (evmask & 0x18) == 0x18) - return -1; /* can't have own+other bits together */ + return (-1); /* can't have own+other bits together */ if (evmask == 0) /* default:drdy-{drv,own}+dbsy{drv,own} */ evmask = 0x1D; break; case PMC_EV_P4_MACHINE_CLEAR: /* only one bit is allowed to be set */ if ((evmask & (evmask - 1)) != 0) - return -1; + return (-1); if (evmask == 0) { - evmask = 0x1; /* 'CLEAR' */ + evmask = 0x1; /* 'CLEAR' */ pmc_config->pm_caps |= PMC_CAP_QUALIFIER; } break; @@ -1282,7 +1619,7 @@ p4_allocate_pmc(enum pmc_event pe, char pmc_config->pm_md.pm_p4.pm_p4_escrconfig = P4_ESCR_TO_EVENT_MASK(evmask); - return 0; + return (0); } #endif @@ -1294,7 +1631,14 @@ p4_allocate_pmc(enum pmc_event pe, char */ static struct pmc_event_alias p5_aliases[] = { - EV_ALIAS("cycles", "tsc"), + EV_ALIAS("branches", "p5-taken-branches"), + EV_ALIAS("cycles", "tsc"), + EV_ALIAS("dc-misses", "p5-data-read-miss-or-write-miss"), + EV_ALIAS("ic-misses", "p5-code-cache-miss"), + EV_ALIAS("instructions", "p5-instructions-executed"), + EV_ALIAS("interrupts", "p5-hardware-interrupts"), + EV_ALIAS("unhalted-cycles", + "p5-number-of-cycles-not-in-halt-state"), EV_ALIAS(NULL, NULL) }; @@ -1302,7 +1646,7 @@ static int p5_allocate_pmc(enum pmc_event pe, char *ctrspec, struct pmc_op_pmcallocate *pmc_config) { - return -1 || pe || ctrspec || pmc_config; /* shut up gcc */ + return (-1 || pe || ctrspec || pmc_config); /* shut up gcc */ } /* @@ -1438,22 +1782,15 @@ p6_allocate_pmc(enum pmc_event pe, char int count, n; const struct pmc_masks *pm, *pmask; - pmc_config->pm_caps |= PMC_CAP_READ; + pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); pmc_config->pm_md.pm_ppro.pm_ppro_config = 0; - if (pe == PMC_EV_TSC_TSC) { - if (ctrspec && *ctrspec != '\0') - return -1; - return 0; - } - - pmc_config->pm_caps |= PMC_CAP_WRITE; evmask = 0; #define P6MASKSET(M) pmask = p6_mask_ ## M switch(pe) { - case PMC_EV_P6_L2_IFETCH: P6MASKSET(mesi); break; + case PMC_EV_P6_L2_IFETCH: P6MASKSET(mesi); break; case PMC_EV_P6_L2_LD: P6MASKSET(mesi); break; case PMC_EV_P6_L2_ST: P6MASKSET(mesi); break; case PMC_EV_P6_L2_RQSTS: P6MASKSET(mesi); break; @@ -1513,10 +1850,10 @@ p6_allocate_pmc(enum pmc_event pe, char if (KWPREFIXMATCH(p, P6_KW_CMASK "=")) { q = strchr(p, '='); if (*++q == '\0') /* skip '=' */ - return -1; + return (-1); count = strtol(q, &e, 0); if (e == q || *e != '\0') - return -1; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 13:26:57 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCBB51065672; Sun, 7 Jun 2009 13:26:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BB10E8FC1C; Sun, 7 Jun 2009 13:26:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57DQvb6095106; Sun, 7 Jun 2009 13:26:57 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57DQvSG095104; Sun, 7 Jun 2009 13:26:57 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200906071326.n57DQvSG095104@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 7 Jun 2009 13:26: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: r193635 - 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: Sun, 07 Jun 2009 13:26:58 -0000 Author: edwin Date: Sun Jun 7 13:26:57 2009 New Revision: 193635 URL: http://svn.freebsd.org/changeset/base/193635 Log: Welcome to a default installed /etc/ntp.conf This NTP configuration file points to the [012].pool.ntp.org servers, which will return a list of geographical local NTP servers. It uses the best-practice options of "iburst" and "maxpoll 9". It gives examples on how to use the "restrict" commands, which are unfortunately not working when you use the pool.ntp.org servers. It sets up a fudge server so any clients syncing against this server will always be synced even if we lose the master. The idea of this file was briefly discussed on -net. PR: conf/58595 Submitted by: Chris Stenton MFC after: 1 week Added: head/etc/ntp.conf (contents, props changed) Modified: head/etc/Makefile Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Sun Jun 7 10:00:35 2009 (r193634) +++ head/etc/Makefile Sun Jun 7 13:26:57 2009 (r193635) @@ -63,6 +63,10 @@ BIN1+= ${.CURDIR}/../usr.bin/mail/misc/m BIN1+= ${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config .endif +.if ${MK_NTP} != "no" +BIN1+= ntp.conf +.endif + .if ${MK_OPENSSH} != "no" SSH= ${.CURDIR}/../crypto/openssh/ssh_config \ ${.CURDIR}/../crypto/openssh/sshd_config \ Added: head/etc/ntp.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/etc/ntp.conf Sun Jun 7 13:26:57 2009 (r193635) @@ -0,0 +1,59 @@ +# +# $FreeBSD$ +# +# Default NTP servers for the FreeBSD operating system. +# +# Don't forget to enable ntpd in /etc/rc.conf with: +# ntpd_enable="YES" +# +# The driftfile is by default /var/db/ntpd.drift, check +# /etc/defaults/rc.conf on how to change the location. +# + +# +# The following three servers will give you a random set of three +# NTP servers geographically close to you. +# See http://en.wikipedia.org/wiki/NTP_pool for details. +# +# The option `iburst' is used for faster initial synchronisation. +# The option `maxpoll 9' is used to prevent PLL/FLL flipping on FreeBSD. +# +server 0.pool.ntp.org iburst maxpoll 9 +server 1.pool.ntp.org iburst maxpoll 9 +server 2.pool.ntp.org iburst maxpoll 9 + +# +# If you want to pick yourself which country's public NTP server +# you want sync against, comment out the above servers, uncomment +# the next ones and replace CC with the country's abbrevation. +# Make sure that the hostnames resolve to a proper IP address! +# +# server 0.CC.pool.ntp.org iburst maxpoll 9 +# server 1.CC.pool.ntp.org iburst maxpoll 9 +# server 2.CC.pool.ntp.org iburst maxpoll 9 + +# +# Security: Only accept NTP traffic from the following hosts. +# The following configuration example only accepts traffic from the +# above defined servers. +# +# Please note that this example doesn't work for the servers in +# the pool.ntp.org domain since they return multiple A records. +# (This is the reason that by default they are commented out) +# +#restrict default ignore +#restrict 0.pool.ntp.org nomodify nopeer noquery notrap +#restrict 1.pool.ntp.org nomodify nopeer noquery notrap +#restrict 2.pool.ntp.org nomodify nopeer noquery notrap +#restrict 127.0.0.1 +#restrict -6 ::1 +#restrict 127.127.1.0 + +# +# If we lose sync against all configured servers, the NTP clients +# syncing against this server will lose sync too. To overcome this, +# we will act as a stratum 10 server with our own internal clock +# so that everybody at least will have the same time as we have. +# +server 127.127.1.0 +fudge 127.127.1.0 stratum 10 From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 15:04:44 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 421E9106566C; Sun, 7 Jun 2009 15:04:44 +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 3098A8FC12; Sun, 7 Jun 2009 15:04:44 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57F4iJL097094; Sun, 7 Jun 2009 15:04:44 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57F4iUK097093; Sun, 7 Jun 2009 15:04:44 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <200906071504.n57F4iUK097093@svn.freebsd.org> From: Jilles Tjoelker Date: Sun, 7 Jun 2009 15:04:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193636 - head/bin/sh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 15:04:44 -0000 Author: jilles Date: Sun Jun 7 15:04:43 2009 New Revision: 193636 URL: http://svn.freebsd.org/changeset/base/193636 Log: Mention the range for the exit status for the exit special builtin. The exit status may exceed 255 in some cases (return); even though it seems unwise to rely on this, it is also unwise to assume that $? is always between 0 and 255. This resolves bin/124748 by documenting that 'exit -1' is not valid. PR: bin/124748 Approved by: ed (mentor) Modified: head/bin/sh/sh.1 Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sun Jun 7 13:26:57 2009 (r193635) +++ head/bin/sh/sh.1 Sun Jun 7 15:04:43 2009 (r193636) @@ -1682,6 +1682,7 @@ If is given it is used as the exit status of the shell; otherwise the exit status of the preceding command is used. +The exit status should be an integer between 0 and 255. .It Ic export Ar name ... .It Ic export Op Fl p The specified names are exported so that they will From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 18:19:05 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44ECE106566B; Sun, 7 Jun 2009 18:19:05 +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 338A08FC16; Sun, 7 Jun 2009 18:19:05 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57IJ5Mo001074; Sun, 7 Jun 2009 18:19:05 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57IJ5pv001073; Sun, 7 Jun 2009 18:19:05 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <200906071819.n57IJ5pv001073@svn.freebsd.org> From: Alan Cox Date: Sun, 7 Jun 2009 18:19: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: r193637 - 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, 07 Jun 2009 18:19:05 -0000 Author: alc Date: Sun Jun 7 18:19:04 2009 New Revision: 193637 URL: http://svn.freebsd.org/changeset/base/193637 Log: Eliminate an unused variable from allocbuf(). Eliminate the unnecessary setting of page valid bits from a non-VMIO buffer in vm_hold_load_pages(). Modified: head/sys/kern/vfs_bio.c Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Sun Jun 7 15:04:43 2009 (r193636) +++ head/sys/kern/vfs_bio.c Sun Jun 7 18:19:04 2009 (r193637) @@ -2946,7 +2946,6 @@ allocbuf(struct buf *bp, int size) * We are growing the buffer, possibly in a * byte-granular fashion. */ - struct vnode *vp; vm_object_t obj; vm_offset_t toff; vm_offset_t tinc; @@ -2958,7 +2957,6 @@ allocbuf(struct buf *bp, int size) * range covered by the buffer. */ - vp = bp->b_vp; obj = bp->b_bufobj->bo_object; VM_OBJECT_LOCK(obj); @@ -3762,7 +3760,6 @@ tryagain: VM_WAIT; goto tryagain; } - p->valid = VM_PAGE_BITS_ALL; pmap_qenter(pg, &p, 1); bp->b_pages[index] = p; } From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 18:45:04 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97832106566C; Sun, 7 Jun 2009 18:45:04 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 847F88FC12; Sun, 7 Jun 2009 18:45:04 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57Ij4VY001599; Sun, 7 Jun 2009 18:45:04 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57Ij4Rb001597; Sun, 7 Jun 2009 18:45:04 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200906071845.n57Ij4Rb001597@svn.freebsd.org> From: Fabien Thomas Date: Sun, 7 Jun 2009 18:45:04 +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: r193638 - in stable/7: . sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 18:45:05 -0000 Author: fabient Date: Sun Jun 7 18:45:04 2009 New Revision: 193638 URL: http://svn.freebsd.org/changeset/base/193638 Log: Bump sys/param.h for the merge of PmcTools. Add a note to rebuild world in UPDATING. Reviewed by: jkoshy (mentor) Modified: stable/7/UPDATING stable/7/sys/sys/param.h Modified: stable/7/UPDATING ============================================================================== --- stable/7/UPDATING Sun Jun 7 18:19:04 2009 (r193637) +++ stable/7/UPDATING Sun Jun 7 18:45:04 2009 (r193638) @@ -8,6 +8,10 @@ Items affecting the ports and packages s /usr/ports/UPDATING. Please read that file before running portupgrade. +20090606: + The components of PmcTools have been upgraded. Please + update world and the kernel. + 20090521: The k8temp(4) driver has been renamed to amdtemp(4) since support for K10 and K11 CPU families was added. Modified: stable/7/sys/sys/param.h ============================================================================== --- stable/7/sys/sys/param.h Sun Jun 7 18:19:04 2009 (r193637) +++ stable/7/sys/sys/param.h Sun Jun 7 18:45:04 2009 (r193638) @@ -57,7 +57,7 @@ * is created, otherwise 1. */ #undef __FreeBSD_version -#define __FreeBSD_version 702102 /* Master, propagated to newvers */ +#define __FreeBSD_version 702103 /* Master, propagated to newvers */ #ifndef LOCORE #include From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 18:53:25 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA91C106566C; Sun, 7 Jun 2009 18:53:25 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9811C8FC0C; Sun, 7 Jun 2009 18:53:25 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57IrPDi001922; Sun, 7 Jun 2009 18:53:25 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57IrPLG001921; Sun, 7 Jun 2009 18:53:25 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200906071853.n57IrPLG001921@svn.freebsd.org> From: Fabien Thomas Date: Sun, 7 Jun 2009 18:53:25 +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: r193639 - 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: Sun, 07 Jun 2009 18:53:26 -0000 Author: fabient Date: Sun Jun 7 18:53:25 2009 New Revision: 193639 URL: http://svn.freebsd.org/changeset/base/193639 Log: Repair pc98 LINT build broken by PmcTools merge. Reviewed by: jkoshy (mentor) Modified: stable/7/sys/conf/files.pc98 Modified: stable/7/sys/conf/files.pc98 ============================================================================== --- stable/7/sys/conf/files.pc98 Sun Jun 7 18:45:04 2009 (r193638) +++ stable/7/sys/conf/files.pc98 Sun Jun 7 18:53:25 2009 (r193639) @@ -105,6 +105,7 @@ dev/fb/fb.c optional fb | gdc dev/fe/if_fe_cbus.c optional fe isa dev/hwpmc/hwpmc_amd.c optional hwpmc dev/hwpmc/hwpmc_intel.c optional hwpmc +dev/hwpmc/hwpmc_core.c optional hwpmc dev/hwpmc/hwpmc_pentium.c optional hwpmc dev/hwpmc/hwpmc_piv.c optional hwpmc dev/hwpmc/hwpmc_ppro.c optional hwpmc From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:12:09 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F168E1065673; Sun, 7 Jun 2009 19:12:09 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA8898FC1A; Sun, 7 Jun 2009 19:12:09 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JC9lM002437; Sun, 7 Jun 2009 19:12:09 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JC9GZ002423; Sun, 7 Jun 2009 19:12:09 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906071912.n57JC9GZ002423@svn.freebsd.org> From: Ariff Abdullah Date: Sun, 7 Jun 2009 19:12:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193640 - in head/sys: conf dev/sound dev/sound/isa dev/sound/macio dev/sound/midi dev/sound/pci dev/sound/pci/hda dev/sound/pcm dev/sound/sbus dev/sound/usb modules/sound/sound sys tools X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:12:10 -0000 Author: ariff Date: Sun Jun 7 19:12:08 2009 New Revision: 193640 URL: http://svn.freebsd.org/changeset/base/193640 Log: Sound Mega-commit. Expect further cleanup until code freeze. For a slightly thorough explaination, please refer to [1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html . Summary of changes includes: 1 Volume Per-Channel (vpc). Provides private / standalone volume control unique per-stream pcm channel without touching master volume / pcm. Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for backwards compatibility, SOUND_MIXER_PCM through the opened dsp device instead of /dev/mixer. Special "bypass" mode is enabled through /dev/mixer which will automatically detect if the adjustment is made through /dev/mixer and forward its request to this private volume controller. Changes to this volume object will not interfere with other channels. Requirements: - SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which require specific application modifications (preferred). - No modifications required for using bypass mode, so applications like mplayer or xmms should work out of the box. Kernel hints: - hint.pcm.%d.vpc (0 = disable vpc). Kernel sysctls: - hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer bypass mode. - hw.snd.vpc_autoreset (default: 1). By default, closing/opening /dev/dsp will reset the volume back to 0 db gain/attenuation. Setting this to 0 will preserve its settings across device closing/opening. - hw.snd.vpc_reset (default: 0). Panic/reset button to reset all volume settings back to 0 db. - hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value. 2 High quality fixed-point Bandlimited SINC sampling rate converter, based on Julius O'Smith's Digital Audio Resampling - http://ccrma.stanford.edu/~jos/resample/. It includes a filter design script written in awk (the clumsiest joke I've ever written) - 100% 32bit fixed-point, 64bit accumulator. - Possibly among the fastest (if not fastest) of its kind. - Resampling quality is tunable, either runtime or during kernel compilation (FEEDER_RATE_PRESETS). - Quality can be further customized during kernel compilation by defining FEEDER_RATE_PRESETS in /etc/make.conf. Kernel sysctls: - hw.snd.feeder_rate_quality. 0 - Zero-order Hold (ZOH). Fastest, bad quality. 1 - Linear Interpolation (LINEAR). Slightly slower than ZOH, better quality but still does not eliminate aliasing. 2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC quality always start from 2 and above. Rough quality comparisons: - http://people.freebsd.org/~ariff/z_comparison/ 3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be directly fed into the hardware. 4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf. 5 Transparent/Adaptive Virtual Channel. Now you don't have to disable vchans in order to make digital format pass through. It also makes vchans more dynamic by choosing a better format/rate among all the concurrent streams, which means that dev.pcm.X.play.vchanformat/rate becomes sort of optional. 6 Exclusive Stream, with special open() mode O_EXCL. This will "mute" other concurrent vchan streams and only allow a single channel with O_EXCL set to keep producing sound. Other Changes: * most feeder_* stuffs are compilable in userland. Let's not speculate whether we should go all out for it (save that for FreeBSD 16.0-RELEASE). * kobj signature fixups, thanks to Andriy Gapon * pull out channel mixing logic out of vchan.c and create its own feeder_mixer for world justice. * various refactoring here and there, for good or bad. * activation of few more OSSv4 ioctls() (see [1] above). * opt_snd.h for possible compile time configuration: (mostly for debugging purposes, don't try these at home) SND_DEBUG SND_DIAGNOSTIC SND_FEEDER_MULTIFORMAT SND_FEEDER_FULL_MULTIFORMAT SND_FEEDER_RATE_HP SND_PCM_64 SND_OLDSTEREO Manual page updates are on the way. Tested by: joel, Olivier SMEDTS , too many unsung / unnamed heroes. Added: head/sys/dev/sound/pcm/feeder_chain.c (contents, props changed) head/sys/dev/sound/pcm/feeder_eq.c (contents, props changed) head/sys/dev/sound/pcm/feeder_format.c (contents, props changed) head/sys/dev/sound/pcm/feeder_matrix.c (contents, props changed) head/sys/dev/sound/pcm/feeder_mixer.c (contents, props changed) head/sys/dev/sound/pcm/g711.h (contents, props changed) head/sys/dev/sound/pcm/intpcm.h (contents, props changed) head/sys/dev/sound/pcm/matrix.h (contents, props changed) head/sys/dev/sound/pcm/matrix_map.h (contents, props changed) head/sys/dev/sound/pcm/pcm.h (contents, props changed) head/sys/dev/sound/pcm/sndstat.h (contents, props changed) head/sys/tools/feeder_eq_mkfilter.awk (contents, props changed) head/sys/tools/feeder_rate_mkfilter.awk (contents, props changed) head/sys/tools/snd_fxdiv_gen.awk (contents, props changed) Deleted: head/sys/dev/sound/pcm/fake.c head/sys/dev/sound/pcm/feeder_fmt.c Modified: head/sys/conf/files head/sys/conf/options head/sys/dev/sound/clone.c head/sys/dev/sound/driver.c head/sys/dev/sound/isa/ad1816.c head/sys/dev/sound/isa/ess.c head/sys/dev/sound/isa/gusc.c head/sys/dev/sound/isa/mss.c head/sys/dev/sound/isa/sb16.c head/sys/dev/sound/isa/sb8.c head/sys/dev/sound/isa/sbc.c head/sys/dev/sound/isa/sndbuf_dma.c head/sys/dev/sound/macio/aoa.c head/sys/dev/sound/macio/davbus.c head/sys/dev/sound/macio/i2s.c head/sys/dev/sound/macio/snapper.c head/sys/dev/sound/macio/tumbler.c head/sys/dev/sound/midi/midi.c head/sys/dev/sound/midi/mpu401.c head/sys/dev/sound/midi/sequencer.c head/sys/dev/sound/midi/sequencer.h head/sys/dev/sound/pci/als4000.c head/sys/dev/sound/pci/atiixp.c head/sys/dev/sound/pci/aureal.c head/sys/dev/sound/pci/cmi.c head/sys/dev/sound/pci/cs4281.c head/sys/dev/sound/pci/csa.c head/sys/dev/sound/pci/csapcm.c head/sys/dev/sound/pci/ds1.c head/sys/dev/sound/pci/emu10k1.c head/sys/dev/sound/pci/emu10kx-midi.c head/sys/dev/sound/pci/emu10kx-pcm.c head/sys/dev/sound/pci/emu10kx.c head/sys/dev/sound/pci/envy24.c head/sys/dev/sound/pci/envy24ht.c head/sys/dev/sound/pci/es137x.c head/sys/dev/sound/pci/fm801.c head/sys/dev/sound/pci/hda/hdac.c head/sys/dev/sound/pci/ich.c head/sys/dev/sound/pci/maestro.c head/sys/dev/sound/pci/maestro3.c head/sys/dev/sound/pci/neomagic.c head/sys/dev/sound/pci/solo.c head/sys/dev/sound/pci/spicds.c head/sys/dev/sound/pci/t4dwave.c head/sys/dev/sound/pci/via8233.c head/sys/dev/sound/pci/via82c686.c head/sys/dev/sound/pci/vibes.c head/sys/dev/sound/pcm/ac97.c head/sys/dev/sound/pcm/ac97_patch.c head/sys/dev/sound/pcm/buffer.c head/sys/dev/sound/pcm/buffer.h head/sys/dev/sound/pcm/channel.c head/sys/dev/sound/pcm/channel.h head/sys/dev/sound/pcm/channel_if.m head/sys/dev/sound/pcm/dsp.c head/sys/dev/sound/pcm/dsp.h head/sys/dev/sound/pcm/feeder.c head/sys/dev/sound/pcm/feeder.h head/sys/dev/sound/pcm/feeder_rate.c head/sys/dev/sound/pcm/feeder_volume.c head/sys/dev/sound/pcm/mixer.c head/sys/dev/sound/pcm/mixer.h head/sys/dev/sound/pcm/sndstat.c head/sys/dev/sound/pcm/sound.c head/sys/dev/sound/pcm/sound.h head/sys/dev/sound/pcm/vchan.c head/sys/dev/sound/pcm/vchan.h head/sys/dev/sound/sbus/cs4231.c head/sys/dev/sound/unit.c head/sys/dev/sound/usb/uaudio.c head/sys/dev/sound/usb/uaudio.h head/sys/dev/sound/usb/uaudio_pcm.c head/sys/dev/sound/version.h head/sys/modules/sound/sound/Makefile head/sys/sys/soundcard.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/conf/files Sun Jun 7 19:12:08 2009 (r193640) @@ -65,6 +65,21 @@ p17v-alsa%diked.h optional snd_emu10kx compile-with "CC='${CC}' AWK=${AWK} sh $S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/p17v-alsa.h p17v-alsa%diked.h" \ no-obj no-implicit-rule before-depend \ clean "p17v-alsa%diked.h" +feeder_eq_gen.h optional sound \ + dependency "$S/tools/feeder_eq_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > feeder_eq_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_eq_gen.h" +feeder_rate_gen.h optional sound \ + dependency "$S/tools/feeder_rate_mkfilter.awk" \ + compile-with "${AWK} -f $S/tools/feeder_rate_mkfilter.awk -- ${FEEDER_RATE_PRESETS} > feeder_rate_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "feeder_rate_gen.h" +snd_fxdiv_gen.h optional sound \ + dependency "$S/tools/snd_fxdiv_gen.awk" \ + compile-with "${AWK} -f $S/tools/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h" \ + no-obj no-implicit-rule before-depend \ + clean "snd_fxdiv_gen.h" miidevs.h optional miibus | mii \ dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ @@ -1433,16 +1448,28 @@ dev/sound/pci/hda/hdac.c optional snd_hd dev/sound/pcm/ac97.c optional sound dev/sound/pcm/ac97_if.m optional sound dev/sound/pcm/ac97_patch.c optional sound -dev/sound/pcm/buffer.c optional sound +dev/sound/pcm/buffer.c optional sound \ + dependency "snd_fxdiv_gen.h" dev/sound/pcm/channel.c optional sound dev/sound/pcm/channel_if.m optional sound dev/sound/pcm/dsp.c optional sound -dev/sound/pcm/fake.c optional sound dev/sound/pcm/feeder.c optional sound -dev/sound/pcm/feeder_fmt.c optional sound +dev/sound/pcm/feeder_chain.c optional sound +dev/sound/pcm/feeder_eq.c optional sound \ + dependency "feeder_eq_gen.h" \ + dependency "snd_fxdiv_gen.h" dev/sound/pcm/feeder_if.m optional sound -dev/sound/pcm/feeder_rate.c optional sound -dev/sound/pcm/feeder_volume.c optional sound +dev/sound/pcm/feeder_format.c optional sound \ + dependency "snd_fxdiv_gen.h" +dev/sound/pcm/feeder_matrix.c optional sound \ + dependency "snd_fxdiv_gen.h" +dev/sound/pcm/feeder_mixer.c optional sound \ + dependency "snd_fxdiv_gen.h" +dev/sound/pcm/feeder_rate.c optional sound \ + dependency "feeder_rate_gen.h" \ + dependency "snd_fxdiv_gen.h" +dev/sound/pcm/feeder_volume.c optional sound \ + dependency "snd_fxdiv_gen.h" dev/sound/pcm/mixer.c optional sound dev/sound/pcm/mixer_if.m optional sound dev/sound/pcm/sndstat.c optional sound Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/conf/options Sun Jun 7 19:12:08 2009 (r193640) @@ -830,3 +830,12 @@ VIMAGE_GLOBALS opt_global.h # Common Flash Interface (CFI) options CFI_SUPPORT_STRATAFLASH opt_cfi.h CFI_ARMEDANDDANGEROUS opt_cfi.h + +# Sound options +SND_DEBUG opt_snd.h +SND_DIAGNOSTIC opt_snd.h +SND_FEEDER_MULTIFORMAT opt_snd.h +SND_FEEDER_FULL_MULTIFORMAT opt_snd.h +SND_FEEDER_RATE_HP opt_snd.h +SND_PCM_64 opt_snd.h +SND_OLDSTEREO opt_snd.h Modified: head/sys/dev/sound/clone.c ============================================================================== --- head/sys/dev/sound/clone.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/clone.c Sun Jun 7 19:12:08 2009 (r193640) @@ -33,6 +33,10 @@ #include #include +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #if defined(SND_DIAGNOSTIC) || defined(SND_DEBUG) #include #endif @@ -88,9 +92,9 @@ struct snd_clone { #define SND_CLONE_ASSERT(x, y) do { \ if (!(x)) \ panic y; \ -} while(0) +} while (0) #else -#define SND_CLONE_ASSERT(x...) KASSERT(x) +#define SND_CLONE_ASSERT(...) KASSERT(__VA_ARGS__) #endif /* Modified: head/sys/dev/sound/driver.c ============================================================================== --- head/sys/dev/sound/driver.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/driver.c Sun Jun 7 19:12:08 2009 (r193640) @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include static int @@ -38,7 +42,7 @@ snd_modevent(module_t mod, int type, voi case MOD_UNLOAD: break; default: - return (EOPNOTSUPP); + return (ENOTSUP); break; } return 0; Modified: head/sys/dev/sound/isa/ad1816.c ============================================================================== --- head/sys/dev/sound/isa/ad1816.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/ad1816.c Sun Jun 7 19:12:08 2009 (r193640) @@ -26,6 +26,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include @@ -62,14 +66,14 @@ struct ad1816_info { }; static u_int32_t ad1816_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_MU_LAW, - AFMT_STEREO | AFMT_MU_LAW, - AFMT_A_LAW, - AFMT_STEREO | AFMT_A_LAW, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_MU_LAW, 1, 0), + SND_FORMAT(AFMT_MU_LAW, 2, 0), + SND_FORMAT(AFMT_A_LAW, 1, 0), + SND_FORMAT(AFMT_A_LAW, 2, 0), 0 }; @@ -269,7 +273,7 @@ ad1816mix_set(struct snd_mixer *m, unsig return left | (right << 8); } -static int +static u_int32_t ad1816mix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct ad1816_info *ad1816 = mix_getdevinfo(m); @@ -303,7 +307,7 @@ static kobj_method_t ad1816mixer_methods KOBJMETHOD(mixer_init, ad1816mix_init), KOBJMETHOD(mixer_set, ad1816mix_set), KOBJMETHOD(mixer_setrecsrc, ad1816mix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(ad1816mixer); @@ -315,23 +319,19 @@ ad1816chan_init(kobj_t obj, void *devinf struct ad1816_info *ad1816 = devinfo; struct ad1816_chinfo *ch = (dir == PCMDIR_PLAY)? &ad1816->pch : &ad1816->rch; + ch->dir = dir; ch->parent = ad1816; ch->channel = c; ch->buffer = b; if (sndbuf_alloc(ch->buffer, ad1816->parent_dmat, 0, ad1816->bufsize) != 0) return NULL; - return ch; -} -static int -ad1816chan_setdir(kobj_t obj, void *data, int dir) -{ - struct ad1816_chinfo *ch = data; - struct ad1816_info *ad1816 = ch->parent; + sndbuf_dmasetup(ch->buffer, (dir == PCMDIR_PLAY) ? ad1816->drq1 : + ad1816->drq2); + if (SND_DMA(ch->buffer)) + sndbuf_dmasetdir(ch->buffer, dir); - sndbuf_dmasetup(ch->buffer, (dir == PCMDIR_PLAY)? ad1816->drq1 : ad1816->drq2); - ch->dir = dir; - return 0; + return ch; } static int @@ -351,7 +351,7 @@ ad1816chan_setformat(kobj_t obj, void *d ad1816_write(ad1816, 10, 0x0000); ad1816_write(ad1816, 11, 0x0000); } - switch (format & ~AFMT_STEREO) { + switch (AFMT_ENCODING(format)) { case AFMT_A_LAW: fmt = AD1816_ALAW; break; @@ -372,7 +372,7 @@ ad1816chan_setformat(kobj_t obj, void *d fmt = AD1816_U8; break; } - if (format & AFMT_STEREO) fmt |= AD1816_STEREO; + if (AFMT_CHANNEL(format) > 1) fmt |= AD1816_STEREO; io_wr(ad1816, reg, fmt); ad1816_unlock(ad1816); #if 0 @@ -382,7 +382,7 @@ ad1816chan_setformat(kobj_t obj, void *d #endif } -static int +static u_int32_t ad1816chan_setspeed(kobj_t obj, void *data, u_int32_t speed) { struct ad1816_chinfo *ch = data; @@ -395,7 +395,7 @@ ad1816chan_setspeed(kobj_t obj, void *da return speed; } -static int +static u_int32_t ad1816chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct ad1816_chinfo *ch = data; @@ -456,7 +456,7 @@ ad1816chan_trigger(kobj_t obj, void *dat return 0; } -static int +static u_int32_t ad1816chan_getptr(kobj_t obj, void *data) { struct ad1816_chinfo *ch = data; @@ -471,14 +471,13 @@ ad1816chan_getcaps(kobj_t obj, void *dat static kobj_method_t ad1816chan_methods[] = { KOBJMETHOD(channel_init, ad1816chan_init), - KOBJMETHOD(channel_setdir, ad1816chan_setdir), KOBJMETHOD(channel_setformat, ad1816chan_setformat), KOBJMETHOD(channel_setspeed, ad1816chan_setspeed), KOBJMETHOD(channel_setblocksize, ad1816chan_setblocksize), KOBJMETHOD(channel_trigger, ad1816chan_trigger), KOBJMETHOD(channel_getptr, ad1816chan_getptr), KOBJMETHOD(channel_getcaps, ad1816chan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(ad1816chan); Modified: head/sys/dev/sound/isa/ess.c ============================================================================== --- head/sys/dev/sound/isa/ess.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/ess.c Sun Jun 7 19:12:08 2009 (r193640) @@ -29,6 +29,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include @@ -50,28 +54,28 @@ SND_DECLARE_FILE("$FreeBSD$"); #define ESS18XX_NEWSPEED static u_int32_t ess_pfmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S8, - AFMT_STEREO | AFMT_S8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_U16_LE, - AFMT_STEREO | AFMT_U16_LE, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S8, 1, 0), + SND_FORMAT(AFMT_S8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_U16_LE, 1, 0), + SND_FORMAT(AFMT_U16_LE, 2, 0), 0 }; static struct pcmchan_caps ess_playcaps = {6000, 48000, ess_pfmt, 0}; static u_int32_t ess_rfmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S8, - AFMT_STEREO | AFMT_S8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_U16_LE, - AFMT_STEREO | AFMT_U16_LE, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S8, 1, 0), + SND_FORMAT(AFMT_S8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_U16_LE, 1, 0), + SND_FORMAT(AFMT_U16_LE, 2, 0), 0 }; @@ -458,7 +462,7 @@ ess_setupch(struct ess_info *sc, int ch, { int play = (dir == PCMDIR_PLAY)? 1 : 0; int b16 = (fmt & AFMT_16BIT)? 1 : 0; - int stereo = (fmt & AFMT_STEREO)? 1 : 0; + int stereo = (AFMT_CHANNEL(fmt) > 1)? 1 : 0; int unsign = (fmt == AFMT_U8 || fmt == AFMT_U16_LE)? 1 : 0; u_int8_t spdval, fmtval; @@ -583,7 +587,7 @@ esschan_setformat(kobj_t obj, void *data return 0; } -static int +static u_int32_t esschan_setspeed(kobj_t obj, void *data, u_int32_t speed) { struct ess_chinfo *ch = data; @@ -597,7 +601,7 @@ esschan_setspeed(kobj_t obj, void *data, return ch->spd; } -static int +static u_int32_t esschan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct ess_chinfo *ch = data; @@ -630,7 +634,7 @@ esschan_trigger(kobj_t obj, void *data, return 0; } -static int +static u_int32_t esschan_getptr(kobj_t obj, void *data) { struct ess_chinfo *ch = data; @@ -654,7 +658,7 @@ static kobj_method_t esschan_methods[] = KOBJMETHOD(channel_trigger, esschan_trigger), KOBJMETHOD(channel_getptr, esschan_getptr), KOBJMETHOD(channel_getcaps, esschan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(esschan); @@ -741,7 +745,7 @@ essmix_set(struct snd_mixer *m, unsigned return left | (right << 8); } -static int +static u_int32_t essmix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct ess_info *sc = mix_getdevinfo(m); @@ -776,7 +780,7 @@ static kobj_method_t essmixer_methods[] KOBJMETHOD(mixer_init, essmix_init), KOBJMETHOD(mixer_set, essmix_set), KOBJMETHOD(mixer_setrecsrc, essmix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(essmixer); Modified: head/sys/dev/sound/isa/gusc.c ============================================================================== --- head/sys/dev/sound/isa/gusc.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/gusc.c Sun Jun 7 19:12:08 2009 (r193640) @@ -34,7 +34,11 @@ #include #include #include -#include + +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include #include "bus_if.h" @@ -301,11 +305,9 @@ static int gusc_attach(device_t dev) { sc_p scp; - int unit; void *ih; scp = device_get_softc(dev); - unit = device_get_unit(dev); bzero(scp, sizeof(*scp)); @@ -580,16 +582,14 @@ alloc_resource(sc_p scp) static int release_resource(sc_p scp) { - int i, lid, flags; + int i, lid; device_t dev; - flags = 0; if (isa_get_vendorid(scp->dev)) lid = isa_get_logicalid(scp->dev); - else { + else lid = LOGICALID_NOPNP; - flags = device_get_flags(scp->dev); - } + switch(lid) { case LOGICALID_PCM: case LOGICALID_NOPNP: /* XXX Non-PnP */ Modified: head/sys/dev/sound/isa/mss.c ============================================================================== --- head/sys/dev/sound/isa/mss.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/mss.c Sun Jun 7 19:12:08 2009 (r193640) @@ -27,6 +27,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include SND_DECLARE_FILE("$FreeBSD$"); @@ -128,34 +132,34 @@ static int pnpmss_attach(device_t dev) static driver_intr_t opti931_intr; static u_int32_t mss_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_MU_LAW, - AFMT_STEREO | AFMT_MU_LAW, - AFMT_A_LAW, - AFMT_STEREO | AFMT_A_LAW, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_MU_LAW, 1, 0), + SND_FORMAT(AFMT_MU_LAW, 2, 0), + SND_FORMAT(AFMT_A_LAW, 1, 0), + SND_FORMAT(AFMT_A_LAW, 2, 0), 0 }; static struct pcmchan_caps mss_caps = {4000, 48000, mss_fmt, 0}; static u_int32_t guspnp_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_A_LAW, - AFMT_STEREO | AFMT_A_LAW, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_A_LAW, 1, 0), + SND_FORMAT(AFMT_A_LAW, 2, 0), 0 }; static struct pcmchan_caps guspnp_caps = {4000, 48000, guspnp_fmt, 0}; static u_int32_t opti931_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), 0 }; static struct pcmchan_caps opti931_caps = {4000, 48000, opti931_fmt, 0}; @@ -520,7 +524,7 @@ mssmix_set(struct snd_mixer *m, unsigned return left | (right << 8); } -static int +static u_int32_t mssmix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct mss_info *mss = mix_getdevinfo(m); @@ -535,7 +539,7 @@ static kobj_method_t mssmix_mixer_method KOBJMETHOD(mixer_init, mssmix_init), KOBJMETHOD(mixer_set, mssmix_set), KOBJMETHOD(mixer_setrecsrc, mssmix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(mssmix_mixer); @@ -604,7 +608,7 @@ ymmix_set(struct snd_mixer *m, unsigned return left | (right << 8); } -static int +static u_int32_t ymmix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct mss_info *mss = mix_getdevinfo(m); @@ -618,7 +622,7 @@ static kobj_method_t ymmix_mixer_methods KOBJMETHOD(mixer_init, ymmix_init), KOBJMETHOD(mixer_set, ymmix_set), KOBJMETHOD(mixer_setrecsrc, ymmix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(ymmix_mixer); @@ -997,7 +1001,7 @@ static int mss_format(struct mss_chinfo *ch, u_int32_t format) { struct mss_info *mss = ch->parent; - int i, arg = format & ~AFMT_STEREO; + int i, arg = AFMT_ENCODING(format); /* * The data format uses 3 bits (just 2 on the 1848). For each @@ -1014,7 +1018,7 @@ mss_format(struct mss_chinfo *ch, u_int3 ch->fmt = format; for (i = 0; i < 8; i++) if (arg == fmts[i]) break; arg = i << 1; - if (format & AFMT_STEREO) arg |= 1; + if (AFMT_CHANNEL(format) > 1) arg |= 1; arg <<= 4; ad_enter_MCE(mss); ad_write(mss, 8, (ad_read(mss, 8) & 0x0f) | arg); @@ -1035,7 +1039,7 @@ mss_trigger(struct mss_chinfo *ch, int g int retry, wr, cnt, ss; ss = 1; - ss <<= (ch->fmt & AFMT_STEREO)? 1 : 0; + ss <<= (AFMT_CHANNEL(ch->fmt) > 1)? 1 : 0; ss <<= (ch->fmt & AFMT_16BIT)? 1 : 0; wr = (ch->dir == PCMDIR_PLAY)? 1 : 0; @@ -1170,12 +1174,12 @@ msschan_setformat(kobj_t obj, void *data return 0; } -static int +static u_int32_t msschan_setspeed(kobj_t obj, void *data, u_int32_t speed) { struct mss_chinfo *ch = data; struct mss_info *mss = ch->parent; - int r; + u_int32_t r; mss_lock(mss); r = mss_speed(ch, speed); @@ -1184,7 +1188,7 @@ msschan_setspeed(kobj_t obj, void *data, return r; } -static int +static u_int32_t msschan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct mss_chinfo *ch = data; @@ -1211,7 +1215,7 @@ msschan_trigger(kobj_t obj, void *data, return 0; } -static int +static u_int32_t msschan_getptr(kobj_t obj, void *data) { struct mss_chinfo *ch = data; @@ -1247,7 +1251,7 @@ static kobj_method_t msschan_methods[] = KOBJMETHOD(channel_trigger, msschan_trigger), KOBJMETHOD(channel_getptr, msschan_getptr), KOBJMETHOD(channel_getcaps, msschan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(msschan); Modified: head/sys/dev/sound/isa/sb16.c ============================================================================== --- head/sys/dev/sound/isa/sb16.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/sb16.c Sun Jun 7 19:12:08 2009 (r193640) @@ -29,6 +29,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include @@ -44,24 +48,24 @@ SND_DECLARE_FILE("$FreeBSD$"); #define PLAIN_SB16(x) ((((x)->bd_flags) & (BD_F_SB16|BD_F_SB16X)) == BD_F_SB16) static u_int32_t sb16_fmt8[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), 0 }; static struct pcmchan_caps sb16_caps8 = {5000, 45000, sb16_fmt8, 0}; static u_int32_t sb16_fmt16[] = { - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), 0 }; static struct pcmchan_caps sb16_caps16 = {5000, 45000, sb16_fmt16, 0}; static u_int32_t sb16x_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), 0 }; static struct pcmchan_caps sb16x_caps = {5000, 49000, sb16x_fmt, 0}; @@ -366,7 +370,7 @@ sb16mix_set(struct snd_mixer *m, unsigne return left | (right << 8); } -static int +static u_int32_t sb16mix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct sb_info *sb = mix_getdevinfo(m); @@ -420,7 +424,7 @@ static kobj_method_t sb16mix_mixer_metho KOBJMETHOD(mixer_init, sb16mix_init), KOBJMETHOD(mixer_set, sb16mix_set), KOBJMETHOD(mixer_setrecsrc, sb16mix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(sb16mix_mixer); @@ -633,7 +637,7 @@ sb_setup(struct sb_info *sb) v |= (ch->fmt & AFMT_16BIT)? DSP_DMA16 : DSP_DMA8; sb_cmd(sb, v); - v = (ch->fmt & AFMT_STEREO)? DSP_F16_STEREO : 0; + v = (AFMT_CHANNEL(ch->fmt) > 1)? DSP_F16_STEREO : 0; v |= (ch->fmt & AFMT_SIGNED)? DSP_F16_SIGNED : 0; sb_cmd2(sb, v, l); sndbuf_dma(ch->buffer, PCMTRIG_START); @@ -658,7 +662,7 @@ sb_setup(struct sb_info *sb) v |= (ch->fmt & AFMT_16BIT)? DSP_DMA16 : DSP_DMA8; sb_cmd(sb, v); - v = (ch->fmt & AFMT_STEREO)? DSP_F16_STEREO : 0; + v = (AFMT_CHANNEL(ch->fmt) > 1)? DSP_F16_STEREO : 0; v |= (ch->fmt & AFMT_SIGNED)? DSP_F16_SIGNED : 0; sb_cmd2(sb, v, l); sndbuf_dma(ch->buffer, PCMTRIG_START); @@ -700,7 +704,7 @@ sb16chan_setformat(kobj_t obj, void *dat return 0; } -static int +static u_int32_t sb16chan_setspeed(kobj_t obj, void *data, u_int32_t speed) { struct sb_chinfo *ch = data; @@ -709,7 +713,7 @@ sb16chan_setspeed(kobj_t obj, void *data return speed; } -static int +static u_int32_t sb16chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct sb_chinfo *ch = data; @@ -737,7 +741,7 @@ sb16chan_trigger(kobj_t obj, void *data, return 0; } -static int +static u_int32_t sb16chan_getptr(kobj_t obj, void *data) { struct sb_chinfo *ch = data; @@ -777,7 +781,7 @@ static kobj_method_t sb16chan_methods[] KOBJMETHOD(channel_trigger, sb16chan_trigger), KOBJMETHOD(channel_getptr, sb16chan_getptr), KOBJMETHOD(channel_getcaps, sb16chan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(sb16chan); Modified: head/sys/dev/sound/isa/sb8.c ============================================================================== --- head/sys/dev/sound/isa/sb8.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/sb8.c Sun Jun 7 19:12:08 2009 (r193640) @@ -29,6 +29,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include @@ -43,7 +47,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define SB_DEFAULT_BUFSZ 4096 static u_int32_t sb_fmt[] = { - AFMT_U8, + SND_FORMAT(AFMT_U8, 1, 0), 0 }; static struct pcmchan_caps sb200_playcaps = {4000, 23000, sb_fmt, 0}; @@ -52,8 +56,8 @@ static struct pcmchan_caps sb201_playcap static struct pcmchan_caps sb201_reccaps = {4000, 15000, sb_fmt, 0}; static u_int32_t sbpro_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), 0 }; static struct pcmchan_caps sbpro_playcaps = {4000, 44100, sbpro_fmt, 0}; @@ -372,7 +376,7 @@ sbpromix_set(struct snd_mixer *m, unsign return left | (right << 8); } -static int +static u_int32_t sbpromix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct sb_info *sb = mix_getdevinfo(m); @@ -395,7 +399,7 @@ static kobj_method_t sbpromix_mixer_meth KOBJMETHOD(mixer_init, sbpromix_init), KOBJMETHOD(mixer_set, sbpromix_set), KOBJMETHOD(mixer_setrecsrc, sbpromix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(sbpromix_mixer); @@ -453,7 +457,7 @@ sbmix_set(struct snd_mixer *m, unsigned return left | (left << 8); } -static int +static u_int32_t sbmix_setrecsrc(struct snd_mixer *m, u_int32_t src) { return 0; @@ -463,7 +467,7 @@ static kobj_method_t sbmix_mixer_methods KOBJMETHOD(mixer_init, sbmix_init), KOBJMETHOD(mixer_set, sbmix_set), KOBJMETHOD(mixer_setrecsrc, sbmix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(sbmix_mixer); @@ -496,7 +500,7 @@ sb_speed(struct sb_chinfo *ch) { struct sb_info *sb = ch->parent; int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - int stereo = (ch->fmt & AFMT_STEREO)? 1 : 0; + int stereo = (AFMT_CHANNEL(ch->fmt) > 1)? 1 : 0; int speed, tmp, thresh, max; u_char tconst; @@ -537,7 +541,7 @@ sb_start(struct sb_chinfo *ch) { struct sb_info *sb = ch->parent; int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - int stereo = (ch->fmt & AFMT_STEREO)? 1 : 0; + int stereo = (AFMT_CHANNEL(ch->fmt) > 1)? 1 : 0; int l = ch->blksz; u_char i; @@ -614,7 +618,7 @@ sbchan_setformat(kobj_t obj, void *data, return 0; } -static int +static u_int32_t sbchan_setspeed(kobj_t obj, void *data, u_int32_t speed) { struct sb_chinfo *ch = data; @@ -623,7 +627,7 @@ sbchan_setspeed(kobj_t obj, void *data, return sb_speed(ch); } -static int +static u_int32_t sbchan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct sb_chinfo *ch = data; @@ -648,7 +652,7 @@ sbchan_trigger(kobj_t obj, void *data, i return 0; } -static int +static u_int32_t sbchan_getptr(kobj_t obj, void *data) { struct sb_chinfo *ch = data; @@ -677,7 +681,7 @@ static kobj_method_t sbchan_methods[] = KOBJMETHOD(channel_trigger, sbchan_trigger), KOBJMETHOD(channel_getptr, sbchan_getptr), KOBJMETHOD(channel_getcaps, sbchan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(sbchan); Modified: head/sys/dev/sound/isa/sbc.c ============================================================================== --- head/sys/dev/sound/isa/sbc.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/sbc.c Sun Jun 7 19:12:08 2009 (r193640) @@ -24,6 +24,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include #include Modified: head/sys/dev/sound/isa/sndbuf_dma.c ============================================================================== --- head/sys/dev/sound/isa/sndbuf_dma.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/isa/sndbuf_dma.c Sun Jun 7 19:12:08 2009 (r193640) @@ -24,6 +24,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include Modified: head/sys/dev/sound/macio/aoa.c ============================================================================== --- head/sys/dev/sound/macio/aoa.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/macio/aoa.c Sun Jun 7 19:12:08 2009 (r193640) @@ -43,8 +43,14 @@ #include #include #include + +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include #include + #include "mixer_if.h" struct aoa_dma { @@ -138,7 +144,7 @@ aoa_dma_delete(struct aoa_dma *dma) free(dma, M_DEVBUF); } -static int +static u_int32_t aoa_chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksz) { struct aoa_dma *dma = data; @@ -186,13 +192,13 @@ aoa_chan_setformat(kobj_t obj, void *dat { DPRINTF(("aoa_chan_setformat: format = %u\n", format)); - if (format != (AFMT_STEREO | AFMT_S16_BE)) + if (format != SND_FORMAT(AFMT_S16_BE, 2, 0)) return (EINVAL); return (0); } -static int +static u_int32_t aoa_chan_setspeed(kobj_t obj, void *data, u_int32_t speed) { DPRINTF(("aoa_chan_setspeed: speed = %u\n", speed)); @@ -200,7 +206,7 @@ aoa_chan_setspeed(kobj_t obj, void *data return (44100); } -static int +static u_int32_t aoa_chan_getptr(kobj_t obj, void *data) { struct aoa_dma *dma = data; @@ -332,7 +338,7 @@ aoa_interrupt(void *xsc) } static u_int32_t sc_fmt[] = { - AFMT_S16_BE | AFMT_STEREO, + SND_FORMAT(AFMT_S16_BE, 2, 0), 0 }; static struct pcmchan_caps aoa_caps = {44100, 44100, sc_fmt, 0}; @@ -352,7 +358,7 @@ static kobj_method_t aoa_chan_methods[] KOBJMETHOD(channel_trigger, aoa_chan_trigger), KOBJMETHOD(channel_getptr, aoa_chan_getptr), KOBJMETHOD(channel_getcaps, aoa_chan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(aoa_chan); Modified: head/sys/dev/sound/macio/davbus.c ============================================================================== --- head/sys/dev/sound/macio/davbus.c Sun Jun 7 18:53:25 2009 (r193639) +++ head/sys/dev/sound/macio/davbus.c Sun Jun 7 19:12:08 2009 (r193640) @@ -40,7 +40,13 @@ #include #include + +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include + #include #include @@ -115,7 +121,7 @@ static void burgundy_set_outputs(struct static u_int burgundy_read_status(struct davbus_softc *d, u_int status); static int burgundy_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right); -static int burgundy_setrecsrc(struct snd_mixer *m, u_int32_t src); +static u_int32_t burgundy_setrecsrc(struct snd_mixer *m, u_int32_t src); static kobj_method_t burgundy_mixer_methods[] = { KOBJMETHOD(mixer_init, burgundy_init), @@ -123,7 +129,7 @@ static kobj_method_t burgundy_mixer_meth KOBJMETHOD(mixer_reinit, burgundy_reinit), KOBJMETHOD(mixer_set, burgundy_set), KOBJMETHOD(mixer_setrecsrc, burgundy_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(burgundy_mixer); @@ -293,7 +299,7 @@ burgundy_set(struct snd_mixer *m, unsign return (0); } -static int +static u_int32_t burgundy_setrecsrc(struct snd_mixer *m, u_int32_t src) { return (0); @@ -311,7 +317,7 @@ static void screamer_set_outputs(struct static u_int screamer_read_status(struct davbus_softc *d, u_int status); static int screamer_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right); -static int screamer_setrecsrc(struct snd_mixer *m, u_int32_t src); +static u_int32_t screamer_setrecsrc(struct snd_mixer *m, u_int32_t src); static kobj_method_t screamer_mixer_methods[] = { KOBJMETHOD(mixer_init, screamer_init), @@ -319,7 +325,7 @@ static kobj_method_t screamer_mixer_meth KOBJMETHOD(mixer_reinit, screamer_reinit), KOBJMETHOD(mixer_set, screamer_set), KOBJMETHOD(mixer_setrecsrc, screamer_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:12:41 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D874106568B; Sun, 7 Jun 2009 19:12:41 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 30BA38FC17; Sun, 7 Jun 2009 19:12:41 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JCfTC002484; Sun, 7 Jun 2009 19:12:41 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JCewB002479; Sun, 7 Jun 2009 19:12:40 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200906071912.n57JCewB002479@svn.freebsd.org> From: Fabien Thomas Date: Sun, 7 Jun 2009 19:12: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: r193641 - in stable/7/sys: arm/include ia64/include powerpc/include sparc64/include sun4v/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, 07 Jun 2009 19:12:42 -0000 Author: fabient Date: Sun Jun 7 19:12:40 2009 New Revision: 193641 URL: http://svn.freebsd.org/changeset/base/193641 Log: Unbreak LINT. Modified: stable/7/sys/arm/include/pmc_mdep.h stable/7/sys/ia64/include/pmc_mdep.h stable/7/sys/powerpc/include/pmc_mdep.h stable/7/sys/sparc64/include/pmc_mdep.h stable/7/sys/sun4v/include/pmc_mdep.h Modified: stable/7/sys/arm/include/pmc_mdep.h ============================================================================== --- stable/7/sys/arm/include/pmc_mdep.h Sun Jun 7 19:12:08 2009 (r193640) +++ stable/7/sys/arm/include/pmc_mdep.h Sun Jun 7 19:12:40 2009 (r193641) @@ -19,6 +19,10 @@ union pmc_md_op_pmcallocate { union pmc_md_pmc { }; +#define PMC_TRAPFRAME_TO_PC(TF) (0) /* Stubs */ +#define PMC_TRAPFRAME_TO_FP(TF) (0) +#define PMC_TRAPFRAME_TO_SP(TF) (0) + #endif #endif /* !_MACHINE_PMC_MDEP_H_ */ Modified: stable/7/sys/ia64/include/pmc_mdep.h ============================================================================== --- stable/7/sys/ia64/include/pmc_mdep.h Sun Jun 7 19:12:08 2009 (r193640) +++ stable/7/sys/ia64/include/pmc_mdep.h Sun Jun 7 19:12:40 2009 (r193641) @@ -19,6 +19,10 @@ union pmc_md_op_pmcallocate { union pmc_md_pmc { }; +#define PMC_TRAPFRAME_TO_PC(TF) (0) /* Stubs */ +#define PMC_TRAPFRAME_TO_FP(TF) (0) +#define PMC_TRAPFRAME_TO_SP(TF) (0) + #endif #endif /* !_MACHINE_PMC_MDEP_H_ */ Modified: stable/7/sys/powerpc/include/pmc_mdep.h ============================================================================== --- stable/7/sys/powerpc/include/pmc_mdep.h Sun Jun 7 19:12:08 2009 (r193640) +++ stable/7/sys/powerpc/include/pmc_mdep.h Sun Jun 7 19:12:40 2009 (r193641) @@ -20,6 +20,10 @@ union pmc_md_op_pmcallocate { union pmc_md_pmc { }; +#define PMC_TRAPFRAME_TO_PC(TF) (0) /* Stubs */ +#define PMC_TRAPFRAME_TO_FP(TF) (0) +#define PMC_TRAPFRAME_TO_SP(TF) (0) + #endif #endif /* !_MACHINE_PMC_MDEP_H_ */ Modified: stable/7/sys/sparc64/include/pmc_mdep.h ============================================================================== --- stable/7/sys/sparc64/include/pmc_mdep.h Sun Jun 7 19:12:08 2009 (r193640) +++ stable/7/sys/sparc64/include/pmc_mdep.h Sun Jun 7 19:12:40 2009 (r193641) @@ -19,6 +19,10 @@ union pmc_md_op_pmcallocate { union pmc_md_pmc { }; +#define PMC_TRAPFRAME_TO_PC(TF) (0) /* Stubs */ +#define PMC_TRAPFRAME_TO_FP(TF) (0) +#define PMC_TRAPFRAME_TO_SP(TF) (0) + #endif #endif /* !_MACHINE_PMC_MDEP_H_ */ Modified: stable/7/sys/sun4v/include/pmc_mdep.h ============================================================================== --- stable/7/sys/sun4v/include/pmc_mdep.h Sun Jun 7 19:12:08 2009 (r193640) +++ stable/7/sys/sun4v/include/pmc_mdep.h Sun Jun 7 19:12:40 2009 (r193641) @@ -19,6 +19,10 @@ union pmc_md_op_pmcallocate { union pmc_md_pmc { }; +#define PMC_TRAPFRAME_TO_PC(TF) (0) /* Stubs */ +#define PMC_TRAPFRAME_TO_FP(TF) (0) +#define PMC_TRAPFRAME_TO_SP(TF) (0) + #endif #endif /* !_MACHINE_PMC_MDEP_H_ */ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:25:30 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from miki (localhost [IPv6:::1]) by hub.freebsd.org (Postfix) with SMTP id 6986F1065672; Sun, 7 Jun 2009 19:25:28 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Date: Mon, 8 Jun 2009 03:25:00 +0800 From: Ariff Abdullah To: Ariff Abdullah Message-Id: <20090608032500.438668ae.ariff@FreeBSD.org> In-Reply-To: <200906071912.n57JC9GZ002423@svn.freebsd.org> References: <200906071912.n57JC9GZ002423@svn.freebsd.org> Organization: FreeBSD X-Mailer: /usr/local/lib/ruby/1.8/net/smtp.rb Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Mon__8_Jun_2009_03_25_00_+0800_3Pr.XhbEDWji9dhE" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193640 - in head/sys: conf dev/sound dev/sound/isa dev/sound/macio dev/sound/midi dev/sound/pci dev/sound/pci/hda dev/sound/pcm dev/sound/sbus dev/sound/usb modules/sound/sound sys tools X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:25:30 -0000 --Signature=_Mon__8_Jun_2009_03_25_00_+0800_3Pr.XhbEDWji9dhE Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, 7 Jun 2009 19:12:09 +0000 (UTC) Ariff Abdullah wrote: [..] I forgot to mention about the completion of multichannel support. All that left is to visit specific driver, and make few trivial changes. Love it or hate it, have fun. -- Ariff Abdullah FreeBSD ... Recording in stereo is obviously too advanced and confusing for us idiot ***** users :P ........ ... Going with the standard and orthodox is the death of intellect .............. --Signature=_Mon__8_Jun_2009_03_25_00_+0800_3Pr.XhbEDWji9dhE Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkosFAwACgkQlr+deMUwTNoE4ACfaQ5W1SYRBHI1V+lnGtGiIWQy O7cAnR7S3vlB1lyyooaLdgX4eKcBA5Aq =KSST -----END PGP SIGNATURE----- --Signature=_Mon__8_Jun_2009_03_25_00_+0800_3Pr.XhbEDWji9dhE-- From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:36:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 125E6106568D; Sun, 7 Jun 2009 19:36:26 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F34F68FC23; Sun, 7 Jun 2009 19:36:25 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JaPBn002997; Sun, 7 Jun 2009 19:36:25 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JaPcW002996; Sun, 7 Jun 2009 19:36:25 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906071936.n57JaPcW002996@svn.freebsd.org> From: Ariff Abdullah Date: Sun, 7 Jun 2009 19: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: r193642 - head/sys/dev/sound/pci/hda X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:36:28 -0000 Author: ariff Date: Sun Jun 7 19:36:25 2009 New Revision: 193642 URL: http://svn.freebsd.org/changeset/base/193642 Log: Bump driver revision (should have bumped it earlier). Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Sun Jun 7 19:12:40 2009 (r193641) +++ head/sys/dev/sound/pci/hda/hdac.c Sun Jun 7 19:36:25 2009 (r193642) @@ -87,7 +87,7 @@ #include "mixer_if.h" -#define HDA_DRV_TEST_REV "20090601_0133" +#define HDA_DRV_TEST_REV "20090608_0134" SND_DECLARE_FILE("$FreeBSD$"); From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:38:27 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F422106567C; Sun, 7 Jun 2009 19:38:27 +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 2D8CD8FC12; Sun, 7 Jun 2009 19:38:27 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JcRSO003069; Sun, 7 Jun 2009 19:38:27 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JcQgE003064; Sun, 7 Jun 2009 19:38:26 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <200906071938.n57JcQgE003064@svn.freebsd.org> From: Alan Cox Date: Sun, 7 Jun 2009 19:38: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: r193643 - 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: Sun, 07 Jun 2009 19:38:27 -0000 Author: alc Date: Sun Jun 7 19:38:26 2009 New Revision: 193643 URL: http://svn.freebsd.org/changeset/base/193643 Log: Eliminate unnecessary obfuscation when testing a page's valid bits. Modified: head/sys/kern/kern_exec.c head/sys/kern/vfs_cluster.c head/sys/vm/vm_fault.c head/sys/vm/vm_glue.c head/sys/vm/vm_map.c Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Sun Jun 7 19:36:25 2009 (r193642) +++ head/sys/kern/kern_exec.c Sun Jun 7 19:38:26 2009 (r193643) @@ -927,7 +927,7 @@ exec_map_first_page(imgp) } #endif ma[0] = vm_page_grab(object, 0, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); - if ((ma[0]->valid & VM_PAGE_BITS_ALL) != VM_PAGE_BITS_ALL) { + if (ma[0]->valid != VM_PAGE_BITS_ALL) { initial_pagein = VM_INITIAL_PAGEIN; if (initial_pagein > object->size) initial_pagein = object->size; Modified: head/sys/kern/vfs_cluster.c ============================================================================== --- head/sys/kern/vfs_cluster.c Sun Jun 7 19:36:25 2009 (r193642) +++ head/sys/kern/vfs_cluster.c Sun Jun 7 19:38:26 2009 (r193643) @@ -455,7 +455,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, bp->b_pages[bp->b_npages] = m; bp->b_npages++; } - if ((m->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) + if (m->valid == VM_PAGE_BITS_ALL) tbp->b_pages[j] = bogus_page; } VM_OBJECT_UNLOCK(tbp->b_bufobj->bo_object); @@ -482,10 +482,8 @@ cluster_rbuild(vp, filesize, lbn, blkno, VM_OBJECT_LOCK(bp->b_bufobj->bo_object); for (j = 0; j < bp->b_npages; j++) { VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, MA_OWNED); - if ((bp->b_pages[j]->valid & VM_PAGE_BITS_ALL) == - VM_PAGE_BITS_ALL) { + if (bp->b_pages[j]->valid == VM_PAGE_BITS_ALL) bp->b_pages[j] = bogus_page; - } } VM_OBJECT_UNLOCK(bp->b_bufobj->bo_object); if (bp->b_bufsize > bp->b_kvasize) Modified: head/sys/vm/vm_fault.c ============================================================================== --- head/sys/vm/vm_fault.c Sun Jun 7 19:36:25 2009 (r193642) +++ head/sys/vm/vm_fault.c Sun Jun 7 19:38:26 2009 (r193643) @@ -394,7 +394,7 @@ RetryFault:; * found the page ). */ vm_page_busy(fs.m); - if (((fs.m->valid & VM_PAGE_BITS_ALL) != VM_PAGE_BITS_ALL) && + if (fs.m->valid != VM_PAGE_BITS_ALL && fs.m->object != kernel_object && fs.m->object != kmem_object) { goto readrest; } @@ -433,7 +433,7 @@ RetryFault:; unlock_and_deallocate(&fs); VM_WAITPFAULT; goto RetryFault; - } else if ((fs.m->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) + } else if (fs.m->valid == VM_PAGE_BITS_ALL) break; } @@ -1024,9 +1024,8 @@ vm_fault_prefault(pmap_t pmap, vm_offset VM_OBJECT_UNLOCK(lobject); break; } - if (((m->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) && + if (m->valid == VM_PAGE_BITS_ALL && (m->flags & PG_FICTITIOUS) == 0) { - vm_page_lock_queues(); pmap_enter_quick(pmap, addr, m, entry->protection); vm_page_unlock_queues(); Modified: head/sys/vm/vm_glue.c ============================================================================== --- head/sys/vm/vm_glue.c Sun Jun 7 19:36:25 2009 (r193642) +++ head/sys/vm/vm_glue.c Sun Jun 7 19:38:26 2009 (r193643) @@ -253,7 +253,7 @@ vm_imgact_hold_page(vm_object_t object, VM_OBJECT_LOCK(object); pindex = OFF_TO_IDX(offset); m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); - if ((m->valid & VM_PAGE_BITS_ALL) != VM_PAGE_BITS_ALL) { + if (m->valid != VM_PAGE_BITS_ALL) { ma[0] = m; rv = vm_pager_get_pages(object, ma, 1, 0); m = vm_page_lookup(object, pindex); Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sun Jun 7 19:36:25 2009 (r193642) +++ head/sys/vm/vm_map.c Sun Jun 7 19:38:26 2009 (r193643) @@ -1683,7 +1683,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offse psize = tmpidx; break; } - if ((p->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) { + if (p->valid == VM_PAGE_BITS_ALL) { if (p_start == NULL) { start = addr + ptoa(tmpidx); p_start = p; From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:41:12 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8500810656A5; Sun, 7 Jun 2009 19:41:12 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 70D5E8FC12; Sun, 7 Jun 2009 19:41:12 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JfC0p003171; Sun, 7 Jun 2009 19:41:12 GMT (envelope-from thompsa@svn.freebsd.org) Received: (from thompsa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JfC52003163; Sun, 7 Jun 2009 19:41:12 GMT (envelope-from thompsa@svn.freebsd.org) Message-Id: <200906071941.n57JfC52003163@svn.freebsd.org> From: Andrew Thompson Date: Sun, 7 Jun 2009 19:41:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193644 - in head/sys: compat/ndis dev/usb dev/usb/controller dev/usb/serial dev/usb/storage X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:41:13 -0000 Author: thompsa Date: Sun Jun 7 19:41:11 2009 New Revision: 193644 URL: http://svn.freebsd.org/changeset/base/193644 Log: Rename usb pipes to endpoints as it better represents what they are, and struct usb_pipe may be used for a different purpose later on. Modified: head/sys/compat/ndis/subr_usbd.c head/sys/dev/usb/controller/at91dci.c head/sys/dev/usb/controller/atmegadci.c head/sys/dev/usb/controller/avr32dci.c head/sys/dev/usb/controller/ehci.c head/sys/dev/usb/controller/musb_otg.c head/sys/dev/usb/controller/ohci.c head/sys/dev/usb/controller/uhci.c head/sys/dev/usb/controller/uss820dci.c head/sys/dev/usb/serial/ugensa.c head/sys/dev/usb/serial/umct.c head/sys/dev/usb/storage/ustorage_fs.c head/sys/dev/usb/usb.h head/sys/dev/usb/usb_compat_linux.c head/sys/dev/usb/usb_compat_linux.h head/sys/dev/usb/usb_controller.h head/sys/dev/usb/usb_core.h head/sys/dev/usb/usb_debug.c head/sys/dev/usb/usb_debug.h head/sys/dev/usb/usb_dev.c head/sys/dev/usb/usb_device.c head/sys/dev/usb/usb_device.h head/sys/dev/usb/usb_generic.c head/sys/dev/usb/usb_handle_request.c head/sys/dev/usb/usb_hub.c head/sys/dev/usb/usb_request.c head/sys/dev/usb/usb_transfer.c head/sys/dev/usb/usb_transfer.h Modified: head/sys/compat/ndis/subr_usbd.c ============================================================================== --- head/sys/compat/ndis/subr_usbd.c Sun Jun 7 19:38:26 2009 (r193643) +++ head/sys/compat/ndis/subr_usbd.c Sun Jun 7 19:41:11 2009 (r193644) @@ -520,7 +520,7 @@ usbd_func_selconf(ip) int i, j; struct ndis_softc *sc = device_get_softc(dev); struct usb_device *udev = sc->ndisusb_dev; - struct usb_pipe *p = NULL; + struct usb_endpoint *ep = NULL; struct usbd_interface_information *intf; struct usbd_pipe_information *pipe; struct usbd_urb_select_configuration *selconf; @@ -549,14 +549,14 @@ usbd_func_selconf(ip) return usbd_usb2urb(ret); } - for (j = 0; (p = usb2_pipe_foreach(udev, p)); j++) { + for (j = 0; (ep = usb2_endpoint_foreach(udev, ep)); j++) { if (j >= intf->uii_numeps) { device_printf(dev, "endpoint %d and above are ignored", intf->uii_numeps); break; } - edesc = p->edesc; + edesc = ep->edesc; pipe = &intf->uii_pipes[j]; pipe->upi_handle = edesc; pipe->upi_epaddr = edesc->bEndpointAddress; Modified: head/sys/dev/usb/controller/at91dci.c ============================================================================== --- head/sys/dev/usb/controller/at91dci.c Sun Jun 7 19:38:26 2009 (r193643) +++ head/sys/dev/usb/controller/at91dci.c Sun Jun 7 19:41:11 2009 (r193644) @@ -687,7 +687,7 @@ at91dci_xfer_do_fifo(struct usb_xfer *xf done: sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - temp = (xfer->endpoint & UE_ADDR); + temp = (xfer->endpointno & UE_ADDR); /* update FIFO bank flag and multi buffer */ if (td->fifo_bank) { @@ -864,7 +864,7 @@ at91dci_setup_standard_chain(struct usb_ uint8_t need_sync; DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", - xfer->address, UE_GET_ADDR(xfer->endpoint), + xfer->address, UE_GET_ADDR(xfer->endpointno), xfer->sumlen, usb2_get_speed(xfer->xroot->udev)); temp.max_frame_size = xfer->max_frame_size; @@ -882,7 +882,7 @@ at91dci_setup_standard_chain(struct usb_ temp.did_stall = !xfer->flags_int.control_stall; sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - ep_no = (xfer->endpoint & UE_ADDR); + ep_no = (xfer->endpointno & UE_ADDR); /* check if we should prepend a setup message */ @@ -908,7 +908,7 @@ at91dci_setup_standard_chain(struct usb_ } if (x != xfer->nframes) { - if (xfer->endpoint & UE_DIR_IN) { + if (xfer->endpointno & UE_DIR_IN) { temp.func = &at91dci_data_tx; need_sync = 1; } else { @@ -984,7 +984,7 @@ at91dci_setup_standard_chain(struct usb_ * Send a DATA1 message and invert the current * endpoint direction. */ - if (xfer->endpoint & UE_DIR_IN) { + if (xfer->endpointno & UE_DIR_IN) { temp.func = &at91dci_data_rx; need_sync = 0; } else { @@ -1034,7 +1034,7 @@ at91dci_start_standard_chain(struct usb_ if (at91dci_xfer_do_fifo(xfer)) { struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - uint8_t ep_no = xfer->endpoint & UE_ADDR; + uint8_t ep_no = xfer->endpointno & UE_ADDR; /* * Only enable the endpoint interrupt when we are actually @@ -1139,8 +1139,8 @@ at91dci_standard_done(struct usb_xfer *x { usb_error_t err = 0; - DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", - xfer, xfer->pipe); + DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); /* reset scanner */ @@ -1191,11 +1191,11 @@ at91dci_device_done(struct usb_xfer *xfe USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - DPRINTFN(2, "xfer=%p, pipe=%p, error=%d\n", - xfer, xfer->pipe, error); + DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpoint, error); if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { - ep_no = (xfer->endpoint & UE_ADDR); + ep_no = (xfer->endpointno & UE_ADDR); /* disable endpoint interrupt */ AT91_UDP_WRITE_4(sc, AT91_UDP_IDR, AT91_UDP_INT_EP(ep_no)); @@ -1208,7 +1208,7 @@ at91dci_device_done(struct usb_xfer *xfe static void at91dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_pipe *pipe) + struct usb_endpoint *ep) { struct at91dci_softc *sc; uint32_t csr_val; @@ -1216,7 +1216,7 @@ at91dci_set_stall(struct usb_device *ude USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); - DPRINTFN(5, "pipe=%p\n", pipe); + DPRINTFN(5, "endpoint=%p\n", ep); if (xfer) { /* cancel any ongoing transfers */ @@ -1224,7 +1224,7 @@ at91dci_set_stall(struct usb_device *ude } /* set FORCESTALL */ sc = AT9100_DCI_BUS2SC(udev->bus); - csr_reg = (pipe->edesc->bEndpointAddress & UE_ADDR); + csr_reg = (ep->edesc->bEndpointAddress & UE_ADDR); csr_reg = AT91_UDP_CSR(csr_reg); csr_val = AT91_UDP_READ_4(sc, csr_reg); AT91_CSR_ACK(csr_val, AT91_UDP_CSR_FORCESTALL); @@ -1328,12 +1328,12 @@ at91dci_clear_stall_sub(struct at91dci_s } static void -at91dci_clear_stall(struct usb_device *udev, struct usb_pipe *pipe) +at91dci_clear_stall(struct usb_device *udev, struct usb_endpoint *ep) { struct at91dci_softc *sc; struct usb_endpoint_descriptor *ed; - DPRINTFN(5, "pipe=%p\n", pipe); + DPRINTFN(5, "endpoint=%p\n", ep); USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); @@ -1346,7 +1346,7 @@ at91dci_clear_stall(struct usb_device *u sc = AT9100_DCI_BUS2SC(udev->bus); /* get endpoint descriptor */ - ed = pipe->edesc; + ed = ep->edesc; /* reset endpoint */ at91dci_clear_stall_sub(sc, @@ -1598,7 +1598,7 @@ at91dci_device_isoc_fs_enter(struct usb_ uint32_t nframes; DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", - xfer, xfer->pipe->isoc_next, xfer->nframes); + xfer, xfer->endpoint->isoc_next, xfer->nframes); /* get the current frame index */ @@ -1608,25 +1608,25 @@ at91dci_device_isoc_fs_enter(struct usb_ * check if the frame index is within the window where the frames * will be inserted */ - temp = (nframes - xfer->pipe->isoc_next) & AT91_UDP_FRM_MASK; + temp = (nframes - xfer->endpoint->isoc_next) & AT91_UDP_FRM_MASK; - if ((xfer->pipe->is_synced == 0) || + if ((xfer->endpoint->is_synced == 0) || (temp < xfer->nframes)) { /* - * If there is data underflow or the pipe queue is + * If there is data underflow or the endpoint queue is * empty we schedule the transfer a few frames ahead * of the current frame position. Else two isochronous * transfers might overlap. */ - xfer->pipe->isoc_next = (nframes + 3) & AT91_UDP_FRM_MASK; - xfer->pipe->is_synced = 1; - DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); + xfer->endpoint->isoc_next = (nframes + 3) & AT91_UDP_FRM_MASK; + xfer->endpoint->is_synced = 1; + DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the * current frame position: */ - temp = (xfer->pipe->isoc_next - nframes) & AT91_UDP_FRM_MASK; + temp = (xfer->endpoint->isoc_next - nframes) & AT91_UDP_FRM_MASK; /* * pre-compute when the isochronous transfer will be finished: @@ -1636,7 +1636,7 @@ at91dci_device_isoc_fs_enter(struct usb_ xfer->nframes; /* compute frame number for next insertion */ - xfer->pipe->isoc_next += xfer->nframes; + xfer->endpoint->isoc_next += xfer->nframes; /* setup TDs */ at91dci_setup_standard_chain(xfer); @@ -2208,7 +2208,7 @@ at91dci_xfer_setup(struct usb_setup_para */ if (ntd) { - ep_no = xfer->endpoint & UE_ADDR; + ep_no = xfer->endpointno & UE_ADDR; at91dci_get_hw_ep_profile(parm->udev, &pf, ep_no); if (pf == NULL) { @@ -2258,13 +2258,13 @@ at91dci_xfer_unsetup(struct usb_xfer *xf } static void -at91dci_pipe_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, - struct usb_pipe *pipe) +at91dci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, + struct usb_endpoint *ep) { struct at91dci_softc *sc = AT9100_DCI_BUS2SC(udev->bus); - DPRINTFN(2, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n", - pipe, udev->address, + DPRINTFN(2, "endpoint=%p, addr=%d, endpt=%d, mode=%d (%d)\n", + ep, udev->address, edesc->bEndpointAddress, udev->flags.usb_mode, sc->sc_rt_addr); @@ -2280,16 +2280,16 @@ at91dci_pipe_init(struct usb_device *ude } switch (edesc->bmAttributes & UE_XFERTYPE) { case UE_CONTROL: - pipe->methods = &at91dci_device_ctrl_methods; + ep->methods = &at91dci_device_ctrl_methods; break; case UE_INTERRUPT: - pipe->methods = &at91dci_device_intr_methods; + ep->methods = &at91dci_device_intr_methods; break; case UE_ISOCHRONOUS: - pipe->methods = &at91dci_device_isoc_fs_methods; + ep->methods = &at91dci_device_isoc_fs_methods; break; case UE_BULK: - pipe->methods = &at91dci_device_bulk_methods; + ep->methods = &at91dci_device_bulk_methods; break; default: /* do nothing */ @@ -2300,7 +2300,7 @@ at91dci_pipe_init(struct usb_device *ude struct usb_bus_methods at91dci_bus_methods = { - .pipe_init = &at91dci_pipe_init, + .endpoint_init = &at91dci_ep_init, .xfer_setup = &at91dci_xfer_setup, .xfer_unsetup = &at91dci_xfer_unsetup, .get_hw_ep_profile = &at91dci_get_hw_ep_profile, Modified: head/sys/dev/usb/controller/atmegadci.c ============================================================================== --- head/sys/dev/usb/controller/atmegadci.c Sun Jun 7 19:38:26 2009 (r193643) +++ head/sys/dev/usb/controller/atmegadci.c Sun Jun 7 19:41:11 2009 (r193644) @@ -767,7 +767,7 @@ atmegadci_setup_standard_chain(struct us uint8_t need_sync; DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", - xfer->address, UE_GET_ADDR(xfer->endpoint), + xfer->address, UE_GET_ADDR(xfer->endpointno), xfer->sumlen, usb2_get_speed(xfer->xroot->udev)); temp.max_frame_size = xfer->max_frame_size; @@ -785,7 +785,7 @@ atmegadci_setup_standard_chain(struct us temp.did_stall = !xfer->flags_int.control_stall; sc = ATMEGA_BUS2SC(xfer->xroot->bus); - ep_no = (xfer->endpoint & UE_ADDR); + ep_no = (xfer->endpointno & UE_ADDR); /* check if we should prepend a setup message */ @@ -811,7 +811,7 @@ atmegadci_setup_standard_chain(struct us } if (x != xfer->nframes) { - if (xfer->endpoint & UE_DIR_IN) { + if (xfer->endpointno & UE_DIR_IN) { temp.func = &atmegadci_data_tx; need_sync = 1; } else { @@ -886,7 +886,7 @@ atmegadci_setup_standard_chain(struct us * Send a DATA1 message and invert the current * endpoint direction. */ - if (xfer->endpoint & UE_DIR_IN) { + if (xfer->endpointno & UE_DIR_IN) { temp.func = &atmegadci_data_rx; need_sync = 0; } else { @@ -1022,8 +1022,8 @@ atmegadci_standard_done(struct usb_xfer { usb_error_t err = 0; - DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", - xfer, xfer->pipe); + DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); /* reset scanner */ @@ -1074,11 +1074,11 @@ atmegadci_device_done(struct usb_xfer *x USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - DPRINTFN(9, "xfer=%p, pipe=%p, error=%d\n", - xfer, xfer->pipe, error); + DPRINTFN(9, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpoint, error); if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { - ep_no = (xfer->endpoint & UE_ADDR); + ep_no = (xfer->endpointno & UE_ADDR); /* select endpoint number */ ATMEGA_WRITE_1(sc, ATMEGA_UENUM, ep_no); @@ -1094,14 +1094,14 @@ atmegadci_device_done(struct usb_xfer *x static void atmegadci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_pipe *pipe) + struct usb_endpoint *ep) { struct atmegadci_softc *sc; uint8_t ep_no; USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); - DPRINTFN(5, "pipe=%p\n", pipe); + DPRINTFN(5, "endpoint=%p\n", ep); if (xfer) { /* cancel any ongoing transfers */ @@ -1109,7 +1109,7 @@ atmegadci_set_stall(struct usb_device *u } sc = ATMEGA_BUS2SC(udev->bus); /* get endpoint number */ - ep_no = (pipe->edesc->bEndpointAddress & UE_ADDR); + ep_no = (ep->edesc->bEndpointAddress & UE_ADDR); /* select endpoint number */ ATMEGA_WRITE_1(sc, ATMEGA_UENUM, ep_no); /* set stall */ @@ -1178,12 +1178,12 @@ atmegadci_clear_stall_sub(struct atmegad } static void -atmegadci_clear_stall(struct usb_device *udev, struct usb_pipe *pipe) +atmegadci_clear_stall(struct usb_device *udev, struct usb_endpoint *ep) { struct atmegadci_softc *sc; struct usb_endpoint_descriptor *ed; - DPRINTFN(5, "pipe=%p\n", pipe); + DPRINTFN(5, "endpoint=%p\n", ep); USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); @@ -1196,7 +1196,7 @@ atmegadci_clear_stall(struct usb_device sc = ATMEGA_BUS2SC(udev->bus); /* get endpoint descriptor */ - ed = pipe->edesc; + ed = ep->edesc; /* reset endpoint */ atmegadci_clear_stall_sub(sc, @@ -1415,7 +1415,7 @@ atmegadci_device_isoc_fs_enter(struct us uint32_t nframes; DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", - xfer, xfer->pipe->isoc_next, xfer->nframes); + xfer, xfer->endpoint->isoc_next, xfer->nframes); /* get the current frame index */ @@ -1429,9 +1429,9 @@ atmegadci_device_isoc_fs_enter(struct us * check if the frame index is within the window where the frames * will be inserted */ - temp = (nframes - xfer->pipe->isoc_next) & ATMEGA_FRAME_MASK; + temp = (nframes - xfer->endpoint->isoc_next) & ATMEGA_FRAME_MASK; - if ((xfer->pipe->is_synced == 0) || + if ((xfer->endpoint->is_synced == 0) || (temp < xfer->nframes)) { /* * If there is data underflow or the pipe queue is @@ -1439,15 +1439,15 @@ atmegadci_device_isoc_fs_enter(struct us * of the current frame position. Else two isochronous * transfers might overlap. */ - xfer->pipe->isoc_next = (nframes + 3) & ATMEGA_FRAME_MASK; - xfer->pipe->is_synced = 1; - DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); + xfer->endpoint->isoc_next = (nframes + 3) & ATMEGA_FRAME_MASK; + xfer->endpoint->is_synced = 1; + DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the * current frame position: */ - temp = (xfer->pipe->isoc_next - nframes) & ATMEGA_FRAME_MASK; + temp = (xfer->endpoint->isoc_next - nframes) & ATMEGA_FRAME_MASK; /* * pre-compute when the isochronous transfer will be finished: @@ -1457,7 +1457,7 @@ atmegadci_device_isoc_fs_enter(struct us xfer->nframes; /* compute frame number for next insertion */ - xfer->pipe->isoc_next += xfer->nframes; + xfer->endpoint->isoc_next += xfer->nframes; /* setup TDs */ atmegadci_setup_standard_chain(xfer); @@ -2022,7 +2022,7 @@ atmegadci_xfer_setup(struct usb_setup_pa /* * compute maximum number of TDs */ - if ((xfer->pipe->edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) { + if ((xfer->endpoint->edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) { ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */ + 1 /* SYNC 2 */ ; @@ -2045,7 +2045,7 @@ atmegadci_xfer_setup(struct usb_setup_pa /* * get profile stuff */ - ep_no = xfer->endpoint & UE_ADDR; + ep_no = xfer->endpointno & UE_ADDR; atmegadci_get_hw_ep_profile(parm->udev, &pf, ep_no); if (pf == NULL) { @@ -2088,13 +2088,13 @@ atmegadci_xfer_unsetup(struct usb_xfer * } static void -atmegadci_pipe_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, - struct usb_pipe *pipe) +atmegadci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, + struct usb_endpoint *ep) { struct atmegadci_softc *sc = ATMEGA_BUS2SC(udev->bus); - DPRINTFN(2, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d,%d)\n", - pipe, udev->address, + DPRINTFN(2, "endpoint=%p, addr=%d, endpt=%d, mode=%d (%d,%d)\n", + ep, udev->address, edesc->bEndpointAddress, udev->flags.usb_mode, sc->sc_rt_addr, udev->device_index); @@ -2109,15 +2109,15 @@ atmegadci_pipe_init(struct usb_device *u return; } if ((edesc->bmAttributes & UE_XFERTYPE) == UE_ISOCHRONOUS) - pipe->methods = &atmegadci_device_isoc_fs_methods; + ep->methods = &atmegadci_device_isoc_fs_methods; else - pipe->methods = &atmegadci_device_non_isoc_methods; + ep->methods = &atmegadci_device_non_isoc_methods; } } struct usb_bus_methods atmegadci_bus_methods = { - .pipe_init = &atmegadci_pipe_init, + .endpoint_init = &atmegadci_ep_init, .xfer_setup = &atmegadci_xfer_setup, .xfer_unsetup = &atmegadci_xfer_unsetup, .get_hw_ep_profile = &atmegadci_get_hw_ep_profile, Modified: head/sys/dev/usb/controller/avr32dci.c ============================================================================== --- head/sys/dev/usb/controller/avr32dci.c Sun Jun 7 19:38:26 2009 (r193643) +++ head/sys/dev/usb/controller/avr32dci.c Sun Jun 7 19:41:11 2009 (r193644) @@ -1062,7 +1062,7 @@ avr32dci_device_done(struct usb_xfer *xf static void avr32dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_pipe *pipe) + struct usb_endpoint *ep) { struct avr32dci_softc *sc; uint8_t ep_no; @@ -1148,7 +1148,7 @@ avr32dci_clear_stall_sub(struct avr32dci } static void -avr32dci_clear_stall(struct usb_device *udev, struct usb_pipe *pipe) +avr32dci_clear_stall(struct usb_device *udev, struct usb_endpoint *ep) { struct avr32dci_softc *sc; struct usb_endpoint_descriptor *ed; @@ -2025,8 +2025,8 @@ avr32dci_xfer_unsetup(struct usb_xfer *x } static void -avr32dci_pipe_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, - struct usb_pipe *pipe) +avr32dci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, + struct usb_endpoint *ep) { struct avr32dci_softc *sc = AVR32_BUS2SC(udev->bus); @@ -2055,7 +2055,7 @@ avr32dci_pipe_init(struct usb_device *ud struct usb_bus_methods avr32dci_bus_methods = { - .pipe_init = &avr32dci_pipe_init, + .endpoint_init = &avr32dci_ep_init, .xfer_setup = &avr32dci_xfer_setup, .xfer_unsetup = &avr32dci_xfer_unsetup, .get_hw_ep_profile = &avr32dci_get_hw_ep_profile, Modified: head/sys/dev/usb/controller/ehci.c ============================================================================== --- head/sys/dev/usb/controller/ehci.c Sun Jun 7 19:38:26 2009 (r193643) +++ head/sys/dev/usb/controller/ehci.c Sun Jun 7 19:41:11 2009 (r193644) @@ -1190,14 +1190,14 @@ ehci_non_isoc_done_sub(struct usb_xfer * /* update data toggle */ - xfer->pipe->toggle_next = + xfer->endpoint->toggle_next = (status & EHCI_QTD_TOGGLE_MASK) ? 1 : 0; #if USB_DEBUG if (status & EHCI_QTD_STATERRS) { DPRINTFN(11, "error, addr=%d, endpt=0x%02x, frame=0x%02x" "status=%s%s%s%s%s%s%s%s\n", - xfer->address, xfer->endpoint, xfer->aframes, + xfer->address, xfer->endpointno, xfer->aframes, (status & EHCI_QTD_ACTIVE) ? "[ACTIVE]" : "[NOT_ACTIVE]", (status & EHCI_QTD_HALTED) ? "[HALTED]" : "", (status & EHCI_QTD_BUFERR) ? "[BUFERR]" : "", @@ -1218,8 +1218,8 @@ ehci_non_isoc_done(struct usb_xfer *xfer { usb_error_t err = 0; - DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", - xfer, xfer->pipe); + DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); #if USB_DEBUG if (ehcidebug > 10) { @@ -1274,7 +1274,7 @@ done: static uint8_t ehci_check_transfer(struct usb_xfer *xfer) { - struct usb_pipe_methods *methods = xfer->pipe->methods; + struct usb_pipe_methods *methods = xfer->endpoint->methods; ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); uint32_t status; @@ -1716,7 +1716,7 @@ ehci_setup_standard_chain(struct usb_xfe uint32_t x; DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n", - xfer->address, UE_GET_ADDR(xfer->endpoint), + xfer->address, UE_GET_ADDR(xfer->endpointno), xfer->sumlen, usb2_get_speed(xfer->xroot->udev)); temp.average = xfer->max_hc_frame_size; @@ -1739,7 +1739,7 @@ ehci_setup_standard_chain(struct usb_xfe temp.setup_alt_next = xfer->flags_int.short_frames_ok; if (xfer->flags_int.control_xfr) { - if (xfer->pipe->toggle_next) { + if (xfer->endpoint->toggle_next) { /* DATA1 is next */ temp.qtd_status |= htohc32(temp.sc, EHCI_QTD_SET_TOGGLE(1)); @@ -1827,7 +1827,7 @@ ehci_setup_standard_chain(struct usb_xfe /* set endpoint direction */ temp.qtd_status |= - (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) ? + (UE_GET_DIR(xfer->endpointno) == UE_DIR_IN) ? htohc32(temp.sc, EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_IN)) : htohc32(temp.sc, EHCI_QTD_ACTIVE | @@ -1849,7 +1849,7 @@ ehci_setup_standard_chain(struct usb_xfe temp.qtd_status &= htohc32(temp.sc, EHCI_QTD_SET_CERR(3) | EHCI_QTD_SET_TOGGLE(1)); temp.qtd_status |= - (UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) ? + (UE_GET_DIR(xfer->endpointno) == UE_DIR_OUT) ? htohc32(temp.sc, EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_IN) | EHCI_QTD_SET_TOGGLE(1)) : @@ -1881,13 +1881,13 @@ ehci_setup_standard_chain(struct usb_xfe #if USB_DEBUG if (ehcidebug > 8) { DPRINTF("nexttog=%d; data before transfer:\n", - xfer->pipe->toggle_next); + xfer->endpoint->toggle_next); ehci_dump_sqtds(temp.sc, xfer->td_transfer_first); } #endif - methods = xfer->pipe->methods; + methods = xfer->endpoint->methods; qh = xfer->qh_start[xfer->flags_int.curr_dma_set]; @@ -1895,7 +1895,7 @@ ehci_setup_standard_chain(struct usb_xfe qh_endp = (EHCI_QH_SET_ADDR(xfer->address) | - EHCI_QH_SET_ENDPT(UE_GET_ADDR(xfer->endpoint)) | + EHCI_QH_SET_ENDPT(UE_GET_ADDR(xfer->endpointno)) | EHCI_QH_SET_MPL(xfer->max_packet_size)); if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_HIGH) { @@ -1943,7 +1943,7 @@ ehci_setup_standard_chain(struct usb_xfe qh->qh_endp &= htohc32(temp.sc, ~EHCI_QH_DTC); - if (xfer->pipe->toggle_next) { + if (xfer->endpoint->toggle_next) { /* DATA1 is next */ qh->qh_qtd.qtd_status |= htohc32(temp.sc, EHCI_QTD_SET_TOGGLE(1)); @@ -1999,8 +1999,8 @@ ehci_isoc_fs_done(ehci_softc_t *sc, stru ehci_sitd_t *td = xfer->td_transfer_first; ehci_sitd_t **pp_last = &sc->sc_isoc_fs_p_last[xfer->qh_pos]; - DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", - xfer, xfer->pipe); + DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); while (nframes--) { if (td == NULL) { @@ -2053,8 +2053,8 @@ ehci_isoc_hs_done(ehci_softc_t *sc, stru ehci_itd_t *td = xfer->td_transfer_first; ehci_itd_t **pp_last = &sc->sc_isoc_hs_p_last[xfer->qh_pos]; - DPRINTFN(13, "xfer=%p pipe=%p transfer done\n", - xfer, xfer->pipe); + DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); while (nframes--) { if (td == NULL) { @@ -2113,20 +2113,20 @@ ehci_isoc_hs_done(ehci_softc_t *sc, stru static void ehci_device_done(struct usb_xfer *xfer, usb_error_t error) { - struct usb_pipe_methods *methods = xfer->pipe->methods; + struct usb_pipe_methods *methods = xfer->endpoint->methods; ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - DPRINTFN(2, "xfer=%p, pipe=%p, error=%d\n", - xfer, xfer->pipe, error); + DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpoint, error); if ((methods == &ehci_device_bulk_methods) || (methods == &ehci_device_ctrl_methods)) { #if USB_DEBUG if (ehcidebug > 8) { DPRINTF("nexttog=%d; data after transfer:\n", - xfer->pipe->toggle_next); + xfer->endpoint->toggle_next); ehci_dump_sqtds(sc, xfer->td_transfer_first); } @@ -2358,11 +2358,11 @@ ehci_device_isoc_fs_open(struct usb_xfer sitd_portaddr = EHCI_SITD_SET_ADDR(xfer->address) | - EHCI_SITD_SET_ENDPT(UE_GET_ADDR(xfer->endpoint)) | + EHCI_SITD_SET_ENDPT(UE_GET_ADDR(xfer->endpointno)) | EHCI_SITD_SET_HUBA(xfer->xroot->udev->hs_hub_addr) | EHCI_SITD_SET_PORT(xfer->xroot->udev->hs_port_no); - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) { + if (UE_GET_DIR(xfer->endpointno) == UE_DIR_IN) { sitd_portaddr |= EHCI_SITD_SET_DIR_IN; } sitd_portaddr = htohc32(sc, sitd_portaddr); @@ -2422,7 +2422,7 @@ ehci_device_isoc_fs_enter(struct usb_xfe #endif DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", - xfer, xfer->pipe->isoc_next, xfer->nframes); + xfer, xfer->endpoint->isoc_next, xfer->nframes); /* get the current frame index */ @@ -2432,10 +2432,10 @@ ehci_device_isoc_fs_enter(struct usb_xfe * check if the frame index is within the window where the frames * will be inserted */ - buf_offset = (nframes - xfer->pipe->isoc_next) & + buf_offset = (nframes - xfer->endpoint->isoc_next) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); - if ((xfer->pipe->is_synced == 0) || + if ((xfer->endpoint->is_synced == 0) || (buf_offset < xfer->nframes)) { /* * If there is data underflow or the pipe queue is empty we @@ -2443,16 +2443,16 @@ ehci_device_isoc_fs_enter(struct usb_xfe * frame position. Else two isochronous transfers might * overlap. */ - xfer->pipe->isoc_next = (nframes + 3) & + xfer->endpoint->isoc_next = (nframes + 3) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); - xfer->pipe->is_synced = 1; - DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); + xfer->endpoint->is_synced = 1; + DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the * current frame position: */ - buf_offset = (xfer->pipe->isoc_next - nframes) & + buf_offset = (xfer->endpoint->isoc_next - nframes) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); /* @@ -2478,11 +2478,11 @@ ehci_device_isoc_fs_enter(struct usb_xfe td = xfer->td_start[xfer->flags_int.curr_dma_set]; xfer->td_transfer_first = td; - pp_last = &sc->sc_isoc_fs_p_last[xfer->pipe->isoc_next]; + pp_last = &sc->sc_isoc_fs_p_last[xfer->endpoint->isoc_next]; /* store starting position */ - xfer->qh_pos = xfer->pipe->isoc_next; + xfer->qh_pos = xfer->endpoint->isoc_next; fss = fss_start + (xfer->qh_pos % USB_ISOC_TIME_MAX); @@ -2543,7 +2543,7 @@ ehci_device_isoc_fs_enter(struct usb_xfe temp = 0; } - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) { + if (UE_GET_DIR(xfer->endpointno) == UE_DIR_OUT) { tlen = *plen; if (tlen <= 188) { temp |= 1; /* T-count = 1, TP = ALL */ @@ -2609,7 +2609,7 @@ ehci_device_isoc_fs_enter(struct usb_xfe xfer->td_transfer_last = td_last; /* update isoc_next */ - xfer->pipe->isoc_next = (pp_last - &sc->sc_isoc_fs_p_last[0]) & + xfer->endpoint->isoc_next = (pp_last - &sc->sc_isoc_fs_p_last[0]) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); } @@ -2658,13 +2658,13 @@ ehci_device_isoc_hs_open(struct usb_xfer /* set endpoint and address */ td->itd_bp[0] = htohc32(sc, EHCI_ITD_SET_ADDR(xfer->address) | - EHCI_ITD_SET_ENDPT(UE_GET_ADDR(xfer->endpoint))); + EHCI_ITD_SET_ENDPT(UE_GET_ADDR(xfer->endpointno))); temp = EHCI_ITD_SET_MPL(xfer->max_packet_size & 0x7FF); /* set direction */ - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) { + if (UE_GET_DIR(xfer->endpointno) == UE_DIR_IN) { temp |= EHCI_ITD_SET_DIR_IN; } /* set maximum packet size */ @@ -2708,7 +2708,7 @@ ehci_device_isoc_hs_enter(struct usb_xfe #endif DPRINTFN(6, "xfer=%p next=%d nframes=%d\n", - xfer, xfer->pipe->isoc_next, xfer->nframes); + xfer, xfer->endpoint->isoc_next, xfer->nframes); /* get the current frame index */ @@ -2718,10 +2718,10 @@ ehci_device_isoc_hs_enter(struct usb_xfe * check if the frame index is within the window where the frames * will be inserted */ - buf_offset = (nframes - xfer->pipe->isoc_next) & + buf_offset = (nframes - xfer->endpoint->isoc_next) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); - if ((xfer->pipe->is_synced == 0) || + if ((xfer->endpoint->is_synced == 0) || (buf_offset < ((xfer->nframes + 7) / 8))) { /* * If there is data underflow or the pipe queue is empty we @@ -2729,16 +2729,16 @@ ehci_device_isoc_hs_enter(struct usb_xfe * frame position. Else two isochronous transfers might * overlap. */ - xfer->pipe->isoc_next = (nframes + 3) & + xfer->endpoint->isoc_next = (nframes + 3) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); - xfer->pipe->is_synced = 1; - DPRINTFN(3, "start next=%d\n", xfer->pipe->isoc_next); + xfer->endpoint->is_synced = 1; + DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next); } /* * compute how many milliseconds the insertion is ahead of the * current frame position: */ - buf_offset = (xfer->pipe->isoc_next - nframes) & + buf_offset = (xfer->endpoint->isoc_next - nframes) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); /* @@ -2764,11 +2764,11 @@ ehci_device_isoc_hs_enter(struct usb_xfe td = xfer->td_start[xfer->flags_int.curr_dma_set]; xfer->td_transfer_first = td; - pp_last = &sc->sc_isoc_hs_p_last[xfer->pipe->isoc_next]; + pp_last = &sc->sc_isoc_hs_p_last[xfer->endpoint->isoc_next]; /* store starting position */ - xfer->qh_pos = xfer->pipe->isoc_next; + xfer->qh_pos = xfer->endpoint->isoc_next; while (nframes--) { if (td == NULL) { @@ -2875,7 +2875,7 @@ ehci_device_isoc_hs_enter(struct usb_xfe xfer->td_transfer_last = td_last; /* update isoc_next */ - xfer->pipe->isoc_next = (pp_last - &sc->sc_isoc_hs_p_last[0]) & + xfer->endpoint->isoc_next = (pp_last - &sc->sc_isoc_hs_p_last[0]) & (EHCI_VIRTUAL_FRAMELIST_COUNT - 1); } @@ -3635,13 +3635,13 @@ ehci_xfer_unsetup(struct usb_xfer *xfer) } static void -ehci_pipe_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, - struct usb_pipe *pipe) +ehci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, + struct usb_endpoint *ep) { ehci_softc_t *sc = EHCI_BUS2SC(udev->bus); - DPRINTFN(2, "pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n", - pipe, udev->address, + DPRINTFN(2, "endpoint=%p, addr=%d, endpt=%d, mode=%d (%d)\n", + ep, udev->address, edesc->bEndpointAddress, udev->flags.usb_mode, sc->sc_addr); @@ -3661,21 +3661,21 @@ ehci_pipe_init(struct usb_device *udev, } switch (edesc->bmAttributes & UE_XFERTYPE) { case UE_CONTROL: - pipe->methods = &ehci_device_ctrl_methods; + ep->methods = &ehci_device_ctrl_methods; break; case UE_INTERRUPT: - pipe->methods = &ehci_device_intr_methods; + ep->methods = &ehci_device_intr_methods; break; case UE_ISOCHRONOUS: if (udev->speed == USB_SPEED_HIGH) { - pipe->methods = &ehci_device_isoc_hs_methods; + ep->methods = &ehci_device_isoc_hs_methods; } else if (udev->speed == USB_SPEED_FULL) { - pipe->methods = &ehci_device_isoc_fs_methods; + ep->methods = &ehci_device_isoc_fs_methods; } break; case UE_BULK: if (udev->speed != USB_SPEED_LOW) { - pipe->methods = &ehci_device_bulk_methods; + ep->methods = &ehci_device_bulk_methods; } break; default: @@ -3712,7 +3712,7 @@ ehci_device_resume(struct usb_device *ud if (xfer->xroot->udev == udev) { - methods = xfer->pipe->methods; + methods = xfer->endpoint->methods; if ((methods == &ehci_device_bulk_methods) || (methods == &ehci_device_ctrl_methods)) { @@ -3746,7 +3746,7 @@ ehci_device_suspend(struct usb_device *u if (xfer->xroot->udev == udev) { - methods = xfer->pipe->methods; + methods = xfer->endpoint->methods; if ((methods == &ehci_device_bulk_methods) || (methods == &ehci_device_ctrl_methods)) { @@ -3801,7 +3801,7 @@ ehci_set_hw_power(struct usb_bus *bus) struct usb_bus_methods ehci_bus_methods = { - .pipe_init = ehci_pipe_init, + .endpoint_init = ehci_ep_init, .xfer_setup = ehci_xfer_setup, .xfer_unsetup = ehci_xfer_unsetup, .get_dma_delay = ehci_get_dma_delay, Modified: head/sys/dev/usb/controller/musb_otg.c ============================================================================== --- head/sys/dev/usb/controller/musb_otg.c Sun Jun 7 19:38:26 2009 (r193643) +++ head/sys/dev/usb/controller/musb_otg.c Sun Jun 7 19:41:11 2009 (r193644) @@ -1114,7 +1114,7 @@ musbotg_setup_standard_chain(struct usb_ uint8_t ep_no; DPRINTFN(8, "addr=%d endpt=%d sumlen=%d speed=%d\n", - xfer->address, UE_GET_ADDR(xfer->endpoint), + xfer->address, UE_GET_ADDR(xfer->endpointno), xfer->sumlen, usb2_get_speed(xfer->xroot->udev)); temp.max_frame_size = xfer->max_frame_size; @@ -1132,7 +1132,7 @@ musbotg_setup_standard_chain(struct usb_ temp.did_stall = !xfer->flags_int.control_stall; sc = MUSBOTG_BUS2SC(xfer->xroot->bus); - ep_no = (xfer->endpoint & UE_ADDR); + ep_no = (xfer->endpointno & UE_ADDR); /* check if we should prepend a setup message */ @@ -1152,7 +1152,7 @@ musbotg_setup_standard_chain(struct usb_ } if (x != xfer->nframes) { - if (xfer->endpoint & UE_DIR_IN) { + if (xfer->endpointno & UE_DIR_IN) { if (xfer->flags_int.control_xfr) temp.func = &musbotg_setup_data_tx; else @@ -1249,7 +1249,7 @@ musbotg_ep_int_set(struct usb_xfer *xfer { struct musbotg_softc *sc = MUSBOTG_BUS2SC(xfer->xroot->bus); uint16_t temp; - uint8_t ep_no = xfer->endpoint & UE_ADDR; + uint8_t ep_no = xfer->endpointno & UE_ADDR; /* * Only enable the endpoint interrupt when we are @@ -1390,8 +1390,8 @@ musbotg_standard_done(struct usb_xfer *x { usb_error_t err = 0; - DPRINTFN(12, "xfer=%p pipe=%p transfer done\n", - xfer, xfer->pipe); + DPRINTFN(12, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); /* reset scanner */ @@ -1439,8 +1439,8 @@ musbotg_device_done(struct usb_xfer *xfe { USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); - DPRINTFN(2, "xfer=%p, pipe=%p, error=%d\n", - xfer, xfer->pipe, error); + DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpoint, error); if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { @@ -1454,14 +1454,14 @@ musbotg_device_done(struct usb_xfer *xfe static void musbotg_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_pipe *pipe) + struct usb_endpoint *ep) { struct musbotg_softc *sc; uint8_t ep_no; USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); - DPRINTFN(4, "pipe=%p\n", pipe); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:45:11 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69F44106567F; Sun, 7 Jun 2009 19:45:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id 457778FC08; Sun, 7 Jun 2009 19:45:10 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from [212.86.226.226] (account mav@alkar.net HELO mavbook.mavhome.dp.ua) by cmail.optima.ua (CommuniGate Pro SMTP 5.2.9) with ESMTPSA id 245132823; Sun, 07 Jun 2009 22:45:07 +0300 Message-ID: <4A2C18BC.20802@FreeBSD.org> Date: Sun, 07 Jun 2009 22:45:00 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.21 (X11/20090405) MIME-Version: 1.0 To: Ariff Abdullah References: <200906071912.n57JC9GZ002423@svn.freebsd.org> <20090608032500.438668ae.ariff@FreeBSD.org> In-Reply-To: <20090608032500.438668ae.ariff@FreeBSD.org> Content-Type: text/plain; charset=KOI8-R; 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: r193640 - in head/sys: conf dev/sound dev/sound/isa dev/sound/macio dev/sound/midi dev/sound/pci dev/sound/pci/hda dev/sound/pcm dev/sound/sbus dev/sound/usb modules/sound/sound sys tools X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:45:12 -0000 Ariff Abdullah wrote: > [..] > > I forgot to mention about the completion of multichannel support. > All that left is to visit specific driver, and make few trivial > changes. Wow, I can't believe! You've got out from nowhere and put so much at one time. You should really take more care about users hearts. :) Thanks! -- Alexander Motin From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:56:19 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89A331065672; Sun, 7 Jun 2009 19:56:19 +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 6FD068FC1A; Sun, 7 Jun 2009 19:56:19 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JuJ6P003547; Sun, 7 Jun 2009 19:56:19 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JuIXU003540; Sun, 7 Jun 2009 19:56:18 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906071956.n57JuIXU003540@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 19:56:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193645 - in vendor-crypto/openssl/dist: . apps crypto crypto/aes crypto/aes/asm crypto/asn1 crypto/bf crypto/bio crypto/bn crypto/bn/asm crypto/buffer crypto/camellia crypto/camellia/a... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:56:21 -0000 Author: simon Date: Sun Jun 7 19:56:18 2009 New Revision: 193645 URL: http://svn.freebsd.org/changeset/base/193645 Log: Import OpenSSL 0.9.8k. Added: vendor-crypto/openssl/dist/apps/genpkey.c (contents, props changed) vendor-crypto/openssl/dist/apps/md4.c (contents, props changed) vendor-crypto/openssl/dist/apps/pkey.c (contents, props changed) vendor-crypto/openssl/dist/apps/pkeyparam.c (contents, props changed) vendor-crypto/openssl/dist/apps/pkeyutl.c (contents, props changed) vendor-crypto/openssl/dist/apps/ts.c (contents, props changed) vendor-crypto/openssl/dist/apps/tsget vendor-crypto/openssl/dist/crypto/aes/aes_x86core.c (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-armv4.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-ppc.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-s390x.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-sparcv9.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/ameth_lib.c (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_locl.h (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/bio_asn1.c (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/bio_ndef.c (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/x_nx509.c (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/alpha-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/armv4-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/mips3-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ppc-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ppc64-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/s390x-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/s390x.S (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9a-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/via-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/bn_opt.c (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/bn_x931p.c (contents, props changed) vendor-crypto/openssl/dist/crypto/buffer/buf_str.c (contents, props changed) vendor-crypto/openssl/dist/crypto/camellia/asm/ vendor-crypto/openssl/dist/crypto/camellia/asm/cmll-x86.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/camellia/asm/cmll-x86_64.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/des/des_lib.c (contents, props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_utl.c (contents, props changed) vendor-crypto/openssl/dist/crypto/dyn_lck.c (contents, props changed) vendor-crypto/openssl/dist/crypto/err/err_bio.c (contents, props changed) vendor-crypto/openssl/dist/crypto/err/err_def.c (contents, props changed) vendor-crypto/openssl/dist/crypto/err/err_str.c (contents, props changed) vendor-crypto/openssl/dist/crypto/evp/dig_eng.c (contents, props changed) vendor-crypto/openssl/dist/crypto/evp/enc_min.c (contents, props changed) vendor-crypto/openssl/dist/crypto/evp/evp_cnf.c (contents, props changed) vendor-crypto/openssl/dist/crypto/fips_err.c (contents, props changed) vendor-crypto/openssl/dist/crypto/fips_err.h (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/ vendor-crypto/openssl/dist/crypto/jpake/Makefile (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpake.c (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpake.h (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpake_err.c (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpaketest.c (contents, props changed) vendor-crypto/openssl/dist/crypto/o_init.c (contents, props changed) vendor-crypto/openssl/dist/crypto/ppccpuid.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/rand/rand_eng.c (contents, props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_fblk.c (contents, props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_eng.c (contents, props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_x931g.c (contents, props changed) vendor-crypto/openssl/dist/crypto/s390xcpuid.S (contents, props changed) vendor-crypto/openssl/dist/crypto/sparcv9cap.c (contents, props changed) vendor-crypto/openssl/dist/demos/jpake/ vendor-crypto/openssl/dist/demos/jpake/Makefile (contents, props changed) vendor-crypto/openssl/dist/demos/jpake/jpakedemo.c (contents, props changed) vendor-crypto/openssl/dist/fips/ vendor-crypto/openssl/dist/fips/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/aes/ vendor-crypto/openssl/dist/fips/aes/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/aes/fips_aes_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/aes/fips_aesavs.c (contents, props changed) vendor-crypto/openssl/dist/fips/des/ vendor-crypto/openssl/dist/fips/des/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/des/fips_des_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/des/fips_desmovs.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/ vendor-crypto/openssl/dist/fips/dh/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/dh/dh_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_check.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_key.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_lib.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/ vendor-crypto/openssl/dist/fips/dsa/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_key.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_lib.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_ossl.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_sign.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsatest.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dssvs.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips-nodiff.txt (contents, props changed) vendor-crypto/openssl/dist/fips/fips.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips.h (contents, props changed) vendor-crypto/openssl/dist/fips/fips_canister.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips_locl.h (contents, props changed) vendor-crypto/openssl/dist/fips/fips_premain.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips_premain.c.sha1 vendor-crypto/openssl/dist/fips/fips_test_suite.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips_utl.h (contents, props changed) vendor-crypto/openssl/dist/fips/fipsalgtest.pl (contents, props changed) vendor-crypto/openssl/dist/fips/fipsld (contents, props changed) vendor-crypto/openssl/dist/fips/fipstests.sh (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/ vendor-crypto/openssl/dist/fips/hmac/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/fips_hmac.c (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/fips_hmac_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/fips_hmactest.c (contents, props changed) vendor-crypto/openssl/dist/fips/mkfipsscr.pl (contents, props changed) vendor-crypto/openssl/dist/fips/openssl_fips_fingerprint (contents, props changed) vendor-crypto/openssl/dist/fips/rand/ vendor-crypto/openssl/dist/fips/rand/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rand.c (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rand.h (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rand_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_randtest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rngvs.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/ vendor-crypto/openssl/dist/fips/rsa/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_eay.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_lib.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_sign.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_x931g.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsagtest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsastest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsavtest.c (contents, props changed) vendor-crypto/openssl/dist/fips/sha/ vendor-crypto/openssl/dist/fips/sha/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/sha/fips_sha1_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/sha/fips_shatest.c (contents, props changed) vendor-crypto/openssl/dist/fips/sha/fips_standalone_sha1.c (contents, props changed) vendor-crypto/openssl/dist/test/SHAmix.r vendor-crypto/openssl/dist/test/SHAmix.x vendor-crypto/openssl/dist/test/bftest.c (contents, props changed) vendor-crypto/openssl/dist/test/bntest.c (contents, props changed) vendor-crypto/openssl/dist/test/casttest.c (contents, props changed) vendor-crypto/openssl/dist/test/destest.c (contents, props changed) vendor-crypto/openssl/dist/test/dhtest.c (contents, props changed) vendor-crypto/openssl/dist/test/dsatest.c (contents, props changed) vendor-crypto/openssl/dist/test/ecdhtest.c (contents, props changed) vendor-crypto/openssl/dist/test/ecdsatest.c (contents, props changed) vendor-crypto/openssl/dist/test/ectest.c (contents, props changed) vendor-crypto/openssl/dist/test/enginetest.c (contents, props changed) vendor-crypto/openssl/dist/test/evp_test.c (contents, props changed) vendor-crypto/openssl/dist/test/exptest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_aesavs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_desmovs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_dsatest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_dssvs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_hmactest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_randtest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rngvs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rsagtest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rsastest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rsavtest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_shatest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_test_suite.c (contents, props changed) vendor-crypto/openssl/dist/test/hmactest.c (contents, props changed) vendor-crypto/openssl/dist/test/ideatest.c (contents, props changed) vendor-crypto/openssl/dist/test/jpaketest.c (contents, props changed) vendor-crypto/openssl/dist/test/md2test.c (contents, props changed) vendor-crypto/openssl/dist/test/md4test.c (contents, props changed) vendor-crypto/openssl/dist/test/md5test.c (contents, props changed) vendor-crypto/openssl/dist/test/mdc2test.c (contents, props changed) vendor-crypto/openssl/dist/test/randtest.c (contents, props changed) vendor-crypto/openssl/dist/test/rc2test.c (contents, props changed) vendor-crypto/openssl/dist/test/rc4test.c (contents, props changed) vendor-crypto/openssl/dist/test/rc5test.c (contents, props changed) vendor-crypto/openssl/dist/test/rmdtest.c (contents, props changed) vendor-crypto/openssl/dist/test/rsa_test.c (contents, props changed) vendor-crypto/openssl/dist/test/sha1test.c (contents, props changed) vendor-crypto/openssl/dist/test/sha256t.c (contents, props changed) vendor-crypto/openssl/dist/test/sha512t.c (contents, props changed) vendor-crypto/openssl/dist/test/shatest.c (contents, props changed) vendor-crypto/openssl/dist/test/ssltest.c (contents, props changed) vendor-crypto/openssl/dist/test/testfipsssl vendor-crypto/openssl/dist/util/arx.pl (contents, props changed) vendor-crypto/openssl/dist/util/fipslink.pl (contents, props changed) vendor-crypto/openssl/dist/util/mksdef.pl (contents, props changed) Modified: vendor-crypto/openssl/dist/CHANGES vendor-crypto/openssl/dist/Configure vendor-crypto/openssl/dist/FAQ vendor-crypto/openssl/dist/Makefile vendor-crypto/openssl/dist/Makefile.org vendor-crypto/openssl/dist/Makefile.shared vendor-crypto/openssl/dist/NEWS vendor-crypto/openssl/dist/README vendor-crypto/openssl/dist/apps/Makefile vendor-crypto/openssl/dist/apps/apps.c vendor-crypto/openssl/dist/apps/apps.h vendor-crypto/openssl/dist/apps/asn1pars.c vendor-crypto/openssl/dist/apps/ca.c vendor-crypto/openssl/dist/apps/crl.c vendor-crypto/openssl/dist/apps/dgst.c vendor-crypto/openssl/dist/apps/dsa.c vendor-crypto/openssl/dist/apps/enc.c vendor-crypto/openssl/dist/apps/engine.c vendor-crypto/openssl/dist/apps/genrsa.c vendor-crypto/openssl/dist/apps/nseq.c vendor-crypto/openssl/dist/apps/ocsp.c vendor-crypto/openssl/dist/apps/openssl.c vendor-crypto/openssl/dist/apps/pkcs12.c vendor-crypto/openssl/dist/apps/pkcs8.c vendor-crypto/openssl/dist/apps/rand.c vendor-crypto/openssl/dist/apps/rsautl.c vendor-crypto/openssl/dist/apps/s_client.c vendor-crypto/openssl/dist/apps/s_server.c vendor-crypto/openssl/dist/apps/smime.c vendor-crypto/openssl/dist/apps/speed.c vendor-crypto/openssl/dist/apps/spkac.c vendor-crypto/openssl/dist/apps/verify.c vendor-crypto/openssl/dist/apps/version.c vendor-crypto/openssl/dist/apps/x509.c vendor-crypto/openssl/dist/config vendor-crypto/openssl/dist/crypto/Makefile vendor-crypto/openssl/dist/crypto/aes/Makefile vendor-crypto/openssl/dist/crypto/aes/aes.h vendor-crypto/openssl/dist/crypto/aes/aes_cbc.c vendor-crypto/openssl/dist/crypto/aes/aes_core.c vendor-crypto/openssl/dist/crypto/aes/asm/aes-586.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-x86_64.pl vendor-crypto/openssl/dist/crypto/asn1/Makefile vendor-crypto/openssl/dist/crypto/asn1/a_bytes.c vendor-crypto/openssl/dist/crypto/asn1/a_mbstr.c vendor-crypto/openssl/dist/crypto/asn1/a_sign.c vendor-crypto/openssl/dist/crypto/asn1/a_strex.c vendor-crypto/openssl/dist/crypto/asn1/a_strnid.c vendor-crypto/openssl/dist/crypto/asn1/a_verify.c vendor-crypto/openssl/dist/crypto/asn1/asn1.h vendor-crypto/openssl/dist/crypto/asn1/asn1_err.c vendor-crypto/openssl/dist/crypto/asn1/asn1_gen.c vendor-crypto/openssl/dist/crypto/asn1/asn1_par.c vendor-crypto/openssl/dist/crypto/asn1/asn1t.h vendor-crypto/openssl/dist/crypto/asn1/asn_mime.c vendor-crypto/openssl/dist/crypto/asn1/asn_moid.c vendor-crypto/openssl/dist/crypto/asn1/asn_pack.c vendor-crypto/openssl/dist/crypto/asn1/nsseq.c vendor-crypto/openssl/dist/crypto/asn1/p5_pbe.c vendor-crypto/openssl/dist/crypto/asn1/p5_pbev2.c vendor-crypto/openssl/dist/crypto/asn1/p8_pkey.c vendor-crypto/openssl/dist/crypto/asn1/t_bitst.c vendor-crypto/openssl/dist/crypto/asn1/t_crl.c vendor-crypto/openssl/dist/crypto/asn1/t_spki.c vendor-crypto/openssl/dist/crypto/asn1/t_x509.c vendor-crypto/openssl/dist/crypto/asn1/t_x509a.c vendor-crypto/openssl/dist/crypto/asn1/tasn_dec.c vendor-crypto/openssl/dist/crypto/asn1/tasn_enc.c vendor-crypto/openssl/dist/crypto/asn1/tasn_fre.c vendor-crypto/openssl/dist/crypto/asn1/tasn_new.c vendor-crypto/openssl/dist/crypto/asn1/tasn_prn.c vendor-crypto/openssl/dist/crypto/asn1/tasn_typ.c vendor-crypto/openssl/dist/crypto/asn1/tasn_utl.c vendor-crypto/openssl/dist/crypto/asn1/x_algor.c vendor-crypto/openssl/dist/crypto/asn1/x_bignum.c vendor-crypto/openssl/dist/crypto/asn1/x_exten.c vendor-crypto/openssl/dist/crypto/asn1/x_long.c vendor-crypto/openssl/dist/crypto/asn1/x_x509a.c vendor-crypto/openssl/dist/crypto/bf/Makefile vendor-crypto/openssl/dist/crypto/bf/bf_skey.c vendor-crypto/openssl/dist/crypto/bf/blowfish.h vendor-crypto/openssl/dist/crypto/bio/Makefile vendor-crypto/openssl/dist/crypto/bio/bss_bio.c vendor-crypto/openssl/dist/crypto/bio/bss_file.c vendor-crypto/openssl/dist/crypto/bio/bss_mem.c vendor-crypto/openssl/dist/crypto/bio/bss_sock.c vendor-crypto/openssl/dist/crypto/bn/Makefile vendor-crypto/openssl/dist/crypto/bn/bn.h vendor-crypto/openssl/dist/crypto/bn/bn_lib.c vendor-crypto/openssl/dist/crypto/bn/bn_nist.c vendor-crypto/openssl/dist/crypto/bn/bn_rand.c vendor-crypto/openssl/dist/crypto/bn/bn_shift.c vendor-crypto/openssl/dist/crypto/bn/bntest.c vendor-crypto/openssl/dist/crypto/buffer/Makefile vendor-crypto/openssl/dist/crypto/buffer/buffer.c vendor-crypto/openssl/dist/crypto/camellia/Makefile vendor-crypto/openssl/dist/crypto/camellia/camellia.h vendor-crypto/openssl/dist/crypto/camellia/cmll_misc.c vendor-crypto/openssl/dist/crypto/cast/Makefile vendor-crypto/openssl/dist/crypto/cast/c_skey.c vendor-crypto/openssl/dist/crypto/cast/cast.h vendor-crypto/openssl/dist/crypto/cms/Makefile vendor-crypto/openssl/dist/crypto/cms/cms_sd.c vendor-crypto/openssl/dist/crypto/cms/cms_smime.c vendor-crypto/openssl/dist/crypto/comp/Makefile vendor-crypto/openssl/dist/crypto/comp/c_zlib.c vendor-crypto/openssl/dist/crypto/conf/Makefile vendor-crypto/openssl/dist/crypto/conf/conf_mall.c vendor-crypto/openssl/dist/crypto/conf/conf_mod.c vendor-crypto/openssl/dist/crypto/conf/conf_sap.c vendor-crypto/openssl/dist/crypto/cryptlib.c vendor-crypto/openssl/dist/crypto/crypto.h vendor-crypto/openssl/dist/crypto/des/Makefile vendor-crypto/openssl/dist/crypto/des/asm/des_enc.m4 vendor-crypto/openssl/dist/crypto/des/des_enc.c vendor-crypto/openssl/dist/crypto/des/ecb_enc.c vendor-crypto/openssl/dist/crypto/des/enc_read.c vendor-crypto/openssl/dist/crypto/des/enc_writ.c vendor-crypto/openssl/dist/crypto/des/set_key.c vendor-crypto/openssl/dist/crypto/des/times/usparc.cc vendor-crypto/openssl/dist/crypto/dh/Makefile vendor-crypto/openssl/dist/crypto/dh/dh.h vendor-crypto/openssl/dist/crypto/dh/dh_asn1.c vendor-crypto/openssl/dist/crypto/dh/dh_check.c vendor-crypto/openssl/dist/crypto/dh/dh_err.c vendor-crypto/openssl/dist/crypto/dh/dh_gen.c vendor-crypto/openssl/dist/crypto/dh/dh_key.c vendor-crypto/openssl/dist/crypto/dsa/Makefile vendor-crypto/openssl/dist/crypto/dsa/dsa.h vendor-crypto/openssl/dist/crypto/dsa/dsa_asn1.c vendor-crypto/openssl/dist/crypto/dsa/dsa_err.c vendor-crypto/openssl/dist/crypto/dsa/dsa_gen.c vendor-crypto/openssl/dist/crypto/dsa/dsa_key.c vendor-crypto/openssl/dist/crypto/dsa/dsa_lib.c vendor-crypto/openssl/dist/crypto/dsa/dsa_ossl.c vendor-crypto/openssl/dist/crypto/dsa/dsa_sign.c vendor-crypto/openssl/dist/crypto/dsa/dsa_vrf.c vendor-crypto/openssl/dist/crypto/dso/Makefile vendor-crypto/openssl/dist/crypto/ec/Makefile vendor-crypto/openssl/dist/crypto/ec/ec_key.c vendor-crypto/openssl/dist/crypto/ecdh/Makefile vendor-crypto/openssl/dist/crypto/ecdsa/Makefile vendor-crypto/openssl/dist/crypto/engine/Makefile vendor-crypto/openssl/dist/crypto/engine/eng_cnf.c vendor-crypto/openssl/dist/crypto/engine/eng_padlock.c vendor-crypto/openssl/dist/crypto/engine/enginetest.c vendor-crypto/openssl/dist/crypto/err/Makefile vendor-crypto/openssl/dist/crypto/err/err.c vendor-crypto/openssl/dist/crypto/err/err.h vendor-crypto/openssl/dist/crypto/err/err_all.c vendor-crypto/openssl/dist/crypto/err/err_prn.c vendor-crypto/openssl/dist/crypto/err/openssl.ec vendor-crypto/openssl/dist/crypto/evp/Makefile vendor-crypto/openssl/dist/crypto/evp/bio_md.c vendor-crypto/openssl/dist/crypto/evp/digest.c vendor-crypto/openssl/dist/crypto/evp/e_aes.c vendor-crypto/openssl/dist/crypto/evp/e_camellia.c vendor-crypto/openssl/dist/crypto/evp/e_des.c vendor-crypto/openssl/dist/crypto/evp/e_des3.c vendor-crypto/openssl/dist/crypto/evp/e_null.c vendor-crypto/openssl/dist/crypto/evp/e_rc4.c vendor-crypto/openssl/dist/crypto/evp/evp.h vendor-crypto/openssl/dist/crypto/evp/evp_acnf.c vendor-crypto/openssl/dist/crypto/evp/evp_enc.c vendor-crypto/openssl/dist/crypto/evp/evp_err.c vendor-crypto/openssl/dist/crypto/evp/evp_lib.c vendor-crypto/openssl/dist/crypto/evp/evp_locl.h vendor-crypto/openssl/dist/crypto/evp/evp_pbe.c vendor-crypto/openssl/dist/crypto/evp/evp_pkey.c vendor-crypto/openssl/dist/crypto/evp/evp_test.c vendor-crypto/openssl/dist/crypto/evp/m_dss.c vendor-crypto/openssl/dist/crypto/evp/m_dss1.c vendor-crypto/openssl/dist/crypto/evp/m_md2.c vendor-crypto/openssl/dist/crypto/evp/m_md4.c vendor-crypto/openssl/dist/crypto/evp/m_md5.c vendor-crypto/openssl/dist/crypto/evp/m_mdc2.c vendor-crypto/openssl/dist/crypto/evp/m_sha.c vendor-crypto/openssl/dist/crypto/evp/m_sha1.c vendor-crypto/openssl/dist/crypto/evp/names.c vendor-crypto/openssl/dist/crypto/evp/p5_crpt.c vendor-crypto/openssl/dist/crypto/evp/p5_crpt2.c vendor-crypto/openssl/dist/crypto/evp/p_sign.c vendor-crypto/openssl/dist/crypto/evp/p_verify.c vendor-crypto/openssl/dist/crypto/hmac/Makefile vendor-crypto/openssl/dist/crypto/hmac/hmac.c vendor-crypto/openssl/dist/crypto/idea/Makefile vendor-crypto/openssl/dist/crypto/idea/i_skey.c vendor-crypto/openssl/dist/crypto/idea/idea.h vendor-crypto/openssl/dist/crypto/krb5/Makefile vendor-crypto/openssl/dist/crypto/lhash/Makefile vendor-crypto/openssl/dist/crypto/md2/Makefile vendor-crypto/openssl/dist/crypto/md2/md2.h vendor-crypto/openssl/dist/crypto/md2/md2_dgst.c vendor-crypto/openssl/dist/crypto/md4/Makefile vendor-crypto/openssl/dist/crypto/md4/md4.h vendor-crypto/openssl/dist/crypto/md4/md4_dgst.c vendor-crypto/openssl/dist/crypto/md5/Makefile vendor-crypto/openssl/dist/crypto/md5/md5.h vendor-crypto/openssl/dist/crypto/md5/md5_dgst.c vendor-crypto/openssl/dist/crypto/mdc2/Makefile vendor-crypto/openssl/dist/crypto/mdc2/mdc2.h vendor-crypto/openssl/dist/crypto/mdc2/mdc2dgst.c vendor-crypto/openssl/dist/crypto/mem.c vendor-crypto/openssl/dist/crypto/mem_dbg.c vendor-crypto/openssl/dist/crypto/objects/Makefile vendor-crypto/openssl/dist/crypto/objects/obj_dat.h vendor-crypto/openssl/dist/crypto/objects/obj_dat.pl vendor-crypto/openssl/dist/crypto/objects/obj_mac.h vendor-crypto/openssl/dist/crypto/objects/obj_mac.num vendor-crypto/openssl/dist/crypto/objects/objects.txt vendor-crypto/openssl/dist/crypto/ocsp/Makefile vendor-crypto/openssl/dist/crypto/ocsp/ocsp_asn.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ht.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_srv.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_vfy.c vendor-crypto/openssl/dist/crypto/opensslconf.h vendor-crypto/openssl/dist/crypto/opensslconf.h.in vendor-crypto/openssl/dist/crypto/opensslv.h vendor-crypto/openssl/dist/crypto/ossl_typ.h vendor-crypto/openssl/dist/crypto/pem/Makefile vendor-crypto/openssl/dist/crypto/pem/pem.h vendor-crypto/openssl/dist/crypto/pem/pem_all.c vendor-crypto/openssl/dist/crypto/pem/pem_lib.c vendor-crypto/openssl/dist/crypto/pem/pem_x509.c vendor-crypto/openssl/dist/crypto/pem/pem_xaux.c vendor-crypto/openssl/dist/crypto/pkcs12/Makefile vendor-crypto/openssl/dist/crypto/pkcs12/p12_add.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_asn.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_attr.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_crpt.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_crt.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_decr.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_init.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_key.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_kiss.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_mutl.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_npas.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8d.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8e.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_utl.c vendor-crypto/openssl/dist/crypto/pkcs12/pkcs12.h vendor-crypto/openssl/dist/crypto/pkcs7/Makefile vendor-crypto/openssl/dist/crypto/pkcs7/pk7_asn1.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_attr.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_mime.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_smime.c vendor-crypto/openssl/dist/crypto/pqueue/Makefile vendor-crypto/openssl/dist/crypto/pqueue/pq_compat.h vendor-crypto/openssl/dist/crypto/rand/Makefile vendor-crypto/openssl/dist/crypto/rand/md_rand.c vendor-crypto/openssl/dist/crypto/rand/rand.h vendor-crypto/openssl/dist/crypto/rand/rand_err.c vendor-crypto/openssl/dist/crypto/rand/rand_lcl.h vendor-crypto/openssl/dist/crypto/rand/rand_lib.c vendor-crypto/openssl/dist/crypto/rand/rand_unix.c vendor-crypto/openssl/dist/crypto/rand/randfile.c vendor-crypto/openssl/dist/crypto/rc2/Makefile vendor-crypto/openssl/dist/crypto/rc2/rc2.h vendor-crypto/openssl/dist/crypto/rc2/rc2_skey.c vendor-crypto/openssl/dist/crypto/rc4/Makefile vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-x86_64.pl vendor-crypto/openssl/dist/crypto/rc4/rc4.h vendor-crypto/openssl/dist/crypto/rc4/rc4_skey.c vendor-crypto/openssl/dist/crypto/rc5/Makefile vendor-crypto/openssl/dist/crypto/rc5/rc5.h vendor-crypto/openssl/dist/crypto/rc5/rc5_skey.c vendor-crypto/openssl/dist/crypto/ripemd/Makefile vendor-crypto/openssl/dist/crypto/ripemd/README vendor-crypto/openssl/dist/crypto/ripemd/ripemd.h vendor-crypto/openssl/dist/crypto/ripemd/rmd_dgst.c vendor-crypto/openssl/dist/crypto/ripemd/rmd_locl.h vendor-crypto/openssl/dist/crypto/rsa/Makefile vendor-crypto/openssl/dist/crypto/rsa/rsa.h vendor-crypto/openssl/dist/crypto/rsa/rsa_asn1.c vendor-crypto/openssl/dist/crypto/rsa/rsa_eay.c vendor-crypto/openssl/dist/crypto/rsa/rsa_err.c vendor-crypto/openssl/dist/crypto/rsa/rsa_gen.c vendor-crypto/openssl/dist/crypto/rsa/rsa_lib.c vendor-crypto/openssl/dist/crypto/rsa/rsa_null.c vendor-crypto/openssl/dist/crypto/rsa/rsa_oaep.c vendor-crypto/openssl/dist/crypto/rsa/rsa_pss.c vendor-crypto/openssl/dist/crypto/rsa/rsa_sign.c vendor-crypto/openssl/dist/crypto/rsa/rsa_x931.c vendor-crypto/openssl/dist/crypto/seed/Makefile vendor-crypto/openssl/dist/crypto/sha/Makefile vendor-crypto/openssl/dist/crypto/sha/asm/sha1-ia64.pl vendor-crypto/openssl/dist/crypto/sha/sha.h vendor-crypto/openssl/dist/crypto/sha/sha1_one.c vendor-crypto/openssl/dist/crypto/sha/sha1dgst.c vendor-crypto/openssl/dist/crypto/sha/sha256.c vendor-crypto/openssl/dist/crypto/sha/sha512.c vendor-crypto/openssl/dist/crypto/sha/sha_dgst.c vendor-crypto/openssl/dist/crypto/sha/sha_locl.h vendor-crypto/openssl/dist/crypto/stack/Makefile vendor-crypto/openssl/dist/crypto/store/Makefile vendor-crypto/openssl/dist/crypto/symhacks.h vendor-crypto/openssl/dist/crypto/txt_db/Makefile vendor-crypto/openssl/dist/crypto/ui/Makefile vendor-crypto/openssl/dist/crypto/ui/ui_lib.c vendor-crypto/openssl/dist/crypto/ui/ui_openssl.c vendor-crypto/openssl/dist/crypto/x509/Makefile vendor-crypto/openssl/dist/crypto/x509/by_dir.c vendor-crypto/openssl/dist/crypto/x509/x509_cmp.c vendor-crypto/openssl/dist/crypto/x509/x509_trs.c vendor-crypto/openssl/dist/crypto/x509/x509_vpm.c vendor-crypto/openssl/dist/crypto/x509/x509cset.c vendor-crypto/openssl/dist/crypto/x509/x509spki.c vendor-crypto/openssl/dist/crypto/x509v3/Makefile vendor-crypto/openssl/dist/crypto/x509v3/ext_dat.h vendor-crypto/openssl/dist/crypto/x509v3/pcy_cache.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_data.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_int.h vendor-crypto/openssl/dist/crypto/x509v3/pcy_lib.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_map.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_node.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_tree.c vendor-crypto/openssl/dist/crypto/x509v3/tabtest.c vendor-crypto/openssl/dist/crypto/x509v3/v3_addr.c vendor-crypto/openssl/dist/crypto/x509v3/v3_akey.c vendor-crypto/openssl/dist/crypto/x509v3/v3_akeya.c vendor-crypto/openssl/dist/crypto/x509v3/v3_alt.c vendor-crypto/openssl/dist/crypto/x509v3/v3_bcons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_bitst.c vendor-crypto/openssl/dist/crypto/x509v3/v3_conf.c vendor-crypto/openssl/dist/crypto/x509v3/v3_cpols.c vendor-crypto/openssl/dist/crypto/x509v3/v3_crld.c vendor-crypto/openssl/dist/crypto/x509v3/v3_enum.c vendor-crypto/openssl/dist/crypto/x509v3/v3_extku.c vendor-crypto/openssl/dist/crypto/x509v3/v3_genn.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ia5.c vendor-crypto/openssl/dist/crypto/x509v3/v3_info.c vendor-crypto/openssl/dist/crypto/x509v3/v3_int.c vendor-crypto/openssl/dist/crypto/x509v3/v3_lib.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ncons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ocsp.c vendor-crypto/openssl/dist/crypto/x509v3/v3_pcons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_pku.c vendor-crypto/openssl/dist/crypto/x509v3/v3_pmaps.c vendor-crypto/openssl/dist/crypto/x509v3/v3_prn.c vendor-crypto/openssl/dist/crypto/x509v3/v3_purp.c vendor-crypto/openssl/dist/crypto/x509v3/v3_skey.c vendor-crypto/openssl/dist/crypto/x509v3/v3_sxnet.c vendor-crypto/openssl/dist/crypto/x509v3/v3_utl.c vendor-crypto/openssl/dist/crypto/x509v3/v3conf.c vendor-crypto/openssl/dist/crypto/x509v3/v3prin.c vendor-crypto/openssl/dist/crypto/x509v3/x509v3.h vendor-crypto/openssl/dist/demos/asn1/ocsp.c vendor-crypto/openssl/dist/doc/apps/rand.pod vendor-crypto/openssl/dist/doc/apps/x509.pod vendor-crypto/openssl/dist/doc/crypto/RAND_egd.pod vendor-crypto/openssl/dist/doc/ssl/SSL_CIPHER_get_name.pod vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_verify.pod vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_free.pod vendor-crypto/openssl/dist/doc/ssl/SSL_free.pod vendor-crypto/openssl/dist/doc/ssleay.txt vendor-crypto/openssl/dist/e_os.h vendor-crypto/openssl/dist/engines/Makefile vendor-crypto/openssl/dist/engines/e_aep.c vendor-crypto/openssl/dist/engines/e_chil.c vendor-crypto/openssl/dist/engines/e_chil_err.c vendor-crypto/openssl/dist/engines/e_chil_err.h vendor-crypto/openssl/dist/openssl.spec vendor-crypto/openssl/dist/ssl/Makefile vendor-crypto/openssl/dist/ssl/d1_enc.c vendor-crypto/openssl/dist/ssl/d1_lib.c vendor-crypto/openssl/dist/ssl/d1_pkt.c vendor-crypto/openssl/dist/ssl/kssl.c vendor-crypto/openssl/dist/ssl/s2_clnt.c vendor-crypto/openssl/dist/ssl/s2_srvr.c vendor-crypto/openssl/dist/ssl/s3_clnt.c vendor-crypto/openssl/dist/ssl/s3_pkt.c vendor-crypto/openssl/dist/ssl/s3_srvr.c vendor-crypto/openssl/dist/ssl/ssl_ciph.c vendor-crypto/openssl/dist/ssl/ssl_lib.c vendor-crypto/openssl/dist/ssl/ssl_locl.h vendor-crypto/openssl/dist/ssl/ssltest.c vendor-crypto/openssl/dist/ssl/t1_enc.c vendor-crypto/openssl/dist/test/CAss.cnf vendor-crypto/openssl/dist/test/Makefile vendor-crypto/openssl/dist/test/Uss.cnf vendor-crypto/openssl/dist/test/igetest.c vendor-crypto/openssl/dist/test/times vendor-crypto/openssl/dist/util/copy.pl vendor-crypto/openssl/dist/util/domd vendor-crypto/openssl/dist/util/libeay.num vendor-crypto/openssl/dist/util/mk1mf.pl vendor-crypto/openssl/dist/util/mkdef.pl vendor-crypto/openssl/dist/util/mkerr.pl vendor-crypto/openssl/dist/util/mkfiles.pl vendor-crypto/openssl/dist/util/mklink.pl vendor-crypto/openssl/dist/util/pl/VC-32.pl Modified: vendor-crypto/openssl/dist/CHANGES ============================================================================== --- vendor-crypto/openssl/dist/CHANGES Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/CHANGES Sun Jun 7 19:56:18 2009 (r193645) @@ -2,6 +2,88 @@ OpenSSL CHANGES _______________ + Changes between 0.9.8j and 0.9.8k [25 Mar 2009] + + *) Don't set val to NULL when freeing up structures, it is freed up by + underlying code. If sizeof(void *) > sizeof(long) this can result in + zeroing past the valid field. (CVE-2009-0789) + [Paolo Ganci ] + + *) Fix bug where return value of CMS_SignerInfo_verify_content() was not + checked correctly. This would allow some invalid signed attributes to + appear to verify correctly. (CVE-2009-0591) + [Ivan Nestlerode ] + + *) Reject UniversalString and BMPString types with invalid lengths. This + prevents a crash in ASN1_STRING_print_ex() which assumes the strings have + a legal length. (CVE-2009-0590) + [Steve Henson] + + *) Set S/MIME signing as the default purpose rather than setting it + unconditionally. This allows applications to override it at the store + level. + [Steve Henson] + + *) Permit restricted recursion of ASN1 strings. This is needed in practice + to handle some structures. + [Steve Henson] + + *) Improve efficiency of mem_gets: don't search whole buffer each time + for a '\n' + [Jeremy Shapiro ] + + *) New -hex option for openssl rand. + [Matthieu Herrb] + + *) Print out UTF8String and NumericString when parsing ASN1. + [Steve Henson] + + *) Support NumericString type for name components. + [Steve Henson] + + *) Allow CC in the environment to override the automatically chosen + compiler. Note that nothing is done to ensure flags work with the + chosen compiler. + [Ben Laurie] + + Changes between 0.9.8i and 0.9.8j [07 Jan 2009] + + *) Properly check EVP_VerifyFinal() and similar return values + (CVE-2008-5077). + [Ben Laurie, Bodo Moeller, Google Security Team] + + *) Enable TLS extensions by default. + [Ben Laurie] + + *) Allow the CHIL engine to be loaded, whether the application is + multithreaded or not. (This does not release the developer from the + obligation to set up the dynamic locking callbacks.) + [Sander Temme ] + + *) Use correct exit code if there is an error in dgst command. + [Steve Henson; problem pointed out by Roland Dirlewanger] + + *) Tweak Configure so that you need to say "experimental-jpake" to enable + JPAKE, and need to use -DOPENSSL_EXPERIMENTAL_JPAKE in applications. + [Bodo Moeller] + + *) Add experimental JPAKE support, including demo authentication in + s_client and s_server. + [Ben Laurie] + + *) Set the comparison function in v3_addr_canonize(). + [Rob Austein ] + + *) Add support for XMPP STARTTLS in s_client. + [Philip Paeps ] + + *) Change the server-side SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG behavior + to ensure that even with this option, only ciphersuites in the + server's preference list will be accepted. (Note that the option + applies only when resuming a session, so the earlier behavior was + just about the algorithm choice for symmetric cryptography.) + [Bodo Moeller] + Changes between 0.9.8h and 0.9.8i [15 Sep 2008] *) Fix a state transitition in s3_srvr.c and d1_srvr.c @@ -34,6 +116,10 @@ [Neel Mehta, Bodo Moeller] + *) Allow engines to be "soft loaded" - i.e. optionally don't die if + the load fails. Useful for distros. + [Ben Laurie and the FreeBSD team] + *) Add support for Local Machine Keyset attribute in PKCS#12 files. [Steve Henson] @@ -52,9 +138,11 @@ This work was sponsored by Logica. [Steve Henson] - *) Allow engines to be "soft loaded" - i.e. optionally don't die if - the load fails. Useful for distros. - [Ben Laurie and the FreeBSD team] + *) Fix bug in X509_ATTRIBUTE creation: dont set attribute using + ASN1_TYPE_set1 if MBSTRING flag set. This bug would crash certain + attribute creation routines such as certifcate requests and PKCS#12 + files. + [Steve Henson] Changes between 0.9.8g and 0.9.8h [28 May 2008] Modified: vendor-crypto/openssl/dist/Configure ============================================================================== --- vendor-crypto/openssl/dist/Configure Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/Configure Sun Jun 7 19:56:18 2009 (r193645) @@ -6,11 +6,13 @@ eval 'exec perl -S $0 ${1+"$@"}' ## require 5.000; -use strict; +eval 'use strict;'; + +print STDERR "Warning: perl module strict not found.\n" if ($@); # see INSTALL for instructions. -my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [enable-montasm] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n"; +my $usage="Usage: Configure [no- ...] [enable- ...] [experimental- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [enable-montasm] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n"; # Options: # @@ -99,6 +101,11 @@ my $usage="Usage: Configure [no- # SHA512_ASM sha512_block is implemented in assembler # AES_ASM ASE_[en|de]crypt is implemented in assembler +# Minimum warning options... any contributions to OpenSSL should at least get +# past these. + +my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED"; + my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL"; # MD2_CHAR slags pentium pros @@ -152,15 +159,15 @@ my %table=( "debug-ben", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o", "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", -"debug-ben-debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::::", +"debug-ben-debug", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -g3 -O2 -pipe::(unknown)::::::", "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", -"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", +"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll", -"debug-steve64", "gcc:-m64 -DL_ENDIAN -DTERMIO -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DOPENSSL_NO_DEPRECATED -g -pedantic -Wall -Werror -Wno-long-long -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"debug-steve32", "gcc:-m32 -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DOPENSSL_NO_DEPRECATED -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", -"debug-steve-opt", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -O3 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", "debug-steve-linux-pseudo64", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT:${no_asm}:dlfcn:linux-shared", "debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", @@ -577,6 +584,11 @@ my $prefix=""; my $openssldir=""; my $exe_ext=""; my $install_prefix=""; +my $fipslibdir="/usr/local/ssl/fips-1.0/lib/"; +my $nofipscanistercheck=0; +my $fipsdso=0; +my $fipscanisterinternal="n"; +my $baseaddr="0xFB00000"; my $no_threads=0; my $threads=0; my $no_shared=0; # but "no-shared" is default @@ -600,6 +612,7 @@ my $rc2 ="crypto/rc2/rc2.h"; my $bf ="crypto/bf/bf_locl.h"; my $bn_asm ="bn_asm.o"; my $des_enc="des_enc.o fcrypt_b.o"; +my $fips_des_enc="fips_des_enc.o"; my $aes_enc="aes_core.o aes_cbc.o"; my $bf_enc ="bf_enc.o"; my $cast_enc="c_enc.o"; @@ -611,32 +624,40 @@ my $rmd160_obj=""; my $processor=""; my $default_ranlib; my $perl; +my $fips=0; # All of the following is disabled by default (RC5 was enabled before 0.9.8): -my %disabled = ( # "what" => "comment" +my %disabled = ( # "what" => "comment" [or special keyword "experimental"] "camellia" => "default", "capieng" => "default", "cms" => "default", "gmp" => "default", + "jpake" => "experimental", "mdc2" => "default", "montasm" => "default", # explicit option in 0.9.8 only (implicitly enabled in 0.9.9) "rc5" => "default", "rfc3779" => "default", "seed" => "default", "shared" => "default", - "tlsext" => "default", "zlib" => "default", "zlib-dynamic" => "default" ); +my @experimental = (); + +# This is what $depflags will look like with the above defaults +# (we need this to see if we should advise the user to run "make depend"): +my $default_depflags = " -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED"; -# Additional "no-..." options will be collected in %disabled. -# To remove something from %disabled, use e.g. "enable-rc5". -# For symmetry, "disable-..." is a synonym for "no-...". -# This is what $depflags will look like with the above default: -my $default_depflags = "-DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED -DOPENSSL_NO_TLSEXT "; +# Explicit "no-..." options will be collected in %disabled along with the defaults. +# To remove something from %disabled, use "enable-foo" (unless it's experimental). +# For symmetry, "disable-foo" is a synonym for "no-foo". + +# For features called "experimental" here, a more explicit "experimental-foo" is needed to enable. +# We will collect such requests in @experimental. +# To avoid accidental use of experimental features, applications will have to use -DOPENSSL_EXPERIMENTAL_FOO. my $no_sse2=0; @@ -645,6 +666,7 @@ my $no_sse2=0; my $flags; my $depflags; +my $openssl_experimental_defines; my $openssl_algorithm_defines; my $openssl_thread_defines; my $openssl_sys_defines=""; @@ -665,6 +687,7 @@ while($argv_unprocessed) { $flags=""; $depflags=""; + $openssl_experimental_defines=""; $openssl_algorithm_defines=""; $openssl_thread_defines=""; $openssl_sys_defines=""; @@ -690,25 +713,35 @@ PROCESS_ARGS: if (/^no-(.+)$/ || /^disable-(.+)$/) { - if ($1 eq "ssl") - { - $disabled{"ssl2"} = "option(ssl)"; - $disabled{"ssl3"} = "option(ssl)"; - } - elsif ($1 eq "tls") + if (!($disabled{$1} eq "experimental")) { - $disabled{"tls1"} = "option(tls)" - } - else - { - $disabled{$1} = "option"; + if ($1 eq "ssl") + { + $disabled{"ssl2"} = "option(ssl)"; + $disabled{"ssl3"} = "option(ssl)"; + } + elsif ($1 eq "tls") + { + $disabled{"tls1"} = "option(tls)" + } + else + { + $disabled{$1} = "option"; + } } } - elsif (/^enable-(.+)$/) + elsif (/^enable-(.+)$/ || /^experimental-(.+)$/) { - delete $disabled{$1}; + my $algo = $1; + if ($disabled{$algo} eq "experimental") + { + die "You are requesting an experimental feature; please say 'experimental-$algo' if you are sure\n" + unless (/^experimental-/); + push @experimental, $algo; + } + delete $disabled{$algo}; - $threads = 1 if ($1 eq "threads"); + $threads = 1 if ($algo eq "threads"); } elsif (/^--test-sanity$/) { @@ -739,12 +772,36 @@ PROCESS_ARGS: } elsif (/^386$/) { $processor=386; } + elsif (/^fips$/) + { + $fips=1; + } elsif (/^rsaref$/) { # No RSAref support any more since it's not needed. # The check for the option is there so scripts aren't # broken } + elsif (/^nofipscanistercheck$/) + { + $fips = 1; + $nofipscanistercheck = 1; + } + elsif (/^fipscanisterbuild$/) + { + $fips = 1; + $nofipscanistercheck = 1; + $fipslibdir=""; + $fipscanisterinternal="y"; + } + elsif (/^fipsdso$/) + { + $fips = 1; + $nofipscanistercheck = 1; + $fipslibdir=""; + $fipscanisterinternal="y"; + $fipsdso = 1; + } elsif (/^[-+]/) { if (/^-[lL](.*)$/) @@ -779,6 +836,14 @@ PROCESS_ARGS: { $withargs{"zlib-include"}="-I$1"; } + elsif (/^--with-fipslibdir=(.*)$/) + { + $fipslibdir="$1/"; + } + elsif (/^--with-baseaddr=(.*)$/) + { + $baseaddr="$1"; + } else { print STDERR $usage; @@ -886,6 +951,54 @@ print "Configuring for $target\n"; &usage if (!defined($table{$target})); +my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); +my $cc = $fields[$idx_cc]; +# Allow environment CC to override compiler... +if($ENV{CC}) { + $cc = $ENV{CC}; +} +my $cflags = $fields[$idx_cflags]; +my $unistd = $fields[$idx_unistd]; +my $thread_cflag = $fields[$idx_thread_cflag]; +my $sys_id = $fields[$idx_sys_id]; +my $lflags = $fields[$idx_lflags]; +my $bn_ops = $fields[$idx_bn_ops]; +my $cpuid_obj = $fields[$idx_cpuid_obj]; +my $bn_obj = $fields[$idx_bn_obj]; +my $des_obj = $fields[$idx_des_obj]; +my $aes_obj = $fields[$idx_aes_obj]; +my $bf_obj = $fields[$idx_bf_obj]; +my $md5_obj = $fields[$idx_md5_obj]; +my $sha1_obj = $fields[$idx_sha1_obj]; +my $cast_obj = $fields[$idx_cast_obj]; +my $rc4_obj = $fields[$idx_rc4_obj]; +my $rmd160_obj = $fields[$idx_rmd160_obj]; +my $rc5_obj = $fields[$idx_rc5_obj]; +my $dso_scheme = $fields[$idx_dso_scheme]; +my $shared_target = $fields[$idx_shared_target]; +my $shared_cflag = $fields[$idx_shared_cflag]; +my $shared_ldflag = $fields[$idx_shared_ldflag]; +my $shared_extension = $fields[$idx_shared_extension]; +my $ranlib = $fields[$idx_ranlib]; +my $arflags = $fields[$idx_arflags]; + +if ($fips) + { + delete $disabled{"shared"} if ($disabled{"shared"} eq "default"); + $disabled{"asm"}="forced" + if ($target !~ "VC\-.*" && + "$cpuid_obj:$bn_obj:$aes_obj:$des_obj:$sha1_obj" eq "::::"); + } + +foreach (sort @experimental) + { + my $ALGO; + ($ALGO = $_) =~ tr/[a-z]/[A-Z]/; + + # opensslconf.h will set OPENSSL_NO_... unless OPENSSL_EXPERIMENTAL_... is defined + $openssl_experimental_defines .= "#define OPENSSL_NO_$ALGO\n"; + $cflags .= " -DOPENSSL_EXPERIMENTAL_$ALGO"; + } foreach (sort (keys %disabled)) { @@ -936,7 +1049,7 @@ foreach (sort (keys %disabled)) push @skip, $algo; print " (skip dir)"; - $depflags .="-DOPENSSL_NO_$ALGO "; + $depflags .= " -DOPENSSL_NO_$ALGO"; } } } @@ -944,15 +1057,26 @@ foreach (sort (keys %disabled)) print "\n"; } - my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; $IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys()); +$no_shared = 0 if ($fipsdso && !$IsMK1MF); + $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw"); $exe_ext=".nlm" if ($target =~ /netware/); $exe_ext=".pm" if ($target =~ /vos/); -$openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq ""); +if ($openssldir eq "" and $prefix eq "") + { + if ($fips) + { + $openssldir="/usr/local/ssl/fips"; + } + else + { + $openssldir="/usr/local/ssl"; + } + } $prefix=$openssldir if $prefix eq ""; $default_ranlib= &which("ranlib") or $default_ranlib="true"; @@ -960,7 +1084,7 @@ $perl=$ENV{'PERL'} or $perl=&which("perl or $perl="perl"; chop $openssldir if $openssldir =~ /\/$/; -chop $prefix if $prefix =~ /\/$/; +chop $prefix if $prefix =~ /.\/$/; $openssldir=$prefix . "/ssl" if $openssldir eq ""; $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/; @@ -968,33 +1092,6 @@ $openssldir=$prefix . "/" . $openssldir print "IsMK1MF=$IsMK1MF\n"; -my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); -my $cc = $fields[$idx_cc]; -my $cflags = $fields[$idx_cflags]; -my $unistd = $fields[$idx_unistd]; -my $thread_cflag = $fields[$idx_thread_cflag]; -my $sys_id = $fields[$idx_sys_id]; -my $lflags = $fields[$idx_lflags]; -my $bn_ops = $fields[$idx_bn_ops]; -my $cpuid_obj = $fields[$idx_cpuid_obj]; -my $bn_obj = $fields[$idx_bn_obj]; -my $des_obj = $fields[$idx_des_obj]; -my $aes_obj = $fields[$idx_aes_obj]; -my $bf_obj = $fields[$idx_bf_obj]; -my $md5_obj = $fields[$idx_md5_obj]; -my $sha1_obj = $fields[$idx_sha1_obj]; -my $cast_obj = $fields[$idx_cast_obj]; -my $rc4_obj = $fields[$idx_rc4_obj]; -my $rmd160_obj = $fields[$idx_rmd160_obj]; -my $rc5_obj = $fields[$idx_rc5_obj]; -my $dso_scheme = $fields[$idx_dso_scheme]; -my $shared_target = $fields[$idx_shared_target]; -my $shared_cflag = $fields[$idx_shared_cflag]; -my $shared_ldflag = $fields[$idx_shared_ldflag]; -my $shared_extension = $fields[$idx_shared_extension]; -my $ranlib = $fields[$idx_ranlib]; -my $arflags = $fields[$idx_arflags]; - # '%' in $lflags is used to split flags to "pre-" and post-flags my ($prelflags,$postlflags)=split('%',$lflags); if (defined($postlflags)) { $lflags=$postlflags; } @@ -1128,6 +1225,8 @@ if ($no_asm) { $cpuid_obj=$bn_obj=$des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj=""; $sha1_obj=$md5_obj=$rmd160_obj=""; + $cflags=~s/\-D[BL]_ENDIAN// if ($fips); + $thread_cflags=~s/\-D[BL]_ENDIAN// if ($fips); } if ($montasm) { @@ -1166,7 +1265,7 @@ if ($zlib) my $shared_mark = ""; if ($shared_target eq "") { - $no_shared_warn = 1 if !$no_shared; + $no_shared_warn = 1 if !$no_shared && !$fips; $no_shared = 1; } if (!$no_shared) @@ -1255,8 +1354,14 @@ $bn_obj = $bn_asm unless $bn_obj ne ""; # bn86* is the only one implementing bn_*_part_words $cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn86/); $cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /bn86/); + $cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /\-mont|mo86\-/); +if ($fips) + { + $openssl_other_defines.="#define OPENSSL_FIPS\n"; + } + $des_obj=$des_enc unless ($des_obj =~ /\.o$/); $bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/); $cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/); @@ -1341,10 +1446,13 @@ while () if ($sdirs) { my $dir; foreach $dir (@skip) { - s/([ ])$dir /\1/; + s/(\s)$dir\s/$1/; + s/\s$dir$//; } } $sdirs = 0 unless /\\$/; + s/fips // if (/^DIRS=/ && !$fips); + s/engines // if (/^DIRS=/ && $disabled{"engine"}); s/^VERSION=.*/VERSION=$version/; s/^MAJOR=.*/MAJOR=$major/; s/^MINOR=.*/MINOR=$minor/; @@ -1362,7 +1470,7 @@ while () s/^CC=.*$/CC= $cc/; s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc"; s/^CFLAG=.*$/CFLAG= $cflags/; - s/^DEPFLAG=.*$/DEPFLAG= $depflags/; + s/^DEPFLAG=.*$/DEPFLAG=$depflags/; s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/; s/^EX_LIBS=.*$/EX_LIBS= $lflags/; s/^EXE_EXT=.*$/EXE_EXT= $exe_ext/; @@ -1385,9 +1493,24 @@ while () s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/; s/^LIBZLIB=.*/LIBZLIB=$withargs{"zlib-lib"}/; s/^ZLIB_INCLUDE=.*/ZLIB_INCLUDE=$withargs{"zlib-include"}/; + s/^FIPSLIBDIR=.*/FIPSLIBDIR=$fipslibdir/; + if ($fipsdso) + { + s/^FIPSCANLIB=.*/FIPSCANLIB=libfips/; + s/^SHARED_FIPS=.*/SHARED_FIPS=libfips\$(SHLIB_EXT)/; + s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl fips/; + } + else + { + s/^FIPSCANLIB=.*/FIPSCANLIB=libcrypto/ if $fips; + s/^SHARED_FIPS=.*/SHARED_FIPS=/; + s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl/; + } + s/^FIPSCANISTERINTERNAL=.*/FIPSCANISTERINTERNAL=$fipscanisterinternal/; + s/^BASEADDR=.*/BASEADDR=$baseaddr/; s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/; s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/; - s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared); + s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_FIPS) \$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared); if ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*$/) { my $sotmp = $1; @@ -1491,6 +1614,7 @@ print OUT "/* WARNING: Generated automat print OUT "/* OpenSSL was configured with the following options: */\n"; my $openssl_algorithm_defines_trans = $openssl_algorithm_defines; +$openssl_experimental_defines =~ s/^\s*#\s*define\s+OPENSSL_NO_(.*)/#ifndef OPENSSL_EXPERIMENTAL_$1\n# ifndef OPENSSL_NO_$1\n# define OPENSSL_NO_$1\n# endif\n#endif/mg; $openssl_algorithm_defines_trans =~ s/^\s*#\s*define\s+OPENSSL_(.*)/# if defined(OPENSSL_$1) \&\& !defined($1)\n# define $1\n# endif/mg; $openssl_algorithm_defines =~ s/^\s*#\s*define\s+(.*)/#ifndef $1\n# define $1\n#endif/mg; $openssl_algorithm_defines = " /* no ciphers excluded */\n" if $openssl_algorithm_defines eq ""; @@ -1499,8 +1623,10 @@ $openssl_sys_defines =~ s/^\s*#\s*define $openssl_other_defines =~ s/^\s*#\s*define\s+(.*)/#ifndef $1\n# define $1\n#endif/mg; print OUT $openssl_sys_defines; print OUT "#ifndef OPENSSL_DOING_MAKEDEPEND\n\n"; +print OUT $openssl_experimental_defines; +print OUT "\n"; print OUT $openssl_algorithm_defines; -print OUT "\n#endif /* OPENSSL_DOING_MAKEDEPEND */\n"; +print OUT "\n#endif /* OPENSSL_DOING_MAKEDEPEND */\n\n"; print OUT $openssl_thread_defines; print OUT $openssl_other_defines,"\n"; @@ -1682,9 +1808,16 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN +#if defined(FIPS) + VALUE "Comments", "WARNING: TEST VERSION ONLY ***NOT*** FIPS 140-2 VALIDATED.\\0" +#endif // Required: VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0" +#if defined(FIPS) + VALUE "FileDescription", "TEST UNVALIDATED FIPS140-2 DLL\\0" +#else VALUE "FileDescription", "OpenSSL Shared Library\\0" +#endif VALUE "FileVersion", "$version\\0" #if defined(CRYPTO) VALUE "InternalName", "libeay32\\0" @@ -1692,12 +1825,15 @@ BEGIN #elif defined(SSL) VALUE "InternalName", "ssleay32\\0" VALUE "OriginalFilename", "ssleay32.dll\\0" +#elif defined(FIPS) + VALUE "InternalName", "libosslfips\\0" + VALUE "OriginalFilename", "libosslfips.dll\\0" #endif VALUE "ProductName", "The OpenSSL Toolkit\\0" VALUE "ProductVersion", "$version\\0" // Optional: //VALUE "Comments", "\\0" - VALUE "LegalCopyright", "Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0" + VALUE "LegalCopyright", "Copyright © 1998-2007 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0" //VALUE "LegalTrademarks", "\\0" //VALUE "PrivateBuild", "\\0" //VALUE "SpecialBuild", "\\0" @@ -1734,6 +1870,21 @@ libraries on this platform, they will at (but please first make sure you have tried with a current version of OpenSSL). EOF +print <<\EOF if ($fipscanisterinternal eq "y"); + +WARNING: OpenSSL has been configured using unsupported option(s) to internally +generate a fipscanister.o object module for TESTING PURPOSES ONLY; that +compiled module is NOT FIPS 140-2 validated and CANNOT be used to replace the +OpenSSL FIPS Object Module as identified by the CMVP +(http://csrc.nist.gov/cryptval/) in any application requiring the use of FIPS +140-2 validated software. + +This is an OpenSSL 0.9.8 test version. + +See the file README.FIPS for details of how to build a test library. + +EOF + exit(0); sub usage Modified: vendor-crypto/openssl/dist/FAQ ============================================================================== --- vendor-crypto/openssl/dist/FAQ Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/FAQ Sun Jun 7 19:56:18 2009 (r193645) @@ -78,7 +78,7 @@ OpenSSL - Frequently Asked Questions * Which is the current version of OpenSSL? The current version is available from . -OpenSSL 0.9.8i was released on Sep 15th, 2008. +OpenSSL 0.9.8k was released on Mar 25th, 2009. In addition to the current stable release, you can also access daily snapshots of the OpenSSL development version at &2; \ exit 1; \ @@ -256,12 +371,32 @@ libcrypto$(SHLIB_EXT): libcrypto.a libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a @if [ "$(SHLIB_TARGET)" != "" ]; then \ - $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ + shlibdeps=-lcrypto; \ + [ "$(FIPSCANLIB)" = "libfips" ] && shlibdeps="$$shlibdeps -lfips"; \ + $(MAKE) SHLIBDIRS=ssl SHLIBDEPS="$$shlibdeps" build-shared; \ + else \ + echo "There's no support for shared libraries on this platform" >&2 ; \ + exit 1; \ + fi + +fips/fipscanister.o: build_fips +libfips$(SHLIB_EXT): fips/fipscanister.o + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + FIPSLD_CC=$(CC); CC=fips/fipsld; export CC FIPSLD_CC; \ + $(MAKE) -f Makefile.shared -e $(BUILDENV) \ + CC=$${CC} LIBNAME=fips THIS=$@ \ + LIBEXTRAS=fips/fipscanister.o \ + LIBDEPS="$(EX_LIBS)" \ + LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \ + link_o.$(SHLIB_TARGET) || { rm -f $@; exit 1; } \ else \ echo "There's no support for shared libraries on this platform" >&2; \ exit 1; \ fi +libfips.a: + dir=fips; target=all; $(BUILD_ONE_CMD) + clean-shared: @set -e; for i in $(SHLIBDIRS); do \ if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ @@ -371,6 +506,9 @@ links: @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) @set -e; target=links; $(RECURSIVE_BUILD_CMD) + @if [ -z "$(FIPSCANLIB)" ]; then \ + set -e; target=links; dir=fips ; $(BUILD_CMD) ; \ + fi gentests: @(cd test && echo "generating dummy tests (if needed)..." && \ Modified: vendor-crypto/openssl/dist/Makefile.org ============================================================================== --- vendor-crypto/openssl/dist/Makefile.org Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/Makefile.org Sun Jun 7 19:56:18 2009 (r193645) @@ -65,6 +65,7 @@ EX_LIBS= EXE_EXT= ARFLAGS= AR=ar $(ARFLAGS) r +ARD=ar $(ARFLAGS) d RANLIB= ranlib PERL= perl TAR= tar @@ -104,8 +105,34 @@ LIBKRB5= ZLIB_INCLUDE= LIBZLIB= -DIRS= crypto ssl engines apps test tools -SHLIBDIRS= crypto ssl +# This is the location of fipscanister.o and friends. +# The FIPS module build will place it $(INSTALLTOP)/lib +# but since $(INSTALLTOP) can only take the default value +# when the module is built it will be in /usr/local/ssl/lib +# $(INSTALLTOP) for this build make be different so hard +# code the path. + +FIPSLIBDIR=/usr/local/ssl/lib/ + +# This is set to "y" if fipscanister.o is compiled internally as +# opposed to coming from an external validated location. + +FIPSCANISTERINTERNAL=n + +# The location of the library which contains fipscanister.o +# normally it will be libcrypto unless fipsdso is set in which +# case it will be libfips. If not compiling in FIPS mode at all +# this is empty making it a useful test for a FIPS compile. + +FIPSCANLIB= + +# Shared library base address. Currently only used on Windows. +# + +BASEADDR= + +DIRS= crypto fips ssl engines apps test tools +SHLIBDIRS= crypto ssl fips # dirs in crypto to build SDIRS= \ @@ -115,7 +142,7 @@ SDIRS= \ bn ec rsa dsa ecdsa dh ecdh dso engine \ buffer bio stack lhash rand err \ evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ - store cms pqueue + store cms pqueue jpake # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... @@ -138,6 +165,7 @@ WDIRS= windows LIBS= libcrypto.a libssl.a SHARED_CRYPTO=libcrypto$(SHLIB_EXT) SHARED_SSL=libssl$(SHLIB_EXT) +SHARED_FIPS= SHARED_LIBS= SHARED_LIBS_LINK_EXTS= SHARED_LDFLAGS= @@ -191,6 +219,10 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESS SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \ MD5_ASM_OBJ='${MD5_ASM_OBJ}' \ RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \ + FIPSLIBDIR='${FIPSLIBDIR}' \ + FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ + FIPSCANISTERINTERNAL='${FIPSCANISTERINTERNAL}' \ + FIPS_EX_OBJ='${FIPS_EX_OBJ}' \ THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= # MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, # which in turn eliminates ambiguities in variable treatment with -e. @@ -209,7 +241,8 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESS # subdirectories defined in $(DIRS). It requires that the target # is given through the shell variable `target'. BUILD_CMD= if [ -d "$$dir" ]; then \ - ( cd $$dir && echo "making $$target in $$dir..." && \ + ( [ $$target != all -a -z "$(FIPSCANLIB)" ] && FIPSCANLIB=/dev/null; \ + cd $$dir && echo "making $$target in $$dir..." && \ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ ) || exit 1; \ fi @@ -222,13 +255,84 @@ BUILD_ONE_CMD=\ reflect: @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:56:22 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4063106566B; Sun, 7 Jun 2009 19:56:19 +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 99F9F8FC1B; Sun, 7 Jun 2009 19:56:19 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JuJIP003558; Sun, 7 Jun 2009 19:56:19 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JuJan003551; Sun, 7 Jun 2009 19:56:19 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906071956.n57JuJan003551@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 19:56:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193645 - in vendor-crypto/openssl/dist: . apps crypto crypto/aes crypto/aes/asm crypto/asn1 crypto/bf crypto/bio crypto/bn crypto/bn/asm crypto/buffer crypto/camellia crypto/camellia/a... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:56:22 -0000 Author: simon Date: Sun Jun 7 19:56:18 2009 New Revision: 193645 URL: http://svn.freebsd.org/changeset/base/193645 Log: Import OpenSSL 0.9.8k. Added: vendor-crypto/openssl/dist/apps/genpkey.c (contents, props changed) vendor-crypto/openssl/dist/apps/md4.c (contents, props changed) vendor-crypto/openssl/dist/apps/pkey.c (contents, props changed) vendor-crypto/openssl/dist/apps/pkeyparam.c (contents, props changed) vendor-crypto/openssl/dist/apps/pkeyutl.c (contents, props changed) vendor-crypto/openssl/dist/apps/ts.c (contents, props changed) vendor-crypto/openssl/dist/apps/tsget vendor-crypto/openssl/dist/crypto/aes/aes_x86core.c (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-armv4.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-ppc.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-s390x.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-sparcv9.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/ameth_lib.c (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_locl.h (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/bio_asn1.c (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/bio_ndef.c (contents, props changed) vendor-crypto/openssl/dist/crypto/asn1/x_nx509.c (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/alpha-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/armv4-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/mips3-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ppc-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ppc64-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/s390x-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/s390x.S (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv9a-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/via-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86-mont.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/bn_opt.c (contents, props changed) vendor-crypto/openssl/dist/crypto/bn/bn_x931p.c (contents, props changed) vendor-crypto/openssl/dist/crypto/buffer/buf_str.c (contents, props changed) vendor-crypto/openssl/dist/crypto/camellia/asm/ vendor-crypto/openssl/dist/crypto/camellia/asm/cmll-x86.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/camellia/asm/cmll-x86_64.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/des/des_lib.c (contents, props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_utl.c (contents, props changed) vendor-crypto/openssl/dist/crypto/dyn_lck.c (contents, props changed) vendor-crypto/openssl/dist/crypto/err/err_bio.c (contents, props changed) vendor-crypto/openssl/dist/crypto/err/err_def.c (contents, props changed) vendor-crypto/openssl/dist/crypto/err/err_str.c (contents, props changed) vendor-crypto/openssl/dist/crypto/evp/dig_eng.c (contents, props changed) vendor-crypto/openssl/dist/crypto/evp/enc_min.c (contents, props changed) vendor-crypto/openssl/dist/crypto/evp/evp_cnf.c (contents, props changed) vendor-crypto/openssl/dist/crypto/fips_err.c (contents, props changed) vendor-crypto/openssl/dist/crypto/fips_err.h (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/ vendor-crypto/openssl/dist/crypto/jpake/Makefile (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpake.c (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpake.h (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpake_err.c (contents, props changed) vendor-crypto/openssl/dist/crypto/jpake/jpaketest.c (contents, props changed) vendor-crypto/openssl/dist/crypto/o_init.c (contents, props changed) vendor-crypto/openssl/dist/crypto/ppccpuid.pl (contents, props changed) vendor-crypto/openssl/dist/crypto/rand/rand_eng.c (contents, props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_fblk.c (contents, props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_eng.c (contents, props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_x931g.c (contents, props changed) vendor-crypto/openssl/dist/crypto/s390xcpuid.S (contents, props changed) vendor-crypto/openssl/dist/crypto/sparcv9cap.c (contents, props changed) vendor-crypto/openssl/dist/demos/jpake/ vendor-crypto/openssl/dist/demos/jpake/Makefile (contents, props changed) vendor-crypto/openssl/dist/demos/jpake/jpakedemo.c (contents, props changed) vendor-crypto/openssl/dist/fips/ vendor-crypto/openssl/dist/fips/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/aes/ vendor-crypto/openssl/dist/fips/aes/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/aes/fips_aes_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/aes/fips_aesavs.c (contents, props changed) vendor-crypto/openssl/dist/fips/des/ vendor-crypto/openssl/dist/fips/des/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/des/fips_des_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/des/fips_desmovs.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/ vendor-crypto/openssl/dist/fips/dh/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/dh/dh_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_check.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_key.c (contents, props changed) vendor-crypto/openssl/dist/fips/dh/fips_dh_lib.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/ vendor-crypto/openssl/dist/fips/dsa/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_key.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_lib.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_ossl.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsa_sign.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dsatest.c (contents, props changed) vendor-crypto/openssl/dist/fips/dsa/fips_dssvs.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips-nodiff.txt (contents, props changed) vendor-crypto/openssl/dist/fips/fips.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips.h (contents, props changed) vendor-crypto/openssl/dist/fips/fips_canister.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips_locl.h (contents, props changed) vendor-crypto/openssl/dist/fips/fips_premain.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips_premain.c.sha1 vendor-crypto/openssl/dist/fips/fips_test_suite.c (contents, props changed) vendor-crypto/openssl/dist/fips/fips_utl.h (contents, props changed) vendor-crypto/openssl/dist/fips/fipsalgtest.pl (contents, props changed) vendor-crypto/openssl/dist/fips/fipsld (contents, props changed) vendor-crypto/openssl/dist/fips/fipstests.sh (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/ vendor-crypto/openssl/dist/fips/hmac/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/fips_hmac.c (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/fips_hmac_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/hmac/fips_hmactest.c (contents, props changed) vendor-crypto/openssl/dist/fips/mkfipsscr.pl (contents, props changed) vendor-crypto/openssl/dist/fips/openssl_fips_fingerprint (contents, props changed) vendor-crypto/openssl/dist/fips/rand/ vendor-crypto/openssl/dist/fips/rand/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rand.c (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rand.h (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rand_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_randtest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rand/fips_rngvs.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/ vendor-crypto/openssl/dist/fips/rsa/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_eay.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_gen.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_lib.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_sign.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsa_x931g.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsagtest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsastest.c (contents, props changed) vendor-crypto/openssl/dist/fips/rsa/fips_rsavtest.c (contents, props changed) vendor-crypto/openssl/dist/fips/sha/ vendor-crypto/openssl/dist/fips/sha/Makefile (contents, props changed) vendor-crypto/openssl/dist/fips/sha/fips_sha1_selftest.c (contents, props changed) vendor-crypto/openssl/dist/fips/sha/fips_shatest.c (contents, props changed) vendor-crypto/openssl/dist/fips/sha/fips_standalone_sha1.c (contents, props changed) vendor-crypto/openssl/dist/test/SHAmix.r vendor-crypto/openssl/dist/test/SHAmix.x vendor-crypto/openssl/dist/test/bftest.c (contents, props changed) vendor-crypto/openssl/dist/test/bntest.c (contents, props changed) vendor-crypto/openssl/dist/test/casttest.c (contents, props changed) vendor-crypto/openssl/dist/test/destest.c (contents, props changed) vendor-crypto/openssl/dist/test/dhtest.c (contents, props changed) vendor-crypto/openssl/dist/test/dsatest.c (contents, props changed) vendor-crypto/openssl/dist/test/ecdhtest.c (contents, props changed) vendor-crypto/openssl/dist/test/ecdsatest.c (contents, props changed) vendor-crypto/openssl/dist/test/ectest.c (contents, props changed) vendor-crypto/openssl/dist/test/enginetest.c (contents, props changed) vendor-crypto/openssl/dist/test/evp_test.c (contents, props changed) vendor-crypto/openssl/dist/test/exptest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_aesavs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_desmovs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_dsatest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_dssvs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_hmactest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_randtest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rngvs.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rsagtest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rsastest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_rsavtest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_shatest.c (contents, props changed) vendor-crypto/openssl/dist/test/fips_test_suite.c (contents, props changed) vendor-crypto/openssl/dist/test/hmactest.c (contents, props changed) vendor-crypto/openssl/dist/test/ideatest.c (contents, props changed) vendor-crypto/openssl/dist/test/jpaketest.c (contents, props changed) vendor-crypto/openssl/dist/test/md2test.c (contents, props changed) vendor-crypto/openssl/dist/test/md4test.c (contents, props changed) vendor-crypto/openssl/dist/test/md5test.c (contents, props changed) vendor-crypto/openssl/dist/test/mdc2test.c (contents, props changed) vendor-crypto/openssl/dist/test/randtest.c (contents, props changed) vendor-crypto/openssl/dist/test/rc2test.c (contents, props changed) vendor-crypto/openssl/dist/test/rc4test.c (contents, props changed) vendor-crypto/openssl/dist/test/rc5test.c (contents, props changed) vendor-crypto/openssl/dist/test/rmdtest.c (contents, props changed) vendor-crypto/openssl/dist/test/rsa_test.c (contents, props changed) vendor-crypto/openssl/dist/test/sha1test.c (contents, props changed) vendor-crypto/openssl/dist/test/sha256t.c (contents, props changed) vendor-crypto/openssl/dist/test/sha512t.c (contents, props changed) vendor-crypto/openssl/dist/test/shatest.c (contents, props changed) vendor-crypto/openssl/dist/test/ssltest.c (contents, props changed) vendor-crypto/openssl/dist/test/testfipsssl vendor-crypto/openssl/dist/util/arx.pl (contents, props changed) vendor-crypto/openssl/dist/util/fipslink.pl (contents, props changed) vendor-crypto/openssl/dist/util/mksdef.pl (contents, props changed) Modified: vendor-crypto/openssl/dist/CHANGES vendor-crypto/openssl/dist/Configure vendor-crypto/openssl/dist/FAQ vendor-crypto/openssl/dist/Makefile vendor-crypto/openssl/dist/Makefile.org vendor-crypto/openssl/dist/Makefile.shared vendor-crypto/openssl/dist/NEWS vendor-crypto/openssl/dist/README vendor-crypto/openssl/dist/apps/Makefile vendor-crypto/openssl/dist/apps/apps.c vendor-crypto/openssl/dist/apps/apps.h vendor-crypto/openssl/dist/apps/asn1pars.c vendor-crypto/openssl/dist/apps/ca.c vendor-crypto/openssl/dist/apps/crl.c vendor-crypto/openssl/dist/apps/dgst.c vendor-crypto/openssl/dist/apps/dsa.c vendor-crypto/openssl/dist/apps/enc.c vendor-crypto/openssl/dist/apps/engine.c vendor-crypto/openssl/dist/apps/genrsa.c vendor-crypto/openssl/dist/apps/nseq.c vendor-crypto/openssl/dist/apps/ocsp.c vendor-crypto/openssl/dist/apps/openssl.c vendor-crypto/openssl/dist/apps/pkcs12.c vendor-crypto/openssl/dist/apps/pkcs8.c vendor-crypto/openssl/dist/apps/rand.c vendor-crypto/openssl/dist/apps/rsautl.c vendor-crypto/openssl/dist/apps/s_client.c vendor-crypto/openssl/dist/apps/s_server.c vendor-crypto/openssl/dist/apps/smime.c vendor-crypto/openssl/dist/apps/speed.c vendor-crypto/openssl/dist/apps/spkac.c vendor-crypto/openssl/dist/apps/verify.c vendor-crypto/openssl/dist/apps/version.c vendor-crypto/openssl/dist/apps/x509.c vendor-crypto/openssl/dist/config vendor-crypto/openssl/dist/crypto/Makefile vendor-crypto/openssl/dist/crypto/aes/Makefile vendor-crypto/openssl/dist/crypto/aes/aes.h vendor-crypto/openssl/dist/crypto/aes/aes_cbc.c vendor-crypto/openssl/dist/crypto/aes/aes_core.c vendor-crypto/openssl/dist/crypto/aes/asm/aes-586.pl vendor-crypto/openssl/dist/crypto/aes/asm/aes-x86_64.pl vendor-crypto/openssl/dist/crypto/asn1/Makefile vendor-crypto/openssl/dist/crypto/asn1/a_bytes.c vendor-crypto/openssl/dist/crypto/asn1/a_mbstr.c vendor-crypto/openssl/dist/crypto/asn1/a_sign.c vendor-crypto/openssl/dist/crypto/asn1/a_strex.c vendor-crypto/openssl/dist/crypto/asn1/a_strnid.c vendor-crypto/openssl/dist/crypto/asn1/a_verify.c vendor-crypto/openssl/dist/crypto/asn1/asn1.h vendor-crypto/openssl/dist/crypto/asn1/asn1_err.c vendor-crypto/openssl/dist/crypto/asn1/asn1_gen.c vendor-crypto/openssl/dist/crypto/asn1/asn1_par.c vendor-crypto/openssl/dist/crypto/asn1/asn1t.h vendor-crypto/openssl/dist/crypto/asn1/asn_mime.c vendor-crypto/openssl/dist/crypto/asn1/asn_moid.c vendor-crypto/openssl/dist/crypto/asn1/asn_pack.c vendor-crypto/openssl/dist/crypto/asn1/nsseq.c vendor-crypto/openssl/dist/crypto/asn1/p5_pbe.c vendor-crypto/openssl/dist/crypto/asn1/p5_pbev2.c vendor-crypto/openssl/dist/crypto/asn1/p8_pkey.c vendor-crypto/openssl/dist/crypto/asn1/t_bitst.c vendor-crypto/openssl/dist/crypto/asn1/t_crl.c vendor-crypto/openssl/dist/crypto/asn1/t_spki.c vendor-crypto/openssl/dist/crypto/asn1/t_x509.c vendor-crypto/openssl/dist/crypto/asn1/t_x509a.c vendor-crypto/openssl/dist/crypto/asn1/tasn_dec.c vendor-crypto/openssl/dist/crypto/asn1/tasn_enc.c vendor-crypto/openssl/dist/crypto/asn1/tasn_fre.c vendor-crypto/openssl/dist/crypto/asn1/tasn_new.c vendor-crypto/openssl/dist/crypto/asn1/tasn_prn.c vendor-crypto/openssl/dist/crypto/asn1/tasn_typ.c vendor-crypto/openssl/dist/crypto/asn1/tasn_utl.c vendor-crypto/openssl/dist/crypto/asn1/x_algor.c vendor-crypto/openssl/dist/crypto/asn1/x_bignum.c vendor-crypto/openssl/dist/crypto/asn1/x_exten.c vendor-crypto/openssl/dist/crypto/asn1/x_long.c vendor-crypto/openssl/dist/crypto/asn1/x_x509a.c vendor-crypto/openssl/dist/crypto/bf/Makefile vendor-crypto/openssl/dist/crypto/bf/bf_skey.c vendor-crypto/openssl/dist/crypto/bf/blowfish.h vendor-crypto/openssl/dist/crypto/bio/Makefile vendor-crypto/openssl/dist/crypto/bio/bss_bio.c vendor-crypto/openssl/dist/crypto/bio/bss_file.c vendor-crypto/openssl/dist/crypto/bio/bss_mem.c vendor-crypto/openssl/dist/crypto/bio/bss_sock.c vendor-crypto/openssl/dist/crypto/bn/Makefile vendor-crypto/openssl/dist/crypto/bn/bn.h vendor-crypto/openssl/dist/crypto/bn/bn_lib.c vendor-crypto/openssl/dist/crypto/bn/bn_nist.c vendor-crypto/openssl/dist/crypto/bn/bn_rand.c vendor-crypto/openssl/dist/crypto/bn/bn_shift.c vendor-crypto/openssl/dist/crypto/bn/bntest.c vendor-crypto/openssl/dist/crypto/buffer/Makefile vendor-crypto/openssl/dist/crypto/buffer/buffer.c vendor-crypto/openssl/dist/crypto/camellia/Makefile vendor-crypto/openssl/dist/crypto/camellia/camellia.h vendor-crypto/openssl/dist/crypto/camellia/cmll_misc.c vendor-crypto/openssl/dist/crypto/cast/Makefile vendor-crypto/openssl/dist/crypto/cast/c_skey.c vendor-crypto/openssl/dist/crypto/cast/cast.h vendor-crypto/openssl/dist/crypto/cms/Makefile vendor-crypto/openssl/dist/crypto/cms/cms_sd.c vendor-crypto/openssl/dist/crypto/cms/cms_smime.c vendor-crypto/openssl/dist/crypto/comp/Makefile vendor-crypto/openssl/dist/crypto/comp/c_zlib.c vendor-crypto/openssl/dist/crypto/conf/Makefile vendor-crypto/openssl/dist/crypto/conf/conf_mall.c vendor-crypto/openssl/dist/crypto/conf/conf_mod.c vendor-crypto/openssl/dist/crypto/conf/conf_sap.c vendor-crypto/openssl/dist/crypto/cryptlib.c vendor-crypto/openssl/dist/crypto/crypto.h vendor-crypto/openssl/dist/crypto/des/Makefile vendor-crypto/openssl/dist/crypto/des/asm/des_enc.m4 vendor-crypto/openssl/dist/crypto/des/des_enc.c vendor-crypto/openssl/dist/crypto/des/ecb_enc.c vendor-crypto/openssl/dist/crypto/des/enc_read.c vendor-crypto/openssl/dist/crypto/des/enc_writ.c vendor-crypto/openssl/dist/crypto/des/set_key.c vendor-crypto/openssl/dist/crypto/des/times/usparc.cc vendor-crypto/openssl/dist/crypto/dh/Makefile vendor-crypto/openssl/dist/crypto/dh/dh.h vendor-crypto/openssl/dist/crypto/dh/dh_asn1.c vendor-crypto/openssl/dist/crypto/dh/dh_check.c vendor-crypto/openssl/dist/crypto/dh/dh_err.c vendor-crypto/openssl/dist/crypto/dh/dh_gen.c vendor-crypto/openssl/dist/crypto/dh/dh_key.c vendor-crypto/openssl/dist/crypto/dsa/Makefile vendor-crypto/openssl/dist/crypto/dsa/dsa.h vendor-crypto/openssl/dist/crypto/dsa/dsa_asn1.c vendor-crypto/openssl/dist/crypto/dsa/dsa_err.c vendor-crypto/openssl/dist/crypto/dsa/dsa_gen.c vendor-crypto/openssl/dist/crypto/dsa/dsa_key.c vendor-crypto/openssl/dist/crypto/dsa/dsa_lib.c vendor-crypto/openssl/dist/crypto/dsa/dsa_ossl.c vendor-crypto/openssl/dist/crypto/dsa/dsa_sign.c vendor-crypto/openssl/dist/crypto/dsa/dsa_vrf.c vendor-crypto/openssl/dist/crypto/dso/Makefile vendor-crypto/openssl/dist/crypto/ec/Makefile vendor-crypto/openssl/dist/crypto/ec/ec_key.c vendor-crypto/openssl/dist/crypto/ecdh/Makefile vendor-crypto/openssl/dist/crypto/ecdsa/Makefile vendor-crypto/openssl/dist/crypto/engine/Makefile vendor-crypto/openssl/dist/crypto/engine/eng_cnf.c vendor-crypto/openssl/dist/crypto/engine/eng_padlock.c vendor-crypto/openssl/dist/crypto/engine/enginetest.c vendor-crypto/openssl/dist/crypto/err/Makefile vendor-crypto/openssl/dist/crypto/err/err.c vendor-crypto/openssl/dist/crypto/err/err.h vendor-crypto/openssl/dist/crypto/err/err_all.c vendor-crypto/openssl/dist/crypto/err/err_prn.c vendor-crypto/openssl/dist/crypto/err/openssl.ec vendor-crypto/openssl/dist/crypto/evp/Makefile vendor-crypto/openssl/dist/crypto/evp/bio_md.c vendor-crypto/openssl/dist/crypto/evp/digest.c vendor-crypto/openssl/dist/crypto/evp/e_aes.c vendor-crypto/openssl/dist/crypto/evp/e_camellia.c vendor-crypto/openssl/dist/crypto/evp/e_des.c vendor-crypto/openssl/dist/crypto/evp/e_des3.c vendor-crypto/openssl/dist/crypto/evp/e_null.c vendor-crypto/openssl/dist/crypto/evp/e_rc4.c vendor-crypto/openssl/dist/crypto/evp/evp.h vendor-crypto/openssl/dist/crypto/evp/evp_acnf.c vendor-crypto/openssl/dist/crypto/evp/evp_enc.c vendor-crypto/openssl/dist/crypto/evp/evp_err.c vendor-crypto/openssl/dist/crypto/evp/evp_lib.c vendor-crypto/openssl/dist/crypto/evp/evp_locl.h vendor-crypto/openssl/dist/crypto/evp/evp_pbe.c vendor-crypto/openssl/dist/crypto/evp/evp_pkey.c vendor-crypto/openssl/dist/crypto/evp/evp_test.c vendor-crypto/openssl/dist/crypto/evp/m_dss.c vendor-crypto/openssl/dist/crypto/evp/m_dss1.c vendor-crypto/openssl/dist/crypto/evp/m_md2.c vendor-crypto/openssl/dist/crypto/evp/m_md4.c vendor-crypto/openssl/dist/crypto/evp/m_md5.c vendor-crypto/openssl/dist/crypto/evp/m_mdc2.c vendor-crypto/openssl/dist/crypto/evp/m_sha.c vendor-crypto/openssl/dist/crypto/evp/m_sha1.c vendor-crypto/openssl/dist/crypto/evp/names.c vendor-crypto/openssl/dist/crypto/evp/p5_crpt.c vendor-crypto/openssl/dist/crypto/evp/p5_crpt2.c vendor-crypto/openssl/dist/crypto/evp/p_sign.c vendor-crypto/openssl/dist/crypto/evp/p_verify.c vendor-crypto/openssl/dist/crypto/hmac/Makefile vendor-crypto/openssl/dist/crypto/hmac/hmac.c vendor-crypto/openssl/dist/crypto/idea/Makefile vendor-crypto/openssl/dist/crypto/idea/i_skey.c vendor-crypto/openssl/dist/crypto/idea/idea.h vendor-crypto/openssl/dist/crypto/krb5/Makefile vendor-crypto/openssl/dist/crypto/lhash/Makefile vendor-crypto/openssl/dist/crypto/md2/Makefile vendor-crypto/openssl/dist/crypto/md2/md2.h vendor-crypto/openssl/dist/crypto/md2/md2_dgst.c vendor-crypto/openssl/dist/crypto/md4/Makefile vendor-crypto/openssl/dist/crypto/md4/md4.h vendor-crypto/openssl/dist/crypto/md4/md4_dgst.c vendor-crypto/openssl/dist/crypto/md5/Makefile vendor-crypto/openssl/dist/crypto/md5/md5.h vendor-crypto/openssl/dist/crypto/md5/md5_dgst.c vendor-crypto/openssl/dist/crypto/mdc2/Makefile vendor-crypto/openssl/dist/crypto/mdc2/mdc2.h vendor-crypto/openssl/dist/crypto/mdc2/mdc2dgst.c vendor-crypto/openssl/dist/crypto/mem.c vendor-crypto/openssl/dist/crypto/mem_dbg.c vendor-crypto/openssl/dist/crypto/objects/Makefile vendor-crypto/openssl/dist/crypto/objects/obj_dat.h vendor-crypto/openssl/dist/crypto/objects/obj_dat.pl vendor-crypto/openssl/dist/crypto/objects/obj_mac.h vendor-crypto/openssl/dist/crypto/objects/obj_mac.num vendor-crypto/openssl/dist/crypto/objects/objects.txt vendor-crypto/openssl/dist/crypto/ocsp/Makefile vendor-crypto/openssl/dist/crypto/ocsp/ocsp_asn.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ht.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_srv.c vendor-crypto/openssl/dist/crypto/ocsp/ocsp_vfy.c vendor-crypto/openssl/dist/crypto/opensslconf.h vendor-crypto/openssl/dist/crypto/opensslconf.h.in vendor-crypto/openssl/dist/crypto/opensslv.h vendor-crypto/openssl/dist/crypto/ossl_typ.h vendor-crypto/openssl/dist/crypto/pem/Makefile vendor-crypto/openssl/dist/crypto/pem/pem.h vendor-crypto/openssl/dist/crypto/pem/pem_all.c vendor-crypto/openssl/dist/crypto/pem/pem_lib.c vendor-crypto/openssl/dist/crypto/pem/pem_x509.c vendor-crypto/openssl/dist/crypto/pem/pem_xaux.c vendor-crypto/openssl/dist/crypto/pkcs12/Makefile vendor-crypto/openssl/dist/crypto/pkcs12/p12_add.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_asn.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_attr.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_crpt.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_crt.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_decr.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_init.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_key.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_kiss.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_mutl.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_npas.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8d.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8e.c vendor-crypto/openssl/dist/crypto/pkcs12/p12_utl.c vendor-crypto/openssl/dist/crypto/pkcs12/pkcs12.h vendor-crypto/openssl/dist/crypto/pkcs7/Makefile vendor-crypto/openssl/dist/crypto/pkcs7/pk7_asn1.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_attr.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_mime.c vendor-crypto/openssl/dist/crypto/pkcs7/pk7_smime.c vendor-crypto/openssl/dist/crypto/pqueue/Makefile vendor-crypto/openssl/dist/crypto/pqueue/pq_compat.h vendor-crypto/openssl/dist/crypto/rand/Makefile vendor-crypto/openssl/dist/crypto/rand/md_rand.c vendor-crypto/openssl/dist/crypto/rand/rand.h vendor-crypto/openssl/dist/crypto/rand/rand_err.c vendor-crypto/openssl/dist/crypto/rand/rand_lcl.h vendor-crypto/openssl/dist/crypto/rand/rand_lib.c vendor-crypto/openssl/dist/crypto/rand/rand_unix.c vendor-crypto/openssl/dist/crypto/rand/randfile.c vendor-crypto/openssl/dist/crypto/rc2/Makefile vendor-crypto/openssl/dist/crypto/rc2/rc2.h vendor-crypto/openssl/dist/crypto/rc2/rc2_skey.c vendor-crypto/openssl/dist/crypto/rc4/Makefile vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-x86_64.pl vendor-crypto/openssl/dist/crypto/rc4/rc4.h vendor-crypto/openssl/dist/crypto/rc4/rc4_skey.c vendor-crypto/openssl/dist/crypto/rc5/Makefile vendor-crypto/openssl/dist/crypto/rc5/rc5.h vendor-crypto/openssl/dist/crypto/rc5/rc5_skey.c vendor-crypto/openssl/dist/crypto/ripemd/Makefile vendor-crypto/openssl/dist/crypto/ripemd/README vendor-crypto/openssl/dist/crypto/ripemd/ripemd.h vendor-crypto/openssl/dist/crypto/ripemd/rmd_dgst.c vendor-crypto/openssl/dist/crypto/ripemd/rmd_locl.h vendor-crypto/openssl/dist/crypto/rsa/Makefile vendor-crypto/openssl/dist/crypto/rsa/rsa.h vendor-crypto/openssl/dist/crypto/rsa/rsa_asn1.c vendor-crypto/openssl/dist/crypto/rsa/rsa_eay.c vendor-crypto/openssl/dist/crypto/rsa/rsa_err.c vendor-crypto/openssl/dist/crypto/rsa/rsa_gen.c vendor-crypto/openssl/dist/crypto/rsa/rsa_lib.c vendor-crypto/openssl/dist/crypto/rsa/rsa_null.c vendor-crypto/openssl/dist/crypto/rsa/rsa_oaep.c vendor-crypto/openssl/dist/crypto/rsa/rsa_pss.c vendor-crypto/openssl/dist/crypto/rsa/rsa_sign.c vendor-crypto/openssl/dist/crypto/rsa/rsa_x931.c vendor-crypto/openssl/dist/crypto/seed/Makefile vendor-crypto/openssl/dist/crypto/sha/Makefile vendor-crypto/openssl/dist/crypto/sha/asm/sha1-ia64.pl vendor-crypto/openssl/dist/crypto/sha/sha.h vendor-crypto/openssl/dist/crypto/sha/sha1_one.c vendor-crypto/openssl/dist/crypto/sha/sha1dgst.c vendor-crypto/openssl/dist/crypto/sha/sha256.c vendor-crypto/openssl/dist/crypto/sha/sha512.c vendor-crypto/openssl/dist/crypto/sha/sha_dgst.c vendor-crypto/openssl/dist/crypto/sha/sha_locl.h vendor-crypto/openssl/dist/crypto/stack/Makefile vendor-crypto/openssl/dist/crypto/store/Makefile vendor-crypto/openssl/dist/crypto/symhacks.h vendor-crypto/openssl/dist/crypto/txt_db/Makefile vendor-crypto/openssl/dist/crypto/ui/Makefile vendor-crypto/openssl/dist/crypto/ui/ui_lib.c vendor-crypto/openssl/dist/crypto/ui/ui_openssl.c vendor-crypto/openssl/dist/crypto/x509/Makefile vendor-crypto/openssl/dist/crypto/x509/by_dir.c vendor-crypto/openssl/dist/crypto/x509/x509_cmp.c vendor-crypto/openssl/dist/crypto/x509/x509_trs.c vendor-crypto/openssl/dist/crypto/x509/x509_vpm.c vendor-crypto/openssl/dist/crypto/x509/x509cset.c vendor-crypto/openssl/dist/crypto/x509/x509spki.c vendor-crypto/openssl/dist/crypto/x509v3/Makefile vendor-crypto/openssl/dist/crypto/x509v3/ext_dat.h vendor-crypto/openssl/dist/crypto/x509v3/pcy_cache.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_data.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_int.h vendor-crypto/openssl/dist/crypto/x509v3/pcy_lib.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_map.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_node.c vendor-crypto/openssl/dist/crypto/x509v3/pcy_tree.c vendor-crypto/openssl/dist/crypto/x509v3/tabtest.c vendor-crypto/openssl/dist/crypto/x509v3/v3_addr.c vendor-crypto/openssl/dist/crypto/x509v3/v3_akey.c vendor-crypto/openssl/dist/crypto/x509v3/v3_akeya.c vendor-crypto/openssl/dist/crypto/x509v3/v3_alt.c vendor-crypto/openssl/dist/crypto/x509v3/v3_bcons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_bitst.c vendor-crypto/openssl/dist/crypto/x509v3/v3_conf.c vendor-crypto/openssl/dist/crypto/x509v3/v3_cpols.c vendor-crypto/openssl/dist/crypto/x509v3/v3_crld.c vendor-crypto/openssl/dist/crypto/x509v3/v3_enum.c vendor-crypto/openssl/dist/crypto/x509v3/v3_extku.c vendor-crypto/openssl/dist/crypto/x509v3/v3_genn.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ia5.c vendor-crypto/openssl/dist/crypto/x509v3/v3_info.c vendor-crypto/openssl/dist/crypto/x509v3/v3_int.c vendor-crypto/openssl/dist/crypto/x509v3/v3_lib.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ncons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_ocsp.c vendor-crypto/openssl/dist/crypto/x509v3/v3_pcons.c vendor-crypto/openssl/dist/crypto/x509v3/v3_pku.c vendor-crypto/openssl/dist/crypto/x509v3/v3_pmaps.c vendor-crypto/openssl/dist/crypto/x509v3/v3_prn.c vendor-crypto/openssl/dist/crypto/x509v3/v3_purp.c vendor-crypto/openssl/dist/crypto/x509v3/v3_skey.c vendor-crypto/openssl/dist/crypto/x509v3/v3_sxnet.c vendor-crypto/openssl/dist/crypto/x509v3/v3_utl.c vendor-crypto/openssl/dist/crypto/x509v3/v3conf.c vendor-crypto/openssl/dist/crypto/x509v3/v3prin.c vendor-crypto/openssl/dist/crypto/x509v3/x509v3.h vendor-crypto/openssl/dist/demos/asn1/ocsp.c vendor-crypto/openssl/dist/doc/apps/rand.pod vendor-crypto/openssl/dist/doc/apps/x509.pod vendor-crypto/openssl/dist/doc/crypto/RAND_egd.pod vendor-crypto/openssl/dist/doc/ssl/SSL_CIPHER_get_name.pod vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_verify.pod vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_free.pod vendor-crypto/openssl/dist/doc/ssl/SSL_free.pod vendor-crypto/openssl/dist/doc/ssleay.txt vendor-crypto/openssl/dist/e_os.h vendor-crypto/openssl/dist/engines/Makefile vendor-crypto/openssl/dist/engines/e_aep.c vendor-crypto/openssl/dist/engines/e_chil.c vendor-crypto/openssl/dist/engines/e_chil_err.c vendor-crypto/openssl/dist/engines/e_chil_err.h vendor-crypto/openssl/dist/openssl.spec vendor-crypto/openssl/dist/ssl/Makefile vendor-crypto/openssl/dist/ssl/d1_enc.c vendor-crypto/openssl/dist/ssl/d1_lib.c vendor-crypto/openssl/dist/ssl/d1_pkt.c vendor-crypto/openssl/dist/ssl/kssl.c vendor-crypto/openssl/dist/ssl/s2_clnt.c vendor-crypto/openssl/dist/ssl/s2_srvr.c vendor-crypto/openssl/dist/ssl/s3_clnt.c vendor-crypto/openssl/dist/ssl/s3_pkt.c vendor-crypto/openssl/dist/ssl/s3_srvr.c vendor-crypto/openssl/dist/ssl/ssl_ciph.c vendor-crypto/openssl/dist/ssl/ssl_lib.c vendor-crypto/openssl/dist/ssl/ssl_locl.h vendor-crypto/openssl/dist/ssl/ssltest.c vendor-crypto/openssl/dist/ssl/t1_enc.c vendor-crypto/openssl/dist/test/CAss.cnf vendor-crypto/openssl/dist/test/Makefile vendor-crypto/openssl/dist/test/Uss.cnf vendor-crypto/openssl/dist/test/igetest.c vendor-crypto/openssl/dist/test/times vendor-crypto/openssl/dist/util/copy.pl vendor-crypto/openssl/dist/util/domd vendor-crypto/openssl/dist/util/libeay.num vendor-crypto/openssl/dist/util/mk1mf.pl vendor-crypto/openssl/dist/util/mkdef.pl vendor-crypto/openssl/dist/util/mkerr.pl vendor-crypto/openssl/dist/util/mkfiles.pl vendor-crypto/openssl/dist/util/mklink.pl vendor-crypto/openssl/dist/util/pl/VC-32.pl Modified: vendor-crypto/openssl/dist/CHANGES ============================================================================== --- vendor-crypto/openssl/dist/CHANGES Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/CHANGES Sun Jun 7 19:56:18 2009 (r193645) @@ -2,6 +2,88 @@ OpenSSL CHANGES _______________ + Changes between 0.9.8j and 0.9.8k [25 Mar 2009] + + *) Don't set val to NULL when freeing up structures, it is freed up by + underlying code. If sizeof(void *) > sizeof(long) this can result in + zeroing past the valid field. (CVE-2009-0789) + [Paolo Ganci ] + + *) Fix bug where return value of CMS_SignerInfo_verify_content() was not + checked correctly. This would allow some invalid signed attributes to + appear to verify correctly. (CVE-2009-0591) + [Ivan Nestlerode ] + + *) Reject UniversalString and BMPString types with invalid lengths. This + prevents a crash in ASN1_STRING_print_ex() which assumes the strings have + a legal length. (CVE-2009-0590) + [Steve Henson] + + *) Set S/MIME signing as the default purpose rather than setting it + unconditionally. This allows applications to override it at the store + level. + [Steve Henson] + + *) Permit restricted recursion of ASN1 strings. This is needed in practice + to handle some structures. + [Steve Henson] + + *) Improve efficiency of mem_gets: don't search whole buffer each time + for a '\n' + [Jeremy Shapiro ] + + *) New -hex option for openssl rand. + [Matthieu Herrb] + + *) Print out UTF8String and NumericString when parsing ASN1. + [Steve Henson] + + *) Support NumericString type for name components. + [Steve Henson] + + *) Allow CC in the environment to override the automatically chosen + compiler. Note that nothing is done to ensure flags work with the + chosen compiler. + [Ben Laurie] + + Changes between 0.9.8i and 0.9.8j [07 Jan 2009] + + *) Properly check EVP_VerifyFinal() and similar return values + (CVE-2008-5077). + [Ben Laurie, Bodo Moeller, Google Security Team] + + *) Enable TLS extensions by default. + [Ben Laurie] + + *) Allow the CHIL engine to be loaded, whether the application is + multithreaded or not. (This does not release the developer from the + obligation to set up the dynamic locking callbacks.) + [Sander Temme ] + + *) Use correct exit code if there is an error in dgst command. + [Steve Henson; problem pointed out by Roland Dirlewanger] + + *) Tweak Configure so that you need to say "experimental-jpake" to enable + JPAKE, and need to use -DOPENSSL_EXPERIMENTAL_JPAKE in applications. + [Bodo Moeller] + + *) Add experimental JPAKE support, including demo authentication in + s_client and s_server. + [Ben Laurie] + + *) Set the comparison function in v3_addr_canonize(). + [Rob Austein ] + + *) Add support for XMPP STARTTLS in s_client. + [Philip Paeps ] + + *) Change the server-side SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG behavior + to ensure that even with this option, only ciphersuites in the + server's preference list will be accepted. (Note that the option + applies only when resuming a session, so the earlier behavior was + just about the algorithm choice for symmetric cryptography.) + [Bodo Moeller] + Changes between 0.9.8h and 0.9.8i [15 Sep 2008] *) Fix a state transitition in s3_srvr.c and d1_srvr.c @@ -34,6 +116,10 @@ [Neel Mehta, Bodo Moeller] + *) Allow engines to be "soft loaded" - i.e. optionally don't die if + the load fails. Useful for distros. + [Ben Laurie and the FreeBSD team] + *) Add support for Local Machine Keyset attribute in PKCS#12 files. [Steve Henson] @@ -52,9 +138,11 @@ This work was sponsored by Logica. [Steve Henson] - *) Allow engines to be "soft loaded" - i.e. optionally don't die if - the load fails. Useful for distros. - [Ben Laurie and the FreeBSD team] + *) Fix bug in X509_ATTRIBUTE creation: dont set attribute using + ASN1_TYPE_set1 if MBSTRING flag set. This bug would crash certain + attribute creation routines such as certifcate requests and PKCS#12 + files. + [Steve Henson] Changes between 0.9.8g and 0.9.8h [28 May 2008] Modified: vendor-crypto/openssl/dist/Configure ============================================================================== --- vendor-crypto/openssl/dist/Configure Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/Configure Sun Jun 7 19:56:18 2009 (r193645) @@ -6,11 +6,13 @@ eval 'exec perl -S $0 ${1+"$@"}' ## require 5.000; -use strict; +eval 'use strict;'; + +print STDERR "Warning: perl module strict not found.\n" if ($@); # see INSTALL for instructions. -my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [enable-montasm] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n"; +my $usage="Usage: Configure [no- ...] [enable- ...] [experimental- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [enable-montasm] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]\n"; # Options: # @@ -99,6 +101,11 @@ my $usage="Usage: Configure [no- # SHA512_ASM sha512_block is implemented in assembler # AES_ASM ASE_[en|de]crypt is implemented in assembler +# Minimum warning options... any contributions to OpenSSL should at least get +# past these. + +my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED"; + my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL"; # MD2_CHAR slags pentium pros @@ -152,15 +159,15 @@ my %table=( "debug-ben", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o", "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", -"debug-ben-debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::::", +"debug-ben-debug", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -g3 -O2 -pipe::(unknown)::::::", "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", -"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", +"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll", -"debug-steve64", "gcc:-m64 -DL_ENDIAN -DTERMIO -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DOPENSSL_NO_DEPRECATED -g -pedantic -Wall -Werror -Wno-long-long -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -"debug-steve32", "gcc:-m32 -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DOPENSSL_NO_DEPRECATED -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", -"debug-steve-opt", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -m32 -O3 -g -pedantic -Wno-long-long -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared", "debug-steve-linux-pseudo64", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT:${no_asm}:dlfcn:linux-shared", "debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", @@ -577,6 +584,11 @@ my $prefix=""; my $openssldir=""; my $exe_ext=""; my $install_prefix=""; +my $fipslibdir="/usr/local/ssl/fips-1.0/lib/"; +my $nofipscanistercheck=0; +my $fipsdso=0; +my $fipscanisterinternal="n"; +my $baseaddr="0xFB00000"; my $no_threads=0; my $threads=0; my $no_shared=0; # but "no-shared" is default @@ -600,6 +612,7 @@ my $rc2 ="crypto/rc2/rc2.h"; my $bf ="crypto/bf/bf_locl.h"; my $bn_asm ="bn_asm.o"; my $des_enc="des_enc.o fcrypt_b.o"; +my $fips_des_enc="fips_des_enc.o"; my $aes_enc="aes_core.o aes_cbc.o"; my $bf_enc ="bf_enc.o"; my $cast_enc="c_enc.o"; @@ -611,32 +624,40 @@ my $rmd160_obj=""; my $processor=""; my $default_ranlib; my $perl; +my $fips=0; # All of the following is disabled by default (RC5 was enabled before 0.9.8): -my %disabled = ( # "what" => "comment" +my %disabled = ( # "what" => "comment" [or special keyword "experimental"] "camellia" => "default", "capieng" => "default", "cms" => "default", "gmp" => "default", + "jpake" => "experimental", "mdc2" => "default", "montasm" => "default", # explicit option in 0.9.8 only (implicitly enabled in 0.9.9) "rc5" => "default", "rfc3779" => "default", "seed" => "default", "shared" => "default", - "tlsext" => "default", "zlib" => "default", "zlib-dynamic" => "default" ); +my @experimental = (); + +# This is what $depflags will look like with the above defaults +# (we need this to see if we should advise the user to run "make depend"): +my $default_depflags = " -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED"; -# Additional "no-..." options will be collected in %disabled. -# To remove something from %disabled, use e.g. "enable-rc5". -# For symmetry, "disable-..." is a synonym for "no-...". -# This is what $depflags will look like with the above default: -my $default_depflags = "-DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED -DOPENSSL_NO_TLSEXT "; +# Explicit "no-..." options will be collected in %disabled along with the defaults. +# To remove something from %disabled, use "enable-foo" (unless it's experimental). +# For symmetry, "disable-foo" is a synonym for "no-foo". + +# For features called "experimental" here, a more explicit "experimental-foo" is needed to enable. +# We will collect such requests in @experimental. +# To avoid accidental use of experimental features, applications will have to use -DOPENSSL_EXPERIMENTAL_FOO. my $no_sse2=0; @@ -645,6 +666,7 @@ my $no_sse2=0; my $flags; my $depflags; +my $openssl_experimental_defines; my $openssl_algorithm_defines; my $openssl_thread_defines; my $openssl_sys_defines=""; @@ -665,6 +687,7 @@ while($argv_unprocessed) { $flags=""; $depflags=""; + $openssl_experimental_defines=""; $openssl_algorithm_defines=""; $openssl_thread_defines=""; $openssl_sys_defines=""; @@ -690,25 +713,35 @@ PROCESS_ARGS: if (/^no-(.+)$/ || /^disable-(.+)$/) { - if ($1 eq "ssl") - { - $disabled{"ssl2"} = "option(ssl)"; - $disabled{"ssl3"} = "option(ssl)"; - } - elsif ($1 eq "tls") + if (!($disabled{$1} eq "experimental")) { - $disabled{"tls1"} = "option(tls)" - } - else - { - $disabled{$1} = "option"; + if ($1 eq "ssl") + { + $disabled{"ssl2"} = "option(ssl)"; + $disabled{"ssl3"} = "option(ssl)"; + } + elsif ($1 eq "tls") + { + $disabled{"tls1"} = "option(tls)" + } + else + { + $disabled{$1} = "option"; + } } } - elsif (/^enable-(.+)$/) + elsif (/^enable-(.+)$/ || /^experimental-(.+)$/) { - delete $disabled{$1}; + my $algo = $1; + if ($disabled{$algo} eq "experimental") + { + die "You are requesting an experimental feature; please say 'experimental-$algo' if you are sure\n" + unless (/^experimental-/); + push @experimental, $algo; + } + delete $disabled{$algo}; - $threads = 1 if ($1 eq "threads"); + $threads = 1 if ($algo eq "threads"); } elsif (/^--test-sanity$/) { @@ -739,12 +772,36 @@ PROCESS_ARGS: } elsif (/^386$/) { $processor=386; } + elsif (/^fips$/) + { + $fips=1; + } elsif (/^rsaref$/) { # No RSAref support any more since it's not needed. # The check for the option is there so scripts aren't # broken } + elsif (/^nofipscanistercheck$/) + { + $fips = 1; + $nofipscanistercheck = 1; + } + elsif (/^fipscanisterbuild$/) + { + $fips = 1; + $nofipscanistercheck = 1; + $fipslibdir=""; + $fipscanisterinternal="y"; + } + elsif (/^fipsdso$/) + { + $fips = 1; + $nofipscanistercheck = 1; + $fipslibdir=""; + $fipscanisterinternal="y"; + $fipsdso = 1; + } elsif (/^[-+]/) { if (/^-[lL](.*)$/) @@ -779,6 +836,14 @@ PROCESS_ARGS: { $withargs{"zlib-include"}="-I$1"; } + elsif (/^--with-fipslibdir=(.*)$/) + { + $fipslibdir="$1/"; + } + elsif (/^--with-baseaddr=(.*)$/) + { + $baseaddr="$1"; + } else { print STDERR $usage; @@ -886,6 +951,54 @@ print "Configuring for $target\n"; &usage if (!defined($table{$target})); +my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); +my $cc = $fields[$idx_cc]; +# Allow environment CC to override compiler... +if($ENV{CC}) { + $cc = $ENV{CC}; +} +my $cflags = $fields[$idx_cflags]; +my $unistd = $fields[$idx_unistd]; +my $thread_cflag = $fields[$idx_thread_cflag]; +my $sys_id = $fields[$idx_sys_id]; +my $lflags = $fields[$idx_lflags]; +my $bn_ops = $fields[$idx_bn_ops]; +my $cpuid_obj = $fields[$idx_cpuid_obj]; +my $bn_obj = $fields[$idx_bn_obj]; +my $des_obj = $fields[$idx_des_obj]; +my $aes_obj = $fields[$idx_aes_obj]; +my $bf_obj = $fields[$idx_bf_obj]; +my $md5_obj = $fields[$idx_md5_obj]; +my $sha1_obj = $fields[$idx_sha1_obj]; +my $cast_obj = $fields[$idx_cast_obj]; +my $rc4_obj = $fields[$idx_rc4_obj]; +my $rmd160_obj = $fields[$idx_rmd160_obj]; +my $rc5_obj = $fields[$idx_rc5_obj]; +my $dso_scheme = $fields[$idx_dso_scheme]; +my $shared_target = $fields[$idx_shared_target]; +my $shared_cflag = $fields[$idx_shared_cflag]; +my $shared_ldflag = $fields[$idx_shared_ldflag]; +my $shared_extension = $fields[$idx_shared_extension]; +my $ranlib = $fields[$idx_ranlib]; +my $arflags = $fields[$idx_arflags]; + +if ($fips) + { + delete $disabled{"shared"} if ($disabled{"shared"} eq "default"); + $disabled{"asm"}="forced" + if ($target !~ "VC\-.*" && + "$cpuid_obj:$bn_obj:$aes_obj:$des_obj:$sha1_obj" eq "::::"); + } + +foreach (sort @experimental) + { + my $ALGO; + ($ALGO = $_) =~ tr/[a-z]/[A-Z]/; + + # opensslconf.h will set OPENSSL_NO_... unless OPENSSL_EXPERIMENTAL_... is defined + $openssl_experimental_defines .= "#define OPENSSL_NO_$ALGO\n"; + $cflags .= " -DOPENSSL_EXPERIMENTAL_$ALGO"; + } foreach (sort (keys %disabled)) { @@ -936,7 +1049,7 @@ foreach (sort (keys %disabled)) push @skip, $algo; print " (skip dir)"; - $depflags .="-DOPENSSL_NO_$ALGO "; + $depflags .= " -DOPENSSL_NO_$ALGO"; } } } @@ -944,15 +1057,26 @@ foreach (sort (keys %disabled)) print "\n"; } - my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; $IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys()); +$no_shared = 0 if ($fipsdso && !$IsMK1MF); + $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw"); $exe_ext=".nlm" if ($target =~ /netware/); $exe_ext=".pm" if ($target =~ /vos/); -$openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq ""); +if ($openssldir eq "" and $prefix eq "") + { + if ($fips) + { + $openssldir="/usr/local/ssl/fips"; + } + else + { + $openssldir="/usr/local/ssl"; + } + } $prefix=$openssldir if $prefix eq ""; $default_ranlib= &which("ranlib") or $default_ranlib="true"; @@ -960,7 +1084,7 @@ $perl=$ENV{'PERL'} or $perl=&which("perl or $perl="perl"; chop $openssldir if $openssldir =~ /\/$/; -chop $prefix if $prefix =~ /\/$/; +chop $prefix if $prefix =~ /.\/$/; $openssldir=$prefix . "/ssl" if $openssldir eq ""; $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/; @@ -968,33 +1092,6 @@ $openssldir=$prefix . "/" . $openssldir print "IsMK1MF=$IsMK1MF\n"; -my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); -my $cc = $fields[$idx_cc]; -my $cflags = $fields[$idx_cflags]; -my $unistd = $fields[$idx_unistd]; -my $thread_cflag = $fields[$idx_thread_cflag]; -my $sys_id = $fields[$idx_sys_id]; -my $lflags = $fields[$idx_lflags]; -my $bn_ops = $fields[$idx_bn_ops]; -my $cpuid_obj = $fields[$idx_cpuid_obj]; -my $bn_obj = $fields[$idx_bn_obj]; -my $des_obj = $fields[$idx_des_obj]; -my $aes_obj = $fields[$idx_aes_obj]; -my $bf_obj = $fields[$idx_bf_obj]; -my $md5_obj = $fields[$idx_md5_obj]; -my $sha1_obj = $fields[$idx_sha1_obj]; -my $cast_obj = $fields[$idx_cast_obj]; -my $rc4_obj = $fields[$idx_rc4_obj]; -my $rmd160_obj = $fields[$idx_rmd160_obj]; -my $rc5_obj = $fields[$idx_rc5_obj]; -my $dso_scheme = $fields[$idx_dso_scheme]; -my $shared_target = $fields[$idx_shared_target]; -my $shared_cflag = $fields[$idx_shared_cflag]; -my $shared_ldflag = $fields[$idx_shared_ldflag]; -my $shared_extension = $fields[$idx_shared_extension]; -my $ranlib = $fields[$idx_ranlib]; -my $arflags = $fields[$idx_arflags]; - # '%' in $lflags is used to split flags to "pre-" and post-flags my ($prelflags,$postlflags)=split('%',$lflags); if (defined($postlflags)) { $lflags=$postlflags; } @@ -1128,6 +1225,8 @@ if ($no_asm) { $cpuid_obj=$bn_obj=$des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj=""; $sha1_obj=$md5_obj=$rmd160_obj=""; + $cflags=~s/\-D[BL]_ENDIAN// if ($fips); + $thread_cflags=~s/\-D[BL]_ENDIAN// if ($fips); } if ($montasm) { @@ -1166,7 +1265,7 @@ if ($zlib) my $shared_mark = ""; if ($shared_target eq "") { - $no_shared_warn = 1 if !$no_shared; + $no_shared_warn = 1 if !$no_shared && !$fips; $no_shared = 1; } if (!$no_shared) @@ -1255,8 +1354,14 @@ $bn_obj = $bn_asm unless $bn_obj ne ""; # bn86* is the only one implementing bn_*_part_words $cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn86/); $cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /bn86/); + $cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /\-mont|mo86\-/); +if ($fips) + { + $openssl_other_defines.="#define OPENSSL_FIPS\n"; + } + $des_obj=$des_enc unless ($des_obj =~ /\.o$/); $bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/); $cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/); @@ -1341,10 +1446,13 @@ while () if ($sdirs) { my $dir; foreach $dir (@skip) { - s/([ ])$dir /\1/; + s/(\s)$dir\s/$1/; + s/\s$dir$//; } } $sdirs = 0 unless /\\$/; + s/fips // if (/^DIRS=/ && !$fips); + s/engines // if (/^DIRS=/ && $disabled{"engine"}); s/^VERSION=.*/VERSION=$version/; s/^MAJOR=.*/MAJOR=$major/; s/^MINOR=.*/MINOR=$minor/; @@ -1362,7 +1470,7 @@ while () s/^CC=.*$/CC= $cc/; s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc"; s/^CFLAG=.*$/CFLAG= $cflags/; - s/^DEPFLAG=.*$/DEPFLAG= $depflags/; + s/^DEPFLAG=.*$/DEPFLAG=$depflags/; s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/; s/^EX_LIBS=.*$/EX_LIBS= $lflags/; s/^EXE_EXT=.*$/EXE_EXT= $exe_ext/; @@ -1385,9 +1493,24 @@ while () s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/; s/^LIBZLIB=.*/LIBZLIB=$withargs{"zlib-lib"}/; s/^ZLIB_INCLUDE=.*/ZLIB_INCLUDE=$withargs{"zlib-include"}/; + s/^FIPSLIBDIR=.*/FIPSLIBDIR=$fipslibdir/; + if ($fipsdso) + { + s/^FIPSCANLIB=.*/FIPSCANLIB=libfips/; + s/^SHARED_FIPS=.*/SHARED_FIPS=libfips\$(SHLIB_EXT)/; + s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl fips/; + } + else + { + s/^FIPSCANLIB=.*/FIPSCANLIB=libcrypto/ if $fips; + s/^SHARED_FIPS=.*/SHARED_FIPS=/; + s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl/; + } + s/^FIPSCANISTERINTERNAL=.*/FIPSCANISTERINTERNAL=$fipscanisterinternal/; + s/^BASEADDR=.*/BASEADDR=$baseaddr/; s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/; s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/; - s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared); + s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_FIPS) \$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared); if ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*$/) { my $sotmp = $1; @@ -1491,6 +1614,7 @@ print OUT "/* WARNING: Generated automat print OUT "/* OpenSSL was configured with the following options: */\n"; my $openssl_algorithm_defines_trans = $openssl_algorithm_defines; +$openssl_experimental_defines =~ s/^\s*#\s*define\s+OPENSSL_NO_(.*)/#ifndef OPENSSL_EXPERIMENTAL_$1\n# ifndef OPENSSL_NO_$1\n# define OPENSSL_NO_$1\n# endif\n#endif/mg; $openssl_algorithm_defines_trans =~ s/^\s*#\s*define\s+OPENSSL_(.*)/# if defined(OPENSSL_$1) \&\& !defined($1)\n# define $1\n# endif/mg; $openssl_algorithm_defines =~ s/^\s*#\s*define\s+(.*)/#ifndef $1\n# define $1\n#endif/mg; $openssl_algorithm_defines = " /* no ciphers excluded */\n" if $openssl_algorithm_defines eq ""; @@ -1499,8 +1623,10 @@ $openssl_sys_defines =~ s/^\s*#\s*define $openssl_other_defines =~ s/^\s*#\s*define\s+(.*)/#ifndef $1\n# define $1\n#endif/mg; print OUT $openssl_sys_defines; print OUT "#ifndef OPENSSL_DOING_MAKEDEPEND\n\n"; +print OUT $openssl_experimental_defines; +print OUT "\n"; print OUT $openssl_algorithm_defines; -print OUT "\n#endif /* OPENSSL_DOING_MAKEDEPEND */\n"; +print OUT "\n#endif /* OPENSSL_DOING_MAKEDEPEND */\n\n"; print OUT $openssl_thread_defines; print OUT $openssl_other_defines,"\n"; @@ -1682,9 +1808,16 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN +#if defined(FIPS) + VALUE "Comments", "WARNING: TEST VERSION ONLY ***NOT*** FIPS 140-2 VALIDATED.\\0" +#endif // Required: VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0" +#if defined(FIPS) + VALUE "FileDescription", "TEST UNVALIDATED FIPS140-2 DLL\\0" +#else VALUE "FileDescription", "OpenSSL Shared Library\\0" +#endif VALUE "FileVersion", "$version\\0" #if defined(CRYPTO) VALUE "InternalName", "libeay32\\0" @@ -1692,12 +1825,15 @@ BEGIN #elif defined(SSL) VALUE "InternalName", "ssleay32\\0" VALUE "OriginalFilename", "ssleay32.dll\\0" +#elif defined(FIPS) + VALUE "InternalName", "libosslfips\\0" + VALUE "OriginalFilename", "libosslfips.dll\\0" #endif VALUE "ProductName", "The OpenSSL Toolkit\\0" VALUE "ProductVersion", "$version\\0" // Optional: //VALUE "Comments", "\\0" - VALUE "LegalCopyright", "Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0" + VALUE "LegalCopyright", "Copyright © 1998-2007 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0" //VALUE "LegalTrademarks", "\\0" //VALUE "PrivateBuild", "\\0" //VALUE "SpecialBuild", "\\0" @@ -1734,6 +1870,21 @@ libraries on this platform, they will at (but please first make sure you have tried with a current version of OpenSSL). EOF +print <<\EOF if ($fipscanisterinternal eq "y"); + +WARNING: OpenSSL has been configured using unsupported option(s) to internally +generate a fipscanister.o object module for TESTING PURPOSES ONLY; that +compiled module is NOT FIPS 140-2 validated and CANNOT be used to replace the +OpenSSL FIPS Object Module as identified by the CMVP +(http://csrc.nist.gov/cryptval/) in any application requiring the use of FIPS +140-2 validated software. + +This is an OpenSSL 0.9.8 test version. + +See the file README.FIPS for details of how to build a test library. + +EOF + exit(0); sub usage Modified: vendor-crypto/openssl/dist/FAQ ============================================================================== --- vendor-crypto/openssl/dist/FAQ Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/FAQ Sun Jun 7 19:56:18 2009 (r193645) @@ -78,7 +78,7 @@ OpenSSL - Frequently Asked Questions * Which is the current version of OpenSSL? The current version is available from . -OpenSSL 0.9.8i was released on Sep 15th, 2008. +OpenSSL 0.9.8k was released on Mar 25th, 2009. In addition to the current stable release, you can also access daily snapshots of the OpenSSL development version at &2; \ exit 1; \ @@ -256,12 +371,32 @@ libcrypto$(SHLIB_EXT): libcrypto.a libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a @if [ "$(SHLIB_TARGET)" != "" ]; then \ - $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ + shlibdeps=-lcrypto; \ + [ "$(FIPSCANLIB)" = "libfips" ] && shlibdeps="$$shlibdeps -lfips"; \ + $(MAKE) SHLIBDIRS=ssl SHLIBDEPS="$$shlibdeps" build-shared; \ + else \ + echo "There's no support for shared libraries on this platform" >&2 ; \ + exit 1; \ + fi + +fips/fipscanister.o: build_fips +libfips$(SHLIB_EXT): fips/fipscanister.o + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + FIPSLD_CC=$(CC); CC=fips/fipsld; export CC FIPSLD_CC; \ + $(MAKE) -f Makefile.shared -e $(BUILDENV) \ + CC=$${CC} LIBNAME=fips THIS=$@ \ + LIBEXTRAS=fips/fipscanister.o \ + LIBDEPS="$(EX_LIBS)" \ + LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \ + link_o.$(SHLIB_TARGET) || { rm -f $@; exit 1; } \ else \ echo "There's no support for shared libraries on this platform" >&2; \ exit 1; \ fi +libfips.a: + dir=fips; target=all; $(BUILD_ONE_CMD) + clean-shared: @set -e; for i in $(SHLIBDIRS); do \ if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ @@ -371,6 +506,9 @@ links: @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) @set -e; target=links; $(RECURSIVE_BUILD_CMD) + @if [ -z "$(FIPSCANLIB)" ]; then \ + set -e; target=links; dir=fips ; $(BUILD_CMD) ; \ + fi gentests: @(cd test && echo "generating dummy tests (if needed)..." && \ Modified: vendor-crypto/openssl/dist/Makefile.org ============================================================================== --- vendor-crypto/openssl/dist/Makefile.org Sun Jun 7 19:41:11 2009 (r193644) +++ vendor-crypto/openssl/dist/Makefile.org Sun Jun 7 19:56:18 2009 (r193645) @@ -65,6 +65,7 @@ EX_LIBS= EXE_EXT= ARFLAGS= AR=ar $(ARFLAGS) r +ARD=ar $(ARFLAGS) d RANLIB= ranlib PERL= perl TAR= tar @@ -104,8 +105,34 @@ LIBKRB5= ZLIB_INCLUDE= LIBZLIB= -DIRS= crypto ssl engines apps test tools -SHLIBDIRS= crypto ssl +# This is the location of fipscanister.o and friends. +# The FIPS module build will place it $(INSTALLTOP)/lib +# but since $(INSTALLTOP) can only take the default value +# when the module is built it will be in /usr/local/ssl/lib +# $(INSTALLTOP) for this build make be different so hard +# code the path. + +FIPSLIBDIR=/usr/local/ssl/lib/ + +# This is set to "y" if fipscanister.o is compiled internally as +# opposed to coming from an external validated location. + +FIPSCANISTERINTERNAL=n + +# The location of the library which contains fipscanister.o +# normally it will be libcrypto unless fipsdso is set in which +# case it will be libfips. If not compiling in FIPS mode at all +# this is empty making it a useful test for a FIPS compile. + +FIPSCANLIB= + +# Shared library base address. Currently only used on Windows. +# + +BASEADDR= + +DIRS= crypto fips ssl engines apps test tools +SHLIBDIRS= crypto ssl fips # dirs in crypto to build SDIRS= \ @@ -115,7 +142,7 @@ SDIRS= \ bn ec rsa dsa ecdsa dh ecdh dso engine \ buffer bio stack lhash rand err \ evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ - store cms pqueue + store cms pqueue jpake # keep in mind that the above list is adjusted by ./Configure # according to no-xxx arguments... @@ -138,6 +165,7 @@ WDIRS= windows LIBS= libcrypto.a libssl.a SHARED_CRYPTO=libcrypto$(SHLIB_EXT) SHARED_SSL=libssl$(SHLIB_EXT) +SHARED_FIPS= SHARED_LIBS= SHARED_LIBS_LINK_EXTS= SHARED_LDFLAGS= @@ -191,6 +219,10 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESS SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \ MD5_ASM_OBJ='${MD5_ASM_OBJ}' \ RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \ + FIPSLIBDIR='${FIPSLIBDIR}' \ + FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ + FIPSCANISTERINTERNAL='${FIPSCANISTERINTERNAL}' \ + FIPS_EX_OBJ='${FIPS_EX_OBJ}' \ THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= # MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, # which in turn eliminates ambiguities in variable treatment with -e. @@ -209,7 +241,8 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESS # subdirectories defined in $(DIRS). It requires that the target # is given through the shell variable `target'. BUILD_CMD= if [ -d "$$dir" ]; then \ - ( cd $$dir && echo "making $$target in $$dir..." && \ + ( [ $$target != all -a -z "$(FIPSCANLIB)" ] && FIPSCANLIB=/dev/null; \ + cd $$dir && echo "making $$target in $$dir..." && \ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ ) || exit 1; \ fi @@ -222,13 +255,84 @@ BUILD_ONE_CMD=\ reflect: @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:59:34 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A227E1065672; Sun, 7 Jun 2009 19:59:34 +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 75ABF8FC14; Sun, 7 Jun 2009 19:59:34 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JxY2Y003655; Sun, 7 Jun 2009 19:59:34 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JxYug003654; Sun, 7 Jun 2009 19:59:34 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906071959.n57JxYug003654@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 19:59:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193646 - vendor-crypto/openssl/0.9.8k X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:59:35 -0000 Author: simon Date: Sun Jun 7 19:59:34 2009 New Revision: 193646 URL: http://svn.freebsd.org/changeset/base/193646 Log: Tag OpenSSL 0.9.8k. Added: vendor-crypto/openssl/0.9.8k/ - copied from r193645, vendor-crypto/openssl/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 19:59:35 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE41F106564A; Sun, 7 Jun 2009 19:59:34 +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 A13678FC15; Sun, 7 Jun 2009 19:59:34 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57JxYao003660; Sun, 7 Jun 2009 19:59:34 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57JxYMB003659; Sun, 7 Jun 2009 19:59:34 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906071959.n57JxYMB003659@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 19:59:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193646 - vendor-crypto/openssl/0.9.8k X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 19:59:35 -0000 Author: simon Date: Sun Jun 7 19:59:34 2009 New Revision: 193646 URL: http://svn.freebsd.org/changeset/base/193646 Log: Tag OpenSSL 0.9.8k. Added: vendor-crypto/openssl/0.9.8k/ - copied from r193645, vendor-crypto/openssl/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 20:02:32 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 885D0106564A; Sun, 7 Jun 2009 20:02:32 +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 5B9938FC08; Sun, 7 Jun 2009 20:02:32 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57K2WCY003779; Sun, 7 Jun 2009 20:02:32 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57K2WVO003778; Sun, 7 Jun 2009 20:02:32 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906072002.n57K2WVO003778@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 20:02:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193647 - vendor-crypto/openssl/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 20:02:33 -0000 Author: simon Date: Sun Jun 7 20:02:32 2009 New Revision: 193647 URL: http://svn.freebsd.org/changeset/base/193647 Log: Add current WIP version of OpenSSL import documentation. Modified: vendor-crypto/openssl/dist/FREEBSD-upgrade Modified: vendor-crypto/openssl/dist/FREEBSD-upgrade ============================================================================== --- vendor-crypto/openssl/dist/FREEBSD-upgrade Sun Jun 7 19:59:34 2009 (r193646) +++ vendor-crypto/openssl/dist/FREEBSD-upgrade Sun Jun 7 20:02:32 2009 (r193647) @@ -4,21 +4,48 @@ the FreeBSD base system. It is not expe contain some hints for imports. Note that this doesn't actually deal with getting OpenSSL to compile... -setenv OSSLVER 0.9.8e -# OSSLTAG format: v0_9_8e -setenv OSSLTAG v`echo ${OSSLVER} | tr . _` +XXX This file currently partly contain CVS and SVN instructions. + +First, read http://wiki.freebsd.org/SubversionPrimer/VendorImports + +# Xlist +setenv XLIST /FreeBSD/work/openssl/svn-FREEBSD-files/FREEBSD-Xlist +setenv FSVN "svn+ssh://svn.freebsd.org/base" +setenv OSSLVER 0.9.8k +# OSSLTAG format: v0_9_8k + +###setenv OSSLTAG v`echo ${OSSLVER} | tr . _` + +cd /FreeBSD/work/openssl/merge fetch http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz \ http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz.asc gpg --verify openssl-${OSSLVER}.tar.gz.asc openssl-${OSSLVER}.tar.gz -tar xf openssl-${OSSLVER}.tar.gz -mv openssl-${OSSLVER} openssl -cd openssl -find . -type l -delete -sh -c 'while read glob ; do rm -rvf $glob ; done' -j${OSSLTAG} src/crypto/openssl + +svn co $FSVN/vendor-crypto/openssl/dist dist +tar -x -X $XLIST -f openssl-${OSSLVER}.tar.gz + +cd dist +svn list -R | grep -v '/$' | sort >../old +cd ../openssl-${OSSLVER} +find . -type f -or -type l | cut -c 3- | sort >../new +cd .. + +# See that files to remove makes sense +# FREEBSD-Xlist FREEBSD-upgrade will show up - ignore that. +comm -23 old new +# See that files to add makes sense +comm -13 old new + +tar -cf - -C openssl-${OSSLVER} . | tar xf - -C dist +cd dist +comm -23 ../old ../new | xargs svn rm +comm -13 ../old ../new | xargs svn --parents add + +svn ci +echo svn cp $FSVN/vendor-crypto/openssl/dist $FSVN/vendor-crypto/openssl/$OSSLVER + +# XXX, below this point it's very WIP. + # Resolve conflicts manually cd src/crypto/openssl cvs ci -m "Resolve conflicts after import of OpenSSL ${OSSLVER}." From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 20:02:33 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B41861065672; Sun, 7 Jun 2009 20:02:32 +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 877CA8FC12; Sun, 7 Jun 2009 20:02:32 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57K2Wt3003785; Sun, 7 Jun 2009 20:02:32 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57K2Wf3003784; Sun, 7 Jun 2009 20:02:32 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906072002.n57K2Wf3003784@svn.freebsd.org> From: "Simon L. Nielsen" Date: Sun, 7 Jun 2009 20:02:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193647 - vendor-crypto/openssl/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 20:02:33 -0000 Author: simon Date: Sun Jun 7 20:02:32 2009 New Revision: 193647 URL: http://svn.freebsd.org/changeset/base/193647 Log: Add current WIP version of OpenSSL import documentation. Modified: vendor-crypto/openssl/dist/FREEBSD-upgrade Modified: vendor-crypto/openssl/dist/FREEBSD-upgrade ============================================================================== --- vendor-crypto/openssl/dist/FREEBSD-upgrade Sun Jun 7 19:59:34 2009 (r193646) +++ vendor-crypto/openssl/dist/FREEBSD-upgrade Sun Jun 7 20:02:32 2009 (r193647) @@ -4,21 +4,48 @@ the FreeBSD base system. It is not expe contain some hints for imports. Note that this doesn't actually deal with getting OpenSSL to compile... -setenv OSSLVER 0.9.8e -# OSSLTAG format: v0_9_8e -setenv OSSLTAG v`echo ${OSSLVER} | tr . _` +XXX This file currently partly contain CVS and SVN instructions. + +First, read http://wiki.freebsd.org/SubversionPrimer/VendorImports + +# Xlist +setenv XLIST /FreeBSD/work/openssl/svn-FREEBSD-files/FREEBSD-Xlist +setenv FSVN "svn+ssh://svn.freebsd.org/base" +setenv OSSLVER 0.9.8k +# OSSLTAG format: v0_9_8k + +###setenv OSSLTAG v`echo ${OSSLVER} | tr . _` + +cd /FreeBSD/work/openssl/merge fetch http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz \ http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz.asc gpg --verify openssl-${OSSLVER}.tar.gz.asc openssl-${OSSLVER}.tar.gz -tar xf openssl-${OSSLVER}.tar.gz -mv openssl-${OSSLVER} openssl -cd openssl -find . -type l -delete -sh -c 'while read glob ; do rm -rvf $glob ; done' -j${OSSLTAG} src/crypto/openssl + +svn co $FSVN/vendor-crypto/openssl/dist dist +tar -x -X $XLIST -f openssl-${OSSLVER}.tar.gz + +cd dist +svn list -R | grep -v '/$' | sort >../old +cd ../openssl-${OSSLVER} +find . -type f -or -type l | cut -c 3- | sort >../new +cd .. + +# See that files to remove makes sense +# FREEBSD-Xlist FREEBSD-upgrade will show up - ignore that. +comm -23 old new +# See that files to add makes sense +comm -13 old new + +tar -cf - -C openssl-${OSSLVER} . | tar xf - -C dist +cd dist +comm -23 ../old ../new | xargs svn rm +comm -13 ../old ../new | xargs svn --parents add + +svn ci +echo svn cp $FSVN/vendor-crypto/openssl/dist $FSVN/vendor-crypto/openssl/$OSSLVER + +# XXX, below this point it's very WIP. + # Resolve conflicts manually cd src/crypto/openssl cvs ci -m "Resolve conflicts after import of OpenSSL ${OSSLVER}." From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 20:12:14 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A20C9106566C; Sun, 7 Jun 2009 20:12:14 +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 8EB808FC13; Sun, 7 Jun 2009 20:12:14 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57KCExu004217; Sun, 7 Jun 2009 20:12:14 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57KCEC7004214; Sun, 7 Jun 2009 20:12:14 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <200906072012.n57KCEC7004214@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 7 Jun 2009 20:12: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: r193648 - in head/sbin/geom: class/part core X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 20:12:15 -0000 Author: marcel Date: Sun Jun 7 20:12:14 2009 New Revision: 193648 URL: http://svn.freebsd.org/changeset/base/193648 Log: Allow humanized numbers for LBAs, as well as partition indices for gpart(8). LBAs in particular are ugly. The ganularity is a sector, but users expect byte granularity when specifying the size or offset with a SI unit. Handle LBAs specially to deal with this. Modified: head/sbin/geom/class/part/geom_part.c head/sbin/geom/core/geom.c head/sbin/geom/core/geom.h Modified: head/sbin/geom/class/part/geom_part.c ============================================================================== --- head/sbin/geom/class/part/geom_part.c Sun Jun 7 20:02:32 2009 (r193647) +++ head/sbin/geom/class/part/geom_part.c Sun Jun 7 20:12:14 2009 (r193648) @@ -68,10 +68,10 @@ static void gpart_show(struct gctl_req * struct g_command PUBSYM(class_commands)[] = { { "add", 0, gpart_issue, { - { 'b', "start", NULL, G_TYPE_STRING }, - { 's', "size", NULL, G_TYPE_STRING }, + { 'b', "start", NULL, G_TYPE_ASCLBA }, + { 's', "size", NULL, G_TYPE_ASCLBA }, { 't', "type", NULL, G_TYPE_STRING }, - { 'i', index_param, optional, G_TYPE_STRING }, + { 'i', index_param, optional, G_TYPE_ASCNUM }, { 'l', "label", optional, G_TYPE_STRING }, { 'f', "flags", flags, G_TYPE_STRING }, G_OPT_SENTINEL }, @@ -80,7 +80,7 @@ struct g_command PUBSYM(class_commands)[ { "bootcode", 0, gpart_bootcode, { { 'b', bootcode_param, optional, G_TYPE_STRING }, { 'p', partcode_param, optional, G_TYPE_STRING }, - { 'i', index_param, optional, G_TYPE_STRING }, + { 'i', index_param, optional, G_TYPE_ASCNUM }, { 'f', "flags", flags, G_TYPE_STRING }, G_OPT_SENTINEL }, "geom", NULL @@ -88,13 +88,13 @@ struct g_command PUBSYM(class_commands)[ { "commit", 0, gpart_issue, G_NULL_OPTS, "geom", NULL }, { "create", 0, gpart_issue, { { 's', "scheme", NULL, G_TYPE_STRING }, - { 'n', "entries", optional, G_TYPE_STRING }, + { 'n', "entries", optional, G_TYPE_ASCNUM }, { 'f', "flags", flags, G_TYPE_STRING }, G_OPT_SENTINEL }, "provider", NULL }, { "delete", 0, gpart_issue, { - { 'i', index_param, NULL, G_TYPE_STRING }, + { 'i', index_param, NULL, G_TYPE_ASCNUM }, { 'f', "flags", flags, G_TYPE_STRING }, G_OPT_SENTINEL }, "geom", NULL @@ -104,7 +104,7 @@ struct g_command PUBSYM(class_commands)[ G_OPT_SENTINEL }, "geom", NULL }, { "modify", 0, gpart_issue, { - { 'i', index_param, NULL, G_TYPE_STRING }, + { 'i', index_param, NULL, G_TYPE_ASCNUM }, { 'l', "label", optional, G_TYPE_STRING }, { 't', "type", optional, G_TYPE_STRING }, { 'f', "flags", flags, G_TYPE_STRING }, @@ -113,7 +113,7 @@ struct g_command PUBSYM(class_commands)[ }, { "set", 0, gpart_issue, { { 'a', "attrib", NULL, G_TYPE_STRING }, - { 'i', index_param, NULL, G_TYPE_STRING }, + { 'i', index_param, NULL, G_TYPE_ASCNUM }, { 'f', "flags", flags, G_TYPE_STRING }, G_OPT_SENTINEL }, "geom", NULL @@ -127,7 +127,7 @@ struct g_command PUBSYM(class_commands)[ { "undo", 0, gpart_issue, G_NULL_OPTS, "geom", NULL }, { "unset", 0, gpart_issue, { { 'a', "attrib", NULL, G_TYPE_STRING }, - { 'i', index_param, NULL, G_TYPE_STRING }, + { 'i', index_param, NULL, G_TYPE_ASCNUM }, { 'f', "flags", flags, G_TYPE_STRING }, G_OPT_SENTINEL }, "geom", NULL Modified: head/sbin/geom/core/geom.c ============================================================================== --- head/sbin/geom/core/geom.c Sun Jun 7 20:02:32 2009 (r193647) +++ head/sbin/geom/core/geom.c Sun Jun 7 20:12:14 2009 (r193648) @@ -226,20 +226,117 @@ find_option(struct g_command *cmd, char static void set_option(struct gctl_req *req, struct g_option *opt, const char *val) { + char *s; + intmax_t number; - if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { - intmax_t number; - + if (G_OPT_TYPE(opt) == G_TYPE_NUMBER || + G_OPT_TYPE(opt) == G_TYPE_ASCNUM) { if (expand_number(val, &number) == -1) { err(EXIT_FAILURE, "Invalid value for '%c' argument.", opt->go_char); } - opt->go_val = malloc(sizeof(intmax_t)); + if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) + opt->go_val = malloc(sizeof(intmax_t)); + else { + asprintf(&s, "%jd", number); + opt->go_val = s; + } if (opt->go_val == NULL) errx(EXIT_FAILURE, "No memory."); - *(intmax_t *)opt->go_val = number; + if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { + *(intmax_t *)opt->go_val = number; + gctl_ro_param(req, opt->go_name, sizeof(intmax_t), + opt->go_val); + } else + gctl_ro_param(req, opt->go_name, -1, opt->go_val); + } else if (G_OPT_TYPE(opt) == G_TYPE_ASCLBA) { + /* + * LBAs are ugly. The argument is a sector. The size of a + * sector is context specific (i.e. determined by the media), + * which we don't know here. But when users enter a value + * with a SI unit, they really mean the byte-size or byte- + * offset and not the size or offset in sectors. + * So how can we map the byte-oriented value into a sector- + * oriented value if we don't know the sector size in bytes? + * The approach taken here is: + * o Sectors are 512 bytes in size. Mostly the case anyway. + * o When no SI unit is specified the value is in sectors. + * o With an SI unit the value is in bytes. + * o The 'b' suffix forces byte interpretation and the 's' + * suffix forces sector interpretation. + * + * Thus: + * o 2 and 2s mean 2 sectors, and 2b means 2 bytes. + * o 4k and 4kb mean 4096 bytes, and 4ks means 4096 sectors. + * + * "This seemed like a good idea at the time" + */ + intmax_t mult, unit; - gctl_ro_param(req, opt->go_name, sizeof(intmax_t), opt->go_val); + number = strtoimax(val, &s, 0); + if (s == val) + errc(EXIT_FAILURE, EINVAL, "argument '%c'", + opt->go_char); + mult = 1; + unit = 512; /* sector */ + if (*s == '\0') + goto done; + switch (*s) { + case 'e': case 'E': + mult *= 1024; + /*FALLTHROUGH*/ + case 'p': case 'P': + mult *= 1024; + /*FALLTHROUGH*/ + case 't': case 'T': + mult *= 1024; + /*FALLTHROUGH*/ + case 'g': case 'G': + mult *= 1024; + /*FALLTHROUGH*/ + case 'm': case 'M': + mult *= 1024; + /*FALLTHROUGH*/ + case 'k': case 'K': + mult *= 1024; + break; + default: + goto sfx; + } + unit = 1; /* bytes */ + s++; + if (*s == '\0') + goto done; +sfx: + switch (*s) { + case 's': case 'S': + unit = 512; /* sector */ + break; + case 'b': case 'B': + unit = 1; /* bytes */ + break; + default: + errc(EXIT_FAILURE, EINVAL, "argument '%c': suffix '%c'", + opt->go_char, *s); + } + s++; + if (*s != '\0') + errx(EXIT_FAILURE, "argument '%c': junk at end (%s)", + opt->go_char, s); +done: + if (mult * unit < mult || number * mult * unit < number) + errc(EXIT_FAILURE, ERANGE, "argument '%c'", + opt->go_char); + number *= mult * unit; + if (number % 512) + errx(EXIT_FAILURE, "argument '%c': " + "not a valid block address", opt->go_char); + number /= 512; + asprintf(&s, "%jd", number); + if (s == NULL) + err(EXIT_FAILURE, NULL); + opt->go_val = s; + gctl_ro_param(req, opt->go_name, -1, s); } else if (G_OPT_TYPE(opt) == G_TYPE_STRING) { gctl_ro_param(req, opt->go_name, -1, val); } else if (G_OPT_TYPE(opt) == G_TYPE_BOOL) { @@ -247,9 +344,7 @@ set_option(struct gctl_req *req, struct if (opt->go_val == NULL) errx(EXIT_FAILURE, "No memory."); *(int *)opt->go_val = *val - '0'; - - gctl_ro_param(req, opt->go_name, sizeof(int), - opt->go_val); + gctl_ro_param(req, opt->go_name, sizeof(int), opt->go_val); } else { assert(!"Invalid type"); } @@ -333,7 +428,9 @@ parse_arguments(struct g_command *cmd, s if (G_OPT_TYPE(opt) == G_TYPE_NUMBER) { gctl_ro_param(req, opt->go_name, sizeof(intmax_t), opt->go_val); - } else if (G_OPT_TYPE(opt) == G_TYPE_STRING) { + } else if (G_OPT_TYPE(opt) == G_TYPE_STRING || + G_OPT_TYPE(opt) == G_TYPE_ASCNUM || + G_OPT_TYPE(opt) == G_TYPE_ASCLBA) { if (cmd->gc_argname == NULL || opt->go_val == NULL || *(char *)opt->go_val != '\0') Modified: head/sbin/geom/core/geom.h ============================================================================== --- head/sbin/geom/core/geom.h Sun Jun 7 20:02:32 2009 (r193647) +++ head/sbin/geom/core/geom.h Sun Jun 7 20:12:14 2009 (r193648) @@ -28,7 +28,7 @@ #ifndef _GEOM_H_ #define _GEOM_H_ -#define G_LIB_VERSION 3 +#define G_LIB_VERSION 4 #define G_FLAG_NONE 0x0000 #define G_FLAG_VERBOSE 0x0001 @@ -38,7 +38,9 @@ #define G_TYPE_BOOL 0x01 #define G_TYPE_STRING 0x02 #define G_TYPE_NUMBER 0x03 -#define G_TYPE_MASK 0x03 +#define G_TYPE_ASCNUM 0x04 +#define G_TYPE_ASCLBA 0x05 +#define G_TYPE_MASK 0x0f #define G_TYPE_DONE 0x10 #define G_OPT_MAX 16 From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 20:38:42 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87CC6106566C; Sun, 7 Jun 2009 20:38:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 760068FC15; Sun, 7 Jun 2009 20:38:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57KcgYV004765; Sun, 7 Jun 2009 20:38:42 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57KcgwH004764; Sun, 7 Jun 2009 20:38:42 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200906072038.n57KcgwH004764@svn.freebsd.org> From: Rick Macklem Date: Sun, 7 Jun 2009 20:38: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: r193649 - head/sys/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 20:38:43 -0000 Author: rmacklem Date: Sun Jun 7 20:38:41 2009 New Revision: 193649 URL: http://svn.freebsd.org/changeset/base/193649 Log: Add a check to xprt_unregister() to catch the case where another thread has already unregistered the structure. Also add a KASSERT() to xprt_unregister_locked() to check that the structure hasn't already been unregistered. Reviewed by: jhb Tested by: pho Approved by: kib (mentor) Modified: head/sys/rpc/svc.c Modified: head/sys/rpc/svc.c ============================================================================== --- head/sys/rpc/svc.c Sun Jun 7 20:12:14 2009 (r193648) +++ head/sys/rpc/svc.c Sun Jun 7 20:38:41 2009 (r193649) @@ -293,6 +293,8 @@ xprt_unregister_locked(SVCXPRT *xprt) { SVCPOOL *pool = xprt->xp_pool; + KASSERT(xprt->xp_registered == TRUE, + ("xprt_unregister_locked: not registered")); if (xprt->xp_active) { TAILQ_REMOVE(&pool->sp_active, xprt, xp_alink); xprt->xp_active = FALSE; @@ -307,6 +309,11 @@ xprt_unregister(SVCXPRT *xprt) SVCPOOL *pool = xprt->xp_pool; mtx_lock(&pool->sp_lock); + if (xprt->xp_registered == FALSE) { + /* Already unregistered by another thread */ + mtx_unlock(&pool->sp_lock); + return; + } xprt_unregister_locked(xprt); mtx_unlock(&pool->sp_lock); From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 20:51:32 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19B5C1065672; Sun, 7 Jun 2009 20:51:32 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 07E838FC1B; Sun, 7 Jun 2009 20:51:32 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57KpVAC005146; Sun, 7 Jun 2009 20:51:31 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57KpVtF005145; Sun, 7 Jun 2009 20:51:31 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200906072051.n57KpVtF005145@svn.freebsd.org> From: Robert Watson Date: Sun, 7 Jun 2009 20:51: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: r193650 - head/sys/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 20:51:33 -0000 Author: rwatson Date: Sun Jun 7 20:51:31 2009 New Revision: 193650 URL: http://svn.freebsd.org/changeset/base/193650 Log: Add a temporary workaround for panics being seen on NFS servers with ZFS, where an improperly initialized prison field could lead to a panic. This is not the correct solution, since it fails to address similar problems for both AUDIT and MAC, which also rely on properly initialized credentials, but should reduce panic reports while we work that out. Reported by: ps, kan, others Modified: head/sys/rpc/svc_auth.c Modified: head/sys/rpc/svc_auth.c ============================================================================== --- head/sys/rpc/svc_auth.c Sun Jun 7 20:38:41 2009 (r193649) +++ head/sys/rpc/svc_auth.c Sun Jun 7 20:51:31 2009 (r193650) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -181,6 +182,8 @@ svc_getcred(struct svc_req *rqst, struct for (i = 0; i < xcr->cr_ngroups; i++) cr->cr_groups[i] = xcr->cr_groups[i]; cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0]; + cr->cr_prison = &prison0; + prison_hold(cr->cr_prison); *crp = cr; return (TRUE); From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 21:31:07 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F8341065675; Sun, 7 Jun 2009 21:31:07 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 033528FC1E; Sun, 7 Jun 2009 21:31:07 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57LV6on006043; Sun, 7 Jun 2009 21:31:06 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57LV6WW006042; Sun, 7 Jun 2009 21:31:06 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200906072131.n57LV6WW006042@svn.freebsd.org> From: Robert Watson Date: Sun, 7 Jun 2009 21:31:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193652 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 21:31:07 -0000 Author: rwatson Date: Sun Jun 7 21:31:06 2009 New Revision: 193652 URL: http://svn.freebsd.org/changeset/base/193652 Log: Add beginnings of a netisr(9) man page. Modified: head/share/man/man9/Makefile Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Sun Jun 7 21:11:22 2009 (r193651) +++ head/share/man/man9/Makefile Sun Jun 7 21:31:06 2009 (r193652) @@ -162,6 +162,7 @@ MAN= accept_filter.9 \ mtx_pool.9 \ mutex.9 \ namei.9 \ + netisr.9 \ panic.9 \ pbuf.9 \ p_candebug.9 \ From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 21:32:01 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63DCE1065686; Sun, 7 Jun 2009 21:32:01 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 509D68FC08; Sun, 7 Jun 2009 21:32:01 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57LW1mA006090; Sun, 7 Jun 2009 21:32:01 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57LW1dq006089; Sun, 7 Jun 2009 21:32:01 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200906072132.n57LW1dq006089@svn.freebsd.org> From: Robert Watson Date: Sun, 7 Jun 2009 21:32: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: r193653 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 21:32:02 -0000 Author: rwatson Date: Sun Jun 7 21:32:01 2009 New Revision: 193653 URL: http://svn.freebsd.org/changeset/base/193653 Log: Try again to add beginnings of netisr(8) man page: this time add netisr.9. Added: head/share/man/man9/netisr.9 (contents, props changed) Added: head/share/man/man9/netisr.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man9/netisr.9 Sun Jun 7 21:32:01 2009 (r193653) @@ -0,0 +1,210 @@ +.\" +.\" Copyright (c) 2009 Robert N. M. Watson +.\" 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(s), this list of conditions and the following disclaimer as +.\" the first lines of this file unmodified other than the possible +.\" addition of one or more copyright notices. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice(s), 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 COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) BE LIABLE FOR ANY +.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +.\" DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd June 7, 2009 +.Dt NETISR 9 +.Os +.Sh NAME +.Nm netisr +.Nd Kernel network dispatch service +.Sh SYNOPSIS +.In net/netisr.h +.Ft void +.Fn netisr_register "const struct netisr_handler *nhp" +.Ft void +.Fn netisr_unregister "const struct netisr_handler *nhp" +.Ft int +.Fn netisr_dispatch "u_int proto" "struct mbuf *m" +.Ft int +.Fn netisr_dispatch_src "u_int proto" "uintptr_t source" "struct mbuf *m" +.Ft int +.Fn netisr_queue "u_int proto" "struct mbuf *m" +.Ft int +.Fn netisr_queue_src "u_int proto" "uintptr_t source" "struct mbuf *m" +.Ft void +.Fn netisr_clearqdrops "const struct netisr_handler *nhp" +.Ft void +.Fn netisr_getqdrops "const struct netisr_handler *nhp" "u_int64_t *qdropsp" +.Ft +void +.Fn netisr_getqlimit "const struct netisr_handler *nhp" "u_int *qlimitp" +.Ft int +.Fn netisr_setqlimit "const struct netisr_handler *nhp" "u_int qlimit" +.Ft u_int +.Fn netisr_default_flow2cpu "u_int flowid" +.Ft u_int +.Fn netisr_get_cpucount "void" +.Ft u_int +.Fn netisr_get_cpuid "u_int cpunumber" +.Sh DESCRIPTION +The +.Nm +kernel interface suite allows device drivers (and other packet sources) to +direct packets to protocols for directly dispatched or deferred processing. +.Ss Protocol registration +Protocols register and unregister handlers using +.Fn netisr_register +and +.Fn netisr_unregister , +and may also manage queue limits and statistics using the +.Fn netisr_clearqdrops , +.Fn netisr_getqdrops , +.Fn netisr_getqlimit , +and +.Fn netisr_setqlimit. +.Pp +.Nm +supports multi-processor execution of handlers, and relies on a combination +of source ordering and protocol-specific ordering and work-placement +policies to decide how do distribute work across one or more worker +threads. +Registering protocols will declare one of three policies: +.Bl -tag -width NETISR_POLICY_SOURCE +.It Dv NETISR_POLICY_SOURCE +.Nm +should maintain source ordering without advice from the protocol. +.Nm +will ignore any flow IDs present on +.Vt mbuf +headers for the purposes of work placement. +.It Dv NETISR_POLICY_FLOW +.Nm +should maintain flow ordering as defined by the +.Vt mbuf +header flow ID field. +If the protocol implements +.Va nh_m2flow , +then +.Nm +will query the protocol in the evet that the +.Vt mbuf +doesn't have a flow ID, falling back on source ordering. +.It NETISR_POLICY_CPU +.Nm +will entirely delegate all work placement decisions to the protocol, +querying +.Va nh_m2cpuid +for each packet. +.El +.Pp +Registration is declared using +.Vt "struct netisr_handler" , +whose fields are defined as follows: +.Bl -tag -width "netisr_handler_t nh_handler" +.It Vt "const char *" Va nh_name +Unique character string name of the protocol, which may be included in +.Xr 2 sysctl +MIB names, so should not contain whitespace. +.It Vt netisr_handler_t Va nh_handler +Protocol handler function that will be invoked on each packet received for +the protocol. +.It Vt netisr_m2flow_t Va nh_m2flow +Optional protocol function to generate a flow ID and set +.Dv M_FLOWID +for packets that do not enter +.Nm +with +.Dv M_FLOWID +defined. +Will be used only with +.Dv NETISR_POLICY_FLOW . +.It Vt netisr_m2cpuid_t Va nh_m2cpuid +Protocol function to determine what CPU a packet should be processed on. +Will be used only with +.Dv NETISR_POLICY_CPU . +.It Vt u_int Va nh_proto +Protocol number used by both protocols to identify themselves to +.Nm , +and by packet sources to select what handler will be used to process +packets. +A table of supported protocol numbers appears below. +For implementation reasons, protocol numbers great than 15 are currently +unsupported. +.It Vt u_int Va nh_qlimit +The maximum per-CPU queue depth for the protocol; due to internal +implementation details, the effective queue depth may be as much as twice +this number. +.It Vt u_int Va nh_policy +The ordering and work placement policy for the protocol, as described +earlier. +.El +.Ss Packet source interface +Packet sources, such as network interfaces, may request protocol processing +using the +.Fn netisr_dispatch +and +.Fn netisr_queue +interfaces. +Both accept a protocol number and +.Vt mbuf +argument, but while +.Fn netisr_queue +will always execute the protocol handler asynchonously in a deferred +context, +.Fn netisr_dispatch +will optionally direct dispatch if permitted by global and per-protocol +policy. +.Pp +In order to provide additional load balancing and flow information, +packet sources may also specify an opaque source identifier, which in +practice might be a network interface number or socket pointer, using +the +.Fn netisr_dispatch_src +and +.Fn netisr_queue_src +variants. +.Ss Protocol number constants +The follow protocol numbers are currently defined: +.Bl -tag -width NETISR_ATALK1 +.It Dv NETISR_IP +IPv4 +.It Dv NETISR_IGMP +IGMPv3 loopback +.It Dv NETISR_ROUTE +Routing socket loopback +.It Dv NETISR_AARP +Appletalk AARP +.It Dv NETISR_ATALK1 +Appletalk phase 1 +.It Dv NETISR_ATALK2 +Appletalk phase 2 +.It Dv NETISR_ARP +ARP +.It Dv NETISR_IPX +IPX/SPX +.It Dv NETISR_IPV6 +IPv6 +.It Dv NETISR_NATM +ATM +.El +.Sh AUTHORS +This manual page and the +.Nm +implementation were written by +.An Robert N. M. Watson . From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 22:00:24 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24F4610656DF; Sun, 7 Jun 2009 22:00:24 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 87A188FC32; Sun, 7 Jun 2009 22:00:23 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57M0N0E006772; Sun, 7 Jun 2009 22:00:23 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57M0NlB006760; Sun, 7 Jun 2009 22:00:23 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906072200.n57M0NlB006760@svn.freebsd.org> From: Sam Leffler Date: Sun, 7 Jun 2009 22:00: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: r193655 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 22:00:25 -0000 Author: sam Date: Sun Jun 7 22:00:22 2009 New Revision: 193655 URL: http://svn.freebsd.org/changeset/base/193655 Log: iv_flags_ext is full, make room by moving HT-related flags to a new iv_flags_ht word Modified: head/sys/net80211/ieee80211.c head/sys/net80211/ieee80211_hostap.c head/sys/net80211/ieee80211_ht.c head/sys/net80211/ieee80211_input.c head/sys/net80211/ieee80211_ioctl.c head/sys/net80211/ieee80211_node.c head/sys/net80211/ieee80211_output.c head/sys/net80211/ieee80211_proto.h head/sys/net80211/ieee80211_scan_sta.c head/sys/net80211/ieee80211_sta.c head/sys/net80211/ieee80211_var.h Modified: head/sys/net80211/ieee80211.c ============================================================================== --- head/sys/net80211/ieee80211.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211.c Sun Jun 7 22:00:22 2009 (r193655) @@ -80,6 +80,7 @@ static const uint8_t ieee80211broadcasta { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; static void ieee80211_syncflag_locked(struct ieee80211com *ic, int flag); +static void ieee80211_syncflag_ht_locked(struct ieee80211com *ic, int flag); static void ieee80211_syncflag_ext_locked(struct ieee80211com *ic, int flag); static int ieee80211_media_setup(struct ieee80211com *ic, struct ifmedia *media, int caps, int addsta, @@ -520,8 +521,8 @@ ieee80211_vap_attach(struct ieee80211vap #endif ieee80211_syncflag_locked(ic, IEEE80211_F_PCF); ieee80211_syncflag_locked(ic, IEEE80211_F_BURST); - ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT); - ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_USEHT40); + ieee80211_syncflag_ht_locked(ic, IEEE80211_FHT_HT); + ieee80211_syncflag_ht_locked(ic, IEEE80211_FHT_USEHT40); ieee80211_syncifflag_locked(ic, IFF_PROMISC); ieee80211_syncifflag_locked(ic, IFF_ALLMULTI); IEEE80211_UNLOCK(ic); @@ -566,8 +567,8 @@ ieee80211_vap_detach(struct ieee80211vap #endif ieee80211_syncflag_locked(ic, IEEE80211_F_PCF); ieee80211_syncflag_locked(ic, IEEE80211_F_BURST); - ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT); - ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_USEHT40); + ieee80211_syncflag_ht_locked(ic, IEEE80211_FHT_HT); + ieee80211_syncflag_ht_locked(ic, IEEE80211_FHT_USEHT40); /* NB: this handles the bpfdetach done below */ ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_BPF); ieee80211_syncifflag_locked(ic, IFF_PROMISC); @@ -678,7 +679,47 @@ ieee80211_syncflag(struct ieee80211vap * } /* - * Synchronize flag bit state in the com structure + * Synchronize flags_ht bit state in the com structure + * according to the state of all vap's. This is used, + * for example, to handle state changes via ioctls. + */ +static void +ieee80211_syncflag_ht_locked(struct ieee80211com *ic, int flag) +{ + struct ieee80211vap *vap; + int bit; + + IEEE80211_LOCK_ASSERT(ic); + + bit = 0; + TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) + if (vap->iv_flags_ht & flag) { + bit = 1; + break; + } + if (bit) + ic->ic_flags_ht |= flag; + else + ic->ic_flags_ht &= ~flag; +} + +void +ieee80211_syncflag_ht(struct ieee80211vap *vap, int flag) +{ + struct ieee80211com *ic = vap->iv_ic; + + IEEE80211_LOCK(ic); + if (flag < 0) { + flag = -flag; + vap->iv_flags_ht &= ~flag; + } else + vap->iv_flags_ht |= flag; + ieee80211_syncflag_ht_locked(ic, flag); + IEEE80211_UNLOCK(ic); +} + +/* + * Synchronize flags_ext bit state in the com structure * according to the state of all vap's. This is used, * for example, to handle state changes via ioctls. */ Modified: head/sys/net80211/ieee80211_hostap.c ============================================================================== --- head/sys/net80211/ieee80211_hostap.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_hostap.c Sun Jun 7 22:00:22 2009 (r193655) @@ -201,7 +201,7 @@ hostap_newstate(struct ieee80211vap *vap * is set before doing anything so this is sufficient. */ ic->ic_flags_ext &= ~IEEE80211_FEXT_NONERP_PR; - ic->ic_flags_ext &= ~IEEE80211_FEXT_NONHT_PR; + ic->ic_flags_ht &= ~IEEE80211_FHT_NONHT_PR; /* fall thru... */ case IEEE80211_S_CAC: /* @@ -272,7 +272,7 @@ hostap_newstate(struct ieee80211vap *vap */ ieee80211_create_ibss(vap, ieee80211_ht_adjust_channel(ic, - ic->ic_curchan, vap->iv_flags_ext)); + ic->ic_curchan, vap->iv_flags_ht)); /* NB: iv_bss is changed on return */ break; case IEEE80211_S_CAC: @@ -1995,7 +1995,7 @@ hostap_recv_mgmt(struct ieee80211_node * else if (isatherosoui(frm)) ath = frm; #endif - else if (vap->iv_flags_ext & IEEE80211_FEXT_HTCOMPAT) { + else if (vap->iv_flags_ht & IEEE80211_FHT_HTCOMPAT) { if (ishtcapoui(frm) && htcap == NULL) htcap = frm; } @@ -2103,7 +2103,7 @@ hostap_recv_mgmt(struct ieee80211_node * /* * If constrained to 11n-only stations reject legacy stations. */ - if ((vap->iv_flags_ext & IEEE80211_FEXT_PUREN) && + if ((vap->iv_flags_ht & IEEE80211_FHT_PUREN) && (ni->ni_flags & IEEE80211_NODE_HT) == 0) { htcapmismatch(ni, wh, reassoc, resp); vap->iv_stats.is_ht_assoc_nohtcap++; Modified: head/sys/net80211/ieee80211_ht.c ============================================================================== --- head/sys/net80211/ieee80211_ht.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_ht.c Sun Jun 7 22:00:22 2009 (r193655) @@ -183,32 +183,32 @@ ieee80211_ht_vattach(struct ieee80211vap * facilities by default. * XXX these choices may be too aggressive. */ - vap->iv_flags_ext |= IEEE80211_FEXT_HT - | IEEE80211_FEXT_HTCOMPAT - ; + vap->iv_flags_ht |= IEEE80211_FHT_HT + | IEEE80211_FHT_HTCOMPAT + ; if (vap->iv_htcaps & IEEE80211_HTCAP_SHORTGI20) - vap->iv_flags_ext |= IEEE80211_FEXT_SHORTGI20; + vap->iv_flags_ht |= IEEE80211_FHT_SHORTGI20; /* XXX infer from channel list? */ if (vap->iv_htcaps & IEEE80211_HTCAP_CHWIDTH40) { - vap->iv_flags_ext |= IEEE80211_FEXT_USEHT40; + vap->iv_flags_ht |= IEEE80211_FHT_USEHT40; if (vap->iv_htcaps & IEEE80211_HTCAP_SHORTGI40) - vap->iv_flags_ext |= IEEE80211_FEXT_SHORTGI40; + vap->iv_flags_ht |= IEEE80211_FHT_SHORTGI40; } /* enable RIFS if capable */ if (vap->iv_htcaps & IEEE80211_HTC_RIFS) - vap->iv_flags_ext |= IEEE80211_FEXT_RIFS; + vap->iv_flags_ht |= IEEE80211_FHT_RIFS; /* NB: A-MPDU and A-MSDU rx are mandated, these are tx only */ - vap->iv_flags_ext |= IEEE80211_FEXT_AMPDU_RX; + vap->iv_flags_ht |= IEEE80211_FHT_AMPDU_RX; if (vap->iv_htcaps & IEEE80211_HTC_AMPDU) - vap->iv_flags_ext |= IEEE80211_FEXT_AMPDU_TX; - vap->iv_flags_ext |= IEEE80211_FEXT_AMSDU_RX; + vap->iv_flags_ht |= IEEE80211_FHT_AMPDU_TX; + vap->iv_flags_ht |= IEEE80211_FHT_AMSDU_RX; if (vap->iv_htcaps & IEEE80211_HTC_AMSDU) - vap->iv_flags_ext |= IEEE80211_FEXT_AMSDU_TX; + vap->iv_flags_ht |= IEEE80211_FHT_AMSDU_TX; } /* NB: disable default legacy WDS, too many issues right now */ if (vap->iv_flags_ext & IEEE80211_FEXT_WDSLEGACY) - vap->iv_flags_ext &= ~IEEE80211_FEXT_HT; + vap->iv_flags_ht &= ~IEEE80211_FHT_HT; } void @@ -921,9 +921,9 @@ ieee80211_ht_adjust_channel(struct ieee8 { struct ieee80211_channel *c; - if (flags & IEEE80211_FEXT_HT) { + if (flags & IEEE80211_FHT_HT) { /* promote to HT if possible */ - if (flags & IEEE80211_FEXT_USEHT40) { + if (flags & IEEE80211_FHT_USEHT40) { if (!IEEE80211_IS_CHAN_HT40(chan)) { /* NB: arbitrarily pick ht40+ over ht40- */ c = findhtchan(ic, chan, IEEE80211_CHAN_HT40U); @@ -961,7 +961,7 @@ ieee80211_ht_wds_init(struct ieee80211_n struct ieee80211_tx_ampdu *tap; int ac; - KASSERT(vap->iv_flags_ext & IEEE80211_FEXT_HT, ("no HT requested")); + KASSERT(vap->iv_flags_ht & IEEE80211_FHT_HT, ("no HT requested")); /* XXX check scan cache in case peer has an ap and we have info */ /* @@ -974,7 +974,7 @@ ieee80211_ht_wds_init(struct ieee80211_n ni->ni_chan, ieee80211_htchanflags(ni->ni_chan)); ni->ni_htcap = 0; - if (vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI20) + if (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) ni->ni_htcap |= IEEE80211_HTCAP_SHORTGI20; if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { ni->ni_htcap |= IEEE80211_HTCAP_CHWIDTH40; @@ -983,14 +983,14 @@ ieee80211_ht_wds_init(struct ieee80211_n ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_ABOVE; else if (IEEE80211_IS_CHAN_HT40D(ni->ni_chan)) ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_BELOW; - if (vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI40) + if (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) ni->ni_htcap |= IEEE80211_HTCAP_SHORTGI40; } else { ni->ni_chw = 20; ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_NONE; } ni->ni_htctlchan = ni->ni_chan->ic_ieee; - if (vap->iv_flags_ext & IEEE80211_FEXT_RIFS) + if (vap->iv_flags_ht & IEEE80211_FHT_RIFS) ni->ni_flags |= IEEE80211_NODE_RIFS; /* XXX does it make sense to enable SMPS? */ @@ -1001,7 +1001,7 @@ ieee80211_ht_wds_init(struct ieee80211_n tap = &ni->ni_tx_ampdu[ac]; tap->txa_ac = ac; } - /* NB: AMPDU tx/rx governed by IEEE80211_FEXT_AMPDU_{TX,RX} */ + /* NB: AMPDU tx/rx governed by IEEE80211_FHT_AMPDU_{TX,RX} */ ni->ni_flags |= IEEE80211_NODE_HT | IEEE80211_NODE_AMPDU; } @@ -1031,7 +1031,7 @@ htinfo_notify(struct ieee80211com *ic) , ic->ic_sta_assoc , ic->ic_ht_sta_assoc , ic->ic_ht40_sta_assoc - , (ic->ic_flags_ext & IEEE80211_FEXT_NONHT_PR) ? + , (ic->ic_flags_ht & IEEE80211_FHT_NONHT_PR) ? ", non-HT sta present" : "" , ic->ic_curhtprotmode); first = 0; @@ -1052,7 +1052,7 @@ htinfo_update(struct ieee80211com *ic) if (ic->ic_sta_assoc != ic->ic_ht_sta_assoc) { protmode = IEEE80211_HTINFO_OPMODE_MIXED | IEEE80211_HTINFO_NONHT_PRESENT; - } else if (ic->ic_flags_ext & IEEE80211_FEXT_NONHT_PR) { + } else if (ic->ic_flags_ht & IEEE80211_FHT_NONHT_PR) { protmode = IEEE80211_HTINFO_OPMODE_PROTOPT | IEEE80211_HTINFO_NONHT_PRESENT; } else if (ic->ic_bsschan != IEEE80211_CHAN_ANYC && @@ -1125,7 +1125,7 @@ ieee80211_htprot_update(struct ieee80211 /* track non-HT station presence */ KASSERT(protmode & IEEE80211_HTINFO_NONHT_PRESENT, ("protmode 0x%x", protmode)); - ic->ic_flags_ext |= IEEE80211_FEXT_NONHT_PR; + ic->ic_flags_ht |= IEEE80211_FHT_NONHT_PR; ic->ic_lastnonht = ticks; if (protmode != ic->ic_curhtprotmode && @@ -1152,13 +1152,13 @@ ieee80211_ht_timeout(struct ieee80211com { IEEE80211_LOCK_ASSERT(ic); - if ((ic->ic_flags_ext & IEEE80211_FEXT_NONHT_PR) && + if ((ic->ic_flags_ht & IEEE80211_FHT_NONHT_PR) && time_after(ticks, ic->ic_lastnonht + IEEE80211_NONHT_PRESENT_AGE)) { #if 0 IEEE80211_NOTE(vap, IEEE80211_MSG_11N, ni, "%s", "time out non-HT STA present on channel"); #endif - ic->ic_flags_ext &= ~IEEE80211_FEXT_NONHT_PR; + ic->ic_flags_ht &= ~IEEE80211_FHT_NONHT_PR; htinfo_update(ic); } } @@ -1303,10 +1303,10 @@ htcap_update_shortgi(struct ieee80211_no ni->ni_flags &= ~(IEEE80211_NODE_SGI20|IEEE80211_NODE_SGI40); if ((ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20) && - (vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI20)) + (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20)) ni->ni_flags |= IEEE80211_NODE_SGI20; if ((ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) && - (vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI40)) + (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40)) ni->ni_flags |= IEEE80211_NODE_SGI40; } @@ -1332,11 +1332,11 @@ ieee80211_ht_updateparams(struct ieee802 htinfo = (const struct ieee80211_ie_htinfo *) htinfoie; htinfo_parse(ni, htinfo); - htflags = (vap->iv_flags_ext & IEEE80211_FEXT_HT) ? + htflags = (vap->iv_flags_ht & IEEE80211_FHT_HT) ? IEEE80211_CHAN_HT20 : 0; /* NB: honor operating mode constraint */ if ((htinfo->hi_byte1 & IEEE80211_HTINFO_TXWIDTH_2040) && - (vap->iv_flags_ext & IEEE80211_FEXT_USEHT40)) { + (vap->iv_flags_ht & IEEE80211_FHT_USEHT40)) { if (ni->ni_ht2ndchan == IEEE80211_HTINFO_2NDCHAN_ABOVE) htflags = IEEE80211_CHAN_HT40U; else if (ni->ni_ht2ndchan == IEEE80211_HTINFO_2NDCHAN_BELOW) @@ -1345,7 +1345,7 @@ ieee80211_ht_updateparams(struct ieee802 htinfo_update_chw(ni, htflags); if ((htinfo->hi_byte1 & IEEE80211_HTINFO_RIFSMODE_PERM) && - (vap->iv_flags_ext & IEEE80211_FEXT_RIFS)) + (vap->iv_flags_ht & IEEE80211_FHT_RIFS)) ni->ni_flags |= IEEE80211_NODE_RIFS; else ni->ni_flags &= ~IEEE80211_NODE_RIFS; @@ -1368,10 +1368,10 @@ ieee80211_ht_updatehtcap(struct ieee8021 /* NB: honor operating mode constraint */ /* XXX 40 MHZ intolerant */ - htflags = (vap->iv_flags_ext & IEEE80211_FEXT_HT) ? + htflags = (vap->iv_flags_ht & IEEE80211_FHT_HT) ? IEEE80211_CHAN_HT20 : 0; if ((ni->ni_htcap & IEEE80211_HTCAP_CHWIDTH40) && - (vap->iv_flags_ext & IEEE80211_FEXT_USEHT40)) { + (vap->iv_flags_ht & IEEE80211_FHT_USEHT40)) { if (IEEE80211_IS_CHAN_HT40U(vap->iv_bss->ni_chan)) htflags = IEEE80211_CHAN_HT40U; else if (IEEE80211_IS_CHAN_HT40D(vap->iv_bss->ni_chan)) @@ -1627,7 +1627,7 @@ ieee80211_aggr_recv_action(struct ieee80 * violates the 11n spec and is mostly for testing). */ if ((ni->ni_flags & IEEE80211_NODE_AMPDU_RX) && - (vap->iv_flags_ext & IEEE80211_FEXT_AMPDU_RX)) { + (vap->iv_flags_ht & IEEE80211_FHT_AMPDU_RX)) { /* XXX handle ampdu_rx_start failure */ ic->ic_ampdu_rx_start(ni, rap, baparamset, batimeout, baseqctl); @@ -2298,7 +2298,7 @@ ieee80211_add_htcap_body(uint8_t *frm, s */ if (vap->iv_opmode == IEEE80211_M_STA) { /* override 20/40 use based on config */ - if (vap->iv_flags_ext & IEEE80211_FEXT_USEHT40) + if (vap->iv_flags_ht & IEEE80211_FHT_USEHT40) caps |= IEEE80211_HTCAP_CHWIDTH40; else caps &= ~IEEE80211_HTCAP_CHWIDTH40; @@ -2315,9 +2315,9 @@ ieee80211_add_htcap_body(uint8_t *frm, s density = vap->iv_ampdu_density; } /* adjust short GI based on channel and config */ - if ((vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI20) == 0) + if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) == 0) caps &= ~IEEE80211_HTCAP_SHORTGI20; - if ((vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI40) == 0 || + if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) == 0 || (caps & IEEE80211_HTCAP_CHWIDTH40) == 0) caps &= ~IEEE80211_HTCAP_SHORTGI40; ADDSHORT(frm, caps); @@ -2408,7 +2408,7 @@ ieee80211_ht_update_beacon(struct ieee80 /* XXX only update on channel change */ ht->hi_ctrlchannel = ieee80211_chan2ieee(ic, bsschan); - if (vap->iv_flags_ext & IEEE80211_FEXT_RIFS) + if (vap->iv_flags_ht & IEEE80211_FHT_RIFS) ht->hi_byte1 = IEEE80211_HTINFO_RIFSMODE_PERM; else ht->hi_byte1 = IEEE80211_HTINFO_RIFSMODE_PROH; @@ -2447,7 +2447,7 @@ ieee80211_add_htinfo_body(uint8_t *frm, /* primary/control channel center */ *frm++ = ieee80211_chan2ieee(ic, ni->ni_chan); - if (vap->iv_flags_ext & IEEE80211_FEXT_RIFS) + if (vap->iv_flags_ht & IEEE80211_FHT_RIFS) frm[0] = IEEE80211_HTINFO_RIFSMODE_PERM; else frm[0] = IEEE80211_HTINFO_RIFSMODE_PROH; Modified: head/sys/net80211/ieee80211_input.c ============================================================================== --- head/sys/net80211/ieee80211_input.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_input.c Sun Jun 7 22:00:22 2009 (r193655) @@ -572,7 +572,7 @@ ieee80211_parse_beacon(struct ieee80211_ else if (istdmaoui(frm)) scan->tdma = frm; #endif - else if (vap->iv_flags_ext & IEEE80211_FEXT_HTCOMPAT) { + else if (vap->iv_flags_ht & IEEE80211_FHT_HTCOMPAT) { /* * Accept pre-draft HT ie's if the * standard ones have not been seen. Modified: head/sys/net80211/ieee80211_ioctl.c ============================================================================== --- head/sys/net80211/ieee80211_ioctl.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_ioctl.c Sun Jun 7 22:00:22 2009 (r193655) @@ -990,16 +990,16 @@ ieee80211_ioctl_get80211(struct ieee8021 break; case IEEE80211_IOC_SHORTGI: ireq->i_val = 0; - if (vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI20) + if (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) ireq->i_val |= IEEE80211_HTCAP_SHORTGI20; - if (vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI40) + if (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) ireq->i_val |= IEEE80211_HTCAP_SHORTGI40; break; case IEEE80211_IOC_AMPDU: ireq->i_val = 0; - if (vap->iv_flags_ext & IEEE80211_FEXT_AMPDU_TX) + if (vap->iv_flags_ht & IEEE80211_FHT_AMPDU_TX) ireq->i_val |= 1; - if (vap->iv_flags_ext & IEEE80211_FEXT_AMPDU_RX) + if (vap->iv_flags_ht & IEEE80211_FHT_AMPDU_RX) ireq->i_val |= 2; break; case IEEE80211_IOC_AMPDU_LIMIT: @@ -1021,16 +1021,16 @@ ieee80211_ioctl_get80211(struct ieee8021 break; case IEEE80211_IOC_AMSDU: ireq->i_val = 0; - if (vap->iv_flags_ext & IEEE80211_FEXT_AMSDU_TX) + if (vap->iv_flags_ht & IEEE80211_FHT_AMSDU_TX) ireq->i_val |= 1; - if (vap->iv_flags_ext & IEEE80211_FEXT_AMSDU_RX) + if (vap->iv_flags_ht & IEEE80211_FHT_AMSDU_RX) ireq->i_val |= 2; break; case IEEE80211_IOC_AMSDU_LIMIT: ireq->i_val = vap->iv_amsdu_limit; /* XXX truncation? */ break; case IEEE80211_IOC_PUREN: - ireq->i_val = (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) != 0; + ireq->i_val = (vap->iv_flags_ht & IEEE80211_FHT_PUREN) != 0; break; case IEEE80211_IOC_DOTH: ireq->i_val = (vap->iv_flags & IEEE80211_F_DOTH) != 0; @@ -1045,7 +1045,7 @@ ieee80211_ioctl_get80211(struct ieee8021 error = ieee80211_ioctl_gettxparams(vap, ireq); break; case IEEE80211_IOC_HTCOMPAT: - ireq->i_val = (vap->iv_flags_ext & IEEE80211_FEXT_HTCOMPAT) != 0; + ireq->i_val = (vap->iv_flags_ht & IEEE80211_FHT_HTCOMPAT) != 0; break; case IEEE80211_IOC_DWDS: ireq->i_val = (vap->iv_flags & IEEE80211_F_DWDS) != 0; @@ -1075,9 +1075,9 @@ ieee80211_ioctl_get80211(struct ieee8021 ireq->i_val = ic->ic_htprotmode; break; case IEEE80211_IOC_HTCONF: - if (vap->iv_flags_ext & IEEE80211_FEXT_HT) { + if (vap->iv_flags_ht & IEEE80211_FHT_HT) { ireq->i_val = 1; - if (vap->iv_flags_ext & IEEE80211_FEXT_USEHT40) + if (vap->iv_flags_ht & IEEE80211_FHT_USEHT40) ireq->i_val |= 2; } else ireq->i_val = 0; @@ -1104,7 +1104,7 @@ ieee80211_ioctl_get80211(struct ieee8021 (vap->iv_bss->ni_flags & IEEE80211_NODE_RIFS) != 0; else ireq->i_val = - (vap->iv_flags_ext & IEEE80211_FEXT_RIFS) != 0; + (vap->iv_flags_ht & IEEE80211_FHT_RIFS) != 0; break; default: error = ieee80211_ioctl_getdefault(vap, ireq); @@ -2815,13 +2815,13 @@ ieee80211_ioctl_set80211(struct ieee8021 break; case IEEE80211_IOC_HTCONF: if (ireq->i_val & 1) - ieee80211_syncflag_ext(vap, IEEE80211_FEXT_HT); + ieee80211_syncflag_ht(vap, IEEE80211_FHT_HT); else - ieee80211_syncflag_ext(vap, -IEEE80211_FEXT_HT); + ieee80211_syncflag_ht(vap, -IEEE80211_FHT_HT); if (ireq->i_val & 2) - ieee80211_syncflag_ext(vap, IEEE80211_FEXT_USEHT40); + ieee80211_syncflag_ht(vap, IEEE80211_FHT_USEHT40); else - ieee80211_syncflag_ext(vap, -IEEE80211_FEXT_USEHT40); + ieee80211_syncflag_ht(vap, -IEEE80211_FHT_USEHT40); error = ENETRESET; break; case IEEE80211_IOC_ADDMAC: @@ -2938,26 +2938,26 @@ ieee80211_ioctl_set80211(struct ieee8021 if (((ireq->i_val ^ vap->iv_htcaps) & IEEE80211_HTCAP_SHORTGI) != 0) return EINVAL; if (ireq->i_val & IEEE80211_HTCAP_SHORTGI20) - vap->iv_flags_ext |= IEEE80211_FEXT_SHORTGI20; + vap->iv_flags_ht |= IEEE80211_FHT_SHORTGI20; if (ireq->i_val & IEEE80211_HTCAP_SHORTGI40) - vap->iv_flags_ext |= IEEE80211_FEXT_SHORTGI40; + vap->iv_flags_ht |= IEEE80211_FHT_SHORTGI40; #undef IEEE80211_HTCAP_SHORTGI } else - vap->iv_flags_ext &= - ~(IEEE80211_FEXT_SHORTGI20 | IEEE80211_FEXT_SHORTGI40); + vap->iv_flags_ht &= + ~(IEEE80211_FHT_SHORTGI20 | IEEE80211_FHT_SHORTGI40); error = ERESTART; break; case IEEE80211_IOC_AMPDU: if (ireq->i_val && (vap->iv_htcaps & IEEE80211_HTC_AMPDU) == 0) return EINVAL; if (ireq->i_val & 1) - vap->iv_flags_ext |= IEEE80211_FEXT_AMPDU_TX; + vap->iv_flags_ht |= IEEE80211_FHT_AMPDU_TX; else - vap->iv_flags_ext &= ~IEEE80211_FEXT_AMPDU_TX; + vap->iv_flags_ht &= ~IEEE80211_FHT_AMPDU_TX; if (ireq->i_val & 2) - vap->iv_flags_ext |= IEEE80211_FEXT_AMPDU_RX; + vap->iv_flags_ht |= IEEE80211_FHT_AMPDU_RX; else - vap->iv_flags_ext &= ~IEEE80211_FEXT_AMPDU_RX; + vap->iv_flags_ht &= ~IEEE80211_FHT_AMPDU_RX; /* NB: reset only if we're operating on an 11n channel */ if (isvapht(vap)) error = ERESTART; @@ -2983,13 +2983,13 @@ ieee80211_ioctl_set80211(struct ieee8021 if (ireq->i_val && (vap->iv_htcaps & IEEE80211_HTC_AMSDU) == 0) return EINVAL; if (ireq->i_val & 1) - vap->iv_flags_ext |= IEEE80211_FEXT_AMSDU_TX; + vap->iv_flags_ht |= IEEE80211_FHT_AMSDU_TX; else - vap->iv_flags_ext &= ~IEEE80211_FEXT_AMSDU_TX; + vap->iv_flags_ht &= ~IEEE80211_FHT_AMSDU_TX; if (ireq->i_val & 2) - vap->iv_flags_ext |= IEEE80211_FEXT_AMSDU_RX; + vap->iv_flags_ht |= IEEE80211_FHT_AMSDU_RX; else - vap->iv_flags_ext &= ~IEEE80211_FEXT_AMSDU_RX; + vap->iv_flags_ht &= ~IEEE80211_FHT_AMSDU_RX; /* NB: reset only if we're operating on an 11n channel */ if (isvapht(vap)) error = ERESTART; @@ -3000,11 +3000,11 @@ ieee80211_ioctl_set80211(struct ieee8021 break; case IEEE80211_IOC_PUREN: if (ireq->i_val) { - if ((vap->iv_flags_ext & IEEE80211_FEXT_HT) == 0) + if ((vap->iv_flags_ht & IEEE80211_FHT_HT) == 0) return EINVAL; - vap->iv_flags_ext |= IEEE80211_FEXT_PUREN; + vap->iv_flags_ht |= IEEE80211_FHT_PUREN; } else - vap->iv_flags_ext &= ~IEEE80211_FEXT_PUREN; + vap->iv_flags_ht &= ~IEEE80211_FHT_PUREN; /* NB: reset only if we're operating on an 11n channel */ if (isvapht(vap)) error = ERESTART; @@ -3032,11 +3032,11 @@ ieee80211_ioctl_set80211(struct ieee8021 break; case IEEE80211_IOC_HTCOMPAT: if (ireq->i_val) { - if ((vap->iv_flags_ext & IEEE80211_FEXT_HT) == 0) + if ((vap->iv_flags_ht & IEEE80211_FHT_HT) == 0) return EOPNOTSUPP; - vap->iv_flags_ext |= IEEE80211_FEXT_HTCOMPAT; + vap->iv_flags_ht |= IEEE80211_FHT_HTCOMPAT; } else - vap->iv_flags_ext &= ~IEEE80211_FEXT_HTCOMPAT; + vap->iv_flags_ht &= ~IEEE80211_FHT_HTCOMPAT; /* NB: reset only if we're operating on an 11n channel */ if (isvapht(vap)) error = ERESTART; @@ -3135,9 +3135,9 @@ ieee80211_ioctl_set80211(struct ieee8021 if (ireq->i_val != 0) { if ((vap->iv_htcaps & IEEE80211_HTC_RIFS) == 0) return EOPNOTSUPP; - vap->iv_flags_ext |= IEEE80211_FEXT_RIFS; + vap->iv_flags_ht |= IEEE80211_FHT_RIFS; } else - vap->iv_flags_ext &= ~IEEE80211_FEXT_RIFS; + vap->iv_flags_ht &= ~IEEE80211_FHT_RIFS; /* NB: if not operating in 11n this can wait */ if (isvapht(vap)) error = ERESTART; Modified: head/sys/net80211/ieee80211_node.c ============================================================================== --- head/sys/net80211/ieee80211_node.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_node.c Sun Jun 7 22:00:22 2009 (r193655) @@ -287,10 +287,10 @@ ieee80211_node_set_chan(struct ieee80211 * and non-ERP rates in 11g for mixed ERP+non-ERP bss. */ if (mode == IEEE80211_MODE_11NA && - (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) == 0) + (vap->iv_flags_ht & IEEE80211_FHT_PUREN) == 0) mode = IEEE80211_MODE_11A; else if (mode == IEEE80211_MODE_11NG && - (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) == 0) + (vap->iv_flags_ht & IEEE80211_FHT_PUREN) == 0) mode = IEEE80211_MODE_11G; if (mode == IEEE80211_MODE_11G && (vap->iv_flags & IEEE80211_F_PUREG) == 0) @@ -650,7 +650,7 @@ ieee80211_setupcurchan(struct ieee80211c * set of running vap's. This assumes we are called * after ni_chan is setup for each vap. */ - /* NB: this assumes IEEE80211_FEXT_USEHT40 > IEEE80211_FEXT_HT */ + /* NB: this assumes IEEE80211_FHT_USEHT40 > IEEE80211_FHT_HT */ if (flags > ieee80211_htchanflags(c)) c = ieee80211_ht_adjust_channel(ic, c, flags); } @@ -1204,7 +1204,7 @@ ieee80211_node_create_wds(struct ieee802 ni->ni_flags |= IEEE80211_NODE_FF; #endif if ((ic->ic_htcaps & IEEE80211_HTC_HT) && - (vap->iv_flags_ext & IEEE80211_FEXT_HT)) { + (vap->iv_flags_ht & IEEE80211_FHT_HT)) { /* * Device is HT-capable and HT is enabled for * the vap; setup HT operation. On return Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_output.c Sun Jun 7 22:00:22 2009 (r193655) @@ -266,7 +266,7 @@ ieee80211_start(struct ifnet *ifp) * otherwise unable to establish a BA stream. */ if ((ni->ni_flags & IEEE80211_NODE_AMPDU_TX) && - (vap->iv_flags_ext & IEEE80211_FEXT_AMPDU_TX) && + (vap->iv_flags_ht & IEEE80211_FHT_AMPDU_TX) && (m->m_flags & M_EAPOL) == 0) { const int ac = M_WME_GETAC(m); struct ieee80211_tx_ampdu *tap = &ni->ni_tx_ampdu[ac]; @@ -1853,7 +1853,7 @@ ieee80211_send_mgmt(struct ieee80211_nod ic->ic_curchan); frm = ieee80211_add_supportedchannels(frm, ic); } - if ((vap->iv_flags_ext & IEEE80211_FEXT_HT) && + if ((vap->iv_flags_ht & IEEE80211_FHT_HT) && ni->ni_ies.htcap_ie != NULL && ni->ni_ies.htcap_ie[0] == IEEE80211_ELEMID_HTCAP) frm = ieee80211_add_htcap(frm, ni); @@ -1865,7 +1865,7 @@ ieee80211_send_mgmt(struct ieee80211_nod if ((ic->ic_flags & IEEE80211_F_WME) && ni->ni_ies.wme_ie != NULL) frm = ieee80211_add_wme_info(frm, &ic->ic_wme); - if ((vap->iv_flags_ext & IEEE80211_FEXT_HT) && + if ((vap->iv_flags_ht & IEEE80211_FHT_HT) && ni->ni_ies.htcap_ie != NULL && ni->ni_ies.htcap_ie[0] == IEEE80211_ELEMID_VENDOR) frm = ieee80211_add_htcap_vendor(frm, ni); @@ -2138,7 +2138,7 @@ ieee80211_alloc_proberesp(struct ieee802 if (vap->iv_flags & IEEE80211_F_WME) frm = ieee80211_add_wme_param(frm, &ic->ic_wme); if (IEEE80211_IS_CHAN_HT(bss->ni_chan) && - (vap->iv_flags_ext & IEEE80211_FEXT_HTCOMPAT) && + (vap->iv_flags_ht & IEEE80211_FHT_HTCOMPAT) && legacy != IEEE80211_SEND_LEGACY_11B) { frm = ieee80211_add_htcap_vendor(frm, bss); frm = ieee80211_add_htinfo_vendor(frm, bss); @@ -2427,7 +2427,7 @@ ieee80211_beacon_construct(struct mbuf * frm = ieee80211_add_wme_param(frm, &ic->ic_wme); } if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && - (vap->iv_flags_ext & IEEE80211_FEXT_HTCOMPAT)) { + (vap->iv_flags_ht & IEEE80211_FHT_HTCOMPAT)) { frm = ieee80211_add_htcap_vendor(frm, ni); frm = ieee80211_add_htinfo_vendor(frm, ni); } Modified: head/sys/net80211/ieee80211_proto.h ============================================================================== --- head/sys/net80211/ieee80211_proto.h Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_proto.h Sun Jun 7 22:00:22 2009 (r193655) @@ -58,6 +58,7 @@ void ieee80211_proto_vdetach(struct ieee void ieee80211_syncifflag_locked(struct ieee80211com *, int flag); void ieee80211_syncflag(struct ieee80211vap *, int flag); +void ieee80211_syncflag_ht(struct ieee80211vap *, int flag); void ieee80211_syncflag_ext(struct ieee80211vap *, int flag); #define ieee80211_input(ni, m, rssi, nf) \ Modified: head/sys/net80211/ieee80211_scan_sta.c ============================================================================== --- head/sys/net80211/ieee80211_scan_sta.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_scan_sta.c Sun Jun 7 22:00:22 2009 (r193655) @@ -1561,7 +1561,7 @@ notfound: chan = adhoc_pick_channel(ss, 0); if (chan != NULL) chan = ieee80211_ht_adjust_channel(ic, - chan, vap->iv_flags_ext); + chan, vap->iv_flags_ht); } else chan = vap->iv_des_chan; if (chan != NULL) { @@ -1761,7 +1761,7 @@ ap_end(struct ieee80211_scan_state *ss, return 1; } ieee80211_create_ibss(vap, - ieee80211_ht_adjust_channel(ic, bestchan, vap->iv_flags_ext)); + ieee80211_ht_adjust_channel(ic, bestchan, vap->iv_flags_ht)); return 1; } Modified: head/sys/net80211/ieee80211_sta.c ============================================================================== --- head/sys/net80211/ieee80211_sta.c Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_sta.c Sun Jun 7 22:00:22 2009 (r193655) @@ -1342,7 +1342,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, ieee80211_parse_athparams(ni, scan.ath, wh); #endif if (scan.htcap != NULL && scan.htinfo != NULL && - (vap->iv_flags_ext & IEEE80211_FEXT_HT)) { + (vap->iv_flags_ht & IEEE80211_FHT_HT)) { ieee80211_ht_updateparams(ni, scan.htcap, scan.htinfo); /* XXX state changes? */ @@ -1532,7 +1532,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, case IEEE80211_ELEMID_VENDOR: if (iswmeoui(frm)) wme = frm; - else if (vap->iv_flags_ext & IEEE80211_FEXT_HTCOMPAT) { + else if (vap->iv_flags_ht & IEEE80211_FHT_HTCOMPAT) { /* * Accept pre-draft HT ie's if the * standard ones have not been seen. @@ -1588,7 +1588,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, * are HT capable in our AssocReq. */ if (htcap != NULL && htinfo != NULL && - (vap->iv_flags_ext & IEEE80211_FEXT_HT)) { + (vap->iv_flags_ht & IEEE80211_FHT_HT)) { ieee80211_ht_node_init(ni); ieee80211_ht_updateparams(ni, htcap, htinfo); ieee80211_setup_htrates(ni, htcap, Modified: head/sys/net80211/ieee80211_var.h ============================================================================== --- head/sys/net80211/ieee80211_var.h Sun Jun 7 21:50:42 2009 (r193654) +++ head/sys/net80211/ieee80211_var.h Sun Jun 7 22:00:22 2009 (r193655) @@ -131,6 +131,7 @@ struct ieee80211com { uint32_t ic_flags; /* state flags */ uint32_t ic_flags_ext; /* extended state flags */ + uint32_t ic_flags_ht; /* HT state flags */ uint32_t ic_flags_ven; /* vendor state flags */ uint32_t ic_caps; /* capabilities */ uint32_t ic_htcaps; /* HT capabilities */ @@ -329,6 +330,7 @@ struct ieee80211vap { uint8_t iv_myaddr[IEEE80211_ADDR_LEN]; uint32_t iv_flags; /* state flags */ uint32_t iv_flags_ext; /* extended state flags */ + uint32_t iv_flags_ht; /* HT state flags */ uint32_t iv_flags_ven; /* vendor state flags */ uint32_t iv_caps; /* capabilities */ uint32_t iv_htcaps; /* HT capabilities */ @@ -516,7 +518,6 @@ MALLOC_DECLARE(M_80211_VAP); ((vap)->iv_flags & (ni)->ni_ath_flags & (bit)) /* ic_flags_ext/iv_flags_ext */ -#define IEEE80211_FEXT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */ #define IEEE80211_FEXT_INACT 0x00000002 /* CONF: sta inact handling */ #define IEEE80211_FEXT_SCANWAIT 0x00000004 /* STATUS: awaiting scan */ /* 0x00000006 reserved */ @@ -536,25 +537,32 @@ MALLOC_DECLARE(M_80211_VAP); /* NB: immutable: should be set only when creating a vap */ #define IEEE80211_FEXT_WDSLEGACY 0x00010000 /* CONF: legacy WDS operation */ #define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/ -#define IEEE80211_FEXT_GF 0x00040000 /* CONF: Greenfield enabled */ -#define IEEE80211_FEXT_HT 0x00080000 /* CONF: HT supported */ -#define IEEE80211_FEXT_AMPDU_TX 0x00100000 /* CONF: A-MPDU tx supported */ -#define IEEE80211_FEXT_AMPDU_RX 0x00200000 /* CONF: A-MPDU rx supported */ -#define IEEE80211_FEXT_AMSDU_TX 0x00400000 /* CONF: A-MSDU tx supported */ -#define IEEE80211_FEXT_AMSDU_RX 0x00800000 /* CONF: A-MSDU rx supported */ -#define IEEE80211_FEXT_USEHT40 0x01000000 /* CONF: 20/40 use enabled */ -#define IEEE80211_FEXT_PUREN 0x02000000 /* CONF: 11n w/o legacy sta's */ -#define IEEE80211_FEXT_SHORTGI20 0x04000000 /* CONF: short GI in HT20 */ -#define IEEE80211_FEXT_SHORTGI40 0x08000000 /* CONF: short GI in HT40 */ -#define IEEE80211_FEXT_HTCOMPAT 0x10000000 /* CONF: HT vendor OUI's */ -#define IEEE80211_FEXT_RIFS 0x20000000 /* CONF: RIFS enabled */ -#define IEEE80211_FEXT_STBC_TX 0x40000000 /* CONF: STBC tx enabled */ -#define IEEE80211_FEXT_STBC_RX 0x80000000 /* CONF: STBC rx enabled */ #define IEEE80211_FEXT_BITS \ - "\20\1NONHT_PR\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \ + "\20\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \ "\0114ADDR\12NONEPR_PR\13SWBMISS\14DFS\15DOTD\16STATEWAIT\17REINIT" \ - "\20BPF\21WDSLEGACY\22PROBECHAN\23GF\24HT\25AMDPU_TX\26AMPDU_TX" \ + "\20BPF\21WDSLEGACY\22PROBECHAN" + +/* ic_flags_ht/iv_flags_ht */ +#define IEEE80211_FHT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */ +#define IEEE80211_FHT_GF 0x00040000 /* CONF: Greenfield enabled */ +#define IEEE80211_FHT_HT 0x00080000 /* CONF: HT supported */ +#define IEEE80211_FHT_AMPDU_TX 0x00100000 /* CONF: A-MPDU tx supported */ +#define IEEE80211_FHT_AMPDU_RX 0x00200000 /* CONF: A-MPDU rx supported */ +#define IEEE80211_FHT_AMSDU_TX 0x00400000 /* CONF: A-MSDU tx supported */ +#define IEEE80211_FHT_AMSDU_RX 0x00800000 /* CONF: A-MSDU rx supported */ +#define IEEE80211_FHT_USEHT40 0x01000000 /* CONF: 20/40 use enabled */ +#define IEEE80211_FHT_PUREN 0x02000000 /* CONF: 11n w/o legacy sta's */ +#define IEEE80211_FHT_SHORTGI20 0x04000000 /* CONF: short GI in HT20 */ +#define IEEE80211_FHT_SHORTGI40 0x08000000 /* CONF: short GI in HT40 */ +#define IEEE80211_FHT_HTCOMPAT 0x10000000 /* CONF: HT vendor OUI's */ +#define IEEE80211_FHT_RIFS 0x20000000 /* CONF: RIFS enabled */ +#define IEEE80211_FHT_STBC_TX 0x40000000 /* CONF: STBC tx enabled */ +#define IEEE80211_FHT_STBC_RX 0x80000000 /* CONF: STBC rx enabled */ + +#define IEEE80211_FHT_BITS \ + "\20\1NONHT_PR" \ + "\23GF\24HT\25AMDPU_TX\26AMPDU_TX" \ "\27AMSDU_TX\30AMSDU_RX\31USEHT40\32PUREN\33SHORTGI20\34SHORTGI40" \ "\35HTCOMPAT\36RIFS\37STBC_TX\40STBC_RX" @@ -751,14 +759,14 @@ ieee80211_beacon_notify(struct ieee80211 /* * Calculate HT channel promotion flags for a channel. - * XXX belongs in ieee80211_ht.h but needs IEEE80211_FEXT_* + * XXX belongs in ieee80211_ht.h but needs IEEE80211_FHT_* */ static __inline int ieee80211_htchanflags(const struct ieee80211_channel *c) { return IEEE80211_IS_CHAN_HT40(c) ? - IEEE80211_FEXT_HT | IEEE80211_FEXT_USEHT40 : - IEEE80211_IS_CHAN_HT(c) ? IEEE80211_FEXT_HT : 0; + IEEE80211_FHT_HT | IEEE80211_FHT_USEHT40 : + IEEE80211_IS_CHAN_HT(c) ? IEEE80211_FHT_HT : 0; } /* From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 22:03:08 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80D08106566B; Sun, 7 Jun 2009 22:03:08 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6EAB88FC08; Sun, 7 Jun 2009 22:03:08 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57M38pH006858; Sun, 7 Jun 2009 22:03:08 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57M38Mn006857; Sun, 7 Jun 2009 22:03:08 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906072203.n57M38Mn006857@svn.freebsd.org> From: Sam Leffler Date: Sun, 7 Jun 2009 22:03: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: r193656 - head/sys/dev/mwl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 22:03:08 -0000 Author: sam Date: Sun Jun 7 22:03:07 2009 New Revision: 193656 URL: http://svn.freebsd.org/changeset/base/193656 Log: track HT flags move to iv_flags_ht Modified: head/sys/dev/mwl/if_mwl.c Modified: head/sys/dev/mwl/if_mwl.c ============================================================================== --- head/sys/dev/mwl/if_mwl.c Sun Jun 7 22:00:22 2009 (r193655) +++ head/sys/dev/mwl/if_mwl.c Sun Jun 7 22:03:07 2009 (r193656) @@ -1079,10 +1079,10 @@ mwl_seteapolformat(struct ieee80211vap * * NB: this may violate POLA for sta and wds vap's. */ if (mode == IEEE80211_MODE_11NA && - (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) == 0) + (vap->iv_flags_ht & IEEE80211_FHT_PUREN) == 0) rate = vap->iv_txparms[IEEE80211_MODE_11A].mgmtrate; else if (mode == IEEE80211_MODE_11NG && - (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) == 0) + (vap->iv_flags_ht & IEEE80211_FHT_PUREN) == 0) rate = vap->iv_txparms[IEEE80211_MODE_11G].mgmtrate; else rate = vap->iv_txparms[mode].mgmtrate; @@ -1263,8 +1263,8 @@ mwl_reset_vap(struct ieee80211vap *vap, /* XXX off by 1? */ mwl_hal_setrtsthreshold(hvap, vap->iv_rtsthreshold); /* XXX auto? 20/40 split? */ - mwl_hal_sethtgi(hvap, (vap->iv_flags_ext & - (IEEE80211_FEXT_SHORTGI20|IEEE80211_FEXT_SHORTGI40)) ? 1 : 0); + mwl_hal_sethtgi(hvap, (vap->iv_flags_ht & + (IEEE80211_FHT_SHORTGI20|IEEE80211_FHT_SHORTGI40)) ? 1 : 0); mwl_hal_setnprot(hvap, ic->ic_htprotmode == IEEE80211_PROT_NONE ? HTPROTECT_NONE : HTPROTECT_AUTO); /* XXX txpower cap */ @@ -3865,7 +3865,7 @@ mwl_getapmode(const struct ieee80211vap MWL_HAL_APMODE mode; if (IEEE80211_IS_CHAN_HT(chan)) { - if (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) + if (vap->iv_flags_ht & IEEE80211_FHT_PUREN) mode = AP_MODE_N_ONLY; else if (IEEE80211_IS_CHAN_5GHZ(chan)) mode = AP_MODE_AandN; @@ -4366,9 +4366,9 @@ mwl_newassoc(struct ieee80211_node *ni, pi.AddHtInfo.stbc = ni->ni_htstbc; /* constrain according to local configuration */ - if ((vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI40) == 0) + if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) == 0) pi.HTCapabilitiesInfo &= ~IEEE80211_HTCAP_SHORTGI40; - if ((vap->iv_flags_ext & IEEE80211_FEXT_SHORTGI20) == 0) + if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) == 0) pi.HTCapabilitiesInfo &= ~IEEE80211_HTCAP_SHORTGI20; if (ni->ni_chw != 40) pi.HTCapabilitiesInfo &= ~IEEE80211_HTCAP_CHWIDTH40; From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 22:03:25 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD0CA106568B; Sun, 7 Jun 2009 22:03:25 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AAEC58FC08; Sun, 7 Jun 2009 22:03:25 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57M3PVH006898; Sun, 7 Jun 2009 22:03:25 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57M3PUL006897; Sun, 7 Jun 2009 22:03:25 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906072203.n57M3PUL006897@svn.freebsd.org> From: Sam Leffler Date: Sun, 7 Jun 2009 22:03: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: r193657 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 22:03:26 -0000 Author: sam Date: Sun Jun 7 22:03:25 2009 New Revision: 193657 URL: http://svn.freebsd.org/changeset/base/193657 Log: add iv_flags_ht and ic_flags_ht Modified: head/sys/net80211/ieee80211_ddb.c Modified: head/sys/net80211/ieee80211_ddb.c ============================================================================== --- head/sys/net80211/ieee80211_ddb.c Sun Jun 7 22:03:07 2009 (r193656) +++ head/sys/net80211/ieee80211_ddb.c Sun Jun 7 22:03:25 2009 (r193657) @@ -335,6 +335,7 @@ _db_show_vap(const struct ieee80211vap * db_printf("\tflags=%b\n", vap->iv_flags, IEEE80211_F_BITS); db_printf("\tflags_ext=%b\n", vap->iv_flags_ext, IEEE80211_FEXT_BITS); + db_printf("\tflags_ht=%b\n", vap->iv_flags_ht, IEEE80211_FHT_BITS); db_printf("\tflags_ven=%b\n", vap->iv_flags_ven, IEEE80211_FVEN_BITS); db_printf("\tcaps=%b\n", vap->iv_caps, IEEE80211_C_BITS); db_printf("\thtcaps=%b\n", vap->iv_htcaps, IEEE80211_C_HTCAP_BITS); @@ -493,6 +494,7 @@ _db_show_com(const struct ieee80211com * db_printf("\tflags=%b\n", ic->ic_flags, IEEE80211_F_BITS); db_printf("\tflags_ext=%b\n", ic->ic_flags_ext, IEEE80211_FEXT_BITS); + db_printf("\tflags_ht=%b\n", ic->ic_flags_ht, IEEE80211_FHT_BITS); db_printf("\tflags_ven=%b\n", ic->ic_flags_ven, IEEE80211_FVEN_BITS); db_printf("\tcaps=%b\n", ic->ic_caps, IEEE80211_C_BITS); db_printf("\tcryptocaps=%b\n", From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 22:05:24 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F38CF106566C; Sun, 7 Jun 2009 22:05:23 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from mail.vnode.se (mail.vnode.se [62.119.52.82]) by mx1.freebsd.org (Postfix) with ESMTP id A845F8FC14; Sun, 7 Jun 2009 22:05:23 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from iMac.local (pgw.vnode.se [77.110.37.134]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.vnode.se (Postfix) with ESMTPSA id BC2A0E9F42B; Mon, 8 Jun 2009 00:05:21 +0200 (CEST) Message-ID: <4A2C39A1.8060702@FreeBSD.org> Date: Mon, 08 Jun 2009 00:05:21 +0200 From: Joel Dahl User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Ariff Abdullah References: <200906071912.n57JC9GZ002423@svn.freebsd.org> In-Reply-To: <200906071912.n57JC9GZ002423@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: r193640 - in head/sys: conf dev/sound dev/sound/isa dev/sound/macio dev/sound/midi dev/sound/pci dev/sound/pci/hda dev/sound/pcm dev/sound/sbus dev/sound/usb modules/sound/sound sys tools X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 22:05:24 -0000 Ariff Abdullah skrev: > Author: ariff > Date: Sun Jun 7 19:12:08 2009 > New Revision: 193640 > URL: http://svn.freebsd.org/changeset/base/193640 > > Log: > Sound Mega-commit. Expect further cleanup until code freeze. This is really good news. Thank you! -- Joel From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 22:06:16 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 567811065670; Sun, 7 Jun 2009 22:06:16 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2A4C78FC0C; Sun, 7 Jun 2009 22:06:16 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57M6GUD006999; Sun, 7 Jun 2009 22:06:16 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57M6GVS006998; Sun, 7 Jun 2009 22:06:16 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906072206.n57M6GVS006998@svn.freebsd.org> From: Sam Leffler Date: Sun, 7 Jun 2009 22:06:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193658 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 22:06:16 -0000 Author: sam Date: Sun Jun 7 22:06:15 2009 New Revision: 193658 URL: http://svn.freebsd.org/changeset/base/193658 Log: teach ieee80211_classify about ipv6 packets Reviewed by: bz, rrs Modified: head/sys/net80211/ieee80211_output.c Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Sun Jun 7 22:03:25 2009 (r193657) +++ head/sys/net80211/ieee80211_output.c Sun Jun 7 22:06:15 2009 (r193658) @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" +#include "opt_inet6.h" #include "opt_wlan.h" #include @@ -61,6 +62,9 @@ __FBSDID("$FreeBSD$"); #include #include #endif +#ifdef INET6 +#include +#endif #include @@ -730,13 +734,13 @@ ieee80211_classify(struct ieee80211_node v_wme_ac = TID_TO_WME_AC(EVL_PRIOFTAG(ni->ni_vlan)); } + /* XXX m_copydata may be too slow for fast path */ #ifdef INET if (eh->ether_type == htons(ETHERTYPE_IP)) { uint8_t tos; /* * IP frame, map the DSCP bits from the TOS field. */ - /* XXX m_copydata may be too slow for fast path */ /* NB: ip header may not be in first mbuf */ m_copydata(m, sizeof(struct ether_header) + offsetof(struct ip, ip_tos), sizeof(tos), &tos); @@ -744,7 +748,25 @@ ieee80211_classify(struct ieee80211_node d_wme_ac = TID_TO_WME_AC(tos); } else { #endif /* INET */ +#ifdef INET6 + if (eh->ether_type == htons(ETHERTYPE_IPV6)) { + uint32_t flow; + uint8_t tos; + /* + * IPv6 frame, map the DSCP bits from the TOS field. + */ + m_copydata(m, sizeof(struct ether_header) + + offsetof(struct ip6_hdr, ip6_flow), sizeof(flow), + (caddr_t) &flow); + tos = (uint8_t)(ntohl(flow) >> 20); + tos >>= 5; /* NB: ECN + low 3 bits of DSCP */ + d_wme_ac = TID_TO_WME_AC(tos); + } else { +#endif /* INET6 */ d_wme_ac = WME_AC_BE; +#ifdef INET6 + } +#endif #ifdef INET } #endif From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 22:52:49 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D962106564A; Sun, 7 Jun 2009 22:52:49 +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 310D18FC0C; Sun, 7 Jun 2009 22:52:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57Mqn4R008025; Sun, 7 Jun 2009 22:52:49 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57Mqn9d008024; Sun, 7 Jun 2009 22:52:49 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <200906072252.n57Mqn9d008024@svn.freebsd.org> From: Adrian Chadd Date: Sun, 7 Jun 2009 22:52: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: r193662 - head/sys/i386/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, 07 Jun 2009 22:52:49 -0000 Author: adrian Date: Sun Jun 7 22:52:48 2009 New Revision: 193662 URL: http://svn.freebsd.org/changeset/base/193662 Log: Decouple the i386 native and i386 Xen APIC definitions a little further. I'm experimenting locally with xen APIC emulation a bit and this makes it easier to migrate APIC entries between being bitmapped and not being bitmapped. Modified: head/sys/i386/include/apicvar.h Modified: head/sys/i386/include/apicvar.h ============================================================================== --- head/sys/i386/include/apicvar.h Sun Jun 7 22:52:19 2009 (r193661) +++ head/sys/i386/include/apicvar.h Sun Jun 7 22:52:48 2009 (r193662) @@ -108,12 +108,13 @@ */ /* Interrupts for local APIC LVT entries other than the timer. */ +#ifdef XEN +/* These are the Xen i386 APIC definitions */ #define APIC_LOCAL_INTS 240 #define APIC_ERROR_INT APIC_LOCAL_INTS #define APIC_THERMAL_INT (APIC_LOCAL_INTS + 1) - #define APIC_IPI_INTS (APIC_LOCAL_INTS + 2) -#ifdef XEN + #define IPI_RENDEZVOUS (APIC_IPI_INTS) /* Inter-CPU rendezvous. */ #define IPI_INVLTLB (APIC_IPI_INTS + 1) /* TLB Shootdown IPIs */ #define IPI_INVLPG (APIC_IPI_INTS + 2) @@ -123,7 +124,24 @@ /* Vector to handle bitmap based IPIs */ #define IPI_BITMAP_VECTOR (APIC_IPI_INTS + 6) -#else +/* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */ +#define IPI_AST 0 /* Generate software trap. */ +#define IPI_PREEMPT 1 +#define IPI_HARDCLOCK 2 +#define IPI_STATCLOCK 3 +#define IPI_PROFCLOCK 4 +#define IPI_BITMAP_LAST IPI_PROFCLOCK +#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST) + +#define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */ + +#else /* XEN */ +/* These are the normal i386 APIC definitions */ +#define APIC_LOCAL_INTS 240 +#define APIC_ERROR_INT APIC_LOCAL_INTS +#define APIC_THERMAL_INT (APIC_LOCAL_INTS + 1) +#define APIC_IPI_INTS (APIC_LOCAL_INTS + 2) + #define IPI_RENDEZVOUS (APIC_IPI_INTS) /* Inter-CPU rendezvous. */ #define IPI_INVLTLB (APIC_IPI_INTS + 1) /* TLB Shootdown IPIs */ #define IPI_INVLPG (APIC_IPI_INTS + 2) @@ -132,7 +150,6 @@ #define IPI_LAZYPMAP (APIC_IPI_INTS + 5) /* Lazy pmap release. */ /* Vector to handle bitmap based IPIs */ #define IPI_BITMAP_VECTOR (APIC_IPI_INTS + 6) -#endif /* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */ #define IPI_AST 0 /* Generate software trap. */ @@ -144,6 +161,7 @@ #define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST) #define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */ +#endif /* XEN */ /* * The spurious interrupt can share the priority class with the IPIs since From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 23:00:41 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C4881065672; Sun, 7 Jun 2009 23:00:41 +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 27E378FC1F; Sun, 7 Jun 2009 23:00:41 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57N0fdY008331; Sun, 7 Jun 2009 23:00:41 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57N0ems008322; Sun, 7 Jun 2009 23:00:40 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <200906072300.n57N0ems008322@svn.freebsd.org> From: Hiroki Sato Date: Sun, 7 Jun 2009 23:00: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: r193664 - in head: sbin/ifconfig share/man/man4 sys/net sys/netinet sys/netinet6 sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 23:00:41 -0000 Author: hrs Date: Sun Jun 7 23:00:40 2009 New Revision: 193664 URL: http://svn.freebsd.org/changeset/base/193664 Log: Fix and add a workaround on an issue of EtherIP packet with reversed version field sent via gif(4)+if_bridge(4). The EtherIP implementation found on FreeBSD 6.1, 6.2, 6.3, 7.0, 7.1, and 7.2 had an interoperability issue because it sent the incorrect EtherIP packets and discarded the correct ones. This change introduces the following two flags to gif(4): accept_rev_ethip_ver: accepts both correct EtherIP packets and ones with reversed version field, if enabled. If disabled, the gif accepts the correct packets only. This flag is enabled by default. send_rev_ethip_ver: sends EtherIP packets with reversed version field intentionally, if enabled. If disabled, the gif sends the correct packets only. This flag is disabled by default. These flags are stored in struct gif_softc and can be set by ifconfig(8) on per-interface basis. Note that this is an incompatible change of EtherIP with the older FreeBSD releases. If you need to interoperate older FreeBSD boxes and new versions after this commit, setting "send_rev_ethip_ver" is needed. Reviewed by: thompsa and rwatson Spotted by: Shunsuke SHINOMIYA PR: kern/125003 MFC after: 2 weeks Added: head/sbin/ifconfig/ifgif.c (contents, props changed) Modified: head/sbin/ifconfig/Makefile head/share/man/man4/gif.4 head/share/man/man4/if_bridge.4 head/sys/net/if_gif.c head/sys/net/if_gif.h head/sys/netinet/in_gif.c head/sys/netinet6/in6_gif.c head/sys/sys/priv.h Modified: head/sbin/ifconfig/Makefile ============================================================================== --- head/sbin/ifconfig/Makefile Sun Jun 7 22:55:48 2009 (r193663) +++ head/sbin/ifconfig/Makefile Sun Jun 7 23:00:40 2009 (r193664) @@ -24,6 +24,7 @@ SRCS+= ifmac.c # MAC support SRCS+= ifmedia.c # SIOC[GS]IFMEDIA support SRCS+= ifvlan.c # SIOC[GS]ETVLAN support SRCS+= ifgre.c # GRE keys etc +SRCS+= ifgif.c # GIF reversed header workaround SRCS+= ifieee80211.c regdomain.c # SIOC[GS]IEEE80211 support DPADD+= ${LIBBSDXML} ${LIBSBUF} Added: head/sbin/ifconfig/ifgif.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sbin/ifconfig/ifgif.c Sun Jun 7 23:00:40 2009 (r193664) @@ -0,0 +1,132 @@ +/*- + * Copyright (c) 2009 Hiroki Sato. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES 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 MIND, 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. + */ + +#ifndef lint +static const char rcsid[] = + "$FreeBSD$"; +#endif + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "ifconfig.h" + +static void gif_status(int); + +static struct { + const char *label; + u_int mask; +} gif_opts[] = { + { "ACCEPT_REV_ETHIP_VER", GIF_ACCEPT_REVETHIP }, + { "SEND_REV_ETHIP_VER", GIF_SEND_REVETHIP }, +}; + +static void +gif_status(int s) +{ + int opts; + int nopts = 0; + int i; + + ifr.ifr_data = (caddr_t)&opts; + if (ioctl(s, GIFGOPTS, &ifr) == -1) + return; + + printf("\toptions=%d<", opts); + for (i=0; i < sizeof(gif_opts)/sizeof(gif_opts[0]); i++) { + if (opts & gif_opts[i].mask) { + if (nopts++) + printf(","); + printf("%s", gif_opts[i].label); + } + } + printf(">\n"); +} + +static void +setgifopts(const char *val, + int d, int s, const struct afswtch *afp) +{ + int opts; + + ifr.ifr_data = (caddr_t)&opts; + if (ioctl(s, GIFGOPTS, &ifr) == -1) { + warn("ioctl(GIFGOPTS)"); + return; + } + + if (d < 0) + opts &= ~(-d); + else + opts |= d; + + if (ioctl(s, GIFSOPTS, &ifr) == -1) { + warn("ioctl(GIFSOPTS)"); + return; + } +} + +static struct cmd gif_cmds[] = { + DEF_CMD("accept_rev_ethip_ver", GIF_ACCEPT_REVETHIP, setgifopts), + DEF_CMD("-accept_rev_ethip_ver",-GIF_ACCEPT_REVETHIP, setgifopts), + DEF_CMD("send_rev_ethip_ver", GIF_SEND_REVETHIP, setgifopts), + DEF_CMD("-send_rev_ethip_ver", -GIF_SEND_REVETHIP, setgifopts), +}; + +static struct afswtch af_gif = { + .af_name = "af_gif", + .af_af = AF_UNSPEC, + .af_other_status = gif_status, +}; + +static __constructor void +gif_ctor(void) +{ +#define N(a) (sizeof(a) / sizeof(a[0])) + int i; + + for (i = 0; i < N(gif_cmds); i++) + cmd_register(&gif_cmds[i]); + af_register(&af_gif); +#undef N +} Modified: head/share/man/man4/gif.4 ============================================================================== --- head/share/man/man4/gif.4 Sun Jun 7 22:55:48 2009 (r193663) +++ head/share/man/man4/gif.4 Sun Jun 7 23:00:40 2009 (r193664) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 10, 1999 +.Dd June 8, 2009 .Dt GIF 4 .Os .Sh NAME @@ -256,3 +256,32 @@ had a multi-destination behavior, config .Dv IFF_LINK0 flag. The behavior is obsolete and is no longer supported. +.Pp +On +.Fx +6.1, 6.2, 6.3, 7.0, 7.1, and 7.2 +the +.Nm +sends and receives incorrect EtherIP packets with reversed version +field when +.Xr if_bridge 4 +is used together. As a workaround on this interoperability issue, the +following two +.Xr ifconfig 8 +flags can be used: +.Bl -tag -width "accept_rev_ethip_ver" -offset indent +.It accept_rev_ethip_ver +accepts both correct EtherIP packets and ones with reversed version +field, if enabled. If disabled, the +.Nm +accepts the correct packets only. This flag is enabled by default. +.It send_rev_ethip_ver +sends EtherIP packets with reversed version field intentionally, if +enabled. If disabled, the +.Nm +sends the correct packets only. This flag is disabled by default. +.El +.Pp +If interoperability with the older +.Fx +machines is needed, both of these two flags must be enabled. Modified: head/share/man/man4/if_bridge.4 ============================================================================== --- head/share/man/man4/if_bridge.4 Sun Jun 7 22:55:48 2009 (r193663) +++ head/share/man/man4/if_bridge.4 Sun Jun 7 23:00:40 2009 (r193664) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 17, 2007 +.Dd June 8, 2009 .Dt IF_BRIDGE 4 .Os .Sh NAME @@ -406,6 +406,12 @@ ifconfig gif0 tunnel 1.2.3.4 5.6.7.8 up ifconfig bridge0 create ifconfig bridge0 addm fxp0 addm gif0 up .Ed +.Pp +Note that +.Fx +6.1, 6.2, 6.3, 7.0, 7.1, and 7.2 have a bug in the EtherIP protocol. +For more details and workaround, see +.Xr gif 4 manual page. .Sh SEE ALSO .Xr gif 4 , .Xr ipf 4 , Modified: head/sys/net/if_gif.c ============================================================================== --- head/sys/net/if_gif.c Sun Jun 7 22:55:48 2009 (r193663) +++ head/sys/net/if_gif.c Sun Jun 7 23:00:40 2009 (r193664) @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -198,6 +199,7 @@ gif_clone_create(ifc, unit, params) if_initname(GIF2IFP(sc), ifc->ifc_name, unit); sc->encap_cookie4 = sc->encap_cookie6 = NULL; + sc->gif_options = GIF_ACCEPT_REVETHIP; GIF2IFP(sc)->if_addrlen = 0; GIF2IFP(sc)->if_mtu = GIF_MTU; @@ -534,6 +536,7 @@ gif_input(m, af, ifp) struct ifnet *ifp; { int isr, n; + struct gif_softc *sc = ifp->if_softc; struct etherip_header *eip; struct ether_header *eh; struct ifnet *oldifp; @@ -594,11 +597,25 @@ gif_input(m, af, ifp) } eip = mtod(m, struct etherip_header *); - if (eip->eip_ver != - (ETHERIP_VERSION & ETHERIP_VER_VERS_MASK)) { - /* discard unknown versions */ - m_freem(m); - return; + /* + * GIF_ACCEPT_REVETHIP (enabled by default) intentionally + * accepts an EtherIP packet with revered version field in + * the header. This is a knob for backward compatibility + * with FreeBSD 7.2R or prior. + */ + if (sc->gif_options & GIF_ACCEPT_REVETHIP) { + if (eip->eip_resvl != ETHERIP_VERSION + && eip->eip_ver != ETHERIP_VERSION) { + /* discard unknown versions */ + m_freem(m); + return; + } + } else { + if (eip->eip_ver != ETHERIP_VERSION) { + /* discard unknown versions */ + m_freem(m); + return; + } } m_adj(m, sizeof(struct etherip_header)); @@ -653,6 +670,7 @@ gif_ioctl(ifp, cmd, data) struct gif_softc *sc = ifp->if_softc; struct ifreq *ifr = (struct ifreq*)data; int error = 0, size; + u_int options; struct sockaddr *dst, *src; #ifdef SIOCSIFMTU /* xxx */ u_long mtu; @@ -887,6 +905,24 @@ gif_ioctl(ifp, cmd, data) /* if_ioctl() takes care of it */ break; + case GIFGOPTS: + options = sc->gif_options; + error = copyout(&options, ifr->ifr_data, + sizeof(options)); + break; + + case GIFSOPTS: + if ((error = priv_check(curthread, PRIV_NET_GIF)) != 0) + break; + if ((error = copyin(&options, &sc->gif_options, + sizeof(sc->gif_options)))) { + if ((options | GIF_FULLOPTS) == GIF_FULLOPTS) + ifr->ifr_data = (caddr_t)options; + else + error = EINVAL; + } + break; + default: error = EINVAL; break; Modified: head/sys/net/if_gif.h ============================================================================== --- head/sys/net/if_gif.h Sun Jun 7 22:55:48 2009 (r193663) +++ head/sys/net/if_gif.h Sun Jun 7 23:00:40 2009 (r193664) @@ -71,6 +71,7 @@ struct gif_softc { const struct encaptab *encap_cookie4; const struct encaptab *encap_cookie6; void *gif_netgraph; /* ng_gif(4) netgraph node info */ + u_int gif_options; LIST_ENTRY(gif_softc) gif_list; /* all gif's are linked */ }; #define GIF2IFP(sc) ((sc)->gif_ifp) @@ -94,12 +95,18 @@ struct gif_softc { #define MTAG_GIF_CALLED 0 struct etherip_header { - u_int8_t eip_ver; /* version/reserved */ - u_int8_t eip_pad; /* required padding byte */ -}; -#define ETHERIP_VER_VERS_MASK 0x0f -#define ETHERIP_VER_RSVD_MASK 0xf0 -#define ETHERIP_VERSION 0x03 +#if BYTE_ORDER == LITTLE_ENDIAN + u_int eip_resvl:4, /* reserved */ + eip_ver:4; /* version */ +#endif +#if BYTE_ORDER == BIG_ENDIAN + u_int eip_ver:4, /* version */ + eip_resvl:4; /* reserved */ +#endif + u_int8_t eip_resvh; /* reserved */ +} __packed; + +#define ETHERIP_VERSION 0x3 /* mbuf adjust factor to force 32-bit alignment of IP header */ #define ETHERIP_ALIGN 2 @@ -143,4 +150,11 @@ extern struct vnet_gif vnet_gif_0; #endif /* _KERNEL */ +#define GIFGOPTS _IOR('i', 150, struct ifreq) +#define GIFSOPTS _IOW('i', 151, struct ifreq) + +#define GIF_ACCEPT_REVETHIP 0x0001 +#define GIF_SEND_REVETHIP 0x0010 +#define GIF_FULLOPTS (GIF_ACCEPT_REVETHIP|GIF_SEND_REVETHIP) + #endif /* _NET_IF_GIF_H_ */ Modified: head/sys/netinet/in_gif.c ============================================================================== --- head/sys/netinet/in_gif.c Sun Jun 7 22:55:48 2009 (r193663) +++ head/sys/netinet/in_gif.c Sun Jun 7 23:00:40 2009 (r193664) @@ -148,8 +148,22 @@ in_gif_output(struct ifnet *ifp, int fam #endif /* INET6 */ case AF_LINK: proto = IPPROTO_ETHERIP; - eiphdr.eip_ver = ETHERIP_VERSION & ETHERIP_VER_VERS_MASK; - eiphdr.eip_pad = 0; + + /* + * GIF_SEND_REVETHIP (disabled by default) intentionally + * sends an EtherIP packet with revered version field in + * the header. This is a knob for backward compatibility + * with FreeBSD 7.2R or prior. + */ + if ((sc->gif_options & GIF_SEND_REVETHIP)) { + eiphdr.eip_ver = 0; + eiphdr.eip_resvl = ETHERIP_VERSION; + eiphdr.eip_resvh = 0; + } else { + eiphdr.eip_ver = ETHERIP_VERSION; + eiphdr.eip_resvl = 0; + eiphdr.eip_resvh = 0; + } /* prepend Ethernet-in-IP header */ M_PREPEND(m, sizeof(struct etherip_header), M_DONTWAIT); if (m && m->m_len < sizeof(struct etherip_header)) Modified: head/sys/netinet6/in6_gif.c ============================================================================== --- head/sys/netinet6/in6_gif.c Sun Jun 7 22:55:48 2009 (r193663) +++ head/sys/netinet6/in6_gif.c Sun Jun 7 23:00:40 2009 (r193664) @@ -144,8 +144,22 @@ in6_gif_output(struct ifnet *ifp, #endif case AF_LINK: proto = IPPROTO_ETHERIP; - eiphdr.eip_ver = ETHERIP_VERSION & ETHERIP_VER_VERS_MASK; - eiphdr.eip_pad = 0; + + /* + * GIF_SEND_REVETHIP (disabled by default) intentionally + * sends an EtherIP packet with revered version field in + * the header. This is a knob for backward compatibility + * with FreeBSD 7.2R or prior. + */ + if ((sc->gif_options & GIF_SEND_REVETHIP)) { + eiphdr.eip_ver = 0; + eiphdr.eip_resvl = ETHERIP_VERSION; + eiphdr.eip_resvh = 0; + } else { + eiphdr.eip_ver = ETHERIP_VERSION; + eiphdr.eip_resvl = 0; + eiphdr.eip_resvh = 0; + } /* prepend Ethernet-in-IP header */ M_PREPEND(m, sizeof(struct etherip_header), M_DONTWAIT); if (m && m->m_len < sizeof(struct etherip_header)) Modified: head/sys/sys/priv.h ============================================================================== --- head/sys/sys/priv.h Sun Jun 7 22:55:48 2009 (r193663) +++ head/sys/sys/priv.h Sun Jun 7 23:00:40 2009 (r193664) @@ -324,6 +324,7 @@ #define PRIV_NET_ADDIFADDR 413 /* Add protocol addr to interface. */ #define PRIV_NET_DELIFADDR 414 /* Delete protocol addr on interface. */ #define PRIV_NET_LAGG 415 /* Administer lagg interface. */ +#define PRIV_NET_GIF 416 /* Administer gif interface. */ /* * 802.11-related privileges. From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 23:16:11 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D62D3106564A; Sun, 7 Jun 2009 23:16:11 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 568CE8FC12; Sun, 7 Jun 2009 23:16:11 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57NGADA008636; Sun, 7 Jun 2009 23:16:10 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57NGAuS008635; Sun, 7 Jun 2009 23:16:10 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906072316.n57NGAuS008635@svn.freebsd.org> From: Sam Leffler Date: Sun, 7 Jun 2009 23:16: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: r193665 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 23:16:12 -0000 Author: sam Date: Sun Jun 7 23:16:10 2009 New Revision: 193665 URL: http://svn.freebsd.org/changeset/base/193665 Log: use c99-style initializers Modified: head/sys/net80211/ieee80211_crypto.c Modified: head/sys/net80211/ieee80211_crypto.c ============================================================================== --- head/sys/net80211/ieee80211_crypto.c Sun Jun 7 23:00:40 2009 (r193664) +++ head/sys/net80211/ieee80211_crypto.c Sun Jun 7 23:16:10 2009 (r193665) @@ -235,13 +235,13 @@ ieee80211_crypto_available(u_int cipher) /* XXX well-known names! */ static const char *cipher_modnames[IEEE80211_CIPHER_MAX] = { - "wlan_wep", /* IEEE80211_CIPHER_WEP */ - "wlan_tkip", /* IEEE80211_CIPHER_TKIP */ - "wlan_aes_ocb", /* IEEE80211_CIPHER_AES_OCB */ - "wlan_ccmp", /* IEEE80211_CIPHER_AES_CCM */ - "#4", /* reserved */ - "wlan_ckip", /* IEEE80211_CIPHER_CKIP */ - "wlan_none", /* IEEE80211_CIPHER_NONE */ + [IEEE80211_CIPHER_WEP] = "wlan_wep", + [IEEE80211_CIPHER_TKIP] = "wlan_tkip", + [IEEE80211_CIPHER_AES_OCB] = "wlan_aes_ocb", + [IEEE80211_CIPHER_AES_CCM] = "wlan_ccmp", + [IEEE80211_CIPHER_TKIPMIC] = "#4", /* NB: reserved */ + [IEEE80211_CIPHER_CKIP] = "wlan_ckip", + [IEEE80211_CIPHER_NONE] = "wlan_none", }; /* From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 23:16:59 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F10EF106566B; Sun, 7 Jun 2009 23:16:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DFA048FC17; Sun, 7 Jun 2009 23:16:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57NGxpM008683; Sun, 7 Jun 2009 23:16:59 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57NGxR2008682; Sun, 7 Jun 2009 23:16:59 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906072316.n57NGxR2008682@svn.freebsd.org> From: Sam Leffler Date: Sun, 7 Jun 2009 23:16: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: r193666 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 23:17:00 -0000 Author: sam Date: Sun Jun 7 23:16:59 2009 New Revision: 193666 URL: http://svn.freebsd.org/changeset/base/193666 Log: prefer callout_schedule Modified: head/sys/net80211/ieee80211_dfs.c Modified: head/sys/net80211/ieee80211_dfs.c ============================================================================== --- head/sys/net80211/ieee80211_dfs.c Sun Jun 7 23:16:10 2009 (r193665) +++ head/sys/net80211/ieee80211_dfs.c Sun Jun 7 23:16:59 2009 (r193666) @@ -232,8 +232,7 @@ dfs_timeout(void *arg) } if (oldest != now) { /* arrange to process next channel up for a status change */ - callout_reset(&dfs->nol_timer, oldest + NOL_TIMEOUT, - dfs_timeout, ic); + callout_schedule(&dfs->nol_timer, oldest + NOL_TIMEOUT); } IEEE80211_UNLOCK(ic); } From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 23:38:16 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1B1B1065673; Sun, 7 Jun 2009 23:38:16 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CF3E48FC0A; Sun, 7 Jun 2009 23:38:16 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n57NcGrI009270; Sun, 7 Jun 2009 23:38:16 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n57NcGgu009269; Sun, 7 Jun 2009 23:38:16 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906072338.n57NcGgu009269@svn.freebsd.org> From: Ariff Abdullah Date: Sun, 7 Jun 2009 23:38:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193667 - head/sys/dev/sound/sbus X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages 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, 07 Jun 2009 23:38:17 -0000 Author: ariff Date: Sun Jun 7 23:38:16 2009 New Revision: 193667 URL: http://svn.freebsd.org/changeset/base/193667 Log: Fix build on sparc64. Pointy hat: ariff@ Modified: head/sys/dev/sound/sbus/cs4231.c Modified: head/sys/dev/sound/sbus/cs4231.c ============================================================================== --- head/sys/dev/sound/sbus/cs4231.c Sun Jun 7 23:16:59 2009 (r193666) +++ head/sys/dev/sound/sbus/cs4231.c Sun Jun 7 23:38:16 2009 (r193667) @@ -273,7 +273,7 @@ static u_int32_t cs4231_fmt[] = { SND_FORMAT(AFMT_IMA_ADPCM, 1, 0), SND_FORMAT(AFMT_IMA_ADPCM, 2, 0), SND_FORMAT(AFMT_S16_LE, 1, 0), - SND_FORMAT(S16_LE, 2, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), SND_FORMAT(AFMT_S16_BE, 1, 0), SND_FORMAT(AFMT_S16_BE, 2, 0), 0 From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 02:13:25 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 474EA106564A; Mon, 8 Jun 2009 02:13:25 +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 355998FC08; Mon, 8 Jun 2009 02:13:25 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n582DOhH012543; Mon, 8 Jun 2009 02:13:24 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n582DOwD012542; Mon, 8 Jun 2009 02:13:24 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <200906080213.n582DOwD012542@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 8 Jun 2009 02:13: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: r193673 - head/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: Mon, 08 Jun 2009 02:13:25 -0000 Author: marcel Date: Mon Jun 8 02:13:24 2009 New Revision: 193673 URL: http://svn.freebsd.org/changeset/base/193673 Log: Make the size (-s) and start (-b) parameters of the add verb optional. The missing parameter(s) are automatically filled-in. Modified: head/sbin/geom/class/part/geom_part.c Modified: head/sbin/geom/class/part/geom_part.c ============================================================================== --- head/sbin/geom/class/part/geom_part.c Mon Jun 8 01:28:37 2009 (r193672) +++ head/sbin/geom/class/part/geom_part.c Mon Jun 8 02:13:24 2009 (r193673) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); uint32_t PUBSYM(lib_version) = G_LIB_VERSION; uint32_t PUBSYM(version) = 0; +static char autofill[] = "*"; static char optional[] = ""; static char flags[] = "C"; @@ -68,8 +69,8 @@ static void gpart_show(struct gctl_req * struct g_command PUBSYM(class_commands)[] = { { "add", 0, gpart_issue, { - { 'b', "start", NULL, G_TYPE_ASCLBA }, - { 's', "size", NULL, G_TYPE_ASCLBA }, + { 'b', "start", autofill, G_TYPE_ASCLBA }, + { 's', "size", autofill, G_TYPE_ASCLBA }, { 't', "type", NULL, G_TYPE_STRING }, { 'i', index_param, optional, G_TYPE_ASCNUM }, { 'l', "label", optional, G_TYPE_STRING }, @@ -240,6 +241,121 @@ fmtattrib(struct gprovider *pp) return (buf); } +static int +gpart_autofill(struct gctl_req *req) +{ + struct gmesh mesh; + struct gclass *cp; + struct ggeom *gp; + struct gprovider *pp; + unsigned long long first, last; + unsigned long long size, start; + unsigned long long lba, len, grade; + const char *s; + char *val; + int error, has_size, has_start; + + s = gctl_get_ascii(req, "verb"); + if (strcmp(s, "add") != 0) + return (0); + + s = gctl_get_ascii(req, "size"); + has_size = (*s == '*') ? 0 : 1; + size = (has_size) ? (unsigned long long)atoll(s) : 0ULL; + + s = gctl_get_ascii(req, "start"); + has_start = (*s == '*') ? 0 : 1; + start = (has_start) ? (unsigned long long)atoll(s) : ~0ULL; + + /* No autofill necessary. */ + if (has_size && has_start) + return (0); + + error = geom_gettree(&mesh); + if (error) + return (error); + cp = find_class(&mesh, gctl_get_ascii(req, "class")); + gp = find_geom(cp, gctl_get_ascii(req, "geom")); + first = atoll(find_geomcfg(gp, "first")); + last = atoll(find_geomcfg(gp, "last")); + grade = ~0ULL; + while ((pp = find_provider(gp, first)) != NULL) { + s = find_provcfg(pp, "start"); + if (s == NULL) { + s = find_provcfg(pp, "offset"); + lba = atoll(s) / pp->lg_sectorsize; + } else + lba = atoll(s); + + if (first < lba) { + /* Free space [first, lba> */ + len = lba - first; + if (has_size) { + if (len >= size && len - size < grade) { + start = first; + grade = len - size; + } + } else if (has_start) { + if (start >= first && start < lba) { + size = lba - start; + grade = start - first; + } + } else { + if (grade == ~0ULL || len > size) { + start = first; + size = len; + grade = 0; + } + } + } + + s = find_provcfg(pp, "end"); + if (s == NULL) { + s = find_provcfg(pp, "length"); + first = lba + atoll(s) / pp->lg_sectorsize; + } else + first = atoll(s) + 1; + } + if (first <= last) { + /* Free space [first-last] */ + len = last - first + 1; + if (has_size) { + if (len >= size && len - size < grade) { + start = first; + grade = len - size; + } + } else if (has_start) { + if (start >= first && start <= last) { + size = last - start + 1; + grade = start - first; + } + } else { + if (grade == ~0ULL || len > size) { + start = first; + size = len; + grade = 0; + } + } + } + + if (grade == ~0ULL) + return (ENOSPC); + + if (!has_size) { + asprintf(&val, "%jd", size); + if (val == NULL) + return (ENOMEM); + gctl_change_param(req, "size", -1, val); + } + if (!has_start) { + asprintf(&val, "%jd", start); + if (val == NULL) + return (ENOMEM); + gctl_change_param(req, "start", -1, val); + } + return (0); +} + static void gpart_show_geom(struct ggeom *gp, const char *element) { @@ -531,6 +647,14 @@ gpart_issue(struct gctl_req *req, unsign const char *errstr; int error, status; + /* autofill parameters (if applicable). */ + error = gpart_autofill(req); + if (error) { + warnc(error, "autofill"); + status = EXIT_FAILURE; + goto done; + } + bzero(buf, sizeof(buf)); gctl_rw_param(req, "output", sizeof(buf), buf); errstr = gctl_issue(req); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 03:15:27 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84758106566C; Mon, 8 Jun 2009 03:15:27 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 729A28FC19; Mon, 8 Jun 2009 03:15:27 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n583FRK7014056; Mon, 8 Jun 2009 03:15:27 GMT (envelope-from kan@svn.freebsd.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n583FRSG014055; Mon, 8 Jun 2009 03:15:27 GMT (envelope-from kan@svn.freebsd.org) Message-Id: <200906080315.n583FRSG014055@svn.freebsd.org> From: Alexander Kabaev Date: Mon, 8 Jun 2009 03:15:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193674 - head/usr.sbin/mountd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 03:15:28 -0000 Author: kan Date: Mon Jun 8 03:15:27 2009 New Revision: 193674 URL: http://svn.freebsd.org/changeset/base/193674 Log: The change r192913 has added dependency on IP_RECVDSTADDR being set for RPC UDP sockets. Mountd uses internal libc fuctions directly and bypasses generic socket initialization completely, so we need to set IP_RECVDSTADDR here to match the libc behavior. Modified: head/usr.sbin/mountd/mountd.c Modified: head/usr.sbin/mountd/mountd.c ============================================================================== --- head/usr.sbin/mountd/mountd.c Mon Jun 8 02:13:24 2009 (r193673) +++ head/usr.sbin/mountd/mountd.c Mon Jun 8 03:15:27 2009 (r193674) @@ -568,6 +568,13 @@ create_service(struct netconfig *nconf) continue; } } + if (si.si_socktype == SOCK_DGRAM && + setsockopt(fd, IPPROTO_IP, IP_RECVDSTADDR, &one, + sizeof one) < 0) { + syslog(LOG_ERR, + "can't disable v4-in-v6 on IPv6 socket"); + exit(1); + } break; case AF_INET6: if (inet_pton(AF_INET6, hosts[nhostsbak], From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 03:18:45 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75144106564A; Mon, 8 Jun 2009 03:18:45 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 63D478FC18; Mon, 8 Jun 2009 03:18:45 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n583IjVe014143; Mon, 8 Jun 2009 03:18:45 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n583Ijsm014142; Mon, 8 Jun 2009 03:18:45 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906080318.n583Ijsm014142@svn.freebsd.org> From: Sam Leffler Date: Mon, 8 Jun 2009 03:18: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: r193675 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 03:18:45 -0000 Author: sam Date: Mon Jun 8 03:18:45 2009 New Revision: 193675 URL: http://svn.freebsd.org/changeset/base/193675 Log: do not strip M_MORE_DATA on packets coming through ieee80211_start; frames coming out of the ps q may have this set and removing it causes the 802.11 header to not indicate more frames follow which can result in the sta going to sleep and missing them Modified: head/sys/net80211/ieee80211_output.c Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Mon Jun 8 03:15:27 2009 (r193674) +++ head/sys/net80211/ieee80211_output.c Mon Jun 8 03:18:45 2009 (r193675) @@ -153,13 +153,14 @@ ieee80211_start(struct ifnet *ifp) break; /* * Sanitize mbuf flags for net80211 use. We cannot - * clear M_PWR_SAV because this may be set for frames - * that are re-submitted from the power save queue. + * clear M_PWR_SAV or M_MORE_DATA because these may + * be set for frames that are re-submitted from the + * power save queue. * * NB: This must be done before ieee80211_classify as * it marks EAPOL in frames with M_EAPOL. */ - m->m_flags &= ~(M_80211_TX - M_PWR_SAV); + m->m_flags &= ~(M_80211_TX - M_PWR_SAV - M_MORE_DATA); /* * Cancel any background scan. */ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 03:37:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20E6910656AD; Mon, 8 Jun 2009 03:37:26 +0000 (UTC) (envelope-from jkoshy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0EC198FC1A; Mon, 8 Jun 2009 03:37:26 +0000 (UTC) (envelope-from jkoshy@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n583bP4t014534; Mon, 8 Jun 2009 03:37:25 GMT (envelope-from jkoshy@svn.freebsd.org) Received: (from jkoshy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n583bPG1014533; Mon, 8 Jun 2009 03:37:25 GMT (envelope-from jkoshy@svn.freebsd.org) Message-Id: <200906080337.n583bPG1014533@svn.freebsd.org> From: Joseph Koshy Date: Mon, 8 Jun 2009 03:37: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: r193676 - head/usr.sbin/jail X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 03:37:26 -0000 Author: jkoshy Date: Mon Jun 8 03:37:25 2009 New Revision: 193676 URL: http://svn.freebsd.org/changeset/base/193676 Log: Fix grammar. Submitted by: richardtoohey at paradise dot net dot nz on -doc Modified: head/usr.sbin/jail/jail.8 Modified: head/usr.sbin/jail/jail.8 ============================================================================== --- head/usr.sbin/jail/jail.8 Mon Jun 8 03:18:45 2009 (r193675) +++ head/usr.sbin/jail/jail.8 Mon Jun 8 03:37:25 2009 (r193676) @@ -732,7 +732,7 @@ to prevent this will not work either as are not aware of jails but only look at the user and group IDs. This means the same user ID in two jails share the same file system quota. -One would need to use one file system per jail to make this working. +One would need to use one file system per jail to make this work. .Ss "Sysctl MIB Entries" The read-only entry .Va security.jail.jailed From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 03:39:16 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F6AB106564A; Mon, 8 Jun 2009 03:39:16 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3DA9E8FC12; Mon, 8 Jun 2009 03:39:16 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n583dGK4014600; Mon, 8 Jun 2009 03:39:16 GMT (envelope-from kan@svn.freebsd.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n583dGCF014599; Mon, 8 Jun 2009 03:39:16 GMT (envelope-from kan@svn.freebsd.org) Message-Id: <200906080339.n583dGCF014599@svn.freebsd.org> From: Alexander Kabaev Date: Mon, 8 Jun 2009 03:39:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193677 - head/lib/libc/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 03:39:16 -0000 Author: kan Date: Mon Jun 8 03:39:15 2009 New Revision: 193677 URL: http://svn.freebsd.org/changeset/base/193677 Log: Do not attempt to set source address on outgoing messages on UDP socket if we do not have a valid IP address. Modified: head/lib/libc/rpc/svc_dg.c Modified: head/lib/libc/rpc/svc_dg.c ============================================================================== --- head/lib/libc/rpc/svc_dg.c Mon Jun 8 03:37:25 2009 (r193676) +++ head/lib/libc/rpc/svc_dg.c Mon Jun 8 03:39:15 2009 (r193677) @@ -209,7 +209,7 @@ svc_dg_recvfrom(int fd, char *buf, int b return rlen; for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)){ + cmsg = CMSG_NXTHDR(&msg, cmsg)) { if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_RECVDSTADDR) { have_lin = TRUE; @@ -300,7 +300,7 @@ svc_dg_sendto(int fd, char *buf, int buf msg.msg_namelen = raddrlen; msg.msg_name = (char *)raddr; - if (laddr->sa_family == AF_INET) { + if (laddr->sa_family == AF_INET && lin->s_addr != INADDR_ANY) { msg.msg_control = (caddr_t)tmp; msg.msg_controllen = CMSG_LEN(sizeof(*lin)); cmsg = CMSG_FIRSTHDR(&msg); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 04:39:47 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 940AA106566B; Mon, 8 Jun 2009 04:39:47 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6797A8FC15; Mon, 8 Jun 2009 04:39:47 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n584dlSv015990; Mon, 8 Jun 2009 04:39:47 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n584dllO015989; Mon, 8 Jun 2009 04:39:47 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906080439.n584dllO015989@svn.freebsd.org> From: Ariff Abdullah Date: Mon, 8 Jun 2009 04:39: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: r193683 - 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: Mon, 08 Jun 2009 04:39:48 -0000 Author: ariff Date: Mon Jun 8 04:39:47 2009 New Revision: 193683 URL: http://svn.freebsd.org/changeset/base/193683 Log: Add notes on various SND_* options. Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Mon Jun 8 04:34:51 2009 (r193682) +++ head/sys/conf/NOTES Mon Jun 8 04:39:47 2009 (r193683) @@ -2110,6 +2110,42 @@ hint.gusc.0.drq="1" hint.gusc.0.flags="0x13" # +# Following options are intended for debugging/testing purposes: +# +# SND_DEBUG Enable extra debugging code that includes +# sanity checking and possible increase of +# verbosity. +# +# SND_DIAGNOSTIC Simmilar in a spirit of INVARIANTS/DIAGNOSTIC, +# zero tolerance against inconsistencies. +# +# SND_FEEDER_MULTIFORMAT By default, only 16/32 bit feeders are compiled +# in. This options enable most feeder converters +# except for 8bit. WARNING: May bloat the kernel. +# +# SND_FEEDER_FULL_MULTIFORMAT Ditto, but includes 8bit feeders as well. +# +# SND_FEEDER_RATE_HP (feeder_rate) High precision 64bit arithmetic +# as much as possible (the default trying to +# avoid it). Possible slowdown. +# +# SND_PCM_64 (Only applicable for i386/32bit arch) +# Process 32bit samples through 64bit +# integer/arithmetic. Slight increase of dynamic +# range at a cost of possible slowdown. +# +# SND_OLDSTEREO Only 2 channels are allowed, effectively +# disabling multichannel processing. +# +options SND_DEBUG +options SND_DIAGNOSTIC +options SND_FEEDER_MULTIFORMAT +options SND_FEEDER_FULL_MULTIFORMAT +options SND_FEEDER_RATE_HP +options SND_PCM_64 +options SND_OLDSTEREO + +# # IEEE-488 hardware: # pcii: PCIIA cards (uPD7210 based isa cards) # tnt4882: National Instruments PCI-GPIB card. From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 05:11:35 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C19DC106570B; Mon, 8 Jun 2009 05:11:35 +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 ACF428FC1F; Mon, 8 Jun 2009 05:11:35 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n585BZxC016772; Mon, 8 Jun 2009 05:11:35 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n585BZP5016771; Mon, 8 Jun 2009 05:11:35 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <200906080511.n585BZP5016771@svn.freebsd.org> From: Hiroki Sato Date: Mon, 8 Jun 2009 05:11:35 +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: r193687 - stable/7/release/doc/en_US.ISO8859-1/errata X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 05:11:37 -0000 Author: hrs Date: Mon Jun 8 05:11:35 2009 New Revision: 193687 URL: http://svn.freebsd.org/changeset/base/193687 Log: Document possible bge(4) panic on shutdown time. Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jun 8 05:00:32 2009 (r193686) +++ stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jun 8 05:11:35 2009 (r193687) @@ -192,6 +192,10 @@ 0 (globally on the system). An Errata Notice to fix this problem is planned after the release. + [20090608] An issue was found in the &man.bge.4; driver that + it can cause a system panic upon reboot with heavy network + traffic. A fix has been committed to RELENG_7 (r192127). + Late-Breaking News and Corrections From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 05:33:09 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5720E1065678; Mon, 8 Jun 2009 05:33:09 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 44AC28FC0A; Mon, 8 Jun 2009 05:33:09 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n585X9AR017210; Mon, 8 Jun 2009 05:33:09 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n585X9ao017209; Mon, 8 Jun 2009 05:33:09 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200906080533.n585X9ao017209@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 8 Jun 2009 05:33: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: r193688 - head/share/timedef X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 05:33:09 -0000 Author: edwin Date: Mon Jun 8 05:33:08 2009 New Revision: 193688 URL: http://svn.freebsd.org/changeset/base/193688 Log: [patch] [locale] German locales use old %d.%m.%y date format instead of newer ISO date From the submitter: DIN 5008 (German norm for text processing) defines the old date format (%d.%m.%Y) to be obsolete and to be used only, if unambigous. In international communications the new format (%Y-%m-%d) is now required and FreeBSD should respect this. References: - DIN 5008 - EN 28 601 - ISO 8601 Thanks to Oliver Lietz for bringing this to my attention. PR: conf/72076 Submitted by: Peter Wullinger MFC after: 1 week Modified: head/share/timedef/de_DE.ISO8859-1.src head/share/timedef/de_DE.UTF-8.src Modified: head/share/timedef/de_DE.ISO8859-1.src ============================================================================== --- head/share/timedef/de_DE.ISO8859-1.src Mon Jun 8 05:11:35 2009 (r193687) +++ head/share/timedef/de_DE.ISO8859-1.src Mon Jun 8 05:33:08 2009 (r193688) @@ -59,7 +59,7 @@ Samstag # # x_fmt # -%d.%m.%Y +%Y-%m-%d # # c_fmt # Modified: head/share/timedef/de_DE.UTF-8.src ============================================================================== --- head/share/timedef/de_DE.UTF-8.src Mon Jun 8 05:11:35 2009 (r193687) +++ head/share/timedef/de_DE.UTF-8.src Mon Jun 8 05:33:08 2009 (r193688) @@ -59,7 +59,7 @@ Samstag # # x_fmt # -%d.%m.%Y +%Y-%m-%d # # c_fmt # From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 08:10:52 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82EC41065670; Mon, 8 Jun 2009 08:10:52 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 710F48FC12; Mon, 8 Jun 2009 08:10:52 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n588AqDu020533; Mon, 8 Jun 2009 08:10:52 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n588AqXh020531; Mon, 8 Jun 2009 08:10:52 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906080810.n588AqXh020531@svn.freebsd.org> From: Ariff Abdullah Date: Mon, 8 Jun 2009 08:10: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: r193694 - head/sys/dev/sound/macio X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 08:10:53 -0000 Author: ariff Date: Mon Jun 8 08:10:52 2009 New Revision: 193694 URL: http://svn.freebsd.org/changeset/base/193694 Log: Fix powerpc build failure due to strict kobj signatures checking. Modified: head/sys/dev/sound/macio/snapper.c head/sys/dev/sound/macio/tumbler.c Modified: head/sys/dev/sound/macio/snapper.c ============================================================================== --- head/sys/dev/sound/macio/snapper.c Mon Jun 8 07:44:28 2009 (r193693) +++ head/sys/dev/sound/macio/snapper.c Mon Jun 8 08:10:52 2009 (r193694) @@ -96,7 +96,7 @@ struct snapper_softc static int snapper_probe(device_t); static int snapper_attach(device_t); static int snapper_init(struct snd_mixer *m); -static void snapper_uninit(struct snd_mixer *m); +static int snapper_uninit(struct snd_mixer *m); static int snapper_reinit(struct snd_mixer *m); static int snapper_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right); @@ -423,10 +423,10 @@ snapper_init(struct snd_mixer *m) return (0); } -static void +static int snapper_uninit(struct snd_mixer *m) { - return; + return (0); } static int Modified: head/sys/dev/sound/macio/tumbler.c ============================================================================== --- head/sys/dev/sound/macio/tumbler.c Mon Jun 8 07:44:28 2009 (r193693) +++ head/sys/dev/sound/macio/tumbler.c Mon Jun 8 08:10:52 2009 (r193694) @@ -96,7 +96,7 @@ struct tumbler_softc static int tumbler_probe(device_t); static int tumbler_attach(device_t); static int tumbler_init(struct snd_mixer *m); -static void tumbler_uninit(struct snd_mixer *m); +static int tumbler_uninit(struct snd_mixer *m); static int tumbler_reinit(struct snd_mixer *m); static int tumbler_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right); @@ -369,10 +369,10 @@ tumbler_init(struct snd_mixer *m) return (0); } -static void +static int tumbler_uninit(struct snd_mixer *m) { - return; + return (0); } static int From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 10:53:18 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C0BD4106566C; Mon, 8 Jun 2009 10:53:18 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AFBF28FC0C; Mon, 8 Jun 2009 10:53:18 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58ArIK7027180; Mon, 8 Jun 2009 10:53:18 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58ArILB027179; Mon, 8 Jun 2009 10:53:18 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200906081053.n58ArILB027179@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 8 Jun 2009 10:53:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193702 - head/sbin/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 10:53:19 -0000 Author: luigi Date: Mon Jun 8 10:53:18 2009 New Revision: 193702 URL: http://svn.freebsd.org/changeset/base/193702 Log: add a missing format in a printf Detected building with gcc 4.3.3 MFC after: 3 days Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Mon Jun 8 10:43:20 2009 (r193701) +++ head/sbin/ipfw/ipfw2.c Mon Jun 8 10:53:18 2009 (r193702) @@ -508,7 +508,7 @@ print_newports(ipfw_insn_u16 *cmd, int p } sep = " "; for (i = F_LEN((ipfw_insn *)cmd) - 1; i > 0; i--, p += 2) { - printf(sep); + printf("%s", sep); print_port(proto, p[0]); if (p[0] != p[1]) { printf("-"); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 10:55:32 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B96A106566C; Mon, 8 Jun 2009 10:55:32 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id 0CEFC8FC0C; Mon, 8 Jun 2009 10:55:32 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (pD9E2E3AC.dip.t-dialin.net [217.226.227.172]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id 3EEFA844024; Mon, 8 Jun 2009 12:39:00 +0200 (CEST) Received: from webmail.leidinger.net (webmail.leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 2E75429B5A5; Mon, 8 Jun 2009 12:38:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=Leidinger.net; s=outgoing-alex; t=1244457537; bh=hEfTnDwv25ZyPW65ANUgaJC1xoMdCcUiJ+UNBzKlYgA=; h=Message-ID:Date:From:To:Cc:Subject:References:In-Reply-To: MIME-Version:Content-Type:Content-Transfer-Encoding; b=nWVwBgeLlpRYoJEafMBQCX/86DRY6IIwIMJjkij13/3J5uQ5fcT2zpeNa3Y7wSt6w 14+ExfdA9zvXVZY/F8yIxaMIFfw3oy9QR3PZaeBxM/T+FYV3+ulQEVW7eeT8UrGicZ itB+ofSomF3QbXvO7sBOj+L+kvDVNWBgaKvDNfJfoFjrf2x4xH81UawJu/ItqOLOqv U9PIM0lSKvd1xJcIF4sDfqQu6vOccFSSiyqbAIoO2AGQgmDs/jCoZzwV6a/nzvctIM M38DAB+Pqg0gjaajihVkpWQdWvdRqVCLdMa/K7Yn+4sL9Wp9WiCo649r8xwkupQ6I1 ab/FwPEEempVQ== Received: (from www@localhost) by webmail.leidinger.net (8.14.3/8.13.8/Submit) id n58Acu13025894; Mon, 8 Jun 2009 12:38:56 +0200 (CEST) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Mon, 08 Jun 2009 12:38:56 +0200 Message-ID: <20090608123856.570933oz30orz0w0@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Mon, 08 Jun 2009 12:38:56 +0200 From: Alexander Leidinger To: Edwin Groothuis References: <200906080533.n585X9ao017209@svn.freebsd.org> In-Reply-To: <200906080533.n585X9ao017209@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) 4.3.3 / FreeBSD-8.0 X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: 3EEFA844024.4BC2D X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=0.637, required 6, autolearn=disabled, ALL_TRUSTED -1.44, BR_SPAMMER_URI 2.00, DKIM_SIGNED 0.00, DKIM_VERIFIED -0.00, TW_SV 0.08) X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1245062346.11012@3XJeMDVRHufkqCI1HfO2xg X-EBL-Spam-Status: No Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, docs@FreeBSD.org Subject: Re: svn commit: r193688 - head/share/timedef X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 10:55:33 -0000 Quoting Edwin Groothuis (from Mon, 8 Jun 2009 05:33:09 +0000 (UTC)): > Author: edwin > Date: Mon Jun 8 05:33:08 2009 > New Revision: 193688 > URL: http://svn.freebsd.org/changeset/base/193688 > > Log: > [patch] [locale] German locales use old %d.%m.%y date format > instead of newer ISO date > > From the submitter: > > DIN 5008 (German norm for text processing) defines the old date > format (%d.%m.%Y) to be obsolete and to be used only, if unambigous. > In international communications the new format (%Y-%m-%d) is now > required and FreeBSD should respect this. What does this mean? Does 'date' with the de_DE locate print out Y-m-d instead of d.m.Y now? This would look strange to me, as this is not used in normal daily communications. The government sends letters with dates in d.m.Y, newspapers have d.m.Y, and the daily news in the TV also display d.m.Y. The text above specifies that this seems to be intended for international communications. When I set de_DE in my locale for my user, this is not international communication, it's more like "I want to see text/dates in my local language/conventions". As the PR is from 2004, and we have 2009 now, I'm not sure if this change is correct. I haven't read the corresponding standards/documents. > PR: conf/72076 > Submitted by: Peter Wullinger > MFC after: 1 week I think you should not MFC this so fast. It may be better to discuss this with our German doc people (docs@ CCed), maybe this needs to be backed out. Bye, Alexander. -- "I don't care how many eyes a man has... as long as it's less than five." -Leela http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 12:15:39 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3383106566B; Mon, 8 Jun 2009 12:15:39 +0000 (UTC) (envelope-from raj@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A20758FC1C; Mon, 8 Jun 2009 12:15:39 +0000 (UTC) (envelope-from raj@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58CFdCm029050; Mon, 8 Jun 2009 12:15:39 GMT (envelope-from raj@svn.freebsd.org) Received: (from raj@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58CFdOl029049; Mon, 8 Jun 2009 12:15:39 GMT (envelope-from raj@svn.freebsd.org) Message-Id: <200906081215.n58CFdOl029049@svn.freebsd.org> From: Rafal Jaworowski Date: Mon, 8 Jun 2009 12:15: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: r193712 - head/sys/arm/arm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 12:15:40 -0000 Author: raj Date: Mon Jun 8 12:15:39 2009 New Revision: 193712 URL: http://svn.freebsd.org/changeset/base/193712 Log: Invalidate cache in pmap_remove_all() on ARM. When pages are removed from virtual address space by calling pmap_remove_all() CPU caches were not invalidated, which led to read corruption when another page got mapped at this same virtual address at later time (the CPU was retrieving stale contents). Submitted by: Piotr Ziecik Obtained from: Semihalf Modified: head/sys/arm/arm/pmap.c Modified: head/sys/arm/arm/pmap.c ============================================================================== --- head/sys/arm/arm/pmap.c Mon Jun 8 12:10:42 2009 (r193711) +++ head/sys/arm/arm/pmap.c Mon Jun 8 12:15:39 2009 (r193712) @@ -3124,7 +3124,19 @@ pmap_remove_all(vm_page_t m) if (flush == FALSE && (pv->pv_pmap == curpm || pv->pv_pmap == pmap_kernel())) flush = TRUE; + PMAP_LOCK(pv->pv_pmap); + /* + * Cached contents were written-back in pmap_remove_write(), + * but we still have to invalidate the cache entry to make + * sure stale data are not retrieved when another page will be + * mapped under this virtual address. + */ + if (pmap_is_current(pv->pv_pmap)) { + cpu_dcache_inv_range(pv->pv_va, PAGE_SIZE); + cpu_l2cache_inv_range(pv->pv_va, PAGE_SIZE); + } + l2b = pmap_get_l2_bucket(pv->pv_pmap, pv->pv_va); KASSERT(l2b != NULL, ("No l2 bucket")); ptep = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 12:56:53 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76A3E10656C5; Mon, 8 Jun 2009 12:56:53 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from mx0.deglitch.com (backbone.deglitch.com [IPv6:2001:16d8:fffb:4::abba]) by mx1.freebsd.org (Postfix) with ESMTP id 2DFDF8FC25; Mon, 8 Jun 2009 12:56:53 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from stasss.yandex.ru (dhcp170-227-red.yandex.net [95.108.170.227]) by mx0.deglitch.com (Postfix) with ESMTPSA id 6AD058FC27; Mon, 8 Jun 2009 16:56:51 +0400 (MSD) Date: Mon, 8 Jun 2009 16:56:46 +0400 From: Stanislav Sedov To: Rafal Jaworowski Message-Id: <20090608165646.95bb577e.stas@FreeBSD.org> In-Reply-To: <200906081215.n58CFdOl029049@svn.freebsd.org> References: <200906081215.n58CFdOl029049@svn.freebsd.org> Organization: The FreeBSD Project X-Mailer: carrier-pigeon Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Mon__8_Jun_2009_16_56_46_+0400_63+6TJOT9B58s=SZ" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193712 - head/sys/arm/arm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 12:56:54 -0000 --Signature=_Mon__8_Jun_2009_16_56_46_+0400_63+6TJOT9B58s=SZ Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, 8 Jun 2009 12:15:39 +0000 (UTC) Rafal Jaworowski mentioned: > Author: raj > Date: Mon Jun 8 12:15:39 2009 > New Revision: 193712 > URL: http://svn.freebsd.org/changeset/base/193712 >=20 > Log: > Invalidate cache in pmap_remove_all() on ARM. > =20 > When pages are removed from virtual address space by calling pmap_remov= e_all() > CPU caches were not invalidated, which led to read corruption when anot= her > page got mapped at this same virtual address at later time (the CPU was > retrieving stale contents). > =20 > Submitted by: Piotr Ziecik > Obtained from: Semihalf >=20 > Modified: > head/sys/arm/arm/pmap.c >=20 > Modified: head/sys/arm/arm/pmap.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/arm/arm/pmap.c Mon Jun 8 12:10:42 2009 (r193711) > +++ head/sys/arm/arm/pmap.c Mon Jun 8 12:15:39 2009 (r193712) > @@ -3124,7 +3124,19 @@ pmap_remove_all(vm_page_t m) > if (flush =3D=3D FALSE && (pv->pv_pmap =3D=3D curpm || > pv->pv_pmap =3D=3D pmap_kernel())) > flush =3D TRUE; > + > PMAP_LOCK(pv->pv_pmap); > + /* > + * Cached contents were written-back in pmap_remove_write(), > + * but we still have to invalidate the cache entry to make > + * sure stale data are not retrieved when another page will be > + * mapped under this virtual address. > + */ > + if (pmap_is_current(pv->pv_pmap)) { > + cpu_dcache_inv_range(pv->pv_va, PAGE_SIZE); > + cpu_l2cache_inv_range(pv->pv_va, PAGE_SIZE); > + } > + Hi, Rafal! What about calling the pmap_dcache_wb_range function for each mapping in the cycle instead of calling cpu_XXX_inv_range functions directly? I think something like this would do the trick: % pmap_dcache_wb_range(pv->pv_pmap, pv->pv_va, PAGE_SIZE, FALSE, % (pv->pv_flags & PVF_WRITE) =3D=3D 0) This will also take care of the writeback cache. I don't know if it is rea= lly needed, though. --=20 Stanislav Sedov ST4096-RIPE --Signature=_Mon__8_Jun_2009_16_56_46_+0400_63+6TJOT9B58s=SZ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- iQIcBAEBAgAGBQJKLQqTAAoJEKN82nOYvCd01lgP+wTnTAivy40PR/53O7dOtThv BOnvAKhJ+mLZbTiCdcBBMvXlSZ7CK6+wjGcvEEb2cSwz1unEhvf7aB9FL+J6zo3z lCF6jKJukA8gQUei2nRr7UfBuqiAiRr6zcQAajKMmQsfBKR4LUZaL55iXBrsR7Tu 33a9pGbAenSiQs+kSt/5dKaTb6zlWCbSx5EznNMQYsYNUl1mY6c4vvYF8UXDQACC WHQQgxQVNWWNzwKOqSQzXyeVZu6hD3CLuxnKeJy6USbfBa+gMIjrgQDdgGsl06W3 oK9NzdqVgTtOReWga/y8/tRzM1nZbQHEXXYSS6Iwd9Uf8Jf8tlHoMUP/1ja8vB5o qkF0tuEkEae5Og4sHuODDnB9TpXxRSUiiBQ+8glRQsGc6gTnuktudhcnqszUHSYn h/aDkx2waGuOgVmpLcvyfQVpU52HEw1ZxbMo0+fR/T9qkeJxRs746qYBGDuTwdER ZGNlr90gbjdv4YJuwSCxBhhK30Az4RPPdNGeIta6Y/tlU7X4M5ShLw6/Sf/QnwCI 2290bPza9V6z3en97g02YVRhnNe2ziILSIr8jxGTeqI97DAuvnQCGCdKpTsoIvHt AG1HsP845CWnNBK6b+8emXZb+NolgcmNkveGJtUICu9tT3cL6g/Zbx+B7fGmo/jO L1E2UiuyM/pv3d5JVXjM =bmU6 -----END PGP SIGNATURE----- --Signature=_Mon__8_Jun_2009_16_56_46_+0400_63+6TJOT9B58s=SZ-- From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 13:31:28 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19F8910656C8; Mon, 8 Jun 2009 13:31:28 +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 06DE78FC23; Mon, 8 Jun 2009 13:31:28 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58DVR8F030606; Mon, 8 Jun 2009 13:31:27 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58DVRDO030605; Mon, 8 Jun 2009 13:31:27 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906081331.n58DVRDO030605@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 8 Jun 2009 13:31:27 +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: r193713 - in stable/7/sys: . amd64/amd64 contrib/pf dev/ath/ath_hal dev/cxgb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 13:31:29 -0000 Author: kib Date: Mon Jun 8 13:31:27 2009 New Revision: 193713 URL: http://svn.freebsd.org/changeset/base/193713 Log: MFC r193535: Put intrcnt, eintrcnt, intrnames and eintrnames into the .data section. Modified: stable/7/sys/ (props changed) stable/7/sys/amd64/amd64/support.S stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) Modified: stable/7/sys/amd64/amd64/support.S ============================================================================== --- stable/7/sys/amd64/amd64/support.S Mon Jun 8 12:15:39 2009 (r193712) +++ stable/7/sys/amd64/amd64/support.S Mon Jun 8 13:31:27 2009 (r193713) @@ -38,6 +38,7 @@ #include "assym.s" + .data ALIGN_DATA .globl intrcnt, eintrcnt intrcnt: From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 13:34:46 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13BF71065670; Mon, 8 Jun 2009 13:34: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 024FD8FC1E; Mon, 8 Jun 2009 13:34:46 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58DYjtg030727; Mon, 8 Jun 2009 13:34:45 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58DYjKs030726; Mon, 8 Jun 2009 13:34:45 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906081334.n58DYjKs030726@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 8 Jun 2009 13:34: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: r193714 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 13:34:46 -0000 Author: kib Date: Mon Jun 8 13:34:45 2009 New Revision: 193714 URL: http://svn.freebsd.org/changeset/base/193714 Log: Do not dereference vp->v_rdev without holding any of dev_mtx or vnode lock. Use code similar to devfs_fp_check(), but inlined to feet other checks performed by ttyhook_register(). Reviewed by: ed Modified: head/sys/kern/tty.c Modified: head/sys/kern/tty.c ============================================================================== --- head/sys/kern/tty.c Mon Jun 8 13:31:27 2009 (r193713) +++ head/sys/kern/tty.c Mon Jun 8 13:34:45 2009 (r193714) @@ -1742,19 +1742,31 @@ ttyhook_register(struct tty **rtp, struc goto done1; } - /* Make sure the vnode is bound to a character device. */ - error = EINVAL; - if (fp->f_type != DTYPE_VNODE || fp->f_vnode->v_type != VCHR || - fp->f_vnode->v_rdev == NULL) + /* + * Make sure the vnode is bound to a character device. + * Unlocked check for the vnode type is ok there, because we + * only shall prevent calling devvn_refthread on the file that + * never has been opened over a character device. + */ + if (fp->f_type != DTYPE_VNODE || fp->f_vnode->v_type != VCHR) { + error = EINVAL; goto done1; - dev = fp->f_vnode->v_rdev; + } /* Make sure it is a TTY. */ - cdp = dev_refthread(dev); - if (cdp == NULL) + cdp = devvn_refthread(fp->f_vnode, &dev); + if (cdp == NULL) { + error = ENXIO; goto done1; - if (cdp != &ttydev_cdevsw) + } + if (dev != fp->f_data) { + error = ENXIO; goto done2; + } + if (cdp != &ttydev_cdevsw) { + error = ENOTTY; + goto done2; + } tp = dev->si_drv1; /* Try to attach the hook to the TTY. */ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 14:32:29 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B30BA1065695; Mon, 8 Jun 2009 14:32:29 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A020A8FC1E; Mon, 8 Jun 2009 14:32:29 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58EWTd7032015; Mon, 8 Jun 2009 14:32:29 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58EWTs8032013; Mon, 8 Jun 2009 14:32:29 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200906081432.n58EWTs8032013@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 8 Jun 2009 14:32: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: r193715 - head/sbin/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 14:32:30 -0000 Author: luigi Date: Mon Jun 8 14:32:29 2009 New Revision: 193715 URL: http://svn.freebsd.org/changeset/base/193715 Log: Permit the specification of bandwidth values within "profile" files (bandwidth is mandatory when using a profile, so it makes sense to have everything in one place). Update the manpage accordingly. Submitted by: Marta Carbone Modified: head/sbin/ipfw/dummynet.c head/sbin/ipfw/ipfw.8 Modified: head/sbin/ipfw/dummynet.c ============================================================================== --- head/sbin/ipfw/dummynet.c Mon Jun 8 13:34:45 2009 (r193714) +++ head/sbin/ipfw/dummynet.c Mon Jun 8 14:32:29 2009 (r193715) @@ -452,6 +452,7 @@ ipfw_delete_pipe(int pipe_or_queue, int #define ED_TOK_NAME "name" #define ED_TOK_DELAY "delay" #define ED_TOK_PROB "prob" +#define ED_TOK_BW "bw" #define ED_SEPARATORS " \t\n" #define ED_MIN_SAMPLES_NO 2 @@ -470,6 +471,50 @@ is_valid_number(const char *s) return 1; } +/* + * Take as input a string describing a bandwidth value + * and return the numeric bandwidth value. + * set clocking interface or bandwidth value + */ +void +read_bandwidth(char *arg, int *bandwidth, char *if_name, int namelen) +{ + if (*bandwidth != -1) + warn("duplicate token, override bandwidth value!"); + + if (arg[0] >= 'a' && arg[0] <= 'z') { + if (namelen >= IFNAMSIZ) + warn("interface name truncated"); + namelen--; + /* interface name */ + strncpy(if_name, arg, namelen); + if_name[namelen] = '\0'; + *bandwidth = 0; + } else { /* read bandwidth value */ + int bw; + char *end = NULL; + + bw = strtoul(arg, &end, 0); + if (*end == 'K' || *end == 'k') { + end++; + bw *= 1000; + } else if (*end == 'M') { + end++; + bw *= 1000000; + } + if ((*end == 'B' && + _substrcmp2(end, "Bi", "Bit/s") != 0) || + _substrcmp2(end, "by", "bytes") == 0) + bw *= 8; + + if (bw < 0) + errx(EX_DATAERR, "bandwidth too large"); + + *bandwidth = bw; + if_name[0] = '\0'; + } +} + struct point { double prob; double delay; @@ -550,6 +595,8 @@ load_extra_delays(const char *filename, errx(ED_EFMT("too many samples, maximum is %d"), ED_MAX_SAMPLES_NO); do_points = 0; + } else if (!strcasecmp(name, ED_TOK_BW)) { + read_bandwidth(arg, &p->bandwidth, p->if_name, sizeof(p->if_name)); } else if (!strcasecmp(name, ED_TOK_LOSS)) { if (loss != -1.0) errx(ED_EFMT("duplicated token: %s"), name); @@ -645,6 +692,7 @@ ipfw_config_pipe(int ac, char **av) void *par = NULL; memset(&p, 0, sizeof p); + p.bandwidth = -1; av++; ac--; /* Pipe number */ @@ -848,32 +896,7 @@ end_mask: NEED1("bw needs bandwidth or interface\n"); if (co.do_pipe != 1) errx(EX_DATAERR, "bandwidth only valid for pipes"); - /* - * set clocking interface or bandwidth value - */ - if (av[0][0] >= 'a' && av[0][0] <= 'z') { - int l = sizeof(p.if_name)-1; - /* interface name */ - strncpy(p.if_name, av[0], l); - p.if_name[l] = '\0'; - p.bandwidth = 0; - } else { - p.if_name[0] = '\0'; - p.bandwidth = strtoul(av[0], &end, 0); - if (*end == 'K' || *end == 'k') { - end++; - p.bandwidth *= 1000; - } else if (*end == 'M') { - end++; - p.bandwidth *= 1000000; - } - if ((*end == 'B' && - _substrcmp2(end, "Bi", "Bit/s") != 0) || - _substrcmp2(end, "by", "bytes") == 0) - p.bandwidth *= 8; - if (p.bandwidth < 0) - errx(EX_DATAERR, "bandwidth too large"); - } + read_bandwidth(av[0], &p.bandwidth, p.if_name, sizeof(p.if_name)); ac--; av++; break; @@ -919,15 +942,20 @@ end_mask: errx(EX_DATAERR, "pipe_nr must be > 0"); if (p.delay > 10000) errx(EX_DATAERR, "delay must be < 10000"); - if (p.samples_no > 0 && p.bandwidth == 0) - errx(EX_DATAERR, - "profile requires a bandwidth limit"); } else { /* co.do_pipe == 2, queue */ if (p.fs.parent_nr == 0) errx(EX_DATAERR, "pipe must be > 0"); if (p.fs.weight >100) errx(EX_DATAERR, "weight must be <= 100"); } + + /* check for bandwidth value */ + if (p.bandwidth == -1) { + p.bandwidth = 0; + if (p.samples_no > 0) + errx(EX_DATAERR, "profile requires a bandwidth limit"); + } + if (p.fs.flags_fs & DN_QSIZE_IS_BYTES) { size_t len; long limit; Modified: head/sbin/ipfw/ipfw.8 ============================================================================== --- head/sbin/ipfw/ipfw.8 Mon Jun 8 13:34:45 2009 (r193714) +++ head/sbin/ipfw/ipfw.8 Mon Jun 8 14:32:29 2009 (r193715) @@ -1973,22 +1973,26 @@ that represents its distribution. The empirical curve may have both vertical and horizontal lines. Vertical lines represent constant delay for a range of probabilities. -Horizontal lines correspond to a discontinuty in the delay +Horizontal lines correspond to a discontinuity in the delay distribution: the pipe will use the largest delay for a given probability. .Pp The file format is the following, with whitespace acting as a separator and '#' indicating the beginning a comment: .Bl -tag -width indent -.It Cm samples Ar N -the number of samples used in the internal -representation (2..1024; default 100); +.It Cm name Ar identifier +optional name (listed by "ipfw pipe show") +to identify the delay distribution; +.It Cm bw Ar value +the bandwidth used for the pipe. +If not specified here, it must be present +explicitly as a configuration parameter for the pipe; .It Cm loss-level Ar L -The probability above which packets are lost. +the probability above which packets are lost. (0.0 <= L <= 1.0, default 1.0 i.e. no loss); -.It Cm name Ar identifier -Optional a name (listed by "ipfw pipe show") -to identify the distribution; +.It Cm samples Ar N +the number of samples used in the internal +representation of the curve (2..1024; default 100); .It Cm "delay prob" | "prob delay" One of these two lines is mandatory and defines the format of the following lines with data points. @@ -1997,9 +2001,9 @@ the format of the following lines with d with either delay or probability first, according to the chosen format. The unit for delay is milliseconds. -Data points do not need to be ordered or equal to the number -specified in the "samples" line. -The +Data points do not need to be sorted. +Also, tne number of actual lines can be different +from the value of the "samples" parameter: .Nm utility will sort and interpolate the curve as needed. From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 14:37:48 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BC7C10656CC; Mon, 8 Jun 2009 14:37:48 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 199278FC16; Mon, 8 Jun 2009 14:37:48 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58EblsM032159; Mon, 8 Jun 2009 14:37:47 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Ebl9X032157; Mon, 8 Jun 2009 14:37:47 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906081437.n58Ebl9X032157@svn.freebsd.org> From: Ariff Abdullah Date: Mon, 8 Jun 2009 14:37: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: r193716 - in head/sys/dev/ata: . chipsets X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 14:37:48 -0000 Author: ariff Date: Mon Jun 8 14:37:47 2009 New Revision: 193716 URL: http://svn.freebsd.org/changeset/base/193716 Log: Add another PCI id for Nvidia nForce MCP67, found in several Acer laptops. Modified: head/sys/dev/ata/ata-pci.h head/sys/dev/ata/chipsets/ata-nvidia.c Modified: head/sys/dev/ata/ata-pci.h ============================================================================== --- head/sys/dev/ata/ata-pci.h Mon Jun 8 14:32:29 2009 (r193715) +++ head/sys/dev/ata/ata-pci.h Mon Jun 8 14:37:47 2009 (r193716) @@ -269,6 +269,7 @@ struct ata_pci_controller { #define ATA_NFORCE_MCP67_A9 0x055910de #define ATA_NFORCE_MCP67_AA 0x055A10de #define ATA_NFORCE_MCP67_AB 0x055B10de +#define ATA_NFORCE_MCP67_AC 0x058410de #define ATA_NFORCE_MCP67 0x056010de #define ATA_NFORCE_MCP73 0x056c10de #define ATA_NFORCE_MCP73_A0 0x07f010de Modified: head/sys/dev/ata/chipsets/ata-nvidia.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-nvidia.c Mon Jun 8 14:32:29 2009 (r193715) +++ head/sys/dev/ata/chipsets/ata-nvidia.c Mon Jun 8 14:37:47 2009 (r193716) @@ -110,6 +110,7 @@ ata_nvidia_probe(device_t dev) { ATA_NFORCE_MCP67_A9, 0, NVAHCI, 0, ATA_SA300, "nForce MCP67" }, { ATA_NFORCE_MCP67_AA, 0, NVAHCI, 0, ATA_SA300, "nForce MCP67" }, { ATA_NFORCE_MCP67_AB, 0, NVAHCI, 0, ATA_SA300, "nForce MCP67" }, + { ATA_NFORCE_MCP67_AC, 0, NVAHCI, 0, ATA_SA300, "nForce MCP67" }, { ATA_NFORCE_MCP73, 0, 0, 0, ATA_UDMA6, "nForce MCP73" }, { ATA_NFORCE_MCP73_A0, 0, NVAHCI, 0, ATA_SA300, "nForce MCP73" }, { ATA_NFORCE_MCP73_A1, 0, NVAHCI, 0, ATA_SA300, "nForce MCP73" }, From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 14:43:56 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id 320E61065670; Mon, 8 Jun 2009 14:43:56 +0000 (UTC) Date: Mon, 8 Jun 2009 14:43:56 +0000 From: Alexey Dokuchaev To: Luigi Rizzo Message-ID: <20090608144355.GA3555@FreeBSD.org> References: <200906081432.n58EWTs8032013@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <200906081432.n58EWTs8032013@svn.freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193715 - head/sbin/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 14:43:56 -0000 Luigi Rizzo wrote: > Author: luigi > Date: Mon Jun 8 14:32:29 2009 > New Revision: 193715 > URL: http://svn.freebsd.org/changeset/base/193715 > > Log: > Permit the specification of bandwidth values within > "profile" files (bandwidth is mandatory when using a > profile, so it makes sense to have everything in one place). > > Update the manpage accordingly. > > +/* > + * Take as input a string describing a bandwidth value > + * and return the numeric bandwidth value. > + * set clocking interface or bandwidth value > + */ > +void > +read_bandwidth(char *arg, int *bandwidth, char *if_name, int namelen) > +{ > + if (*bandwidth != -1) > + warn("duplicate token, override bandwidth value!"); > + > + if (arg[0] >= 'a' && arg[0] <= 'z') { > + if (namelen >= IFNAMSIZ) > + warn("interface name truncated"); > + namelen--; > + /* interface name */ > + strncpy(if_name, arg, namelen); > + if_name[namelen] = '\0'; > + *bandwidth = 0; > + } else { /* read bandwidth value */ > + int bw; > + char *end = NULL; > + > + bw = strtoul(arg, &end, 0); > + if (*end == 'K' || *end == 'k') { > + end++; > + bw *= 1000; > + } else if (*end == 'M') { > + end++; > + bw *= 1000000; > + } Couldn't expand_number(3) be used for that? ./danfe From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 14:52:17 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDE391065674; Mon, 8 Jun 2009 14:52:17 +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 CA4D78FC1C; Mon, 8 Jun 2009 14:52:17 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58EqHek032483; Mon, 8 Jun 2009 14:52:17 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58EqHrH032482; Mon, 8 Jun 2009 14:52:17 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200906081452.n58EqHrH032482@svn.freebsd.org> From: John Baldwin Date: Mon, 8 Jun 2009 14:52:17 +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: r193717 - in stable/7/sys: . boot/i386/libi386 contrib/pf dev/ath/ath_hal dev/cxgb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 14:52:18 -0000 Author: jhb Date: Mon Jun 8 14:52:17 2009 New Revision: 193717 URL: http://svn.freebsd.org/changeset/base/193717 Log: MFC: Add a missing parameter when displaying GPT partitions with an unknown UUID. Modified: stable/7/sys/ (props changed) stable/7/sys/boot/i386/libi386/biosdisk.c stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) Modified: stable/7/sys/boot/i386/libi386/biosdisk.c ============================================================================== --- stable/7/sys/boot/i386/libi386/biosdisk.c Mon Jun 8 14:37:47 2009 (r193716) +++ stable/7/sys/boot/i386/libi386/biosdisk.c Mon Jun 8 14:52:17 2009 (r193717) @@ -375,6 +375,7 @@ bd_printgptpart(struct open_disk *od, st sprintf(line, "%s: FreeBSD swap%s\n", prefix, stats); else sprintf(line, "%s: %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x%s\n", + prefix, gp->gp_type.time_low, gp->gp_type.time_mid, gp->gp_type.time_hi_and_version, gp->gp_type.clock_seq_hi_and_reserved, gp->gp_type.clock_seq_low, From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:02:31 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 385E81065748; Mon, 8 Jun 2009 15:02:31 +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 1BEFC8FC0A; Mon, 8 Jun 2009 15:02:31 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58F2VnY032755; Mon, 8 Jun 2009 15:02:31 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58F2UVk032754; Mon, 8 Jun 2009 15:02:30 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200906081502.n58F2UVk032754@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Mon, 8 Jun 2009 15:02:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193718 - 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: Mon, 08 Jun 2009 15:02:32 -0000 Author: bz Date: Mon Jun 8 15:02:30 2009 New Revision: 193718 URL: http://svn.freebsd.org/changeset/base/193718 Log: Update vimage size guard values but do not yet re-enable them. Now that rt_tables does no longer change depending on kernel option we do no longer need any special values for LINT. The updated values will be used to make sure that an upcoming opt_route.h cleanup will not again show any side effects. Modified: head/sys/sys/vimage.h Modified: head/sys/sys/vimage.h ============================================================================== --- head/sys/sys/vimage.h Mon Jun 8 14:52:17 2009 (r193717) +++ head/sys/sys/vimage.h Mon Jun 8 15:02:30 2009 (r193718) @@ -358,60 +358,48 @@ extern struct vprocg_list_head vprocg_he * See description further down to see how to get the new values. */ #ifdef __amd64__ -#define SIZEOF_vnet_net 464 -#define SIZEOF_vnet_net_LINT 5144 -#define SIZEOF_vnet_inet 4352 -#define SIZEOF_vnet_inet6 8800 +#define SIZEOF_vnet_net 176 +#define SIZEOF_vnet_inet 4424 +#define SIZEOF_vnet_inet6 8808 #define SIZEOF_vnet_ipsec 31160 #endif #ifdef __arm__ -#define SIZEOF_vnet_net 236 -#define SIZEOF_vnet_net_LINT 1 /* No LINT kernel yet. */ -#define SIZEOF_vnet_inet 2580 -#define SIZEOF_vnet_inet6 8536 +#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_inet 2616 +#define SIZEOF_vnet_inet6 8524 #define SIZEOF_vnet_ipsec 1 #endif #ifdef __i386__ /* incl. pc98 */ -#define SIZEOF_vnet_net 236 -#define SIZEOF_vnet_net_LINT 2576 -#define SIZEOF_vnet_inet 2576 -#define SIZEOF_vnet_inet6 8528 -#define SIZEOF_vnet_ipsec 31016 +#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_inet 2612 +#define SIZEOF_vnet_inet6 8512 +#define SIZEOF_vnet_ipsec 31024 #endif #ifdef __ia64__ -#define SIZEOF_vnet_net 464 -#define SIZEOF_vnet_net_LINT 5144 -#define SIZEOF_vnet_inet 4352 -#define SIZEOF_vnet_inet6 8800 +#define SIZEOF_vnet_net 176 +#define SIZEOF_vnet_inet 4424 +#define SIZEOF_vnet_inet6 8808 #define SIZEOF_vnet_ipsec 31160 #endif #ifdef __mips__ -#define SIZEOF_vnet_net 236 -#define SIZEOF_vnet_net_LINT 1 /* No LINT kernel yet. */ -#define SIZEOF_vnet_inet 2624 -#define SIZEOF_vnet_inet6 8552 +#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_inet 2648 +#define SIZEOF_vnet_inet6 8544 #define SIZEOF_vnet_ipsec 1 #endif #ifdef __powerpc__ -#define SIZEOF_vnet_net 236 -#define SIZEOF_vnet_net_LINT 2576 -#define SIZEOF_vnet_inet 2616 -#define SIZEOF_vnet_inet6 8536 +#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_inet 2640 +#define SIZEOF_vnet_inet6 8520 #define SIZEOF_vnet_ipsec 31048 #endif #ifdef __sparc64__ /* incl. sun4v */ -#define SIZEOF_vnet_net 464 -#define SIZEOF_vnet_net_LINT 5144 -#define SIZEOF_vnet_inet 4352 -#define SIZEOF_vnet_inet6 8800 +#define SIZEOF_vnet_net 176 +#define SIZEOF_vnet_inet 4424 +#define SIZEOF_vnet_inet6 8808 #define SIZEOF_vnet_ipsec 31160 #endif -#ifdef COMPILING_LINT -#undef SIZEOF_vnet_net -#define SIZEOF_vnet_net SIZEOF_vnet_net_LINT -#endif - #ifndef SIZEOF_vnet_net #error "SIZEOF_vnet_net no defined for this architecture." #endif From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:07:36 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34416106564A; Mon, 8 Jun 2009 15:07:36 +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 222078FC08; Mon, 8 Jun 2009 15:07:36 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58F7abJ032964; Mon, 8 Jun 2009 15:07:36 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58F7a60032963; Mon, 8 Jun 2009 15:07:36 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200906081507.n58F7a60032963@svn.freebsd.org> From: John Baldwin Date: Mon, 8 Jun 2009 15:07: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: r193719 - head/sys/boot/i386/libi386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:07:36 -0000 Author: jhb Date: Mon Jun 8 15:07:35 2009 New Revision: 193719 URL: http://svn.freebsd.org/changeset/base/193719 Log: Don't attempt to free the GPT partition list for a disk with an empty GPT. Submitted by: Yuri Pankov yuri.pankov of gmail MFC after: 3 days Modified: head/sys/boot/i386/libi386/biosdisk.c Modified: head/sys/boot/i386/libi386/biosdisk.c ============================================================================== --- head/sys/boot/i386/libi386/biosdisk.c Mon Jun 8 15:02:30 2009 (r193718) +++ head/sys/boot/i386/libi386/biosdisk.c Mon Jun 8 15:07:35 2009 (r193719) @@ -990,7 +990,8 @@ bd_open_gpt(struct open_disk *od, struct out: if (error) { - free(od->od_partitions); + if (od->od_nparts > 0) + free(od->od_partitions); od->od_flags &= ~BD_GPTOK; } return (error); @@ -1044,7 +1045,7 @@ bd_closedisk(struct open_disk *od) delay(3000000); #endif #ifdef LOADER_GPT_SUPPORT - if (od->od_flags & BD_GPTOK) + if (od->od_flags & BD_GPTOK && od->od_nparts > 0) free(od->od_partitions); #endif free(od); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:09:23 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33587106566B; Mon, 8 Jun 2009 15:09:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 070278FC13; Mon, 8 Jun 2009 15:09:23 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58F9MEJ033039; Mon, 8 Jun 2009 15:09:22 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58F9Mxx033038; Mon, 8 Jun 2009 15:09:22 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200906081509.n58F9Mxx033038@svn.freebsd.org> From: John Baldwin Date: Mon, 8 Jun 2009 15:09: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: r193720 - head/sys/boot/i386/libi386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:09:23 -0000 Author: jhb Date: Mon Jun 8 15:09:22 2009 New Revision: 193720 URL: http://svn.freebsd.org/changeset/base/193720 Log: Instead of packing the individual fields in the PnP structures, pack the entire structures. This trims some warnings. Verified by: md5(1) MFC after: 1 week Modified: head/sys/boot/i386/libi386/biospnp.c Modified: head/sys/boot/i386/libi386/biospnp.c ============================================================================== --- head/sys/boot/i386/libi386/biospnp.c Mon Jun 8 15:07:35 2009 (r193719) +++ head/sys/boot/i386/libi386/biospnp.c Mon Jun 8 15:09:22 2009 (r193720) @@ -49,38 +49,38 @@ struct pnphandler biospnphandler = struct pnp_ICstructure { - u_int8_t pnp_signature[4] __packed; - u_int8_t pnp_version __packed; - u_int8_t pnp_length __packed; - u_int16_t pnp_BIOScontrol __packed; - u_int8_t pnp_checksum __packed; - u_int32_t pnp_eventflag __packed; - u_int16_t pnp_rmip __packed; - u_int16_t pnp_rmcs __packed; - u_int16_t pnp_pmip __packed; - u_int32_t pnp_pmcs __packed; - u_int8_t pnp_OEMdev[4] __packed; - u_int16_t pnp_rmds __packed; - u_int32_t pnp_pmds __packed; -}; + u_int8_t pnp_signature[4]; + u_int8_t pnp_version; + u_int8_t pnp_length; + u_int16_t pnp_BIOScontrol; + u_int8_t pnp_checksum; + u_int32_t pnp_eventflag; + u_int16_t pnp_rmip; + u_int16_t pnp_rmcs; + u_int16_t pnp_pmip; + u_int32_t pnp_pmcs; + u_int8_t pnp_OEMdev[4]; + u_int16_t pnp_rmds; + u_int32_t pnp_pmds; +} __packed; struct pnp_devNode { - u_int16_t dn_size __packed; - u_int8_t dn_handle __packed; - u_int8_t dn_id[4] __packed; - u_int8_t dn_type[3] __packed; - u_int16_t dn_attrib __packed; - u_int8_t dn_data[1] __packed; -}; + u_int16_t dn_size; + u_int8_t dn_handle; + u_int8_t dn_id[4]; + u_int8_t dn_type[3]; + u_int16_t dn_attrib; + u_int8_t dn_data[1]; +} __packed; struct pnp_isaConfiguration { - u_int8_t ic_revision __packed; - u_int8_t ic_nCSN __packed; - u_int16_t ic_rdport __packed; - u_int16_t ic_reserved __packed; -}; + u_int8_t ic_revision; + u_int8_t ic_nCSN; + u_int16_t ic_rdport; + u_int16_t ic_reserved; +} __packed; static struct pnp_ICstructure *pnp_Icheck = NULL; static u_int16_t pnp_NumNodes; From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:13:20 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 81308106567A; Mon, 8 Jun 2009 15:13:20 +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 6F0F68FC1D; Mon, 8 Jun 2009 15:13:20 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58FDKoK033171; Mon, 8 Jun 2009 15:13:20 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58FDK7K033170; Mon, 8 Jun 2009 15:13:20 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200906081513.n58FDK7K033170@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Mon, 8 Jun 2009 15:13: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: r193721 - 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: Mon, 08 Jun 2009 15:13:21 -0000 Author: bz Date: Mon Jun 8 15:13:20 2009 New Revision: 193721 URL: http://svn.freebsd.org/changeset/base/193721 Log: Code using COMPAT_ROUTE_FLAGS option, introduced with r187094, was changed again in r187328, removing any use of the option from the kernel. The option was never in NOTES. Garbage collect. Modified: head/sys/conf/options Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Mon Jun 8 15:09:22 2009 (r193720) +++ head/sys/conf/options Mon Jun 8 15:13:20 2009 (r193721) @@ -415,7 +415,6 @@ NETATALK opt_atalk.h NFSLOCKD RADIX_MPATH opt_mpath.h ROUTETABLES opt_route.h -COMPAT_ROUTE_FLAGS opt_route.h SLIP_IFF_OPTS opt_slip.h TCPDEBUG TCP_OFFLOAD_DISABLE opt_inet.h #Disable code to dispatch tcp offloading From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:17:37 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E7FA106566C; Mon, 8 Jun 2009 15:17:37 +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 2ABED8FC0A; Mon, 8 Jun 2009 15:17:37 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58FHaPu033308; Mon, 8 Jun 2009 15:17:36 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58FHaAE033307; Mon, 8 Jun 2009 15:17:36 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200906081517.n58FHaAE033307@svn.freebsd.org> From: John Baldwin Date: Mon, 8 Jun 2009 15:17:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-6@freebsd.org X-SVN-Group: stable-6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193722 - in stable/6/sys: . boot/i386/libi386 contrib/pf dev/cxgb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:17:38 -0000 Author: jhb Date: Mon Jun 8 15:17:36 2009 New Revision: 193722 URL: http://svn.freebsd.org/changeset/base/193722 Log: MFC: Add a missing parameter when displaying GPT partitions with an unknown UUID. Modified: stable/6/sys/ (props changed) stable/6/sys/boot/i386/libi386/biosdisk.c stable/6/sys/contrib/pf/ (props changed) stable/6/sys/dev/cxgb/ (props changed) Modified: stable/6/sys/boot/i386/libi386/biosdisk.c ============================================================================== --- stable/6/sys/boot/i386/libi386/biosdisk.c Mon Jun 8 15:13:20 2009 (r193721) +++ stable/6/sys/boot/i386/libi386/biosdisk.c Mon Jun 8 15:17:36 2009 (r193722) @@ -372,6 +372,7 @@ bd_printgptpart(struct open_disk *od, st sprintf(line, "%s: FreeBSD swap%s\n", prefix, stats); else sprintf(line, "%s: %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x%s\n", + prefix, gp->gp_type.time_low, gp->gp_type.time_mid, gp->gp_type.time_hi_and_version, gp->gp_type.clock_seq_hi_and_reserved, gp->gp_type.clock_seq_low, From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:26:10 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69523106566B; Mon, 8 Jun 2009 15:26:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 13FDE8FC0C; Mon, 8 Jun 2009 15:26:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58FQ9xB033574; Mon, 8 Jun 2009 15:26:09 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58FQ9F8033573; Mon, 8 Jun 2009 15:26:09 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200906081526.n58FQ9F8033573@svn.freebsd.org> From: Robert Watson Date: Mon, 8 Jun 2009 15:26: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: r193723 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:26:11 -0000 Author: rwatson Date: Mon Jun 8 15:26:09 2009 New Revision: 193723 URL: http://svn.freebsd.org/changeset/base/193723 Log: Move zombie-reaping code out of kern_wait() and into its own function, proc_reap(). Reviewed by: jhb MFC after: 3 days Sponsored by: Google, Inc. Modified: head/sys/kern/kern_exit.c Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Mon Jun 8 15:17:36 2009 (r193722) +++ head/sys/kern/kern_exit.c Mon Jun 8 15:26:09 2009 (r193723) @@ -682,11 +682,130 @@ wait4(struct thread *td, struct wait_arg return (error); } +/* + * Reap the remains of a zombie process and optionally return status and + * rusage. Asserts and will release both the proctree_lock and the process + * lock as part of its work. + */ +static void +proc_reap(struct thread *td, struct proc *p, int *status, int options, + struct rusage *rusage) +{ + INIT_VPROCG(P_TO_VPROCG(p)); + struct proc *q, *t; + + sx_assert(&proctree_lock, SA_XLOCKED); + PROC_LOCK_ASSERT(p, MA_OWNED); + PROC_SLOCK_ASSERT(p, MA_OWNED); + KASSERT(p->p_state == PRS_ZOMBIE, ("proc_reap: !PRS_ZOMBIE")); + + q = td->td_proc; + if (rusage) { + *rusage = p->p_ru; + calcru(p, &rusage->ru_utime, &rusage->ru_stime); + } + PROC_SUNLOCK(p); + td->td_retval[0] = p->p_pid; + if (status) + *status = p->p_xstat; /* convert to int */ + if (options & WNOWAIT) { + /* + * Only poll, returning the status. Caller does not wish to + * release the proc struct just yet. + */ + PROC_UNLOCK(p); + sx_xunlock(&proctree_lock); + return; + } + + PROC_LOCK(q); + sigqueue_take(p->p_ksi); + PROC_UNLOCK(q); + PROC_UNLOCK(p); + + /* + * If we got the child via a ptrace 'attach', we need to give it back + * to the old parent. + */ + if (p->p_oppid && (t = pfind(p->p_oppid)) != NULL) { + PROC_LOCK(p); + p->p_oppid = 0; + proc_reparent(p, t); + PROC_UNLOCK(p); + tdsignal(t, NULL, SIGCHLD, p->p_ksi); + wakeup(t); + cv_broadcast(&p->p_pwait); + PROC_UNLOCK(t); + sx_xunlock(&proctree_lock); + return; + } + + /* + * Remove other references to this process to ensure we have an + * exclusive reference. + */ + sx_xlock(&allproc_lock); + LIST_REMOVE(p, p_list); /* off zombproc */ + sx_xunlock(&allproc_lock); + LIST_REMOVE(p, p_sibling); + leavepgrp(p); + sx_xunlock(&proctree_lock); + + /* + * As a side effect of this lock, we know that all other writes to + * this proc are visible now, so no more locking is needed for p. + */ + PROC_LOCK(p); + p->p_xstat = 0; /* XXX: why? */ + PROC_UNLOCK(p); + PROC_LOCK(q); + ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, &p->p_rux); + PROC_UNLOCK(q); + + /* + * Decrement the count of procs running with this uid. + */ + (void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0); + + /* + * Free credentials, arguments, and sigacts. + */ + crfree(p->p_ucred); + p->p_ucred = NULL; + pargs_drop(p->p_args); + p->p_args = NULL; + sigacts_free(p->p_sigacts); + p->p_sigacts = NULL; + + /* + * Do any thread-system specific cleanups. + */ + thread_wait(p); + + /* + * Give vm and machine-dependent layer a chance to free anything that + * cpu_exit couldn't release while still running in process context. + */ + vm_waitproc(p); +#ifdef MAC + mac_proc_destroy(p); +#endif + KASSERT(FIRST_THREAD_IN_PROC(p), + ("proc_reap: no residual thread!")); + uma_zfree(proc_zone, p); + sx_xlock(&allproc_lock); + nprocs--; +#ifdef VIMAGE + vprocg->nprocs--; +#endif + sx_xunlock(&allproc_lock); +} + int kern_wait(struct thread *td, pid_t pid, int *status, int options, struct rusage *rusage) { - struct proc *p, *q, *t; + struct proc *p, *q; int error, nfound; AUDIT_ARG(pid, pid); @@ -736,111 +855,7 @@ loop: nfound++; PROC_SLOCK(p); if (p->p_state == PRS_ZOMBIE) { - INIT_VPROCG(P_TO_VPROCG(p)); - if (rusage) { - *rusage = p->p_ru; - calcru(p, &rusage->ru_utime, &rusage->ru_stime); - } - PROC_SUNLOCK(p); - td->td_retval[0] = p->p_pid; - if (status) - *status = p->p_xstat; /* convert to int */ - if (options & WNOWAIT) { - - /* - * Only poll, returning the status. - * Caller does not wish to release the proc - * struct just yet. - */ - PROC_UNLOCK(p); - sx_xunlock(&proctree_lock); - return (0); - } - - PROC_LOCK(q); - sigqueue_take(p->p_ksi); - PROC_UNLOCK(q); - PROC_UNLOCK(p); - - /* - * If we got the child via a ptrace 'attach', - * we need to give it back to the old parent. - */ - if (p->p_oppid && (t = pfind(p->p_oppid)) != NULL) { - PROC_LOCK(p); - p->p_oppid = 0; - proc_reparent(p, t); - PROC_UNLOCK(p); - tdsignal(t, NULL, SIGCHLD, p->p_ksi); - wakeup(t); - cv_broadcast(&p->p_pwait); - PROC_UNLOCK(t); - sx_xunlock(&proctree_lock); - return (0); - } - - /* - * Remove other references to this process to ensure - * we have an exclusive reference. - */ - sx_xlock(&allproc_lock); - LIST_REMOVE(p, p_list); /* off zombproc */ - sx_xunlock(&allproc_lock); - LIST_REMOVE(p, p_sibling); - leavepgrp(p); - sx_xunlock(&proctree_lock); - - /* - * As a side effect of this lock, we know that - * all other writes to this proc are visible now, so - * no more locking is needed for p. - */ - PROC_LOCK(p); - p->p_xstat = 0; /* XXX: why? */ - PROC_UNLOCK(p); - PROC_LOCK(q); - ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, - &p->p_rux); - PROC_UNLOCK(q); - - /* - * Decrement the count of procs running with this uid. - */ - (void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0); - - /* - * Free credentials, arguments, and sigacts. - */ - crfree(p->p_ucred); - p->p_ucred = NULL; - pargs_drop(p->p_args); - p->p_args = NULL; - sigacts_free(p->p_sigacts); - p->p_sigacts = NULL; - - /* - * Do any thread-system specific cleanups. - */ - thread_wait(p); - - /* - * Give vm and machine-dependent layer a chance - * to free anything that cpu_exit couldn't - * release while still running in process context. - */ - vm_waitproc(p); -#ifdef MAC - mac_proc_destroy(p); -#endif - KASSERT(FIRST_THREAD_IN_PROC(p), - ("kern_wait: no residual thread!")); - uma_zfree(proc_zone, p); - sx_xlock(&allproc_lock); - nprocs--; -#ifdef VIMAGE - vprocg->nprocs--; -#endif - sx_xunlock(&allproc_lock); + proc_reap(td, p, status, options, rusage); return (0); } if ((p->p_flag & P_STOPPED_SIG) && From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:33:47 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E31AA1065674; Mon, 8 Jun 2009 15:33:47 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id B22698FC17; Mon, 8 Jun 2009 15:33:47 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 4FA9846B3B; Mon, 8 Jun 2009 11:33:47 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id 175CF8A069; Mon, 8 Jun 2009 11:33:46 -0400 (EDT) From: John Baldwin To: Jaakko Heinonen Date: Mon, 8 Jun 2009 10:17:53 -0400 User-Agent: KMail/1.9.7 References: <200906041618.n54GI851097005@svn.freebsd.org> <20090606090141.GA805@a91-153-125-115.elisa-laajakaista.fi> In-Reply-To: <20090606090141.GA805@a91-153-125-115.elisa-laajakaista.fi> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906081017.54171.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Mon, 08 Jun 2009 11:33:46 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Paul Saab Subject: Re: svn commit: r193440 - in head/sys: cddl/contrib/opensolaris/uts/common/fs/zfs 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: Mon, 08 Jun 2009 15:33:48 -0000 On Saturday 06 June 2009 5:01:41 am Jaakko Heinonen wrote: > > Hi, > > On 2009-06-04, Paul Saab wrote: > > Support shared vnode locks for write operations when the offset is > > provided on filesystems that support it. This really improves mysql > > + innodb performance on ZFS. > > The panic below looks related to this commit. I think the assert is only > enabled when DEBUG_VFS_LOCKS is defined. Yes, vnode_if.src needs to be changed: %% write vp E E E %! write pre VOP_WRITE_PRE %! write post VOP_WRITE_POST vop_write { IN struct vnode *vp; INOUT struct uio *uio; IN int ioflag; IN struct ucred *cred; }; The 'E E E' should be 'L L L'. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:33:56 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 746831065772; Mon, 8 Jun 2009 15:33:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 0D68C8FC1A; Mon, 8 Jun 2009 15:33:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id B62B446B45; Mon, 8 Jun 2009 11:33:55 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id A9CFD8A069; Mon, 8 Jun 2009 11:33:54 -0400 (EDT) From: John Baldwin To: Bruce Simpson Date: Mon, 8 Jun 2009 10:50:40 -0400 User-Agent: KMail/1.9.7 References: <200905130255.n4D2tMQZ040010@svn.freebsd.org> <4A109662.9060909@FreeBSD.org> <4A10A324.5040501@incunabulum.net> In-Reply-To: <4A10A324.5040501@incunabulum.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906081050.41020.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Mon, 08 Jun 2009 11:33:54 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: svn-src-stable-7@freebsd.org, svn-src-stable@freebsd.org, Alexander Motin , src-committers@freebsd.org, Bruce Simpson , svn-src-all@freebsd.org Subject: Re: svn commit: r192033 - stable/7/sys/dev/ata X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:33:58 -0000 On Sunday 17 May 2009 7:52:04 pm Bruce Simpson wrote: > Alexander Motin wrote: > > ... > > This change is not anyhow related to your system. Looks like the real > > reason found by jhb@ on stable@. Probably something become more strict > > in system resource management last time and this driver violates now. > > > > Thanks... I reckon John is probably on the money with this but have not > looked closely. Hopefully the fix is backportable... I will try to find > time to test HEAD, I need to do some HEAD testing on this box anyway, > using a USB key is possible for this with NanoBSD now :-) Were you ever able to test http://www.FreeBSD.org/~jhb/patches/ata_ali.patch? -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:36:38 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 320B91065670; Mon, 8 Jun 2009 15:36:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1C8098FC1A; Mon, 8 Jun 2009 15:36:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58Faco9033829; Mon, 8 Jun 2009 15:36:38 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58FabjN033820; Mon, 8 Jun 2009 15:36:37 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081536.n58FabjN033820@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 15:36:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193724 - in vendor/llvm/dist: include/llvm/Support lib/CodeGen lib/CodeGen/SelectionDAG test/CodeGen/X86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:36:39 -0000 Author: ed Date: Mon Jun 8 15:36:37 2009 New Revision: 193724 URL: http://svn.freebsd.org/changeset/base/193724 Log: Import LLVM r73070. Now I'm going to stop importing code for a while. I spent a lot of time the last couple of days figuring out which LLVM commit caused g++ to miscompile, which in its turn caused Clang to miscompile the next build. I had to run `make buildworld' twice each time I bisected a revision. Added: vendor/llvm/dist/test/CodeGen/X86/2009-06-07-ExpandMMXBitcast.ll Modified: vendor/llvm/dist/include/llvm/Support/OutputBuffer.h vendor/llvm/dist/lib/CodeGen/ELF.h vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.cpp vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp vendor/llvm/dist/lib/CodeGen/ELFWriter.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp Modified: vendor/llvm/dist/include/llvm/Support/OutputBuffer.h ============================================================================== --- vendor/llvm/dist/include/llvm/Support/OutputBuffer.h Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/include/llvm/Support/OutputBuffer.h Mon Jun 8 15:36:37 2009 (r193724) @@ -134,11 +134,22 @@ namespace llvm { P[2] = (X >> (isLittleEndian ? 16 : 8)) & 255; P[3] = (X >> (isLittleEndian ? 24 : 0)) & 255; } + void fixxword(uint64_t X, unsigned Offset) { + unsigned char *P = &Output[Offset]; + P[0] = (X >> (isLittleEndian ? 0 : 56)) & 255; + P[1] = (X >> (isLittleEndian ? 8 : 48)) & 255; + P[2] = (X >> (isLittleEndian ? 16 : 40)) & 255; + P[3] = (X >> (isLittleEndian ? 24 : 32)) & 255; + P[4] = (X >> (isLittleEndian ? 32 : 24)) & 255; + P[5] = (X >> (isLittleEndian ? 40 : 16)) & 255; + P[6] = (X >> (isLittleEndian ? 48 : 8)) & 255; + P[7] = (X >> (isLittleEndian ? 56 : 0)) & 255; + } void fixaddr(uint64_t X, unsigned Offset) { if (!is64Bit) fixword((unsigned)X, Offset); else - assert(0 && "Emission of 64-bit data not implemented yet!"); + fixxword(X, Offset); } unsigned char &operator[](unsigned Index) { Modified: vendor/llvm/dist/lib/CodeGen/ELF.h ============================================================================== --- vendor/llvm/dist/lib/CodeGen/ELF.h Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/lib/CodeGen/ELF.h Mon Jun 8 15:36:37 2009 (r193724) @@ -21,6 +21,7 @@ #ifndef CODEGEN_ELF_H #define CODEGEN_ELF_H +#include "llvm/CodeGen/MachineRelocation.h" #include "llvm/Support/DataTypes.h" #include @@ -64,6 +65,36 @@ namespace llvm { EV_CURRENT = 1 }; + struct ELFHeader { + // e_machine - This field is the target specific value to emit as the + // e_machine member of the ELF header. + unsigned short e_machine; + + // e_flags - The machine flags for the target. This defaults to zero. + unsigned e_flags; + + // e_size - Holds the ELF header's size in bytes + unsigned e_ehsize; + + // Endianess and ELF Class (64 or 32 bits) + unsigned ByteOrder; + unsigned ElfClass; + + unsigned getByteOrder() const { return ByteOrder; } + unsigned getElfClass() const { return ElfClass; } + unsigned getSize() const { return e_ehsize; } + unsigned getMachine() const { return e_machine; } + unsigned getFlags() const { return e_flags; } + + ELFHeader(unsigned short machine, unsigned flags, + bool is64Bit, bool isLittleEndian) + : e_machine(machine), e_flags(flags) { + ElfClass = is64Bit ? ELFCLASS64 : ELFCLASS32; + ByteOrder = isLittleEndian ? ELFDATA2LSB : ELFDATA2MSB; + e_ehsize = is64Bit ? 64 : 52; + } + }; + /// ELFSection - This struct contains information about each section that is /// emitted to the file. This is eventually turned into the section header /// table at the end of the file. @@ -118,11 +149,11 @@ namespace llvm { // Special section indices. enum { - SHN_UNDEF = 0, // Undefined, missing, irrelevant, or meaningless + SHN_UNDEF = 0, // Undefined, missing, irrelevant SHN_LORESERVE = 0xff00, // Lowest reserved index SHN_LOPROC = 0xff00, // Lowest processor-specific index SHN_HIPROC = 0xff1f, // Highest processor-specific index - SHN_ABS = 0xfff1, // Symbol has absolute value; does not need relocation + SHN_ABS = 0xfff1, // Symbol has absolute value; no relocation SHN_COMMON = 0xfff2, // FORTRAN COMMON or C external global variables SHN_HIRESERVE = 0xffff // Highest reserved index }; @@ -134,6 +165,15 @@ namespace llvm { /// up for emission to the file. std::vector SectionData; + /// Relocations - The relocations that we have encountered so far in this + /// section that we will need to convert to Elf relocation entries when + /// the file is written. + std::vector Relocations; + + /// Section Header Size + static unsigned getSectionHdrSize(bool is64Bit) + { return is64Bit ? 64 : 40; } + ELFSection(const std::string &name) : Name(name), Type(0), Flags(0), Addr(0), Offset(0), Size(0), Link(0), Info(0), Align(0), EntSize(0) {} @@ -167,7 +207,7 @@ namespace llvm { STT_FILE = 4 }; - ELFSym(const GlobalValue *gv) : GV(gv), Value(0), + ELFSym(const GlobalValue *gv) : GV(gv), NameIdx(0), Value(0), Size(0), Info(0), Other(0), SectionIdx(ELFSection::SHN_UNDEF) {} Modified: vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.cpp ============================================================================== --- vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.cpp Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.cpp Mon Jun 8 15:36:37 2009 (r193724) @@ -73,6 +73,9 @@ bool ELFCodeEmitter::finishFunction(Mach // Add a symbol to represent the function. ELFSym FnSym(MF.getFunction()); + // Update Section Size + ES->Size = CurBufferPtr - BufferBegin; + // Figure out the binding (linkage) of the symbol. switch (MF.getFunction()->getLinkage()) { default: @@ -106,8 +109,29 @@ bool ELFCodeEmitter::finishFunction(Mach // Finally, add it to the symtab. EW.SymbolTable.push_back(FnSym); - // Update Section Size - ES->Size = CurBufferPtr - BufferBegin; + // Relocations + // ----------- + // If we have emitted any relocations to function-specific objects such as + // basic blocks, constant pools entries, or jump tables, record their + // addresses now so that we can rewrite them with the correct addresses + // later. + for (unsigned i = 0, e = Relocations.size(); i != e; ++i) { + MachineRelocation &MR = Relocations[i]; + intptr_t Addr; + + if (MR.isBasicBlock()) { + Addr = getMachineBasicBlockAddress(MR.getBasicBlock()); + MR.setConstantVal(ES->SectionIdx); + MR.setResultPointer((void*)Addr); + } else if (MR.isGlobalValue()) { + EW.PendingGlobals.insert(MR.getGlobalValue()); + } else { + assert(0 && "Unhandled relocation type"); + } + ES->Relocations.push_back(MR); + } + Relocations.clear(); + return false; } Modified: vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h ============================================================================== --- vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h Mon Jun 8 15:36:37 2009 (r193724) @@ -20,8 +20,24 @@ namespace llvm { /// emit the code for functions to the ELF file. class ELFCodeEmitter : public MachineCodeEmitter { ELFWriter &EW; + + /// Target machine description TargetMachine &TM; - ELFSection *ES; // Section to write to. + + /// Section containing code for functions + ELFSection *ES; + + /// Relocations - These are the relocations that the function needs, as + /// emitted. + std::vector Relocations; + + /// MBBLocations - This vector is a mapping from MBB ID's to their address. + /// It is filled in by the StartMachineBasicBlock callback and queried by + /// the getMachineBasicBlockAddress callback. + std::vector MBBLocations; + + /// FnStartPtr - Pointer to the start location of the current function + /// in the buffer uint8_t *FnStartPtr; public: explicit ELFCodeEmitter(ELFWriter &ew) : EW(ew), TM(EW.TM) {} @@ -30,10 +46,19 @@ namespace llvm { bool finishFunction(MachineFunction &F); void addRelocation(const MachineRelocation &MR) { - assert(0 && "relo not handled yet!"); + Relocations.push_back(MR); } virtual void StartMachineBasicBlock(MachineBasicBlock *MBB) { + if (MBBLocations.size() <= (unsigned)MBB->getNumber()) + MBBLocations.resize((MBB->getNumber()+1)*2); + MBBLocations[MBB->getNumber()] = getCurrentPCOffset(); + } + + virtual uintptr_t getMachineBasicBlockAddress(MachineBasicBlock *MBB) { + assert(MBBLocations.size() > (unsigned)MBB->getNumber() && + MBBLocations[MBB->getNumber()] && "MBB not emitted!"); + return MBBLocations[MBB->getNumber()]; } virtual uintptr_t getConstantPoolEntryAddress(unsigned Index) const { Modified: vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp ============================================================================== --- vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp Mon Jun 8 15:36:37 2009 (r193724) @@ -31,6 +31,8 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "elfwriter" + #include "ELFWriter.h" #include "ELFCodeEmitter.h" #include "ELF.h" @@ -48,6 +50,7 @@ #include "llvm/Support/OutputBuffer.h" #include "llvm/Support/Streams.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/Support/Debug.h" #include using namespace llvm; @@ -67,13 +70,13 @@ MachineCodeEmitter *llvm::AddELFWriter(P //===----------------------------------------------------------------------===// ELFWriter::ELFWriter(raw_ostream &o, TargetMachine &tm) - : MachineFunctionPass(&ID), O(o), TM(tm) { - e_flags = 0; // e_flags defaults to 0, no flags. - e_machine = TM.getELFWriterInfo()->getEMachine(); - + : MachineFunctionPass(&ID), O(o), TM(tm), ElfHdr() { is64Bit = TM.getTargetData()->getPointerSizeInBits() == 64; isLittleEndian = TM.getTargetData()->isLittleEndian(); + ElfHdr = new ELFHeader(TM.getELFWriterInfo()->getEMachine(), 0, + is64Bit, isLittleEndian); + // Create the machine code emitter object for this target. MCE = new ELFCodeEmitter(*this); NumSections = 0; @@ -81,6 +84,7 @@ ELFWriter::ELFWriter(raw_ostream &o, Tar ELFWriter::~ELFWriter() { delete MCE; + delete ElfHdr; } // doInitialization - Emit the file header and all of the global variables for @@ -92,9 +96,6 @@ bool ELFWriter::doInitialization(Module std::vector &FH = FileHeader; OutputBuffer FHOut(FH, is64Bit, isLittleEndian); - unsigned ElfClass = is64Bit ? ELFCLASS64 : ELFCLASS32; - unsigned ElfEndian = isLittleEndian ? ELFDATA2LSB : ELFDATA2MSB; - // ELF Header // ---------- // Fields e_shnum e_shstrndx are only known after all section have @@ -111,26 +112,26 @@ bool ELFWriter::doInitialization(Module FHOut.outbyte('L'); // e_ident[EI_MAG2] FHOut.outbyte('F'); // e_ident[EI_MAG3] - FHOut.outbyte(ElfClass); // e_ident[EI_CLASS] - FHOut.outbyte(ElfEndian); // e_ident[EI_DATA] - FHOut.outbyte(EV_CURRENT); // e_ident[EI_VERSION] + FHOut.outbyte(ElfHdr->getElfClass()); // e_ident[EI_CLASS] + FHOut.outbyte(ElfHdr->getByteOrder()); // e_ident[EI_DATA] + FHOut.outbyte(EV_CURRENT); // e_ident[EI_VERSION] FH.resize(16); // e_ident[EI_NIDENT-EI_PAD] - FHOut.outhalf(ET_REL); // e_type - FHOut.outhalf(e_machine); // e_machine = target - FHOut.outword(EV_CURRENT); // e_version - FHOut.outaddr(0); // e_entry = 0 -> no entry point in .o file - FHOut.outaddr(0); // e_phoff = 0 -> no program header for .o - + FHOut.outhalf(ET_REL); // e_type + FHOut.outhalf(ElfHdr->getMachine()); // e_machine = target + FHOut.outword(EV_CURRENT); // e_version + FHOut.outaddr(0); // e_entry = 0, no entry point in .o file + FHOut.outaddr(0); // e_phoff = 0, no program header for .o ELFHdr_e_shoff_Offset = FH.size(); - FHOut.outaddr(0); // e_shoff = sec hdr table off in bytes - FHOut.outword(e_flags); // e_flags = whatever the target wants + FHOut.outaddr(0); // e_shoff = sec hdr table off in bytes + FHOut.outword(ElfHdr->getFlags()); // e_flags = whatever the target wants + FHOut.outhalf(ElfHdr->getSize()); // e_ehsize = ELF header size + FHOut.outhalf(0); // e_phentsize = prog header entry size + FHOut.outhalf(0); // e_phnum = # prog header entries = 0 - FHOut.outhalf(is64Bit ? 64 : 52); // e_ehsize = ELF header size - FHOut.outhalf(0); // e_phentsize = prog header entry size - FHOut.outhalf(0); // e_phnum = # prog header entries = 0 - FHOut.outhalf(is64Bit ? 64 : 40); // e_shentsize = sect hdr entry size + // e_shentsize = Section header entry size + FHOut.outhalf(ELFSection::getSectionHdrSize(is64Bit)); // e_shnum = # of section header ents ELFHdr_e_shnum_Offset = FH.size(); @@ -251,9 +252,10 @@ bool ELFWriter::doFinalization(Module &M // Emit the symbol table now, if non-empty. EmitSymbolTable(); - // FIXME: Emit the relocations now. + // Emit the relocation sections. + EmitRelocations(); - // Emit the string table for the sections in the ELF file we have. + // Emit the string table for the sections in the ELF file. EmitSectionTableStringTable(); // Emit the sections to the .o file, and emit the section table for the file. @@ -268,6 +270,10 @@ bool ELFWriter::doFinalization(Module &M return false; } +/// EmitRelocations - Emit relocations +void ELFWriter::EmitRelocations() { +} + /// EmitSymbolTable - If the current symbol table is non-empty, emit the string /// table for it and then the symbol table itself. void ELFWriter::EmitSymbolTable() { @@ -284,7 +290,6 @@ void ELFWriter::EmitSymbolTable() { // Set the zero'th symbol to a null byte, as required. StrTabOut.outbyte(0); - SymbolTable[0].NameIdx = 0; unsigned Index = 1; for (unsigned i = 1, e = SymbolTable.size(); i != e; ++i) { // Use the name mangler to uniquify the LLVM symbol. @@ -312,9 +317,9 @@ void ELFWriter::EmitSymbolTable() { // string table of each symbol, emit the symbol table itself. ELFSection &SymTab = getSection(".symtab", ELFSection::SHT_SYMTAB, 0); SymTab.Align = is64Bit ? 8 : 4; - SymTab.Link = SymTab.SectionIdx; // Section Index of .strtab. - SymTab.Info = FirstNonLocalSymbol; // First non-STB_LOCAL symbol. - SymTab.EntSize = 16; // Size of each symtab entry. FIXME: wrong for ELF64 + SymTab.Link = StrTab.SectionIdx; // Section Index of .strtab. + SymTab.Info = FirstNonLocalSymbol; // First non-STB_LOCAL symbol. + SymTab.EntSize = is64Bit ? 24 : 16; // Size of each symtab entry. DataBuffer &SymTabBuf = SymTab.SectionData; OutputBuffer SymTabOut(SymTabBuf, is64Bit, isLittleEndian); @@ -391,11 +396,21 @@ void ELFWriter::OutputSectionsAndSection // Emit all of the section data in order. for (std::list::iterator I = SectionList.begin(), E = SectionList.end(); I != E; ++I) { + + // Section idx 0 has 0 offset + if (!I->SectionIdx) + continue; + + // Update Section size + if (!I->Size) + I->Size = I->SectionData.size(); + // Align FileOff to whatever the alignment restrictions of the section are. if (I->Align) FileOff = (FileOff+I->Align-1) & ~(I->Align-1); + I->Offset = FileOff; - FileOff += I->SectionData.size(); + FileOff += I->Size; } // Align Section Header. @@ -429,19 +444,23 @@ void ELFWriter::OutputSectionsAndSection for (size_t NewFileOff = (FileOff+S.Align-1) & ~(S.Align-1); FileOff != NewFileOff; ++FileOff) O << (char)0xAB; - O.write((char*)&S.SectionData[0], S.SectionData.size()); - FileOff += S.SectionData.size(); + O.write((char*)&S.SectionData[0], S.Size); + + DOUT << "SectionIdx: " << S.SectionIdx << ", Name: " << S.Name + << ", Size: " << S.Size << ", Offset: " << S.Offset << "\n"; + + FileOff += S.Size; TableOut.outword(S.NameIdx); // sh_name - Symbol table name idx TableOut.outword(S.Type); // sh_type - Section contents & semantics - TableOut.outword(S.Flags); // sh_flags - Section flags. + TableOut.outaddr(S.Flags); // sh_flags - Section flags. TableOut.outaddr(S.Addr); // sh_addr - The mem addr this section is in. TableOut.outaddr(S.Offset); // sh_offset - Offset from the file start. - TableOut.outword(S.Size); // sh_size - The section size. + TableOut.outaddr(S.Size); // sh_size - The section size. TableOut.outword(S.Link); // sh_link - Section header table index link. TableOut.outword(S.Info); // sh_info - Auxillary information. - TableOut.outword(S.Align); // sh_addralign - Alignment of section. - TableOut.outword(S.EntSize); // sh_entsize - Size of entries in the section + TableOut.outaddr(S.Align); // sh_addralign - Alignment of section. + TableOut.outaddr(S.EntSize); // sh_entsize - Size of entries in the section SectionList.pop_front(); } Modified: vendor/llvm/dist/lib/CodeGen/ELFWriter.h ============================================================================== --- vendor/llvm/dist/lib/CodeGen/ELFWriter.h Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/lib/CodeGen/ELFWriter.h Mon Jun 8 15:36:37 2009 (r193724) @@ -14,6 +14,7 @@ #ifndef ELFWRITER_H #define ELFWRITER_H +#include "llvm/ADT/SetVector.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include "ELF.h" #include @@ -46,15 +47,12 @@ namespace llvm { protected: /// Output stream to send the resultant object file to. - /// raw_ostream &O; /// Target machine description. - /// TargetMachine &TM; /// Mang - The object used to perform name mangling for this module. - /// Mangler *Mang; /// MCE - The MachineCodeEmitter object that we are exposing to emit machine @@ -62,19 +60,8 @@ namespace llvm { ELFCodeEmitter *MCE; //===------------------------------------------------------------------===// - // Properties to be set by the derived class ctor, used to configure the - // ELFWriter. - - // e_machine - This field is the target specific value to emit as the - // e_machine member of the ELF header. - unsigned short e_machine; - - // e_flags - The machine flags for the target. This defaults to zero. - unsigned e_flags; - - //===------------------------------------------------------------------===// // Properties inferred automatically from the target machine. - // + //===------------------------------------------------------------------===// /// is64Bit/isLittleEndian - This information is inferred from the target /// machine directly, indicating whether to emit a 32- or 64-bit ELF file. @@ -95,6 +82,9 @@ namespace llvm { // as well!). DataBuffer FileHeader; + /// ElfHdr - Hold information about the ELF Header + ELFHeader *ElfHdr; + /// SectionList - This is the list of sections that we have emitted to the /// file. Once the file has been completely built, the section header table /// is constructed from this info. @@ -140,6 +130,11 @@ namespace llvm { /// local symbols first in the list). std::vector SymbolTable; + /// PendingSyms - This is a list of externally defined symbols that we have + /// been asked to emit, but have not seen a reference to. When a reference + /// is seen, the symbol will move from this list to the SymbolTable. + SetVector PendingGlobals; + // As we complete the ELF file, we need to update fields in the ELF header // (e.g. the location of the section table). These members keep track of // the offset in ELFHeader of these various pieces to update and other @@ -149,9 +144,8 @@ namespace llvm { unsigned ELFHdr_e_shnum_Offset; // e_shnum in ELF header. private: void EmitGlobal(GlobalVariable *GV); - void EmitSymbolTable(); - + void EmitRelocations(); void EmitSectionTableStringTable(); void OutputSectionsAndSectionTable(); }; Modified: vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp ============================================================================== --- vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp Mon Jun 8 15:26:09 2009 (r193723) +++ vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp Mon Jun 8 15:36:37 2009 (r193724) @@ -92,6 +92,26 @@ void DAGTypeLegalizer::ExpandRes_BIT_CON } } + if (InVT.isVector() && OutVT.isInteger()) { + // Handle cases like i64 = BIT_CONVERT v1i64 on x86, where the operand + // is legal but the result is not. + MVT NVT = MVT::getVectorVT(TLI.getTypeToTransformTo(OutVT), 2); + + if (isTypeLegal(NVT)) { + SDValue CastInOp = DAG.getNode(ISD::BIT_CONVERT, dl, NVT, InOp); + MVT EltNVT = NVT.getVectorElementType(); + Lo = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltNVT, CastInOp, + DAG.getIntPtrConstant(0)); + Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltNVT, CastInOp, + DAG.getIntPtrConstant(1)); + + if (TLI.isBigEndian()) + std::swap(Lo, Hi); + + return; + } + } + // Lower the bit-convert to a store/load from the stack. assert(NOutVT.isByteSized() && "Expanded type not byte sized!"); Added: vendor/llvm/dist/test/CodeGen/X86/2009-06-07-ExpandMMXBitcast.ll ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/test/CodeGen/X86/2009-06-07-ExpandMMXBitcast.ll Mon Jun 8 15:36:37 2009 (r193724) @@ -0,0 +1,10 @@ +; RUN: llvm-as < %s | llc -march=x86 -mattr=+mmx | grep movl | count 2 + +define i64 @a(i32 %a, i32 %b) nounwind readnone { +entry: + %0 = insertelement <2 x i32> undef, i32 %a, i32 0 ; <<2 x i32>> [#uses=1] + %1 = insertelement <2 x i32> %0, i32 %b, i32 1 ; <<2 x i32>> [#uses=1] + %conv = bitcast <2 x i32> %1 to i64 ; [#uses=1] + ret i64 %conv +} + From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:36:57 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2529A1065676; Mon, 8 Jun 2009 15:36:57 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0F1B68FC08; Mon, 8 Jun 2009 15:36:57 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58FavK4033901; Mon, 8 Jun 2009 15:36:57 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58FatB7033869; Mon, 8 Jun 2009 15:36:55 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081536.n58FatB7033869@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 15:36:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193725 - in vendor/clang/dist: docs include/clang/AST include/clang/Basic include/clang/Parse lib/AST lib/Basic lib/CodeGen lib/Frontend lib/Headers lib/Parse lib/Sema test/CodeGen tes... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:36:57 -0000 Author: ed Date: Mon Jun 8 15:36:55 2009 New Revision: 193725 URL: http://svn.freebsd.org/changeset/base/193725 Log: Import Clang r73070. Added: vendor/clang/dist/test/SemaTemplate/instantiate-objc-1.mm Modified: vendor/clang/dist/docs/UsersManual.html vendor/clang/dist/include/clang/AST/ASTContext.h vendor/clang/dist/include/clang/AST/ExprObjC.h vendor/clang/dist/include/clang/AST/X86Builtins.def vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td vendor/clang/dist/include/clang/Basic/TokenKinds.def vendor/clang/dist/include/clang/Parse/AttributeList.h vendor/clang/dist/include/clang/Parse/Parser.h vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/Expr.cpp vendor/clang/dist/lib/Basic/SourceManager.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp vendor/clang/dist/lib/Frontend/RewriteBlocks.cpp vendor/clang/dist/lib/Headers/emmintrin.h vendor/clang/dist/lib/Parse/AttributeList.cpp vendor/clang/dist/lib/Parse/ParseDecl.cpp vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp vendor/clang/dist/lib/Sema/Sema.h vendor/clang/dist/lib/Sema/SemaExpr.cpp vendor/clang/dist/lib/Sema/SemaExprObjC.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiateExpr.cpp vendor/clang/dist/test/CodeGen/builtins-x86.c vendor/clang/dist/test/Sema/block-args.c vendor/clang/dist/test/Sema/block-call.c vendor/clang/dist/test/Sema/block-misc.c vendor/clang/dist/test/SemaObjC/blocks.m vendor/clang/dist/test/SemaTemplate/temp_class_spec.cpp vendor/clang/dist/tools/clang-cc/clang-cc.cpp Modified: vendor/clang/dist/docs/UsersManual.html ============================================================================== --- vendor/clang/dist/docs/UsersManual.html Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/docs/UsersManual.html Mon Jun 8 15:36:55 2009 (r193725) @@ -52,22 +52,16 @@ td {
  • C++ Language Features -
      -
    • ...
    • -
  • Objective C++ Language Features -
      -
    • ...
    • -
  • Target-Specific Features and Limitations
    • CPU Architectures Features and Limitations
    • Operating System Features and Limitations @@ -612,9 +606,10 @@ translation units.

      clang has some experimental support for extensions from Microsoft Visual C++; to enable it, use the -fms-extensions command-line -option. Eventually, this will be the default for Windows targets. -These extensions are not anywhere near complete, so please do not -file bugs; patches are welcome, though.

      +option. This is the default for Windows targets. Note that the +support is incomplete; enabling Microsoft extensions will silently drop +certain constructs (including __declspec and Microsoft-style asm statements). +

    • clang does not support the Microsoft extension where anonymous record members can be declared using user defined typedefs.
    • @@ -670,7 +665,37 @@ more information.

      X86

      +

      The support for X86 (both 32-bit and 64-bit) is considered stable +on Darwin (Mac OS/X), Linux, FreeBSD, and Dragonfly BSD: it has been tested to +correctly compile large C and Objective-C codebases. (FIXME: Anything specific +we want to say here? Possibly mention some LLVM x86 limitations?) + +

      ARM

      + +ARM support is mostly feature-complete, but still experimental; it hasn't +undergone significant testing. + + +

      Other platforms

      + +clang currently contains some support for PPC and Sparc; however, significant +pieces of code generation are still missing, and they haven't undergone +significant testing. + +

      clang contains some support for the embedded PIC16 processor +(FIXME: I haven't been keeping track of this; what should this say?). + +

      clang contains limited support for the MSP430 embedded processor, but both +the clang support and the LLVM backend support are highly experimental. + +

      Other platforms are completely unsupported at the moment. Adding the +minimal support needed for parsing and semantic analysis on a new platform +is quite easy; see lib/Basic/Targets.cpp in the clang source tree. This level +of support is also sufficient for conversion to LLVM IR for simple programs. +Proper support for conversion to LLVM IR requires adding code to +lib/CodeGen/CGCall.cpp at the moment; this is likely to change soon, though. +Generating assembly requires a suitable LLVM backend.

      Operating System Features and Limitations

      Modified: vendor/clang/dist/include/clang/AST/ASTContext.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTContext.h Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/AST/ASTContext.h Mon Jun 8 15:36:55 2009 (r193725) @@ -696,7 +696,6 @@ public: /// Compatibility predicates used to check assignment expressions. bool typesAreCompatible(QualType, QualType); // C99 6.2.7p1 - bool typesAreBlockCompatible(QualType lhs, QualType rhs); bool isObjCIdType(QualType T) const { return T == ObjCIdType; Modified: vendor/clang/dist/include/clang/AST/ExprObjC.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ExprObjC.h Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/AST/ExprObjC.h Mon Jun 8 15:36:55 2009 (r193725) @@ -34,6 +34,8 @@ public: explicit ObjCStringLiteral(EmptyShell Empty) : Expr(ObjCStringLiteralClass, Empty) {} + ObjCStringLiteral* Clone(ASTContext &C) const; + StringLiteral *getString() { return cast(String); } const StringLiteral *getString() const { return cast(String); } void setString(StringLiteral *S) { String = S; } @@ -64,7 +66,8 @@ class ObjCEncodeExpr : public Expr { public: ObjCEncodeExpr(QualType T, QualType ET, SourceLocation at, SourceLocation rp) - : Expr(ObjCEncodeExprClass, T), EncType(ET), AtLoc(at), RParenLoc(rp) {} + : Expr(ObjCEncodeExprClass, T, ET->isDependentType(), + ET->isDependentType()), EncType(ET), AtLoc(at), RParenLoc(rp) {} explicit ObjCEncodeExpr(EmptyShell Empty) : Expr(ObjCEncodeExprClass, Empty){} @@ -103,6 +106,8 @@ public: explicit ObjCSelectorExpr(EmptyShell Empty) : Expr(ObjCSelectorExprClass, Empty) {} + ObjCSelectorExpr *Clone(ASTContext &C) const; + Selector getSelector() const { return SelName; } void setSelector(Selector S) { SelName = S; } @@ -143,6 +148,8 @@ public: explicit ObjCProtocolExpr(EmptyShell Empty) : Expr(ObjCProtocolExprClass, Empty) {} + ObjCProtocolExpr *Clone(ASTContext &C) const; + ObjCProtocolDecl *getProtocol() const { return Protocol; } void setProtocol(ObjCProtocolDecl *P) { Protocol = P; } Modified: vendor/clang/dist/include/clang/AST/X86Builtins.def ============================================================================== --- vendor/clang/dist/include/clang/AST/X86Builtins.def Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/AST/X86Builtins.def Mon Jun 8 15:36:55 2009 (r193725) @@ -249,14 +249,11 @@ BUILTIN(__builtin_ia32_psradi128, "V4iV4 BUILTIN(__builtin_ia32_pmaddwd128, "V8sV8sV8s", "") BUILTIN(__builtin_ia32_monitor, "vv*UiUi", "") BUILTIN(__builtin_ia32_mwait, "vUiUi", "") -BUILTIN(__builtin_ia32_movshdup, "V4fV4f", "") -BUILTIN(__builtin_ia32_movsldup, "V4fV4f", "") BUILTIN(__builtin_ia32_lddqu, "V16ccC*", "") BUILTIN(__builtin_ia32_palignr128, "V2LLiV2LLiV2LLii", "") BUILTIN(__builtin_ia32_palignr, "V1LLiV1LLiV1LLis", "") BUILTIN(__builtin_ia32_insertps128, "V4fV4fV4fi", "") -BUILTIN(__builtin_ia32_loadlv4si, "V4iV2i*", "") BUILTIN(__builtin_ia32_storelv4si, "vV2i*V2LLi", "") BUILTIN(__builtin_ia32_pblendvb128, "V16cV16cV16cV16c", "") Modified: vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td Mon Jun 8 15:36:55 2009 (r193725) @@ -85,9 +85,10 @@ def Trigraphs : DiagGroup<"trigraphs">; def : DiagGroup<"type-limits">; def Uninitialized : DiagGroup<"uninitialized">; def UnknownPragmas : DiagGroup<"unknown-pragmas">; -def : DiagGroup<"unused-function">; -def : DiagGroup<"unused-label">; -def : DiagGroup<"unused-parameter">; +def UnusedArgument : DiagGroup<"unused-argument">; +def UnusedFunction : DiagGroup<"unused-function">; +def UnusedLabel : DiagGroup<"unused-label">; +def UnusedParameter : DiagGroup<"unused-parameter">; def UnusedValue : DiagGroup<"unused-value">; def UnusedVariable : DiagGroup<"unused-variable">; def : DiagGroup<"variadic-macros">; @@ -98,6 +99,10 @@ def : DiagGroup<"write-strings">; // Aggregation warning settings. +def Unused : DiagGroup<"unused", + [UnusedArgument, UnusedFunction, UnusedLabel, + UnusedParameter, UnusedValue, UnusedVariable]>; + // Format settings. def Format : DiagGroup<"format", [FormatExtraArgs, FormatZeroLength, NonNull]>; def FormatSecurity : DiagGroup<"format-security", [Format]>; Modified: vendor/clang/dist/include/clang/Basic/TokenKinds.def ============================================================================== --- vendor/clang/dist/include/clang/Basic/TokenKinds.def Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/Basic/TokenKinds.def Mon Jun 8 15:36:55 2009 (r193725) @@ -341,7 +341,6 @@ ALIAS("__attribute__", __attribute, KEYA ALIAS("__const" , const , KEYALL) ALIAS("__const__" , const , KEYALL) ALIAS("__alignof__" , __alignof , KEYALL) -ALIAS("_asm" , asm , KEYMS) ALIAS("__asm" , asm , KEYALL) ALIAS("__asm__" , asm , KEYALL) ALIAS("__complex" , _Complex , KEYALL) @@ -359,6 +358,11 @@ ALIAS("__typeof__" , typeof , KEYA ALIAS("__volatile" , volatile , KEYALL) ALIAS("__volatile__" , volatile , KEYALL) +// Microsoft extensions which should be disabled in strict conformance mode +ALIAS("_asm" , asm , KEYMS) +ALIAS("_cdecl" , __cdecl , KEYMS) +ALIAS("_fastcall" , __fastcall , KEYMS) +ALIAS("_stdcall" , __stdcall , KEYMS) //===----------------------------------------------------------------------===// // Objective-C @-preceeded keywords. Modified: vendor/clang/dist/include/clang/Parse/AttributeList.h ============================================================================== --- vendor/clang/dist/include/clang/Parse/AttributeList.h Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/Parse/AttributeList.h Mon Jun 8 15:36:55 2009 (r193725) @@ -38,13 +38,14 @@ class AttributeList { ActionBase::ExprTy **Args; unsigned NumArgs; AttributeList *Next; + bool DeclspecAttribute; AttributeList(const AttributeList &); // DO NOT IMPLEMENT void operator=(const AttributeList &); // DO NOT IMPLEMENT public: AttributeList(IdentifierInfo *AttrName, SourceLocation AttrLoc, IdentifierInfo *ParmName, SourceLocation ParmLoc, ActionBase::ExprTy **args, unsigned numargs, - AttributeList *Next); + AttributeList *Next, bool declspec = false); ~AttributeList(); enum Kind { // Please keep this list alphabetized. @@ -103,6 +104,7 @@ public: IdentifierInfo *getName() const { return AttrName; } SourceLocation getLoc() const { return AttrLoc; } IdentifierInfo *getParameterName() const { return ParmName; } + bool isDeclspecAttribute() const { return DeclspecAttribute; } Kind getKind() const { return getKind(getName()); } static Kind getKind(const IdentifierInfo *Name); Modified: vendor/clang/dist/include/clang/Parse/Parser.h ============================================================================== --- vendor/clang/dist/include/clang/Parse/Parser.h Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/include/clang/Parse/Parser.h Mon Jun 8 15:36:55 2009 (r193725) @@ -1064,7 +1064,7 @@ private: // EndLoc, if non-NULL, is filled with the location of the last token of // the attribute list. AttributeList *ParseAttributes(SourceLocation *EndLoc = 0); - void FuzzyParseMicrosoftDeclSpec(); + AttributeList *ParseMicrosoftDeclSpec(); void ParseTypeofSpecifier(DeclSpec &DS); /// DeclaratorScopeObj - RAII object used in Parser::ParseDirectDeclarator to Modified: vendor/clang/dist/lib/AST/ASTContext.cpp ============================================================================== --- vendor/clang/dist/lib/AST/ASTContext.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/AST/ASTContext.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -2838,30 +2838,6 @@ QualType::GCAttrTypes ASTContext::getObj // Type Compatibility Testing //===----------------------------------------------------------------------===// -/// typesAreBlockCompatible - This routine is called when comparing two -/// block types. Types must be strictly compatible here. For example, -/// C unfortunately doesn't produce an error for the following: -/// -/// int (*emptyArgFunc)(); -/// int (*intArgList)(int) = emptyArgFunc; -/// -/// For blocks, we will produce an error for the following (similar to C++): -/// -/// int (^emptyArgBlock)(); -/// int (^intArgBlock)(int) = emptyArgBlock; -/// -/// FIXME: When the dust settles on this integration, fold this into mergeTypes. -/// -bool ASTContext::typesAreBlockCompatible(QualType lhs, QualType rhs) { - const FunctionType *lbase = lhs->getAsFunctionType(); - const FunctionType *rbase = rhs->getAsFunctionType(); - const FunctionProtoType *lproto = dyn_cast(lbase); - const FunctionProtoType *rproto = dyn_cast(rbase); - if (lproto && rproto == 0) - return false; - return !mergeTypes(lhs, rhs).isNull(); -} - /// areCompatVectorTypes - Return true if the two specified vector types are /// compatible. static bool areCompatVectorTypes(const VectorType *LHS, Modified: vendor/clang/dist/lib/AST/Expr.cpp ============================================================================== --- vendor/clang/dist/lib/AST/Expr.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/AST/Expr.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -1556,6 +1556,22 @@ ObjCMessageExpr::ObjCMessageExpr(Expr *r RBracloc = RBrac; } +ObjCStringLiteral* ObjCStringLiteral::Clone(ASTContext &C) const { + // Clone the string literal. + StringLiteral *NewString = + String ? cast(String)->Clone(C) : 0; + + return new (C) ObjCStringLiteral(NewString, getType(), AtLoc); +} + +ObjCSelectorExpr *ObjCSelectorExpr::Clone(ASTContext &C) const { + return new (C) ObjCSelectorExpr(getType(), SelName, AtLoc, RParenLoc); +} + +ObjCProtocolExpr *ObjCProtocolExpr::Clone(ASTContext &C) const { + return new (C) ObjCProtocolExpr(getType(), Protocol, AtLoc, RParenLoc); +} + // constructor for class messages. // FIXME: clsName should be typed to ObjCInterfaceType ObjCMessageExpr::ObjCMessageExpr(IdentifierInfo *clsName, Selector selInfo, Modified: vendor/clang/dist/lib/Basic/SourceManager.cpp ============================================================================== --- vendor/clang/dist/lib/Basic/SourceManager.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Basic/SourceManager.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -347,9 +347,6 @@ FileID SourceManager::createFileID(const SrcMgr::CharacteristicKind FileCharacter, unsigned PreallocatedID, unsigned Offset) { - SLocEntry NewEntry = SLocEntry::get(NextOffset, - FileInfo::get(IncludePos, File, - FileCharacter)); if (PreallocatedID) { // If we're filling in a preallocated ID, just load in the file // entry and return. Modified: vendor/clang/dist/lib/Basic/Targets.cpp ============================================================================== --- vendor/clang/dist/lib/Basic/Targets.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Basic/Targets.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -244,6 +244,11 @@ static void GetDarwinLanguageOptions(Lan Opts.ObjCNonFragileABI = 1; } +/// GetWindowsLanguageOptions - Set the default language options for Windows. +static void GetWindowsLanguageOptions(LangOptions &Opts, + const char *Triple) { + Opts.Microsoft = true; +} //===----------------------------------------------------------------------===// // Specific target implementations. @@ -924,9 +929,8 @@ public: WindowsX86_32TargetInfo(const std::string& triple) : X86_32TargetInfo(triple) { TLSSupported = false; - // FIXME: Fix wchar_t. - // FIXME: We should probably enable -fms-extensions by default for - // this target. + WCharType = SignedShort; + WCharWidth = WCharAlign = 16; } virtual void getTargetDefines(const LangOptions &Opts, std::vector &Defines) const { @@ -938,6 +942,11 @@ public: Define(Defines, "_X86_"); Define(Defines, "__MSVCRT__"); } + + virtual void getDefaultLangOptions(LangOptions &Opts) { + X86_32TargetInfo::getDefaultLangOptions(Opts); + GetWindowsLanguageOptions(Opts, getTargetTriple()); + } }; } // end anonymous namespace Modified: vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp ============================================================================== --- vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -782,29 +782,6 @@ Value *CodeGenFunction::EmitX86BuiltinEx Ops[0] = Builder.CreateBitCast(Ops[0], PtrTy); return Builder.CreateStore(Ops[1], Ops[0]); } - case X86::BI__builtin_ia32_loadlv4si: { - // load i64 - const llvm::Type *EltTy = llvm::Type::Int64Ty; - llvm::Type *PtrTy = llvm::PointerType::getUnqual(EltTy); - Ops[0] = Builder.CreateBitCast(Ops[0], PtrTy); - Ops[0] = Builder.CreateLoad(Ops[0], "load"); - - // scalar to vector: insert i64 into 2 x i64 undef - llvm::Type *VecTy = llvm::VectorType::get(EltTy, 2); - llvm::Value *Zero = llvm::ConstantInt::get(llvm::Type::Int32Ty, 0); - Ops[0] = Builder.CreateInsertElement(llvm::UndefValue::get(VecTy), - Ops[0], Zero, "s2v"); - - // shuffle into zero vector. - std::vectorElts; - Elts.resize(2, llvm::ConstantInt::get(EltTy, 0)); - llvm::Value *ZV = ConstantVector::get(Elts); - Ops[0] = EmitShuffleVector(ZV, Ops[0], 2, 1, "loadl"); - - // bitcast to result. - return Builder.CreateBitCast(Ops[0], - llvm::VectorType::get(llvm::Type::Int32Ty, 4)); - } } } Modified: vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp ============================================================================== --- vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -310,7 +310,6 @@ static void InitializePredefinedMacros(c // Filter out some microsoft extensions when trying to parse in ms-compat // mode. if (LangOpts.Microsoft) { - DefineBuiltinMacro(Buf, "_cdecl=__cdecl"); DefineBuiltinMacro(Buf, "__int8=__INT8_TYPE__"); DefineBuiltinMacro(Buf, "__int16=__INT16_TYPE__"); DefineBuiltinMacro(Buf, "__int32=__INT32_TYPE__"); Modified: vendor/clang/dist/lib/Frontend/RewriteBlocks.cpp ============================================================================== --- vendor/clang/dist/lib/Frontend/RewriteBlocks.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Frontend/RewriteBlocks.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -1011,9 +1011,7 @@ Stmt *RewriteBlocks::RewriteFunctionBody CI != E; ++CI) if (*CI) { if (BlockExpr *CBE = dyn_cast(*CI)) { - Stmt *newStmt = RewriteFunctionBody(CBE->getBody()); - if (newStmt) - *CI = newStmt; + RewriteFunctionBody(CBE->getBody()); // We've just rewritten the block body in place. // Now we snarf the rewritten text and stash it away for later use. @@ -1023,9 +1021,7 @@ Stmt *RewriteBlocks::RewriteFunctionBody // Do the rewrite, using S.size() which contains the rewritten size. ReplaceText(CBE->getLocStart(), S.size(), Init.c_str(), Init.size()); } else { - Stmt *newStmt = RewriteFunctionBody(*CI); - if (newStmt) - *CI = newStmt; + RewriteFunctionBody(*CI); } } // Handle specific things. Modified: vendor/clang/dist/lib/Headers/emmintrin.h ============================================================================== --- vendor/clang/dist/lib/Headers/emmintrin.h Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Headers/emmintrin.h Mon Jun 8 15:36:55 2009 (r193725) @@ -1020,7 +1020,7 @@ _mm_loadu_si128(__m128i const *p) static inline __m128i __attribute__((__always_inline__, __nodebug__)) _mm_loadl_epi64(__m128i const *p) { - return (__m128i)__builtin_ia32_loadlv4si((__v2si *)p); + return (__m128i) { *(long long*)p, 0}; } static inline __m128i __attribute__((__always_inline__, __nodebug__)) Modified: vendor/clang/dist/lib/Parse/AttributeList.cpp ============================================================================== --- vendor/clang/dist/lib/Parse/AttributeList.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Parse/AttributeList.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -18,9 +18,9 @@ using namespace clang; AttributeList::AttributeList(IdentifierInfo *aName, SourceLocation aLoc, IdentifierInfo *pName, SourceLocation pLoc, ActionBase::ExprTy **ExprList, unsigned numArgs, - AttributeList *n) + AttributeList *n, bool declspec) : AttrName(aName), AttrLoc(aLoc), ParmName(pName), ParmLoc(pLoc), - NumArgs(numArgs), Next(n) { + NumArgs(numArgs), Next(n), DeclspecAttribute(declspec) { if (numArgs == 0) Args = 0; Modified: vendor/clang/dist/lib/Parse/ParseDecl.cpp ============================================================================== --- vendor/clang/dist/lib/Parse/ParseDecl.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Parse/ParseDecl.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -200,18 +200,50 @@ AttributeList *Parser::ParseAttributes(S return CurrAttr; } -/// FuzzyParseMicrosoftDeclSpec. When -fms-extensions is enabled, this -/// routine is called to skip/ignore tokens that comprise the MS declspec. -void Parser::FuzzyParseMicrosoftDeclSpec() { +/// ParseMicrosoftDeclSpec - Parse an __declspec construct +/// +/// [MS] decl-specifier: +/// __declspec ( extended-decl-modifier-seq ) +/// +/// [MS] extended-decl-modifier-seq: +/// extended-decl-modifier[opt] +/// extended-decl-modifier extended-decl-modifier-seq + +AttributeList* Parser::ParseMicrosoftDeclSpec() { assert(Tok.is(tok::kw___declspec) && "Not a declspec!"); + + AttributeList *CurrAttr = 0; ConsumeToken(); - if (Tok.is(tok::l_paren)) { - unsigned short savedParenCount = ParenCount; - do { - ConsumeAnyToken(); - } while (ParenCount > savedParenCount && Tok.isNot(tok::eof)); - } - return; + if (ExpectAndConsume(tok::l_paren, diag::err_expected_lparen_after, + "declspec")) { + SkipUntil(tok::r_paren, true); // skip until ) or ; + return CurrAttr; + } + while (Tok.is(tok::identifier) || Tok.is(tok::kw_restrict)) { + IdentifierInfo *AttrName = Tok.getIdentifierInfo(); + SourceLocation AttrNameLoc = ConsumeToken(); + if (Tok.is(tok::l_paren)) { + ConsumeParen(); + // FIXME: This doesn't parse __declspec(property(get=get_func_name)) + // correctly. + OwningExprResult ArgExpr(ParseAssignmentExpression()); + if (!ArgExpr.isInvalid()) { + ExprTy* ExprList = ArgExpr.take(); + CurrAttr = new AttributeList(AttrName, AttrNameLoc, 0, + SourceLocation(), &ExprList, 1, + CurrAttr, true); + } + if (ExpectAndConsume(tok::r_paren, diag::err_expected_rparen)) + SkipUntil(tok::r_paren, false); + } else { + CurrAttr = new AttributeList(AttrName, AttrNameLoc, 0, SourceLocation(), + 0, 0, CurrAttr, true); + } + } + if (ExpectAndConsume(tok::r_paren, diag::err_expected_rparen)) + SkipUntil(tok::r_paren, false); + // FIXME: Return the attributes once we have some Sema support! + return 0; } /// ParseDeclaration - Parse a full 'declaration', which consists of @@ -809,7 +841,7 @@ void Parser::ParseDeclarationSpecifiers( case tok::kw___declspec: if (!PP.getLangOptions().Microsoft) goto DoneWithDeclSpec; - FuzzyParseMicrosoftDeclSpec(); + DS.AddAttributes(ParseMicrosoftDeclSpec()); continue; // Microsoft single token adornments. Modified: vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp ============================================================================== --- vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -410,7 +410,8 @@ void Parser::ParseClassSpecifier(tok::To // If declspecs exist after tag, parse them. if (Tok.is(tok::kw___declspec) && PP.getLangOptions().Microsoft) - FuzzyParseMicrosoftDeclSpec(); + // FIXME: Need to do something with the attributes! + ParseMicrosoftDeclSpec(); // Parse the (optional) nested-name-specifier. CXXScopeSpec SS; Modified: vendor/clang/dist/lib/Sema/Sema.h ============================================================================== --- vendor/clang/dist/lib/Sema/Sema.h Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Sema/Sema.h Mon Jun 8 15:36:55 2009 (r193725) @@ -1696,6 +1696,10 @@ public: virtual ExprResult ParseObjCStringLiteral(SourceLocation *AtLocs, ExprTy **Strings, unsigned NumStrings); + + Expr *BuildObjCEncodeExpression(SourceLocation AtLoc, + QualType EncodedType, + SourceLocation RParenLoc); virtual ExprResult ParseObjCEncodeExpression(SourceLocation AtLoc, SourceLocation EncodeLoc, SourceLocation LParenLoc, Modified: vendor/clang/dist/lib/Sema/SemaExpr.cpp ============================================================================== --- vendor/clang/dist/lib/Sema/SemaExpr.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Sema/SemaExpr.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -3003,8 +3003,8 @@ QualType Sema::CheckConditionalOperands( compositeType = Context.getObjCIdType(); } else if (LHSBPT || RHSBPT) { if (!sameKind - || !Context.typesAreBlockCompatible(lhptee.getUnqualifiedType(), - rhptee.getUnqualifiedType())) + || !Context.typesAreCompatible(lhptee.getUnqualifiedType(), + rhptee.getUnqualifiedType())) Diag(QuestionLoc, diag::err_typecheck_cond_incompatible_operands) << LHSTy << RHSTy << LHS->getSourceRange() << RHS->getSourceRange(); return QualType(); @@ -3218,7 +3218,7 @@ Sema::CheckBlockPointerTypesForAssignmen if (lhptee.getCVRQualifiers() != rhptee.getCVRQualifiers()) ConvTy = CompatiblePointerDiscardsQualifiers; - if (!Context.typesAreBlockCompatible(lhptee, rhptee)) + if (!Context.typesAreCompatible(lhptee, rhptee)) return IncompatibleBlockPointer; return ConvTy; } @@ -3978,7 +3978,7 @@ QualType Sema::CheckCompareOperands(Expr QualType rpointee = rType->getAsBlockPointerType()->getPointeeType(); if (!LHSIsNull && !RHSIsNull && - !Context.typesAreBlockCompatible(lpointee, rpointee)) { + !Context.typesAreCompatible(lpointee, rpointee)) { Diag(Loc, diag::err_typecheck_comparison_of_distinct_blocks) << lType << rType << lex->getSourceRange() << rex->getSourceRange(); } @@ -5220,7 +5220,7 @@ Sema::OwningExprResult Sema::ActOnBlockS QualType BlockTy; if (!BSI->hasPrototype) - BlockTy = Context.getFunctionNoProtoType(RetTy); + BlockTy = Context.getFunctionType(RetTy, 0, 0, false, 0); else BlockTy = Context.getFunctionType(RetTy, ArgTypes.data(), ArgTypes.size(), BSI->isVariadic, 0); Modified: vendor/clang/dist/lib/Sema/SemaExprObjC.cpp ============================================================================== --- vendor/clang/dist/lib/Sema/SemaExprObjC.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Sema/SemaExprObjC.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -92,6 +92,29 @@ Sema::ExprResult Sema::ParseObjCStringLi return new (Context) ObjCStringLiteral(S, Ty, AtLocs[0]); } +Expr *Sema::BuildObjCEncodeExpression(SourceLocation AtLoc, + QualType EncodedType, + SourceLocation RParenLoc) { + QualType StrTy; + if (EncodedType->isDependentType()) + StrTy = Context.DependentTy; + else { + std::string Str; + Context.getObjCEncodingForType(EncodedType, Str); + + // The type of @encode is the same as the type of the corresponding string, + // which is an array type. + StrTy = Context.CharTy; + // A C++ string literal has a const-qualified element type (C++ 2.13.4p1). + if (getLangOptions().CPlusPlus) + StrTy.addConst(); + StrTy = Context.getConstantArrayType(StrTy, llvm::APInt(32, Str.size()+1), + ArrayType::Normal, 0); + } + + return new (Context) ObjCEncodeExpr(StrTy, EncodedType, AtLoc, RParenLoc); +} + Sema::ExprResult Sema::ParseObjCEncodeExpression(SourceLocation AtLoc, SourceLocation EncodeLoc, SourceLocation LParenLoc, @@ -99,19 +122,7 @@ Sema::ExprResult Sema::ParseObjCEncodeEx SourceLocation RParenLoc) { QualType EncodedType = QualType::getFromOpaquePtr(ty); - std::string Str; - Context.getObjCEncodingForType(EncodedType, Str); - - // The type of @encode is the same as the type of the corresponding string, - // which is an array type. - QualType StrTy = Context.CharTy; - // A C++ string literal has a const-qualified element type (C++ 2.13.4p1). - if (getLangOptions().CPlusPlus) - StrTy.addConst(); - StrTy = Context.getConstantArrayType(StrTy, llvm::APInt(32, Str.size()+1), - ArrayType::Normal, 0); - - return new (Context) ObjCEncodeExpr(StrTy, EncodedType, AtLoc, RParenLoc); + return BuildObjCEncodeExpression(AtLoc, EncodedType, RParenLoc); } Sema::ExprResult Sema::ParseObjCSelectorExpression(Selector Sel, Modified: vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp ============================================================================== --- vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -265,6 +265,37 @@ static bool DeduceTemplateArguments(ASTC return false; } + case Type::FunctionProto: { + const FunctionProtoType *FunctionProtoArg = + dyn_cast(Arg); + if (!FunctionProtoArg) + return false; + + const FunctionProtoType *FunctionProtoParam = + cast(Param); + + // Check return types. + if (!DeduceTemplateArguments(Context, + FunctionProtoParam->getResultType(), + FunctionProtoArg->getResultType(), + Deduced)) + return false; + + if (FunctionProtoParam->getNumArgs() != FunctionProtoArg->getNumArgs()) + return false; + + for (unsigned I = 0, N = FunctionProtoParam->getNumArgs(); I != N; ++I) { + // Check argument types. + if (!DeduceTemplateArguments(Context, + FunctionProtoParam->getArgType(I), + FunctionProtoArg->getArgType(I), + Deduced)) + return false; + } + + return true; + } + default: break; } Modified: vendor/clang/dist/lib/Sema/SemaTemplateInstantiateExpr.cpp ============================================================================== --- vendor/clang/dist/lib/Sema/SemaTemplateInstantiateExpr.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/lib/Sema/SemaTemplateInstantiateExpr.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -1216,15 +1216,22 @@ TemplateExprInstantiator::VisitCXXUnreso // Objective-C Expressions //---------------------------------------------------------------------------- Sema::OwningExprResult -TemplateExprInstantiator::VisitObjCStringLiteral(ObjCStringLiteral *E) { - assert(false && "FIXME: Template instantiations for ObjC expressions"); - return SemaRef.ExprError(); +TemplateExprInstantiator::VisitObjCStringLiteral(ObjCStringLiteral *E) { + return SemaRef.Owned(E->Clone(SemaRef.Context)); } Sema::OwningExprResult -TemplateExprInstantiator::VisitObjCEncodeExpr(ObjCEncodeExpr *E) { - assert(false && "FIXME: Template instantiations for ObjC expressions"); - return SemaRef.ExprError(); +TemplateExprInstantiator::VisitObjCEncodeExpr(ObjCEncodeExpr *E) { + QualType EncodedType = SemaRef.InstantiateType(E->getEncodedType(), + TemplateArgs, + /*FIXME:*/E->getAtLoc(), + DeclarationName()); + if (EncodedType.isNull()) + return SemaRef.ExprError(); + + return SemaRef.Owned(SemaRef.BuildObjCEncodeExpression(E->getAtLoc(), + EncodedType, + E->getRParenLoc())); } Sema::OwningExprResult @@ -1235,14 +1242,12 @@ TemplateExprInstantiator::VisitObjCMessa Sema::OwningExprResult TemplateExprInstantiator::VisitObjCSelectorExpr(ObjCSelectorExpr *E) { - assert(false && "FIXME: Template instantiations for ObjC expressions"); - return SemaRef.ExprError(); + return SemaRef.Owned(E->Clone(SemaRef.Context)); } Sema::OwningExprResult TemplateExprInstantiator::VisitObjCProtocolExpr(ObjCProtocolExpr *E) { - assert(false && "FIXME: Template instantiations for ObjC expressions"); - return SemaRef.ExprError(); + return SemaRef.Owned(E->Clone(SemaRef.Context)); } Sema::OwningExprResult Modified: vendor/clang/dist/test/CodeGen/builtins-x86.c ============================================================================== --- vendor/clang/dist/test/CodeGen/builtins-x86.c Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/test/CodeGen/builtins-x86.c Mon Jun 8 15:36:55 2009 (r193725) @@ -325,14 +325,9 @@ void f0() { tmp_V8s = __builtin_ia32_pmaddwd128(tmp_V8s, tmp_V8s); (void) __builtin_ia32_monitor(tmp_vp, tmp_Ui, tmp_Ui); (void) __builtin_ia32_mwait(tmp_Ui, tmp_Ui); -#ifdef USE_ALL - tmp_V4f = __builtin_ia32_movshdup(tmp_V4f); - tmp_V4f = __builtin_ia32_movsldup(tmp_V4f); -#endif tmp_V16c = __builtin_ia32_lddqu(tmp_cCp); tmp_V2LLi = __builtin_ia32_palignr128(tmp_V2LLi, tmp_V2LLi, imm_i); tmp_V1LLi = __builtin_ia32_palignr(tmp_V1LLi, tmp_V1LLi, imm_i); - tmp_V4i = __builtin_ia32_loadlv4si(tmp_V2ip); (void) __builtin_ia32_storelv4si(tmp_V2ip, tmp_V2LLi); #ifdef USE_SSE4 tmp_V16c = __builtin_ia32_pblendvb128(tmp_V16c, tmp_V16c, tmp_V16c); Modified: vendor/clang/dist/test/Sema/block-args.c ============================================================================== --- vendor/clang/dist/test/Sema/block-args.c Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/test/Sema/block-args.c Mon Jun 8 15:36:55 2009 (r193725) @@ -18,7 +18,7 @@ void test() { ^{return 1;}(); ^{return 2;}(arg); // expected-error {{too many arguments to block call}} ^(void){return 3;}(1); // expected-error {{too many arguments to block call}} - ^(){return 4;}(arg); // C style (...), ok. + ^(){return 4;}(arg); // expected-error {{too many arguments to block call}} ^(int x, ...){return 5;}(arg, arg); // Explicit varargs, ok. } Modified: vendor/clang/dist/test/Sema/block-call.c ============================================================================== --- vendor/clang/dist/test/Sema/block-call.c Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/test/Sema/block-call.c Mon Jun 8 15:36:55 2009 (r193725) @@ -7,10 +7,10 @@ int main() { int (*FPL) (int) = FP; // C doesn't consider this an error. // For Blocks, the ASTContext::typesAreBlockCompatible() makes sure this is an error. - int (^PFR) (int) = IFP; // expected-error {{incompatible block pointer types initializing 'int (^)()', expected 'int (^)(int)'}} + int (^PFR) (int) = IFP; // OK PFR = II; // OK - int (^IFP) () = PFR; + int (^IFP) () = PFR; // OK const int (^CIC) () = IFP; // expected-error {{incompatible block pointer types initializing 'int (^)()', expected 'int const (^)()'}} Modified: vendor/clang/dist/test/Sema/block-misc.c ============================================================================== --- vendor/clang/dist/test/Sema/block-misc.c Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/test/Sema/block-misc.c Mon Jun 8 15:36:55 2009 (r193725) @@ -10,7 +10,7 @@ int test1() { if (PFR == II) // OK donotwarn(); - if (PFR == IFP) // expected-error {{comparison of distinct block types}} + if (PFR == IFP) // OK donotwarn(); if (PFR == (int (^) (int))IFP) // OK @@ -25,7 +25,7 @@ int test1() { if (!PFR) // OK donotwarn(); - return PFR != IFP; // expected-error {{comparison of distinct block types}} + return PFR != IFP; // OK } int test2(double (^S)()) { @@ -165,7 +165,7 @@ void test17() { f(1 ? bp : vp); f(1 ? vp : bp); - f(1 ? bp : bp1); // expected-error {{incompatible operand types ('void (^)(int)' and 'void (^)()')}} + f(1 ? bp : bp1); (void)(bp > rp); // expected-error {{invalid operands}} (void)(bp > 0); // expected-error {{invalid operands}} (void)(bp > bp); // expected-error {{invalid operands}} Modified: vendor/clang/dist/test/SemaObjC/blocks.m ============================================================================== --- vendor/clang/dist/test/SemaObjC/blocks.m Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/test/SemaObjC/blocks.m Mon Jun 8 15:36:55 2009 (r193725) @@ -28,7 +28,7 @@ void foo5(id (^objectCreationBlock)(int) void bar6(id(^)(int)); void foo6(id (^objectCreationBlock)()) { - return bar6(objectCreationBlock); // expected-error {{incompatible block pointer types passing 'id (^)()', expected 'id (^)(int)'}} + return bar6(objectCreationBlock); } void foo7(id (^x)(int)) { Added: vendor/clang/dist/test/SemaTemplate/instantiate-objc-1.mm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/clang/dist/test/SemaTemplate/instantiate-objc-1.mm Mon Jun 8 15:36:55 2009 (r193725) @@ -0,0 +1,47 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +// Obj-C string literal expressions +template struct StringTest { + void f() { + (void)@"Hello"; + } +}; + +template struct StringTest; +template struct StringTest; + +// @selector expressions +template struct SelectorTest { + SEL f() { + return @selector(multiple:arguments:); + } + SEL f2() { + return @selector(multiple:arguments:); + } +}; + +template struct SelectorTest; +template struct SelectorTest; + +// @protocol expressions +@protocol P +@end + +template struct ProtocolTest { + void f() { + (void)@protocol(P); + } +}; + +template struct ProtocolTest; +template struct ProtocolTest; + +// @encode expressions +template struct EncodeTest { + static const char *encode(T t) { + return @encode(T); + } +}; + +template struct EncodeTest; +template struct EncodeTest; Modified: vendor/clang/dist/test/SemaTemplate/temp_class_spec.cpp ============================================================================== --- vendor/clang/dist/test/SemaTemplate/temp_class_spec.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/test/SemaTemplate/temp_class_spec.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -102,3 +102,35 @@ struct get_array_size { }; int array_size0[get_array_size::value == 12? 1 : -1]; + +template +struct is_unary_function { + static const bool value = false; +}; + +template +struct is_unary_function { + static const bool value = true; +}; + +int is_unary_function0[is_unary_function::value ? -1 : 1]; +int is_unary_function1[is_unary_function::value ? -1 : 1]; +int is_unary_function2[is_unary_function::value ? -1 : 1]; +int is_unary_function3[is_unary_function::value ? 1 : -1]; +int is_unary_function4[is_unary_function::value ? 1 : -1]; + +template +struct is_unary_function_with_same_return_type_as_argument_type { + static const bool value = false; +}; + +template +struct is_unary_function_with_same_return_type_as_argument_type { + static const bool value = true; +}; + +int is_unary_function5[is_unary_function_with_same_return_type_as_argument_type::value ? -1 : 1]; +int is_unary_function6[is_unary_function_with_same_return_type_as_argument_type::value ? -1 : 1]; +int is_unary_function7[is_unary_function_with_same_return_type_as_argument_type::value ? -1 : 1]; +int is_unary_function8[is_unary_function_with_same_return_type_as_argument_type::value ? -1 : 1]; +int is_unary_function9[is_unary_function_with_same_return_type_as_argument_type::value ? 1 : -1]; Modified: vendor/clang/dist/tools/clang-cc/clang-cc.cpp ============================================================================== --- vendor/clang/dist/tools/clang-cc/clang-cc.cpp Mon Jun 8 15:36:37 2009 (r193724) +++ vendor/clang/dist/tools/clang-cc/clang-cc.cpp Mon Jun 8 15:36:55 2009 (r193725) @@ -808,7 +808,8 @@ static void InitializeLanguageStandard(L if (PascalStrings.getPosition()) Options.PascalStrings = PascalStrings; - Options.Microsoft = MSExtensions; + if (MSExtensions.getPosition()) + Options.Microsoft = MSExtensions; Options.WritableStrings = WritableStrings; if (NoLaxVectorConversions.getPosition()) Options.LaxVectorConversions = 0; From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:37:40 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E36A910656BC; Mon, 8 Jun 2009 15:37:40 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B65548FC0C; Mon, 8 Jun 2009 15:37:40 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58FbepU033956; Mon, 8 Jun 2009 15:37:40 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58FbekJ033955; Mon, 8 Jun 2009 15:37:40 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081537.n58FbekJ033955@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 15:37:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193726 - vendor/llvm/llvm-r73070. X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:37:42 -0000 Author: ed Date: Mon Jun 8 15:37:40 2009 New Revision: 193726 URL: http://svn.freebsd.org/changeset/base/193726 Log: Tag the LLVM r73070 import. Added: vendor/llvm/llvm-r73070./ - copied from r193725, vendor/llvm/dist/ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:38:04 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1BD5106573B; Mon, 8 Jun 2009 15:38:04 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 73E7A8FC20; Mon, 8 Jun 2009 15:38:04 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58Fc4aL034004; Mon, 8 Jun 2009 15:38:04 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Fc4kv034003; Mon, 8 Jun 2009 15:38:04 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081538.n58Fc4kv034003@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 15:38:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193727 - vendor/clang/clang-r73070. X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 15:38:06 -0000 Author: ed Date: Mon Jun 8 15:38:03 2009 New Revision: 193727 URL: http://svn.freebsd.org/changeset/base/193727 Log: Tag the Clang r73070 import. Added: vendor/clang/clang-r73070./ - copied from r193726, vendor/clang/dist/ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 15:54:07 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A73DB106564A; Mon, 8 Jun 2009 15:54:07 +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 953B98FC20; Mon, 8 Jun 2009 15:54:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58Fs7Yl034346; Mon, 8 Jun 2009 15:54:07 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Fs79X034345; Mon, 8 Jun 2009 15:54:07 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200906081554.n58Fs79X034345@svn.freebsd.org> From: John Baldwin Date: Mon, 8 Jun 2009 15:54: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: r193728 - head/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: Mon, 08 Jun 2009 15:54:08 -0000 Author: jhb Date: Mon Jun 8 15:54:07 2009 New Revision: 193728 URL: http://svn.freebsd.org/changeset/base/193728 Log: Change the printf format string to match the variable type to quiet warnings. Modified: head/sbin/geom/class/part/geom_part.c Modified: head/sbin/geom/class/part/geom_part.c ============================================================================== --- head/sbin/geom/class/part/geom_part.c Mon Jun 8 15:38:03 2009 (r193727) +++ head/sbin/geom/class/part/geom_part.c Mon Jun 8 15:54:07 2009 (r193728) @@ -342,13 +342,13 @@ gpart_autofill(struct gctl_req *req) return (ENOSPC); if (!has_size) { - asprintf(&val, "%jd", size); + asprintf(&val, "%llu", size); if (val == NULL) return (ENOMEM); gctl_change_param(req, "size", -1, val); } if (!has_start) { - asprintf(&val, "%jd", start); + asprintf(&val, "%llu", start); if (val == NULL) return (ENOMEM); gctl_change_param(req, "start", -1, val); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 16:13:24 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D479D1065670; Mon, 8 Jun 2009 16:13:24 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id 77A9A8FC16; Mon, 8 Jun 2009 16:13:24 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from [10.0.0.34] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id C4F61C3AB7; Mon, 8 Jun 2009 17:54:57 +0200 (CEST) Message-Id: <9CB8E78B-BED8-4995-9823-5CEE75A4F52F@semihalf.com> From: Rafal Jaworowski To: Stanislav Sedov In-Reply-To: <20090608165646.95bb577e.stas@FreeBSD.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Mon, 8 Jun 2009 17:56:51 +0200 References: <200906081215.n58CFdOl029049@svn.freebsd.org> <20090608165646.95bb577e.stas@FreeBSD.org> X-Mailer: Apple Mail (2.935.3) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, =?ISO-8859-2?Q?Piotr_Zi=EAcik?= Subject: Re: svn commit: r193712 - head/sys/arm/arm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 16:13:26 -0000 On 2009-06-08, at 14:56, Stanislav Sedov wrote: > On Mon, 8 Jun 2009 12:15:39 +0000 (UTC) > Rafal Jaworowski mentioned: > >> Author: raj >> Date: Mon Jun 8 12:15:39 2009 >> New Revision: 193712 >> URL: http://svn.freebsd.org/changeset/base/193712 >> >> Log: >> Invalidate cache in pmap_remove_all() on ARM. >> >> When pages are removed from virtual address space by calling >> pmap_remove_all() >> CPU caches were not invalidated, which led to read corruption when >> another >> page got mapped at this same virtual address at later time (the >> CPU was >> retrieving stale contents). >> >> Submitted by: Piotr Ziecik >> Obtained from: Semihalf >> >> Modified: >> head/sys/arm/arm/pmap.c >> >> Modified: head/sys/arm/arm/pmap.c >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- head/sys/arm/arm/pmap.c Mon Jun 8 12:10:42 2009 (r193711) >> +++ head/sys/arm/arm/pmap.c Mon Jun 8 12:15:39 2009 (r193712) >> @@ -3124,7 +3124,19 @@ pmap_remove_all(vm_page_t m) >> if (flush == FALSE && (pv->pv_pmap == curpm || >> pv->pv_pmap == pmap_kernel())) >> flush = TRUE; >> + >> PMAP_LOCK(pv->pv_pmap); >> + /* >> + * Cached contents were written-back in pmap_remove_write(), >> + * but we still have to invalidate the cache entry to make >> + * sure stale data are not retrieved when another page will be >> + * mapped under this virtual address. >> + */ >> + if (pmap_is_current(pv->pv_pmap)) { >> + cpu_dcache_inv_range(pv->pv_va, PAGE_SIZE); >> + cpu_l2cache_inv_range(pv->pv_va, PAGE_SIZE); >> + } >> + > > Hi, Rafal! > > What about calling the pmap_dcache_wb_range function for each > mapping in > the cycle instead of calling cpu_XXX_inv_range functions directly? > I think > something like this would do the trick: > % pmap_dcache_wb_range(pv->pv_pmap, pv->pv_va, PAGE_SIZE, FALSE, > % (pv->pv_flags & PVF_WRITE) == 0) > > This will also take care of the writeback cache. I don't know if it > is really > needed, though. Do you see anything wrong with calling cpu_xxx_inv_range directly? Writing back (if required) was already performed by pmap_remove_write(), and what we only need at this point is invalidation. pmap_dcache_wb_range would also eventually call cpu_XXX_inv_range if given a proper combination of flags (BTW: the do_inv flag in your example should be TRUE for our context to work), so it wouldn't be any simpler. I'd rather prefer doing explicitly what is needed without extra wrapping. Rafal From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 16:20:19 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76A14106566B; Mon, 8 Jun 2009 16:20:19 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from mx0.deglitch.com (backbone.deglitch.com [IPv6:2001:16d8:fffb:4::abba]) by mx1.freebsd.org (Postfix) with ESMTP id 2BD908FC17; Mon, 8 Jun 2009 16:20:19 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from stasss.yandex.ru (dhcp170-227-red.yandex.net [95.108.170.227]) by mx0.deglitch.com (Postfix) with ESMTPSA id EEF698FC2E; Mon, 8 Jun 2009 20:20:16 +0400 (MSD) Date: Mon, 8 Jun 2009 20:20:11 +0400 From: Stanislav Sedov To: Rafal Jaworowski Message-Id: <20090608202011.d3230356.stas@FreeBSD.org> In-Reply-To: <9CB8E78B-BED8-4995-9823-5CEE75A4F52F@semihalf.com> References: <200906081215.n58CFdOl029049@svn.freebsd.org> <20090608165646.95bb577e.stas@FreeBSD.org> <9CB8E78B-BED8-4995-9823-5CEE75A4F52F@semihalf.com> Organization: The FreeBSD Project X-Mailer: carrier-pigeon Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Mon__8_Jun_2009_20_20_11_+0400_4UBYF.vq=ykwyqxC" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Piotr =?UTF-8?Q?Zi=C4=99cik?= Subject: Re: svn commit: r193712 - head/sys/arm/arm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 16:20:19 -0000 --Signature=_Mon__8_Jun_2009_20_20_11_+0400_4UBYF.vq=ykwyqxC Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, 8 Jun 2009 17:56:51 +0200 Rafal Jaworowski mentioned: >=20 > Do you see anything wrong with calling cpu_xxx_inv_range directly? =20 > Writing back (if required) was already performed by =20 > pmap_remove_write(), and what we only need at this point is =20 > invalidation. pmap_dcache_wb_range would also eventually call =20 > cpu_XXX_inv_range if given a proper combination of flags (BTW: the =20 > do_inv flag in your example should be TRUE for our context to work), =20 > so it wouldn't be any simpler. I'd rather prefer doing explicitly what =20 > is needed without extra wrapping. >=20 I don't see anything particulary wrong with your approach. On the other hand, using pmap_dcache_wb_range will help to reduce the code duplication, so if one day we'll think that something else is needed to properly invalidate the PTE range, we'll be able to modify the pmap_dcache_wb_range accordingly without looking for other parts of code that does the same. --=20 Stanislav Sedov ST4096-RIPE --Signature=_Mon__8_Jun_2009_20_20_11_+0400_4UBYF.vq=ykwyqxC Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- iQIcBAEBAgAGBQJKLTo/AAoJEKN82nOYvCd0RB4P/j7Wi18Fnnu90XyQvmKvnOyc G2G8Fb7qfWGJFJxdGBZRThOi8+yM8mEHEUlXMIITjY4Ff1aLHc6xiPD6SZTcawtT fd4juAdWJC6pc/kRtrSQh3v/Tb/VernZCyNjq4SViQ16x4vRMhLpQt7eOpze1IZz gpD6zMpjB0HKaj0TSuyLbm2ybQiTOR7yaQmbd00N7FUt8YteCDn8eNHjEvnKht3H EYclCxKxSG5VUFPdbL+2lUidjUGd8g4VL2/Ja/L2CU/L5sfar+Xk+qB/1HN1J4lT H9MThWXnu0ymEvlyROPX7KuqFjjN0ZgNYRG/KBeMMdymj2pbeGK15Ljdp7HbdpaY lS7mI8iNj/Ot7WReAqyPMXjIZf1WWVytH0QVZTdRzg29Drs3uo2DwM6fA9HCvndD tOjL2lYQEktaWxzdA2sr8R1r4or5KDWDNuDl6uNxmFnXVY2MvCkmzRjUg0xG/jTQ UN/8WnZOruiOjVyvfadVKpQSd+UMXpfDVa3l2+EC/kxp9SruvLRjR6zUhzpELno4 F/VemM39anSn1uB7pDXyPKCn0ADWLxb8tVKD30W3fbPV1Eq/T5KheSkY7PKrcLpv UhXVRqmISpWObqnE5cIjEKsWgdxnfmieU3M6s94xbHm4Pr5n94Ms03qWEPPkxsnj zQzYwHK6cB0MCstcAEPd =0k2S -----END PGP SIGNATURE----- --Signature=_Mon__8_Jun_2009_20_20_11_+0400_4UBYF.vq=ykwyqxC-- From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 16:29:42 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF2821065670; Mon, 8 Jun 2009 16:29:42 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout015.mac.com (asmtpout015.mac.com [17.148.16.90]) by mx1.freebsd.org (Postfix) with ESMTP id B78628FC1B; Mon, 8 Jun 2009 16:29:42 +0000 (UTC) (envelope-from xcllnt@mac.com) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII; format=flowed Received: from macbook-pro.jnpr.net (natint3.juniper.net [66.129.224.36]) by asmtp015.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KKX00K9HHTEXO80@asmtp015.mac.com>; Mon, 08 Jun 2009 09:29:42 -0700 (PDT) Message-id: From: Marcel Moolenaar To: John Baldwin In-reply-to: <200906081554.n58Fs79X034345@svn.freebsd.org> Date: Mon, 08 Jun 2009 09:29:38 -0700 References: <200906081554.n58Fs79X034345@svn.freebsd.org> X-Mailer: Apple Mail (2.935.3) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193728 - head/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: Mon, 08 Jun 2009 16:29:43 -0000 On Jun 8, 2009, at 8:54 AM, John Baldwin wrote: > Author: jhb > Date: Mon Jun 8 15:54:07 2009 > New Revision: 193728 > URL: http://svn.freebsd.org/changeset/base/193728 > > Log: > Change the printf format string to match the variable type to quiet > warnings. Oops.. Thanks John! -- Marcel Moolenaar xcllnt@mac.com From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 16:43:41 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AF2E1065672; Mon, 8 Jun 2009 16:43:41 +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 18E108FC27; Mon, 8 Jun 2009 16:43:41 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58GheKe035415; Mon, 8 Jun 2009 16:43:40 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Gheuv035414; Mon, 8 Jun 2009 16:43:40 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <200906081643.n58Gheuv035414@svn.freebsd.org> From: Alan Cox Date: Mon, 8 Jun 2009 16:43:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193729 - head/sys/amd64/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: Mon, 08 Jun 2009 16:43:41 -0000 Author: alc Date: Mon Jun 8 16:43:40 2009 New Revision: 193729 URL: http://svn.freebsd.org/changeset/base/193729 Log: Now that amd64's kernel map is 512GB (SVN rev 192216), there is no reason to cap its buffer map at 1GB. MFC after: 6 weeks Modified: head/sys/amd64/include/param.h Modified: head/sys/amd64/include/param.h ============================================================================== --- head/sys/amd64/include/param.h Mon Jun 8 15:54:07 2009 (r193728) +++ head/sys/amd64/include/param.h Mon Jun 8 16:43:40 2009 (r193729) @@ -137,15 +137,6 @@ #endif /* - * Ceiling on size of buffer cache (really only effects write queueing, - * the VM page cache is not effected), can be changed via - * the kern.maxbcache /boot/loader.conf variable. - */ -#ifndef VM_BCACHE_SIZE_MAX -#define VM_BCACHE_SIZE_MAX (1024 * 1024 * 1024) -#endif - -/* * Mach derived conversion macros */ #define round_page(x) ((((unsigned long)(x)) + PAGE_MASK) & ~(PAGE_MASK)) From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 17:11:47 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C27D8106566B; Mon, 8 Jun 2009 17:11:47 +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 7950D8FC16; Mon, 8 Jun 2009 17:11:47 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58HBlbM036210; Mon, 8 Jun 2009 17:11:47 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58HBlmt036209; Mon, 8 Jun 2009 17:11:47 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <200906081711.n58HBlmt036209@svn.freebsd.org> From: Jung-uk Kim Date: Mon, 8 Jun 2009 17:11: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: r193730 - head/sys/contrib/dev/acpica/include/platform X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 17:11:48 -0000 Author: jkim Date: Mon Jun 8 17:11:47 2009 New Revision: 193730 URL: http://svn.freebsd.org/changeset/base/193730 Log: Clean up FreeBSD-specific header file: - Define ACPI_USE_DO_WHILE_0 to add do while(0) around return_*() macros. - Define __cdecl only for user land. It will never be used in kernel. - Remove __cli() and __sti(). They were deprecated long ago. Modified: head/sys/contrib/dev/acpica/include/platform/acfreebsd.h Modified: head/sys/contrib/dev/acpica/include/platform/acfreebsd.h ============================================================================== --- head/sys/contrib/dev/acpica/include/platform/acfreebsd.h Mon Jun 8 16:43:40 2009 (r193729) +++ head/sys/contrib/dev/acpica/include/platform/acfreebsd.h Mon Jun 8 17:11:47 2009 (r193730) @@ -125,11 +125,10 @@ #define ACPI_UINTPTR_T uintptr_t +#define ACPI_USE_DO_WHILE_0 #define ACPI_USE_LOCAL_CACHE #define ACPI_USE_SYSTEM_CLIBRARY -#define __cdecl - #ifdef _KERNEL #include @@ -168,12 +167,10 @@ #define ACPI_THREAD_ID pthread_t -/* Not building kernel code, so use libc */ #define ACPI_USE_STANDARD_HEADERS -#define ACPI_FLUSH_CPU_CACHE() -#define __cli() -#define __sti() +#define ACPI_FLUSH_CPU_CACHE() +#define __cdecl #endif /* _KERNEL */ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 17:15:41 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E61991065670; Mon, 8 Jun 2009 17:15:41 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D1D798FC18; Mon, 8 Jun 2009 17:15:41 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58HFfgd036352; Mon, 8 Jun 2009 17:15:41 GMT (envelope-from zec@svn.freebsd.org) Received: (from zec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58HFeDZ036321; Mon, 8 Jun 2009 17:15:40 GMT (envelope-from zec@svn.freebsd.org) Message-Id: <200906081715.n58HFeDZ036321@svn.freebsd.org> From: Marko Zec Date: Mon, 8 Jun 2009 17:15: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: r193731 - in head: . sys/kern sys/net sys/netgraph sys/netinet sys/netinet6 sys/netipsec 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: Mon, 08 Jun 2009 17:15:42 -0000 Author: zec Date: Mon Jun 8 17:15:40 2009 New Revision: 193731 URL: http://svn.freebsd.org/changeset/base/193731 Log: Introduce an infrastructure for dismantling vnet instances. Vnet modules and protocol domains may now register destructor functions to clean up and release per-module state. The destructor mechanisms can be triggered by invoking "vimage -d", or a future equivalent command which will be provided via the new jail framework. While this patch introduces numerous placeholder destructor functions, many of those are currently incomplete, thus leaking memory or (even worse) failing to stop all running timers. Many of such issues are already known and will be incrementaly fixed over the next weeks in smaller incremental commits. Apart from introducing new fields in structs ifnet, domain, protosw and vnet_net, which requires the kernel and modules to be rebuilt, this change should have no impact on nooptions VIMAGE builds, since vnet destructors can only be called in VIMAGE kernels. Moreover, destructor functions should be in general compiled in only in options VIMAGE builds, except for kernel modules which can be safely kldunloaded at run time. Bump __FreeBSD_version to 800097. Reviewed by: bz, julian Approved by: rwatson, kib (re), julian (mentor) Modified: head/UPDATING head/sys/kern/kern_vimage.c head/sys/kern/uipc_domain.c head/sys/net/if.c head/sys/net/if_gif.c head/sys/net/if_loop.c head/sys/net/if_var.h head/sys/net/route.c head/sys/net/vnet.h head/sys/netgraph/ng_base.c head/sys/netinet/in_proto.c head/sys/netinet/in_rmx.c head/sys/netinet/ip_var.h head/sys/netinet/raw_ip.c head/sys/netinet/tcp_hostcache.c head/sys/netinet/tcp_subr.c head/sys/netinet/tcp_syncache.c head/sys/netinet/tcp_syncache.h head/sys/netinet/tcp_timewait.c head/sys/netinet/tcp_var.h head/sys/netinet/udp_usrreq.c head/sys/netinet/udp_var.h head/sys/netinet6/in6_proto.c head/sys/netinet6/in6_rmx.c head/sys/netinet6/ip6_input.c head/sys/netinet6/ip6_var.h head/sys/netinet6/ip6protosw.h head/sys/netinet6/nd6.c head/sys/netinet6/nd6.h head/sys/netipsec/ipsec.c head/sys/netipsec/key.c head/sys/netipsec/key.h head/sys/netipsec/keysock.c head/sys/sys/domain.h head/sys/sys/param.h head/sys/sys/protosw.h head/sys/sys/vimage.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Jun 8 17:11:47 2009 (r193730) +++ head/UPDATING Mon Jun 8 17:15:40 2009 (r193731) @@ -22,6 +22,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090608: + The layout of structs ifnet, domain, protosw and vnet_net has + changed. Kernel modules need to be rebuilt. + Bump __FreeBSD_version to 800097. + 20090602: window(1) has been removed from the base system. It can now be installed from ports. The port is called misc/window. Modified: head/sys/kern/kern_vimage.c ============================================================================== --- head/sys/kern/kern_vimage.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/kern/kern_vimage.c Mon Jun 8 17:15:40 2009 (r193731) @@ -65,8 +65,8 @@ static int vnet_mod_constructor(struct v static int vnet_mod_destructor(struct vnet_modlink *); #ifdef VIMAGE -static struct vimage *vimage_by_name(struct vimage *, char *); static struct vimage *vi_alloc(struct vimage *, char *); +static int vi_destroy(struct vimage *); static struct vimage *vimage_get_next(struct vimage *, struct vimage *, int); static void vimage_relative_name(struct vimage *, struct vimage *, char *, int); @@ -122,7 +122,7 @@ vi_if_move(struct vi_req *vi_req, struct struct vnet *new_vnet = NULL; /* Check for API / ABI version mismatch. */ - if (vi_req->vi_api_cookie != VI_API_COOKIE) + if (vi_req != NULL && vi_req->vi_api_cookie != VI_API_COOKIE) return (EDOOFUS); /* Find the target vnet. */ @@ -216,11 +216,7 @@ vi_td_ioctl(u_long cmd, struct vi_req *v case SIOCSPVIMAGE: if (vi_req->vi_req_action == VI_DESTROY) { -#ifdef NOTYET error = vi_destroy(vip_r); -#else - error = EOPNOTSUPP; -#endif break; } @@ -283,7 +279,7 @@ vi_child_of(struct vimage *parent, struc return (0); } -static struct vimage * +struct vimage * vimage_by_name(struct vimage *top, char *name) { struct vimage *vip; @@ -541,7 +537,6 @@ vnet_mod_constructor(struct vnet_modlink return (0); } - static int vnet_mod_destructor(struct vnet_modlink *vml) { @@ -663,6 +658,68 @@ vi_alloc(struct vimage *parent, char *na return (vip); } + +/* + * Destroy a vnet - unlink all linked lists, hashtables etc., free all + * the memory, stop all the timers... + */ +static int +vi_destroy(struct vimage *vip) +{ + struct vnet *vnet = vip->v_net; + struct vprocg *vprocg = vip->v_procg; + struct ifnet *ifp, *nifp; + struct vnet_modlink *vml; + + /* XXX Beware of races -> more locking to be done... */ + if (!LIST_EMPTY(&vip->vi_child_head)) + return (EBUSY); + + if (vprocg->nprocs != 0) + return (EBUSY); + + if (vnet->sockcnt != 0) + return (EBUSY); + +#ifdef INVARIANTS + if (vip->vi_ucredrefc != 0) + printf("vi_destroy: %s ucredrefc %d\n", + vip->vi_name, vip->vi_ucredrefc); +#endif + + /* Point with no return - cleanup MUST succeed! */ + LIST_REMOVE(vip, vi_le); + LIST_REMOVE(vip, vi_sibling); + LIST_REMOVE(vprocg, vprocg_le); + + VNET_LIST_WLOCK(); + LIST_REMOVE(vnet, vnet_le); + VNET_LIST_WUNLOCK(); + + CURVNET_SET_QUIET(vnet); + INIT_VNET_NET(vnet); + + /* Return all inherited interfaces to their parent vnets. */ + TAILQ_FOREACH_SAFE(ifp, &V_ifnet, if_link, nifp) { + if (ifp->if_home_vnet != ifp->if_vnet) + vi_if_move(NULL, ifp, vip); + } + + /* Detach / free per-module state instances. */ + TAILQ_FOREACH_REVERSE(vml, &vnet_modlink_head, + vnet_modlink_head, vml_mod_le) + vnet_mod_destructor(vml); + + CURVNET_RESTORE(); + + /* Hopefully, we are OK to free the vnet container itself. */ + vnet->vnet_magic_n = 0xdeadbeef; + free(vnet, M_VNET); + free(vprocg, M_VPROCG); + free(vip, M_VIMAGE); + + return (0); +} #endif /* VIMAGE */ static void Modified: head/sys/kern/uipc_domain.c ============================================================================== --- head/sys/kern/uipc_domain.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/kern/uipc_domain.c Mon Jun 8 17:15:40 2009 (r193731) @@ -66,6 +66,9 @@ SYSINIT(domainfin, SI_SUB_PROTO_IFATTACH NULL); static vnet_attach_fn net_init_domain; +#ifdef VIMAGE +static vnet_detach_fn net_detach_domain; +#endif static struct callout pffast_callout; static struct callout pfslow_callout; @@ -107,7 +110,10 @@ struct pr_usrreqs nousrreqs = { vnet_modinfo_t vnet_domain_modinfo = { .vmi_id = VNET_MOD_DOMAIN, .vmi_name = "domain", - .vmi_iattach = net_init_domain + .vmi_iattach = net_init_domain, +#ifdef VIMAGE + .vmi_idetach = net_detach_domain, +#endif }; #endif @@ -190,6 +196,26 @@ net_init_domain(const void *arg) return (0); } +#ifdef VIMAGE +/* + * Detach / free a domain instance. + */ +static int +net_detach_domain(const void *arg) +{ + const struct domain *dp = arg; + struct protosw *pr; + + for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) + if (pr->pr_destroy) + (*pr->pr_destroy)(); + if (dp->dom_destroy) + (*dp->dom_destroy)(); + + return (0); +} +#endif + /* * Add a new protocol domain to the list of supported domains * Note: you cant unload it again because a socket may be using it. Modified: head/sys/net/if.c ============================================================================== --- head/sys/net/if.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/net/if.c Mon Jun 8 17:15:40 2009 (r193731) @@ -153,6 +153,9 @@ extern void nd6_setmtu(struct ifnet *); #endif static int vnet_net_iattach(const void *); +#ifdef VIMAGE +static int vnet_net_idetach(const void *); +#endif #ifdef VIMAGE_GLOBALS struct ifnethead ifnet; /* depend on static init XXX */ @@ -189,7 +192,10 @@ static const vnet_modinfo_t vnet_net_mod .vmi_name = "net", .vmi_size = sizeof(struct vnet_net), .vmi_symmap = vnet_net_symmap, - .vmi_iattach = vnet_net_iattach + .vmi_iattach = vnet_net_iattach, +#ifdef VIMAGE + .vmi_idetach = vnet_net_idetach +#endif }; #endif /* !VIMAGE_GLOBALS */ @@ -446,6 +452,22 @@ vnet_net_iattach(const void *unused __un return (0); } +#ifdef VIMAGE +static int +vnet_net_idetach(const void *unused __unused) +{ + INIT_VNET_NET(curvnet); + + VNET_ASSERT(TAILQ_EMPTY(&V_ifnet)); + VNET_ASSERT(TAILQ_EMPTY(&V_ifg_head)); + VNET_ASSERT(SLIST_EMPTY(&V_ifklist.kl_list)); + + free((caddr_t)V_ifindex_table, M_IFNET); + + return (0); +} +#endif + void if_grow(void) { @@ -688,6 +710,8 @@ if_attach_internal(struct ifnet *ifp, in #ifdef VIMAGE ifp->if_vnet = curvnet; + if (ifp->if_home_vnet == NULL) + ifp->if_home_vnet = curvnet; #endif if_addgroup(ifp, IFG_ALL); Modified: head/sys/net/if_gif.c ============================================================================== --- head/sys/net/if_gif.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/net/if_gif.c Mon Jun 8 17:15:40 2009 (r193731) @@ -303,12 +303,10 @@ gifmodevent(mod, type, data) break; case MOD_UNLOAD: if_clone_detach(&gif_cloner); - mtx_destroy(&gif_mtx); -#ifdef INET6 -#ifndef VIMAGE - V_ip6_gif_hlim = 0; /* XXX -> vnet_gif_idetach() */ -#endif +#ifdef VIMAGE + vnet_mod_deregister(&vnet_gif_modinfo); #endif + mtx_destroy(&gif_mtx); break; default: return EOPNOTSUPP; Modified: head/sys/net/if_loop.c ============================================================================== --- head/sys/net/if_loop.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/net/if_loop.c Mon Jun 8 17:15:40 2009 (r193731) @@ -105,6 +105,9 @@ int looutput(struct ifnet *ifp, struct static int lo_clone_create(struct if_clone *, int, caddr_t); static void lo_clone_destroy(struct ifnet *); static int vnet_loif_iattach(const void *); +#ifdef VIMAGE +static int vnet_loif_idetach(const void *); +#endif #ifdef VIMAGE_GLOBALS struct ifnet *loif; /* Used externally */ @@ -119,7 +122,10 @@ static const vnet_modinfo_t vnet_loif_mo .vmi_id = VNET_MOD_LOIF, .vmi_dependson = VNET_MOD_IF_CLONE, .vmi_name = "loif", - .vmi_iattach = vnet_loif_iattach + .vmi_iattach = vnet_loif_iattach, +#ifdef VIMAGE + .vmi_idetach = vnet_loif_idetach +#endif }; #endif /* !VIMAGE_GLOBALS */ @@ -128,12 +134,11 @@ IFC_SIMPLE_DECLARE(lo, 1); static void lo_clone_destroy(struct ifnet *ifp) { -#ifdef INVARIANTS - INIT_VNET_NET(ifp->if_vnet); -#endif +#ifndef VIMAGE /* XXX: destroying lo0 will lead to panics. */ KASSERT(V_loif != ifp, ("%s: destroying lo0", __func__)); +#endif bpfdetach(ifp); if_detach(ifp); @@ -166,7 +171,8 @@ lo_clone_create(struct if_clone *ifc, in return (0); } -static int vnet_loif_iattach(const void *unused __unused) +static int +vnet_loif_iattach(const void *unused __unused) { INIT_VNET_NET(curvnet); @@ -175,7 +181,11 @@ static int vnet_loif_iattach(const void #ifdef VIMAGE V_lo_cloner = malloc(sizeof(*V_lo_cloner), M_LO_CLONER, M_WAITOK | M_ZERO); + V_lo_cloner_data = malloc(sizeof(*V_lo_cloner_data), M_LO_CLONER, + M_WAITOK | M_ZERO); bcopy(&lo_cloner, V_lo_cloner, sizeof(*V_lo_cloner)); + bcopy(lo_cloner.ifc_data, V_lo_cloner_data, sizeof(*V_lo_cloner_data)); + V_lo_cloner->ifc_data = V_lo_cloner_data; if_clone_attach(V_lo_cloner); #else if_clone_attach(&lo_cloner); @@ -183,6 +193,21 @@ static int vnet_loif_iattach(const void return (0); } +#ifdef VIMAGE +static int +vnet_loif_idetach(const void *unused __unused) +{ + INIT_VNET_NET(curvnet); + + if_clone_detach(V_lo_cloner); + free(V_lo_cloner, M_LO_CLONER); + free(V_lo_cloner_data, M_LO_CLONER); + V_loif = NULL; + + return (0); +} +#endif + static int loop_modevent(module_t mod, int type, void *data) { Modified: head/sys/net/if_var.h ============================================================================== --- head/sys/net/if_var.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/net/if_var.h Mon Jun 8 17:15:40 2009 (r193731) @@ -71,6 +71,7 @@ struct ether_header; struct carp_if; struct ifvlantrunk; struct route; +struct vnet; #endif #include /* get TAILQ macros */ @@ -169,6 +170,9 @@ struct ifnet { (struct ifnet *); int (*if_transmit) /* initiate output routine */ (struct ifnet *, struct mbuf *); + void (*if_reassign) /* reassign to vnet routine */ + (struct ifnet *, struct vnet *, char *); + struct vnet *if_home_vnet; /* where this ifnet originates from */ struct ifaddr *if_addr; /* pointer to link-level address */ void *if_llsoftc; /* link layer softc */ int if_drv_flags; /* driver-managed status flags */ Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/net/route.c Mon Jun 8 17:15:40 2009 (r193731) @@ -99,12 +99,18 @@ static int rttrash; /* routes not in ta static void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); static int vnet_route_iattach(const void *); +#ifdef VIMAGE +static int vnet_route_idetach(const void *); +#endif #ifndef VIMAGE_GLOBALS static const vnet_modinfo_t vnet_rtable_modinfo = { .vmi_id = VNET_MOD_RTABLE, .vmi_name = "rtable", - .vmi_iattach = vnet_route_iattach + .vmi_iattach = vnet_route_iattach, +#ifdef VIMAGE + .vmi_idetach = vnet_route_idetach +#endif }; #endif /* !VIMAGE_GLOBALS */ @@ -194,7 +200,8 @@ route_init(void) #endif } -static int vnet_route_iattach(const void *unused __unused) +static int +vnet_route_iattach(const void *unused __unused) { INIT_VNET_NET(curvnet); struct domain *dom; @@ -235,6 +242,36 @@ static int vnet_route_iattach(const void return (0); } +#ifdef VIMAGE +static int +vnet_route_idetach(const void *unused __unused) +{ + int table; + int fam; + struct domain *dom; + struct radix_node_head **rnh; + + for (dom = domains; dom; dom = dom->dom_next) { + if (dom->dom_rtdetach) { + for (table = 0; table < rt_numfibs; table++) { + if ( (fam = dom->dom_family) == AF_INET || + table == 0) { + /* For now only AF_INET has > 1 tbl. */ + rnh = rt_tables_get_rnh_ptr(table, fam); + if (rnh == NULL) + panic("%s: rnh NULL", __func__); + dom->dom_rtdetach((void **)rnh, + dom->dom_rtoffset); + } else { + break; + } + } + } + } + return (0); +} +#endif + #ifndef _SYS_SYSPROTO_H_ struct setfib_args { int fibnum; Modified: head/sys/net/vnet.h ============================================================================== --- head/sys/net/vnet.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/net/vnet.h Mon Jun 8 17:15:40 2009 (r193731) @@ -51,6 +51,7 @@ struct vnet_net { struct ifnet * _loif; struct if_clone * _lo_cloner; + struct ifc_simple_data *_lo_cloner_data; LIST_HEAD(, rawcb) _rawcb_list; @@ -87,6 +88,7 @@ extern struct vnet_net vnet_net_0; #define V_ifklist VNET_NET(ifklist) #define V_ifnet VNET_NET(ifnet) #define V_lo_cloner VNET_NET(lo_cloner) +#define V_lo_cloner_data VNET_NET(lo_cloner_data) #define V_loif VNET_NET(loif) #define V_rawcb_list VNET_NET(rawcb_list) #define V_rt_tables VNET_NET(rt_tables) Modified: head/sys/netgraph/ng_base.c ============================================================================== --- head/sys/netgraph/ng_base.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netgraph/ng_base.c Mon Jun 8 17:15:40 2009 (r193731) @@ -85,6 +85,9 @@ struct vnet_netgraph vnet_netgraph_0; static struct mtx ng_topo_mtx; static vnet_attach_fn vnet_netgraph_iattach; +#ifdef VIMAGE +static vnet_detach_fn vnet_netgraph_idetach; +#endif #ifdef NETGRAPH_DEBUG static struct mtx ng_nodelist_mtx; /* protects global node/hook lists */ @@ -647,6 +650,9 @@ ng_make_node_common(struct ng_type *type return (ENOMEM); } node->nd_type = type; +#ifdef VIMAGE + node->nd_vnet = curvnet; +#endif NG_NODE_REF(node); /* note reference */ type->refs++; @@ -3074,15 +3080,17 @@ ng_mod_event(module_t mod, int event, vo static const vnet_modinfo_t vnet_netgraph_modinfo = { .vmi_id = VNET_MOD_NETGRAPH, .vmi_name = "netgraph", -#ifdef VIMAGE .vmi_size = sizeof(struct vnet_netgraph), + .vmi_dependson = VNET_MOD_LOIF, + .vmi_iattach = vnet_netgraph_iattach, +#ifdef VIMAGE + .vmi_idetach = vnet_netgraph_idetach #endif - .vmi_iattach = vnet_netgraph_iattach }; #endif static int -vnet_netgraph_iattach(const void *arg __unused) +vnet_netgraph_iattach(const void *unused __unused) { INIT_VNET_NETGRAPH(curvnet); @@ -3091,6 +3099,33 @@ vnet_netgraph_iattach(const void *arg __ return (0); } +#ifdef VIMAGE +static int +vnet_netgraph_idetach(const void *unused __unused) +{ + INIT_VNET_NETGRAPH(curvnet); + node_p node, last_killed = NULL; + + while ((node = LIST_FIRST(&V_ng_nodelist)) != NULL) { + if (node == last_killed) { + /* This should never happen */ + node->nd_flags |= NGF_REALLY_DIE; + printf("netgraph node %s needs NGF_REALLY_DIE\n", + node->nd_name); + ng_rmnode(node, NULL, NULL, 0); + /* This must never happen */ + if (node == LIST_FIRST(&V_ng_nodelist)) + panic("netgraph node %s won't die", + node->nd_name); + } + ng_rmnode(node, NULL, NULL, 0); + last_killed = node; + } + + return (0); +} +#endif /* VIMAGE */ + /* * Handle loading and unloading for this code. * The only thing we need to link into is the NETISR strucure. @@ -3313,6 +3348,7 @@ ngthread(void *arg) NG_WORKLIST_SLEEP(); STAILQ_REMOVE_HEAD(&ng_worklist, nd_input_queue.q_work); NG_WORKLIST_UNLOCK(); + CURVNET_SET(node->nd_vnet); CTR3(KTR_NET, "%20s: node [%x] (%p) taken off worklist", __func__, node->nd_ID, node); /* @@ -3342,6 +3378,7 @@ ngthread(void *arg) } } NG_NODE_UNREF(node); + CURVNET_RESTORE(); } } @@ -3675,7 +3712,9 @@ ng_callout_trampoline(void *arg) { item_p item = arg; + CURVNET_SET(NGI_NODE(item)->nd_vnet); ng_snd_item(item, 0); + CURVNET_RESTORE(); } Modified: head/sys/netinet/in_proto.c ============================================================================== --- head/sys/netinet/in_proto.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/in_proto.c Mon Jun 8 17:15:40 2009 (r193731) @@ -127,6 +127,9 @@ struct protosw inetsw[] = { .pr_ctlinput = udp_ctlinput, .pr_ctloutput = ip_ctloutput, .pr_init = udp_init, +#ifdef VIMAGE + .pr_destroy = udp_destroy, +#endif .pr_usrreqs = &udp_usrreqs }, { @@ -138,6 +141,9 @@ struct protosw inetsw[] = { .pr_ctlinput = tcp_ctlinput, .pr_ctloutput = tcp_ctloutput, .pr_init = tcp_init, +#ifdef VIMAGE + .pr_destroy = tcp_destroy, +#endif .pr_slowtimo = tcp_slowtimo, .pr_drain = tcp_drain, .pr_usrreqs = &tcp_usrreqs @@ -348,11 +354,15 @@ IPPROTOSPACER, .pr_input = rip_input, .pr_ctloutput = rip_ctloutput, .pr_init = rip_init, +#ifdef VIMAGE + .pr_destroy = rip_destroy, +#endif .pr_usrreqs = &rip_usrreqs }, }; extern int in_inithead(void **, int); +extern int in_detachhead(void **, int); struct domain inetdomain = { .dom_family = AF_INET, @@ -364,6 +374,9 @@ struct domain inetdomain = { #else .dom_rtattach = in_inithead, #endif +#ifdef VIMAGE + .dom_rtdetach = in_detachhead, +#endif .dom_rtoffset = 32, .dom_maxrtkey = sizeof(struct sockaddr_in), .dom_ifattach = in_domifattach, Modified: head/sys/netinet/in_rmx.c ============================================================================== --- head/sys/netinet/in_rmx.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/in_rmx.c Mon Jun 8 17:15:40 2009 (r193731) @@ -65,6 +65,9 @@ __FBSDID("$FreeBSD$"); #include extern int in_inithead(void **head, int off); +#ifdef VIMAGE +extern int in_detachhead(void **head, int off); +#endif #define RTPRF_OURS RTF_PROTO3 /* set on routes we manage */ @@ -382,6 +385,17 @@ in_inithead(void **head, int off) return 1; } +#ifdef VIMAGE +int +in_detachhead(void **head, int off) +{ + INIT_VNET_INET(curvnet); + + callout_drain(&V_rtq_timer); + return (1); +} +#endif + /* * This zaps old routes when the interface goes down or interface * address is deleted. In the latter case, it deletes static routes Modified: head/sys/netinet/ip_var.h ============================================================================== --- head/sys/netinet/ip_var.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/ip_var.h Mon Jun 8 17:15:40 2009 (r193731) @@ -210,6 +210,9 @@ u_int16_t ip_randomid(void); int rip_ctloutput(struct socket *, struct sockopt *); void rip_ctlinput(int, struct sockaddr *, void *); void rip_init(void); +#ifdef VIMAGE +void rip_destroy(void); +#endif void rip_input(struct mbuf *, int); int rip_output(struct mbuf *, struct socket *, u_long); void ipip_input(struct mbuf *, int); Modified: head/sys/netinet/raw_ip.c ============================================================================== --- head/sys/netinet/raw_ip.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/raw_ip.c Mon Jun 8 17:15:40 2009 (r193731) @@ -205,6 +205,19 @@ rip_init(void) EVENTHANDLER_PRI_ANY); } +#ifdef VIMAGE +void +rip_destroy(void) +{ + INIT_VNET_INET(curvnet); + + hashdestroy(V_ripcbinfo.ipi_hashbase, M_PCB, + V_ripcbinfo.ipi_hashmask); + hashdestroy(V_ripcbinfo.ipi_porthashbase, M_PCB, + V_ripcbinfo.ipi_porthashmask); +} +#endif + static int rip_append(struct inpcb *last, struct ip *ip, struct mbuf *n, struct sockaddr_in *ripsrc) Modified: head/sys/netinet/tcp_hostcache.c ============================================================================== --- head/sys/netinet/tcp_hostcache.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/tcp_hostcache.c Mon Jun 8 17:15:40 2009 (r193731) @@ -230,6 +230,18 @@ tcp_hc_init(void) tcp_hc_purge, curvnet); } +#ifdef VIMAGE +void +tcp_hc_destroy(void) +{ + INIT_VNET_INET(curvnet); + + /* XXX TODO walk the hashtable and free all entries */ + + callout_drain(&V_tcp_hc_callout); +} +#endif + /* * Internal function: look up an entry in the hostcache or return NULL. * Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/tcp_subr.c Mon Jun 8 17:15:40 2009 (r193731) @@ -426,6 +426,25 @@ tcp_init(void) EVENTHANDLER_PRI_ANY); } +#ifdef VIMAGE +void +tcp_destroy(void) +{ + INIT_VNET_INET(curvnet); + + tcp_tw_destroy(); + tcp_hc_destroy(); + syncache_destroy(); + + /* XXX check that hashes are empty! */ + hashdestroy(V_tcbinfo.ipi_hashbase, M_PCB, + V_tcbinfo.ipi_hashmask); + hashdestroy(V_tcbinfo.ipi_porthashbase, M_PCB, + V_tcbinfo.ipi_porthashmask); + INP_INFO_LOCK_DESTROY(&V_tcbinfo); +} +#endif + void tcp_fini(void *xtp) { Modified: head/sys/netinet/tcp_syncache.c ============================================================================== --- head/sys/netinet/tcp_syncache.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/tcp_syncache.c Mon Jun 8 17:15:40 2009 (r193731) @@ -275,6 +275,19 @@ syncache_init(void) uma_zone_set_max(V_tcp_syncache.zone, V_tcp_syncache.cache_limit); } +#ifdef VIMAGE +void +syncache_destroy(void) +{ + INIT_VNET_INET(curvnet); + + /* XXX walk the cache, free remaining objects, stop timers */ + + uma_zdestroy(V_tcp_syncache.zone); + FREE(V_tcp_syncache.hashbase, M_SYNCACHE); +} +#endif + /* * Inserts a syncache entry into the specified bucket row. * Locks and unlocks the syncache_head autonomously. Modified: head/sys/netinet/tcp_syncache.h ============================================================================== --- head/sys/netinet/tcp_syncache.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/tcp_syncache.h Mon Jun 8 17:15:40 2009 (r193731) @@ -35,6 +35,9 @@ #ifdef _KERNEL void syncache_init(void); +#ifdef VIMAGE +void syncache_destroy(void); +#endif void syncache_unreach(struct in_conninfo *, struct tcphdr *); int syncache_expand(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct socket **, struct mbuf *); Modified: head/sys/netinet/tcp_timewait.c ============================================================================== --- head/sys/netinet/tcp_timewait.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/tcp_timewait.c Mon Jun 8 17:15:40 2009 (r193731) @@ -179,6 +179,20 @@ tcp_tw_init(void) TAILQ_INIT(&V_twq_2msl); } +#ifdef VIMAGE +void +tcp_tw_destroy(void) +{ + INIT_VNET_INET(curvnet); + struct tcptw *tw; + + INP_INFO_WLOCK(&V_tcbinfo); + while((tw = TAILQ_FIRST(&V_twq_2msl)) != NULL) + tcp_twclose(tw, 0); + INP_INFO_WUNLOCK(&V_tcbinfo); +} +#endif + /* * Move a TCP connection into TIME_WAIT state. * tcbinfo is locked. Modified: head/sys/netinet/tcp_var.h ============================================================================== --- head/sys/netinet/tcp_var.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/tcp_var.h Mon Jun 8 17:15:40 2009 (r193731) @@ -584,6 +584,9 @@ struct tcpcb * void tcp_drain(void); void tcp_fasttimo(void); void tcp_init(void); +#ifdef VIMAGE +void tcp_destroy(void); +#endif void tcp_fini(void *); char *tcp_log_addrs(struct in_conninfo *, struct tcphdr *, void *, const void *); @@ -605,6 +608,9 @@ int tcp_output(struct tcpcb *); void tcp_respond(struct tcpcb *, void *, struct tcphdr *, struct mbuf *, tcp_seq, tcp_seq, int); void tcp_tw_init(void); +#ifdef VIMAGE +void tcp_tw_destroy(void); +#endif void tcp_tw_zone_change(void); int tcp_twcheck(struct inpcb *, struct tcpopt *, struct tcphdr *, struct mbuf *, int); @@ -625,6 +631,9 @@ void tcp_xmit_bandwidth_limit(struct tc * All tcp_hc_* functions are IPv4 and IPv6 (via in_conninfo) */ void tcp_hc_init(void); +#ifdef VIMAGE +void tcp_hc_destroy(void); +#endif void tcp_hc_get(struct in_conninfo *, struct hc_metrics_lite *); u_long tcp_hc_getmtu(struct in_conninfo *); void tcp_hc_updatemtu(struct in_conninfo *, u_long); Modified: head/sys/netinet/udp_usrreq.c ============================================================================== --- head/sys/netinet/udp_usrreq.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/udp_usrreq.c Mon Jun 8 17:15:40 2009 (r193731) @@ -221,6 +221,20 @@ udp_discardcb(struct udpcb *up) uma_zfree(V_udpcb_zone, up); } +#ifdef VIMAGE +void +udp_destroy(void) +{ + INIT_VNET_INET(curvnet); + + hashdestroy(V_udbinfo.ipi_hashbase, M_PCB, + V_udbinfo.ipi_hashmask); + hashdestroy(V_udbinfo.ipi_porthashbase, M_PCB, + V_udbinfo.ipi_porthashmask); + INP_INFO_LOCK_DESTROY(&V_udbinfo); +} +#endif + /* * Subroutine of udp_input(), which appends the provided mbuf chain to the * passed pcb/socket. The caller must provide a sockaddr_in via udp_in that Modified: head/sys/netinet/udp_var.h ============================================================================== --- head/sys/netinet/udp_var.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet/udp_var.h Mon Jun 8 17:15:40 2009 (r193731) @@ -128,6 +128,9 @@ void udp_discardcb(struct udpcb *); void udp_ctlinput(int, struct sockaddr *, void *); void udp_init(void); +#ifdef VIMAGE +void udp_destroy(void); +#endif void udp_input(struct mbuf *, int); struct inpcb *udp_notify(struct inpcb *inp, int errno); int udp_shutdown(struct socket *so); Modified: head/sys/netinet6/in6_proto.c ============================================================================== --- head/sys/netinet6/in6_proto.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/in6_proto.c Mon Jun 8 17:15:40 2009 (r193731) @@ -148,6 +148,9 @@ struct ip6protosw inet6sw[] = { .pr_domain = &inet6domain, .pr_protocol = IPPROTO_IPV6, .pr_init = ip6_init, +#ifdef VIMAGE + .pr_destroy = ip6_destroy, +#endif .pr_slowtimo = frag6_slowtimo, .pr_drain = frag6_drain, .pr_usrreqs = &nousrreqs, @@ -349,6 +352,9 @@ struct ip6protosw inet6sw[] = { }; extern int in6_inithead(void **, int); +#ifdef VIMAGE +extern int in6_detachhead(void **, int); +#endif struct domain inet6domain = { .dom_family = AF_INET6, @@ -361,6 +367,9 @@ struct domain inet6domain = { #else .dom_rtattach = in6_inithead, #endif +#ifdef VIMAGE + .dom_rtdetach = in6_detachhead, +#endif .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, .dom_maxrtkey = sizeof(struct sockaddr_in6), .dom_ifattach = in6_domifattach, Modified: head/sys/netinet6/in6_rmx.c ============================================================================== --- head/sys/netinet6/in6_rmx.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/in6_rmx.c Mon Jun 8 17:15:40 2009 (r193731) @@ -112,6 +112,9 @@ __FBSDID("$FreeBSD$"); #include extern int in6_inithead(void **head, int off); +#ifdef VIMAGE +extern int in6_detachhead(void **head, int off); +#endif #define RTPRF_OURS RTF_PROTO3 /* set on routes we manage */ @@ -464,3 +467,15 @@ in6_inithead(void **head, int off) in6_mtutimo(curvnet); /* kick off timeout first time */ return 1; } + +#ifdef VIMAGE +int +in6_detachhead(void **head, int off) +{ + INIT_VNET_INET6(curvnet); + + callout_drain(&V_rtq_timer6); + callout_drain(&V_rtq_mtutimer); + return (1); +} +#endif Modified: head/sys/netinet6/ip6_input.c ============================================================================== --- head/sys/netinet6/ip6_input.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/ip6_input.c Mon Jun 8 17:15:40 2009 (r193731) @@ -303,6 +303,17 @@ ip6_init(void) netisr_register(&ip6_nh); } +#ifdef VIMAGE +void +ip6_destroy() +{ + INIT_VNET_INET6(curvnet); + + nd6_destroy(); + callout_drain(&V_in6_tmpaddrtimer_ch); +} +#endif + static int ip6_init2_vnet(const void *unused __unused) { Modified: head/sys/netinet6/ip6_var.h ============================================================================== --- head/sys/netinet6/ip6_var.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/ip6_var.h Mon Jun 8 17:15:40 2009 (r193731) @@ -339,6 +339,9 @@ int icmp6_ctloutput __P((struct socket * struct in6_ifaddr; void ip6_init __P((void)); +#ifdef VIMAGE +void ip6_destroy __P((void)); +#endif void ip6_input __P((struct mbuf *)); struct in6_ifaddr *ip6_getdstifaddr __P((struct mbuf *)); void ip6_freepcbopts __P((struct ip6_pktopts *)); Modified: head/sys/netinet6/ip6protosw.h ============================================================================== --- head/sys/netinet6/ip6protosw.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/ip6protosw.h Mon Jun 8 17:15:40 2009 (r193731) @@ -129,6 +129,8 @@ struct ip6protosw { /* utility hooks */ void (*pr_init) /* initialization hook */ __P((void)); + void (*pr_destroy) /* cleanup hook */ + __P((void)); void (*pr_fasttimo) /* fast timeout (200ms) */ __P((void)); Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/nd6.c Mon Jun 8 17:15:40 2009 (r193731) @@ -134,14 +134,8 @@ void nd6_init(void) { INIT_VNET_INET6(curvnet); - static int nd6_init_done = 0; int i; - if (nd6_init_done) { - log(LOG_NOTICE, "nd6_init called more than once(ignored)\n"); - return; - } - V_nd6_prune = 1; /* walk list every 1 seconds */ V_nd6_delay = 5; /* delay first probe time 5 second */ V_nd6_umaxtries = 3; /* maximum unicast query */ @@ -180,6 +174,8 @@ nd6_init(void) V_ip6_temp_valid_lifetime = DEF_TEMP_VALID_LIFETIME; V_ip6_temp_regen_advance = TEMPADDR_REGEN_ADVANCE; + V_ip6_desync_factor = 0; + all1_sa.sin6_family = AF_INET6; all1_sa.sin6_len = sizeof(struct sockaddr_in6); for (i = 0; i < sizeof(all1_sa.sin6_addr); i++) @@ -191,10 +187,19 @@ nd6_init(void) callout_init(&V_nd6_slowtimo_ch, 0); callout_reset(&V_nd6_slowtimo_ch, ND6_SLOWTIMER_INTERVAL * hz, nd6_slowtimo, curvnet); +} - nd6_init_done = 1; +#ifdef VIMAGE +void +nd6_destroy() +{ + INIT_VNET_INET6(curvnet); + + callout_drain(&V_nd6_slowtimo_ch); + callout_drain(&V_nd6_timer_ch); } +#endif struct nd_ifinfo * nd6_ifattach(struct ifnet *ifp) Modified: head/sys/netinet6/nd6.h ============================================================================== --- head/sys/netinet6/nd6.h Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netinet6/nd6.h Mon Jun 8 17:15:40 2009 (r193731) @@ -371,6 +371,9 @@ union nd_opts { /* XXX: need nd6_var.h?? */ /* nd6.c */ void nd6_init __P((void)); +#ifdef VIMAGE +void nd6_destroy __P((void)); +#endif struct nd_ifinfo *nd6_ifattach __P((struct ifnet *)); void nd6_ifdetach __P((struct nd_ifinfo *)); int nd6_is_addr_neighbor __P((struct sockaddr_in6 *, struct ifnet *)); Modified: head/sys/netipsec/ipsec.c ============================================================================== --- head/sys/netipsec/ipsec.c Mon Jun 8 17:11:47 2009 (r193730) +++ head/sys/netipsec/ipsec.c Mon Jun 8 17:15:40 2009 (r193731) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 17:27:26 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C8E8106566C; Mon, 8 Jun 2009 17:27:26 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 400798FC14; Mon, 8 Jun 2009 17:27:26 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58HRQX7036650; Mon, 8 Jun 2009 17:27:26 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58HRP3U036646; Mon, 8 Jun 2009 17:27:25 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081727.n58HRP3U036646@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 17:27: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: r193732 - in head/sys: amd64/amd64 i386/i386 i386/xen 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: Mon, 08 Jun 2009 17:27:26 -0000 Author: ed Date: Mon Jun 8 17:27:25 2009 New Revision: 193732 URL: http://svn.freebsd.org/changeset/base/193732 Log: Remove __gnu89_inline. Now that we use C99 almost everywhere, just use C99-style in the pmap code. Since the pmap code is the only consumer of __gnu89_inline, remove it from cdefs.h as well. Because the flag was only introduced 17 months ago, I don't expect any problems. Reviewed by: alc Modified: head/sys/amd64/amd64/pmap.c head/sys/i386/i386/pmap.c head/sys/i386/xen/pmap.c head/sys/sys/cdefs.h Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Mon Jun 8 17:15:40 2009 (r193731) +++ head/sys/amd64/amd64/pmap.c Mon Jun 8 17:27:25 2009 (r193732) @@ -153,7 +153,7 @@ __FBSDID("$FreeBSD$"); #endif #if !defined(DIAGNOSTIC) -#define PMAP_INLINE __gnu89_inline +#define PMAP_INLINE extern inline #else #define PMAP_INLINE #endif Modified: head/sys/i386/i386/pmap.c ============================================================================== --- head/sys/i386/i386/pmap.c Mon Jun 8 17:15:40 2009 (r193731) +++ head/sys/i386/i386/pmap.c Mon Jun 8 17:27:25 2009 (r193732) @@ -161,7 +161,7 @@ __FBSDID("$FreeBSD$"); #endif #if !defined(DIAGNOSTIC) -#define PMAP_INLINE __gnu89_inline +#define PMAP_INLINE extern inline #else #define PMAP_INLINE #endif Modified: head/sys/i386/xen/pmap.c ============================================================================== --- head/sys/i386/xen/pmap.c Mon Jun 8 17:15:40 2009 (r193731) +++ head/sys/i386/xen/pmap.c Mon Jun 8 17:27:25 2009 (r193732) @@ -172,7 +172,7 @@ __FBSDID("$FreeBSD$"); #endif #if !defined(PMAP_DIAGNOSTIC) -#define PMAP_INLINE __gnu89_inline +#define PMAP_INLINE extern inline #else #define PMAP_INLINE #endif Modified: head/sys/sys/cdefs.h ============================================================================== --- head/sys/sys/cdefs.h Mon Jun 8 17:15:40 2009 (r193731) +++ head/sys/sys/cdefs.h Mon Jun 8 17:27:25 2009 (r193732) @@ -234,12 +234,6 @@ #define __always_inline #endif -#if __GNUC_PREREQ__(4, 2) /* actually 4.1.3 */ -#define __gnu89_inline __attribute__((__gnu_inline__)) __inline -#else -#define __gnu89_inline -#endif - #if __GNUC_PREREQ__(3, 1) #define __noinline __attribute__ ((__noinline__)) #else From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 18:09:51 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8394E10656E3; Mon, 8 Jun 2009 18:09:51 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57C648FC3E; Mon, 8 Jun 2009 18:09:51 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58I9pvT037734; Mon, 8 Jun 2009 18:09:51 GMT (envelope-from thompsa@svn.freebsd.org) Received: (from thompsa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58I9pMe037732; Mon, 8 Jun 2009 18:09:51 GMT (envelope-from thompsa@svn.freebsd.org) Message-Id: <200906081809.n58I9pMe037732@svn.freebsd.org> From: Andrew Thompson Date: Mon, 8 Jun 2009 18:09: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: r193733 - head/sys/dev/usb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 18:09:53 -0000 Author: thompsa Date: Mon Jun 8 18:09:51 2009 New Revision: 193733 URL: http://svn.freebsd.org/changeset/base/193733 Log: Change driver_info to a ulong as it always stores a number and remove the only diff of the usb_device_id struct to Linux. Reviewed by: HPS Modified: head/sys/dev/usb/usb_core.h head/sys/dev/usb/usb_lookup.h Modified: head/sys/dev/usb/usb_core.h ============================================================================== --- head/sys/dev/usb/usb_core.h Mon Jun 8 17:27:25 2009 (r193732) +++ head/sys/dev/usb/usb_core.h Mon Jun 8 18:09:51 2009 (r193733) @@ -485,7 +485,8 @@ struct usb_lookup_info { struct usb_attach_arg { struct usb_lookup_info info; device_t temp_dev; /* for internal use */ - const void *driver_info; /* for internal use */ + unsigned long driver_info; /* for internal use */ + void *driver_ivar; struct usb_device *device; /* current device */ struct usb_interface *iface; /* current interface */ enum usb_hc_mode usb_mode; /* host or device mode */ Modified: head/sys/dev/usb/usb_lookup.h ============================================================================== --- head/sys/dev/usb/usb_lookup.h Mon Jun 8 17:27:25 2009 (r193732) +++ head/sys/dev/usb/usb_lookup.h Mon Jun 8 18:09:51 2009 (r193733) @@ -37,7 +37,7 @@ struct usb_attach_arg; struct usb_device_id { /* Hook for driver specific information */ - const void *driver_info; + unsigned long driver_info; /* Used for product specific matches; the BCD range is inclusive */ uint16_t idVendor; @@ -107,11 +107,11 @@ struct usb_device_id { #define USB_IF_CSI(class,subclass,info) \ USB_IFACE_CLASS(class), USB_IFACE_SUBCLASS(subclass), USB_DRIVER_INFO(info) -#define USB_DRIVER_INFO(ptr) \ - .driver_info = ((const void *)(ptr)) +#define USB_DRIVER_INFO(n) \ + .driver_info = (n) #define USB_GET_DRIVER_INFO(did) \ - (((const uint8_t *)((did)->driver_info)) - ((const uint8_t *)0)) + (did)->driver_info const struct usb_device_id *usb2_lookup_id_by_info( const struct usb_device_id *id, usb_size_t sizeof_id, From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 18:16:02 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8BFC1065673; Mon, 8 Jun 2009 18:16:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 8AC708FC15; Mon, 8 Jun 2009 18:16:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id BD35446B06; Mon, 8 Jun 2009 14:16:01 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id C85AE8A049; Mon, 8 Jun 2009 14:16:00 -0400 (EDT) From: John Baldwin To: Marcel Moolenaar Date: Mon, 8 Jun 2009 12:58:52 -0400 User-Agent: KMail/1.9.7 References: <200906081554.n58Fs79X034345@svn.freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906081258.52863.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Mon, 08 Jun 2009 14:16:00 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193728 - head/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: Mon, 08 Jun 2009 18:16:03 -0000 On Monday 08 June 2009 12:29:38 pm Marcel Moolenaar wrote: > > On Jun 8, 2009, at 8:54 AM, John Baldwin wrote: > > > Author: jhb > > Date: Mon Jun 8 15:54:07 2009 > > New Revision: 193728 > > URL: http://svn.freebsd.org/changeset/base/193728 > > > > Log: > > Change the printf format string to match the variable type to quiet > > warnings. > > Oops.. > > Thanks John! No problem. It actually compiled ok on my desktop (which runs 7) since 7 has NO_WERROR= set in /usr/share/mk/bsd.sys.mk since there was no -Werror to force a failure. It might be nice to have the NO_WERROR= thing take out of 7 if possible. I know that I would likely be burned by it myself as I tend to test 8 kernels on boxes that otherwise run 7 a lot. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 18:23:43 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B874F106566B; Mon, 8 Jun 2009 18:23:43 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B9538FC13; Mon, 8 Jun 2009 18:23:43 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58INh0O038129; Mon, 8 Jun 2009 18:23:43 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58INhX8038125; Mon, 8 Jun 2009 18:23:43 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081823.n58INhX8038125@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 18:23:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193734 - in head: lib/libusb sys/amd64/amd64 sys/i386/i386 sys/i386/xen 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: Mon, 08 Jun 2009 18:23:44 -0000 Author: ed Date: Mon Jun 8 18:23:43 2009 New Revision: 193734 URL: http://svn.freebsd.org/changeset/base/193734 Log: Revert my change; reintroduce __gnu89_inline. It turns out our compiler in stable/7 can't build this code anymore. Even though my opinion is that those people should just run `make kernel-toolchain' before building a kernel, I am willing to wait and commit this after we've branched stable/8. Requested by: rwatson Modified: head/lib/libusb/libusb.3 (props changed) head/sys/amd64/amd64/pmap.c head/sys/i386/i386/pmap.c head/sys/i386/xen/pmap.c head/sys/sys/cdefs.h Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Mon Jun 8 18:09:51 2009 (r193733) +++ head/sys/amd64/amd64/pmap.c Mon Jun 8 18:23:43 2009 (r193734) @@ -153,7 +153,7 @@ __FBSDID("$FreeBSD$"); #endif #if !defined(DIAGNOSTIC) -#define PMAP_INLINE extern inline +#define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE #endif Modified: head/sys/i386/i386/pmap.c ============================================================================== --- head/sys/i386/i386/pmap.c Mon Jun 8 18:09:51 2009 (r193733) +++ head/sys/i386/i386/pmap.c Mon Jun 8 18:23:43 2009 (r193734) @@ -161,7 +161,7 @@ __FBSDID("$FreeBSD$"); #endif #if !defined(DIAGNOSTIC) -#define PMAP_INLINE extern inline +#define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE #endif Modified: head/sys/i386/xen/pmap.c ============================================================================== --- head/sys/i386/xen/pmap.c Mon Jun 8 18:09:51 2009 (r193733) +++ head/sys/i386/xen/pmap.c Mon Jun 8 18:23:43 2009 (r193734) @@ -172,7 +172,7 @@ __FBSDID("$FreeBSD$"); #endif #if !defined(PMAP_DIAGNOSTIC) -#define PMAP_INLINE extern inline +#define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE #endif Modified: head/sys/sys/cdefs.h ============================================================================== --- head/sys/sys/cdefs.h Mon Jun 8 18:09:51 2009 (r193733) +++ head/sys/sys/cdefs.h Mon Jun 8 18:23:43 2009 (r193734) @@ -234,6 +234,12 @@ #define __always_inline #endif +#if __GNUC_PREREQ__(4, 2) /* actually 4.1.3 */ +#define __gnu89_inline __attribute__((__gnu_inline__)) __inline +#else +#define __gnu89_inline +#endif + #if __GNUC_PREREQ__(3, 1) #define __noinline __attribute__ ((__noinline__)) #else From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 18:41:24 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03329106564A; Mon, 8 Jun 2009 18:41:24 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E528F8FC12; Mon, 8 Jun 2009 18:41:23 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58IfNpX038599; Mon, 8 Jun 2009 18:41:23 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58IfNtb038598; Mon, 8 Jun 2009 18:41:23 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200906081841.n58IfNtb038598@svn.freebsd.org> From: Rick Macklem Date: Mon, 8 Jun 2009 18:41: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: r193735 - head/sys/fs/nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 18:41:24 -0000 Author: rmacklem Date: Mon Jun 8 18:41:23 2009 New Revision: 193735 URL: http://svn.freebsd.org/changeset/base/193735 Log: Fix nfscl_getcl() so that it doesn't crash when it is called to do an NFSv4 Close operation with the cred argument NULL. Also, clarify what NULL arguments mean in the function's comment. Approved by: kib (mentor) Modified: head/sys/fs/nfsclient/nfs_clstate.c Modified: head/sys/fs/nfsclient/nfs_clstate.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clstate.c Mon Jun 8 18:23:43 2009 (r193734) +++ head/sys/fs/nfsclient/nfs_clstate.c Mon Jun 8 18:41:23 2009 (r193735) @@ -663,8 +663,9 @@ nfscl_openrelease(struct nfsclopen *op, * client data structures to do the SetClientId/SetClientId_confirm, * but will release that lock and return the clientid with a refernce * count on it. - * If the p argument is NULL, it will not do the SetClientId/Confirm - * and the cred argument is not used, so it can be NULL too. + * If the "cred" argument is NULL, a new clientid should not be created. + * If the "p" argument is NULL, a SetClientID/SetClientIDConfirm cannot + * be done. * It always clpp with a reference count on it, unless returning an error. */ APPLESTATIC int @@ -672,28 +673,35 @@ nfscl_getcl(vnode_t vp, struct ucred *cr struct nfsclclient **clpp) { struct nfsclclient *clp; - struct nfsclclient *newclp; + struct nfsclclient *newclp = NULL; struct nfscllockowner *lp, *nlp; struct nfsmount *nmp = VFSTONFS(vnode_mount(vp)); struct prison *pr; char uuid[HOSTUUIDLEN]; int igotlock = 0, error, trystalecnt, clidinusedelay, i; - u_int16_t idlen; + u_int16_t idlen = 0; - pr = cred->cr_prison; - mtx_lock(&pr->pr_mtx); - strlcpy(uuid, pr->pr_uuid, sizeof uuid); - mtx_unlock(&pr->pr_mtx); - idlen = strlen(uuid); - if (idlen > 0) - idlen += sizeof (u_int64_t); - else - idlen += sizeof (u_int64_t) + 16; /* 16 random bytes */ - MALLOC(newclp, struct nfsclclient *, sizeof (struct nfsclclient) + - idlen - 1, M_NFSCLCLIENT, M_WAITOK); + if (cred != NULL) { + pr = cred->cr_prison; + mtx_lock(&pr->pr_mtx); + strlcpy(uuid, pr->pr_uuid, sizeof uuid); + mtx_unlock(&pr->pr_mtx); + idlen = strlen(uuid); + if (idlen > 0) + idlen += sizeof (u_int64_t); + else + idlen += sizeof (u_int64_t) + 16; /* 16 random bytes */ + MALLOC(newclp, struct nfsclclient *, + sizeof (struct nfsclclient) + idlen - 1, M_NFSCLCLIENT, + M_WAITOK); + } NFSLOCKCLSTATE(); clp = nmp->nm_clp; if (clp == NULL) { + if (newclp == NULL) { + NFSUNLOCKCLSTATE(); + return (EACCES); + } clp = newclp; NFSBZERO((caddr_t)clp, sizeof(struct nfsclclient) + idlen - 1); clp->nfsc_idlen = idlen; @@ -714,7 +722,8 @@ nfscl_getcl(vnode_t vp, struct ucred *cr nfscl_start_renewthread(clp); } else { NFSUNLOCKCLSTATE(); - FREE((caddr_t)newclp, M_NFSCLCLIENT); + if (newclp != NULL) + FREE((caddr_t)newclp, M_NFSCLCLIENT); } NFSLOCKCLSTATE(); while ((clp->nfsc_flags & NFSCLFLAGS_HASCLIENTID) == 0 && !igotlock) @@ -730,7 +739,7 @@ nfscl_getcl(vnode_t vp, struct ucred *cr if ((clp->nfsc_flags & NFSCLFLAGS_HASCLIENTID) == 0) { if (!igotlock) panic("nfscl_clget"); - if (p == NULL) { + if (p == NULL || cred == NULL) { NFSLOCKCLSTATE(); nfsv4_unlock(&clp->nfsc_lock, 0); NFSUNLOCKCLSTATE(); @@ -762,8 +771,8 @@ nfscl_getcl(vnode_t vp, struct ucred *cr clidinusedelay = 120; trystalecnt = 3; do { - error = nfsrpc_setclient(VFSTONFS(vnode_mount(vp)), clp, - cred, p); + error = nfsrpc_setclient(VFSTONFS(vnode_mount(vp)), + clp, cred, p); if (error == NFSERR_STALECLIENTID || error == NFSERR_STALEDONTRECOVER || error == NFSERR_CLIDINUSE) { From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 18:58:33 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 458A11065678; Mon, 8 Jun 2009 18:58:33 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 19FE88FC35; Mon, 8 Jun 2009 18:58:33 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58IwWZ9039030; Mon, 8 Jun 2009 18:58:32 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58IwWTT039029; Mon, 8 Jun 2009 18:58:32 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081858.n58IwWTT039029@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 18:58:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193736 - in vendor/llvm: llvm-r73070 llvm-r73070. X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 18:58:33 -0000 Author: ed Date: Mon Jun 8 18:58:32 2009 New Revision: 193736 URL: http://svn.freebsd.org/changeset/base/193736 Log: Remove trailing dot, which I've probably added by accident. Added: vendor/llvm/llvm-r73070/ - copied from r193735, vendor/llvm/llvm-r73070./ Deleted: vendor/llvm/llvm-r73070./ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 18:58:54 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3ADB1065676; Mon, 8 Jun 2009 18:58:54 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 783FB8FC13; Mon, 8 Jun 2009 18:58:54 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58IwsN3039074; Mon, 8 Jun 2009 18:58:54 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Iwsf1039073; Mon, 8 Jun 2009 18:58:54 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906081858.n58Iwsf1039073@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 18:58:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193737 - in vendor/clang: clang-r73070 clang-r73070. X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 18:58:55 -0000 Author: ed Date: Mon Jun 8 18:58:54 2009 New Revision: 193737 URL: http://svn.freebsd.org/changeset/base/193737 Log: Remove trailing dot, which I've probably added by accident. Added: vendor/clang/clang-r73070/ - copied from r193736, vendor/clang/clang-r73070./ Deleted: vendor/clang/clang-r73070./ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:22:12 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64E1C1065692; Mon, 8 Jun 2009 19:22:12 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 52CF78FC15; Mon, 8 Jun 2009 19:22:12 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JMCiC039639; Mon, 8 Jun 2009 19:22:12 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JMCSB039638; Mon, 8 Jun 2009 19:22:12 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906081922.n58JMCSB039638@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 19:22:12 +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: r193738 - stable/7/usr.bin/rpcgen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:22:13 -0000 Author: des Date: Mon Jun 8 19:22:12 2009 New Revision: 193738 URL: http://svn.freebsd.org/changeset/base/193738 Log: merge r173761: generate code that respects C99's strict aliasing rules. Modified: stable/7/usr.bin/rpcgen/ (props changed) stable/7/usr.bin/rpcgen/rpc_cout.c Modified: stable/7/usr.bin/rpcgen/rpc_cout.c ============================================================================== --- stable/7/usr.bin/rpcgen/rpc_cout.c Mon Jun 8 18:58:54 2009 (r193737) +++ stable/7/usr.bin/rpcgen/rpc_cout.c Mon Jun 8 19:22:12 2009 (r193738) @@ -200,11 +200,13 @@ print_ifsizeof(int indent, const char *p } static void -print_ifclose(int indent) +print_ifclose(int indent, int brace) { f_print(fout, "))\n"); tabify(fout, indent); f_print(fout, "\treturn (FALSE);\n"); + if (brace) + f_print(fout, "\t}\n"); } static void @@ -212,12 +214,16 @@ print_ifstat(int indent, const char *pre const char *amax, const char *objname, const char *name) { const char *alt = NULL; + int brace = 0; switch (rel) { case REL_POINTER: + brace = 1; + f_print(fout, "\t{\n"); + f_print(fout, "\t%s **pp = %s;\n", type, objname); print_ifopen(indent, "pointer"); print_ifarg("(char **)"); - f_print(fout, "%s", objname); + f_print(fout, "pp"); print_ifsizeof(0, prefix, type); break; case REL_VECTOR: @@ -274,7 +280,7 @@ print_ifstat(int indent, const char *pre print_ifarg(objname); break; } - print_ifclose(indent); + print_ifclose(indent, brace); } /* ARGSUSED */ @@ -283,7 +289,7 @@ emit_enum(definition *def __unused) { print_ifopen(1, "enum"); print_ifarg("(enum_t *)objp"); - print_ifclose(1); + print_ifclose(1, 0); } static void From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:24:37 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDCB21065690; Mon, 8 Jun 2009 19:24:37 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CC6838FC1E; Mon, 8 Jun 2009 19:24:37 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JObJ0039760; Mon, 8 Jun 2009 19:24:37 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JObsf039759; Mon, 8 Jun 2009 19:24:37 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906081924.n58JObsf039759@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 19:24:37 +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: r193739 - stable/7/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: Mon, 08 Jun 2009 19:24:39 -0000 Author: des Date: Mon Jun 8 19:24:37 2009 New Revision: 193739 URL: http://svn.freebsd.org/changeset/base/193739 Log: merge r173762: use a forward declaration to avoid an aliasing warning Modified: stable/7/include/ (props changed) stable/7/include/dirent.h Modified: stable/7/include/dirent.h ============================================================================== --- stable/7/include/dirent.h Mon Jun 8 19:22:12 2009 (r193738) +++ stable/7/include/dirent.h Mon Jun 8 19:24:37 2009 (r193739) @@ -60,6 +60,7 @@ #define DIRBLKSIZ 1024 struct _telldir; /* see telldir.h */ +struct pthread_mutex; /* structure describing an open directory. */ typedef struct _dirdesc { @@ -71,7 +72,7 @@ typedef struct _dirdesc { long dd_seek; /* magic cookie returned by getdirentries */ long dd_rewind; /* magic cookie for rewinding */ int dd_flags; /* flags for readdir */ - void *dd_lock; /* hack to avoid including */ + struct pthread_mutex *dd_lock; /* lock */ struct _telldir *dd_td; /* telldir position recording */ } DIR; From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:40:49 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D561106566C; Mon, 8 Jun 2009 19:40:49 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1160A8FC13; Mon, 8 Jun 2009 19:40:49 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JemWY040561; Mon, 8 Jun 2009 19:40:48 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JemMt040560; Mon, 8 Jun 2009 19:40:48 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906081940.n58JemMt040560@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 19: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: r193740 - stable/7/lib/libc/string X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:40:49 -0000 Author: des Date: Mon Jun 8 19:40:48 2009 New Revision: 193740 URL: http://svn.freebsd.org/changeset/base/193740 Log: Remove bogus mergeinfo Modified: stable/7/lib/libc/string/ffsll.c (props changed) stable/7/lib/libc/string/flsll.c (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:52:12 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1B2A106566C; Mon, 8 Jun 2009 19:52:12 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CF79C8FC0A; Mon, 8 Jun 2009 19:52:12 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JqCNT040924; Mon, 8 Jun 2009 19:52:12 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JqCLi040920; Mon, 8 Jun 2009 19:52:12 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906081952.n58JqCLi040920@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 19:52:12 +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: r193741 - in stable/7/lib/libc: . gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:52:13 -0000 Author: des Date: Mon Jun 8 19:52:12 2009 New Revision: 193741 URL: http://svn.freebsd.org/changeset/base/193741 Log: merge r174221: remove unnecessary casts Modified: stable/7/lib/libc/ (props changed) stable/7/lib/libc/gen/closedir.c stable/7/lib/libc/gen/readdir.c stable/7/lib/libc/gen/seekdir.c stable/7/lib/libc/gen/telldir.c Modified: stable/7/lib/libc/gen/closedir.c ============================================================================== --- stable/7/lib/libc/gen/closedir.c Mon Jun 8 19:40:48 2009 (r193740) +++ stable/7/lib/libc/gen/closedir.c Mon Jun 8 19:52:12 2009 (r193741) @@ -54,7 +54,7 @@ closedir(dirp) int fd; if (__isthreaded) - _pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_lock(&dirp->dd_lock); _seekdir(dirp, dirp->dd_rewind); /* free seekdir storage */ fd = dirp->dd_fd; dirp->dd_fd = -1; @@ -62,8 +62,8 @@ closedir(dirp) free((void *)dirp->dd_buf); _reclaim_telldir(dirp); if (__isthreaded) { - _pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock); - _pthread_mutex_destroy((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_unlock(&dirp->dd_lock); + _pthread_mutex_destroy(&dirp->dd_lock); } free((void *)dirp); return(_close(fd)); Modified: stable/7/lib/libc/gen/readdir.c ============================================================================== --- stable/7/lib/libc/gen/readdir.c Mon Jun 8 19:40:48 2009 (r193740) +++ stable/7/lib/libc/gen/readdir.c Mon Jun 8 19:52:12 2009 (r193741) @@ -88,9 +88,9 @@ readdir(dirp) struct dirent *dp; if (__isthreaded) { - _pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_lock(&dirp->dd_lock); dp = _readdir_unlocked(dirp, 1); - _pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_unlock(&dirp->dd_lock); } else dp = _readdir_unlocked(dirp, 1); @@ -109,10 +109,10 @@ readdir_r(dirp, entry, result) saved_errno = errno; errno = 0; if (__isthreaded) { - _pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_lock(&dirp->dd_lock); if ((dp = _readdir_unlocked(dirp, 1)) != NULL) memcpy(entry, dp, _GENERIC_DIRSIZ(dp)); - _pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_unlock(&dirp->dd_lock); } else if ((dp = _readdir_unlocked(dirp, 1)) != NULL) memcpy(entry, dp, _GENERIC_DIRSIZ(dp)); Modified: stable/7/lib/libc/gen/seekdir.c ============================================================================== --- stable/7/lib/libc/gen/seekdir.c Mon Jun 8 19:40:48 2009 (r193740) +++ stable/7/lib/libc/gen/seekdir.c Mon Jun 8 19:52:12 2009 (r193741) @@ -52,8 +52,8 @@ seekdir(dirp, loc) long loc; { if (__isthreaded) - _pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_lock(&dirp->dd_lock); _seekdir(dirp, loc); if (__isthreaded) - _pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_unlock(&dirp->dd_lock); } Modified: stable/7/lib/libc/gen/telldir.c ============================================================================== --- stable/7/lib/libc/gen/telldir.c Mon Jun 8 19:40:48 2009 (r193740) +++ stable/7/lib/libc/gen/telldir.c Mon Jun 8 19:52:12 2009 (r193741) @@ -64,13 +64,13 @@ telldir(dirp) if ((lp = (struct ddloc *)malloc(sizeof(struct ddloc))) == NULL) return (-1); if (__isthreaded) - _pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_lock(&dirp->dd_lock); lp->loc_index = dirp->dd_td->td_loccnt++; lp->loc_seek = dirp->dd_seek; lp->loc_loc = dirp->dd_loc; LIST_INSERT_HEAD(&dirp->dd_td->td_locq, lp, loc_lqe); if (__isthreaded) - _pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock); + _pthread_mutex_unlock(&dirp->dd_lock); return (lp->loc_index); } From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:56:23 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AAF6C10656B5; Mon, 8 Jun 2009 19:56:23 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 99B6A8FC08; Mon, 8 Jun 2009 19:56:23 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JuNVZ041114; Mon, 8 Jun 2009 19:56:23 GMT (envelope-from thompsa@svn.freebsd.org) Received: (from thompsa@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JuNd2041113; Mon, 8 Jun 2009 19:56:23 GMT (envelope-from thompsa@svn.freebsd.org) Message-Id: <200906081956.n58JuNd2041113@svn.freebsd.org> From: Andrew Thompson Date: Mon, 8 Jun 2009 19:56: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: r193742 - head/sys/dev/if_ndis X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:56:24 -0000 Author: thompsa Date: Mon Jun 8 19:56:23 2009 New Revision: 193742 URL: http://svn.freebsd.org/changeset/base/193742 Log: Commit missed driver_info to driver_ivar change in usb_attach_args. Pointed out by: kib Modified: head/sys/dev/if_ndis/if_ndis_usb.c Modified: head/sys/dev/if_ndis/if_ndis_usb.c ============================================================================== --- head/sys/dev/if_ndis/if_ndis_usb.c Mon Jun 8 19:52:12 2009 (r193741) +++ head/sys/dev/if_ndis/if_ndis_usb.c Mon Jun 8 19:56:23 2009 (r193742) @@ -149,7 +149,7 @@ ndisusb_match(device_t self) db = windrv_match((matchfuncptr)ndisusb_devcompare, self); if (db == NULL) return (ENXIO); - uaa->driver_info = db; + uaa->driver_ivar = db; return (0); } @@ -165,7 +165,7 @@ ndisusb_attach(device_t self) driver_object *drv; int devidx = 0; - db = uaa->driver_info; + db = uaa->driver_ivar; sc = (struct ndis_softc *)dummy; sc->ndis_dev = self; mtx_init(&sc->ndisusb_mtx, "NDIS USB", MTX_NETWORK_LOCK, MTX_DEF); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:56:50 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FD311065688; Mon, 8 Jun 2009 19:56:50 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 63EC88FC1F; Mon, 8 Jun 2009 19:56:50 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JuojM041156; Mon, 8 Jun 2009 19:56:50 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Juo4O041155; Mon, 8 Jun 2009 19:56:50 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906081956.n58Juo4O041155@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 19:56:50 +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: r193743 - stable/7/lib/libc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:56:52 -0000 Author: des Date: Mon Jun 8 19:56:50 2009 New Revision: 193743 URL: http://svn.freebsd.org/changeset/base/193743 Log: Record a rev that was merged in the previous commit. Modified: stable/7/lib/libc/ (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:57:39 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5890B10656FC; Mon, 8 Jun 2009 19:57: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 438608FC27; Mon, 8 Jun 2009 19:57:39 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JvdHa041285; Mon, 8 Jun 2009 19:57:39 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JvaVj041219; Mon, 8 Jun 2009 19:57:36 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200906081957.n58JvaVj041219@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Mon, 8 Jun 2009 19:57:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193744 - in head/sys: compat/linprocfs compat/linux compat/svr4 contrib/altq/altq contrib/pf/net dev/cxgb/ulp/iw_cxgb kern modules/bridgestp modules/cxgb/iw_cxgb modules/if_ef modules/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:57:40 -0000 Author: bz Date: Mon Jun 8 19:57:35 2009 New Revision: 193744 URL: http://svn.freebsd.org/changeset/base/193744 Log: After r193232 rt_tables in vnet.h are no longer indirectly dependent on the ROUTETABLES kernel option thus there is no need to include opt_route.h anymore in all consumers of vnet.h and no longer depend on it for module builds. Remove the hidden include in flowtable.h as well and leave the two explicit #includes in ip_input.c and ip_output.c. Modified: head/sys/compat/linprocfs/linprocfs.c head/sys/compat/linux/linux_ioctl.c head/sys/compat/svr4/svr4_sockio.c head/sys/contrib/altq/altq/altq_subr.c head/sys/contrib/pf/net/pf_if.c head/sys/contrib/pf/net/pf_ioctl.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c head/sys/kern/kern_poll.c head/sys/kern/kern_uuid.c head/sys/modules/bridgestp/Makefile head/sys/modules/cxgb/iw_cxgb/Makefile head/sys/modules/if_ef/Makefile head/sys/modules/if_vlan/Makefile head/sys/modules/ip_mroute_mod/Makefile head/sys/modules/ipfw/Makefile head/sys/modules/linprocfs/Makefile head/sys/modules/linux/Makefile head/sys/modules/netgraph/atm/atm/Makefile head/sys/modules/netgraph/ether/Makefile head/sys/modules/netgraph/gif/Makefile head/sys/modules/nfsclient/Makefile head/sys/modules/pf/Makefile head/sys/modules/svr4/Makefile head/sys/modules/wlan/Makefile head/sys/net/bridgestp.c head/sys/net/flowtable.h head/sys/net/if.c head/sys/net/if_ef.c head/sys/net/if_ethersubr.c head/sys/net/if_loop.c head/sys/net/if_mib.c head/sys/net/if_vlan.c head/sys/net/raw_cb.c head/sys/net/raw_usrreq.c head/sys/net/rtsock.c head/sys/net80211/ieee80211_ddb.c head/sys/netgraph/atm/ng_atm.c head/sys/netgraph/ng_ether.c head/sys/netgraph/ng_gif.c head/sys/netinet/if_ether.c head/sys/netinet/igmp.c head/sys/netinet/in.c head/sys/netinet/in_mcast.c head/sys/netinet/in_proto.c head/sys/netinet/in_rmx.c head/sys/netinet/ipfw/ip_fw2.c head/sys/netinet/raw_ip.c head/sys/netinet/sctp_os_bsd.h head/sys/netinet6/icmp6.c head/sys/netinet6/in6.c head/sys/netinet6/in6_ifattach.c head/sys/netinet6/in6_mcast.c head/sys/netinet6/in6_proto.c head/sys/netinet6/in6_rmx.c head/sys/netinet6/ip6_input.c head/sys/netinet6/ip6_mroute.c head/sys/netinet6/ip6_output.c head/sys/netinet6/nd6.c head/sys/netinet6/nd6_rtr.c head/sys/netinet6/raw_ip6.c head/sys/netinet6/scope6.c head/sys/netipsec/keysock.c head/sys/netipsec/xform_ipip.c head/sys/nfsclient/bootp_subr.c head/sys/nfsclient/nfs_diskless.c Modified: head/sys/compat/linprocfs/linprocfs.c ============================================================================== --- head/sys/compat/linprocfs/linprocfs.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/compat/linprocfs/linprocfs.c Mon Jun 8 19:57:35 2009 (r193744) @@ -39,7 +39,6 @@ * @(#)procfs_status.c 8.4 (Berkeley) 6/15/94 */ -#include "opt_route.h" #include "opt_compat.h" #include Modified: head/sys/compat/linux/linux_ioctl.c ============================================================================== --- head/sys/compat/linux/linux_ioctl.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/compat/linux/linux_ioctl.c Mon Jun 8 19:57:35 2009 (r193744) @@ -26,7 +26,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "opt_route.h" #include "opt_compat.h" #include Modified: head/sys/compat/svr4/svr4_sockio.c ============================================================================== --- head/sys/compat/svr4/svr4_sockio.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/compat/svr4/svr4_sockio.c Mon Jun 8 19:57:35 2009 (r193744) @@ -29,8 +29,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/contrib/altq/altq/altq_subr.c ============================================================================== --- head/sys/contrib/altq/altq/altq_subr.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/contrib/altq/altq/altq_subr.c Mon Jun 8 19:57:35 2009 (r193744) @@ -32,7 +32,6 @@ #include "opt_inet.h" #ifdef __FreeBSD__ #include "opt_inet6.h" -#include "opt_route.h" #endif #endif /* __FreeBSD__ || __NetBSD__ */ Modified: head/sys/contrib/pf/net/pf_if.c ============================================================================== --- head/sys/contrib/pf/net/pf_if.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/contrib/pf/net/pf_if.c Mon Jun 8 19:57:35 2009 (r193744) @@ -35,7 +35,6 @@ #if defined(__FreeBSD__) #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include __FBSDID("$FreeBSD$"); Modified: head/sys/contrib/pf/net/pf_ioctl.c ============================================================================== --- head/sys/contrib/pf/net/pf_ioctl.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/contrib/pf/net/pf_ioctl.c Mon Jun 8 19:57:35 2009 (r193744) @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include "opt_bpf.h" #include "opt_pf.h" Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c Mon Jun 8 19:57:35 2009 (r193744) @@ -29,8 +29,6 @@ POSSIBILITY OF SUCH DAMAGE. #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/kern/kern_poll.c ============================================================================== --- head/sys/kern/kern_poll.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/kern/kern_poll.c Mon Jun 8 19:57:35 2009 (r193744) @@ -28,7 +28,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" #include "opt_device_polling.h" #include Modified: head/sys/kern/kern_uuid.c ============================================================================== --- head/sys/kern/kern_uuid.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/kern/kern_uuid.c Mon Jun 8 19:57:35 2009 (r193744) @@ -27,8 +27,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/modules/bridgestp/Makefile ============================================================================== --- head/sys/modules/bridgestp/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/bridgestp/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -3,6 +3,6 @@ .PATH: ${.CURDIR}/../../net KMOD= bridgestp -SRCS= bridgestp.c opt_route.h +SRCS= bridgestp.c .include Modified: head/sys/modules/cxgb/iw_cxgb/Makefile ============================================================================== --- head/sys/modules/cxgb/iw_cxgb/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/cxgb/iw_cxgb/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -8,7 +8,7 @@ SRCS= iw_cxgb.c iw_cxgb_cm.c iw_cxgb_h SRCS+= iw_cxgb_provider.c iw_cxgb_qp.c iw_cxgb_resource.c SRCS+= iw_cxgb_ev.c iw_cxgb_mem.c iw_cxgb_dbg.c iw_cxgb_cq.c SRCS+= bus_if.h device_if.h opt_sched.h pci_if.h pcib_if.h opt_ktr.h -SRCS+= opt_inet.h opt_route.h +SRCS+= opt_inet.h CFLAGS+= -g -I${CXGB} #CFLAGS+= -DDEBUG Modified: head/sys/modules/if_ef/Makefile ============================================================================== --- head/sys/modules/if_ef/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/if_ef/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -3,7 +3,7 @@ .PATH: ${.CURDIR}/../../net KMOD= if_ef -SRCS= if_ef.c opt_ipx.h opt_inet.h opt_ef.h opt_route.h +SRCS= if_ef.c opt_ipx.h opt_inet.h opt_ef.h .if defined(EFDEBUG) CFLAGS+= -DEF_DEBUG Modified: head/sys/modules/if_vlan/Makefile ============================================================================== --- head/sys/modules/if_vlan/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/if_vlan/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -4,6 +4,6 @@ KMOD= if_vlan SRCS= if_vlan.c -SRCS+= opt_inet.h opt_vlan.h opt_route.h +SRCS+= opt_inet.h opt_vlan.h .include Modified: head/sys/modules/ip_mroute_mod/Makefile ============================================================================== --- head/sys/modules/ip_mroute_mod/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/ip_mroute_mod/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -7,7 +7,7 @@ KMOD= ip_mroute SRCS= ip_mroute.c -SRCS+= opt_inet.h opt_mrouting.h opt_route.h +SRCS+= opt_inet.h opt_mrouting.h .if !defined(KERNBUILDDIR) opt_inet.h: Modified: head/sys/modules/ipfw/Makefile ============================================================================== --- head/sys/modules/ipfw/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/ipfw/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -6,7 +6,7 @@ KMOD= ipfw SRCS= ip_fw2.c ip_fw_pfil.c -SRCS+= opt_inet6.h opt_ipsec.h opt_route.h +SRCS+= opt_inet6.h opt_ipsec.h CFLAGS+= -DIPFIREWALL CFLAGS+= -I${.CURDIR}/../../contrib/pf Modified: head/sys/modules/linprocfs/Makefile ============================================================================== --- head/sys/modules/linprocfs/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/linprocfs/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -6,8 +6,7 @@ KMOD= linprocfs SRCS= vnode_if.h \ device_if.h bus_if.h \ linprocfs.c \ - opt_compat.h \ - opt_route.h + opt_compat.h .if ${MACHINE_ARCH} == "amd64" CFLAGS+=-DCOMPAT_LINUX32 Modified: head/sys/modules/linux/Makefile ============================================================================== --- head/sys/modules/linux/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/linux/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -13,7 +13,7 @@ SRCS= linux${SFX}_dummy.c linux_emul.c l 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 \ linux${SFX}_sysvec.c linux_uid16.c linux_util.c linux_time.c \ - opt_inet6.h opt_route.h opt_compat.h opt_posix.h vnode_if.h \ + opt_inet6.h opt_compat.h opt_posix.h vnode_if.h \ device_if.h bus_if.h assym.s # XXX: for assym.s Modified: head/sys/modules/netgraph/atm/atm/Makefile ============================================================================== --- head/sys/modules/netgraph/atm/atm/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/netgraph/atm/atm/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -5,7 +5,7 @@ .PATH: ${.CURDIR}/../../../../netgraph/atm KMOD= ng_atm -SRCS= ng_atm.c opt_route.h +SRCS= ng_atm.c # CFLAGS+= -DNGATM_DEBUG .include Modified: head/sys/modules/netgraph/ether/Makefile ============================================================================== --- head/sys/modules/netgraph/ether/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/netgraph/ether/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -1,6 +1,6 @@ # $FreeBSD$ KMOD= ng_ether -SRCS= ng_ether.c opt_route.h +SRCS= ng_ether.c .include Modified: head/sys/modules/netgraph/gif/Makefile ============================================================================== --- head/sys/modules/netgraph/gif/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/netgraph/gif/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -1,7 +1,7 @@ # $FreeBSD$ KMOD= ng_gif -SRCS= ng_gif.c opt_inet.h opt_inet6.h opt_route.h +SRCS= ng_gif.c opt_inet.h opt_inet6.h .if !defined(KERNBUILDDIR) opt_inet.h: Modified: head/sys/modules/nfsclient/Makefile ============================================================================== --- head/sys/modules/nfsclient/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/nfsclient/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -7,7 +7,7 @@ SRCS= vnode_if.h \ nfs_bio.c nfs_lock.c nfs_node.c nfs_socket.c nfs_subs.c nfs_nfsiod.c \ nfs_vfsops.c nfs_vnops.c nfs_common.c nfs_krpc.c \ opt_inet.h opt_nfs.h opt_bootp.h opt_nfsroot.h -SRCS+= opt_inet6.h opt_kdtrace.h opt_kgssapi.h opt_route.h +SRCS+= opt_inet6.h opt_kdtrace.h opt_kgssapi.h .if !defined(KERNBUILDDIR) NFS_INET?= 1 # 0/1 - requires INET to be configured in kernel Modified: head/sys/modules/pf/Makefile ============================================================================== --- head/sys/modules/pf/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/pf/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -9,7 +9,7 @@ KMOD= pf SRCS = pf.c pf_if.c pf_subr.c pf_osfp.c pf_ioctl.c pf_norm.c pf_table.c \ pf_ruleset.c \ in4_cksum.c \ - opt_pf.h opt_inet.h opt_inet6.h opt_bpf.h opt_route.h + opt_pf.h opt_inet.h opt_inet6.h opt_bpf.h CFLAGS+= -I${.CURDIR}/../../contrib/pf Modified: head/sys/modules/svr4/Makefile ============================================================================== --- head/sys/modules/svr4/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/svr4/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -9,7 +9,7 @@ SRCS= svr4_sysent.c svr4_sysvec.c opt_co svr4_machdep.c svr4_resource.c svr4_ipc.c OBJS= svr4_locore.o -SRCS+= opt_ktrace.h opt_sysvipc.h opt_route.h +SRCS+= opt_ktrace.h opt_sysvipc.h CLEANFILES= svr4_assym.h svr4_genassym.o Modified: head/sys/modules/wlan/Makefile ============================================================================== --- head/sys/modules/wlan/Makefile Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/modules/wlan/Makefile Mon Jun 8 19:57:35 2009 (r193744) @@ -10,8 +10,7 @@ SRCS= ieee80211.c ieee80211_crypto.c iee ieee80211_radiotap.c ieee80211_regdomain.c ieee80211_ht.c \ ieee80211_adhoc.c ieee80211_hostap.c ieee80211_monitor.c \ ieee80211_sta.c ieee80211_wds.c ieee80211_ddb.c -SRCS+= bus_if.h device_if.h opt_inet.h opt_ipx.h opt_wlan.h opt_ddb.h \ - opt_route.h +SRCS+= bus_if.h device_if.h opt_inet.h opt_ipx.h opt_wlan.h opt_ddb.h .if !defined(KERNBUILDDIR) opt_wlan.h: Modified: head/sys/net/bridgestp.c ============================================================================== --- head/sys/net/bridgestp.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/bridgestp.c Mon Jun 8 19:57:35 2009 (r193744) @@ -37,8 +37,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/net/flowtable.h ============================================================================== --- head/sys/net/flowtable.h Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/flowtable.h Mon Jun 8 19:57:35 2009 (r193744) @@ -33,8 +33,6 @@ $FreeBSD$ #define _NET_FLOWTABLE_H_ #ifdef _KERNEL -#include "opt_route.h" - #include #include Modified: head/sys/net/if.c ============================================================================== --- head/sys/net/if.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/if.c Mon Jun 8 19:57:35 2009 (r193744) @@ -33,7 +33,6 @@ #include "opt_compat.h" #include "opt_inet6.h" #include "opt_inet.h" -#include "opt_route.h" #include "opt_carp.h" #include Modified: head/sys/net/if_ef.c ============================================================================== --- head/sys/net/if_ef.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/if_ef.c Mon Jun 8 19:57:35 2009 (r193744) @@ -29,7 +29,6 @@ #include "opt_inet.h" #include "opt_ipx.h" #include "opt_ef.h" -#include "opt_route.h" #include #include Modified: head/sys/net/if_ethersubr.c ============================================================================== --- head/sys/net/if_ethersubr.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/if_ethersubr.c Mon Jun 8 19:57:35 2009 (r193744) @@ -34,7 +34,6 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipx.h" -#include "opt_route.h" #include "opt_netgraph.h" #include "opt_carp.h" #include "opt_mbuf_profiling.h" Modified: head/sys/net/if_loop.c ============================================================================== --- head/sys/net/if_loop.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/if_loop.c Mon Jun 8 19:57:35 2009 (r193744) @@ -38,7 +38,6 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipx.h" -#include "opt_route.h" #include #include Modified: head/sys/net/if_mib.c ============================================================================== --- head/sys/net/if_mib.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/if_mib.c Mon Jun 8 19:57:35 2009 (r193744) @@ -29,8 +29,6 @@ * $FreeBSD$ */ -#include "opt_route.h" - #include #include #include Modified: head/sys/net/if_vlan.c ============================================================================== --- head/sys/net/if_vlan.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/if_vlan.c Mon Jun 8 19:57:35 2009 (r193744) @@ -41,7 +41,6 @@ * and ask it to send them. */ -#include "opt_route.h" #include "opt_vlan.h" #include Modified: head/sys/net/raw_cb.c ============================================================================== --- head/sys/net/raw_cb.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/raw_cb.c Mon Jun 8 19:57:35 2009 (r193744) @@ -31,8 +31,6 @@ * $FreeBSD$ */ -#include "opt_route.h" - #include #include #include Modified: head/sys/net/raw_usrreq.c ============================================================================== --- head/sys/net/raw_usrreq.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/raw_usrreq.c Mon Jun 8 19:57:35 2009 (r193744) @@ -31,8 +31,6 @@ * $FreeBSD$ */ -#include "opt_route.h" - #include #include #include Modified: head/sys/net/rtsock.c ============================================================================== --- head/sys/net/rtsock.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net/rtsock.c Mon Jun 8 19:57:35 2009 (r193744) @@ -31,7 +31,6 @@ */ #include "opt_sctp.h" #include "opt_mpath.h" -#include "opt_route.h" #include "opt_inet.h" #include "opt_inet6.h" Modified: head/sys/net80211/ieee80211_ddb.c ============================================================================== --- head/sys/net80211/ieee80211_ddb.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/net80211/ieee80211_ddb.c Mon Jun 8 19:57:35 2009 (r193744) @@ -27,7 +27,6 @@ __FBSDID("$FreeBSD$"); #include "opt_ddb.h" -#include "opt_route.h" #include "opt_wlan.h" #ifdef DDB Modified: head/sys/netgraph/atm/ng_atm.c ============================================================================== --- head/sys/netgraph/atm/ng_atm.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netgraph/atm/ng_atm.c Mon Jun 8 19:57:35 2009 (r193744) @@ -34,8 +34,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netgraph/ng_ether.c ============================================================================== --- head/sys/netgraph/ng_ether.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netgraph/ng_ether.c Mon Jun 8 19:57:35 2009 (r193744) @@ -46,8 +46,6 @@ * ng_ether(4) netgraph node type */ -#include "opt_route.h" - #include #include #include Modified: head/sys/netgraph/ng_gif.c ============================================================================== --- head/sys/netgraph/ng_gif.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netgraph/ng_gif.c Mon Jun 8 19:57:35 2009 (r193744) @@ -68,8 +68,6 @@ /* * ng_gif(4) netgraph node type */ -#include "opt_route.h" - #include #include #include Modified: head/sys/netinet/if_ether.c ============================================================================== --- head/sys/netinet/if_ether.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/if_ether.c Mon Jun 8 19:57:35 2009 (r193744) @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" -#include "opt_route.h" #include "opt_carp.h" #include Modified: head/sys/netinet/igmp.c ============================================================================== --- head/sys/netinet/igmp.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/igmp.c Mon Jun 8 19:57:35 2009 (r193744) @@ -50,8 +50,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netinet/in.c ============================================================================== --- head/sys/netinet/in.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/in.c Mon Jun 8 19:57:35 2009 (r193744) @@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$"); #include "opt_carp.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet/in_mcast.c ============================================================================== --- head/sys/netinet/in_mcast.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/in_mcast.c Mon Jun 8 19:57:35 2009 (r193744) @@ -35,8 +35,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netinet/in_proto.c ============================================================================== --- head/sys/netinet/in_proto.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/in_proto.c Mon Jun 8 19:57:35 2009 (r193744) @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include "opt_mrouting.h" #include "opt_ipsec.h" #include "opt_inet6.h" -#include "opt_route.h" #include "opt_pf.h" #include "opt_carp.h" #include "opt_sctp.h" Modified: head/sys/netinet/in_rmx.c ============================================================================== --- head/sys/netinet/in_rmx.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/in_rmx.c Mon Jun 8 19:57:35 2009 (r193744) @@ -43,8 +43,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netinet/ipfw/ip_fw2.c ============================================================================== --- head/sys/netinet/ipfw/ip_fw2.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/ipfw/ip_fw2.c Mon Jun 8 19:57:35 2009 (r193744) @@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$"); #endif #include "opt_inet6.h" #include "opt_ipsec.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet/raw_ip.c ============================================================================== --- head/sys/netinet/raw_ip.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/raw_ip.c Mon Jun 8 19:57:35 2009 (r193744) @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet6.h" #include "opt_ipsec.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet/sctp_os_bsd.h ============================================================================== --- head/sys/netinet/sctp_os_bsd.h Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet/sctp_os_bsd.h Mon Jun 8 19:57:35 2009 (r193744) @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" #include "opt_inet6.h" #include "opt_inet.h" -#include "opt_route.h" #include "opt_sctp.h" #include Modified: head/sys/netinet6/icmp6.c ============================================================================== --- head/sys/netinet6/icmp6.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/icmp6.c Mon Jun 8 19:57:35 2009 (r193744) @@ -66,7 +66,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/in6.c ============================================================================== --- head/sys/netinet6/in6.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/in6.c Mon Jun 8 19:57:35 2009 (r193744) @@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/in6_ifattach.c ============================================================================== --- head/sys/netinet6/in6_ifattach.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/in6_ifattach.c Mon Jun 8 19:57:35 2009 (r193744) @@ -32,8 +32,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netinet6/in6_mcast.c ============================================================================== --- head/sys/netinet6/in6_mcast.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/in6_mcast.c Mon Jun 8 19:57:35 2009 (r193744) @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet6.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/in6_proto.c ============================================================================== --- head/sys/netinet6/in6_proto.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/in6_proto.c Mon Jun 8 19:57:35 2009 (r193744) @@ -67,7 +67,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet6.h" #include "opt_ipsec.h" #include "opt_ipstealth.h" -#include "opt_route.h" #include "opt_carp.h" #include "opt_sctp.h" #include "opt_mpath.h" Modified: head/sys/netinet6/in6_rmx.c ============================================================================== --- head/sys/netinet6/in6_rmx.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/in6_rmx.c Mon Jun 8 19:57:35 2009 (r193744) @@ -75,8 +75,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netinet6/ip6_input.c ============================================================================== --- head/sys/netinet6/ip6_input.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/ip6_input.c Mon Jun 8 19:57:35 2009 (r193744) @@ -66,7 +66,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/ip6_mroute.c ============================================================================== --- head/sys/netinet6/ip6_mroute.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/ip6_mroute.c Mon Jun 8 19:57:35 2009 (r193744) @@ -83,7 +83,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/ip6_output.c Mon Jun 8 19:57:35 2009 (r193744) @@ -66,7 +66,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/nd6.c Mon Jun 8 19:57:35 2009 (r193744) @@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/nd6_rtr.c ============================================================================== --- head/sys/netinet6/nd6_rtr.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/nd6_rtr.c Mon Jun 8 19:57:35 2009 (r193744) @@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/raw_ip6.c ============================================================================== --- head/sys/netinet6/raw_ip6.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/raw_ip6.c Mon Jun 8 19:57:35 2009 (r193744) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #include "opt_ipsec.h" #include "opt_inet6.h" -#include "opt_route.h" #include #include Modified: head/sys/netinet6/scope6.c ============================================================================== --- head/sys/netinet6/scope6.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netinet6/scope6.c Mon Jun 8 19:57:35 2009 (r193744) @@ -32,8 +32,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" - #include #include #include Modified: head/sys/netipsec/keysock.c ============================================================================== --- head/sys/netipsec/keysock.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netipsec/keysock.c Mon Jun 8 19:57:35 2009 (r193744) @@ -31,7 +31,6 @@ */ #include "opt_ipsec.h" -#include "opt_route.h" /* This code has derived from sys/net/rtsock.c on FreeBSD2.2.5 */ Modified: head/sys/netipsec/xform_ipip.c ============================================================================== --- head/sys/netipsec/xform_ipip.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/netipsec/xform_ipip.c Mon Jun 8 19:57:35 2009 (r193744) @@ -41,7 +41,6 @@ */ #include "opt_inet.h" #include "opt_inet6.h" -#include "opt_route.h" #include "opt_enc.h" #include Modified: head/sys/nfsclient/bootp_subr.c ============================================================================== --- head/sys/nfsclient/bootp_subr.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/nfsclient/bootp_subr.c Mon Jun 8 19:57:35 2009 (r193744) @@ -43,7 +43,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" #include "opt_bootp.h" #include Modified: head/sys/nfsclient/nfs_diskless.c ============================================================================== --- head/sys/nfsclient/nfs_diskless.c Mon Jun 8 19:56:50 2009 (r193743) +++ head/sys/nfsclient/nfs_diskless.c Mon Jun 8 19:57:35 2009 (r193744) @@ -35,7 +35,6 @@ #include __FBSDID("$FreeBSD$"); -#include "opt_route.h" #include "opt_bootp.h" #include From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 19:59:27 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F17D1065675; Mon, 8 Jun 2009 19:59:27 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B7678FC1E; Mon, 8 Jun 2009 19:59:27 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58JxRD9041398; Mon, 8 Jun 2009 19:59:27 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58JxRaF041391; Mon, 8 Jun 2009 19:59:27 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906081959.n58JxRaF041391@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 19:59:27 +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: r193745 - in stable/7/lib/libc: . rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 19:59:28 -0000 Author: des Date: Mon Jun 8 19:59:26 2009 New Revision: 193745 URL: http://svn.freebsd.org/changeset/base/193745 Log: merge r173763: fix aliasing bug Modified: stable/7/lib/libc/ (props changed) stable/7/lib/libc/rpc/authdes_prot.c stable/7/lib/libc/rpc/authunix_prot.c stable/7/lib/libc/rpc/key_prot_xdr.c stable/7/lib/libc/rpc/rpc_callmsg.c stable/7/lib/libc/rpc/rpc_prot.c stable/7/lib/libc/rpc/rpcb_prot.c stable/7/lib/libc/rpc/rpcb_st_xdr.c Modified: stable/7/lib/libc/rpc/authdes_prot.c ============================================================================== --- stable/7/lib/libc/rpc/authdes_prot.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/authdes_prot.c Mon Jun 8 19:59:26 2009 (r193745) @@ -54,10 +54,11 @@ xdr_authdes_cred(xdrs, cred) XDR *xdrs; struct authdes_cred *cred; { + enum authdes_namekind *padc_namekind = &cred->adc_namekind; /* * Unrolled xdr */ - ATTEMPT(xdr_enum(xdrs, (enum_t *)&cred->adc_namekind)); + ATTEMPT(xdr_enum(xdrs, (enum_t *) padc_namekind)); switch (cred->adc_namekind) { case ADN_FULLNAME: ATTEMPT(xdr_string(xdrs, &cred->adc_fullname.name, Modified: stable/7/lib/libc/rpc/authunix_prot.c ============================================================================== --- stable/7/lib/libc/rpc/authunix_prot.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/authunix_prot.c Mon Jun 8 19:59:26 2009 (r193745) @@ -60,15 +60,18 @@ xdr_authunix_parms(xdrs, p) XDR *xdrs; struct authunix_parms *p; { + int **paup_gids; assert(xdrs != NULL); assert(p != NULL); + paup_gids = &p->aup_gids; + if (xdr_u_long(xdrs, &(p->aup_time)) && xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME) && xdr_int(xdrs, &(p->aup_uid)) && xdr_int(xdrs, &(p->aup_gid)) - && xdr_array(xdrs, (caddr_t *)&(p->aup_gids), + && xdr_array(xdrs, (char **) paup_gids, &(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int) ) { return (TRUE); } Modified: stable/7/lib/libc/rpc/key_prot_xdr.c ============================================================================== --- stable/7/lib/libc/rpc/key_prot_xdr.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/key_prot_xdr.c Mon Jun 8 19:59:26 2009 (r193745) @@ -117,12 +117,14 @@ xdr_cryptkeyres(register XDR *xdrs, cryp bool_t xdr_unixcred(register XDR *xdrs, unixcred *objp) { + u_int **pgids_val; if (!xdr_u_int(xdrs, &objp->uid)) return (FALSE); if (!xdr_u_int(xdrs, &objp->gid)) return (FALSE); - if (!xdr_array(xdrs, (char **)&objp->gids.gids_val, (u_int *) &objp->gids.gids_len, MAXGIDS, + pgids_val = &objp->gids.gids_val; + if (!xdr_array(xdrs, (char **) pgids_val, (u_int *) &objp->gids.gids_len, MAXGIDS, sizeof (u_int), (xdrproc_t) xdr_u_int)) return (FALSE); return (TRUE); Modified: stable/7/lib/libc/rpc/rpc_callmsg.c ============================================================================== --- stable/7/lib/libc/rpc/rpc_callmsg.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/rpc_callmsg.c Mon Jun 8 19:59:26 2009 (r193745) @@ -59,6 +59,7 @@ xdr_callmsg(xdrs, cmsg) XDR *xdrs; struct rpc_msg *cmsg; { + enum msg_type *prm_direction; int32_t *buf; struct opaque_auth *oa; @@ -190,9 +191,10 @@ xdr_callmsg(xdrs, cmsg) return (TRUE); } } + prm_direction = &cmsg->rm_direction; if ( xdr_u_int32_t(xdrs, &(cmsg->rm_xid)) && - xdr_enum(xdrs, (enum_t *)&(cmsg->rm_direction)) && + xdr_enum(xdrs, (enum_t *) prm_direction) && (cmsg->rm_direction == CALL) && xdr_u_int32_t(xdrs, &(cmsg->rm_call.cb_rpcvers)) && (cmsg->rm_call.cb_rpcvers == RPC_MSG_VERSION) && Modified: stable/7/lib/libc/rpc/rpc_prot.c ============================================================================== --- stable/7/lib/libc/rpc/rpc_prot.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/rpc_prot.c Mon Jun 8 19:59:26 2009 (r193745) @@ -108,14 +108,17 @@ xdr_accepted_reply(xdrs, ar) XDR *xdrs; struct accepted_reply *ar; { + enum accept_stat *par_stat; assert(xdrs != NULL); assert(ar != NULL); + par_stat = &ar->ar_stat; + /* personalized union, rather than calling xdr_union */ if (! xdr_opaque_auth(xdrs, &(ar->ar_verf))) return (FALSE); - if (! xdr_enum(xdrs, (enum_t *)&(ar->ar_stat))) + if (! xdr_enum(xdrs, (enum_t *) par_stat)) return (FALSE); switch (ar->ar_stat) { @@ -144,12 +147,16 @@ xdr_rejected_reply(xdrs, rr) XDR *xdrs; struct rejected_reply *rr; { + enum reject_stat *prj_stat; + enum auth_stat *prj_why; assert(xdrs != NULL); assert(rr != NULL); + prj_stat = &rr->rj_stat; + /* personalized union, rather than calling xdr_union */ - if (! xdr_enum(xdrs, (enum_t *)&(rr->rj_stat))) + if (! xdr_enum(xdrs, (enum_t *) prj_stat)) return (FALSE); switch (rr->rj_stat) { @@ -159,7 +166,8 @@ xdr_rejected_reply(xdrs, rr) return (xdr_u_int32_t(xdrs, &(rr->rj_vers.high))); case AUTH_ERROR: - return (xdr_enum(xdrs, (enum_t *)&(rr->rj_why))); + prj_why = &rr->rj_why; + return (xdr_enum(xdrs, (enum_t *) prj_why)); } /* NOTREACHED */ assert(0); @@ -179,14 +187,20 @@ xdr_replymsg(xdrs, rmsg) XDR *xdrs; struct rpc_msg *rmsg; { + enum msg_type *prm_direction; + enum reply_stat *prp_stat; + assert(xdrs != NULL); assert(rmsg != NULL); + prm_direction = &rmsg->rm_direction; + prp_stat = &rmsg->rm_reply.rp_stat; + if ( xdr_u_int32_t(xdrs, &(rmsg->rm_xid)) && - xdr_enum(xdrs, (enum_t *)&(rmsg->rm_direction)) && + xdr_enum(xdrs, (enum_t *) prm_direction) && (rmsg->rm_direction == REPLY) ) - return (xdr_union(xdrs, (enum_t *)&(rmsg->rm_reply.rp_stat), + return (xdr_union(xdrs, (enum_t *) prp_stat, (caddr_t)(void *)&(rmsg->rm_reply.ru), reply_dscrm, NULL_xdrproc_t)); return (FALSE); @@ -203,16 +217,19 @@ xdr_callhdr(xdrs, cmsg) XDR *xdrs; struct rpc_msg *cmsg; { + enum msg_type *prm_direction; assert(xdrs != NULL); assert(cmsg != NULL); + prm_direction = &cmsg->rm_direction; + cmsg->rm_direction = CALL; cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION; if ( (xdrs->x_op == XDR_ENCODE) && xdr_u_int32_t(xdrs, &(cmsg->rm_xid)) && - xdr_enum(xdrs, (enum_t *)&(cmsg->rm_direction)) && + xdr_enum(xdrs, (enum_t *) prm_direction) && xdr_u_int32_t(xdrs, &(cmsg->rm_call.cb_rpcvers)) && xdr_u_int32_t(xdrs, &(cmsg->rm_call.cb_prog)) ) return (xdr_u_int32_t(xdrs, &(cmsg->rm_call.cb_vers))); Modified: stable/7/lib/libc/rpc/rpcb_prot.c ============================================================================== --- stable/7/lib/libc/rpc/rpcb_prot.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/rpcb_prot.c Mon Jun 8 19:59:26 2009 (r193745) @@ -320,11 +320,13 @@ xdr_netbuf(xdrs, objp) struct netbuf *objp; { bool_t dummy; + void **pp; if (!xdr_u_int32_t(xdrs, (u_int32_t *) &objp->maxlen)) { return (FALSE); } - dummy = xdr_bytes(xdrs, (char **)&(objp->buf), + pp = &objp->buf; + dummy = xdr_bytes(xdrs, (char **) pp, (u_int *)&(objp->len), objp->maxlen); return (dummy); } Modified: stable/7/lib/libc/rpc/rpcb_st_xdr.c ============================================================================== --- stable/7/lib/libc/rpc/rpcb_st_xdr.c Mon Jun 8 19:57:35 2009 (r193744) +++ stable/7/lib/libc/rpc/rpcb_st_xdr.c Mon Jun 8 19:59:26 2009 (r193745) @@ -52,6 +52,7 @@ xdr_rpcbs_addrlist(xdrs, objp) XDR *xdrs; rpcbs_addrlist *objp; { + struct rpcbs_addrlist **pnext; if (!xdr_u_int32_t(xdrs, &objp->prog)) { return (FALSE); @@ -69,7 +70,9 @@ xdr_rpcbs_addrlist(xdrs, objp) return (FALSE); } - if (!xdr_pointer(xdrs, (char **)&objp->next, + pnext = &objp->next; + + if (!xdr_pointer(xdrs, (char **) pnext, sizeof (rpcbs_addrlist), (xdrproc_t)xdr_rpcbs_addrlist)) { return (FALSE); @@ -86,6 +89,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) rpcbs_rmtcalllist *objp; { int32_t *buf; + struct rpcbs_rmtcalllist **pnext; if (xdrs->x_op == XDR_ENCODE) { buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT); @@ -119,7 +123,8 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { return (FALSE); } - if (!xdr_pointer(xdrs, (char **)&objp->next, + pnext = &objp->next; + if (!xdr_pointer(xdrs, (char **) pnext, sizeof (rpcbs_rmtcalllist), (xdrproc_t)xdr_rpcbs_rmtcalllist)) { return (FALSE); @@ -157,7 +162,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { return (FALSE); } - if (!xdr_pointer(xdrs, (char **)&objp->next, + if (!xdr_pointer(xdrs, (char **) pnext, sizeof (rpcbs_rmtcalllist), (xdrproc_t)xdr_rpcbs_rmtcalllist)) { return (FALSE); @@ -185,7 +190,7 @@ xdr_rpcbs_rmtcalllist(xdrs, objp) if (!xdr_string(xdrs, &objp->netid, (u_int)~0)) { return (FALSE); } - if (!xdr_pointer(xdrs, (char **)&objp->next, + if (!xdr_pointer(xdrs, (char **) pnext, sizeof (rpcbs_rmtcalllist), (xdrproc_t)xdr_rpcbs_rmtcalllist)) { return (FALSE); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:04:36 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 86D051065672; Mon, 8 Jun 2009 20:04:36 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 74EDC8FC0A; Mon, 8 Jun 2009 20:04:36 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58K4avo041740; Mon, 8 Jun 2009 20:04:36 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58K4avY041738; Mon, 8 Jun 2009 20:04:36 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906082004.n58K4avY041738@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 20:04: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: r193747 - in stable/7/lib/libc: . 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: Mon, 08 Jun 2009 20:04:37 -0000 Author: des Date: Mon Jun 8 20:04:36 2009 New Revision: 193747 URL: http://svn.freebsd.org/changeset/base/193747 Log: merge r177605,177607,177855: add missing namespace wrappers for libthr Modified: stable/7/lib/libc/ (props changed) stable/7/lib/libc/include/namespace.h stable/7/lib/libc/include/un-namespace.h Modified: stable/7/lib/libc/include/namespace.h ============================================================================== --- stable/7/lib/libc/include/namespace.h Mon Jun 8 20:02:15 2009 (r193746) +++ stable/7/lib/libc/include/namespace.h Mon Jun 8 20:04:36 2009 (r193747) @@ -84,6 +84,7 @@ #define pthread_atfork _pthread_atfork #define pthread_attr_destroy _pthread_attr_destroy #define pthread_attr_get_np _pthread_attr_get_np +#define pthread_attr_getaffinity_np _pthread_attr_getaffinity_np #define pthread_attr_getdetachstate _pthread_attr_getdetachstate #define pthread_attr_getguardsize _pthread_attr_getguardsize #define pthread_attr_getinheritsched _pthread_attr_getinheritsched @@ -94,6 +95,7 @@ #define pthread_attr_getstackaddr _pthread_attr_getstackaddr #define pthread_attr_getstacksize _pthread_attr_getstacksize #define pthread_attr_init _pthread_attr_init +#define pthread_attr_setaffinity_np _pthread_attr_setaffinity_np #define pthread_attr_setcreatesuspend_np _pthread_attr_setcreatesuspend_np #define pthread_attr_setdetachstate _pthread_attr_setdetachstate #define pthread_attr_setguardsize _pthread_attr_setguardsize @@ -130,7 +132,9 @@ #define pthread_detach _pthread_detach #define pthread_equal _pthread_equal #define pthread_exit _pthread_exit +#define pthread_getaffinity_np _pthread_getaffinity_np #define pthread_getconcurrency _pthread_getconcurrency +#define pthread_getcpuclockid _pthread_getcpuclockid #define pthread_getprio _pthread_getprio #define pthread_getschedparam _pthread_getschedparam #define pthread_getspecific _pthread_getspecific @@ -178,6 +182,7 @@ #define pthread_rwlockattr_setpshared _pthread_rwlockattr_setpshared #define pthread_self _pthread_self #define pthread_set_name_np _pthread_set_name_np +#define pthread_setaffinity_np _pthread_setaffinity_np #define pthread_setcancelstate _pthread_setcancelstate #define pthread_setcanceltype _pthread_setcanceltype #define pthread_setconcurrency _pthread_setconcurrency Modified: stable/7/lib/libc/include/un-namespace.h ============================================================================== --- stable/7/lib/libc/include/un-namespace.h Mon Jun 8 20:02:15 2009 (r193746) +++ stable/7/lib/libc/include/un-namespace.h Mon Jun 8 20:04:36 2009 (r193747) @@ -65,6 +65,7 @@ #undef pthread_atfork #undef pthread_attr_destroy #undef pthread_attr_get_np +#undef pthread_attr_getaffinity_np #undef pthread_attr_getdetachstate #undef pthread_attr_getguardsize #undef pthread_attr_getinheritsched @@ -75,6 +76,7 @@ #undef pthread_attr_getstackaddr #undef pthread_attr_getstacksize #undef pthread_attr_init +#undef pthread_attr_setaffinity_np #undef pthread_attr_setcreatesuspend_np #undef pthread_attr_setdetachstate #undef pthread_attr_setguardsize @@ -111,7 +113,9 @@ #undef pthread_detach #undef pthread_equal #undef pthread_exit +#undef pthread_getaffinity_np #undef pthread_getconcurrency +#undef pthread_getcpuclockid #undef pthread_getprio #undef pthread_getschedparam #undef pthread_getspecific @@ -159,6 +163,7 @@ #undef pthread_rwlockattr_setpshared #undef pthread_self #undef pthread_set_name_np +#undef pthread_setaffinity_np #undef pthread_setcancelstate #undef pthread_setcanceltype #undef pthread_setconcurrency From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:04:46 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7321E106564A; Mon, 8 Jun 2009 20:04:46 +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 627A78FC12; Mon, 8 Jun 2009 20:04:46 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58K4krt041783; Mon, 8 Jun 2009 20:04:46 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58K4kT1041782; Mon, 8 Jun 2009 20:04:46 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200906082004.n58K4kT1041782@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Mon, 8 Jun 2009 20:04:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193748 - 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: Mon, 08 Jun 2009 20:04:46 -0000 Author: bz Date: Mon Jun 8 20:04:46 2009 New Revision: 193748 URL: http://svn.freebsd.org/changeset/base/193748 Log: Remove two unneeded, hidden includes. Modified: head/sys/net/flowtable.h Modified: head/sys/net/flowtable.h ============================================================================== --- head/sys/net/flowtable.h Mon Jun 8 20:04:36 2009 (r193747) +++ head/sys/net/flowtable.h Mon Jun 8 20:04:46 2009 (r193748) @@ -33,8 +33,6 @@ $FreeBSD$ #define _NET_FLOWTABLE_H_ #ifdef _KERNEL -#include -#include #define FL_HASH_PORTS (1<<0) /* hash 4-tuple + protocol */ #define FL_PCPU (1<<1) /* pcpu cache */ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:07:13 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 626901065672; Mon, 8 Jun 2009 20:07:13 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 360E98FC20; Mon, 8 Jun 2009 20:07:13 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58K7Dxt041906; Mon, 8 Jun 2009 20:07:13 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58K7D3S041905; Mon, 8 Jun 2009 20:07:13 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906082007.n58K7D3S041905@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 20:07:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193749 - stable/7/lib/libthr X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 20:07:14 -0000 Author: des Date: Mon Jun 8 20:07:12 2009 New Revision: 193749 URL: http://svn.freebsd.org/changeset/base/193749 Log: record already-merged r177605 Modified: stable/7/lib/libthr/ (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:07:17 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DC301065675; Mon, 8 Jun 2009 20:07:17 +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 1A6BE8FC08; Mon, 8 Jun 2009 20:07:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58K7HL1041948; Mon, 8 Jun 2009 20:07:17 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58K7GX5041943; Mon, 8 Jun 2009 20:07:16 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <200906082007.n58K7GX5041943@svn.freebsd.org> From: Jung-uk Kim Date: Mon, 8 Jun 2009 20:07:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193750 - in head/sys: amd64/conf conf contrib/dev/acpica/include/platform dev/acpica/Osd i386/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: Mon, 08 Jun 2009 20:07:17 -0000 Author: jkim Date: Mon Jun 8 20:07:16 2009 New Revision: 193750 URL: http://svn.freebsd.org/changeset/base/193750 Log: Rewrite OsdSynch.c to reflect the latest ACPICA more closely: - Implement ACPI semaphore (ACPI_SEMAPHORE) with condvar(9) and mutex(9). - Implement ACPI mutex (ACPI_MUTEX) with mutex(9). - Implement ACPI lock (ACPI_SPINLOCK) with spin mutex(9). Modified: head/sys/amd64/conf/NOTES head/sys/conf/options head/sys/contrib/dev/acpica/include/platform/acfreebsd.h head/sys/dev/acpica/Osd/OsdSynch.c head/sys/i386/conf/NOTES Modified: head/sys/amd64/conf/NOTES ============================================================================== --- head/sys/amd64/conf/NOTES Mon Jun 8 20:07:12 2009 (r193749) +++ head/sys/amd64/conf/NOTES Mon Jun 8 20:07:16 2009 (r193750) @@ -237,12 +237,9 @@ device tdfx # Enable 3Dfx Voodoo supp # kernel environment variables to select initial debugging levels for the # Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER # defined when it is built). -# -# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op. device acpi options ACPI_DEBUG -#!options ACPI_NO_SEMAPHORES # The cpufreq(4) driver provides support for non-ACPI CPU frequency control device cpufreq Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Mon Jun 8 20:07:12 2009 (r193749) +++ head/sys/conf/options Mon Jun 8 20:07:16 2009 (r193750) @@ -664,7 +664,6 @@ WITNESS_SKIPSPIN opt_witness.h # options for ACPI support ACPI_DEBUG opt_acpi.h ACPI_MAX_THREADS opt_acpi.h -ACPI_NO_SEMAPHORES opt_acpi.h # ISA support DEV_ISA opt_isa.h Modified: head/sys/contrib/dev/acpica/include/platform/acfreebsd.h ============================================================================== --- head/sys/contrib/dev/acpica/include/platform/acfreebsd.h Mon Jun 8 20:07:12 2009 (r193749) +++ head/sys/contrib/dev/acpica/include/platform/acfreebsd.h Mon Jun 8 20:07:16 2009 (r193750) @@ -140,6 +140,7 @@ #include "opt_acpi.h" #define ACPI_THREAD_ID lwpid_t +#define ACPI_MUTEX_TYPE ACPI_OSL_MUTEX #ifdef ACPI_DEBUG #define ACPI_DEBUG_OUTPUT /* for backward compatibility */ Modified: head/sys/dev/acpica/Osd/OsdSynch.c ============================================================================== --- head/sys/dev/acpica/Osd/OsdSynch.c Mon Jun 8 20:07:12 2009 (r193749) +++ head/sys/dev/acpica/Osd/OsdSynch.c Mon Jun 8 20:07:16 2009 (r193750) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2000 Michael Smith * Copyright (c) 2000 BSDi + * Copyright (c) 2007-2009 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,366 +36,543 @@ __FBSDID("$FreeBSD$"); #include #include -#include "opt_acpi.h" +#include #include -#include -#include #include +#include #include -#define _COMPONENT ACPI_OS_SERVICES +#define _COMPONENT ACPI_OS_SERVICES ACPI_MODULE_NAME("SYNCH") MALLOC_DEFINE(M_ACPISEM, "acpisem", "ACPI semaphore"); -#define AS_LOCK(as) mtx_lock(&(as)->as_mtx) -#define AS_UNLOCK(as) mtx_unlock(&(as)->as_mtx) - /* - * Simple counting semaphore implemented using a mutex. (Subsequently used - * in the OSI code to implement a mutex. Go figure.) + * Convert milliseconds to ticks. */ -struct acpi_semaphore { - struct mtx as_mtx; - UINT32 as_units; - UINT32 as_maxunits; - UINT32 as_pendings; - UINT32 as_resetting; - UINT32 as_timeouts; -}; +static int +timeout2hz(UINT16 Timeout) +{ + struct timeval tv; -/* Default number of maximum pending threads. */ -#ifndef ACPI_NO_SEMAPHORES -#ifndef ACPI_SEMAPHORES_MAX_PENDING -#define ACPI_SEMAPHORES_MAX_PENDING 4 -#endif + tv.tv_sec = (time_t)(Timeout / 1000); + tv.tv_usec = (suseconds_t)(Timeout % 1000) * 1000; -static int acpi_semaphore_debug = 0; -TUNABLE_INT("debug.acpi_semaphore_debug", &acpi_semaphore_debug); -SYSCTL_DECL(_debug_acpi); -SYSCTL_INT(_debug_acpi, OID_AUTO, semaphore_debug, CTLFLAG_RW, - &acpi_semaphore_debug, 0, "Enable ACPI semaphore debug messages"); -#endif /* !ACPI_NO_SEMAPHORES */ + return (tvtohz(&tv)); +} + +/* + * ACPI_SEMAPHORE + */ +struct acpi_sema { + struct mtx as_lock; + char as_name[32]; + struct cv as_cv; + UINT32 as_maxunits; + UINT32 as_units; + int as_waiters; + int as_reset; +}; ACPI_STATUS AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_SEMAPHORE *OutHandle) { -#ifndef ACPI_NO_SEMAPHORES - struct acpi_semaphore *as; + struct acpi_sema *as; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + if (OutHandle == NULL || MaxUnits == 0 || InitialUnits > MaxUnits) + return_ACPI_STATUS (AE_BAD_PARAMETER); - if (OutHandle == NULL) - return_ACPI_STATUS (AE_BAD_PARAMETER); - if (InitialUnits > MaxUnits) - return_ACPI_STATUS (AE_BAD_PARAMETER); - - if ((as = malloc(sizeof(*as), M_ACPISEM, M_NOWAIT | M_ZERO)) == NULL) - return_ACPI_STATUS (AE_NO_MEMORY); - - mtx_init(&as->as_mtx, "ACPI semaphore", NULL, MTX_DEF); - as->as_units = InitialUnits; - as->as_maxunits = MaxUnits; - as->as_pendings = as->as_resetting = as->as_timeouts = 0; - - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, - "created semaphore %p max %d, initial %d\n", - as, InitialUnits, MaxUnits)); - - *OutHandle = (ACPI_HANDLE)as; -#else - *OutHandle = (ACPI_HANDLE)OutHandle; -#endif /* !ACPI_NO_SEMAPHORES */ + if ((as = malloc(sizeof(*as), M_ACPISEM, M_NOWAIT | M_ZERO)) == NULL) + return_ACPI_STATUS (AE_NO_MEMORY); - return_ACPI_STATUS (AE_OK); + snprintf(as->as_name, sizeof(as->as_name), "ACPI sema (%p)", as); + mtx_init(&as->as_lock, as->as_name, NULL, MTX_DEF); + cv_init(&as->as_cv, as->as_name); + as->as_maxunits = MaxUnits; + as->as_units = InitialUnits; + + *OutHandle = (ACPI_SEMAPHORE)as; + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "created %s, max %u, initial %u\n", + as->as_name, MaxUnits, InitialUnits)); + + return_ACPI_STATUS (AE_OK); } ACPI_STATUS AcpiOsDeleteSemaphore(ACPI_SEMAPHORE Handle) { -#ifndef ACPI_NO_SEMAPHORES - struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; + struct acpi_sema *as = (struct acpi_sema *)Handle; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (as == NULL) + return_ACPI_STATUS (AE_BAD_PARAMETER); - ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + mtx_lock(&as->as_lock); - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "destroyed semaphore %p\n", as)); - mtx_destroy(&as->as_mtx); - free(Handle, M_ACPISEM); -#endif /* !ACPI_NO_SEMAPHORES */ + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "delete %s\n", as->as_name)); + + if (as->as_waiters > 0) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "reset %s, units %u, waiters %d\n", + as->as_name, as->as_units, as->as_waiters)); + as->as_reset = 1; + cv_broadcast(&as->as_cv); + while (as->as_waiters > 0) { + if (mtx_sleep(&as->as_reset, &as->as_lock, + PCATCH, "acsrst", hz) == EINTR) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "failed to reset %s, waiters %d\n", + as->as_name, as->as_waiters)); + mtx_unlock(&as->as_lock); + return_ACPI_STATUS (AE_ERROR); + } + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "wait %s, units %u, waiters %d\n", + as->as_name, as->as_units, as->as_waiters)); + } + } + + mtx_unlock(&as->as_lock); + + mtx_destroy(&as->as_lock); + cv_destroy(&as->as_cv); + free(as, M_ACPISEM); - return_ACPI_STATUS (AE_OK); + return_ACPI_STATUS (AE_OK); } -/* - * This implementation has a bug, in that it has to stall for the entire - * timeout before it will return AE_TIME. A better implementation would - * use getmicrotime() to correctly adjust the timeout after being woken up. - */ +#define ACPISEM_AVAIL(s, u) ((s)->as_units >= (u)) + ACPI_STATUS AcpiOsWaitSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units, UINT16 Timeout) { -#ifndef ACPI_NO_SEMAPHORES - ACPI_STATUS result; - struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; - int rv, tmo; - struct timeval timeouttv, currenttv, timelefttv; - - ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + struct acpi_sema *as = (struct acpi_sema *)Handle; + int error, prevtick, slptick, tmo; + ACPI_STATUS status = AE_OK; - if (as == NULL) - return_ACPI_STATUS (AE_BAD_PARAMETER); + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - if (cold) - return_ACPI_STATUS (AE_OK); + if (as == NULL || Units == 0) + return_ACPI_STATUS (AE_BAD_PARAMETER); -#if 0 - if (as->as_units < Units && as->as_timeouts > 10) { - printf("%s: semaphore %p too many timeouts, resetting\n", __func__, as); - AS_LOCK(as); - as->as_units = as->as_maxunits; - if (as->as_pendings) - as->as_resetting = 1; - as->as_timeouts = 0; - wakeup(as); - AS_UNLOCK(as); - return_ACPI_STATUS (AE_TIME); - } + mtx_lock(&as->as_lock); - if (as->as_resetting) - return_ACPI_STATUS (AE_TIME); -#endif + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "get %u unit(s) from %s, units %u, waiters %d, timeout %u\n", + Units, as->as_name, as->as_units, as->as_waiters, Timeout)); - /* a timeout of ACPI_WAIT_FOREVER means "forever" */ - if (Timeout == ACPI_WAIT_FOREVER) { - tmo = 0; - timeouttv.tv_sec = ((0xffff/1000) + 1); /* cf. ACPI spec */ - timeouttv.tv_usec = 0; - } else { - /* compute timeout using microseconds per tick */ - tmo = (Timeout * 1000) / (1000000 / hz); - if (tmo <= 0) - tmo = 1; - timeouttv.tv_sec = Timeout / 1000; - timeouttv.tv_usec = (Timeout % 1000) * 1000; - } - - /* calculate timeout value in timeval */ - getmicrotime(¤ttv); - timevaladd(&timeouttv, ¤ttv); - - AS_LOCK(as); - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, - "get %d units from semaphore %p (has %d), timeout %d\n", - Units, as, as->as_units, Timeout)); - for (;;) { - if (as->as_maxunits == ACPI_NO_UNIT_LIMIT) { - result = AE_OK; - break; - } - if (as->as_units >= Units) { - as->as_units -= Units; - result = AE_OK; - break; - } - - /* limit number of pending threads */ - if (as->as_pendings >= ACPI_SEMAPHORES_MAX_PENDING) { - result = AE_TIME; - break; - } - - /* if timeout values of zero is specified, return immediately */ - if (Timeout == 0) { - result = AE_TIME; - break; + if (as->as_maxunits != ACPI_NO_UNIT_LIMIT && as->as_maxunits < Units) { + mtx_unlock(&as->as_lock); + return_ACPI_STATUS (AE_LIMIT); + } + + switch (Timeout) { + case ACPI_DO_NOT_WAIT: + if (!ACPISEM_AVAIL(as, Units)) + status = AE_TIME; + break; + case ACPI_WAIT_FOREVER: + while (!ACPISEM_AVAIL(as, Units)) { + as->as_waiters++; + error = cv_wait_sig(&as->as_cv, &as->as_lock); + as->as_waiters--; + if (error == EINTR || as->as_reset) { + status = AE_ERROR; + break; + } + if (ACPISEM_AVAIL(as, Units)) + break; + } + break; + default: + tmo = timeout2hz(Timeout); + while (!ACPISEM_AVAIL(as, Units)) { + prevtick = ticks; + as->as_waiters++; + error = cv_timedwait_sig(&as->as_cv, &as->as_lock, tmo); + as->as_waiters--; + if (error == EINTR || as->as_reset) { + status = AE_ERROR; + break; + } + if (ACPISEM_AVAIL(as, Units)) + break; + slptick = ticks - prevtick; + if (slptick >= tmo || slptick < 0) { + status = AE_TIME; + break; + } + tmo -= slptick; + } } + if (status == AE_OK) + as->as_units -= Units; - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, - "semaphore blocked, calling msleep(%p, %p, %d, \"acsem\", %d)\n", - as, &as->as_mtx, PCATCH, tmo)); + mtx_unlock(&as->as_lock); + + return_ACPI_STATUS (status); +} + +ACPI_STATUS +AcpiOsSignalSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units) +{ + struct acpi_sema *as = (struct acpi_sema *)Handle; + UINT32 i; - as->as_pendings++; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - if (acpi_semaphore_debug) { - printf("%s: Sleep %d, pending %d, semaphore %p, thread %d\n", - __func__, Timeout, as->as_pendings, as, AcpiOsGetThreadId()); + if (as == NULL || Units == 0) + return_ACPI_STATUS (AE_BAD_PARAMETER); + + mtx_lock(&as->as_lock); + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "return %u units to %s, units %u, waiters %d\n", + Units, as->as_name, as->as_units, as->as_waiters)); + + if (as->as_maxunits != ACPI_NO_UNIT_LIMIT && + (as->as_maxunits < Units || + as->as_maxunits - Units < as->as_units)) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "exceeded max units %u\n", as->as_maxunits)); + mtx_unlock(&as->as_lock); + return_ACPI_STATUS (AE_LIMIT); } - rv = msleep(as, &as->as_mtx, PCATCH, "acsem", tmo); + as->as_units += Units; + if (as->as_waiters > 0 && ACPISEM_AVAIL(as, Units)) + for (i = 0; i < Units; i++) + cv_signal(&as->as_cv); + + mtx_unlock(&as->as_lock); + + return_ACPI_STATUS (AE_OK); +} + +#undef ACPISEM_AVAIL + +/* + * ACPI_MUTEX + */ +struct acpi_mutex { + struct mtx am_lock; + char am_name[32]; + struct thread *am_owner; + int am_nested; + int am_waiters; + int am_reset; +}; + +ACPI_STATUS +AcpiOsCreateMutex(ACPI_MUTEX *OutHandle) +{ + struct acpi_mutex *am; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (OutHandle == NULL) + return_ACPI_STATUS (AE_BAD_PARAMETER); + + if ((am = malloc(sizeof(*am), M_ACPISEM, M_NOWAIT | M_ZERO)) == NULL) + return_ACPI_STATUS (AE_NO_MEMORY); + + snprintf(am->am_name, sizeof(am->am_name), "ACPI mutex (%p)", am); + mtx_init(&am->am_lock, am->am_name, NULL, MTX_DEF); + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "created %s\n", am->am_name)); + + *OutHandle = (ACPI_MUTEX)am; + + return_ACPI_STATUS (AE_OK); +} + +#define ACPIMTX_AVAIL(m) ((m)->am_owner == NULL) +#define ACPIMTX_OWNED(m) ((m)->am_owner == curthread) + +void +AcpiOsDeleteMutex(ACPI_MUTEX Handle) +{ + struct acpi_mutex *am = (struct acpi_mutex *)Handle; - as->as_pendings--; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); -#if 0 - if (as->as_resetting) { - /* semaphore reset, return immediately */ - if (as->as_pendings == 0) { - as->as_resetting = 0; - } - result = AE_TIME; - break; + if (am == NULL) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "cannot delete null mutex\n")); + return_VOID; + } + + mtx_lock(&am->am_lock); + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "delete %s\n", am->am_name)); + + if (am->am_waiters > 0) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "reset %s, owner %p\n", am->am_name, am->am_owner)); + am->am_reset = 1; + wakeup(am); + while (am->am_waiters > 0) { + if (mtx_sleep(&am->am_reset, &am->am_lock, + PCATCH, "acmrst", hz) == EINTR) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "failed to reset %s, waiters %d\n", + am->am_name, am->am_waiters)); + mtx_unlock(&am->am_lock); + return_VOID; + } + if (ACPIMTX_AVAIL(am)) + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "wait %s, waiters %d\n", + am->am_name, am->am_waiters)); + else + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "wait %s, owner %p, waiters %d\n", + am->am_name, am->am_owner, am->am_waiters)); + } } -#endif - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "msleep(%d) returned %d\n", tmo, rv)); - if (rv == EWOULDBLOCK) { - result = AE_TIME; - break; - } - - /* check if we already awaited enough */ - timelefttv = timeouttv; - getmicrotime(¤ttv); - timevalsub(&timelefttv, ¤ttv); - if (timelefttv.tv_sec < 0) { - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "await semaphore %p timeout\n", - as)); - result = AE_TIME; - break; - } - - /* adjust timeout for the next sleep */ - tmo = (timelefttv.tv_sec * 1000000 + timelefttv.tv_usec) / - (1000000 / hz); - if (tmo <= 0) - tmo = 1; - - if (acpi_semaphore_debug) { - printf("%s: Wakeup timeleft(%jd, %lu), tmo %u, sem %p, thread %d\n", - __func__, (intmax_t)timelefttv.tv_sec, timelefttv.tv_usec, tmo, as, - AcpiOsGetThreadId()); - } - } - - if (acpi_semaphore_debug) { - if (result == AE_TIME && Timeout > 0) { - printf("%s: Timeout %d, pending %d, semaphore %p\n", - __func__, Timeout, as->as_pendings, as); - } - if (result == AE_OK && (as->as_timeouts > 0 || as->as_pendings > 0)) { - printf("%s: Acquire %d, units %d, pending %d, sem %p, thread %d\n", - __func__, Units, as->as_units, as->as_pendings, as, - AcpiOsGetThreadId()); - } - } - - if (result == AE_TIME) - as->as_timeouts++; - else - as->as_timeouts = 0; - - AS_UNLOCK(as); - return_ACPI_STATUS (result); -#else - return_ACPI_STATUS (AE_OK); -#endif /* !ACPI_NO_SEMAPHORES */ + mtx_unlock(&am->am_lock); + + mtx_destroy(&am->am_lock); + free(am, M_ACPISEM); } ACPI_STATUS -AcpiOsSignalSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units) +AcpiOsAcquireMutex(ACPI_MUTEX Handle, UINT16 Timeout) { -#ifndef ACPI_NO_SEMAPHORES - struct acpi_semaphore *as = (struct acpi_semaphore *)Handle; + struct acpi_mutex *am = (struct acpi_mutex *)Handle; + int error, prevtick, slptick, tmo; + ACPI_STATUS status = AE_OK; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (am == NULL) + return_ACPI_STATUS (AE_BAD_PARAMETER); + + mtx_lock(&am->am_lock); + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "acquire %s\n", am->am_name)); + + if (ACPIMTX_OWNED(am)) { + am->am_nested++; + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "acquire nested %s, depth %d\n", + am->am_name, am->am_nested)); + mtx_unlock(&am->am_lock); + return_ACPI_STATUS (AE_OK); + } + + switch (Timeout) { + case ACPI_DO_NOT_WAIT: + if (!ACPIMTX_AVAIL(am)) + status = AE_TIME; + break; + case ACPI_WAIT_FOREVER: + while (!ACPIMTX_AVAIL(am)) { + am->am_waiters++; + error = mtx_sleep(am, &am->am_lock, PCATCH, "acmtx", 0); + am->am_waiters--; + if (error == EINTR || am->am_reset) { + status = AE_ERROR; + break; + } + if (ACPIMTX_AVAIL(am)) + break; + } + break; + default: + tmo = timeout2hz(Timeout); + while (!ACPIMTX_AVAIL(am)) { + prevtick = ticks; + am->am_waiters++; + error = mtx_sleep(am, &am->am_lock, PCATCH, + "acmtx", tmo); + am->am_waiters--; + if (error == EINTR || am->am_reset) { + status = AE_ERROR; + break; + } + if (ACPIMTX_AVAIL(am)) + break; + slptick = ticks - prevtick; + if (slptick >= tmo || slptick < 0) { + status = AE_TIME; + break; + } + tmo -= slptick; + } + } + if (status == AE_OK) + am->am_owner = curthread; - ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + mtx_unlock(&am->am_lock); - if (as == NULL) - return_ACPI_STATUS(AE_BAD_PARAMETER); + return_ACPI_STATUS (status); +} - AS_LOCK(as); - ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, - "return %d units to semaphore %p (has %d)\n", - Units, as, as->as_units)); - if (as->as_maxunits != ACPI_NO_UNIT_LIMIT) { - as->as_units += Units; - if (as->as_units > as->as_maxunits) - as->as_units = as->as_maxunits; - } +void +AcpiOsReleaseMutex(ACPI_MUTEX Handle) +{ + struct acpi_mutex *am = (struct acpi_mutex *)Handle; - if (acpi_semaphore_debug && (as->as_timeouts > 0 || as->as_pendings > 0)) { - printf("%s: Release %d, units %d, pending %d, semaphore %p, thread %d\n", - __func__, Units, as->as_units, as->as_pendings, as, AcpiOsGetThreadId()); - } + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - wakeup(as); - AS_UNLOCK(as); -#endif /* !ACPI_NO_SEMAPHORES */ + if (am == NULL) + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "cannot release null mutex\n")); + + mtx_lock(&am->am_lock); + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "release %s\n", am->am_name)); + + if (ACPIMTX_OWNED(am)) { + if (am->am_nested > 0) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "release nested %s, depth %d\n", + am->am_name, am->am_nested)); + am->am_nested--; + } else + am->am_owner = NULL; + } else { + if (ACPIMTX_AVAIL(am)) + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "release already available %s\n", am->am_name)); + else + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "release unowned %s from %p, depth %d\n", + am->am_name, am->am_owner, am->am_nested)); + } + if (am->am_waiters > 0 && ACPIMTX_AVAIL(am)) + wakeup_one(am); - return_ACPI_STATUS (AE_OK); + mtx_unlock(&am->am_lock); } -/* Combined mutex + mutex name storage since the latter must persist. */ +#undef ACPIMTX_AVAIL +#undef ACPIMTX_OWNED + +/* + * ACPI_SPINLOCK + */ struct acpi_spinlock { - struct mtx lock; - char name[32]; + struct mtx al_lock; + char al_name[32]; + int al_nested; }; ACPI_STATUS -AcpiOsCreateLock (ACPI_SPINLOCK *OutHandle) +AcpiOsCreateLock(ACPI_SPINLOCK *OutHandle) { - struct acpi_spinlock *h; + struct acpi_spinlock *al; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (OutHandle == NULL) + return_ACPI_STATUS (AE_BAD_PARAMETER); - if (OutHandle == NULL) - return (AE_BAD_PARAMETER); - h = malloc(sizeof(*h), M_ACPISEM, M_NOWAIT | M_ZERO); - if (h == NULL) - return (AE_NO_MEMORY); - - /* Build a unique name based on the address of the handle. */ - if (OutHandle == &AcpiGbl_GpeLock) - snprintf(h->name, sizeof(h->name), "acpi subsystem GPE lock"); - else if (OutHandle == &AcpiGbl_HardwareLock) - snprintf(h->name, sizeof(h->name), "acpi subsystem HW lock"); - else - snprintf(h->name, sizeof(h->name), "acpi subsys %p", OutHandle); - mtx_init(&h->lock, h->name, NULL, MTX_DEF|MTX_RECURSE); - *OutHandle = (ACPI_SPINLOCK)h; - return (AE_OK); + if ((al = malloc(sizeof(*al), M_ACPISEM, M_NOWAIT | M_ZERO)) == NULL) + return_ACPI_STATUS (AE_NO_MEMORY); + +#ifdef ACPI_DEBUG + if (OutHandle == &AcpiGbl_GpeLock) + snprintf(al->al_name, sizeof(al->al_name), "ACPI lock (GPE)"); + else if (OutHandle == &AcpiGbl_HardwareLock) + snprintf(al->al_name, sizeof(al->al_name), "ACPI lock (HW)"); + else +#endif + snprintf(al->al_name, sizeof(al->al_name), "ACPI lock (%p)", al); + mtx_init(&al->al_lock, al->al_name, NULL, MTX_SPIN); + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "created %s\n", al->al_name)); + + *OutHandle = (ACPI_SPINLOCK)al; + + return_ACPI_STATUS (AE_OK); } void -AcpiOsDeleteLock (ACPI_SPINLOCK Handle) +AcpiOsDeleteLock(ACPI_SPINLOCK Handle) { - struct acpi_spinlock *h = (struct acpi_spinlock *)Handle; + struct acpi_spinlock *al = (struct acpi_spinlock *)Handle; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - if (Handle == NULL) - return; - mtx_destroy(&h->lock); - free(h, M_ACPISEM); + if (al == NULL) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "cannot delete null spinlock\n")); + return_VOID; + } + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "delete %s\n", al->al_name)); + + mtx_destroy(&al->al_lock); + free(al, M_ACPISEM); } -/* - * The Flags parameter seems to state whether or not caller is an ISR - * (and thus can't block) but since we have ithreads, we don't worry - * about potentially blocking. - */ ACPI_CPU_FLAGS -AcpiOsAcquireLock (ACPI_SPINLOCK Handle) +AcpiOsAcquireLock(ACPI_SPINLOCK Handle) { - struct acpi_spinlock *h = (struct acpi_spinlock *)Handle; + struct acpi_spinlock *al = (struct acpi_spinlock *)Handle; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (al == NULL) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "cannot acquire null spinlock\n")); + return (0); + } + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "acquire %s\n", al->al_name)); + + if (mtx_owned(&al->al_lock)) { + al->al_nested++; + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "acquire nested %s, depth %d\n", + al->al_name, al->al_nested)); + } else + mtx_lock_spin(&al->al_lock); - if (Handle == NULL) return (0); - mtx_lock(&h->lock); - return (0); } void -AcpiOsReleaseLock (ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags) +AcpiOsReleaseLock(ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags) { - struct acpi_spinlock *h = (struct acpi_spinlock *)Handle; + struct acpi_spinlock *al = (struct acpi_spinlock *)Handle; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - if (Handle == NULL) - return; - mtx_unlock(&h->lock); + if (al == NULL) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "cannot release null spinlock\n")); + return_VOID; + } + + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, "release %s\n", al->al_name)); + + if (mtx_owned(&al->al_lock)) { + if (al->al_nested > 0) { + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "release nested %s, depth %d\n", + al->al_name, al->al_nested)); + al->al_nested--; + } else + mtx_unlock_spin(&al->al_lock); + } else + ACPI_DEBUG_PRINT((ACPI_DB_MUTEX, + "cannot release unowned %s\n", al->al_name)); } -/* Section 5.2.9.1: global lock acquire/release functions */ -#define GL_ACQUIRED (-1) -#define GL_BUSY 0 -#define GL_BIT_PENDING 0x1 -#define GL_BIT_OWNED 0x2 -#define GL_BIT_MASK (GL_BIT_PENDING | GL_BIT_OWNED) +/* Section 5.2.10.1: global lock acquire/release functions */ +#define GL_ACQUIRED (-1) +#define GL_BUSY 0 +#define GL_BIT_PENDING 0x01 +#define GL_BIT_OWNED 0x02 +#define GL_BIT_MASK (GL_BIT_PENDING | GL_BIT_OWNED) /* * Acquire the global lock. If busy, set the pending bit. The caller @@ -404,7 +582,7 @@ AcpiOsReleaseLock (ACPI_SPINLOCK Handle, int acpi_acquire_global_lock(uint32_t *lock) { - uint32_t new, old; + uint32_t new, old; do { old = *lock; @@ -423,7 +601,7 @@ acpi_acquire_global_lock(uint32_t *lock) int acpi_release_global_lock(uint32_t *lock) { - uint32_t new, old; + uint32_t new, old; do { old = *lock; Modified: head/sys/i386/conf/NOTES ============================================================================== --- head/sys/i386/conf/NOTES Mon Jun 8 20:07:12 2009 (r193749) +++ head/sys/i386/conf/NOTES Mon Jun 8 20:07:16 2009 (r193750) @@ -465,14 +465,11 @@ device tdfx_linux # Enable Linuxulator # Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER # defined when it is built). # -# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op. -# # Note that building ACPI into the kernel is deprecated; the module is # normally loaded automatically by the loader. device acpi options ACPI_DEBUG -#!options ACPI_NO_SEMAPHORES # ACPI Asus Desktop Extras. (voltage, temp, fan) device acpi_aiboost From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:08:20 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 934B91065679; Mon, 8 Jun 2009 20:08:20 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 811778FC26; Mon, 8 Jun 2009 20:08:20 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58K8Ks7042013; Mon, 8 Jun 2009 20:08:20 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58K8KhD042012; Mon, 8 Jun 2009 20:08:20 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200906082008.n58K8KhD042012@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Jun 2009 20:08:20 +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: r193751 - in stable/7/lib/libc: . gdtoa X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 20:08:21 -0000 Author: des Date: Mon Jun 8 20:08:20 2009 New Revision: 193751 URL: http://svn.freebsd.org/changeset/base/193751 Log: merge r173793: silence aliasing warning. Modified: stable/7/lib/libc/ (props changed) stable/7/lib/libc/gdtoa/_ldtoa.c Modified: stable/7/lib/libc/gdtoa/_ldtoa.c ============================================================================== --- stable/7/lib/libc/gdtoa/_ldtoa.c Mon Jun 8 20:07:16 2009 (r193750) +++ stable/7/lib/libc/gdtoa/_ldtoa.c Mon Jun 8 20:08:20 2009 (r193751) @@ -61,6 +61,7 @@ __ldtoa(long double *ld, int mode, int n char *ret; union IEEEl2bits u; uint32_t bits[(LDBL_MANT_DIG + 31) / 32]; + void *vbits = bits; u.e = *ld; *sign = u.bits.sign; @@ -91,7 +92,7 @@ __ldtoa(long double *ld, int mode, int n abort(); } - ret = gdtoa(&fpi, be, (ULong *)bits, &kind, mode, ndigits, decpt, rve); + ret = gdtoa(&fpi, be, vbits, &kind, mode, ndigits, decpt, rve); if (*decpt == -32768) *decpt = INT_MAX; return ret; From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:24:29 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCA0F1065672; Mon, 8 Jun 2009 20:24:29 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CBB3B8FC18; Mon, 8 Jun 2009 20:24:29 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58KOTa7042430; Mon, 8 Jun 2009 20:24:29 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58KOTXU042429; Mon, 8 Jun 2009 20:24:29 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906082024.n58KOTXU042429@svn.freebsd.org> From: Ed Schouten Date: Mon, 8 Jun 2009 20:24: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: r193752 - head/sys/dev/kbdmux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 20:24:30 -0000 Author: ed Date: Mon Jun 8 20:24:29 2009 New Revision: 193752 URL: http://svn.freebsd.org/changeset/base/193752 Log: Use proper types in kbdmux_kbd_getc(): - The return value should be a signed integer, because -1 means failure. - The c variable should be unsigned, to force it to be zero-extended when returned. Reported by: Andreas Tobler Modified: head/sys/dev/kbdmux/kbdmux.c Modified: head/sys/dev/kbdmux/kbdmux.c ============================================================================== --- head/sys/dev/kbdmux/kbdmux.c Mon Jun 8 20:08:20 2009 (r193751) +++ head/sys/dev/kbdmux/kbdmux.c Mon Jun 8 20:24:29 2009 (r193752) @@ -181,10 +181,10 @@ kbdmux_kbd_putc(kbdmux_state_t *state, c state->ks_inq_length++; } -static char +static int kbdmux_kbd_getc(kbdmux_state_t *state) { - char c; + unsigned char c; if (state->ks_inq_length == 0) return (-1); From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:42:10 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31565106564A; Mon, 8 Jun 2009 20:42:10 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail06.syd.optusnet.com.au (mail06.syd.optusnet.com.au [211.29.132.187]) by mx1.freebsd.org (Postfix) with ESMTP id A645F8FC13; Mon, 8 Jun 2009 20:42:09 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-159-184.carlnfd1.nsw.optusnet.com.au [122.106.159.184]) by mail06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n58Kg55t008471 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 9 Jun 2009 06:42:07 +1000 Date: Tue, 9 Jun 2009 06:42:05 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ed Schouten In-Reply-To: <200906081823.n58INhX8038125@svn.freebsd.org> Message-ID: <20090609061758.P2952@besplex.bde.org> References: <200906081823.n58INhX8038125@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193734 - in head: lib/libusb sys/amd64/amd64 sys/i386/i386 sys/i386/xen 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: Mon, 08 Jun 2009 20:42:10 -0000 On Mon, 8 Jun 2009, Ed Schouten wrote: > Log: > Revert my change; reintroduce __gnu89_inline. > > It turns out our compiler in stable/7 can't build this code anymore. > Even though my opinion is that those people should just run `make > kernel-toolchain' before building a kernel, I am willing to wait and > commit this after we've branched stable/8. > > Requested by: rwatson Similar changes in msun broke backwards compatibily there. The last one that I noticed was that a current msun fails to build on pluto1.freebsd.org since pluto1 runs 7.2-STABLE and thus has a gcc-4.2.1 not patched to support C99 inline. On other machines I want to build it with old compilers starting with gcc-3 to run regression tests. Bruce From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 20:50:39 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3511F106566C; Mon, 8 Jun 2009 20:50:39 +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 23D6B8FC16; Mon, 8 Jun 2009 20:50:39 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58Kodkw043024; Mon, 8 Jun 2009 20:50:39 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58Kodch043023; Mon, 8 Jun 2009 20:50:39 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <200906082050.n58Kodch043023@svn.freebsd.org> From: Jung-uk Kim Date: Mon, 8 Jun 2009 20:50: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: r193753 - head/sys/dev/acpica/Osd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 20:50:39 -0000 Author: jkim Date: Mon Jun 8 20:50:38 2009 New Revision: 193753 URL: http://svn.freebsd.org/changeset/base/193753 Log: Remove redundant checks for ACPI_WAIT_FOREVER cases. Modified: head/sys/dev/acpica/Osd/OsdSynch.c Modified: head/sys/dev/acpica/Osd/OsdSynch.c ============================================================================== --- head/sys/dev/acpica/Osd/OsdSynch.c Mon Jun 8 20:24:29 2009 (r193752) +++ head/sys/dev/acpica/Osd/OsdSynch.c Mon Jun 8 20:50:38 2009 (r193753) @@ -185,8 +185,6 @@ AcpiOsWaitSemaphore(ACPI_SEMAPHORE Handl status = AE_ERROR; break; } - if (ACPISEM_AVAIL(as, Units)) - break; } break; default: @@ -380,8 +378,6 @@ AcpiOsAcquireMutex(ACPI_MUTEX Handle, UI status = AE_ERROR; break; } - if (ACPIMTX_AVAIL(am)) - break; } break; default: From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:00:08 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 645961065672; Mon, 8 Jun 2009 21:00:08 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [195.88.108.3]) by mx1.freebsd.org (Postfix) with ESMTP id D7EC48FC08; Mon, 8 Jun 2009 21:00:07 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id D128941C751; Mon, 8 Jun 2009 23:00:06 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([195.88.108.3]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id Hl-rHr0+ucrR; Mon, 8 Jun 2009 23:00:06 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id 1F58341C75C; Mon, 8 Jun 2009 23:00:06 +0200 (CEST) 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 E6F254448E6; Mon, 8 Jun 2009 20:55:30 +0000 (UTC) Date: Mon, 8 Jun 2009 20:55:30 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Hiroki Sato In-Reply-To: <200906072300.n57N0ems008322@svn.freebsd.org> Message-ID: <20090608205308.N22887@maildrop.int.zabbadoz.net> References: <200906072300.n57N0ems008322@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: r193664 - in head: sbin/ifconfig share/man/man4 sys/net sys/netinet sys/netinet6 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: Mon, 08 Jun 2009 21:00:08 -0000 On Sun, 7 Jun 2009, Hiroki Sato wrote: Hi, > Author: hrs > Date: Sun Jun 7 23:00:40 2009 > New Revision: 193664 > URL: http://svn.freebsd.org/changeset/base/193664 > > Log: > Fix and add a workaround on an issue of EtherIP packet with reversed > version field sent via gif(4)+if_bridge(4). The EtherIP > implementation found on FreeBSD 6.1, 6.2, 6.3, 7.0, 7.1, and 7.2 had > an interoperability issue because it sent the incorrect EtherIP > packets and discarded the correct ones. > > This change introduces the following two flags to gif(4): > > accept_rev_ethip_ver: accepts both correct EtherIP packets and ones > with reversed version field, if enabled. If disabled, the gif > accepts the correct packets only. This flag is enabled by > default. > > send_rev_ethip_ver: sends EtherIP packets with reversed version field > intentionally, if enabled. If disabled, the gif sends the correct > packets only. This flag is disabled by default. > > These flags are stored in struct gif_softc and can be set by > ifconfig(8) on per-interface basis. > > Note that this is an incompatible change of EtherIP with the older > FreeBSD releases. If you need to interoperate older FreeBSD boxes and > new versions after this commit, setting "send_rev_ethip_ver" is > needed. > > Reviewed by: thompsa and rwatson > Spotted by: Shunsuke SHINOMIYA > PR: kern/125003 > MFC after: 2 weeks > > Added: > head/sbin/ifconfig/ifgif.c (contents, props changed) > Modified: > head/sbin/ifconfig/Makefile > head/share/man/man4/gif.4 > head/share/man/man4/if_bridge.4 > head/sys/net/if_gif.c > head/sys/net/if_gif.h > head/sys/netinet/in_gif.c > head/sys/netinet6/in6_gif.c > head/sys/sys/priv.h > .... > Modified: head/sys/net/if_gif.c > ============================================================================== > --- head/sys/net/if_gif.c Sun Jun 7 22:55:48 2009 (r193663) > +++ head/sys/net/if_gif.c Sun Jun 7 23:00:40 2009 (r193664) > @@ -653,6 +670,7 @@ gif_ioctl(ifp, cmd, data) > struct gif_softc *sc = ifp->if_softc; > struct ifreq *ifr = (struct ifreq*)data; > int error = 0, size; > + u_int options; > struct sockaddr *dst, *src; > #ifdef SIOCSIFMTU /* xxx */ > u_long mtu; > @@ -887,6 +905,24 @@ gif_ioctl(ifp, cmd, data) > /* if_ioctl() takes care of it */ > break; > > + case GIFGOPTS: > + options = sc->gif_options; > + error = copyout(&options, ifr->ifr_data, > + sizeof(options)); > + break; > + > + case GIFSOPTS: > + if ((error = priv_check(curthread, PRIV_NET_GIF)) != 0) > + break; > + if ((error = copyin(&options, &sc->gif_options, > + sizeof(sc->gif_options)))) { > + if ((options | GIF_FULLOPTS) == GIF_FULLOPTS) > + ifr->ifr_data = (caddr_t)options; > + else > + error = EINVAL; > + } > + break; > + > default: > error = EINVAL; > break; As noticed by ps there is a build problem here. It seems it is the result of some reversed logic. Does this patch look ok? http://people.freebsd.org/~bz/20090608-03-if_gif.c.diff -- Bjoern A. Zeeb The greatest risk is not taking one. From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:01:14 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD1131065680; Mon, 8 Jun 2009 21:01:14 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9762C8FC19; Mon, 8 Jun 2009 21:01:14 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58L1ErI043337; Mon, 8 Jun 2009 21:01:14 GMT (envelope-from gnn@svn.freebsd.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58L1EHi043331; Mon, 8 Jun 2009 21:01:14 GMT (envelope-from gnn@svn.freebsd.org) Message-Id: <200906082101.n58L1EHi043331@svn.freebsd.org> From: "George V. Neville-Neil" Date: Mon, 8 Jun 2009 21:01:14 +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: r193754 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/cxgb/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:01:16 -0000 Author: gnn Date: Mon Jun 8 21:01:14 2009 New Revision: 193754 URL: http://svn.freebsd.org/changeset/base/193754 Log: MFC of 190206 190330 192537 192 540 192584 192593 192933 Bring the 7.x version of the cxgb driver up to date with respect to HEAD as of 8 June 2009 192933 Rework interrupt bringup and teardown. Calculate the exact number of vectors we'll use before calling pci_alloc_msix. Don't grab nine all the time. Call cxgb_setup_interrupts once per T3, not once per port. Ditto for cxgb_teardown_interrupts. Don't leak resources when interrupt setup fails in the middle. 192593 Partial reversion of previous commit. The CXGB_SHUTDOWN flag does NOT need to be inverted when doing an ifconfig down of an interface. 192584 Fix a possible panic cxgb_controller_attach() routine that would occur only if prepping the adapter failed. Slight adjustment to comments. Fix a bug whereby downing the interface didn't preven it from processing packets. 192540 Integrate three changes from Chelsio. 1) Add a sysctl that will say what type of PHYs exist on the card. 2) Fix a bug that occurs when an AEL 2005 PHY resets without a transciever in the card. 3) Unify the PHY link detection code. 192537 Modified the attach and detach routines to handle bringing ports up and down more cleanly. This addresses a problem where if we have the link flap during boot the driver would lock up the system. 190330 Minor updates to the Chelsio driver, including removing an LOR. 190206 Fix a bug in the recent update to the Chelsio driver. The tick routine was not being restarted in the init_locked routine which could resulted in loss of carrier when updating the MTU. Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/cxgb/common/cxgb_ael1002.c stable/7/sys/dev/cxgb/common/cxgb_common.h stable/7/sys/dev/cxgb/common/cxgb_t3_hw.c stable/7/sys/dev/cxgb/cxgb_adapter.h stable/7/sys/dev/cxgb/cxgb_main.c stable/7/sys/dev/cxgb/cxgb_sge.c Modified: stable/7/sys/dev/cxgb/common/cxgb_ael1002.c ============================================================================== --- stable/7/sys/dev/cxgb/common/cxgb_ael1002.c Mon Jun 8 20:50:38 2009 (r193753) +++ stable/7/sys/dev/cxgb/common/cxgb_ael1002.c Mon Jun 8 21:01:14 2009 (r193754) @@ -1160,6 +1160,7 @@ static int get_module_type(struct cphy * v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 131); if (v < 0) return v; + v &= 0xf0; if (v == 0x10) return phy_modtype_lrm; if (v == 0x40) @@ -1249,7 +1250,9 @@ static int ael2005_reset(struct cphy *ph return err; phy->modtype = (u8)err; - if (err == phy_modtype_twinax || err == phy_modtype_twinax_long) + if (err == phy_modtype_none || err == phy_modtype_unknown) + err = 0; + else if (err == phy_modtype_twinax || err == phy_modtype_twinax_long) err = ael2005_setup_twinax_edc(phy, err); else err = ael2005_setup_sr_edc(phy); Modified: stable/7/sys/dev/cxgb/common/cxgb_common.h ============================================================================== --- stable/7/sys/dev/cxgb/common/cxgb_common.h Mon Jun 8 20:50:38 2009 (r193753) +++ stable/7/sys/dev/cxgb/common/cxgb_common.h Mon Jun 8 21:01:14 2009 (r193754) @@ -709,7 +709,6 @@ int t3_slow_intr_handler(adapter_t *adap int t3_phy_intr_handler(adapter_t *adapter); void t3_link_changed(adapter_t *adapter, int port_id); -void t3_link_fault(adapter_t *adapter, int port_id); int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc); const struct adapter_info *t3_get_adapter_info(unsigned int board_id); int t3_seeprom_read(adapter_t *adapter, u32 addr, u32 *data); Modified: stable/7/sys/dev/cxgb/common/cxgb_t3_hw.c ============================================================================== --- stable/7/sys/dev/cxgb/common/cxgb_t3_hw.c Mon Jun 8 20:50:38 2009 (r193753) +++ stable/7/sys/dev/cxgb/common/cxgb_t3_hw.c Mon Jun 8 21:01:14 2009 (r193754) @@ -1288,6 +1288,49 @@ static void t3_open_rx_traffic(struct cm t3_write_reg(mac->adapter, A_XGM_RX_HASH_LOW, rx_hash_low); } +static int t3_detect_link_fault(adapter_t *adapter, int port_id) +{ + struct port_info *pi = adap2pinfo(adapter, port_id); + struct cmac *mac = &pi->mac; + uint32_t rx_cfg, rx_hash_high, rx_hash_low; + int link_fault; + + /* stop rx */ + t3_gate_rx_traffic(mac, &rx_cfg, &rx_hash_high, &rx_hash_low); + t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0); + + /* clear status and make sure intr is enabled */ + (void) t3_read_reg(adapter, A_XGM_INT_STATUS + mac->offset); + t3_xgm_intr_enable(adapter, port_id); + + /* restart rx */ + t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, F_RXEN); + t3_open_rx_traffic(mac, rx_cfg, rx_hash_high, rx_hash_low); + + link_fault = t3_read_reg(adapter, A_XGM_INT_STATUS + mac->offset); + return (link_fault & F_LINKFAULTCHANGE ? 1 : 0); +} + +static void t3_clear_faults(adapter_t *adapter, int port_id) +{ + struct port_info *pi = adap2pinfo(adapter, port_id); + struct cmac *mac = &pi->mac; + + t3_set_reg_field(adapter, A_XGM_TXFIFO_CFG + mac->offset, + F_ENDROPPKT, 0); + t3_mac_enable(mac, MAC_DIRECTION_TX | MAC_DIRECTION_RX); + t3_set_reg_field(adapter, A_XGM_STAT_CTRL + mac->offset, F_CLRSTATS, 1); + + if (adapter->params.nports <= 2) { + t3_xgm_intr_disable(adapter, pi->port_id); + t3_read_reg(adapter, A_XGM_INT_STATUS + mac->offset); + t3_write_reg(adapter, A_XGM_INT_CAUSE + mac->offset, F_XGM_INT); + t3_set_reg_field(adapter, A_XGM_INT_ENABLE + mac->offset, + F_XGM_INT, F_XGM_INT); + t3_xgm_intr_enable(adapter, pi->port_id); + } +} + /** * t3_link_changed - handle interface link changes * @adapter: the adapter @@ -1299,34 +1342,47 @@ static void t3_open_rx_traffic(struct cm */ void t3_link_changed(adapter_t *adapter, int port_id) { - int link_ok, speed, duplex, fc; + int link_ok, speed, duplex, fc, link_fault, link_change; struct port_info *pi = adap2pinfo(adapter, port_id); struct cphy *phy = &pi->phy; struct cmac *mac = &pi->mac; struct link_config *lc = &pi->link_config; - int force_link_down = 0; + + link_ok = lc->link_ok; + speed = lc->speed; + duplex = lc->duplex; + fc = lc->fc; + link_fault = 0; phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc); - if (!lc->link_ok && link_ok && adapter->params.nports <= 2) { - u32 rx_cfg, rx_hash_high, rx_hash_low; - u32 status; + /* + * Check for link faults if any of these is true: + * a) A link fault is suspected, and PHY says link ok + * b) PHY link transitioned from down -> up + */ + if (adapter->params.nports <= 2 && + ((pi->link_fault && link_ok) || (!lc->link_ok && link_ok))) { + + link_fault = t3_detect_link_fault(adapter, port_id); + if (link_fault) { + if (pi->link_fault != LF_YES) { + mac->stats.link_faults++; + pi->link_fault = LF_YES; + } - t3_xgm_intr_enable(adapter, port_id); - t3_gate_rx_traffic(mac, &rx_cfg, &rx_hash_high, &rx_hash_low); - t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0); - t3_mac_enable(mac, MAC_DIRECTION_RX); + /* Don't report link up or any other change */ + link_ok = 0; + speed = lc->speed; + duplex = lc->duplex; + fc = lc->fc; + } else { + /* clear faults here if this was a false alarm. */ + if (pi->link_fault == LF_MAYBE && + link_ok && lc->link_ok) + t3_clear_faults(adapter, port_id); - status = t3_read_reg(adapter, A_XGM_INT_STATUS + mac->offset); - if (status & F_LINKFAULTCHANGE) { - mac->stats.link_faults++; - force_link_down = 1; - } - t3_open_rx_traffic(mac, rx_cfg, rx_hash_high, rx_hash_low); - - if (force_link_down) { - t3_os_link_fault_handler(adapter, port_id); - return; + pi->link_fault = LF_NO; } } @@ -1339,75 +1395,65 @@ void t3_link_changed(adapter_t *adapter, duplex == lc->duplex && fc == lc->fc) return; /* nothing changed */ - if (link_ok != lc->link_ok && adapter->params.rev > 0 && - uses_xaui(adapter)) { - if (link_ok) - t3b_pcs_reset(mac); - t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset, - link_ok ? F_TXACTENABLE | F_RXEN : 0); - } + link_change = link_ok != lc->link_ok; lc->link_ok = (unsigned char)link_ok; lc->speed = speed < 0 ? SPEED_INVALID : speed; lc->duplex = duplex < 0 ? DUPLEX_INVALID : duplex; - if (link_ok && speed >= 0 && lc->autoneg == AUTONEG_ENABLE) { - /* Set MAC speed, duplex, and flow control to match PHY. */ - t3_mac_set_speed_duplex_fc(mac, speed, duplex, fc); - lc->fc = (unsigned char)fc; - } + if (link_ok) { - t3_os_link_changed(adapter, port_id, link_ok, speed, duplex, fc); -} - -void t3_link_fault(adapter_t *adapter, int port_id) -{ - struct port_info *pi = adap2pinfo(adapter, port_id); - struct cmac *mac = &pi->mac; - struct cphy *phy = &pi->phy; - struct link_config *lc = &pi->link_config; - int link_ok, speed, duplex, fc, link_fault; - u32 rx_cfg, rx_hash_high, rx_hash_low; + /* down -> up, or up -> up with changed settings */ - if (!pi->link_fault) - return; /* nothing to do */ + if (link_change && adapter->params.rev > 0 && + uses_xaui(adapter)) { + t3b_pcs_reset(mac); + t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset, + F_TXACTENABLE | F_RXEN); + } - t3_gate_rx_traffic(mac, &rx_cfg, &rx_hash_high, &rx_hash_low); + if (speed >= 0 && lc->autoneg == AUTONEG_ENABLE) { + /* Set MAC settings to match PHY. */ + t3_mac_set_speed_duplex_fc(mac, speed, duplex, fc); + lc->fc = (unsigned char)fc; + } - if (adapter->params.rev > 0 && uses_xaui(adapter)) - t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset, 0); + t3_clear_faults(adapter, port_id); - t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0); - t3_mac_enable(mac, MAC_DIRECTION_RX); + } else { - t3_open_rx_traffic(mac, rx_cfg, rx_hash_high, rx_hash_low); + /* up -> down */ - link_fault = t3_read_reg(adapter, - A_XGM_INT_STATUS + mac->offset); - link_fault &= F_LINKFAULTCHANGE; + if (adapter->params.rev > 0 && uses_xaui(adapter)) { + t3_write_reg(adapter, + A_XGM_XAUI_ACT_CTRL + mac->offset, 0); + } - phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc); + t3_xgm_intr_disable(adapter, pi->port_id); + if (adapter->params.nports <= 2) { + t3_set_reg_field(adapter, + A_XGM_INT_ENABLE + mac->offset, + F_XGM_INT, 0); + } - if (link_fault) { - lc->link_ok = 0; - lc->speed = SPEED_INVALID; - lc->duplex = DUPLEX_INVALID; - - t3_os_link_fault(adapter, port_id, 0); - - /* Account link faults only when the phy reports a link up */ - if (link_ok) - mac->stats.link_faults++; - } else { - if (link_ok) - t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset, - F_TXACTENABLE | F_RXEN); + if (!link_fault) { + if (is_10G(adapter)) + pi->phy.ops->power_down(&pi->phy, 1); + t3_mac_disable(mac, MAC_DIRECTION_RX); + t3_link_start(phy, mac, lc); + } - pi->link_fault = 0; - lc->link_ok = (unsigned char)link_ok; - lc->speed = speed < 0 ? SPEED_INVALID : speed; - lc->duplex = duplex < 0 ? DUPLEX_INVALID : duplex; - t3_os_link_fault(adapter, port_id, link_ok); + /* + * Make sure Tx FIFO continues to drain, even as rxen is left + * high to help detect and indicate remote faults. + */ + t3_set_reg_field(adapter, A_XGM_TXFIFO_CFG + mac->offset, 0, + F_ENDROPPKT); + t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0); + t3_write_reg(adapter, A_XGM_TX_CTRL + mac->offset, F_TXEN); + t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, F_RXEN); } + + t3_os_link_changed(adapter, port_id, link_ok, speed, duplex, fc); } /** @@ -1906,10 +1952,12 @@ static void mc7_intr_handler(struct mc7 static int mac_intr_handler(adapter_t *adap, unsigned int idx) { u32 cause; + struct port_info *pi; struct cmac *mac; idx = idx == 0 ? 0 : adapter_info(adap)->nports0; /* MAC idx -> port */ - mac = &adap2pinfo(adap, idx)->mac; + pi = adap2pinfo(adap, idx); + mac = &pi->mac; /* * We mask out interrupt causes for which we're not taking interrupts. @@ -1942,9 +1990,9 @@ static int mac_intr_handler(adapter_t *a t3_set_reg_field(adap, A_XGM_INT_ENABLE + mac->offset, F_XGM_INT, 0); - mac->stats.link_faults++; - t3_os_link_fault_handler(adap, idx); + /* link fault suspected */ + pi->link_fault = LF_MAYBE; } t3_write_reg(adap, A_XGM_INT_CAUSE + mac->offset, cause); Modified: stable/7/sys/dev/cxgb/cxgb_adapter.h ============================================================================== --- stable/7/sys/dev/cxgb/cxgb_adapter.h Mon Jun 8 20:50:38 2009 (r193753) +++ stable/7/sys/dev/cxgb/cxgb_adapter.h Mon Jun 8 21:01:14 2009 (r193754) @@ -107,6 +107,12 @@ extern int cxgb_debug; #define SX_DESTROY sx_destroy #endif +enum { + LF_NO = 0, + LF_MAYBE, + LF_YES +}; + struct port_info { struct adapter *adapter; struct ifnet *ifp; @@ -130,7 +136,6 @@ struct port_info { uint8_t hw_addr[ETHER_ADDR_LEN]; struct task timer_reclaim_task; - struct task link_fault_task; struct cdev *port_cdev; #define PORT_LOCK_NAME_LEN 32 @@ -394,6 +399,7 @@ struct adapter { device_t portdev[MAX_NPORTS]; struct t3cdev tdev; char fw_version[64]; + char port_types[MAX_NPORTS + 1]; uint32_t open_device_map; uint32_t registered_device_map; #ifdef USE_SX @@ -436,6 +442,7 @@ struct t3_rx_mode { #define ADAPTER_LOCK_INIT(adap, name) SX_INIT(&(adap)->lock, name) #define ADAPTER_LOCK_DEINIT(adap) SX_DESTROY(&(adap)->lock) #define ADAPTER_LOCK_ASSERT_NOTOWNED(adap) sx_assert(&(adap)->lock, SA_UNLOCKED) +#define ADAPTER_LOCK_ASSERT_OWNED(adap) sx_assert(&(adap)->lock, SA_LOCKED) #else #define PORT_LOCK(port) mtx_lock(&(port)->lock); #define PORT_UNLOCK(port) mtx_unlock(&(port)->lock); @@ -447,7 +454,8 @@ struct t3_rx_mode { #define ADAPTER_UNLOCK(adap) mtx_unlock(&(adap)->lock); #define ADAPTER_LOCK_INIT(adap, name) mtx_init(&(adap)->lock, name, 0, MTX_DEF) #define ADAPTER_LOCK_DEINIT(adap) mtx_destroy(&(adap)->lock) -#define ADAPTER_LOCK_ASSERT_NOTOWNED(adap) mtx_assert(&(adap)->lock, MO_NOTOWNED) +#define ADAPTER_LOCK_ASSERT_NOTOWNED(adap) mtx_assert(&(adap)->lock, MA_NOTOWNED) +#define ADAPTER_LOCK_ASSERT_OWNED(adap) mtx_assert(&(adap)->lock, MA_OWNED) #endif @@ -531,8 +539,6 @@ int t3_os_pci_restore_state(struct adapt void t3_os_link_changed(adapter_t *adapter, int port_id, int link_status, int speed, int duplex, int fc); void t3_os_phymod_changed(struct adapter *adap, int port_id); -void t3_os_link_fault(adapter_t *adapter, int port_id, int state); -void t3_os_link_fault_handler(adapter_t *adapter, int port_id); void t3_sge_err_intr_handler(adapter_t *adapter); int t3_offload_tx(struct t3cdev *, struct mbuf *); void t3_os_ext_intr_handler(adapter_t *adapter); Modified: stable/7/sys/dev/cxgb/cxgb_main.c ============================================================================== --- stable/7/sys/dev/cxgb/cxgb_main.c Mon Jun 8 20:50:38 2009 (r193753) +++ stable/7/sys/dev/cxgb/cxgb_main.c Mon Jun 8 21:01:14 2009 (r193754) @@ -76,22 +76,14 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef CONFIG_DEFINED #include -#else -#include -#endif #ifdef PRIV_SUPPORTED #include #endif -#ifdef IFNET_MULTIQUEUE -#include -#endif - -static int cxgb_setup_msix(adapter_t *, int); -static void cxgb_teardown_msix(adapter_t *); +static int cxgb_setup_interrupts(adapter_t *); +static void cxgb_teardown_interrupts(adapter_t *); static void cxgb_init(void *); static void cxgb_init_locked(struct port_info *); static void cxgb_stop_locked(struct port_info *); @@ -123,7 +115,7 @@ static int offload_open(struct port_info static void touch_bars(device_t dev); static int offload_close(struct t3cdev *tdev); static void cxgb_link_start(struct port_info *p); -static void cxgb_link_fault(void *arg, int ncount); +int t3_detect_link_fault(adapter_t *adapter, int port_id); static device_method_t cxgb_controller_methods[] = { DEVMETHOD(device_probe, cxgb_controller_probe), @@ -183,8 +175,6 @@ static struct cdevsw cxgb_cdevsw = { static devclass_t cxgb_port_devclass; DRIVER_MODULE(cxgb, cxgbc, cxgb_port_driver, cxgb_port_devclass, 0, 0); -#define SGE_MSIX_COUNT (SGE_QSETS + 1) - /* * The driver uses the best interrupt scheme available on a platform in the * order MSI-X, MSI, legacy pin interrupts. This parameter determines which @@ -212,17 +202,17 @@ SYSCTL_UINT(_hw_cxgb, OID_AUTO, ofld_dis /* * The driver uses an auto-queue algorithm by default. - * To disable it and force a single queue-set per port, use singleq = 1. + * To disable it and force a single queue-set per port, use multiq = 0 */ -static int singleq = 0; -TUNABLE_INT("hw.cxgb.singleq", &singleq); -SYSCTL_UINT(_hw_cxgb, OID_AUTO, singleq, CTLFLAG_RDTUN, &singleq, 0, - "use a single queue-set per port"); - +static int multiq = 1; +TUNABLE_INT("hw.cxgb.multiq", &multiq); +SYSCTL_UINT(_hw_cxgb, OID_AUTO, multiq, CTLFLAG_RDTUN, &multiq, 0, + "use min(ncpus/ports, 8) queue-sets per port"); /* - * The driver uses an auto-queue algorithm by default. - * To disable it and force a single queue-set per port, use singleq = 1. + * By default the driver will not update the firmware unless + * it was compiled against a newer version + * */ static int force_fw_update = 0; TUNABLE_INT("hw.cxgb.force_fw_update", &force_fw_update); @@ -234,15 +224,6 @@ TUNABLE_INT("hw.cxgb.use_16k_clusters", SYSCTL_UINT(_hw_cxgb, OID_AUTO, use_16k_clusters, CTLFLAG_RDTUN, &cxgb_use_16k_clusters, 0, "use 16kB clusters for the jumbo queue "); -/* - * Tune the size of the output queue. - */ -int cxgb_snd_queue_len = IFQ_MAXLEN; -TUNABLE_INT("hw.cxgb.snd_queue_len", &cxgb_snd_queue_len); -SYSCTL_UINT(_hw_cxgb, OID_AUTO, snd_queue_len, CTLFLAG_RDTUN, - &cxgb_snd_queue_len, 0, "send queue size "); - - enum { MAX_TXQ_ENTRIES = 16384, MAX_CTRL_TXQ_ENTRIES = 1024, @@ -307,31 +288,6 @@ struct cxgb_ident { static int set_eeprom(struct port_info *pi, const uint8_t *data, int len, int offset); -void -cxgb_log_tcb(struct adapter *sc, unsigned int tid) -{ - char buf[TCB_SIZE]; - uint64_t *tcb = (uint64_t *)buf; - int i, error; - struct mc7 *mem = &sc->cm; - - error = t3_mc7_bd_read(mem, tid*TCB_SIZE/8, TCB_SIZE/8, tcb); - if (error) - printf("cxgb_tcb_log failed\n"); - - CTR1(KTR_CXGB, "TCB tid=%u", tid); - for (i = 0; i < TCB_SIZE / 32; i++) { - CTR5(KTR_CXGB, "%1d: %08x %08x %08x %08x", - i, (uint32_t)tcb[1], (uint32_t)(tcb[1] >> 32), - (uint32_t)tcb[0], (uint32_t)(tcb[0] >> 32)); - tcb += 2; - CTR4(KTR_CXGB, " %08x %08x %08x %08x", - (uint32_t)tcb[1], (uint32_t)(tcb[1] >> 32), - (uint32_t)tcb[0], (uint32_t)(tcb[0] >> 32)); - tcb += 2; - } -} - static __inline char t3rev2char(struct adapter *adapter) { @@ -371,7 +327,7 @@ cxgb_get_adapter_info(device_t dev) { struct cxgb_ident *id; const struct adapter_info *ai; - + id = cxgb_get_ident(dev); if (id == NULL) return (NULL); @@ -400,15 +356,15 @@ cxgb_controller_probe(device_t dev) ports = "ports"; snprintf(buf, sizeof(buf), "%s %sNIC, rev: %d nports: %d %s", - ai->desc, is_offload(sc) ? "R" : "", - sc->params.rev, nports, ports); + ai->desc, is_offload(sc) ? "R" : "", + sc->params.rev, nports, ports); device_set_desc_copy(dev, buf); return (BUS_PROBE_DEFAULT); } #define FW_FNAME "cxgb_t3fw" -#define TPEEPROM_NAME "t3%c_tp_eeprom" -#define TPSRAM_NAME "t3%c_protocol_sram" +#define TPEEPROM_NAME "cxgb_t3%c_tp_eeprom" +#define TPSRAM_NAME "cxgb_t3%c_protocol_sram" static int upgrade_fw(adapter_t *sc) @@ -434,6 +390,32 @@ upgrade_fw(adapter_t *sc) return (status); } +/* + * The cxgb_controller_attach function is responsible for the initial + * bringup of the device. Its responsibilities include: + * + * 1. Determine if the device supports MSI or MSI-X. + * 2. Allocate bus resources so that we can access the Base Address Register + * 3. Create and initialize mutexes for the controller and its control + * logic such as SGE and MDIO. + * 4. Call hardware specific setup routine for the adapter as a whole. + * 5. Allocate the BAR for doing MSI-X. + * 6. Setup the line interrupt iff MSI-X is not supported. + * 7. Create the driver's taskq. + * 8. Start one task queue service thread. + * 9. Check if the firmware and SRAM are up-to-date. They will be + * auto-updated later (before FULL_INIT_DONE), if required. + * 10. Create a child device for each MAC (port) + * 11. Initialize T3 private state. + * 12. Trigger the LED + * 13. Setup offload iff supported. + * 14. Reset/restart the tick callout. + * 15. Attach sysctls + * + * NOTE: Any modification or deviation from this list MUST be reflected in + * the above comment. Failure to do so will result in problems on various + * error conditions including link flapping. + */ static int cxgb_controller_attach(device_t dev) { @@ -533,46 +515,52 @@ cxgb_controller_attach(device_t dev) (sc->msix_regs_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->msix_regs_rid, RF_ACTIVE)) != NULL) { - msi_needed = sc->msi_count = SGE_MSIX_COUNT; - - if (((error = pci_alloc_msix(dev, &sc->msi_count)) != 0) || - (sc->msi_count != msi_needed)) { - device_printf(dev, "msix allocation failed - msi_count = %d" - " msi_needed=%d will try msi err=%d\n", sc->msi_count, - msi_needed, error); + if (multiq) + port_qsets = min(SGE_QSETS/sc->params.nports, mp_ncpus); + msi_needed = sc->msi_count = sc->params.nports * port_qsets + 1; + + if (pci_msix_count(dev) == 0 || + (error = pci_alloc_msix(dev, &sc->msi_count)) != 0 || + sc->msi_count != msi_needed) { + device_printf(dev, "alloc msix failed - " + "msi_count=%d, msi_needed=%d, err=%d; " + "will try MSI\n", sc->msi_count, + msi_needed, error); sc->msi_count = 0; + port_qsets = 1; pci_release_msi(dev); bus_release_resource(dev, SYS_RES_MEMORY, sc->msix_regs_rid, sc->msix_regs_res); sc->msix_regs_res = NULL; } else { sc->flags |= USING_MSIX; - sc->cxgb_intr = t3_intr_msix; + sc->cxgb_intr = cxgb_async_intr; + device_printf(dev, + "using MSI-X interrupts (%u vectors)\n", + sc->msi_count); } } if ((msi_allowed >= 1) && (sc->msi_count == 0)) { sc->msi_count = 1; - if (pci_alloc_msi(dev, &sc->msi_count)) { - device_printf(dev, "alloc msi failed - will try INTx\n"); + if ((error = pci_alloc_msi(dev, &sc->msi_count)) != 0) { + device_printf(dev, "alloc msi failed - " + "err=%d; will try INTx\n", error); sc->msi_count = 0; + port_qsets = 1; pci_release_msi(dev); } else { sc->flags |= USING_MSI; - sc->irq_rid = 1; sc->cxgb_intr = t3_intr_msi; + device_printf(dev, "using MSI interrupts\n"); } } #endif if (sc->msi_count == 0) { device_printf(dev, "using line interrupts\n"); - sc->irq_rid = 0; sc->cxgb_intr = t3b_intr; } - if ((sc->flags & USING_MSIX) && !singleq) - port_qsets = min((SGE_QSETS/(sc)->params.nports), mp_ncpus); - /* Create a private taskqueue thread for handling driver events */ #ifdef TASKQUEUE_CURRENT sc->tq = taskqueue_create("cxgb_taskq", M_NOWAIT, @@ -667,6 +655,10 @@ cxgb_controller_attach(device_t dev) sc->params.vpd.ec, sc->params.vpd.sn); device_set_desc_copy(dev, buf); + snprintf(&sc->port_types[0], sizeof(sc->port_types), "%x%x%x%x", + sc->params.vpd.port_type[0], sc->params.vpd.port_type[1], + sc->params.vpd.port_type[2], sc->params.vpd.port_type[3]); + device_printf(sc->dev, "Firmware Version %s\n", &sc->fw_version[0]); callout_reset(&sc->cxgb_tick_ch, CXGB_TICKS(sc), cxgb_tick, sc); t3_add_attach_sysctls(sc); @@ -677,6 +669,11 @@ out: return (error); } +/* + * The cxgb_controller_detach routine is called with the device is + * unloaded from the system. + */ + static int cxgb_controller_detach(device_t dev) { @@ -689,6 +686,24 @@ cxgb_controller_detach(device_t dev) return (0); } +/* + * The cxgb_free() is called by the cxgb_controller_detach() routine + * to tear down the structures that were built up in + * cxgb_controller_attach(), and should be the final piece of work + * done when fully unloading the driver. + * + * + * 1. Shutting down the threads started by the cxgb_controller_attach() + * routine. + * 2. Stopping the lower level device and all callouts (cxgb_down_locked()). + * 3. Detaching all of the port devices created during the + * cxgb_controller_attach() routine. + * 4. Removing the device children created via cxgb_controller_attach(). + * 5. Releasing PCI resources associated with the device. + * 6. Turning off the offload support, iff it was turned on. + * 7. Destroying the mutexes created in cxgb_controller_attach(). + * + */ static void cxgb_free(struct adapter *sc) { @@ -697,14 +712,30 @@ cxgb_free(struct adapter *sc) ADAPTER_LOCK(sc); sc->flags |= CXGB_SHUTDOWN; ADAPTER_UNLOCK(sc); + cxgb_pcpu_shutdown_threads(sc); - ADAPTER_LOCK(sc); -/* - * drops the lock - */ + ADAPTER_LOCK(sc); cxgb_down_locked(sc); + ADAPTER_UNLOCK(sc); + + t3_sge_deinit_sw(sc); + /* + * Wait for last callout + */ + DELAY(hz*100); + + bus_generic_detach(sc->dev); + + for (i = 0; i < (sc)->params.nports; i++) { + if (sc->portdev[i] && + device_delete_child(sc->dev, sc->portdev[i]) != 0) + device_printf(sc->dev, "failed to delete child port\n"); + } + + cxgb_teardown_interrupts(sc); + #ifdef MSI_SUPPORTED if (sc->flags & (USING_MSI | USING_MSIX)) { device_printf(sc->dev, "releasing msi message(s)\n"); @@ -712,25 +743,13 @@ cxgb_free(struct adapter *sc) } else { device_printf(sc->dev, "no msi message to release\n"); } -#endif + if (sc->msix_regs_res != NULL) { bus_release_resource(sc->dev, SYS_RES_MEMORY, sc->msix_regs_rid, sc->msix_regs_res); } +#endif - t3_sge_deinit_sw(sc); - /* - * Wait for last callout - */ - - DELAY(hz*100); - - for (i = 0; i < (sc)->params.nports; ++i) { - if (sc->portdev[i] != NULL) - device_delete_child(sc->dev, sc->portdev[i]); - } - - bus_generic_detach(sc->dev); if (sc->tq != NULL) { taskqueue_free(sc->tq); sc->tq = NULL; @@ -809,88 +828,116 @@ setup_sge_qsets(adapter_t *sc) } static void -cxgb_teardown_msix(adapter_t *sc) +cxgb_teardown_interrupts(adapter_t *sc) { - int i, nqsets; - - for (nqsets = i = 0; i < (sc)->params.nports; i++) - nqsets += sc->port[i].nqsets; + int i; - for (i = 0; i < nqsets; i++) { - if (sc->msix_intr_tag[i] != NULL) { - bus_teardown_intr(sc->dev, sc->msix_irq_res[i], - sc->msix_intr_tag[i]); - sc->msix_intr_tag[i] = NULL; - } - if (sc->msix_irq_res[i] != NULL) { - bus_release_resource(sc->dev, SYS_RES_IRQ, - sc->msix_irq_rid[i], sc->msix_irq_res[i]); - sc->msix_irq_res[i] = NULL; + for (i = 0; i < SGE_QSETS; i++) { + if (sc->msix_intr_tag[i] == NULL) { + + /* Should have been setup fully or not at all */ + KASSERT(sc->msix_irq_res[i] == NULL && + sc->msix_irq_rid[i] == 0, + ("%s: half-done interrupt (%d).", __func__, i)); + + continue; } + + bus_teardown_intr(sc->dev, sc->msix_irq_res[i], + sc->msix_intr_tag[i]); + bus_release_resource(sc->dev, SYS_RES_IRQ, sc->msix_irq_rid[i], + sc->msix_irq_res[i]); + + sc->msix_irq_res[i] = sc->msix_intr_tag[i] = NULL; + sc->msix_irq_rid[i] = 0; } -} -static int -cxgb_setup_msix(adapter_t *sc, int msix_count) -{ - int i, j, k, nqsets, rid; + if (sc->intr_tag) { + KASSERT(sc->irq_res != NULL, + ("%s: half-done interrupt.", __func__)); - /* The first message indicates link changes and error conditions */ - sc->irq_rid = 1; - if ((sc->irq_res = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, - &sc->irq_rid, RF_SHAREABLE | RF_ACTIVE)) == NULL) { - device_printf(sc->dev, "Cannot allocate msix interrupt\n"); - return (EINVAL); + bus_teardown_intr(sc->dev, sc->irq_res, sc->intr_tag); + bus_release_resource(sc->dev, SYS_RES_IRQ, sc->irq_rid, + sc->irq_res); + + sc->irq_res = sc->intr_tag = NULL; + sc->irq_rid = 0; } +} - if (bus_setup_intr(sc->dev, sc->irq_res, INTR_MPSAFE|INTR_TYPE_NET, +static int +cxgb_setup_interrupts(adapter_t *sc) +{ + struct resource *res; + void *tag; + int i, rid, err, intr_flag = sc->flags & (USING_MSI | USING_MSIX); + + sc->irq_rid = intr_flag ? 1 : 0; + sc->irq_res = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, &sc->irq_rid, + RF_SHAREABLE | RF_ACTIVE); + if (sc->irq_res == NULL) { + device_printf(sc->dev, "Cannot allocate interrupt (%x, %u)\n", + intr_flag, sc->irq_rid); + err = EINVAL; + sc->irq_rid = 0; + } else { + err = bus_setup_intr(sc->dev, sc->irq_res, + INTR_MPSAFE | INTR_TYPE_NET, #ifdef INTR_FILTERS - NULL, + NULL, #endif - cxgb_async_intr, sc, &sc->intr_tag)) { - device_printf(sc->dev, "Cannot set up interrupt\n"); - return (EINVAL); + sc->cxgb_intr, sc, &sc->intr_tag); + + if (err) { + device_printf(sc->dev, + "Cannot set up interrupt (%x, %u, %d)\n", + intr_flag, sc->irq_rid, err); + bus_release_resource(sc->dev, SYS_RES_IRQ, sc->irq_rid, + sc->irq_res); + sc->irq_res = sc->intr_tag = NULL; + sc->irq_rid = 0; + } } - for (i = k = 0; i < (sc)->params.nports; i++) { - nqsets = sc->port[i].nqsets; - for (j = 0; j < nqsets; j++, k++) { - struct sge_qset *qs = &sc->sge.qs[k]; - - rid = k + 2; - if (cxgb_debug) - printf("rid=%d ", rid); - if ((sc->msix_irq_res[k] = bus_alloc_resource_any( - sc->dev, SYS_RES_IRQ, &rid, - RF_SHAREABLE | RF_ACTIVE)) == NULL) { - device_printf(sc->dev, "Cannot allocate " - "interrupt for message %d\n", rid); - return (EINVAL); - } - sc->msix_irq_rid[k] = rid; - if (bus_setup_intr(sc->dev, sc->msix_irq_res[k], - INTR_MPSAFE|INTR_TYPE_NET, + + /* That's all for INTx or MSI */ + if (!(intr_flag & USING_MSIX) || err) + return (err); + + for (i = 0; i < sc->msi_count - 1; i++) { + rid = i + 2; + res = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, &rid, + RF_SHAREABLE | RF_ACTIVE); + if (res == NULL) { + device_printf(sc->dev, "Cannot allocate interrupt " + "for message %d\n", rid); + err = EINVAL; + break; + } + + err = bus_setup_intr(sc->dev, res, INTR_MPSAFE | INTR_TYPE_NET, #ifdef INTR_FILTERS - NULL, + NULL, #endif - t3_intr_msix, qs, &sc->msix_intr_tag[k])) { - device_printf(sc->dev, "Cannot set up " - "interrupt for message %d\n", rid); - return (EINVAL); - } -#ifdef IFNET_MULTIQUEUE - if (singleq == 0) { - int vector = rman_get_start(sc->msix_irq_res[k]); - if (bootverbose) - device_printf(sc->dev, "binding vector=%d to cpu=%d\n", vector, k % mp_ncpus); - intr_bind(vector, k % mp_ncpus); - } -#endif + t3_intr_msix, &sc->sge.qs[i], &tag); + if (err) { + device_printf(sc->dev, "Cannot set up interrupt " + "for message %d (%d)\n", rid, err); + bus_release_resource(sc->dev, SYS_RES_IRQ, rid, res); + break; } + + sc->msix_irq_rid[i] = rid; + sc->msix_irq_res[i] = res; + sc->msix_intr_tag[i] = tag; } - return (0); + if (err) + cxgb_teardown_interrupts(sc); + + return (err); } + static int cxgb_port_probe(device_t dev) { @@ -921,6 +968,12 @@ cxgb_makedev(struct port_info *pi) return (0); } +#ifndef LRO_SUPPORTED +#ifdef IFCAP_LRO +#undef IFCAP_LRO +#endif +#define IFCAP_LRO 0x0 +#endif #ifdef TSO_SUPPORTED #define CXGB_CAP (IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM | IFCAP_TSO | IFCAP_JUMBO_MTU | IFCAP_LRO) @@ -968,16 +1021,11 @@ cxgb_port_attach(device_t dev) ifp->if_ioctl = cxgb_ioctl; ifp->if_start = cxgb_start; -#if 0 -#ifdef IFNET_MULTIQUEUE - ifp->if_flags |= IFF_MULTIQ; - ifp->if_mq_start = cxgb_pcpu_start; -#endif -#endif + ifp->if_timer = 0; /* Disable ifnet watchdog */ ifp->if_watchdog = NULL; - ifp->if_snd.ifq_drv_maxlen = cxgb_snd_queue_len; + ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); IFQ_SET_READY(&ifp->if_snd); @@ -995,6 +1043,10 @@ cxgb_port_attach(device_t dev) } ether_ifattach(ifp, p->hw_addr); + +#ifdef IFNET_MULTIQUEUE + ifp->if_transmit = cxgb_pcpu_transmit; +#endif /* * Only default to jumbo frames on 10GigE */ @@ -1055,40 +1107,60 @@ cxgb_port_attach(device_t dev) bcopy(IF_LLADDR(p->ifp), p->hw_addr, ETHER_ADDR_LEN); t3_sge_init_port(p); - TASK_INIT(&p->link_fault_task, 0, cxgb_link_fault, p); - #if defined(LINK_ATTACH) cxgb_link_start(p); t3_link_changed(sc, p->port_id); #endif - return (0); + + return (err); } +/* + * cxgb_port_detach() is called via the device_detach methods when + * cxgb_free() calls the bus_generic_detach. It is responsible for + * removing the device from the view of the kernel, i.e. from all + * interfaces lists etc. This routine is only called when the driver is + * being unloaded, not when the link goes down. + * + */ static int cxgb_port_detach(device_t dev) { struct port_info *p; + struct adapter *sc; p = device_get_softc(dev); + sc = p->adapter; + + if (p->port_cdev != NULL) + destroy_dev(p->port_cdev); + + ether_ifdetach(p->ifp); PORT_LOCK(p); if (p->ifp->if_drv_flags & IFF_DRV_RUNNING) cxgb_stop_locked(p); PORT_UNLOCK(p); - ether_ifdetach(p->ifp); - printf("waiting for callout to stop ..."); - DELAY(1000000); - printf("done\n"); + callout_drain(&sc->cxgb_tick_ch); + callout_drain(&sc->sge_timer_ch); + + if (sc->tq != NULL) { + printf("draining slow intr\n"); + + taskqueue_drain(sc->tq, &sc->slow_intr_task); + printf("draining ext intr\n"); + taskqueue_drain(sc->tq, &sc->ext_intr_task); + printf("draining tick task\n"); + taskqueue_drain(sc->tq, &sc->tick_task); + } + /* * the lock may be acquired in ifdetach */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:14:22 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27FF1106571D; Mon, 8 Jun 2009 21:14:22 +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 135258FC0C; Mon, 8 Jun 2009 21:14:22 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LELRf043816; Mon, 8 Jun 2009 21:14:21 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LELnD043815; Mon, 8 Jun 2009 21:14:21 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <200906082114.n58LELnD043815@svn.freebsd.org> From: Michael Tuexen Date: Mon, 8 Jun 2009 21:14: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: r193759 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:14:25 -0000 Author: tuexen Date: Mon Jun 8 21:14:21 2009 New Revision: 193759 URL: http://svn.freebsd.org/changeset/base/193759 Log: Add myself. Approved by: rrs (mentor) Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Mon Jun 8 21:13:20 2009 (r193758) +++ head/share/misc/committers-src.dot Mon Jun 8 21:14:21 2009 (r193759) @@ -179,6 +179,7 @@ thompsa [label="Andrew Thompson\nthompsa ticso [label="Bernd Walter\nticso@FreeBSD.org\n2002/01/31"] trasz [label="Edward Tomasz Napierala\ntrasz@FreeBSD.org\n2008/08/22"] trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2002/05/28"] +tuexen [label="Michael Tuexen\ntuexen@FreeBSD.org\n2009/06/06"] ume [label="Hajimu UMEMOTO\nume@FreeBSD.org\n2000/02/26"] vanhu [label="Yvan Vanhullebus\nvanhu@FreeBSD.org\n2008/07/21"] versus [label="Konrad Jankowski\nversus@FreeBSD.org\n2008/10/27"] @@ -385,6 +386,8 @@ rgrimes -> markm rpaulo -> avg +rrs -> tuexen + ru -> ceri ru -> cjc ru -> eik From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:15:41 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 383F1106566B; Mon, 8 Jun 2009 21:15:41 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 273168FC24; Mon, 8 Jun 2009 21:15:41 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LFfpK043896; Mon, 8 Jun 2009 21:15:41 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LFfqk043895; Mon, 8 Jun 2009 21:15:41 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906082115.n58LFfqk043895@svn.freebsd.org> From: Sam Leffler Date: Mon, 8 Jun 2009 21:15: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: r193760 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:15:41 -0000 Author: sam Date: Mon Jun 8 21:15:40 2009 New Revision: 193760 URL: http://svn.freebsd.org/changeset/base/193760 Log: fix big-endian machines Modified: head/sys/net80211/ieee80211_radiotap.c Modified: head/sys/net80211/ieee80211_radiotap.c ============================================================================== --- head/sys/net80211/ieee80211_radiotap.c Mon Jun 8 21:14:21 2009 (r193759) +++ head/sys/net80211/ieee80211_radiotap.c Mon Jun 8 21:15:40 2009 (r193760) @@ -153,17 +153,17 @@ ieee80211_radiotap_chan_change(struct ie if (ic->ic_rxchan != NULL) { struct ieee80211_radiotap_header *rh = ic->ic_rh; - if (rh->it_present & (1<it_present & htole32(1<ic_rxchan, ic->ic_curchan); - else if (rh->it_present & (1<it_present & htole32(1<ic_rxchan, ic->ic_curchan); } if (ic->ic_txchan != NULL) { struct ieee80211_radiotap_header *th = ic->ic_th; - if (th->it_present & (1<it_present & htole32(1<ic_txchan, ic->ic_curchan); - else if (th->it_present & (1<it_present & htole32(1<ic_txchan, ic->ic_curchan); } } From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:16:06 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D8991065675; Mon, 8 Jun 2009 21:16:06 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4C7508FC17; Mon, 8 Jun 2009 21:16:06 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LG6Pq043945; Mon, 8 Jun 2009 21:16:06 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LG6jH043944; Mon, 8 Jun 2009 21:16:06 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906082116.n58LG6jH043944@svn.freebsd.org> From: Sam Leffler Date: Mon, 8 Jun 2009 21:16:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193761 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:16:07 -0000 Author: sam Date: Mon Jun 8 21:16:06 2009 New Revision: 193761 URL: http://svn.freebsd.org/changeset/base/193761 Log: purge dead code Modified: head/sys/net80211/ieee80211_radiotap.c Modified: head/sys/net80211/ieee80211_radiotap.c ============================================================================== --- head/sys/net80211/ieee80211_radiotap.c Mon Jun 8 21:15:40 2009 (r193760) +++ head/sys/net80211/ieee80211_radiotap.c Mon Jun 8 21:16:06 2009 (r193761) @@ -168,35 +168,6 @@ ieee80211_radiotap_chan_change(struct ie } } -#if 0 -static void -dispatch_radiotap(struct ieee80211vap *vap0, struct mbuf *m, - struct ieee80211_radiotap_header *rh) -{ - struct ieee80211com *ic = vap0->iv_ic; - int len = le16toh(rh->it_len); - - if (vap0->iv_flags_ext & IEEE80211_FEXT_BPF) - bpf_mtap2(vap0->iv_rawbpf, rh, len, m); - /* - * Spam monitor mode vaps with unicast frames. Multicast - * frames are handled by passing through ieee80211_input_all - * which distributes copies to the monitor mode vaps to be - * processed above. - */ - if (ic->ic_montaps != 0 && (m->m_flags & M_BCAST) == 0) { - struct ieee80211vap *vap; - TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) { - if (vap != vap0 && - vap->iv_opmode == IEEE80211_M_MONITOR && - (vap->iv_flags_ext & IEEE80211_FEXT_BPF) && - vap->iv_state != IEEE80211_S_INIT) - bpf_mtap2(vap->iv_rawbpf, rh, len, m); - } - } -} -#endif - /* * Distribute radiotap data (+packet) to all monitor mode * vaps with an active tap other than vap0. From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:23:54 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC83D1065670; Mon, 8 Jun 2009 21:23:54 +0000 (UTC) (envelope-from ps@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D11978FC1B; Mon, 8 Jun 2009 21:23:54 +0000 (UTC) (envelope-from ps@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LNsuD044151; Mon, 8 Jun 2009 21:23:54 GMT (envelope-from ps@svn.freebsd.org) Received: (from ps@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LNsdd044147; Mon, 8 Jun 2009 21:23:54 GMT (envelope-from ps@svn.freebsd.org) Message-Id: <200906082123.n58LNsdd044147@svn.freebsd.org> From: Paul Saab Date: Mon, 8 Jun 2009 21:23: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: r193762 - 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: Mon, 08 Jun 2009 21:23:55 -0000 Author: ps Date: Mon Jun 8 21:23:54 2009 New Revision: 193762 URL: http://svn.freebsd.org/changeset/base/193762 Log: Simply shared vnode locking and extend it to also include fsync. Also, in vop_write, no longer assert for exclusive locks on the vnode. Reviewed by: jhb, kmacy, jeffr Modified: head/sys/kern/vfs_syscalls.c head/sys/kern/vfs_vnops.c head/sys/kern/vnode_if.src head/sys/sys/mount.h Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Mon Jun 8 21:16:06 2009 (r193761) +++ head/sys/kern/vfs_syscalls.c Mon Jun 8 21:23:54 2009 (r193762) @@ -3476,7 +3476,7 @@ fsync(td, uap) struct mount *mp; struct file *fp; int vfslocked; - int error; + int error, lock_flags; AUDIT_ARG(fd, uap->fd); if ((error = getvnode(td->td_proc->p_fd, uap->fd, &fp)) != 0) @@ -3485,7 +3485,13 @@ fsync(td, uap) vfslocked = VFS_LOCK_GIANT(vp->v_mount); if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) goto drop; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + if (MNT_SHARED_WRITES(mp) || + ((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) { + lock_flags = LK_SHARED; + } else { + lock_flags = LK_EXCLUSIVE; + } + vn_lock(vp, lock_flags | LK_RETRY); AUDIT_ARG(vnode, vp, ARG_VNODE1); if (vp->v_object != NULL) { VM_OBJECT_LOCK(vp->v_object); Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Mon Jun 8 21:16:06 2009 (r193761) +++ head/sys/kern/vfs_vnops.c Mon Jun 8 21:23:54 2009 (r193762) @@ -376,8 +376,8 @@ vn_rdwr(rw, vp, base, len, offset, segfl (error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) return (error); - if (mp != NULL && - (mp->mnt_kern_flag & MNTK_SHARED_WRITES)) { + if (MNT_SHARED_WRITES(mp) || + ((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) { lock_flags = LK_SHARED; } else { lock_flags = LK_EXCLUSIVE; @@ -592,7 +592,8 @@ vn_write(fp, uio, active_cred, flags, td (error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) goto unlock; - if (mp != NULL && (mp->mnt_kern_flag & MNTK_SHARED_WRITES) && + if ((MNT_SHARED_WRITES(mp) || + ((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) && (flags & FOF_OFFSET) != 0) { lock_flags = LK_SHARED; } else { Modified: head/sys/kern/vnode_if.src ============================================================================== --- head/sys/kern/vnode_if.src Mon Jun 8 21:16:06 2009 (r193761) +++ head/sys/kern/vnode_if.src Mon Jun 8 21:23:54 2009 (r193762) @@ -197,7 +197,7 @@ vop_read { }; -%% write vp E E E +%% write vp L L L %! write pre VOP_WRITE_PRE %! write post VOP_WRITE_POST Modified: head/sys/sys/mount.h ============================================================================== --- head/sys/sys/mount.h Mon Jun 8 21:16:06 2009 (r193761) +++ head/sys/sys/mount.h Mon Jun 8 21:23:54 2009 (r193762) @@ -336,6 +336,9 @@ void __mnt_vnode_markerfree(str #define MNTK_LOOKUP_SHARED 0x40000000 /* FS supports shared lock lookups */ #define MNTK_NOKNOTE 0x80000000 /* Don't send KNOTEs from VOP hooks */ +#define MNT_SHARED_WRITES(mp) (((mp) != NULL) && \ + ((mp)->mnt_kern_flag & MNTK_SHARED_WRITES)) + /* * Sysctl CTL_VFS definitions. * From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:34:12 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BEB0E1065680; Mon, 8 Jun 2009 21:34:12 +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 911828FC13; Mon, 8 Jun 2009 21:34:12 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LYCAJ044427; Mon, 8 Jun 2009 21:34:12 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LYCOX044426; Mon, 8 Jun 2009 21:34:12 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906082134.n58LYCOX044426@svn.freebsd.org> From: "Simon L. Nielsen" Date: Mon, 8 Jun 2009 21:34:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193763 - vendor-crypto/openssl/dist/crypto/engine/vendor_defns X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:34:13 -0000 Author: simon Date: Mon Jun 8 21:34:12 2009 New Revision: 193763 URL: http://svn.freebsd.org/changeset/base/193763 Log: Remove empty directory which has been removed upstream. Deleted: vendor-crypto/openssl/dist/crypto/engine/vendor_defns/ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:34:13 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EAE94106568D; Mon, 8 Jun 2009 21:34:12 +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 BDAD98FC16; Mon, 8 Jun 2009 21:34:12 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LYC9E044432; Mon, 8 Jun 2009 21:34:12 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LYCwh044431; Mon, 8 Jun 2009 21:34:12 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906082134.n58LYCwh044431@svn.freebsd.org> From: "Simon L. Nielsen" Date: Mon, 8 Jun 2009 21:34:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193763 - vendor-crypto/openssl/dist/crypto/engine/vendor_defns X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:34:14 -0000 Author: simon Date: Mon Jun 8 21:34:12 2009 New Revision: 193763 URL: http://svn.freebsd.org/changeset/base/193763 Log: Remove empty directory which has been removed upstream. Deleted: vendor-crypto/openssl/dist/crypto/engine/vendor_defns/ From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:40:07 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 146C91065689; Mon, 8 Jun 2009 21:40:07 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [195.88.108.3]) by mx1.freebsd.org (Postfix) with ESMTP id BD4FD8FC26; Mon, 8 Jun 2009 21:40:06 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id E414141C72F; Mon, 8 Jun 2009 23:40:05 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([195.88.108.3]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id wrLnRnjOs+0P; Mon, 8 Jun 2009 23:40:05 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id 8C6FD41C712; Mon, 8 Jun 2009 23:40:05 +0200 (CEST) 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 EA8844448E6; Mon, 8 Jun 2009 21:39:14 +0000 (UTC) Date: Mon, 8 Jun 2009 21:39:14 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Ariff Abdullah In-Reply-To: <200906072338.n57NcGgu009269@svn.freebsd.org> Message-ID: <20090608213828.O22887@maildrop.int.zabbadoz.net> References: <200906072338.n57NcGgu009269@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: r193667 - head/sys/dev/sound/sbus X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:40:07 -0000 On Sun, 7 Jun 2009, Ariff Abdullah wrote: Hey, > Author: ariff > Date: Sun Jun 7 23:38:16 2009 > New Revision: 193667 > URL: http://svn.freebsd.org/changeset/base/193667 > > Log: > Fix build on sparc64. I am still seeing: /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231.c:290: warning: comparison of distinct pointer types lacks a cast /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231.c:291: warning: comparison of distinct pointer types lacks a cast /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231.c:293: warning: comparison of distinct pointer types lacks a cast /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231.c:305: warning: comparison of distinct pointer types lacks a cast > > Modified: > head/sys/dev/sound/sbus/cs4231.c > > Modified: head/sys/dev/sound/sbus/cs4231.c > ============================================================================== > --- head/sys/dev/sound/sbus/cs4231.c Sun Jun 7 23:16:59 2009 (r193666) > +++ head/sys/dev/sound/sbus/cs4231.c Sun Jun 7 23:38:16 2009 (r193667) > @@ -273,7 +273,7 @@ static u_int32_t cs4231_fmt[] = { > SND_FORMAT(AFMT_IMA_ADPCM, 1, 0), > SND_FORMAT(AFMT_IMA_ADPCM, 2, 0), > SND_FORMAT(AFMT_S16_LE, 1, 0), > - SND_FORMAT(S16_LE, 2, 0), > + SND_FORMAT(AFMT_S16_LE, 2, 0), > SND_FORMAT(AFMT_S16_BE, 1, 0), > SND_FORMAT(AFMT_S16_BE, 2, 0), > 0 > -- Bjoern A. Zeeb The greatest risk is not taking one. From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:42:30 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6F92106568D; Mon, 8 Jun 2009 21:42:30 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BAC378FC0A; Mon, 8 Jun 2009 21:42:30 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LgU1r044665; Mon, 8 Jun 2009 21:42:30 GMT (envelope-from brian@svn.freebsd.org) Received: (from brian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LgUKV044664; Mon, 8 Jun 2009 21:42:30 GMT (envelope-from brian@svn.freebsd.org) Message-Id: <200906082142.n58LgUKV044664@svn.freebsd.org> From: Brian Somers Date: Mon, 8 Jun 2009 21:42:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193765 - head/sbin/dhclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:42:31 -0000 Author: brian Date: Mon Jun 8 21:42:30 2009 New Revision: 193765 URL: http://svn.freebsd.org/changeset/base/193765 Log: Fix an off by one error when we limit append/prepend text sizes based on our internal buffer sizes. When we 'append', assume we're appending to text. Some MS dhcp servers will give us a string with the length including the trailing NUL. when we 'append domain-name', we get something like "search x.y\000 z" in resolv.conf :( MFC after: 1 week Security: A buffer overflow (by one NUL byte) was possible. Modified: head/sbin/dhclient/dhclient.c Modified: head/sbin/dhclient/dhclient.c ============================================================================== --- head/sbin/dhclient/dhclient.c Mon Jun 8 21:42:15 2009 (r193764) +++ head/sbin/dhclient/dhclient.c Mon Jun 8 21:42:30 2009 (r193765) @@ -1977,7 +1977,7 @@ supersede: len = ip->client-> config->defaults[i].len + lease->options[i].len; - if (len > sizeof(dbuf)) { + if (len >= sizeof(dbuf)) { warning("no space to %s %s", "prepend option", dhcp_options[i].name); @@ -1996,24 +1996,34 @@ supersede: dp[len] = '\0'; break; case ACTION_APPEND: + /* + * When we append, we assume that we're + * appending to text. Some MS servers + * include a NUL byte at the end of + * the search string provided. + */ len = ip->client-> config->defaults[i].len + lease->options[i].len; - if (len > sizeof(dbuf)) { + if (len >= sizeof(dbuf)) { warning("no space to %s %s", "append option", dhcp_options[i].name); goto supersede; } - dp = dbuf; - memcpy(dp, + memcpy(dbuf, lease->options[i].data, lease->options[i].len); - memcpy(dp + lease->options[i].len, + for (dp = dbuf + lease->options[i].len; + dp > dbuf; dp--, len--) + if (dp[-1] != '\0') + break; + memcpy(dp, ip->client-> config->defaults[i].data, ip->client-> config->defaults[i].len); + dp = dbuf; dp[len] = '\0'; } } else { From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:48:13 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0BDB1065693; Mon, 8 Jun 2009 21:48:13 +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 D9C978FC16; Mon, 8 Jun 2009 21:48:13 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LmDVv044944; Mon, 8 Jun 2009 21:48:13 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LmDSS044943; Mon, 8 Jun 2009 21:48:13 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <200906082148.n58LmDSS044943@svn.freebsd.org> From: Jung-uk Kim Date: Mon, 8 Jun 2009 21:48: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: r193768 - head/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:48:15 -0000 Author: jkim Date: Mon Jun 8 21:48:13 2009 New Revision: 193768 URL: http://svn.freebsd.org/changeset/base/193768 Log: Reflect debug level changes from the recent ACPICA import. Modified: head/share/man/man4/acpi.4 Modified: head/share/man/man4/acpi.4 ============================================================================== --- head/share/man/man4/acpi.4 Mon Jun 8 21:47:55 2009 (r193767) +++ head/share/man/man4/acpi.4 Mon Jun 8 21:48:13 2009 (r193768) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 29, 2006 +.Dd June 8, 2009 .Dt ACPI 4 .Os .Sh NAME @@ -451,10 +451,6 @@ ACPI drivers The supported levels are: .Pp .Bl -tag -compact -width ".Li ACPI_LV_AML_DISASSEMBLE" -.It Li ACPI_LV_ERROR -Fatal error conditions -.It Li ACPI_LV_WARN -Warnings and potential problems .It Li ACPI_LV_INIT Initialization progress .It Li ACPI_LV_DEBUG_OBJECT @@ -463,9 +459,7 @@ Stores to objects General information and progress .It Li ACPI_LV_ALL_EXCEPTIONS All the previous levels -.It Li ACPI_LV_INIT_NAMES .It Li ACPI_LV_PARSE -.It Li ACPI_LV_LOAD .It Li ACPI_LV_DISPATCH .It Li ACPI_LV_EXEC .It Li ACPI_LV_NAMES @@ -483,7 +477,10 @@ All the previous levels .It Li ACPI_LV_FUNCTIONS .It Li ACPI_LV_OPTIMIZATIONS .It Li ACPI_LV_VERBOSITY2 +All the previous levels .It Li ACPI_LV_ALL +Synonym for +.Qq Li ACPI_LV_VERBOSITY2 .It Li ACPI_LV_MUTEX .It Li ACPI_LV_THREADS .It Li ACPI_LV_IO @@ -497,6 +494,8 @@ All the previous levels .It Li ACPI_LV_VERBOSE All levels after .Qq Li ACPI_LV_VERBOSITY3 +.It Li ACPI_LV_INIT_NAMES +.It Li ACPI_LV_LOAD .El .Pp Selection of the appropriate layer and level values is important From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:52:22 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F7771065672; Mon, 8 Jun 2009 21:52:22 +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 082C38FC0A; Mon, 8 Jun 2009 21:52:22 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LqMc6045114; Mon, 8 Jun 2009 21:52:22 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LqLPj045113; Mon, 8 Jun 2009 21:52:21 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906082152.n58LqLPj045113@svn.freebsd.org> From: "Simon L. Nielsen" Date: Mon, 8 Jun 2009 21:52:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193770 - in vendor-crypto/openssl/dist: . apps apps/demoCA apps/demoCA/private apps/set bugs certs certs/demo certs/expired crypto crypto/aes crypto/aes/asm crypto/asn1 crypto/bf crypt... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:52:23 -0000 Author: simon Date: Mon Jun 8 21:52:20 2009 New Revision: 193770 URL: http://svn.freebsd.org/changeset/base/193770 Log: Re-enable keyword expansion, at least for now. Having keyword expension disabled on the vendor tree means merges to head removes the attributes there which clutters the merge. Modified: vendor-crypto/openssl/dist/CHANGES (props changed) vendor-crypto/openssl/dist/CHANGES.SSLeay (props changed) vendor-crypto/openssl/dist/Configure (props changed) vendor-crypto/openssl/dist/FAQ (props changed) vendor-crypto/openssl/dist/INSTALL (props changed) vendor-crypto/openssl/dist/LICENSE (props changed) vendor-crypto/openssl/dist/Makefile (props changed) vendor-crypto/openssl/dist/Makefile.org (props changed) vendor-crypto/openssl/dist/Makefile.shared (props changed) vendor-crypto/openssl/dist/NEWS (props changed) vendor-crypto/openssl/dist/PROBLEMS (props changed) vendor-crypto/openssl/dist/README (props changed) vendor-crypto/openssl/dist/README.ASN1 (props changed) vendor-crypto/openssl/dist/README.ENGINE (props changed) vendor-crypto/openssl/dist/apps/CA.pl (props changed) vendor-crypto/openssl/dist/apps/CA.pl.in (props changed) vendor-crypto/openssl/dist/apps/CA.sh (props changed) vendor-crypto/openssl/dist/apps/Makefile (props changed) vendor-crypto/openssl/dist/apps/app_rand.c (props changed) vendor-crypto/openssl/dist/apps/apps.c (props changed) vendor-crypto/openssl/dist/apps/apps.h (props changed) vendor-crypto/openssl/dist/apps/asn1pars.c (props changed) vendor-crypto/openssl/dist/apps/ca-cert.srl (props changed) vendor-crypto/openssl/dist/apps/ca-key.pem (props changed) vendor-crypto/openssl/dist/apps/ca-req.pem (props changed) vendor-crypto/openssl/dist/apps/ca.c (props changed) vendor-crypto/openssl/dist/apps/cert.pem (props changed) vendor-crypto/openssl/dist/apps/ciphers.c (props changed) vendor-crypto/openssl/dist/apps/client.pem (props changed) vendor-crypto/openssl/dist/apps/cms.c (props changed) vendor-crypto/openssl/dist/apps/crl.c (props changed) vendor-crypto/openssl/dist/apps/crl2p7.c (props changed) vendor-crypto/openssl/dist/apps/demoCA/cacert.pem (props changed) vendor-crypto/openssl/dist/apps/demoCA/index.txt (props changed) vendor-crypto/openssl/dist/apps/demoCA/private/cakey.pem (props changed) vendor-crypto/openssl/dist/apps/demoCA/serial (props changed) vendor-crypto/openssl/dist/apps/dgst.c (props changed) vendor-crypto/openssl/dist/apps/dh.c (props changed) vendor-crypto/openssl/dist/apps/dh1024.pem (props changed) vendor-crypto/openssl/dist/apps/dh2048.pem (props changed) vendor-crypto/openssl/dist/apps/dh4096.pem (props changed) vendor-crypto/openssl/dist/apps/dh512.pem (props changed) vendor-crypto/openssl/dist/apps/dhparam.c (props changed) vendor-crypto/openssl/dist/apps/dsa-ca.pem (props changed) vendor-crypto/openssl/dist/apps/dsa-pca.pem (props changed) vendor-crypto/openssl/dist/apps/dsa.c (props changed) vendor-crypto/openssl/dist/apps/dsa1024.pem (props changed) vendor-crypto/openssl/dist/apps/dsa512.pem (props changed) vendor-crypto/openssl/dist/apps/dsap.pem (props changed) vendor-crypto/openssl/dist/apps/dsaparam.c (props changed) vendor-crypto/openssl/dist/apps/ec.c (props changed) vendor-crypto/openssl/dist/apps/ecparam.c (props changed) vendor-crypto/openssl/dist/apps/enc.c (props changed) vendor-crypto/openssl/dist/apps/engine.c (props changed) vendor-crypto/openssl/dist/apps/errstr.c (props changed) vendor-crypto/openssl/dist/apps/gendh.c (props changed) vendor-crypto/openssl/dist/apps/gendsa.c (props changed) vendor-crypto/openssl/dist/apps/genrsa.c (props changed) vendor-crypto/openssl/dist/apps/md4.c (props changed) vendor-crypto/openssl/dist/apps/nseq.c (props changed) vendor-crypto/openssl/dist/apps/ocsp.c (props changed) vendor-crypto/openssl/dist/apps/oid.cnf (props changed) vendor-crypto/openssl/dist/apps/openssl.c (props changed) vendor-crypto/openssl/dist/apps/openssl.cnf (props changed) vendor-crypto/openssl/dist/apps/passwd.c (props changed) vendor-crypto/openssl/dist/apps/pca-cert.srl (props changed) vendor-crypto/openssl/dist/apps/pca-key.pem (props changed) vendor-crypto/openssl/dist/apps/pca-req.pem (props changed) vendor-crypto/openssl/dist/apps/pkcs12.c (props changed) vendor-crypto/openssl/dist/apps/pkcs7.c (props changed) vendor-crypto/openssl/dist/apps/pkcs8.c (props changed) vendor-crypto/openssl/dist/apps/prime.c (props changed) vendor-crypto/openssl/dist/apps/privkey.pem (props changed) vendor-crypto/openssl/dist/apps/progs.h (props changed) vendor-crypto/openssl/dist/apps/progs.pl (props changed) vendor-crypto/openssl/dist/apps/rand.c (props changed) vendor-crypto/openssl/dist/apps/req.c (props changed) vendor-crypto/openssl/dist/apps/req.pem (props changed) vendor-crypto/openssl/dist/apps/rsa.c (props changed) vendor-crypto/openssl/dist/apps/rsa8192.pem (props changed) vendor-crypto/openssl/dist/apps/rsautl.c (props changed) vendor-crypto/openssl/dist/apps/s1024key.pem (props changed) vendor-crypto/openssl/dist/apps/s1024req.pem (props changed) vendor-crypto/openssl/dist/apps/s512-key.pem (props changed) vendor-crypto/openssl/dist/apps/s512-req.pem (props changed) vendor-crypto/openssl/dist/apps/s_apps.h (props changed) vendor-crypto/openssl/dist/apps/s_cb.c (props changed) vendor-crypto/openssl/dist/apps/s_client.c (props changed) vendor-crypto/openssl/dist/apps/s_server.c (props changed) vendor-crypto/openssl/dist/apps/s_socket.c (props changed) vendor-crypto/openssl/dist/apps/s_time.c (props changed) vendor-crypto/openssl/dist/apps/server.pem (props changed) vendor-crypto/openssl/dist/apps/server.srl (props changed) vendor-crypto/openssl/dist/apps/server2.pem (props changed) vendor-crypto/openssl/dist/apps/sess_id.c (props changed) vendor-crypto/openssl/dist/apps/set/set-g-ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set-m-ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_b_ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_c_ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_d_ct.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_root.pem (props changed) vendor-crypto/openssl/dist/apps/smime.c (props changed) vendor-crypto/openssl/dist/apps/speed.c (props changed) vendor-crypto/openssl/dist/apps/spkac.c (props changed) vendor-crypto/openssl/dist/apps/testCA.pem (props changed) vendor-crypto/openssl/dist/apps/testdsa.h (props changed) vendor-crypto/openssl/dist/apps/testrsa.h (props changed) vendor-crypto/openssl/dist/apps/timeouts.h (props changed) vendor-crypto/openssl/dist/apps/tsget (props changed) vendor-crypto/openssl/dist/apps/verify.c (props changed) vendor-crypto/openssl/dist/apps/version.c (props changed) vendor-crypto/openssl/dist/apps/winrand.c (props changed) vendor-crypto/openssl/dist/apps/x509.c (props changed) vendor-crypto/openssl/dist/bugs/MS (props changed) vendor-crypto/openssl/dist/bugs/SSLv3 (props changed) vendor-crypto/openssl/dist/bugs/alpha.c (props changed) vendor-crypto/openssl/dist/bugs/dggccbug.c (props changed) vendor-crypto/openssl/dist/bugs/sgiccbug.c (props changed) vendor-crypto/openssl/dist/bugs/sslref.dif (props changed) vendor-crypto/openssl/dist/bugs/stream.c (props changed) vendor-crypto/openssl/dist/bugs/ultrixcc.c (props changed) vendor-crypto/openssl/dist/certs/README.RootCerts (props changed) vendor-crypto/openssl/dist/certs/demo/ca-cert.pem (props changed) vendor-crypto/openssl/dist/certs/demo/dsa-ca.pem (props changed) vendor-crypto/openssl/dist/certs/demo/dsa-pca.pem (props changed) vendor-crypto/openssl/dist/certs/demo/pca-cert.pem (props changed) vendor-crypto/openssl/dist/certs/expired/ICE.crl (props changed) vendor-crypto/openssl/dist/config (props changed) vendor-crypto/openssl/dist/crypto/LPdir_nyi.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_unix.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_vms.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_win.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_win32.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_wince.c (props changed) vendor-crypto/openssl/dist/crypto/Makefile (props changed) vendor-crypto/openssl/dist/crypto/aes/Makefile (props changed) vendor-crypto/openssl/dist/crypto/aes/README (props changed) vendor-crypto/openssl/dist/crypto/aes/aes.h (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_cfb.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_core.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ctr.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ige.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_locl.h (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_misc.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ofb.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_wrap.c (props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-586.pl (props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-ia64.S (props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/asn1/Makefile (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_bitstr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_bool.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_bytes.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_d2i_fp.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_digest.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_dup.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_enum.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_gentm.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_hdr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_i2d_fp.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_int.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_mbstr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_meth.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_object.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_octet.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_print.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_set.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_sign.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_strex.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_strnid.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_time.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_type.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_utctm.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_utf8.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_verify.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_err.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_gen.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_lib.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_mac.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_par.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1t.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn_mime.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn_moid.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn_pack.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/charmap.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/charmap.pl (props changed) vendor-crypto/openssl/dist/crypto/asn1/d2i_pr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/d2i_pu.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/evp_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/f_enum.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/f_int.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/f_string.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/i2d_pr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/i2d_pu.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/n_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/nsseq.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p5_pbe.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p5_pbev2.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p8_key.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p8_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_bitst.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_crl.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_req.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_spki.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_x509.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_x509a.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_dec.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_enc.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_fre.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_new.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_prn.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_typ.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_utl.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_algor.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_attrib.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_bignum.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_crl.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_exten.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_info.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_long.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_name.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_pubkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_req.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_sig.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_spki.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_val.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_x509.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_x509a.c (props changed) vendor-crypto/openssl/dist/crypto/bf/COPYRIGHT (props changed) vendor-crypto/openssl/dist/crypto/bf/INSTALL (props changed) vendor-crypto/openssl/dist/crypto/bf/Makefile (props changed) vendor-crypto/openssl/dist/crypto/bf/README (props changed) vendor-crypto/openssl/dist/crypto/bf/VERSION (props changed) vendor-crypto/openssl/dist/crypto/bf/asm/bf-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bf/asm/bf-686.pl (props changed) vendor-crypto/openssl/dist/crypto/bf/asm/readme (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_enc.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_locl.h (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_opts.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_pi.h (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_skey.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bfs.cpp (props changed) vendor-crypto/openssl/dist/crypto/bf/bfspeed.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bftest.c (props changed) vendor-crypto/openssl/dist/crypto/bf/blowfish.h (props changed) vendor-crypto/openssl/dist/crypto/bio/Makefile (props changed) vendor-crypto/openssl/dist/crypto/bio/b_dump.c (props changed) vendor-crypto/openssl/dist/crypto/bio/b_print.c (props changed) vendor-crypto/openssl/dist/crypto/bio/b_sock.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_buff.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_lbuf.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_nbio.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_null.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bio.h (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_cb.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_err.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_lib.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_acpt.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_bio.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_conn.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_dgram.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_fd.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_file.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_log.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_mem.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_null.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_rtcp.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_sock.c (props changed) vendor-crypto/openssl/dist/crypto/bn/Makefile (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/README (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/bn-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/co-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ia64.S (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/mips3.s (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/mo-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/pa-risc2.s (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/pa-risc2W.s (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ppc.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv8.S (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv8plus.S (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/add.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/comba.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/div.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/f (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/mul.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/mul_add.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/sqr.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/sub.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-gcc.c (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-mont.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/bn.h (props changed) vendor-crypto/openssl/dist/crypto/bn/bn.mul (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_add.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_asm.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_blind.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_const.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_ctx.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_depr.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_div.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_err.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_exp.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_exp2.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_gcd.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_gf2m.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_kron.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_lib.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mod.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mont.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mpi.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mul.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_nist.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_prime.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_prime.h (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_prime.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_print.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_rand.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_recp.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_shift.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_sqr.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_sqrt.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_word.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bnspeed.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bntest.c (props changed) vendor-crypto/openssl/dist/crypto/bn/divtest.c (props changed) vendor-crypto/openssl/dist/crypto/bn/exp.c (props changed) vendor-crypto/openssl/dist/crypto/bn/expspeed.c (props changed) vendor-crypto/openssl/dist/crypto/bn/exptest.c (props changed) vendor-crypto/openssl/dist/crypto/bn/todo (props changed) vendor-crypto/openssl/dist/crypto/buffer/Makefile (props changed) vendor-crypto/openssl/dist/crypto/buffer/buf_err.c (props changed) vendor-crypto/openssl/dist/crypto/buffer/buffer.c (props changed) vendor-crypto/openssl/dist/crypto/buffer/buffer.h (props changed) vendor-crypto/openssl/dist/crypto/camellia/Makefile (props changed) vendor-crypto/openssl/dist/crypto/camellia/camellia.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/camellia.h (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_cfb.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_ctr.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_locl.h (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_misc.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_ofb.c (props changed) vendor-crypto/openssl/dist/crypto/cast/Makefile (props changed) vendor-crypto/openssl/dist/crypto/cast/asm/cast-586.pl (props changed) vendor-crypto/openssl/dist/crypto/cast/asm/readme (props changed) vendor-crypto/openssl/dist/crypto/cast/c_cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_enc.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_skey.c (props changed) vendor-crypto/openssl/dist/crypto/cast/cast.h (props changed) vendor-crypto/openssl/dist/crypto/cast/cast_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/cast/cast_s.h (props changed) vendor-crypto/openssl/dist/crypto/cast/cast_spd.c (props changed) vendor-crypto/openssl/dist/crypto/cast/castopts.c (props changed) vendor-crypto/openssl/dist/crypto/cast/casts.cpp (props changed) vendor-crypto/openssl/dist/crypto/cast/casttest.c (props changed) vendor-crypto/openssl/dist/crypto/cms/Makefile (props changed) vendor-crypto/openssl/dist/crypto/cms/cms.h (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_att.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_cd.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_dd.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_enc.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_env.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_err.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_ess.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_io.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_lib.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_sd.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_smime.c (props changed) vendor-crypto/openssl/dist/crypto/comp/Makefile (props changed) vendor-crypto/openssl/dist/crypto/comp/c_rle.c (props changed) vendor-crypto/openssl/dist/crypto/comp/c_zlib.c (props changed) vendor-crypto/openssl/dist/crypto/comp/comp.h (props changed) vendor-crypto/openssl/dist/crypto/comp/comp_err.c (props changed) vendor-crypto/openssl/dist/crypto/comp/comp_lib.c (props changed) vendor-crypto/openssl/dist/crypto/conf/Makefile (props changed) vendor-crypto/openssl/dist/crypto/conf/README (props changed) vendor-crypto/openssl/dist/crypto/conf/cnf_save.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf.h (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_api.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_api.h (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_def.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_def.h (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_err.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_lib.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_mall.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_mod.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_sap.c (props changed) vendor-crypto/openssl/dist/crypto/conf/keysets.pl (props changed) vendor-crypto/openssl/dist/crypto/conf/ssleay.cnf (props changed) vendor-crypto/openssl/dist/crypto/conf/test.c (props changed) vendor-crypto/openssl/dist/crypto/cpt_err.c (props changed) vendor-crypto/openssl/dist/crypto/cryptlib.c (props changed) vendor-crypto/openssl/dist/crypto/cryptlib.h (props changed) vendor-crypto/openssl/dist/crypto/crypto.h (props changed) vendor-crypto/openssl/dist/crypto/cversion.c (props changed) vendor-crypto/openssl/dist/crypto/des/COPYRIGHT (props changed) vendor-crypto/openssl/dist/crypto/des/DES.pm (props changed) vendor-crypto/openssl/dist/crypto/des/DES.xs (props changed) vendor-crypto/openssl/dist/crypto/des/FILES0 (props changed) vendor-crypto/openssl/dist/crypto/des/INSTALL (props changed) vendor-crypto/openssl/dist/crypto/des/Imakefile (props changed) vendor-crypto/openssl/dist/crypto/des/KERBEROS (props changed) vendor-crypto/openssl/dist/crypto/des/Makefile (props changed) vendor-crypto/openssl/dist/crypto/des/README (props changed) vendor-crypto/openssl/dist/crypto/des/VERSION (props changed) vendor-crypto/openssl/dist/crypto/des/asm/crypt586.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/des-586.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/des686.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/des_enc.m4 (props changed) vendor-crypto/openssl/dist/crypto/des/asm/desboth.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/readme (props changed) vendor-crypto/openssl/dist/crypto/des/cbc3_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/cbc_cksm.c (props changed) vendor-crypto/openssl/dist/crypto/des/cbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/cfb64ede.c (props changed) vendor-crypto/openssl/dist/crypto/des/cfb64enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/cfb_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/des.c (props changed) vendor-crypto/openssl/dist/crypto/des/des.h (props changed) vendor-crypto/openssl/dist/crypto/des/des.pod (props changed) vendor-crypto/openssl/dist/crypto/des/des3s.cpp (props changed) vendor-crypto/openssl/dist/crypto/des/des_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_locl.h (props changed) vendor-crypto/openssl/dist/crypto/des/des_old.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_old.h (props changed) vendor-crypto/openssl/dist/crypto/des/des_old2.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_opts.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_ver.h (props changed) vendor-crypto/openssl/dist/crypto/des/dess.cpp (props changed) vendor-crypto/openssl/dist/crypto/des/destest.c (props changed) vendor-crypto/openssl/dist/crypto/des/ecb3_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ecb_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ede_cbcm_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/enc_read.c (props changed) vendor-crypto/openssl/dist/crypto/des/enc_writ.c (props changed) vendor-crypto/openssl/dist/crypto/des/fcrypt.c (props changed) vendor-crypto/openssl/dist/crypto/des/fcrypt_b.c (props changed) vendor-crypto/openssl/dist/crypto/des/makefile.bc (props changed) vendor-crypto/openssl/dist/crypto/des/ncbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ofb64ede.c (props changed) vendor-crypto/openssl/dist/crypto/des/ofb64enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ofb_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/options.txt (props changed) vendor-crypto/openssl/dist/crypto/des/pcbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/qud_cksm.c (props changed) vendor-crypto/openssl/dist/crypto/des/rand_key.c (props changed) vendor-crypto/openssl/dist/crypto/des/read2pwd.c (props changed) vendor-crypto/openssl/dist/crypto/des/read_pwd.c (props changed) vendor-crypto/openssl/dist/crypto/des/rpc_des.h (props changed) vendor-crypto/openssl/dist/crypto/des/rpc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/rpw.c (props changed) vendor-crypto/openssl/dist/crypto/des/set_key.c (props changed) vendor-crypto/openssl/dist/crypto/des/speed.c (props changed) vendor-crypto/openssl/dist/crypto/des/spr.h (props changed) vendor-crypto/openssl/dist/crypto/des/str2key.c (props changed) vendor-crypto/openssl/dist/crypto/des/t/test (props changed) vendor-crypto/openssl/dist/crypto/des/times/486-50.sol (props changed) vendor-crypto/openssl/dist/crypto/des/times/586-100.lnx (props changed) vendor-crypto/openssl/dist/crypto/des/times/686-200.fre (props changed) vendor-crypto/openssl/dist/crypto/des/times/aix.cc (props changed) vendor-crypto/openssl/dist/crypto/des/times/alpha.cc (props changed) vendor-crypto/openssl/dist/crypto/des/times/hpux.cc (props changed) vendor-crypto/openssl/dist/crypto/des/times/sparc.gcc (props changed) vendor-crypto/openssl/dist/crypto/des/times/usparc.cc (props changed) vendor-crypto/openssl/dist/crypto/des/typemap (props changed) vendor-crypto/openssl/dist/crypto/des/xcbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/dh/Makefile (props changed) vendor-crypto/openssl/dist/crypto/dh/dh.h (props changed) vendor-crypto/openssl/dist/crypto/dh/dh1024.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh192.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh2048.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh4096.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh512.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_check.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_depr.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_err.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_gen.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_key.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_lib.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dhtest.c (props changed) vendor-crypto/openssl/dist/crypto/dh/example (props changed) vendor-crypto/openssl/dist/crypto/dh/generate (props changed) vendor-crypto/openssl/dist/crypto/dh/p1024.c (props changed) vendor-crypto/openssl/dist/crypto/dh/p192.c (props changed) vendor-crypto/openssl/dist/crypto/dh/p512.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/Makefile (props changed) vendor-crypto/openssl/dist/crypto/dsa/README (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa.h (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_depr.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_err.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_gen.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_key.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_lib.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_ossl.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_sign.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_vrf.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsagen.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsatest.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/fips186a.txt (props changed) vendor-crypto/openssl/dist/crypto/dso/Makefile (props changed) vendor-crypto/openssl/dist/crypto/dso/README (props changed) vendor-crypto/openssl/dist/crypto/dso/dso.h (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_dl.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_dlfcn.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_err.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_lib.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_null.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_openssl.c (props changed) vendor-crypto/openssl/dist/crypto/ebcdic.c (props changed) vendor-crypto/openssl/dist/crypto/ebcdic.h (props changed) vendor-crypto/openssl/dist/crypto/ec/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ec/ec.h (props changed) vendor-crypto/openssl/dist/crypto/ec/ec2_mult.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec2_smpl.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec2_smpt.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_check.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_curve.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_cvt.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_err.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_key.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_mult.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_print.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ecp_mont.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ecp_nist.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ecp_smpl.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ectest.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ecdh.h (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ecdhtest.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_err.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_key.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_ossl.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecdsa.h (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecdsatest.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_err.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_ossl.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_sign.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_vrf.c (props changed) vendor-crypto/openssl/dist/crypto/engine/Makefile (props changed) vendor-crypto/openssl/dist/crypto/engine/README (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_all.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_cnf.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_cryptodev.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_ctrl.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_dyn.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_err.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_fat.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_init.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_int.h (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_lib.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_list.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_openssl.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_padlock.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_table.c (props changed) vendor-crypto/openssl/dist/crypto/engine/engine.h (props changed) vendor-crypto/openssl/dist/crypto/engine/enginetest.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_cipher.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_dh.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_digest.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_dsa.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_ecdh.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_ecdsa.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_rand.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_rsa.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_store.c (props changed) vendor-crypto/openssl/dist/crypto/err/Makefile (props changed) vendor-crypto/openssl/dist/crypto/err/err.c (props changed) vendor-crypto/openssl/dist/crypto/err/err.h (props changed) vendor-crypto/openssl/dist/crypto/err/err_all.c (props changed) vendor-crypto/openssl/dist/crypto/err/err_prn.c (props changed) vendor-crypto/openssl/dist/crypto/err/openssl.ec (props changed) vendor-crypto/openssl/dist/crypto/evp/Makefile (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_b64.c (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_enc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_md.c (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_ok.c (props changed) vendor-crypto/openssl/dist/crypto/evp/c_all.c (props changed) vendor-crypto/openssl/dist/crypto/evp/c_allc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/c_alld.c (props changed) vendor-crypto/openssl/dist/crypto/evp/digest.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_aes.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_bf.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_camellia.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_cast.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_des.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_des3.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_dsa.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_idea.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_null.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_old.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_rc2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_rc4.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_rc5.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_seed.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_xcbc_d.c (props changed) vendor-crypto/openssl/dist/crypto/evp/encode.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp.h (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_acnf.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_enc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_err.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_key.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_lib.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_locl.h (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_pbe.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_test.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evptests.txt (props changed) vendor-crypto/openssl/dist/crypto/evp/m_dss.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_dss1.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_ecdsa.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_md2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_md4.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_md5.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_mdc2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_null.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_ripemd.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_sha.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_sha1.c (props changed) vendor-crypto/openssl/dist/crypto/evp/names.c (props changed) vendor-crypto/openssl/dist/crypto/evp/openbsd_hw.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p5_crpt.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p5_crpt2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_dec.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_enc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_lib.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_open.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_seal.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_sign.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_verify.c (props changed) vendor-crypto/openssl/dist/crypto/ex_data.c (props changed) vendor-crypto/openssl/dist/crypto/hmac/Makefile (props changed) vendor-crypto/openssl/dist/crypto/hmac/hmac.c (props changed) vendor-crypto/openssl/dist/crypto/hmac/hmac.h (props changed) vendor-crypto/openssl/dist/crypto/hmac/hmactest.c (props changed) vendor-crypto/openssl/dist/crypto/ia64cpuid.S (props changed) vendor-crypto/openssl/dist/crypto/idea/Makefile (props changed) vendor-crypto/openssl/dist/crypto/idea/i_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_skey.c (props changed) vendor-crypto/openssl/dist/crypto/idea/idea.h (props changed) vendor-crypto/openssl/dist/crypto/idea/idea_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/idea/idea_spd.c (props changed) vendor-crypto/openssl/dist/crypto/idea/ideatest.c (props changed) vendor-crypto/openssl/dist/crypto/idea/version (props changed) vendor-crypto/openssl/dist/crypto/krb5/Makefile (props changed) vendor-crypto/openssl/dist/crypto/krb5/krb5_asn.c (props changed) vendor-crypto/openssl/dist/crypto/krb5/krb5_asn.h (props changed) vendor-crypto/openssl/dist/crypto/lhash/Makefile (props changed) vendor-crypto/openssl/dist/crypto/lhash/lh_stats.c (props changed) vendor-crypto/openssl/dist/crypto/lhash/lh_test.c (props changed) vendor-crypto/openssl/dist/crypto/lhash/lhash.c (props changed) vendor-crypto/openssl/dist/crypto/lhash/lhash.h (props changed) vendor-crypto/openssl/dist/crypto/lhash/num.pl (props changed) vendor-crypto/openssl/dist/crypto/md2/Makefile (props changed) vendor-crypto/openssl/dist/crypto/md2/md2.c (props changed) vendor-crypto/openssl/dist/crypto/md2/md2.h (props changed) vendor-crypto/openssl/dist/crypto/md2/md2_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/md2/md2_one.c (props changed) vendor-crypto/openssl/dist/crypto/md2/md2test.c (props changed) vendor-crypto/openssl/dist/crypto/md32_common.h (props changed) vendor-crypto/openssl/dist/crypto/md4/Makefile (props changed) vendor-crypto/openssl/dist/crypto/md4/md4.c (props changed) vendor-crypto/openssl/dist/crypto/md4/md4.h (props changed) vendor-crypto/openssl/dist/crypto/md4/md4_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/md4/md4_locl.h (props changed) vendor-crypto/openssl/dist/crypto/md4/md4_one.c (props changed) vendor-crypto/openssl/dist/crypto/md4/md4s.cpp (props changed) vendor-crypto/openssl/dist/crypto/md4/md4test.c (props changed) vendor-crypto/openssl/dist/crypto/md5/Makefile (props changed) vendor-crypto/openssl/dist/crypto/md5/asm/md5-586.pl (props changed) vendor-crypto/openssl/dist/crypto/md5/asm/md5-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/md5/md5.c (props changed) vendor-crypto/openssl/dist/crypto/md5/md5.h (props changed) vendor-crypto/openssl/dist/crypto/md5/md5_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/md5/md5_locl.h (props changed) vendor-crypto/openssl/dist/crypto/md5/md5_one.c (props changed) vendor-crypto/openssl/dist/crypto/md5/md5s.cpp (props changed) vendor-crypto/openssl/dist/crypto/md5/md5test.c (props changed) vendor-crypto/openssl/dist/crypto/mdc2/Makefile (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2.h (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2_one.c (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2dgst.c (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2test.c (props changed) vendor-crypto/openssl/dist/crypto/mem.c (props changed) vendor-crypto/openssl/dist/crypto/mem_clr.c (props changed) vendor-crypto/openssl/dist/crypto/mem_dbg.c (props changed) vendor-crypto/openssl/dist/crypto/o_dir.c (props changed) vendor-crypto/openssl/dist/crypto/o_dir.h (props changed) vendor-crypto/openssl/dist/crypto/o_dir_test.c (props changed) vendor-crypto/openssl/dist/crypto/o_str.c (props changed) vendor-crypto/openssl/dist/crypto/o_str.h (props changed) vendor-crypto/openssl/dist/crypto/o_time.c (props changed) vendor-crypto/openssl/dist/crypto/o_time.h (props changed) vendor-crypto/openssl/dist/crypto/objects/Makefile (props changed) vendor-crypto/openssl/dist/crypto/objects/o_names.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_dat.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_dat.h (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_dat.pl (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_err.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_lib.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_mac.h (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_mac.num (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.README (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.h (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.pl (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.txt (props changed) vendor-crypto/openssl/dist/crypto/ocsp/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp.h (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_asn.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_cl.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_err.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ext.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ht.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_prn.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_srv.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_vfy.c (props changed) vendor-crypto/openssl/dist/crypto/opensslconf.h (props changed) vendor-crypto/openssl/dist/crypto/opensslconf.h.in (props changed) vendor-crypto/openssl/dist/crypto/opensslv.h (props changed) vendor-crypto/openssl/dist/crypto/ossl_typ.h (props changed) vendor-crypto/openssl/dist/crypto/pem/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pem/message (props changed) vendor-crypto/openssl/dist/crypto/pem/pem.h (props changed) vendor-crypto/openssl/dist/crypto/pem/pem2.h (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_all.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_err.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_info.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_lib.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_oth.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_pk8.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_seal.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_sign.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_x509.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_xaux.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pkcs7.lis (props changed) vendor-crypto/openssl/dist/crypto/perlasm/cbc.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/readme (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86_64-xlate.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86asm.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86ms.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86nasm.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86unix.pl (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_add.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_asn.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_attr.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_crpt.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_crt.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_decr.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_init.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_key.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_kiss.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_mutl.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_npas.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8d.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8e.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_utl.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/pk12err.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/pkcs12.h (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/bio_ber.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/dec.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/des.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/doc (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/enc.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/es1.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/example.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/example.h (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/info.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/infokey.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/a1 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/a2 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/cert.p7c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/smime.p7m (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/smime.p7s (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_attr.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_doit.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_enc.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_lib.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_mime.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_smime.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pkcs7.h (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pkcs7err.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/server.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/sign.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/3des.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/3dess.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/c.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/ff (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-e (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-e.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-01 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-01.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-02 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-02.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-s-a-e (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-s-a-e.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/nav-smime (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/s.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/server.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/verify.c (props changed) vendor-crypto/openssl/dist/crypto/pqueue/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pq_compat.h (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pq_test.c (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pqueue.c (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pqueue.h (props changed) vendor-crypto/openssl/dist/crypto/rand/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rand/md_rand.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand.h (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_egd.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_err.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_lib.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_nw.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_os2.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_unix.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_vms.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_win.c (props changed) vendor-crypto/openssl/dist/crypto/rand/randfile.c (props changed) vendor-crypto/openssl/dist/crypto/rand/randtest.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2.h (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_locl.h (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_skey.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2speed.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2test.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rrc2.doc (props changed) vendor-crypto/openssl/dist/crypto/rc2/tab.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/version (props changed) vendor-crypto/openssl/dist/crypto/rc4/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-586.pl (props changed) vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-ia64.S (props changed) vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4.h (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_enc.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_locl.h (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_skey.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4s.cpp (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4speed.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4test.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rrc4.doc (props changed) vendor-crypto/openssl/dist/crypto/rc5/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rc5/asm/rc5-586.pl (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5.h (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_enc.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_locl.h (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_skey.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5s.cpp (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5speed.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5test.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ripemd/README (props changed) vendor-crypto/openssl/dist/crypto/ripemd/asm/rips.cpp (props changed) vendor-crypto/openssl/dist/crypto/ripemd/asm/rmd-586.pl (props changed) vendor-crypto/openssl/dist/crypto/ripemd/ripemd.h (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd160.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd_one.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmdconst.h (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmdtest.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa.h (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_chk.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_depr.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_eay.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_err.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_gen.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_lib.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_none.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_null.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_oaep.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_pk1.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_pss.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_saos.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_sign.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_ssl.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_test.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_x931.c (props changed) vendor-crypto/openssl/dist/crypto/seed/Makefile (props changed) vendor-crypto/openssl/dist/crypto/seed/seed.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed.h (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_cfb.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_locl.h (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_ofb.c (props changed) vendor-crypto/openssl/dist/crypto/sha/Makefile (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/README (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha1-586.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha1-ia64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha1-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha512-ia64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha512-sse2.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha512-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/sha.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha.h (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1_one.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1dgst.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1s.cpp (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1test.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha256.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha256t.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha512.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha512t.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha_locl.h (props changed) vendor-crypto/openssl/dist/crypto/sha/sha_one.c (props changed) vendor-crypto/openssl/dist/crypto/sha/shatest.c (props changed) vendor-crypto/openssl/dist/crypto/sparccpuid.S (props changed) vendor-crypto/openssl/dist/crypto/stack/Makefile (props changed) vendor-crypto/openssl/dist/crypto/stack/safestack.h (props changed) vendor-crypto/openssl/dist/crypto/stack/stack.c (props changed) vendor-crypto/openssl/dist/crypto/stack/stack.h (props changed) vendor-crypto/openssl/dist/crypto/store/Makefile (props changed) vendor-crypto/openssl/dist/crypto/store/README (props changed) vendor-crypto/openssl/dist/crypto/store/store.h (props changed) vendor-crypto/openssl/dist/crypto/store/str_err.c (props changed) vendor-crypto/openssl/dist/crypto/store/str_lib.c (props changed) vendor-crypto/openssl/dist/crypto/store/str_locl.h (props changed) vendor-crypto/openssl/dist/crypto/store/str_mem.c (props changed) vendor-crypto/openssl/dist/crypto/store/str_meth.c (props changed) vendor-crypto/openssl/dist/crypto/symhacks.h (props changed) vendor-crypto/openssl/dist/crypto/threads/README (props changed) vendor-crypto/openssl/dist/crypto/threads/mttest.c (props changed) vendor-crypto/openssl/dist/crypto/threads/profile.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/pthread.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/pthread2.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/purify.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/th-lock.c (props changed) vendor-crypto/openssl/dist/crypto/tmdiff.c (props changed) vendor-crypto/openssl/dist/crypto/tmdiff.h (props changed) vendor-crypto/openssl/dist/crypto/txt_db/Makefile (props changed) vendor-crypto/openssl/dist/crypto/txt_db/txt_db.c (props changed) vendor-crypto/openssl/dist/crypto/txt_db/txt_db.h (props changed) vendor-crypto/openssl/dist/crypto/ui/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ui/ui.h (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_compat.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_compat.h (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_err.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_openssl.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_util.c (props changed) vendor-crypto/openssl/dist/crypto/uid.c (props changed) vendor-crypto/openssl/dist/crypto/x509/Makefile (props changed) vendor-crypto/openssl/dist/crypto/x509/by_dir.c (props changed) vendor-crypto/openssl/dist/crypto/x509/by_file.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509.h (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_att.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_cmp.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_d2.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_def.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_err.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_ext.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_lu.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_obj.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_r2x.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_req.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_set.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_trs.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_txt.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_v3.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_vfy.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_vfy.h (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_vpm.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509cset.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509name.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509rset.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509spki.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509type.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x_all.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/Makefile (props changed) vendor-crypto/openssl/dist/crypto/x509v3/ext_dat.h (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_cache.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_data.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_int.h (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_lib.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_map.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_node.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_tree.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/tabtest.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_addr.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_akey.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_akeya.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_alt.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_asid.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_bcons.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_bitst.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_conf.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_cpols.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_crld.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_enum.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_extku.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_genn.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_ia5.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_info.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_int.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_lib.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_ncons.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_ocsp.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pci.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pcia.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pcons.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pku.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pmaps.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_prn.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_purp.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_skey.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_sxnet.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_utl.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3conf.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3err.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3prin.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/x509v3.h (props changed) vendor-crypto/openssl/dist/crypto/x86_64cpuid.pl (props changed) vendor-crypto/openssl/dist/crypto/x86cpuid.pl (props changed) vendor-crypto/openssl/dist/demos/README (props changed) vendor-crypto/openssl/dist/demos/asn1/README.ASN1 (props changed) vendor-crypto/openssl/dist/demos/asn1/ocsp.c (props changed) vendor-crypto/openssl/dist/demos/b64.c (props changed) vendor-crypto/openssl/dist/demos/b64.pl (props changed) vendor-crypto/openssl/dist/demos/bio/Makefile (props changed) vendor-crypto/openssl/dist/demos/bio/README (props changed) vendor-crypto/openssl/dist/demos/bio/saccept.c (props changed) vendor-crypto/openssl/dist/demos/bio/sconnect.c (props changed) vendor-crypto/openssl/dist/demos/bio/server.pem (props changed) vendor-crypto/openssl/dist/demos/easy_tls/Makefile (props changed) vendor-crypto/openssl/dist/demos/easy_tls/README (props changed) vendor-crypto/openssl/dist/demos/easy_tls/cacerts.pem (props changed) vendor-crypto/openssl/dist/demos/easy_tls/cert.pem (props changed) vendor-crypto/openssl/dist/demos/easy_tls/easy-tls.c (props changed) vendor-crypto/openssl/dist/demos/easy_tls/easy-tls.h (props changed) vendor-crypto/openssl/dist/demos/easy_tls/test.c (props changed) vendor-crypto/openssl/dist/demos/easy_tls/test.h (props changed) vendor-crypto/openssl/dist/demos/eay/Makefile (props changed) vendor-crypto/openssl/dist/demos/eay/base64.c (props changed) vendor-crypto/openssl/dist/demos/eay/conn.c (props changed) vendor-crypto/openssl/dist/demos/eay/loadrsa.c (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/Makefile (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/cluster_labs.h (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs.c (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs.ec (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs_err.c (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs_err.h (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/Makefile (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca.c (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca.ec (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca_err.c (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca_err.h (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/ica_openssl_api.h (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/Makefile (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod.c (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod.ec (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod.h (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod_err.c (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod_err.h (props changed) vendor-crypto/openssl/dist/demos/maurice/Makefile (props changed) vendor-crypto/openssl/dist/demos/maurice/README (props changed) vendor-crypto/openssl/dist/demos/maurice/cert.pem (props changed) vendor-crypto/openssl/dist/demos/maurice/example1.c (props changed) vendor-crypto/openssl/dist/demos/maurice/example2.c (props changed) vendor-crypto/openssl/dist/demos/maurice/example3.c (props changed) vendor-crypto/openssl/dist/demos/maurice/example4.c (props changed) vendor-crypto/openssl/dist/demos/maurice/loadkeys.c (props changed) vendor-crypto/openssl/dist/demos/maurice/loadkeys.h (props changed) vendor-crypto/openssl/dist/demos/maurice/privkey.pem (props changed) vendor-crypto/openssl/dist/demos/pkcs12/README (props changed) vendor-crypto/openssl/dist/demos/pkcs12/pkread.c (props changed) vendor-crypto/openssl/dist/demos/pkcs12/pkwrite.c (props changed) vendor-crypto/openssl/dist/demos/prime/Makefile (props changed) vendor-crypto/openssl/dist/demos/prime/prime.c (props changed) vendor-crypto/openssl/dist/demos/privkey.pem (props changed) vendor-crypto/openssl/dist/demos/selfsign.c (props changed) vendor-crypto/openssl/dist/demos/sign/Makefile (props changed) vendor-crypto/openssl/dist/demos/sign/cert.pem (props changed) vendor-crypto/openssl/dist/demos/sign/key.pem (props changed) vendor-crypto/openssl/dist/demos/sign/sig.txt (props changed) vendor-crypto/openssl/dist/demos/sign/sign.c (props changed) vendor-crypto/openssl/dist/demos/sign/sign.txt (props changed) vendor-crypto/openssl/dist/demos/spkigen.c (props changed) vendor-crypto/openssl/dist/demos/ssl/cli.cpp (props changed) vendor-crypto/openssl/dist/demos/ssl/inetdsrv.cpp (props changed) vendor-crypto/openssl/dist/demos/ssl/serv.cpp (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/ECC-RSAcertgen.sh (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/ECCcertgen.sh (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/README (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/RSAcertgen.sh (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/ssltest.sh (props changed) vendor-crypto/openssl/dist/demos/state_machine/Makefile (props changed) vendor-crypto/openssl/dist/demos/state_machine/state_machine.c (props changed) vendor-crypto/openssl/dist/demos/tunala/A-client.pem (props changed) vendor-crypto/openssl/dist/demos/tunala/A-server.pem (props changed) vendor-crypto/openssl/dist/demos/tunala/CA.pem (props changed) vendor-crypto/openssl/dist/demos/tunala/INSTALL (props changed) vendor-crypto/openssl/dist/demos/tunala/Makefile (props changed) vendor-crypto/openssl/dist/demos/tunala/Makefile.am (props changed) vendor-crypto/openssl/dist/demos/tunala/README (props changed) vendor-crypto/openssl/dist/demos/tunala/autogunk.sh (props changed) vendor-crypto/openssl/dist/demos/tunala/autoungunk.sh (props changed) vendor-crypto/openssl/dist/demos/tunala/breakage.c (props changed) vendor-crypto/openssl/dist/demos/tunala/buffer.c (props changed) vendor-crypto/openssl/dist/demos/tunala/cb.c (props changed) vendor-crypto/openssl/dist/demos/tunala/configure.in (props changed) vendor-crypto/openssl/dist/demos/tunala/ip.c (props changed) vendor-crypto/openssl/dist/demos/tunala/sm.c (props changed) vendor-crypto/openssl/dist/demos/tunala/test.sh (props changed) vendor-crypto/openssl/dist/demos/tunala/tunala.c (props changed) vendor-crypto/openssl/dist/demos/tunala/tunala.h (props changed) vendor-crypto/openssl/dist/demos/x509/README (props changed) vendor-crypto/openssl/dist/demos/x509/mkcert.c (props changed) vendor-crypto/openssl/dist/demos/x509/mkreq.c (props changed) vendor-crypto/openssl/dist/doc/HOWTO/certificates.txt (props changed) vendor-crypto/openssl/dist/doc/HOWTO/keys.txt (props changed) vendor-crypto/openssl/dist/doc/HOWTO/proxy_certificates.txt (props changed) vendor-crypto/openssl/dist/doc/README (props changed) vendor-crypto/openssl/dist/doc/apps/CA.pl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/asn1parse.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ca.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ciphers.pod (props changed) vendor-crypto/openssl/dist/doc/apps/config.pod (props changed) vendor-crypto/openssl/dist/doc/apps/crl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/crl2pkcs7.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dgst.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dhparam.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dsaparam.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ec.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ecparam.pod (props changed) vendor-crypto/openssl/dist/doc/apps/enc.pod (props changed) vendor-crypto/openssl/dist/doc/apps/errstr.pod (props changed) vendor-crypto/openssl/dist/doc/apps/gendsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/genrsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/nseq.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ocsp.pod (props changed) vendor-crypto/openssl/dist/doc/apps/openssl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/passwd.pod (props changed) vendor-crypto/openssl/dist/doc/apps/pkcs12.pod (props changed) vendor-crypto/openssl/dist/doc/apps/pkcs7.pod (props changed) vendor-crypto/openssl/dist/doc/apps/pkcs8.pod (props changed) vendor-crypto/openssl/dist/doc/apps/rand.pod (props changed) vendor-crypto/openssl/dist/doc/apps/req.pod (props changed) vendor-crypto/openssl/dist/doc/apps/rsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/rsautl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/s_client.pod (props changed) vendor-crypto/openssl/dist/doc/apps/s_server.pod (props changed) vendor-crypto/openssl/dist/doc/apps/s_time.pod (props changed) vendor-crypto/openssl/dist/doc/apps/sess_id.pod (props changed) vendor-crypto/openssl/dist/doc/apps/smime.pod (props changed) vendor-crypto/openssl/dist/doc/apps/speed.pod (props changed) vendor-crypto/openssl/dist/doc/apps/spkac.pod (props changed) vendor-crypto/openssl/dist/doc/apps/verify.pod (props changed) vendor-crypto/openssl/dist/doc/apps/version.pod (props changed) vendor-crypto/openssl/dist/doc/apps/x509.pod (props changed) vendor-crypto/openssl/dist/doc/apps/x509v3_config.pod (props changed) vendor-crypto/openssl/dist/doc/c-indentation.el (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_OBJECT_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_STRING_length.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_STRING_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_STRING_print_ex.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_generate_nconf.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_ctrl.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_base64.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_buffer.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_cipher.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_md.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_null.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_ssl.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_find_type.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_push.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_read.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_accept.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_bio.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_connect.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_fd.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_file.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_mem.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_null.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_socket.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_set_callback.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_should_retry.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_BLINDING_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_CTX_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_CTX_start.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_add.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_add_word.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_bn2bin.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_cmp.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_copy.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_generate_prime.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_mod_inverse.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_mod_mul_montgomery.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_mod_mul_reciprocal.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_num_bytes.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_rand.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_set_bit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_swap.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_zero.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/CONF_modules_free.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/CONF_modules_load_file.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/CRYPTO_set_ex_data.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_generate_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_generate_parameters.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_set_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_size.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_SIG_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_do_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_dup_DH.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_generate_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_generate_parameters.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_set_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_size.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_GET_LIB.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_clear_error.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_error_string.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_get_error.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_load_crypto_strings.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_load_strings.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_print_errors.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_put_error.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_remove_state.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_set_mark.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_BytesToKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_DigestInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_EncryptInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_OpenInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_PKEY_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_PKEY_set1_RSA.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_SealInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_SignInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_VerifyInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OBJ_nid2obj.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_Applink.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_VERSION_NUMBER.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_config.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_ia32cap.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_load_builtin_modules.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OpenSSL_add_all_algorithms.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS12_create.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS12_parse.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_decrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_encrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_verify.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_add.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_bytes.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_cleanup.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_egd.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_load_file.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_set_rand_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_blinding_on.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_check_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_generate_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_padding_add_PKCS1_type_1.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_print.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_private_encrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_public_encrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_set_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_size.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/SMIME_read_PKCS7.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/SMIME_write_PKCS7.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_ENTRY_get_object.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_add_entry_by_txt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_get_index_by_NID.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_print_ex.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/bio.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/blowfish.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/bn.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/bn_internal.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/buffer.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/crypto.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_ASN1_OBJECT.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_DHparams.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_DSAPublicKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_PKCS8PrivateKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_RSAPublicKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_ALGOR.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_CRL.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_NAME.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_REQ.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_SIG.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/des.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/des_modes.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/dh.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/dsa.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ecdsa.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/engine.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/err.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/evp.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/hmac.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/lh_stats.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/lhash.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/md5.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/mdc2.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/pem.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/rand.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/rc4.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ripemd.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/rsa.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/sha.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/threads.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ui.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ui_compat.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/x509.pod (props changed) vendor-crypto/openssl/dist/doc/fingerprints.txt (props changed) vendor-crypto/openssl/dist/doc/openssl-shared.txt (props changed) vendor-crypto/openssl/dist/doc/openssl.txt (props changed) vendor-crypto/openssl/dist/doc/openssl_button.gif (props changed) vendor-crypto/openssl/dist/doc/openssl_button.html (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CIPHER_get_name.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_COMP_add_compression_method.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_add_extra_chain_cert.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_add_session.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_ctrl.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_flush_sessions.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_free.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_get_verify_mode.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_load_verify_locations.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_new.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sess_number.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sess_set_cache_size.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sess_set_get_cb.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sessions.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_cert_store.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_cert_verify_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_cipher_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_client_CA_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_client_cert_cb.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_default_passwd_cb.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_generate_session_id.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_info_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_max_cert_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_mode.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_msg_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_options.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_quiet_shutdown.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_session_cache_mode.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_session_id_context.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_ssl_version.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_timeout.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_verify.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_use_certificate.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_free.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_get_time.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_accept.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_alert_type_string.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_clear.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_connect.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_do_handshake.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_free.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_SSL_CTX.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_ciphers.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_client_CA_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_current_cipher.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_default_timeout.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_error.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_fd.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_peer_cert_chain.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_peer_certificate.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_rbio.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_session.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_verify_result.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_version.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_library_init.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_load_client_CA_file.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_new.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_pending.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_read.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_rstate_string.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_session_reused.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_bio.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_connect_state.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_fd.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_session.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_shutdown.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_verify_result.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_shutdown.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_state_string.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_want.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_write.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/d2i_SSL_SESSION.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/ssl.pod (props changed) vendor-crypto/openssl/dist/doc/ssleay.txt (props changed) vendor-crypto/openssl/dist/doc/standards.txt (props changed) vendor-crypto/openssl/dist/e_os.h (props changed) vendor-crypto/openssl/dist/e_os2.h (props changed) vendor-crypto/openssl/dist/engines/Makefile (props changed) vendor-crypto/openssl/dist/engines/axp.opt (props changed) vendor-crypto/openssl/dist/engines/e_4758cca.c (props changed) vendor-crypto/openssl/dist/engines/e_4758cca.ec (props changed) vendor-crypto/openssl/dist/engines/e_4758cca_err.c (props changed) vendor-crypto/openssl/dist/engines/e_4758cca_err.h (props changed) vendor-crypto/openssl/dist/engines/e_aep.c (props changed) vendor-crypto/openssl/dist/engines/e_aep.ec (props changed) vendor-crypto/openssl/dist/engines/e_aep_err.c (props changed) vendor-crypto/openssl/dist/engines/e_aep_err.h (props changed) vendor-crypto/openssl/dist/engines/e_atalla.c (props changed) vendor-crypto/openssl/dist/engines/e_atalla.ec (props changed) vendor-crypto/openssl/dist/engines/e_atalla_err.c (props changed) vendor-crypto/openssl/dist/engines/e_atalla_err.h (props changed) vendor-crypto/openssl/dist/engines/e_capi.c (props changed) vendor-crypto/openssl/dist/engines/e_capi.ec (props changed) vendor-crypto/openssl/dist/engines/e_capi_err.c (props changed) vendor-crypto/openssl/dist/engines/e_capi_err.h (props changed) vendor-crypto/openssl/dist/engines/e_chil.c (props changed) vendor-crypto/openssl/dist/engines/e_chil.ec (props changed) vendor-crypto/openssl/dist/engines/e_chil_err.c (props changed) vendor-crypto/openssl/dist/engines/e_chil_err.h (props changed) vendor-crypto/openssl/dist/engines/e_cswift.c (props changed) vendor-crypto/openssl/dist/engines/e_cswift.ec (props changed) vendor-crypto/openssl/dist/engines/e_cswift_err.c (props changed) vendor-crypto/openssl/dist/engines/e_cswift_err.h (props changed) vendor-crypto/openssl/dist/engines/e_gmp.c (props changed) vendor-crypto/openssl/dist/engines/e_gmp.ec (props changed) vendor-crypto/openssl/dist/engines/e_gmp_err.c (props changed) vendor-crypto/openssl/dist/engines/e_gmp_err.h (props changed) vendor-crypto/openssl/dist/engines/e_nuron.c (props changed) vendor-crypto/openssl/dist/engines/e_nuron.ec (props changed) vendor-crypto/openssl/dist/engines/e_nuron_err.c (props changed) vendor-crypto/openssl/dist/engines/e_nuron_err.h (props changed) vendor-crypto/openssl/dist/engines/e_sureware.c (props changed) vendor-crypto/openssl/dist/engines/e_sureware.ec (props changed) vendor-crypto/openssl/dist/engines/e_sureware_err.c (props changed) vendor-crypto/openssl/dist/engines/e_sureware_err.h (props changed) vendor-crypto/openssl/dist/engines/e_ubsec.c (props changed) vendor-crypto/openssl/dist/engines/e_ubsec.ec (props changed) vendor-crypto/openssl/dist/engines/e_ubsec_err.c (props changed) vendor-crypto/openssl/dist/engines/e_ubsec_err.h (props changed) vendor-crypto/openssl/dist/engines/engine_vector.mar (props changed) vendor-crypto/openssl/dist/engines/vax.opt (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/aep.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/atalla.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/cswift.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/hw_4758_cca.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/hw_ubsec.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/hwcryptohook.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/sureware.h (props changed) vendor-crypto/openssl/dist/fips/fips_premain.c.sha1 (props changed) vendor-crypto/openssl/dist/fips/fipsld (props changed) vendor-crypto/openssl/dist/fips/openssl_fips_fingerprint (props changed) vendor-crypto/openssl/dist/openssl.doxy (props changed) vendor-crypto/openssl/dist/openssl.spec (props changed) vendor-crypto/openssl/dist/shlib/README (props changed) vendor-crypto/openssl/dist/ssl/Makefile (props changed) vendor-crypto/openssl/dist/ssl/bio_ssl.c (props changed) vendor-crypto/openssl/dist/ssl/d1_both.c (props changed) vendor-crypto/openssl/dist/ssl/d1_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/d1_enc.c (props changed) vendor-crypto/openssl/dist/ssl/d1_lib.c (props changed) vendor-crypto/openssl/dist/ssl/d1_meth.c (props changed) vendor-crypto/openssl/dist/ssl/d1_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/d1_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/dtls1.h (props changed) vendor-crypto/openssl/dist/ssl/kssl.c (props changed) vendor-crypto/openssl/dist/ssl/kssl.h (props changed) vendor-crypto/openssl/dist/ssl/kssl_lcl.h (props changed) vendor-crypto/openssl/dist/ssl/s23_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/s23_lib.c (props changed) vendor-crypto/openssl/dist/ssl/s23_meth.c (props changed) vendor-crypto/openssl/dist/ssl/s23_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/s23_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/s2_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/s2_enc.c (props changed) vendor-crypto/openssl/dist/ssl/s2_lib.c (props changed) vendor-crypto/openssl/dist/ssl/s2_meth.c (props changed) vendor-crypto/openssl/dist/ssl/s2_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/s2_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/s3_both.c (props changed) vendor-crypto/openssl/dist/ssl/s3_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/s3_enc.c (props changed) vendor-crypto/openssl/dist/ssl/s3_lib.c (props changed) vendor-crypto/openssl/dist/ssl/s3_meth.c (props changed) vendor-crypto/openssl/dist/ssl/s3_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/s3_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/ssl.h (props changed) vendor-crypto/openssl/dist/ssl/ssl2.h (props changed) vendor-crypto/openssl/dist/ssl/ssl23.h (props changed) vendor-crypto/openssl/dist/ssl/ssl3.h (props changed) vendor-crypto/openssl/dist/ssl/ssl_algs.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_asn1.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_cert.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_ciph.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_err.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_err2.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_lib.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_locl.h (props changed) vendor-crypto/openssl/dist/ssl/ssl_rsa.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_sess.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_stat.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_task.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_txt.c (props changed) vendor-crypto/openssl/dist/ssl/ssltest.c (props changed) vendor-crypto/openssl/dist/ssl/t1_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/t1_enc.c (props changed) vendor-crypto/openssl/dist/ssl/t1_lib.c (props changed) vendor-crypto/openssl/dist/ssl/t1_meth.c (props changed) vendor-crypto/openssl/dist/ssl/t1_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/tls1.h (props changed) vendor-crypto/openssl/dist/test/CAss.cnf (props changed) vendor-crypto/openssl/dist/test/CAssdh.cnf (props changed) vendor-crypto/openssl/dist/test/CAssdsa.cnf (props changed) vendor-crypto/openssl/dist/test/CAssrsa.cnf (props changed) vendor-crypto/openssl/dist/test/Makefile (props changed) vendor-crypto/openssl/dist/test/P1ss.cnf (props changed) vendor-crypto/openssl/dist/test/P2ss.cnf (props changed) vendor-crypto/openssl/dist/test/SHAmix.r (props changed) vendor-crypto/openssl/dist/test/SHAmix.x (props changed) vendor-crypto/openssl/dist/test/Sssdsa.cnf (props changed) vendor-crypto/openssl/dist/test/Sssrsa.cnf (props changed) vendor-crypto/openssl/dist/test/Uss.cnf (props changed) vendor-crypto/openssl/dist/test/VMSca-response.1 (props changed) vendor-crypto/openssl/dist/test/VMSca-response.2 (props changed) vendor-crypto/openssl/dist/test/bctest (props changed) vendor-crypto/openssl/dist/test/bftest.c (props changed) vendor-crypto/openssl/dist/test/bntest.c (props changed) vendor-crypto/openssl/dist/test/casttest.c (props changed) vendor-crypto/openssl/dist/test/cms-examples.pl (props changed) vendor-crypto/openssl/dist/test/cms-test.pl (props changed) vendor-crypto/openssl/dist/test/destest.c (props changed) vendor-crypto/openssl/dist/test/dhtest.c (props changed) vendor-crypto/openssl/dist/test/dsatest.c (props changed) vendor-crypto/openssl/dist/test/dummytest.c (props changed) vendor-crypto/openssl/dist/test/ecdhtest.c (props changed) vendor-crypto/openssl/dist/test/ecdsatest.c (props changed) vendor-crypto/openssl/dist/test/ectest.c (props changed) vendor-crypto/openssl/dist/test/enginetest.c (props changed) vendor-crypto/openssl/dist/test/evp_test.c (props changed) vendor-crypto/openssl/dist/test/evptests.txt (props changed) vendor-crypto/openssl/dist/test/exptest.c (props changed) vendor-crypto/openssl/dist/test/fips_aesavs.c (props changed) vendor-crypto/openssl/dist/test/fips_desmovs.c (props changed) vendor-crypto/openssl/dist/test/fips_dsatest.c (props changed) vendor-crypto/openssl/dist/test/fips_dssvs.c (props changed) vendor-crypto/openssl/dist/test/fips_hmactest.c (props changed) vendor-crypto/openssl/dist/test/fips_randtest.c (props changed) vendor-crypto/openssl/dist/test/fips_rngvs.c (props changed) vendor-crypto/openssl/dist/test/fips_rsagtest.c (props changed) vendor-crypto/openssl/dist/test/fips_rsastest.c (props changed) vendor-crypto/openssl/dist/test/fips_rsavtest.c (props changed) vendor-crypto/openssl/dist/test/fips_shatest.c (props changed) vendor-crypto/openssl/dist/test/fips_test_suite.c (props changed) vendor-crypto/openssl/dist/test/hmactest.c (props changed) vendor-crypto/openssl/dist/test/ideatest.c (props changed) vendor-crypto/openssl/dist/test/igetest.c (props changed) vendor-crypto/openssl/dist/test/jpaketest.c (props changed) vendor-crypto/openssl/dist/test/md2test.c (props changed) vendor-crypto/openssl/dist/test/md4test.c (props changed) vendor-crypto/openssl/dist/test/md5test.c (props changed) vendor-crypto/openssl/dist/test/mdc2test.c (props changed) vendor-crypto/openssl/dist/test/methtest.c (props changed) vendor-crypto/openssl/dist/test/pkcs7-1.pem (props changed) vendor-crypto/openssl/dist/test/pkcs7.pem (props changed) vendor-crypto/openssl/dist/test/r160test.c (props changed) vendor-crypto/openssl/dist/test/randtest.c (props changed) vendor-crypto/openssl/dist/test/rc2test.c (props changed) vendor-crypto/openssl/dist/test/rc4test.c (props changed) vendor-crypto/openssl/dist/test/rc5test.c (props changed) vendor-crypto/openssl/dist/test/rmdtest.c (props changed) vendor-crypto/openssl/dist/test/rsa_test.c (props changed) vendor-crypto/openssl/dist/test/sha1test.c (props changed) vendor-crypto/openssl/dist/test/sha256t.c (props changed) vendor-crypto/openssl/dist/test/sha512t.c (props changed) vendor-crypto/openssl/dist/test/shatest.c (props changed) vendor-crypto/openssl/dist/test/smcont.txt (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsa1.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsa2.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsa3.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsap.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smroot.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smrsa1.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smrsa2.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smrsa3.pem (props changed) vendor-crypto/openssl/dist/test/ssltest.c (props changed) vendor-crypto/openssl/dist/test/tcrl (props changed) vendor-crypto/openssl/dist/test/test.cnf (props changed) vendor-crypto/openssl/dist/test/testca (props changed) vendor-crypto/openssl/dist/test/testcrl.pem (props changed) vendor-crypto/openssl/dist/test/testenc (props changed) vendor-crypto/openssl/dist/test/testfipsssl (props changed) vendor-crypto/openssl/dist/test/testgen (props changed) vendor-crypto/openssl/dist/test/testp7.pem (props changed) vendor-crypto/openssl/dist/test/testreq2.pem (props changed) vendor-crypto/openssl/dist/test/testrsa.pem (props changed) vendor-crypto/openssl/dist/test/testsid.pem (props changed) vendor-crypto/openssl/dist/test/testss (props changed) vendor-crypto/openssl/dist/test/testssl (props changed) vendor-crypto/openssl/dist/test/testsslproxy (props changed) vendor-crypto/openssl/dist/test/testx509.pem (props changed) vendor-crypto/openssl/dist/test/times (props changed) vendor-crypto/openssl/dist/test/tpkcs7 (props changed) vendor-crypto/openssl/dist/test/tpkcs7d (props changed) vendor-crypto/openssl/dist/test/treq (props changed) vendor-crypto/openssl/dist/test/trsa (props changed) vendor-crypto/openssl/dist/test/tsid (props changed) vendor-crypto/openssl/dist/test/tx509 (props changed) vendor-crypto/openssl/dist/test/v3-cert1.pem (props changed) vendor-crypto/openssl/dist/test/v3-cert2.pem (props changed) vendor-crypto/openssl/dist/times/090/586-100.nt (props changed) vendor-crypto/openssl/dist/times/091/486-50.nt (props changed) vendor-crypto/openssl/dist/times/091/586-100.lnx (props changed) vendor-crypto/openssl/dist/times/091/68000.bsd (props changed) vendor-crypto/openssl/dist/times/091/686-200.lnx (props changed) vendor-crypto/openssl/dist/times/091/alpha064.osf (props changed) vendor-crypto/openssl/dist/times/091/alpha164.lnx (props changed) vendor-crypto/openssl/dist/times/091/alpha164.osf (props changed) vendor-crypto/openssl/dist/times/091/mips-rel.pl (props changed) vendor-crypto/openssl/dist/times/091/r10000.irx (props changed) vendor-crypto/openssl/dist/times/091/r3000.ult (props changed) vendor-crypto/openssl/dist/times/091/r4400.irx (props changed) vendor-crypto/openssl/dist/times/100.lnx (props changed) vendor-crypto/openssl/dist/times/100.nt (props changed) vendor-crypto/openssl/dist/times/200.lnx (props changed) vendor-crypto/openssl/dist/times/486-66.dos (props changed) vendor-crypto/openssl/dist/times/486-66.nt (props changed) vendor-crypto/openssl/dist/times/486-66.w31 (props changed) vendor-crypto/openssl/dist/times/5.lnx (props changed) vendor-crypto/openssl/dist/times/586-085i.nt (props changed) vendor-crypto/openssl/dist/times/586-100.LN3 (props changed) vendor-crypto/openssl/dist/times/586-100.NT2 (props changed) vendor-crypto/openssl/dist/times/586-100.dos (props changed) vendor-crypto/openssl/dist/times/586-100.ln4 (props changed) vendor-crypto/openssl/dist/times/586-100.lnx (props changed) vendor-crypto/openssl/dist/times/586-100.nt (props changed) vendor-crypto/openssl/dist/times/586-100.ntx (props changed) vendor-crypto/openssl/dist/times/586-100.w31 (props changed) vendor-crypto/openssl/dist/times/586-1002.lnx (props changed) vendor-crypto/openssl/dist/times/586p-100.lnx (props changed) vendor-crypto/openssl/dist/times/686-200.bsd (props changed) vendor-crypto/openssl/dist/times/686-200.lnx (props changed) vendor-crypto/openssl/dist/times/686-200.nt (props changed) vendor-crypto/openssl/dist/times/L1 (props changed) vendor-crypto/openssl/dist/times/R10000.t (props changed) vendor-crypto/openssl/dist/times/R4400.t (props changed) vendor-crypto/openssl/dist/times/aix.t (props changed) vendor-crypto/openssl/dist/times/aixold.t (props changed) vendor-crypto/openssl/dist/times/alpha.t (props changed) vendor-crypto/openssl/dist/times/alpha400.t (props changed) vendor-crypto/openssl/dist/times/cyrix100.lnx (props changed) vendor-crypto/openssl/dist/times/dgux-x86.t (props changed) vendor-crypto/openssl/dist/times/dgux.t (props changed) vendor-crypto/openssl/dist/times/hpux-acc.t (props changed) vendor-crypto/openssl/dist/times/hpux-kr.t (props changed) vendor-crypto/openssl/dist/times/hpux.t (props changed) vendor-crypto/openssl/dist/times/p2.w95 (props changed) vendor-crypto/openssl/dist/times/pent2.t (props changed) vendor-crypto/openssl/dist/times/readme (props changed) vendor-crypto/openssl/dist/times/s586-100.lnx (props changed) vendor-crypto/openssl/dist/times/s586-100.nt (props changed) vendor-crypto/openssl/dist/times/sgi.t (props changed) vendor-crypto/openssl/dist/times/sparc.t (props changed) vendor-crypto/openssl/dist/times/sparc2 (props changed) vendor-crypto/openssl/dist/times/sparcLX.t (props changed) vendor-crypto/openssl/dist/times/usparc.t (props changed) vendor-crypto/openssl/dist/times/x86/bfs.cpp (props changed) vendor-crypto/openssl/dist/times/x86/casts.cpp (props changed) vendor-crypto/openssl/dist/times/x86/des3s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/dess.cpp (props changed) vendor-crypto/openssl/dist/times/x86/md4s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/md5s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/rc4s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/sha1s.cpp (props changed) vendor-crypto/openssl/dist/tools/Makefile (props changed) vendor-crypto/openssl/dist/tools/c89.sh (props changed) vendor-crypto/openssl/dist/tools/c_hash (props changed) vendor-crypto/openssl/dist/tools/c_info (props changed) vendor-crypto/openssl/dist/tools/c_issuer (props changed) vendor-crypto/openssl/dist/tools/c_name (props changed) vendor-crypto/openssl/dist/tools/c_rehash (props changed) vendor-crypto/openssl/dist/tools/c_rehash.in (props changed) vendor-crypto/openssl/dist/util/FreeBSD.sh (props changed) vendor-crypto/openssl/dist/util/add_cr.pl (props changed) vendor-crypto/openssl/dist/util/bat.sh (props changed) vendor-crypto/openssl/dist/util/ck_errf.pl (props changed) vendor-crypto/openssl/dist/util/clean-depend.pl (props changed) vendor-crypto/openssl/dist/util/copy.pl (props changed) vendor-crypto/openssl/dist/util/deleof.pl (props changed) vendor-crypto/openssl/dist/util/dirname.pl (props changed) vendor-crypto/openssl/dist/util/do_ms.sh (props changed) vendor-crypto/openssl/dist/util/domd (props changed) vendor-crypto/openssl/dist/util/err-ins.pl (props changed) vendor-crypto/openssl/dist/util/extract-names.pl (props changed) vendor-crypto/openssl/dist/util/extract-section.pl (props changed) vendor-crypto/openssl/dist/util/files.pl (props changed) vendor-crypto/openssl/dist/util/fixNT.sh (props changed) vendor-crypto/openssl/dist/util/install.sh (props changed) vendor-crypto/openssl/dist/util/libeay.num (props changed) vendor-crypto/openssl/dist/util/mk1mf.pl (props changed) vendor-crypto/openssl/dist/util/mkcerts.sh (props changed) vendor-crypto/openssl/dist/util/mkdef.pl (props changed) vendor-crypto/openssl/dist/util/mkdir-p.pl (props changed) vendor-crypto/openssl/dist/util/mkerr.pl (props changed) vendor-crypto/openssl/dist/util/mkfiles.pl (props changed) vendor-crypto/openssl/dist/util/mklink.pl (props changed) vendor-crypto/openssl/dist/util/mkstack.pl (props changed) vendor-crypto/openssl/dist/util/opensslwrap.sh (props changed) vendor-crypto/openssl/dist/util/perlpath.pl (props changed) vendor-crypto/openssl/dist/util/pl/BC-32.pl (props changed) vendor-crypto/openssl/dist/util/pl/Mingw32.pl (props changed) vendor-crypto/openssl/dist/util/pl/OS2-EMX.pl (props changed) vendor-crypto/openssl/dist/util/pl/VC-32.pl (props changed) vendor-crypto/openssl/dist/util/pl/linux.pl (props changed) vendor-crypto/openssl/dist/util/pl/netware.pl (props changed) vendor-crypto/openssl/dist/util/pl/ultrix.pl (props changed) vendor-crypto/openssl/dist/util/pl/unix.pl (props changed) vendor-crypto/openssl/dist/util/pod2man.pl (props changed) vendor-crypto/openssl/dist/util/pod2mantest (props changed) vendor-crypto/openssl/dist/util/pod2mantest.pod (props changed) vendor-crypto/openssl/dist/util/point.sh (props changed) vendor-crypto/openssl/dist/util/selftest.pl (props changed) vendor-crypto/openssl/dist/util/shlib_wrap.sh (props changed) vendor-crypto/openssl/dist/util/sp-diff.pl (props changed) vendor-crypto/openssl/dist/util/speed.sh (props changed) vendor-crypto/openssl/dist/util/src-dep.pl (props changed) vendor-crypto/openssl/dist/util/ssleay.num (props changed) vendor-crypto/openssl/dist/util/tab_num.pl (props changed) vendor-crypto/openssl/dist/util/x86asm.sh (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 21:52:23 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 522B21065688; Mon, 8 Jun 2009 21:52:22 +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 388C18FC13; Mon, 8 Jun 2009 21:52:22 +0000 (UTC) (envelope-from simon@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58LqMfI045119; Mon, 8 Jun 2009 21:52:22 GMT (envelope-from simon@svn.freebsd.org) Received: (from simon@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58LqM1t045118; Mon, 8 Jun 2009 21:52:22 GMT (envelope-from simon@svn.freebsd.org) Message-Id: <200906082152.n58LqM1t045118@svn.freebsd.org> From: "Simon L. Nielsen" Date: Mon, 8 Jun 2009 21:52:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193770 - in vendor-crypto/openssl/dist: . apps apps/demoCA apps/demoCA/private apps/set bugs certs certs/demo certs/expired crypto crypto/aes crypto/aes/asm crypto/asn1 crypto/bf crypt... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 21:52:23 -0000 Author: simon Date: Mon Jun 8 21:52:20 2009 New Revision: 193770 URL: http://svn.freebsd.org/changeset/base/193770 Log: Re-enable keyword expansion, at least for now. Having keyword expension disabled on the vendor tree means merges to head removes the attributes there which clutters the merge. Modified: vendor-crypto/openssl/dist/CHANGES (props changed) vendor-crypto/openssl/dist/CHANGES.SSLeay (props changed) vendor-crypto/openssl/dist/Configure (props changed) vendor-crypto/openssl/dist/FAQ (props changed) vendor-crypto/openssl/dist/INSTALL (props changed) vendor-crypto/openssl/dist/LICENSE (props changed) vendor-crypto/openssl/dist/Makefile (props changed) vendor-crypto/openssl/dist/Makefile.org (props changed) vendor-crypto/openssl/dist/Makefile.shared (props changed) vendor-crypto/openssl/dist/NEWS (props changed) vendor-crypto/openssl/dist/PROBLEMS (props changed) vendor-crypto/openssl/dist/README (props changed) vendor-crypto/openssl/dist/README.ASN1 (props changed) vendor-crypto/openssl/dist/README.ENGINE (props changed) vendor-crypto/openssl/dist/apps/CA.pl (props changed) vendor-crypto/openssl/dist/apps/CA.pl.in (props changed) vendor-crypto/openssl/dist/apps/CA.sh (props changed) vendor-crypto/openssl/dist/apps/Makefile (props changed) vendor-crypto/openssl/dist/apps/app_rand.c (props changed) vendor-crypto/openssl/dist/apps/apps.c (props changed) vendor-crypto/openssl/dist/apps/apps.h (props changed) vendor-crypto/openssl/dist/apps/asn1pars.c (props changed) vendor-crypto/openssl/dist/apps/ca-cert.srl (props changed) vendor-crypto/openssl/dist/apps/ca-key.pem (props changed) vendor-crypto/openssl/dist/apps/ca-req.pem (props changed) vendor-crypto/openssl/dist/apps/ca.c (props changed) vendor-crypto/openssl/dist/apps/cert.pem (props changed) vendor-crypto/openssl/dist/apps/ciphers.c (props changed) vendor-crypto/openssl/dist/apps/client.pem (props changed) vendor-crypto/openssl/dist/apps/cms.c (props changed) vendor-crypto/openssl/dist/apps/crl.c (props changed) vendor-crypto/openssl/dist/apps/crl2p7.c (props changed) vendor-crypto/openssl/dist/apps/demoCA/cacert.pem (props changed) vendor-crypto/openssl/dist/apps/demoCA/index.txt (props changed) vendor-crypto/openssl/dist/apps/demoCA/private/cakey.pem (props changed) vendor-crypto/openssl/dist/apps/demoCA/serial (props changed) vendor-crypto/openssl/dist/apps/dgst.c (props changed) vendor-crypto/openssl/dist/apps/dh.c (props changed) vendor-crypto/openssl/dist/apps/dh1024.pem (props changed) vendor-crypto/openssl/dist/apps/dh2048.pem (props changed) vendor-crypto/openssl/dist/apps/dh4096.pem (props changed) vendor-crypto/openssl/dist/apps/dh512.pem (props changed) vendor-crypto/openssl/dist/apps/dhparam.c (props changed) vendor-crypto/openssl/dist/apps/dsa-ca.pem (props changed) vendor-crypto/openssl/dist/apps/dsa-pca.pem (props changed) vendor-crypto/openssl/dist/apps/dsa.c (props changed) vendor-crypto/openssl/dist/apps/dsa1024.pem (props changed) vendor-crypto/openssl/dist/apps/dsa512.pem (props changed) vendor-crypto/openssl/dist/apps/dsap.pem (props changed) vendor-crypto/openssl/dist/apps/dsaparam.c (props changed) vendor-crypto/openssl/dist/apps/ec.c (props changed) vendor-crypto/openssl/dist/apps/ecparam.c (props changed) vendor-crypto/openssl/dist/apps/enc.c (props changed) vendor-crypto/openssl/dist/apps/engine.c (props changed) vendor-crypto/openssl/dist/apps/errstr.c (props changed) vendor-crypto/openssl/dist/apps/gendh.c (props changed) vendor-crypto/openssl/dist/apps/gendsa.c (props changed) vendor-crypto/openssl/dist/apps/genrsa.c (props changed) vendor-crypto/openssl/dist/apps/md4.c (props changed) vendor-crypto/openssl/dist/apps/nseq.c (props changed) vendor-crypto/openssl/dist/apps/ocsp.c (props changed) vendor-crypto/openssl/dist/apps/oid.cnf (props changed) vendor-crypto/openssl/dist/apps/openssl.c (props changed) vendor-crypto/openssl/dist/apps/openssl.cnf (props changed) vendor-crypto/openssl/dist/apps/passwd.c (props changed) vendor-crypto/openssl/dist/apps/pca-cert.srl (props changed) vendor-crypto/openssl/dist/apps/pca-key.pem (props changed) vendor-crypto/openssl/dist/apps/pca-req.pem (props changed) vendor-crypto/openssl/dist/apps/pkcs12.c (props changed) vendor-crypto/openssl/dist/apps/pkcs7.c (props changed) vendor-crypto/openssl/dist/apps/pkcs8.c (props changed) vendor-crypto/openssl/dist/apps/prime.c (props changed) vendor-crypto/openssl/dist/apps/privkey.pem (props changed) vendor-crypto/openssl/dist/apps/progs.h (props changed) vendor-crypto/openssl/dist/apps/progs.pl (props changed) vendor-crypto/openssl/dist/apps/rand.c (props changed) vendor-crypto/openssl/dist/apps/req.c (props changed) vendor-crypto/openssl/dist/apps/req.pem (props changed) vendor-crypto/openssl/dist/apps/rsa.c (props changed) vendor-crypto/openssl/dist/apps/rsa8192.pem (props changed) vendor-crypto/openssl/dist/apps/rsautl.c (props changed) vendor-crypto/openssl/dist/apps/s1024key.pem (props changed) vendor-crypto/openssl/dist/apps/s1024req.pem (props changed) vendor-crypto/openssl/dist/apps/s512-key.pem (props changed) vendor-crypto/openssl/dist/apps/s512-req.pem (props changed) vendor-crypto/openssl/dist/apps/s_apps.h (props changed) vendor-crypto/openssl/dist/apps/s_cb.c (props changed) vendor-crypto/openssl/dist/apps/s_client.c (props changed) vendor-crypto/openssl/dist/apps/s_server.c (props changed) vendor-crypto/openssl/dist/apps/s_socket.c (props changed) vendor-crypto/openssl/dist/apps/s_time.c (props changed) vendor-crypto/openssl/dist/apps/server.pem (props changed) vendor-crypto/openssl/dist/apps/server.srl (props changed) vendor-crypto/openssl/dist/apps/server2.pem (props changed) vendor-crypto/openssl/dist/apps/sess_id.c (props changed) vendor-crypto/openssl/dist/apps/set/set-g-ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set-m-ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_b_ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_c_ca.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_d_ct.pem (props changed) vendor-crypto/openssl/dist/apps/set/set_root.pem (props changed) vendor-crypto/openssl/dist/apps/smime.c (props changed) vendor-crypto/openssl/dist/apps/speed.c (props changed) vendor-crypto/openssl/dist/apps/spkac.c (props changed) vendor-crypto/openssl/dist/apps/testCA.pem (props changed) vendor-crypto/openssl/dist/apps/testdsa.h (props changed) vendor-crypto/openssl/dist/apps/testrsa.h (props changed) vendor-crypto/openssl/dist/apps/timeouts.h (props changed) vendor-crypto/openssl/dist/apps/tsget (props changed) vendor-crypto/openssl/dist/apps/verify.c (props changed) vendor-crypto/openssl/dist/apps/version.c (props changed) vendor-crypto/openssl/dist/apps/winrand.c (props changed) vendor-crypto/openssl/dist/apps/x509.c (props changed) vendor-crypto/openssl/dist/bugs/MS (props changed) vendor-crypto/openssl/dist/bugs/SSLv3 (props changed) vendor-crypto/openssl/dist/bugs/alpha.c (props changed) vendor-crypto/openssl/dist/bugs/dggccbug.c (props changed) vendor-crypto/openssl/dist/bugs/sgiccbug.c (props changed) vendor-crypto/openssl/dist/bugs/sslref.dif (props changed) vendor-crypto/openssl/dist/bugs/stream.c (props changed) vendor-crypto/openssl/dist/bugs/ultrixcc.c (props changed) vendor-crypto/openssl/dist/certs/README.RootCerts (props changed) vendor-crypto/openssl/dist/certs/demo/ca-cert.pem (props changed) vendor-crypto/openssl/dist/certs/demo/dsa-ca.pem (props changed) vendor-crypto/openssl/dist/certs/demo/dsa-pca.pem (props changed) vendor-crypto/openssl/dist/certs/demo/pca-cert.pem (props changed) vendor-crypto/openssl/dist/certs/expired/ICE.crl (props changed) vendor-crypto/openssl/dist/config (props changed) vendor-crypto/openssl/dist/crypto/LPdir_nyi.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_unix.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_vms.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_win.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_win32.c (props changed) vendor-crypto/openssl/dist/crypto/LPdir_wince.c (props changed) vendor-crypto/openssl/dist/crypto/Makefile (props changed) vendor-crypto/openssl/dist/crypto/aes/Makefile (props changed) vendor-crypto/openssl/dist/crypto/aes/README (props changed) vendor-crypto/openssl/dist/crypto/aes/aes.h (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_cfb.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_core.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ctr.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ige.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_locl.h (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_misc.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_ofb.c (props changed) vendor-crypto/openssl/dist/crypto/aes/aes_wrap.c (props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-586.pl (props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-ia64.S (props changed) vendor-crypto/openssl/dist/crypto/aes/asm/aes-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/asn1/Makefile (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_bitstr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_bool.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_bytes.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_d2i_fp.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_digest.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_dup.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_enum.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_gentm.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_hdr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_i2d_fp.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_int.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_mbstr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_meth.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_object.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_octet.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_print.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_set.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_sign.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_strex.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_strnid.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_time.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_type.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_utctm.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_utf8.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/a_verify.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_err.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_gen.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_lib.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_mac.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1_par.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn1t.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn_mime.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn_moid.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/asn_pack.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/charmap.h (props changed) vendor-crypto/openssl/dist/crypto/asn1/charmap.pl (props changed) vendor-crypto/openssl/dist/crypto/asn1/d2i_pr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/d2i_pu.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/evp_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/f_enum.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/f_int.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/f_string.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/i2d_pr.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/i2d_pu.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/n_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/nsseq.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p5_pbe.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p5_pbev2.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p8_key.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/p8_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_bitst.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_crl.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_req.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_spki.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_x509.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/t_x509a.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_dec.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_enc.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_fre.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_new.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_prn.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_typ.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/tasn_utl.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_algor.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_attrib.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_bignum.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_crl.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_exten.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_info.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_long.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_name.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_pubkey.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_req.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_sig.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_spki.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_val.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_x509.c (props changed) vendor-crypto/openssl/dist/crypto/asn1/x_x509a.c (props changed) vendor-crypto/openssl/dist/crypto/bf/COPYRIGHT (props changed) vendor-crypto/openssl/dist/crypto/bf/INSTALL (props changed) vendor-crypto/openssl/dist/crypto/bf/Makefile (props changed) vendor-crypto/openssl/dist/crypto/bf/README (props changed) vendor-crypto/openssl/dist/crypto/bf/VERSION (props changed) vendor-crypto/openssl/dist/crypto/bf/asm/bf-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bf/asm/bf-686.pl (props changed) vendor-crypto/openssl/dist/crypto/bf/asm/readme (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_enc.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_locl.h (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_opts.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_pi.h (props changed) vendor-crypto/openssl/dist/crypto/bf/bf_skey.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bfs.cpp (props changed) vendor-crypto/openssl/dist/crypto/bf/bfspeed.c (props changed) vendor-crypto/openssl/dist/crypto/bf/bftest.c (props changed) vendor-crypto/openssl/dist/crypto/bf/blowfish.h (props changed) vendor-crypto/openssl/dist/crypto/bio/Makefile (props changed) vendor-crypto/openssl/dist/crypto/bio/b_dump.c (props changed) vendor-crypto/openssl/dist/crypto/bio/b_print.c (props changed) vendor-crypto/openssl/dist/crypto/bio/b_sock.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_buff.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_lbuf.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_nbio.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bf_null.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bio.h (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_cb.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_err.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/bio/bio_lib.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_acpt.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_bio.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_conn.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_dgram.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_fd.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_file.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_log.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_mem.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_null.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_rtcp.c (props changed) vendor-crypto/openssl/dist/crypto/bio/bss_sock.c (props changed) vendor-crypto/openssl/dist/crypto/bn/Makefile (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/README (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/bn-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/co-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ia64.S (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/mips3.s (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/mo-586.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/pa-risc2.s (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/pa-risc2W.s (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/ppc.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv8.S (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/sparcv8plus.S (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/add.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/comba.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/div.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/f (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/mul.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/mul_add.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/sqr.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86/sub.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-gcc.c (props changed) vendor-crypto/openssl/dist/crypto/bn/asm/x86_64-mont.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/bn.h (props changed) vendor-crypto/openssl/dist/crypto/bn/bn.mul (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_add.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_asm.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_blind.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_const.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_ctx.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_depr.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_div.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_err.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_exp.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_exp2.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_gcd.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_gf2m.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_kron.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_lib.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mod.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mont.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mpi.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_mul.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_nist.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_prime.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_prime.h (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_prime.pl (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_print.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_rand.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_recp.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_shift.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_sqr.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_sqrt.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bn_word.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bnspeed.c (props changed) vendor-crypto/openssl/dist/crypto/bn/bntest.c (props changed) vendor-crypto/openssl/dist/crypto/bn/divtest.c (props changed) vendor-crypto/openssl/dist/crypto/bn/exp.c (props changed) vendor-crypto/openssl/dist/crypto/bn/expspeed.c (props changed) vendor-crypto/openssl/dist/crypto/bn/exptest.c (props changed) vendor-crypto/openssl/dist/crypto/bn/todo (props changed) vendor-crypto/openssl/dist/crypto/buffer/Makefile (props changed) vendor-crypto/openssl/dist/crypto/buffer/buf_err.c (props changed) vendor-crypto/openssl/dist/crypto/buffer/buffer.c (props changed) vendor-crypto/openssl/dist/crypto/buffer/buffer.h (props changed) vendor-crypto/openssl/dist/crypto/camellia/Makefile (props changed) vendor-crypto/openssl/dist/crypto/camellia/camellia.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/camellia.h (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_cfb.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_ctr.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_locl.h (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_misc.c (props changed) vendor-crypto/openssl/dist/crypto/camellia/cmll_ofb.c (props changed) vendor-crypto/openssl/dist/crypto/cast/Makefile (props changed) vendor-crypto/openssl/dist/crypto/cast/asm/cast-586.pl (props changed) vendor-crypto/openssl/dist/crypto/cast/asm/readme (props changed) vendor-crypto/openssl/dist/crypto/cast/c_cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_enc.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/cast/c_skey.c (props changed) vendor-crypto/openssl/dist/crypto/cast/cast.h (props changed) vendor-crypto/openssl/dist/crypto/cast/cast_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/cast/cast_s.h (props changed) vendor-crypto/openssl/dist/crypto/cast/cast_spd.c (props changed) vendor-crypto/openssl/dist/crypto/cast/castopts.c (props changed) vendor-crypto/openssl/dist/crypto/cast/casts.cpp (props changed) vendor-crypto/openssl/dist/crypto/cast/casttest.c (props changed) vendor-crypto/openssl/dist/crypto/cms/Makefile (props changed) vendor-crypto/openssl/dist/crypto/cms/cms.h (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_att.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_cd.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_dd.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_enc.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_env.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_err.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_ess.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_io.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_lib.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_sd.c (props changed) vendor-crypto/openssl/dist/crypto/cms/cms_smime.c (props changed) vendor-crypto/openssl/dist/crypto/comp/Makefile (props changed) vendor-crypto/openssl/dist/crypto/comp/c_rle.c (props changed) vendor-crypto/openssl/dist/crypto/comp/c_zlib.c (props changed) vendor-crypto/openssl/dist/crypto/comp/comp.h (props changed) vendor-crypto/openssl/dist/crypto/comp/comp_err.c (props changed) vendor-crypto/openssl/dist/crypto/comp/comp_lib.c (props changed) vendor-crypto/openssl/dist/crypto/conf/Makefile (props changed) vendor-crypto/openssl/dist/crypto/conf/README (props changed) vendor-crypto/openssl/dist/crypto/conf/cnf_save.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf.h (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_api.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_api.h (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_def.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_def.h (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_err.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_lib.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_mall.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_mod.c (props changed) vendor-crypto/openssl/dist/crypto/conf/conf_sap.c (props changed) vendor-crypto/openssl/dist/crypto/conf/keysets.pl (props changed) vendor-crypto/openssl/dist/crypto/conf/ssleay.cnf (props changed) vendor-crypto/openssl/dist/crypto/conf/test.c (props changed) vendor-crypto/openssl/dist/crypto/cpt_err.c (props changed) vendor-crypto/openssl/dist/crypto/cryptlib.c (props changed) vendor-crypto/openssl/dist/crypto/cryptlib.h (props changed) vendor-crypto/openssl/dist/crypto/crypto.h (props changed) vendor-crypto/openssl/dist/crypto/cversion.c (props changed) vendor-crypto/openssl/dist/crypto/des/COPYRIGHT (props changed) vendor-crypto/openssl/dist/crypto/des/DES.pm (props changed) vendor-crypto/openssl/dist/crypto/des/DES.xs (props changed) vendor-crypto/openssl/dist/crypto/des/FILES0 (props changed) vendor-crypto/openssl/dist/crypto/des/INSTALL (props changed) vendor-crypto/openssl/dist/crypto/des/Imakefile (props changed) vendor-crypto/openssl/dist/crypto/des/KERBEROS (props changed) vendor-crypto/openssl/dist/crypto/des/Makefile (props changed) vendor-crypto/openssl/dist/crypto/des/README (props changed) vendor-crypto/openssl/dist/crypto/des/VERSION (props changed) vendor-crypto/openssl/dist/crypto/des/asm/crypt586.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/des-586.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/des686.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/des_enc.m4 (props changed) vendor-crypto/openssl/dist/crypto/des/asm/desboth.pl (props changed) vendor-crypto/openssl/dist/crypto/des/asm/readme (props changed) vendor-crypto/openssl/dist/crypto/des/cbc3_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/cbc_cksm.c (props changed) vendor-crypto/openssl/dist/crypto/des/cbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/cfb64ede.c (props changed) vendor-crypto/openssl/dist/crypto/des/cfb64enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/cfb_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/des.c (props changed) vendor-crypto/openssl/dist/crypto/des/des.h (props changed) vendor-crypto/openssl/dist/crypto/des/des.pod (props changed) vendor-crypto/openssl/dist/crypto/des/des3s.cpp (props changed) vendor-crypto/openssl/dist/crypto/des/des_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_locl.h (props changed) vendor-crypto/openssl/dist/crypto/des/des_old.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_old.h (props changed) vendor-crypto/openssl/dist/crypto/des/des_old2.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_opts.c (props changed) vendor-crypto/openssl/dist/crypto/des/des_ver.h (props changed) vendor-crypto/openssl/dist/crypto/des/dess.cpp (props changed) vendor-crypto/openssl/dist/crypto/des/destest.c (props changed) vendor-crypto/openssl/dist/crypto/des/ecb3_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ecb_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ede_cbcm_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/enc_read.c (props changed) vendor-crypto/openssl/dist/crypto/des/enc_writ.c (props changed) vendor-crypto/openssl/dist/crypto/des/fcrypt.c (props changed) vendor-crypto/openssl/dist/crypto/des/fcrypt_b.c (props changed) vendor-crypto/openssl/dist/crypto/des/makefile.bc (props changed) vendor-crypto/openssl/dist/crypto/des/ncbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ofb64ede.c (props changed) vendor-crypto/openssl/dist/crypto/des/ofb64enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/ofb_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/options.txt (props changed) vendor-crypto/openssl/dist/crypto/des/pcbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/qud_cksm.c (props changed) vendor-crypto/openssl/dist/crypto/des/rand_key.c (props changed) vendor-crypto/openssl/dist/crypto/des/read2pwd.c (props changed) vendor-crypto/openssl/dist/crypto/des/read_pwd.c (props changed) vendor-crypto/openssl/dist/crypto/des/rpc_des.h (props changed) vendor-crypto/openssl/dist/crypto/des/rpc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/des/rpw.c (props changed) vendor-crypto/openssl/dist/crypto/des/set_key.c (props changed) vendor-crypto/openssl/dist/crypto/des/speed.c (props changed) vendor-crypto/openssl/dist/crypto/des/spr.h (props changed) vendor-crypto/openssl/dist/crypto/des/str2key.c (props changed) vendor-crypto/openssl/dist/crypto/des/t/test (props changed) vendor-crypto/openssl/dist/crypto/des/times/486-50.sol (props changed) vendor-crypto/openssl/dist/crypto/des/times/586-100.lnx (props changed) vendor-crypto/openssl/dist/crypto/des/times/686-200.fre (props changed) vendor-crypto/openssl/dist/crypto/des/times/aix.cc (props changed) vendor-crypto/openssl/dist/crypto/des/times/alpha.cc (props changed) vendor-crypto/openssl/dist/crypto/des/times/hpux.cc (props changed) vendor-crypto/openssl/dist/crypto/des/times/sparc.gcc (props changed) vendor-crypto/openssl/dist/crypto/des/times/usparc.cc (props changed) vendor-crypto/openssl/dist/crypto/des/typemap (props changed) vendor-crypto/openssl/dist/crypto/des/xcbc_enc.c (props changed) vendor-crypto/openssl/dist/crypto/dh/Makefile (props changed) vendor-crypto/openssl/dist/crypto/dh/dh.h (props changed) vendor-crypto/openssl/dist/crypto/dh/dh1024.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh192.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh2048.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh4096.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh512.pem (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_check.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_depr.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_err.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_gen.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_key.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dh_lib.c (props changed) vendor-crypto/openssl/dist/crypto/dh/dhtest.c (props changed) vendor-crypto/openssl/dist/crypto/dh/example (props changed) vendor-crypto/openssl/dist/crypto/dh/generate (props changed) vendor-crypto/openssl/dist/crypto/dh/p1024.c (props changed) vendor-crypto/openssl/dist/crypto/dh/p192.c (props changed) vendor-crypto/openssl/dist/crypto/dh/p512.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/Makefile (props changed) vendor-crypto/openssl/dist/crypto/dsa/README (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa.h (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_depr.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_err.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_gen.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_key.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_lib.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_ossl.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_sign.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsa_vrf.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsagen.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/dsatest.c (props changed) vendor-crypto/openssl/dist/crypto/dsa/fips186a.txt (props changed) vendor-crypto/openssl/dist/crypto/dso/Makefile (props changed) vendor-crypto/openssl/dist/crypto/dso/README (props changed) vendor-crypto/openssl/dist/crypto/dso/dso.h (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_dl.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_dlfcn.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_err.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_lib.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_null.c (props changed) vendor-crypto/openssl/dist/crypto/dso/dso_openssl.c (props changed) vendor-crypto/openssl/dist/crypto/ebcdic.c (props changed) vendor-crypto/openssl/dist/crypto/ebcdic.h (props changed) vendor-crypto/openssl/dist/crypto/ec/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ec/ec.h (props changed) vendor-crypto/openssl/dist/crypto/ec/ec2_mult.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec2_smpl.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec2_smpt.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_check.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_curve.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_cvt.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_err.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_key.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_mult.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ec_print.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ecp_mont.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ecp_nist.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ecp_smpl.c (props changed) vendor-crypto/openssl/dist/crypto/ec/ectest.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ecdh.h (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ecdhtest.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_err.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_key.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ecdh/ech_ossl.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecdsa.h (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecdsatest.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_err.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_ossl.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_sign.c (props changed) vendor-crypto/openssl/dist/crypto/ecdsa/ecs_vrf.c (props changed) vendor-crypto/openssl/dist/crypto/engine/Makefile (props changed) vendor-crypto/openssl/dist/crypto/engine/README (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_all.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_cnf.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_cryptodev.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_ctrl.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_dyn.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_err.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_fat.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_init.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_int.h (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_lib.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_list.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_openssl.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_padlock.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/engine/eng_table.c (props changed) vendor-crypto/openssl/dist/crypto/engine/engine.h (props changed) vendor-crypto/openssl/dist/crypto/engine/enginetest.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_cipher.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_dh.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_digest.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_dsa.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_ecdh.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_ecdsa.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_rand.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_rsa.c (props changed) vendor-crypto/openssl/dist/crypto/engine/tb_store.c (props changed) vendor-crypto/openssl/dist/crypto/err/Makefile (props changed) vendor-crypto/openssl/dist/crypto/err/err.c (props changed) vendor-crypto/openssl/dist/crypto/err/err.h (props changed) vendor-crypto/openssl/dist/crypto/err/err_all.c (props changed) vendor-crypto/openssl/dist/crypto/err/err_prn.c (props changed) vendor-crypto/openssl/dist/crypto/err/openssl.ec (props changed) vendor-crypto/openssl/dist/crypto/evp/Makefile (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_b64.c (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_enc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_md.c (props changed) vendor-crypto/openssl/dist/crypto/evp/bio_ok.c (props changed) vendor-crypto/openssl/dist/crypto/evp/c_all.c (props changed) vendor-crypto/openssl/dist/crypto/evp/c_allc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/c_alld.c (props changed) vendor-crypto/openssl/dist/crypto/evp/digest.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_aes.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_bf.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_camellia.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_cast.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_des.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_des3.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_dsa.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_idea.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_null.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_old.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_rc2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_rc4.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_rc5.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_seed.c (props changed) vendor-crypto/openssl/dist/crypto/evp/e_xcbc_d.c (props changed) vendor-crypto/openssl/dist/crypto/evp/encode.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp.h (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_acnf.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_enc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_err.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_key.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_lib.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_locl.h (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_pbe.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evp_test.c (props changed) vendor-crypto/openssl/dist/crypto/evp/evptests.txt (props changed) vendor-crypto/openssl/dist/crypto/evp/m_dss.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_dss1.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_ecdsa.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_md2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_md4.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_md5.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_mdc2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_null.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_ripemd.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_sha.c (props changed) vendor-crypto/openssl/dist/crypto/evp/m_sha1.c (props changed) vendor-crypto/openssl/dist/crypto/evp/names.c (props changed) vendor-crypto/openssl/dist/crypto/evp/openbsd_hw.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p5_crpt.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p5_crpt2.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_dec.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_enc.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_lib.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_open.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_seal.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_sign.c (props changed) vendor-crypto/openssl/dist/crypto/evp/p_verify.c (props changed) vendor-crypto/openssl/dist/crypto/ex_data.c (props changed) vendor-crypto/openssl/dist/crypto/hmac/Makefile (props changed) vendor-crypto/openssl/dist/crypto/hmac/hmac.c (props changed) vendor-crypto/openssl/dist/crypto/hmac/hmac.h (props changed) vendor-crypto/openssl/dist/crypto/hmac/hmactest.c (props changed) vendor-crypto/openssl/dist/crypto/ia64cpuid.S (props changed) vendor-crypto/openssl/dist/crypto/idea/Makefile (props changed) vendor-crypto/openssl/dist/crypto/idea/i_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/idea/i_skey.c (props changed) vendor-crypto/openssl/dist/crypto/idea/idea.h (props changed) vendor-crypto/openssl/dist/crypto/idea/idea_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/idea/idea_spd.c (props changed) vendor-crypto/openssl/dist/crypto/idea/ideatest.c (props changed) vendor-crypto/openssl/dist/crypto/idea/version (props changed) vendor-crypto/openssl/dist/crypto/krb5/Makefile (props changed) vendor-crypto/openssl/dist/crypto/krb5/krb5_asn.c (props changed) vendor-crypto/openssl/dist/crypto/krb5/krb5_asn.h (props changed) vendor-crypto/openssl/dist/crypto/lhash/Makefile (props changed) vendor-crypto/openssl/dist/crypto/lhash/lh_stats.c (props changed) vendor-crypto/openssl/dist/crypto/lhash/lh_test.c (props changed) vendor-crypto/openssl/dist/crypto/lhash/lhash.c (props changed) vendor-crypto/openssl/dist/crypto/lhash/lhash.h (props changed) vendor-crypto/openssl/dist/crypto/lhash/num.pl (props changed) vendor-crypto/openssl/dist/crypto/md2/Makefile (props changed) vendor-crypto/openssl/dist/crypto/md2/md2.c (props changed) vendor-crypto/openssl/dist/crypto/md2/md2.h (props changed) vendor-crypto/openssl/dist/crypto/md2/md2_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/md2/md2_one.c (props changed) vendor-crypto/openssl/dist/crypto/md2/md2test.c (props changed) vendor-crypto/openssl/dist/crypto/md32_common.h (props changed) vendor-crypto/openssl/dist/crypto/md4/Makefile (props changed) vendor-crypto/openssl/dist/crypto/md4/md4.c (props changed) vendor-crypto/openssl/dist/crypto/md4/md4.h (props changed) vendor-crypto/openssl/dist/crypto/md4/md4_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/md4/md4_locl.h (props changed) vendor-crypto/openssl/dist/crypto/md4/md4_one.c (props changed) vendor-crypto/openssl/dist/crypto/md4/md4s.cpp (props changed) vendor-crypto/openssl/dist/crypto/md4/md4test.c (props changed) vendor-crypto/openssl/dist/crypto/md5/Makefile (props changed) vendor-crypto/openssl/dist/crypto/md5/asm/md5-586.pl (props changed) vendor-crypto/openssl/dist/crypto/md5/asm/md5-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/md5/md5.c (props changed) vendor-crypto/openssl/dist/crypto/md5/md5.h (props changed) vendor-crypto/openssl/dist/crypto/md5/md5_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/md5/md5_locl.h (props changed) vendor-crypto/openssl/dist/crypto/md5/md5_one.c (props changed) vendor-crypto/openssl/dist/crypto/md5/md5s.cpp (props changed) vendor-crypto/openssl/dist/crypto/md5/md5test.c (props changed) vendor-crypto/openssl/dist/crypto/mdc2/Makefile (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2.h (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2_one.c (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2dgst.c (props changed) vendor-crypto/openssl/dist/crypto/mdc2/mdc2test.c (props changed) vendor-crypto/openssl/dist/crypto/mem.c (props changed) vendor-crypto/openssl/dist/crypto/mem_clr.c (props changed) vendor-crypto/openssl/dist/crypto/mem_dbg.c (props changed) vendor-crypto/openssl/dist/crypto/o_dir.c (props changed) vendor-crypto/openssl/dist/crypto/o_dir.h (props changed) vendor-crypto/openssl/dist/crypto/o_dir_test.c (props changed) vendor-crypto/openssl/dist/crypto/o_str.c (props changed) vendor-crypto/openssl/dist/crypto/o_str.h (props changed) vendor-crypto/openssl/dist/crypto/o_time.c (props changed) vendor-crypto/openssl/dist/crypto/o_time.h (props changed) vendor-crypto/openssl/dist/crypto/objects/Makefile (props changed) vendor-crypto/openssl/dist/crypto/objects/o_names.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_dat.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_dat.h (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_dat.pl (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_err.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_lib.c (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_mac.h (props changed) vendor-crypto/openssl/dist/crypto/objects/obj_mac.num (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.README (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.h (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.pl (props changed) vendor-crypto/openssl/dist/crypto/objects/objects.txt (props changed) vendor-crypto/openssl/dist/crypto/ocsp/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp.h (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_asn.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_cl.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_err.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ext.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_ht.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_prn.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_srv.c (props changed) vendor-crypto/openssl/dist/crypto/ocsp/ocsp_vfy.c (props changed) vendor-crypto/openssl/dist/crypto/opensslconf.h (props changed) vendor-crypto/openssl/dist/crypto/opensslconf.h.in (props changed) vendor-crypto/openssl/dist/crypto/opensslv.h (props changed) vendor-crypto/openssl/dist/crypto/ossl_typ.h (props changed) vendor-crypto/openssl/dist/crypto/pem/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pem/message (props changed) vendor-crypto/openssl/dist/crypto/pem/pem.h (props changed) vendor-crypto/openssl/dist/crypto/pem/pem2.h (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_all.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_err.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_info.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_lib.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_oth.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_pk8.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_pkey.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_seal.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_sign.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_x509.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pem_xaux.c (props changed) vendor-crypto/openssl/dist/crypto/pem/pkcs7.lis (props changed) vendor-crypto/openssl/dist/crypto/perlasm/cbc.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/readme (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86_64-xlate.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86asm.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86ms.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86nasm.pl (props changed) vendor-crypto/openssl/dist/crypto/perlasm/x86unix.pl (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_add.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_asn.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_attr.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_crpt.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_crt.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_decr.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_init.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_key.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_kiss.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_mutl.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_npas.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8d.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_p8e.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/p12_utl.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/pk12err.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs12/pkcs12.h (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/bio_ber.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/dec.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/des.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/doc (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/enc.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/es1.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/example.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/example.h (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/info.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/infokey.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/a1 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/a2 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/cert.p7c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/smime.p7m (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/p7/smime.p7s (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_attr.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_doit.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_enc.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_lib.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_mime.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pk7_smime.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pkcs7.h (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/pkcs7err.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/server.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/sign.c (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/3des.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/3dess.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/c.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/ff (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-e (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-e.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-01 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-01.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-02 (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-enc-02.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-s-a-e (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/msie-s-a-e.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/nav-smime (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/s.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/t/server.pem (props changed) vendor-crypto/openssl/dist/crypto/pkcs7/verify.c (props changed) vendor-crypto/openssl/dist/crypto/pqueue/Makefile (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pq_compat.h (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pq_test.c (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pqueue.c (props changed) vendor-crypto/openssl/dist/crypto/pqueue/pqueue.h (props changed) vendor-crypto/openssl/dist/crypto/rand/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rand/md_rand.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand.h (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_egd.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_err.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_lcl.h (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_lib.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_nw.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_os2.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_unix.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_vms.c (props changed) vendor-crypto/openssl/dist/crypto/rand/rand_win.c (props changed) vendor-crypto/openssl/dist/crypto/rand/randfile.c (props changed) vendor-crypto/openssl/dist/crypto/rand/randtest.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2.h (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_locl.h (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2_skey.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2speed.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rc2test.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/rrc2.doc (props changed) vendor-crypto/openssl/dist/crypto/rc2/tab.c (props changed) vendor-crypto/openssl/dist/crypto/rc2/version (props changed) vendor-crypto/openssl/dist/crypto/rc4/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-586.pl (props changed) vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-ia64.S (props changed) vendor-crypto/openssl/dist/crypto/rc4/asm/rc4-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4.h (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_enc.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_locl.h (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4_skey.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4s.cpp (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4speed.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rc4test.c (props changed) vendor-crypto/openssl/dist/crypto/rc4/rrc4.doc (props changed) vendor-crypto/openssl/dist/crypto/rc5/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rc5/asm/rc5-586.pl (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5.h (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_enc.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_locl.h (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5_skey.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5cfb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5ofb64.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5s.cpp (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5speed.c (props changed) vendor-crypto/openssl/dist/crypto/rc5/rc5test.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ripemd/README (props changed) vendor-crypto/openssl/dist/crypto/ripemd/asm/rips.cpp (props changed) vendor-crypto/openssl/dist/crypto/ripemd/asm/rmd-586.pl (props changed) vendor-crypto/openssl/dist/crypto/ripemd/ripemd.h (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd160.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmd_one.c (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmdconst.h (props changed) vendor-crypto/openssl/dist/crypto/ripemd/rmdtest.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/Makefile (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa.h (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_asn1.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_chk.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_depr.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_eay.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_err.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_gen.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_lib.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_none.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_null.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_oaep.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_pk1.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_pss.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_saos.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_sign.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_ssl.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_test.c (props changed) vendor-crypto/openssl/dist/crypto/rsa/rsa_x931.c (props changed) vendor-crypto/openssl/dist/crypto/seed/Makefile (props changed) vendor-crypto/openssl/dist/crypto/seed/seed.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed.h (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_cbc.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_cfb.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_ecb.c (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_locl.h (props changed) vendor-crypto/openssl/dist/crypto/seed/seed_ofb.c (props changed) vendor-crypto/openssl/dist/crypto/sha/Makefile (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/README (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha1-586.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha1-ia64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha1-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha512-ia64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha512-sse2.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/asm/sha512-x86_64.pl (props changed) vendor-crypto/openssl/dist/crypto/sha/sha.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha.h (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1_one.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1dgst.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1s.cpp (props changed) vendor-crypto/openssl/dist/crypto/sha/sha1test.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha256.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha256t.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha512.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha512t.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha_dgst.c (props changed) vendor-crypto/openssl/dist/crypto/sha/sha_locl.h (props changed) vendor-crypto/openssl/dist/crypto/sha/sha_one.c (props changed) vendor-crypto/openssl/dist/crypto/sha/shatest.c (props changed) vendor-crypto/openssl/dist/crypto/sparccpuid.S (props changed) vendor-crypto/openssl/dist/crypto/stack/Makefile (props changed) vendor-crypto/openssl/dist/crypto/stack/safestack.h (props changed) vendor-crypto/openssl/dist/crypto/stack/stack.c (props changed) vendor-crypto/openssl/dist/crypto/stack/stack.h (props changed) vendor-crypto/openssl/dist/crypto/store/Makefile (props changed) vendor-crypto/openssl/dist/crypto/store/README (props changed) vendor-crypto/openssl/dist/crypto/store/store.h (props changed) vendor-crypto/openssl/dist/crypto/store/str_err.c (props changed) vendor-crypto/openssl/dist/crypto/store/str_lib.c (props changed) vendor-crypto/openssl/dist/crypto/store/str_locl.h (props changed) vendor-crypto/openssl/dist/crypto/store/str_mem.c (props changed) vendor-crypto/openssl/dist/crypto/store/str_meth.c (props changed) vendor-crypto/openssl/dist/crypto/symhacks.h (props changed) vendor-crypto/openssl/dist/crypto/threads/README (props changed) vendor-crypto/openssl/dist/crypto/threads/mttest.c (props changed) vendor-crypto/openssl/dist/crypto/threads/profile.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/pthread.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/pthread2.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/purify.sh (props changed) vendor-crypto/openssl/dist/crypto/threads/th-lock.c (props changed) vendor-crypto/openssl/dist/crypto/tmdiff.c (props changed) vendor-crypto/openssl/dist/crypto/tmdiff.h (props changed) vendor-crypto/openssl/dist/crypto/txt_db/Makefile (props changed) vendor-crypto/openssl/dist/crypto/txt_db/txt_db.c (props changed) vendor-crypto/openssl/dist/crypto/txt_db/txt_db.h (props changed) vendor-crypto/openssl/dist/crypto/ui/Makefile (props changed) vendor-crypto/openssl/dist/crypto/ui/ui.h (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_compat.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_compat.h (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_err.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_lib.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_locl.h (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_openssl.c (props changed) vendor-crypto/openssl/dist/crypto/ui/ui_util.c (props changed) vendor-crypto/openssl/dist/crypto/uid.c (props changed) vendor-crypto/openssl/dist/crypto/x509/Makefile (props changed) vendor-crypto/openssl/dist/crypto/x509/by_dir.c (props changed) vendor-crypto/openssl/dist/crypto/x509/by_file.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509.h (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_att.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_cmp.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_d2.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_def.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_err.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_ext.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_lu.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_obj.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_r2x.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_req.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_set.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_trs.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_txt.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_v3.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_vfy.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_vfy.h (props changed) vendor-crypto/openssl/dist/crypto/x509/x509_vpm.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509cset.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509name.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509rset.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509spki.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x509type.c (props changed) vendor-crypto/openssl/dist/crypto/x509/x_all.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/Makefile (props changed) vendor-crypto/openssl/dist/crypto/x509v3/ext_dat.h (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_cache.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_data.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_int.h (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_lib.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_map.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_node.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/pcy_tree.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/tabtest.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_addr.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_akey.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_akeya.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_alt.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_asid.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_bcons.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_bitst.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_conf.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_cpols.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_crld.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_enum.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_extku.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_genn.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_ia5.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_info.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_int.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_lib.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_ncons.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_ocsp.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pci.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pcia.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pcons.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pku.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_pmaps.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_prn.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_purp.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_skey.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_sxnet.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3_utl.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3conf.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3err.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/v3prin.c (props changed) vendor-crypto/openssl/dist/crypto/x509v3/x509v3.h (props changed) vendor-crypto/openssl/dist/crypto/x86_64cpuid.pl (props changed) vendor-crypto/openssl/dist/crypto/x86cpuid.pl (props changed) vendor-crypto/openssl/dist/demos/README (props changed) vendor-crypto/openssl/dist/demos/asn1/README.ASN1 (props changed) vendor-crypto/openssl/dist/demos/asn1/ocsp.c (props changed) vendor-crypto/openssl/dist/demos/b64.c (props changed) vendor-crypto/openssl/dist/demos/b64.pl (props changed) vendor-crypto/openssl/dist/demos/bio/Makefile (props changed) vendor-crypto/openssl/dist/demos/bio/README (props changed) vendor-crypto/openssl/dist/demos/bio/saccept.c (props changed) vendor-crypto/openssl/dist/demos/bio/sconnect.c (props changed) vendor-crypto/openssl/dist/demos/bio/server.pem (props changed) vendor-crypto/openssl/dist/demos/easy_tls/Makefile (props changed) vendor-crypto/openssl/dist/demos/easy_tls/README (props changed) vendor-crypto/openssl/dist/demos/easy_tls/cacerts.pem (props changed) vendor-crypto/openssl/dist/demos/easy_tls/cert.pem (props changed) vendor-crypto/openssl/dist/demos/easy_tls/easy-tls.c (props changed) vendor-crypto/openssl/dist/demos/easy_tls/easy-tls.h (props changed) vendor-crypto/openssl/dist/demos/easy_tls/test.c (props changed) vendor-crypto/openssl/dist/demos/easy_tls/test.h (props changed) vendor-crypto/openssl/dist/demos/eay/Makefile (props changed) vendor-crypto/openssl/dist/demos/eay/base64.c (props changed) vendor-crypto/openssl/dist/demos/eay/conn.c (props changed) vendor-crypto/openssl/dist/demos/eay/loadrsa.c (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/Makefile (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/cluster_labs.h (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs.c (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs.ec (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs_err.c (props changed) vendor-crypto/openssl/dist/demos/engines/cluster_labs/hw_cluster_labs_err.h (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/Makefile (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca.c (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca.ec (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca_err.c (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/hw_ibmca_err.h (props changed) vendor-crypto/openssl/dist/demos/engines/ibmca/ica_openssl_api.h (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/Makefile (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod.c (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod.ec (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod.h (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod_err.c (props changed) vendor-crypto/openssl/dist/demos/engines/zencod/hw_zencod_err.h (props changed) vendor-crypto/openssl/dist/demos/maurice/Makefile (props changed) vendor-crypto/openssl/dist/demos/maurice/README (props changed) vendor-crypto/openssl/dist/demos/maurice/cert.pem (props changed) vendor-crypto/openssl/dist/demos/maurice/example1.c (props changed) vendor-crypto/openssl/dist/demos/maurice/example2.c (props changed) vendor-crypto/openssl/dist/demos/maurice/example3.c (props changed) vendor-crypto/openssl/dist/demos/maurice/example4.c (props changed) vendor-crypto/openssl/dist/demos/maurice/loadkeys.c (props changed) vendor-crypto/openssl/dist/demos/maurice/loadkeys.h (props changed) vendor-crypto/openssl/dist/demos/maurice/privkey.pem (props changed) vendor-crypto/openssl/dist/demos/pkcs12/README (props changed) vendor-crypto/openssl/dist/demos/pkcs12/pkread.c (props changed) vendor-crypto/openssl/dist/demos/pkcs12/pkwrite.c (props changed) vendor-crypto/openssl/dist/demos/prime/Makefile (props changed) vendor-crypto/openssl/dist/demos/prime/prime.c (props changed) vendor-crypto/openssl/dist/demos/privkey.pem (props changed) vendor-crypto/openssl/dist/demos/selfsign.c (props changed) vendor-crypto/openssl/dist/demos/sign/Makefile (props changed) vendor-crypto/openssl/dist/demos/sign/cert.pem (props changed) vendor-crypto/openssl/dist/demos/sign/key.pem (props changed) vendor-crypto/openssl/dist/demos/sign/sig.txt (props changed) vendor-crypto/openssl/dist/demos/sign/sign.c (props changed) vendor-crypto/openssl/dist/demos/sign/sign.txt (props changed) vendor-crypto/openssl/dist/demos/spkigen.c (props changed) vendor-crypto/openssl/dist/demos/ssl/cli.cpp (props changed) vendor-crypto/openssl/dist/demos/ssl/inetdsrv.cpp (props changed) vendor-crypto/openssl/dist/demos/ssl/serv.cpp (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/ECC-RSAcertgen.sh (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/ECCcertgen.sh (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/README (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/RSAcertgen.sh (props changed) vendor-crypto/openssl/dist/demos/ssltest-ecc/ssltest.sh (props changed) vendor-crypto/openssl/dist/demos/state_machine/Makefile (props changed) vendor-crypto/openssl/dist/demos/state_machine/state_machine.c (props changed) vendor-crypto/openssl/dist/demos/tunala/A-client.pem (props changed) vendor-crypto/openssl/dist/demos/tunala/A-server.pem (props changed) vendor-crypto/openssl/dist/demos/tunala/CA.pem (props changed) vendor-crypto/openssl/dist/demos/tunala/INSTALL (props changed) vendor-crypto/openssl/dist/demos/tunala/Makefile (props changed) vendor-crypto/openssl/dist/demos/tunala/Makefile.am (props changed) vendor-crypto/openssl/dist/demos/tunala/README (props changed) vendor-crypto/openssl/dist/demos/tunala/autogunk.sh (props changed) vendor-crypto/openssl/dist/demos/tunala/autoungunk.sh (props changed) vendor-crypto/openssl/dist/demos/tunala/breakage.c (props changed) vendor-crypto/openssl/dist/demos/tunala/buffer.c (props changed) vendor-crypto/openssl/dist/demos/tunala/cb.c (props changed) vendor-crypto/openssl/dist/demos/tunala/configure.in (props changed) vendor-crypto/openssl/dist/demos/tunala/ip.c (props changed) vendor-crypto/openssl/dist/demos/tunala/sm.c (props changed) vendor-crypto/openssl/dist/demos/tunala/test.sh (props changed) vendor-crypto/openssl/dist/demos/tunala/tunala.c (props changed) vendor-crypto/openssl/dist/demos/tunala/tunala.h (props changed) vendor-crypto/openssl/dist/demos/x509/README (props changed) vendor-crypto/openssl/dist/demos/x509/mkcert.c (props changed) vendor-crypto/openssl/dist/demos/x509/mkreq.c (props changed) vendor-crypto/openssl/dist/doc/HOWTO/certificates.txt (props changed) vendor-crypto/openssl/dist/doc/HOWTO/keys.txt (props changed) vendor-crypto/openssl/dist/doc/HOWTO/proxy_certificates.txt (props changed) vendor-crypto/openssl/dist/doc/README (props changed) vendor-crypto/openssl/dist/doc/apps/CA.pl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/asn1parse.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ca.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ciphers.pod (props changed) vendor-crypto/openssl/dist/doc/apps/config.pod (props changed) vendor-crypto/openssl/dist/doc/apps/crl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/crl2pkcs7.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dgst.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dhparam.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/dsaparam.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ec.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ecparam.pod (props changed) vendor-crypto/openssl/dist/doc/apps/enc.pod (props changed) vendor-crypto/openssl/dist/doc/apps/errstr.pod (props changed) vendor-crypto/openssl/dist/doc/apps/gendsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/genrsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/nseq.pod (props changed) vendor-crypto/openssl/dist/doc/apps/ocsp.pod (props changed) vendor-crypto/openssl/dist/doc/apps/openssl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/passwd.pod (props changed) vendor-crypto/openssl/dist/doc/apps/pkcs12.pod (props changed) vendor-crypto/openssl/dist/doc/apps/pkcs7.pod (props changed) vendor-crypto/openssl/dist/doc/apps/pkcs8.pod (props changed) vendor-crypto/openssl/dist/doc/apps/rand.pod (props changed) vendor-crypto/openssl/dist/doc/apps/req.pod (props changed) vendor-crypto/openssl/dist/doc/apps/rsa.pod (props changed) vendor-crypto/openssl/dist/doc/apps/rsautl.pod (props changed) vendor-crypto/openssl/dist/doc/apps/s_client.pod (props changed) vendor-crypto/openssl/dist/doc/apps/s_server.pod (props changed) vendor-crypto/openssl/dist/doc/apps/s_time.pod (props changed) vendor-crypto/openssl/dist/doc/apps/sess_id.pod (props changed) vendor-crypto/openssl/dist/doc/apps/smime.pod (props changed) vendor-crypto/openssl/dist/doc/apps/speed.pod (props changed) vendor-crypto/openssl/dist/doc/apps/spkac.pod (props changed) vendor-crypto/openssl/dist/doc/apps/verify.pod (props changed) vendor-crypto/openssl/dist/doc/apps/version.pod (props changed) vendor-crypto/openssl/dist/doc/apps/x509.pod (props changed) vendor-crypto/openssl/dist/doc/apps/x509v3_config.pod (props changed) vendor-crypto/openssl/dist/doc/c-indentation.el (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_OBJECT_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_STRING_length.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_STRING_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_STRING_print_ex.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ASN1_generate_nconf.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_ctrl.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_base64.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_buffer.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_cipher.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_md.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_null.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_f_ssl.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_find_type.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_push.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_read.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_accept.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_bio.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_connect.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_fd.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_file.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_mem.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_null.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_s_socket.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_set_callback.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BIO_should_retry.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_BLINDING_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_CTX_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_CTX_start.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_add.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_add_word.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_bn2bin.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_cmp.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_copy.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_generate_prime.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_mod_inverse.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_mod_mul_montgomery.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_mod_mul_reciprocal.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_num_bytes.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_rand.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_set_bit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_swap.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/BN_zero.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/CONF_modules_free.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/CONF_modules_load_file.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/CRYPTO_set_ex_data.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_generate_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_generate_parameters.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_set_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DH_size.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_SIG_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_do_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_dup_DH.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_generate_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_generate_parameters.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_set_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/DSA_size.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_GET_LIB.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_clear_error.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_error_string.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_get_error.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_load_crypto_strings.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_load_strings.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_print_errors.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_put_error.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_remove_state.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ERR_set_mark.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_BytesToKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_DigestInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_EncryptInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_OpenInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_PKEY_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_PKEY_set1_RSA.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_SealInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_SignInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/EVP_VerifyInit.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OBJ_nid2obj.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_Applink.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_VERSION_NUMBER.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_config.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_ia32cap.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OPENSSL_load_builtin_modules.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/OpenSSL_add_all_algorithms.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS12_create.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS12_parse.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_decrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_encrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/PKCS7_verify.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_add.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_bytes.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_cleanup.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_egd.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_load_file.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RAND_set_rand_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_blinding_on.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_check_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_generate_key.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_padding_add_PKCS1_type_1.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_print.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_private_encrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_public_encrypt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_set_method.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_sign.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/RSA_size.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/SMIME_read_PKCS7.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/SMIME_write_PKCS7.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_ENTRY_get_object.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_add_entry_by_txt.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_get_index_by_NID.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_NAME_print_ex.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/X509_new.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/bio.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/blowfish.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/bn.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/bn_internal.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/buffer.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/crypto.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_ASN1_OBJECT.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_DHparams.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_DSAPublicKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_PKCS8PrivateKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_RSAPublicKey.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_ALGOR.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_CRL.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_NAME.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_REQ.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/d2i_X509_SIG.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/des.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/des_modes.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/dh.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/dsa.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ecdsa.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/engine.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/err.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/evp.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/hmac.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/lh_stats.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/lhash.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/md5.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/mdc2.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/pem.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/rand.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/rc4.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ripemd.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/rsa.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/sha.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/threads.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ui.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/ui_compat.pod (props changed) vendor-crypto/openssl/dist/doc/crypto/x509.pod (props changed) vendor-crypto/openssl/dist/doc/fingerprints.txt (props changed) vendor-crypto/openssl/dist/doc/openssl-shared.txt (props changed) vendor-crypto/openssl/dist/doc/openssl.txt (props changed) vendor-crypto/openssl/dist/doc/openssl_button.gif (props changed) vendor-crypto/openssl/dist/doc/openssl_button.html (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CIPHER_get_name.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_COMP_add_compression_method.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_add_extra_chain_cert.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_add_session.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_ctrl.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_flush_sessions.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_free.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_get_verify_mode.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_load_verify_locations.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_new.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sess_number.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sess_set_cache_size.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sess_set_get_cb.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_sessions.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_cert_store.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_cert_verify_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_cipher_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_client_CA_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_client_cert_cb.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_default_passwd_cb.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_generate_session_id.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_info_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_max_cert_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_mode.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_msg_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_options.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_quiet_shutdown.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_session_cache_mode.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_session_id_context.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_ssl_version.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_timeout.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_set_verify.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_CTX_use_certificate.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_free.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_SESSION_get_time.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_accept.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_alert_type_string.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_clear.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_connect.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_do_handshake.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_free.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_SSL_CTX.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_ciphers.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_client_CA_list.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_current_cipher.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_default_timeout.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_error.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_ex_data_X509_STORE_CTX_idx.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_ex_new_index.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_fd.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_peer_cert_chain.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_peer_certificate.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_rbio.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_session.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_verify_result.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_get_version.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_library_init.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_load_client_CA_file.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_new.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_pending.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_read.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_rstate_string.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_session_reused.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_bio.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_connect_state.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_fd.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_session.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_shutdown.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_set_verify_result.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_shutdown.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_state_string.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_want.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/SSL_write.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/d2i_SSL_SESSION.pod (props changed) vendor-crypto/openssl/dist/doc/ssl/ssl.pod (props changed) vendor-crypto/openssl/dist/doc/ssleay.txt (props changed) vendor-crypto/openssl/dist/doc/standards.txt (props changed) vendor-crypto/openssl/dist/e_os.h (props changed) vendor-crypto/openssl/dist/e_os2.h (props changed) vendor-crypto/openssl/dist/engines/Makefile (props changed) vendor-crypto/openssl/dist/engines/axp.opt (props changed) vendor-crypto/openssl/dist/engines/e_4758cca.c (props changed) vendor-crypto/openssl/dist/engines/e_4758cca.ec (props changed) vendor-crypto/openssl/dist/engines/e_4758cca_err.c (props changed) vendor-crypto/openssl/dist/engines/e_4758cca_err.h (props changed) vendor-crypto/openssl/dist/engines/e_aep.c (props changed) vendor-crypto/openssl/dist/engines/e_aep.ec (props changed) vendor-crypto/openssl/dist/engines/e_aep_err.c (props changed) vendor-crypto/openssl/dist/engines/e_aep_err.h (props changed) vendor-crypto/openssl/dist/engines/e_atalla.c (props changed) vendor-crypto/openssl/dist/engines/e_atalla.ec (props changed) vendor-crypto/openssl/dist/engines/e_atalla_err.c (props changed) vendor-crypto/openssl/dist/engines/e_atalla_err.h (props changed) vendor-crypto/openssl/dist/engines/e_capi.c (props changed) vendor-crypto/openssl/dist/engines/e_capi.ec (props changed) vendor-crypto/openssl/dist/engines/e_capi_err.c (props changed) vendor-crypto/openssl/dist/engines/e_capi_err.h (props changed) vendor-crypto/openssl/dist/engines/e_chil.c (props changed) vendor-crypto/openssl/dist/engines/e_chil.ec (props changed) vendor-crypto/openssl/dist/engines/e_chil_err.c (props changed) vendor-crypto/openssl/dist/engines/e_chil_err.h (props changed) vendor-crypto/openssl/dist/engines/e_cswift.c (props changed) vendor-crypto/openssl/dist/engines/e_cswift.ec (props changed) vendor-crypto/openssl/dist/engines/e_cswift_err.c (props changed) vendor-crypto/openssl/dist/engines/e_cswift_err.h (props changed) vendor-crypto/openssl/dist/engines/e_gmp.c (props changed) vendor-crypto/openssl/dist/engines/e_gmp.ec (props changed) vendor-crypto/openssl/dist/engines/e_gmp_err.c (props changed) vendor-crypto/openssl/dist/engines/e_gmp_err.h (props changed) vendor-crypto/openssl/dist/engines/e_nuron.c (props changed) vendor-crypto/openssl/dist/engines/e_nuron.ec (props changed) vendor-crypto/openssl/dist/engines/e_nuron_err.c (props changed) vendor-crypto/openssl/dist/engines/e_nuron_err.h (props changed) vendor-crypto/openssl/dist/engines/e_sureware.c (props changed) vendor-crypto/openssl/dist/engines/e_sureware.ec (props changed) vendor-crypto/openssl/dist/engines/e_sureware_err.c (props changed) vendor-crypto/openssl/dist/engines/e_sureware_err.h (props changed) vendor-crypto/openssl/dist/engines/e_ubsec.c (props changed) vendor-crypto/openssl/dist/engines/e_ubsec.ec (props changed) vendor-crypto/openssl/dist/engines/e_ubsec_err.c (props changed) vendor-crypto/openssl/dist/engines/e_ubsec_err.h (props changed) vendor-crypto/openssl/dist/engines/engine_vector.mar (props changed) vendor-crypto/openssl/dist/engines/vax.opt (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/aep.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/atalla.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/cswift.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/hw_4758_cca.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/hw_ubsec.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/hwcryptohook.h (props changed) vendor-crypto/openssl/dist/engines/vendor_defns/sureware.h (props changed) vendor-crypto/openssl/dist/fips/fips_premain.c.sha1 (props changed) vendor-crypto/openssl/dist/fips/fipsld (props changed) vendor-crypto/openssl/dist/fips/openssl_fips_fingerprint (props changed) vendor-crypto/openssl/dist/openssl.doxy (props changed) vendor-crypto/openssl/dist/openssl.spec (props changed) vendor-crypto/openssl/dist/shlib/README (props changed) vendor-crypto/openssl/dist/ssl/Makefile (props changed) vendor-crypto/openssl/dist/ssl/bio_ssl.c (props changed) vendor-crypto/openssl/dist/ssl/d1_both.c (props changed) vendor-crypto/openssl/dist/ssl/d1_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/d1_enc.c (props changed) vendor-crypto/openssl/dist/ssl/d1_lib.c (props changed) vendor-crypto/openssl/dist/ssl/d1_meth.c (props changed) vendor-crypto/openssl/dist/ssl/d1_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/d1_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/dtls1.h (props changed) vendor-crypto/openssl/dist/ssl/kssl.c (props changed) vendor-crypto/openssl/dist/ssl/kssl.h (props changed) vendor-crypto/openssl/dist/ssl/kssl_lcl.h (props changed) vendor-crypto/openssl/dist/ssl/s23_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/s23_lib.c (props changed) vendor-crypto/openssl/dist/ssl/s23_meth.c (props changed) vendor-crypto/openssl/dist/ssl/s23_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/s23_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/s2_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/s2_enc.c (props changed) vendor-crypto/openssl/dist/ssl/s2_lib.c (props changed) vendor-crypto/openssl/dist/ssl/s2_meth.c (props changed) vendor-crypto/openssl/dist/ssl/s2_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/s2_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/s3_both.c (props changed) vendor-crypto/openssl/dist/ssl/s3_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/s3_enc.c (props changed) vendor-crypto/openssl/dist/ssl/s3_lib.c (props changed) vendor-crypto/openssl/dist/ssl/s3_meth.c (props changed) vendor-crypto/openssl/dist/ssl/s3_pkt.c (props changed) vendor-crypto/openssl/dist/ssl/s3_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/ssl.h (props changed) vendor-crypto/openssl/dist/ssl/ssl2.h (props changed) vendor-crypto/openssl/dist/ssl/ssl23.h (props changed) vendor-crypto/openssl/dist/ssl/ssl3.h (props changed) vendor-crypto/openssl/dist/ssl/ssl_algs.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_asn1.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_cert.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_ciph.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_err.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_err2.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_lib.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_locl.h (props changed) vendor-crypto/openssl/dist/ssl/ssl_rsa.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_sess.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_stat.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_task.c (props changed) vendor-crypto/openssl/dist/ssl/ssl_txt.c (props changed) vendor-crypto/openssl/dist/ssl/ssltest.c (props changed) vendor-crypto/openssl/dist/ssl/t1_clnt.c (props changed) vendor-crypto/openssl/dist/ssl/t1_enc.c (props changed) vendor-crypto/openssl/dist/ssl/t1_lib.c (props changed) vendor-crypto/openssl/dist/ssl/t1_meth.c (props changed) vendor-crypto/openssl/dist/ssl/t1_srvr.c (props changed) vendor-crypto/openssl/dist/ssl/tls1.h (props changed) vendor-crypto/openssl/dist/test/CAss.cnf (props changed) vendor-crypto/openssl/dist/test/CAssdh.cnf (props changed) vendor-crypto/openssl/dist/test/CAssdsa.cnf (props changed) vendor-crypto/openssl/dist/test/CAssrsa.cnf (props changed) vendor-crypto/openssl/dist/test/Makefile (props changed) vendor-crypto/openssl/dist/test/P1ss.cnf (props changed) vendor-crypto/openssl/dist/test/P2ss.cnf (props changed) vendor-crypto/openssl/dist/test/SHAmix.r (props changed) vendor-crypto/openssl/dist/test/SHAmix.x (props changed) vendor-crypto/openssl/dist/test/Sssdsa.cnf (props changed) vendor-crypto/openssl/dist/test/Sssrsa.cnf (props changed) vendor-crypto/openssl/dist/test/Uss.cnf (props changed) vendor-crypto/openssl/dist/test/VMSca-response.1 (props changed) vendor-crypto/openssl/dist/test/VMSca-response.2 (props changed) vendor-crypto/openssl/dist/test/bctest (props changed) vendor-crypto/openssl/dist/test/bftest.c (props changed) vendor-crypto/openssl/dist/test/bntest.c (props changed) vendor-crypto/openssl/dist/test/casttest.c (props changed) vendor-crypto/openssl/dist/test/cms-examples.pl (props changed) vendor-crypto/openssl/dist/test/cms-test.pl (props changed) vendor-crypto/openssl/dist/test/destest.c (props changed) vendor-crypto/openssl/dist/test/dhtest.c (props changed) vendor-crypto/openssl/dist/test/dsatest.c (props changed) vendor-crypto/openssl/dist/test/dummytest.c (props changed) vendor-crypto/openssl/dist/test/ecdhtest.c (props changed) vendor-crypto/openssl/dist/test/ecdsatest.c (props changed) vendor-crypto/openssl/dist/test/ectest.c (props changed) vendor-crypto/openssl/dist/test/enginetest.c (props changed) vendor-crypto/openssl/dist/test/evp_test.c (props changed) vendor-crypto/openssl/dist/test/evptests.txt (props changed) vendor-crypto/openssl/dist/test/exptest.c (props changed) vendor-crypto/openssl/dist/test/fips_aesavs.c (props changed) vendor-crypto/openssl/dist/test/fips_desmovs.c (props changed) vendor-crypto/openssl/dist/test/fips_dsatest.c (props changed) vendor-crypto/openssl/dist/test/fips_dssvs.c (props changed) vendor-crypto/openssl/dist/test/fips_hmactest.c (props changed) vendor-crypto/openssl/dist/test/fips_randtest.c (props changed) vendor-crypto/openssl/dist/test/fips_rngvs.c (props changed) vendor-crypto/openssl/dist/test/fips_rsagtest.c (props changed) vendor-crypto/openssl/dist/test/fips_rsastest.c (props changed) vendor-crypto/openssl/dist/test/fips_rsavtest.c (props changed) vendor-crypto/openssl/dist/test/fips_shatest.c (props changed) vendor-crypto/openssl/dist/test/fips_test_suite.c (props changed) vendor-crypto/openssl/dist/test/hmactest.c (props changed) vendor-crypto/openssl/dist/test/ideatest.c (props changed) vendor-crypto/openssl/dist/test/igetest.c (props changed) vendor-crypto/openssl/dist/test/jpaketest.c (props changed) vendor-crypto/openssl/dist/test/md2test.c (props changed) vendor-crypto/openssl/dist/test/md4test.c (props changed) vendor-crypto/openssl/dist/test/md5test.c (props changed) vendor-crypto/openssl/dist/test/mdc2test.c (props changed) vendor-crypto/openssl/dist/test/methtest.c (props changed) vendor-crypto/openssl/dist/test/pkcs7-1.pem (props changed) vendor-crypto/openssl/dist/test/pkcs7.pem (props changed) vendor-crypto/openssl/dist/test/r160test.c (props changed) vendor-crypto/openssl/dist/test/randtest.c (props changed) vendor-crypto/openssl/dist/test/rc2test.c (props changed) vendor-crypto/openssl/dist/test/rc4test.c (props changed) vendor-crypto/openssl/dist/test/rc5test.c (props changed) vendor-crypto/openssl/dist/test/rmdtest.c (props changed) vendor-crypto/openssl/dist/test/rsa_test.c (props changed) vendor-crypto/openssl/dist/test/sha1test.c (props changed) vendor-crypto/openssl/dist/test/sha256t.c (props changed) vendor-crypto/openssl/dist/test/sha512t.c (props changed) vendor-crypto/openssl/dist/test/shatest.c (props changed) vendor-crypto/openssl/dist/test/smcont.txt (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsa1.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsa2.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsa3.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smdsap.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smroot.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smrsa1.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smrsa2.pem (props changed) vendor-crypto/openssl/dist/test/smime-certs/smrsa3.pem (props changed) vendor-crypto/openssl/dist/test/ssltest.c (props changed) vendor-crypto/openssl/dist/test/tcrl (props changed) vendor-crypto/openssl/dist/test/test.cnf (props changed) vendor-crypto/openssl/dist/test/testca (props changed) vendor-crypto/openssl/dist/test/testcrl.pem (props changed) vendor-crypto/openssl/dist/test/testenc (props changed) vendor-crypto/openssl/dist/test/testfipsssl (props changed) vendor-crypto/openssl/dist/test/testgen (props changed) vendor-crypto/openssl/dist/test/testp7.pem (props changed) vendor-crypto/openssl/dist/test/testreq2.pem (props changed) vendor-crypto/openssl/dist/test/testrsa.pem (props changed) vendor-crypto/openssl/dist/test/testsid.pem (props changed) vendor-crypto/openssl/dist/test/testss (props changed) vendor-crypto/openssl/dist/test/testssl (props changed) vendor-crypto/openssl/dist/test/testsslproxy (props changed) vendor-crypto/openssl/dist/test/testx509.pem (props changed) vendor-crypto/openssl/dist/test/times (props changed) vendor-crypto/openssl/dist/test/tpkcs7 (props changed) vendor-crypto/openssl/dist/test/tpkcs7d (props changed) vendor-crypto/openssl/dist/test/treq (props changed) vendor-crypto/openssl/dist/test/trsa (props changed) vendor-crypto/openssl/dist/test/tsid (props changed) vendor-crypto/openssl/dist/test/tx509 (props changed) vendor-crypto/openssl/dist/test/v3-cert1.pem (props changed) vendor-crypto/openssl/dist/test/v3-cert2.pem (props changed) vendor-crypto/openssl/dist/times/090/586-100.nt (props changed) vendor-crypto/openssl/dist/times/091/486-50.nt (props changed) vendor-crypto/openssl/dist/times/091/586-100.lnx (props changed) vendor-crypto/openssl/dist/times/091/68000.bsd (props changed) vendor-crypto/openssl/dist/times/091/686-200.lnx (props changed) vendor-crypto/openssl/dist/times/091/alpha064.osf (props changed) vendor-crypto/openssl/dist/times/091/alpha164.lnx (props changed) vendor-crypto/openssl/dist/times/091/alpha164.osf (props changed) vendor-crypto/openssl/dist/times/091/mips-rel.pl (props changed) vendor-crypto/openssl/dist/times/091/r10000.irx (props changed) vendor-crypto/openssl/dist/times/091/r3000.ult (props changed) vendor-crypto/openssl/dist/times/091/r4400.irx (props changed) vendor-crypto/openssl/dist/times/100.lnx (props changed) vendor-crypto/openssl/dist/times/100.nt (props changed) vendor-crypto/openssl/dist/times/200.lnx (props changed) vendor-crypto/openssl/dist/times/486-66.dos (props changed) vendor-crypto/openssl/dist/times/486-66.nt (props changed) vendor-crypto/openssl/dist/times/486-66.w31 (props changed) vendor-crypto/openssl/dist/times/5.lnx (props changed) vendor-crypto/openssl/dist/times/586-085i.nt (props changed) vendor-crypto/openssl/dist/times/586-100.LN3 (props changed) vendor-crypto/openssl/dist/times/586-100.NT2 (props changed) vendor-crypto/openssl/dist/times/586-100.dos (props changed) vendor-crypto/openssl/dist/times/586-100.ln4 (props changed) vendor-crypto/openssl/dist/times/586-100.lnx (props changed) vendor-crypto/openssl/dist/times/586-100.nt (props changed) vendor-crypto/openssl/dist/times/586-100.ntx (props changed) vendor-crypto/openssl/dist/times/586-100.w31 (props changed) vendor-crypto/openssl/dist/times/586-1002.lnx (props changed) vendor-crypto/openssl/dist/times/586p-100.lnx (props changed) vendor-crypto/openssl/dist/times/686-200.bsd (props changed) vendor-crypto/openssl/dist/times/686-200.lnx (props changed) vendor-crypto/openssl/dist/times/686-200.nt (props changed) vendor-crypto/openssl/dist/times/L1 (props changed) vendor-crypto/openssl/dist/times/R10000.t (props changed) vendor-crypto/openssl/dist/times/R4400.t (props changed) vendor-crypto/openssl/dist/times/aix.t (props changed) vendor-crypto/openssl/dist/times/aixold.t (props changed) vendor-crypto/openssl/dist/times/alpha.t (props changed) vendor-crypto/openssl/dist/times/alpha400.t (props changed) vendor-crypto/openssl/dist/times/cyrix100.lnx (props changed) vendor-crypto/openssl/dist/times/dgux-x86.t (props changed) vendor-crypto/openssl/dist/times/dgux.t (props changed) vendor-crypto/openssl/dist/times/hpux-acc.t (props changed) vendor-crypto/openssl/dist/times/hpux-kr.t (props changed) vendor-crypto/openssl/dist/times/hpux.t (props changed) vendor-crypto/openssl/dist/times/p2.w95 (props changed) vendor-crypto/openssl/dist/times/pent2.t (props changed) vendor-crypto/openssl/dist/times/readme (props changed) vendor-crypto/openssl/dist/times/s586-100.lnx (props changed) vendor-crypto/openssl/dist/times/s586-100.nt (props changed) vendor-crypto/openssl/dist/times/sgi.t (props changed) vendor-crypto/openssl/dist/times/sparc.t (props changed) vendor-crypto/openssl/dist/times/sparc2 (props changed) vendor-crypto/openssl/dist/times/sparcLX.t (props changed) vendor-crypto/openssl/dist/times/usparc.t (props changed) vendor-crypto/openssl/dist/times/x86/bfs.cpp (props changed) vendor-crypto/openssl/dist/times/x86/casts.cpp (props changed) vendor-crypto/openssl/dist/times/x86/des3s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/dess.cpp (props changed) vendor-crypto/openssl/dist/times/x86/md4s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/md5s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/rc4s.cpp (props changed) vendor-crypto/openssl/dist/times/x86/sha1s.cpp (props changed) vendor-crypto/openssl/dist/tools/Makefile (props changed) vendor-crypto/openssl/dist/tools/c89.sh (props changed) vendor-crypto/openssl/dist/tools/c_hash (props changed) vendor-crypto/openssl/dist/tools/c_info (props changed) vendor-crypto/openssl/dist/tools/c_issuer (props changed) vendor-crypto/openssl/dist/tools/c_name (props changed) vendor-crypto/openssl/dist/tools/c_rehash (props changed) vendor-crypto/openssl/dist/tools/c_rehash.in (props changed) vendor-crypto/openssl/dist/util/FreeBSD.sh (props changed) vendor-crypto/openssl/dist/util/add_cr.pl (props changed) vendor-crypto/openssl/dist/util/bat.sh (props changed) vendor-crypto/openssl/dist/util/ck_errf.pl (props changed) vendor-crypto/openssl/dist/util/clean-depend.pl (props changed) vendor-crypto/openssl/dist/util/copy.pl (props changed) vendor-crypto/openssl/dist/util/deleof.pl (props changed) vendor-crypto/openssl/dist/util/dirname.pl (props changed) vendor-crypto/openssl/dist/util/do_ms.sh (props changed) vendor-crypto/openssl/dist/util/domd (props changed) vendor-crypto/openssl/dist/util/err-ins.pl (props changed) vendor-crypto/openssl/dist/util/extract-names.pl (props changed) vendor-crypto/openssl/dist/util/extract-section.pl (props changed) vendor-crypto/openssl/dist/util/files.pl (props changed) vendor-crypto/openssl/dist/util/fixNT.sh (props changed) vendor-crypto/openssl/dist/util/install.sh (props changed) vendor-crypto/openssl/dist/util/libeay.num (props changed) vendor-crypto/openssl/dist/util/mk1mf.pl (props changed) vendor-crypto/openssl/dist/util/mkcerts.sh (props changed) vendor-crypto/openssl/dist/util/mkdef.pl (props changed) vendor-crypto/openssl/dist/util/mkdir-p.pl (props changed) vendor-crypto/openssl/dist/util/mkerr.pl (props changed) vendor-crypto/openssl/dist/util/mkfiles.pl (props changed) vendor-crypto/openssl/dist/util/mklink.pl (props changed) vendor-crypto/openssl/dist/util/mkstack.pl (props changed) vendor-crypto/openssl/dist/util/opensslwrap.sh (props changed) vendor-crypto/openssl/dist/util/perlpath.pl (props changed) vendor-crypto/openssl/dist/util/pl/BC-32.pl (props changed) vendor-crypto/openssl/dist/util/pl/Mingw32.pl (props changed) vendor-crypto/openssl/dist/util/pl/OS2-EMX.pl (props changed) vendor-crypto/openssl/dist/util/pl/VC-32.pl (props changed) vendor-crypto/openssl/dist/util/pl/linux.pl (props changed) vendor-crypto/openssl/dist/util/pl/netware.pl (props changed) vendor-crypto/openssl/dist/util/pl/ultrix.pl (props changed) vendor-crypto/openssl/dist/util/pl/unix.pl (props changed) vendor-crypto/openssl/dist/util/pod2man.pl (props changed) vendor-crypto/openssl/dist/util/pod2mantest (props changed) vendor-crypto/openssl/dist/util/pod2mantest.pod (props changed) vendor-crypto/openssl/dist/util/point.sh (props changed) vendor-crypto/openssl/dist/util/selftest.pl (props changed) vendor-crypto/openssl/dist/util/shlib_wrap.sh (props changed) vendor-crypto/openssl/dist/util/sp-diff.pl (props changed) vendor-crypto/openssl/dist/util/speed.sh (props changed) vendor-crypto/openssl/dist/util/src-dep.pl (props changed) vendor-crypto/openssl/dist/util/ssleay.num (props changed) vendor-crypto/openssl/dist/util/tab_num.pl (props changed) vendor-crypto/openssl/dist/util/x86asm.sh (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 22:02:31 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 318E51065670; Mon, 8 Jun 2009 22:02:31 +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 2011F8FC13; Mon, 8 Jun 2009 22:02:31 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58M2Vil045571; Mon, 8 Jun 2009 22:02:31 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58M2V5i045570; Mon, 8 Jun 2009 22:02:31 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200906082202.n58M2V5i045570@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Mon, 8 Jun 2009 22:02: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: r193773 - 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: Mon, 08 Jun 2009 22:02:31 -0000 Author: bz Date: Mon Jun 8 22:02:30 2009 New Revision: 193773 URL: http://svn.freebsd.org/changeset/base/193773 Log: Update vnet_net size guard information after r193731. Modified: head/sys/sys/vimage.h Modified: head/sys/sys/vimage.h ============================================================================== --- head/sys/sys/vimage.h Mon Jun 8 21:58:34 2009 (r193772) +++ head/sys/sys/vimage.h Mon Jun 8 22:02:30 2009 (r193773) @@ -359,43 +359,43 @@ extern struct vprocg_list_head vprocg_he * See description further down to see how to get the new values. */ #ifdef __amd64__ -#define SIZEOF_vnet_net 176 +#define SIZEOF_vnet_net 184 #define SIZEOF_vnet_inet 4424 #define SIZEOF_vnet_inet6 8808 #define SIZEOF_vnet_ipsec 31160 #endif #ifdef __arm__ -#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_net 100 #define SIZEOF_vnet_inet 2616 #define SIZEOF_vnet_inet6 8524 #define SIZEOF_vnet_ipsec 1 #endif #ifdef __i386__ /* incl. pc98 */ -#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_net 100 #define SIZEOF_vnet_inet 2612 #define SIZEOF_vnet_inet6 8512 #define SIZEOF_vnet_ipsec 31024 #endif #ifdef __ia64__ -#define SIZEOF_vnet_net 176 +#define SIZEOF_vnet_net 184 #define SIZEOF_vnet_inet 4424 #define SIZEOF_vnet_inet6 8808 #define SIZEOF_vnet_ipsec 31160 #endif #ifdef __mips__ -#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_net 100 #define SIZEOF_vnet_inet 2648 #define SIZEOF_vnet_inet6 8544 #define SIZEOF_vnet_ipsec 1 #endif #ifdef __powerpc__ -#define SIZEOF_vnet_net 96 +#define SIZEOF_vnet_net 100 #define SIZEOF_vnet_inet 2640 #define SIZEOF_vnet_inet6 8520 #define SIZEOF_vnet_ipsec 31048 #endif #ifdef __sparc64__ /* incl. sun4v */ -#define SIZEOF_vnet_net 176 +#define SIZEOF_vnet_net 184 #define SIZEOF_vnet_inet 4424 #define SIZEOF_vnet_inet6 8808 #define SIZEOF_vnet_ipsec 31160 From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 22:03:38 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2632F1065673; Mon, 8 Jun 2009 22:03:38 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 14C438FC23; Mon, 8 Jun 2009 22:03:38 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58M3bXn045674; Mon, 8 Jun 2009 22:03:37 GMT (envelope-from np@svn.freebsd.org) Received: (from np@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58M3bcd045673; Mon, 8 Jun 2009 22:03:37 GMT (envelope-from np@svn.freebsd.org) Message-Id: <200906082203.n58M3bcd045673@svn.freebsd.org> From: Navdeep Parhar Date: Mon, 8 Jun 2009 22:03: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: r193775 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 22:03:38 -0000 Author: np Date: Mon Jun 8 22:03:37 2009 New Revision: 193775 URL: http://svn.freebsd.org/changeset/base/193775 Log: Add self, list mentor in committers-src.dot Approved by: gnn (mentor) Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Mon Jun 8 22:02:57 2009 (r193774) +++ head/share/misc/committers-src.dot Mon Jun 8 22:03:37 2009 (r193775) @@ -139,6 +139,7 @@ mr [label="Michael Reifenberger\nmr@Free murray [label="Murray Stokely\nmurray@FreeBSD.org\n2000/04/05"] netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2005/03/31"] njl [label="Nate Lawson\nnjl@FreeBSD.org\n2002/08/07"] +np [label="Navdeep Parhar\nnp@FreeBSD.org\n2009/06/05"] nwhitehorn [label="Nathan Whitehorn\nnwhitehorn@FreeBSD.org\n2008/07/03"] obrien [label="David E. O'Brien\nobrien@FreeBSD.org\n1996/10/29"] olli [label="Oliver Fromme\nolli@FreeBSD.org\n2008/02/14"] @@ -269,6 +270,7 @@ gnn -> rrs gnn -> ivoras gnn -> vanhu gnn -> lstewart +gnn -> np grog -> edwin grog -> le From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 22:05:48 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 213A4106566C; Mon, 8 Jun 2009 22:05:48 +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 0E4908FC1E; Mon, 8 Jun 2009 22:05:48 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58M5lgb045759; Mon, 8 Jun 2009 22:05:47 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58M5lTc045758; Mon, 8 Jun 2009 22:05:47 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <200906082205.n58M5lTc045758@svn.freebsd.org> From: Jilles Tjoelker Date: Mon, 8 Jun 2009 22:05:47 +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: r193776 - in stable/7/usr.sbin/pkg_install: . info X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 22:05:49 -0000 Author: jilles Date: Mon Jun 8 22:05:47 2009 New Revision: 193776 URL: http://svn.freebsd.org/changeset/base/193776 Log: MFC r193273: Fix segfault when giving invalid long option to pkg_info. PR: bin/133473 Submitted by: Rafal Grodzinski Approved by: ed (mentor) Modified: stable/7/usr.sbin/pkg_install/ (props changed) stable/7/usr.sbin/pkg_install/info/main.c Modified: stable/7/usr.sbin/pkg_install/info/main.c ============================================================================== --- stable/7/usr.sbin/pkg_install/info/main.c Mon Jun 8 22:03:37 2009 (r193775) +++ stable/7/usr.sbin/pkg_install/info/main.c Mon Jun 8 22:05:47 2009 (r193776) @@ -58,6 +58,7 @@ static struct option longopts[] = { { "verbose", no_argument, NULL, 'v' }, { "version", no_argument, NULL, 'P' }, { "which", required_argument, NULL, 'W' }, + { NULL, 0, NULL, 0 } }; int From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 22:46:35 2009 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E91F01065673; Mon, 8 Jun 2009 22:46:35 +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 A60F28FC28; Mon, 8 Jun 2009 22:46:35 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n58Mj1BO035619; Mon, 8 Jun 2009 16:45:01 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Mon, 08 Jun 2009 16:45:18 -0600 (MDT) Message-Id: <20090608.164518.-1264106964.imp@bsdimp.com> To: ed@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <200906081823.n58INhX8038125@svn.freebsd.org> References: <200906081823.n58INhX8038125@svn.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r193734 - in head: lib/libusb sys/amd64/amd64 sys/i386/i386 sys/i386/xen 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: Mon, 08 Jun 2009 22:46:36 -0000 In message: <200906081823.n58INhX8038125@svn.freebsd.org> Ed Schouten writes: : It turns out our compiler in stable/7 can't build this code anymore. : Even though my opinion is that those people should just run `make : kernel-toolchain' before building a kernel, I am willing to wait and : commit this after we've branched stable/8. As a matter of policy, the project has always supported a RELENG_X -> CURRENT upgrade with a simple buildworld. The issue of building a kernel by hand across releases has been targeted as one of those areas that can break, but only if there's a really good reason to do so. Just FYI to everybody.. Warner From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 23:24:02 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 732EE106566B; Mon, 8 Jun 2009 23:24:02 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 462F38FC15; Mon, 8 Jun 2009 23:24:02 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58NO13d047606; Mon, 8 Jun 2009 23:24:01 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58NO1O1047605; Mon, 8 Jun 2009 23:24:01 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200906082324.n58NO1O1047605@svn.freebsd.org> From: Ariff Abdullah Date: Mon, 8 Jun 2009 23:24: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: r193779 - head/sys/dev/sound/sbus X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 23:24:03 -0000 Author: ariff Date: Mon Jun 8 23:24:01 2009 New Revision: 193779 URL: http://svn.freebsd.org/changeset/base/193779 Log: Fix compile time warning on sparc64, thanks to strict kobj signatures checking. Noticed by: bz Modified: head/sys/dev/sound/sbus/cs4231.c Modified: head/sys/dev/sound/sbus/cs4231.c ============================================================================== --- head/sys/dev/sound/sbus/cs4231.c Mon Jun 8 23:03:37 2009 (r193778) +++ head/sys/dev/sound/sbus/cs4231.c Mon Jun 8 23:24:01 2009 (r193779) @@ -173,15 +173,15 @@ static void cs4231_mixer_set_value(struc const struct mix_table *, u_int8_t); static int cs4231_mixer_set(struct snd_mixer *, u_int32_t, u_int32_t, u_int32_t); -static int cs4231_mixer_setrecsrc(struct snd_mixer *, u_int32_t); +static u_int32_t cs4231_mixer_setrecsrc(struct snd_mixer *, u_int32_t); static void *cs4231_chan_init(kobj_t, void *, struct snd_dbuf *, struct pcm_channel *, int); static int cs4231_chan_setformat(kobj_t, void *, u_int32_t); -static int cs4231_chan_setspeed(kobj_t, void *, u_int32_t); +static u_int32_t cs4231_chan_setspeed(kobj_t, void *, u_int32_t); static void cs4231_chan_fs(struct cs4231_softc *, int, u_int8_t); -static int cs4231_chan_setblocksize(kobj_t, void *, u_int32_t); +static u_int32_t cs4231_chan_setblocksize(kobj_t, void *, u_int32_t); static int cs4231_chan_trigger(kobj_t, void *, int); -static int cs4231_chan_getptr(kobj_t, void *); +static u_int32_t cs4231_chan_getptr(kobj_t, void *); static struct pcmchan_caps * cs4231_chan_getcaps(kobj_t, void *); static void cs4231_trigger(struct cs4231_channel *); @@ -982,7 +982,7 @@ cs4231_mixer_set(struct snd_mixer *m, u_ return (left | (right << 8)); } -static int +static u_int32_t cs4231_mixer_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct cs4231_softc *sc; @@ -1103,7 +1103,7 @@ cs4231_chan_setformat(kobj_t obj, void * return (0); } -static int +static u_int32_t cs4231_chan_setspeed(kobj_t obj, void *data, u_int32_t speed) { typedef struct { @@ -1253,7 +1253,7 @@ cs4231_chan_fs(struct cs4231_softc *sc, } } -static int +static u_int32_t cs4231_chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct cs4231_softc *sc; @@ -1299,13 +1299,12 @@ cs4231_chan_trigger(kobj_t obj, void *da return (0); } -static int +static u_int32_t cs4231_chan_getptr(kobj_t obj, void *data) { struct cs4231_softc *sc; struct cs4231_channel *ch; - u_int32_t cur; - int ptr, sz; + u_int32_t cur, ptr, sz; ch = data; sc = ch->parent; From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 23:27:01 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from miki (localhost [IPv6:::1]) by hub.freebsd.org (Postfix) with SMTP id 736FF106566B; Mon, 8 Jun 2009 23:26:59 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Date: Tue, 9 Jun 2009 07:26:55 +0800 From: Ariff Abdullah To: "Bjoern A. Zeeb" Message-Id: <20090609072655.5e6062c5.ariff@FreeBSD.org> In-Reply-To: <20090608213828.O22887@maildrop.int.zabbadoz.net> References: <200906072338.n57NcGgu009269@svn.freebsd.org> <20090608213828.O22887@maildrop.int.zabbadoz.net> Organization: FreeBSD X-Mailer: /usr/local/lib/ruby/1.8/net/smtp.rb Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Tue__9_Jun_2009_07_26_55_+0800_8Y2NBcuHnlMMWjoN" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193667 - head/sys/dev/sound/sbus X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 23:27:01 -0000 --Signature=_Tue__9_Jun_2009_07_26_55_+0800_8Y2NBcuHnlMMWjoN Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, 8 Jun 2009 21:39:14 +0000 (UTC) "Bjoern A. Zeeb" wrote: > On Sun, 7 Jun 2009, Ariff Abdullah wrote: >=20 > Hey, >=20 > > Author: ariff > > Date: Sun Jun 7 23:38:16 2009 > > New Revision: 193667 > > URL: http://svn.freebsd.org/changeset/base/193667 > > > > Log: > > Fix build on sparc64. >=20 > I am still seeing: >=20 > /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231 > .c:290: warning: comparison of distinct pointer types lacks a cast > /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231 > .c:291: warning: comparison of distinct pointer types lacks a cast > /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231 > .c:293: warning: comparison of distinct pointer types lacks a cast > /sys/modules/sound/driver/audiocs/../../../../dev/sound/sbus/cs4231 > .c:305: warning: comparison of distinct pointer types lacks a cast >=20 >=20 Fixed. Thanks :) -- Ariff Abdullah FreeBSD ... Recording in stereo is obviously too advanced and confusing for us idiot ***** users :P ........ ... Going with the standard and orthodox is the death of intellect .............. --Signature=_Tue__9_Jun_2009_07_26_55_+0800_8Y2NBcuHnlMMWjoN Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkotnj8ACgkQlr+deMUwTNrBDACdHAk4MDQYmHtV4+gxF1oZmM35 j5oAoMN2V9OEyfKBHlZQw+3b9EdxTJ7p =mPTS -----END PGP SIGNATURE----- --Signature=_Tue__9_Jun_2009_07_26_55_+0800_8Y2NBcuHnlMMWjoN-- From owner-svn-src-all@FreeBSD.ORG Mon Jun 8 23:47:47 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 844F8106566C; Mon, 8 Jun 2009 23:47:47 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7122D8FC1B; Mon, 8 Jun 2009 23:47:47 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n58NllaT048177; Mon, 8 Jun 2009 23:47:47 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n58NllZl048176; Mon, 8 Jun 2009 23:47:47 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906082347.n58NllZl048176@svn.freebsd.org> From: Sam Leffler Date: Mon, 8 Jun 2009 23:47:47 +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: r193782 - stable/7/usr.sbin/wpa/hostapd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2009 23:47:48 -0000 Author: sam Date: Mon Jun 8 23:47:47 2009 New Revision: 193782 URL: http://svn.freebsd.org/changeset/base/193782 Log: MFC r193524: do not force the mtu to 2290 Modified: stable/7/usr.sbin/wpa/hostapd/driver_freebsd.c Modified: stable/7/usr.sbin/wpa/hostapd/driver_freebsd.c ============================================================================== --- stable/7/usr.sbin/wpa/hostapd/driver_freebsd.c Mon Jun 8 23:36:52 2009 (r193781) +++ stable/7/usr.sbin/wpa/hostapd/driver_freebsd.c Mon Jun 8 23:47:47 2009 (r193782) @@ -244,18 +244,6 @@ bsd_set_iface_flags(void *priv, int dev_ perror("ioctl[SIOCSIFFLAGS]"); return -1; } - - if (dev_up) { - memset(&ifr, 0, sizeof(ifr)); - snprintf(ifr.ifr_name, IFNAMSIZ, "%s", drv->iface); - ifr.ifr_mtu = HOSTAPD_MTU; - if (ioctl(drv->ioctl_sock, SIOCSIFMTU, &ifr) != 0) { - perror("ioctl[SIOCSIFMTU]"); - printf("Setting MTU failed - trying to survive with " - "current value\n"); - } - } - return 0; } From owner-svn-src-all@FreeBSD.ORG Tue Jun 9 00:04:58 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F235B1065672; Tue, 9 Jun 2009 00:04:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C47AD8FC14; Tue, 9 Jun 2009 00:04:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5904vl5048645; Tue, 9 Jun 2009 00:04:57 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5904vqY048643; Tue, 9 Jun 2009 00:04:57 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200906090004.n5904vqY048643@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 9 Jun 2009 00:04:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193783 - vendor/tzdata/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jun 2009 00:04:58 -0000 Author: edwin Date: Tue Jun 9 00:04:57 2009 New Revision: 193783 URL: http://svn.freebsd.org/changeset/base/193783 Log: Vendor import of tzdata2009i: Bangladesh will introduce DST in 20 June Obtained from: ftp://elsie.nci.nih.gov/pub/ Modified: vendor/tzdata/dist/asia Modified: vendor/tzdata/dist/asia ============================================================================== --- vendor/tzdata/dist/asia Mon Jun 8 23:47:47 2009 (r193782) +++ vendor/tzdata/dist/asia Tue Jun 9 00:04:57 2009 (r193783) @@ -1,5 +1,5 @@ #
      -# @(#)asia	8.32
      +# @(#)asia	8.34
       # This file is in the public domain, so clarified as of
       # 2009-05-17 by Arthur David Olson.
       
      @@ -127,6 +127,48 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
       			3:00	-	AST
       
       # Bangladesh
      +# From Alexander Krivenyshev (2009-05-13):
      +# According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce
      +# Daylight Saving Time from June 16 to Sept 30
      +#
      +# Bangladesh to introduce daylight saving time likely from June 16
      +# 
      +# http://www.asiantribune.com/?q=node/17288
      +# 
      +# or
      +# 
      +# http://www.worldtimezone.com/dst_news/dst_news_bangladesh02.html
      +# 
      +#
      +# "... Bangladesh government has decided to switch daylight saving time from
      +# June
      +# 16 till September 30 in a bid to ensure maximum use of daylight to cope with
      +# crippling power crisis. "
      +#
      +# The switch will remain in effect from June 16 to Sept 30 (2009) but if
      +# implemented the next year, it will come in force from April 1, 2010
      +
      +# From Steffen Thorsen (2009-06-02):
      +# They have finally decided now, but changed the start date to midnight between
      +# the 19th and 20th, and they have not set the end date yet.
      +#
      +# Some sources:
      +# 
      +# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601
      +# 
      +# 
      +# http://bdnews24.com/details.php?id=85889&cid=2
      +# 
      +#
      +# Our wrap-up:
      +# 
      +# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html
      +# 
      +
      +# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
      +Rule	Bang	2009	only	-	Jan	1	0:00	0	-
      +Rule	Bang	2009	only	-	Jun	20	0:00	1:00	S
      +
       # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
       Zone	Asia/Dhaka	6:01:40 -	LMT	1890
       			5:53:20	-	HMT	1941 Oct    # Howrah Mean Time?
      @@ -134,7 +176,8 @@ Zone	Asia/Dhaka	6:01:40 -	LMT	1890
       			5:30	-	IST	1942 Sep
       			6:30	-	BURT	1951 Sep 30
       			6:00	-	DACT	1971 Mar 26 # Dacca Time
      -			6:00	-	BDT	# Bangladesh Time
      +			6:00	-	BDT	2009 # Bangladesh Time
      +			6:00	Bang	BD%sT
       
       # Bhutan
       # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
      
      From owner-svn-src-all@FreeBSD.ORG  Tue Jun  9 00:06:10 2009
      Return-Path: 
      Delivered-To: svn-src-all@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id C05331065673;
      	Tue,  9 Jun 2009 00:06:10 +0000 (UTC)
      	(envelope-from edwin@FreeBSD.org)
      Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
      	by mx1.freebsd.org (Postfix) with ESMTP id 948338FC22;
      	Tue,  9 Jun 2009 00:06:10 +0000 (UTC)
      	(envelope-from edwin@FreeBSD.org)
      Received: from svn.freebsd.org (localhost [127.0.0.1])
      	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5906Ari048774;
      	Tue, 9 Jun 2009 00:06:10 GMT (envelope-from edwin@svn.freebsd.org)
      Received: (from edwin@localhost)
      	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5906A56048773;
      	Tue, 9 Jun 2009 00:06:10 GMT (envelope-from edwin@svn.freebsd.org)
      Message-Id: <200906090006.n5906A56048773@svn.freebsd.org>
      From: Edwin Groothuis 
      Date: Tue, 9 Jun 2009 00:06:10 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
      	svn-src-vendor@freebsd.org
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      Cc: 
      Subject: svn commit: r193784 - vendor/tzdata/2009i
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.5
      Precedence: list
      List-Id: "SVN commit messages 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, 09 Jun 2009 00:06:11 -0000
      
      Author: edwin
      Date: Tue Jun  9 00:06:10 2009
      New Revision: 193784
      URL: http://svn.freebsd.org/changeset/base/193784
      
      Log:
        Tag of vendor import of tzdata2009i:
        
        Bangladesh will go into DST in 20 June.
      
      Added:
        vendor/tzdata/2009i/
           - copied from r193783, vendor/tzdata/dist/
      
      From owner-svn-src-all@FreeBSD.ORG  Tue Jun  9 00:09:36 2009
      Return-Path: 
      Delivered-To: svn-src-all@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 8B5BB106564A;
      	Tue,  9 Jun 2009 00:09:36 +0000 (UTC)
      	(envelope-from edwin@FreeBSD.org)
      Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
      	by mx1.freebsd.org (Postfix) with ESMTP id 5DEFE8FC1A;
      	Tue,  9 Jun 2009 00:09:36 +0000 (UTC)
      	(envelope-from edwin@FreeBSD.org)
      Received: from svn.freebsd.org (localhost [127.0.0.1])
      	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5909ahV048946;
      	Tue, 9 Jun 2009 00:09:36 GMT (envelope-from edwin@svn.freebsd.org)
      Received: (from edwin@localhost)
      	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5909ahQ048945;
      	Tue, 9 Jun 2009 00:09:36 GMT (envelope-from edwin@svn.freebsd.org)
      Message-Id: <200906090009.n5909ahQ048945@svn.freebsd.org>
      From: Edwin Groothuis 
      Date: Tue, 9 Jun 2009 00:09: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: r193785 - head/share/zoneinfo
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.5
      Precedence: list
      List-Id: "SVN commit messages for the entire src tree \(except for "
      	user" and " projects" \)" 
      List-Unsubscribe: ,
      	
      List-Archive: 
      List-Post: 
      List-Help: 
      List-Subscribe: ,
      	
      X-List-Received-Date: Tue, 09 Jun 2009 00:09:37 -0000
      
      Author: edwin
      Date: Tue Jun  9 00:09:36 2009
      New Revision: 193785
      URL: http://svn.freebsd.org/changeset/base/193785
      
      Log:
        MFV of tzdata2009i:
        
        Bangladesh will go into DST on 20 June.
        
        MFC after:	2 days
      
      Modified:
        head/share/zoneinfo/   (props changed)
        head/share/zoneinfo/asia
      
      Modified: head/share/zoneinfo/asia
      ==============================================================================
      --- head/share/zoneinfo/asia	Tue Jun  9 00:06:10 2009	(r193784)
      +++ head/share/zoneinfo/asia	Tue Jun  9 00:09:36 2009	(r193785)
      @@ -1,5 +1,5 @@
       # 
      -# @(#)asia	8.32
      +# @(#)asia	8.34
       # This file is in the public domain, so clarified as of
       # 2009-05-17 by Arthur David Olson.
       
      @@ -127,6 +127,48 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
       			3:00	-	AST
       
       # Bangladesh
      +# From Alexander Krivenyshev (2009-05-13):
      +# According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce
      +# Daylight Saving Time from June 16 to Sept 30
      +#
      +# Bangladesh to introduce daylight saving time likely from June 16
      +# 
      +# http://www.asiantribune.com/?q=node/17288
      +# 
      +# or
      +# 
      +# http://www.worldtimezone.com/dst_news/dst_news_bangladesh02.html
      +# 
      +#
      +# "... Bangladesh government has decided to switch daylight saving time from
      +# June
      +# 16 till September 30 in a bid to ensure maximum use of daylight to cope with
      +# crippling power crisis. "
      +#
      +# The switch will remain in effect from June 16 to Sept 30 (2009) but if
      +# implemented the next year, it will come in force from April 1, 2010
      +
      +# From Steffen Thorsen (2009-06-02):
      +# They have finally decided now, but changed the start date to midnight between
      +# the 19th and 20th, and they have not set the end date yet.
      +#
      +# Some sources:
      +# 
      +# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601
      +# 
      +# 
      +# http://bdnews24.com/details.php?id=85889&cid=2
      +# 
      +#
      +# Our wrap-up:
      +# 
      +# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html
      +# 
      +
      +# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
      +Rule	Bang	2009	only	-	Jan	1	0:00	0	-
      +Rule	Bang	2009	only	-	Jun	20	0:00	1:00	S
      +
       # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
       Zone	Asia/Dhaka	6:01:40 -	LMT	1890
       			5:53:20	-	HMT	1941 Oct    # Howrah Mean Time?
      @@ -134,7 +176,8 @@ Zone	Asia/Dhaka	6:01:40 -	LMT	1890
       			5:30	-	IST	1942 Sep
       			6:30	-	BURT	1951 Sep 30
       			6:00	-	DACT	1971 Mar 26 # Dacca Time
      -			6:00	-	BDT	# Bangladesh Time
      +			6:00	-	BDT	2009 # Bangladesh Time
      +			6:00	Bang	BD%sT
       
       # Bhutan
       # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
      
      From owner-svn-src-all@FreeBSD.ORG  Tue Jun  9 00:14:13 2009
      Return-Path: 
      Delivered-To: svn-src-all@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id C37F9106564A;
      	Tue,  9 Jun 2009 00:14:13 +0000 (UTC)
      	(envelope-from edwin@FreeBSD.org)
      Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
      	by mx1.freebsd.org (Postfix) with ESMTP id B0B3D8FC0A;
      	Tue,  9 Jun 2009 00:14:13 +0000 (UTC)
      	(envelope-from edwin@FreeBSD.org)
      Received: from svn.freebsd.org (localhost [127.0.0.1])
      	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n590EDHj049131;
      	Tue, 9 Jun 2009 00:14:13 GMT (envelope-from edwin@svn.freebsd.org)
      Received: (from edwin@localhost)
      	by svn.freebsd.org (8.14.3/8.14.3/Submit) id n590EDoP049130;
      	Tue, 9 Jun 2009 00:14:13 GMT (envelope-from edwin@svn.freebsd.org)
      Message-Id: <200906090014.n590EDoP049130@svn.freebsd.org>
      From: Edwin Groothuis 
      Date: Tue, 9 Jun 2009 00:14:13 +0000 (UTC)
      To: src-committers@freebsd.org, svn-src-all@freebsd.org,
      	svn-src-vendor@freebsd.org
      X-SVN-Group: vendor
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      Cc: 
      Subject: svn commit: r193786 - vendor/tzcode/dist/unused
      X-BeenThere: svn-src-all@freebsd.org
      X-Mailman-Version: 2.1.5
      Precedence: list
      List-Id: "SVN commit messages 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, 09 Jun 2009 00:14:14 -0000
      
      Author: edwin
      Date: Tue Jun  9 00:14:13 2009
      New Revision: 193786
      URL: http://svn.freebsd.org/changeset/base/193786
      
      Log:
        MFV of tzcode2009i:
        
        Fix link of TZ timezone maps at http://efele.net/maps/tz/
      
      Modified:
        vendor/tzcode/dist/unused/tz-link.htm
      
      Modified: vendor/tzcode/dist/unused/tz-link.htm
      ==============================================================================
      --- vendor/tzcode/dist/unused/tz-link.htm	Tue Jun  9 00:09:36 2009	(r193785)
      +++ vendor/tzcode/dist/unused/tz-link.htm	Tue Jun  9 00:14:13 2009	(r193786)
      @@ -18,7 +18,7 @@
       
       

      Sources for Time Zone and Daylight Saving Time Data

      -@(#)tz-link.htm 8.19 +@(#)tz-link.htm 8.21

      This file is in the public domain, so clarified as of @@ -360,10 +360,9 @@ but the maps are more up to date.

    Time zone boundaries