From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 00:37:22 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 685CDBA9; Sun, 26 Jan 2014 00:37:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 51CD1167C; Sun, 26 Jan 2014 00:37:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0Q0bMhv006630; Sun, 26 Jan 2014 00:37:22 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0Q0bL0t006626; Sun, 26 Jan 2014 00:37:21 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201401260037.s0Q0bL0t006626@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Sun, 26 Jan 2014 00:37:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261175 - in head/contrib/binutils: gas/config opcodes X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 00:37:22 -0000 Author: pfg Date: Sun Jan 26 00:37:21 2014 New Revision: 261175 URL: http://svnweb.freebsd.org/changeset/base/261175 Log: binutils: add support for Intel SMAP-related instructions Add support for stac/clac instructions to manipulate the flag that controls the behaviour of Intel's Supervisor Mode Access Prevention (SMAP) feature. Tested by: dim Obtained from: OpenBSD MFC after: 5 days Modified: head/contrib/binutils/gas/config/tc-i386.c head/contrib/binutils/opcodes/i386-dis.c head/contrib/binutils/opcodes/i386-opc.h head/contrib/binutils/opcodes/i386-tbl.h Modified: head/contrib/binutils/gas/config/tc-i386.c ============================================================================== --- head/contrib/binutils/gas/config/tc-i386.c Sat Jan 25 23:59:20 2014 (r261174) +++ head/contrib/binutils/gas/config/tc-i386.c Sun Jan 26 00:37:21 2014 (r261175) @@ -1827,7 +1827,7 @@ md_assemble (line) { expressionS *exp; - if ((i.tm.cpu_flags & CpuSSE3) && i.operands > 0) + if ((i.tm.cpu_flags & (CpuSSE3|CpuSMAP)) && i.operands > 0) { /* Streaming SIMD extensions 3 Instructions have the fixed operands with an opcode suffix which is coded in the same Modified: head/contrib/binutils/opcodes/i386-dis.c ============================================================================== --- head/contrib/binutils/opcodes/i386-dis.c Sat Jan 25 23:59:20 2014 (r261174) +++ head/contrib/binutils/opcodes/i386-dis.c Sun Jan 26 00:37:21 2014 (r261175) @@ -6257,6 +6257,16 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSE codep++; } + else if (modrm.mod == 3 && modrm.reg == 1 && modrm.rm <= 3) + { + size_t olen = strlen (obuf); + char *p = obuf + olen - 4; + if (*codep == 0xca) + strcpy (p, "clac"); + else if (*codep == 0xcb) + strcpy (p, "stac"); + codep++; + } else OP_M (0, sizeflag); } Modified: head/contrib/binutils/opcodes/i386-opc.h ============================================================================== --- head/contrib/binutils/opcodes/i386-opc.h Sat Jan 25 23:59:20 2014 (r261174) +++ head/contrib/binutils/opcodes/i386-opc.h Sun Jan 26 00:37:21 2014 (r261175) @@ -80,6 +80,7 @@ typedef struct template #define CpuPCLMUL 0x10000000 /* Carry-less Multiplication extensions */ #define CpuRdRnd 0x20000000 /* Intel Random Number Generator extensions */ +#define CpuSMAP 0x40000000 /* Intel Supervisor Mode Access Prevention */ /* SSE4.1/4.2 Instructions required */ #define CpuSSE4 (CpuSSE4_1|CpuSSE4_2) @@ -88,7 +89,7 @@ typedef struct template #define CpuUnknownFlags (Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686 \ |CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuSSE3|CpuVMX \ |Cpu3dnow|Cpu3dnowA|CpuK6|CpuPadLock|CpuSVME|CpuSSSE3|CpuSSE4_1 \ - |CpuSSE4_2|CpuABM|CpuSSE4a|CpuXSAVE|CpuAES|CpuPCLMUL|CpuRdRnd) + |CpuSSE4_2|CpuABM|CpuSSE4a|CpuXSAVE|CpuAES|CpuPCLMUL|CpuRdRnd|CpuSMAP) /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of Modified: head/contrib/binutils/opcodes/i386-tbl.h ============================================================================== --- head/contrib/binutils/opcodes/i386-tbl.h Sat Jan 25 23:59:20 2014 (r261174) +++ head/contrib/binutils/opcodes/i386-tbl.h Sun Jan 26 00:37:21 2014 (r261175) @@ -4379,6 +4379,12 @@ const template i386_optab[] = {"rdrand", 1, 0x0fc7, 0x6, CpuRdRnd, Modrm|NoSuf, { Reg16|Reg32|Reg64 } }, + + /* Intel Supervisor Mode Access Prevention extensions */ + {"clac", 0, 0x0f01, 0xca, CpuSMAP, + NoSuf|ImmExt, { 0, 0, 0 } }, + {"stac", 0, 0x0f01, 0xcb, CpuSMAP, + NoSuf|ImmExt, { 0, 0, 0 } }, { NULL, 0, 0, 0, 0, 0, { 0 } } }; From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 02:36:07 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3A4D4117; Sun, 26 Jan 2014 02:36:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 19C6F1E45; Sun, 26 Jan 2014 02:36:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0Q2a60j093883; Sun, 26 Jan 2014 02:36:06 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0Q2a61Q093880; Sun, 26 Jan 2014 02:36:06 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201401260236.s0Q2a61Q093880@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Sun, 26 Jan 2014 02:36:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261178 - in head/contrib/gcc: . cp doc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 02:36:07 -0000 Author: pfg Date: Sun Jan 26 02:36:06 2014 New Revision: 261178 URL: http://svnweb.freebsd.org/changeset/base/261178 Log: gcc: Add support for -Wmissing-prototypes in C++ Support for warnings about missing prototypes in C++ was added by Apple GCC (Radar 6261539). Most of the code crept into r260311 so it felt natural to make use of it. Obtained from: Apple GCC - 5646 MFC after: 5 days Modified: head/contrib/gcc/c.opt head/contrib/gcc/cp/decl.c head/contrib/gcc/doc/invoke.texi Modified: head/contrib/gcc/c.opt ============================================================================== --- head/contrib/gcc/c.opt Sun Jan 26 02:23:16 2014 (r261177) +++ head/contrib/gcc/c.opt Sun Jan 26 02:36:06 2014 (r261178) @@ -280,9 +280,11 @@ Wmissing-include-dirs C ObjC C++ ObjC++ Warn about user-specified include directories that do not exist +; APPLE LOCAL begin warn missing prototype 6261539 Wmissing-prototypes -C ObjC Var(warn_missing_prototypes) +C ObjC C++ ObjC++ Var(warn_missing_prototypes) Warn about global functions without prototypes +; APPLE LOCAL end warn missing prototype 6261539 ; APPLE LOCAL begin -Wmost Wmost Modified: head/contrib/gcc/cp/decl.c ============================================================================== --- head/contrib/gcc/cp/decl.c Sun Jan 26 02:23:16 2014 (r261177) +++ head/contrib/gcc/cp/decl.c Sun Jan 26 02:36:06 2014 (r261178) @@ -11486,6 +11486,10 @@ start_function (cp_decl_specifier_seq *d gcc_assert (same_type_p (TREE_TYPE (TREE_TYPE (decl1)), integer_type_node)); + /* APPLE LOCAL begin warn missing prototype 6261539 */ + check_missing_prototype (decl1); + /* APPLE LOCAL end warn missing prototype 6261539 */ + start_preparsed_function (decl1, attrs, /*flags=*/SF_DEFAULT); return 1; Modified: head/contrib/gcc/doc/invoke.texi ============================================================================== --- head/contrib/gcc/doc/invoke.texi Sun Jan 26 02:23:16 2014 (r261177) +++ head/contrib/gcc/doc/invoke.texi Sun Jan 26 02:36:06 2014 (r261178) @@ -225,6 +225,8 @@ in the following sections. -Wmain -Wmissing-braces -Wmissing-field-initializers @gol -Wmissing-format-attribute -Wmissing-include-dirs @gol -Wmissing-noreturn @gol +@c APPLE LOCAL warn missing prototype 6261539 +-Wmissing-prototypes @gol @c APPLE LOCAL -Wmost -Wmost (APPLE ONLY) @gol -Wno-multichar -Wnonnull -Wno-overflow @gol @@ -245,7 +247,8 @@ in the following sections. @item C-only Warning Options @gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol --Wmissing-prototypes -Wnested-externs -Wold-style-definition @gol +@c APPLE LOCAL warn missing prototype 6261539 +-Wnested-externs -Wold-style-definition @gol -Wstrict-prototypes -Wtraditional @gol -Wdeclaration-after-statement -Wpointer-sign} @@ -3052,7 +3055,8 @@ types.) Warn if an old-style function definition is used. A warning is given even if there is a previous prototype. -@item -Wmissing-prototypes @r{(C only)} +@c APPLE LOCAL warn missing prototype 6261539 +@item -Wmissing-prototypes @opindex Wmissing-prototypes Warn if a global function is defined without a previous prototype declaration. This warning is issued even if the definition itself From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 04:57:58 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AAB8B728; Sun, 26 Jan 2014 04:57:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8DE251791; Sun, 26 Jan 2014 04:57:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0Q4vw6J048445; Sun, 26 Jan 2014 04:57:58 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0Q4vwf5048444; Sun, 26 Jan 2014 04:57:58 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401260457.s0Q4vwf5048444@svn.freebsd.org> From: Warner Losh Date: Sun, 26 Jan 2014 04:57:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261180 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 04:57:58 -0000 Author: imp Date: Sun Jan 26 04:57:58 2014 New Revision: 261180 URL: http://svnweb.freebsd.org/changeset/base/261180 Log: Before resetting the USART, delay a bit to allow the transmitter to finish the current character to drain to avoid glitching. Also, simplify the code a smidge. Modified: head/sys/arm/at91/uart_dev_at91usart.c Modified: head/sys/arm/at91/uart_dev_at91usart.c ============================================================================== --- head/sys/arm/at91/uart_dev_at91usart.c Sun Jan 26 02:41:00 2014 (r261179) +++ head/sys/arm/at91/uart_dev_at91usart.c Sun Jan 26 04:57:58 2014 (r261180) @@ -421,7 +421,6 @@ at91_usart_bus_attach(struct uart_softc { int err; int i; - uint32_t cr; struct at91_usart_softc *atsc; atsc = (struct at91_usart_softc *)sc; @@ -490,8 +489,8 @@ at91_usart_bus_attach(struct uart_softc } /* Turn on rx and tx */ - cr = USART_CR_RSTSTA | USART_CR_RSTRX | USART_CR_RSTTX; - WR4(&sc->sc_bas, USART_CR, cr); + DELAY(1000); /* Give pending character a chance to drain. */ + WR4(&sc->sc_bas, USART_CR, USART_CR_RSTSTA | USART_CR_RSTRX | USART_CR_RSTTX); WR4(&sc->sc_bas, USART_CR, USART_CR_RXEN | USART_CR_TXEN); /* From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 07:20:33 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1F9FDEFB; Sun, 26 Jan 2014 07:20:33 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0C473105E; Sun, 26 Jan 2014 07:20:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0Q7KWY3002836; Sun, 26 Jan 2014 07:20:32 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0Q7KWvT002835; Sun, 26 Jan 2014 07:20:32 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201401260720.s0Q7KWvT002835@svn.freebsd.org> From: Kevin Lo Date: Sun, 26 Jan 2014 07:20:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261181 - head/bin/pax X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 07:20:33 -0000 Author: kevlo Date: Sun Jan 26 07:20:32 2014 New Revision: 261181 URL: http://svnweb.freebsd.org/changeset/base/261181 Log: Stop the options string leak if it is not attached into the options linked list. Obtained from: OpenBSD Modified: head/bin/pax/options.c Modified: head/bin/pax/options.c ============================================================================== --- head/bin/pax/options.c Sun Jan 26 04:57:58 2014 (r261180) +++ head/bin/pax/options.c Sun Jan 26 07:20:32 2014 (r261181) @@ -1385,6 +1385,7 @@ opt_add(const char *str) free(lstr); return(-1); } + lstr = NULL; /* parts of string going onto the OPLIST */ *pt++ = '\0'; opt->name = frpt; opt->value = pt; @@ -1400,6 +1401,7 @@ opt_add(const char *str) optail->fow = opt; optail = opt; } + free(lstr); return(0); } From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 20:13:29 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 15892787; Sun, 26 Jan 2014 20:13:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 010B51675; Sun, 26 Jan 2014 20:13:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QKDSjX012379; Sun, 26 Jan 2014 20:13:28 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QKDSiT012378; Sun, 26 Jan 2014 20:13:28 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262013.s0QKDSiT012378@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 20:13:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261189 - head/contrib/sendmail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 20:13:29 -0000 Author: gshapiro Date: Sun Jan 26 20:13:28 2014 New Revision: 261189 URL: http://svnweb.freebsd.org/changeset/base/261189 Log: Update link to vendor import instructions Modified: head/contrib/sendmail/FREEBSD-upgrade Modified: head/contrib/sendmail/FREEBSD-upgrade ============================================================================== --- head/contrib/sendmail/FREEBSD-upgrade Sun Jan 26 19:49:54 2014 (r261188) +++ head/contrib/sendmail/FREEBSD-upgrade Sun Jan 26 20:13:28 2014 (r261189) @@ -9,7 +9,7 @@ For the import of sendmail, the followin Imported using the instructions at: -http://wiki.freebsd.org/SubversionPrimer/VendorImports +http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html Then merged using: From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 21:19:36 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 21EEE5D6; Sun, 26 Jan 2014 21:19:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 01B221B21; Sun, 26 Jan 2014 21:19:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QLJZw0038089; Sun, 26 Jan 2014 21:19:35 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QLJYP4038081; Sun, 26 Jan 2014 21:19:34 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201401262119.s0QLJYP4038081@svn.freebsd.org> From: Jilles Tjoelker Date: Sun, 26 Jan 2014 21:19:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261192 - in head/bin/sh: . tests/parser X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 21:19:36 -0000 Author: jilles Date: Sun Jan 26 21:19:33 2014 New Revision: 261192 URL: http://svnweb.freebsd.org/changeset/base/261192 Log: sh: Allow aliases to force alias substitution on the following word. If an alias's value ends with a space or tab, the next word is also checked for aliases. This is a POSIX feature. It is useful with utilities like command and nohup (alias them to themselves followed by a space). Added: head/bin/sh/tests/parser/alias14.0 (contents, props changed) head/bin/sh/tests/parser/alias15.0 (contents, props changed) head/bin/sh/tests/parser/alias15.0.stdout (contents, props changed) Modified: head/bin/sh/input.c head/bin/sh/parser.c head/bin/sh/parser.h head/bin/sh/sh.1 head/bin/sh/tests/parser/Makefile Modified: head/bin/sh/input.c ============================================================================== --- head/bin/sh/input.c Sun Jan 26 20:51:49 2014 (r261191) +++ head/bin/sh/input.c Sun Jan 26 21:19:33 2014 (r261192) @@ -367,12 +367,16 @@ popstring(void) struct strpush *sp = parsefile->strpush; INTOFF; + if (sp->ap) { + if (parsenextc != sp->ap->val && + (parsenextc[-1] == ' ' || parsenextc[-1] == '\t')) + forcealias(); + sp->ap->flag &= ~ALIASINUSE; + } parsenextc = sp->prevstring; parsenleft = sp->prevnleft; parselleft = sp->prevlleft; /*out2fmt_flush("*** calling popstring: restoring to '%s'\n", parsenextc);*/ - if (sp->ap) - sp->ap->flag &= ~ALIASINUSE; parsefile->strpush = sp->prev; if (sp != &(parsefile->basestrpush)) ckfree(sp); Modified: head/bin/sh/parser.c ============================================================================== --- head/bin/sh/parser.c Sun Jan 26 20:51:49 2014 (r261191) +++ head/bin/sh/parser.c Sun Jan 26 21:19:33 2014 (r261192) @@ -683,6 +683,12 @@ makebinary(int type, union node *n1, uni } void +forcealias(void) +{ + checkkwd |= CHKALIAS; +} + +void fixredir(union node *n, const char *text, int err) { TRACE(("Fix redir %s %d\n", text, err)); Modified: head/bin/sh/parser.h ============================================================================== --- head/bin/sh/parser.h Sun Jan 26 20:51:49 2014 (r261191) +++ head/bin/sh/parser.h Sun Jan 26 21:19:33 2014 (r261192) @@ -76,6 +76,7 @@ extern const char *const parsekwd[]; union node *parsecmd(int); +void forcealias(void); void fixredir(union node *, const char *, int); int goodname(const char *); int isassignment(const char *); Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sun Jan 26 20:51:49 2014 (r261191) +++ head/bin/sh/sh.1 Sun Jan 26 21:19:33 2014 (r261192) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd January 3, 2014 +.Dd January 26, 2014 .Dt SH 1 .Os .Sh NAME @@ -533,6 +533,20 @@ would become .Pp .Dl "ls -F foobar" .Pp +Aliases are also recognized after an alias +whose value ends with a space or tab. +For example, if there is also an alias called +.Dq Li nohup +with the value +.Dq Li "nohup " , +then the input +.Pp +.Dl "nohup lf foobar" +.Pp +would become +.Pp +.Dl "nohup ls -F foobar" +.Pp Aliases provide a convenient way for naive users to create shorthands for commands without having to learn how to create functions with arguments. Modified: head/bin/sh/tests/parser/Makefile ============================================================================== --- head/bin/sh/tests/parser/Makefile Sun Jan 26 20:51:49 2014 (r261191) +++ head/bin/sh/tests/parser/Makefile Sun Jan 26 21:19:33 2014 (r261192) @@ -18,6 +18,8 @@ FILES+= alias10.0 FILES+= alias11.0 FILES+= alias12.0 FILES+= alias13.0 +FILES+= alias14.0 +FILES+= alias15.0 alias15.0.stdout FILES+= and-pipe-not.0 FILES+= case1.0 FILES+= case2.0 Added: head/bin/sh/tests/parser/alias14.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/parser/alias14.0 Sun Jan 26 21:19:33 2014 (r261192) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias command='command ' +alias alias0=exit +eval 'command alias0 0' +exit 3 Added: head/bin/sh/tests/parser/alias15.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/parser/alias15.0 Sun Jan 26 21:19:33 2014 (r261192) @@ -0,0 +1,12 @@ +# $FreeBSD$ + +f_echoanddo() { + printf '%s\n' "$*" + "$@" +} + +alias echoanddo='f_echoanddo ' +alias alias0='echo test2' +eval 'echoanddo echo test1' +eval 'echoanddo alias0' +exit 0 Added: head/bin/sh/tests/parser/alias15.0.stdout ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/parser/alias15.0.stdout Sun Jan 26 21:19:33 2014 (r261192) @@ -0,0 +1,4 @@ +echo test1 +test1 +echo test2 +test2 From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 22:49:25 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 703A6637; Sun, 26 Jan 2014 22:49:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 50226133E; Sun, 26 Jan 2014 22:49:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QMnP5M074558; Sun, 26 Jan 2014 22:49:25 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QMnPCd074557; Sun, 26 Jan 2014 22:49:25 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201401262249.s0QMnPCd074557@svn.freebsd.org> From: Jilles Tjoelker Date: Sun, 26 Jan 2014 22:49:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261193 - head/usr.bin/login X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 22:49:25 -0000 Author: jilles Date: Sun Jan 26 22:49:24 2014 New Revision: 261193 URL: http://svnweb.freebsd.org/changeset/base/261193 Log: login: Clean up PAM and audit, then exit, on SIGHUP and SIGTERM. This avoids leaving stale entries in utmpx after the connection is closed on an open login session. It also allows a clean way (SIGTERM) to forcibly terminate a user's terminal session. This does not affect the situation for "hung" processes after the connection is closed. The foreground process group receives SIGHUP and the tty becomes inaccessible. Also replace all use of the obsolete signal() function with sigaction() (not only the part where it is actually required: SIGHUP and SIGTERM must mask the other as well when caught). PR: misc/183495 Reviewed by: ed Modified: head/usr.bin/login/login.c Modified: head/usr.bin/login/login.c ============================================================================== --- head/usr.bin/login/login.c Sun Jan 26 21:19:33 2014 (r261192) +++ head/usr.bin/login/login.c Sun Jan 26 22:49:24 2014 (r261193) @@ -83,6 +83,7 @@ __FBSDID("$FreeBSD$"); static int auth_pam(void); static void bail(int, int); +static void bail_internal(int, int, int); static int export(const char *); static void export_pam_environment(void); static int motd(const char *); @@ -94,6 +95,7 @@ static void refused(const char *, cons static const char *stypeof(char *); static void sigint(int); static void timedout(int); +static void bail_sig(int); static void usage(void); #define TTYGRPNAME "tty" /* group to own ttys */ @@ -172,13 +174,18 @@ main(int argc, char *argv[]) login_cap_t *lc = NULL; login_cap_t *lc_user = NULL; pid_t pid; + sigset_t mask, omask; + struct sigaction sa; #ifdef USE_BSM_AUDIT char auditsuccess = 1; #endif - (void)signal(SIGQUIT, SIG_IGN); - (void)signal(SIGINT, SIG_IGN); - (void)signal(SIGHUP, SIG_IGN); + sa.sa_flags = SA_RESTART; + (void)sigfillset(&sa.sa_mask); + sa.sa_handler = SIG_IGN; + (void)sigaction(SIGQUIT, &sa, NULL); + (void)sigaction(SIGINT, &sa, NULL); + (void)sigaction(SIGHUP, &sa, NULL); if (setjmp(timeout_buf)) { if (failures) badlogin(username); @@ -186,7 +193,8 @@ main(int argc, char *argv[]) timeout); bail(NO_SLEEP_EXIT, 0); } - (void)signal(SIGALRM, timedout); + sa.sa_handler = timedout; + (void)sigaction(SIGALRM, &sa, NULL); (void)alarm(timeout); (void)setpriority(PRIO_PROCESS, 0, 0); @@ -370,7 +378,14 @@ main(int argc, char *argv[]) /* committed to login -- turn off timeout */ (void)alarm((u_int)0); - (void)signal(SIGHUP, SIG_DFL); + + (void)sigemptyset(&mask); + (void)sigaddset(&mask, SIGHUP); + (void)sigaddset(&mask, SIGTERM); + (void)sigprocmask(SIG_BLOCK, &mask, &omask); + sa.sa_handler = bail_sig; + (void)sigaction(SIGHUP, &sa, NULL); + (void)sigaction(SIGTERM, &sa, NULL); endpwent(); @@ -550,10 +565,17 @@ main(int argc, char *argv[]) /* * Parent: wait for child to finish, then clean up * session. + * + * If we get SIGHUP or SIGTERM, clean up the session + * and exit right away. This will make the terminal + * inaccessible and send SIGHUP to the foreground + * process group. */ int status; setproctitle("-%s [pam]", getprogname()); + (void)sigprocmask(SIG_SETMASK, &omask, NULL); waitpid(pid, &status, 0); + (void)sigprocmask(SIG_BLOCK, &mask, NULL); bail(NO_SLEEP_EXIT, 0); } @@ -627,10 +649,15 @@ main(int argc, char *argv[]) login_close(lc_user); login_close(lc); - (void)signal(SIGALRM, SIG_DFL); - (void)signal(SIGQUIT, SIG_DFL); - (void)signal(SIGINT, SIG_DFL); - (void)signal(SIGTSTP, SIG_IGN); + sa.sa_handler = SIG_DFL; + (void)sigaction(SIGALRM, &sa, NULL); + (void)sigaction(SIGQUIT, &sa, NULL); + (void)sigaction(SIGINT, &sa, NULL); + (void)sigaction(SIGTERM, &sa, NULL); + (void)sigaction(SIGHUP, &sa, NULL); + sa.sa_handler = SIG_IGN; + (void)sigaction(SIGTSTP, &sa, NULL); + (void)sigprocmask(SIG_SETMASK, &omask, NULL); /* * Login shells have a leading '-' in front of argv[0] @@ -847,17 +874,20 @@ sigint(int signo __unused) static int motd(const char *motdfile) { - sig_t oldint; + struct sigaction newint, oldint; FILE *f; int ch; if ((f = fopen(motdfile, "r")) == NULL) return (-1); motdinterrupt = 0; - oldint = signal(SIGINT, sigint); + newint.sa_handler = sigint; + newint.sa_flags = 0; + sigfillset(&newint.sa_mask); + sigaction(SIGINT, &newint, &oldint); while ((ch = fgetc(f)) != EOF && !motdinterrupt) putchar(ch); - signal(SIGINT, oldint); + sigaction(SIGINT, &oldint, NULL); if (ch != EOF || ferror(f)) { fclose(f); return (-1); @@ -966,12 +996,10 @@ pam_cleanup(void) } } -/* - * Exit, optionally after sleeping a few seconds - */ -void -bail(int sec, int eval) +static void +bail_internal(int sec, int eval, int signo) { + struct sigaction sa; pam_cleanup(); #ifdef USE_BSM_AUDIT @@ -979,5 +1007,36 @@ bail(int sec, int eval) audit_logout(); #endif (void)sleep(sec); - exit(eval); + if (signo == 0) + exit(eval); + else { + sa.sa_handler = SIG_DFL; + sa.sa_flags = 0; + (void)sigemptyset(&sa.sa_mask); + (void)sigaction(signo, &sa, NULL); + (void)sigaddset(&sa.sa_mask, signo); + (void)sigprocmask(SIG_UNBLOCK, &sa.sa_mask, NULL); + raise(signo); + exit(128 + signo); + } +} + +/* + * Exit, optionally after sleeping a few seconds + */ +static void +bail(int sec, int eval) +{ + bail_internal(sec, eval, 0); +} + +/* + * Exit because of a signal. + * This is not async-signal safe, so only call async-signal safe functions + * while the signal is unmasked. + */ +static void +bail_sig(int signo) +{ + bail_internal(NO_SLEEP_EXIT, 0, signo); } From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:39:19 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BE0DCDA1; Sun, 26 Jan 2014 23:39:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A523C17CE; Sun, 26 Jan 2014 23:39:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNdJWa094612; Sun, 26 Jan 2014 23:39:19 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNdBsJ094560; Sun, 26 Jan 2014 23:39:11 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262339.s0QNdBsJ094560@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:39:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261194 - in head/contrib/sendmail: . cf cf/cf cf/domain cf/feature cf/hack cf/m4 cf/mailer cf/ostype cf/sh contrib doc/op editmap include/libmilter include/libsmdb include/sendmail inc... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:39:19 -0000 Author: gshapiro Date: Sun Jan 26 23:39:11 2014 New Revision: 261194 URL: http://svnweb.freebsd.org/changeset/base/261194 Log: Merge sendmail 8.14.8 to HEAD MFC after: 5 days Added: head/contrib/sendmail/libsm/inet6_ntop.c - copied unchanged from r261190, vendor/sendmail/dist/libsm/inet6_ntop.c head/contrib/sendmail/libsm/t-inet6_ntop.c - copied unchanged from r261190, vendor/sendmail/dist/libsm/t-inet6_ntop.c Modified: head/contrib/sendmail/LICENSE head/contrib/sendmail/PGPKEYS head/contrib/sendmail/README head/contrib/sendmail/RELEASE_NOTES head/contrib/sendmail/cf/README head/contrib/sendmail/cf/cf/chez.cs.mc head/contrib/sendmail/cf/cf/clientproto.mc head/contrib/sendmail/cf/cf/cs-hpux10.mc head/contrib/sendmail/cf/cf/cs-hpux9.mc head/contrib/sendmail/cf/cf/cs-osf1.mc head/contrib/sendmail/cf/cf/cs-solaris2.mc head/contrib/sendmail/cf/cf/cs-sunos4.1.mc head/contrib/sendmail/cf/cf/cs-ultrix4.mc head/contrib/sendmail/cf/cf/generic-bsd4.4.mc head/contrib/sendmail/cf/cf/generic-hpux10.mc head/contrib/sendmail/cf/cf/generic-hpux9.mc head/contrib/sendmail/cf/cf/generic-linux.mc head/contrib/sendmail/cf/cf/generic-mpeix.mc head/contrib/sendmail/cf/cf/generic-nextstep3.3.mc head/contrib/sendmail/cf/cf/generic-osf1.mc head/contrib/sendmail/cf/cf/generic-solaris.mc head/contrib/sendmail/cf/cf/generic-sunos4.1.mc head/contrib/sendmail/cf/cf/generic-ultrix4.mc head/contrib/sendmail/cf/cf/huginn.cs.mc head/contrib/sendmail/cf/cf/knecht.mc head/contrib/sendmail/cf/cf/mail.cs.mc head/contrib/sendmail/cf/cf/mail.eecs.mc head/contrib/sendmail/cf/cf/mailspool.cs.mc head/contrib/sendmail/cf/cf/python.cs.mc head/contrib/sendmail/cf/cf/s2k-osf1.mc head/contrib/sendmail/cf/cf/s2k-ultrix4.mc head/contrib/sendmail/cf/cf/submit.cf head/contrib/sendmail/cf/cf/submit.mc head/contrib/sendmail/cf/cf/tcpproto.mc head/contrib/sendmail/cf/cf/ucbarpa.mc head/contrib/sendmail/cf/cf/ucbvax.mc head/contrib/sendmail/cf/cf/uucpproto.mc head/contrib/sendmail/cf/cf/vangogh.cs.mc head/contrib/sendmail/cf/domain/Berkeley.EDU.m4 head/contrib/sendmail/cf/domain/CS.Berkeley.EDU.m4 head/contrib/sendmail/cf/domain/EECS.Berkeley.EDU.m4 head/contrib/sendmail/cf/domain/S2K.Berkeley.EDU.m4 head/contrib/sendmail/cf/domain/berkeley-only.m4 head/contrib/sendmail/cf/domain/generic.m4 head/contrib/sendmail/cf/feature/accept_unqualified_senders.m4 head/contrib/sendmail/cf/feature/accept_unresolvable_domains.m4 head/contrib/sendmail/cf/feature/access_db.m4 head/contrib/sendmail/cf/feature/allmasquerade.m4 head/contrib/sendmail/cf/feature/always_add_domain.m4 head/contrib/sendmail/cf/feature/authinfo.m4 head/contrib/sendmail/cf/feature/badmx.m4 head/contrib/sendmail/cf/feature/bestmx_is_local.m4 head/contrib/sendmail/cf/feature/bitdomain.m4 head/contrib/sendmail/cf/feature/blacklist_recipients.m4 head/contrib/sendmail/cf/feature/block_bad_helo.m4 head/contrib/sendmail/cf/feature/compat_check.m4 head/contrib/sendmail/cf/feature/conncontrol.m4 head/contrib/sendmail/cf/feature/delay_checks.m4 head/contrib/sendmail/cf/feature/dnsbl.m4 head/contrib/sendmail/cf/feature/domaintable.m4 head/contrib/sendmail/cf/feature/enhdnsbl.m4 head/contrib/sendmail/cf/feature/generics_entire_domain.m4 head/contrib/sendmail/cf/feature/genericstable.m4 head/contrib/sendmail/cf/feature/greet_pause.m4 head/contrib/sendmail/cf/feature/ldap_routing.m4 head/contrib/sendmail/cf/feature/limited_masquerade.m4 head/contrib/sendmail/cf/feature/local_lmtp.m4 head/contrib/sendmail/cf/feature/local_no_masquerade.m4 head/contrib/sendmail/cf/feature/local_procmail.m4 head/contrib/sendmail/cf/feature/lookupdotdomain.m4 head/contrib/sendmail/cf/feature/loose_relay_check.m4 head/contrib/sendmail/cf/feature/mailertable.m4 head/contrib/sendmail/cf/feature/masquerade_entire_domain.m4 head/contrib/sendmail/cf/feature/masquerade_envelope.m4 head/contrib/sendmail/cf/feature/msp.m4 head/contrib/sendmail/cf/feature/mtamark.m4 head/contrib/sendmail/cf/feature/no_default_msa.m4 head/contrib/sendmail/cf/feature/nocanonify.m4 head/contrib/sendmail/cf/feature/notsticky.m4 head/contrib/sendmail/cf/feature/nouucp.m4 head/contrib/sendmail/cf/feature/nullclient.m4 head/contrib/sendmail/cf/feature/preserve_local_plus_detail.m4 head/contrib/sendmail/cf/feature/preserve_luser_host.m4 head/contrib/sendmail/cf/feature/promiscuous_relay.m4 head/contrib/sendmail/cf/feature/queuegroup.m4 head/contrib/sendmail/cf/feature/ratecontrol.m4 head/contrib/sendmail/cf/feature/redirect.m4 head/contrib/sendmail/cf/feature/relay_based_on_MX.m4 head/contrib/sendmail/cf/feature/relay_entire_domain.m4 head/contrib/sendmail/cf/feature/relay_hosts_only.m4 head/contrib/sendmail/cf/feature/relay_local_from.m4 head/contrib/sendmail/cf/feature/relay_mail_from.m4 head/contrib/sendmail/cf/feature/require_rdns.m4 head/contrib/sendmail/cf/feature/smrsh.m4 head/contrib/sendmail/cf/feature/stickyhost.m4 head/contrib/sendmail/cf/feature/use_client_ptr.m4 head/contrib/sendmail/cf/feature/use_ct_file.m4 head/contrib/sendmail/cf/feature/use_cw_file.m4 head/contrib/sendmail/cf/feature/uucpdomain.m4 head/contrib/sendmail/cf/feature/virtuser_entire_domain.m4 head/contrib/sendmail/cf/feature/virtusertable.m4 head/contrib/sendmail/cf/hack/cssubdomain.m4 head/contrib/sendmail/cf/m4/cf.m4 head/contrib/sendmail/cf/m4/cfhead.m4 head/contrib/sendmail/cf/m4/proto.m4 head/contrib/sendmail/cf/m4/version.m4 head/contrib/sendmail/cf/mailer/cyrus.m4 head/contrib/sendmail/cf/mailer/cyrusv2.m4 head/contrib/sendmail/cf/mailer/fax.m4 head/contrib/sendmail/cf/mailer/local.m4 head/contrib/sendmail/cf/mailer/mail11.m4 head/contrib/sendmail/cf/mailer/phquery.m4 head/contrib/sendmail/cf/mailer/pop.m4 head/contrib/sendmail/cf/mailer/procmail.m4 head/contrib/sendmail/cf/mailer/qpage.m4 head/contrib/sendmail/cf/mailer/smtp.m4 head/contrib/sendmail/cf/mailer/usenet.m4 head/contrib/sendmail/cf/mailer/uucp.m4 head/contrib/sendmail/cf/ostype/a-ux.m4 head/contrib/sendmail/cf/ostype/aix3.m4 head/contrib/sendmail/cf/ostype/aix4.m4 head/contrib/sendmail/cf/ostype/aix5.m4 head/contrib/sendmail/cf/ostype/altos.m4 head/contrib/sendmail/cf/ostype/amdahl-uts.m4 head/contrib/sendmail/cf/ostype/bsd4.3.m4 head/contrib/sendmail/cf/ostype/bsd4.4.m4 head/contrib/sendmail/cf/ostype/bsdi.m4 head/contrib/sendmail/cf/ostype/bsdi1.0.m4 head/contrib/sendmail/cf/ostype/bsdi2.0.m4 head/contrib/sendmail/cf/ostype/darwin.m4 head/contrib/sendmail/cf/ostype/dgux.m4 head/contrib/sendmail/cf/ostype/domainos.m4 head/contrib/sendmail/cf/ostype/dragonfly.m4 head/contrib/sendmail/cf/ostype/dynix3.2.m4 head/contrib/sendmail/cf/ostype/freebsd4.m4 head/contrib/sendmail/cf/ostype/freebsd5.m4 head/contrib/sendmail/cf/ostype/freebsd6.m4 head/contrib/sendmail/cf/ostype/gnu.m4 head/contrib/sendmail/cf/ostype/hpux10.m4 head/contrib/sendmail/cf/ostype/hpux11.m4 head/contrib/sendmail/cf/ostype/hpux9.m4 head/contrib/sendmail/cf/ostype/irix4.m4 head/contrib/sendmail/cf/ostype/irix5.m4 head/contrib/sendmail/cf/ostype/irix6.m4 head/contrib/sendmail/cf/ostype/isc4.1.m4 head/contrib/sendmail/cf/ostype/linux.m4 head/contrib/sendmail/cf/ostype/maxion.m4 head/contrib/sendmail/cf/ostype/mklinux.m4 head/contrib/sendmail/cf/ostype/mpeix.m4 head/contrib/sendmail/cf/ostype/nextstep.m4 head/contrib/sendmail/cf/ostype/openbsd.m4 head/contrib/sendmail/cf/ostype/osf1.m4 head/contrib/sendmail/cf/ostype/powerux.m4 head/contrib/sendmail/cf/ostype/ptx2.m4 head/contrib/sendmail/cf/ostype/qnx.m4 head/contrib/sendmail/cf/ostype/riscos4.5.m4 head/contrib/sendmail/cf/ostype/sco-uw-2.1.m4 head/contrib/sendmail/cf/ostype/sco3.2.m4 head/contrib/sendmail/cf/ostype/sinix.m4 head/contrib/sendmail/cf/ostype/solaris11.m4 head/contrib/sendmail/cf/ostype/solaris2.m4 head/contrib/sendmail/cf/ostype/solaris2.ml.m4 head/contrib/sendmail/cf/ostype/solaris2.pre5.m4 head/contrib/sendmail/cf/ostype/solaris8.m4 head/contrib/sendmail/cf/ostype/sunos3.5.m4 head/contrib/sendmail/cf/ostype/sunos4.1.m4 head/contrib/sendmail/cf/ostype/svr4.m4 head/contrib/sendmail/cf/ostype/ultrix4.m4 head/contrib/sendmail/cf/ostype/unicos.m4 head/contrib/sendmail/cf/ostype/unicosmk.m4 head/contrib/sendmail/cf/ostype/unicosmp.m4 head/contrib/sendmail/cf/ostype/unixware7.m4 head/contrib/sendmail/cf/ostype/unknown.m4 head/contrib/sendmail/cf/ostype/uxpds.m4 head/contrib/sendmail/cf/sendmail.schema head/contrib/sendmail/cf/sh/makeinfo.sh head/contrib/sendmail/contrib/dnsblaccess.m4 head/contrib/sendmail/contrib/link_hash.sh head/contrib/sendmail/contrib/qtool.8 head/contrib/sendmail/contrib/qtool.pl head/contrib/sendmail/doc/op/op.me head/contrib/sendmail/editmap/editmap.8 head/contrib/sendmail/editmap/editmap.c head/contrib/sendmail/include/libmilter/mfapi.h head/contrib/sendmail/include/libmilter/mfdef.h head/contrib/sendmail/include/libmilter/milter.h head/contrib/sendmail/include/libsmdb/smdb.h head/contrib/sendmail/include/sendmail/mailstats.h head/contrib/sendmail/include/sendmail/pathnames.h head/contrib/sendmail/include/sendmail/sendmail.h head/contrib/sendmail/include/sm/assert.h head/contrib/sendmail/include/sm/bdb.h head/contrib/sendmail/include/sm/bitops.h head/contrib/sendmail/include/sm/cdefs.h head/contrib/sendmail/include/sm/cf.h head/contrib/sendmail/include/sm/clock.h head/contrib/sendmail/include/sm/conf.h head/contrib/sendmail/include/sm/config.h head/contrib/sendmail/include/sm/debug.h head/contrib/sendmail/include/sm/errstring.h head/contrib/sendmail/include/sm/exc.h head/contrib/sendmail/include/sm/fdset.h head/contrib/sendmail/include/sm/gen.h head/contrib/sendmail/include/sm/heap.h head/contrib/sendmail/include/sm/io.h head/contrib/sendmail/include/sm/ldap.h head/contrib/sendmail/include/sm/limits.h head/contrib/sendmail/include/sm/mbdb.h head/contrib/sendmail/include/sm/misc.h head/contrib/sendmail/include/sm/os/sm_os_aix.h head/contrib/sendmail/include/sm/os/sm_os_dragonfly.h head/contrib/sendmail/include/sm/os/sm_os_freebsd.h head/contrib/sendmail/include/sm/os/sm_os_hp.h head/contrib/sendmail/include/sm/os/sm_os_irix.h head/contrib/sendmail/include/sm/os/sm_os_linux.h head/contrib/sendmail/include/sm/os/sm_os_mpeix.h head/contrib/sendmail/include/sm/os/sm_os_next.h head/contrib/sendmail/include/sm/os/sm_os_openbsd.h head/contrib/sendmail/include/sm/os/sm_os_openunix.h head/contrib/sendmail/include/sm/os/sm_os_osf1.h head/contrib/sendmail/include/sm/os/sm_os_qnx.h head/contrib/sendmail/include/sm/os/sm_os_sunos.h head/contrib/sendmail/include/sm/os/sm_os_ultrix.h head/contrib/sendmail/include/sm/os/sm_os_unicos.h head/contrib/sendmail/include/sm/os/sm_os_unicosmk.h head/contrib/sendmail/include/sm/os/sm_os_unicosmp.h head/contrib/sendmail/include/sm/os/sm_os_unixware.h head/contrib/sendmail/include/sm/path.h head/contrib/sendmail/include/sm/rpool.h head/contrib/sendmail/include/sm/sem.h head/contrib/sendmail/include/sm/sendmail.h head/contrib/sendmail/include/sm/setjmp.h head/contrib/sendmail/include/sm/shm.h head/contrib/sendmail/include/sm/signal.h head/contrib/sendmail/include/sm/string.h head/contrib/sendmail/include/sm/sysexits.h head/contrib/sendmail/include/sm/test.h head/contrib/sendmail/include/sm/time.h head/contrib/sendmail/include/sm/types.h head/contrib/sendmail/include/sm/varargs.h head/contrib/sendmail/include/sm/xtrap.h head/contrib/sendmail/libmilter/Makefile.m4 head/contrib/sendmail/libmilter/comm.c head/contrib/sendmail/libmilter/docs/api.html head/contrib/sendmail/libmilter/docs/design.html head/contrib/sendmail/libmilter/docs/index.html head/contrib/sendmail/libmilter/docs/installation.html head/contrib/sendmail/libmilter/docs/other.html head/contrib/sendmail/libmilter/docs/overview.html head/contrib/sendmail/libmilter/docs/sample.html head/contrib/sendmail/libmilter/docs/smfi_addheader.html head/contrib/sendmail/libmilter/docs/smfi_addrcpt.html head/contrib/sendmail/libmilter/docs/smfi_addrcpt_par.html head/contrib/sendmail/libmilter/docs/smfi_chgfrom.html head/contrib/sendmail/libmilter/docs/smfi_chgheader.html head/contrib/sendmail/libmilter/docs/smfi_delrcpt.html head/contrib/sendmail/libmilter/docs/smfi_getpriv.html head/contrib/sendmail/libmilter/docs/smfi_getsymval.html head/contrib/sendmail/libmilter/docs/smfi_insheader.html head/contrib/sendmail/libmilter/docs/smfi_main.html head/contrib/sendmail/libmilter/docs/smfi_opensocket.html head/contrib/sendmail/libmilter/docs/smfi_progress.html head/contrib/sendmail/libmilter/docs/smfi_quarantine.html head/contrib/sendmail/libmilter/docs/smfi_register.html head/contrib/sendmail/libmilter/docs/smfi_replacebody.html head/contrib/sendmail/libmilter/docs/smfi_setbacklog.html head/contrib/sendmail/libmilter/docs/smfi_setconn.html head/contrib/sendmail/libmilter/docs/smfi_setdbg.html head/contrib/sendmail/libmilter/docs/smfi_setmlreply.html head/contrib/sendmail/libmilter/docs/smfi_setpriv.html head/contrib/sendmail/libmilter/docs/smfi_setreply.html head/contrib/sendmail/libmilter/docs/smfi_setsymlist.html head/contrib/sendmail/libmilter/docs/smfi_settimeout.html head/contrib/sendmail/libmilter/docs/smfi_stop.html head/contrib/sendmail/libmilter/docs/smfi_version.html head/contrib/sendmail/libmilter/docs/xxfi_abort.html head/contrib/sendmail/libmilter/docs/xxfi_body.html head/contrib/sendmail/libmilter/docs/xxfi_close.html head/contrib/sendmail/libmilter/docs/xxfi_connect.html head/contrib/sendmail/libmilter/docs/xxfi_data.html head/contrib/sendmail/libmilter/docs/xxfi_envfrom.html head/contrib/sendmail/libmilter/docs/xxfi_envrcpt.html head/contrib/sendmail/libmilter/docs/xxfi_eoh.html head/contrib/sendmail/libmilter/docs/xxfi_eom.html head/contrib/sendmail/libmilter/docs/xxfi_header.html head/contrib/sendmail/libmilter/docs/xxfi_helo.html head/contrib/sendmail/libmilter/docs/xxfi_negotiate.html head/contrib/sendmail/libmilter/docs/xxfi_unknown.html head/contrib/sendmail/libmilter/engine.c head/contrib/sendmail/libmilter/example.c head/contrib/sendmail/libmilter/handler.c head/contrib/sendmail/libmilter/libmilter.h head/contrib/sendmail/libmilter/listener.c head/contrib/sendmail/libmilter/main.c head/contrib/sendmail/libmilter/monitor.c head/contrib/sendmail/libmilter/signal.c head/contrib/sendmail/libmilter/sm_gethost.c head/contrib/sendmail/libmilter/smfi.c head/contrib/sendmail/libmilter/worker.c head/contrib/sendmail/libsm/Makefile.m4 head/contrib/sendmail/libsm/README head/contrib/sendmail/libsm/assert.c head/contrib/sendmail/libsm/b-strcmp.c head/contrib/sendmail/libsm/b-strl.c head/contrib/sendmail/libsm/cf.c head/contrib/sendmail/libsm/clock.c head/contrib/sendmail/libsm/clrerr.c head/contrib/sendmail/libsm/config.c head/contrib/sendmail/libsm/debug.c head/contrib/sendmail/libsm/errstring.c head/contrib/sendmail/libsm/exc.c head/contrib/sendmail/libsm/fclose.c head/contrib/sendmail/libsm/feof.c head/contrib/sendmail/libsm/ferror.c head/contrib/sendmail/libsm/fflush.c head/contrib/sendmail/libsm/fget.c head/contrib/sendmail/libsm/findfp.c head/contrib/sendmail/libsm/flags.c head/contrib/sendmail/libsm/fopen.c head/contrib/sendmail/libsm/fpos.c head/contrib/sendmail/libsm/fprintf.c head/contrib/sendmail/libsm/fpurge.c head/contrib/sendmail/libsm/fput.c head/contrib/sendmail/libsm/fread.c head/contrib/sendmail/libsm/fscanf.c head/contrib/sendmail/libsm/fseek.c head/contrib/sendmail/libsm/fvwrite.c head/contrib/sendmail/libsm/fvwrite.h head/contrib/sendmail/libsm/fwalk.c head/contrib/sendmail/libsm/fwrite.c head/contrib/sendmail/libsm/get.c head/contrib/sendmail/libsm/glue.h head/contrib/sendmail/libsm/heap.c head/contrib/sendmail/libsm/ldap.c head/contrib/sendmail/libsm/local.h head/contrib/sendmail/libsm/makebuf.c head/contrib/sendmail/libsm/match.c head/contrib/sendmail/libsm/mbdb.c head/contrib/sendmail/libsm/memstat.c head/contrib/sendmail/libsm/mpeix.c head/contrib/sendmail/libsm/niprop.c head/contrib/sendmail/libsm/path.c head/contrib/sendmail/libsm/put.c head/contrib/sendmail/libsm/refill.c head/contrib/sendmail/libsm/rewind.c head/contrib/sendmail/libsm/rpool.c head/contrib/sendmail/libsm/sem.c head/contrib/sendmail/libsm/setvbuf.c head/contrib/sendmail/libsm/shm.c head/contrib/sendmail/libsm/signal.c head/contrib/sendmail/libsm/smstdio.c head/contrib/sendmail/libsm/snprintf.c head/contrib/sendmail/libsm/sscanf.c head/contrib/sendmail/libsm/stdio.c head/contrib/sendmail/libsm/strcasecmp.c head/contrib/sendmail/libsm/strdup.c head/contrib/sendmail/libsm/strerror.c head/contrib/sendmail/libsm/strexit.c head/contrib/sendmail/libsm/string.c head/contrib/sendmail/libsm/stringf.c head/contrib/sendmail/libsm/strio.c head/contrib/sendmail/libsm/strl.c head/contrib/sendmail/libsm/strrevcmp.c head/contrib/sendmail/libsm/strto.c head/contrib/sendmail/libsm/syslogio.c head/contrib/sendmail/libsm/t-cf.c head/contrib/sendmail/libsm/t-event.c head/contrib/sendmail/libsm/t-exc.c head/contrib/sendmail/libsm/t-fget.c head/contrib/sendmail/libsm/t-float.c head/contrib/sendmail/libsm/t-fopen.c head/contrib/sendmail/libsm/t-heap.c head/contrib/sendmail/libsm/t-match.c head/contrib/sendmail/libsm/t-memstat.c head/contrib/sendmail/libsm/t-path.c head/contrib/sendmail/libsm/t-qic.c head/contrib/sendmail/libsm/t-rpool.c head/contrib/sendmail/libsm/t-scanf.c head/contrib/sendmail/libsm/t-sem.c head/contrib/sendmail/libsm/t-shm.c head/contrib/sendmail/libsm/t-smstdio.c head/contrib/sendmail/libsm/t-string.c head/contrib/sendmail/libsm/t-strio.c head/contrib/sendmail/libsm/t-strl.c head/contrib/sendmail/libsm/t-strrevcmp.c head/contrib/sendmail/libsm/t-types.c head/contrib/sendmail/libsm/test.c head/contrib/sendmail/libsm/ungetc.c head/contrib/sendmail/libsm/util.c head/contrib/sendmail/libsm/vasprintf.c head/contrib/sendmail/libsm/vfprintf.c head/contrib/sendmail/libsm/vfscanf.c head/contrib/sendmail/libsm/vprintf.c head/contrib/sendmail/libsm/vsnprintf.c head/contrib/sendmail/libsm/wbuf.c head/contrib/sendmail/libsm/wsetup.c head/contrib/sendmail/libsm/xtrap.c head/contrib/sendmail/libsmdb/smdb.c head/contrib/sendmail/libsmdb/smdb1.c head/contrib/sendmail/libsmdb/smdb2.c head/contrib/sendmail/libsmdb/smndbm.c head/contrib/sendmail/libsmutil/cf.c head/contrib/sendmail/libsmutil/debug.c head/contrib/sendmail/libsmutil/err.c head/contrib/sendmail/libsmutil/lockfile.c head/contrib/sendmail/libsmutil/safefile.c head/contrib/sendmail/libsmutil/snprintf.c head/contrib/sendmail/mail.local/mail.local.8 head/contrib/sendmail/mail.local/mail.local.c head/contrib/sendmail/mailstats/mailstats.8 head/contrib/sendmail/mailstats/mailstats.c head/contrib/sendmail/makemap/makemap.8 head/contrib/sendmail/makemap/makemap.c head/contrib/sendmail/praliases/praliases.8 head/contrib/sendmail/praliases/praliases.c head/contrib/sendmail/rmail/rmail.8 head/contrib/sendmail/rmail/rmail.c head/contrib/sendmail/smrsh/smrsh.8 head/contrib/sendmail/smrsh/smrsh.c head/contrib/sendmail/src/Makefile.m4 head/contrib/sendmail/src/README head/contrib/sendmail/src/SECURITY head/contrib/sendmail/src/TRACEFLAGS head/contrib/sendmail/src/TUNING head/contrib/sendmail/src/alias.c head/contrib/sendmail/src/aliases.5 head/contrib/sendmail/src/arpadate.c head/contrib/sendmail/src/bf.c head/contrib/sendmail/src/bf.h head/contrib/sendmail/src/collect.c head/contrib/sendmail/src/conf.c head/contrib/sendmail/src/conf.h head/contrib/sendmail/src/control.c head/contrib/sendmail/src/convtime.c head/contrib/sendmail/src/daemon.c head/contrib/sendmail/src/daemon.h head/contrib/sendmail/src/deliver.c head/contrib/sendmail/src/domain.c head/contrib/sendmail/src/envelope.c head/contrib/sendmail/src/err.c head/contrib/sendmail/src/headers.c head/contrib/sendmail/src/helpfile head/contrib/sendmail/src/macro.c head/contrib/sendmail/src/mailq.1 head/contrib/sendmail/src/main.c head/contrib/sendmail/src/map.c head/contrib/sendmail/src/map.h head/contrib/sendmail/src/mci.c head/contrib/sendmail/src/milter.c head/contrib/sendmail/src/mime.c head/contrib/sendmail/src/newaliases.1 head/contrib/sendmail/src/parseaddr.c head/contrib/sendmail/src/queue.c head/contrib/sendmail/src/ratectrl.c head/contrib/sendmail/src/readcf.c head/contrib/sendmail/src/recipient.c head/contrib/sendmail/src/sasl.c head/contrib/sendmail/src/savemail.c head/contrib/sendmail/src/sendmail.8 head/contrib/sendmail/src/sendmail.h head/contrib/sendmail/src/sfsasl.c head/contrib/sendmail/src/sfsasl.h head/contrib/sendmail/src/shmticklib.c head/contrib/sendmail/src/sm_resolve.c head/contrib/sendmail/src/sm_resolve.h head/contrib/sendmail/src/srvrsmtp.c head/contrib/sendmail/src/stab.c head/contrib/sendmail/src/stats.c head/contrib/sendmail/src/statusd_shm.h head/contrib/sendmail/src/sysexits.c head/contrib/sendmail/src/timers.c head/contrib/sendmail/src/timers.h head/contrib/sendmail/src/tls.c head/contrib/sendmail/src/trace.c head/contrib/sendmail/src/udb.c head/contrib/sendmail/src/usersmtp.c head/contrib/sendmail/src/util.c head/contrib/sendmail/src/version.c head/contrib/sendmail/test/README head/contrib/sendmail/test/t_dropgid.c head/contrib/sendmail/test/t_exclopen.c head/contrib/sendmail/test/t_pathconf.c head/contrib/sendmail/test/t_seteuid.c head/contrib/sendmail/test/t_setgid.c head/contrib/sendmail/test/t_setreuid.c head/contrib/sendmail/test/t_setuid.c head/contrib/sendmail/test/t_snprintf.c head/contrib/sendmail/vacation/vacation.1 head/contrib/sendmail/vacation/vacation.c Directory Properties: head/contrib/sendmail/ (props changed) Modified: head/contrib/sendmail/LICENSE ============================================================================== --- head/contrib/sendmail/LICENSE Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/LICENSE Sun Jan 26 23:39:11 2014 (r261194) @@ -1,9 +1,9 @@ SENDMAIL LICENSE -The following license terms and conditions apply, unless a redistribution -agreement or other license is obtained from Sendmail, Inc., 6475 Christie -Ave, Third Floor, Emeryville, CA 94608, USA, or by electronic mail at -license@sendmail.com. +The following license terms and conditions apply, unless a redistribution +agreement or other license is obtained from Proofpoint, Inc., 892 +Ross Street, Sunnyvale, CA, 94089, USA, or by electronic mail at +sendmail-license@proofpoint.com. License Terms: @@ -35,12 +35,12 @@ each of the following conditions is met: forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language: - "Copyright (c) 1998-2012 Sendmail, Inc. All rights reserved." + "Copyright (c) 1998-2013 Proofpoint, Inc. All rights reserved." -4. Neither the name of Sendmail, Inc. nor the University of California nor +4. Neither the name of Proofpoint, Inc. nor the University of California nor names of their contributors may be used to endorse or promote products derived from this software without specific prior written - permission. The name "sendmail" is a trademark of Sendmail, Inc. + permission. The name "sendmail" is a trademark of Proofpoint, Inc. 5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, which copyright @@ -78,4 +78,4 @@ each of the following conditions is met: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -$Revision: 8.18 $, Last updated $Date: 2012/05/15 21:49:03 $, Document 139848.1 +$Revision: 8.22 $, Last updated $Date: 2013/11/23 04:37:36 $, Document 139848.1 Modified: head/contrib/sendmail/PGPKEYS ============================================================================== --- head/contrib/sendmail/PGPKEYS Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/PGPKEYS Sun Jan 26 23:39:11 2014 (r261194) @@ -142,6 +142,184 @@ gpExpdV7qPrw9k01j5rod5PjZlG8zV0= -----END PGP PUBLIC KEY BLOCK----- Type Bits KeyID Created Expires Algorithm Use +pub 2048 E2763A73 2014-01-02 ------- RSA Sign & Encrypt +fingerprint: 49F6 A8BE 8473 3949 5191 6F3B 61DE 11EC E276 3A73 +uid Sendmail Signing Key/2014 + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQENBFLGB58BCADFOlIYbhlAZ1URaoyfEHLgrm/bHeZufZO3jp2eeuDIkt4Z8csa +eLkwomo/UtmUNXkn5rlUacRjyuhrDgVyuhYVeqq+tVbGccrjq4TM+5dkDTtQvLE5 +sEF3pbNYiPNJwPnqMfGTVmSouR9gGJGgttPubFDp/2jTpuFYZbcDSo+hoI9m5RAH +aWe+MhFC0r7RZTv5pY1CG3GSODaoz2XIQ/dDJ4WKZFeEvDPQnpLY4t0cb0hVcxYO +XVZZs1YmS2sEJirwJ+rpxivX4eyVKSO9Vjidh6cvmg2UdKfNoXXd+G9r0DR5FSo7 +hQHlOCrLFQQ5YJ3thGNl/fw7wVXVs34Nj7QfABEBAAG0MVNlbmRtYWlsIFNpZ25p +bmcgS2V5LzIwMTQgPHNlbmRtYWlsQFNlbmRtYWlsLk9SRz6JATgEEwECACIFAlLG +B58CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGHeEezidjpzcRgIAJUZ +4J6yvykcpgrIS8ZjDz1ab2sXtBx0ZjI5TxxnIwg9RQb5YkEk2/9tPo0ZwNUTDwz6 +eVENR++Bv3VXs32RnRiFNy1Mm2hhULh4ifgqT6Sy7zRk/kwiKuj6xkjAGZV71QmD +ukFIpVaWAQwiFkDgqM3LbxZ1sisbvvA8M/zJq66uGg09Lu9CKcwjKDfy+UW1E8Ub +SRzStTRrpvCH400q/Pwv3mOA43+H6Un4fZfCOcZeo22rSgT6D/FEY4LMdNnMLYuU +zPkpx7cKvQa/AcMdjoGu38g364JxlDjxjE6M+XBym8Tx6j4res7o0W8TGW5g+rEv +8X9i7uxdnEfYBlNAElGJARwEEAECAAYFAlLGCCIACgkQPWiyXVIHytM4QggAtF+W +cXu8pJi3+OAoPmj+etgIuLhJ2GOp8qNK8yvwTEwiNwtenjennlW3ETHiCbtfQ0/T +Z9rq5elhANsfp8LsXGoJ4ic6KJlDEhCrKa76jwEeECI74E60TpG0z64pHMmUhk7l +eAUckCOvW7iHIBJVA7ZM8oII04ipPz6qJfJrUWkJbfZh8VV5DRp7zKAFT+URgSUc +bdAbLjyC7AohynNVxir90UoT+wo06GPMDpeA5+fS0VZxKAwKv2P0mRZAK63yzEJz ++VK3GCHLPCWJvHoqx4KSutk2mIpZ406T/BJEphkGN0BHHiUmIr9qfX/87klA4i9K +dHvzFr6qFBxD78XfuIkBHAQQAQIABgUCUsYIMAAKCRCOWun7zu70Ox9XB/9IP99U +LScSFiDgoZQr3eMztpc2NLIS2bGO1iX7L+9VInPCob7Se53MpaFrDWNna53Xehwf +NbaqsCQrG+OIMMwhRc0x3QCoXQUchA/JyAUIojfOyoFUZvlyZStRGOp2TBRrJnmb +l3iWz3pStqqtvqag2d3YxowqGqUvlRzAXTFmgjcnfMcJrxb9f3n6Nf84QpxLHxB2 +MgOgxUCHXMtJ4WxFHAoINize+P/P99U9mpyn4ewTnSaFzcmemqoVT9yZUDYUYrap +Bm4Xp0Y92IzoNpJgKBZLwXihisuI4alY/hBopo5L89vms2BwesQuh/4Tr6SELwFx +zX63E++tz1TqHleWiQEcBBABAgAGBQJSxghsAAoJEDmkx32peISwXiIH/3suKuiQ ++KqQT10UdBoNg6m0XinG4IG2MghRRcdg2Q8ncCfMFJPsKQcPdjiUuuUIYtD7CE+O +SwQ9N+6vZlsk3Zq2I8rPEwrUTmZ1gDcMK93MafNS32Xt7FmCY6wpMCkpmCLd9sjb +7rj3uZdv/aI6Is76z6dKTfxJWBrbsUQNncASn5JyCXrYj9eeGP8gHX2KCkyPBF4u +kHFPgdzYevCfZeP/+f/cdRwF6bAVaHiEZ2S/Vg6r3Z89vgd+wNKnNsljEiacYWuS +zxouEn0eWQj9kC3bXJgqXH+HLrEY8NAQ5EQWjd8bzIhzCTA9MtL+N1b0Ep36gNiw +YFB5b/b7KlbEPsSJARwEEAECAAYFAlLGCG8ACgkQYE378oVBCr4XDAf/auf1ljzq +w2khe1L/1ANvtnugMP3sVJEPU2nDUnCK2+c0G5INnWc+c7DEFsaLHgcs2eN/w80a +adInDn9lFw7DtcvZr3xL8q+b6j4i4jucjT5WVfYHbvc0xcKfpEjRge4oV3XR73SU +ztdTWZZAlds4Xvh9pojjM90fBu5uDqfpRM3/vNTQ9EWvjcCGKusWRTwgdfF94cHN +CeSe8PCo7sil6MtBBoujmLldCKZaLC08NLPX3yTGzNmuLyNZj9WgwPoK++XTxJly +0j9EJsO28ZxmNCxsZyGA+1D1NuRurQ5FXIUHUfz6taP8FHSDt95cOiirmCMOAjT4 +UFtGAZFlbhzxroicBBABAgAGBQJSxghyAAoJEBKJbpunfyQpyFwD/1fp8qgb6zvn +dIoTUoVWahI41Clt65cA2d1Ib1IbJJ4ms9cxNbFMTvbpPQ4AXOz1t7x2uS3YDmq5 +IxdWLr6YPSMkGmtpF2CD1HwSLcUwtKcIFrb8a0EN8Z+sRKu7yYg1vMxc7LmmOBUX +x+j9fm/1OFGIHYnUEb9GeKFf91cK0VAIiJwEEAECAAYFAlLGCHUACgkQ2Krwyvaz +BylxvAP+JuZQFPnk6l4SKHR/3ZWz56fOqZ6Qv8cgUCFY5AY9OdSE7aU2zVjZTjd1 +dJzVD7xc/9h8OW4HakfwcNnfAqdQ4eNdox5+uydXwU0CXJqU8QxGPaCSRkB1Thb5 +aMik5S01lzra4s6dF0iMC15I5v0PAznykJO9Sq4qhMLUCYTxFiqInAQQAQIABgUC +UsYIeAAKCRCXQwEYcJO4QeDXBAC2hVO1j2dyQfkHr8eLAg/P+2qwZ1ZaG4jxItol +vF91lfGNCaG3RWB9iPRIkz5B+lSoh4mSPGzJ3cFDgB53rRMpFUa0qhiUpVaNuPMY +BSrkxYb00amJcFoXX+yE8soeu6BZ1cazg8GEkbjFbboqJMts2M39dD3c4ikbU4Op +v9ag1YicBBABAgAGBQJSxgh7AAoJEB57s8ivlZYl1w0D/1AySnzhz5PKQo4Wh9QX +qX+yMVBT3rgVO6EgR8ShsyMhZX8GwEEGPueDAh8MLGPqQZbjXq81QMeVk6TSUCQx +XbhHxyGJJTVDxxJxFJZ7f8y05PjppTA6TL2aKYsZLkWUPEq5vKocE2VAmYldwvRS +Ez4oNLWQD5dw05DPzVsJ2/49iJwEEAECAAYFAlLGCH4ACgkQcKAkTR75klFOVwP/ +fxmc8/ckreAjz7C3oarAHlWgAUHrJAAtG1MEgXN6FtzGZyzj7jsC4HI8A5nfwIWx +A67jktU+6OpySrvIv3gRF1OAV168Q9IE8KszvnJgl6Gknf/KuiwpthWHpKztn9lF +vealu7JKqI+3D5m33SqcWUg8SThfnGBoZOZGOnGrw4aInAQQAQIABgUCUsYIggAK +CRDI1e0plfYXcf9oA/44QISEfFkqab+NIIgKW0SHqJDmI5QvVkcCO1Ct+/TkhGVO +I68XKLMaNbzerl+BF26gU2IYCs0axa9hlkl8IJLokZhEPSRPDuSP2PG3GjaFsgnE +5OK6aaVvjrEwaXe8v6rOYLmavnhZtOKg3H8pOl74KhFy1i/ZwM9oVfD4sfLhxIic +BBABAgAGBQJSxgiFAAoJECGD4bE5bweJnYsEAJUX07KH5tI+OfmhQ+WCFuU2as+r +I39oH1BB0W44fEhTj/yJFVqGSt4e3OBlP+SYqIM4DxPttxNtfQ9448rbzWLCdL0c +KGOM2y9NT/LoDi1JQ/IVLYvuIyNnPViAF5JQ96NrmJH+3SaC6goK6HY6D2Oh3iyO +1VGIhjOWyJr2+5ZjiJwEEAECAAYFAlLGCIwACgkQiWliuGeMCgNvkwQAjrrAjFyh +pMepbLnRlxi2gcLqdmLcaub6AaRzCGDaYQxNFtBd+vLt0CtgY7sILahcMX6hLT53 +z4zCHoM93DM3jBoJehC0lH6/qd3ZAcW9vcSxk5ws97K6sbMXWIfqDgTUXaArOvKG +GHE3vsgaLvAQ8nz0QaVkwgSIQfz+vBDjlM6InAQQAQIABgUCUsYIjwAKCRA4IttH +zDdPLdPdBACoapJIpeNLyL9szztPzznIIxNbeuFJVfJRAE+pZ08y5YKVtGWArUcb +GBXlZC5FrVTqV3ptIa72ALApIZ/M4Awnk3C3XyjMioKemv7I+cOj5DqRgkR/hsAF +7YSAg718twgv8W2Ssy8i2vOlAoazxzN9bhVl5cSny5aeUnpLwK0WMYicBBABAgAG +BQJSxgiSAAoJEJwcveLjXFY1DnoD/iFZ3zhzwIyWUl17pESa7H79tbcpmRyelH5M +vH51sEBl27yRRKrsx4oayaumUT7W4JVoQTEYH54unN6fSBqKK9VyxzlA+v8PJjTG +43MhtMG5lc5B1fKXFer1SpxuoR5h3Qdi4KSz3yh8K8g5KKtciPBx5kEXSTm6Nycu +wkrCRYZLiJwEEAECAAYFAlLGCJcACgkQb1KT2KObplUY2QP/T2Zt5U2cl0usnYck +wmMF3ZAzmcfhsxMkVgxxL9AkVJh9dHhLSYFWN6qhlkZwiW6UhhKoINfEpb8gOcBz +rdb4u8yrWqIS726GqE/gnjYUf5CX22mOPWry8CPuWesRVpr832TzS5wxlBQzRMSS +MVn39IPfIQnC6UQ3tPChruwwZh2InAQQAQIABgUCUsYImgAKCRDvWJZk1DLhnUOZ +A/4qp/HD/+V1zpewexP4wL+bLA9Y6X+y2UWAh7eZCBQvXOhVAYcHxpmWgEfHuS+c +iHYqCc7hz+1AiKV8AfVk6RX0k9Oli/IMbM3ijv3uIl+5JF765oXUAB3RWg6V+MlJ +VhOVkBHXmBuhFnfVPeR5wNPpQ58d9LwsZtU11/Y76xzOUYicBBABAgAGBQJSxgie +AAoJEMGcHSUS00YdL7MEAK/BtyOdoFA/8SBA+8EOG8nd5NSlGNZUBnTlpWqdphkR +SLRrb1gLGr41ND2yvg/ElTti7m1D7+7VUnwCXM5wUO/RZuZx2uDYRCdDXj5WBhcg +3wsHO3IPGGTbCukp9fLcthBQ46PDewlUVo6gPWhjWG/oC04XYeB3+f1f1zGAai+s +iJwEEAECAAYFAlLGCKMACgkQwCnKQBb0zOm0CAQAhwRycBvn1kZB8cjBVw0a74Xu +rjQrMVqmKM0LW/UzoVscB0W2KxZnvCLcw8N87CnnoSAO3MSnb/vPPhtnQxVe0IBA +4yoe9acWJvmtIjw4JFDKioVPtEy+pcg5EDlyqNHj0He/Cmbirxbvy2XiGB/Y/lxu +t1kad5ZYY/F5+X4hbyOIRgQQEQIABgUCUsYIsQAKCRAY9QOAJMJ4ArQbAJ414QQw +60cTU3tVbBTT/l/sRysTXACg1ggZJszRL0P8Yy6WOryQ+r5Fg8yInAQQAQIABgUC +UsYItwAKCRB8S2dtoA4VY3VvA/4i7bKzYElfVdTIj0IgHfd1zneeDjJoJP5tmf7F +ElWIkENFVkKQ+tUBO2d/qMK8h+aj3brDcve5A1LUIsD5leE+igke8SjVF9/fwN4U +8Mpqrvaw+CX7zGMnt6J075OD7mfU7hZkSpDhmOEMaEzaviei2rovBgaNv7tOlgrk +J5nCo4icBBABAgAGBQJSxgi8AAoJENbgof5PvirdqiMEAKp3kzOjTetlDWAqK0BY +u1kSTCLzO8jFIq620dT0BqorZ5nvxwKovog/FgrZ0LlywsjlwOGCAFo3aW7WTEyt +7AwlQvUScAbPuZZcyZxKwQ9h2O6C2K2RPVIIHQusLRVcr+oGgqMoNjpSxOOxfJuj +hT6fXHK5SayZSQEiZyeKme12iEYEEBECAAYFAlLGCMEACgkQIfnFvPdqm/UiSwCf +d7Y5AR2m6vK5drJEaqbnv2tmXzcAoMhOg7eUPnYXr0Uwpo/61oHAPUTwiJwEEAEC +AAYFAlLGCMcACgkQvdqP1j/qff1p6QP/TkEC+SJr4YUPy/0cLsSr9j0uPfvke+Qx +U0RWynv4BMU05TKaBeZiVG25iFsGERW0drxiisPkcgMTq98wE7Q23Qtk+Fg8amDn +6c0qEj0S4xd/DfHPhcznHjjkhiTftSmeMGHDMF8M5+ZBSlJyM6M1dtTlceU88ZYu +Vv89Iz9nnmaJARwEEAECAAYFAlLGCMsACgkQvSdtLm/PqIVOHwgAvKy116ykGuvC +LlxCVx+RfIjhaXa5OTtZhLc7YkXgaNr4UmcvNZtGwQLUEjDO4fVCF/7bSrryZ6Fr +PZBNTKQRwbqH8UksQ+6hIbTBb5ZGcpKQPdIqEWjRjCoDah2EI1ln/JI8WY5NoA+V +iuBd07msr49qevHgGEex5dX7NKOu6nuvefaasVDODNsiMp2QZmIlP7XJw7VKkiEx +ov93DGImxD4o8r2Etzo1Lt5/soNzw26etSRFhoGHRdW2mlS5QFjebV+PNAxwvRrI +a+5CjoA/vFfwxV+RZlvCLhzuEsBIzw6yenfNEd37bzqJq/7Jp7kQCe463o7ujG00 +k+ObGvq/YokBNwQTAQIAIQIbAwIeAQIXgAUCUsYZQgYLCQgHAwIGFQgCCQoLAxYC +AQAKCRBh3hHs4nY6c/AjB/4rt17ezRHDxuDuS7+waPC9N6eXAQCbwdvkYd/v0bWe +5jHgknMHR9OyGU9JKA4boJCtJNUvceAmzBtynqxy4hR6rmCwCmFW3AIK31iu3frz +Zqq84XK791voKMMrvnux0OHqq2l2mYOSNXUeVNQeyDE6HbKXFUiWhRZl36UndVaE +XhdDnKpxseMpYZsECW1+x1GxbUHFRx6tSiqzgLSNU/SsgwgttHwyqEdW0sr63r66 +7XSoMKvEgIhb36hJ7AIaFNWasLnnLOTOWR74IHnJ68FpordYm7lnmT5Vg/ju9y29 +JDwfOcNroCao6tTjyXcM6KmIssQPavTDLK/I6XgVr9QziQEcBBABAgAGBQJSxwGo +AAoJEBCQryClqlvmWGgH/3CsqpTEKQW3FL/jughz3Yt8vmgqmlj7ZbTaVehIKRU4 +iL2XOlgAu3JISxCLPkdz79qcMSkZsOJtTGwA1yjvw/yx7oSznvW+jgNZ+fNOuT9w +c6YKGSm0KbGGOFzjzoCsnIpoVEVuJwOS/zqGY349WR5dyaY4pEL42StfqLLtHO7I +IJMKRcubedgZSogT9iwhin+sAGi60Wjq0pX240UQG0bgSB7n+/+7NT64u9yRyPwZ +9B7Y11smlCw0jIlJD/P51rFgFciG/BdYyPfRHToe5CjOI+1sFxJYuOQI25o9/Syg +7MMzp3ym2IEjIi3poBwfqZRlPDb5nHfu4vnSntPrwcWJAhwEEAEKAAYFAlLHCkcA +CgkQ8Ar26sJF0gu9AA/9EXGIp5BwAYXNtlrI66nuPBwbPXHIVXocnlu2O2Kfzc9W +Lvl3e5eSi61/TCOPNM4ParKUT9utxq9Sd01WO4GuepQFOiSfhMfKb7ORd0cKfWuM +9shAKHsTbuAopO9R43jv1QnE+yL1xpM85JaGxI2pWf4XIpL32ZZ0s7s3x1fklNMG +7ObB5dHr66M/V/GXZSx6rTBWhODm34W07HcXqDdwjVT8J/fo+3kkY9eXYuVfpl8t +bVV6g8DK1zMkQiQBHpN0DCZUYB9WoJgCKFsTvVUElRyMY5sd2bkyAktA2df1EBSH +kMXzqn3py+n3YzRY3VpsNUV3WkDRfU9SIdJd8g88muZeL9namSr/3eHTjdaMoCyL +GyyUpy5LrD56k3QWeXDWVynU9lXuxaiJDntP6A81d6vaIBtm8AFVihtJFoufHot4 +crmPqKtH+MQ9G6xwN5Az9okXKg7HGG9ZD82s4D/X5plN0OH5pMeYLrOQI+oEhjn2 +uK67y0Zl/eqoQcnVDy9PFrynuSVBC5/BTGNbebQrTDrIsQo0m0LMYO3mUzMBA7SO +j9iA0vmXxIGsPzf8lRu26odcahKWswRE492MZiTJlul+HWYmun1b0XJz/4YDWL5l ++kUVLnl53o2aHVlTkmPEMg/mwufkxTayJrtl3kL6oun7e6jUjaCRao9eLFZWtGWI +mwQQAQIABgUCUscuQwAKCRBfHshviAyeVYy3A/ig6XKOyU+RC/+4HtFxvL5osE9T +w/9JlY78umlNish7CJo0Sbka4nFipd6Iw/xcYiAQ06TuS5NDwdmcuoZoUpDAqbLP +r/pWpBy9IAUIzAa1UnyvYTDBp2NS3nxcWnzEpXk/dDyYMKX0gUsrDjE9ZTpsKeMq +70Kgq7lPtH6EfekmiQIcBBABAgAGBQJSx12BAAoJEG8PnXiV/JnUMB4QAJu5xu2F +ej5QSiIXlZw8LD/uzx3UEQocQy4eGPtwTxeYogt9FtbdblRYb6Y8qc+Uyk6fLBxB +E+gclk3I2GnKnpqjtdG5utJnAbvynqfgoE81tuC7hjxKYPaqGTJotwX4IsV8MZZN +D6hduw1hxCWsnckS/6jnVrJxThKqlKEnnFqLE14W1WTnKIqh+dXYdnqn+MEMXZhK +7z68TLteASvT1S9i91Kof7gmfe6hL2wbzPAtils6+gJr0ZfxxUTDzFL5hFulypzX +GgW4VemsZLRz6hhevPiWSRIGCG6xO/boGPnlOQt6Fv2mReBiuIidSia9S1G7G8KF +36ya41RrS6157dgAeSGGUOAzGkvamqlJozlTo1dl8eD08x5G2cHKL/H2oviaE1hr +CgZypLuhPisW2Yd99WMndMV+jrbkNXcORVdYQO/T0aP0vA7zNrTv96shcpNoT3q7 +nWDuGvxjOic8sSX/MxR7F+4UqZO9eZGziPnKDrv1fp17CWWmBBvJHWhFXfPF9nPu +vej6q3Eq49pq3oDuIbtV+1GaMKLre1fzMzqyz1hQ+esByOKi/cAH+QzkbXUC4KyL +q45O/UfNR3hYZms36n05729qF+hW6tO2ZGd43k7kSVgYHj55BIr942dzWMvg7BUY +aWQqYiahIfDxfBXz+WvW5gihr8In24L6dYXDiEYEEBECAAYFAlLHhgUACgkQCaei +StHlggeAhgCdG3L6GRFUho2VtUOx+uaGsvj7vvUAoIahAtf5fb8mSfzceNr5neXd +FgnpiEYEEBECAAYFAlLINaMACgkQxLEHmIV5aiNLbgCgoJYeWDcldLWYU1MH+uvo +Ll4ThV0An0PZNMtCd6gwGGhGd9iMRqHzVpQQiQIcBBABCAAGBQJSyoYqAAoJEIvo +ebAocx4cLO8P/jO9GWX7PSI+k21P4NIjSc6VHYv8MMa5H36NWe8wnoUSUr8FKvUh +uLOI1bDamRZBdCWSuMf3gcWNiwVi3FKJqH/tAdjD4Mc9NaL2DJwKgHH3IlSwV+jF +Hz9OvkEzfo8RT0zVkbt61tMhrNCK7wRw/QrjchixNyJH9YIifV2huppwbgHl5YH7 +7wYJ1thhIgyw8kSSKHFi3yJzy2q1qZ6hwcCCkUw2K9VgYV+0Y2plSkkc/OsoBUsU +JSNdCOSAzpwAmFuSpT3YVlwWnknJu0vV5BPUL/dJTeYLbhyxfXWiWDiF1tiBWHMS +KvUJowbW9r2CZ/FQx4V5hXKMfCupuDJpmCvIiDfRPGfuD4+4vJ+EhAp2TEyRL3HX +7BAlQ/95TiS22AhcFqn7Zl+9tS1vUcj4xLmakPQ2REKgBqiUrVDu+GvzZY0A6V6k +J6LNc+ncaLX+B9lYqqMQmxLyRK3JySpHWgC2ZPoyje8GR4ksf0IlvrRufFMj1Qyt +/a8Jc1Z2mXJR3PRrsL7EBDdp7Xl8BGqnjShZgIvKPDt6+nCIqsv13OjWaUBl+CKg +eZcDMt2nZGUfu4KJD6ktJ9nvthrocWxL4dRhFM7s/R9ad1IdmySoBH9SnUuMgM8e +bKQ5FnVqNiy1Z+JrsigPvb671KJ1MA9n2rPaBhY1cNYaaavIbKkBzDDTuQENBFLG +B58BCACe6UEcbxy5q6rIPXZikT4WCg6bw3AtdT/MeLUCmxWhhP9g+T3i0t7zU6bu +Zcw1uFxjnKsMEeDBHwdI0Bg9r5EVtp77GVf1EGrveKvISURlktkBtcezTVRfukEM +mTXBt/3vMGLg+AadFGZTU2ciKdO22AxLBZWVgz0ICoO/ljtvEFokrrzwDoF6ySHX +3Taiq/aMqI/RjIRXXMq6u+/oVC6droj10eZRYXGPMl7og5MRSUU8waV2fYgtfLmw +BtVEFbd0LPO5L1BNgIIMBx1X/QzMeBTldT+XcDSYh9ELfMJoynnVz0smZbeQ2PZ/ +DhGsVsLvJc+cx5cDnBKsPrejCTXBABEBAAGJAR8EGAECAAkFAlLGB58CGwwACgkQ +Yd4R7OJ2OnMzXAf+LxzrPplcEyIDKOoGW21320AwH5NqjInqj49K0gGhOL/xNkfs +C1wsiFFESdN7eL1+aDdk68CF1ClJagDKkH3U5o5PiPSjCsGBoGpdI6f7mRlxbUT2 +jQv0QC9Qav+9t4QcyBC/1BvwO1e7fgrpFLvBrXJpj4utHBP/R3WUo04kAp+sPbVk +tOEByvXAHkDDe0KAG2G9A0dLqF7kfydoSaioFmoJlkAu7LCwFLFbFZ3JRFAaYEQO +DfwkgPDDOA6k9Y1o+nbk/TgyEj7PtpzkiWh0aK5BRI8mjA/s0XNZKpuY1sghyASo +XvRQkAGPLcqS1D4k+kW3MLWpxjbSwGi8FCdsfg== +=d3FT +-----END PGP PUBLIC KEY BLOCK----- + +Type Bits KeyID Created Expires Algorithm Use pub 2048 5207CAD3 2013-01-02 ------- RSA Sign & Encrypt fingerprint: B87D 4569 86F1 9484 07E5 CCB4 3D68 B25D 5207 CAD3 uid Sendmail Signing Key/2013 @@ -2435,4 +2613,4 @@ DnF3FZZEzV7oqPwC2jzv/1dD6GFhtgy0cnyoPGUJ =nES8 -----END PGP PUBLIC KEY BLOCK----- -$Revision: 8.43 $, Last updated $Date: 2013/01/18 17:40:21 $ +$Revision: 8.46 $, Last updated $Date: 2014/01/18 00:20:24 $ Modified: head/contrib/sendmail/README ============================================================================== --- head/contrib/sendmail/README Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/README Sun Jan 26 23:39:11 2014 (r261194) @@ -1,7 +1,7 @@ SENDMAIL RELEASE 8 -This directory has the latest sendmail(TM) software from Sendmail, Inc. +This directory has the latest sendmail(TM) software from Proofpoint, Inc. Report any bugs to sendmail-bugs-YYYY@support.sendmail.org where YYYY is the current year, e.g., 2005. @@ -37,7 +37,7 @@ the latest updates. 4. Read cf/README. -Sendmail is a trademark of Sendmail, Inc. +Sendmail is a trademark of Proofpoint, Inc. US Patent Numbers 6865671, 6986037. +-----------------------+ @@ -465,4 +465,4 @@ sendmail Source for the sendmail program test Some test scripts (currently only for compilation aids). vacation Source for the vacation program. NOT PART OF SENDMAIL! -$Revision: 8.95 $, Last updated $Date: 2009/04/10 17:49:18 $ +$Revision: 8.96 $, Last updated $Date: 2013/11/22 20:51:01 $ Modified: head/contrib/sendmail/RELEASE_NOTES ============================================================================== --- head/contrib/sendmail/RELEASE_NOTES Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/RELEASE_NOTES Sun Jan 26 23:39:11 2014 (r261194) @@ -1,11 +1,58 @@ SENDMAIL RELEASE NOTES - $Id: RELEASE_NOTES,v 8.2024 2013/04/19 15:01:58 ca Exp $ + $Id: RELEASE_NOTES,v 8.2043 2014/01/23 20:27:19 ca Exp $ This listing shows the version of the sendmail binary, the version of the sendmail configuration files, the date of release, and a summary of the changes in that release. +8.14.8/8.14.8 2014/01/26 + Properly initialize all OpenSSL algorithms for versions before + OpenSSL 0.9.8o. Without this SHA2 algorithms may not + work properly, causing for example failures for certs + that use sha256WithRSAEncryption as signature algorithm. + When looking up hostnames, ensure only to return those records + for the requested family (AF_INET or AF_INET6). + On system that have NEEDSGETIPNODE and NETINET6 + this may have failed and cause delivery problems. + Problem noted by Kees Cook. + A new mailer flag '!' is available to suppress an MH hack + that drops an explicit From: header if it is the + same as what sendmail would generate. + Add an FFR (for future release) to use uncompressed IPv6 addresses, + i.e., they will not contain "::". For example, instead + of ::1 it will be 0:0:0:0:0:0:0:1. This means that + configuration data (including maps, files, classes, + custom ruleset, etc) have to use the same format. + This will be turned on in 8.15. It can be enabled in 8.14 + by compiling with: + APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_IPV6_FULL') + in your devtools/Site/site.config.m4 file. + Add an additional case for the WorkAroundBrokenAAAA check when + dealing with broken nameservers by ignoring SERVFAIL + errors returned on T_AAAA (IPv6) lookups at delivery time. + Problem noted by Pavel Timofeev of OCS. + If available, pass LOGIN_SETCPUMASK and LOGIN_SETLOGINCLASS to + setusercontext() on deliveries as a different user. + Patch from Edward Tomasz Napierala from FreeBSD. + Avoid compiler warnings from a change in Cyrus-SASL 2.1.25. + Patch from Hajimu UMEMOTO from FreeBSD. + Add support for DHParameters 2048-bit primes. + CONFIG: Accept IPv6 literals when evaluating the HELO/EHLO argument + in FEATURE(`block_bad_helo'). Suggested by Andrey Chernov. + LIBSMDB: Add a missing check for malloc() in libsmdb/smndbm.c. + Patch from Bill Parker. + LIBSMDB: Fix minor memory leaks in libsmdb/ if allocations + fail. Patch from John Beck of Oracle. + Portability: + Add support for Darwin 12.x and 13.x (Mac OS X 10.8 and 10.9). + On Linux use socklen_t as the type for the 3rd argument + for getsockname/getpeername if the glibc version is at + least 2.1. + Added Files: + devtools/OS/Darwin.12.x + devtools/OS/Darwin.13.x + 8.14.7/8.14.7 2013/04/21 Drop support for IPv4-mapped IPv6 addresses to prevent the MTA from using a mapped address over a legitimate IPv6 address @@ -80,9 +127,12 @@ summary of the changes in that release. the reason for the failure in a single log line. Suggested by James Carey of Boeing. Portability: - Add support for Darwin 11.x and 12.x (Mac OS X 10.7 and 10.8). + Add support for Darwin 11.x (Mac OS X 10.7). Add support for SunOS 5.12 (aka Solaris 12). Patch from John Beck of Oracle. + Added Files: + devtools/OS/Darwin.11.x + devtools/OS/SunOS.5.12 8.14.5/8.14.5 2011/05/17 Do not cache SMTP extensions across connections as the cache Modified: head/contrib/sendmail/cf/README ============================================================================== --- head/contrib/sendmail/cf/README Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/README Sun Jan 26 23:39:11 2014 (r261194) @@ -77,7 +77,7 @@ Let's examine a typical .mc file: divert(-1) # - # Copyright (c) 1998-2005 Sendmail, Inc. and its suppliers. + # Copyright (c) 1998-2005 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -1402,6 +1402,9 @@ preserve_local_plus_detail that address will be looked up in the alias file; user+* and user will not be looked up). Only use if the local delivery agent in use supports +detail addressing. + Moreover, this will most likely not work if the 'w' flag + for the local mailer is set as the entire local address + including +detail is passed to the user lookup function. compat_check Enable ruleset check_compat to look up pairs of addresses with the Compat: tag -- Compat:sender<@>recipient -- in the @@ -4701,4 +4704,4 @@ M4 DIVERSIONS 8 DNS based blacklists 9 special local rulesets (1 and 2) -$Revision: 8.728 $, Last updated $Date: 2012/09/07 16:29:13 $ +$Revision: 8.730 $, Last updated $Date: 2014/01/16 15:55:51 $ Modified: head/contrib/sendmail/cf/cf/chez.cs.mc ============================================================================== --- head/contrib/sendmail/cf/cf/chez.cs.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/chez.cs.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -24,7 +24,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: chez.cs.mc,v 8.14 1999/02/07 07:25:59 gshapiro Exp $') +VERSIONID(`$Id: chez.cs.mc,v 8.15 2013/11/22 20:51:08 ca Exp $') OSTYPE(bsd4.4)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/clientproto.mc ============================================================================== --- head/contrib/sendmail/cf/cf/clientproto.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/clientproto.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998-2000 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: clientproto.mc,v 8.16 2000/03/21 21:05:26 ca Exp $') +VERSIONID(`$Id: clientproto.mc,v 8.17 2013/11/22 20:51:08 ca Exp $') OSTYPE(unknown) FEATURE(nullclient, mailhost.$m) Modified: head/contrib/sendmail/cf/cf/cs-hpux10.mc ============================================================================== --- head/contrib/sendmail/cf/cf/cs-hpux10.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/cs-hpux10.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: cs-hpux10.mc,v 8.13 1999/02/07 07:26:00 gshapiro Exp $') +VERSIONID(`$Id: cs-hpux10.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(hpux10)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/cs-hpux9.mc ============================================================================== --- head/contrib/sendmail/cf/cf/cs-hpux9.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/cs-hpux9.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: cs-hpux9.mc,v 8.14 1999/02/07 07:26:00 gshapiro Exp $') +VERSIONID(`$Id: cs-hpux9.mc,v 8.15 2013/11/22 20:51:08 ca Exp $') OSTYPE(hpux9)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/cs-osf1.mc ============================================================================== --- head/contrib/sendmail/cf/cf/cs-osf1.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/cs-osf1.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: cs-osf1.mc,v 8.13 1999/02/07 07:26:00 gshapiro Exp $') +VERSIONID(`$Id: cs-osf1.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(osf1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/cs-solaris2.mc ============================================================================== --- head/contrib/sendmail/cf/cf/cs-solaris2.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/cs-solaris2.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: cs-solaris2.mc,v 8.12 1999/02/07 07:26:00 gshapiro Exp $') +VERSIONID(`$Id: cs-solaris2.mc,v 8.13 2013/11/22 20:51:08 ca Exp $') OSTYPE(solaris2)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/cs-sunos4.1.mc ============================================================================== --- head/contrib/sendmail/cf/cf/cs-sunos4.1.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/cs-sunos4.1.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: cs-sunos4.1.mc,v 8.13 1999/02/07 07:26:01 gshapiro Exp $') +VERSIONID(`$Id: cs-sunos4.1.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(sunos4.1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/cs-ultrix4.mc ============================================================================== --- head/contrib/sendmail/cf/cf/cs-ultrix4.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/cs-ultrix4.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: cs-ultrix4.mc,v 8.13 1999/02/07 07:26:02 gshapiro Exp $') +VERSIONID(`$Id: cs-ultrix4.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(ultrix4)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-bsd4.4.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-bsd4.4.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-bsd4.4.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -21,7 +21,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-bsd4.4.mc,v 8.10 1999/02/07 07:26:02 gshapiro Exp $') +VERSIONID(`$Id: generic-bsd4.4.mc,v 8.11 2013/11/22 20:51:08 ca Exp $') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-hpux10.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-hpux10.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-hpux10.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999, 2001 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999, 2001 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-hpux10.mc,v 8.13 2001/05/29 17:29:52 ca Exp $') +VERSIONID(`$Id: generic-hpux10.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(hpux10)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-hpux9.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-hpux9.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-hpux9.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-hpux9.mc,v 8.11 1999/02/07 07:26:02 gshapiro Exp $') +VERSIONID(`$Id: generic-hpux9.mc,v 8.12 2013/11/22 20:51:08 ca Exp $') OSTYPE(hpux9)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-linux.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-linux.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-linux.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $') +VERSIONID(`$Id: generic-linux.mc,v 8.2 2013/11/22 20:51:08 ca Exp $') OSTYPE(linux)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-mpeix.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-mpeix.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-mpeix.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 2001 Sendmail, Inc. and its suppliers. +# Copyright (c) 2001 Proofpoint, Inc. and its suppliers. # All rights reserved. # # By using this file, you agree to the terms and conditions set @@ -17,7 +17,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-mpeix.mc,v 8.1 2001/12/13 23:56:37 gshapiro Exp $') +VERSIONID(`$Id: generic-mpeix.mc,v 8.2 2013/11/22 20:51:08 ca Exp $') OSTYPE(mpeix)dnl DOMAIN(generic)dnl define(`confFORWARD_PATH', `$z/.forward')dnl Modified: head/contrib/sendmail/cf/cf/generic-nextstep3.3.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-nextstep3.3.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-nextstep3.3.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-nextstep3.3.mc,v 8.10 1999/02/07 07:26:02 gshapiro Exp $') +VERSIONID(`$Id: generic-nextstep3.3.mc,v 8.11 2013/11/22 20:51:08 ca Exp $') OSTYPE(nextstep)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-osf1.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-osf1.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-osf1.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-osf1.mc,v 8.11 1999/02/07 07:26:02 gshapiro Exp $') +VERSIONID(`$Id: generic-osf1.mc,v 8.12 2013/11/22 20:51:08 ca Exp $') OSTYPE(osf1)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-solaris.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-solaris.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-solaris.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999, 2001 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999, 2001 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -22,7 +22,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-solaris.mc,v 8.13 2001/06/27 21:46:30 gshapiro Exp $') +VERSIONID(`$Id: generic-solaris.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(solaris2)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-sunos4.1.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-sunos4.1.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-sunos4.1.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-sunos4.1.mc,v 8.11 1999/02/07 07:26:03 gshapiro Exp $') +VERSIONID(`$Id: generic-sunos4.1.mc,v 8.12 2013/11/22 20:51:08 ca Exp $') OSTYPE(sunos4.1)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/generic-ultrix4.mc ============================================================================== --- head/contrib/sendmail/cf/cf/generic-ultrix4.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/generic-ultrix4.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -20,7 +20,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: generic-ultrix4.mc,v 8.11 1999/02/07 07:26:03 gshapiro Exp $') +VERSIONID(`$Id: generic-ultrix4.mc,v 8.12 2013/11/22 20:51:08 ca Exp $') OSTYPE(ultrix4)dnl DOMAIN(generic)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/huginn.cs.mc ============================================================================== --- head/contrib/sendmail/cf/cf/huginn.cs.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/huginn.cs.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -22,7 +22,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: huginn.cs.mc,v 8.15 1999/02/07 07:26:03 gshapiro Exp $') +VERSIONID(`$Id: huginn.cs.mc,v 8.16 2013/11/22 20:51:08 ca Exp $') OSTYPE(hpux9)dnl DOMAIN(CS.Berkeley.EDU)dnl MASQUERADE_AS(CS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/knecht.mc ============================================================================== --- head/contrib/sendmail/cf/cf/knecht.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/knecht.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998-2001, 2004, 2005 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998-2001, 2004, 2005 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -19,7 +19,7 @@ divert(-1) # divert(0) -VERSIONID(`$Id: knecht.mc,v 8.62 2006/09/27 19:48:59 eric Exp $') +VERSIONID(`$Id: knecht.mc,v 8.63 2013/11/22 20:51:08 ca Exp $') OSTYPE(bsd4.4) DOMAIN(generic) Modified: head/contrib/sendmail/cf/cf/mail.cs.mc ============================================================================== --- head/contrib/sendmail/cf/cf/mail.cs.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/mail.cs.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -22,7 +22,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: mail.cs.mc,v 8.18 1999/02/07 07:26:04 gshapiro Exp $') +VERSIONID(`$Id: mail.cs.mc,v 8.19 2013/11/22 20:51:08 ca Exp $') OSTYPE(ultrix4)dnl DOMAIN(Berkeley.EDU)dnl MASQUERADE_AS(CS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/mail.eecs.mc ============================================================================== --- head/contrib/sendmail/cf/cf/mail.eecs.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/mail.eecs.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -22,7 +22,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: mail.eecs.mc,v 8.18 1999/02/07 07:26:04 gshapiro Exp $') +VERSIONID(`$Id: mail.eecs.mc,v 8.19 2013/11/22 20:51:08 ca Exp $') OSTYPE(ultrix4)dnl DOMAIN(EECS.Berkeley.EDU)dnl MASQUERADE_AS(EECS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/mailspool.cs.mc ============================================================================== --- head/contrib/sendmail/cf/cf/mailspool.cs.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/mailspool.cs.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -24,7 +24,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: mailspool.cs.mc,v 8.12 1999/02/07 07:26:04 gshapiro Exp $') +VERSIONID(`$Id: mailspool.cs.mc,v 8.13 2013/11/22 20:51:08 ca Exp $') OSTYPE(sunos4.1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/python.cs.mc ============================================================================== --- head/contrib/sendmail/cf/cf/python.cs.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/python.cs.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -24,7 +24,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: python.cs.mc,v 8.12 1999/02/07 07:26:04 gshapiro Exp $') +VERSIONID(`$Id: python.cs.mc,v 8.13 2013/11/22 20:51:08 ca Exp $') OSTYPE(bsd4.4)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl Modified: head/contrib/sendmail/cf/cf/s2k-osf1.mc ============================================================================== --- head/contrib/sendmail/cf/cf/s2k-osf1.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/s2k-osf1.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: s2k-osf1.mc,v 8.13 1999/02/07 07:26:04 gshapiro Exp $') +VERSIONID(`$Id: s2k-osf1.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(osf1)dnl DOMAIN(S2K.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/s2k-ultrix4.mc ============================================================================== --- head/contrib/sendmail/cf/cf/s2k-ultrix4.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/s2k-ultrix4.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -23,7 +23,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: s2k-ultrix4.mc,v 8.13 1999/02/07 07:26:04 gshapiro Exp $') +VERSIONID(`$Id: s2k-ultrix4.mc,v 8.14 2013/11/22 20:51:08 ca Exp $') OSTYPE(ultrix4)dnl DOMAIN(S2K.Berkeley.EDU)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/submit.cf ============================================================================== --- head/contrib/sendmail/cf/cf/submit.cf Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/submit.cf Sun Jan 26 23:39:11 2014 (r261194) @@ -1,5 +1,5 @@ # -# Copyright (c) 1998-2004, 2009, 2010 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998-2004, 2009, 2010 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983, 1995 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -16,8 +16,8 @@ ##### ##### SENDMAIL CONFIGURATION FILE ##### -##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013 -##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf +##### built by ca@lab.smi.sendmail.com on Thu Jan 23 12:29:13 PST 2014 +##### in /home/ca/sm8-rel/sm-8.14.8/OpenSource/sendmail-8.14.8/cf/cf ##### using ../ as configuration include directory ##### ###################################################################### @@ -27,15 +27,15 @@ ###################################################################### ###################################################################### -##### $Id: cfhead.m4,v 8.121 2010/01/07 18:20:19 ca Exp $ ##### -##### $Id: cf.m4,v 8.32 1999/02/07 07:26:14 gshapiro Exp $ ##### -##### $Id: submit.mc,v 8.14 2006/04/05 05:54:41 ca Exp $ ##### -##### $Id: msp.m4,v 1.33 2004/02/09 22:32:38 ca Exp $ ##### +##### $Id: cfhead.m4,v 8.122 2013/11/22 20:51:13 ca Exp $ ##### +##### $Id: cf.m4,v 8.33 2013/11/22 20:51:13 ca Exp $ ##### +##### $Id: submit.mc,v 8.15 2013/11/22 20:51:08 ca Exp $ ##### +##### $Id: msp.m4,v 1.34 2013/11/22 20:51:11 ca Exp $ ##### -##### $Id: no_default_msa.m4,v 8.2 2001/02/14 05:03:22 gshapiro Exp $ ##### +##### $Id: no_default_msa.m4,v 8.3 2013/11/22 20:51:11 ca Exp $ ##### -##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ ##### +##### $Id: proto.m4,v 8.762 2013/11/22 20:51:13 ca Exp $ ##### # level 10 config file format V10/Berkeley @@ -114,7 +114,7 @@ D{MTAHost}[127.0.0.1] # Configuration version number -DZ8.14.7/Submit +DZ8.14.8/Submit ############### @@ -1299,7 +1299,7 @@ R$* $#relay $@ ${MTAHost} $: $1 < @ $j ### Local and Program Mailer specification ### ################################################## -##### $Id: local.m4,v 8.59 2004/11/23 00:37:25 ca Exp $ ##### +##### $Id: local.m4,v 8.60 2013/11/22 20:51:14 ca Exp $ ##### # # Envelope sender rewriting @@ -1351,7 +1351,7 @@ Mprog, P=[IPC], F=lmDFMuXk5, S=EnvFromL ### SMTP Mailer specification ### ##################################### -##### $Id: smtp.m4,v 8.65 2006/07/12 21:08:10 ca Exp $ ##### +##### $Id: smtp.m4,v 8.66 2013/11/22 20:51:14 ca Exp $ ##### # # common sender and masquerading recipient rewriting @@ -1442,7 +1442,7 @@ Mrelay, P=[IPC], F=mDFMuXa8k, S=EnvFrom ### submit.mc ### # divert(-1) # # -# # Copyright (c) 2001-2003 Sendmail, Inc. and its suppliers. +# # Copyright (c) 2001-2003 Proofpoint, Inc. and its suppliers. # # All rights reserved. # # # # By using this file, you agree to the terms and conditions set @@ -1457,7 +1457,7 @@ Mrelay, P=[IPC], F=mDFMuXa8k, S=EnvFrom # # # # divert(0)dnl -# VERSIONID(`$Id: submit.mc,v 8.14 2006/04/05 05:54:41 ca Exp $') +# VERSIONID(`$Id: submit.mc,v 8.15 2013/11/22 20:51:08 ca Exp $') # define(`confCF_VERSION', `Submit')dnl # define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining # define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet Modified: head/contrib/sendmail/cf/cf/submit.mc ============================================================================== --- head/contrib/sendmail/cf/cf/submit.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/submit.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 2001-2003 Sendmail, Inc. and its suppliers. +# Copyright (c) 2001-2003 Proofpoint, Inc. and its suppliers. # All rights reserved. # # By using this file, you agree to the terms and conditions set @@ -15,7 +15,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: submit.mc,v 8.14 2006/04/05 05:54:41 ca Exp $') +VERSIONID(`$Id: submit.mc,v 8.15 2013/11/22 20:51:08 ca Exp $') define(`confCF_VERSION', `Submit')dnl define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet Modified: head/contrib/sendmail/cf/cf/tcpproto.mc ============================================================================== --- head/contrib/sendmail/cf/cf/tcpproto.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/tcpproto.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998-2000 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -26,7 +26,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: tcpproto.mc,v 8.14 2000/08/03 15:26:50 ca Exp $') +VERSIONID(`$Id: tcpproto.mc,v 8.15 2013/11/22 20:51:08 ca Exp $') OSTYPE(`unknown') FEATURE(`nouucp', `reject') MAILER(`local') Modified: head/contrib/sendmail/cf/cf/ucbarpa.mc ============================================================================== --- head/contrib/sendmail/cf/cf/ucbarpa.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/ucbarpa.mc Sun Jan 26 23:39:11 2014 (r261194) @@ -1,6 +1,6 @@ divert(-1) # -# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +# Copyright (c) 1998, 1999 Proofpoint, Inc. and its suppliers. # All rights reserved. # Copyright (c) 1983 Eric P. Allman. All rights reserved. # Copyright (c) 1988, 1993 @@ -21,7 +21,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`$Id: ucbarpa.mc,v 8.12 1999/02/07 07:26:05 gshapiro Exp $') +VERSIONID(`$Id: ucbarpa.mc,v 8.13 2013/11/22 20:51:08 ca Exp $') DOMAIN(CS.Berkeley.EDU)dnl OSTYPE(bsd4.4)dnl MAILER(local)dnl Modified: head/contrib/sendmail/cf/cf/ucbvax.mc ============================================================================== --- head/contrib/sendmail/cf/cf/ucbvax.mc Sun Jan 26 22:49:24 2014 (r261193) +++ head/contrib/sendmail/cf/cf/ucbvax.mc Sun Jan 26 23:39:11 2014 (r261194) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:40:32 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 21F8AF05; Sun, 26 Jan 2014 23:40:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0E45817F7; Sun, 26 Jan 2014 23:40:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNeVVZ095117; Sun, 26 Jan 2014 23:40:31 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNeVWp095116; Sun, 26 Jan 2014 23:40:31 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262340.s0QNeVWp095116@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:40:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261195 - head/lib/libsm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:40:32 -0000 Author: gshapiro Date: Sun Jan 26 23:40:31 2014 New Revision: 261195 URL: http://svnweb.freebsd.org/changeset/base/261195 Log: Add new sendmail 8.14.8 file MFC after: 5 days Modified: head/lib/libsm/Makefile Modified: head/lib/libsm/Makefile ============================================================================== --- head/lib/libsm/Makefile Sun Jan 26 23:39:11 2014 (r261194) +++ head/lib/libsm/Makefile Sun Jan 26 23:40:31 2014 (r261195) @@ -31,7 +31,7 @@ SRCS+= assert.c debug.c errstring.c exc. wbuf.c wsetup.c string.c stringf.c \ xtrap.c strto.c test.c path.c strcasecmp.c strrevcmp.c \ signal.c clock.c config.c sem.c shm.c mbdb.c strexit.c cf.c ldap.c \ - niprop.c mpeix.c memstat.c util.c + niprop.c mpeix.c memstat.c util.c inet6_ntop.c CLEANFILES+=sm_os.h INTERNALLIB= From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:42:40 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AC936107; Sun, 26 Jan 2014 23:42:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 97DEC1876; Sun, 26 Jan 2014 23:42:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNge0b097621; Sun, 26 Jan 2014 23:42:40 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNgeMo097620; Sun, 26 Jan 2014 23:42:40 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262342.s0QNgeMo097620@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:42:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261196 - head/contrib/sendmail/include/sm/os X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:42:40 -0000 Author: gshapiro Date: Sun Jan 26 23:42:40 2014 New Revision: 261196 URL: http://svnweb.freebsd.org/changeset/base/261196 Log: Remove local FreeBSD workaround now that upstream project has a better fix. MFC after: 5 days Modified: head/contrib/sendmail/include/sm/os/sm_os_freebsd.h Modified: head/contrib/sendmail/include/sm/os/sm_os_freebsd.h ============================================================================== --- head/contrib/sendmail/include/sm/os/sm_os_freebsd.h Sun Jan 26 23:40:31 2014 (r261195) +++ head/contrib/sendmail/include/sm/os/sm_os_freebsd.h Sun Jan 26 23:42:40 2014 (r261196) @@ -39,7 +39,3 @@ #ifndef SM_CONF_MSG # define SM_CONF_MSG 1 #endif /* SM_CONF_MSG */ - -#ifndef SM_IPNODEBYNAME_FLAGS -# define SM_IPNODEBYNAME_FLAGS AI_DEFAULT|AI_ALL -#endif /* SM_IPNODEBYNAME_FLAGS */ From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:44:12 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DFAD725A; Sun, 26 Jan 2014 23:44:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CB94C1886; Sun, 26 Jan 2014 23:44:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNiCO4097864; Sun, 26 Jan 2014 23:44:12 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNiCw4097863; Sun, 26 Jan 2014 23:44:12 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262344.s0QNiCw4097863@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:44:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261197 - head/contrib/sendmail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:44:12 -0000 Author: gshapiro Date: Sun Jan 26 23:44:12 2014 New Revision: 261197 URL: http://svnweb.freebsd.org/changeset/base/261197 Log: Update for sendmail 8.14.8 import MFC after: 5 days Modified: head/contrib/sendmail/FREEBSD-upgrade Modified: head/contrib/sendmail/FREEBSD-upgrade ============================================================================== --- head/contrib/sendmail/FREEBSD-upgrade Sun Jan 26 23:42:40 2014 (r261196) +++ head/contrib/sendmail/FREEBSD-upgrade Sun Jan 26 23:44:12 2014 (r261197) @@ -1,6 +1,6 @@ $FreeBSD$ -sendmail 8.14.7 +sendmail 8.14.8 originals can be found at: ftp://ftp.sendmail.org/pub/sendmail/ For the import of sendmail, the following directories were renamed: @@ -97,4 +97,4 @@ infrastructure in FreeBSD: usr.sbin/mailwrapper/Makefile gshapiro@FreeBSD.org -21-April-2013 +26-January-2014 From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:47:04 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3A88A493; Sun, 26 Jan 2014 23:47:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0C54A18A0; Sun, 26 Jan 2014 23:47:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNl3fm098302; Sun, 26 Jan 2014 23:47:03 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNl3CY098301; Sun, 26 Jan 2014 23:47:03 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262347.s0QNl3CY098301@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:47:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261198 - head/contrib/sendmail/libsm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:47:04 -0000 Author: gshapiro Date: Sun Jan 26 23:47:03 2014 New Revision: 261198 URL: http://svnweb.freebsd.org/changeset/base/261198 Log: Add missing svn:keywords property to new files MFC after: 5 days Modified: Directory Properties: head/contrib/sendmail/libsm/inet6_ntop.c (props changed) head/contrib/sendmail/libsm/t-fget.c (props changed) head/contrib/sendmail/libsm/t-inet6_ntop.c (props changed) From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:51:17 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B2FF606; Sun, 26 Jan 2014 23:51:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8757B18BD; Sun, 26 Jan 2014 23:51:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNpH7u099744; Sun, 26 Jan 2014 23:51:17 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNpHvU099742; Sun, 26 Jan 2014 23:51:17 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262351.s0QNpHvU099742@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:51:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261199 - head/etc/sendmail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:51:17 -0000 Author: gshapiro Date: Sun Jan 26 23:51:16 2014 New Revision: 261199 URL: http://svnweb.freebsd.org/changeset/base/261199 Log: Minor changes to force commit these files so new freebsd*.cf files are built to use the new sendmail-8.14.8/cf tree. MFC after: 5 days Modified: head/etc/sendmail/freebsd.mc head/etc/sendmail/freebsd.submit.mc Modified: head/etc/sendmail/freebsd.mc ============================================================================== --- head/etc/sendmail/freebsd.mc Sun Jan 26 23:47:03 2014 (r261198) +++ head/etc/sendmail/freebsd.mc Sun Jan 26 23:51:16 2014 (r261199) @@ -33,6 +33,7 @@ divert(-1) # SUCH DAMAGE. # + # # This is a generic configuration file for FreeBSD 6.X and later systems. # If you want to customize it, copy it to a name appropriate for your Modified: head/etc/sendmail/freebsd.submit.mc ============================================================================== --- head/etc/sendmail/freebsd.submit.mc Sun Jan 26 23:47:03 2014 (r261198) +++ head/etc/sendmail/freebsd.submit.mc Sun Jan 26 23:51:16 2014 (r261199) @@ -9,6 +9,7 @@ divert(-1) # # + # # This is the FreeBSD configuration for a set-group-ID sm-msp sendmail # that acts as a initial mail submission program. From owner-svn-src-head@FreeBSD.ORG Sun Jan 26 23:55:35 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BEEEA95D; Sun, 26 Jan 2014 23:55:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A9B541957; Sun, 26 Jan 2014 23:55:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0QNtZPY002160; Sun, 26 Jan 2014 23:55:35 GMT (envelope-from gshapiro@svn.freebsd.org) Received: (from gshapiro@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0QNtZAL002159; Sun, 26 Jan 2014 23:55:35 GMT (envelope-from gshapiro@svn.freebsd.org) Message-Id: <201401262355.s0QNtZAL002159@svn.freebsd.org> From: Gregory Neil Shapiro Date: Sun, 26 Jan 2014 23:55:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261200 - head/release/doc/en_US.ISO8859-1/relnotes X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 23:55:35 -0000 Author: gshapiro Date: Sun Jan 26 23:55:35 2014 New Revision: 261200 URL: http://svnweb.freebsd.org/changeset/base/261200 Log: Note merge to head for sendmail 8.14.8. MFC after: 5 days Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Jan 26 23:51:16 2014 (r261199) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Jan 26 23:55:35 2014 (r261200) @@ -256,6 +256,9 @@ &man.jemalloc.3; has been updated to version 3.5.0. + + sendmail has been + updated from 8.14.7 to 8.14.8. From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 11:10:07 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F22DA66E; Mon, 27 Jan 2014 11:10:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DE0BD1D0E; Mon, 27 Jan 2014 11:10:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RBA62q065099; Mon, 27 Jan 2014 11:10:06 GMT (envelope-from rodrigo@svn.freebsd.org) Received: (from rodrigo@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RBA6iS065098; Mon, 27 Jan 2014 11:10:06 GMT (envelope-from rodrigo@svn.freebsd.org) Message-Id: <201401271110.s0RBA6iS065098@svn.freebsd.org> From: Rodrigo Osorio Date: Mon, 27 Jan 2014 11:10:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261209 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 11:10:07 -0000 Author: rodrigo (ports committer) Date: Mon Jan 27 11:10:06 2014 New Revision: 261209 URL: http://svnweb.freebsd.org/changeset/base/261209 Log: Add myself as a developer Add bapt@ and kwm@ as mentors Approved by: kwm@ (co-mentor) Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Mon Jan 27 09:33:30 2014 (r261208) +++ head/share/misc/committers-ports.dot Mon Jan 27 11:10:06 2014 (r261209) @@ -183,6 +183,7 @@ rene [label="Rene Ladan\nrene@FreeBSD.or riggs [label="Thomas Zander\nriggs@FreeBSD.org\n2014/01/09"] rm [label="Ruslan Makhmatkhanov\nrm@FreeBSD.org\n2011/11/06"] rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"] +rodrigo [label="Rodrigo Osorio\nrodrigo@FreeBSD.org\n2014/01/15"] romain [label="Romain Tartiere\nromain@FreeBSD.org\n2010/01/24"] sahil [label="Sahil Tandon\nsahil@FreeBSD.org\n2010/04/11"] sat [label="Andrew Pantyukhin\nsat@FreeBSD.org\n2006/05/06"] @@ -258,6 +259,7 @@ bapt -> eadler bapt -> jlaffaye bapt -> marius bapt -> marino +bapt -> rodrigo beat -> decke beat -> marius @@ -392,6 +394,7 @@ krion -> sem krion -> sergei kwm -> jsa +kwm -> rodrigo kwm -> zeising lawrance -> itetcu From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 11:23:55 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B69D521F; Mon, 27 Jan 2014 11:23:55 +0000 (UTC) Received: from mail.ipfw.ru (mail.ipfw.ru [IPv6:2a01:4f8:120:6141::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 766721E64; Mon, 27 Jan 2014 11:23:55 +0000 (UTC) Received: from [2a02:6b8:0:401:222:4dff:fe50:cd2f] (helo=ptichko.yndx.net) by mail.ipfw.ru with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.76 (FreeBSD)) (envelope-from ) id 1W7gS3-000IZp-3J; Mon, 27 Jan 2014 11:17:47 +0400 Message-ID: <52E640F8.8000401@FreeBSD.org> Date: Mon, 27 Jan 2014 15:20:24 +0400 From: "Alexander V. Chernikov" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 MIME-Version: 1.0 To: "Bjoern A. Zeeb" Subject: Re: svn commit: r260882 - in head/sys: netinet netinet6 References: <201401191607.s0JG7SsM084760@svn.freebsd.org> <7C61BA64-179B-492E-A07A-795BFBA43B8F@FreeBSD.org> In-Reply-To: <7C61BA64-179B-492E-A07A-795BFBA43B8F@FreeBSD.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 11:23:55 -0000 On 19.01.2014 21:33, Bjoern A. Zeeb wrote: > On 19 Jan 2014, at 16:07 , Alexander V. Chernikov wrote: > >> Author: melifaro >> Date: Sun Jan 19 16:07:27 2014 >> New Revision: 260882 >> URL: http://svnweb.freebsd.org/changeset/base/260882 >> >> Log: >> Further rework netinet6 address handling code: >> * Set ia address/mask values BEFORE attaching to address lists. >> Inet6 address assignment is not atomic, so the simplest way to >> do this atomically is to fill in ia before attach. >> * Validate irfa->ia_addr field before use (we permit ANY sockaddr in old code). >> * Do some renamings: >> in6_ifinit -> in6_notify_ifa (interaction with other subsystems is here) >> in6_setup_ifa -> in6_broadcast_ifa (LLE/Multicast/DaD code) > Broadcast is a not exactly a good name with IPv6. Yes, true. s/broadcast/multicast/ ? Anyway, I'm happy with any other naming. > >> in6_ifaddloop -> nd6_add_ifa_lle >> in6_ifremloop -> nd6_rem_ifa_lle >> * Split working with LLE and route announce code for last two. >> Add temporary in6_newaddrmsg() function to mimic current rtsock behaviour. >> * Call device SIOCSIFADDR handler IFF we're adding first address. >> In IPv4 we have to call it on every address change since ARP record >> is installed by arp_ifinit() which is called by given handler. >> IPv6 stack, on the opposite is responsible to call nd6_add_ifa_lle() so >> there is no reason to call SIOCSIFADDR often. >> >> Modified: >> head/sys/netinet/ip_carp.c >> head/sys/netinet6/in6.c >> head/sys/netinet6/in6_var.h >> head/sys/netinet6/nd6.c >> head/sys/netinet6/nd6.h > — > Bjoern A. Zeeb ????????? ??? ??????? ??????: > '??? ??? ???? ?????? ??????? ?? ?? ??????? ??????? ??? ????? ????? ???? > ?????? ?? ????? ????', ????????? ?????????, "??? ????? ?? ?????", ?.??? > > From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 17:31:22 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9AE01E6; Mon, 27 Jan 2014 17:31:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 877CD1EF3; Mon, 27 Jan 2014 17:31:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RHVMTk015498; Mon, 27 Jan 2014 17:31:22 GMT (envelope-from jmg@svn.freebsd.org) Received: (from jmg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RHVM1d015495; Mon, 27 Jan 2014 17:31:22 GMT (envelope-from jmg@svn.freebsd.org) Message-Id: <201401271731.s0RHVM1d015495@svn.freebsd.org> From: John-Mark Gurney Date: Mon, 27 Jan 2014 17:31:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261211 - head/sys/arm/ti X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 17:31:22 -0000 Author: jmg Date: Mon Jan 27 17:31:21 2014 New Revision: 261211 URL: http://svnweb.freebsd.org/changeset/base/261211 Log: fix args to mtx_init Note that this commit hasn't been compile tested because these files are not hooked up to the build... PR: 186129 Submitted by: Takanori Sawada Approved by: rpaulo Modified: head/sys/arm/ti/ti_mbox.c head/sys/arm/ti/ti_pruss.c Modified: head/sys/arm/ti/ti_mbox.c ============================================================================== --- head/sys/arm/ti/ti_mbox.c Mon Jan 27 13:28:55 2014 (r261210) +++ head/sys/arm/ti/ti_mbox.c Mon Jan 27 17:31:21 2014 (r261211) @@ -140,7 +140,7 @@ ti_mbox_attach(device_t dev) } sc = device_get_softc(dev); rid = 0; - mtx_init(&sc->sc_mtx, "TI mbox", MTX_DEF, 0); + mtx_init(&sc->sc_mtx, "TI mbox", NULL, MTX_DEF); sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); if (sc->sc_mem_res == NULL) { Modified: head/sys/arm/ti/ti_pruss.c ============================================================================== --- head/sys/arm/ti/ti_pruss.c Mon Jan 27 13:28:55 2014 (r261210) +++ head/sys/arm/ti/ti_pruss.c Mon Jan 27 17:31:21 2014 (r261211) @@ -166,7 +166,7 @@ ti_pruss_attach(device_t dev) } sc = device_get_softc(dev); rid = 0; - mtx_init(&sc->sc_mtx, "TI PRUSS", MTX_DEF, 0); + mtx_init(&sc->sc_mtx, "TI PRUSS", NULL, MTX_DEF); sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); if (sc->sc_mem_res == NULL) { From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 17:47:26 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2D9885AC; Mon, 27 Jan 2014 17:47:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 175D41FD9; Mon, 27 Jan 2014 17:47:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RHlQ4h020458; Mon, 27 Jan 2014 17:47:26 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RHlLp5020429; Mon, 27 Jan 2014 17:47:21 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201401271747.s0RHlLp5020429@svn.freebsd.org> From: "Simon J. Gerraty" Date: Mon, 27 Jan 2014 17:47:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261212 - in head: contrib/bmake contrib/bmake/lst.lib contrib/bmake/mk usr.bin/bmake X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 17:47:26 -0000 Author: sjg Date: Mon Jan 27 17:47:21 2014 New Revision: 261212 URL: http://svnweb.freebsd.org/changeset/base/261212 Log: Merge bmake-20140101 from vendor Modified: head/contrib/bmake/ChangeLog head/contrib/bmake/Makefile head/contrib/bmake/Makefile.config.in head/contrib/bmake/bmake.1 head/contrib/bmake/bmake.cat1 head/contrib/bmake/boot-strap head/contrib/bmake/compat.c head/contrib/bmake/configure head/contrib/bmake/configure.in head/contrib/bmake/hash.c head/contrib/bmake/lst.lib/lstMember.c head/contrib/bmake/main.c head/contrib/bmake/make-bootstrap.sh.in head/contrib/bmake/make.1 head/contrib/bmake/make.h head/contrib/bmake/meta.c head/contrib/bmake/mk/ChangeLog head/contrib/bmake/mk/dirdeps.mk head/contrib/bmake/mk/install-mk head/contrib/bmake/mk/meta2deps.py head/contrib/bmake/parse.c head/contrib/bmake/util.c head/usr.bin/bmake/Makefile head/usr.bin/bmake/Makefile.config head/usr.bin/bmake/config.h Directory Properties: head/contrib/bmake/ (props changed) Modified: head/contrib/bmake/ChangeLog ============================================================================== --- head/contrib/bmake/ChangeLog Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/ChangeLog Mon Jan 27 17:47:21 2014 (r261212) @@ -1,3 +1,37 @@ +2014-01-03 Simon J. Gerraty + + * boot-strap: ignore mksrc=none + +2014-01-02 Simon J. Gerraty + + * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk + +2014-01-01 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20140101 + * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) + * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max + * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for + Hurd) + * configure.in: Add AC_PREREQ and check for + sysctl; patch from Andrew Shadura andrewsh at debian.org + +2013-10-16 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20131010 + * lose the const from arg to systcl to avoid problems on older BSDs. + +2013-10-01 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20131001 + Merge with NetBSD make, pick up + o main.c: for NATIVE build sysctl to get MACHINE_ARCH from + hw.machine_arch if necessary. + o meta.c: meta_oodate - need to look at src of Link and target + of Move as well. + * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. + provide __arraycount() if needed. + 2013-09-04 Simon J. Gerraty * Makefile (MAKE_VERSION): 20130904 Modified: head/contrib/bmake/Makefile ============================================================================== --- head/contrib/bmake/Makefile Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/Makefile Mon Jan 27 17:47:21 2014 (r261212) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.20 2013/09/04 15:42:03 sjg Exp $ +# $Id: Makefile,v 1.23 2014/01/02 22:20:52 sjg Exp $ # Base version on src date -MAKE_VERSION= 20130904 +MAKE_VERSION= 20140101 PROG= bmake @@ -68,7 +68,7 @@ SRCS+= ${LIBOBJS:T:.o=.c} prefix?= /usr srcdir?= ${.CURDIR} -DEFAULT_SYS_PATH?= .../share/mk:${prefix}/share/mk +DEFAULT_SYS_PATH?= ${prefix}/share/mk CPPFLAGS+= -DUSE_META CFLAGS+= ${CPPFLAGS} Modified: head/contrib/bmake/Makefile.config.in ============================================================================== --- head/contrib/bmake/Makefile.config.in Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/Makefile.config.in Mon Jan 27 17:47:21 2014 (r261212) @@ -14,3 +14,7 @@ LIBOBJS= @LIBOBJS@ LDADD= @LIBS@ USE_META= @use_meta@ FILEMON_H= @filemon_h@ +BMAKE_PATH_MAX?= @bmake_path_max@ +# used if MAXPATHLEN not defined +CPPFLAGS+= -DBMAKE_PATH_MAX=${BMAKE_PATH_MAX} + Modified: head/contrib/bmake/bmake.1 ============================================================================== --- head/contrib/bmake/bmake.1 Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/bmake.1 Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.222 2013/08/11 09:53:49 apb Exp $ +.\" $NetBSD: make.1,v 1.226 2013/11/07 18:50:46 dholland Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd August 11, 2013 +.Dd October 25, 2013 .Dt MAKE 1 .Os .Sh NAME @@ -745,7 +745,7 @@ then output for each target is prefixed .Ql --- target --- the first part of which can be controlled via .Va .MAKE.JOB.PREFIX . -If +If .Va .MAKE.JOB.PREFIX is empty, no token is printed. .br @@ -1066,6 +1066,13 @@ may be used. The wildcard characters may be escaped with a backslash .Pq Ql \e . +As a consequence of the way values are split into words, matched, +and then joined, a construct like +.Dl ${VAR:M*} +will normalise the inter-word spacing, removing all leading and +trailing space, and converting multiple consecutive spaces +to single spaces. +. .It Cm \&:N Ns Ar pattern This is identical to .Ql Cm \&:M , @@ -1209,7 +1216,7 @@ The modifier is just like the .Cm \&:S modifier except that the old and new strings, instead of being -simple strings, are a regular expression (see +simple strings, are an extended regular expression (see .Xr regex 3 ) string .Ar pattern @@ -1751,7 +1758,7 @@ or .Fl t options were specified. Normally used to mark recursive -.Nm Ns 's . +.Nm Ns s . .It Ic .META Create a meta file for the target, even if it is flagged as .Ic .PHONY , Modified: head/contrib/bmake/bmake.cat1 ============================================================================== --- head/contrib/bmake/bmake.cat1 Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/bmake.cat1 Mon Jan 27 17:47:21 2014 (r261212) @@ -690,7 +690,13 @@ VVAARRIIAABBLLEE AASSSSIIGG ::MM_p_a_t_t_e_r_n Select only those words that match _p_a_t_t_e_r_n. The standard shell wildcard characters (`*', `?', and `[]') may be used. The wildcard - characters may be escaped with a backslash (`\'). + characters may be escaped with a backslash (`\'). As a consequence + of the way values are split into words, matched, and then joined, a + construct like + ${VAR:M*} + will normalise the inter-word spacing, removing all leading and + trailing space, and converting multiple consecutive spaces to single + spaces. ::NN_p_a_t_t_e_r_n This is identical to `::MM', but selects all words which do not match @@ -777,18 +783,18 @@ VVAARRIIAABBLLEE AASSSSIIGG ::CC/_p_a_t_t_e_r_n/_r_e_p_l_a_c_e_m_e_n_t/[11ggWW] The ::CC modifier is just like the ::SS modifier except that the old and - new strings, instead of being simple strings, are a regular expres- - sion (see regex(3)) string _p_a_t_t_e_r_n and an ed(1)-style string - _r_e_p_l_a_c_e_m_e_n_t. Normally, the first occurrence of the pattern _p_a_t_t_e_r_n - in each word of the value is substituted with _r_e_p_l_a_c_e_m_e_n_t. The `1' - modifier causes the substitution to apply to at most one word; the - `g' modifier causes the substitution to apply to as many instances - of the search pattern _p_a_t_t_e_r_n as occur in the word or words it is - found in; the `W' modifier causes the value to be treated as a sin- - gle word (possibly containing embedded white space). Note that `1' - and `g' are orthogonal; the former specifies whether multiple words - are potentially affected, the latter whether multiple substitutions - can potentially occur within each affected word. + new strings, instead of being simple strings, are an extended regu- + lar expression (see regex(3)) string _p_a_t_t_e_r_n and an ed(1)-style + string _r_e_p_l_a_c_e_m_e_n_t. Normally, the first occurrence of the pattern + _p_a_t_t_e_r_n in each word of the value is substituted with _r_e_p_l_a_c_e_m_e_n_t. + The `1' modifier causes the substitution to apply to at most one + word; the `g' modifier causes the substitution to apply to as many + instances of the search pattern _p_a_t_t_e_r_n as occur in the word or + words it is found in; the `W' modifier causes the value to be + treated as a single word (possibly containing embedded white space). + Note that `1' and `g' are orthogonal; the former specifies whether + multiple words are potentially affected, the latter whether multiple + substitutions can potentially occur within each affected word. ::TT Replaces each word in the variable with its last component. @@ -1107,7 +1113,7 @@ SSPPEECCIIAALL SSOOUURRCCEE ..MMAAKKEE Execute the commands associated with this target even if the --nn or --tt options were specified. Normally used to mark recursive - bbmmaakkee's. + bbmmaakkees. ..MMEETTAA Create a meta file for the target, even if it is flagged as ..PPHHOONNYY, ..MMAAKKEE, or ..SSPPEECCIIAALL. Usage in conjunction with ..MMAAKKEE is @@ -1378,4 +1384,4 @@ BBUUGGSS There is no way of escaping a space character in a filename. -NetBSD 5.1 August 11, 2013 NetBSD 5.1 +NetBSD 5.1 October 25, 2013 NetBSD 5.1 Modified: head/contrib/bmake/boot-strap ============================================================================== --- head/contrib/bmake/boot-strap Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/boot-strap Mon Jan 27 17:47:21 2014 (r261212) @@ -111,7 +111,7 @@ # Simon J. Gerraty # RCSid: -# $Id: boot-strap,v 1.43 2013/03/02 18:55:23 sjg Exp $ +# $Id: boot-strap,v 1.44 2014/01/08 14:49:10 sjg Exp $ # # @(#) Copyright (c) 2001 Simon J. Gerraty # @@ -216,11 +216,9 @@ do --share=*) share_dir=`get_optarg "$1"`;; --share) share_dir="$2"; shift;; --with-default-sys-path=*) - CONFIGURE_ARGS="$1" - MAKESYSPATH=`get_optarg "$1"`;; + CONFIGURE_ARGS="$1";; --with-default-sys-path) - CONFIGURE_ARGS="$1 $2" - MAKESYSPATH="$2"; shift;; + CONFIGURE_ARGS="$1 $2";; --install) INSTALL_PREFIX=${INSTALL_PREFIX:-$prefix};; --install-host-target) INSTALL_PREFIX=${INSTALL_PREFIX:-$prefix} @@ -330,8 +328,8 @@ add_path () { srcdir=`GetDir /bmake make-bootstrap.sh.in "$srcdir" "$2" "$Mydir" ./bmake* "$Mydir"/../bmake*` [ -d "${srcdir:-/dev/null}" ] || Usage case "$mksrc" in -none|-) # we don't want it - mksrc= +none|-) # we ignore this now + mksrc=$Mydir/mk ;; .../*) # find here or above mksrc=`FindHereOrAbove -C "$Mydir" -s "$mksrc/sys.mk"` Modified: head/contrib/bmake/compat.c ============================================================================== --- head/contrib/bmake/compat.c Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/compat.c Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $ */ +/* $NetBSD: compat.c,v 1.94 2014/01/03 00:02:01 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.94 2014/01/03 00:02:01 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $"); +__RCSID("$NetBSD: compat.c,v 1.94 2014/01/03 00:02:01 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -133,7 +133,7 @@ Compat_Init(void) Shell_Init(); /* setup default shell */ - for (cp = "#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) { + for (cp = "~#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) { meta[(unsigned char) *cp] = 1; } /* Modified: head/contrib/bmake/configure ============================================================================== Binary file (source and/or target). No diff available. Modified: head/contrib/bmake/configure.in ============================================================================== --- head/contrib/bmake/configure.in Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/configure.in Mon Jan 27 17:47:21 2014 (r261212) @@ -1,10 +1,11 @@ dnl dnl RCSid: -dnl $Id: configure.in,v 1.49 2013/07/06 18:25:19 sjg Exp $ +dnl $Id: configure.in,v 1.51 2014/01/02 22:20:52 sjg Exp $ dnl dnl Process this file with autoconf to produce a configure script dnl -AC_INIT([bmake], [20130706], [sjg@NetBSD.org]) +AC_PREREQ(2.50) +AC_INIT([bmake], [20140101], [sjg@NetBSD.org]) AC_CONFIG_HEADER(config.h) dnl make srcdir absolute @@ -77,7 +78,18 @@ AC_PROG_GCC_TRADITIONAL AC_PROG_INSTALL dnl Executable suffix - normally empty; .exe on os2. AC_SUBST(ac_exe_suffix)dnl - +dnl +dnl Hurd refuses to define PATH_MAX or MAXPATHLEN +if test -x /usr/bin/getconf; then + bmake_path_max=`getconf PATH_MAX / 2> /dev/null` +fi +bmake_path_max=${bmake_path_max:-1024} +if test $bmake_path_max -gt 1024; then + # this is all we expect + bmake_path_max=1024 +fi +echo "Using: BMAKE_PATH_MAX=$bmake_path_max" >&6 +AC_SUBST(bmake_path_max)dnl dnl dnl AC_C_CROSS dnl @@ -98,6 +110,7 @@ AC_CHECK_HEADERS( \ sys/mman.h \ sys/select.h \ sys/socket.h \ + sys/sysctl.h \ sys/time.h \ sys/uio.h \ unistd.h \ @@ -159,6 +172,7 @@ AC_CHECK_FUNCS( \ strsep \ strtod \ strtol \ + sysctl \ unsetenv \ vsnprintf \ wait3 \ Modified: head/contrib/bmake/hash.c ============================================================================== --- head/contrib/bmake/hash.c Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/hash.c Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -/* $NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $ */ +/* $NetBSD: hash.c,v 1.20 2013/11/14 00:27:05 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $"; +static char rcsid[] = "$NetBSD: hash.c,v 1.20 2013/11/14 00:27:05 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)hash.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $"); +__RCSID("$NetBSD: hash.c,v 1.20 2013/11/14 00:27:05 sjg Exp $"); #endif #endif /* not lint */ #endif Modified: head/contrib/bmake/lst.lib/lstMember.c ============================================================================== --- head/contrib/bmake/lst.lib/lstMember.c Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/lst.lib/lstMember.c Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -/* $NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $ */ +/* $NetBSD: lstMember.c,v 1.14 2013/11/14 00:01:28 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -33,14 +33,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $"; +static char rcsid[] = "$NetBSD: lstMember.c,v 1.14 2013/11/14 00:01:28 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)lstMember.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $"); +__RCSID("$NetBSD: lstMember.c,v 1.14 2013/11/14 00:01:28 sjg Exp $"); #endif #endif /* not lint */ #endif Modified: head/contrib/bmake/main.c ============================================================================== --- head/contrib/bmake/main.c Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/main.c Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $ */ +/* $NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $"; #else #include #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $"); +__RCSID("$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $"); #endif #endif /* not lint */ #endif @@ -118,6 +118,9 @@ __RCSID("$NetBSD: main.c,v 1.224 2013/09 #include #include #include +#if defined(MAKE_NATIVE) && defined(HAVE_SYSCTL) +#include +#endif #include #include "wait.h" @@ -145,6 +148,10 @@ __RCSID("$NetBSD: main.c,v 1.224 2013/09 #define DEFMAXLOCAL DEFMAXJOBS #endif /* DEFMAXLOCAL */ +#ifndef __arraycount +# define __arraycount(__x) (sizeof(__x) / sizeof(__x[0])) +#endif + Lst create; /* Targets to be made */ time_t now; /* Time at start of make */ GNode *DEFAULT; /* .DEFAULT node */ @@ -910,6 +917,20 @@ main(int argc, char **argv) } if (!machine_arch) { +#if defined(MAKE_NATIVE) && defined(HAVE_SYSCTL) && defined(CTL_HW) && defined(HW_MACHINE_ARCH) + static char machine_arch_buf[sizeof(utsname.machine)]; + int mib[2] = { CTL_HW, HW_MACHINE_ARCH }; + size_t len = sizeof(machine_arch_buf); + + if (sysctl(mib, __arraycount(mib), machine_arch_buf, + &len, NULL, 0) < 0) { + (void)fprintf(stderr, "%s: sysctl failed (%s).\n", progname, + strerror(errno)); + exit(2); + } + + machine_arch = machine_arch_buf; +#else #ifndef MACHINE_ARCH #ifdef MAKE_MACHINE_ARCH machine_arch = MAKE_MACHINE_ARCH; @@ -919,6 +940,7 @@ main(int argc, char **argv) #else machine_arch = MACHINE_ARCH; #endif +#endif } myPid = getpid(); /* remember this for vFork() */ Modified: head/contrib/bmake/make-bootstrap.sh.in ============================================================================== --- head/contrib/bmake/make-bootstrap.sh.in Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/make-bootstrap.sh.in Mon Jan 27 17:47:21 2014 (r261212) @@ -11,7 +11,7 @@ yes) XDEFS="-DUSE_META ${XDEFS}";; esac CC="@CC@" -CFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS}" +CFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@" MAKE_VERSION=`sed -n '/^MAKE_VERSION=/s,.*=[^0-9]*,,p' $srcdir/Makefile` Modified: head/contrib/bmake/make.1 ============================================================================== --- head/contrib/bmake/make.1 Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/make.1 Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.222 2013/08/11 09:53:49 apb Exp $ +.\" $NetBSD: make.1,v 1.226 2013/11/07 18:50:46 dholland Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd August 11, 2013 +.Dd October 25, 2013 .Dt MAKE 1 .Os .Sh NAME @@ -756,7 +756,7 @@ then output for each target is prefixed .Ql --- target --- the first part of which can be controlled via .Va .MAKE.JOB.PREFIX . -If +If .Va .MAKE.JOB.PREFIX is empty, no token is printed. .br @@ -1077,6 +1077,13 @@ may be used. The wildcard characters may be escaped with a backslash .Pq Ql \e . +As a consequence of the way values are split into words, matched, +and then joined, a construct like +.Dl ${VAR:M*} +will normalise the inter-word spacing, removing all leading and +trailing space, and converting multiple consecutive spaces +to single spaces. +. .It Cm \&:N Ns Ar pattern This is identical to .Ql Cm \&:M , @@ -1220,7 +1227,7 @@ The modifier is just like the .Cm \&:S modifier except that the old and new strings, instead of being -simple strings, are a regular expression (see +simple strings, are an extended regular expression (see .Xr regex 3 ) string .Ar pattern @@ -1762,7 +1769,7 @@ or .Fl t options were specified. Normally used to mark recursive -.Nm Ns 's . +.Nm Ns s . .It Ic .META Create a meta file for the target, even if it is flagged as .Ic .PHONY , Modified: head/contrib/bmake/make.h ============================================================================== --- head/contrib/bmake/make.h Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/make.h Mon Jan 27 17:47:21 2014 (r261212) @@ -518,4 +518,8 @@ int str2Lst_Append(Lst, char *, const ch #define MAX(a, b) ((a > b) ? a : b) #endif +#ifndef MAXPATHLEN +#define MAXPATHLEN BMAKE_PATH_MAX +#endif + #endif /* _MAKE_H_ */ Modified: head/contrib/bmake/meta.c ============================================================================== --- head/contrib/bmake/meta.c Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/meta.c Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.32 2013/06/25 00:20:54 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.33 2013/10/01 05:37:17 sjg Exp $ */ /* * Implement 'meta' mode. @@ -860,6 +860,13 @@ string_match(const void *p, const void * continue; \ } +#define DEQUOTE(p) if (*p == '\'') { \ + char *ep; \ + p++; \ + if ((ep = strchr(p, '\''))) \ + *ep = '\0'; \ + } + Boolean meta_oodate(GNode *gn, Boolean oodate) { @@ -872,6 +879,8 @@ meta_oodate(GNode *gn, Boolean oodate) char fname2[MAXPATHLEN]; char *p; char *cp; + char *link_src; + char *move_target; static size_t cwdlen = 0; static size_t tmplen = 0; FILE *fp; @@ -938,6 +947,8 @@ meta_oodate(GNode *gn, Boolean oodate) oodate = TRUE; break; } + link_src = NULL; + move_target = NULL; /* Find the start of the build monitor section. */ if (!f) { if (strncmp(buf, "-- filemon", 10) == 0) { @@ -1051,16 +1062,21 @@ meta_oodate(GNode *gn, Boolean oodate) break; case 'M': /* renaMe */ - if (Lst_IsEmpty(missingFiles)) - break; + /* + * For 'M'oves we want to check + * the src as for 'R'ead + * and the target as for 'W'rite. + */ + cp = p; /* save this for a second */ + /* now get target */ + if (strsep(&p, " ") == NULL) + continue; + CHECK_VALID_META(p); + move_target = p; + p = cp; /* 'L' and 'M' put single quotes around the args */ - if (*p == '\'') { - char *ep; - - p++; - if ((ep = strchr(p, '\''))) - *ep = '\0'; - } + DEQUOTE(p); + DEQUOTE(move_target); /* FALLTHROUGH */ case 'D': /* unlink */ if (*p == '/' && !Lst_IsEmpty(missingFiles)) { @@ -1072,22 +1088,39 @@ meta_oodate(GNode *gn, Boolean oodate) ln = NULL; /* we're done with it */ } } + if (buf[0] == 'M') { + /* the target of the mv is a file 'W'ritten */ +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, "meta_oodate: M %s -> %s\n", + p, move_target); +#endif + p = move_target; + goto check_write; + } break; case 'L': /* Link */ - /* we want the target */ + /* + * For 'L'inks check + * the src as for 'R'ead + * and the target as for 'W'rite. + */ + link_src = p; + /* now get target */ if (strsep(&p, " ") == NULL) continue; CHECK_VALID_META(p); /* 'L' and 'M' put single quotes around the args */ - if (*p == '\'') { - char *ep; - - p++; - if ((ep = strchr(p, '\''))) - *ep = '\0'; - } + DEQUOTE(p); + DEQUOTE(link_src); +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, "meta_oodate: L %s -> %s\n", + link_src, p); +#endif /* FALLTHROUGH */ case 'W': /* Write */ + check_write: /* * If a file we generated within our bailiwick * but outside of .OBJDIR is missing, @@ -1119,6 +1152,14 @@ meta_oodate(GNode *gn, Boolean oodate) Lst_AtEnd(missingFiles, bmake_strdup(p)); } break; + check_link_src: + p = link_src; + link_src = NULL; +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, "meta_oodate: L src %s\n", p); +#endif + /* FALLTHROUGH */ case 'R': /* Read */ case 'E': /* Exec */ /* @@ -1213,6 +1254,8 @@ meta_oodate(GNode *gn, Boolean oodate) default: break; } + if (!oodate && buf[0] == 'L' && link_src != NULL) + goto check_link_src; } else if (strcmp(buf, "CMD") == 0) { /* * Compare the current command with the one in the Modified: head/contrib/bmake/mk/ChangeLog ============================================================================== --- head/contrib/bmake/mk/ChangeLog Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/mk/ChangeLog Mon Jan 27 17:47:21 2014 (r261212) @@ -1,3 +1,22 @@ +2013-12-12 Simon J. Gerraty + + * install-mk (MK_VERSION): bump version + * meta2deps.py: convert to print function for python3 compat. + we also need to open files with mode 'r' rather than 'rb' + otherwise we get bytes instead of strings. + +2013-10-10 Simon J. Gerraty + + * install-mk (MK_VERSION): bump version + + * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE + apply the same filtering (M_dep_qual_fixes) when setting _machines + as _build_dirs. + Also fix the filtering of Makefile.depend files - for reporting + what we are looking for (M_dep_qual_fixes can get confused by + Makefile.depend) + Add some more debug info. + 2013-09-04 Simon J. Gerraty * gendirdeps.mk (_objtops): fix typo also Modified: head/contrib/bmake/mk/dirdeps.mk ============================================================================== --- head/contrib/bmake/mk/dirdeps.mk Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/mk/dirdeps.mk Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.28 2013/03/25 21:11:43 sjg Exp $ +# $Id: dirdeps.mk,v 1.29 2013/10/13 18:43:53 sjg Exp $ # Copyright (c) 2010-2013, Juniper Networks, Inc. # All rights reserved. @@ -149,11 +149,11 @@ DEP_$v ?= ${$v} JOT ?= jot _tspec_x := ${${JOT} ${TARGET_SPEC_VARS:[#]}:L:sh} # this handles unqualified entries -M_dep_qual_fixes = C;(/[^/.,]+)$$;\1.${DEP_TARGET_SPEC}; +M_dep_qual_fixes = C;(/[^/.,]+)$$;\1.$${DEP_TARGET_SPEC}; # there needs to be at least one item missing for these to make sense .for i in ${_tspec_x:[2..-1]} _tspec_m$i := ${TARGET_SPEC_VARS:[2..$i]:@w@[^,]+@:ts,} -_tspec_a$i := ,${TARGET_SPEC_VARS:[$i..-1]:@v@$${DEP_$v}@:ts,} +_tspec_a$i := ,${TARGET_SPEC_VARS:[$i..-1]:@v@$$$${DEP_$v}@:ts,} M_dep_qual_fixes += C;(\.${_tspec_m$i})$$;\1${_tspec_a$i}; .endfor .else @@ -359,7 +359,8 @@ _machines := ${_machines:O:u} .if ${TARGET_SPEC_VARS:[#]} > 1 # we need to tweak _machines _dm := ${DEP_MACHINE} -_machines := ${_machines:@DEP_MACHINE@${DEP_TARGET_SPEC}@} +# apply the same filtering that we do when qualifying DIRDEPS. +_machines := ${_machines:@DEP_MACHINE@${DEP_TARGET_SPEC}@:${M_dep_qual_fixes:ts:}:O:u} DEP_MACHINE := ${_dm} .endif @@ -464,6 +465,9 @@ ${_this_dir}.$m: ${_build_dirs:M*.$m:N${ .if ${_DIRDEP_CHECKED:M$d} == "" # once only _DIRDEP_CHECKED += $d +.if !empty(_debug_search) +.info checking $d +.endif # Note: _build_dirs is fully qualifed so d:R is always the directory .if exists(${d:R}) # Warning: there is an assumption here that MACHINE is always @@ -471,7 +475,8 @@ _DIRDEP_CHECKED += $d # If TARGET_SPEC and MACHINE are insufficient, you have a problem. _m := ${.MAKE.DEPENDFILE_PREFERENCE:T:S;${TARGET_SPEC}$;${d:E};:S;${MACHINE};${d:E:C/,.*//};:@m@${exists(${d:R}/$m):?${d:R}/$m:}@:[1]} .if !empty(_m) -_qm := ${_m:${M_dep_qual_fixes:ts:}} +# M_dep_qual_fixes isn't geared to Makefile.depend +_qm := ${_m:C;(\.depend)$;\1.${d:E};:${M_dep_qual_fixes:ts:}} .if !empty(_debug_search) .info Looking for ${_qm} .endif Modified: head/contrib/bmake/mk/install-mk ============================================================================== --- head/contrib/bmake/mk/install-mk Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/mk/install-mk Mon Jan 27 17:47:21 2014 (r261212) @@ -55,7 +55,7 @@ # Simon J. Gerraty # RCSid: -# $Id: install-mk,v 1.93 2013/08/02 18:28:47 sjg Exp $ +# $Id: install-mk,v 1.95 2013/12/20 06:08:52 sjg Exp $ # # @(#) Copyright (c) 1994 Simon J. Gerraty # @@ -70,7 +70,7 @@ # sjg@crufty.net # -MK_VERSION=20130801 +MK_VERSION=20131212 OWNER= GROUP= MODE=444 Modified: head/contrib/bmake/mk/meta2deps.py ============================================================================== --- head/contrib/bmake/mk/meta2deps.py Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/mk/meta2deps.py Mon Jan 27 17:47:21 2014 (r261212) @@ -1,5 +1,7 @@ #!/usr/bin/env python +from __future__ import print_function + """ This script parses each "meta" file and extracts the information needed to deduce build and src dependencies. @@ -35,7 +37,7 @@ We only pay attention to a subset of the """ RCSid: - $Id: meta2deps.py,v 1.15 2013/07/29 20:41:23 sjg Exp $ + $Id: meta2deps.py,v 1.16 2013/12/20 06:08:52 sjg Exp $ Copyright (c) 2011-2013, Juniper Networks, Inc. All rights reserved. @@ -90,14 +92,14 @@ def resolve(path, cwd, last_dir=None, de continue p = '/'.join([d,path]) if debug > 2: - print >> debug_out, "looking for:", p, + print("looking for:", p, end=' ', file=debug_out) if not os.path.exists(p): if debug > 2: - print >> debug_out, "nope" + print("nope", file=debug_out) p = None continue if debug > 2: - print >> debug_out, "found:", p + print("found:", p, file=debug_out) return p return None @@ -236,21 +238,21 @@ class MetaFile: self.objroots.sort(reverse=True) if self.debug: - print >> self.debug_out, "host_target=", self.host_target - print >> self.debug_out, "srctops=", self.srctops - print >> self.debug_out, "objroots=", self.objroots + print("host_target=", self.host_target, file=self.debug_out) + print("srctops=", self.srctops, file=self.debug_out) + print("objroots=", self.objroots, file=self.debug_out) self.dirdep_re = re.compile(r'([^/]+)/(.+)') if self.dpdeps and not self.reldir: if self.debug: - print >> self.debug_out, "need reldir:", + print("need reldir:", end=' ', file=self.debug_out) if self.curdir: srctop = self.find_top(self.curdir, self.srctops) if srctop: self.reldir = self.curdir.replace(srctop,'') if self.debug: - print >> self.debug_out, self.reldir + print(self.reldir, file=self.debug_out) if not self.reldir: self.dpdeps = None # we cannot do it? @@ -280,7 +282,7 @@ class MetaFile: if not self.reldir: return None for f in sort_unique(self.file_deps): - print >> out, 'DPDEPS_%s += %s' % (f, self.reldir) + print('DPDEPS_%s += %s' % (f, self.reldir), file=out) def seenit(self, dir): """rememer that we have seen dir.""" @@ -291,14 +293,14 @@ class MetaFile: if data not in list: list.append(data) if self.debug: - print >> self.debug_out, "%s: %sAdd: %s" % (self.name, clue, data) + print("%s: %sAdd: %s" % (self.name, clue, data), file=self.debug_out) def find_top(self, path, list): """the logical tree may be split accross multiple trees""" for top in list: if path.startswith(top): if self.debug > 2: - print >> self.debug_out, "found in", top + print("found in", top, file=self.debug_out) return top return None @@ -307,9 +309,9 @@ class MetaFile: ddep = None for ddepf in [path + '.dirdep', dir + '/.dirdep']: if not ddep and os.path.exists(ddepf): - ddep = open(ddepf, 'rb').readline().strip('# \n') + ddep = open(ddepf, 'r').readline().strip('# \n') if self.debug > 1: - print >> self.debug_out, "found %s: %s\n" % (ddepf, ddep) + print("found %s: %s\n" % (ddepf, ddep), file=self.debug_out) if ddep.endswith(self.machine): ddep = ddep[0:-(1+len(self.machine))] elif self.target_spec and ddep.endswith(self.target_spec): @@ -331,7 +333,7 @@ class MetaFile: if not (self.machine == 'host' and dmachine == self.host_target): if self.debug > 2: - print >> self.debug_out, "adding .%s to %s" % (dmachine, ddep) + print("adding .%s to %s" % (dmachine, ddep), file=self.debug_out) ddep += '.' + dmachine return ddep @@ -342,7 +344,7 @@ class MetaFile: self.parse(name, file) except: # give a useful clue - print >> sys.stderr, '{}:{}: '.format(self.name, self.line), + print('{}:{}: '.format(self.name, self.line), end=' ', file=sys.stderr) raise def parse(self, name=None, file=None): @@ -379,7 +381,7 @@ class MetaFile: f = file cwd = last_dir = self.cwd else: - f = open(self.name, 'rb') + f = open(self.name, 'r') skip = True pid_cwd = {} pid_last_dir = {} @@ -396,7 +398,7 @@ class MetaFile: if not line[0] in interesting: continue if self.debug > 2: - print >> self.debug_out, "input:", line, + print("input:", line, end=' ', file=self.debug_out) w = line.split() if skip: @@ -413,7 +415,7 @@ class MetaFile: self.cwd = cwd = last_dir = w[1] self.seenit(cwd) # ignore this if self.debug: - print >> self.debug_out, "%s: CWD=%s" % (self.name, cwd) + print("%s: CWD=%s" % (self.name, cwd), file=self.debug_out) continue pid = int(w[1]) @@ -438,12 +440,12 @@ class MetaFile: cwd = cwd[0:-2] last_dir = cwd if self.debug > 1: - print >> self.debug_out, "cwd=", cwd + print("cwd=", cwd, file=self.debug_out) continue if w[2] in self.seen: if self.debug > 2: - print >> self.debug_out, "seen:", w[2] + print("seen:", w[2], file=self.debug_out) continue # file operations if w[0] in 'ML': @@ -461,7 +463,7 @@ class MetaFile: dir,base = os.path.split(path) if dir in self.seen: if self.debug > 2: - print >> self.debug_out, "seen:", dir + print("seen:", dir, file=self.debug_out) continue # we can have a path in an objdir which is a link # to the src dir, we may need to add dependencies for each @@ -472,19 +474,19 @@ class MetaFile: # now put path back together path = '/'.join([dir,base]) if self.debug > 1: - print >> self.debug_out, "raw=%s rdir=%s dir=%s path=%s" % (w[2], rdir, dir, path) + print("raw=%s rdir=%s dir=%s path=%s" % (w[2], rdir, dir, path), file=self.debug_out) if w[0] in 'SRWL': if w[0] == 'W' and path.endswith('.dirdep'): continue if path in [last_dir, cwd, self.cwd, self.curdir]: if self.debug > 1: - print >> self.debug_out, "skipping:", path + print("skipping:", path, file=self.debug_out) continue if os.path.isdir(path): if w[0] in 'RW': last_dir = path; if self.debug > 1: - print >> self.debug_out, "ldir=", last_dir + print("ldir=", last_dir, file=self.debug_out) continue if w[0] in 'REWML': @@ -642,10 +644,10 @@ def main(argv, klass=MetaFile, xopts='', debug_out = getv(conf, 'debug_out', sys.stderr) if debug: - print >> debug_out, "config:" - print >> debug_out, "psyco=", have_psyco - for k,v in conf.items(): - print >> debug_out, "%s=%s" % (k,v) + print("config:", file=debug_out) + print("psyco=", have_psyco, file=debug_out) + for k,v in list(conf.items()): + print("%s=%s" % (k,v), file=debug_out) for a in args: if a.endswith('.meta'): @@ -657,9 +659,9 @@ def main(argv, klass=MetaFile, xopts='', m = klass(f, conf) if output: - print m.dirdeps() + print(m.dirdeps()) - print m.src_dirdeps('\nsrc:') + print(m.src_dirdeps('\nsrc:')) dpdeps = getv(conf, 'DPDEPS') if dpdeps: @@ -672,6 +674,6 @@ if __name__ == '__main__': main(sys.argv) except: # yes, this goes to stdout - print "ERROR: ", sys.exc_info()[1] + print("ERROR: ", sys.exc_info()[1]) raise Modified: head/contrib/bmake/parse.c ============================================================================== --- head/contrib/bmake/parse.c Mon Jan 27 17:31:21 2014 (r261211) +++ head/contrib/bmake/parse.c Mon Jan 27 17:47:21 2014 (r261212) @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.191 2013/08/28 21:56:49 sjg Exp $ */ +/* $NetBSD: parse.c,v 1.192 2013/10/18 20:47:06 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 18:53:19 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6F2B3714; Mon, 27 Jan 2014 18:53:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5A93F159D; Mon, 27 Jan 2014 18:53:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RIrJ4c046982; Mon, 27 Jan 2014 18:53:19 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RIrJ1m046981; Mon, 27 Jan 2014 18:53:19 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201401271853.s0RIrJ1m046981@svn.freebsd.org> From: John Baldwin Date: Mon, 27 Jan 2014 18:53:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261213 - head/sys/amd64/amd64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 18:53:19 -0000 Author: jhb Date: Mon Jan 27 18:53:18 2014 New Revision: 261213 URL: http://svnweb.freebsd.org/changeset/base/261213 Log: Add support for 'clac' and 'stac' to DDB's disassembler on amd64. Modified: head/sys/amd64/amd64/db_disasm.c Modified: head/sys/amd64/amd64/db_disasm.c ============================================================================== --- head/sys/amd64/amd64/db_disasm.c Mon Jan 27 17:47:21 2014 (r261212) +++ head/sys/amd64/amd64/db_disasm.c Mon Jan 27 18:53:18 2014 (r261213) @@ -1353,6 +1353,16 @@ db_disasm(loc, altfmt) i_size = NONE; i_mode = 0; break; + case 0xca: + i_name = "clac"; + i_size = NONE; + i_mode = 0; + break; + case 0xcb: + i_name = "stac"; + i_size = NONE; + i_mode = 0; + break; case 0xd0: i_name = "xgetbv"; i_size = NONE; From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 19:31:19 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0B70DF2; Mon, 27 Jan 2014 19:31:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EB414190C; Mon, 27 Jan 2014 19:31:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RJVIef062633; Mon, 27 Jan 2014 19:31:18 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RJVIE8062632; Mon, 27 Jan 2014 19:31:18 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401271931.s0RJVIE8062632@svn.freebsd.org> From: Warner Losh Date: Mon, 27 Jan 2014 19:31:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261214 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 19:31:19 -0000 Author: imp Date: Mon Jan 27 19:31:18 2014 New Revision: 261214 URL: http://svnweb.freebsd.org/changeset/base/261214 Log: Remove extra parens to silence clang warning. Modified: head/sys/arm/arm/db_trace.c Modified: head/sys/arm/arm/db_trace.c ============================================================================== --- head/sys/arm/arm/db_trace.c Mon Jan 27 18:53:18 2014 (r261213) +++ head/sys/arm/arm/db_trace.c Mon Jan 27 19:31:18 2014 (r261214) @@ -269,7 +269,7 @@ db_unwind_exec_insn(struct unwind_state /* Stop processing */ state->entries = 0; - } else if ((insn == INSN_POP_REGS)) { + } else if (insn == INSN_POP_REGS) { unsigned int mask, reg; mask = db_unwind_exec_read_byte(state); From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 19:37:38 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DCAE9391; Mon, 27 Jan 2014 19:37:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BC24A1952; Mon, 27 Jan 2014 19:37:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RJbbk6063449; Mon, 27 Jan 2014 19:37:37 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RJbZPs063438; Mon, 27 Jan 2014 19:37:35 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401271937.s0RJbZPs063438@svn.freebsd.org> From: Warner Losh Date: Mon, 27 Jan 2014 19:37:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261215 - in head/contrib/dtc: . Documentation libfdt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 19:37:38 -0000 Author: imp Date: Mon Jan 27 19:37:35 2014 New Revision: 261215 URL: http://svnweb.freebsd.org/changeset/base/261215 Log: Merge from vendor branch importing dtc git rev 6a15eb2350426d285130e4c9d84c0bdb6575547a Modified: head/contrib/dtc/Documentation/manual.txt head/contrib/dtc/Makefile head/contrib/dtc/checks.c head/contrib/dtc/data.c head/contrib/dtc/dtc-lexer.l head/contrib/dtc/dtc-parser.y head/contrib/dtc/dtc.c head/contrib/dtc/dtc.h head/contrib/dtc/fdtdump.c head/contrib/dtc/fdtget.c head/contrib/dtc/fdtput.c head/contrib/dtc/flattree.c head/contrib/dtc/libfdt/Makefile.libfdt head/contrib/dtc/libfdt/fdt.c head/contrib/dtc/libfdt/fdt.h head/contrib/dtc/libfdt/fdt_ro.c head/contrib/dtc/libfdt/fdt_rw.c head/contrib/dtc/libfdt/fdt_sw.c head/contrib/dtc/libfdt/fdt_wip.c head/contrib/dtc/libfdt/libfdt.h head/contrib/dtc/libfdt/libfdt_env.h head/contrib/dtc/libfdt/version.lds head/contrib/dtc/livetree.c head/contrib/dtc/srcpos.c head/contrib/dtc/srcpos.h head/contrib/dtc/treesource.c head/contrib/dtc/util.c head/contrib/dtc/util.h Directory Properties: head/contrib/dtc/ (props changed) Modified: head/contrib/dtc/Documentation/manual.txt ============================================================================== --- head/contrib/dtc/Documentation/manual.txt Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/Documentation/manual.txt Mon Jan 27 19:37:35 2014 (r261215) @@ -3,6 +3,7 @@ Device Tree Compiler Manual I - "dtc", the device tree compiler 1) Obtaining Sources + 1.1) Submitting Patches 2) Description 3) Command Line 4) Source File @@ -44,6 +45,10 @@ Tarballs of the 1.0.0 and latest release http://www.jdl.com/software/dtc-v1.2.0.tgz http://www.jdl.com/software/dtc-latest.tgz +1.1) Submitting Patches + +Patches should be sent to jdl@jdl.com, and CC'ed to +devicetree-discuss@lists.ozlabs.org. 2) Description Modified: head/contrib/dtc/Makefile ============================================================================== --- head/contrib/dtc/Makefile Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/Makefile Mon Jan 27 19:37:35 2014 (r261215) @@ -9,7 +9,7 @@ # CONFIG_LOCALVERSION from some future config system. # VERSION = 1 -PATCHLEVEL = 3 +PATCHLEVEL = 4 SUBLEVEL = 0 EXTRAVERSION = LOCAL_VERSION = @@ -160,18 +160,26 @@ endif # intermediate target and building them again "for real" .SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS) -install: all $(SCRIPTS) - @$(VECHO) INSTALL +install-bin: all $(SCRIPTS) + @$(VECHO) INSTALL-BIN $(INSTALL) -d $(DESTDIR)$(BINDIR) $(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR) + +install-lib: all + @$(VECHO) INSTALL-LIB $(INSTALL) -d $(DESTDIR)$(LIBDIR) $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR) ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname) ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT) $(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR) + +install-includes: + @$(VECHO) INSTALL-INC $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR) $(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR) +install: install-bin install-lib install-includes + $(VERSION_FILE): Makefile FORCE $(call filechk,version) Modified: head/contrib/dtc/checks.c ============================================================================== --- head/contrib/dtc/checks.c Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/checks.c Mon Jan 27 19:37:35 2014 (r261215) @@ -53,7 +53,7 @@ struct check { void *data; bool warn, error; enum checkstatus status; - int inprogress; + bool inprogress; int num_prereqs; struct check **prereq; }; @@ -141,9 +141,9 @@ static void check_nodes_props(struct che check_nodes_props(c, dt, child); } -static int run_check(struct check *c, struct node *dt) +static bool run_check(struct check *c, struct node *dt) { - int error = 0; + bool error = false; int i; assert(!c->inprogress); @@ -151,11 +151,11 @@ static int run_check(struct check *c, st if (c->status != UNCHECKED) goto out; - c->inprogress = 1; + c->inprogress = true; for (i = 0; i < c->num_prereqs; i++) { struct check *prq = c->prereq[i]; - error |= run_check(prq, dt); + error = error || run_check(prq, dt); if (prq->status != PASSED) { c->status = PREREQ; check_msg(c, "Failed prerequisite '%s'", @@ -177,9 +177,9 @@ static int run_check(struct check *c, st TRACE(c, "\tCompleted, status %d", c->status); out: - c->inprogress = 0; + c->inprogress = false; if ((c->status != PASSED) && (c->error)) - error = 1; + error = true; return error; } @@ -256,11 +256,15 @@ static void check_duplicate_property_nam { struct property *prop, *prop2; - for_each_property(node, prop) - for (prop2 = prop->next; prop2; prop2 = prop2->next) + for_each_property(node, prop) { + for (prop2 = prop->next; prop2; prop2 = prop2->next) { + if (prop2->deleted) + continue; if (streq(prop->name, prop2->name)) FAIL(c, "Duplicate property name %s in %s", prop->name, node->fullpath); + } + } } NODE_ERROR(duplicate_property_names, NULL); @@ -729,7 +733,7 @@ void parse_checks_option(bool warn, bool die("Unrecognized check name \"%s\"\n", name); } -void process_checks(int force, struct boot_info *bi) +void process_checks(bool force, struct boot_info *bi) { struct node *dt = bi->dt; int i; Modified: head/contrib/dtc/data.c ============================================================================== --- head/contrib/dtc/data.c Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/data.c Mon Jan 27 19:37:35 2014 (r261215) @@ -250,20 +250,20 @@ struct data data_add_marker(struct data return data_append_markers(d, m); } -int data_is_one_string(struct data d) +bool data_is_one_string(struct data d) { int i; int len = d.len; if (len == 0) - return 0; + return false; for (i = 0; i < len-1; i++) if (d.val[i] == '\0') - return 0; + return false; if (d.val[len-1] != '\0') - return 0; + return false; - return 1; + return true; } Modified: head/contrib/dtc/dtc-lexer.l ============================================================================== --- head/contrib/dtc/dtc-lexer.l Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/dtc-lexer.l Mon Jan 27 19:37:35 2014 (r261215) @@ -44,6 +44,7 @@ YY_BUFFER_STATE include_stack[MAX_INCLUD int include_stack_pointer = 0; YYLTYPE yylloc; +extern bool treesource_error; /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ #define YY_USER_ACTION \ @@ -65,7 +66,8 @@ static int dts_version = 1; BEGIN(V1); \ static void push_input_file(const char *filename); -static int pop_input_file(void); +static bool pop_input_file(void); +static void lexical_error(const char *fmt, ...); %} %% @@ -75,6 +77,27 @@ static int pop_input_file(void); push_input_file(name); } +<*>^"#"(line)?[ \t]+[0-9]+[ \t]+{STRING}([ \t]+[0-9]+)? { + char *line, *tmp, *fn; + /* skip text before line # */ + line = yytext; + while (!isdigit((unsigned char)*line)) + line++; + /* skip digits in line # */ + tmp = line; + while (!isspace((unsigned char)*tmp)) + tmp++; + /* "NULL"-terminate line # */ + *tmp = '\0'; + /* start of filename */ + fn = strchr(tmp + 1, '"') + 1; + /* strip trailing " from filename */ + tmp = strchr(fn, '"'); + *tmp = 0; + /* -1 since #line is the number of the next line */ + srcpos_set_line(xstrdup(fn), atoi(line) - 1); + } + <*><> { if (!pop_input_file()) { yyterminate(); @@ -107,6 +130,20 @@ static int pop_input_file(void); return DT_BITS; } +<*>"/delete-property/" { + DPRINT("Keyword: /delete-property/\n"); + DPRINT("\n"); + BEGIN(PROPNODENAME); + return DT_DEL_PROP; + } + +<*>"/delete-node/" { + DPRINT("Keyword: /delete-node/\n"); + DPRINT("\n"); + BEGIN(PROPNODENAME); + return DT_DEL_NODE; + } + <*>{LABEL}: { DPRINT("Label: %s\n", yytext); yylval.labelref = xstrdup(yytext); @@ -115,15 +152,42 @@ static int pop_input_file(void); } ([0-9]+|0[xX][0-9a-fA-F]+)(U|L|UL|LL|ULL)? { - yylval.literal = xstrdup(yytext); - DPRINT("Literal: '%s'\n", yylval.literal); + char *e; + DPRINT("Integer Literal: '%s'\n", yytext); + + errno = 0; + yylval.integer = strtoull(yytext, &e, 0); + + assert(!(*e) || !e[strspn(e, "UL")]); + + if (errno == ERANGE) + lexical_error("Integer literal '%s' out of range", + yytext); + else + /* ERANGE is the only strtoull error triggerable + * by strings matching the pattern */ + assert(errno == 0); return DT_LITERAL; } <*>{CHAR_LITERAL} { - yytext[yyleng-1] = '\0'; - yylval.literal = xstrdup(yytext+1); - DPRINT("Character literal: %s\n", yylval.literal); + struct data d; + DPRINT("Character literal: %s\n", yytext); + + d = data_copy_escape_string(yytext+1, yyleng-2); + if (d.len == 1) { + lexical_error("Empty character literal"); + yylval.integer = 0; + return DT_CHAR_LITERAL; + } + + yylval.integer = (unsigned char)d.val[0]; + + if (d.len > 2) + lexical_error("Character literal has %d" + " characters instead of 1", + d.len - 1); + return DT_CHAR_LITERAL; } @@ -152,9 +216,10 @@ static int pop_input_file(void); return ']'; } -{PROPNODECHAR}+ { +\\?{PROPNODECHAR}+ { DPRINT("PropNodeName: %s\n", yytext); - yylval.propnodename = xstrdup(yytext); + yylval.propnodename = xstrdup((yytext[0] == '\\') ? + yytext + 1 : yytext); BEGIN_DEFAULT(); return DT_PROPNODENAME; } @@ -210,10 +275,10 @@ static void push_input_file(const char * } -static int pop_input_file(void) +static bool pop_input_file(void) { if (srcfile_pop() == 0) - return 0; + return false; assert(include_stack_pointer > 0); @@ -223,5 +288,16 @@ static int pop_input_file(void) yyin = current_srcfile->f; - return 1; + return true; +} + +static void lexical_error(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + srcpos_verror(&yylloc, "Lexical error", fmt, ap); + va_end(ap); + + treesource_error = true; } Modified: head/contrib/dtc/dtc-parser.y ============================================================================== --- head/contrib/dtc/dtc-parser.y Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/dtc-parser.y Mon Jan 27 19:37:35 2014 (r261215) @@ -31,15 +31,11 @@ extern void print_error(char const *fmt, extern void yyerror(char const *s); extern struct boot_info *the_boot_info; -extern int treesource_error; - -static unsigned long long eval_literal(const char *s, int base, int bits); -static unsigned char eval_char_literal(const char *s); +extern bool treesource_error; %} %union { char *propnodename; - char *literal; char *labelref; unsigned int cbase; uint8_t byte; @@ -62,9 +58,11 @@ static unsigned char eval_char_literal(c %token DT_MEMRESERVE %token DT_LSHIFT DT_RSHIFT DT_LE DT_GE DT_EQ DT_NE DT_AND DT_OR %token DT_BITS +%token DT_DEL_PROP +%token DT_DEL_NODE %token DT_PROPNODENAME -%token DT_LITERAL -%token DT_CHAR_LITERAL +%token DT_LITERAL +%token DT_CHAR_LITERAL %token DT_BASE %token DT_BYTE %token DT_STRING @@ -153,6 +151,17 @@ devicetree: print_error("label or path, '%s', not found", $2); $$ = $1; } + | devicetree DT_DEL_NODE DT_REF ';' + { + struct node *target = get_node_by_ref($1, $3); + + if (!target) + print_error("label or path, '%s', not found", $3); + else + delete_node(target); + + $$ = $1; + } ; nodedef: @@ -182,6 +191,10 @@ propdef: { $$ = build_property($1, empty_data); } + | DT_DEL_PROP DT_PROPNODENAME ';' + { + $$ = build_property_delete($2); + } | DT_LABEL propdef { add_label(&$2->labels, $1); @@ -213,10 +226,9 @@ propdata: if ($6 != 0) if (fseek(f, $6, SEEK_SET) != 0) - print_error("Couldn't seek to offset %llu in \"%s\": %s", - (unsigned long long)$6, - $4.val, - strerror(errno)); + die("Couldn't seek to offset %llu in \"%s\": %s", + (unsigned long long)$6, $4.val, + strerror(errno)); d = data_copy_file(f, $8); @@ -257,18 +269,20 @@ propdataprefix: arrayprefix: DT_BITS DT_LITERAL '<' { - $$.data = empty_data; - $$.bits = eval_literal($2, 0, 7); + unsigned long long bits; - if (($$.bits != 8) && - ($$.bits != 16) && - ($$.bits != 32) && - ($$.bits != 64)) + bits = $2; + + if ((bits != 8) && (bits != 16) && + (bits != 32) && (bits != 64)) { print_error("Only 8, 16, 32 and 64-bit elements" " are currently supported"); - $$.bits = 32; + bits = 32; } + + $$.data = empty_data; + $$.bits = bits; } | '<' { @@ -317,13 +331,7 @@ arrayprefix: integer_prim: DT_LITERAL - { - $$ = eval_literal($1, 0, 64); - } | DT_CHAR_LITERAL - { - $$ = eval_char_literal($1); - } | '(' integer_expr ')' { $$ = $2; @@ -440,6 +448,10 @@ subnode: { $$ = name_node($2, $1); } + | DT_DEL_NODE DT_PROPNODENAME ';' + { + $$ = name_node(build_node_delete(), $2); + } | DT_LABEL subnode { add_label(&$2->labels, $1); @@ -454,58 +466,12 @@ void print_error(char const *fmt, ...) va_list va; va_start(va, fmt); - srcpos_verror(&yylloc, fmt, va); + srcpos_verror(&yylloc, "Error", fmt, va); va_end(va); - treesource_error = 1; + treesource_error = true; } void yyerror(char const *s) { print_error("%s", s); } - -static unsigned long long eval_literal(const char *s, int base, int bits) -{ - unsigned long long val; - char *e; - - errno = 0; - val = strtoull(s, &e, base); - if (*e) { - size_t uls = strspn(e, "UL"); - if (e[uls]) - print_error("bad characters in literal"); - } - if ((errno == ERANGE) - || ((bits < 64) && (val >= (1ULL << bits)))) - print_error("literal out of range"); - else if (errno != 0) - print_error("bad literal"); - return val; -} - -static unsigned char eval_char_literal(const char *s) -{ - int i = 1; - char c = s[0]; - - if (c == '\0') - { - print_error("empty character literal"); - return 0; - } - - /* - * If the first character in the character literal is a \ then process - * the remaining characters as an escape encoding. If the first - * character is neither an escape or a terminator it should be the only - * character in the literal and will be returned. - */ - if (c == '\\') - c = get_escape_char(s, &i); - - if (s[i] != '\0') - print_error("malformed character literal"); - - return c; -} Modified: head/contrib/dtc/dtc.c ============================================================================== --- head/contrib/dtc/dtc.c Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/dtc.c Mon Jan 27 19:37:35 2014 (r261215) @@ -21,8 +21,6 @@ #include "dtc.h" #include "srcpos.h" -#include "version_gen.h" - /* * Command line options */ @@ -49,55 +47,60 @@ static void fill_fullpaths(struct node * fill_fullpaths(child, tree->fullpath); } -static void __attribute__ ((noreturn)) usage(void) -{ - fprintf(stderr, "Usage:\n"); - fprintf(stderr, "\tdtc [options] \n"); - fprintf(stderr, "\nOptions:\n"); - fprintf(stderr, "\t-h\n"); - fprintf(stderr, "\t\tThis help text\n"); - fprintf(stderr, "\t-q\n"); - fprintf(stderr, "\t\tQuiet: -q suppress warnings, -qq errors, -qqq all\n"); - fprintf(stderr, "\t-I \n"); - fprintf(stderr, "\t\tInput formats are:\n"); - fprintf(stderr, "\t\t\tdts - device tree source text\n"); - fprintf(stderr, "\t\t\tdtb - device tree blob\n"); - fprintf(stderr, "\t\t\tfs - /proc/device-tree style directory\n"); - fprintf(stderr, "\t-o \n"); - fprintf(stderr, "\t-O \n"); - fprintf(stderr, "\t\tOutput formats are:\n"); - fprintf(stderr, "\t\t\tdts - device tree source text\n"); - fprintf(stderr, "\t\t\tdtb - device tree blob\n"); - fprintf(stderr, "\t\t\tasm - assembler source\n"); - fprintf(stderr, "\t-V \n"); - fprintf(stderr, "\t\tBlob version to produce, defaults to %d (relevant for dtb\n\t\tand asm output only)\n", DEFAULT_FDT_VERSION); - fprintf(stderr, "\t-d \n"); - fprintf(stderr, "\t-R \n"); - fprintf(stderr, "\t\tMake space for reserve map entries (relevant for \n\t\tdtb and asm output only)\n"); - fprintf(stderr, "\t-S \n"); - fprintf(stderr, "\t\tMake the blob at least long (extra space)\n"); - fprintf(stderr, "\t-p \n"); - fprintf(stderr, "\t\tAdd padding to the blob of long (extra space)\n"); - fprintf(stderr, "\t-b \n"); - fprintf(stderr, "\t\tSet the physical boot cpu\n"); - fprintf(stderr, "\t-f\n"); - fprintf(stderr, "\t\tForce - try to produce output even if the input tree has errors\n"); - fprintf(stderr, "\t-i\n"); - fprintf(stderr, "\t\tAdd a path to search for include files\n"); - fprintf(stderr, "\t-s\n"); - fprintf(stderr, "\t\tSort nodes and properties before outputting (only useful for\n\t\tcomparing trees)\n"); - fprintf(stderr, "\t-v\n"); - fprintf(stderr, "\t\tPrint DTC version and exit\n"); - fprintf(stderr, "\t-H \n"); - fprintf(stderr, "\t\tphandle formats are:\n"); - fprintf(stderr, "\t\t\tlegacy - \"linux,phandle\" properties only\n"); - fprintf(stderr, "\t\t\tepapr - \"phandle\" properties only\n"); - fprintf(stderr, "\t\t\tboth - Both \"linux,phandle\" and \"phandle\" properties\n"); - fprintf(stderr, "\t-W [no-]\n"); - fprintf(stderr, "\t-E [no-]\n"); - fprintf(stderr, "\t\t\tenable or disable warnings and errors\n"); - exit(3); -} +/* Usage related data. */ +static const char usage_synopsis[] = "dtc [options] "; +static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv"; +static struct option const usage_long_opts[] = { + {"quiet", no_argument, NULL, 'q'}, + {"in-format", a_argument, NULL, 'I'}, + {"out", a_argument, NULL, 'o'}, + {"out-format", a_argument, NULL, 'O'}, + {"out-version", a_argument, NULL, 'V'}, + {"out-dependency", a_argument, NULL, 'd'}, + {"reserve", a_argument, NULL, 'R'}, + {"space", a_argument, NULL, 'S'}, + {"pad", a_argument, NULL, 'p'}, + {"boot-cpu", a_argument, NULL, 'b'}, + {"force", no_argument, NULL, 'f'}, + {"include", a_argument, NULL, 'i'}, + {"sort", no_argument, NULL, 's'}, + {"phandle", a_argument, NULL, 'H'}, + {"warning", a_argument, NULL, 'W'}, + {"error", a_argument, NULL, 'E'}, + {"help", no_argument, NULL, 'h'}, + {"version", no_argument, NULL, 'v'}, + {NULL, no_argument, NULL, 0x0}, +}; +static const char * const usage_opts_help[] = { + "\n\tQuiet: -q suppress warnings, -qq errors, -qqq all", + "\n\tInput formats are:\n" + "\t\tdts - device tree source text\n" + "\t\tdtb - device tree blob\n" + "\t\tfs - /proc/device-tree style directory", + "\n\tOutput file", + "\n\tOutput formats are:\n" + "\t\tdts - device tree source text\n" + "\t\tdtb - device tree blob\n" + "\t\tasm - assembler source", + "\n\tBlob version to produce, defaults to %d (for dtb and asm output)", //, DEFAULT_FDT_VERSION); + "\n\tOutput dependency file", + "\n\ttMake space for reserve map entries (for dtb and asm output)", + "\n\tMake the blob at least long (extra space)", + "\n\tAdd padding to the blob of long (extra space)", + "\n\tSet the physical boot cpu", + "\n\tTry to produce output even if the input tree has errors", + "\n\tAdd a path to search for include files", + "\n\tSort nodes and properties before outputting (useful for comparing trees)", + "\n\tValid phandle formats are:\n" + "\t\tlegacy - \"linux,phandle\" properties only\n" + "\t\tepapr - \"phandle\" properties only\n" + "\t\tboth - Both \"linux,phandle\" and \"phandle\" properties", + "\n\tEnable/disable warnings (prefix with \"no-\")", + "\n\tEnable/disable errors (prefix with \"no-\")", + "\n\tPrint this help and exit", + "\n\tPrint version and exit", + NULL, +}; int main(int argc, char *argv[]) { @@ -106,7 +109,7 @@ int main(int argc, char *argv[]) const char *outform = "dts"; const char *outname = "-"; const char *depname = NULL; - int force = 0, sort = 0; + bool force = false, sort = false; const char *arg; int opt; FILE *outf = NULL; @@ -118,8 +121,7 @@ int main(int argc, char *argv[]) minsize = 0; padsize = 0; - while ((opt = getopt(argc, argv, "hI:O:o:V:d:R:S:p:fqb:i:vH:sW:E:")) - != EOF) { + while ((opt = util_getopt_long()) != EOF) { switch (opt) { case 'I': inform = optarg; @@ -146,7 +148,7 @@ int main(int argc, char *argv[]) padsize = strtol(optarg, NULL, 0); break; case 'f': - force = 1; + force = true; break; case 'q': quiet++; @@ -158,8 +160,7 @@ int main(int argc, char *argv[]) srcfile_add_search_path(optarg); break; case 'v': - printf("Version: %s\n", DTC_VERSION); - exit(0); + util_version(); case 'H': if (streq(optarg, "legacy")) phandle_format = PHANDLE_LEGACY; @@ -173,7 +174,7 @@ int main(int argc, char *argv[]) break; case 's': - sort = 1; + sort = true; break; case 'W': @@ -185,13 +186,14 @@ int main(int argc, char *argv[]) break; case 'h': + usage(NULL); default: - usage(); + usage("unknown option"); } } if (argc > (optind+1)) - usage(); + usage("missing files"); else if (argc < (optind+1)) arg = "-"; else @@ -201,9 +203,6 @@ int main(int argc, char *argv[]) if (minsize && padsize) die("Can't set both -p and -S\n"); - if (minsize) - fprintf(stderr, "DTC: Use of \"-S\" is deprecated; it will be removed soon, use \"-p\" instead\n"); - if (depname) { depfile = fopen(depname, "w"); if (!depfile) Modified: head/contrib/dtc/dtc.h ============================================================================== --- head/contrib/dtc/dtc.h Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/dtc.h Mon Jan 27 19:37:35 2014 (r261215) @@ -66,7 +66,6 @@ typedef uint32_t cell_t; #define strneq(a, b, n) (strncmp((a), (b), (n)) == 0) #define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) /* Data blobs */ enum markertype { @@ -119,7 +118,7 @@ struct data data_append_align(struct dat struct data data_add_marker(struct data d, enum markertype type, char *ref); -int data_is_one_string(struct data d); +bool data_is_one_string(struct data d); /* DT constraints */ @@ -128,11 +127,13 @@ int data_is_one_string(struct data d); /* Live trees */ struct label { + bool deleted; char *label; struct label *next; }; struct property { + bool deleted; char *name; struct data val; @@ -142,6 +143,7 @@ struct property { }; struct node { + bool deleted; char *name; struct property *proplist; struct node *children; @@ -158,28 +160,47 @@ struct node { struct label *labels; }; -#define for_each_label(l0, l) \ +#define for_each_label_withdel(l0, l) \ for ((l) = (l0); (l); (l) = (l)->next) -#define for_each_property(n, p) \ +#define for_each_label(l0, l) \ + for_each_label_withdel(l0, l) \ + if (!(l)->deleted) + +#define for_each_property_withdel(n, p) \ for ((p) = (n)->proplist; (p); (p) = (p)->next) -#define for_each_child(n, c) \ +#define for_each_property(n, p) \ + for_each_property_withdel(n, p) \ + if (!(p)->deleted) + +#define for_each_child_withdel(n, c) \ for ((c) = (n)->children; (c); (c) = (c)->next_sibling) +#define for_each_child(n, c) \ + for_each_child_withdel(n, c) \ + if (!(c)->deleted) + void add_label(struct label **labels, char *label); +void delete_labels(struct label **labels); struct property *build_property(char *name, struct data val); +struct property *build_property_delete(char *name); struct property *chain_property(struct property *first, struct property *list); struct property *reverse_properties(struct property *first); struct node *build_node(struct property *proplist, struct node *children); +struct node *build_node_delete(void); struct node *name_node(struct node *node, char *name); struct node *chain_node(struct node *first, struct node *list); struct node *merge_nodes(struct node *old_node, struct node *new_node); void add_property(struct node *node, struct property *prop); +void delete_property_by_name(struct node *node, char *name); +void delete_property(struct property *prop); void add_child(struct node *parent, struct node *child); +void delete_node_by_name(struct node *parent, char *name); +void delete_node(struct node *node); const char *get_unitname(struct node *node); struct property *get_property(struct node *node, const char *propname); @@ -227,7 +248,7 @@ void sort_tree(struct boot_info *bi); /* Checks */ void parse_checks_option(bool warn, bool error, const char *optarg); -void process_checks(int force, struct boot_info *bi); +void process_checks(bool force, struct boot_info *bi); /* Flattened trees */ Modified: head/contrib/dtc/fdtdump.c ============================================================================== --- head/contrib/dtc/fdtdump.c Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/fdtdump.c Mon Jan 27 19:37:35 2014 (r261215) @@ -2,14 +2,16 @@ * fdtdump.c - Contributed by Pantelis Antoniou */ +#include #include #include #include #include #include -#include +#include #include +#include #include "util.h" @@ -17,33 +19,29 @@ #define PALIGN(p, a) ((void *)(ALIGN((unsigned long)(p), (a)))) #define GET_CELL(p) (p += 4, *((const uint32_t *)(p-4))) -static void print_data(const char *data, int len) +static const char *tagname(uint32_t tag) { - int i; - const char *p = data; - - /* no data, don't print */ - if (len == 0) - return; - - if (util_is_printable_string(data, len)) { - printf(" = \"%s\"", (const char *)data); - } else if ((len % 4) == 0) { - printf(" = <"); - for (i = 0; i < len; i += 4) - printf("0x%08x%s", fdt32_to_cpu(GET_CELL(p)), - i < (len - 4) ? " " : ""); - printf(">"); - } else { - printf(" = ["); - for (i = 0; i < len; i++) - printf("%02x%s", *p++, i < len - 1 ? " " : ""); - printf("]"); - } + static const char * const names[] = { +#define TN(t) [t] #t + TN(FDT_BEGIN_NODE), + TN(FDT_END_NODE), + TN(FDT_PROP), + TN(FDT_NOP), + TN(FDT_END), +#undef TN + }; + if (tag < ARRAY_SIZE(names)) + if (names[tag]) + return names[tag]; + return "FDT_???"; } -static void dump_blob(void *blob) +#define dumpf(fmt, args...) \ + do { if (debug) printf("// " fmt, ## args); } while (0) + +static void dump_blob(void *blob, bool debug) { + uintptr_t blob_off = (uintptr_t)blob; struct fdt_header *bph = blob; uint32_t off_mem_rsvmap = fdt32_to_cpu(bph->off_mem_rsvmap); uint32_t off_dt = fdt32_to_cpu(bph->off_dt_struct); @@ -97,7 +95,8 @@ static void dump_blob(void *blob) p = p_struct; while ((tag = fdt32_to_cpu(GET_CELL(p))) != FDT_END) { - /* printf("tag: 0x%08x (%d)\n", tag, p - p_struct); */ + dumpf("%04zx: tag: 0x%08x (%s)\n", + (uintptr_t)p - blob_off - 4, tag, tagname(tag)); if (tag == FDT_BEGIN_NODE) { s = p; @@ -136,27 +135,93 @@ static void dump_blob(void *blob) p = PALIGN(p + sz, 4); + dumpf("%04zx: string: %s\n", (uintptr_t)s - blob_off, s); + dumpf("%04zx: value\n", (uintptr_t)t - blob_off); printf("%*s%s", depth * shift, "", s); - print_data(t, sz); + utilfdt_print_data(t, sz); printf(";\n"); } } +/* Usage related data. */ +static const char usage_synopsis[] = "fdtdump [options] "; +static const char usage_short_opts[] = "ds" USAGE_COMMON_SHORT_OPTS; +static struct option const usage_long_opts[] = { + {"debug", no_argument, NULL, 'd'}, + {"scan", no_argument, NULL, 's'}, + USAGE_COMMON_LONG_OPTS +}; +static const char * const usage_opts_help[] = { + "Dump debug information while decoding the file", + "Scan for an embedded fdt in file", + USAGE_COMMON_OPTS_HELP +}; int main(int argc, char *argv[]) { + int opt; + const char *file; char *buf; + bool debug = false; + bool scan = false; + off_t len; + + while ((opt = util_getopt_long()) != EOF) { + switch (opt) { + case_USAGE_COMMON_FLAGS - if (argc < 2) { - fprintf(stderr, "supply input filename\n"); - return 5; + case 'd': + debug = true; + break; + case 's': + scan = true; + break; + } + } + if (optind != argc - 1) + usage("missing input filename"); + file = argv[optind]; + + buf = utilfdt_read_len(file, &len); + if (!buf) + die("could not read: %s\n", file); + + /* try and locate an embedded fdt in a bigger blob */ + if (scan) { + unsigned char smagic[4]; + char *p = buf; + char *endp = buf + len; + + fdt_set_magic(smagic, FDT_MAGIC); + + /* poor man's memmem */ + while (true) { + p = memchr(p, smagic[0], endp - p - 4); + if (!p) + break; + if (fdt_magic(p) == FDT_MAGIC) { + /* try and validate the main struct */ + off_t this_len = endp - p; + fdt32_t max_version = 17; + if (fdt_version(p) <= max_version && + fdt_last_comp_version(p) < max_version && + fdt_totalsize(p) < this_len && + fdt_off_dt_struct(p) < this_len && + fdt_off_dt_strings(p) < this_len) + break; + if (debug) + printf("%s: skipping fdt magic at offset %#zx\n", + file, p - buf); + } + ++p; + } + if (!p) + die("%s: could not locate fdt magic\n", file); + printf("%s: found fdt at offset %#zx\n", file, p - buf); + buf = p; } - buf = utilfdt_read(argv[1]); - if (buf) - dump_blob(buf); - else - return 10; + dump_blob(buf, debug); return 0; } Modified: head/contrib/dtc/fdtget.c ============================================================================== --- head/contrib/dtc/fdtget.c Mon Jan 27 19:31:18 2014 (r261214) +++ head/contrib/dtc/fdtget.c Mon Jan 27 19:37:35 2014 (r261215) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 19:49:53 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3AAA475C; Mon, 27 Jan 2014 19:49:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 271B21A15; Mon, 27 Jan 2014 19:49:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RJnr02067978; Mon, 27 Jan 2014 19:49:53 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RJnr7t067977; Mon, 27 Jan 2014 19:49:53 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201401271949.s0RJnr7t067977@svn.freebsd.org> From: John Baldwin Date: Mon, 27 Jan 2014 19:49:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261216 - head/sys/dev/pccbb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 19:49:53 -0000 Author: jhb Date: Mon Jan 27 19:49:52 2014 New Revision: 261216 URL: http://svnweb.freebsd.org/changeset/base/261216 Log: Explicitly enable I/O and memory decoding in the bridge's command register when activating an I/O or memory window on the CardBus bridge. Tested by: Olivier Cochard-Labbe Reviewed by: imp MFC after: 3 days Modified: head/sys/dev/pccbb/pccbb.c Modified: head/sys/dev/pccbb/pccbb.c ============================================================================== --- head/sys/dev/pccbb/pccbb.c Mon Jan 27 19:37:35 2014 (r261215) +++ head/sys/dev/pccbb/pccbb.c Mon Jan 27 19:49:52 2014 (r261216) @@ -1038,6 +1038,13 @@ cbb_cardbus_power_disable_socket(device_ /* CardBus Resource */ /************************************************************************/ +static void +cbb_activate_window(device_t brdev, int type) +{ + + PCI_ENABLE_IO(device_get_parent(brdev), brdev, type); +} + static int cbb_cardbus_io_open(device_t brdev, int win, uint32_t start, uint32_t end) { @@ -1055,6 +1062,7 @@ cbb_cardbus_io_open(device_t brdev, int pci_write_config(brdev, basereg, start, 4); pci_write_config(brdev, limitreg, end, 4); + cbb_activate_window(brdev, SYS_RES_IOPORT); return (0); } @@ -1075,6 +1083,7 @@ cbb_cardbus_mem_open(device_t brdev, int pci_write_config(brdev, basereg, start, 4); pci_write_config(brdev, limitreg, end, 4); + cbb_activate_window(brdev, SYS_RES_MEMORY); return (0); } @@ -1342,7 +1351,12 @@ cbb_pcic_activate_resource(device_t brde struct resource *res) { struct cbb_softc *sc = device_get_softc(brdev); - return (exca_activate_resource(&sc->exca[0], child, type, rid, res)); + int error; + + error = exca_activate_resource(&sc->exca[0], child, type, rid, res); + if (error == 0) + cbb_activate_window(brdev, type); + return (error); } static int From owner-svn-src-head@FreeBSD.ORG Mon Jan 27 22:26:17 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4CBF55FB; Mon, 27 Jan 2014 22:26:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 38B2C17C1; Mon, 27 Jan 2014 22:26:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0RMQHMl036107; Mon, 27 Jan 2014 22:26:17 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0RMQGrl036102; Mon, 27 Jan 2014 22:26:16 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201401272226.s0RMQGrl036102@svn.freebsd.org> From: John Baldwin Date: Mon, 27 Jan 2014 22:26:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261217 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jan 2014 22:26:17 -0000 Author: jhb Date: Mon Jan 27 22:26:15 2014 New Revision: 261217 URL: http://svnweb.freebsd.org/changeset/base/261217 Log: Remove support for legacy PCI devices. These haven't been needed since support for LPC uart devices was added and it conflicts with upcoming patches to add PCI INTx support. Reviewed by: neel Modified: head/usr.sbin/bhyve/bhyve.8 head/usr.sbin/bhyve/bhyverun.c head/usr.sbin/bhyve/pci_emul.c head/usr.sbin/bhyve/pci_emul.h head/usr.sbin/bhyve/pci_uart.c Modified: head/usr.sbin/bhyve/bhyve.8 ============================================================================== --- head/usr.sbin/bhyve/bhyve.8 Mon Jan 27 19:49:52 2014 (r261216) +++ head/usr.sbin/bhyve/bhyve.8 Mon Jan 27 22:26:15 2014 (r261217) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 12, 2013 +.Dd January 27, 2014 .Dt BHYVE 8 .Os .Sh NAME @@ -37,7 +37,6 @@ .Op Fl g Ar gdbport .Op Fl p Ar pinnedcpu .Op Fl s Ar slot,emulation Ns Op , Ns Ar conf -.Op Fl S Ar slot,emulation Ns Op , Ns Ar conf .Op Fl l Ar lpcdev Ns Op , Ns Ar conf .Ar vmname .Sh DESCRIPTION @@ -202,13 +201,6 @@ The host device must have been reserved loader variable as described in .Xr vmm 4 . .El -.It Fl S Ar slot , Ns Ar emulation Ns Op , Ns Ar conf -Identical to the -s option except the device is instructed to use legacy -ISA addresses if possible. -Currently this only has an effect with the -.Li uart -device emulation. -This option will be deprecated in a future version. .It Fl l Ar lpcdev Ns Op , Ns Ar conf Allow devices behind the LPC PCI-ISA bridge to be configured. The only supported devices are the TTY-class devices, Modified: head/usr.sbin/bhyve/bhyverun.c ============================================================================== --- head/usr.sbin/bhyve/bhyverun.c Mon Jan 27 19:49:52 2014 (r261216) +++ head/usr.sbin/bhyve/bhyverun.c Mon Jan 27 22:26:15 2014 (r261217) @@ -124,7 +124,7 @@ usage(int code) { fprintf(stderr, - "Usage: %s [-aehwAHIPW] [-g ] [-s ] [-S ]\n" + "Usage: %s [-aehwAHIPW] [-g ] [-s ]\n" " %*s [-c vcpus] [-p pincpu] [-m mem] [-l ] \n" " -a: local apic is in XAPIC mode (default is X2APIC)\n" " -A: create an ACPI table\n" @@ -137,7 +137,6 @@ usage(int code) " -e: exit on unhandled I/O access\n" " -h: help\n" " -s: PCI slot config\n" - " -S: legacy PCI slot config\n" " -l: LPC device configuration\n" " -m: memory size in MB\n" " -w: ignore unimplemented MSRs\n", @@ -599,7 +598,7 @@ main(int argc, char *argv[]) guest_ncpus = 1; memsize = 256 * MB; - while ((c = getopt(argc, argv, "abehwAHIPWp:g:c:s:S:m:l:")) != -1) { + while ((c = getopt(argc, argv, "abehwAHIPWp:g:c:s:m:l:")) != -1) { switch (c) { case 'a': disable_x2apic = 1; @@ -626,12 +625,7 @@ main(int argc, char *argv[]) } break; case 's': - if (pci_parse_slot(optarg, 0) != 0) - exit(1); - else - break; - case 'S': - if (pci_parse_slot(optarg, 1) != 0) + if (pci_parse_slot(optarg) != 0) exit(1); else break; Modified: head/usr.sbin/bhyve/pci_emul.c ============================================================================== --- head/usr.sbin/bhyve/pci_emul.c Mon Jan 27 19:49:52 2014 (r261216) +++ head/usr.sbin/bhyve/pci_emul.c Mon Jan 27 22:26:15 2014 (r261217) @@ -75,7 +75,6 @@ static struct slotinfo { char *si_name; char *si_param; struct pci_devinst *si_devi; - int si_legacy; } pci_slotinfo[MAXSLOTS][MAXFUNCS]; SET_DECLARE(pci_devemu_set, struct pci_devemu); @@ -123,7 +122,7 @@ pci_parse_slot_usage(char *aopt) } int -pci_parse_slot(char *opt, int legacy) +pci_parse_slot(char *opt) { char *slot, *func, *emul, *config; char *str, *cpy; @@ -170,7 +169,6 @@ pci_parse_slot(char *opt, int legacy) error = 0; pci_slotinfo[snum][fnum].si_name = emul; pci_slotinfo[snum][fnum].si_param = config; - pci_slotinfo[snum][fnum].si_legacy = legacy; done: if (error) @@ -521,13 +519,7 @@ pci_emul_alloc_pbar(struct pci_devinst * addr = mask = lobits = 0; break; case PCIBAR_IO: - if (hostbase && - pci_slotinfo[pdi->pi_slot][pdi->pi_func].si_legacy) { - assert(hostbase < PCI_EMUL_IOBASE); - baseptr = &hostbase; - } else { - baseptr = &pci_emul_iobase; - } + baseptr = &pci_emul_iobase; limit = PCI_EMUL_IOLIMIT; mask = PCIM_BAR_IO_BASE; lobits = PCIM_BAR_IO_SPACE; @@ -1185,13 +1177,6 @@ pci_generate_msi(struct pci_devinst *pi, } int -pci_is_legacy(struct pci_devinst *pi) -{ - - return (pci_slotinfo[pi->pi_slot][pi->pi_func].si_legacy); -} - -int pci_lintr_request(struct pci_devinst *pi, int req) { int irq; Modified: head/usr.sbin/bhyve/pci_emul.h ============================================================================== --- head/usr.sbin/bhyve/pci_emul.h Mon Jan 27 19:49:52 2014 (r261216) +++ head/usr.sbin/bhyve/pci_emul.h Mon Jan 27 22:26:15 2014 (r261217) @@ -199,7 +199,6 @@ int pci_emul_alloc_pbar(struct pci_devin uint64_t hostbase, enum pcibar_type type, uint64_t size); int pci_emul_add_msicap(struct pci_devinst *pi, int msgnum); int pci_emul_add_pciecap(struct pci_devinst *pi, int pcie_device_type); -int pci_is_legacy(struct pci_devinst *pi); void pci_generate_msi(struct pci_devinst *pi, int msgnum); void pci_generate_msix(struct pci_devinst *pi, int msgnum); void pci_lintr_assert(struct pci_devinst *pi); @@ -210,7 +209,7 @@ int pci_msix_enabled(struct pci_devinst int pci_msix_table_bar(struct pci_devinst *pi); int pci_msix_pba_bar(struct pci_devinst *pi); int pci_msi_msgnum(struct pci_devinst *pi); -int pci_parse_slot(char *opt, int legacy); +int pci_parse_slot(char *opt); void pci_populate_msicap(struct msicap *cap, int msgs, int nextptr); int pci_emul_add_msixcap(struct pci_devinst *pi, int msgnum, int barnum); int pci_emul_msix_twrite(struct pci_devinst *pi, uint64_t offset, int size, Modified: head/usr.sbin/bhyve/pci_uart.c ============================================================================== --- head/usr.sbin/bhyve/pci_uart.c Mon Jan 27 19:49:52 2014 (r261216) +++ head/usr.sbin/bhyve/pci_uart.c Mon Jan 27 22:26:15 2014 (r261217) @@ -85,28 +85,13 @@ pci_uart_read(struct vmctx *ctx, int vcp return (val); } -static int pci_uart_nldevs; /* number of legacy uart ports allocated */ - static int pci_uart_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts) { struct uart_softc *sc; - int ioaddr, ivec; - if (pci_is_legacy(pi)) { - if (uart_legacy_alloc(pci_uart_nldevs, &ioaddr, &ivec) != 0) { - fprintf(stderr, "Unable to allocate resources for " - "legacy COM%d port at pci device %d:%d\n", - pci_uart_nldevs + 1, pi->pi_slot, pi->pi_func); - return (-1); - } - pci_uart_nldevs++; - pci_emul_alloc_pbar(pi, 0, ioaddr, PCIBAR_IO, UART_IO_BAR_SIZE); - } else { - ivec = -1; - pci_emul_alloc_bar(pi, 0, PCIBAR_IO, UART_IO_BAR_SIZE); - } - pci_lintr_request(pi, ivec); + pci_emul_alloc_bar(pi, 0, PCIBAR_IO, UART_IO_BAR_SIZE); + pci_lintr_request(pi, -1); /* initialize config space */ pci_set_cfgdata16(pi, PCIR_DEVICE, COM_DEV); From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 01:49:50 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A8B6597; Tue, 28 Jan 2014 01:49:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D0D3B1752; Tue, 28 Jan 2014 01:49:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0S1nnF1016891; Tue, 28 Jan 2014 01:49:49 GMT (envelope-from csjp@svn.freebsd.org) Received: (from csjp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0S1nn2K016889; Tue, 28 Jan 2014 01:49:49 GMT (envelope-from csjp@svn.freebsd.org) Message-Id: <201401280149.s0S1nn2K016889@svn.freebsd.org> From: "Christian S.J. Peron" Date: Tue, 28 Jan 2014 01:49:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261220 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 01:49:50 -0000 Author: csjp Date: Tue Jan 28 01:49:49 2014 New Revision: 261220 URL: http://svnweb.freebsd.org/changeset/base/261220 Log: Allow sigwait(2) in capabilities mode. It's common for multi-threaded processes to create a thread for the purpose of synchronously processing signals. Allow such processes to utilize a capabilities sandbox. Discussed with: rwatson, pjd MFC after: 2 weeks Modified: head/sys/kern/capabilities.conf head/sys/kern/init_sysent.c Modified: head/sys/kern/capabilities.conf ============================================================================== --- head/sys/kern/capabilities.conf Tue Jan 28 00:31:48 2014 (r261219) +++ head/sys/kern/capabilities.conf Tue Jan 28 01:49:49 2014 (r261220) @@ -667,6 +667,7 @@ sigsuspend sigtimedwait sigvec sigwaitinfo +sigwait ## ## Allow creating new socket pairs with socket(2) and socketpair(2). Modified: head/sys/kern/init_sysent.c ============================================================================== --- head/sys/kern/init_sysent.c Tue Jan 28 00:31:48 2014 (r261219) +++ head/sys/kern/init_sysent.c Tue Jan 28 01:49:49 2014 (r261220) @@ -463,7 +463,7 @@ struct sysent sysent[] = { { AS(__acl_set_link_args), (sy_call_t *)sys___acl_set_link, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 426 = __acl_set_link */ { AS(__acl_delete_link_args), (sy_call_t *)sys___acl_delete_link, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 427 = __acl_delete_link */ { AS(__acl_aclcheck_link_args), (sy_call_t *)sys___acl_aclcheck_link, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 428 = __acl_aclcheck_link */ - { AS(sigwait_args), (sy_call_t *)sys_sigwait, AUE_SIGWAIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 429 = sigwait */ + { AS(sigwait_args), (sy_call_t *)sys_sigwait, AUE_SIGWAIT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 429 = sigwait */ { AS(thr_create_args), (sy_call_t *)sys_thr_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 430 = thr_create */ { AS(thr_exit_args), (sy_call_t *)sys_thr_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 431 = thr_exit */ { AS(thr_self_args), (sy_call_t *)sys_thr_self, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 432 = thr_self */ From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 07:04:35 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8E894F61; Tue, 28 Jan 2014 07:04:35 +0000 (UTC) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) by mx1.freebsd.org (Postfix) with ESMTP id 473231ED7; Tue, 28 Jan 2014 07:04:35 +0000 (UTC) Received: from slw by zxy.spb.ru with local (Exim 4.69 (FreeBSD)) (envelope-from ) id 1W82ii-000C8L-Qq; Tue, 28 Jan 2014 11:04:28 +0400 Date: Tue, 28 Jan 2014 11:04:28 +0400 From: Slawa Olhovchenkov To: Xin LI Subject: Re: svn commit: r259813 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zhack cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/ope... Message-ID: <20140128070428.GA46109@zxy.spb.ru> References: <201312240714.rBO7EQoT064268@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201312240714.rBO7EQoT064268@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 07:04:35 -0000 On Tue, Dec 24, 2013 at 07:14:26AM +0000, Xin LI wrote: > Author: delphij > Date: Tue Dec 24 07:14:25 2013 > New Revision: 259813 > URL: http://svnweb.freebsd.org/changeset/base/259813 > > Log: > MFV r258374: > > 4171 clean up spa_feature_*() interfaces > > 4172 implement extensible_dataset feature for use by other zpool > features > > illumos/illumos-gate@2acef22db7808606888f8f92715629ff3ba555b9 > > MFC after: 2 weeks MFC? From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 07:21:47 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3169C538; Tue, 28 Jan 2014 07:21:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1D3961FFA; Tue, 28 Jan 2014 07:21:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0S7LkfC047299; Tue, 28 Jan 2014 07:21:46 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0S7LkJC047297; Tue, 28 Jan 2014 07:21:46 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401280721.s0S7LkJC047297@svn.freebsd.org> From: Hans Petter Selasky Date: Tue, 28 Jan 2014 07:21:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261224 - head/lib/libusb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 07:21:47 -0000 Author: hselasky Date: Tue Jan 28 07:21:46 2014 New Revision: 261224 URL: http://svnweb.freebsd.org/changeset/base/261224 Log: Comply to the official LibUSB v1.0 API: "It is legal to attempt to claim an already-claimed interface." MFC after: 1 week Modified: head/lib/libusb/libusb10.c Modified: head/lib/libusb/libusb10.c ============================================================================== --- head/lib/libusb/libusb10.c Tue Jan 28 07:11:23 2014 (r261223) +++ head/lib/libusb/libusb10.c Tue Jan 28 07:21:46 2014 (r261224) @@ -611,7 +611,6 @@ int libusb_claim_interface(struct libusb20_device *pdev, int interface_number) { libusb_device *dev; - int err = 0; dev = libusb_get_device(pdev); if (dev == NULL) @@ -621,13 +620,10 @@ libusb_claim_interface(struct libusb20_d return (LIBUSB_ERROR_INVALID_PARAM); CTX_LOCK(dev->ctx); - if (dev->claimed_interfaces & (1 << interface_number)) - err = LIBUSB_ERROR_BUSY; - - if (!err) - dev->claimed_interfaces |= (1 << interface_number); + dev->claimed_interfaces |= (1 << interface_number); CTX_UNLOCK(dev->ctx); - return (err); + + return (0); } int From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 08:49:01 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3A4D7879; Tue, 28 Jan 2014 08:49:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2670D1609; Tue, 28 Jan 2014 08:49:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0S8n1Jh079785; Tue, 28 Jan 2014 08:49:01 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0S8n1ZA079784; Tue, 28 Jan 2014 08:49:01 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401280849.s0S8n1ZA079784@svn.freebsd.org> From: Hans Petter Selasky Date: Tue, 28 Jan 2014 08:49:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261226 - head/sys/dev/usb/input X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 08:49:01 -0000 Author: hselasky Date: Tue Jan 28 08:49:00 2014 New Revision: 261226 URL: http://svnweb.freebsd.org/changeset/base/261226 Log: Revert r260622: To be implemented a bit differently. Modified: head/sys/dev/usb/input/ukbd.c Modified: head/sys/dev/usb/input/ukbd.c ============================================================================== --- head/sys/dev/usb/input/ukbd.c Tue Jan 28 08:07:19 2014 (r261225) +++ head/sys/dev/usb/input/ukbd.c Tue Jan 28 08:49:00 2014 (r261226) @@ -197,7 +197,6 @@ struct ukbd_softc { #define UKBD_FLAG_NUMLOCK 0x00080000 #define UKBD_FLAG_CAPSLOCK 0x00100000 #define UKBD_FLAG_SCROLLLOCK 0x00200000 -#define UKBD_FLAG_VALID_KEYS 0x00400000 int sc_mode; /* input mode (K_XLATE,K_RAW,K_CODE) */ int sc_state; /* shift/lock key state */ @@ -513,41 +512,6 @@ ukbd_interrupt(struct ukbd_softc *sc) n_mod = sc->sc_ndata.modifiers; o_mod = sc->sc_odata.modifiers; - - /* - * Don't output any modifier keys before we see a valid - * non-modifier key press. This prevents so-called "ghost - * keyboards" keeping modifier keys pressed while not actually - * seen as a real keyboard. - */ - if (sc->sc_flags & UKBD_FLAG_VALID_KEYS) - goto kfound; - - for (i = 0; i != UKBD_NKEYCODE; i++) { - key = sc->sc_ndata.keycode[i]; - switch (key) { - case 0xe0: - case 0xe4: - case 0xe1: - case 0xe5: - case 0xe2: - case 0xe6: - case 0xe3: - case 0xe7: - case 0x00: - case KEY_ERROR: - break; - default: - sc->sc_flags |= UKBD_FLAG_VALID_KEYS; - goto kfound; - } - } - DPRINTF("Keeping modifiers buffered\n"); - - /* keep modifiers in buffer */ - sc->sc_ndata.modifiers = n_mod = 0; - -kfound: if (n_mod != o_mod) { for (i = 0; i < UKBD_NMOD; i++) { if ((n_mod & ukbd_mods[i].mask) != From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 09:12:15 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 00F6BFA5; Tue, 28 Jan 2014 09:12:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D58031854; Tue, 28 Jan 2014 09:12:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0S9CEUG090851; Tue, 28 Jan 2014 09:12:14 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0S9C5AN090788; Tue, 28 Jan 2014 09:12:05 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201401280912.s0S9C5AN090788@svn.freebsd.org> From: Andrew Turner Date: Tue, 28 Jan 2014 09:12:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261227 - in head/sys: arm/allwinner arm/allwinner/a20 arm/arm arm/at91 arm/broadcom/bcm2835 arm/conf arm/econa arm/freescale/imx arm/freescale/vybrid arm/lpc arm/mv/armadaxp arm/mv/dis... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 09:12:15 -0000 Author: andrew Date: Tue Jan 28 09:12:04 2014 New Revision: 261227 URL: http://svnweb.freebsd.org/changeset/base/261227 Log: Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with memory at the end of the kernel. This helps reduce the SoC and board specific configuration required. Reviewed by: bsdimp Tested by: jmg (armeb), br Modified: head/sys/arm/allwinner/a20/std.a20 head/sys/arm/allwinner/std.a10 head/sys/arm/arm/locore.S head/sys/arm/at91/std.bwct head/sys/arm/at91/std.eb9200 head/sys/arm/at91/std.ethernut5 head/sys/arm/at91/std.hl200 head/sys/arm/at91/std.hl201 head/sys/arm/at91/std.kb920x head/sys/arm/at91/std.qila9g20 head/sys/arm/at91/std.sam9260ek head/sys/arm/at91/std.sam9g20ek head/sys/arm/at91/std.sam9x25ek head/sys/arm/at91/std.sn9g45 head/sys/arm/at91/std.tsc4370 head/sys/arm/broadcom/bcm2835/std.rpi head/sys/arm/conf/ATMEL head/sys/arm/conf/CNS11XXNAS head/sys/arm/conf/CRB head/sys/arm/conf/EP80219 head/sys/arm/conf/GUMSTIX head/sys/arm/conf/IQ31244 head/sys/arm/conf/NSLU head/sys/arm/conf/VERSATILEPB head/sys/arm/econa/std.econa head/sys/arm/freescale/imx/std.imx51 head/sys/arm/freescale/imx/std.imx53 head/sys/arm/freescale/imx/std.imx6 head/sys/arm/freescale/vybrid/std.vybrid head/sys/arm/lpc/std.lpc head/sys/arm/mv/armadaxp/std.armadaxp head/sys/arm/mv/discovery/std.db78xxx head/sys/arm/mv/kirkwood/std.kirkwood head/sys/arm/mv/orion/std.db88f5xxx head/sys/arm/mv/orion/std.ts7800 head/sys/arm/rockchip/std.rk30xx head/sys/arm/s3c2xx0/std.ln2410sbc head/sys/arm/samsung/exynos/std.exynos5 head/sys/arm/tegra/std.tegra2 head/sys/arm/ti/am335x/std.am335x head/sys/arm/ti/omap4/std.omap4 head/sys/arm/xilinx/std.zynq7 head/sys/arm/xscale/ixp425/std.avila head/sys/conf/ldscript.arm head/sys/conf/options.arm Modified: head/sys/arm/allwinner/a20/std.a20 ============================================================================== --- head/sys/arm/allwinner/a20/std.a20 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/allwinner/a20/std.a20 Tue Jan 28 09:12:04 2014 (r261227) @@ -16,8 +16,6 @@ options KERNPHYSADDR=0x40200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x48000000 - options ARM_L2_PIPT options IPI_IRQ_START=0 Modified: head/sys/arm/allwinner/std.a10 ============================================================================== --- head/sys/arm/allwinner/std.a10 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/allwinner/std.a10 Tue Jan 28 09:12:04 2014 (r261227) @@ -16,6 +16,4 @@ options KERNPHYSADDR=0x40200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x48000000 - files "../allwinner/files.a10" Modified: head/sys/arm/arm/locore.S ============================================================================== --- head/sys/arm/arm/locore.S Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/arm/locore.S Tue Jan 28 09:12:04 2014 (r261227) @@ -144,9 +144,15 @@ disable_mmu: nop mov pc, r7 Lunmapped: -#ifdef STARTUP_PAGETABLE_ADDR - /* build page table from scratch */ - ldr r0, Lstartup_pagetable + /* + * Build page table from scratch. + */ + + /* Load the page tables physical address */ + ldr r1, Lstartup_pagetable + ldr r2, =(KERNVIRTADDR - KERNPHYSADDR) + sub r0, r1, r2 + adr r4, mmu_init_table b 3f @@ -197,7 +203,6 @@ Lunmapped: nop CPWAIT(r0) -#endif mmu_done: nop adr r1, .Lstart @@ -231,7 +236,6 @@ virt_done: adr r0, .Lmainreturned b _C_LABEL(panic) /* NOTREACHED */ -#ifdef STARTUP_PAGETABLE_ADDR #define MMU_INIT(va,pa,n_sec,attr) \ .word n_sec ; \ .word 4*((va)>>L1_S_SHIFT) ; \ @@ -246,7 +250,7 @@ Lreal_start: Lend: .word _edata Lstartup_pagetable: - .word STARTUP_PAGETABLE_ADDR + .word pagetable #ifdef SMP Lstartup_pagetable_secondary: .word temp_pagetable @@ -272,10 +276,9 @@ mmu_init_table: MMU_INIT(0x48000000, 0x48000000, 1, L1_TYPE_S|L1_SHARED|L1_S_C|L1_S_AP(AP_KRW)) #endif /* SMP */ .word 0 /* end of table */ -#endif .Lstart: .word _edata - .word _end + .word _ebss .word svcstk + INIT_ARM_STACK_SIZE .Lvirt_done: @@ -293,6 +296,15 @@ mmu_init_table: svcstk: .space INIT_ARM_STACK_SIZE +/* + * Memory for the initial pagetable. We are unable to place this in + * the bss as this will be cleared after the table is loaded. + */ + .section ".init_pagetable" + .align 14 /* 16KiB aligned */ +pagetable: + .space L1_TABLE_SIZE + .text .align 0 Modified: head/sys/arm/at91/std.bwct ============================================================================== --- head/sys/arm/at91/std.bwct Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.bwct Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 options KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 Modified: head/sys/arm/at91/std.eb9200 ============================================================================== --- head/sys/arm/at91/std.eb9200 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.eb9200 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 options KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 Modified: head/sys/arm/at91/std.ethernut5 ============================================================================== --- head/sys/arm/at91/std.ethernut5 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.ethernut5 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ # $FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/at91/std.hl200 ============================================================================== --- head/sys/arm/at91/std.hl200 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.hl200 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20000000 makeoptions KERNPHYSADDR=0x20100000 options KERNPHYSADDR=0x20100000 makeoptions KERNVIRTADDR=0xc0100000 Modified: head/sys/arm/at91/std.hl201 ============================================================================== --- head/sys/arm/at91/std.hl201 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.hl201 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/at91/std.kb920x ============================================================================== --- head/sys/arm/at91/std.kb920x Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.kb920x Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 options KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 Modified: head/sys/arm/at91/std.qila9g20 ============================================================================== --- head/sys/arm/at91/std.qila9g20 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.qila9g20 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/at91/std.sam9260ek ============================================================================== --- head/sys/arm/at91/std.sam9260ek Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.sam9260ek Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ # $FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/at91/std.sam9g20ek ============================================================================== --- head/sys/arm/at91/std.sam9g20ek Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.sam9g20ek Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/at91/std.sam9x25ek ============================================================================== --- head/sys/arm/at91/std.sam9x25ek Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.sam9x25ek Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91sam9" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/at91/std.sn9g45 ============================================================================== --- head/sys/arm/at91/std.sn9g45 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.sn9g45 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91sam9g45" -options STARTUP_PAGETABLE_ADDR=0x70800000 makeoptions KERNPHYSADDR=0x70008000 options KERNPHYSADDR=0x70008000 makeoptions KERNVIRTADDR=0xc0008000 Modified: head/sys/arm/at91/std.tsc4370 ============================================================================== --- head/sys/arm/at91/std.tsc4370 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/at91/std.tsc4370 Tue Jan 28 09:12:04 2014 (r261227) @@ -1,7 +1,6 @@ #$FreeBSD$ include "../at91/std.at91" -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/broadcom/bcm2835/std.rpi ============================================================================== --- head/sys/arm/broadcom/bcm2835/std.rpi Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/broadcom/bcm2835/std.rpi Tue Jan 28 09:12:04 2014 (r261227) @@ -7,6 +7,5 @@ makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x00100000 makeoptions KERNPHYSADDR=0x00100000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x01000000 options FREEBSD_BOOT_LOADER options LINUX_BOOT_ABI Modified: head/sys/arm/conf/ATMEL ============================================================================== --- head/sys/arm/conf/ATMEL Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/ATMEL Tue Jan 28 09:12:04 2014 (r261227) @@ -10,7 +10,6 @@ include "../at91/std.atmel" # Typical values for most SoCs and board configurations. Will not work for # at91sam9g45 or on some boards with non u-boot boot loaders. -options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 Modified: head/sys/arm/conf/CNS11XXNAS ============================================================================== --- head/sys/arm/conf/CNS11XXNAS Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/CNS11XXNAS Tue Jan 28 09:12:04 2014 (r261227) @@ -25,7 +25,6 @@ ident CNS11XXNAS #options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm #options FLASHADDR=0x50000000 #options LOADERRAMADDR=0x00000000 -#options STARTUP_PAGETABLE_ADDR=0x10000000 include "../econa/std.econa" Modified: head/sys/arm/conf/CRB ============================================================================== --- head/sys/arm/conf/CRB Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/CRB Tue Jan 28 09:12:04 2014 (r261227) @@ -24,7 +24,6 @@ options KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm options COUNTS_PER_SEC=400000000 -options STARTUP_PAGETABLE_ADDR=0x00000000 include "../xscale/i8134x/std.crb" makeoptions MODULES_OVERRIDE="" Modified: head/sys/arm/conf/EP80219 ============================================================================== --- head/sys/arm/conf/EP80219 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/EP80219 Tue Jan 28 09:12:04 2014 (r261227) @@ -23,7 +23,6 @@ options PHYSADDR=0xa0000000 options KERNPHYSADDR=0xa0200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm -options STARTUP_PAGETABLE_ADDR=0xa0000000 #options ARM32_NEW_VM_LAYOUT include "../xscale/i80321/std.ep80219" makeoptions MODULES_OVERRIDE="" Modified: head/sys/arm/conf/GUMSTIX ============================================================================== --- head/sys/arm/conf/GUMSTIX Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/GUMSTIX Tue Jan 28 09:12:04 2014 (r261227) @@ -30,7 +30,6 @@ options PHYSADDR=0xa0000000 options KERNPHYSADDR=0xa0200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm -options STARTUP_PAGETABLE_ADDR=0xa0000000 include "../xscale/pxa/std.pxa" makeoptions MODULES_OVERRIDE="" Modified: head/sys/arm/conf/IQ31244 ============================================================================== --- head/sys/arm/conf/IQ31244 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/IQ31244 Tue Jan 28 09:12:04 2014 (r261227) @@ -25,7 +25,6 @@ options KERNVIRTADDR=0xc0200000 # Used options FLASHADDR=0xf0000000 options LOADERRAMADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0xa0000000 include "../xscale/i80321/std.iq31244" makeoptions MODULES_OVERRIDE="" Modified: head/sys/arm/conf/NSLU ============================================================================== --- head/sys/arm/conf/NSLU Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/NSLU Tue Jan 28 09:12:04 2014 (r261227) @@ -25,7 +25,6 @@ ident NSLU #options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm #options FLASHADDR=0x50000000 #options LOADERRAMADDR=0x00000000 -#options STARTUP_PAGETABLE_ADDR=0x10000000 include "../xscale/ixp425/std.ixp425" # NB: memory mapping is defined in std.avila (see also comment above) Modified: head/sys/arm/conf/VERSATILEPB ============================================================================== --- head/sys/arm/conf/VERSATILEPB Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/conf/VERSATILEPB Tue Jan 28 09:12:04 2014 (r261227) @@ -29,7 +29,6 @@ makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x00100000 makeoptions KERNPHYSADDR=0x00100000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x01000000 options FREEBSD_BOOT_LOADER options LINUX_BOOT_ABI Modified: head/sys/arm/econa/std.econa ============================================================================== --- head/sys/arm/econa/std.econa Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/econa/std.econa Tue Jan 28 09:12:04 2014 (r261227) @@ -12,6 +12,5 @@ options KERNPHYSADDR=0x01000000 options KERNVIRTADDR=0xc1000000 # Used in ldscript.arm options FLASHADDR=0xD0000000 options LOADERRAMADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 options NO_EVENTTIMERS Modified: head/sys/arm/freescale/imx/std.imx51 ============================================================================== --- head/sys/arm/freescale/imx/std.imx51 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/freescale/imx/std.imx51 Tue Jan 28 09:12:04 2014 (r261227) @@ -9,7 +9,6 @@ makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x90100000 makeoptions KERNPHYSADDR=0x90100000 options PHYSADDR=0x90000000 -options STARTUP_PAGETABLE_ADDR=0x91000000 files "../freescale/imx/files.imx51" Modified: head/sys/arm/freescale/imx/std.imx53 ============================================================================== --- head/sys/arm/freescale/imx/std.imx53 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/freescale/imx/std.imx53 Tue Jan 28 09:12:04 2014 (r261227) @@ -9,7 +9,6 @@ makeoptions KERNVIRTADDR=0xc0100000 options KERNPHYSADDR=0x70100000 makeoptions KERNPHYSADDR=0x70100000 options PHYSADDR=0x70000000 -options STARTUP_PAGETABLE_ADDR=0x71000000 files "../freescale/imx/files.imx53" Modified: head/sys/arm/freescale/imx/std.imx6 ============================================================================== --- head/sys/arm/freescale/imx/std.imx6 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/freescale/imx/std.imx6 Tue Jan 28 09:12:04 2014 (r261227) @@ -9,7 +9,6 @@ makeoptions KERNVIRTADDR = 0xc2000000 options KERNPHYSADDR = 0x12000000 makeoptions KERNPHYSADDR = 0x12000000 options PHYSADDR = 0x10000000 -options STARTUP_PAGETABLE_ADDR = 0x11f00000 files "../freescale/imx/files.imx6" Modified: head/sys/arm/freescale/vybrid/std.vybrid ============================================================================== --- head/sys/arm/freescale/vybrid/std.vybrid Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/freescale/vybrid/std.vybrid Tue Jan 28 09:12:04 2014 (r261227) @@ -13,8 +13,6 @@ options KERNPHYSADDR=0x80100000 makeoptions KERNVIRTADDR=0xc0100000 options KERNVIRTADDR=0xc0100000 -options STARTUP_PAGETABLE_ADDR=0x81000000 - options ARM_L2_PIPT files "../freescale/vybrid/files.vybrid" Modified: head/sys/arm/lpc/std.lpc ============================================================================== --- head/sys/arm/lpc/std.lpc Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/lpc/std.lpc Tue Jan 28 09:12:04 2014 (r261227) @@ -8,7 +8,6 @@ cpu CPU_ARM9 machine arm makeoptions CONF_CFLAGS="-march=armv5te" options PHYSADDR=0x80000000 -options STARTUP_PAGETABLE_ADDR=0x80000000 makeoptions KERNPHYSADDR=0x80100000 options KERNPHYSADDR=0x80100000 makeoptions KERNVIRTADDR=0xc0100000 Modified: head/sys/arm/mv/armadaxp/std.armadaxp ============================================================================== --- head/sys/arm/mv/armadaxp/std.armadaxp Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/mv/armadaxp/std.armadaxp Tue Jan 28 09:12:04 2014 (r261227) @@ -12,6 +12,5 @@ makeoptions KERNVIRTADDR=0xc0200000 options KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 options ARM_L2_PIPT Modified: head/sys/arm/mv/discovery/std.db78xxx ============================================================================== --- head/sys/arm/mv/discovery/std.db78xxx Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/mv/discovery/std.db78xxx Tue Jan 28 09:12:04 2014 (r261227) @@ -9,4 +9,3 @@ makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 Modified: head/sys/arm/mv/kirkwood/std.kirkwood ============================================================================== --- head/sys/arm/mv/kirkwood/std.kirkwood Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/mv/kirkwood/std.kirkwood Tue Jan 28 09:12:04 2014 (r261227) @@ -12,4 +12,3 @@ makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 Modified: head/sys/arm/mv/orion/std.db88f5xxx ============================================================================== --- head/sys/arm/mv/orion/std.db88f5xxx Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/mv/orion/std.db88f5xxx Tue Jan 28 09:12:04 2014 (r261227) @@ -9,4 +9,3 @@ makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 Modified: head/sys/arm/mv/orion/std.ts7800 ============================================================================== --- head/sys/arm/mv/orion/std.ts7800 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/mv/orion/std.ts7800 Tue Jan 28 09:12:04 2014 (r261227) @@ -9,7 +9,6 @@ makeoptions KERNVIRTADDR=0xc0900000 options KERNPHYSADDR=0x00900000 options KERNVIRTADDR=0xc0900000 options PHYSADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00100000 options LOADERRAMADDR=0x00000000 options FLASHADDR=0x00008000 Modified: head/sys/arm/rockchip/std.rk30xx ============================================================================== --- head/sys/arm/rockchip/std.rk30xx Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/rockchip/std.rk30xx Tue Jan 28 09:12:04 2014 (r261227) @@ -17,8 +17,6 @@ options KERNPHYSADDR=0x60400000 makeoptions KERNVIRTADDR=0xc0400000 options KERNVIRTADDR=0xc0400000 -options STARTUP_PAGETABLE_ADDR=0x60200000 - options ARM_L2_PIPT options IPI_IRQ_START=0 Modified: head/sys/arm/s3c2xx0/std.ln2410sbc ============================================================================== --- head/sys/arm/s3c2xx0/std.ln2410sbc Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/s3c2xx0/std.ln2410sbc Tue Jan 28 09:12:04 2014 (r261227) @@ -6,6 +6,5 @@ makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x30000000 options KERNVIRTADDR=0xc0000000 options PHYSADDR=0x30000000 -options STARTUP_PAGETABLE_ADDR=0x30800000 options NO_EVENTTIMERS Modified: head/sys/arm/samsung/exynos/std.exynos5 ============================================================================== --- head/sys/arm/samsung/exynos/std.exynos5 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/samsung/exynos/std.exynos5 Tue Jan 28 09:12:04 2014 (r261227) @@ -13,8 +13,6 @@ options KERNPHYSADDR=0x40f00000 makeoptions KERNVIRTADDR=0xc0f00000 options KERNVIRTADDR=0xc0f00000 -options STARTUP_PAGETABLE_ADDR=0x40100000 - options ARM_L2_PIPT options IPI_IRQ_START=0 Modified: head/sys/arm/tegra/std.tegra2 ============================================================================== --- head/sys/arm/tegra/std.tegra2 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/tegra/std.tegra2 Tue Jan 28 09:12:04 2014 (r261227) @@ -11,6 +11,4 @@ options KERNPHYSADDR=0x00200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x00100000 - files "../tegra/files.tegra2" Modified: head/sys/arm/ti/am335x/std.am335x ============================================================================== --- head/sys/arm/ti/am335x/std.am335x Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/ti/am335x/std.am335x Tue Jan 28 09:12:04 2014 (r261227) @@ -14,8 +14,6 @@ makeoptions KERNPHYSADDR=0x80200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x80000000 - options SOC_TI_AM335X options ARM_L2_PIPT Modified: head/sys/arm/ti/omap4/std.omap4 ============================================================================== --- head/sys/arm/ti/omap4/std.omap4 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/ti/omap4/std.omap4 Tue Jan 28 09:12:04 2014 (r261227) @@ -14,8 +14,6 @@ makeoptions KERNPHYSADDR=0x80200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 -options STARTUP_PAGETABLE_ADDR=0x80000000 - options SOC_OMAP4 options ARM_L2_PIPT Modified: head/sys/arm/xilinx/std.zynq7 ============================================================================== --- head/sys/arm/xilinx/std.zynq7 Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/xilinx/std.zynq7 Tue Jan 28 09:12:04 2014 (r261227) @@ -18,6 +18,5 @@ makeoptions KERNPHYSADDR=0x00100000 options KERNVIRTADDR=0xc0100000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0100000 -options STARTUP_PAGETABLE_ADDR=0x000f0000 options ARM_L2_PIPT Modified: head/sys/arm/xscale/ixp425/std.avila ============================================================================== --- head/sys/arm/xscale/ixp425/std.avila Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/arm/xscale/ixp425/std.avila Tue Jan 28 09:12:04 2014 (r261227) @@ -19,4 +19,3 @@ options KERNVIRTADDR=0xc0200000 # Used makeoptions KERNVIRTADDR=0xc0200000 options FLASHADDR=0x50000000 options LOADERRAMADDR=0x00000000 -options STARTUP_PAGETABLE_ADDR=0x00000000 Modified: head/sys/conf/ldscript.arm ============================================================================== --- head/sys/conf/ldscript.arm Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/conf/ldscript.arm Tue Jan 28 09:12:04 2014 (r261227) @@ -107,6 +107,12 @@ SECTIONS *(.dynbss) *(.bss) *(COMMON) + . = ALIGN(32 / 8); + _ebss = .; + /* A section for the initial page table, it doesn't need to be in the + kernel file, however unlike normal .bss entries should not be zeroed + out as we use it before the .bss section is cleared. */ + *(.init_pagetable) } . = ALIGN(32 / 8); _end = . ; Modified: head/sys/conf/options.arm ============================================================================== --- head/sys/conf/options.arm Tue Jan 28 08:49:00 2014 (r261226) +++ head/sys/conf/options.arm Tue Jan 28 09:12:04 2014 (r261227) @@ -50,7 +50,6 @@ SOC_OMAP3 opt_global.h SOC_OMAP4 opt_global.h SOC_TI_AM335X opt_global.h SOC_TEGRA2 opt_global.h -STARTUP_PAGETABLE_ADDR opt_global.h XSCALE_CACHE_READ_WRITE_ALLOCATE opt_global.h XSACLE_DISABLE_CCNT opt_timer.h VERBOSE_INIT_ARM opt_global.h From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 09:55:08 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7A239D61; Tue, 28 Jan 2014 09:55:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6663F1B29; Tue, 28 Jan 2014 09:55:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0S9t88x005918; Tue, 28 Jan 2014 09:55:08 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0S9t8pv005917; Tue, 28 Jan 2014 09:55:08 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401280955.s0S9t8pv005917@svn.freebsd.org> From: Hans Petter Selasky Date: Tue, 28 Jan 2014 09:55:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261228 - head/sys/dev/usb/input X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 09:55:08 -0000 Author: hselasky Date: Tue Jan 28 09:55:07 2014 New Revision: 261228 URL: http://svnweb.freebsd.org/changeset/base/261228 Log: When detaching a [USB] keyboard, keys might still be pressed. Ensure that all pressed keys are released before completing the USB keyboard detach. This will prevent so-called "ghost-keys" from appearing after that the USB device generating the key event(s) has been detached. MFC after: 1 week Modified: head/sys/dev/usb/input/ukbd.c Modified: head/sys/dev/usb/input/ukbd.c ============================================================================== --- head/sys/dev/usb/input/ukbd.c Tue Jan 28 09:12:04 2014 (r261227) +++ head/sys/dev/usb/input/ukbd.c Tue Jan 28 09:55:07 2014 (r261228) @@ -473,7 +473,8 @@ ukbd_get_key(struct ukbd_softc *sc, uint || (sc->sc_flags & UKBD_FLAG_POLLING) != 0, ("not polling in kdb or panic\n")); - if (sc->sc_inputs == 0) { + if (sc->sc_inputs == 0 && + (sc->sc_flags & UKBD_FLAG_GONE) == 0) { /* start transfer, if not already started */ usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT]); } @@ -1319,6 +1320,18 @@ ukbd_detach(device_t dev) usb_callout_stop(&sc->sc_callout); + /* kill any stuck keys */ + if (sc->sc_flags & UKBD_FLAG_ATTACHED) { + /* stop receiving events from the USB keyboard */ + usbd_transfer_stop(sc->sc_xfer[UKBD_INTR_DT]); + + /* release all leftover keys, if any */ + memset(&sc->sc_ndata, 0, sizeof(sc->sc_ndata)); + + /* process releasing of all keys */ + ukbd_interrupt(sc); + } + ukbd_disable(&sc->sc_kbd); #ifdef KBD_INSTALL_CDEV From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 12:26:39 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7D13F302; Tue, 28 Jan 2014 12:26:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 686ED178D; Tue, 28 Jan 2014 12:26:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SCQdNL061945; Tue, 28 Jan 2014 12:26:39 GMT (envelope-from maxim@svn.freebsd.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SCQddx061944; Tue, 28 Jan 2014 12:26:39 GMT (envelope-from maxim@svn.freebsd.org) Message-Id: <201401281226.s0SCQddx061944@svn.freebsd.org> From: Maxim Konovalov Date: Tue, 28 Jan 2014 12:26:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261229 - head/usr.sbin/bhyveload X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 12:26:39 -0000 Author: maxim Date: Tue Jan 28 12:26:38 2014 New Revision: 261229 URL: http://svnweb.freebsd.org/changeset/base/261229 Log: o Fix typo, sort .Xrs. PR: docs/186191 Submitted by: Andrew (typo fix) MFC after: 1 week Modified: head/usr.sbin/bhyveload/bhyveload.8 Modified: head/usr.sbin/bhyveload/bhyveload.8 ============================================================================== --- head/usr.sbin/bhyveload/bhyveload.8 Tue Jan 28 09:55:07 2014 (r261228) +++ head/usr.sbin/bhyveload/bhyveload.8 Tue Jan 28 12:26:38 2014 (r261229) @@ -134,10 +134,10 @@ device .Dl "bhyveload -m 256MB -h /usr/images/test -c /dev/nmdm1B test-vm" .Sh SEE ALSO .Xr bhyve 4 , +.Xr nmdm 4 , +.Xr vmm 4 , .Xr bhyve 8 , -.Xr loader 8 , -.Xr nmdm 4, -.Xr vmm 4 +.Xr loader 8 .Sh HISTORY .Nm first appeared in From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 12:48:19 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04E5AB93; Tue, 28 Jan 2014 12:48:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E41051968; Tue, 28 Jan 2014 12:48:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SCmIQO070226; Tue, 28 Jan 2014 12:48:18 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SCmIWG070223; Tue, 28 Jan 2014 12:48:18 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201401281248.s0SCmIWG070223@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Tue, 28 Jan 2014 12:48:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261230 - head/lib/libfetch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 12:48:19 -0000 Author: des Date: Tue Jan 28 12:48:17 2014 New Revision: 261230 URL: http://svnweb.freebsd.org/changeset/base/261230 Log: Solve http buffering issues and hangs once and for all (hopefully!) by simply not trying to return exactly what the caller asked for - just return whatever we got and let the caller be the judge of whether it was enough. If an error occurs or the connection times out after we already received some data, return a short read, under the assumption that the next call will fail or time out before we read anything. As it turns out, none of the code that calls fetch_read() assumes an all-or-nothing result anyway, except for a couple of lines where we read the CR LF at the end of a hunk in HTTP hunked encoding, so the changes outside of fetch_read() and http_readfn() are minimal. While there, replace select(2) with poll(2). MFC after: 3 days Modified: head/lib/libfetch/common.c head/lib/libfetch/common.h head/lib/libfetch/http.c Modified: head/lib/libfetch/common.c ============================================================================== --- head/lib/libfetch/common.c Tue Jan 28 12:26:38 2014 (r261229) +++ head/lib/libfetch/common.c Tue Jan 28 12:48:17 2014 (r261230) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -641,7 +642,7 @@ fetch_ssl_verify_hname(X509 *cert, const struct addrinfo *ip; STACK_OF(GENERAL_NAME) *altnames; X509_NAME *subject; - int ret; + int ret; ret = 0; ip = fetch_ssl_get_numeric_addrinfo(host, strlen(host)); @@ -913,33 +914,6 @@ fetch_ssl_read(SSL *ssl, char *buf, size } #endif -/* - * Cache some data that was read from a socket but cannot be immediately - * returned because of an interrupted system call. - */ -static int -fetch_cache_data(conn_t *conn, char *src, size_t nbytes) -{ - char *tmp; - - if (conn->cache.size < nbytes) { - tmp = realloc(conn->cache.buf, nbytes); - if (tmp == NULL) { - fetch_syserr(); - return (-1); - } - conn->cache.buf = tmp; - conn->cache.size = nbytes; - } - - memcpy(conn->cache.buf, src, nbytes); - conn->cache.len = nbytes; - conn->cache.pos = 0; - - return (0); -} - - static ssize_t fetch_socket_read(int sd, char *buf, size_t len) { @@ -962,46 +936,31 @@ ssize_t fetch_read(conn_t *conn, char *buf, size_t len) { struct timeval now, timeout, delta; - fd_set readfds; - ssize_t rlen, total; - char *start; + struct pollfd pfd; + ssize_t rlen; + int deltams; if (fetchTimeout > 0) { gettimeofday(&timeout, NULL); timeout.tv_sec += fetchTimeout; } - total = 0; - start = buf; + deltams = INFTIM; + memset(&pfd, 0, sizeof pfd); + pfd.fd = conn->sd; + pfd.events = POLLIN | POLLERR; - if (conn->cache.len > 0) { - /* - * The last invocation of fetch_read was interrupted by a - * signal after some data had been read from the socket. Copy - * the cached data into the supplied buffer before trying to - * read from the socket again. - */ - total = (conn->cache.len < len) ? conn->cache.len : len; - memcpy(buf, conn->cache.buf, total); - - conn->cache.len -= total; - conn->cache.pos += total; - len -= total; - buf += total; - } - - while (len > 0) { + for (;;) { /* * The socket is non-blocking. Instead of the canonical - * select() -> read(), we do the following: + * poll() -> read(), we do the following: * * 1) call read() or SSL_read(). - * 2) if an error occurred, return -1. - * 3) if we received data but we still expect more, - * update our counters and loop. + * 2) if we received some data, return it. + * 3) if an error occurred, return -1. * 4) if read() or SSL_read() signaled EOF, return. * 5) if we did not receive any data but we're not at EOF, - * call select(). + * call poll(). * * In the SSL case, this is necessary because if we * receive a close notification, we have to call @@ -1017,46 +976,34 @@ fetch_read(conn_t *conn, char *buf, size else #endif rlen = fetch_socket_read(conn->sd, buf, len); - if (rlen == 0) { + if (rlen > 0) { break; - } else if (rlen > 0) { - len -= rlen; - buf += rlen; - total += rlen; - continue; } else if (rlen == FETCH_READ_ERROR) { if (errno == EINTR) - fetch_cache_data(conn, start, total); + break; return (-1); } - // assert(rlen == FETCH_READ_WAIT); - FD_ZERO(&readfds); - while (!FD_ISSET(conn->sd, &readfds)) { - FD_SET(conn->sd, &readfds); - if (fetchTimeout > 0) { - gettimeofday(&now, NULL); - if (!timercmp(&timeout, &now, >)) { - errno = ETIMEDOUT; - fetch_syserr(); - return (-1); - } - timersub(&timeout, &now, &delta); - } - errno = 0; - if (select(conn->sd + 1, &readfds, NULL, NULL, - fetchTimeout > 0 ? &delta : NULL) < 0) { - if (errno == EINTR) { - if (fetchRestartCalls) - continue; - /* Save anything that was read. */ - fetch_cache_data(conn, start, total); - } + if (fetchTimeout > 0) { + gettimeofday(&now, NULL); + if (!timercmp(&timeout, &now, >)) { + errno = ETIMEDOUT; fetch_syserr(); return (-1); } + timersub(&timeout, &now, &delta); + deltams = delta.tv_sec * 1000 + + delta.tv_usec / 1000;; + } + errno = 0; + pfd.revents = 0; + if (poll(&pfd, 1, deltams) < 0) { + if (errno == EINTR && fetchRestartCalls) + continue; + fetch_syserr(); + return (-1); } } - return (total); + return (rlen); } @@ -1130,20 +1077,21 @@ ssize_t fetch_writev(conn_t *conn, struct iovec *iov, int iovcnt) { struct timeval now, timeout, delta; - fd_set writefds; + struct pollfd pfd; ssize_t wlen, total; - int r; + int deltams, r; + memset(&pfd, 0, sizeof pfd); if (fetchTimeout) { - FD_ZERO(&writefds); + pfd.fd = conn->sd; + pfd.events = POLLOUT | POLLERR; gettimeofday(&timeout, NULL); timeout.tv_sec += fetchTimeout; } total = 0; while (iovcnt > 0) { - while (fetchTimeout && !FD_ISSET(conn->sd, &writefds)) { - FD_SET(conn->sd, &writefds); + while (fetchTimeout && pfd.revents == 0) { gettimeofday(&now, NULL); delta.tv_sec = timeout.tv_sec - now.tv_sec; delta.tv_usec = timeout.tv_usec - now.tv_usec; @@ -1156,9 +1104,9 @@ fetch_writev(conn_t *conn, struct iovec fetch_syserr(); return (-1); } + deltams = delta.tv_sec * 1000 + delta.tv_usec / 1000;; errno = 0; - r = select(conn->sd + 1, NULL, &writefds, NULL, &delta); - if (r == -1) { + if ((r = poll(&pfd, 1, deltams)) == -1) { if (errno == EINTR && fetchRestartCalls) continue; return (-1); @@ -1250,7 +1198,6 @@ fetch_close(conn_t *conn) } #endif ret = close(conn->sd); - free(conn->cache.buf); free(conn->buf); free(conn); return (ret); Modified: head/lib/libfetch/common.h ============================================================================== --- head/lib/libfetch/common.h Tue Jan 28 12:26:38 2014 (r261229) +++ head/lib/libfetch/common.h Tue Jan 28 12:48:17 2014 (r261230) @@ -52,13 +52,6 @@ struct fetchconn { size_t bufsize; /* buffer size */ size_t buflen; /* length of buffer contents */ int err; /* last protocol reply code */ - struct { /* data cached after an interrupted - read */ - char *buf; - size_t size; - size_t pos; - size_t len; - } cache; #ifdef WITH_SSL SSL *ssl; /* SSL handle */ SSL_CTX *ssl_ctx; /* SSL context */ Modified: head/lib/libfetch/http.c ============================================================================== --- head/lib/libfetch/http.c Tue Jan 28 12:26:38 2014 (r261229) +++ head/lib/libfetch/http.c Tue Jan 28 12:48:17 2014 (r261230) @@ -208,6 +208,7 @@ static int http_fillbuf(struct httpio *io, size_t len) { ssize_t nbytes; + char ch; if (io->error) return (-1); @@ -249,10 +250,8 @@ http_fillbuf(struct httpio *io, size_t l io->chunksize -= io->buflen; if (io->chunksize == 0) { - char endl[2]; - - if (fetch_read(io->conn, endl, 2) != 2 || - endl[0] != '\r' || endl[1] != '\n') + if (fetch_read(io->conn, &ch, 1) != 1 || ch != '\r' || + fetch_read(io->conn, &ch, 1) != 1 || ch != '\n') return (-1); } @@ -268,31 +267,28 @@ static int http_readfn(void *v, char *buf, int len) { struct httpio *io = (struct httpio *)v; - int l, pos; + int rlen; if (io->error) return (-1); if (io->eof) return (0); - for (pos = 0; len > 0; pos += l, len -= l) { - /* empty buffer */ - if (!io->buf || io->bufpos == io->buflen) - if (http_fillbuf(io, len) < 1) - break; - l = io->buflen - io->bufpos; - if (len < l) - l = len; - memcpy(buf + pos, io->buf + io->bufpos, l); - io->bufpos += l; + /* empty buffer */ + if (!io->buf || io->bufpos == io->buflen) { + if (http_fillbuf(io, len) < 1) { + if (io->error == EINTR) + io->error = 0; + return (-1); + } } - if (!pos && io->error) { - if (io->error == EINTR) - io->error = 0; - return (-1); - } - return (pos); + rlen = io->buflen - io->bufpos; + if (len < rlen) + rlen = len; + memcpy(buf, io->buf + io->bufpos, rlen); + io->bufpos += rlen; + return (rlen); } /* From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 14:11:10 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 53A3D7D0; Tue, 28 Jan 2014 14:11:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3EC81113C; Tue, 28 Jan 2014 14:11:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SEBA42004126; Tue, 28 Jan 2014 14:11:10 GMT (envelope-from skreuzer@svn.freebsd.org) Received: (from skreuzer@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SEBANg004105; Tue, 28 Jan 2014 14:11:10 GMT (envelope-from skreuzer@svn.freebsd.org) Message-Id: <201401281411.s0SEBANg004105@svn.freebsd.org> From: Steven Kreuzer Date: Tue, 28 Jan 2014 14:11:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261232 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 14:11:10 -0000 Author: skreuzer (doc,ports committer) Date: Tue Jan 28 14:11:09 2014 New Revision: 261232 URL: http://svnweb.freebsd.org/changeset/base/261232 Log: Add missing 'n' after '\' Reported by: gavin Approved by: hrs (mentor) Modified: head/share/misc/committers-doc.dot Modified: head/share/misc/committers-doc.dot ============================================================================== --- head/share/misc/committers-doc.dot Tue Jan 28 13:29:54 2014 (r261231) +++ head/share/misc/committers-doc.dot Tue Jan 28 14:11:09 2014 (r261232) @@ -84,7 +84,7 @@ remko [label="Remko Lodder\nremko@FreeBS rene [label="Rene Ladan\nrene@FreeBSD.org\n2008/11/03"] ryusuke [label="Ryusuke Suzuki\nryusuke@FreeBSD.org\n2009/12/21"] simon [label="Simon L. Nielsen\nsimon@FreeBSD.org\n2003/07/20"] -skreuzer [label="Steven Kreuzer\skreuzer@FreeBSD.org\n2014/01/15"] +skreuzer [label="Steven Kreuzer\nskreuzer@FreeBSD.org\n2014/01/15"] taras [label="Taras Korenko\ntaras@FreeBSD.org\n2010/06/25"] trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2002/03/25"] wblock [label="Warren Block\nwblock@FreeBSD.org\n2011/09/12"] From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 14:29:25 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04A4F4F0; Tue, 28 Jan 2014 14:29:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E477B1277; Tue, 28 Jan 2014 14:29:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SETOGQ011955; Tue, 28 Jan 2014 14:29:24 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SETOfK011954; Tue, 28 Jan 2014 14:29:24 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201401281429.s0SETOfK011954@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Tue, 28 Jan 2014 14:29:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261233 - head/usr.bin/fetch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 14:29:25 -0000 Author: des Date: Tue Jan 28 14:29:24 2014 New Revision: 261233 URL: http://svnweb.freebsd.org/changeset/base/261233 Log: whitespace and bump copyright Modified: head/usr.bin/fetch/fetch.c Modified: head/usr.bin/fetch/fetch.c ============================================================================== --- head/usr.bin/fetch/fetch.c Tue Jan 28 14:11:09 2014 (r261232) +++ head/usr.bin/fetch/fetch.c Tue Jan 28 14:29:24 2014 (r261233) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2000-2011 Dag-Erling Smørgrav + * Copyright (c) 2000-2014 Dag-Erling Smørgrav * Copyright (c) 2013 Michael Gmelin * All rights reserved. * @@ -109,7 +109,7 @@ enum options OPTION_SSL_CLIENT_KEY_FILE, OPTION_SSL_CRL_FILE, OPTION_SSL_NO_SSL3, - OPTION_SSL_NO_TLS1, + OPTION_SSL_NO_TLS1, OPTION_SSL_NO_VERIFY_HOSTNAME, OPTION_SSL_NO_VERIFY_PEER }; @@ -147,7 +147,7 @@ static struct option longopts[] = { "passive-portrange-default", no_argument, NULL, 'T' }, { "verbose", no_argument, NULL, 'v' }, { "retry-delay", required_argument, NULL, 'w' }, - + /* options without a single character equivalent */ { "bind-address", required_argument, NULL, OPTION_BIND_ADDRESS }, { "no-passive", no_argument, NULL, OPTION_NO_FTP_PASSIVE_MODE }, From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 14:32:05 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5801185F; Tue, 28 Jan 2014 14:32:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2A4C71304; Tue, 28 Jan 2014 14:32:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SEW5Ne015018; Tue, 28 Jan 2014 14:32:05 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SEW4iS015016; Tue, 28 Jan 2014 14:32:04 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201401281432.s0SEW4iS015016@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Tue, 28 Jan 2014 14:32:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261234 - head/usr.bin/fetch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 14:32:05 -0000 Author: des Date: Tue Jan 28 14:32:04 2014 New Revision: 261234 URL: http://svnweb.freebsd.org/changeset/base/261234 Log: Increase the default (and minimum) buffer size from 4 kB to 16 kB. Also, propagate the buffer size to libc, which uses a 1 kB buffer by default, negating any hypothetical benefit of increasing fetch(1)'s buffer size. MFC after: 3 days Modified: head/usr.bin/fetch/fetch.1 head/usr.bin/fetch/fetch.c Modified: head/usr.bin/fetch/fetch.1 ============================================================================== --- head/usr.bin/fetch/fetch.1 Tue Jan 28 14:29:24 2014 (r261233) +++ head/usr.bin/fetch/fetch.1 Tue Jan 28 14:32:04 2014 (r261234) @@ -1,5 +1,5 @@ .\"- -.\" Copyright (c) 2000-2013 Dag-Erling Smørgrav +.\" Copyright (c) 2000-2014 Dag-Erling Smørgrav .\" Copyright (c) 2013 Michael Gmelin .\" All rights reserved. .\" Portions Copyright (c) 1999 Massachusetts Institute of Technology; used @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 30, 2013 +.Dd January 28, 2014 .Dt FETCH 1 .Os .Sh NAME @@ -118,7 +118,7 @@ Automatically retry the transfer upon so Allow SSL version 2 when negotiating the connection. .It Fl B Ar bytes , Fl -buffer-size= Ns Ar bytes Specify the read buffer size in bytes. -The default is 4096 bytes. +The default is 16,384 bytes. Attempts to set a buffer size lower than this will be silently ignored. The number of reads actually performed is reported at verbosity level Modified: head/usr.bin/fetch/fetch.c ============================================================================== --- head/usr.bin/fetch/fetch.c Tue Jan 28 14:29:24 2014 (r261233) +++ head/usr.bin/fetch/fetch.c Tue Jan 28 14:32:04 2014 (r261234) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include -#define MINBUFSIZE 4096 +#define MINBUFSIZE 16384 #define TIMEOUT 120 /* Option flags */ @@ -716,6 +716,7 @@ fetch(char *URL, const char *path) sigalrm = siginfo = sigint = 0; /* suck in the data */ + setvbuf(f, NULL, _IOFBF, B_size); signal(SIGINFO, sig_handler); while (!sigint) { if (us.size != -1 && us.size - count < B_size && From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 14:39:07 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7C0D2C99; Tue, 28 Jan 2014 14:39:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 66B79134C; Tue, 28 Jan 2014 14:39:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SEd7hs016076; Tue, 28 Jan 2014 14:39:07 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SEd5fA016067; Tue, 28 Jan 2014 14:39:05 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201401281439.s0SEd5fA016067@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Tue, 28 Jan 2014 14:39:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261235 - head/sys/fs/ext2fs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 14:39:07 -0000 Author: pfg Date: Tue Jan 28 14:39:05 2014 New Revision: 261235 URL: http://svnweb.freebsd.org/changeset/base/261235 Log: ext2fs: Use i_flag instead of i_flags for Ext4 inode flags. The ext4 inode flags do not have equivalents for chflags (1) and hold information that is private to the implementation. The i_flag field in the inode is a better place to hold the Ext4 inode flags as it saves us from masking flags while setting or getting attributes. It should also make things cleaner if we implement write support for Ext4. Suggested by: bde Tested by: Mike Ma MFC after: 3 days Modified: head/sys/fs/ext2fs/ext2_bmap.c head/sys/fs/ext2fs/ext2_htree.c head/sys/fs/ext2fs/ext2_inode_cnv.c head/sys/fs/ext2fs/ext2_lookup.c head/sys/fs/ext2fs/ext2_subr.c head/sys/fs/ext2fs/ext2_vfsops.c head/sys/fs/ext2fs/ext2_vnops.c head/sys/fs/ext2fs/inode.h Modified: head/sys/fs/ext2fs/ext2_bmap.c ============================================================================== --- head/sys/fs/ext2fs/ext2_bmap.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_bmap.c Tue Jan 28 14:39:05 2014 (r261235) @@ -74,7 +74,7 @@ ext2_bmap(struct vop_bmap_args *ap) if (ap->a_bnp == NULL) return (0); - if (VTOI(ap->a_vp)->i_flags & E4_EXTENTS) + if (VTOI(ap->a_vp)->i_flag & IN_E4EXTENTS) error = ext4_bmapext(ap->a_vp, ap->a_bn, &blkno, ap->a_runp, ap->a_runb); else Modified: head/sys/fs/ext2fs/ext2_htree.c ============================================================================== --- head/sys/fs/ext2fs/ext2_htree.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_htree.c Tue Jan 28 14:39:05 2014 (r261235) @@ -90,7 +90,7 @@ int ext2_htree_has_idx(struct inode *ip) { if (EXT2_HAS_COMPAT_FEATURE(ip->i_e2fs, EXT2F_COMPAT_DIRHASHINDEX) && - ip->i_flags & E4_INDEX) + ip->i_flag & IN_E4INDEX) return (1); else return (0); @@ -654,7 +654,7 @@ ext2_htree_create_index(struct vnode *vp ((char *)ep + ep->e2d_reclen); ep->e2d_reclen = buf1 + blksize - (char *)ep; - dp->i_flags |= E4_INDEX; + dp->i_flag |= IN_E4INDEX; /* * Initialize index root. Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c ============================================================================== --- head/sys/fs/ext2fs/ext2_inode_cnv.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_inode_cnv.c Tue Jan 28 14:39:05 2014 (r261235) @@ -108,8 +108,8 @@ ext2_ei2i(struct ext2fs_dinode *ei, stru ip->i_flags |= (ei->e2di_flags & EXT2_APPEND) ? SF_APPEND : 0; ip->i_flags |= (ei->e2di_flags & EXT2_IMMUTABLE) ? SF_IMMUTABLE : 0; ip->i_flags |= (ei->e2di_flags & EXT2_NODUMP) ? UF_NODUMP : 0; - ip->i_flags |= (ei->e2di_flags & EXT4_INDEX) ? E4_INDEX : 0; - ip->i_flags |= (ei->e2di_flags & EXT4_EXTENTS) ? E4_EXTENTS : 0; + ip->i_flag |= (ei->e2di_flags & EXT4_INDEX) ? IN_E4INDEX : 0; + ip->i_flag |= (ei->e2di_flags & EXT4_EXTENTS) ? IN_E4EXTENTS : 0; ip->i_blocks = ei->e2di_nblock; if (E2DI_HAS_HUGE_FILE(ip)) { ip->i_blocks |= (uint64_t)ei->e2di_nblock_high << 32; @@ -158,6 +158,8 @@ ext2_i2ei(struct inode *ip, struct ext2f ei->e2di_flags |= (ip->i_flags & SF_APPEND) ? EXT2_APPEND: 0; ei->e2di_flags |= (ip->i_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE: 0; ei->e2di_flags |= (ip->i_flags & UF_NODUMP) ? EXT2_NODUMP: 0; + ei->e2di_flags |= (ip->i_flag & IN_E4INDEX) ? EXT4_INDEX: 0; + ei->e2di_flags |= (ip->i_flag & IN_E4EXTENTS) ? EXT4_EXTENTS: 0; ei->e2di_nblock = ip->i_blocks & 0xffffffff; ei->e2di_nblock_high = ip->i_blocks >> 32 & 0xffff; ei->e2di_gen = ip->i_gen; Modified: head/sys/fs/ext2fs/ext2_lookup.c ============================================================================== --- head/sys/fs/ext2fs/ext2_lookup.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_lookup.c Tue Jan 28 14:39:05 2014 (r261235) @@ -887,7 +887,7 @@ ext2_direnter(struct inode *ip, struct v if (ext2_htree_has_idx(dp)) { error = ext2_htree_add_entry(dvp, &newdir, cnp); if (error) { - dp->i_flags &= ~E4_INDEX; + dp->i_flag &= ~IN_E4INDEX; dp->i_flag |= IN_CHANGE | IN_UPDATE; } return (error); Modified: head/sys/fs/ext2fs/ext2_subr.c ============================================================================== --- head/sys/fs/ext2fs/ext2_subr.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_subr.c Tue Jan 28 14:39:05 2014 (r261235) @@ -82,10 +82,10 @@ ext2_blkatoff(struct vnode *vp, off_t of *bpp = NULL; /* - * E4_EXTENTS requires special treatment as we can otherwise fall + * IN_E4EXTENTS requires special treatment as we can otherwise fall * back to the normal path. */ - if (!(ip->i_flags & E4_EXTENTS)) + if (!(ip->i_flag & IN_E4EXTENTS)) goto normal; memset(&path, 0, sizeof(path)); @@ -110,7 +110,7 @@ ext2_blkatoff(struct vnode *vp, off_t of if (res) *res = (char *)bp->b_data + blkoff(fs, offset); /* - * If E4_EXTENTS is enabled we would get a wrong offset so + * If IN_E4EXTENTS is enabled we would get a wrong offset so * reset b_offset here. */ bp->b_offset = lbn * bsize; Modified: head/sys/fs/ext2fs/ext2_vfsops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vfsops.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_vfsops.c Tue Jan 28 14:39:05 2014 (r261235) @@ -964,10 +964,10 @@ ext2_vget(struct mount *mp, ino_t ino, i * blocks are zeroed out - ext2_balloc depends on this * although for regular files and directories only * - * If E4_EXTENTS is enabled, unused blocks are not zeroed + * If IN_E4EXTENTS is enabled, unused blocks are not zeroed * out because we could corrupt the extent tree. */ - if (!(ip->i_flags & E4_EXTENTS) && + if (!(ip->i_flag & IN_E4EXTENTS) && (S_ISDIR(ip->i_mode) || S_ISREG(ip->i_mode))) { used_blocks = (ip->i_size+fs->e2fs_bsize-1) / fs->e2fs_bsize; for (i = used_blocks; i < EXT2_NDIR_BLOCKS; i++) Modified: head/sys/fs/ext2fs/ext2_vnops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vnops.c Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/ext2_vnops.c Tue Jan 28 14:39:05 2014 (r261235) @@ -343,8 +343,7 @@ ext2_getattr(struct vop_getattr_args *ap vap->va_birthtime.tv_sec = ip->i_birthtime; vap->va_birthtime.tv_nsec = ip->i_birthnsec; } - /* E4_* flags are private to the filesystem. */ - vap->va_flags = ip->i_flags & ~(E4_INDEX | E4_EXTENTS); + vap->va_flags = ip->i_flags; vap->va_gen = ip->i_gen; vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize; vap->va_bytes = dbtob((u_quad_t)ip->i_blocks); @@ -1616,7 +1615,7 @@ ext2_read(struct vop_read_args *ap) ip = VTOI(vp); /*EXT4_EXT_LOCK(ip);*/ - if (ip->i_flags & E4_EXTENTS) + if (ip->i_flag & IN_E4EXTENTS) error = ext4_ext_read(ap); else error = ext2_ind_read(ap); Modified: head/sys/fs/ext2fs/inode.h ============================================================================== --- head/sys/fs/ext2fs/inode.h Tue Jan 28 14:32:04 2014 (r261234) +++ head/sys/fs/ext2fs/inode.h Tue Jan 28 14:39:05 2014 (r261235) @@ -157,8 +157,8 @@ struct inode { * These are translation flags for some attributes that Ext4 * passes as inode flags but that we cannot pass directly. */ -#define E4_INDEX 0x01000000 -#define E4_EXTENTS 0x02000000 +#define IN_E4INDEX 0x010000 +#define IN_E4EXTENTS 0x020000 #define i_devvp i_ump->um_devvp From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 17:27:55 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7869B28B; Tue, 28 Jan 2014 17:27:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4A31813C3; Tue, 28 Jan 2014 17:27:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SHRtHE088243; Tue, 28 Jan 2014 17:27:55 GMT (envelope-from jmg@svn.freebsd.org) Received: (from jmg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SHRs82088237; Tue, 28 Jan 2014 17:27:54 GMT (envelope-from jmg@svn.freebsd.org) Message-Id: <201401281727.s0SHRs82088237@svn.freebsd.org> From: John-Mark Gurney Date: Tue, 28 Jan 2014 17:27:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261238 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 17:27:55 -0000 Author: jmg Date: Tue Jan 28 17:27:54 2014 New Revision: 261238 URL: http://svnweb.freebsd.org/changeset/base/261238 Log: fix spelling of lock_initialized.. jhb approved.. MFC after: 1 week Modified: head/sys/kern/subr_lock.c head/sys/sys/lock.h head/sys/sys/mutex.h head/sys/sys/rwlock.h Modified: head/sys/kern/subr_lock.c ============================================================================== --- head/sys/kern/subr_lock.c Tue Jan 28 17:23:44 2014 (r261237) +++ head/sys/kern/subr_lock.c Tue Jan 28 17:27:54 2014 (r261238) @@ -78,7 +78,7 @@ lock_init(struct lock_object *lock, stru int i; /* Check for double-init and zero object. */ - KASSERT(!lock_initalized(lock), ("lock \"%s\" %p already initialized", + KASSERT(!lock_initialized(lock), ("lock \"%s\" %p already initialized", name, lock)); /* Look up lock class to find its index. */ @@ -100,7 +100,7 @@ void lock_destroy(struct lock_object *lock) { - KASSERT(lock_initalized(lock), ("lock %p is not initialized", lock)); + KASSERT(lock_initialized(lock), ("lock %p is not initialized", lock)); WITNESS_DESTROY(lock); LOCK_LOG_DESTROY(lock, 0); lock->lo_flags &= ~LO_INITIALIZED; Modified: head/sys/sys/lock.h ============================================================================== --- head/sys/sys/lock.h Tue Jan 28 17:23:44 2014 (r261237) +++ head/sys/sys/lock.h Tue Jan 28 17:27:54 2014 (r261238) @@ -178,7 +178,7 @@ struct lock_class { #define LOCK_LOG_DESTROY(lo, flags) LOCK_LOG_INIT(lo, flags) -#define lock_initalized(lo) ((lo)->lo_flags & LO_INITIALIZED) +#define lock_initialized(lo) ((lo)->lo_flags & LO_INITIALIZED) /* * Helpful macros for quickly coming up with assertions with informative Modified: head/sys/sys/mutex.h ============================================================================== --- head/sys/sys/mutex.h Tue Jan 28 17:23:44 2014 (r261237) +++ head/sys/sys/mutex.h Tue Jan 28 17:27:54 2014 (r261238) @@ -382,7 +382,7 @@ extern struct mtx_pool *mtxpool_sleep; _sleep((chan), &(mtx)->lock_object, (pri), (wmesg), \ tick_sbt * (timo), 0, C_HARDCLOCK) -#define mtx_initialized(m) lock_initalized(&(m)->lock_object) +#define mtx_initialized(m) lock_initialized(&(m)->lock_object) #define mtx_owned(m) (((m)->mtx_lock & ~MTX_FLAGMASK) == (uintptr_t)curthread) Modified: head/sys/sys/rwlock.h ============================================================================== --- head/sys/sys/rwlock.h Tue Jan 28 17:23:44 2014 (r261237) +++ head/sys/sys/rwlock.h Tue Jan 28 17:27:54 2014 (r261238) @@ -218,7 +218,7 @@ void __rw_assert(const volatile uintptr_ _sleep((chan), &(rw)->lock_object, (pri), (wmesg), \ tick_sbt * (timo), 0, C_HARDCLOCK) -#define rw_initialized(rw) lock_initalized(&(rw)->lock_object) +#define rw_initialized(rw) lock_initialized(&(rw)->lock_object) struct rw_args { void *ra_rw; From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 20:28:32 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB7BF6A5; Tue, 28 Jan 2014 20:28:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BDD7D163D; Tue, 28 Jan 2014 20:28:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SKSWZ5058006; Tue, 28 Jan 2014 20:28:32 GMT (envelope-from gnn@svn.freebsd.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SKSWa5058004; Tue, 28 Jan 2014 20:28:32 GMT (envelope-from gnn@svn.freebsd.org) Message-Id: <201401282028.s0SKSWa5058004@svn.freebsd.org> From: "George V. Neville-Neil" Date: Tue, 28 Jan 2014 20:28:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261242 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 20:28:33 -0000 Author: gnn Date: Tue Jan 28 20:28:32 2014 New Revision: 261242 URL: http://svnweb.freebsd.org/changeset/base/261242 Log: Decrease lock contention within the TCP accept case by removing the INP_INFO lock from tcp_usr_accept. As the PR/patch states this was following the advice already in the code. See the PR below for a full disucssion of this change and its measured effects. PR: 183659 Submitted by: Julian Charbon Reviewed by: jhb Modified: head/sys/netinet/tcp_syncache.c head/sys/netinet/tcp_usrreq.c Modified: head/sys/netinet/tcp_syncache.c ============================================================================== --- head/sys/netinet/tcp_syncache.c Tue Jan 28 19:12:31 2014 (r261241) +++ head/sys/netinet/tcp_syncache.c Tue Jan 28 20:28:32 2014 (r261242) @@ -682,7 +682,7 @@ syncache_socket(struct syncache *sc, str * connection when the SYN arrived. If we can't create * the connection, abort it. */ - so = sonewconn(lso, SS_ISCONNECTED); + so = sonewconn(lso, 0); if (so == NULL) { /* * Drop the connection; we will either send a RST or @@ -922,6 +922,8 @@ syncache_socket(struct syncache *sc, str INP_WUNLOCK(inp); + soisconnected(so); + TCPSTAT_INC(tcps_accepts); return (so); Modified: head/sys/netinet/tcp_usrreq.c ============================================================================== --- head/sys/netinet/tcp_usrreq.c Tue Jan 28 19:12:31 2014 (r261241) +++ head/sys/netinet/tcp_usrreq.c Tue Jan 28 20:28:32 2014 (r261242) @@ -610,13 +610,6 @@ out: /* * Accept a connection. Essentially all the work is done at higher levels; * just return the address of the peer, storing through addr. - * - * The rationale for acquiring the tcbinfo lock here is somewhat complicated, - * and is described in detail in the commit log entry for r175612. Acquiring - * it delays an accept(2) racing with sonewconn(), which inserts the socket - * before the inpcb address/port fields are initialized. A better fix would - * prevent the socket from being placed in the listen queue until all fields - * are fully initialized. */ static int tcp_usr_accept(struct socket *so, struct sockaddr **nam) @@ -633,7 +626,6 @@ tcp_usr_accept(struct socket *so, struct inp = sotoinpcb(so); KASSERT(inp != NULL, ("tcp_usr_accept: inp == NULL")); - INP_INFO_RLOCK(&V_tcbinfo); INP_WLOCK(inp); if (inp->inp_flags & (INP_TIMEWAIT | INP_DROPPED)) { error = ECONNABORTED; @@ -653,7 +645,6 @@ tcp_usr_accept(struct socket *so, struct out: TCPDEBUG2(PRU_ACCEPT); INP_WUNLOCK(inp); - INP_INFO_RUNLOCK(&V_tcbinfo); if (error == 0) *nam = in_sockaddr(port, &addr); return error; From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 20:53:34 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 91BD41D0; Tue, 28 Jan 2014 20:53:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5FBCD18A0; Tue, 28 Jan 2014 20:53:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SKrY5L068826; Tue, 28 Jan 2014 20:53:34 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SKrYcN068825; Tue, 28 Jan 2014 20:53:34 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201401282053.s0SKrYcN068825@svn.freebsd.org> From: John Baldwin Date: Tue, 28 Jan 2014 20:53:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261243 - head/sys/dev/acpica X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 20:53:34 -0000 Author: jhb Date: Tue Jan 28 20:53:33 2014 New Revision: 261243 URL: http://svnweb.freebsd.org/changeset/base/261243 Log: Some BIOSes incorrectly use standard memory resource ranges to list the memory ranges that they decode for downstream devices rather than creating ResourceProducer range resource entries. The result is that we allocate the full range to the PCI root bridge device causing allocations in child devices to all fail. As a workaround, ignore any standard memory resources on a PCI root bridge device. It is normal for a PCI root bridge to allocate an I/O resource for the I/O ports used for PCI config access, but I have not seen any PCI root bridges that legitimately allocate a memory resource. Reviewed by: jkim MFC after: 1 week Modified: head/sys/dev/acpica/acpi.c Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Tue Jan 28 20:28:32 2014 (r261242) +++ head/sys/dev/acpica/acpi.c Tue Jan 28 20:53:33 2014 (r261243) @@ -1190,12 +1190,28 @@ acpi_set_resource(device_t dev, device_t struct acpi_softc *sc = device_get_softc(dev); struct acpi_device *ad = device_get_ivars(child); struct resource_list *rl = &ad->ad_rl; + ACPI_DEVICE_INFO *devinfo; u_long end; /* Ignore IRQ resources for PCI link devices. */ if (type == SYS_RES_IRQ && ACPI_ID_PROBE(dev, child, pcilink_ids) != NULL) return (0); + /* + * Ignore memory resources for PCI root bridges. Some BIOSes + * incorrectly enumerate the memory ranges they decode as plain + * memory resources instead of as a ResourceProducer range. + */ + if (type == SYS_RES_MEMORY) { + if (ACPI_SUCCESS(AcpiGetObjectInfo(ad->ad_handle, &devinfo))) { + if ((devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0) { + AcpiOsFree(devinfo); + return (0); + } + AcpiOsFree(devinfo); + } + } + /* If the resource is already allocated, fail. */ if (resource_list_busy(rl, type, rid)) return (EBUSY); From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 21:13:16 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EF441846; Tue, 28 Jan 2014 21:13:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CF3641A24; Tue, 28 Jan 2014 21:13:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SLDFm9077186; Tue, 28 Jan 2014 21:13:15 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SLDFNF077185; Tue, 28 Jan 2014 21:13:15 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201401282113.s0SLDFNF077185@svn.freebsd.org> From: Peter Wemm Date: Tue, 28 Jan 2014 21:13:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261244 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 21:13:16 -0000 Author: peter Date: Tue Jan 28 21:13:15 2014 New Revision: 261244 URL: http://svnweb.freebsd.org/changeset/base/261244 Log: Adjust r239672 from rrs and r258821 from eadler. By definition, the very first FIN is not a duplicate. Process it normally and don't feed it to congestion control as though it were a dupe. Don't prevent CC from seeing later dupe acks while in a half close state. Modified: head/sys/netinet/tcp_input.c Modified: head/sys/netinet/tcp_input.c ============================================================================== --- head/sys/netinet/tcp_input.c Tue Jan 28 20:53:33 2014 (r261243) +++ head/sys/netinet/tcp_input.c Tue Jan 28 21:13:15 2014 (r261244) @@ -2429,8 +2429,19 @@ tcp_do_segment(struct mbuf *m, struct tc hhook_run_tcp_est_in(tp, th, &to); if (SEQ_LEQ(th->th_ack, tp->snd_una)) { - if (tlen == 0 && tiwin == tp->snd_wnd && - !(thflags & TH_FIN)) { + if (tlen == 0 && tiwin == tp->snd_wnd) { + /* + * If this is the first time we've seen a + * FIN from the remote, this is not a + * duplicate and it needs to be processed + * normally. This happens during a + * simultaneous close. + */ + if ((thflags & TH_FIN) && + (TCPS_HAVERCVDFIN(tp->t_state) == 0)) { + tp->t_dupacks = 0; + break; + } TCPSTAT_INC(tcps_rcvdupack); /* * If we have outstanding data (other than @@ -2485,16 +2496,6 @@ tcp_do_segment(struct mbuf *m, struct tc } } else tp->snd_cwnd += tp->t_maxseg; - if ((thflags & TH_FIN) && - (TCPS_HAVERCVDFIN(tp->t_state) == 0)) { - /* - * If its a fin we need to process - * it to avoid a race where both - * sides enter FIN-WAIT and send FIN|ACK - * at the same time. - */ - break; - } (void) tcp_output(tp); goto drop; } else if (tp->t_dupacks == tcprexmtthresh) { @@ -2534,16 +2535,6 @@ tcp_do_segment(struct mbuf *m, struct tc } tp->snd_nxt = th->th_ack; tp->snd_cwnd = tp->t_maxseg; - if ((thflags & TH_FIN) && - (TCPS_HAVERCVDFIN(tp->t_state) == 0)) { - /* - * If its a fin we need to process - * it to avoid a race where both - * sides enter FIN-WAIT and send FIN|ACK - * at the same time. - */ - break; - } (void) tcp_output(tp); KASSERT(tp->snd_limited <= 2, ("%s: tp->snd_limited too big", @@ -2571,16 +2562,6 @@ tcp_do_segment(struct mbuf *m, struct tc (tp->snd_nxt - tp->snd_una) + (tp->t_dupacks - tp->snd_limited) * tp->t_maxseg; - if ((thflags & TH_FIN) && - (TCPS_HAVERCVDFIN(tp->t_state) == 0)) { - /* - * If its a fin we need to process - * it to avoid a race where both - * sides enter FIN-WAIT and send FIN|ACK - * at the same time. - */ - break; - } /* * Only call tcp_output when there * is new data available to be sent. From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 21:38:56 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2479216E; Tue, 28 Jan 2014 21:38:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0D4711CF1; Tue, 28 Jan 2014 21:38:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SLcuYE085776; Tue, 28 Jan 2014 21:38:56 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SLcsVV085769; Tue, 28 Jan 2014 21:38:54 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401282138.s0SLcsVV085769@svn.freebsd.org> From: Kai Wang Date: Tue, 28 Jan 2014 21:38:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 21:38:56 -0000 Author: kaiw Date: Tue Jan 28 21:38:54 2014 New Revision: 261246 URL: http://svnweb.freebsd.org/changeset/base/261246 Log: Merge from projects/elftoolchain: Upgrade libelf and libdwarf to newer versions from elftoolchain upstream (r2974). Convert ctfconvert to use the APIs from the new libdwarf and make ctfconvert work with Clang 3.4. __FreeBSD_version is bumped to 1100006. A list of notable changes: [libelf] * The old libelf source code in lib/libelf has been removed. Instead, the new libelf is built from contrib/elftoolchain/libelf. * Manual pages are largely improved. * Internal implementation was refactored and improved for better correctness and portability. * Fixed a few memory leaks. * Extended with extension APIs `elf_open()` and `elf_openmemory()`. These APIs are similar to `elf_begin()` and `elf_memory()` respectively, except that they return an ELF descriptor of kind `ELF_K_NONE` instead of an error if the object being opened could not be parsed. * Implement support for translating sections of type ELF_T_VDEF and ELF_T_VNEED. * Improve `elf_update()` to check that the executable header, the program header table, section contents and the section header table do not overlap, and to ensure that gaps between extents are filled with the fill character specified by `elf_fill()`. * Allow `Elf_Data` descriptors to have types and alignments differing from their containing section. * Remove functionality controlled by `LIBELF_TEST_HOOKS`. * Support processing of BSD-flavor archives. * Add knowledge of section types `SHT_GNU_ATTRIBUTES` and `SHT_GNU_LIBLIST`. * Use elftoolchain style symbol versioning. * Shared library version is bumped. [libdwarf] * The old libdwarf source code in lib/libdwarf has been removed. Instead, the new libdwarf is built from contrib/elftoolchain/libdwarf. * Support full DWARF3 and partial DWARF4 parsing. * Support DWARF2 generation. * Support for DWARF line number, call frame, location expression, macro info and address ranges, among other things. * The APIs for the new libdwarf are mostly compatible with the widely used LGPL libdwarf. Some of the incompatible APIs from the old libdwarf are kept as its own extensions. All the APIs are documented. * Use elftoolchain style symbol versioning. * Shared library version is bumped. [ctfconvert] * Switch to the APIs from the new libdwarf. * Improve die_mem_offset() so that DW_AT_data_member_location attributes generated by Clang 3.4 can be handled properly. * Make use of DW_AT_byte_size attribute of the member DIE to calculate the bits occupied by the member's type, without actually resolving the type. This way ctfconvert can deal with the case that Clang 3.4 sometimes emits DIE for struct/union member before emitting the DIE for the type of that member. Obtained from: elftoolchain No objection: -toolchain mailing list Added: head/contrib/elftoolchain/ - copied from r261245, projects/elftoolchain/contrib/elftoolchain/ Deleted: head/lib/libdwarf/_libdwarf.h head/lib/libdwarf/dwarf.h head/lib/libdwarf/dwarf_abbrev.c head/lib/libdwarf/dwarf_attr.c head/lib/libdwarf/dwarf_attrval.c head/lib/libdwarf/dwarf_cu.c head/lib/libdwarf/dwarf_dealloc.c head/lib/libdwarf/dwarf_die.c head/lib/libdwarf/dwarf_dump.c head/lib/libdwarf/dwarf_errmsg.c head/lib/libdwarf/dwarf_errno.c head/lib/libdwarf/dwarf_finish.c head/lib/libdwarf/dwarf_form.c head/lib/libdwarf/dwarf_func.c head/lib/libdwarf/dwarf_init.c head/lib/libdwarf/dwarf_loc.c head/lib/libdwarf/libdwarf.h head/lib/libelf/README head/lib/libelf/Version.map head/lib/libelf/_libelf.h head/lib/libelf/elf.3 head/lib/libelf/elf_begin.3 head/lib/libelf/elf_begin.c head/lib/libelf/elf_cntl.3 head/lib/libelf/elf_cntl.c head/lib/libelf/elf_data.c head/lib/libelf/elf_end.3 head/lib/libelf/elf_end.c head/lib/libelf/elf_errmsg.3 head/lib/libelf/elf_errmsg.c head/lib/libelf/elf_errno.c head/lib/libelf/elf_fill.3 head/lib/libelf/elf_fill.c head/lib/libelf/elf_flag.c head/lib/libelf/elf_flagdata.3 head/lib/libelf/elf_getarhdr.3 head/lib/libelf/elf_getarhdr.c head/lib/libelf/elf_getarsym.3 head/lib/libelf/elf_getarsym.c head/lib/libelf/elf_getbase.3 head/lib/libelf/elf_getbase.c head/lib/libelf/elf_getdata.3 head/lib/libelf/elf_getident.3 head/lib/libelf/elf_getident.c head/lib/libelf/elf_getphdrnum.3 head/lib/libelf/elf_getphnum.3 head/lib/libelf/elf_getscn.3 head/lib/libelf/elf_getshdrnum.3 head/lib/libelf/elf_getshdrstrndx.3 head/lib/libelf/elf_getshnum.3 head/lib/libelf/elf_getshstrndx.3 head/lib/libelf/elf_hash.3 head/lib/libelf/elf_hash.c head/lib/libelf/elf_kind.3 head/lib/libelf/elf_kind.c head/lib/libelf/elf_memory.3 head/lib/libelf/elf_memory.c head/lib/libelf/elf_next.3 head/lib/libelf/elf_next.c head/lib/libelf/elf_phnum.c head/lib/libelf/elf_rand.3 head/lib/libelf/elf_rand.c head/lib/libelf/elf_rawfile.3 head/lib/libelf/elf_rawfile.c head/lib/libelf/elf_scn.c head/lib/libelf/elf_shnum.c head/lib/libelf/elf_shstrndx.c head/lib/libelf/elf_strptr.3 head/lib/libelf/elf_strptr.c head/lib/libelf/elf_types.m4 head/lib/libelf/elf_update.3 head/lib/libelf/elf_update.c head/lib/libelf/elf_version.3 head/lib/libelf/elf_version.c head/lib/libelf/gelf.3 head/lib/libelf/gelf.h head/lib/libelf/gelf_cap.c head/lib/libelf/gelf_checksum.3 head/lib/libelf/gelf_checksum.c head/lib/libelf/gelf_dyn.c head/lib/libelf/gelf_ehdr.c head/lib/libelf/gelf_fsize.3 head/lib/libelf/gelf_fsize.c head/lib/libelf/gelf_getcap.3 head/lib/libelf/gelf_getclass.3 head/lib/libelf/gelf_getclass.c head/lib/libelf/gelf_getdyn.3 head/lib/libelf/gelf_getehdr.3 head/lib/libelf/gelf_getmove.3 head/lib/libelf/gelf_getphdr.3 head/lib/libelf/gelf_getrel.3 head/lib/libelf/gelf_getrela.3 head/lib/libelf/gelf_getshdr.3 head/lib/libelf/gelf_getsym.3 head/lib/libelf/gelf_getsyminfo.3 head/lib/libelf/gelf_getsymshndx.3 head/lib/libelf/gelf_move.c head/lib/libelf/gelf_newehdr.3 head/lib/libelf/gelf_newphdr.3 head/lib/libelf/gelf_phdr.c head/lib/libelf/gelf_rel.c head/lib/libelf/gelf_rela.c head/lib/libelf/gelf_shdr.c head/lib/libelf/gelf_sym.c head/lib/libelf/gelf_syminfo.c head/lib/libelf/gelf_symshndx.c head/lib/libelf/gelf_update_ehdr.3 head/lib/libelf/gelf_xlate.c head/lib/libelf/gelf_xlatetof.3 head/lib/libelf/libelf.c head/lib/libelf/libelf.h head/lib/libelf/libelf_align.c head/lib/libelf/libelf_allocate.c head/lib/libelf/libelf_ar.c head/lib/libelf/libelf_ar_util.c head/lib/libelf/libelf_checksum.c head/lib/libelf/libelf_convert.m4 head/lib/libelf/libelf_data.c head/lib/libelf/libelf_ehdr.c head/lib/libelf/libelf_extended.c head/lib/libelf/libelf_fsize.m4 head/lib/libelf/libelf_msize.m4 head/lib/libelf/libelf_phdr.c head/lib/libelf/libelf_shdr.c head/lib/libelf/libelf_xlate.c Modified: head/ObsoleteFiles.inc head/UPDATING head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c head/lib/libdwarf/Makefile head/lib/libelf/Makefile head/sys/sys/elf_common.h head/sys/sys/param.h Directory Properties: head/ (props changed) Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Tue Jan 28 21:30:05 2014 (r261245) +++ head/ObsoleteFiles.inc Tue Jan 28 21:38:54 2014 (r261246) @@ -38,6 +38,11 @@ # xargs -n1 | sort | uniq -d; # done +# 20140128: libelf and libdwarf import +OLD_LIBS+=usr/lib/libelf.so.1 +OLD_LIBS+=usr/lib32/libelf.so.1 +OLD_LIBS+=usr/lib/libdwarf.so.3 +OLD_LIBS+=usr/lib32/libdwarf.so.3 # 20131215: libcam version bumped OLD_LIBS+=lib/libcam.so.6 usr/lib32/libcam.so.6 # 20131202: libcapsicum and libcasper moved to /lib/ Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Jan 28 21:30:05 2014 (r261245) +++ head/UPDATING Tue Jan 28 21:38:54 2014 (r261246) @@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140128: + The libelf and libdwarf libraries have been updated to newer + versions from upstream. Shared library version numbers for + these two libraries were bumped. Any ports or binaries + requiring these two libraries should be recompiled. + __FreeBSD_version is bumped to 1100006. + 20140110: If a Makefile in a tests/ directory was auto-generating a Kyuafile instead of providing an explicit one, this would prevent such Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Tue Jan 28 21:30:05 2014 (r261245) +++ head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Tue Jan 28 21:38:54 2014 (r261246) @@ -96,9 +96,6 @@ #include "list.h" #include "traverse.h" -/* The version of DWARF which we support. */ -#define DWARF_VERSION 2 - /* * We need to define a couple of our own intrinsics, to smooth out some of the * differences between the GCC and DevPro DWARF emitters. See the referenced @@ -271,7 +268,7 @@ die_off(dwarf_t *dw, Dwarf_Die die) return (off); terminate("failed to get offset for die: %s\n", - dwarf_errmsg(&dw->dw_err)); + dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (0); } @@ -289,7 +286,7 @@ die_sibling(dwarf_t *dw, Dwarf_Die die) return (NULL); terminate("die %llu: failed to find type sibling: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (NULL); } @@ -306,7 +303,7 @@ die_child(dwarf_t *dw, Dwarf_Die die) return (NULL); terminate("die %llu: failed to find type child: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (NULL); } @@ -320,7 +317,7 @@ die_tag(dwarf_t *dw, Dwarf_Die die) return (tag); terminate("die %llu: failed to get tag for type: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (0); } @@ -343,7 +340,7 @@ die_attr(dwarf_t *dw, Dwarf_Die die, Dwa } terminate("die %llu: failed to get attribute for type: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); /*NOTREACHED*/ return (NULL); } @@ -353,10 +350,10 @@ die_signed(dwarf_t *dw, Dwarf_Die die, D int req) { *valp = 0; - if (dwarf_attrval_signed(die, name, valp, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_signed(die, name, valp, &dw->dw_err) != DW_DLV_OK) { if (req) terminate("die %llu: failed to get signed: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); return (0); } @@ -368,10 +365,10 @@ die_unsigned(dwarf_t *dw, Dwarf_Die die, int req) { *valp = 0; - if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != DW_DLV_OK) { if (req) terminate("die %llu: failed to get unsigned: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); return (0); } @@ -383,10 +380,10 @@ die_bool(dwarf_t *dw, Dwarf_Die die, Dwa { *valp = 0; - if (dwarf_attrval_flag(die, name, valp, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_flag(die, name, valp, &dw->dw_err) != DW_DLV_OK) { if (req) terminate("die %llu: failed to get flag: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); return (0); } @@ -398,11 +395,11 @@ die_string(dwarf_t *dw, Dwarf_Die die, D { const char *str = NULL; - if (dwarf_attrval_string(die, name, &str, &dw->dw_err) != DWARF_E_NONE || + if (dwarf_attrval_string(die, name, &str, &dw->dw_err) != DW_DLV_OK || str == NULL) { if (req) terminate("die %llu: failed to get string: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); else *strp = NULL; return (0); @@ -417,9 +414,9 @@ die_attr_ref(dwarf_t *dw, Dwarf_Die die, { Dwarf_Off off; - if (dwarf_attrval_unsigned(die, name, &off, &dw->dw_err) != DWARF_E_NONE) { + if (dwarf_attrval_unsigned(die, name, &off, &dw->dw_err) != DW_DLV_OK) { terminate("die %llu: failed to get ref: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + die_off(dw, die), dwarf_errmsg(dw->dw_err)); } return (off); @@ -431,6 +428,8 @@ die_name(dwarf_t *dw, Dwarf_Die die) char *str = NULL; (void) die_string(dw, die, DW_AT_name, &str, 0); + if (str == NULL) + str = xstrdup(""); return (str); } @@ -489,21 +488,73 @@ die_mem_offset(dwarf_t *dw, Dwarf_Die di { Dwarf_Locdesc *loc = NULL; Dwarf_Signed locnum = 0; + Dwarf_Attribute at; + Dwarf_Half form; + + if (name != DW_AT_data_member_location) + terminate("die %llu: can only process attribute " + "DW_AT_data_member_location\n", die_off(dw, die)); - if (dwarf_locdesc(die, name, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) + if ((at = die_attr(dw, die, name, 0)) == NULL) return (0); - if (locnum != 1 || loc->ld_s->lr_atom != DW_OP_plus_uconst) { - terminate("die %llu: cannot parse member offset\n", - die_off(dw, die)); - } + if (dwarf_whatform(at, &form, &dw->dw_err) != DW_DLV_OK) + return (0); + + switch (form) { + case DW_FORM_sec_offset: + case DW_FORM_block: + case DW_FORM_block1: + case DW_FORM_block2: + case DW_FORM_block4: + /* + * GCC in base and Clang (3.3 or below) generates + * DW_AT_data_member_location attribute with DW_FORM_block* + * form. The attribute contains one DW_OP_plus_uconst + * operator. The member offset stores in the operand. + */ + if (dwarf_loclist(at, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) + return (0); + if (locnum != 1 || loc->ld_s->lr_atom != DW_OP_plus_uconst) { + terminate("die %llu: cannot parse member offset with " + "operator other than DW_OP_plus_uconst\n", + die_off(dw, die)); + } + *valp = loc->ld_s->lr_number; + if (loc != NULL) { + dwarf_dealloc(dw->dw_dw, loc->ld_s, DW_DLA_LOC_BLOCK); + dwarf_dealloc(dw->dw_dw, loc, DW_DLA_LOCDESC); + } + break; - *valp = loc->ld_s->lr_number; + case DW_FORM_data1: + case DW_FORM_data2: + case DW_FORM_data4: + case DW_FORM_data8: + case DW_FORM_udata: + /* + * Clang 3.4 generates DW_AT_data_member_location attribute + * with DW_FORM_data* form (constant class). The attribute + * stores a contant value which is the member offset. + * + * However, note that DW_FORM_data[48] in DWARF version 2 or 3 + * could be used as a section offset (offset into .debug_loc in + * this case). Here we assume the attribute always stores a + * constant because we know Clang 3.4 does this and GCC in + * base won't emit DW_FORM_data[48] for this attribute. This + * code will remain correct if future vesrions of Clang and + * GCC conform to DWARF4 standard and only use the form + * DW_FORM_sec_offset for section offset. + */ + if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != + DW_DLV_OK) + return (0); + break; - if (loc != NULL) - if (dwarf_locdesc_free(loc, &dw->dw_err) != DW_DLV_OK) - terminate("die %llu: cannot free location descriptor: %s\n", - die_off(dw, die), dwarf_errmsg(&dw->dw_err)); + default: + terminate("die %llu: cannot parse member offset with form " + "%u\n", die_off(dw, die), form); + } return (1); } @@ -884,7 +935,7 @@ static void die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, int type, const char *typename) { - Dwarf_Unsigned sz, bitsz, bitoff, maxsz=0; + Dwarf_Unsigned sz, bysz, bitsz, bitoff, maxsz=0; Dwarf_Die mem; mlist_t *ml, **mlastp; iidesc_t *ii; @@ -959,8 +1010,26 @@ die_sou_create(dwarf_t *dw, Dwarf_Die st #if BYTE_ORDER == _BIG_ENDIAN ml->ml_offset += bitoff; #else - ml->ml_offset += tdesc_bitsize(ml->ml_type) - bitoff - - ml->ml_size; + /* + * Note that Clang 3.4 will sometimes generate + * member DIE before generating the DIE for the + * member's type. The code can not handle this + * properly so that tdesc_bitsize(ml->ml_type) will + * return 0 because ml->ml_type is unknown. As a + * result, a wrong member offset will be calculated. + * To workaround this, we can instead try to + * retrieve the value of DW_AT_byte_size attribute + * which stores the byte size of the space occupied + * by the type. If this attribute exists, its value + * should equal to tdesc_bitsize(ml->ml_type)/NBBY. + */ + if (die_unsigned(dw, mem, DW_AT_byte_size, &bysz, 0) && + bysz > 0) + ml->ml_offset += bysz * NBBY - bitoff - + ml->ml_size; + else + ml->ml_offset += tdesc_bitsize(ml->ml_type) - + bitoff - ml->ml_size; #endif } @@ -1852,7 +1921,7 @@ int dw_read(tdata_t *td, Elf *elf, char *filename __unused) { Dwarf_Unsigned abboff, hdrlen, nxthdr; - Dwarf_Half vers, addrsz; + Dwarf_Half vers, addrsz, offsz; Dwarf_Die cu = 0; Dwarf_Die child = 0; dwarf_t dw; @@ -1869,7 +1938,7 @@ dw_read(tdata_t *td, Elf *elf, char *fil dw.dw_enumhash = hash_new(TDESC_HASH_BUCKETS, tdesc_namehash, tdesc_namecmp); - if ((rc = dwarf_elf_init(elf, DW_DLC_READ, &dw.dw_dw, + if ((rc = dwarf_elf_init(elf, DW_DLC_READ, NULL, NULL, &dw.dw_dw, &dw.dw_err)) == DW_DLV_NO_ENTRY) { if (should_have_dwarf(elf)) { errno = ENOENT; @@ -1878,7 +1947,7 @@ dw_read(tdata_t *td, Elf *elf, char *fil return (0); } } else if (rc != DW_DLV_OK) { - if (dwarf_errno(&dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { + if (dwarf_errno(dw.dw_err) == DW_DLE_DEBUG_INFO_NULL) { /* * There's no type data in the DWARF section, but * libdwarf is too clever to handle that properly. @@ -1887,12 +1956,12 @@ dw_read(tdata_t *td, Elf *elf, char *fil } terminate("failed to initialize DWARF: %s\n", - dwarf_errmsg(&dw.dw_err)); + dwarf_errmsg(dw.dw_err)); } - if ((rc = dwarf_next_cu_header(dw.dw_dw, &hdrlen, &vers, &abboff, - &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_OK) - terminate("rc = %d %s\n", rc, dwarf_errmsg(&dw.dw_err)); + if ((rc = dwarf_next_cu_header_b(dw.dw_dw, &hdrlen, &vers, &abboff, + &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_OK) + terminate("rc = %d %s\n", rc, dwarf_errmsg(dw.dw_err)); if ((cu = die_sibling(&dw, NULL)) == NULL || (((child = die_child(&dw, cu)) == NULL) && @@ -1909,9 +1978,9 @@ dw_read(tdata_t *td, Elf *elf, char *fil terminate("file contains too many types\n"); debug(1, "DWARF version: %d\n", vers); - if (vers != DWARF_VERSION) { + if (vers < 2 || vers > 4) { terminate("file contains incompatible version %d DWARF code " - "(version 2 required)\n", vers); + "(version 2, 3 or 4 required)\n", vers); } if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) { @@ -1930,11 +1999,11 @@ dw_read(tdata_t *td, Elf *elf, char *fil if ((child = die_child(&dw, cu)) != NULL) die_create(&dw, child); - if ((rc = dwarf_next_cu_header(dw.dw_dw, &hdrlen, &vers, &abboff, - &addrsz, &nxthdr, &dw.dw_err)) != DW_DLV_NO_ENTRY) + if ((rc = dwarf_next_cu_header_b(dw.dw_dw, &hdrlen, &vers, &abboff, + &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_NO_ENTRY) terminate("multiple compilation units not supported\n"); - (void) dwarf_finish(&dw.dw_dw, &dw.dw_err); + (void) dwarf_finish(dw.dw_dw, &dw.dw_err); die_resolve(&dw); Modified: head/lib/libdwarf/Makefile ============================================================================== --- head/lib/libdwarf/Makefile Tue Jan 28 21:30:05 2014 (r261245) +++ head/lib/libdwarf/Makefile Tue Jan 28 21:38:54 2014 (r261246) @@ -1,9 +1,16 @@ # $FreeBSD$ +.include + +TOP= ${.CURDIR}/../../contrib/elftoolchain +SRCDIR= ${TOP}/libdwarf + +.PATH: ${SRCDIR} LIB= dwarf SRCS= \ dwarf_abbrev.c \ + dwarf_arange.c \ dwarf_attr.c \ dwarf_attrval.c \ dwarf_cu.c \ @@ -11,19 +18,329 @@ SRCS= \ dwarf_die.c \ dwarf_dump.c \ dwarf_errmsg.c \ - dwarf_errno.c \ dwarf_finish.c \ dwarf_form.c \ - dwarf_func.c \ + dwarf_frame.c \ + dwarf_funcs.c \ dwarf_init.c \ - dwarf_loc.c + dwarf_lineno.c \ + dwarf_loclist.c \ + dwarf_macinfo.c \ + dwarf_pro_arange.c \ + dwarf_pro_attr.c \ + dwarf_pro_die.c \ + dwarf_pro_expr.c \ + dwarf_pro_finish.c \ + dwarf_pro_frame.c \ + dwarf_pro_funcs.c \ + dwarf_pro_init.c \ + dwarf_pro_lineno.c \ + dwarf_pro_macinfo.c \ + dwarf_pro_pubnames.c \ + dwarf_pro_reloc.c \ + dwarf_pro_sections.c \ + dwarf_pro_types.c \ + dwarf_pro_vars.c \ + dwarf_pro_weaks.c \ + dwarf_pubnames.c \ + dwarf_pubtypes.c \ + dwarf_ranges.c \ + dwarf_reloc.c \ + dwarf_seterror.c \ + dwarf_str.c \ + dwarf_types.c \ + dwarf_vars.c \ + dwarf_weaks.c \ + libdwarf.c \ + libdwarf_abbrev.c \ + libdwarf_arange.c \ + libdwarf_attr.c \ + libdwarf_die.c \ + libdwarf_error.c \ + libdwarf_elf_access.c \ + libdwarf_elf_init.c \ + libdwarf_frame.c \ + libdwarf_info.c \ + libdwarf_init.c \ + libdwarf_lineno.c \ + libdwarf_loc.c \ + libdwarf_loclist.c \ + libdwarf_macinfo.c \ + libdwarf_nametbl.c \ + libdwarf_ranges.c \ + libdwarf_reloc.c \ + libdwarf_rw.c \ + libdwarf_sections.c \ + libdwarf_str.c + +INCS= dwarf.h libdwarf.h + +# +# We need to link against the correct version of these files. One +# solution is to include ../../sys in the include path. This causes +# problems when a header file in sys depends on a file in another +# part of the tree, e.g. a machine dependent header. +# +SRCS+= sys/elf32.h sys/elf64.h sys/elf_common.h + +GENSRCS= dwarf_pubnames.c dwarf_pubtypes.c dwarf_weaks.c \ + dwarf_funcs.c dwarf_vars.c dwarf_types.c \ + dwarf_pro_pubnames.c dwarf_pro_weaks.c \ + dwarf_pro_funcs.c dwarf_pro_types.c \ + dwarf_pro_vars.c +CLEANFILES= ${GENSRCS} +CLEANDIRS= sys +CFLAGS+= -I. -I${SRCDIR} -I${TOP}/common -I${TOP}/libelf -INCS= dwarf.h libdwarf.h +sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} + mkdir -p ${.OBJDIR}/sys + ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} -CFLAGS+= -I${.CURDIR} +LDADD+= -lelf +DPADD+= ${LIBELF} -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 -WITHOUT_MAN= +MAN= dwarf.3 \ + dwarf_add_arange.3 \ + dwarf_add_AT_comp_dir.3 \ + dwarf_add_AT_const_value_string.3 \ + dwarf_add_AT_dataref.3 \ + dwarf_add_AT_flag.3 \ + dwarf_add_AT_location_expr.3 \ + dwarf_add_AT_name.3 \ + dwarf_add_AT_producer.3 \ + dwarf_add_AT_ref_address.3 \ + dwarf_add_AT_reference.3 \ + dwarf_add_AT_signed_const.3 \ + dwarf_add_AT_string.3 \ + dwarf_add_AT_targ_address.3 \ + dwarf_add_die_to_debug.3 \ + dwarf_add_directory_decl.3 \ + dwarf_add_expr_addr.3 \ + dwarf_add_expr_gen.3 \ + dwarf_add_fde_inst.3 \ + dwarf_add_file_decl.3 \ + dwarf_add_frame_cie.3 \ + dwarf_add_frame_fde.3 \ + dwarf_add_funcname.3 \ + dwarf_add_line_entry.3 \ + dwarf_add_pubname.3 \ + dwarf_add_typename.3 \ + dwarf_add_varname.3 \ + dwarf_add_weakname.3 \ + dwarf_attr.3 \ + dwarf_attrlist.3 \ + dwarf_attrval_signed.3 \ + dwarf_child.3 \ + dwarf_dealloc.3 \ + dwarf_def_macro.3 \ + dwarf_die_abbrev_code.3 \ + dwarf_die_link.3 \ + dwarf_diename.3 \ + dwarf_dieoffset.3 \ + dwarf_end_macro_file.3 \ + dwarf_errmsg.3 \ + dwarf_errno.3 \ + dwarf_expand_frame_instructions.3 \ + dwarf_expr_current_offset.3 \ + dwarf_expr_into_block.3 \ + dwarf_fde_cfa_offset.3 \ + dwarf_find_macro_value_start.3 \ + dwarf_finish.3 \ + dwarf_formaddr.3 \ + dwarf_formblock.3 \ + dwarf_formexprloc.3 \ + dwarf_formflag.3 \ + dwarf_formref.3 \ + dwarf_formsig8.3 \ + dwarf_formstring.3 \ + dwarf_formudata.3 \ + dwarf_get_abbrev.3 \ + dwarf_get_abbrev_children_flag.3 \ + dwarf_get_abbrev_code.3 \ + dwarf_get_abbrev_entry.3 \ + dwarf_get_abbrev_tag.3 \ + dwarf_get_address_size.3 \ + dwarf_get_arange.3 \ + dwarf_get_arange_info.3 \ + dwarf_get_aranges.3 \ + dwarf_get_AT_name.3 \ + dwarf_get_cie_index.3 \ + dwarf_get_cie_info.3 \ + dwarf_get_cie_of_fde.3 \ + dwarf_get_cu_die_offset.3 \ + dwarf_get_elf.3 \ + dwarf_get_fde_at_pc.3 \ + dwarf_get_fde_info_for_all_regs.3 \ + dwarf_get_fde_info_for_all_regs3.3 \ + dwarf_get_fde_info_for_cfa_reg3.3 \ + dwarf_get_fde_info_for_reg.3 \ + dwarf_get_fde_info_for_reg3.3 \ + dwarf_get_fde_instr_bytes.3 \ + dwarf_get_fde_list.3 \ + dwarf_get_fde_n.3 \ + dwarf_get_fde_range.3 \ + dwarf_get_form_class.3 \ + dwarf_get_funcs.3 \ + dwarf_get_globals.3 \ + dwarf_get_loclist_entry.3 \ + dwarf_get_macro_details.3 \ + dwarf_get_pubtypes.3 \ + dwarf_get_ranges.3 \ + dwarf_get_relocation_info.3 \ + dwarf_get_relocation_info_count.3 \ + dwarf_get_section_bytes.3 \ + dwarf_get_str.3 \ + dwarf_get_types.3 \ + dwarf_get_vars.3 \ + dwarf_get_weaks.3 \ + dwarf_hasattr.3 \ + dwarf_hasform.3 \ + dwarf_highpc.3 \ + dwarf_init.3 \ + dwarf_lineno.3 \ + dwarf_lne_end_sequence.3 \ + dwarf_lne_set_address.3 \ + dwarf_loclist.3 \ + dwarf_loclist_from_expr.3 \ + dwarf_new_die.3 \ + dwarf_new_expr.3 \ + dwarf_new_fde.3 \ + dwarf_next_cu_header.3 \ + dwarf_object_init.3 \ + dwarf_producer_init.3 \ + dwarf_producer_set_isa.3 \ + dwarf_reset_section_bytes.3 \ + dwarf_seterrarg.3 \ + dwarf_set_frame_cfa_value.3 \ + dwarf_set_reloc_application.3 \ + dwarf_srcfiles.3 \ + dwarf_srclines.3 \ + dwarf_start_macro_file.3 \ + dwarf_tag.3 \ + dwarf_transform_to_disk_form.3 \ + dwarf_undef_macro.3 \ + dwarf_vendor_ext.3 \ + dwarf_whatattr.3 + +MLINKS+= \ + dwarf_add_AT_const_value_string.3 dwarf_add_AT_const_value_signedint.3 \ + dwarf_add_AT_const_value_string.3 dwarf_add_AT_const_value_unsignedint.3 \ + dwarf_add_AT_signed_const.3 dwarf_add_AT_unsigned_const.3 \ + dwarf_add_AT_targ_address.3 dwarf_add_AT_targ_address_b.3 \ + dwarf_add_arange.3 dwarf_add_arange_b.3 \ + dwarf_add_expr_addr.3 dwarf_add_expr_addr_b.3 \ + dwarf_add_frame_fde.3 dwarf_add_frame_fde_b.3 \ + dwarf_attrval_signed.3 dwarf_attrval_flag.3 \ + dwarf_attrval_signed.3 dwarf_attrval_string.3 \ + dwarf_attrval_signed.3 dwarf_attrval_unsigned.3 \ + dwarf_child.3 dwarf_offdie.3 \ + dwarf_child.3 dwarf_siblingof.3 \ + dwarf_dealloc.3 dwarf_fde_cie_list_dealloc.3 \ + dwarf_dealloc.3 dwarf_funcs_dealloc.3 \ + dwarf_dealloc.3 dwarf_globals_dealloc.3 \ + dwarf_dealloc.3 dwarf_pubtypes_dealloc.3 \ + dwarf_dealloc.3 dwarf_types_dealloc.3 \ + dwarf_dealloc.3 dwarf_vars_dealloc.3 \ + dwarf_dealloc.3 dwarf_weaks_dealloc.3 \ + dwarf_dealloc.3 dwarf_ranges_dealloc.3 \ + dwarf_dealloc.3 dwarf_srclines_dealloc.3 \ + dwarf_init.3 dwarf_elf_init.3 \ + dwarf_dieoffset.3 dwarf_die_CU_offset.3 \ + dwarf_dieoffset.3 dwarf_die_CU_offset_range.3 \ + dwarf_dieoffset.3 dwarf_get_cu_die_offset_given_cu_header_offset.3 \ + dwarf_finish.3 dwarf_object_finish.3 \ + dwarf_formref.3 dwarf_global_formref.3 \ + dwarf_formudata.3 dwarf_formsdata.3 \ + dwarf_get_AT_name.3 dwarf_get_ACCESS_name.3 \ + dwarf_get_AT_name.3 dwarf_get_ATE_name.3 \ + dwarf_get_AT_name.3 dwarf_get_CC_name.3 \ + dwarf_get_AT_name.3 dwarf_get_CFA_name.3 \ + dwarf_get_AT_name.3 dwarf_get_CHILDREN_name.3 \ + dwarf_get_AT_name.3 dwarf_get_DS_name.3 \ + dwarf_get_AT_name.3 dwarf_get_DSC_name.3 \ + dwarf_get_AT_name.3 dwarf_get_EH_name.3 \ + dwarf_get_AT_name.3 dwarf_get_END_name.3 \ + dwarf_get_AT_name.3 dwarf_get_FORM_name.3 \ + dwarf_get_AT_name.3 dwarf_get_ID_name.3 \ + dwarf_get_AT_name.3 dwarf_get_INL_name.3 \ + dwarf_get_AT_name.3 dwarf_get_LANG_name.3 \ + dwarf_get_AT_name.3 dwarf_get_LNE_name.3 \ + dwarf_get_AT_name.3 dwarf_get_LNS_name.3 \ + dwarf_get_AT_name.3 dwarf_get_MACINFO_name.3 \ + dwarf_get_AT_name.3 dwarf_get_OP_name.3 \ + dwarf_get_AT_name.3 dwarf_get_ORD_name.3 \ + dwarf_get_AT_name.3 dwarf_get_TAG_name.3 \ + dwarf_get_AT_name.3 dwarf_get_VIRTUALITY_name.3 \ + dwarf_get_AT_name.3 dwarf_get_VIS_name.3 \ + dwarf_get_cu_die_offset.3 dwarf_get_arange_cu_header_offset.3 \ + dwarf_get_fde_list.3 dwarf_get_fde_list_eh.3 \ + dwarf_get_funcs.3 dwarf_func_die_offset.3 \ + dwarf_get_funcs.3 dwarf_func_cu_offset.3 \ + dwarf_get_funcs.3 dwarf_func_name_offsets.3 \ + dwarf_get_funcs.3 dwarf_funcname.3 \ + dwarf_get_globals.3 dwarf_global_die_offset.3 \ + dwarf_get_globals.3 dwarf_global_cu_offset.3 \ + dwarf_get_globals.3 dwarf_global_name_offsets.3 \ + dwarf_get_globals.3 dwarf_globname.3 \ + dwarf_get_pubtypes.3 dwarf_pubtype_die_offset.3 \ + dwarf_get_pubtypes.3 dwarf_pubtype_cu_offset.3 \ + dwarf_get_pubtypes.3 dwarf_pubtype_name_offsets.3 \ + dwarf_get_pubtypes.3 dwarf_pubtypename.3 \ + dwarf_get_ranges.3 dwarf_get_ranges_a.3 \ + dwarf_get_types.3 dwarf_type_die_offset.3 \ + dwarf_get_types.3 dwarf_type_cu_offset.3 \ + dwarf_get_types.3 dwarf_type_name_offsets.3 \ + dwarf_get_types.3 dwarf_typename.3 \ + dwarf_get_vars.3 dwarf_var_die_offset.3 \ + dwarf_get_vars.3 dwarf_var_cu_offset.3 \ + dwarf_get_vars.3 dwarf_var_name_offsets.3 \ + dwarf_get_vars.3 dwarf_varname.3 \ + dwarf_get_weaks.3 dwarf_weak_die_offset.3 \ + dwarf_get_weaks.3 dwarf_weak_cu_offset.3 \ + dwarf_get_weaks.3 dwarf_weak_name_offsets.3 \ + dwarf_get_weaks.3 dwarf_weakname.3 \ + dwarf_hasform.3 dwarf_whatform.3 \ + dwarf_hasform.3 dwarf_whatform_direct.3 \ + dwarf_highpc.3 dwarf_arrayorder.3 \ + dwarf_highpc.3 dwarf_bitoffset.3 \ + dwarf_highpc.3 dwarf_bitsize.3 \ + dwarf_highpc.3 dwarf_bytesize.3 \ + dwarf_highpc.3 dwarf_lowpc.3 \ + dwarf_highpc.3 dwarf_srclang.3 \ + dwarf_lineno.3 dwarf_lineaddr.3 \ + dwarf_lineno.3 dwarf_linebeginstatement.3 \ + dwarf_lineno.3 dwarf_lineblock.3 \ + dwarf_lineno.3 dwarf_lineendsequence.3 \ + dwarf_lineno.3 dwarf_lineoff.3 \ + dwarf_lineno.3 dwarf_linesrc.3 \ + dwarf_lineno.3 dwarf_line_srcfileno.3 \ + dwarf_loclist.3 dwarf_loclist_n.3 \ + dwarf_loclist_from_expr.3 dwarf_loclist_from_expr_a.3 \ + dwarf_producer_init.3 dwarf_producer_init_b.3 \ + dwarf_seterrarg.3 dwarf_seterrhand.3 \ + dwarf_set_frame_cfa_value.3 dwarf_set_frame_rule_initial_value.3 \ + dwarf_set_frame_cfa_value.3 dwarf_set_frame_rule_table_size.3 \ + dwarf_set_frame_cfa_value.3 dwarf_set_frame_same_value.3 \ + dwarf_set_frame_cfa_value.3 dwarf_set_frame_undefined_value.3 + +dwarf_pubnames.c: dwarf_nametbl.m4 dwarf_pubnames.m4 +dwarf_pubtypes.c: dwarf_nametbl.m4 dwarf_pubtypes.m4 +dwarf_weaks.c: dwarf_nametbl.m4 dwarf_weaks.m4 +dwarf_funcs.c: dwarf_nametbl.m4 dwarf_funcs.m4 +dwarf_vars.c: dwarf_nametbl.m4 dwarf_vars.m4 +dwarf_types.c: dwarf_nametbl.m4 dwarf_types.m4 +dwarf_pro_pubnames.c: dwarf_pro_nametbl.m4 dwarf_pro_pubnames.m4 +dwarf_pro_weaks.c: dwarf_pro_nametbl.m4 dwarf_pro_weaks.m4 +dwarf_pro_funcs.c: dwarf_pro_nametbl.m4 dwarf_pro_funcs.m4 +dwarf_pro_types.c: dwarf_pro_nametbl.m4 dwarf_pro_types.m4 +dwarf_pro_vars.c: dwarf_pro_nametbl.m4 dwarf_pro_vars.m4 .include + +# Keep the .SUFFIXES line after the include of bsd.lib.mk +.SUFFIXES: .m4 .c +.m4.c: + m4 -D SRCDIR=${SRCDIR} ${M4FLAGS} ${.IMPSRC} > ${.TARGET} + Modified: head/lib/libelf/Makefile ============================================================================== --- head/lib/libelf/Makefile Tue Jan 28 21:30:05 2014 (r261245) +++ head/lib/libelf/Makefile Tue Jan 28 21:38:54 2014 (r261246) @@ -1,8 +1,15 @@ # $FreeBSD$ +.include + +TOP= ${.CURDIR}/../../contrib/elftoolchain +SRCDIR= ${TOP}/libelf + +.PATH: ${SRCDIR} LIB= elf -SRCS= elf_begin.c \ +SRCS= elf.c \ + elf_begin.c \ elf_cntl.c \ elf_end.c elf_errmsg.c elf_errno.c \ elf_data.c \ @@ -16,6 +23,7 @@ SRCS= elf_begin.c \ elf_kind.c \ elf_memory.c \ elf_next.c \ + elf_open.c \ elf_rand.c \ elf_rawfile.c \ elf_phnum.c \ @@ -40,7 +48,6 @@ SRCS= elf_begin.c \ gelf_syminfo.c \ gelf_symshndx.c \ gelf_xlate.c \ - libelf.c \ libelf_align.c \ libelf_allocate.c \ libelf_ar.c \ @@ -49,11 +56,14 @@ SRCS= elf_begin.c \ libelf_data.c \ libelf_ehdr.c \ libelf_extended.c \ + libelf_memory.c \ + libelf_open.c \ libelf_phdr.c \ libelf_shdr.c \ libelf_xlate.c \ ${GENSRCS} -INCS= libelf.h gelf.h + +INCS= libelf.h gelf.h # # We need to link against the correct version of these files. One @@ -66,13 +76,13 @@ SRCS+= sys/elf32.h sys/elf64.h sys/elf_c GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c CLEANFILES= ${GENSRCS} CLEANDIRS= sys -CFLAGS+= -I${.CURDIR} -I. +CFLAGS+= -I. -I${SRCDIR} -I${TOP}/common sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} mkdir -p ${.OBJDIR}/sys ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= elf.3 \ elf_begin.3 \ @@ -97,6 +107,7 @@ MAN= elf.3 \ elf_kind.3 \ elf_memory.3 \ elf_next.3 \ + elf_open.3 \ elf_rawfile.3 \ elf_rand.3 \ elf_strptr.3 \ @@ -124,6 +135,7 @@ MAN= elf.3 \ MLINKS+= \ elf_errmsg.3 elf_errno.3 \ + elf_flagdata.3 elf_flagarhdr.3 \ elf_flagdata.3 elf_flagehdr.3 \ elf_flagdata.3 elf_flagelf.3 \ elf_flagdata.3 elf_flagphdr.3 \ @@ -135,6 +147,7 @@ MLINKS+= \ elf_getscn.3 elf_newscn.3 \ elf_getscn.3 elf_nextscn.3 \ elf_getshstrndx.3 elf_setshstrndx.3 \ + elf_open.3 elf_openmemory.3 \ gelf_getcap.3 gelf_update_cap.3 \ gelf_getdyn.3 gelf_update_dyn.3 \ gelf_getmove.3 gelf_update_move.3 \ @@ -160,12 +173,7 @@ MLINKS+= \ gelf_xlatetof.3 elf${E}_xlatetom.3 .endfor -VERSION_MAP= ${.CURDIR}/Version.map - -LIBELF_TEST_HOOKS?= 1 -.if defined(LIBELF_TEST_HOOKS) && (${LIBELF_TEST_HOOKS} > 0) -CFLAGS+= -DLIBELF_TEST_HOOKS -.endif +VERSION_MAP= ${SRCDIR}/Version.map libelf_convert.c: elf_types.m4 libelf_convert.m4 libelf_fsize.c: elf_types.m4 libelf_fsize.m4 @@ -176,4 +184,5 @@ libelf_msize.c: elf_types.m4 libelf_msi # Keep the .SUFFIXES line after the include of bsd.lib.mk .SUFFIXES: .m4 .c .m4.c: - m4 -D SRCDIR=${.CURDIR} ${.IMPSRC} > ${.TARGET} + m4 -D SRCDIR=${SRCDIR} ${M4FLAGS} ${.IMPSRC} > ${.TARGET} + Modified: head/sys/sys/elf_common.h ============================================================================== --- head/sys/sys/elf_common.h Tue Jan 28 21:30:05 2014 (r261245) +++ head/sys/sys/elf_common.h Tue Jan 28 21:38:54 2014 (r261246) @@ -280,6 +280,7 @@ typedef struct { #define SHT_SUNW_cap 0x6ffffff5 #define SHT_SUNW_SIGNATURE 0x6ffffff6 #define SHT_GNU_HASH 0x6ffffff6 +#define SHT_GNU_LIBLIST 0x6ffffff7 #define SHT_SUNW_ANNOTATE 0x6ffffff7 #define SHT_SUNW_DEBUGSTR 0x6ffffff8 #define SHT_SUNW_DEBUG 0x6ffffff9 @@ -769,6 +770,7 @@ typedef struct { #define R_MIPS_PC16 10 /* PC relative 16 bit */ #define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */ #define R_MIPS_GPREL32 12 /* GP relative 32 bit */ +#define R_MIPS_64 18 /* Direct 64 bit */ #define R_MIPS_GOTHI16 21 /* GOT HI 16 bit */ #define R_MIPS_GOTLO16 22 /* GOT LO 16 bit */ #define R_MIPS_CALLHI16 30 /* upper 16 bit GOT entry for function */ Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Tue Jan 28 21:30:05 2014 (r261245) +++ head/sys/sys/param.h Tue Jan 28 21:38:54 2014 (r261246) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100005 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100006 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 21:39:46 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9E5F92BB; Tue, 28 Jan 2014 21:39:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8AB751CFA; Tue, 28 Jan 2014 21:39:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SLdk5c085930; Tue, 28 Jan 2014 21:39:46 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SLdkT8085929; Tue, 28 Jan 2014 21:39:46 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201401282139.s0SLdkT8085929@svn.freebsd.org> From: Ulrich Spoerlein Date: Tue, 28 Jan 2014 21:39:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261247 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 21:39:46 -0000 Author: uqs Date: Tue Jan 28 21:39:46 2014 New Revision: 261247 URL: http://svnweb.freebsd.org/changeset/base/261247 Log: Add FreeBSD 2.2.9, the April Fools release. I decided not to extend the graph to the actual point in time when it was released, that would just look silly. Modified: head/share/misc/bsd-family-tree Modified: head/share/misc/bsd-family-tree ============================================================================== --- head/share/misc/bsd-family-tree Tue Jan 28 21:38:54 2014 (r261246) +++ head/share/misc/bsd-family-tree Tue Jan 28 21:39:46 2014 (r261247) @@ -110,9 +110,11 @@ FreeBSD 2.1 | | | | | | | | NetBSD 1.3.2 | | | FreeBSD 2.2.7 | | | | | | | | | | | | | BSD/OS 4.0 - | v | | | | | | | FreeBSD 2.2.8 | | | | | | - | | | | | OpenBSD 2.4 | + | | | | | | | | + | v | | | | OpenBSD 2.4 | + | FreeBSD 2.2.9 | | | | | | + | | | | | | | FreeBSD 3.0 <--------* | | v | | | | | NetBSD 1.3.3 | | *---FreeBSD 3.1 | | | | @@ -540,6 +542,7 @@ FreeBSD 6.0 2005-11-01 [FBD] NetBSD 2.1 2005-11-02 [NBD] NetBSD 3.0 2005-12-23 [NBD] DragonFly 1.4.0 2006-01-08 [DFB] +FreeBSD 2.2.9 2006-04-01 [FBD] OpenBSD 3.9 2006-05-01 [OBD] FreeBSD 6.1 2006-05-08 [FBD] FreeBSD 5.5 2006-05-25 [FBD] From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 21:40:04 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 433C1404; Tue, 28 Jan 2014 21:40:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2E0231CFE; Tue, 28 Jan 2014 21:40:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SLe4rP086073; Tue, 28 Jan 2014 21:40:04 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SLe4hC086072; Tue, 28 Jan 2014 21:40:04 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201401282140.s0SLe4hC086072@svn.freebsd.org> From: Ulrich Spoerlein Date: Tue, 28 Jan 2014 21:40:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261248 - head/gnu/usr.bin/groff/tmac X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 21:40:04 -0000 Author: uqs Date: Tue Jan 28 21:40:03 2014 New Revision: 261248 URL: http://svnweb.freebsd.org/changeset/base/261248 Log: Add FreeBSD 2.2.9 which aout(4) references. Discussed with: kib Modified: head/gnu/usr.bin/groff/tmac/mdoc.local Modified: head/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- head/gnu/usr.bin/groff/tmac/mdoc.local Tue Jan 28 21:39:46 2014 (r261247) +++ head/gnu/usr.bin/groff/tmac/mdoc.local Tue Jan 28 21:40:03 2014 (r261248) @@ -48,6 +48,7 @@ .ds doc-default-operating-system FreeBSD\~11.0 . .\" FreeBSD releases not found in doc-common +.ds doc-operating-system-FreeBSD-2.2.9 2.2.9 .ds doc-operating-system-FreeBSD-7.4 7.4 .ds doc-operating-system-FreeBSD-8.3 8.3 .ds doc-operating-system-FreeBSD-8.4 8.4 From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 21:40:12 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B02E537; Tue, 28 Jan 2014 21:40:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 875541D58; Tue, 28 Jan 2014 21:40:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SLeCpS086139; Tue, 28 Jan 2014 21:40:12 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SLeBoJ086131; Tue, 28 Jan 2014 21:40:11 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201401282140.s0SLeBoJ086131@svn.freebsd.org> From: Ulrich Spoerlein Date: Tue, 28 Jan 2014 21:40:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261249 - in head: lib/libc/iconv lib/libc/sys share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 21:40:12 -0000 Author: uqs Date: Tue Jan 28 21:40:10 2014 New Revision: 261249 URL: http://svnweb.freebsd.org/changeset/base/261249 Log: mdoc: fix several uses of the Fx macro to point to actual releases. Found by: make manlint Modified: head/lib/libc/iconv/__iconv_get_list.3 head/lib/libc/iconv/iconv_canonicalize.3 head/lib/libc/iconv/iconvctl.3 head/lib/libc/iconv/iconvlist.3 head/lib/libc/sys/procctl.2 head/share/man/man4/nvd.4 head/share/man/man4/nvme.4 Modified: head/lib/libc/iconv/__iconv_get_list.3 ============================================================================== --- head/lib/libc/iconv/__iconv_get_list.3 Tue Jan 28 21:40:03 2014 (r261248) +++ head/lib/libc/iconv/__iconv_get_list.3 Tue Jan 28 21:40:10 2014 (r261249) @@ -89,7 +89,7 @@ and functions are non-standard interfaces, which appeared in the implementation of the Citrus Project. The iconv implementation of the Citrus Project was adopted in -.Fx 9 . +.Fx 9.0 . .Sh AUTHORS This manual page was written by .An Gabor Kovesdan Aq gabor@FreeBSD.org . Modified: head/lib/libc/iconv/iconv_canonicalize.3 ============================================================================== --- head/lib/libc/iconv/iconv_canonicalize.3 Tue Jan 28 21:40:03 2014 (r261248) +++ head/lib/libc/iconv/iconv_canonicalize.3 Tue Jan 28 21:40:10 2014 (r261249) @@ -67,7 +67,7 @@ The .Nm function is a non-standard extension, which appeared in the GNU implementation and was adopted in -.Fx 9 +.Fx 9.0 for compatibility's sake. .Sh AUTHORS This manual page was written by Modified: head/lib/libc/iconv/iconvctl.3 ============================================================================== --- head/lib/libc/iconv/iconvctl.3 Tue Jan 28 21:40:03 2014 (r261248) +++ head/lib/libc/iconv/iconvctl.3 Tue Jan 28 21:40:10 2014 (r261249) @@ -175,7 +175,7 @@ The .Nm facility is a non-standard extension, which appeared in the GNU implementation and was adopted in -.Fx 9 +.Fx 9.0 for compatibility's sake. .Sh AUTHORS This manual page was written by Modified: head/lib/libc/iconv/iconvlist.3 ============================================================================== --- head/lib/libc/iconv/iconvlist.3 Tue Jan 28 21:40:03 2014 (r261248) +++ head/lib/libc/iconv/iconvlist.3 Tue Jan 28 21:40:10 2014 (r261249) @@ -86,7 +86,7 @@ The .Nm function is a non-standard extension, which appeared in the GNU implementation and was adopted in -.Fx 9 +.Fx 9.0 for compatibility's sake. .Sh AUTHORS This manual page was written by Modified: head/lib/libc/sys/procctl.2 ============================================================================== --- head/lib/libc/sys/procctl.2 Tue Jan 28 21:40:03 2014 (r261248) +++ head/lib/libc/sys/procctl.2 Tue Jan 28 21:40:10 2014 (r261249) @@ -139,4 +139,4 @@ command. The .Fn procctl function appeared in -.Fx 10 . +.Fx 10.0 . Modified: head/share/man/man4/nvd.4 ============================================================================== --- head/share/man/man4/nvd.4 Tue Jan 28 21:40:03 2014 (r261248) +++ head/share/man/man4/nvd.4 Tue Jan 28 21:40:10 2014 (r261249) @@ -70,7 +70,7 @@ I/O commands. The .Nm driver first appeared in -.Fx 9.2. +.Fx 9.2 . .Sh AUTHORS .An -nosplit The Modified: head/share/man/man4/nvme.4 ============================================================================== --- head/share/man/man4/nvme.4 Tue Jan 28 21:40:03 2014 (r261248) +++ head/share/man/man4/nvme.4 Tue Jan 28 21:40:10 2014 (r261249) @@ -151,7 +151,7 @@ and completion queues to the console. The .Nm driver first appeared in -.Fx 9.2. +.Fx 9.2 . .Sh AUTHORS .An -nosplit The From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 22:02:29 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9761EDF3; Tue, 28 Jan 2014 22:02:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 832E41ECF; Tue, 28 Jan 2014 22:02:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SM2TAf096784; Tue, 28 Jan 2014 22:02:29 GMT (envelope-from benno@svn.freebsd.org) Received: (from benno@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SM2TtX096783; Tue, 28 Jan 2014 22:02:29 GMT (envelope-from benno@svn.freebsd.org) Message-Id: <201401282202.s0SM2TtX096783@svn.freebsd.org> From: Benno Rice Date: Tue, 28 Jan 2014 22:02:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261251 - head/sys/opencrypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 22:02:29 -0000 Author: benno Date: Tue Jan 28 22:02:29 2014 New Revision: 261251 URL: http://svnweb.freebsd.org/changeset/base/261251 Log: Prevent races in accesses of the software crypto session array. swcr_newsession can change the pointer for swcr_sessions which races with swcr_process which is looking up entries in this array. Add a rwlock that protects changes to the array pointer so that swcr_newsession and swcr_process no longer race. Original patch by: Steve O'Hara-Smith Reviewed by: jmg Sponsored by: EMC / Isilon Storage Division Modified: head/sys/opencrypto/cryptosoft.c Modified: head/sys/opencrypto/cryptosoft.c ============================================================================== --- head/sys/opencrypto/cryptosoft.c Tue Jan 28 21:56:18 2014 (r261250) +++ head/sys/opencrypto/cryptosoft.c Tue Jan 28 22:02:29 2014 (r261251) @@ -35,6 +35,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include @@ -54,6 +56,8 @@ __FBSDID("$FreeBSD$"); static int32_t swcr_id; static struct swcr_data **swcr_sessions = NULL; static u_int32_t swcr_sesnum; +/* Protects swcr_sessions pointer, not data. */ +static struct rwlock swcr_sessions_lock; u_int8_t hmac_ipad_buffer[HMAC_MAX_BLOCK_LEN]; u_int8_t hmac_opad_buffer[HMAC_MAX_BLOCK_LEN]; @@ -62,6 +66,7 @@ static int swcr_encdec(struct cryptodesc static int swcr_authcompute(struct cryptodesc *, struct swcr_data *, caddr_t, int); static int swcr_compdec(struct cryptodesc *, struct swcr_data *, caddr_t, int); static int swcr_freesession(device_t dev, u_int64_t tid); +static int swcr_freesession_locked(device_t dev, u_int64_t tid); /* * Apply a symmetric encryption/decryption algorithm. @@ -670,6 +675,7 @@ swcr_newsession(device_t dev, u_int32_t if (sid == NULL || cri == NULL) return EINVAL; + rw_wlock(&swcr_sessions_lock); if (swcr_sessions) { for (i = 1; i < swcr_sesnum; i++) if (swcr_sessions[i] == NULL) @@ -692,6 +698,7 @@ swcr_newsession(device_t dev, u_int32_t swcr_sesnum = 0; else swcr_sesnum /= 2; + rw_wunlock(&swcr_sessions_lock); return ENOBUFS; } @@ -705,6 +712,7 @@ swcr_newsession(device_t dev, u_int32_t swcr_sessions = swd; } + rw_downgrade(&swcr_sessions_lock); swd = &swcr_sessions[i]; *sid = i; @@ -712,7 +720,8 @@ swcr_newsession(device_t dev, u_int32_t *swd = malloc(sizeof(struct swcr_data), M_CRYPTO_DATA, M_NOWAIT|M_ZERO); if (*swd == NULL) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return ENOBUFS; } @@ -749,7 +758,8 @@ swcr_newsession(device_t dev, u_int32_t error = txf->setkey(&((*swd)->sw_kschedule), cri->cri_key, cri->cri_klen / 8); if (error) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return error; } } @@ -780,14 +790,16 @@ swcr_newsession(device_t dev, u_int32_t (*swd)->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); if ((*swd)->sw_ictx == NULL) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return ENOBUFS; } (*swd)->sw_octx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); if ((*swd)->sw_octx == NULL) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return ENOBUFS; } @@ -810,14 +822,16 @@ swcr_newsession(device_t dev, u_int32_t (*swd)->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); if ((*swd)->sw_ictx == NULL) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return ENOBUFS; } (*swd)->sw_octx = malloc(cri->cri_klen / 8, M_CRYPTO_DATA, M_NOWAIT); if ((*swd)->sw_octx == NULL) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return ENOBUFS; } @@ -841,7 +855,8 @@ swcr_newsession(device_t dev, u_int32_t (*swd)->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); if ((*swd)->sw_ictx == NULL) { - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return ENOBUFS; } @@ -855,7 +870,8 @@ swcr_newsession(device_t dev, u_int32_t (*swd)->sw_cxf = cxf; break; default: - swcr_freesession(dev, i); + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return EINVAL; } @@ -863,14 +879,26 @@ swcr_newsession(device_t dev, u_int32_t cri = cri->cri_next; swd = &((*swd)->sw_next); } + rw_runlock(&swcr_sessions_lock); return 0; } +static int +swcr_freesession(device_t dev, u_int64_t tid) +{ + int error; + + rw_rlock(&swcr_sessions_lock); + error = swcr_freesession_locked(dev, tid); + rw_runlock(&swcr_sessions_lock); + return error; +} + /* * Free a session. */ static int -swcr_freesession(device_t dev, u_int64_t tid) +swcr_freesession_locked(device_t dev, u_int64_t tid) { struct swcr_data *swd; struct enc_xform *txf; @@ -976,10 +1004,14 @@ swcr_process(device_t dev, struct crypto } lid = crp->crp_sid & 0xffffffff; - if (lid >= swcr_sesnum || lid == 0 || swcr_sessions[lid] == NULL) { + rw_rlock(&swcr_sessions_lock); + if (swcr_sessions == NULL || lid >= swcr_sesnum || lid == 0 || + swcr_sessions[lid] == NULL) { + rw_runlock(&swcr_sessions_lock); crp->crp_etype = ENOENT; goto done; } + rw_runlock(&swcr_sessions_lock); /* Go through crypto descriptors, processing as we go */ for (crd = crp->crp_desc; crd; crd = crd->crd_next) { @@ -993,10 +1025,17 @@ swcr_process(device_t dev, struct crypto * XXX between the various instances of an algorithm (so we can * XXX locate the correct crypto context). */ + rw_rlock(&swcr_sessions_lock); + if (swcr_sessions == NULL) { + rw_runlock(&swcr_sessions_lock); + crp->crp_etype = ENOENT; + goto done; + } for (sw = swcr_sessions[lid]; sw && sw->sw_alg != crd->crd_alg; sw = sw->sw_next) ; + rw_runlock(&swcr_sessions_lock); /* No such context ? */ if (sw == NULL) { @@ -1074,6 +1113,7 @@ swcr_probe(device_t dev) static int swcr_attach(device_t dev) { + rw_init(&swcr_sessions_lock, "swcr_sessions_lock"); memset(hmac_ipad_buffer, HMAC_IPAD_VAL, HMAC_MAX_BLOCK_LEN); memset(hmac_opad_buffer, HMAC_OPAD_VAL, HMAC_MAX_BLOCK_LEN); @@ -1115,8 +1155,11 @@ static int swcr_detach(device_t dev) { crypto_unregister_all(swcr_id); - if (swcr_sessions != NULL) - free(swcr_sessions, M_CRYPTO_DATA); + rw_wlock(&swcr_sessions_lock); + free(swcr_sessions, M_CRYPTO_DATA); + swcr_sessions = NULL; + rw_wunlock(&swcr_sessions_lock); + rw_destroy(&swcr_sessions_lock); return 0; } From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 22:07:17 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3C2DBF76; Tue, 28 Jan 2014 22:07:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 28D4D1EF1; Tue, 28 Jan 2014 22:07:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SM7HVv097520; Tue, 28 Jan 2014 22:07:17 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SM7Hde097519; Tue, 28 Jan 2014 22:07:17 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401282207.s0SM7Hde097519@svn.freebsd.org> From: Warner Losh Date: Tue, 28 Jan 2014 22:07:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261252 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 22:07:17 -0000 Author: imp Date: Tue Jan 28 22:07:16 2014 New Revision: 261252 URL: http://svnweb.freebsd.org/changeset/base/261252 Log: Fix clang warning. Modified: head/sys/arm/arm/genassym.c Modified: head/sys/arm/arm/genassym.c ============================================================================== --- head/sys/arm/arm/genassym.c Tue Jan 28 22:02:29 2014 (r261251) +++ head/sys/arm/arm/genassym.c Tue Jan 28 22:07:16 2014 (r261252) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 22:23:40 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 70EA4510; Tue, 28 Jan 2014 22:23:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5129F1054; Tue, 28 Jan 2014 22:23:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SMNe3F005326; Tue, 28 Jan 2014 22:23:40 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SMNdOA005321; Tue, 28 Jan 2014 22:23:39 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201401282223.s0SMNdOA005321@svn.freebsd.org> From: Peter Wemm Date: Tue, 28 Jan 2014 22:23:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261253 - in head/kerberos5/lib: libasn1 libgssapi_spnego libhdb libhx509 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 22:23:40 -0000 Author: peter Date: Tue Jan 28 22:23:39 2014 New Revision: 261253 URL: http://svnweb.freebsd.org/changeset/base/261253 Log: Speculatively replace a cp with a cat for gathering data on a sporadic parallel build failure in the FreeBSD cluster on many-core systems with ZFS. cp uses mmap in this scenario, cat does not. Modified: head/kerberos5/lib/libasn1/Makefile head/kerberos5/lib/libgssapi_spnego/Makefile head/kerberos5/lib/libhdb/Makefile head/kerberos5/lib/libhx509/Makefile Modified: head/kerberos5/lib/libasn1/Makefile ============================================================================== --- head/kerberos5/lib/libasn1/Makefile Tue Jan 28 22:07:16 2014 (r261252) +++ head/kerberos5/lib/libasn1/Makefile Tue Jan 28 22:23:39 2014 (r261253) @@ -103,10 +103,10 @@ ${GEN_KX509}: kx509.asn1 .SUFFIXES: .h .c .x .hx .x.c: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .hx.h: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .include Modified: head/kerberos5/lib/libgssapi_spnego/Makefile ============================================================================== --- head/kerberos5/lib/libgssapi_spnego/Makefile Tue Jan 28 22:07:16 2014 (r261252) +++ head/kerberos5/lib/libgssapi_spnego/Makefile Tue Jan 28 22:23:39 2014 (r261253) @@ -45,10 +45,10 @@ ${GEN}: spnego.asn1 spnego.opt .SUFFIXES: .h .c .x .hx .x.c: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .hx.h: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .include Modified: head/kerberos5/lib/libhdb/Makefile ============================================================================== --- head/kerberos5/lib/libhdb/Makefile Tue Jan 28 22:07:16 2014 (r261252) +++ head/kerberos5/lib/libhdb/Makefile Tue Jan 28 22:23:39 2014 (r261253) @@ -90,10 +90,10 @@ ${GEN}: hdb.asn1 .SUFFIXES: .h .c .x .hx .x.c: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .hx.h: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .include Modified: head/kerberos5/lib/libhx509/Makefile ============================================================================== --- head/kerberos5/lib/libhx509/Makefile Tue Jan 28 22:07:16 2014 (r261252) +++ head/kerberos5/lib/libhx509/Makefile Tue Jan 28 22:23:39 2014 (r261253) @@ -283,10 +283,10 @@ ${GEN_CRMF}: crmf.asn1 .SUFFIXES: .h .c .x .hx .x.c: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .hx.h: - cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cat ${.IMPSRC} > ${.TARGET} .include From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 22:37:23 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D493D890 for ; Tue, 28 Jan 2014 22:37:23 +0000 (UTC) Received: from nm48-vm10.bullet.mail.bf1.yahoo.com (nm48-vm10.bullet.mail.bf1.yahoo.com [216.109.114.235]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 768721112 for ; Tue, 28 Jan 2014 22:37:23 +0000 (UTC) Received: from [98.139.212.151] by nm48.bullet.mail.bf1.yahoo.com with NNFMP; 28 Jan 2014 22:37:15 -0000 Received: from [98.139.211.162] by tm8.bullet.mail.bf1.yahoo.com with NNFMP; 28 Jan 2014 22:37:15 -0000 Received: from [127.0.0.1] by smtp219.mail.bf1.yahoo.com with NNFMP; 28 Jan 2014 22:37:15 -0000 X-Yahoo-Newman-Id: 832673.80604.bm@smtp219.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: TXBBYGEVM1lYI04HOLmdoOAaC.gWL5fJxwCu_RCbSihM9iQ vp2lZEs_UbYFBIb4_lXAZnKVueDYLPsRDI8cRH64zYSRt9ZsAE0Smu3sJiL_ 3Uss4CyV8BTC0VgPwhsPWQhNjarD__kWaLLSLNCuz8zobbRg6.zloiGcZ_B0 wOamUvxMijh_YoB_JS9YbKf6ToXhH74BR4OsNIeFRLLXg6wlKWnbaf6xfJK5 mutlh3lQsQAGhr9Vz7rvPf49wZOQ2vCTe5xHk0l9XWCDjFHCjoTj9TWXvyZ4 QSiGGN2F2swv5tGWm1dpg7nCYxCChS5vNuQCL2NzjdYoWtYgs7xyBqJSV5zC an6Ymsyhx1puQGoCMH_Yso3auj6OCl9KZc6QVob_Xrm_fvUh1UYvM338rCqE 0e8KVzT9NJgQtF8QyDh3v32A3KPc4mBQ9IjL86iB82pR7.Dvnyf8_u0DWJzC GOqCtUakt8RCn1wi6Cd90dgHhe6BXyG631Goa6IK.p.2Qiv3z88yY30gwkgo W4nS71_pjfDdFFSV_EQ7fDuihOHwExqi.76eeDxIS3E4EuiRNm6V902U- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf X-Rocket-Received: from [192.168.0.101] (pfg@190.157.126.109 with plain [63.250.193.228]) by smtp219.mail.bf1.yahoo.com with SMTP; 28 Jan 2014 14:37:15 -0800 PST Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys From: Pedro Giffuni In-Reply-To: <201401282138.s0SLcsVV085769@svn.freebsd.org> Date: Tue, 28 Jan 2014 17:37:11 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> To: Kai Wang X-Mailer: Apple Mail (2.1827) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 22:37:23 -0000 Il giorno 28/gen/2014, alle ore 16:38, Kai Wang ha = scritto: > Author: kaiw > Date: Tue Jan 28 21:38:54 2014 > New Revision: 261246 > URL: http://svnweb.freebsd.org/changeset/base/261246 >=20 > Log: > Merge from projects/elftoolchain: Upgrade libelf and libdwarf to = newer > versions from elftoolchain upstream (r2974). Convert ctfconvert to > use the APIs from the new libdwarf and make ctfconvert work with = Clang > 3.4. >=20 > __FreeBSD_version is bumped to 1100006. >=20 Awesome!=20 Hope that: 1) This gets MFC=92d at least to 10. 2) We start seeing more of those binutils replacements[1] in = elftoolchain find their way into the tree now that they are already in = the vendor area. Great work, thank you !! Regards, Pedro. [1] https://wiki.freebsd.org/GPLinBase From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 23:01:41 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0236920E; Tue, 28 Jan 2014 23:01:41 +0000 (UTC) Received: from mail-qc0-x22e.google.com (mail-qc0-x22e.google.com [IPv6:2607:f8b0:400d:c01::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6CC30134A; Tue, 28 Jan 2014 23:01:40 +0000 (UTC) Received: by mail-qc0-f174.google.com with SMTP id x13so1601988qcv.5 for ; Tue, 28 Jan 2014 15:01:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=GVTPR4kQ5iYXmLoMauZmYGKgYwXdo32gmpNv1orn2LI=; b=fdA26PoR+0bQpqnZjuYJizzvgSEi6hpseESYVMG4vJ/4yyBfEo0FKFva24E4qxNXe8 /Fa7dgU61Pi0me6BhPKeDj7zFhqEcJGkHtLeKCEp7uUDJ9T4pLrYQM/j1CZZ3sYtKRCS IKkDNaorNXEZIQf7Lt18mO5KLeXXFrBUeWTsGa5qGwvCa+h0+T9JpqADQb8MyVEMcSfC m2oXD/y3RLRp6xeKPbwmaqb0/hClrIM9/iWlPcGby29IgPYnmNiZ4ii3IKt01Pno65WZ t0Z3zpVbQAv7VCsbPDgiJhcAQJyLRB4F8aoE1a7Z/4BMRymDpbTQnO/UMT557psS+Gxc M51w== MIME-Version: 1.0 X-Received: by 10.140.42.180 with SMTP id c49mr6622657qga.24.1390950099617; Tue, 28 Jan 2014 15:01:39 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.224.52.8 with HTTP; Tue, 28 Jan 2014 15:01:39 -0800 (PST) In-Reply-To: <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> Date: Tue, 28 Jan 2014 15:01:39 -0800 X-Google-Sender-Auth: QyFdv6ob0PW_hXcw-sfsrs5oXyE Message-ID: Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys From: Adrian Chadd To: Pedro Giffuni Content-Type: text/plain; charset=ISO-8859-1 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Kai Wang X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 23:01:41 -0000 .. and was this tested on anything other than i386/amd64? Don't be too hasty to MFC; us guys in ARM, PPC, MIPS, SPARC and IA64 world have to now retest everything. It'll take time for this to shake out. Thanks! -a From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 23:33:41 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1C8A82F2; Tue, 28 Jan 2014 23:33:41 +0000 (UTC) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CD667161C; Tue, 28 Jan 2014 23:33:40 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.7/8.14.7) with ESMTP id s0SNXdwK084919 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 28 Jan 2014 15:33:40 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.7/8.14.7/Submit) id s0SNXdnE084918; Tue, 28 Jan 2014 15:33:39 -0800 (PST) (envelope-from sgk) Date: Tue, 28 Jan 2014 15:33:39 -0800 From: Steve Kargl To: Adrian Chadd Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys Message-ID: <20140128233339.GA84881@troutmask.apl.washington.edu> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22 (2013-10-16) Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Pedro Giffuni , "src-committers@freebsd.org" , Kai Wang X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 23:33:41 -0000 On Tue, Jan 28, 2014 at 03:01:39PM -0800, Adrian Chadd wrote: > .. and was this tested on anything other than i386/amd64? > > Don't be too hasty to MFC; us guys in ARM, PPC, MIPS, SPARC and IA64 > world have to now retest everything. It'll take time for this to shake > out. > No kidding! There should be a much longer wait period than the 3 days that appears common for a MFC (unless the patch fixes a critical bug). I suspect that there are not as many people running top-of-tree current as some committer seem to assume. At the moment, I fear that there is a rather nasty bug in either UFS2, USB, CAM, or code generation for Intel core2 duo processors in current. I further fear that I'll need to go back to a circa Aug 2013 current and perform bisection with svn. :( -- Steve From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 23:40:02 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A1FD7648; Tue, 28 Jan 2014 23:40:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8E8431659; Tue, 28 Jan 2014 23:40:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0SNe287033401; Tue, 28 Jan 2014 23:40:02 GMT (envelope-from jmg@svn.freebsd.org) Received: (from jmg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0SNe2LA033400; Tue, 28 Jan 2014 23:40:02 GMT (envelope-from jmg@svn.freebsd.org) Message-Id: <201401282340.s0SNe2LA033400@svn.freebsd.org> From: John-Mark Gurney Date: Tue, 28 Jan 2014 23:40:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261254 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 23:40:02 -0000 Author: jmg Date: Tue Jan 28 23:40:02 2014 New Revision: 261254 URL: http://svnweb.freebsd.org/changeset/base/261254 Log: link mbuf to m_append so it can be found... Pointed out by: J David MFC after: 1 week Modified: head/share/man/man9/Makefile Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Tue Jan 28 22:23:39 2014 (r261253) +++ head/share/man/man9/Makefile Tue Jan 28 23:40:02 2014 (r261254) @@ -878,6 +878,7 @@ MLINKS+=mbpool.9 mbp_alloc.9 \ MLINKS+=\ mbuf.9 m_adj.9 \ mbuf.9 M_ALIGN.9 \ + mbuf.9 m_append.9 \ mbuf.9 m_apply.9 \ mbuf.9 m_cat.9 \ mbuf.9 MCHTYPE.9 \ From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 23:47:45 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CF37F941; Tue, 28 Jan 2014 23:47:45 +0000 (UTC) Received: from mail-la0-x22a.google.com (mail-la0-x22a.google.com [IPv6:2a00:1450:4010:c03::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8F02F16E5; Tue, 28 Jan 2014 23:47:44 +0000 (UTC) Received: by mail-la0-f42.google.com with SMTP id hr13so953891lab.29 for ; Tue, 28 Jan 2014 15:47:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=vFOumAefzVZN8i8saOYh+fqf63TuMQqhJlJ/qmtN7po=; b=Pm6huHRMH1u/C/yBrEpEtgYSq4udxkM7WDQa35T3TrwRPvemjRCRq/1adBXXd76TjK pvmNnlwMmuPJzOnwKo1xzzLfFoTV55uVWJTemq6Whn54Z1nDNE78rF+sSQhZEcQA705S giWxFQGrTGe4MWUzowLPzkzcZX1oMQgwkF9u7GXobyxu7ksD4JuQ7co0C6GlJ4sgN6V/ xHxxWSBkOTW7diAApaeCz0fSlPWpiW5gMqGbjOeVDVfX7OFzDzpfhzkzf8606KHiM3ci VIXEQ58XEi96O75xtaksQhL0y0nQBxwDdinE6Jlpo/BucNgldRyH0CSQlEa/+sMHkgaz LaxQ== X-Received: by 10.112.218.68 with SMTP id pe4mr2658824lbc.29.1390952862672; Tue, 28 Jan 2014 15:47:42 -0800 (PST) Received: from localhost (s83-179-26-16.cust.tele2.se. [83.179.26.16]) by mx.google.com with ESMTPSA id s9sm500837laj.0.2014.01.28.15.47.40 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 28 Jan 2014 15:47:41 -0800 (PST) Sender: Kai Wang Received: from localhost.localdomain ([127.0.0.1] helo=localhost.my.domain) by localhost with esmtp (Exim 4.80.1 (FreeBSD)) (envelope-from ) id 1W8INF-000Fkd-3J; Wed, 29 Jan 2014 00:47:21 +0100 Received: (from kaiw@localhost) by localhost.my.domain (8.14.5/8.14.5/Submit) id s0SNlLmU060550; Wed, 29 Jan 2014 00:47:21 +0100 (CET) (envelope-from kaiw@FreeBSD.org) X-Authentication-Warning: localhost.my.domain: kaiw set sender to kaiw@FreeBSD.org using -f Date: Wed, 29 Jan 2014 00:47:21 +0100 From: Kai Wang To: Adrian Chadd Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys Message-ID: <20140128234721.GB93265@soulhacker> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Pedro Giffuni , "src-committers@freebsd.org" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 23:47:45 -0000 On Tue, Jan 28, 2014 at 03:01:39PM -0800, Adrian Chadd wrote: > .. and was this tested on anything other than i386/amd64? > > Don't be too hasty to MFC; us guys in ARM, PPC, MIPS, SPARC and IA64 > world have to now retest everything. It'll take time for this to shake > out. Of course! I can help with troubleshooting CTF, libdwarf, libelf related issues on these platforms, if needed. Also I need to complete the DWARF4 support in libdwarf/ctfconvert, which definitely will consume some time. After that, we can consider MFC if everything runs ok on all these platforms. Thanks, Kai From owner-svn-src-head@FreeBSD.ORG Tue Jan 28 23:57:52 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B363ED58; Tue, 28 Jan 2014 23:57:52 +0000 (UTC) Received: from mail-la0-x231.google.com (mail-la0-x231.google.com [IPv6:2a00:1450:4010:c03::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9D8E81797; Tue, 28 Jan 2014 23:57:51 +0000 (UTC) Received: by mail-la0-f49.google.com with SMTP id y1so928123lam.8 for ; Tue, 28 Jan 2014 15:57:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=hAltUawWGPzIeUCER9YWekDwz/qfsKAcV89oH9IJYak=; b=WNRHBPRVRZQC7DnpMrUwrcARmMM57MJjrzL21XKIxufW5e7UdXpauy3Hp7TI8Nv3mS rVbev0rYYgQDJN4D3JSxiyB1ZrSQfxxq7hBcqivGLldOiP4F5vfUoGCmnX1sHDm9x1e2 TADLY2I+UTqkJEuo2VLsSJg3PEDzGBEmsSlkNE/80DaSz4Pp58bnOnW0Cm0UZDGalecD xISXhyl0kj54SUKHQ83DC7UaR4mIc8rHjkSJrt0bqd6wRqntGVtsaPmAvfo9nkCmsKEt MeTlo6fb2qf1mD20BE4pmOxDJXOJHxitsfUQUsU9qGGLbn4IY3yIcFKFLWXirwZJy5YL pPkQ== X-Received: by 10.112.209.97 with SMTP id ml1mr2769106lbc.26.1390953469642; Tue, 28 Jan 2014 15:57:49 -0800 (PST) Received: from localhost (s83-179-26-16.cust.tele2.se. [83.179.26.16]) by mx.google.com with ESMTPSA id cu8sm343567lbb.12.2014.01.28.15.57.48 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 28 Jan 2014 15:57:48 -0800 (PST) Sender: Kai Wang Received: from localhost.localdomain ([127.0.0.1] helo=localhost.my.domain) by localhost with esmtp (Exim 4.80.1 (FreeBSD)) (envelope-from ) id 1W8IX2-000FlI-Ir; Wed, 29 Jan 2014 00:57:28 +0100 Received: (from kaiw@localhost) by localhost.my.domain (8.14.5/8.14.5/Submit) id s0SNvSVr060591; Wed, 29 Jan 2014 00:57:28 +0100 (CET) (envelope-from kaiw@FreeBSD.org) X-Authentication-Warning: localhost.my.domain: kaiw set sender to kaiw@FreeBSD.org using -f Date: Wed, 29 Jan 2014 00:57:28 +0100 From: Kai Wang To: Pedro Giffuni Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys Message-ID: <20140128235728.GC93265@soulhacker> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 23:57:52 -0000 On Tue, Jan 28, 2014 at 05:37:11PM -0500, Pedro Giffuni wrote: > 2) We start seeing more of those binutils replacements[1] in elftoolchain find their way into the tree now that they are already in the vendor area. Yes I will try to do that later. Some of the binutils replacements in elftoolchain were almost ready. We just need to do more testing and to probably implement new features found in more recent binutils. Thanks, Kai From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 02:57:11 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9C7ED987 for ; Wed, 29 Jan 2014 02:57:11 +0000 (UTC) Received: from nm16.bullet.mail.bf1.yahoo.com (nm16.bullet.mail.bf1.yahoo.com [98.139.212.175]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 43BEC13DF for ; Wed, 29 Jan 2014 02:57:11 +0000 (UTC) Received: from [66.196.81.170] by nm16.bullet.mail.bf1.yahoo.com with NNFMP; 29 Jan 2014 02:57:03 -0000 Received: from [98.139.211.198] by tm16.bullet.mail.bf1.yahoo.com with NNFMP; 29 Jan 2014 02:57:03 -0000 Received: from [127.0.0.1] by smtp207.mail.bf1.yahoo.com with NNFMP; 29 Jan 2014 02:57:03 -0000 X-Yahoo-Newman-Id: 65369.19505.bm@smtp207.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: KC3LUbYVM1mhyUdoSqCBCdMognUI8DkErAGtZ0V__EQPniZ PNCus6GwxtOWqGz3OHGkqQkzBVcS5Eo54eiB017ebeqI_GG_toQJ.i6CzGNT NddcfQsmNkGQUOhZE0DiU5lX8Fnftjp1HVQAFdlirrgeckrfim_lQigoeAKt modvAe47UZ7Frbxc07Iz9vrh74DNQA52qeiBqwYwwzNJv5.LjvISfvHpKPKs kZMfljDe10.Mjj23uigAFhL6qK3KXsynkhHoWGk.fFdAwDHOBfm8Us94e9By uyrXN8C9SlvLI7JAZP94G0BmZq9QrWeUhRJNtgOhWeFe0Y3MLuStc0OP48A_ pQtDZps.OSH4cRh7p.WuAxbZKTG1wlCwckcEeODgQb.HBT45.CuV0kix0ZJ_ mEJnLzCMwLImazd9lC8ecCAmewUimFbDAQmVP.c8fvWN.u4oMqm5k75HUsH_ mx.cbBRCcTWh5vMrzcsxhGmVT_ThniUN3F0Pq.pCES2QbkW5I8dUk0HYjGcc _bCKE4KV7DioFFLgUaeH3u.sPYvLJFIT389a__FERHtFL8g6fl4uxT94- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf X-Rocket-Received: from [192.168.0.102] (pfg@190.157.126.109 with plain [98.138.105.21]) by smtp207.mail.bf1.yahoo.com with SMTP; 28 Jan 2014 18:57:03 -0800 PST Message-ID: <52E86DFC.8030602@FreeBSD.org> Date: Tue, 28 Jan 2014 21:57:00 -0500 From: Pedro Giffuni Organization: FreeBSD User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys References: <201401282138.s0SLcsVV085769@svn.freebsd.org> <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Kai Wang X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 02:57:11 -0000 On 28/01/2014 18:01, Adrian Chadd wrote: > .. and was this tested on anything other than i386/amd64? > > Don't be too hasty to MFC; us guys in ARM, PPC, MIPS, SPARC and IA64 > world have to now retest everything. It'll take time for this to shake > out. > Absolutely, I didn't mean to force things before they are ready. My understanding is that DTrace is the only consumer of the dwarf stuff that we need for clang 3.4, so that's a good thing to start testing first. Regards, Pedro. From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 04:57:58 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1DDCED2C for ; Wed, 29 Jan 2014 04:57:58 +0000 (UTC) Received: from mail-ig0-f182.google.com (mail-ig0-f182.google.com [209.85.213.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D91071E7A for ; Wed, 29 Jan 2014 04:57:57 +0000 (UTC) Received: by mail-ig0-f182.google.com with SMTP id uy17so3675210igb.3 for ; Tue, 28 Jan 2014 20:57:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=vD9wSEKm63GSOVgCFdXIvEHBqRSIigcCko9/OZzMPno=; b=E7ChfZsolalfekWFTE89JFQobWWLj0YU7PIM2zHtLnQzj6kt6TddDyvZkLWPJgwMvk r9pd5qdZWYWKnFYsrcANY+AVNTvbYu7x4gg9yhovqPCof9ywja5W6qvEfttDnPGzxZSe CGjBfXPXfofBoy7/9Rs8cU9c4tK/AsHT0a+YuCt3c4HpiOOseZzM6hydu4w+7naztDXD 11/HPdpVNkPrG+bRrODone8qDEyt8Or5EGTr9DLJaTNmB4ybBkTxdt5ih3Id0teczVBt HbqRfWX5SGQzJTsCHqDgfNEbjv1E5/3znIJZefXxr4OXLEg0RLkZH4+2z/HWAWeXnm4a 2ddQ== X-Gm-Message-State: ALoCoQnNRW/Vg8+UTmCboWbcT8E1E742QL5m3MZ4GCyApeN3B6IXTyZmbHyIRTQ7vQ05fWsqQ+rJ X-Received: by 10.43.56.4 with SMTP id wa4mr4368819icb.18.1390971476763; Tue, 28 Jan 2014 20:57:56 -0800 (PST) Received: from fusion-mac.bsdimp.com (50-78-194-198-static.hfc.comcastbusiness.net. [50.78.194.198]) by mx.google.com with ESMTPSA id ft2sm4919082igb.5.2014.01.28.20.57.55 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 28 Jan 2014 20:57:56 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys Mime-Version: 1.0 (Apple Message framework v1085) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <20140128235728.GC93265@soulhacker> Date: Tue, 28 Jan 2014 21:57:54 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <0470457F-7F74-4B0E-9B89-270BAD2624B1@bsdimp.com> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> <62D9690C-16B3-4ECF-B534-4D454989865D@FreeBSD.org> <20140128235728.GC93265@soulhacker> To: Kai Wang X-Mailer: Apple Mail (2.1085) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Pedro Giffuni , src-committers@FreeBSD.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 04:57:58 -0000 On Jan 28, 2014, at 4:57 PM, Kai Wang wrote: > On Tue, Jan 28, 2014 at 05:37:11PM -0500, Pedro Giffuni wrote: >> 2) We start seeing more of those binutils replacements[1] in = elftoolchain find their way into the tree now that they are already in = the vendor area. >=20 > Yes I will try to do that later. Some of the binutils replacements in > elftoolchain were almost ready. We just need to do more testing and to > probably implement new features found in more recent binutils. Let's make sure we shake this stuff out... There was insufficient shake = out time when the bsdl dtc replaced the gpl one, as well as lack of = proper notice to the current maintainer of the gpl dtc... Let's learn = from that experience shall we, so we don't have another mess to sort = out. Warner From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 05:00:04 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A3ABAE92; Wed, 29 Jan 2014 05:00:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 90EB91EA4; Wed, 29 Jan 2014 05:00:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0T504qi056866; Wed, 29 Jan 2014 05:00:04 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0T504hA056865; Wed, 29 Jan 2014 05:00:04 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401290500.s0T504hA056865@svn.freebsd.org> From: Warner Losh Date: Wed, 29 Jan 2014 05:00:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261257 - head/usr.bin X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 05:00:04 -0000 Author: imp Date: Wed Jan 29 05:00:04 2014 New Revision: 261257 URL: http://svnweb.freebsd.org/changeset/base/261257 Log: Don't build BSDL dtc if the GPL dtc is enabled. Modified: head/usr.bin/Makefile Modified: head/usr.bin/Makefile ============================================================================== --- head/usr.bin/Makefile Wed Jan 29 02:39:44 2014 (r261256) +++ head/usr.bin/Makefile Wed Jan 29 05:00:04 2014 (r261257) @@ -37,7 +37,6 @@ SUBDIR= alias \ ctlstat \ cut \ dirname \ - dtc \ du \ ee \ elf2aout \ @@ -231,6 +230,10 @@ SUBDIR+= calendar _clang= clang .endif +.if ${MK_GPL_DTC} != "yes" +SUBDIR+= dtc +.endif + .if ${MK_GROFF} != "no" SUBDIR+= vgrind .endif From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 05:58:08 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AEACBC4E; Wed, 29 Jan 2014 05:58:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9A6DE12B7; Wed, 29 Jan 2014 05:58:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0T5w8ex078979; Wed, 29 Jan 2014 05:58:08 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0T5w8CF078978; Wed, 29 Jan 2014 05:58:08 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401290558.s0T5w8CF078978@svn.freebsd.org> From: Justin Hibbits Date: Wed, 29 Jan 2014 05:58:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261258 - head/sys/powerpc/aim X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 05:58:08 -0000 Author: jhibbits Date: Wed Jan 29 05:58:08 2014 New Revision: 261258 URL: http://svnweb.freebsd.org/changeset/base/261258 Log: Use a loop of dcbz, instead of calling bzero() to zero a page. This matches what is done in mmu_oea64.c. MFC after: 1 month Modified: head/sys/powerpc/aim/mmu_oea.c Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Wed Jan 29 05:00:04 2014 (r261257) +++ head/sys/powerpc/aim/mmu_oea.c Wed Jan 29 05:58:08 2014 (r261258) @@ -1084,10 +1084,10 @@ moea_copy_pages(mmu_t mmu, vm_page_t *ma void moea_zero_page(mmu_t mmu, vm_page_t m) { - vm_offset_t pa = VM_PAGE_TO_PHYS(m); - void *va = (void *)pa; + vm_offset_t off, pa = VM_PAGE_TO_PHYS(m); - bzero(va, PAGE_SIZE); + for (off = 0; off < PAGE_SIZE; off += cacheline_size) + __asm __volatile("dcbz 0,%0" :: "r"(pa + off)); } void @@ -1102,10 +1102,8 @@ moea_zero_page_area(mmu_t mmu, vm_page_t void moea_zero_page_idle(mmu_t mmu, vm_page_t m) { - vm_offset_t pa = VM_PAGE_TO_PHYS(m); - void *va = (void *)pa; - bzero(va, PAGE_SIZE); + moea_zero_page(mmu, m); } /* From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 09:58:05 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B3FE41D1; Wed, 29 Jan 2014 09:58:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A088515DE; Wed, 29 Jan 2014 09:58:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0T9w5BQ074969; Wed, 29 Jan 2014 09:58:05 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0T9w5tx074968; Wed, 29 Jan 2014 09:58:05 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401290958.s0T9w5tx074968@svn.freebsd.org> From: Kai Wang Date: Wed, 29 Jan 2014 09:58:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261259 - head/cddl/contrib/opensolaris/tools/ctf/cvt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 09:58:05 -0000 Author: kaiw Date: Wed Jan 29 09:58:05 2014 New Revision: 261259 URL: http://svnweb.freebsd.org/changeset/base/261259 Log: Only declare `bysz' variable under little endian archs. Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Wed Jan 29 05:58:08 2014 (r261258) +++ head/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Wed Jan 29 09:58:05 2014 (r261259) @@ -935,7 +935,10 @@ static void die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, int type, const char *typename) { - Dwarf_Unsigned sz, bysz, bitsz, bitoff, maxsz=0; + Dwarf_Unsigned sz, bitsz, bitoff, maxsz=0; +#if BYTE_ORDER == _LITTLE_ENDIAN + Dwarf_Unsigned bysz; +#endif Dwarf_Die mem; mlist_t *ml, **mlastp; iidesc_t *ii; From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 10:42:02 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 581F6E27; Wed, 29 Jan 2014 10:42:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 421AC1976; Wed, 29 Jan 2014 10:42:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TAg2kr095150; Wed, 29 Jan 2014 10:42:02 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TAg10i095143; Wed, 29 Jan 2014 10:42:01 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401291042.s0TAg10i095143@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 29 Jan 2014 10:42:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261260 - in head: etc sys/conf sys/dev/usb sys/dev/usb/input sys/modules/usb sys/modules/usb/wsp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 10:42:02 -0000 Author: hselasky Date: Wed Jan 29 10:42:01 2014 New Revision: 261260 URL: http://svnweb.freebsd.org/changeset/base/261260 Log: Add support for trackpads found in Apple MacBook products. While at it add some missing devd entries. Submitted by: Huang Wen Hui MFC after: 1 week Added: head/sys/dev/usb/input/wsp.c (contents, props changed) head/sys/modules/usb/wsp/ head/sys/modules/usb/wsp/Makefile (contents, props changed) Modified: head/etc/devd.conf head/sys/conf/NOTES head/sys/conf/files head/sys/dev/usb/usbdevs head/sys/modules/usb/Makefile Modified: head/etc/devd.conf ============================================================================== --- head/etc/devd.conf Wed Jan 29 09:58:05 2014 (r261259) +++ head/etc/devd.conf Wed Jan 29 10:42:01 2014 (r261260) @@ -119,6 +119,15 @@ notify 100 { match "system" "DEVFS"; match "subsystem" "CDEV"; match "type" "CREATE"; + match "cdev" "atp[0-9]+"; + + action "/etc/rc.d/moused quietstart $cdev"; +}; + +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "CREATE"; match "cdev" "ums[0-9]+"; action "/etc/rc.d/moused quietstart $cdev"; @@ -127,6 +136,15 @@ notify 100 { notify 100 { match "system" "DEVFS"; match "subsystem" "CDEV"; + match "type" "CREATE"; + match "cdev" "wsp[0-9]+"; + + action "/etc/rc.d/moused quietstart $cdev"; +}; + +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; match "type" "DESTROY"; match "cdev" "ums[0-9]+"; Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Wed Jan 29 09:58:05 2014 (r261259) +++ head/sys/conf/NOTES Wed Jan 29 10:42:01 2014 (r261260) @@ -2660,6 +2660,9 @@ device umct device umodem # USB mouse device ums +# USB touchpad(s) +device atp +device wsp # eGalax USB touch screen device uep # Diamond Rio 500 MP3 player Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Wed Jan 29 09:58:05 2014 (r261259) +++ head/sys/conf/files Wed Jan 29 10:42:01 2014 (r261260) @@ -2408,6 +2408,7 @@ dev/usb/input/uep.c optional uep dev/usb/input/uhid.c optional uhid dev/usb/input/ukbd.c optional ukbd dev/usb/input/ums.c optional ums +dev/usb/input/wsp.c optional wsp # # USB quirks # Added: head/sys/dev/usb/input/wsp.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/usb/input/wsp.c Wed Jan 29 10:42:01 2014 (r261260) @@ -0,0 +1,1438 @@ +/*- + * Copyright (c) 2012 Huang Wen Hui + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "usbdevs.h" + +#define USB_DEBUG_VAR wsp_debug +#include + +#include + +#define WSP_DRIVER_NAME "wsp" + +#define WSP_CLAMP(x,low,high) do { \ + if ((x) < (low)) \ + (x) = (low); \ + else if ((x) > (high)) \ + (x) = (high); \ +} while (0) + +/* Tunables */ +static SYSCTL_NODE(_hw_usb, OID_AUTO, wsp, CTLFLAG_RW, 0, "USB wsp"); + +#ifdef USB_DEBUG +enum wsp_log_level { + WSP_LLEVEL_DISABLED = 0, + WSP_LLEVEL_ERROR, + WSP_LLEVEL_DEBUG, /* for troubleshooting */ + WSP_LLEVEL_INFO, /* for diagnostics */ +}; +static int wsp_debug = WSP_LLEVEL_ERROR;/* the default is to only log errors */ + +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, debug, CTLFLAG_RW, + &wsp_debug, WSP_LLEVEL_ERROR, "WSP debug level"); +#endif /* USB_DEBUG */ + +static struct wsp_tuning { + int scale_factor; + int z_factor; + int pressure_touch_threshold; + int pressure_untouch_threshold; + int pressure_tap_threshold; + int scr_hor_threshold; +} + wsp_tuning = +{ + .scale_factor = 12, + .z_factor = 5, + .pressure_touch_threshold = 50, + .pressure_untouch_threshold = 10, + .pressure_tap_threshold = 120, + .scr_hor_threshold = 50, +}; + +static void +wsp_runing_rangecheck(struct wsp_tuning *ptun) +{ + WSP_CLAMP(ptun->scale_factor, 1, 63); + WSP_CLAMP(ptun->z_factor, 1, 63); + WSP_CLAMP(ptun->pressure_touch_threshold, 1, 255); + WSP_CLAMP(ptun->pressure_untouch_threshold, 1, 255); + WSP_CLAMP(ptun->pressure_tap_threshold, 1, 255); + WSP_CLAMP(ptun->scr_hor_threshold, 1, 255); +} + +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scale_factor, CTLFLAG_RW, + &wsp_tuning.scale_factor, 0, "movement scale factor"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, z_factor, CTLFLAG_RW, + &wsp_tuning.z_factor, 0, "Z-axis scale factor"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_touch_threshold, CTLFLAG_RW, + &wsp_tuning.pressure_touch_threshold, 0, "touch pressure threshold"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_untouch_threshold, CTLFLAG_RW, + &wsp_tuning.pressure_untouch_threshold, 0, "untouch pressure threshold"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressure_tap_threshold, CTLFLAG_RW, + &wsp_tuning.pressure_tap_threshold, 0, "tap pressure threshold"); +SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scr_hor_threshold, CTLFLAG_RW, + &wsp_tuning.scr_hor_threshold, 0, "horizontal scrolling threshold"); + +#define WSP_IFACE_INDEX 1 + +/* button data structure */ +struct bt_data { + uint8_t unknown1; /* constant */ + uint8_t button; /* left button */ + uint8_t rel_x; /* relative x coordinate */ + uint8_t rel_y; /* relative y coordinate */ +} __packed; + +/* trackpad header types */ +enum tp_type { + TYPE1, /* plain trackpad */ + TYPE2, /* button integrated in trackpad */ + TYPE3 /* additional header fields since June 2013 */ +}; + +/* trackpad finger data offsets, le16-aligned */ +#define FINGER_TYPE1 (13 * 2) +#define FINGER_TYPE2 (15 * 2) +#define FINGER_TYPE3 (19 * 2) + +/* trackpad button data offsets */ +#define BUTTON_TYPE2 15 +#define BUTTON_TYPE3 23 + +/* list of device capability bits */ +#define HAS_INTEGRATED_BUTTON 1 + +/* trackpad finger header - little endian */ +struct tp_header { + uint8_t flag; + uint8_t sn0; + uint16_t wFixed0; + uint32_t dwSn1; + uint32_t dwFixed1; + uint16_t wLength; + uint8_t nfinger; + uint8_t ibt; + int16_t wUnknown[6]; + uint8_t q1; + uint8_t q2; +} __packed; + +/* trackpad finger structure - little endian */ +struct tp_finger { + int16_t origin; /* zero when switching track finger */ + int16_t abs_x; /* absolute x coodinate */ + int16_t abs_y; /* absolute y coodinate */ + int16_t rel_x; /* relative x coodinate */ + int16_t rel_y; /* relative y coodinate */ + int16_t tool_major; /* tool area, major axis */ + int16_t tool_minor; /* tool area, minor axis */ + int16_t orientation; /* 16384 when point, else 15 bit angle */ + int16_t touch_major; /* touch area, major axis */ + int16_t touch_minor; /* touch area, minor axis */ + int16_t unused[3]; /* zeros */ + int16_t multi; /* one finger: varies, more fingers: + * constant */ +} __packed; + +/* trackpad finger data size, empirically at least ten fingers */ +#define MAX_FINGERS 16 +#define SIZEOF_FINGER sizeof(struct tp_finger) +#define SIZEOF_ALL_FINGERS (MAX_FINGERS * SIZEOF_FINGER) +#define MAX_FINGER_ORIENTATION 16384 + +/* logical signal quality */ +#define SN_PRESSURE 45 /* pressure signal-to-noise ratio */ +#define SN_WIDTH 25 /* width signal-to-noise ratio */ +#define SN_COORD 250 /* coordinate signal-to-noise ratio */ +#define SN_ORIENT 10 /* orientation signal-to-noise ratio */ + +/* device-specific parameters */ +struct wsp_param { + int snratio; /* signal-to-noise ratio */ + int min; /* device minimum reading */ + int max; /* device maximum reading */ +}; + +enum { + WSP_FLAG_WELLSPRING1, + WSP_FLAG_WELLSPRING2, + WSP_FLAG_WELLSPRING3, + WSP_FLAG_WELLSPRING4, + WSP_FLAG_WELLSPRING4A, + WSP_FLAG_WELLSPRING5, + WSP_FLAG_WELLSPRING6A, + WSP_FLAG_WELLSPRING6, + WSP_FLAG_WELLSPRING5A, + WSP_FLAG_WELLSPRING7, + WSP_FLAG_WELLSPRING7A, + WSP_FLAG_WELLSPRING8, + WSP_FLAG_MAX, +}; + +/* device-specific configuration */ +struct wsp_dev_params { + uint8_t caps; /* device capability bitmask */ + uint16_t bt_datalen; /* data length of the button interface */ + uint8_t tp_type; /* type of trackpad interface */ + uint8_t tp_offset; /* offset to trackpad finger data */ + uint16_t tp_datalen; /* data length of the trackpad + * interface */ + struct wsp_param p; /* finger pressure limits */ + struct wsp_param w; /* finger width limits */ + struct wsp_param x; /* horizontal limits */ + struct wsp_param y; /* vertical limits */ + struct wsp_param o; /* orientation limits */ +}; + +static const struct wsp_dev_params wsp_dev_params[WSP_FLAG_MAX] = { + [WSP_FLAG_WELLSPRING1] = { + .caps = 0, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE1, + .tp_offset = FINGER_TYPE1, + .tp_datalen = FINGER_TYPE1 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 256 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4824, 5342 + }, + .y = { + SN_COORD, -172, 5820 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING2] = { + .caps = 0, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE1, + .tp_offset = FINGER_TYPE1, + .tp_datalen = FINGER_TYPE1 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 256 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4824, 4824 + }, + .y = { + SN_COORD, -172, 4290 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING3] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4460, 5166 + }, + .y = { + SN_COORD, -75, 6700 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING4] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4620, 5140 + }, + .y = { + SN_COORD, -150, 6600 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING4A] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4616, 5112 + }, + .y = { + SN_COORD, -142, 5234 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING5] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4415, 5050 + }, + .y = { + SN_COORD, -55, 6680 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING6] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4620, 5140 + }, + .y = { + SN_COORD, -150, 6600 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING5A] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4750, 5280 + }, + .y = { + SN_COORD, -150, 6730 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING6A] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4620, 5140 + }, + .y = { + SN_COORD, -150, 6600 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING7] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4750, 5280 + }, + .y = { + SN_COORD, -150, 6730 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING7A] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE2, + .tp_offset = FINGER_TYPE2, + .tp_datalen = FINGER_TYPE2 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4750, 5280 + }, + .y = { + SN_COORD, -150, 6730 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, + [WSP_FLAG_WELLSPRING8] = { + .caps = HAS_INTEGRATED_BUTTON, + .bt_datalen = sizeof(struct bt_data), + .tp_type = TYPE3, + .tp_offset = FINGER_TYPE3, + .tp_datalen = FINGER_TYPE3 + SIZEOF_ALL_FINGERS, + .p = { + SN_PRESSURE, 0, 300 + }, + .w = { + SN_WIDTH, 0, 2048 + }, + .x = { + SN_COORD, -4620, 5140 + }, + .y = { + SN_COORD, -150, 6600 + }, + .o = { + SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION + }, + }, +}; + +#define WSP_DEV(v,p,i) { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, i) } + +static const STRUCT_USB_HOST_ID wsp_devs[] = { + /* MacbookAir1.1 */ + WSP_DEV(APPLE, WELLSPRING_ANSI, WSP_FLAG_WELLSPRING1), + WSP_DEV(APPLE, WELLSPRING_ISO, WSP_FLAG_WELLSPRING1), + WSP_DEV(APPLE, WELLSPRING_JIS, WSP_FLAG_WELLSPRING1), + + /* MacbookProPenryn, aka wellspring2 */ + WSP_DEV(APPLE, WELLSPRING2_ANSI, WSP_FLAG_WELLSPRING2), + WSP_DEV(APPLE, WELLSPRING2_ISO, WSP_FLAG_WELLSPRING2), + WSP_DEV(APPLE, WELLSPRING2_JIS, WSP_FLAG_WELLSPRING2), + + /* Macbook5,1 (unibody), aka wellspring3 */ + WSP_DEV(APPLE, WELLSPRING3_ANSI, WSP_FLAG_WELLSPRING3), + WSP_DEV(APPLE, WELLSPRING3_ISO, WSP_FLAG_WELLSPRING3), + WSP_DEV(APPLE, WELLSPRING3_JIS, WSP_FLAG_WELLSPRING3), + + /* MacbookAir3,2 (unibody), aka wellspring4 */ + WSP_DEV(APPLE, WELLSPRING4_ANSI, WSP_FLAG_WELLSPRING4), + WSP_DEV(APPLE, WELLSPRING4_ISO, WSP_FLAG_WELLSPRING4), + WSP_DEV(APPLE, WELLSPRING4_JIS, WSP_FLAG_WELLSPRING4), + + /* MacbookAir3,1 (unibody), aka wellspring4 */ + WSP_DEV(APPLE, WELLSPRING4A_ANSI, WSP_FLAG_WELLSPRING4A), + WSP_DEV(APPLE, WELLSPRING4A_ISO, WSP_FLAG_WELLSPRING4A), + WSP_DEV(APPLE, WELLSPRING4A_JIS, WSP_FLAG_WELLSPRING4A), + + /* Macbook8 (unibody, March 2011) */ + WSP_DEV(APPLE, WELLSPRING5_ANSI, WSP_FLAG_WELLSPRING5), + WSP_DEV(APPLE, WELLSPRING5_ISO, WSP_FLAG_WELLSPRING5), + WSP_DEV(APPLE, WELLSPRING5_JIS, WSP_FLAG_WELLSPRING5), + + /* MacbookAir4,1 (unibody, July 2011) */ + WSP_DEV(APPLE, WELLSPRING6A_ANSI, WSP_FLAG_WELLSPRING6A), + WSP_DEV(APPLE, WELLSPRING6A_ISO, WSP_FLAG_WELLSPRING6A), + WSP_DEV(APPLE, WELLSPRING6A_JIS, WSP_FLAG_WELLSPRING6A), + + /* MacbookAir4,2 (unibody, July 2011) */ + WSP_DEV(APPLE, WELLSPRING6_ANSI, WSP_FLAG_WELLSPRING6), + WSP_DEV(APPLE, WELLSPRING6_ISO, WSP_FLAG_WELLSPRING6), + WSP_DEV(APPLE, WELLSPRING6_JIS, WSP_FLAG_WELLSPRING6), + + /* Macbook8,2 (unibody) */ + WSP_DEV(APPLE, WELLSPRING5A_ANSI, WSP_FLAG_WELLSPRING5A), + WSP_DEV(APPLE, WELLSPRING5A_ISO, WSP_FLAG_WELLSPRING5A), + WSP_DEV(APPLE, WELLSPRING5A_JIS, WSP_FLAG_WELLSPRING5A), + + /* MacbookPro10,1 (unibody, June 2012) */ + /* MacbookPro11,? (unibody, June 2013) */ + WSP_DEV(APPLE, WELLSPRING7_ANSI, WSP_FLAG_WELLSPRING7), + WSP_DEV(APPLE, WELLSPRING7_ISO, WSP_FLAG_WELLSPRING7), + WSP_DEV(APPLE, WELLSPRING7_JIS, WSP_FLAG_WELLSPRING7), + + /* MacbookPro10,2 (unibody, October 2012) */ + WSP_DEV(APPLE, WELLSPRING7A_ANSI, WSP_FLAG_WELLSPRING7A), + WSP_DEV(APPLE, WELLSPRING7A_ISO, WSP_FLAG_WELLSPRING7A), + WSP_DEV(APPLE, WELLSPRING7A_JIS, WSP_FLAG_WELLSPRING7A), + + /* MacbookAir6,2 (unibody, June 2013) */ + WSP_DEV(APPLE, WELLSPRING8_ANSI, WSP_FLAG_WELLSPRING8), + WSP_DEV(APPLE, WELLSPRING8_ISO, WSP_FLAG_WELLSPRING8), + WSP_DEV(APPLE, WELLSPRING8_JIS, WSP_FLAG_WELLSPRING8), +}; + +#define WSP_FIFO_BUF_SIZE 8 /* bytes */ +#define WSP_FIFO_QUEUE_MAXLEN 50 /* units */ + +enum { + WSP_INTR_DT, + WSP_RESET, + WSP_N_TRANSFER, +}; + +struct wsp_softc { + device_t sc_dev; + struct usb_device *sc_usb_device; +#define MODE_LENGTH 8 + uint8_t sc_mode_bytes[MODE_LENGTH]; /* device mode */ + struct mtx sc_mutex; /* for synchronization */ + struct usb_xfer *sc_xfer[WSP_N_TRANSFER]; + struct usb_fifo_sc sc_fifo; + + const struct wsp_dev_params *sc_params; /* device configuration */ + + mousehw_t sc_hw; + mousemode_t sc_mode; + u_int sc_pollrate; + mousestatus_t sc_status; + u_int sc_state; +#define WSP_ENABLED 0x01 + + struct bt_data *bt_data; /* button transferred data */ + uint8_t *tp_data; /* trackpad transferred data */ + struct tp_finger *index[MAX_FINGERS]; /* finger index data */ + int16_t pos_x[MAX_FINGERS]; /* position array */ + int16_t pos_y[MAX_FINGERS]; /* position array */ + u_int sc_touch; /* touch status */ +#define WSP_UNTOUCH 0x00 +#define WSP_FIRST_TOUCH 0x01 +#define WSP_SECOND_TOUCH 0x02 +#define WSP_TOUCHING 0x04 + int16_t pre_pos_x; /* previous position array */ + int16_t pre_pos_y; /* previous position array */ + int dx_sum; /* x axis cumulative movement */ + int dy_sum; /* y axis cumulative movement */ + int dz_sum; /* z axis cumulative movement */ + int dz_count; +#define WSP_DZ_MAX_COUNT 32 + int dt_sum; /* T-axis cumulative movement */ + + uint8_t finger; /* 0 or 1 *, check which finger moving */ + uint16_t intr_count; +#define WSP_TAP_THRESHOLD 3 +#define WSP_TAP_MAX_COUNT 20 + int distance; /* the distance of 2 fingers */ +#define MAX_DISTANCE 2500 /* the max allowed distance */ + uint8_t ibtn; /* button status in tapping */ + uint8_t ntaps; /* finger status in tapping */ + uint8_t scr_mode; /* scroll status in movement */ +#define WSP_SCR_NONE 0 +#define WSP_SCR_VER 1 +#define WSP_SCR_HOR 2 +}; + +typedef enum interface_mode { + RAW_SENSOR_MODE = 0x01, + HID_MODE = 0x08 +} interface_mode; + +/* + * function prototypes + */ +static usb_fifo_cmd_t wsp_start_read; +static usb_fifo_cmd_t wsp_stop_read; +static usb_fifo_open_t wsp_open; +static usb_fifo_close_t wsp_close; +static usb_fifo_ioctl_t wsp_ioctl; + +static struct usb_fifo_methods wsp_fifo_methods = { + .f_open = &wsp_open, + .f_close = &wsp_close, + .f_ioctl = &wsp_ioctl, + .f_start_read = &wsp_start_read, + .f_stop_read = &wsp_stop_read, + .basename[0] = WSP_DRIVER_NAME, +}; + +/* device initialization and shutdown */ +static usb_error_t wsp_req_get_report(struct usb_device *udev, void *data); +static int wsp_set_device_mode(device_t dev, interface_mode mode); +static int wsp_enable(struct wsp_softc *sc); +static void wsp_disable(struct wsp_softc *sc); + +/* updating fifo */ +static void wsp_reset_buf(struct wsp_softc *sc); +static void wsp_add_to_queue(struct wsp_softc *, int, int, int, uint32_t); + +/* Device methods. */ +static device_probe_t wsp_probe; +static device_attach_t wsp_attach; +static device_detach_t wsp_detach; +static usb_callback_t wsp_intr_callback; +static usb_callback_t wsp_reset_callback; + +static struct usb_config wsp_config[WSP_N_TRANSFER] = { + [WSP_INTR_DT] = { + .type = UE_INTERRUPT, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .flags = { + .pipe_bof = 0, + .short_xfer_ok = 1, + }, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &wsp_intr_callback, + }, + [WSP_RESET] = { + .type = UE_CONTROL, + .endpoint = 0, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request) + MODE_LENGTH, + .callback = &wsp_reset_callback, + .interval = 0, /* no pre-delay */ + }, +}; + +usb_error_t +wsp_req_get_report(struct usb_device *udev, void *data) +{ + struct usb_device_request req; + + req.bmRequestType = UT_READ_CLASS_INTERFACE; + req.bRequest = UR_GET_REPORT; + USETW2(req.wValue, (uint8_t)0x03 /* type */ , (uint8_t)0x00 /* id */ ); + USETW(req.wIndex, 0); + USETW(req.wLength, MODE_LENGTH); + + return (usbd_do_request(udev, NULL /* mutex */ , &req, data)); +} + +static int +wsp_set_device_mode(device_t dev, interface_mode mode) +{ + struct wsp_softc *sc; + usb_device_request_t req; + usb_error_t err; + + if ((mode != RAW_SENSOR_MODE) && (mode != HID_MODE)) + return (ENXIO); + + sc = device_get_softc(dev); + + sc->sc_mode_bytes[0] = mode; + req.bmRequestType = UT_WRITE_CLASS_INTERFACE; + req.bRequest = UR_SET_REPORT; + USETW2(req.wValue, (uint8_t)0x03 /* type */ , (uint8_t)0x00 /* id */ ); + USETW(req.wIndex, 0); + USETW(req.wLength, MODE_LENGTH); + err = usbd_do_request(sc->sc_usb_device, NULL, &req, sc->sc_mode_bytes); + if (err != USB_ERR_NORMAL_COMPLETION) + return (ENXIO); + + return (0); +} + +static void +wsp_reset_callback(struct usb_xfer *xfer, usb_error_t error) +{ + usb_device_request_t req; + struct usb_page_cache *pc; + struct wsp_softc *sc = usbd_xfer_softc(xfer); + + switch (USB_GET_STATE(xfer)) { + case USB_ST_SETUP: + sc->sc_mode_bytes[0] = RAW_SENSOR_MODE; + req.bmRequestType = UT_WRITE_CLASS_INTERFACE; + req.bRequest = UR_SET_REPORT; + USETW2(req.wValue, + (uint8_t)0x03 /* type */ , (uint8_t)0x00 /* id */ ); + USETW(req.wIndex, 0); + USETW(req.wLength, MODE_LENGTH); + + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_in(pc, 0, &req, sizeof(req)); + pc = usbd_xfer_get_frame(xfer, 1); + usbd_copy_in(pc, 0, sc->sc_mode_bytes, MODE_LENGTH); + + usbd_xfer_set_frame_len(xfer, 0, sizeof(req)); + usbd_xfer_set_frame_len(xfer, 1, MODE_LENGTH); + usbd_xfer_set_frames(xfer, 2); + usbd_transfer_submit(xfer); + break; + + case USB_ST_TRANSFERRED: + default: + break; + } +} + +static int +wsp_enable(struct wsp_softc *sc) +{ + const struct wsp_dev_params *params = sc->sc_params; + + if (params == NULL || params->tp_datalen == 0) { + DPRINTF("params uninitialized!\n"); + return (ENXIO); + } + /* Allocate the dynamic buffers */ + sc->tp_data = malloc(params->tp_datalen, M_USB, M_WAITOK | M_ZERO); + if (sc->tp_data == NULL) { + DPRINTF("Cannot allocate memory\n"); + return (ENXIO); + } + + /* reset status */ + memset(&sc->sc_status, 0, sizeof(sc->sc_status)); + sc->sc_state |= WSP_ENABLED; + + DPRINTFN(WSP_LLEVEL_INFO, "enabled wsp\n"); + return (0); +} + +static void +wsp_disable(struct wsp_softc *sc) +{ + free(sc->tp_data, M_USB); + sc->tp_data = NULL; + + sc->sc_state &= ~WSP_ENABLED; + DPRINTFN(WSP_LLEVEL_INFO, "disabled wsp\n"); +} + +static int +wsp_probe(device_t self) +{ + struct usb_attach_arg *uaa = device_get_ivars(self); + + if (uaa->usb_mode != USB_MODE_HOST) + return (ENXIO); + + if (uaa->info.bIfaceIndex != WSP_IFACE_INDEX) + return (ENXIO); + + if ((uaa->info.bInterfaceClass != UICLASS_HID) || + (uaa->info.bInterfaceProtocol != 0)) + return (ENXIO); + + return (usbd_lookup_id_by_uaa(wsp_devs, sizeof(wsp_devs), uaa)); +} + +static int +wsp_attach(device_t dev) +{ + struct wsp_softc *sc = device_get_softc(dev); + struct usb_attach_arg *uaa = device_get_ivars(dev); + usb_error_t err; + + DPRINTFN(WSP_LLEVEL_INFO, "sc=%p\n", sc); + + sc->sc_dev = dev; + sc->sc_usb_device = uaa->device; + + /* + * By default the touchpad behaves like an HID device, sending + * packets with reportID = 8. Such reports contain only + * limited information. They encode movement deltas and button + * events, but do not include data from the pressure + * sensors. The device input mode can be switched from HID + * reports to raw sensor data using vendor-specific USB + * control commands; but first the mode must be read. + */ + err = wsp_req_get_report(sc->sc_usb_device, sc->sc_mode_bytes); + if (err != USB_ERR_NORMAL_COMPLETION) { + DPRINTF("failed to read device mode (%d)\n", err); + return (ENXIO); + } + if (wsp_set_device_mode(dev, RAW_SENSOR_MODE) != 0) { + DPRINTF("failed to set mode to 'RAW_SENSOR' (%d)\n", err); + return (ENXIO); + } + mtx_init(&sc->sc_mutex, "wspmtx", NULL, MTX_DEF | MTX_RECURSE); + + /* get device specific configuration */ + sc->sc_params = wsp_dev_params + USB_GET_DRIVER_INFO(uaa); + + /* set to 0 to use wMaxPacketSize is not enough */ + wsp_config[0].bufsize = sc->sc_params->tp_datalen; + + err = usbd_transfer_setup(uaa->device, + &uaa->info.bIfaceIndex, sc->sc_xfer, wsp_config, + WSP_N_TRANSFER, sc, &sc->sc_mutex); + + if (err) { + DPRINTF("error=%s\n", usbd_errstr(err)); + goto detach; + } + if (usb_fifo_attach(sc->sc_usb_device, sc, &sc->sc_mutex, + &wsp_fifo_methods, &sc->sc_fifo, + device_get_unit(dev), -1, uaa->info.bIfaceIndex, + UID_ROOT, GID_OPERATOR, 0644)) { + goto detach; + } + device_set_usb_desc(dev); + + sc->sc_hw.buttons = 3; + sc->sc_hw.iftype = MOUSE_IF_USB; + sc->sc_hw.type = MOUSE_PAD; + sc->sc_hw.model = MOUSE_MODEL_GENERIC; + sc->sc_mode.protocol = MOUSE_PROTO_MSC; + sc->sc_mode.rate = -1; + sc->sc_mode.resolution = MOUSE_RES_UNKNOWN; + sc->sc_mode.packetsize = MOUSE_MSC_PACKETSIZE; + sc->sc_mode.syncmask[0] = MOUSE_MSC_SYNCMASK; + sc->sc_mode.syncmask[1] = MOUSE_MSC_SYNC; + + sc->sc_touch = WSP_UNTOUCH; + sc->scr_mode = WSP_SCR_NONE; + + return (0); + +detach: + wsp_detach(dev); + return (ENOMEM); +} + +static int +wsp_detach(device_t dev) +{ + struct wsp_softc *sc = device_get_softc(dev); + + wsp_set_device_mode(dev, HID_MODE); + + mtx_lock(&sc->sc_mutex); + if (sc->sc_state & WSP_ENABLED) + wsp_disable(sc); + mtx_unlock(&sc->sc_mutex); + + usb_fifo_detach(&sc->sc_fifo); + + usbd_transfer_unsetup(sc->sc_xfer, WSP_N_TRANSFER); + + mtx_destroy(&sc->sc_mutex); + + return (0); +} + +static void +wsp_intr_callback(struct usb_xfer *xfer, usb_error_t error) +{ + struct wsp_softc *sc = usbd_xfer_softc(xfer); + const struct wsp_dev_params *params = sc->sc_params; + struct usb_page_cache *pc; + struct tp_finger *f; + struct tp_header *h; + struct wsp_tuning tun = wsp_tuning; + int ntouch = 0; /* the finger number in touch */ + int ibt = 0; /* button status */ + int dx = 0; + int dy = 0; + int dz = 0; + int n = 0; + int len; + int i; + + wsp_runing_rangecheck(&tun); + + if (sc->dz_count == 0) + sc->dz_count = WSP_DZ_MAX_COUNT; + + usbd_xfer_status(xfer, &len, NULL, NULL, NULL); + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + if (len > (int)params->tp_datalen) { + DPRINTFN(WSP_LLEVEL_ERROR, + "truncating large packet from %u to %u bytes\n", + len, params->tp_datalen); + len = params->tp_datalen; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 11:39:59 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2DEA060D; Wed, 29 Jan 2014 11:39:59 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1A1861EA8; Wed, 29 Jan 2014 11:39:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TBdwZo016943; Wed, 29 Jan 2014 11:39:58 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TBdwIr016942; Wed, 29 Jan 2014 11:39:58 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201401291139.s0TBdwIr016942@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 29 Jan 2014 11:39:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261261 - head/contrib/libc-vis X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 11:39:59 -0000 Author: pluknet Date: Wed Jan 29 11:39:58 2014 New Revision: 261261 URL: http://svnweb.freebsd.org/changeset/base/261261 Log: Restore the Nx macro lost in transit. This matches upstream. PR: 186205 Submitted by: naddy MFC after: 3 days Modified: head/contrib/libc-vis/vis.3 Modified: head/contrib/libc-vis/vis.3 ============================================================================== --- head/contrib/libc-vis/vis.3 Wed Jan 29 10:42:01 2014 (r261260) +++ head/contrib/libc-vis/vis.3 Wed Jan 29 11:39:58 2014 (r261261) @@ -510,6 +510,7 @@ The buffer size limited versions of the and .Fn strsnvisx Pc appeared in +.Nx 6.0 and .Fx 9.2 . Myltibyte character support was added in From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 12:34:06 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 819ECCAB; Wed, 29 Jan 2014 12:34:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6D1C41358; Wed, 29 Jan 2014 12:34:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TCY6q9040892; Wed, 29 Jan 2014 12:34:06 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TCY6uZ040891; Wed, 29 Jan 2014 12:34:06 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401291234.s0TCY6uZ040891@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 29 Jan 2014 12:34:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261262 - head/sys/dev/usb/input X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 12:34:06 -0000 Author: hselasky Date: Wed Jan 29 12:34:05 2014 New Revision: 261262 URL: http://svnweb.freebsd.org/changeset/base/261262 Log: - Remove some dead code. - Use system provided functions for HID report requests. - Nice the mode setting, because the USB hardware does appear to handle the commands right away. MFC after: 1 week Modified: head/sys/dev/usb/input/wsp.c Modified: head/sys/dev/usb/input/wsp.c ============================================================================== --- head/sys/dev/usb/input/wsp.c Wed Jan 29 11:39:58 2014 (r261261) +++ head/sys/dev/usb/input/wsp.c Wed Jan 29 12:34:05 2014 (r261262) @@ -569,15 +569,11 @@ static const STRUCT_USB_HOST_ID wsp_devs enum { WSP_INTR_DT, - WSP_RESET, WSP_N_TRANSFER, }; struct wsp_softc { - device_t sc_dev; struct usb_device *sc_usb_device; -#define MODE_LENGTH 8 - uint8_t sc_mode_bytes[MODE_LENGTH]; /* device mode */ struct mtx sc_mutex; /* for synchronization */ struct usb_xfer *sc_xfer[WSP_N_TRANSFER]; struct usb_fifo_sc sc_fifo; @@ -648,8 +644,6 @@ static struct usb_fifo_methods wsp_fifo_ }; /* device initialization and shutdown */ -static usb_error_t wsp_req_get_report(struct usb_device *udev, void *data); -static int wsp_set_device_mode(device_t dev, interface_mode mode); static int wsp_enable(struct wsp_softc *sc); static void wsp_disable(struct wsp_softc *sc); @@ -662,7 +656,6 @@ static device_probe_t wsp_probe; static device_attach_t wsp_attach; static device_detach_t wsp_detach; static usb_callback_t wsp_intr_callback; -static usb_callback_t wsp_reset_callback; static struct usb_config wsp_config[WSP_N_TRANSFER] = { [WSP_INTR_DT] = { @@ -676,87 +669,36 @@ static struct usb_config wsp_config[WSP_ .bufsize = 0, /* use wMaxPacketSize */ .callback = &wsp_intr_callback, }, - [WSP_RESET] = { - .type = UE_CONTROL, - .endpoint = 0, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(struct usb_device_request) + MODE_LENGTH, - .callback = &wsp_reset_callback, - .interval = 0, /* no pre-delay */ - }, }; -usb_error_t -wsp_req_get_report(struct usb_device *udev, void *data) +static usb_error_t +wsp_set_device_mode(struct wsp_softc *sc, interface_mode mode) { - struct usb_device_request req; - - req.bmRequestType = UT_READ_CLASS_INTERFACE; - req.bRequest = UR_GET_REPORT; - USETW2(req.wValue, (uint8_t)0x03 /* type */ , (uint8_t)0x00 /* id */ ); - USETW(req.wIndex, 0); - USETW(req.wLength, MODE_LENGTH); - - return (usbd_do_request(udev, NULL /* mutex */ , &req, data)); -} - -static int -wsp_set_device_mode(device_t dev, interface_mode mode) -{ - struct wsp_softc *sc; - usb_device_request_t req; + uint8_t mode_bytes[8]; usb_error_t err; - if ((mode != RAW_SENSOR_MODE) && (mode != HID_MODE)) - return (ENXIO); - - sc = device_get_softc(dev); + err = usbd_req_get_report(sc->sc_usb_device, NULL, + mode_bytes, sizeof(mode_bytes), 0, + 0x03, 0x00); - sc->sc_mode_bytes[0] = mode; - req.bmRequestType = UT_WRITE_CLASS_INTERFACE; - req.bRequest = UR_SET_REPORT; - USETW2(req.wValue, (uint8_t)0x03 /* type */ , (uint8_t)0x00 /* id */ ); - USETW(req.wIndex, 0); - USETW(req.wLength, MODE_LENGTH); - err = usbd_do_request(sc->sc_usb_device, NULL, &req, sc->sc_mode_bytes); - if (err != USB_ERR_NORMAL_COMPLETION) - return (ENXIO); - - return (0); -} - -static void -wsp_reset_callback(struct usb_xfer *xfer, usb_error_t error) -{ - usb_device_request_t req; - struct usb_page_cache *pc; - struct wsp_softc *sc = usbd_xfer_softc(xfer); + if (err != USB_ERR_NORMAL_COMPLETION) { + DPRINTF("Failed to read device mode (%d)\n", err); + return (err); + } - switch (USB_GET_STATE(xfer)) { - case USB_ST_SETUP: - sc->sc_mode_bytes[0] = RAW_SENSOR_MODE; - req.bmRequestType = UT_WRITE_CLASS_INTERFACE; - req.bRequest = UR_SET_REPORT; - USETW2(req.wValue, - (uint8_t)0x03 /* type */ , (uint8_t)0x00 /* id */ ); - USETW(req.wIndex, 0); - USETW(req.wLength, MODE_LENGTH); + /* + * XXX Need to wait at least 250ms for hardware to get + * ready. The device mode handling appears to be handled + * asynchronously and we should not issue these commands too + * quickly. + */ + pause("WHW", hz / 4); - pc = usbd_xfer_get_frame(xfer, 0); - usbd_copy_in(pc, 0, &req, sizeof(req)); - pc = usbd_xfer_get_frame(xfer, 1); - usbd_copy_in(pc, 0, sc->sc_mode_bytes, MODE_LENGTH); - - usbd_xfer_set_frame_len(xfer, 0, sizeof(req)); - usbd_xfer_set_frame_len(xfer, 1, MODE_LENGTH); - usbd_xfer_set_frames(xfer, 2); - usbd_transfer_submit(xfer); - break; + mode_bytes[0] = mode; - case USB_ST_TRANSFERRED: - default: - break; - } + return (usbd_req_set_report(sc->sc_usb_device, NULL, + mode_bytes, sizeof(mode_bytes), 0, + 0x03, 0x00)); } static int @@ -820,27 +762,35 @@ wsp_attach(device_t dev) DPRINTFN(WSP_LLEVEL_INFO, "sc=%p\n", sc); - sc->sc_dev = dev; sc->sc_usb_device = uaa->device; /* - * By default the touchpad behaves like an HID device, sending + * By default the touchpad behaves like a HID device, sending * packets with reportID = 8. Such reports contain only * limited information. They encode movement deltas and button * events, but do not include data from the pressure * sensors. The device input mode can be switched from HID * reports to raw sensor data using vendor-specific USB - * control commands; but first the mode must be read. + * control commands: */ - err = wsp_req_get_report(sc->sc_usb_device, sc->sc_mode_bytes); + + /* + * During re-enumeration of the device we need to force the + * device back into HID mode before switching it to RAW + * mode. Else the device does not work like expected. + */ + err = wsp_set_device_mode(sc, HID_MODE); if (err != USB_ERR_NORMAL_COMPLETION) { - DPRINTF("failed to read device mode (%d)\n", err); + DPRINTF("Failed to set mode to HID MODE (%d)\n", err); return (ENXIO); } - if (wsp_set_device_mode(dev, RAW_SENSOR_MODE) != 0) { - DPRINTF("failed to set mode to 'RAW_SENSOR' (%d)\n", err); + + err = wsp_set_device_mode(sc, RAW_SENSOR_MODE); + if (err != USB_ERR_NORMAL_COMPLETION) { + DPRINTF("failed to set mode to RAW MODE (%d)\n", err); return (ENXIO); } + mtx_init(&sc->sc_mutex, "wspmtx", NULL, MTX_DEF | MTX_RECURSE); /* get device specific configuration */ @@ -891,7 +841,7 @@ wsp_detach(device_t dev) { struct wsp_softc *sc = device_get_softc(dev); - wsp_set_device_mode(dev, HID_MODE); + (void) wsp_set_device_mode(sc, HID_MODE); mtx_lock(&sc->sc_mutex); if (sc->sc_state & WSP_ENABLED) From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 12:48:20 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 01256327; Wed, 29 Jan 2014 12:48:20 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E17FD14A6; Wed, 29 Jan 2014 12:48:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TCmJHm045277; Wed, 29 Jan 2014 12:48:19 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TCmJT7045274; Wed, 29 Jan 2014 12:48:19 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201401291248.s0TCmJT7045274@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Wed, 29 Jan 2014 12:48:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261263 - head/lib/libfetch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 12:48:20 -0000 Author: des Date: Wed Jan 29 12:48:19 2014 New Revision: 261263 URL: http://svnweb.freebsd.org/changeset/base/261263 Log: r261230 broke the cases where the amount of data to be read is not known in advance, or where the caller doesn't care and just keeps reading until it hits EOF. In fetch_read(): the socket is non-blocking, so read() will return 0 on EOF, and -1 (errno == EAGAIN) when the connection is still open but there is no data waiting. In the first case, we should immediately return 0. The EINTR case was also broken, although not in a way that matters. In fetch_writev(): use timersub() and timercmp() as in fetch_read(). In http_fillbuf(): set errno to a sensible value when an invalid chunk header is encountered. In http_readfn(): as in fetch_read(), a zero return from down the stack indicates EOF, not an error. Furthermore, when io->error is EINTR, clear it (but no errno) before returning so the caller can retry after dealing with the interrupt. MFC after: 3 days Modified: head/lib/libfetch/common.c head/lib/libfetch/http.c Modified: head/lib/libfetch/common.c ============================================================================== --- head/lib/libfetch/common.c Wed Jan 29 12:34:05 2014 (r261262) +++ head/lib/libfetch/common.c Wed Jan 29 12:48:19 2014 (r261263) @@ -976,13 +976,13 @@ fetch_read(conn_t *conn, char *buf, size else #endif rlen = fetch_socket_read(conn->sd, buf, len); - if (rlen > 0) { + if (rlen >= 0) { break; } else if (rlen == FETCH_READ_ERROR) { - if (errno == EINTR) - break; + fetch_syserr(); return (-1); } + // assert(rlen == FETCH_READ_WAIT); if (fetchTimeout > 0) { gettimeofday(&now, NULL); if (!timercmp(&timeout, &now, >)) { @@ -1079,7 +1079,7 @@ fetch_writev(conn_t *conn, struct iovec struct timeval now, timeout, delta; struct pollfd pfd; ssize_t wlen, total; - int deltams, r; + int deltams; memset(&pfd, 0, sizeof pfd); if (fetchTimeout) { @@ -1093,20 +1093,17 @@ fetch_writev(conn_t *conn, struct iovec while (iovcnt > 0) { while (fetchTimeout && pfd.revents == 0) { gettimeofday(&now, NULL); - delta.tv_sec = timeout.tv_sec - now.tv_sec; - delta.tv_usec = timeout.tv_usec - now.tv_usec; - if (delta.tv_usec < 0) { - delta.tv_usec += 1000000; - delta.tv_sec--; - } - if (delta.tv_sec < 0) { + if (!timercmp(&timeout, &now, >)) { errno = ETIMEDOUT; fetch_syserr(); return (-1); } - deltams = delta.tv_sec * 1000 + delta.tv_usec / 1000;; + timersub(&timeout, &now, &delta); + deltams = delta.tv_sec * 1000 + + delta.tv_usec / 1000; errno = 0; - if ((r = poll(&pfd, 1, deltams)) == -1) { + pfd.revents = 0; + if (poll(&pfd, 1, deltams) < 0) { if (errno == EINTR && fetchRestartCalls) continue; return (-1); Modified: head/lib/libfetch/http.c ============================================================================== --- head/lib/libfetch/http.c Wed Jan 29 12:34:05 2014 (r261262) +++ head/lib/libfetch/http.c Wed Jan 29 12:48:19 2014 (r261263) @@ -204,7 +204,7 @@ http_growbuf(struct httpio *io, size_t l /* * Fill the input buffer, do chunk decoding on the fly */ -static int +static ssize_t http_fillbuf(struct httpio *io, size_t len) { ssize_t nbytes; @@ -230,7 +230,7 @@ http_fillbuf(struct httpio *io, size_t l if (io->chunksize == 0) { switch (http_new_chunk(io)) { case -1: - io->error = 1; + io->error = EPROTO; return (-1); case 0: io->eof = 1; @@ -276,10 +276,12 @@ http_readfn(void *v, char *buf, int len) /* empty buffer */ if (!io->buf || io->bufpos == io->buflen) { - if (http_fillbuf(io, len) < 1) { - if (io->error == EINTR) + if ((rlen = http_fillbuf(io, len)) < 0) { + if ((errno = io->error) == EINTR) io->error = 0; return (-1); + } else if (rlen == 0) { + return (0); } } From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 13:41:14 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B129D7C; Wed, 29 Jan 2014 13:41:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 760D91957; Wed, 29 Jan 2014 13:41:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TDfEMd068215; Wed, 29 Jan 2014 13:41:14 GMT (envelope-from jamie@svn.freebsd.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TDfDcB068211; Wed, 29 Jan 2014 13:41:13 GMT (envelope-from jamie@svn.freebsd.org) Message-Id: <201401291341.s0TDfDcB068211@svn.freebsd.org> From: Jamie Gritton Date: Wed, 29 Jan 2014 13:41:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 13:41:14 -0000 Author: jamie Date: Wed Jan 29 13:41:13 2014 New Revision: 261266 URL: http://svnweb.freebsd.org/changeset/base/261266 Log: Add a jail parameter, allow.kmem, which lets jailed processes access /dev/kmem and related devices (i.e. grants PRIV_IO and PRIV_KMEM_WRITE). This in conjunction with changing the drm driver's permission check from PRIV_DRIVER to PRIV_KMEM_WRITE will allow a jailed Xorg server. Submitted by: netchild MFC after: 1 week Modified: head/sys/dev/drm/drmP.h head/sys/kern/kern_jail.c head/sys/sys/jail.h head/usr.sbin/jail/jail.8 Modified: head/sys/dev/drm/drmP.h ============================================================================== --- head/sys/dev/drm/drmP.h Wed Jan 29 13:35:12 2014 (r261265) +++ head/sys/dev/drm/drmP.h Wed Jan 29 13:41:13 2014 (r261266) @@ -227,7 +227,9 @@ enum { #define PAGE_ALIGN(addr) round_page(addr) /* DRM_SUSER returns true if the user is superuser */ -#if __FreeBSD_version >= 700000 +#if __FreeBSD_version >= 1000000 +#define DRM_SUSER(p) (priv_check(p, PRIV_KMEM_WRITE) == 0) +#elif __FreeBSD_version >= 700000 #define DRM_SUSER(p) (priv_check(p, PRIV_DRIVER) == 0) #else #define DRM_SUSER(p) (suser(p) == 0) Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Wed Jan 29 13:35:12 2014 (r261265) +++ head/sys/kern/kern_jail.c Wed Jan 29 13:41:13 2014 (r261266) @@ -208,6 +208,7 @@ static char *pr_allow_names[] = { "allow.mount.zfs", "allow.mount.procfs", "allow.mount.tmpfs", + "allow.kmem", }; const size_t pr_allow_names_size = sizeof(pr_allow_names); @@ -224,6 +225,7 @@ static char *pr_allow_nonames[] = { "allow.mount.nozfs", "allow.mount.noprocfs", "allow.mount.notmpfs", + "allow.nokmem", }; const size_t pr_allow_nonames_size = sizeof(pr_allow_nonames); @@ -3951,6 +3953,27 @@ prison_priv_check(struct ucred *cred, in return (0); /* + * Allow access to /dev/io in a jail if the non-jailed admin + * requests this and if /dev/io exists in the jail. This + * allows Xorg to probe a card. + */ + case PRIV_IO: + if (cred->cr_prison->pr_allow & PR_ALLOW_KMEM) + return (0); + else + return (EPERM); + + /* + * Allow low level access to KMEM-like devices (e.g. to + * allow Xorg to use DRI). + */ + case PRIV_KMEM_WRITE: + if (cred->cr_prison->pr_allow & PR_ALLOW_KMEM) + return (0); + else + return (EPERM); + + /* * Allow jailed root to set loginclass. */ case PRIV_PROC_SETLOGINCLASS: @@ -4384,6 +4407,8 @@ SYSCTL_JAIL_PARAM(_allow, quotas, CTLTYP "B", "Jail may set file quotas"); SYSCTL_JAIL_PARAM(_allow, socket_af, CTLTYPE_INT | CTLFLAG_RW, "B", "Jail may create sockets other than just UNIX/IPv4/IPv6/route"); +SYSCTL_JAIL_PARAM(_allow, kmem, CTLTYPE_INT | CTLFLAG_RW, + "B", "Jail may access kmem-like devices (io, dri) if they exist"); SYSCTL_JAIL_PARAM_SUBNODE(allow, mount, "Jail mount/unmount permission flags"); SYSCTL_JAIL_PARAM(_allow_mount, , CTLTYPE_INT | CTLFLAG_RW, Modified: head/sys/sys/jail.h ============================================================================== --- head/sys/sys/jail.h Wed Jan 29 13:35:12 2014 (r261265) +++ head/sys/sys/jail.h Wed Jan 29 13:41:13 2014 (r261266) @@ -228,7 +228,8 @@ struct prison_racct { #define PR_ALLOW_MOUNT_ZFS 0x0200 #define PR_ALLOW_MOUNT_PROCFS 0x0400 #define PR_ALLOW_MOUNT_TMPFS 0x0800 -#define PR_ALLOW_ALL 0x0fff +#define PR_ALLOW_KMEM 0x1000 +#define PR_ALLOW_ALL 0x1fff /* * OSD methods Modified: head/usr.sbin/jail/jail.8 ============================================================================== --- head/usr.sbin/jail/jail.8 Wed Jan 29 13:35:12 2014 (r261265) +++ head/usr.sbin/jail/jail.8 Wed Jan 29 13:41:13 2014 (r261266) @@ -573,6 +573,17 @@ with non-jailed parts of the system. Sockets within a jail are normally restricted to IPv4, IPv6, local (UNIX), and route. This allows access to other protocol stacks that have not had jail functionality added to them. +.It Va allow.kmem +Jailed processes may access +.Pa /dev/kmem +and similar devices (e.g. io, dri) if they have sufficient permission +(via the usual file permissions). +Note that the device files must exist within the jail for this parameter +to be of any use; +the default devfs ruleset for jails does not include any such devices. +Giving a jail access to kernel memory obviates much of the security that +jails offer, but can still be useful for other purposes. +For example, this would allow the Xorg server to run inside a jail. .El .El .Pp From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 13:43:47 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B3A0011C; Wed, 29 Jan 2014 13:43:47 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 35DA71981; Wed, 29 Jan 2014 13:43:46 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id s0TDhic0026742 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 29 Jan 2014 17:43:44 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id s0TDhiGr026741; Wed, 29 Jan 2014 17:43:44 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 29 Jan 2014 17:43:44 +0400 From: Gleb Smirnoff To: Jamie Gritton , netchild@FreeBSD.org Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail Message-ID: <20140129134344.GW66160@FreeBSD.org> References: <201401291341.s0TDfDcB068211@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201401291341.s0TDfDcB068211@svn.freebsd.org> User-Agent: Mutt/1.5.22 (2013-10-16) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 13:43:47 -0000 On Wed, Jan 29, 2014 at 01:41:13PM +0000, Jamie Gritton wrote: J> Author: jamie J> Date: Wed Jan 29 13:41:13 2014 J> New Revision: 261266 J> URL: http://svnweb.freebsd.org/changeset/base/261266 J> J> Log: J> Add a jail parameter, allow.kmem, which lets jailed processes access J> /dev/kmem and related devices (i.e. grants PRIV_IO and PRIV_KMEM_WRITE). J> This in conjunction with changing the drm driver's permission check from J> PRIV_DRIVER to PRIV_KMEM_WRITE will allow a jailed Xorg server. J> J> Submitted by: netchild Doesn't this allow to easily unjail self? :) -- Totus tuus, Glebius. From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 13:54:06 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3C8C5547; Wed, 29 Jan 2014 13:54:06 +0000 (UTC) Received: from m2.gritton.org (gritton.org [199.192.164.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 167721AA5; Wed, 29 Jan 2014 13:54:05 +0000 (UTC) Received: from [192.168.0.34] (c-50-168-192-61.hsd1.ut.comcast.net [50.168.192.61]) (authenticated bits=0) by m2.gritton.org (8.14.7/8.14.7) with ESMTP id s0TDn9li028033; Wed, 29 Jan 2014 06:49:09 -0700 (MST) (envelope-from jamie@freebsd.org) Message-ID: <52E906CD.9050202@freebsd.org> Date: Wed, 29 Jan 2014 06:49:01 -0700 From: James Gritton User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Gleb Smirnoff , netchild@FreeBSD.org Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail References: <201401291341.s0TDfDcB068211@svn.freebsd.org> <20140129134344.GW66160@FreeBSD.org> In-Reply-To: <20140129134344.GW66160@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 13:54:06 -0000 It does. I included a warning in jail.8 that this will pretty much undo jail security. There are still reasons some may want to do this, but it's definitely not for everyone or even most people. - Jamie On 1/29/2014 6:43 AM, Gleb Smirnoff wrote: > On Wed, Jan 29, 2014 at 01:41:13PM +0000, Jamie Gritton wrote: > J> Author: jamie > J> Date: Wed Jan 29 13:41:13 2014 > J> New Revision: 261266 > J> URL: http://svnweb.freebsd.org/changeset/base/261266 > J> > J> Log: > J> Add a jail parameter, allow.kmem, which lets jailed processes access > J> /dev/kmem and related devices (i.e. grants PRIV_IO and PRIV_KMEM_WRITE). > J> This in conjunction with changing the drm driver's permission check from > J> PRIV_DRIVER to PRIV_KMEM_WRITE will allow a jailed Xorg server. > J> > J> Submitted by: netchild > > Doesn't this allow to easily unjail self? :) From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 14:14:10 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 84303CE1; Wed, 29 Jan 2014 14:14:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6F58A1D88; Wed, 29 Jan 2014 14:14:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TEEAT0081635; Wed, 29 Jan 2014 14:14:10 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TEEAjF081634; Wed, 29 Jan 2014 14:14:10 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201401291414.s0TEEAjF081634@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 29 Jan 2014 14:14:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261267 - head/gnu/usr.bin/groff/tmac X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 14:14:10 -0000 Author: pluknet Date: Wed Jan 29 14:14:09 2014 New Revision: 261267 URL: http://svnweb.freebsd.org/changeset/base/261267 Log: Add libexecinfo. MFC after: 3 days Modified: head/gnu/usr.bin/groff/tmac/mdoc.local Modified: head/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- head/gnu/usr.bin/groff/tmac/mdoc.local Wed Jan 29 13:41:13 2014 (r261266) +++ head/gnu/usr.bin/groff/tmac/mdoc.local Wed Jan 29 14:14:09 2014 (r261267) @@ -37,6 +37,7 @@ .ds doc-str-Lb-libedit Line Editor and History Library (libedit, \-ledit) .ds doc-str-Lb-libefi EFI Runtime Services Library (libefi, \-lefi) .ds doc-str-Lb-libelf ELF Parsing Library (libelf, \-lelf) +.ds doc-str-Lb-libexecinfo Backtrace Access Library (libexecinfo, \-lexecinfo) .ds doc-str-Lb-libfetch File Transfer Library (libfetch, \-lfetch) .ds doc-str-Lb-libpmc Performance Monitoring Counters Interface Library (libpmc, \-lpmc) .ds doc-str-Lb-libproc Processor Monitoring and Analysis Library (libproc, \-lproc) From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 14:56:52 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2DB25BB4; Wed, 29 Jan 2014 14:56:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 17B261260; Wed, 29 Jan 2014 14:56:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TEuquX097315; Wed, 29 Jan 2014 14:56:52 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TEum0D097293; Wed, 29 Jan 2014 14:56:48 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201401291456.s0TEum0D097293@svn.freebsd.org> From: John Baldwin Date: Wed, 29 Jan 2014 14:56:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261268 - in head: lib/libvmmapi sys/amd64/include sys/amd64/vmm usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 14:56:52 -0000 Author: jhb Date: Wed Jan 29 14:56:48 2014 New Revision: 261268 URL: http://svnweb.freebsd.org/changeset/base/261268 Log: Enhance the support for PCI legacy INTx interrupts and enable them in the virtio backends. - Add a new ioctl to export the count of pins on the I/O APIC from vmm to the hypervisor. - Use pins on the I/O APIC >= 16 for PCI interrupts leaving 0-15 for ISA interrupts. - Populate the MP Table with I/O interrupt entries for any PCI INTx interrupts. - Create a _PRT table under the PCI root bridge in ACPI to route any PCI INTx interrupts appropriately. - Track which INTx interrupts are in use per-slot so that functions that share a slot attempt to distribute their INTx interrupts across the four available pins. - Implicitly mask INTx interrupts if either MSI or MSI-X is enabled and when the INTx DIS bit is set in a function's PCI command register. Either assert or deassert the associated I/O APIC pin when the state of one of those conditions changes. - Add INTx support to the virtio backends. - Always advertise the MSI capability in the virtio backends. Submitted by: neel (7) Reviewed by: neel MFC after: 2 weeks Added: head/usr.sbin/bhyve/ioapic.c (contents, props changed) head/usr.sbin/bhyve/ioapic.h (contents, props changed) Deleted: head/usr.sbin/bhyve/legacy_irq.c head/usr.sbin/bhyve/legacy_irq.h Modified: head/lib/libvmmapi/vmmapi.c head/lib/libvmmapi/vmmapi.h head/sys/amd64/include/vmm_dev.h head/sys/amd64/vmm/vmm_dev.c head/usr.sbin/bhyve/Makefile head/usr.sbin/bhyve/bhyverun.c head/usr.sbin/bhyve/mptbl.c head/usr.sbin/bhyve/pci_emul.c head/usr.sbin/bhyve/pci_emul.h head/usr.sbin/bhyve/pci_uart.c head/usr.sbin/bhyve/pci_virtio_block.c head/usr.sbin/bhyve/pci_virtio_net.c head/usr.sbin/bhyve/virtio.c head/usr.sbin/bhyve/virtio.h Modified: head/lib/libvmmapi/vmmapi.c ============================================================================== --- head/lib/libvmmapi/vmmapi.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/lib/libvmmapi/vmmapi.c Wed Jan 29 14:56:48 2014 (r261268) @@ -454,6 +454,13 @@ vm_ioapic_pulse_irq(struct vmctx *ctx, i } int +vm_ioapic_pincount(struct vmctx *ctx, int *pincount) +{ + + return (ioctl(ctx->fd, VM_IOAPIC_PINCOUNT, pincount)); +} + +int vm_inject_nmi(struct vmctx *ctx, int vcpu) { struct vm_nmi vmnmi; Modified: head/lib/libvmmapi/vmmapi.h ============================================================================== --- head/lib/libvmmapi/vmmapi.h Wed Jan 29 14:14:09 2014 (r261267) +++ head/lib/libvmmapi/vmmapi.h Wed Jan 29 14:56:48 2014 (r261268) @@ -72,6 +72,7 @@ int vm_lapic_msi(struct vmctx *ctx, uint int vm_ioapic_assert_irq(struct vmctx *ctx, int irq); int vm_ioapic_deassert_irq(struct vmctx *ctx, int irq); int vm_ioapic_pulse_irq(struct vmctx *ctx, int irq); +int vm_ioapic_pincount(struct vmctx *ctx, int *pincount); int vm_inject_nmi(struct vmctx *ctx, int vcpu); int vm_capability_name2type(const char *capname); const char *vm_capability_type2name(int type); Modified: head/sys/amd64/include/vmm_dev.h ============================================================================== --- head/sys/amd64/include/vmm_dev.h Wed Jan 29 14:14:09 2014 (r261267) +++ head/sys/amd64/include/vmm_dev.h Wed Jan 29 14:56:48 2014 (r261268) @@ -181,7 +181,8 @@ enum { IOCNUM_IOAPIC_DEASSERT_IRQ = 34, IOCNUM_IOAPIC_PULSE_IRQ = 35, IOCNUM_LAPIC_MSI = 36, - IOCNUM_LAPIC_LOCAL_IRQ = 37, + IOCNUM_LAPIC_LOCAL_IRQ = 37, + IOCNUM_IOAPIC_PINCOUNT = 38, /* PCI pass-thru */ IOCNUM_BIND_PPTDEV = 40, @@ -228,6 +229,8 @@ enum { _IOW('v', IOCNUM_IOAPIC_DEASSERT_IRQ, struct vm_ioapic_irq) #define VM_IOAPIC_PULSE_IRQ \ _IOW('v', IOCNUM_IOAPIC_PULSE_IRQ, struct vm_ioapic_irq) +#define VM_IOAPIC_PINCOUNT \ + _IOR('v', IOCNUM_IOAPIC_PINCOUNT, int) #define VM_SET_CAPABILITY \ _IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability) #define VM_GET_CAPABILITY \ Modified: head/sys/amd64/vmm/vmm_dev.c ============================================================================== --- head/sys/amd64/vmm/vmm_dev.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/sys/amd64/vmm/vmm_dev.c Wed Jan 29 14:56:48 2014 (r261268) @@ -318,6 +318,9 @@ vmmdev_ioctl(struct cdev *cdev, u_long c ioapic_irq = (struct vm_ioapic_irq *)data; error = vioapic_pulse_irq(sc->vm, ioapic_irq->irq); break; + case VM_IOAPIC_PINCOUNT: + *(int *)data = vioapic_pincount(sc->vm); + break; case VM_MAP_MEMORY: seg = (struct vm_memory_segment *)data; error = vm_malloc(sc->vm, seg->gpa, seg->len); Modified: head/usr.sbin/bhyve/Makefile ============================================================================== --- head/usr.sbin/bhyve/Makefile Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/Makefile Wed Jan 29 14:56:48 2014 (r261268) @@ -17,7 +17,7 @@ SRCS= \ dbgport.c \ elcr.c \ inout.c \ - legacy_irq.c \ + ioapic.c \ mem.c \ mevent.c \ mptbl.c \ Modified: head/usr.sbin/bhyve/bhyverun.c ============================================================================== --- head/usr.sbin/bhyve/bhyverun.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/bhyverun.c Wed Jan 29 14:56:48 2014 (r261268) @@ -55,7 +55,7 @@ __FBSDID("$FreeBSD$"); #include "acpi.h" #include "inout.h" #include "dbgport.h" -#include "legacy_irq.h" +#include "ioapic.h" #include "mem.h" #include "mevent.h" #include "mptbl.h" @@ -695,7 +695,7 @@ main(int argc, char *argv[]) init_mem(); init_inout(); - legacy_irq_init(); + ioapic_init(ctx); rtc_init(ctx); Added: head/usr.sbin/bhyve/ioapic.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/bhyve/ioapic.c Wed Jan 29 14:56:48 2014 (r261268) @@ -0,0 +1,74 @@ +/*- + * Copyright (c) 2014 Advanced Computing Technologies LLC + * Written by: John H. Baldwin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +#include +#include + +#include "ioapic.h" + +/* + * Assign PCI INTx interrupts to I/O APIC pins in a round-robin + * fashion. Note that we have no idea what the HPET is using, but the + * HPET is also programmable whereas this is intended for hardwired + * PCI interrupts. + * + * This assumes a single I/O APIC where pins >= 16 are permitted for + * PCI devices. + */ +static int pci_pins; + +void +ioapic_init(struct vmctx *ctx) +{ + + if (vm_ioapic_pincount(ctx, &pci_pins) < 0) { + pci_pins = 0; + return; + } + + /* Ignore the first 16 pins. */ + if (pci_pins <= 16) { + pci_pins = 0; + return; + } + pci_pins -= 16; +} + +int +ioapic_pci_alloc_irq(void) +{ + static int last_pin; + + if (pci_pins == 0) + return (-1); + return (16 + (last_pin++ % pci_pins)); +} Added: head/usr.sbin/bhyve/ioapic.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/bhyve/ioapic.h Wed Jan 29 14:56:48 2014 (r261268) @@ -0,0 +1,39 @@ +/*- + * Copyright (c) 2014 Advanced Computing Technologies LLC + * Written by: John H. Baldwin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _IOAPIC_H_ +#define _IOAPIC_H_ + +/* + * Allocate a PCI IRQ from the I/O APIC. + */ +void ioapic_init(struct vmctx *ctx); +int ioapic_pci_alloc_irq(void); + +#endif Modified: head/usr.sbin/bhyve/mptbl.c ============================================================================== --- head/usr.sbin/bhyve/mptbl.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/mptbl.c Wed Jan 29 14:56:48 2014 (r261268) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "acpi.h" #include "bhyverun.h" #include "mptbl.h" +#include "pci_emul.h" #define MPTABLE_BASE 0xF0000 @@ -75,9 +76,6 @@ __FBSDID("$FreeBSD$"); /* Number of local intr entries */ #define MPEII_NUM_LOCAL_IRQ 2 -/* Number of i/o intr entries */ -#define MPEII_MAX_IRQ 24 - /* Bus entry defines */ #define MPE_NUM_BUSES 2 #define MPE_BUSNAME_LEN 6 @@ -195,8 +193,42 @@ mpt_build_ioapic_entries(io_apic_entry_p mpei->apic_address = IOAPIC_PADDR; } +static int +mpt_count_ioint_entries(void) +{ + + /* + * Always include entries for the first 16 pins along with a entry + * for each active PCI INTx pin. + */ + return (16 + pci_count_lintr()); +} + static void -mpt_build_ioint_entries(int_entry_ptr mpie, int num_pins, int id) +mpt_generate_pci_int(int slot, int pin, int ioapic_irq, void *arg) +{ + int_entry_ptr *mpiep, mpie; + + mpiep = arg; + mpie = *mpiep; + memset(mpie, 0, sizeof(*mpie)); + + /* + * This is always after another I/O interrupt entry, so cheat + * and fetch the I/O APIC ID from the prior entry. + */ + mpie->type = MPCT_ENTRY_INT; + mpie->int_type = INTENTRY_TYPE_INT; + mpie->src_bus_id = 0; + mpie->src_bus_irq = slot << 2 | (pin - 1); + mpie->dst_apic_id = mpie[-1].dst_apic_id; + mpie->dst_apic_int = ioapic_irq; + + *mpiep = mpie + 1; +} + +static void +mpt_build_ioint_entries(int_entry_ptr mpie, int id) { int pin; @@ -206,8 +238,8 @@ mpt_build_ioint_entries(int_entry_ptr mp * just use the default config, tweek later if needed. */ - /* Run through all 16 pins. */ - for (pin = 0; pin < num_pins; pin++) { + /* First, generate the first 16 pins. */ + for (pin = 0; pin < 16; pin++) { memset(mpie, 0, sizeof(*mpie)); mpie->type = MPCT_ENTRY_INT; mpie->src_bus_id = 1; @@ -235,16 +267,6 @@ mpt_build_ioint_entries(int_entry_ptr mp mpie->int_type = INTENTRY_TYPE_INT; mpie->src_bus_irq = SCI_INT; break; - case 5: - case 10: - case 11: - /* - * PCI Irqs set to level triggered and active-lo. - */ - mpie->int_flags = INTENTRY_FLAGS_POLARITY_ACTIVELO | - INTENTRY_FLAGS_TRIGGER_LEVEL; - mpie->src_bus_id = 0; - /* fall through.. */ default: /* All other pins are identity mapped. */ mpie->int_type = INTENTRY_TYPE_INT; @@ -254,6 +276,8 @@ mpt_build_ioint_entries(int_entry_ptr mp mpie++; } + /* Next, generate entries for any PCI INTx interrupts. */ + pci_walk_lintr(mpt_generate_pci_int, &mpie); } void @@ -273,6 +297,7 @@ mptable_build(struct vmctx *ctx, int ncp proc_entry_ptr mpep; mpfps_t mpfp; int_entry_ptr mpie; + int ioints; char *curraddr; char *startaddr; @@ -307,9 +332,10 @@ mptable_build(struct vmctx *ctx, int ncp mpch->entry_count++; mpie = (int_entry_ptr) curraddr; - mpt_build_ioint_entries(mpie, MPEII_MAX_IRQ, 0); - curraddr += sizeof(*mpie) * MPEII_MAX_IRQ; - mpch->entry_count += MPEII_MAX_IRQ; + ioints = mpt_count_ioint_entries(); + mpt_build_ioint_entries(mpie, 0); + curraddr += sizeof(*mpie) * ioints; + mpch->entry_count += ioints; mpie = (int_entry_ptr)curraddr; mpt_build_localint_entries(mpie); Modified: head/usr.sbin/bhyve/pci_emul.c ============================================================================== --- head/usr.sbin/bhyve/pci_emul.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/pci_emul.c Wed Jan 29 14:56:48 2014 (r261268) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -47,7 +48,7 @@ __FBSDID("$FreeBSD$"); #include "acpi.h" #include "bhyverun.h" #include "inout.h" -#include "legacy_irq.h" +#include "ioapic.h" #include "mem.h" #include "pci_emul.h" #include "pci_lpc.h" @@ -71,11 +72,21 @@ do { \ #define MAXSLOTS (PCI_SLOTMAX + 1) #define MAXFUNCS (PCI_FUNCMAX + 1) -static struct slotinfo { - char *si_name; - char *si_param; - struct pci_devinst *si_devi; -} pci_slotinfo[MAXSLOTS][MAXFUNCS]; +struct funcinfo { + char *fi_name; + char *fi_param; + struct pci_devinst *fi_devi; +}; + +struct intxinfo { + int ii_count; + int ii_ioapic_irq; +}; + +struct slotinfo { + struct intxinfo si_intpins[4]; + struct funcinfo si_funcs[MAXFUNCS]; +} pci_slotinfo[MAXSLOTS]; SET_DECLARE(pci_devemu_set, struct pci_devemu); @@ -92,6 +103,7 @@ static uint64_t pci_emul_membase64; #define PCI_EMUL_MEMLIMIT64 0xFD00000000UL static struct pci_devemu *pci_emul_finddev(char *name); +static void pci_lintr_update(struct pci_devinst *pi); static int pci_emul_devices; static struct mem_range pci_mem_hole; @@ -154,7 +166,7 @@ pci_parse_slot(char *opt) goto done; } - if (pci_slotinfo[snum][fnum].si_name != NULL) { + if (pci_slotinfo[snum].si_funcs[fnum].fi_name != NULL) { fprintf(stderr, "pci slot %d:%d already occupied!\n", snum, fnum); goto done; @@ -167,8 +179,8 @@ pci_parse_slot(char *opt) } error = 0; - pci_slotinfo[snum][fnum].si_name = emul; - pci_slotinfo[snum][fnum].si_param = config; + pci_slotinfo[snum].si_funcs[fnum].fi_name = emul; + pci_slotinfo[snum].si_funcs[fnum].fi_param = config; done: if (error) @@ -666,7 +678,10 @@ pci_emul_init(struct vmctx *ctx, struct pdi->pi_bus = 0; pdi->pi_slot = slot; pdi->pi_func = func; - pdi->pi_lintr_pin = -1; + pthread_mutex_init(&pdi->pi_lintr.lock, NULL); + pdi->pi_lintr.pin = 0; + pdi->pi_lintr.state = IDLE; + pdi->pi_lintr.ioapic_irq = 0; pdi->pi_d = pde; snprintf(pdi->pi_name, PI_NAMESZ, "%s-pci-%d", pde->pe_emu, slot); @@ -682,7 +697,7 @@ pci_emul_init(struct vmctx *ctx, struct free(pdi); } else { pci_emul_devices++; - pci_slotinfo[slot][func].si_devi = pdi; + pci_slotinfo[slot].si_funcs[func].fi_devi = pdi; } return (err); @@ -816,6 +831,7 @@ msixcap_cfgwrite(struct pci_devinst *pi, pi->pi_msix.enabled = val & PCIM_MSIXCTRL_MSIX_ENABLE; pi->pi_msix.function_mask = val & PCIM_MSIXCTRL_FUNCTION_MASK; + pci_lintr_update(pi); } CFGWRITE(pi, offset, val, bytes); @@ -854,6 +870,7 @@ msicap_cfgwrite(struct pci_devinst *pi, } else { pi->pi_msi.maxmsgnum = 0; } + pci_lintr_update(pi); } CFGWRITE(pi, offset, val, bytes); @@ -993,7 +1010,7 @@ int init_pci(struct vmctx *ctx) { struct pci_devemu *pde; - struct slotinfo *si; + struct funcinfo *fi; size_t lowmem; int slot, func; int error; @@ -1004,12 +1021,12 @@ init_pci(struct vmctx *ctx) for (slot = 0; slot < MAXSLOTS; slot++) { for (func = 0; func < MAXFUNCS; func++) { - si = &pci_slotinfo[slot][func]; - if (si->si_name != NULL) { - pde = pci_emul_finddev(si->si_name); + fi = &pci_slotinfo[slot].si_funcs[func]; + if (fi->fi_name != NULL) { + pde = pci_emul_finddev(fi->fi_name); assert(pde != NULL); error = pci_emul_init(ctx, pde, slot, func, - si->si_param); + fi->fi_param); if (error) return (error); } @@ -1042,11 +1059,27 @@ init_pci(struct vmctx *ctx) return (0); } +static void +pci_prt_entry(int slot, int pin, int ioapic_irq, void *arg) +{ + int *count; + + count = arg; + dsdt_line(" Package (0x04)"); + dsdt_line(" {"); + dsdt_line(" 0x%X,", slot << 16 | 0xffff); + dsdt_line(" 0x%02X,", pin - 1); + dsdt_line(" Zero,"); + dsdt_line(" 0x%X", ioapic_irq); + dsdt_line(" }%s", *count == 1 ? "" : ","); + (*count)--; +} + void pci_write_dsdt(void) { struct pci_devinst *pi; - int slot, func; + int count, slot, func; dsdt_indent(1); dsdt_line("Scope (_SB)"); @@ -1107,11 +1140,20 @@ pci_write_dsdt(void) PCI_EMUL_MEMLIMIT64 - PCI_EMUL_MEMBASE64); dsdt_line(" ,, , AddressRangeMemory, TypeStatic)"); dsdt_line(" })"); + count = pci_count_lintr(); + if (count != 0) { + dsdt_indent(2); + dsdt_line("Name (_PRT, Package (0x%02X)", count); + dsdt_line("{"); + pci_walk_lintr(pci_prt_entry, &count); + dsdt_line("})"); + dsdt_unindent(2); + } dsdt_indent(2); for (slot = 0; slot < MAXSLOTS; slot++) { for (func = 0; func < MAXFUNCS; func++) { - pi = pci_slotinfo[slot][func].si_devi; + pi = pci_slotinfo[slot].si_funcs[func].fi_devi; if (pi != NULL && pi->pi_d->pe_write_dsdt != NULL) pi->pi_d->pe_write_dsdt(pi); } @@ -1176,18 +1218,54 @@ pci_generate_msi(struct pci_devinst *pi, } } +static bool +pci_lintr_permitted(struct pci_devinst *pi) +{ + uint16_t cmd; + + cmd = pci_get_cfgdata16(pi, PCIR_COMMAND); + return (!(pi->pi_msi.enabled || pi->pi_msix.enabled || + (cmd & PCIM_CMD_INTxDIS))); +} + int -pci_lintr_request(struct pci_devinst *pi, int req) +pci_lintr_request(struct pci_devinst *pi) { - int irq; + struct slotinfo *si; + int bestpin, bestcount, irq, pin; - irq = legacy_irq_alloc(req); - if (irq < 0) - return (-1); + /* + * First, allocate a pin from our slot. + */ + si = &pci_slotinfo[pi->pi_slot]; + bestpin = 0; + bestcount = si->si_intpins[0].ii_count; + for (pin = 1; pin < 4; pin++) { + if (si->si_intpins[pin].ii_count < bestcount) { + bestpin = pin; + bestcount = si->si_intpins[pin].ii_count; + } + } + + /* + * Attempt to allocate an I/O APIC pin for this intpin. If + * 8259A support is added we will need a separate field to + * assign the intpin to an input pin on the PCI interrupt + * router. + */ + if (si->si_intpins[bestpin].ii_count == 0) { + irq = ioapic_pci_alloc_irq(); + if (irq < 0) + return (-1); + si->si_intpins[bestpin].ii_ioapic_irq = irq; + } else + irq = si->si_intpins[bestpin].ii_ioapic_irq; + si->si_intpins[bestpin].ii_count++; - pi->pi_lintr_pin = irq; + pi->pi_lintr.pin = bestpin + 1; + pi->pi_lintr.ioapic_irq = irq; pci_set_cfgdata8(pi, PCIR_INTLINE, irq); - pci_set_cfgdata8(pi, PCIR_INTPIN, 1); + pci_set_cfgdata8(pi, PCIR_INTPIN, bestpin + 1); return (0); } @@ -1195,23 +1273,77 @@ void pci_lintr_assert(struct pci_devinst *pi) { - assert(pi->pi_lintr_pin >= 0); + assert(pi->pi_lintr.pin > 0); - if (pi->pi_lintr_state == 0) { - pi->pi_lintr_state = 1; - vm_ioapic_assert_irq(pi->pi_vmctx, pi->pi_lintr_pin); + pthread_mutex_lock(&pi->pi_lintr.lock); + if (pi->pi_lintr.state == IDLE) { + if (pci_lintr_permitted(pi)) { + pi->pi_lintr.state = ASSERTED; + vm_ioapic_assert_irq(pi->pi_vmctx, + pi->pi_lintr.ioapic_irq); + } else + pi->pi_lintr.state = PENDING; } + pthread_mutex_unlock(&pi->pi_lintr.lock); } void pci_lintr_deassert(struct pci_devinst *pi) { - assert(pi->pi_lintr_pin >= 0); + assert(pi->pi_lintr.pin > 0); + + pthread_mutex_lock(&pi->pi_lintr.lock); + if (pi->pi_lintr.state == ASSERTED) { + pi->pi_lintr.state = IDLE; + vm_ioapic_deassert_irq(pi->pi_vmctx, pi->pi_lintr.ioapic_irq); + } else if (pi->pi_lintr.state == PENDING) + pi->pi_lintr.state = IDLE; + pthread_mutex_unlock(&pi->pi_lintr.lock); +} + +static void +pci_lintr_update(struct pci_devinst *pi) +{ - if (pi->pi_lintr_state == 1) { - pi->pi_lintr_state = 0; - vm_ioapic_deassert_irq(pi->pi_vmctx, pi->pi_lintr_pin); + pthread_mutex_lock(&pi->pi_lintr.lock); + if (pi->pi_lintr.state == ASSERTED && !pci_lintr_permitted(pi)) { + vm_ioapic_deassert_irq(pi->pi_vmctx, pi->pi_lintr.ioapic_irq); + pi->pi_lintr.state = PENDING; + } else if (pi->pi_lintr.state == PENDING && pci_lintr_permitted(pi)) { + pi->pi_lintr.state = ASSERTED; + vm_ioapic_assert_irq(pi->pi_vmctx, pi->pi_lintr.ioapic_irq); + } + pthread_mutex_unlock(&pi->pi_lintr.lock); +} + +int +pci_count_lintr(void) +{ + int count, slot, pin; + + count = 0; + for (slot = 0; slot < MAXSLOTS; slot++) { + for (pin = 0; pin < 4; pin++) { + if (pci_slotinfo[slot].si_intpins[pin].ii_count != 0) + count++; + } + } + return (count); +} + +void +pci_walk_lintr(pci_lintr_cb cb, void *arg) +{ + struct intxinfo *ii; + int slot, pin; + + for (slot = 0; slot < MAXSLOTS; slot++) { + for (pin = 0; pin < 4; pin++) { + ii = &pci_slotinfo[slot].si_intpins[pin]; + if (ii->ii_count != 0) + cb(slot, pin + 1, ii->ii_ioapic_irq, arg); + } } } @@ -1226,7 +1358,7 @@ pci_emul_is_mfdev(int slot) numfuncs = 0; for (f = 0; f < MAXFUNCS; f++) { - if (pci_slotinfo[slot][f].si_devi != NULL) { + if (pci_slotinfo[slot].si_funcs[f].fi_devi != NULL) { numfuncs++; } } @@ -1348,6 +1480,12 @@ pci_emul_cmdwrite(struct pci_devinst *pi assert(0); } } + + /* + * If INTx has been unmasked and is pending, assert the + * interrupt. + */ + pci_lintr_update(pi); } static int @@ -1362,7 +1500,7 @@ pci_emul_cfgdata(struct vmctx *ctx, int assert(bytes == 1 || bytes == 2 || bytes == 4); if (cfgbus == 0) - pi = pci_slotinfo[cfgslot][cfgfunc].si_devi; + pi = pci_slotinfo[cfgslot].si_funcs[cfgfunc].fi_devi; else pi = NULL; Modified: head/usr.sbin/bhyve/pci_emul.h ============================================================================== --- head/usr.sbin/bhyve/pci_emul.h Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/pci_emul.h Wed Jan 29 14:56:48 2014 (r261268) @@ -32,6 +32,7 @@ #include #include #include +#include #include @@ -102,16 +103,27 @@ struct msix_table_entry { #define MAX_MSIX_TABLE_ENTRIES 2048 #define PBA_TABLE_ENTRY_SIZE 8 +enum lintr_stat { + IDLE, + ASSERTED, + PENDING +}; + struct pci_devinst { struct pci_devemu *pi_d; struct vmctx *pi_vmctx; uint8_t pi_bus, pi_slot, pi_func; - int8_t pi_lintr_pin; - int8_t pi_lintr_state; char pi_name[PI_NAMESZ]; int pi_bar_getsize; struct { + int8_t pin; + enum lintr_stat state; + int ioapic_irq; + pthread_mutex_t lock; + } pi_lintr; + + struct { int enabled; uint64_t addr; uint64_t msg_data; @@ -187,6 +199,8 @@ struct pciecap { uint16_t slot_status2; } __packed; +typedef void (*pci_lintr_cb)(int slot, int pin, int ioapic_irq, void *arg); + int init_pci(struct vmctx *ctx); void msicap_cfgwrite(struct pci_devinst *pi, int capoff, int offset, int bytes, uint32_t val); @@ -203,7 +217,7 @@ void pci_generate_msi(struct pci_devinst void pci_generate_msix(struct pci_devinst *pi, int msgnum); void pci_lintr_assert(struct pci_devinst *pi); void pci_lintr_deassert(struct pci_devinst *pi); -int pci_lintr_request(struct pci_devinst *pi, int ivec); +int pci_lintr_request(struct pci_devinst *pi); int pci_msi_enabled(struct pci_devinst *pi); int pci_msix_enabled(struct pci_devinst *pi); int pci_msix_table_bar(struct pci_devinst *pi); @@ -215,6 +229,8 @@ int pci_emul_add_msixcap(struct pci_devi int pci_emul_msix_twrite(struct pci_devinst *pi, uint64_t offset, int size, uint64_t value); uint64_t pci_emul_msix_tread(struct pci_devinst *pi, uint64_t offset, int size); +int pci_count_lintr(void); +void pci_walk_lintr(pci_lintr_cb cb, void *arg); void pci_write_dsdt(void); static __inline void Modified: head/usr.sbin/bhyve/pci_uart.c ============================================================================== --- head/usr.sbin/bhyve/pci_uart.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/pci_uart.c Wed Jan 29 14:56:48 2014 (r261268) @@ -91,7 +91,7 @@ pci_uart_init(struct vmctx *ctx, struct struct uart_softc *sc; pci_emul_alloc_bar(pi, 0, PCIBAR_IO, UART_IO_BAR_SIZE); - pci_lintr_request(pi, -1); + pci_lintr_request(pi); /* initialize config space */ pci_set_cfgdata16(pi, PCIR_DEVICE, COM_DEV); Modified: head/usr.sbin/bhyve/pci_virtio_block.c ============================================================================== --- head/usr.sbin/bhyve/pci_virtio_block.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/pci_virtio_block.c Wed Jan 29 14:56:48 2014 (r261268) @@ -117,6 +117,7 @@ static int pci_vtblk_debug; */ struct pci_vtblk_softc { struct virtio_softc vbsc_vs; + pthread_mutex_t vsc_mtx; struct vqueue_info vbsc_vq; int vbsc_fd; struct vtblk_config vbsc_cfg; @@ -304,8 +305,12 @@ pci_vtblk_init(struct vmctx *ctx, struct /* record fd of storage device/file */ sc->vbsc_fd = fd; + pthread_mutex_init(&sc->vsc_mtx, NULL); + /* init virtio softc and virtqueues */ vi_softc_linkup(&sc->vbsc_vs, &vtblk_vi_consts, sc, pi, &sc->vbsc_vq); + sc->vbsc_vs.vs_mtx = &sc->vsc_mtx; + sc->vbsc_vq.vq_qsize = VTBLK_RINGSZ; /* sc->vbsc_vq.vq_notify = we have no per-queue notify */ @@ -339,6 +344,8 @@ pci_vtblk_init(struct vmctx *ctx, struct pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_STORAGE); pci_set_cfgdata16(pi, PCIR_SUBDEV_0, VIRTIO_TYPE_BLOCK); + pci_lintr_request(pi); + if (vi_intr_init(&sc->vbsc_vs, 1, fbsdrun_virtio_msix())) return (1); vi_set_io_bar(&sc->vbsc_vs, 0); Modified: head/usr.sbin/bhyve/pci_virtio_net.c ============================================================================== --- head/usr.sbin/bhyve/pci_virtio_net.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/pci_virtio_net.c Wed Jan 29 14:56:48 2014 (r261268) @@ -519,6 +519,8 @@ pci_vtnet_init(struct vmctx *ctx, struct pthread_mutex_init(&sc->vsc_mtx, NULL); vi_softc_linkup(&sc->vsc_vs, &vtnet_vi_consts, sc, pi, sc->vsc_queues); + sc->vsc_vs.vs_mtx = &sc->vsc_mtx; + sc->vsc_queues[VTNET_RXQ].vq_qsize = VTNET_RINGSZ; sc->vsc_queues[VTNET_RXQ].vq_notify = pci_vtnet_ping_rxq; sc->vsc_queues[VTNET_TXQ].vq_qsize = VTNET_RINGSZ; @@ -608,6 +610,8 @@ pci_vtnet_init(struct vmctx *ctx, struct pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_NETWORK); pci_set_cfgdata16(pi, PCIR_SUBDEV_0, VIRTIO_TYPE_NET); + pci_lintr_request(pi); + /* link always up */ sc->vsc_config.status = 1; Modified: head/usr.sbin/bhyve/virtio.c ============================================================================== --- head/usr.sbin/bhyve/virtio.c Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/virtio.c Wed Jan 29 14:56:48 2014 (r261268) @@ -99,7 +99,11 @@ vi_reset_dev(struct virtio_softc *vs) vs->vs_negotiated_caps = 0; vs->vs_curq = 0; /* vs->vs_status = 0; -- redundant */ + VS_LOCK(vs); + if (vs->vs_isr) + pci_lintr_deassert(vs->vs_pi); vs->vs_isr = 0; + VS_UNLOCK(vs); vs->vs_msix_cfg_idx = VIRTIO_MSI_NO_VECTOR; } @@ -137,11 +141,10 @@ vi_intr_init(struct virtio_softc *vs, in nvec = vs->vs_vc->vc_nvq + 1; if (pci_emul_add_msixcap(vs->vs_pi, nvec, barnum)) return (1); - } else { + } else vs->vs_flags &= ~VIRTIO_USE_MSIX; - /* Only 1 MSI vector for bhyve */ - pci_emul_add_msicap(vs->vs_pi, 1); - } + /* Only 1 MSI vector for bhyve */ + pci_emul_add_msicap(vs->vs_pi, 1); return (0); } @@ -591,6 +594,8 @@ bad: case VTCFG_R_ISR: value = vs->vs_isr; vs->vs_isr = 0; /* a read clears this flag */ + if (value) + pci_lintr_deassert(pi); break; case VTCFG_R_CFGVEC: value = vs->vs_msix_cfg_idx; Modified: head/usr.sbin/bhyve/virtio.h ============================================================================== --- head/usr.sbin/bhyve/virtio.h Wed Jan 29 14:14:09 2014 (r261267) +++ head/usr.sbin/bhyve/virtio.h Wed Jan 29 14:56:48 2014 (r261268) @@ -328,6 +328,18 @@ struct virtio_softc { uint16_t vs_msix_cfg_idx; /* MSI-X vector for config event */ }; +#define VS_LOCK(vs) \ +do { \ + if (vs->vs_mtx) \ + pthread_mutex_lock(vs->vs_mtx); \ +} while (0) + +#define VS_UNLOCK(vs) \ +do { \ + if (vs->vs_mtx) \ + pthread_mutex_unlock(vs->vs_mtx); \ +} while (0) + struct virtio_consts { const char *vc_name; /* name of driver (for diagnostics) */ int vc_nvq; /* number of virtual queues */ @@ -431,11 +443,14 @@ static inline void vq_interrupt(struct virtio_softc *vs, struct vqueue_info *vq) { - if (vs->vs_flags & VIRTIO_USE_MSIX) + if (pci_msix_enabled(vs->vs_pi)) pci_generate_msix(vs->vs_pi, vq->vq_msix_idx); else { + VS_LOCK(vs); vs->vs_isr |= VTCFG_ISR_QUEUES; pci_generate_msi(vs->vs_pi, 0); + pci_lintr_assert(vs->vs_pi); + VS_UNLOCK(vs); } } From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 15:50:02 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9BA27A54; Wed, 29 Jan 2014 15:50:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8618217E9; Wed, 29 Jan 2014 15:50:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TFo28C017716; Wed, 29 Jan 2014 15:50:02 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TFo2iF017714; Wed, 29 Jan 2014 15:50:02 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401291550.s0TFo2iF017714@svn.freebsd.org> From: Justin Hibbits Date: Wed, 29 Jan 2014 15:50:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261269 - head/sys/dev/vt/hw/ofwfb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 15:50:02 -0000 Author: jhibbits Date: Wed Jan 29 15:50:01 2014 New Revision: 261269 URL: http://svnweb.freebsd.org/changeset/base/261269 Log: Micro-optimize 8-bit blanking. This is the same as in ofw_syscons. Reviewed by: ray MFC after: 1 week Modified: head/sys/dev/vt/hw/ofwfb/ofwfb.c (contents, props changed) Modified: head/sys/dev/vt/hw/ofwfb/ofwfb.c ============================================================================== --- head/sys/dev/vt/hw/ofwfb/ofwfb.c Wed Jan 29 14:56:48 2014 (r261268) +++ head/sys/dev/vt/hw/ofwfb/ofwfb.c Wed Jan 29 15:50:01 2014 (r261269) @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: user/ed/newcons/sys/dev/vt/hw/ofwfb/ofwfb.c 219888 2011-03-22 21:31:31Z ed $"); +__FBSDID("$FreeBSD$"); #include #include @@ -78,17 +78,19 @@ static void ofwfb_blank(struct vt_device *vd, term_color_t color) { struct ofwfb_softc *sc = vd->vd_softc; - u_int ofs; + u_int ofs, size; uint32_t c; + size = sc->sc_stride * vd->vd_height; switch (sc->sc_depth) { case 8: - for (ofs = 0; ofs < sc->sc_stride*vd->vd_height; ofs++) - *(uint8_t *)(sc->sc_addr + ofs) = color; + c = (color << 24) | (color << 16) | (color << 8) | color; + for (ofs = 0; ofs < size/4; ofs++) + *(uint32_t *)(sc->sc_addr + 4*ofs) = c; break; case 32: c = sc->sc_colormap[color]; - for (ofs = 0; ofs < sc->sc_stride*vd->vd_height; ofs++) + for (ofs = 0; ofs < size; ofs++) *(uint32_t *)(sc->sc_addr + 4*ofs) = c; break; default: From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 16:24:50 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B8930EB2; Wed, 29 Jan 2014 16:24:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A4ED61B7B; Wed, 29 Jan 2014 16:24:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TGOogp033098; Wed, 29 Jan 2014 16:24:50 GMT (envelope-from n_hibma@svn.freebsd.org) Received: (from n_hibma@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TGOo5k033097; Wed, 29 Jan 2014 16:24:50 GMT (envelope-from n_hibma@svn.freebsd.org) Message-Id: <201401291624.s0TGOo5k033097@svn.freebsd.org> From: Nick Hibma Date: Wed, 29 Jan 2014 16:24:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261270 - head/sys/dev/usb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 16:24:50 -0000 Author: n_hibma Date: Wed Jan 29 16:24:50 2014 New Revision: 261270 URL: http://svnweb.freebsd.org/changeset/base/261270 Log: Fix the ordering of the arguments to printf in uhub_child_location_string(). This produced bogus information in dev...%location output from sysctl. MFC after: 2 weeks Modified: head/sys/dev/usb/usb_hub.c Modified: head/sys/dev/usb/usb_hub.c ============================================================================== --- head/sys/dev/usb/usb_hub.c Wed Jan 29 15:50:01 2014 (r261269) +++ head/sys/dev/usb/usb_hub.c Wed Jan 29 16:24:50 2014 (r261270) @@ -1597,8 +1597,9 @@ uhub_child_location_string(device_t pare goto done; } snprintf(buf, buflen, "bus=%u hubaddr=%u port=%u devaddr=%u interface=%u", + device_get_unit(res.udev->bus->bdev), (res.udev->parent_hub != NULL) ? res.udev->parent_hub->device_index : 0, - res.portno, device_get_unit(res.udev->bus->bdev), + res.portno, res.udev->device_index, res.iface_index); done: mtx_unlock(&Giant); From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 19:28:52 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DBB67D7E; Wed, 29 Jan 2014 19:28:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C77B91D55; Wed, 29 Jan 2014 19:28:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0TJSqXq007405; Wed, 29 Jan 2014 19:28:52 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0TJSqEY007404; Wed, 29 Jan 2014 19:28:52 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201401291928.s0TJSqEY007404@svn.freebsd.org> From: Sergey Kandaurov Date: Wed, 29 Jan 2014 19:28:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261271 - head/contrib/pf/authpf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 19:28:52 -0000 Author: pluknet Date: Wed Jan 29 19:28:52 2014 New Revision: 261271 URL: http://svnweb.freebsd.org/changeset/base/261271 Log: Ressurect the local change documenting authpf's requirement for a mounted fdescfs(5). PR: docs/186250 MFC after: 1 week Modified: head/contrib/pf/authpf/authpf.8 Modified: head/contrib/pf/authpf/authpf.8 ============================================================================== --- head/contrib/pf/authpf/authpf.8 Wed Jan 29 16:24:50 2014 (r261270) +++ head/contrib/pf/authpf/authpf.8 Wed Jan 29 19:28:52 2014 (r261271) @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd January 6 2009 +.Dd January 29 2014 .Dt AUTHPF 8 .Os .Sh NAME @@ -43,7 +43,11 @@ It is meant to be used with users who ca .Xr ssh 1 only, and requires the .Xr pf 4 -subsystem to be enabled. +subsystem and an +.Xr fdescfs 5 +file system mounted at +.Pa /dev/fd +to be enabled. .Pp .Nm authpf-noip is a user shell @@ -558,6 +562,7 @@ pass out on $internal_if from (self) to .El .Sh SEE ALSO .Xr pf 4 , +.Xr fdescfs 5 , .Xr pf.conf 5 , .Xr securelevel 7 , .Xr ftp-proxy 8 From owner-svn-src-head@FreeBSD.ORG Wed Jan 29 21:22:37 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 53931ADF; Wed, 29 Jan 2014 21:22:37 +0000 (UTC) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id 023D41716; Wed, 29 Jan 2014 21:22:36 +0000 (UTC) Received: from outgoing.leidinger.net (pD9FBB16E.dip0.t-ipconnect.de [217.251.177.110]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id AB2A1844138; Wed, 29 Jan 2014 22:22:14 +0100 (CET) Received: from unknown (Titan.Leidinger.net [192.168.1.17]) by outgoing.leidinger.net (Postfix) with ESMTP id 96A913B9F; Wed, 29 Jan 2014 22:22:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=leidinger.net; s=outgoing-alex; t=1391030531; bh=gUS0j8+kUspTlgK7zJG8b79UXn0NuhSGKxA3AzAi8dU=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=OgHZoho729Tzls/wJNAGpI6Tl2g6ccXAQWSBIjcdyPctRoGHwpzT0V/UvEP1L4pf4 2LHDgZ4U0OXblf/fTjRL2iUuHkQxWNz+/KPPu2mpSiJSsmUtMxhXBgOLISNhwroQ1Y gUS0F1ml1oPIqIA56K1lAUsCONx4+01SsRFeKfgH4PT9uwH8bFDHCzbIJVilqwPl2C 7DqMoDJjQcyU/1Ac1C3rcnHR2TZ9BcXNnhyaUgfjsNqCMYQUFIDt809lBvm//wI3M5 JiOicihUgU3x0+rK/CKPBXeJyU2mrATEnkcTJ1aVDRvXKTie0Vt5RrVbk4MS1sKHu3 ZM6Nv7S4ISq1g== Date: Wed, 29 Jan 2014 22:22:10 +0100 From: Alexander Leidinger To: James Gritton Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail Message-ID: <20140129222210.0000711f@unknown> In-Reply-To: <52E906CD.9050202@freebsd.org> References: <201401291341.s0TDfDcB068211@svn.freebsd.org> <20140129134344.GW66160@FreeBSD.org> <52E906CD.9050202@freebsd.org> X-Mailer: Claws Mail 3.9.2-55-g74b05b (GTK+ 2.16.6; i586-pc-mingw32msvc) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: AB2A1844138.A0C9E X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=-0.936, required 6, autolearn=disabled, ALL_TRUSTED -1.00, AWL 0.01, DKIM_SIGNED 0.10, DKIM_VALID -0.10, DKIM_VALID_AU -0.10, RP_MATCHES_RCVD -0.00, TW_EV 0.08, TW_SV 0.08) X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1391635336.48393@eAcf6kcnE/FDsV7g4M+W5g X-EBL-Spam-Status: No Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jan 2014 21:22:37 -0000 On Wed, 29 Jan 2014 06:49:01 -0700 James Gritton wrote: > On 1/29/2014 6:43 AM, Gleb Smirnoff wrote: > > Doesn't this allow to easily unjail self? :) > It does. I included a warning in jail.8 that this will pretty much > undo jail security. There are still reasons some may want to do this, > but it's definitely not for everyone or even most people. It only "unjails" (= basically the same security level as the jail-host with the added benefit of the flexibility of a jail like easy moving from one system to another) the jail which has this flag set. All other jails without the flag can not "escape" to the host. I also have to add that just setting this flag does not give access to the host, you also have to configure a non-default devfs rule for this jail (to have the devices appear in the jail). Bye, Alexander. -- http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 03:14:36 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EFCDA2CA; Thu, 30 Jan 2014 03:14:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DD43E1A15; Thu, 30 Jan 2014 03:14:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0U3EawB092225; Thu, 30 Jan 2014 03:14:36 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0U3EaXX092224; Thu, 30 Jan 2014 03:14:36 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401300314.s0U3EaXX092224@svn.freebsd.org> From: Warner Losh Date: Thu, 30 Jan 2014 03:14:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261279 - head/sys/arm/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 03:14:37 -0000 Author: imp Date: Thu Jan 30 03:14:36 2014 New Revision: 261279 URL: http://svnweb.freebsd.org/changeset/base/261279 Log: Fix the name of the dts file for the HL201... Modified: head/sys/arm/conf/HL201 Modified: head/sys/arm/conf/HL201 ============================================================================== --- head/sys/arm/conf/HL201 Wed Jan 29 22:06:38 2014 (r261278) +++ head/sys/arm/conf/HL201 Thu Jan 30 03:14:36 2014 (r261279) @@ -126,7 +126,7 @@ device nand # NAND interface on CS3 # Coming soon, but not yet #options FDT #options FDT_DTB_STATIC -#makeoptions FDT_DTS_FILE=at91sam9g20ek.dts +#makeoptions FDT_DTS_FILE=hl201.dts options EARLY_PRINTF options SOCDEV_PA=0xfc000000 From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 07:44:24 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C013B1C4; Thu, 30 Jan 2014 07:44:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A94541D5E; Thu, 30 Jan 2014 07:44:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0U7iOS5016056; Thu, 30 Jan 2014 07:44:24 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0U7iNLt016044; Thu, 30 Jan 2014 07:44:23 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201401300744.s0U7iNLt016044@svn.freebsd.org> From: Dimitry Andric Date: Thu, 30 Jan 2014 07:44:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261283 - in head: contrib/libc++ contrib/libc++/include contrib/libc++/include/experimental contrib/libc++/include/ext contrib/libc++/src etc/mtree lib/libc++ sys/sys tools/build/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 07:44:24 -0000 Author: dim Date: Thu Jan 30 07:44:22 2014 New Revision: 261283 URL: http://svnweb.freebsd.org/changeset/base/261283 Log: Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks Added: head/contrib/libc++/include/experimental/ - copied from r261272, vendor/libc++/dist/include/experimental/ head/contrib/libc++/include/shared_mutex - copied unchanged from r261272, vendor/libc++/dist/include/shared_mutex head/contrib/libc++/src/optional.cpp - copied unchanged from r261272, vendor/libc++/dist/src/optional.cpp head/contrib/libc++/src/shared_mutex.cpp - copied unchanged from r261272, vendor/libc++/dist/src/shared_mutex.cpp Modified: head/contrib/libc++/CREDITS.TXT head/contrib/libc++/include/__bit_reference head/contrib/libc++/include/__config head/contrib/libc++/include/__debug head/contrib/libc++/include/__functional_03 head/contrib/libc++/include/__functional_base head/contrib/libc++/include/__functional_base_03 head/contrib/libc++/include/__hash_table head/contrib/libc++/include/__locale head/contrib/libc++/include/__mutex_base head/contrib/libc++/include/__split_buffer head/contrib/libc++/include/__std_stream head/contrib/libc++/include/__tree head/contrib/libc++/include/__tuple head/contrib/libc++/include/__tuple_03 head/contrib/libc++/include/__undef_min_max head/contrib/libc++/include/algorithm head/contrib/libc++/include/array head/contrib/libc++/include/bitset head/contrib/libc++/include/cctype head/contrib/libc++/include/chrono head/contrib/libc++/include/cmath head/contrib/libc++/include/codecvt head/contrib/libc++/include/complex head/contrib/libc++/include/cstddef head/contrib/libc++/include/cstdio head/contrib/libc++/include/cstdlib head/contrib/libc++/include/cstring head/contrib/libc++/include/cwchar head/contrib/libc++/include/deque head/contrib/libc++/include/exception head/contrib/libc++/include/ext/__hash head/contrib/libc++/include/ext/hash_map head/contrib/libc++/include/ext/hash_set head/contrib/libc++/include/forward_list head/contrib/libc++/include/fstream head/contrib/libc++/include/functional head/contrib/libc++/include/future head/contrib/libc++/include/initializer_list head/contrib/libc++/include/iomanip head/contrib/libc++/include/ios head/contrib/libc++/include/iosfwd head/contrib/libc++/include/istream head/contrib/libc++/include/iterator head/contrib/libc++/include/limits head/contrib/libc++/include/list head/contrib/libc++/include/locale head/contrib/libc++/include/map head/contrib/libc++/include/memory head/contrib/libc++/include/mutex head/contrib/libc++/include/new head/contrib/libc++/include/numeric head/contrib/libc++/include/ostream head/contrib/libc++/include/queue head/contrib/libc++/include/random head/contrib/libc++/include/ratio head/contrib/libc++/include/regex head/contrib/libc++/include/scoped_allocator head/contrib/libc++/include/set head/contrib/libc++/include/sstream head/contrib/libc++/include/stack head/contrib/libc++/include/streambuf head/contrib/libc++/include/string head/contrib/libc++/include/system_error head/contrib/libc++/include/thread head/contrib/libc++/include/tuple head/contrib/libc++/include/type_traits head/contrib/libc++/include/typeindex head/contrib/libc++/include/unordered_map head/contrib/libc++/include/unordered_set head/contrib/libc++/include/utility head/contrib/libc++/include/valarray head/contrib/libc++/include/vector head/contrib/libc++/src/algorithm.cpp head/contrib/libc++/src/debug.cpp head/contrib/libc++/src/exception.cpp head/contrib/libc++/src/future.cpp head/contrib/libc++/src/ios.cpp head/contrib/libc++/src/iostream.cpp head/contrib/libc++/src/locale.cpp head/contrib/libc++/src/mutex.cpp head/contrib/libc++/src/new.cpp head/contrib/libc++/src/random.cpp head/contrib/libc++/src/stdexcept.cpp head/contrib/libc++/src/string.cpp head/contrib/libc++/src/strstream.cpp head/contrib/libc++/src/system_error.cpp head/contrib/libc++/src/thread.cpp head/contrib/libc++/src/typeinfo.cpp head/contrib/libc++/src/valarray.cpp head/etc/mtree/BSD.include.dist head/lib/libc++/Makefile head/sys/sys/param.h head/tools/build/mk/OptionalObsoleteFiles.inc Directory Properties: head/contrib/libc++/ (props changed) Modified: head/contrib/libc++/CREDITS.TXT ============================================================================== --- head/contrib/libc++/CREDITS.TXT Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/CREDITS.TXT Thu Jan 30 07:44:22 2014 (r261283) @@ -31,6 +31,14 @@ D: FreeBSD and Solaris ports, libcxxrt s N: Marshall Clow E: mclow.lists@gmail.com E: marshall@idio.com +D: C++14 support, patches and bug fixes. + +N: Bill Fisher +E: william.w.fisher@gmail.com +D: Regex bug fixes. + +N: Matthew Dempsky +E: matthew@dempsky.org D: Minor patches and bug fixes. N: Google Inc. @@ -48,6 +56,10 @@ N: Argyrios Kyrtzidis E: kyrtzidis@apple.com D: Bug fixes. +N: Bruce Mitchener, Jr. +E: bruce.mitchener@gmail.com +D: Emscripten-related changes. + N: Michel Morin E: mimomorin@gmail.com D: Minor patches to is_convertible. @@ -64,6 +76,10 @@ N: Bjorn Reese E: breese@users.sourceforge.net D: Initial regex prototype +N: Nico Rieck +E: nico.rieck@gmail.com +D: Windows fixes + N: Jonathan Sauer D: Minor patches, mostly related to constexpr @@ -74,6 +90,14 @@ D: Implemented Cityhash as the string ha N: Richard Smith D: Minor patches. +N: Joerg Sonnenberger +E: joerg@NetBSD.org +D: NetBSD port. + +N: Stephan Tolksdorf +E: st@quanttec.com +D: Minor fix + N: Michael van der Westhuizen E: r1mikey at gmail dot com @@ -85,11 +109,15 @@ N: Zhang Xiongpang E: zhangxiongpang@gmail.com D: Minor patches and bug fixes. +N: Xing Xue +E: xingxue@ca.ibm.com +D: AIX port + +N: Zhihao Yuan +E: lichray@gmail.com +D: Standard compatibility fixes. + N: Jeffrey Yasskin E: jyasskin@gmail.com E: jyasskin@google.com D: Linux fixes. - -N: Bruce Mitchener, Jr. -E: bruce.mitchener@gmail.com -D: Emscripten-related changes. Modified: head/contrib/libc++/include/__bit_reference ============================================================================== --- head/contrib/libc++/include/__bit_reference Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__bit_reference Thu Jan 30 07:44:22 2014 (r261283) @@ -40,7 +40,7 @@ class __bit_reference __storage_pointer __seg_; __storage_type __mask_; -#if defined(__clang__) +#if defined(__clang__) || defined(__IBMCPP__) || defined(_LIBCPP_MSVC) friend typename _Cp::__self; #else friend class _Cp::__self; @@ -82,7 +82,7 @@ class __bit_reference<_Cp, false> }; template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY void swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT { @@ -92,7 +92,7 @@ swap(__bit_reference<_Cp> __x, __bit_ref } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY void swap(__bit_reference<_Cp> __x, __bit_reference<_Dp> __y) _NOEXCEPT { @@ -102,7 +102,7 @@ swap(__bit_reference<_Cp> __x, __bit_ref } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY void swap(__bit_reference<_Cp> __x, bool& __y) _NOEXCEPT { @@ -112,7 +112,7 @@ swap(__bit_reference<_Cp> __x, bool& __y } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY void swap(bool& __x, __bit_reference<_Cp> __y) _NOEXCEPT { @@ -130,7 +130,7 @@ class __bit_const_reference __storage_pointer __seg_; __storage_type __mask_; -#if defined(__clang__) +#if defined(__clang__) || defined(__IBMCPP__) || defined(_LIBCPP_MSVC) friend typename _Cp::__self; #else friend class _Cp::__self; @@ -173,6 +173,8 @@ __find_bool_true(__bit_iterator<_Cp, _Is __storage_type __b = *__first.__seg_ & __m; if (__b) return _It(__first.__seg_, static_cast(_VSTD::__ctz(__b))); + if (__n == __dn) + return _It(__first.__seg_, __first.__ctz_ + __n); __n -= __dn; ++__first.__seg_; } @@ -207,6 +209,8 @@ __find_bool_false(__bit_iterator<_Cp, _I __storage_type __b = ~*__first.__seg_ & __m; if (__b) return _It(__first.__seg_, static_cast(_VSTD::__ctz(__b))); + if (__n == __dn) + return _It(__first.__seg_, __first.__ctz_ + __n); __n -= __dn; ++__first.__seg_; } @@ -375,7 +379,7 @@ __fill_n_true(__bit_iterator<_Cp, false> } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY void fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __value_) { @@ -1104,7 +1108,11 @@ private: unsigned __ctz_; public: - _LIBCPP_INLINE_VISIBILITY __bit_iterator() _NOEXCEPT {} + _LIBCPP_INLINE_VISIBILITY __bit_iterator() _NOEXCEPT +#if _LIBCPP_STD_VER > 11 + : __seg_(nullptr), __ctz_(0) +#endif + {} _LIBCPP_INLINE_VISIBILITY __bit_iterator(const __bit_iterator<_Cp, false>& __it) _NOEXCEPT @@ -1214,7 +1222,7 @@ private: __bit_iterator(__storage_pointer __s, unsigned __ctz) _NOEXCEPT : __seg_(__s), __ctz_(__ctz) {} -#if defined(__clang__) +#if defined(__clang__) || defined(__IBMCPP__) || defined(_LIBCPP_MSVC) friend typename _Cp::__self; #else friend class _Cp::__self; Modified: head/contrib/libc++/include/__config ============================================================================== --- head/contrib/libc++/include/__config Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__config Thu Jan 30 07:44:22 2014 (r261283) @@ -11,7 +11,7 @@ #ifndef _LIBCPP_CONFIG #define _LIBCPP_CONFIG -#ifndef _MSC_VER // explicit macro necessary because it is only defined below in this file +#if !defined(_MSC_VER) || defined(__clang__) #pragma GCC system_header #endif @@ -72,15 +72,26 @@ # define _LIBCPP_LITTLE_ENDIAN 1 # define _LIBCPP_BIG_ENDIAN 0 // Compiler intrinsics (GCC or MSVC) -# if (defined(_MSC_VER) && _MSC_VER >= 1400) \ +# if defined(__clang__) \ + || (defined(_MSC_VER) && _MSC_VER >= 1400) \ || (defined(__GNUC__) && _GNUC_VER > 403) -# define _LIBCP_HAS_IS_BASE_OF +# define _LIBCPP_HAS_IS_BASE_OF +# endif +# if defined(_MSC_VER) && !defined(__clang__) +# define _LIBCPP_MSVC // Using Microsoft Visual C++ compiler +# define _LIBCPP_TOSTRING2(x) #x +# define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x) +# define _LIBCPP_WARNING(x) __pragma(message(__FILE__ "(" _LIBCPP_TOSTRING(__LINE__) ") : warning note: " x)) +# endif +# // If mingw not explicitly detected, assume using MS C runtime only. +# ifndef __MINGW32__ +# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library # endif #endif // _WIN32 #ifdef __linux__ # if defined(__GNUC__) && _GNUC_VER >= 403 -# define _LIBCP_HAS_IS_BASE_OF +# define _LIBCPP_HAS_IS_BASE_OF # endif #endif @@ -127,8 +138,11 @@ # define _LIBCPP_TYPE_VIS #endif +#define _LIBCPP_TYPE_VIS_ONLY +#define _LIBCPP_FUNC_VIS_ONLY + #ifndef _LIBCPP_INLINE_VISIBILITY -# ifdef _MSC_VER +# ifdef _LIBCPP_MSVC # define _LIBCPP_INLINE_VISIBILITY __forceinline # else // MinGW GCC and Clang # define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__always_inline__)) @@ -140,7 +154,7 @@ #endif #ifndef _LIBCPP_ALWAYS_INLINE -# ifdef _MSC_VER +# ifdef _LIBCPP_MSVC # define _LIBCPP_ALWAYS_INLINE __forceinline # endif #endif @@ -160,13 +174,21 @@ #endif #ifndef _LIBCPP_TYPE_VIS -# if __has_attribute(type_visibility) +# if __has_attribute(__type_visibility__) # define _LIBCPP_TYPE_VIS __attribute__ ((__type_visibility__("default"))) # else # define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default"))) # endif #endif +#ifndef _LIBCPP_TYPE_VIS_ONLY +# define _LIBCPP_TYPE_VIS_ONLY _LIBCPP_TYPE_VIS +#endif + +#ifndef _LIBCPP_FUNC_VIS_ONLY +# define _LIBCPP_FUNC_VIS_ONLY _LIBCPP_FUNC_VIS +#endif + #ifndef _LIBCPP_INLINE_VISIBILITY #define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__)) #endif @@ -175,10 +197,6 @@ #define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS #endif -#ifndef _LIBCPP_CANTTHROW -#define _LIBCPP_CANTTHROW __attribute__ ((__nothrow__)) -#endif - #ifndef _LIBCPP_ALWAYS_INLINE #define _LIBCPP_ALWAYS_INLINE __attribute__ ((__visibility__("hidden"), __always_inline__)) #endif @@ -273,7 +291,7 @@ typedef __char32_t char32_t; #endif #if __has_feature(is_base_of) -# define _LIBCP_HAS_IS_BASE_OF +# define _LIBCPP_HAS_IS_BASE_OF #endif // Objective-C++ features (opt-in) @@ -396,13 +414,14 @@ namespace _LIBCPP_NAMESPACE { using namespace _LIBCPP_NAMESPACE __attribute__((__strong__)); } -#elif defined(_MSC_VER) +#elif defined(_LIBCPP_MSVC) #define _LIBCPP_HAS_NO_TEMPLATE_ALIASES #define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER #define _LIBCPP_HAS_NO_CONSTEXPR #define _LIBCPP_HAS_NO_UNICODE_CHARS #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS +#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS #define __alignof__ __alignof #define _LIBCPP_NORETURN __declspec(noreturn) #define _ALIGNAS(x) __declspec(align(x)) @@ -415,10 +434,43 @@ using namespace _LIBCPP_NAMESPACE __attr #define _LIBCPP_END_NAMESPACE_STD } #define _VSTD std +# define _LIBCPP_WEAK +namespace std { +} + +#elif defined(__IBMCPP__) + +#define _ALIGNAS(x) __attribute__((__aligned__(x))) +#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x)))) +#define _ATTRIBUTE(x) __attribute__((x)) +#define _LIBCPP_NORETURN __attribute__((noreturn)) + +#define _NOEXCEPT throw() +#define _NOEXCEPT_(x) + +#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES +#define _LIBCPP_HAS_NO_ADVANCED_SFINAE +#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS +#define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS +#define _LIBCPP_HAS_NO_NULLPTR +#define _LIBCPP_HAS_NO_UNICODE_CHARS +#define _LIBCPP_HAS_NO_STRONG_ENUMS +#define _LIBCPP_HAS_IS_BASE_OF + +#if defined(_AIX) +#define __MULTILOCALE_API +#endif + +#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE { +#define _LIBCPP_END_NAMESPACE_STD } } +#define _VSTD std::_LIBCPP_NAMESPACE + namespace std { + inline namespace _LIBCPP_NAMESPACE { + } } -#endif // __clang__ || __GNUC___ || _MSC_VER +#endif // __clang__ || __GNUC___ || _MSC_VER || __IBMCPP__ #ifdef _LIBCPP_HAS_NO_UNICODE_CHARS typedef unsigned short char16_t; @@ -481,8 +533,23 @@ template struct __static_asse #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) #endif // _LIBCPP_HAS_NO_STRONG_ENUMS +#ifdef _LIBCPP_DEBUG +# if _LIBCPP_DEBUG == 0 +# define _LIBCPP_DEBUG_LEVEL 1 +# elif _LIBCPP_DEBUG == 1 +# define _LIBCPP_DEBUG_LEVEL 2 +# else +# error Supported values for _LIBCPP_DEBUG are 0 and 1 +# endif +# define _LIBCPP_EXTERN_TEMPLATE(...) +#endif + #ifndef _LIBCPP_EXTERN_TEMPLATE -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; +#define _LIBCPP_EXTERN_TEMPLATE(...) +#endif + +#ifndef _LIBCPP_EXTERN_TEMPLATE2 +#define _LIBCPP_EXTERN_TEMPLATE2(...) extern template __VA_ARGS__; #endif #if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__sun__) || defined(__NetBSD__) @@ -500,14 +567,14 @@ template struct __static_asse #define _LIBCPP_WCTYPE_IS_MASK #endif -#ifdef _LIBCPP_DEBUG2 -# if _LIBCPP_DEBUG2 == 0 -# define _LIBCPP_DEBUG_LEVEL 1 -# elif _LIBCPP_DEBUG2 == 1 -# define _LIBCPP_DEBUG_LEVEL 2 -# else -# error Supported values for _LIBCPP_DEBUG2 are 0 and 1 -# endif +#if defined(__APPLE__) +#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR +# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 0 +#endif +#endif + +#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR +# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1 #endif #ifndef _LIBCPP_STD_VER @@ -518,10 +585,36 @@ template struct __static_asse # endif #endif // _LIBCPP_STD_VER -#ifdef _LIBCPP_DEBUG2 -# include <__debug> +#if _LIBCPP_STD_VER > 11 +#define _LIBCPP_DEPRECATED [[deprecated]] #else -# define _LIBCPP_ASSERT(x, m) ((void)0) +#define _LIBCPP_DEPRECATED +#endif + +#if _LIBCPP_STD_VER <= 11 +#define _LIBCPP_CONSTEXPR_AFTER_CXX11 +#define _LIBCPP_EXPLICIT_AFTER_CXX11 +#define _LIBCPP_DEPRECATED_AFTER_CXX11 +#else +#define _LIBCPP_CONSTEXPR_AFTER_CXX11 constexpr +#define _LIBCPP_EXPLICIT_AFTER_CXX11 explicit +#define _LIBCPP_DEPRECATED_AFTER_CXX11 [[deprecated]] +#endif + +// Try to find out if RTTI is disabled. +// g++ and cl.exe have RTTI on by default and define a macro when it is. +// g++ only defines the macro in 4.3.2 and onwards. +#if !defined(_LIBCPP_NO_RTTI) +# if defined(__GNUG__) && (__GNUC__ >= 4 && \ + (__GNUC_MINOR__ >= 3 || __GNUC_PATCHLEVEL__ >= 2)) && !defined(__GXX_RTTI) +# define _LIBCPP_NO_RTTI +# elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI) +# define _LIBCPP_NO_RTTI +# endif +#endif + +#ifndef _LIBCPP_WEAK +# define _LIBCPP_WEAK __attribute__((__weak__)) #endif #endif // _LIBCPP_CONFIG Modified: head/contrib/libc++/include/__debug ============================================================================== --- head/contrib/libc++/include/__debug Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__debug Thu Jan 30 07:44:22 2014 (r261283) @@ -11,6 +11,10 @@ #ifndef _LIBCPP_DEBUG_H #define _LIBCPP_DEBUG_H +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +#pragma GCC system_header +#endif + #if _LIBCPP_DEBUG_LEVEL >= 1 # include @@ -34,8 +38,15 @@ struct _LIBCPP_TYPE_VIS __i_node __i_node* __next_; __c_node* __c_; +#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS __i_node(const __i_node&) = delete; __i_node& operator=(const __i_node&) = delete; +#else +private: + __i_node(const __i_node&); + __i_node& operator=(const __i_node&); +public: +#endif _LIBCPP_INLINE_VISIBILITY __i_node(void* __i, __i_node* __next, __c_node* __c) : __i_(__i), __next_(__next), __c_(__c) {} @@ -50,8 +61,15 @@ struct _LIBCPP_TYPE_VIS __c_node __i_node** end_; __i_node** cap_; +#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS __c_node(const __c_node&) = delete; __c_node& operator=(const __c_node&) = delete; +#else +private: + __c_node(const __c_node&); + __c_node& operator=(const __c_node&); +public: +#endif _LIBCPP_INLINE_VISIBILITY __c_node(void* __c, __c_node* __next) : __c_(__c), __next_(__next), beg_(nullptr), end_(nullptr), cap_(nullptr) {} @@ -130,8 +148,15 @@ class _LIBCPP_TYPE_VIS __libcpp_db __libcpp_db(); public: +#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS __libcpp_db(const __libcpp_db&) = delete; __libcpp_db& operator=(const __libcpp_db&) = delete; +#else +private: + __libcpp_db(const __libcpp_db&); + __libcpp_db& operator=(const __libcpp_db&); +public: +#endif ~__libcpp_db(); class __db_c_iterator; @@ -171,7 +196,7 @@ public: bool __decrementable(const void* __i) const; bool __addable(const void* __i, ptrdiff_t __n) const; bool __subscriptable(const void* __i, ptrdiff_t __n) const; - bool __comparable(const void* __i, const void* __j) const; + bool __less_than_comparable(const void* __i, const void* __j) const; private: _LIBCPP_HIDDEN __i_node* __insert_iterator(void* __i); Modified: head/contrib/libc++/include/__functional_03 ============================================================================== --- head/contrib/libc++/include/__functional_03 Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__functional_03 Thu Jan 30 07:44:22 2014 (r261283) @@ -102,98 +102,98 @@ mem_fn(_Rp (_Tp::* __pm)(_A0, _A1, _A2)) template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)()> +__mem_fn<_Rp (_Tp::*)() const> mem_fn(_Rp (_Tp::* __pm)() const) { - return __mem_fn<_Rp (_Tp::*)()>(__pm); + return __mem_fn<_Rp (_Tp::*)() const>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0)> +__mem_fn<_Rp (_Tp::*)(_A0) const> mem_fn(_Rp (_Tp::* __pm)(_A0) const) { - return __mem_fn<_Rp (_Tp::*)(_A0)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0) const>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0, _A1)> +__mem_fn<_Rp (_Tp::*)(_A0, _A1) const> mem_fn(_Rp (_Tp::* __pm)(_A0, _A1) const) { - return __mem_fn<_Rp (_Tp::*)(_A0, _A1)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0, _A1) const>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2)> +__mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2) const> mem_fn(_Rp (_Tp::* __pm)(_A0, _A1, _A2) const) { - return __mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2) const>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)()> +__mem_fn<_Rp (_Tp::*)() volatile> mem_fn(_Rp (_Tp::* __pm)() volatile) { - return __mem_fn<_Rp (_Tp::*)()>(__pm); + return __mem_fn<_Rp (_Tp::*)() volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0)> +__mem_fn<_Rp (_Tp::*)(_A0) volatile> mem_fn(_Rp (_Tp::* __pm)(_A0) volatile) { - return __mem_fn<_Rp (_Tp::*)(_A0)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0) volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0, _A1)> +__mem_fn<_Rp (_Tp::*)(_A0, _A1) volatile> mem_fn(_Rp (_Tp::* __pm)(_A0, _A1) volatile) { - return __mem_fn<_Rp (_Tp::*)(_A0, _A1)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0, _A1) volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2)> +__mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2) volatile> mem_fn(_Rp (_Tp::* __pm)(_A0, _A1, _A2) volatile) { - return __mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2) volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)()> +__mem_fn<_Rp (_Tp::*)() const volatile> mem_fn(_Rp (_Tp::* __pm)() const volatile) { - return __mem_fn<_Rp (_Tp::*)()>(__pm); + return __mem_fn<_Rp (_Tp::*)() const volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0)> +__mem_fn<_Rp (_Tp::*)(_A0) const volatile> mem_fn(_Rp (_Tp::* __pm)(_A0) const volatile) { - return __mem_fn<_Rp (_Tp::*)(_A0)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0) const volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0, _A1)> +__mem_fn<_Rp (_Tp::*)(_A0, _A1) const volatile> mem_fn(_Rp (_Tp::* __pm)(_A0, _A1) const volatile) { - return __mem_fn<_Rp (_Tp::*)(_A0, _A1)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0, _A1) const volatile>(__pm); } template inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2)> +__mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2) const volatile> mem_fn(_Rp (_Tp::* __pm)(_A0, _A1, _A2) const volatile) { - return __mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2)>(__pm); + return __mem_fn<_Rp (_Tp::*)(_A0, _A1, _A2) const volatile>(__pm); } // bad_function_call @@ -203,7 +203,7 @@ class _LIBCPP_EXCEPTION_ABI bad_function { }; -template class _LIBCPP_TYPE_VIS function; // undefined +template class _LIBCPP_TYPE_VIS_ONLY function; // undefined namespace __function { @@ -644,7 +644,7 @@ __func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>: } // __function template -class _LIBCPP_TYPE_VIS function<_Rp()> +class _LIBCPP_TYPE_VIS_ONLY function<_Rp()> { typedef __function::__base<_Rp()> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -928,7 +928,7 @@ function<_Rp()>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS function<_Rp(_A0)> +class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_A0)> : public unary_function<_A0, _Rp> { typedef __function::__base<_Rp(_A0)> __base; @@ -1230,7 +1230,7 @@ function<_Rp(_A0)>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1)> +class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_A0, _A1)> : public binary_function<_A0, _A1, _Rp> { typedef __function::__base<_Rp(_A0, _A1)> __base; @@ -1532,7 +1532,7 @@ function<_Rp(_A0, _A1)>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1, _A2)> +class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_A0, _A1, _A2)> { typedef __function::__base<_Rp(_A0, _A1, _A2)> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -1860,11 +1860,11 @@ swap(function<_Fp>& __x, function<_Fp>& {return __x.swap(__y);} template struct __is_bind_expression : public false_type {}; -template struct _LIBCPP_TYPE_VIS is_bind_expression +template struct _LIBCPP_TYPE_VIS_ONLY is_bind_expression : public __is_bind_expression::type> {}; template struct __is_placeholder : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS is_placeholder +template struct _LIBCPP_TYPE_VIS_ONLY is_placeholder : public __is_placeholder::type> {}; namespace placeholders Modified: head/contrib/libc++/include/__functional_base ============================================================================== --- head/contrib/libc++/include/__functional_base Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__functional_base Thu Jan 30 07:44:22 2014 (r261283) @@ -15,6 +15,7 @@ #include #include #include +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header @@ -23,21 +24,21 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_TYPE_VIS unary_function +struct _LIBCPP_TYPE_VIS_ONLY unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template -struct _LIBCPP_TYPE_VIS binary_function +struct _LIBCPP_TYPE_VIS_ONLY binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; -template struct _LIBCPP_TYPE_VIS hash; +template struct _LIBCPP_TYPE_VIS_ONLY hash; template struct __has_result_type @@ -50,13 +51,80 @@ public: static const bool value = sizeof(__test<_Tp>(0)) == 1; }; +#if _LIBCPP_STD_VER > 11 +template +#else template -struct _LIBCPP_TYPE_VIS less : binary_function<_Tp, _Tp, bool> +#endif +struct _LIBCPP_TYPE_VIS_ONLY less : binary_function<_Tp, _Tp, bool> { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const + _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY + bool operator()(const _Tp& __x, const _Tp& __y) const {return __x < __y;} }; +#if _LIBCPP_STD_VER > 11 +template <> +struct _LIBCPP_TYPE_VIS_ONLY less +{ + template + _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY + auto operator()(_T1&& __t, _T2&& __u) const + { return _VSTD::forward<_T1>(__t) < _VSTD::forward<_T2>(__u); } + typedef void is_transparent; +}; +#endif + +// addressof + +template +inline _LIBCPP_INLINE_VISIBILITY +_Tp* +addressof(_Tp& __x) _NOEXCEPT +{ + return (_Tp*)&reinterpret_cast(__x); +} + +#if defined(_LIBCPP_HAS_OBJC_ARC) && !defined(_LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF) +// Objective-C++ Automatic Reference Counting uses qualified pointers +// that require special addressof() signatures. When +// _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF is defined, the compiler +// itself is providing these definitions. Otherwise, we provide them. +template +inline _LIBCPP_INLINE_VISIBILITY +__strong _Tp* +addressof(__strong _Tp& __x) _NOEXCEPT +{ + return &__x; +} + +#ifdef _LIBCPP_HAS_OBJC_ARC_WEAK +template +inline _LIBCPP_INLINE_VISIBILITY +__weak _Tp* +addressof(__weak _Tp& __x) _NOEXCEPT +{ + return &__x; +} +#endif + +template +inline _LIBCPP_INLINE_VISIBILITY +__autoreleasing _Tp* +addressof(__autoreleasing _Tp& __x) _NOEXCEPT +{ + return &__x; +} + +template +inline _LIBCPP_INLINE_VISIBILITY +__unsafe_unretained _Tp* +addressof(__unsafe_unretained _Tp& __x) _NOEXCEPT +{ + return &__x; +} +#endif + #ifdef _LIBCPP_HAS_NO_VARIADICS #include <__functional_base_03> @@ -352,7 +420,7 @@ struct __invoke_return }; template -class _LIBCPP_TYPE_VIS reference_wrapper +class _LIBCPP_TYPE_VIS_ONLY reference_wrapper : public __weak_result_type<_Tp> { public: @@ -363,7 +431,8 @@ private: public: // construct/copy/destroy - _LIBCPP_INLINE_VISIBILITY reference_wrapper(type& __f) _NOEXCEPT : __f_(&__f) {} + _LIBCPP_INLINE_VISIBILITY reference_wrapper(type& __f) _NOEXCEPT + : __f_(_VSTD::addressof(__f)) {} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES private: reference_wrapper(type&&); public: // = delete; // do not bind to temps #endif @@ -436,6 +505,111 @@ template void cref(const _Tp #endif // _LIBCPP_HAS_NO_VARIADICS +#if _LIBCPP_STD_VER > 11 +template +struct __is_transparent +{ +private: + struct __two {char __lx; char __lxx;}; + template static __two __test(...); + template static char __test(typename _Up::is_transparent* = 0); +public: + static const bool value = sizeof(__test<_Tp1>(0)) == 1; +}; +#endif + +// allocator_arg_t + +struct _LIBCPP_TYPE_VIS_ONLY allocator_arg_t { }; + +#if defined(_LIBCPP_HAS_NO_CONSTEXPR) || defined(_LIBCPP_BUILDING_MEMORY) +extern const allocator_arg_t allocator_arg; +#else +constexpr allocator_arg_t allocator_arg = allocator_arg_t(); +#endif + +// uses_allocator + +template +struct __has_allocator_type +{ +private: + struct __two {char __lx; char __lxx;}; + template static __two __test(...); + template static char __test(typename _Up::allocator_type* = 0); +public: + static const bool value = sizeof(__test<_Tp>(0)) == 1; +}; + +template ::value> +struct __uses_allocator + : public integral_constant::value> +{ +}; + +template +struct __uses_allocator<_Tp, _Alloc, false> + : public false_type +{ +}; + +template +struct _LIBCPP_TYPE_VIS_ONLY uses_allocator + : public __uses_allocator<_Tp, _Alloc> +{ +}; + +#ifndef _LIBCPP_HAS_NO_VARIADICS + +// allocator construction + +template +struct __uses_alloc_ctor_imp +{ + static const bool __ua = uses_allocator<_Tp, _Alloc>::value; + static const bool __ic = + is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value; + static const int value = __ua ? 2 - __ic : 0; +}; + +template +struct __uses_alloc_ctor + : integral_constant::value> + {}; + +template +inline _LIBCPP_INLINE_VISIBILITY +void __user_alloc_construct_impl (integral_constant, _Tp *__storage, const _Allocator &, _Args &&... __args ) +{ + new (__storage) _Tp (_VSTD::forward<_Args>(__args)...); +} + +template +inline _LIBCPP_INLINE_VISIBILITY +void __user_alloc_construct_impl (integral_constant, _Tp *__storage, const _Allocator &__a, _Args &&... __args ) +{ + new (__storage) _Tp (allocator_arg, __a, _VSTD::forward<_Args>(__args)...); +} + +template +inline _LIBCPP_INLINE_VISIBILITY +void __user_alloc_construct_impl (integral_constant, _Tp *__storage, const _Allocator &__a, _Args &&... __args ) +{ + new (__storage) _Tp (_VSTD::forward<_Args>(__args)..., __a); +} + +template +inline _LIBCPP_INLINE_VISIBILITY +void __user_alloc_construct (_Tp *__storage, const _Allocator &__a, _Args &&... __args) +{ + __user_alloc_construct_impl( + __uses_alloc_ctor<_Tp, _Allocator>(), + __storage, __a, _VSTD::forward<_Args>(__args)... + ); +} +#endif // _LIBCPP_HAS_NO_VARIADICS + _LIBCPP_END_NAMESPACE_STD #endif // _LIBCPP_FUNCTIONAL_BASE Modified: head/contrib/libc++/include/__functional_base_03 ============================================================================== --- head/contrib/libc++/include/__functional_base_03 Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__functional_base_03 Thu Jan 30 07:44:22 2014 (r261283) @@ -996,7 +996,7 @@ struct __invoke_return2 }; template -class _LIBCPP_TYPE_VIS reference_wrapper +class _LIBCPP_TYPE_VIS_ONLY reference_wrapper : public __weak_result_type<_Tp> { public: Modified: head/contrib/libc++/include/__hash_table ============================================================================== --- head/contrib/libc++/include/__hash_table Thu Jan 30 05:38:14 2014 (r261282) +++ head/contrib/libc++/include/__hash_table Thu Jan 30 07:44:22 2014 (r261283) @@ -20,6 +20,12 @@ #include <__undef_min_max> +#ifdef _LIBCPP_DEBUG +# include <__debug> +#else +# define _LIBCPP_ASSERT(x, m) ((void)0) +#endif + #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif @@ -79,14 +85,14 @@ __next_pow2(size_t __n) } template class __hash_table; -template class _LIBCPP_TYPE_VIS __hash_const_iterator; -template class _LIBCPP_TYPE_VIS __hash_map_iterator; -template class _LIBCPP_TYPE_VIS __hash_map_const_iterator; +template class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; +template class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator; +template class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; template - class _LIBCPP_TYPE_VIS unordered_map; + class _LIBCPP_TYPE_VIS_ONLY unordered_map; template -class _LIBCPP_TYPE_VIS __hash_iterator +class _LIBCPP_TYPE_VIS_ONLY __hash_iterator { typedef _NodePtr __node_pointer; @@ -105,16 +111,70 @@ public: #endif pointer; - _LIBCPP_INLINE_VISIBILITY __hash_iterator() _NOEXCEPT {} + _LIBCPP_INLINE_VISIBILITY __hash_iterator() _NOEXCEPT +#if _LIBCPP_STD_VER > 11 + : __node_(nullptr) +#endif + { +#if _LIBCPP_DEBUG_LEVEL >= 2 + __get_db()->__insert_i(this); +#endif + } + +#if _LIBCPP_DEBUG_LEVEL >= 2 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 08:37:24 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8FA5CCBF; Thu, 30 Jan 2014 08:37:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7C74F11B0; Thu, 30 Jan 2014 08:37:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0U8bOsh036381; Thu, 30 Jan 2014 08:37:24 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0U8bNAL036377; Thu, 30 Jan 2014 08:37:23 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201401300837.s0U8bNAL036377@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Thu, 30 Jan 2014 08:37:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261284 - head/lib/libfetch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 08:37:24 -0000 Author: des Date: Thu Jan 30 08:37:23 2014 New Revision: 261284 URL: http://svnweb.freebsd.org/changeset/base/261284 Log: Bump copyright dates Modified: head/lib/libfetch/common.c head/lib/libfetch/common.h head/lib/libfetch/http.c Modified: head/lib/libfetch/common.c ============================================================================== --- head/lib/libfetch/common.c Thu Jan 30 07:44:22 2014 (r261283) +++ head/lib/libfetch/common.c Thu Jan 30 08:37:23 2014 (r261284) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1998-2011 Dag-Erling Smørgrav + * Copyright (c) 1998-2014 Dag-Erling Smørgrav * Copyright (c) 2013 Michael Gmelin * All rights reserved. * Modified: head/lib/libfetch/common.h ============================================================================== --- head/lib/libfetch/common.h Thu Jan 30 07:44:22 2014 (r261283) +++ head/lib/libfetch/common.h Thu Jan 30 08:37:23 2014 (r261284) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1998-2011 Dag-Erling Smørgrav + * Copyright (c) 1998-2014 Dag-Erling Smørgrav * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: head/lib/libfetch/http.c ============================================================================== --- head/lib/libfetch/http.c Thu Jan 30 07:44:22 2014 (r261283) +++ head/lib/libfetch/http.c Thu Jan 30 08:37:23 2014 (r261284) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2000-2013 Dag-Erling Smørgrav + * Copyright (c) 2000-2014 Dag-Erling Smørgrav * All rights reserved. * * Redistribution and use in source and binary forms, with or without From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 18:04:41 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 109F7F51; Thu, 30 Jan 2014 18:04:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F00C415B9; Thu, 30 Jan 2014 18:04:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0UI4eY9062632; Thu, 30 Jan 2014 18:04:40 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0UI4dI0062625; Thu, 30 Jan 2014 18:04:39 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201401301804.s0UI4dI0062625@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 30 Jan 2014 18:04:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261290 - in head: lib/libc/gen lib/libc/sys sys/compat/freebsd32 sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 18:04:41 -0000 Author: kib Date: Thu Jan 30 18:04:39 2014 New Revision: 261290 URL: http://svnweb.freebsd.org/changeset/base/261290 Log: The posix_madvise(3) and posix_fadvise(2) should return error on failure, same as posix_fallocate(2). Noted by: Bob Bishop Discussed with: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/lib/libc/gen/pmadvise.c head/lib/libc/sys/madvise.2 head/lib/libc/sys/posix_fadvise.2 head/lib/libc/sys/posix_fallocate.2 head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/vfs_syscalls.c Modified: head/lib/libc/gen/pmadvise.c ============================================================================== --- head/lib/libc/gen/pmadvise.c Thu Jan 30 11:35:19 2014 (r261289) +++ head/lib/libc/gen/pmadvise.c Thu Jan 30 18:04:39 2014 (r261290) @@ -8,9 +8,19 @@ __FBSDID("$FreeBSD$"); #include +#include int posix_madvise(void *address, size_t size, int how) { - return madvise(address, size, how); + int ret, saved_errno; + + saved_errno = errno; + if (madvise(address, size, how) == -1) { + ret = errno; + errno = saved_errno; + } else { + ret = 0; + } + return (ret); } Modified: head/lib/libc/sys/madvise.2 ============================================================================== --- head/lib/libc/sys/madvise.2 Thu Jan 30 11:35:19 2014 (r261289) +++ head/lib/libc/sys/madvise.2 Thu Jan 30 18:04:39 2014 (r261290) @@ -28,7 +28,7 @@ .\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" -.Dd July 19, 1996 +.Dd January 30, 2014 .Dt MADVISE 2 .Os .Sh NAME @@ -50,7 +50,10 @@ allows a process that has knowledge of i to describe it to the system. The .Fn posix_madvise -interface is identical and is provided for standards conformance. +interface is identical, except it returns an error number on error and does +not modify +.Va errno , +and is provided for standards conformance. .Pp The known behaviors are: .Bl -tag -width MADV_SEQUENTIAL Modified: head/lib/libc/sys/posix_fadvise.2 ============================================================================== --- head/lib/libc/sys/posix_fadvise.2 Thu Jan 30 11:35:19 2014 (r261289) +++ head/lib/libc/sys/posix_fadvise.2 Thu Jan 30 18:04:39 2014 (r261290) @@ -28,7 +28,7 @@ .\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" -.Dd June 19, 2012 +.Dd January 30, 2014 .Dt POSIX_FADVISE 2 .Os .Sh NAME @@ -93,7 +93,7 @@ Future access to this data may require a .Sh ERRORS The .Fn posix_fadvise -system call will fail if: +system call returns zero on success, and an error on failure: .Bl -tag -width Er .It Bq Er EBADF The Modified: head/lib/libc/sys/posix_fallocate.2 ============================================================================== --- head/lib/libc/sys/posix_fallocate.2 Thu Jan 30 11:35:19 2014 (r261289) +++ head/lib/libc/sys/posix_fallocate.2 Thu Jan 30 18:04:39 2014 (r261290) @@ -83,9 +83,8 @@ that reduces the file size to a size sma If successful, .Fn posix_fallocate returns zero. -It returns error number on failure, without setting -.Va errno -variable. +It returns an error on failure, without setting +.Va errno . .Sh ERRORS Possible failure conditions: .Bl -tag -width Er Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Thu Jan 30 11:35:19 2014 (r261289) +++ head/sys/compat/freebsd32/freebsd32_misc.c Thu Jan 30 18:04:39 2014 (r261290) @@ -3005,8 +3005,10 @@ freebsd32_posix_fadvise(struct thread *t struct freebsd32_posix_fadvise_args *uap) { - return (kern_posix_fadvise(td, uap->fd, PAIR32TO64(off_t, uap->offset), - PAIR32TO64(off_t, uap->len), uap->advice)); + td->td_retval[0] = kern_posix_fadvise(td, uap->fd, + PAIR32TO64(off_t, uap->offset), PAIR32TO64(off_t, uap->len), + uap->advice); + return (0); } int Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Thu Jan 30 11:35:19 2014 (r261289) +++ head/sys/kern/vfs_syscalls.c Thu Jan 30 18:04:39 2014 (r261290) @@ -4725,6 +4725,7 @@ int sys_posix_fadvise(struct thread *td, struct posix_fadvise_args *uap) { - return (kern_posix_fadvise(td, uap->fd, uap->offset, uap->len, - uap->advice)); + td->td_retval[0] = kern_posix_fadvise(td, uap->fd, uap->offset, + uap->len, uap->advice); + return (0); } From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 18:32:34 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 266CF94C; Thu, 30 Jan 2014 18:32:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 12DBD1859; Thu, 30 Jan 2014 18:32:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0UIWXlb074553; Thu, 30 Jan 2014 18:32:33 GMT (envelope-from gnn@svn.freebsd.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0UIWXVQ074552; Thu, 30 Jan 2014 18:32:33 GMT (envelope-from gnn@svn.freebsd.org) Message-Id: <201401301832.s0UIWXVQ074552@svn.freebsd.org> From: "George V. Neville-Neil" Date: Thu, 30 Jan 2014 18:32:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261291 - head/sys/dev/e1000 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 18:32:34 -0000 Author: gnn Date: Thu Jan 30 18:32:33 2014 New Revision: 261291 URL: http://svnweb.freebsd.org/changeset/base/261291 Log: The timestamp bit is number 17, and not number 9, in the stat error field of the receive descriptor. MFC after: 1 week Modified: head/sys/dev/e1000/e1000_defines.h Modified: head/sys/dev/e1000/e1000_defines.h ============================================================================== --- head/sys/dev/e1000/e1000_defines.h Thu Jan 30 18:04:39 2014 (r261290) +++ head/sys/dev/e1000/e1000_defines.h Thu Jan 30 18:32:33 2014 (r261291) @@ -131,7 +131,7 @@ #define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */ #define E1000_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ -#define E1000_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ +#define E1000_RXDEXT_STATERR_TST 0x00010000 /* Time Stamp taken */ #define E1000_RXDEXT_STATERR_LB 0x00040000 #define E1000_RXDEXT_STATERR_CE 0x01000000 #define E1000_RXDEXT_STATERR_SE 0x02000000 From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 20:39:56 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DA5B5F7F; Thu, 30 Jan 2014 20:39:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C66391301; Thu, 30 Jan 2014 20:39:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0UKdu2t022550; Thu, 30 Jan 2014 20:39:56 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0UKdubM022549; Thu, 30 Jan 2014 20:39:56 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302039.s0UKdubM022549@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 20:39:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261294 - head/sys/mips/mips X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 20:39:56 -0000 Author: brooks Date: Thu Jan 30 20:39:56 2014 New Revision: 261294 URL: http://svnweb.freebsd.org/changeset/base/261294 Log: Remove an unneeded space in the BERI merge. Modified: head/sys/mips/mips/machdep.c Modified: head/sys/mips/mips/machdep.c ============================================================================== --- head/sys/mips/mips/machdep.c Thu Jan 30 19:13:14 2014 (r261293) +++ head/sys/mips/mips/machdep.c Thu Jan 30 20:39:56 2014 (r261294) @@ -351,7 +351,7 @@ mips_vector_init(void) * XXXRW: Why don't we install the XTLB handler for all 64-bit * architectures? */ -#if defined(__mips_n64) || defined(CPU_RMI) || defined(CPU_NLM) || defined (CPU_BERI) +#if defined(__mips_n64) || defined(CPU_RMI) || defined(CPU_NLM) || defined(CPU_BERI) /* Fake, but sufficient, for the 32-bit with 64-bit hardware addresses */ bcopy(MipsTLBMiss, (void *)MIPS_XTLB_MISS_EXC_VEC, MipsTLBMissEnd - MipsTLBMiss); From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 20:54:57 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 422B9570; Thu, 30 Jan 2014 20:54:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2E53314A3; Thu, 30 Jan 2014 20:54:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0UKsvD8029523; Thu, 30 Jan 2014 20:54:57 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0UKsvwI029522; Thu, 30 Jan 2014 20:54:57 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302054.s0UKsvwI029522@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 20:54:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261295 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 20:54:57 -0000 Author: brooks Date: Thu Jan 30 20:54:56 2014 New Revision: 261295 URL: http://svnweb.freebsd.org/changeset/base/261295 Log: Revert outdated info related to WITH_LIBCPLUSPLUS that was included in r261072. src.conf.5 now matches makeman's output. Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Thu Jan 30 20:39:56 2014 (r261294) +++ head/share/man/man5/src.conf.5 Thu Jan 30 20:54:56 2014 (r261295) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 255964 2013-10-01 07:22:04Z des .\" $FreeBSD$ -.Dd January 21, 2014 +.Dd January 30, 2014 .Dt SRC.CONF 5 .Os .Sh NAME @@ -618,9 +618,9 @@ and On amd64, set to not build 32-bit library set and a .Nm ld-elf32.so.1 runtime linker. -.It Va WITH_LIBCPLUSPLUS -.\" from FreeBSD: head/tools/build/options/WITH_LIBCPLUSPLUS 228082 2011-11-28 17:56:46Z dim -Set to build libcxxrt and libc++. +.It Va WITHOUT_LIBCPLUSPLUS +.\" from FreeBSD: head/tools/build/options/WITHOUT_LIBCPLUSPLUS 246262 2013-02-02 22:42:46Z dim +Set to avoid building libcxxrt and libc++. .It Va WITHOUT_LIBPTHREAD .\" from FreeBSD: head/tools/build/options/WITHOUT_LIBPTHREAD 188848 2009-02-20 11:09:55Z mtm Set to not build the From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:08:39 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 835D8B54; Thu, 30 Jan 2014 21:08:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6D03215AC; Thu, 30 Jan 2014 21:08:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0UL8dVD034390; Thu, 30 Jan 2014 21:08:39 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0UL8bZ7034376; Thu, 30 Jan 2014 21:08:37 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302108.s0UL8bZ7034376@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:08:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261296 - in head: gnu/usr.bin/dialog lib/ncurses share/mk usr.bin/systat usr.bin/vi usr.sbin/bsdinstall/distextract usr.sbin/bsdinstall/distfetch usr.sbin/bsdinstall/partedit usr.sbin/... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:08:39 -0000 Author: brooks Date: Thu Jan 30 21:08:36 2014 New Revision: 261296 URL: http://svnweb.freebsd.org/changeset/base/261296 Log: Merge from CheriBSD: commit c1acf022c533c5ae27e0cd556977eafe3f5959eb Author: Brooks Davis Date: Fri Jan 17 21:46:44 2014 +0000 Add an option WITHOUT_NCURSESW to suppress building and linking to libncursesw. While wide character support it useful we'd like to only need one ncurses library on embedded systems. MFC after: 4 weeks Sponsored by: DARPA, AFRL Modified: head/gnu/usr.bin/dialog/Makefile head/lib/ncurses/Makefile head/share/mk/bsd.own.mk head/usr.bin/systat/Makefile head/usr.bin/systat/main.c head/usr.bin/vi/Makefile head/usr.sbin/bsdinstall/distextract/Makefile head/usr.sbin/bsdinstall/distfetch/Makefile head/usr.sbin/bsdinstall/partedit/Makefile head/usr.sbin/tzsetup/Makefile Modified: head/gnu/usr.bin/dialog/Makefile ============================================================================== --- head/gnu/usr.bin/dialog/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/gnu/usr.bin/dialog/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -3,11 +3,21 @@ DIALOG= ${.CURDIR}/../../../contrib/dialog PROG= dialog -DPADD= ${LIBDIALOG} ${LIBNCURSESW} ${LIBM} -LDADD= -ldialog -lncursesw -lm +DPADD= ${LIBDIALOG} ${LIBM} +LDADD= -ldialog -lm CFLAGS+= -I${.CURDIR} -I${DIALOG} .PATH: ${DIALOG} WARNS?= 6 +.include + +.if ${MK_NCURSESW} == "no" +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses +.else +DPADD+= ${LIBNCURSESW} +LDADD+= -lncursesw +.endif + .include Modified: head/lib/ncurses/Makefile ============================================================================== --- head/lib/ncurses/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/lib/ncurses/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -1,6 +1,11 @@ # $FreeBSD$ -SUBDIR= ncurses form menu panel \ - ncursesw formw menuw panelw +.include + +SUBDIR= ncurses form menu panel + +.if ${MK_NCURSESW} != "no" +SUBDIR+= ncursesw formw menuw panelw +.endif .include Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Thu Jan 30 20:54:56 2014 (r261295) +++ head/share/mk/bsd.own.mk Thu Jan 30 21:08:36 2014 (r261296) @@ -314,6 +314,7 @@ __DEFAULT_YES_OPTIONS = \ MAILWRAPPER \ MAKE \ MAN \ + NCURSESW \ NDIS \ NETCAT \ NETGRAPH \ Modified: head/usr.bin/systat/Makefile ============================================================================== --- head/usr.bin/systat/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.bin/systat/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -16,7 +16,16 @@ CFLAGS+= -DINET6 WARNS?= 0 -DPADD= ${LIBNCURSESW} ${LIBM} ${LIBDEVSTAT} ${LIBKVM} -LDADD= -lncursesw -lm -ldevstat -lkvm +DPADD= ${LIBM} ${LIBDEVSTAT} ${LIBKVM} +LDADD= -lm -ldevstat -lkvm + +.if ${MK_NCURSESW} == "no" +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses +.else +CFLAGS+= -DUSE_WIDECHAR +DPADD+= ${LIBNCURSESW} +LDADD+= -lncursesw +.endif .include Modified: head/usr.bin/systat/main.c ============================================================================== --- head/usr.bin/systat/main.c Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.bin/systat/main.c Thu Jan 30 21:08:36 2014 (r261296) @@ -84,7 +84,11 @@ main(int argc, char **argv) size_t size; double t; +#ifdef USE_WIDECHAR (void) setlocale(LC_ALL, ""); +#else + (void) setlocale(LC_TIME, ""); +#endif argc--, argv++; while (argc > 0) { Modified: head/usr.bin/vi/Makefile ============================================================================== --- head/usr.bin/vi/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.bin/vi/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -36,7 +36,7 @@ CFLAGS+=-I${.CURDIR} -I${SRCDIR} -I${SRC DPADD= ${LIBUTIL} LDADD= -lutil -.if defined(RESCUE) || defined(RELEASE_CRUNCH) +.if defined(RESCUE) || defined(RELEASE_CRUNCH) || ${MK_NCURSESW} == "no" DPADD+= ${LIBNCURSES} LDADD+= -lncurses .else Modified: head/usr.sbin/bsdinstall/distextract/Makefile ============================================================================== --- head/usr.sbin/bsdinstall/distextract/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.sbin/bsdinstall/distextract/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -2,10 +2,20 @@ BINDIR= /usr/libexec/bsdinstall PROG= distextract -DPADD= ${LIBARCHIVE} ${LIBNCURSESW} ${LIBDIALOG} ${LIBM} -LDADD= -larchive -lncursesw -ldialog -lm +DPADD= ${LIBARCHIVE} ${LIBDIALOG} ${LIBM} +LDADD= -larchive -ldialog -lm WARNS?= 6 NO_MAN= true +.include + +.if ${MK_NCURSESW} == "no" +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses +.else +DPADD+= ${LIBNCURSESW} +LDADD+= -lncursesw +.endif + .include Modified: head/usr.sbin/bsdinstall/distfetch/Makefile ============================================================================== --- head/usr.sbin/bsdinstall/distfetch/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.sbin/bsdinstall/distfetch/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -2,10 +2,20 @@ BINDIR= /usr/libexec/bsdinstall PROG= distfetch -DPADD= ${LIBFETCH} ${LIBNCURSESW} ${LIBDIALOG} ${LIBM} -LDADD= -lfetch -lncursesw -ldialog -lm +DPADD= ${LIBFETCH} ${LIBDIALOG} ${LIBM} +LDADD= -lfetch -ldialog -lm WARNS?= 6 NO_MAN= true +.include + +.if ${MK_NCURSESW} == "no" +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses +.else +DPADD+= ${LIBNCURSESW} +LDADD+= -lncursesw +.endif + .include Modified: head/usr.sbin/bsdinstall/partedit/Makefile ============================================================================== --- head/usr.sbin/bsdinstall/partedit/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.sbin/bsdinstall/partedit/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -5,8 +5,8 @@ PROG= partedit LINKS= ${BINDIR}/partedit ${BINDIR}/autopart \ ${BINDIR}/partedit ${BINDIR}/scriptedpart SYMLINKS= ${BINDIR}/partedit /usr/sbin/sade -DPADD= ${LIBGEOM} ${LIBNCURSESW} ${LIBUTIL} ${LIBDIALOG} ${LIBM} -LDADD= -lgeom -lncursesw -lutil -ldialog -lm +DPADD= ${LIBGEOM} ${LIBUTIL} ${LIBDIALOG} ${LIBM} +LDADD= -lgeom -lutil -ldialog -lm PARTEDIT_ARCH= ${MACHINE} .if ${MACHINE} == "i386" || ${MACHINE} == "amd64" @@ -22,4 +22,14 @@ SRCS= diskeditor.c partedit.c gpart_ops. WARNS?= 3 MAN= sade.8 +.include + +.if ${MK_NCURSESW} == "no" +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses +.else +DPADD+= ${LIBNCURSESW} +LDADD+= -lncursesw +.endif + .include Modified: head/usr.sbin/tzsetup/Makefile ============================================================================== --- head/usr.sbin/tzsetup/Makefile Thu Jan 30 20:54:56 2014 (r261295) +++ head/usr.sbin/tzsetup/Makefile Thu Jan 30 21:08:36 2014 (r261296) @@ -7,7 +7,17 @@ CFLAGS+= -I${.CURDIR}/../../contrib/dial WARNS?= 3 -DPADD= ${LIBDIALOG} ${LIBNCURSESW} ${LIBM} -LDADD= -ldialog -lncursesw -lm +DPADD= ${LIBDIALOG} ${LIBM} +LDADD= -ldialog -lm + +.include + +.if ${MK_NCURSESW} == "no" +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses +.else +DPADD+= ${LIBNCURSESW} +LDADD+= -lncursesw +.endif .include From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:25:03 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3C636C4; Thu, 30 Jan 2014 21:25:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1D644179F; Thu, 30 Jan 2014 21:25:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ULP24L041807; Thu, 30 Jan 2014 21:25:02 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ULP2fR041802; Thu, 30 Jan 2014 21:25:02 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302125.s0ULP2fR041802@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:25:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261297 - in head: share/man/man5 share/mk tools/build/options usr.sbin/mtree usr.sbin/nmtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:25:03 -0000 Author: brooks Date: Thu Jan 30 21:25:01 2014 New Revision: 261297 URL: http://svnweb.freebsd.org/changeset/base/261297 Log: Merge from CheriBSD: commit 6b569451b92c48ccf1768da32e7e89189e1aa253 Author: Brooks Davis Date: Mon Jan 27 22:50:46 2014 +0000 Always install nmtree as mtree. For compability, link mtree to nmtree. X-MFC after: never Sponsored by: DARPA, AFRL Deleted: head/tools/build/options/WITHOUT_NMTREE Modified: head/share/man/man5/src.conf.5 head/share/mk/bsd.own.mk head/usr.sbin/mtree/Makefile head/usr.sbin/nmtree/Makefile Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Thu Jan 30 21:08:36 2014 (r261296) +++ head/share/man/man5/src.conf.5 Thu Jan 30 21:25:01 2014 (r261297) @@ -749,16 +749,6 @@ Set to not build NLS catalogs. .\" from FreeBSD: head/tools/build/options/WITHOUT_NLS_CATALOGS 156932 2006-03-21 07:50:50Z ru Set to not build NLS catalog support for .Xr csh 1 . -.It Va WITHOUT_NMTREE -.\" from FreeBSD: head/tools/build/options/WITHOUT_NMTREE 257138 2013-10-25 22:45:18Z brooks -Set to install -.Xr fmtree 8 -as -.Xr mtree 8 . -By default -.Xr nmtree 8 -is installed as -.Xr mtree 8 . .It Va WITHOUT_NS_CACHING .\" from FreeBSD: head/tools/build/options/WITHOUT_NS_CACHING 172803 2007-10-19 14:01:25Z ru Set to disable name caching in the Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Thu Jan 30 21:08:36 2014 (r261296) +++ head/share/mk/bsd.own.mk Thu Jan 30 21:25:01 2014 (r261297) @@ -321,7 +321,6 @@ __DEFAULT_YES_OPTIONS = \ NIS \ NLS \ NLS_CATALOGS \ - NMTREE \ NS_CACHING \ NTP \ OPENSSH \ Modified: head/usr.sbin/mtree/Makefile ============================================================================== --- head/usr.sbin/mtree/Makefile Thu Jan 30 21:08:36 2014 (r261296) +++ head/usr.sbin/mtree/Makefile Thu Jan 30 21:25:01 2014 (r261297) @@ -14,11 +14,6 @@ CFLAGS+= -DMD5 -DSHA1 -DRMD160 -DSHA256 DPADD= ${LIBMD} LDADD= -lmd -.if ${MK_NMTREE} == "no" -LINKS= ${BINDIR}/fmtree ${BINDIR}/mtree -MLINKS= fmtree.8 mtree.8 -.endif - CLEANFILES+= fmtree.8 fmtree.8: mtree.8 Modified: head/usr.sbin/nmtree/Makefile ============================================================================== --- head/usr.sbin/nmtree/Makefile Thu Jan 30 21:08:36 2014 (r261296) +++ head/usr.sbin/nmtree/Makefile Thu Jan 30 21:25:01 2014 (r261297) @@ -4,8 +4,8 @@ .PATH: ${.CURDIR}/../../contrib/mtree -PROG= nmtree -MAN= nmtree.8 +PROG= mtree +MAN= mtree.8 SRCS= compare.c crc.c create.c excludes.c getid.c misc.c mtree.c \ only.c spec.c specspec.c verify.c LDADD+= -lmd -lutil @@ -20,14 +20,7 @@ LIBNETBSD= ${LIBNETBSDDIR}/libnetbsd.a DPADD+= ${LIBNETBSD} LDADD+= ${LIBNETBSD} -.if ${MK_NMTREE} != "no" -LINKS= ${BINDIR}/nmtree ${BINDIR}/mtree -MLINKS= nmtree.8 mtree.8 -.endif - -CLEANFILES+= nmtree.8 - -nmtree.8: mtree.8 - cp ${.ALLSRC} ${.TARGET} +LINKS= ${BINDIR}/mtree ${BINDIR}/nmtree +MLINKS= mtree.8 nmtree.8 .include From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:32:26 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B83772E9; Thu, 30 Jan 2014 21:32:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8A0891853; Thu, 30 Jan 2014 21:32:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ULWQph045258; Thu, 30 Jan 2014 21:32:26 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ULWPgu045255; Thu, 30 Jan 2014 21:32:25 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302132.s0ULWPgu045255@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:32:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261298 - in head/usr.sbin: mtree nmtree X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:32:26 -0000 Author: brooks Date: Thu Jan 30 21:32:25 2014 New Revision: 261298 URL: http://svnweb.freebsd.org/changeset/base/261298 Log: Merge from CheriBSD: commit 70b8f0c127db6b80411789d237b403cc64a93573 Author: Brooks Davis Date: Mon Jan 27 22:53:57 2014 +0000 Move mtree.5 to usr.sbin/nmtree. Remove note that mtree 2.0 format files aren't supported. MFC after: 4 weeks Sponsored by: DARPA, AFRL Added: head/usr.sbin/nmtree/mtree.5 - copied, changed from r261296, head/usr.sbin/mtree/mtree.5 Deleted: head/usr.sbin/mtree/mtree.5 Modified: head/usr.sbin/mtree/Makefile head/usr.sbin/nmtree/Makefile Modified: head/usr.sbin/mtree/Makefile ============================================================================== --- head/usr.sbin/mtree/Makefile Thu Jan 30 21:25:01 2014 (r261297) +++ head/usr.sbin/mtree/Makefile Thu Jan 30 21:32:25 2014 (r261298) @@ -6,7 +6,7 @@ .PATH: ${.CURDIR}/../../usr.bin/cksum PROG= fmtree -MAN= fmtree.8 mtree.5 +MAN= fmtree.8 SRCS= compare.c crc.c create.c excludes.c misc.c mtree.c spec.c verify.c SRCS+= specspec.c Modified: head/usr.sbin/nmtree/Makefile ============================================================================== --- head/usr.sbin/nmtree/Makefile Thu Jan 30 21:25:01 2014 (r261297) +++ head/usr.sbin/nmtree/Makefile Thu Jan 30 21:32:25 2014 (r261298) @@ -5,7 +5,7 @@ .PATH: ${.CURDIR}/../../contrib/mtree PROG= mtree -MAN= mtree.8 +MAN= mtree.5 mtree.8 SRCS= compare.c crc.c create.c excludes.c getid.c misc.c mtree.c \ only.c spec.c specspec.c verify.c LDADD+= -lmd -lutil Copied and modified: head/usr.sbin/nmtree/mtree.5 (from r261296, head/usr.sbin/mtree/mtree.5) ============================================================================== --- head/usr.sbin/mtree/mtree.5 Thu Jan 30 21:08:36 2014 (r261296, copy source) +++ head/usr.sbin/nmtree/mtree.5 Thu Jan 30 21:32:25 2014 (r261298) @@ -259,13 +259,6 @@ The entry format was added by .Nx . .Sh BUGS -The -.Fx -implementation of mtree does not currently support -the -.Nm -2.0 -format. The requirement for a .Dq #mtree signature line is new and not yet widely implemented. From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:37:44 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9CAC347A; Thu, 30 Jan 2014 21:37:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6E1C21883; Thu, 30 Jan 2014 21:37:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ULbiIk045929; Thu, 30 Jan 2014 21:37:44 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ULbhRN045925; Thu, 30 Jan 2014 21:37:43 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302137.s0ULbhRN045925@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:37:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261299 - in head: share/mk tools/build/mk tools/build/options usr.sbin X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:37:44 -0000 Author: brooks Date: Thu Jan 30 21:37:43 2014 New Revision: 261299 URL: http://svnweb.freebsd.org/changeset/base/261299 Log: Merge from CheriBSD: commit 2d581e8caf79d7a0f5a24590eccd06da90cccb74 Author: Brooks Davis Date: Mon Jan 27 22:57:51 2014 +0000 Add WITHOUT_FMTREE to disable building fmtree. MFC after: 4 weeks Sponsored by: DARPA, AFRL Added: head/tools/build/options/WITHOUT_FMTREE (contents, props changed) Modified: head/share/mk/bsd.own.mk head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.sbin/Makefile Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Thu Jan 30 21:32:25 2014 (r261298) +++ head/share/mk/bsd.own.mk Thu Jan 30 21:37:43 2014 (r261299) @@ -275,6 +275,7 @@ __DEFAULT_YES_OPTIONS = \ ED_CRYPTO \ EXAMPLES \ FLOPPY \ + FMTREE \ FORMAT_EXTENSIONS \ FORTH \ FP_LIBC \ Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Thu Jan 30 21:32:25 2014 (r261298) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Thu Jan 30 21:37:43 2014 (r261299) @@ -600,6 +600,11 @@ OLD_FILES+=usr/bin/g++ OLD_FILES+=usr/libexec/cc1plus .endif +.if ${MK_FMTREE} == no +OLD_FILES+=usr/sbin/fmtree +OLD_FILES+=usr/share/man/man8/fmtree.8.gz +.endif + .if ${MK_GNUCXX} == no OLD_FILES+=usr/bin/g++ OLD_FILES+=usr/include/c++/4.2/algorithm Added: head/tools/build/options/WITHOUT_FMTREE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_FMTREE Thu Jan 30 21:37:43 2014 (r261299) @@ -0,0 +1,3 @@ +.\" $FreeBSD$ +Set to not build and install +.Pa /usr/sbin/fmtree . Modified: head/usr.sbin/Makefile ============================================================================== --- head/usr.sbin/Makefile Thu Jan 30 21:32:25 2014 (r261298) +++ head/usr.sbin/Makefile Thu Jan 30 21:37:43 2014 (r261299) @@ -48,7 +48,7 @@ SUBDIR= adduser \ mountd \ mptutil \ mtest \ - mtree \ + ${_mtree} \ newsyslog \ nfscbd \ nfsd \ @@ -142,6 +142,10 @@ SUBDIR+= fdread SUBDIR+= fdwrite .endif +.if ${MK_FMTREE} != "no" +SUBDIR+= mtree +.endif + .if ${MK_FREEBSD_UPDATE} != "no" SUBDIR+= freebsd-update .endif From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:41:25 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BA246602; Thu, 30 Jan 2014 21:41:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A682D18F5; Thu, 30 Jan 2014 21:41:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ULfPkC048930; Thu, 30 Jan 2014 21:41:25 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ULfPub048929; Thu, 30 Jan 2014 21:41:25 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302141.s0ULfPub048929@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:41:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261300 - head/tools/build/options X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:41:25 -0000 Author: brooks Date: Thu Jan 30 21:41:25 2014 New Revision: 261300 URL: http://svnweb.freebsd.org/changeset/base/261300 Log: Add file missed in r261296. MFC after: 4 weeks Sponsored by: DARPA, AFRL Added: head/tools/build/options/WITHOUT_NCURSESW (contents, props changed) Added: head/tools/build/options/WITHOUT_NCURSESW ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_NCURSESW Thu Jan 30 21:41:25 2014 (r261300) @@ -0,0 +1,4 @@ +.\" $FreeBSD$ +Set to not build or depend on the +.Nm libncursesw +library. From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:43:38 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B671D74E; Thu, 30 Jan 2014 21:43:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A274B1903; Thu, 30 Jan 2014 21:43:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ULhcPD049296; Thu, 30 Jan 2014 21:43:38 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ULhcx0049295; Thu, 30 Jan 2014 21:43:38 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302143.s0ULhcx0049295@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:43:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261301 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:43:38 -0000 Author: brooks Date: Thu Jan 30 21:43:38 2014 New Revision: 261301 URL: http://svnweb.freebsd.org/changeset/base/261301 Log: Regenerate for WITHOUT_FMTREE and WITHOUT_NCURSESW. MFC after: 4 weeks Sponsored by: DARPA, AFRL Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Thu Jan 30 21:41:25 2014 (r261300) +++ head/share/man/man5/src.conf.5 Thu Jan 30 21:43:38 2014 (r261301) @@ -360,6 +360,10 @@ arm/arm, arm/armeb, arm/armv6, mips/mips .\" from FreeBSD: head/tools/build/options/WITHOUT_FLOPPY 221540 2011-05-06 19:13:03Z ru Set to not build or install programs for operating floppy disk driver. +.It Va WITHOUT_FMTREE +.\" from FreeBSD: head/tools/build/options/WITHOUT_FMTREE 261299 2014-01-30 21:37:43Z brooks +Set to not build and install +.Pa /usr/sbin/fmtree . .It Va WITHOUT_FORMAT_EXTENSIONS .\" from FreeBSD: head/tools/build/options/WITHOUT_FORMAT_EXTENSIONS 250658 2013-05-15 13:04:10Z brooks Set to not enable @@ -706,6 +710,11 @@ and related support files. .It Va WITH_NAND .\" from FreeBSD: head/tools/build/options/WITH_NAND 235537 2012-05-17 10:11:18Z gber Set to build the NAND Flash components. +.It Va WITHOUT_NCURSESW +.\" from FreeBSD: head/tools/build/options/WITHOUT_NCURSESW 261300 2014-01-30 21:41:25Z brooks +Set to not build or depend on the +.Nm libncursesw +library. .It Va WITHOUT_NDIS .\" from FreeBSD: head/tools/build/options/WITHOUT_NDIS 183242 2008-09-21 22:02:26Z sam Set to not build programs and libraries From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 21:47:13 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 24328A81; Thu, 30 Jan 2014 21:47:13 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 112AE192F; Thu, 30 Jan 2014 21:47:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ULlC1I049952; Thu, 30 Jan 2014 21:47:12 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ULlCYq049951; Thu, 30 Jan 2014 21:47:12 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302147.s0ULlCYq049951@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 21:47:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261302 - head/tools/tools/makeroot X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 21:47:13 -0000 Author: brooks Date: Thu Jan 30 21:47:12 2014 New Revision: 261302 URL: http://svnweb.freebsd.org/changeset/base/261302 Log: The -B flag is intended to take an argument. Fix a couple typos in comments. MFC after: 4 weeks Sponsored by: DARPA, ARFL Modified: head/tools/tools/makeroot/makeroot.sh Modified: head/tools/tools/makeroot/makeroot.sh ============================================================================== --- head/tools/tools/makeroot/makeroot.sh Thu Jan 30 21:43:38 2014 (r261301) +++ head/tools/tools/makeroot/makeroot.sh Thu Jan 30 21:47:12 2014 (r261302) @@ -65,7 +65,7 @@ atexit() } DEBUG= -# Allow duplice manifest entries when not file list is given because the +# Allow duplicate manifest entries when not file list is given because the # FreeBSD METALOG still includes it. DUPFLAG=-D EXTRAS= @@ -75,7 +75,7 @@ KEYDIR= KEYUSERS= PASSWD= -while getopts "Bde:f:g:K:k:p:s:" opt; do +while getopts "B:de:f:g:K:k:p:s:" opt; do case "$opt" in B) BFLAG="-B ${OPTARG}" ;; d) DEBUG=1 ;; @@ -174,7 +174,7 @@ else / type=/ { if ($1 != file) {print} }' >> ${manifest} fi -# For each extras file, add contents kyes relative to the directory the +# For each extras file, add contents keys relative to the directory the # manifest lives in for each file line that does not have one. Adjust # contents keys relative to ./ to be relative to the same directory. for eman in ${EXTRAS}; do From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 22:07:23 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8C9D5300; Thu, 30 Jan 2014 22:07:23 +0000 (UTC) Received: from nibbler.fubar.geek.nz (nibbler.fubar.geek.nz [199.48.134.198]) by mx1.freebsd.org (Postfix) with ESMTP id 6E41C1B01; Thu, 30 Jan 2014 22:07:23 +0000 (UTC) Received: from bender.Home (97e07ba1.skybroadband.com [151.224.123.161]) by nibbler.fubar.geek.nz (Postfix) with ESMTPSA id 9EDAC5C682; Thu, 30 Jan 2014 22:07:16 +0000 (UTC) Date: Thu, 30 Jan 2014 22:07:09 +0000 From: Andrew Turner To: Warner Losh Subject: Re: svn commit: r261252 - head/sys/arm/arm Message-ID: <20140130220709.695f8275@bender.Home> In-Reply-To: <201401282207.s0SM7Hde097519@svn.freebsd.org> References: <201401282207.s0SM7Hde097519@svn.freebsd.org> 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 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 22:07:23 -0000 On Tue, 28 Jan 2014 22:07:16 +0000 (UTC) Warner Losh wrote: > Author: imp > Date: Tue Jan 28 22:07:16 2014 > New Revision: 261252 > URL: http://svnweb.freebsd.org/changeset/base/261252 > > Log: > Fix clang warning. This broke Tinderbox as sys/bus.h includes device_if.h and bus_if.h but these files haven't been generated when we build genassym.o. A simple fix is to add a rule to sys/conf/Makefile.arm to have genassym.o depend on the two above headers, e.g. genassym.o: device_if.h bus_if.h Andrew From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 22:26:51 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C63767D5; Thu, 30 Jan 2014 22:26:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 995AD1D50; Thu, 30 Jan 2014 22:26:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0UMQpOg065858; Thu, 30 Jan 2014 22:26:51 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0UMQpDr065857; Thu, 30 Jan 2014 22:26:51 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201401302226.s0UMQpDr065857@svn.freebsd.org> From: Brooks Davis Date: Thu, 30 Jan 2014 22:26:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261303 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 22:26:51 -0000 Author: brooks Date: Thu Jan 30 22:26:51 2014 New Revision: 261303 URL: http://svnweb.freebsd.org/changeset/base/261303 Log: Merge from CheriBSD: commit 1b41f6de7ca09e04fdc6f66bc478ea6c981a41b9 Author: Brooks Davis Date: Mon Jan 27 22:59:02 2014 +0000 Now that mtree is always nmtree use it as mtree Tested on: ref9-amd64 X-MFC after: never Sponsored by: DARPA, AFRL Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Jan 30 21:47:12 2014 (r261302) +++ head/Makefile.inc1 Thu Jan 30 22:26:51 2014 (r261303) @@ -448,7 +448,7 @@ MTREEFLAGS+= -W .endif .if defined(DB_FROM_SRC) || defined(NO_ROOT) IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" -IMAKE_MTREE= MTREE_CMD="nmtree ${MTREEFLAGS}" +IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" .endif # kernel stage @@ -765,13 +765,9 @@ _install-info= install-info _zoneinfo= zic tzsetup .endif -.if exists(/usr/sbin/nmtree) -_nmtree_itools= nmtree -.endif - ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ date echo egrep find grep id install ${_install-info} \ - ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ + ln lockf make mkdir mtree mv pwd_mkdb \ rm sed services_mkdb sh sysctl test true uname wc ${_zoneinfo} # @@ -834,11 +830,11 @@ distributeworld installworld: _installch -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif .if defined(NO_ROOT) - ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ sed -e 's#^\./#./${dist}/#' >> ${METALOG} - ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} - ${IMAKEENV} nmtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} .endif .endfor From owner-svn-src-head@FreeBSD.ORG Thu Jan 30 23:10:51 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0F3B931B for ; Thu, 30 Jan 2014 23:10:51 +0000 (UTC) Received: from mail-ie0-f171.google.com (mail-ie0-f171.google.com [209.85.223.171]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CC1B01FE7 for ; Thu, 30 Jan 2014 23:10:50 +0000 (UTC) Received: by mail-ie0-f171.google.com with SMTP id as1so3957477iec.2 for ; Thu, 30 Jan 2014 15:10:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=eC8UA/Hk5VYzq88o46b46n0bbiVP8KjNWBNOaqR5Ogc=; b=DyFEpHPIIH4Ya0cWKaC/7s9A8AWNHmNLjWeSQMjOV1FW94pzrcZ9VxAEzQbtcpPHSd r4j8RBq84GHR+9XnAdWqJvCtES2JwYrWgMqD+UQkuGGEjORnsWwQbhwViPGBNq7KI6G7 gHzKdKnMqdyFAJrX7hYkV6qIYXvYerUcscBIBpInIalUKqn03VfXeYKAFbSlGK1rClWw rOwTpld4eIy2Z0MPyzRoql05ey+/iHvCAf95RxkNFElRmzU4WnsfuB9HWbM3eW/l/lHB 7JHMLTr3Eu/Fkn3PpCGzb+qemdnX8A8HYHkjCtWFqXUPc/mF476opUFFiLeAqmV/CpgY HayQ== X-Gm-Message-State: ALoCoQkwvs0rQ7D72wn/g6AWsDc0uqVjn4TUa9li9a1I9WqPydKf/Zcnyi2piCfpx2FUG+mLyfhU X-Received: by 10.50.225.39 with SMTP id rh7mr16659325igc.10.1391123050748; Thu, 30 Jan 2014 15:04:10 -0800 (PST) Received: from fusionlt2834a.int.fusionio.com ([209.117.142.2]) by mx.google.com with ESMTPSA id u1sm84087758ige.1.2014.01.30.15.04.09 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 30 Jan 2014 15:04:09 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r261252 - head/sys/arm/arm Mime-Version: 1.0 (Apple Message framework v1085) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <20140130220709.695f8275@bender.Home> Date: Thu, 30 Jan 2014 16:04:07 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201401282207.s0SM7Hde097519@svn.freebsd.org> <20140130220709.695f8275@bender.Home> To: Andrew Turner X-Mailer: Apple Mail (2.1085) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Warner Losh X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 23:10:51 -0000 On Jan 30, 2014, at 3:07 PM, Andrew Turner wrote: > On Tue, 28 Jan 2014 22:07:16 +0000 (UTC) > Warner Losh wrote: >=20 >> Author: imp >> Date: Tue Jan 28 22:07:16 2014 >> New Revision: 261252 >> URL: http://svnweb.freebsd.org/changeset/base/261252 >>=20 >> Log: >> Fix clang warning. >=20 > This broke Tinderbox as sys/bus.h includes device_if.h and bus_if.h = but > these files haven't been generated when we build genassym.o. >=20 > A simple fix is to add a rule to sys/conf/Makefile.arm to have > genassym.o depend on the two above headers, e.g. >=20 > genassym.o: device_if.h bus_if.h Thanks. My tinderbox mail seems to have been eaten by a gru... I'll give = that a shot.. Warner From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 01:18:34 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A71A517B; Fri, 31 Jan 2014 01:18:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9324619D8; Fri, 31 Jan 2014 01:18:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V1IYtZ032679; Fri, 31 Jan 2014 01:18:34 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V1IYuj032678; Fri, 31 Jan 2014 01:18:34 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401310118.s0V1IYuj032678@svn.freebsd.org> From: Warner Losh Date: Fri, 31 Jan 2014 01:18:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261304 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 01:18:34 -0000 Author: imp Date: Fri Jan 31 01:18:34 2014 New Revision: 261304 URL: http://svnweb.freebsd.org/changeset/base/261304 Log: When mapping an address, the bsh needs the same offset we do for other things. Modified: head/sys/arm/at91/at91.c Modified: head/sys/arm/at91/at91.c ============================================================================== --- head/sys/arm/at91/at91.c Thu Jan 30 22:26:51 2014 (r261303) +++ head/sys/arm/at91/at91.c Fri Jan 31 01:18:34 2014 (r261304) @@ -74,7 +74,7 @@ at91_bs_map(void *t, bus_addr_t bpa, bus } endpa = round_page(bpa + size); - *bshp = (vm_offset_t)pmap_mapdev(pa, endpa - pa); + *bshp = (vm_offset_t)pmap_mapdev(pa, endpa - pa) + (bpa - pa); return (0); } From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 01:34:56 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 010363C5; Fri, 31 Jan 2014 01:34:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E17A11AD7; Fri, 31 Jan 2014 01:34:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V1YtA8039691; Fri, 31 Jan 2014 01:34:55 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V1YttK039690; Fri, 31 Jan 2014 01:34:55 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401310134.s0V1YttK039690@svn.freebsd.org> From: Warner Losh Date: Fri, 31 Jan 2014 01:34:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261305 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 01:34:56 -0000 Author: imp Date: Fri Jan 31 01:34:55 2014 New Revision: 261305 URL: http://svnweb.freebsd.org/changeset/base/261305 Log: Hack: Add explicit depends on bus_if.h and device_if.h to avoid a chicken and egg problem in some compilation environments. Modified: head/sys/conf/Makefile.arm Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Fri Jan 31 01:18:34 2014 (r261304) +++ head/sys/conf/Makefile.arm Fri Jan 31 01:34:55 2014 (r261305) @@ -55,6 +55,9 @@ CFLAGS += -mllvm -arm-enable-ehabi .endif .endif +# hack because genassym.c includes sys/bus.h which includes these. +genassym.o: bus_if.h device_if.h + SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \ -warn-common -export-dynamic -dynamic-linker /red/herring -o \ ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 03:55:37 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BDF9D7C5; Fri, 31 Jan 2014 03:55:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9E6DE1567; Fri, 31 Jan 2014 03:55:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V3tbt4094392; Fri, 31 Jan 2014 03:55:37 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V3tYBw094367; Fri, 31 Jan 2014 03:55:34 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401310355.s0V3tYBw094367@svn.freebsd.org> From: Justin Hibbits Date: Fri, 31 Jan 2014 03:55:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261309 - in head/sys: conf powerpc/aim powerpc/include powerpc/powermac powerpc/powerpc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 03:55:37 -0000 Author: jhibbits Date: Fri Jan 31 03:55:34 2014 New Revision: 261309 URL: http://svnweb.freebsd.org/changeset/base/261309 Log: Unbreak non-SMP builds. This was broken by r259284. Also, reorganize the code introduced in that revision a bit. Reviewed by: nwhitehorn MFC after: 3 weeks Modified: head/sys/conf/files.powerpc head/sys/powerpc/aim/machdep.c head/sys/powerpc/aim/mp_cpudep.c head/sys/powerpc/aim/trap_subr32.S head/sys/powerpc/aim/trap_subr64.S head/sys/powerpc/include/cpu.h head/sys/powerpc/include/platform.h head/sys/powerpc/powermac/platform_powermac.c head/sys/powerpc/powermac/pmu.c head/sys/powerpc/powerpc/genassym.c head/sys/powerpc/powerpc/mp_machdep.c head/sys/powerpc/powerpc/platform.c head/sys/powerpc/powerpc/platform_if.m Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/conf/files.powerpc Fri Jan 31 03:55:34 2014 (r261309) @@ -93,7 +93,7 @@ powerpc/aim/mmu_oea.c optional aim powe powerpc/aim/mmu_oea64.c optional aim powerpc/aim/moea64_if.m optional aim powerpc/aim/moea64_native.c optional aim -powerpc/aim/mp_cpudep.c optional aim smp +powerpc/aim/mp_cpudep.c optional aim powerpc/aim/slb.c optional aim powerpc64 powerpc/aim/trap.c optional aim powerpc/aim/uma_machdep.c optional aim Modified: head/sys/powerpc/aim/machdep.c ============================================================================== --- head/sys/powerpc/aim/machdep.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/aim/machdep.c Fri Jan 31 03:55:34 2014 (r261309) @@ -142,6 +142,8 @@ int cacheline_size = 32; #endif int hw_direct_map = 1; +extern void *ap_pcpu; + struct pcpu __pcpu[MAXCPU]; static struct trapframe frame0; @@ -235,9 +237,7 @@ extern void *rfid_patch, *rfi_patch1, *r extern void *trapcode64; #endif -#ifdef SMP extern void *rstcode, *rstsize; -#endif extern void *trapcode, *trapsize; extern void *slbtrap, *slbtrapsize; extern void *alitrap, *alisize; @@ -491,11 +491,7 @@ powerpc_init(vm_offset_t startkernel, vm generictrap = &trapcode; #endif -#ifdef SMP bcopy(&rstcode, (void *)(EXC_RST + trap_offset), (size_t)&rstsize); -#else - bcopy(generictrap, (void *)EXC_RST, (size_t)&trapsize); -#endif #ifdef KDB bcopy(&dblow, (void *)(EXC_MCHK + trap_offset), (size_t)&dbsize); @@ -786,3 +782,171 @@ pmap_early_io_map(vm_paddr_t pa, vm_size return (pa); } +/* From p3-53 of the MPC7450 RISC Microprocessor Family Reference Manual */ +void +flush_disable_caches(void) +{ + register_t msr; + register_t msscr0; + register_t cache_reg; + volatile uint32_t *memp; + uint32_t temp; + int i; + int x; + + msr = mfmsr(); + powerpc_sync(); + mtmsr(msr & ~(PSL_EE | PSL_DR)); + msscr0 = mfspr(SPR_MSSCR0); + msscr0 &= ~MSSCR0_L2PFE; + mtspr(SPR_MSSCR0, msscr0); + powerpc_sync(); + isync(); + __asm__ __volatile__("dssall; sync"); + powerpc_sync(); + isync(); + __asm__ __volatile__("dcbf 0,%0" :: "r"(0)); + __asm__ __volatile__("dcbf 0,%0" :: "r"(0)); + __asm__ __volatile__("dcbf 0,%0" :: "r"(0)); + + /* Lock the L1 Data cache. */ + mtspr(SPR_LDSTCR, mfspr(SPR_LDSTCR) | 0xFF); + powerpc_sync(); + isync(); + + mtspr(SPR_LDSTCR, 0); + + /* + * Perform this in two stages: Flush the cache starting in RAM, then do it + * from ROM. + */ + memp = (volatile uint32_t *)0x00000000; + for (i = 0; i < 128 * 1024; i++) { + temp = *memp; + __asm__ __volatile__("dcbf 0,%0" :: "r"(memp)); + memp += 32/sizeof(*memp); + } + + memp = (volatile uint32_t *)0xfff00000; + x = 0xfe; + + for (; x != 0xff;) { + mtspr(SPR_LDSTCR, x); + for (i = 0; i < 128; i++) { + temp = *memp; + __asm__ __volatile__("dcbf 0,%0" :: "r"(memp)); + memp += 32/sizeof(*memp); + } + x = ((x << 1) | 1) & 0xff; + } + mtspr(SPR_LDSTCR, 0); + + cache_reg = mfspr(SPR_L2CR); + if (cache_reg & L2CR_L2E) { + cache_reg &= ~(L2CR_L2IO_7450 | L2CR_L2DO_7450); + mtspr(SPR_L2CR, cache_reg); + powerpc_sync(); + mtspr(SPR_L2CR, cache_reg | L2CR_L2HWF); + while (mfspr(SPR_L2CR) & L2CR_L2HWF) + ; /* Busy wait for cache to flush */ + powerpc_sync(); + cache_reg &= ~L2CR_L2E; + mtspr(SPR_L2CR, cache_reg); + powerpc_sync(); + mtspr(SPR_L2CR, cache_reg | L2CR_L2I); + powerpc_sync(); + while (mfspr(SPR_L2CR) & L2CR_L2I) + ; /* Busy wait for L2 cache invalidate */ + powerpc_sync(); + } + + cache_reg = mfspr(SPR_L3CR); + if (cache_reg & L3CR_L3E) { + cache_reg &= ~(L3CR_L3IO | L3CR_L3DO); + mtspr(SPR_L3CR, cache_reg); + powerpc_sync(); + mtspr(SPR_L3CR, cache_reg | L3CR_L3HWF); + while (mfspr(SPR_L3CR) & L3CR_L3HWF) + ; /* Busy wait for cache to flush */ + powerpc_sync(); + cache_reg &= ~L3CR_L3E; + mtspr(SPR_L3CR, cache_reg); + powerpc_sync(); + mtspr(SPR_L3CR, cache_reg | L3CR_L3I); + powerpc_sync(); + while (mfspr(SPR_L3CR) & L3CR_L3I) + ; /* Busy wait for L3 cache invalidate */ + powerpc_sync(); + } + + mtspr(SPR_HID0, mfspr(SPR_HID0) & ~HID0_DCE); + powerpc_sync(); + isync(); + + mtmsr(msr); +} + +void +cpu_sleep() +{ + static u_quad_t timebase = 0; + static register_t sprgs[4]; + static register_t srrs[2]; + + jmp_buf resetjb; + struct thread *fputd; + struct thread *vectd; + register_t hid0; + register_t msr; + register_t saved_msr; + + ap_pcpu = pcpup; + + PCPU_SET(restore, &resetjb); + + saved_msr = mfmsr(); + fputd = PCPU_GET(fputhread); + vectd = PCPU_GET(vecthread); + if (fputd != NULL) + save_fpu(fputd); + if (vectd != NULL) + save_vec(vectd); + if (setjmp(resetjb) == 0) { + sprgs[0] = mfspr(SPR_SPRG0); + sprgs[1] = mfspr(SPR_SPRG1); + sprgs[2] = mfspr(SPR_SPRG2); + sprgs[3] = mfspr(SPR_SPRG3); + srrs[0] = mfspr(SPR_SRR0); + srrs[1] = mfspr(SPR_SRR1); + timebase = mftb(); + powerpc_sync(); + flush_disable_caches(); + hid0 = mfspr(SPR_HID0); + hid0 = (hid0 & ~(HID0_DOZE | HID0_NAP)) | HID0_SLEEP; + powerpc_sync(); + isync(); + msr = mfmsr() | PSL_POW; + mtspr(SPR_HID0, hid0); + powerpc_sync(); + + while (1) + mtmsr(msr); + } + mttb(timebase); + PCPU_SET(curthread, curthread); + PCPU_SET(curpcb, curthread->td_pcb); + pmap_activate(curthread); + powerpc_sync(); + mtspr(SPR_SPRG0, sprgs[0]); + mtspr(SPR_SPRG1, sprgs[1]); + mtspr(SPR_SPRG2, sprgs[2]); + mtspr(SPR_SPRG3, sprgs[3]); + mtspr(SPR_SRR0, srrs[0]); + mtspr(SPR_SRR1, srrs[1]); + mtmsr(saved_msr); + if (fputd == curthread) + enable_fpu(curthread); + if (vectd == curthread) + enable_vec(curthread); + powerpc_sync(); +} Modified: head/sys/powerpc/aim/mp_cpudep.c ============================================================================== --- head/sys/powerpc/aim/mp_cpudep.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/aim/mp_cpudep.c Fri Jan 31 03:55:34 2014 (r261309) @@ -273,6 +273,14 @@ cpudep_ap_setup() vers = mfpvr() >> 16; + /* The following is needed for restoring from sleep. */ +#ifdef __powerpc64__ + /* Writing to the time base register is hypervisor-privileged */ + if (mfmsr() & PSL_HV) + mttb(0); +#else + mttb(0); +#endif switch(vers) { case IBM970: case IBM970FX: Modified: head/sys/powerpc/aim/trap_subr32.S ============================================================================== --- head/sys/powerpc/aim/trap_subr32.S Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/aim/trap_subr32.S Fri Jan 31 03:55:34 2014 (r261309) @@ -292,7 +292,6 @@ CNAME(restorebridge): isync CNAME(restorebridgesize) = .-CNAME(restorebridge) -#ifdef SMP /* * Processor reset exception handler. These are typically * the first instructions the processor executes after a @@ -320,12 +319,21 @@ cpu_reset: bla CNAME(pmap_cpu_bootstrap) bla CNAME(cpudep_ap_bootstrap) mr %r1,%r3 + bla CNAME(cpudep_ap_setup) + GET_CPUINFO(%r5) + lwz %r3,(PC_RESTORE)(%r5) + cmplwi %cr0,%r3,0 + beq %cr0,2f + li %r4, 1 + b CNAME(longjmp) +2: +#ifdef SMP bla CNAME(machdep_ap_bootstrap) +#endif /* Should not be reached */ 9: b 9b -#endif /* * This code gets copied to all the trap vectors Modified: head/sys/powerpc/aim/trap_subr64.S ============================================================================== --- head/sys/powerpc/aim/trap_subr64.S Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/aim/trap_subr64.S Fri Jan 31 03:55:34 2014 (r261309) @@ -287,7 +287,6 @@ dtrace_invop_calltrap_addr: .text #endif -#ifdef SMP /* * Processor reset exception handler. These are typically * the first instructions the processor executes after a @@ -322,13 +321,25 @@ cpu_reset: bl CNAME(cpudep_ap_bootstrap) /* Set up PCPU and stack */ nop mr %r1,%r3 /* Use new stack */ + bl CNAME(cpudep_ap_setup) + nop + GET_CPUINFO(%r5) + ld %r3,(PC_RESTORE)(%r5) + cmpldi %cr0,%r3,0 + beq %cr0,2f + nop + li %r4,1 + b CNAME(longjmp) + nop +2: +#ifdef SMP bl CNAME(machdep_ap_bootstrap) /* And away! */ nop +#endif /* Should not be reached */ 9: b 9b -#endif /* * This code gets copied to all the trap vectors Modified: head/sys/powerpc/include/cpu.h ============================================================================== --- head/sys/powerpc/include/cpu.h Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/include/cpu.h Fri Jan 31 03:55:34 2014 (r261309) @@ -95,9 +95,9 @@ extern char etext[]; void cpu_halt(void); void cpu_reset(void); +void cpu_sleep(void); +void flush_disable_caches(void); void fork_trampoline(void); void swi_vm(void *); -void flush_disable_caches(void); - #endif /* _MACHINE_CPU_H_ */ Modified: head/sys/powerpc/include/platform.h ============================================================================== --- head/sys/powerpc/include/platform.h Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/include/platform.h Fri Jan 31 03:55:34 2014 (r261309) @@ -56,5 +56,7 @@ void platform_smp_ap_init(void); const char *installed_platform(void); void platform_probe_and_attach(void); + +void platform_sleep(void); #endif /* _MACHINE_PLATFORM_H_ */ Modified: head/sys/powerpc/powermac/platform_powermac.c ============================================================================== --- head/sys/powerpc/powermac/platform_powermac.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/powermac/platform_powermac.c Fri Jan 31 03:55:34 2014 (r261309) @@ -38,11 +38,14 @@ __FBSDID("$FreeBSD$"); #include #include +#include /* For save_vec() */ #include #include +#include /* For save_fpu() */ #include #include #include +#include #include #include @@ -51,9 +54,7 @@ __FBSDID("$FreeBSD$"); #include "platform_if.h" -#ifdef SMP extern void *ap_pcpu; -#endif static int powermac_probe(platform_t); static int powermac_attach(platform_t); @@ -65,6 +66,7 @@ static int powermac_smp_next_cpu(platfor static int powermac_smp_get_bsp(platform_t, struct cpuref *cpuref); static int powermac_smp_start_cpu(platform_t, struct pcpu *cpu); static void powermac_reset(platform_t); +static void powermac_sleep(platform_t); static platform_method_t powermac_methods[] = { PLATFORMMETHOD(platform_probe, powermac_probe), @@ -78,6 +80,7 @@ static platform_method_t powermac_method PLATFORMMETHOD(platform_smp_start_cpu, powermac_smp_start_cpu), PLATFORMMETHOD(platform_reset, powermac_reset), + PLATFORMMETHOD(platform_sleep, powermac_sleep), PLATFORMMETHOD_END }; @@ -376,113 +379,17 @@ powermac_smp_start_cpu(platform_t plat, #endif } -/* From p3-53 of the MPC7450 RISC Microprocessor Family Reference Manual */ -void -flush_disable_caches(void) -{ - register_t msr; - register_t msscr0; - register_t cache_reg; - volatile uint32_t *memp; - uint32_t temp; - int i; - int x; - - msr = mfmsr(); - powerpc_sync(); - mtmsr(msr & ~(PSL_EE | PSL_DR)); - msscr0 = mfspr(SPR_MSSCR0); - msscr0 &= ~MSSCR0_L2PFE; - mtspr(SPR_MSSCR0, msscr0); - powerpc_sync(); - isync(); - __asm__ __volatile__("dssall; sync"); - powerpc_sync(); - isync(); - __asm__ __volatile__("dcbf 0,%0" :: "r"(0)); - __asm__ __volatile__("dcbf 0,%0" :: "r"(0)); - __asm__ __volatile__("dcbf 0,%0" :: "r"(0)); - - /* Lock the L1 Data cache. */ - mtspr(SPR_LDSTCR, mfspr(SPR_LDSTCR) | 0xFF); - powerpc_sync(); - isync(); - - mtspr(SPR_LDSTCR, 0); - - /* - * Perform this in two stages: Flush the cache starting in RAM, then do it - * from ROM. - */ - memp = (volatile uint32_t *)0x00000000; - for (i = 0; i < 128 * 1024; i++) { - temp = *memp; - __asm__ __volatile__("dcbf 0,%0" :: "r"(memp)); - memp += 32/sizeof(*memp); - } - - memp = (volatile uint32_t *)0xfff00000; - x = 0xfe; - - for (; x != 0xff;) { - mtspr(SPR_LDSTCR, x); - for (i = 0; i < 128; i++) { - temp = *memp; - __asm__ __volatile__("dcbf 0,%0" :: "r"(memp)); - memp += 32/sizeof(*memp); - } - x = ((x << 1) | 1) & 0xff; - } - mtspr(SPR_LDSTCR, 0); - - cache_reg = mfspr(SPR_L2CR); - if (cache_reg & L2CR_L2E) { - cache_reg &= ~(L2CR_L2IO_7450 | L2CR_L2DO_7450); - mtspr(SPR_L2CR, cache_reg); - powerpc_sync(); - mtspr(SPR_L2CR, cache_reg | L2CR_L2HWF); - while (mfspr(SPR_L2CR) & L2CR_L2HWF) - ; /* Busy wait for cache to flush */ - powerpc_sync(); - cache_reg &= ~L2CR_L2E; - mtspr(SPR_L2CR, cache_reg); - powerpc_sync(); - mtspr(SPR_L2CR, cache_reg | L2CR_L2I); - powerpc_sync(); - while (mfspr(SPR_L2CR) & L2CR_L2I) - ; /* Busy wait for L2 cache invalidate */ - powerpc_sync(); - } - - cache_reg = mfspr(SPR_L3CR); - if (cache_reg & L3CR_L3E) { - cache_reg &= ~(L3CR_L3IO | L3CR_L3DO); - mtspr(SPR_L3CR, cache_reg); - powerpc_sync(); - mtspr(SPR_L3CR, cache_reg | L3CR_L3HWF); - while (mfspr(SPR_L3CR) & L3CR_L3HWF) - ; /* Busy wait for cache to flush */ - powerpc_sync(); - cache_reg &= ~L3CR_L3E; - mtspr(SPR_L3CR, cache_reg); - powerpc_sync(); - mtspr(SPR_L3CR, cache_reg | L3CR_L3I); - powerpc_sync(); - while (mfspr(SPR_L3CR) & L3CR_L3I) - ; /* Busy wait for L3 cache invalidate */ - powerpc_sync(); - } - - mtspr(SPR_HID0, mfspr(SPR_HID0) & ~HID0_DCE); - powerpc_sync(); - isync(); - - mtmsr(msr); -} - static void powermac_reset(platform_t platform) { OF_reboot(); } +void +powermac_sleep(platform_t platform) +{ + + *(unsigned long *)0x80 = 0x100; + cpu_sleep(); +} + Modified: head/sys/powerpc/powermac/pmu.c ============================================================================== --- head/sys/powerpc/powermac/pmu.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/powermac/pmu.c Fri Jan 31 03:55:34 2014 (r261309) @@ -45,17 +45,14 @@ __FBSDID("$FreeBSD$"); #include #include -#include /* For save_vec() */ #include #include -#include /* For save_fpu() */ #include #include #include #include #include #include -#include #include #include @@ -106,7 +103,6 @@ static int pmu_acline_state(SYSCTL_HANDL static int pmu_query_battery(struct pmu_softc *sc, int batt, struct pmu_battstate *info); static int pmu_battquery_sysctl(SYSCTL_HANDLER_ARGS); -static void pmu_sleep_int(void); /* * List of battery-related sysctls we might ask for @@ -1031,72 +1027,6 @@ pmu_settime(device_t dev, struct timespe return (0); } -static register_t sprgs[4]; -static register_t srrs[2]; -extern void *ap_pcpu; - -void pmu_sleep_int(void) -{ - static u_quad_t timebase = 0; - jmp_buf resetjb; - struct thread *fputd; - struct thread *vectd; - register_t hid0; - register_t msr; - register_t saved_msr; - - ap_pcpu = pcpup; - - PCPU_SET(restore, &resetjb); - - *(unsigned long *)0x80 = 0x100; - saved_msr = mfmsr(); - fputd = PCPU_GET(fputhread); - vectd = PCPU_GET(vecthread); - if (fputd != NULL) - save_fpu(fputd); - if (vectd != NULL) - save_vec(vectd); - if (setjmp(resetjb) == 0) { - sprgs[0] = mfspr(SPR_SPRG0); - sprgs[1] = mfspr(SPR_SPRG1); - sprgs[2] = mfspr(SPR_SPRG2); - sprgs[3] = mfspr(SPR_SPRG3); - srrs[0] = mfspr(SPR_SRR0); - srrs[1] = mfspr(SPR_SRR1); - timebase = mftb(); - powerpc_sync(); - flush_disable_caches(); - hid0 = mfspr(SPR_HID0); - hid0 = (hid0 & ~(HID0_DOZE | HID0_NAP)) | HID0_SLEEP; - powerpc_sync(); - isync(); - msr = mfmsr() | PSL_POW; - mtspr(SPR_HID0, hid0); - powerpc_sync(); - - while (1) - mtmsr(msr); - } - mttb(timebase); - PCPU_SET(curthread, curthread); - PCPU_SET(curpcb, curthread->td_pcb); - pmap_activate(curthread); - powerpc_sync(); - mtspr(SPR_SPRG0, sprgs[0]); - mtspr(SPR_SPRG1, sprgs[1]); - mtspr(SPR_SPRG2, sprgs[2]); - mtspr(SPR_SPRG3, sprgs[3]); - mtspr(SPR_SRR0, srrs[0]); - mtspr(SPR_SRR1, srrs[1]); - mtmsr(saved_msr); - if (fputd == curthread) - enable_fpu(curthread); - if (vectd == curthread) - enable_vec(curthread); - powerpc_sync(); -} - int pmu_set_speed(int low_speed) { @@ -1114,7 +1044,7 @@ pmu_set_speed(int low_speed) sleepcmd[4] = low_speed; pmu_send(sc, PMU_CPU_SPEED, 5, sleepcmd, 16, resp); unin_chip_sleep(NULL, 1); - pmu_sleep_int(); + platform_sleep(); unin_chip_wake(NULL); mtdec(1); /* Force a decrementer exception */ Modified: head/sys/powerpc/powerpc/genassym.c ============================================================================== --- head/sys/powerpc/powerpc/genassym.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/powerpc/genassym.c Fri Jan 31 03:55:34 2014 (r261309) @@ -62,6 +62,7 @@ ASSYM(PC_CURPMAP, offsetof(struct pcpu, ASSYM(PC_TEMPSAVE, offsetof(struct pcpu, pc_tempsave)); ASSYM(PC_DISISAVE, offsetof(struct pcpu, pc_disisave)); ASSYM(PC_DBSAVE, offsetof(struct pcpu, pc_dbsave)); +ASSYM(PC_RESTORE, offsetof(struct pcpu, pc_restore)); #if defined(BOOKE) ASSYM(PC_BOOKE_CRITSAVE, offsetof(struct pcpu, pc_booke_critsave)); Modified: head/sys/powerpc/powerpc/mp_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/mp_machdep.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/powerpc/mp_machdep.c Fri Jan 31 03:55:34 2014 (r261309) @@ -72,29 +72,12 @@ int longfault(faultbuf, int); void machdep_ap_bootstrap(void) { - jmp_buf *restore; - - /* The following is needed for restoring from sleep. */ -#ifdef __powerpc64__ - /* Writing to the time base register is hypervisor-privileged */ - if (mfmsr() & PSL_HV) - mttb(0); -#else - mttb(0); -#endif - /* Set up important bits on the CPU (HID registers, etc.) */ - cpudep_ap_setup(); /* Set PIR */ PCPU_SET(pir, mfspr(SPR_PIR)); PCPU_SET(awake, 1); __asm __volatile("msync; isync"); - restore = PCPU_GET(restore); - if (restore != NULL) { - longjmp(*restore, 1); - } - while (ap_letgo == 0) ; Modified: head/sys/powerpc/powerpc/platform.c ============================================================================== --- head/sys/powerpc/powerpc/platform.c Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/powerpc/platform.c Fri Jan 31 03:55:34 2014 (r261309) @@ -196,6 +196,15 @@ platform_timebase_freq(struct cpuref *cp return (PLATFORM_TIMEBASE_FREQ(plat_obj, cpu)); } +/* + * Put the current CPU, as last step in suspend, to sleep + */ +void +platform_sleep() +{ + PLATFORM_SLEEP(plat_obj); +} + int platform_smp_first_cpu(struct cpuref *cpu) { Modified: head/sys/powerpc/powerpc/platform_if.m ============================================================================== --- head/sys/powerpc/powerpc/platform_if.m Fri Jan 31 03:39:11 2014 (r261308) +++ head/sys/powerpc/powerpc/platform_if.m Fri Jan 31 03:55:34 2014 (r261309) @@ -210,3 +210,10 @@ METHOD void reset { platform_t _plat; }; +/** + * @brief Suspend the CPU + */ +METHOD void sleep { + platform_t _plat; +}; + From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 03:57:50 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6046391E; Fri, 31 Jan 2014 03:57:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4C9A9157B; Fri, 31 Jan 2014 03:57:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V3voAL094876; Fri, 31 Jan 2014 03:57:50 GMT (envelope-from jmg@svn.freebsd.org) Received: (from jmg@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V3voq1094875; Fri, 31 Jan 2014 03:57:50 GMT (envelope-from jmg@svn.freebsd.org) Message-Id: <201401310357.s0V3voq1094875@svn.freebsd.org> From: John-Mark Gurney Date: Fri, 31 Jan 2014 03:57:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261310 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 03:57:50 -0000 Author: jmg Date: Fri Jan 31 03:57:49 2014 New Revision: 261310 URL: http://svnweb.freebsd.org/changeset/base/261310 Log: add a few missing links... Submitted by: J David MFC after: 1 week Modified: head/share/man/man9/Makefile Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Fri Jan 31 03:55:34 2014 (r261309) +++ head/share/man/man9/Makefile Fri Jan 31 03:57:49 2014 (r261310) @@ -1538,9 +1538,13 @@ MLINKS+=vslock.9 vsunlock.9 MLINKS+=zero_copy.9 zero_copy_sockets.9 MLINKS+=zone.9 uma.9 \ zone.9 uma_zalloc.9 \ + zone.9 uma_zalloc_arg.9 \ zone.9 uma_zcreate.9 \ zone.9 uma_zdestroy.9 \ zone.9 uma_zfree.9 \ + zone.9 uma_zfree_arg.9 \ + zone.9 uma_zone_get_cur.9 \ + zone.9 uma_zone_get_max.9 \ zone.9 uma_zone_set_max.9 .include From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 07:14:22 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8E6C16B5; Fri, 31 Jan 2014 07:14:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7A5C111A6; Fri, 31 Jan 2014 07:14:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V7EMhg071452; Fri, 31 Jan 2014 07:14:22 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V7EM3p071451; Fri, 31 Jan 2014 07:14:22 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401310714.s0V7EM3p071451@svn.freebsd.org> From: Hans Petter Selasky Date: Fri, 31 Jan 2014 07:14:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261315 - head/sys/dev/usb/input X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 07:14:22 -0000 Author: hselasky Date: Fri Jan 31 07:14:21 2014 New Revision: 261315 URL: http://svnweb.freebsd.org/changeset/base/261315 Log: Fix for unexpected selection with two fingers sometimes. Fix for unexpected scrolling when click with two fingers. Submitted by: Huang Wen Hui MFC after: 1 week Modified: head/sys/dev/usb/input/wsp.c Modified: head/sys/dev/usb/input/wsp.c ============================================================================== --- head/sys/dev/usb/input/wsp.c Fri Jan 31 04:06:00 2014 (r261314) +++ head/sys/dev/usb/input/wsp.c Fri Jan 31 07:14:21 2014 (r261315) @@ -605,7 +605,8 @@ struct wsp_softc { int dz_count; #define WSP_DZ_MAX_COUNT 32 int dt_sum; /* T-axis cumulative movement */ - + + uint8_t o_ntouch; /* old touch finger status */ uint8_t finger; /* 0 or 1 *, check which finger moving */ uint16_t intr_count; #define WSP_TAP_THRESHOLD 3 @@ -871,7 +872,6 @@ wsp_intr_callback(struct usb_xfer *xfer, int dx = 0; int dy = 0; int dz = 0; - int n = 0; int len; int i; @@ -936,13 +936,9 @@ wsp_intr_callback(struct usb_xfer *xfer, f[i].tool_major, f[i].tool_minor, f[i].orientation, f[i].touch_major, f[i].touch_minor, f[i].multi); - if (f[i].touch_major < tun.pressure_untouch_threshold) - continue; - - sc->pos_x[n] = f[i].abs_x; - sc->pos_y[n] = params->y.min + params->y.max - f[i].abs_y; - sc->index[n] = &f[i]; - n++; + sc->pos_x[i] = f[i].abs_x; + sc->pos_y[i] = params->y.min + params->y.max - f[i].abs_y; + sc->index[i] = &f[i]; } sc->sc_status.flags &= ~MOUSE_POSCHANGED; @@ -957,8 +953,8 @@ wsp_intr_callback(struct usb_xfer *xfer, if (h->q2 == 4) sc->intr_count++; - if (sc->ntaps < n) { - switch (n) { + if (sc->ntaps < ntouch) { + switch (ntouch) { case 1: if (f[0].touch_major > tun.pressure_tap_threshold) sc->ntaps = 1; @@ -978,7 +974,7 @@ wsp_intr_callback(struct usb_xfer *xfer, break; } } - if (n == 2) { + if (ntouch == 2) { sc->distance = max(sc->distance, max( abs(sc->pos_x[0] - sc->pos_x[1]), abs(sc->pos_y[0] - sc->pos_y[1]))); @@ -1050,15 +1046,34 @@ wsp_intr_callback(struct usb_xfer *xfer, if (sc->sc_touch == WSP_SECOND_TOUCH) sc->sc_touch = WSP_TOUCHING; - if (n != 0 && + if (ntouch != 0 && h->q2 == 4 && f[0].touch_major >= tun.pressure_touch_threshold) { dx = sc->pos_x[0] - sc->pre_pos_x; dy = sc->pos_y[0] - sc->pre_pos_y; - if (n == 2 && sc->sc_status.button != 0) { + + /* Ignore movement from ibt=1 to ibt=0 */ + if (sc->sc_status.obutton != 0 && + sc->sc_status.button == 0) { + dx = 0; + dy = 0; + } + /* Ignore movement if ntouch changed */ + if (sc->o_ntouch != ntouch) { + dx = 0; + dy = 0; + } + + if (ntouch == 2 && sc->sc_status.button != 0) { dx = sc->pos_x[sc->finger] - sc->pre_pos_x; dy = sc->pos_y[sc->finger] - sc->pre_pos_y; - if (f[0].origin == 0 || f[1].origin == 0) { + + /* + * Ignore movement of switch finger or + * movement from ibt=0 to ibt=1 + */ + if (f[0].origin == 0 || f[1].origin == 0 || + sc->sc_status.obutton != sc->sc_status.button) { dx = 0; dy = 0; sc->finger = 0; @@ -1092,7 +1107,7 @@ wsp_intr_callback(struct usb_xfer *xfer, sc->dx_sum += dx; sc->dy_sum += dy; - if (n == 2 && sc->sc_status.button == 0) { + if (ntouch == 2 && sc->sc_status.button == 0) { if (sc->scr_mode == WSP_SCR_NONE && abs(sc->dx_sum) + abs(sc->dy_sum) > 50) sc->scr_mode = abs(sc->dx_sum) > @@ -1134,10 +1149,12 @@ wsp_intr_callback(struct usb_xfer *xfer, sc->pre_pos_x = sc->pos_x[0]; sc->pre_pos_y = sc->pos_y[0]; - if (n == 2 && sc->sc_status.button != 0) { + if (ntouch == 2 && sc->sc_status.button != 0) { sc->pre_pos_x = sc->pos_x[sc->finger]; sc->pre_pos_y = sc->pos_y[sc->finger]; } + sc->o_ntouch = ntouch; + case USB_ST_SETUP: tr_setup: /* check if we can put more data into the FIFO */ From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 07:56:05 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1B1F1AF4; Fri, 31 Jan 2014 07:56:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E13E2149B; Fri, 31 Jan 2014 07:56:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V7u450087730; Fri, 31 Jan 2014 07:56:04 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V7u4Qv087729; Fri, 31 Jan 2014 07:56:04 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201401310756.s0V7u4Qv087729@svn.freebsd.org> From: Xin LI Date: Fri, 31 Jan 2014 07:56:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261317 - head/sys/cddl/contrib/opensolaris X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 07:56:05 -0000 Author: delphij Date: Fri Jan 31 07:56:04 2014 New Revision: 261317 URL: http://svnweb.freebsd.org/changeset/base/261317 Log: Note that r261316 is already done independently by avg@ in r260812. Modified: Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 08:48:26 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 56A0EB5D; Fri, 31 Jan 2014 08:48:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2879917E3; Fri, 31 Jan 2014 08:48:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0V8mQTo008572; Fri, 31 Jan 2014 08:48:26 GMT (envelope-from maxim@svn.freebsd.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0V8mQtU008571; Fri, 31 Jan 2014 08:48:26 GMT (envelope-from maxim@svn.freebsd.org) Message-Id: <201401310848.s0V8mQtU008571@svn.freebsd.org> From: Maxim Konovalov Date: Fri, 31 Jan 2014 08:48:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261318 - head/share/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 08:48:26 -0000 Author: maxim Date: Fri Jan 31 08:48:25 2014 New Revision: 261318 URL: http://svnweb.freebsd.org/changeset/base/261318 Log: o NetBSD 6.1.3 added. Modified: head/share/misc/bsd-family-tree Modified: head/share/misc/bsd-family-tree ============================================================================== --- head/share/misc/bsd-family-tree Fri Jan 31 07:56:04 2014 (r261317) +++ head/share/misc/bsd-family-tree Fri Jan 31 08:48:25 2014 (r261318) @@ -284,23 +284,17 @@ FreeBSD 5.2 | | | | 8.4 | | NetBSD 6.1.1 | | | | | | | | | | FreeBSD | | NetBSD 6.1.2 | | - | 9.2 Mac OS X | | | - | 10.9 | OpenBSD 5.4 | - | | | | DragonFly 3.6.0 + | 9.2 Mac OS X | | | | + | 10.9 | | OpenBSD 5.4 | + | | | | | DragonFly 3.6.0 + | | | | | | + *--FreeBSD | | NetBSD 6.1.3 | | + | 10.0 | | | | | | | | | | | | | | +FreeBSD 11 -current | NetBSD -current OpenBSD -current | | | | | | - | | | | | - | | NetBSD -current OpenBSD -current | - | | | | | - | v v v v - | - *--FreeBSD - | 10.0 - | - | -FreeBSD 11 -current - v + v v v v v Time ---------------- @@ -616,6 +610,7 @@ Mac OS X 10.9 2013-10-22 [APL] OpenBSD 5.4 2013-11-01 [OBD] DragonFly 3.6.0 2013-11-25 [DFB] FreeBSD 10.0 2014-01-20 [FBD] +NetBSD 6.1.3 2014-01-27 [NBD] Bibliography ------------------------ From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 12:26:32 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 56DE7FD9; Fri, 31 Jan 2014 12:26:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 40E0E1A42; Fri, 31 Jan 2014 12:26:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VCQWZA096055; Fri, 31 Jan 2014 12:26:32 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VCQVZW096049; Fri, 31 Jan 2014 12:26:31 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201401311226.s0VCQVZW096049@svn.freebsd.org> From: Ulrich Spoerlein Date: Fri, 31 Jan 2014 12:26:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261319 - in head: contrib/groff/tmac gnu/usr.bin/groff/tmac X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 12:26:32 -0000 Author: uqs Date: Fri Jan 31 12:26:30 2014 New Revision: 261319 URL: http://svnweb.freebsd.org/changeset/base/261319 Log: Pull up vendor changes up to 2014-01-29 - move local overrides into mdoc.local - syncs us with git commit 819839b66c80e8dabe6cb24ea6319c26c9a2be14 Discussed with: ru MFC after: 2 weeks Modified: head/contrib/groff/tmac/doc-common head/contrib/groff/tmac/doc-syms head/contrib/groff/tmac/doc.tmac head/contrib/groff/tmac/groff_mdoc.man head/gnu/usr.bin/groff/tmac/mdoc.local Modified: head/contrib/groff/tmac/doc-common ============================================================================== --- head/contrib/groff/tmac/doc-common Fri Jan 31 08:48:25 2014 (r261318) +++ head/contrib/groff/tmac/doc-common Fri Jan 31 12:26:30 2014 (r261319) @@ -37,6 +37,7 @@ . .nr %A 1 .nr %B 1 +.nr %C 1 .nr %D 1 .nr %I 1 .nr %J 1 @@ -484,7 +485,15 @@ .ds doc-operating-system-NetBSD-5.0.1 5.0.1 .ds doc-operating-system-NetBSD-5.0.2 5.0.2 .ds doc-operating-system-NetBSD-5.1 5.1 +.ds doc-operating-system-NetBSD-5.1.2 5.1.2 +.ds doc-operating-system-NetBSD-5.1.3 5.1.3 +.ds doc-operating-system-NetBSD-5.2 5.2 +.ds doc-operating-system-NetBSD-5.2.1 5.2.1 .ds doc-operating-system-NetBSD-6.0 6.0 +.ds doc-operating-system-NetBSD-6.0.1 6.0.1 +.ds doc-operating-system-NetBSD-6.0.2 6.0.2 +.ds doc-operating-system-NetBSD-6.0.3 6.0.3 +.ds doc-operating-system-NetBSD-6.1 6.1 . .ds doc-operating-system-OpenBSD-2.0 2.0 .ds doc-operating-system-OpenBSD-2.1 2.1 @@ -517,6 +526,10 @@ .ds doc-operating-system-OpenBSD-4.8 4.8 .ds doc-operating-system-OpenBSD-4.9 4.9 .ds doc-operating-system-OpenBSD-5.0 5.0 +.ds doc-operating-system-OpenBSD-5.1 5.1 +.ds doc-operating-system-OpenBSD-5.2 5.2 +.ds doc-operating-system-OpenBSD-5.3 5.3 +.ds doc-operating-system-OpenBSD-5.4 5.4 . .ds doc-operating-system-FreeBSD-1.0 1.0 .ds doc-operating-system-FreeBSD-1.1 1.1 @@ -535,6 +548,7 @@ .ds doc-operating-system-FreeBSD-2.2.6 2.2.6 .ds doc-operating-system-FreeBSD-2.2.7 2.2.7 .ds doc-operating-system-FreeBSD-2.2.8 2.2.8 +.ds doc-operating-system-FreeBSD-2.2.9 2.2.9 .ds doc-operating-system-FreeBSD-3.0 3.0 .ds doc-operating-system-FreeBSD-3.1 3.1 .ds doc-operating-system-FreeBSD-3.2 3.2 @@ -575,6 +589,7 @@ .ds doc-operating-system-FreeBSD-8.1 8.1 .ds doc-operating-system-FreeBSD-8.2 8.2 .ds doc-operating-system-FreeBSD-9.0 9.0 +.ds doc-operating-system-FreeBSD-10.0 10.0 . .ds doc-operating-system-Darwin-8.0.0 8.0.0 .ds doc-operating-system-Darwin-8.1.0 8.1.0 @@ -613,21 +628,37 @@ .ds doc-operating-system-DragonFly-1.4 1.4 .ds doc-operating-system-DragonFly-1.5 1.5 .ds doc-operating-system-DragonFly-1.6 1.6 +.ds doc-operating-system-DragonFly-1.7 1.7 .ds doc-operating-system-DragonFly-1.8 1.8 .ds doc-operating-system-DragonFly-1.8.1 1.8.1 +.ds doc-operating-system-DragonFly-1.9 1.9 .ds doc-operating-system-DragonFly-1.10 1.10 +.ds doc-operating-system-DragonFly-1.11 1.11 .ds doc-operating-system-DragonFly-1.12 1.12 .ds doc-operating-system-DragonFly-1.12.2 1.12.2 +.ds doc-operating-system-DragonFly-1.13 1.13 .ds doc-operating-system-DragonFly-2.0 2.0 +.ds doc-operating-system-DragonFly-2.1 2.1 .ds doc-operating-system-DragonFly-2.2 2.2 +.ds doc-operating-system-DragonFly-2.3 2.3 .ds doc-operating-system-DragonFly-2.4 2.4 +.ds doc-operating-system-DragonFly-2.5 2.5 .ds doc-operating-system-DragonFly-2.6 2.6 +.ds doc-operating-system-DragonFly-2.7 2.7 .ds doc-operating-system-DragonFly-2.8 2.8 .ds doc-operating-system-DragonFly-2.9 2.9 .ds doc-operating-system-DragonFly-2.9.1 2.9.1 .ds doc-operating-system-DragonFly-2.10 2.10 .ds doc-operating-system-DragonFly-2.10.1 2.10.1 .ds doc-operating-system-DragonFly-2.11 2.11 +.ds doc-operating-system-DragonFly-3.0 3.0 +.ds doc-operating-system-DragonFly-3.1 3.1 +.ds doc-operating-system-DragonFly-3.2 3.2 +.ds doc-operating-system-DragonFly-3.3 3.3 +.ds doc-operating-system-DragonFly-3.4 3.4 +.ds doc-operating-system-DragonFly-3.5 3.5 +.ds doc-operating-system-DragonFly-3.6 3.6 +.ds doc-operating-system-DragonFly-3.7 3.7 . .de Os . ds doc-command-name Modified: head/contrib/groff/tmac/doc-syms ============================================================================== --- head/contrib/groff/tmac/doc-syms Fri Jan 31 08:48:25 2014 (r261318) +++ head/contrib/groff/tmac/doc-syms Fri Jan 31 12:26:30 2014 (r261319) @@ -812,7 +812,6 @@ .ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-librt \*[Px] \*[doc-str-Lb]Real-time Library (librt, \-lrt) -.ds doc-str-Lb-libsbuf Safe String Composition Library (libsbuf, \-lsbuf) .ds doc-str-Lb-libsdp Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp) .ds doc-str-Lb-libssp Buffer Overflow Protection Library (libssp, \-lssp) .ds doc-str-Lb-libSystem System Library (libSystem, \-lSystem) Modified: head/contrib/groff/tmac/doc.tmac ============================================================================== --- head/contrib/groff/tmac/doc.tmac Fri Jan 31 08:48:25 2014 (r261318) +++ head/contrib/groff/tmac/doc.tmac Fri Jan 31 12:26:30 2014 (r261319) @@ -3423,6 +3423,8 @@ . . nr doc-book-count-saved \n[doc-book-count] . ds doc-book-name-saved "\*[doc-book-name] +. nr doc-city-count-saved \n[doc-city-count] +. ds doc-city-name-saved "\*[doc-city-name] . nr doc-date-count-saved \n[doc-date-count] . ds doc-date-saved "\*[doc-date] . nr doc-publisher-count-saved \n[doc-publisher-count] @@ -3565,6 +3567,8 @@ . . nr doc-book-count \n[doc-book-count-saved] . ds doc-book-name "\*[doc-book-name-saved] +. nr doc-city-count \n[doc-city-count-saved] +. ds doc-city-name "\*[doc-city-name-saved] . nr doc-date-count \n[doc-date-count-saved] . ds doc-date "\*[doc-date-saved] . nr doc-publisher-count \n[doc-publisher-count-saved] @@ -5190,6 +5194,8 @@ .\" NS doc-author-nameXXX .\" NS doc-book-count .\" NS doc-book-name +.\" NS doc-city-count +.\" NS doc-city-name .\" NS doc-corporate-count .\" NS doc-corporate-name .\" NS doc-date @@ -5228,6 +5234,7 @@ . nr doc-reference-title-count 0 . nr doc-url-count 0 . nr doc-volume-count 0 +. nr doc-city-count 0 . nr doc-date-count 0 . nr doc-page-number-count 0 . nr doc-book-count 0 @@ -5243,6 +5250,7 @@ . ds doc-reference-title-name-for-book . ds doc-url-name . ds doc-volume-name +. ds doc-city-name . ds doc-date . ds doc-page-number-string . ds doc-book-name @@ -5357,6 +5365,13 @@ . doc-finish-reference \n[doc-corporate-count] . \} . +. if \n[doc-city-count] \{\ +. unformat doc-city-name +. chop doc-city-name +. nop \*[doc-city-name]\c +. doc-finish-reference \n[doc-city-count] +. \} +. . if \n[doc-date-count] \{\ . unformat doc-date . chop doc-date @@ -5528,6 +5543,60 @@ .. . . +.\" NS doc-city-count global register +.\" NS counter of city references +. +.nr doc-city-count 0 +. +. +.\" NS doc-city-name global box +.\" NS string of collected city references +. +.ds doc-city-name +. +. +.\" NS %C user macro +.\" NS [reference] city +.\" NS +.\" NS modifies: +.\" NS doc-arg-ptr +.\" NS doc-curr-font +.\" NS doc-curr-size +.\" NS doc-city-count +.\" NS doc-macro-name +.\" NS doc-reference-count +.\" NS +.\" NS local variables: +.\" NS doc-env-%C +.\" NS +.\" NS width register `%C' set in doc-common +. +.de %C +. if (\n[doc-arg-limit] : (\n[.$] == 0)) \{\ +. tm Usage: .%C city_name ... (#\n[.c]) +. return +. \} +. +. nr doc-city-count +1 +. nr doc-reference-count +1 +. +. ds doc-macro-name %C +. doc-parse-args \$@ +. +. nr doc-arg-ptr +1 +. nr doc-curr-font \n[.f] +. nr doc-curr-size \n[.ps] +. +. \" append to reference box +. boxa doc-city-name +. ev doc-env-%C +. evc 0 +. in 0 +. nf +. doc-do-references +.. +. +. .\" NS doc-date-count global register .\" NS counter of date references . Modified: head/contrib/groff/tmac/groff_mdoc.man ============================================================================== --- head/contrib/groff/tmac/groff_mdoc.man Fri Jan 31 08:48:25 2014 (r261318) +++ head/contrib/groff/tmac/groff_mdoc.man Fri Jan 31 12:26:30 2014 (r261319) @@ -1,3 +1,4 @@ +.\" t .\" groff_mdoc.man .\" .\" A complete reference of the mdoc macro package for GNU troff. @@ -613,10 +614,10 @@ These commands identify the page and are The remaining items in the template are section headers .Pf ( Li .Sh ) ; of which -.Sx NAME , -.Sx SYNOPSIS , +.Em NAME , +.Em SYNOPSIS , and -.Sx DESCRIPTION +.Em DESCRIPTION are mandatory. The headers are discussed in .Sx "PAGE STRUCTURE DOMAIN" , @@ -723,34 +724,36 @@ Under .Tn \*[operating-system] , the following sections are defined: .Pp -.Bl -column LOCAL -offset indent -compact -.It Li 1 Ta "\*[volume-operating-system] \*[volume-ds-1]" -.It Li 2 Ta "\*[volume-operating-system] \*[volume-ds-2]" -.It Li 3 Ta "\*[volume-operating-system] \*[volume-ds-3]" -.It Li 4 Ta "\*[volume-operating-system] \*[volume-ds-4]" -.It Li 5 Ta "\*[volume-operating-system] \*[volume-ds-5]" -.It Li 6 Ta "\*[volume-operating-system] \*[volume-ds-6]" -.It Li 7 Ta "\*[volume-operating-system] \*[volume-ds-7]" -.It Li 8 Ta "\*[volume-operating-system] \*[volume-ds-8]" -.It Li 9 Ta "\*[volume-operating-system] \*[volume-ds-9]" -.El +.TS +l l l. +1 \*[volume-operating-system] \*[volume-ds-1] +2 \*[volume-operating-system] \*[volume-ds-2] +3 \*[volume-operating-system] \*[volume-ds-3] +4 \*[volume-operating-system] \*[volume-ds-4] +5 \*[volume-operating-system] \*[volume-ds-5] +6 \*[volume-operating-system] \*[volume-ds-6] +7 \*[volume-operating-system] \*[volume-ds-7] +8 \*[volume-operating-system] \*[volume-ds-8] +9 \*[volume-operating-system] \*[volume-ds-9] +.TE .Pp . A volume name may be arbitrary or one of the following: . .Pp -.Bl -column LOCAL -offset indent -compact -.It Li USD Ta "\*[volume-ds-USD]" -.It Li PS1 Ta "\*[volume-ds-PS1]" -.It Li AMD Ta "\*[volume-ds-AMD]" -.It Li SMM Ta "\*[volume-ds-SMM]" -.It Li URM Ta "\*[volume-ds-URM]" -.It Li PRM Ta "\*[volume-ds-PRM]" -.It Li KM Ta "\*[volume-ds-KM]" -.It Li IND Ta "\*[volume-ds-IND]" -.It Li LOCAL Ta "\*[volume-ds-LOCAL]" -.It Li CON Ta "\*[volume-ds-CON]" -.El +.TS +l l. +USD \*[volume-ds-USD] +PS1 \*[volume-ds-PS1] +AMD \*[volume-ds-AMD] +SMM \*[volume-ds-SMM] +URM \*[volume-ds-URM] +PRM \*[volume-ds-PRM] +KM \*[volume-ds-KM] +IND \*[volume-ds-IND] +LOCAL \*[volume-ds-LOCAL] +CON \*[volume-ds-CON] +.TE .Pp . For compatibility, @@ -1208,7 +1211,7 @@ documented, or the name of the author of The default width is 12n. .Pp In the -.Sx AUTHORS +.Em AUTHORS section, the .Ql .An command causes a line break allowing each new name to appear on its own @@ -1834,7 +1837,7 @@ then denotes the keyword to be used with macro. .Pp In the -.Sx LIBRARY +.Em LIBRARY section an .Ql .Lb command causes a line break before and after its arguments are printed. @@ -1882,7 +1885,7 @@ section. Note: A section two or three document function name is addressed with the .Ql .Nm in the -.Sx NAME +.Em NAME section, and with .Ql .Fn in the @@ -2398,20 +2401,20 @@ respectively. .if t \ . ne 10 . -.Bd -filled -offset 4n -.Bl -column "quote" "close" "open" "Angle Bracket Enclosure" "`string' or string" -.Em Quote Ta Em Open Ta Em Close Ta Em Function Ta Em Result -.No .Aq Ta .Ao Ta .Ac Ta "Angle Bracket Enclosure" Ta Ao string Ac -.No .Bq Ta .Bo Ta .Bc Ta "Bracket Enclosure" Ta Bo string Bc -.No .Brq Ta .Bro Ta .Brc Ta "Brace Enclosure" Ta Bro string Brc -.No .Dq Ta .Do Ta .Dc Ta "Double Quote" Ta Do string Dc -.No .Eq Ta .Eo Ta .Ec Ta "Enclose String (in XX)" Ta XXstringXX -.No .Pq Ta .Po Ta .Pc Ta "Parenthesis Enclosure" Ta Po string Pc -.No .Ql Ta Ta Ta "Quoted Literal" Ta So string Sc or Li string -.No .Qq Ta .Qo Ta .Qc Ta "Straight Double Quote" Ta Qo string Qc -.No .Sq Ta .So Ta .Sc Ta "Single Quote" Ta So string Sc -.El -.Ed +.TS +lb lb lb lb lb +l l l l l. +Quote Open Close Function Result +\&.Aq .Ao .Ac Angle Bracket Enclosure +\&.Bq .Bo .Bc Bracket Enclosure [string] +\&.Brq .Bro .Brc Brace Enclosure {string} +\&.Dq .Do .Dc Double Quote "string" +\&.Eq .Eo .Ec Enclose String (in XX) XXstring +\&.Pq .Po .Pc Parenthesis Enclosure (string) +\&.Ql Quoted Literal \*[Lq]string\*[Rq] or string +\&.Qq .Qo .Qc Straight Double Quote "string" +\&.Sq .So .Sc Single Quote 'string' +.TE .Pp All macros ending with .Sq q @@ -2634,7 +2637,7 @@ Reference author name; one name per invo .It Li .%B Book title. .It Li .%C -City/place (not implemented yet). +City/place. .It Li .%D Date. .It Li .%I @@ -2681,7 +2684,8 @@ Example: \&.%A "John Foo" \&.%T "Implementation Notes on foobar(1)" \&.%R "Technical Report ABC\-DE\-12\-345" -\&.%Q "Drofnats College, Nowhere" +\&.%Q "Drofnats College" +\&.%C "Nowhere" \&.%D "April 1991" \&.Re .Ed @@ -2694,7 +2698,8 @@ produces .%A "John Foo" .%T "Implementation Notes on foobar(1)" .%R "Technical Report ABC-DE-12-345" -.%Q "Drofnats College, Nowhere" +.%Q "Drofnats College" +.%C "Nowhere" .%D "April 1991" .Re .Ed @@ -2839,7 +2844,7 @@ macro is mandatory. If not specified, headers, footers and page layout defaults will not be set and things will be rather unpleasant. The -.Sx NAME +.Em NAME section consists of at least three items. The first is the .Ql .Nm @@ -2949,7 +2954,7 @@ They are listed in the order in which th .Bl -tag -width ".Li .Sh\ COMPATIBILITY" .It Li ".Sh ENVIRONMENT" The -.Sx ENVIRONMENT +.Em ENVIRONMENT section should reveal any related environment variables and clues to their behavior and/or usage. . @@ -2964,7 +2969,7 @@ section. .It Li ".Sh EXAMPLES" There are several ways to create examples. See the -.Sx EXAMPLES +.Em EXAMPLES section below for details. . .It Li ".Sh DIAGNOSTICS" @@ -3019,7 +3024,7 @@ or this should be noted here. If the command does not adhere to any standard, its history should be noted in the -.Sx HISTORY +.Em HISTORY section. . .It Li ".Sh HISTORY" @@ -4045,28 +4050,30 @@ It is neither callable nor parsed and ta . The following strings are predefined: .Pp -.Bl -column String infinity "Troff " "straight double quote" -offset indent -.It Sy String Ta Sy Nroff Ta Sy Troff Ta Sy Meaning -.It Li <= Ta <= Ta \*[<=] Ta "less equal" -.It Li >= Ta >= Ta \*[>=] Ta "greater equal" -.It Li Rq Ta '' Ta \*[Rq] Ta "right double quote" -.It Li Lq Ta `` Ta \*[Lq] Ta "left double quote" -.It Li ua Ta ^ Ta \*[ua] Ta "upwards arrow" -.It Li aa Ta \' Ta \*[aa] Ta "acute accent" -.It Li ga Ta \` Ta \*[ga] Ta "grave accent" -.It Li q Ta \&" Ta \*[q] Ta "straight double quote" -.It Li Pi Ta pi Ta \*[Pi] Ta "greek pi" -.It Li Ne Ta != Ta \*[Ne] Ta "not equal" -.It Li Le Ta <= Ta \*[Le] Ta "less equal" -.It Li Ge Ta >= Ta \*[Ge] Ta "greater equal" -.It Li Lt Ta < Ta \*[Lt] Ta "less than" -.It Li Gt Ta > Ta \*[Gt] Ta "greater than" -.It Li Pm Ta +\- Ta \*[Pm] Ta "plus minus" -.It Li If Ta infinity Ta \*[If] Ta "infinity" -.It Li Am Ta \*[Am] Ta \*[Am] Ta "ampersand" -.It Li Na Ta \*[Na] Ta \*[Na] Ta "not a number" -.It Li Ba Ta \*[Ba] Ta \*[Ba] Ta "vertical bar" -.El +.TS +lb lb lb lb +l l l l. +String Nroff Troff Meaning +<= <= \*[<=] less equal +>= >= \*[>=] greater equal +Rq '' \*[Rq] right double quote +Lq `` \*[Lq] left double quote +ua ^ \*[ua] upwards arrow +aa \' \*[aa] acute accent +ga \` \*[ga] grave accent +q \&" \*[q] straight double quote +Pi pi \*[Pi] greek pi +Ne != \*[Ne] not equal +Le <= \*[Le] less equal +Ge >= \*[Ge] greater equal +Lt < \*[Lt] less than +Gt > \*[Gt] greater than +Pm +\- \*[Pm] plus minus +If infinity \*[If] infinity +Am \*[Am] \*[Am] ampersand +Na \*[Na] \*[Na] not a number +Ba \*[Ba] \*[Ba] vertical bar +.TE .Pp The names of the columns .Sy Nroff @@ -4212,7 +4219,7 @@ Section 3f has not been added to the hea .Pp .Ql \&.Nm font should be changed in -.Sx NAME +.Em NAME section. .Pp .Ql \&.Fn Modified: head/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- head/gnu/usr.bin/groff/tmac/mdoc.local Fri Jan 31 08:48:25 2014 (r261318) +++ head/gnu/usr.bin/groff/tmac/mdoc.local Fri Jan 31 12:26:30 2014 (r261319) @@ -43,6 +43,7 @@ .ds doc-str-Lb-libproc Processor Monitoring and Analysis Library (libproc, \-lproc) .ds doc-str-Lb-libprocstat Process and Files Information Retrieval (libprocstat, \-lprocstat) .ds doc-str-Lb-librtld_db Run-time Linker Debugging Library (librtld_db, \-lrtld_db) +.ds doc-str-Lb-libsbuf Safe String Composition Library (libsbuf, \-lsbuf) .ds doc-str-Lb-libstdthreads C11 Threads Library (libstdthreads, \-lstdthreads) . .\" Default .Os value From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 12:28:57 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AF0CD293; Fri, 31 Jan 2014 12:28:57 +0000 (UTC) Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69]) by mx1.freebsd.org (Postfix) with ESMTP id 6F8031A59; Fri, 31 Jan 2014 12:28:57 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [198.74.231.63]) by cyrus.watson.org (Postfix) with ESMTPS id 0B80F46B20; Fri, 31 Jan 2014 07:28:57 -0500 (EST) Date: Fri, 31 Jan 2014 12:28:56 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Jamie Gritton Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail In-Reply-To: <201401291341.s0TDfDcB068211@svn.freebsd.org> Message-ID: References: <201401291341.s0TDfDcB068211@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 12:28:57 -0000 Hi Jamie: As these privileges basically allows root processes in jail to break out of jail, I think this needs a much more clear signpost that this is a very unsafe thing to turn on. I can imagine scenarios where this might be useful, but can't really imagine any where it is 'safe' with respect to the jail model. Can we put a very large and very clear warning in the jail(8) man page, as well as a comment in the kernel source code about this? Robert On Wed, 29 Jan 2014, Jamie Gritton wrote: > Author: jamie > Date: Wed Jan 29 13:41:13 2014 > New Revision: 261266 > URL: http://svnweb.freebsd.org/changeset/base/261266 > > Log: > Add a jail parameter, allow.kmem, which lets jailed processes access > /dev/kmem and related devices (i.e. grants PRIV_IO and PRIV_KMEM_WRITE). > This in conjunction with changing the drm driver's permission check from > PRIV_DRIVER to PRIV_KMEM_WRITE will allow a jailed Xorg server. > > Submitted by: netchild > MFC after: 1 week > > Modified: > head/sys/dev/drm/drmP.h > head/sys/kern/kern_jail.c > head/sys/sys/jail.h > head/usr.sbin/jail/jail.8 > > Modified: head/sys/dev/drm/drmP.h > ============================================================================== > --- head/sys/dev/drm/drmP.h Wed Jan 29 13:35:12 2014 (r261265) > +++ head/sys/dev/drm/drmP.h Wed Jan 29 13:41:13 2014 (r261266) > @@ -227,7 +227,9 @@ enum { > > #define PAGE_ALIGN(addr) round_page(addr) > /* DRM_SUSER returns true if the user is superuser */ > -#if __FreeBSD_version >= 700000 > +#if __FreeBSD_version >= 1000000 > +#define DRM_SUSER(p) (priv_check(p, PRIV_KMEM_WRITE) == 0) > +#elif __FreeBSD_version >= 700000 > #define DRM_SUSER(p) (priv_check(p, PRIV_DRIVER) == 0) > #else > #define DRM_SUSER(p) (suser(p) == 0) > > Modified: head/sys/kern/kern_jail.c > ============================================================================== > --- head/sys/kern/kern_jail.c Wed Jan 29 13:35:12 2014 (r261265) > +++ head/sys/kern/kern_jail.c Wed Jan 29 13:41:13 2014 (r261266) > @@ -208,6 +208,7 @@ static char *pr_allow_names[] = { > "allow.mount.zfs", > "allow.mount.procfs", > "allow.mount.tmpfs", > + "allow.kmem", > }; > const size_t pr_allow_names_size = sizeof(pr_allow_names); > > @@ -224,6 +225,7 @@ static char *pr_allow_nonames[] = { > "allow.mount.nozfs", > "allow.mount.noprocfs", > "allow.mount.notmpfs", > + "allow.nokmem", > }; > const size_t pr_allow_nonames_size = sizeof(pr_allow_nonames); > > @@ -3951,6 +3953,27 @@ prison_priv_check(struct ucred *cred, in > return (0); > > /* > + * Allow access to /dev/io in a jail if the non-jailed admin > + * requests this and if /dev/io exists in the jail. This > + * allows Xorg to probe a card. > + */ > + case PRIV_IO: > + if (cred->cr_prison->pr_allow & PR_ALLOW_KMEM) > + return (0); > + else > + return (EPERM); > + > + /* > + * Allow low level access to KMEM-like devices (e.g. to > + * allow Xorg to use DRI). > + */ > + case PRIV_KMEM_WRITE: > + if (cred->cr_prison->pr_allow & PR_ALLOW_KMEM) > + return (0); > + else > + return (EPERM); > + > + /* > * Allow jailed root to set loginclass. > */ > case PRIV_PROC_SETLOGINCLASS: > @@ -4384,6 +4407,8 @@ SYSCTL_JAIL_PARAM(_allow, quotas, CTLTYP > "B", "Jail may set file quotas"); > SYSCTL_JAIL_PARAM(_allow, socket_af, CTLTYPE_INT | CTLFLAG_RW, > "B", "Jail may create sockets other than just UNIX/IPv4/IPv6/route"); > +SYSCTL_JAIL_PARAM(_allow, kmem, CTLTYPE_INT | CTLFLAG_RW, > + "B", "Jail may access kmem-like devices (io, dri) if they exist"); > > SYSCTL_JAIL_PARAM_SUBNODE(allow, mount, "Jail mount/unmount permission flags"); > SYSCTL_JAIL_PARAM(_allow_mount, , CTLTYPE_INT | CTLFLAG_RW, > > Modified: head/sys/sys/jail.h > ============================================================================== > --- head/sys/sys/jail.h Wed Jan 29 13:35:12 2014 (r261265) > +++ head/sys/sys/jail.h Wed Jan 29 13:41:13 2014 (r261266) > @@ -228,7 +228,8 @@ struct prison_racct { > #define PR_ALLOW_MOUNT_ZFS 0x0200 > #define PR_ALLOW_MOUNT_PROCFS 0x0400 > #define PR_ALLOW_MOUNT_TMPFS 0x0800 > -#define PR_ALLOW_ALL 0x0fff > +#define PR_ALLOW_KMEM 0x1000 > +#define PR_ALLOW_ALL 0x1fff > > /* > * OSD methods > > Modified: head/usr.sbin/jail/jail.8 > ============================================================================== > --- head/usr.sbin/jail/jail.8 Wed Jan 29 13:35:12 2014 (r261265) > +++ head/usr.sbin/jail/jail.8 Wed Jan 29 13:41:13 2014 (r261266) > @@ -573,6 +573,17 @@ with non-jailed parts of the system. > Sockets within a jail are normally restricted to IPv4, IPv6, local > (UNIX), and route. This allows access to other protocol stacks that > have not had jail functionality added to them. > +.It Va allow.kmem > +Jailed processes may access > +.Pa /dev/kmem > +and similar devices (e.g. io, dri) if they have sufficient permission > +(via the usual file permissions). > +Note that the device files must exist within the jail for this parameter > +to be of any use; > +the default devfs ruleset for jails does not include any such devices. > +Giving a jail access to kernel memory obviates much of the security that > +jails offer, but can still be useful for other purposes. > +For example, this would allow the Xorg server to run inside a jail. > .El > .El > .Pp > From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 12:34:56 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 55C6893F; Fri, 31 Jan 2014 12:34:56 +0000 (UTC) Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69]) by mx1.freebsd.org (Postfix) with ESMTP id 2CA521AFD; Fri, 31 Jan 2014 12:34:56 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [198.74.231.63]) by cyrus.watson.org (Postfix) with ESMTPS id 6038E46B1A; Fri, 31 Jan 2014 07:34:48 -0500 (EST) Date: Fri, 31 Jan 2014 12:34:48 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Alexander Leidinger Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail In-Reply-To: <20140129222210.0000711f@unknown> Message-ID: References: <201401291341.s0TDfDcB068211@svn.freebsd.org> <20140129134344.GW66160@FreeBSD.org> <52E906CD.9050202@freebsd.org> <20140129222210.0000711f@unknown> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org, James Gritton X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 12:34:56 -0000 On Wed, 29 Jan 2014, Alexander Leidinger wrote: >> It does. I included a warning in jail.8 that this will pretty much undo >> jail security. There are still reasons some may want to do this, but it's >> definitely not for everyone or even most people. > > It only "unjails" (= basically the same security level as the jail-host with > the added benefit of the flexibility of a jail like easy moving from one > system to another) the jail which has this flag set. All other jails without > the flag can not "escape" to the host. > > I also have to add that just setting this flag does not give access to the > host, you also have to configure a non-default devfs rule for this jail (to > have the devices appear in the jail). This is not correct: devices do not need to be delegated in devfs for PRIV_IO to allow bypass of the Jail security model, due to sysarch() and the Linux-emulated equivalent, which turn out direct I/O access from a user process without use of a device node. Frankly, I'd like to see this backed out and not reintroduced. If it must be retained, then it needs a much more clear warning that enabling this feature disables Jail's security model. Don't use the word 'obviate', instead explicitly state that root within the jail can escape the jail. Robert From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 13:12:03 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 26771352; Fri, 31 Jan 2014 13:12:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0DB2D1FA0; Fri, 31 Jan 2014 13:12:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VDC2el015433; Fri, 31 Jan 2014 13:12:02 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VDC2L9015431; Fri, 31 Jan 2014 13:12:02 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201401311312.s0VDC2L9015431@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Fri, 31 Jan 2014 13:12:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261320 - in head: crypto/openssh crypto/openssh/contrib/caldera crypto/openssh/contrib/cygwin crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat cr... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 13:12:03 -0000 Author: des Date: Fri Jan 31 13:12:02 2014 New Revision: 261320 URL: http://svnweb.freebsd.org/changeset/base/261320 Log: Upgrade to OpenSSH 6.5p1. Added: head/crypto/openssh/PROTOCOL.chacha20poly1305 - copied unchanged from r261287, vendor-crypto/openssh/dist/PROTOCOL.chacha20poly1305 head/crypto/openssh/PROTOCOL.key - copied unchanged from r261287, vendor-crypto/openssh/dist/PROTOCOL.key head/crypto/openssh/blocks.c - copied unchanged from r261287, vendor-crypto/openssh/dist/blocks.c head/crypto/openssh/chacha.c - copied unchanged from r261287, vendor-crypto/openssh/dist/chacha.c head/crypto/openssh/chacha.h - copied unchanged from r261287, vendor-crypto/openssh/dist/chacha.h head/crypto/openssh/cipher-chachapoly.c - copied unchanged from r261287, vendor-crypto/openssh/dist/cipher-chachapoly.c head/crypto/openssh/cipher-chachapoly.h - copied unchanged from r261287, vendor-crypto/openssh/dist/cipher-chachapoly.h head/crypto/openssh/crypto_api.h - copied unchanged from r261287, vendor-crypto/openssh/dist/crypto_api.h head/crypto/openssh/digest.c - copied unchanged from r261287, vendor-crypto/openssh/dist/digest.c head/crypto/openssh/digest.h - copied unchanged from r261287, vendor-crypto/openssh/dist/digest.h head/crypto/openssh/ed25519.c - copied unchanged from r261287, vendor-crypto/openssh/dist/ed25519.c head/crypto/openssh/fe25519.c - copied unchanged from r261287, vendor-crypto/openssh/dist/fe25519.c head/crypto/openssh/fe25519.h - copied unchanged from r261287, vendor-crypto/openssh/dist/fe25519.h head/crypto/openssh/ge25519.c - copied unchanged from r261287, vendor-crypto/openssh/dist/ge25519.c head/crypto/openssh/ge25519.h - copied unchanged from r261287, vendor-crypto/openssh/dist/ge25519.h head/crypto/openssh/ge25519_base.data - copied unchanged from r261287, vendor-crypto/openssh/dist/ge25519_base.data head/crypto/openssh/hash.c - copied unchanged from r261287, vendor-crypto/openssh/dist/hash.c head/crypto/openssh/kexc25519.c - copied unchanged from r261287, vendor-crypto/openssh/dist/kexc25519.c head/crypto/openssh/kexc25519c.c - copied unchanged from r261287, vendor-crypto/openssh/dist/kexc25519c.c head/crypto/openssh/kexc25519s.c - copied unchanged from r261287, vendor-crypto/openssh/dist/kexc25519s.c head/crypto/openssh/openbsd-compat/arc4random.c - copied unchanged from r261287, vendor-crypto/openssh/dist/openbsd-compat/arc4random.c head/crypto/openssh/openbsd-compat/bcrypt_pbkdf.c - copied unchanged from r261287, vendor-crypto/openssh/dist/openbsd-compat/bcrypt_pbkdf.c head/crypto/openssh/openbsd-compat/blf.h - copied unchanged from r261287, vendor-crypto/openssh/dist/openbsd-compat/blf.h head/crypto/openssh/openbsd-compat/blowfish.c - copied, changed from r261287, vendor-crypto/openssh/dist/openbsd-compat/blowfish.c head/crypto/openssh/openbsd-compat/chacha_private.h - copied unchanged from r261287, vendor-crypto/openssh/dist/openbsd-compat/chacha_private.h head/crypto/openssh/poly1305.c - copied unchanged from r261287, vendor-crypto/openssh/dist/poly1305.c head/crypto/openssh/poly1305.h - copied unchanged from r261287, vendor-crypto/openssh/dist/poly1305.h head/crypto/openssh/regress/setuid-allowed.c - copied unchanged from r261287, vendor-crypto/openssh/dist/regress/setuid-allowed.c head/crypto/openssh/regress/sftp-perm.sh - copied unchanged from r261287, vendor-crypto/openssh/dist/regress/sftp-perm.sh head/crypto/openssh/sandbox-capsicum.c - copied unchanged from r261287, vendor-crypto/openssh/dist/sandbox-capsicum.c head/crypto/openssh/sc25519.c - copied unchanged from r261287, vendor-crypto/openssh/dist/sc25519.c head/crypto/openssh/sc25519.h - copied unchanged from r261287, vendor-crypto/openssh/dist/sc25519.h head/crypto/openssh/smult_curve25519_ref.c - copied unchanged from r261287, vendor-crypto/openssh/dist/smult_curve25519_ref.c head/crypto/openssh/ssh-ed25519.c - copied unchanged from r261287, vendor-crypto/openssh/dist/ssh-ed25519.c head/crypto/openssh/verify.c - copied unchanged from r261287, vendor-crypto/openssh/dist/verify.c Deleted: head/crypto/openssh/openbsd-compat/bsd-arc4random.c Modified: head/crypto/openssh/ChangeLog head/crypto/openssh/Makefile.in head/crypto/openssh/PROTOCOL head/crypto/openssh/README head/crypto/openssh/aclocal.m4 head/crypto/openssh/addrmatch.c head/crypto/openssh/atomicio.c head/crypto/openssh/auth-krb5.c head/crypto/openssh/auth-options.c head/crypto/openssh/auth-pam.c head/crypto/openssh/auth2-hostbased.c head/crypto/openssh/auth2-pubkey.c head/crypto/openssh/authfd.c head/crypto/openssh/authfile.c head/crypto/openssh/authfile.h head/crypto/openssh/bufaux.c head/crypto/openssh/bufbn.c head/crypto/openssh/buffer.c head/crypto/openssh/buffer.h head/crypto/openssh/canohost.c head/crypto/openssh/channels.c head/crypto/openssh/cipher.c head/crypto/openssh/cipher.h head/crypto/openssh/clientloop.c head/crypto/openssh/compat.c head/crypto/openssh/compat.h head/crypto/openssh/config.h head/crypto/openssh/config.h.in head/crypto/openssh/configure head/crypto/openssh/configure.ac head/crypto/openssh/contrib/caldera/openssh.spec head/crypto/openssh/contrib/cygwin/ssh-host-config head/crypto/openssh/contrib/redhat/openssh.spec head/crypto/openssh/contrib/suse/openssh.spec head/crypto/openssh/defines.h head/crypto/openssh/dh.c head/crypto/openssh/dh.h head/crypto/openssh/gss-serv-krb5.c head/crypto/openssh/hostfile.c head/crypto/openssh/kex.c head/crypto/openssh/kex.h head/crypto/openssh/kexdh.c head/crypto/openssh/kexdhc.c head/crypto/openssh/kexdhs.c head/crypto/openssh/kexecdh.c head/crypto/openssh/kexecdhc.c head/crypto/openssh/kexecdhs.c head/crypto/openssh/kexgex.c head/crypto/openssh/kexgexc.c head/crypto/openssh/kexgexs.c head/crypto/openssh/key.c head/crypto/openssh/key.h head/crypto/openssh/loginrec.c head/crypto/openssh/mac.c head/crypto/openssh/mac.h head/crypto/openssh/match.c head/crypto/openssh/misc.c head/crypto/openssh/misc.h head/crypto/openssh/moduli.c head/crypto/openssh/monitor.c head/crypto/openssh/monitor_mm.c head/crypto/openssh/monitor_mm.h head/crypto/openssh/myproposal.h head/crypto/openssh/openbsd-compat/Makefile.in head/crypto/openssh/openbsd-compat/bsd-cygwin_util.h head/crypto/openssh/openbsd-compat/bsd-misc.c head/crypto/openssh/openbsd-compat/bsd-poll.c head/crypto/openssh/openbsd-compat/bsd-setres_id.c head/crypto/openssh/openbsd-compat/bsd-snprintf.c head/crypto/openssh/openbsd-compat/bsd-statvfs.c head/crypto/openssh/openbsd-compat/bsd-statvfs.h head/crypto/openssh/openbsd-compat/openbsd-compat.h head/crypto/openssh/openbsd-compat/openssl-compat.c head/crypto/openssh/openbsd-compat/openssl-compat.h head/crypto/openssh/openbsd-compat/setproctitle.c head/crypto/openssh/packet.c head/crypto/openssh/pathnames.h head/crypto/openssh/pkcs11.h head/crypto/openssh/platform.c head/crypto/openssh/platform.h head/crypto/openssh/progressmeter.c head/crypto/openssh/readconf.c head/crypto/openssh/readconf.h head/crypto/openssh/regress/Makefile head/crypto/openssh/regress/agent-ptrace.sh head/crypto/openssh/regress/agent.sh head/crypto/openssh/regress/cert-hostkey.sh head/crypto/openssh/regress/cert-userkey.sh head/crypto/openssh/regress/cipher-speed.sh head/crypto/openssh/regress/forward-control.sh head/crypto/openssh/regress/integrity.sh head/crypto/openssh/regress/kextype.sh head/crypto/openssh/regress/keytype.sh head/crypto/openssh/regress/krl.sh head/crypto/openssh/regress/modpipe.c head/crypto/openssh/regress/rekey.sh head/crypto/openssh/regress/scp-ssh-wrapper.sh head/crypto/openssh/regress/scp.sh head/crypto/openssh/regress/test-exec.sh head/crypto/openssh/regress/try-ciphers.sh head/crypto/openssh/roaming_client.c head/crypto/openssh/roaming_common.c head/crypto/openssh/sandbox-darwin.c head/crypto/openssh/sandbox-null.c head/crypto/openssh/sandbox-rlimit.c head/crypto/openssh/sandbox-seccomp-filter.c head/crypto/openssh/sandbox-systrace.c head/crypto/openssh/schnorr.c head/crypto/openssh/schnorr.h head/crypto/openssh/scp.0 head/crypto/openssh/scp.1 head/crypto/openssh/scp.c head/crypto/openssh/servconf.c head/crypto/openssh/servconf.h head/crypto/openssh/serverloop.c head/crypto/openssh/session.c head/crypto/openssh/session.h head/crypto/openssh/sftp-client.c head/crypto/openssh/sftp-client.h head/crypto/openssh/sftp-common.c head/crypto/openssh/sftp-glob.c head/crypto/openssh/sftp-server.0 head/crypto/openssh/sftp-server.8 head/crypto/openssh/sftp-server.c head/crypto/openssh/sftp.0 head/crypto/openssh/sftp.1 head/crypto/openssh/sftp.c head/crypto/openssh/ssh-add.0 head/crypto/openssh/ssh-add.1 head/crypto/openssh/ssh-add.c head/crypto/openssh/ssh-agent.0 head/crypto/openssh/ssh-agent.1 head/crypto/openssh/ssh-agent.c head/crypto/openssh/ssh-dss.c head/crypto/openssh/ssh-ecdsa.c head/crypto/openssh/ssh-keygen.0 head/crypto/openssh/ssh-keygen.1 head/crypto/openssh/ssh-keygen.c head/crypto/openssh/ssh-keyscan.0 head/crypto/openssh/ssh-keyscan.1 head/crypto/openssh/ssh-keyscan.c head/crypto/openssh/ssh-keysign.0 head/crypto/openssh/ssh-keysign.8 head/crypto/openssh/ssh-keysign.c head/crypto/openssh/ssh-pkcs11-helper.c head/crypto/openssh/ssh-pkcs11.c head/crypto/openssh/ssh-rsa.c head/crypto/openssh/ssh-sandbox.h head/crypto/openssh/ssh.0 head/crypto/openssh/ssh.1 head/crypto/openssh/ssh.c head/crypto/openssh/ssh_config head/crypto/openssh/ssh_config.0 head/crypto/openssh/ssh_config.5 head/crypto/openssh/ssh_namespace.h head/crypto/openssh/sshconnect.c head/crypto/openssh/sshconnect.h head/crypto/openssh/sshconnect1.c head/crypto/openssh/sshconnect2.c head/crypto/openssh/sshd.0 head/crypto/openssh/sshd.8 head/crypto/openssh/sshd.c head/crypto/openssh/sshd_config head/crypto/openssh/sshd_config.0 head/crypto/openssh/sshd_config.5 head/crypto/openssh/uidswap.c head/crypto/openssh/version.h head/crypto/openssh/xmalloc.c head/etc/rc.d/sshd head/secure/lib/libssh/Makefile head/secure/usr.sbin/sshd/Makefile Directory Properties: head/crypto/openssh/ (props changed) Modified: head/crypto/openssh/ChangeLog ============================================================================== --- head/crypto/openssh/ChangeLog Fri Jan 31 12:26:30 2014 (r261319) +++ head/crypto/openssh/ChangeLog Fri Jan 31 13:12:02 2014 (r261320) @@ -1,25 +1,1042 @@ -20131108 +20140130 + - (djm) [configure.ac] Only check for width-specified integer types + in headers that actually exist. patch from Tom G. Christensen; + ok dtucker@ + - (djm) [configure.ac atomicio.c] Kludge around NetBSD offering + different symbols for 'read' when various compiler flags are + in use, causing atomicio.c comparisons against it to break and + read/write operations to hang; ok dtucker + - (djm) Release openssh-6.5p1 + +20140129 + - (djm) [configure.ac] Fix broken shell test '==' vs '='; patch from + Tom G. Christensen + +20140128 + - (djm) [configure.ac] Search for inet_ntop in libnsl and libresovl; + ok dtucker + - (djm) [sshd.c] Use kill(0, ...) instead of killpg(0, ...); the + latter being specified to have undefined behaviour in SUSv3; + ok dtucker + - (tim) [regress/agent.sh regress/agent-ptrace.sh] Assign $? to a variable + when used as an error message inside an if statement so we display the + correct into. agent.sh patch from Petr Lautrbach. + +20140127 + - (dtucker) [Makefile.in] Remove trailing backslash which some make + implementations (eg older Solaris) do not cope with. + +20140126 + - OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2014/01/25 10:12:50 + [cipher.c cipher.h kex.c kex.h kexgexc.c] + Add a special case for the DH group size for 3des-cbc, which has an + effective strength much lower than the key size. This causes problems + with some cryptlib implementations, which don't support group sizes larger + than 4k but also don't use the largest group size it does support as + specified in the RFC. Based on a patch from Petr Lautrbach at Redhat, + reduced by me with input from Markus. ok djm@ markus@ + - markus@cvs.openbsd.org 2014/01/25 20:35:37 + [kex.c] + dh_need needs to be set to max(seclen, blocksize, ivlen, mac_len) + ok dtucker@, noted by mancha + - (djm) [configure.ac sandbox-capsicum.c sandbox-rlimit.c] Disable + RLIMIT_NOFILE pseudo-sandbox on FreeBSD. In some configurations, + libc will attempt to open additional file descriptors for crypto + offload and crash if they cannot be opened. + - (djm) [configure.ac] correct AC_DEFINE for previous. + +20140125 + - (djm) [configure.ac] Fix detection of capsicum sandbox on FreeBSD + - (djm) [configure.ac] Do not attempt to use capsicum sandbox unless + sys/capability.h exists and cap_rights_limit is in libc. Fixes + build on FreeBSD9x which provides the header but not the libc + support. + - (djm) [configure.ac] autoconf sets finds to 'yes' not '1', so test + against the correct thing. + +20140124 + - (djm) [Makefile.in regress/scp-ssh-wrapper.sh regress/scp.sh] Make + the scp regress test actually test the built scp rather than the one + in $PATH. ok dtucker@ + +20140123 + - (tim) [session.c] Improve error reporting on set_id(). + - (dtucker) [configure.ac] NetBSD's (and FreeBSD's) strnvis is gratuitously + incompatible with OpenBSD's despite post-dating it by more than a decade. + Declare it as broken, and document FreeBSD's as the same. ok djm@ + +20140122 + - (djm) [openbsd-compat/setproctitle.c] Don't fail to compile if a + platform that is expected to use the reuse-argv style setproctitle + hack surprises us by providing a setproctitle in libc; ok dtucker + - (djm) [configure.ac] Unless specifically requested, only attempt + to build Position Independent Executables on gcc >= 4.x; ok dtucker + - (djm) [configure.ac aclocal.m4] More tests to detect fallout from + platform hardening options: include some long long int arithmatic + to detect missing support functions for -ftrapv in libgcc and + equivalents, actually test linking when -ftrapv is supplied and + set either both -pie/-fPIE or neither. feedback and ok dtucker@ + +20140121 + - (dtucker) [configure.ac] Make PIE a configure-time option which defaults + to on platforms where it's known to be reliably detected and off elsewhere. + Works around platforms such as FreeBSD 9.1 where it does not interop with + -ftrapv (it seems to work but fails when trying to link ssh). ok djm@ + - (dtucker) [aclocal.m4] Differentiate between compile-time and link-time + tests in the configure output. ok djm. + - (tim) [platform.c session.c] Fix bug affecting SVR5 platforms introduced + with sftp chroot support. Move set_id call after chroot. + - (djm) [aclocal.m4] Flesh out the code run in the OSSH_CHECK_CFLAG_COMPILE + and OSSH_CHECK_LDFLAG_LINK tests to give them a better chance of + detecting toolchain-related problems; ok dtucker + +20140120 + - (dtucker) [gss-serv-krb5.c] Fall back to krb5_cc_gen_new if the Kerberos + implementation does not have krb5_cc_new_unique, similar to what we do + in auth-krb5.c. + - (djm) [regress/cert-hostkey.sh] Fix regress failure on platforms that + skip one or more key types (e.g. RHEL/CentOS 6.5); ok dtucker@ + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2014/01/20 00:08:48 + [digest.c] + memleak; found by Loganaden Velvindron @ AfriNIC; ok markus@ + +20140119 + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2014/01/17 06:23:24 + [sftp-server.c] + fix log message statvfs. ok djm + - dtucker@cvs.openbsd.org 2014/01/18 09:36:26 + [session.c] + explicitly define USE_PIPES to 1 to prevent redefinition warnings in + portable on platforms that use pipes for everything. From vinschen at + redhat. + - dtucker@cvs.openbsd.org 2014/01/19 04:17:29 + [canohost.c addrmatch.c] + Cast socklen_t when comparing to size_t and use socklen_t to iterate over + the ip options, both to prevent signed/unsigned comparison warnings. + Patch from vinschen at redhat via portable openssh, begrudging ok deraadt. + - djm@cvs.openbsd.org 2014/01/19 04:48:08 + [ssh_config.5] + fix inverted meaning of 'no' and 'yes' for CanonicalizeFallbackLocal + - dtucker@cvs.openbsd.org 2014/01/19 11:21:51 + [addrmatch.c] + Cast the sizeof to socklen_t so it'll work even if the supplied len is + negative. Suggested by and ok djm, ok deraadt. + +20140118 + - (dtucker) [uidswap.c] Prevent unused variable warnings on Cygwin. Patch + from vinschen at redhat.com + - (dtucker) [openbsd-compat/bsd-cygwin_util.h] Add missing function + declarations that stopped being included when we stopped including + from openbsd-compat/bsd-cygwin_util.h. Patch from vinschen at + redhat.com. + - (dtucker) [configure.ac] On Cygwin the getopt variables (like optargs, + optind) are defined in getopt.h already. Unfortunately they are defined as + "declspec(dllimport)" for historical reasons, because the GNU linker didn't + allow auto-import on PE/COFF targets way back when. The problem is the + dllexport attributes collide with the definitions in the various source + files in OpenSSH, which obviousy define the variables without + declspec(dllimport). The least intrusive way to get rid of these warnings + is to disable warnings for GCC compiler attributes when building on Cygwin. + Patch from vinschen at redhat.com. + - (dtucker) [sandbox-capsicum.c] Correct some error messages and make the + return value check for cap_enter() consistent with the other uses in + FreeBSD. From by Loganaden Velvindron @ AfriNIC via bz#2140. + +20140117 + - (dtucker) [aclocal.m4 configure.ac] Add some additional compiler/toolchain + hardening flags including -fstack-protector-strong. These default to on + if the toolchain supports them, but there is a configure-time knob + (--without-hardening) to disable them if necessary. ok djm@ + - (djm) [sftp-client.c] signed/unsigned comparison fix + - (dtucker) [loginrec.c] Cast to the types specfied in the format + specification to prevent warnings. + - (dtucker) [crypto_api.h] Wrap stdlib.h include inside #ifdef HAVE_STDINT_H. + - (dtucker) [poly1305.c] Wrap stdlib.h include inside #ifdef HAVE_STDINT_H. + - (dtucker) [blocks.c fe25519.c ge25519.c hash.c sc25519.c verify.c] Include + includes.h to pull in all of the compatibility stuff. + - (dtucker) [openbsd-compat/bcrypt_pbkdf.c] Wrap stdlib.h include inside + #ifdef HAVE_STDINT_H. + - (dtucker) [defines.h] Add typedefs for uintXX_t types for platforms that + don't have them. + - (dtucker) [configure.ac] Split AC_CHECK_FUNCS for OpenSSL functions into + separate lines and alphabetize for easier diffing of changes. + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2014/01/17 00:21:06 + [sftp-client.c] + signed/unsigned comparison warning fix; from portable (Id sync only) + - dtucker@cvs.openbsd.org 2014/01/17 05:26:41 + [digest.c] + remove unused includes. ok djm@ + - (djm) [Makefile.in configure.ac sandbox-capsicum.c sandbox-darwin.c] + [sandbox-null.c sandbox-rlimit.c sandbox-seccomp-filter.c] + [sandbox-systrace.c ssh-sandbox.h sshd.c] Support preauth sandboxing + using the Capsicum API introduced in FreeBSD 10. Patch by Dag-Erling + Smorgrav, updated by Loganaden Velvindron @ AfriNIC; ok dtucker@ + - (dtucker) [configure.ac digest.c openbsd-compat/openssl-compat.c + openbsd-compat/openssl-compat.h] Add compatibility layer for older + openssl versions. ok djm@ + - (dtucker) Fix typo in #ifndef. + - (dtucker) [configure.ac openbsd-compat/bsd-statvfs.c + openbsd-compat/bsd-statvfs.h] Implement enough of statvfs on top of statfs + to be useful (and for the regression tests to pass) on platforms that + have statfs and fstatfs. ok djm@ + - (dtucker) [openbsd-compat/bsd-statvfs.h] Only start including headers if we + need them to cut down on the name collisions. + - (dtucker) [configure.ac] Also look in inttypes.h for uintXX_t types. + - (dtucker) [configure.ac] Have --without-hardening not turn off + stack-protector since that has a separate flag that's been around a while. + - (dtucker) [readconf.c] Wrap paths.h inside an ifdef. Allows building on + Solaris. + - (dtucker) [defines.h] Move our definitions of uintXX_t types down to after + they're defined if we have to define them ourselves. Fixes builds on old + AIX. + +20140118 - (djm) OpenBSD CVS Sync - - markus@cvs.openbsd.org 2013/11/06 16:52:11 - [monitor_wrap.c] - fix rekeying for AES-GCM modes; ok deraadt + - djm@cvs.openbsd.org 2014/01/16 07:31:09 + [sftp-client.c] + needless and incorrect cast to size_t can break resumption of + large download; patch from tobias@ + - djm@cvs.openbsd.org 2014/01/16 07:32:00 + [version.h] + openssh-6.5 + - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] Crank RPM spec version numbers. + - (djm) [README] update release notes URL. + +20140112 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2014/01/10 05:59:19 + [sshd_config] + the /etc/ssh/ssh_host_ed25519_key is loaded by default too + - djm@cvs.openbsd.org 2014/01/12 08:13:13 + [bufaux.c buffer.h kex.c kex.h kexc25519.c kexc25519c.c kexc25519s.c] + [kexdhc.c kexdhs.c kexecdhc.c kexecdhs.c kexgexc.c kexgexs.c] + avoid use of OpenSSL BIGNUM type and functions for KEX with + Curve25519 by adding a buffer_put_bignum2_from_string() that stores + a string using the bignum encoding rules. Will make it easier to + build a reduced-feature OpenSSH without OpenSSL in the future; + ok markus@ + +20140110 + - (djm) OpenBSD CVS Sync + - tedu@cvs.openbsd.org 2014/01/04 17:50:55 + [mac.c monitor_mm.c monitor_mm.h xmalloc.c] + use standard types and formats for size_t like variables. ok dtucker + - guenther@cvs.openbsd.org 2014/01/09 03:26:00 + [sftp-common.c] + When formating the time for "ls -l"-style output, show dates in the future + with the year, and rearrange a comparison to avoid a potentional signed + arithmetic overflow that would give the wrong result. + ok djm@ + - djm@cvs.openbsd.org 2014/01/09 23:20:00 + [digest.c digest.h hostfile.c kex.c kex.h kexc25519.c kexc25519c.c] + [kexc25519s.c kexdh.c kexecdh.c kexecdhc.c kexecdhs.c kexgex.c kexgexc.c] + [kexgexs.c key.c key.h roaming_client.c roaming_common.c schnorr.c] + [schnorr.h ssh-dss.c ssh-ecdsa.c ssh-rsa.c sshconnect2.c] + Introduce digest API and use it to perform all hashing operations + rather than calling OpenSSL EVP_Digest* directly. Will make it easier + to build a reduced-feature OpenSSH without OpenSSL in future; + feedback, ok markus@ + - djm@cvs.openbsd.org 2014/01/09 23:26:48 + [sshconnect.c sshd.c] + ban clients/servers that suffer from SSH_BUG_DERIVEKEY, they are ancient, + deranged and might make some attacks on KEX easier; ok markus@ + +20140108 + - (djm) [regress/.cvsignore] Ignore regress test droppings; ok dtucker@ + +20131231 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/12/30 23:52:28 + [auth2-hostbased.c auth2-pubkey.c compat.c compat.h ssh-rsa.c] + [sshconnect.c sshconnect2.c sshd.c] + refuse RSA keys from old proprietary clients/servers that use the + obsolete RSA+MD5 signature scheme. it will still be possible to connect + with these clients/servers but only DSA keys will be accepted, and we'll + deprecate them entirely in a future release. ok markus@ + +20131229 + - (djm) [loginrec.c] Check for username truncation when looking up lastlog + entries + - (djm) [regress/Makefile] Add some generated files for cleaning + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/12/19 00:10:30 + [ssh-add.c] + skip requesting smartcard PIN when removing keys from agent; bz#2187 + patch from jay AT slushpupie.com; ok dtucker + - dtucker@cvs.openbsd.org 2013/12/19 00:19:12 + [serverloop.c] + Cast client_alive_interval to u_int64_t before assinging to + max_time_milliseconds to avoid potential integer overflow in the timeout. + bz#2170, patch from Loganaden Velvindron, ok djm@ + - djm@cvs.openbsd.org 2013/12/19 00:27:57 + [auth-options.c] + simplify freeing of source-address certificate restriction + - djm@cvs.openbsd.org 2013/12/19 01:04:36 + [channels.c] + bz#2147: fix multiple remote forwardings with dynamically assigned + listen ports. In the s->c message to open the channel we were sending + zero (the magic number to request a dynamic port) instead of the actual + listen port. The client therefore had no way of discriminating between + them. + + Diagnosis and fix by ronf AT timeheart.net + - djm@cvs.openbsd.org 2013/12/19 01:19:41 + [ssh-agent.c] + bz#2186: don't crash (NULL deref) when deleting PKCS#11 keys from an agent + that has a mix of normal and PKCS#11 keys; fix from jay AT slushpupie.com; + ok dtucker + - djm@cvs.openbsd.org 2013/12/19 22:57:13 + [poly1305.c poly1305.h] + use full name for author, with his permission + - tedu@cvs.openbsd.org 2013/12/21 07:10:47 + [ssh-keygen.1] + small typo + - djm@cvs.openbsd.org 2013/12/27 22:30:17 + [ssh-dss.c ssh-ecdsa.c ssh-rsa.c] + make the original RSA and DSA signing/verification code look more like + the ECDSA/Ed25519 ones: use key_type_plain() when checking the key type + rather than tediously listing all variants, use __func__ for debug/ + error messages + - djm@cvs.openbsd.org 2013/12/27 22:37:18 + [ssh-rsa.c] + correct comment + - djm@cvs.openbsd.org 2013/12/29 02:28:10 + [key.c] + allow ed25519 keys to appear as certificate authorities + - djm@cvs.openbsd.org 2013/12/29 02:37:04 + [key.c] + correct comment for key_to_certified() + - djm@cvs.openbsd.org 2013/12/29 02:49:52 + [key.c] + correct comment for key_drop_cert() + - djm@cvs.openbsd.org 2013/12/29 04:20:04 + [key.c] + to make sure we don't omit any key types as valid CA keys again, + factor the valid key type check into a key_type_is_valid_ca() + function + - djm@cvs.openbsd.org 2013/12/29 04:29:25 + [authfd.c] + allow deletion of ed25519 keys from the agent + - djm@cvs.openbsd.org 2013/12/29 04:35:50 + [authfile.c] + don't refuse to load Ed25519 certificates + - djm@cvs.openbsd.org 2013/12/29 05:42:16 + [ssh.c] + don't forget to load Ed25519 certs too + - djm@cvs.openbsd.org 2013/12/29 05:57:02 + [sshconnect.c] + when showing other hostkeys, don't forget Ed25519 keys + +20131221 + - (dtucker) [regress/keytype.sh] Actually test ecdsa key types. + +20131219 + - (dtucker) [configure.ac] bz#2178: Don't try to use BSM on Solaris versions + greater than 11 either rather than just 11. Patch from Tomas Kuthan. + - (dtucker) [auth-pam.c] bz#2163: check return value from pam_get_item(). + Patch from Loganaden Velvindron. + +20131218 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/12/07 08:08:26 + [ssh-keygen.1] + document -a and -o wrt new key format + - naddy@cvs.openbsd.org 2013/12/07 11:58:46 + [ssh-add.1 ssh-agent.1 ssh-keygen.1 ssh-keyscan.1 ssh-keysign.8 ssh.1] + [ssh_config.5 sshd.8 sshd_config.5] + add missing mentions of ed25519; ok djm@ + - dtucker@cvs.openbsd.org 2013/12/08 09:53:27 + [sshd_config.5] + Use a literal for the default value of KEXAlgorithms. ok deraadt jmc + - markus@cvs.openbsd.org 2013/12/09 11:03:45 + [blocks.c ed25519.c fe25519.c fe25519.h ge25519.c ge25519.h] + [ge25519_base.data hash.c sc25519.c sc25519.h verify.c] + Add Authors for the public domain ed25519/nacl code. + see also http://nacl.cr.yp.to/features.html + All of the NaCl software is in the public domain. + and http://ed25519.cr.yp.to/software.html + The Ed25519 software is in the public domain. + - markus@cvs.openbsd.org 2013/12/09 11:08:17 + [crypto_api.h] + remove unused defines + - pascal@cvs.openbsd.org 2013/12/15 18:17:26 + [ssh-add.c] + Make ssh-add also add .ssh/id_ed25519; fixes lie in manual page. + ok markus@ + - djm@cvs.openbsd.org 2013/12/15 21:42:35 + [cipher-chachapoly.c] + add some comments and constify a constant + - markus@cvs.openbsd.org 2013/12/17 10:36:38 + [crypto_api.h] + I've assempled the header file by cut&pasting from generated headers + and the source files. + +20131208 + - (djm) [openbsd-compat/bsd-setres_id.c] Missing header; from Corinna + Vinschen + - (djm) [Makefile.in regress/Makefile regress/agent-ptrace.sh] + [regress/setuid-allowed.c] Check that ssh-agent is not on a no-setuid + filesystem before running agent-ptrace.sh; ok dtucker + +20131207 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/12/05 22:59:45 + [sftp-client.c] + fix memory leak in error path in do_readdir(); pointed out by + Loganaden Velvindron @ AfriNIC in bz#2163 + - djm@cvs.openbsd.org 2013/12/06 03:40:51 + [ssh-keygen.c] + remove duplicated character ('g') in getopt() string; + document the (few) remaining option characters so we don't have to + rummage next time. + - markus@cvs.openbsd.org 2013/12/06 13:30:08 + [authfd.c key.c key.h ssh-agent.c] + move private key (de)serialization to key.c; ok djm + - markus@cvs.openbsd.org 2013/12/06 13:34:54 + [authfile.c authfile.h cipher.c cipher.h key.c packet.c ssh-agent.c] + [ssh-keygen.c PROTOCOL.key] new private key format, bcrypt as KDF by + default; details in PROTOCOL.key; feedback and lots help from djm; + ok djm@ + - markus@cvs.openbsd.org 2013/12/06 13:39:49 + [authfd.c authfile.c key.c key.h myproposal.h pathnames.h readconf.c] + [servconf.c ssh-agent.c ssh-keygen.c ssh-keyscan.1 ssh-keyscan.c] + [ssh-keysign.c ssh.c ssh_config.5 sshd.8 sshd.c verify.c ssh-ed25519.c] + [sc25519.h sc25519.c hash.c ge25519_base.data ge25519.h ge25519.c] + [fe25519.h fe25519.c ed25519.c crypto_api.h blocks.c] + support ed25519 keys (hostkeys and user identities) using the public + domain ed25519 reference code from SUPERCOP, see + http://ed25519.cr.yp.to/software.html + feedback, help & ok djm@ + - jmc@cvs.openbsd.org 2013/12/06 15:29:07 + [sshd.8] + missing comma; + - djm@cvs.openbsd.org 2013/12/07 00:19:15 + [key.c] + set k->cert = NULL after freeing it + - markus@cvs.openbsd.org 2013/12/06 13:52:46 + [regress/Makefile regress/agent.sh regress/cert-hostkey.sh] + [regress/cert-userkey.sh regress/keytype.sh] + test ed25519 support; from djm@ + - (djm) [blocks.c ed25519.c fe25519.c fe25519.h ge25519.c ge25519.h] + [ge25519_base.data hash.c sc25519.c sc25519.h verify.c] Fix RCS idents + - (djm) [Makefile.in] Add ed25519 sources + - (djm) [authfile.c] Conditionalise inclusion of util.h + - (djm) [configure.ac openbsd-compat/Makefile.in openbsd-compat/bcrypt_pbkdf.c] + [openbsd-compat/blf.h openbsd-compat/blowfish.c] + [openbsd-compat/openbsd-compat.h] Start at supporting bcrypt_pbkdf in + portable. + - (djm) [ed25519.c ssh-ed25519.c openbsd-compat/Makefile.in] + [openbsd-compat/bcrypt_pbkdf.c] Make ed25519/new key format compile on + Linux + - (djm) [regress/cert-hostkey.sh] Fix merge botch + - (djm) [Makefile.in] PATHSUBS and keygen bits for Ed25519; from + Loganaden Velvindron @ AfriNIC in bz#2179 + +20131205 + - (djm) OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2013/11/21 08:05:09 + [ssh_config.5 sshd_config.5] + no need for .Pp before displays; + - deraadt@cvs.openbsd.org 2013/11/25 18:04:21 + [ssh.1 ssh.c] + improve -Q usage and such. One usage change is that the option is now + case-sensitive + ok dtucker markus djm + - jmc@cvs.openbsd.org 2013/11/26 12:14:54 + [ssh.1 ssh.c] + - put -Q in the right place + - Ar was a poor choice for the arguments to -Q. i've chosen an + admittedly equally poor Cm, at least consistent with the rest + of the docs. also no need for multiple instances + - zap a now redundant Nm + - usage() sync + - deraadt@cvs.openbsd.org 2013/11/26 19:15:09 + [pkcs11.h] + cleanup 1 << 31 idioms. Resurrection of this issue pointed out by + Eitan Adler ok markus for ssh, implies same change in kerberosV + - djm@cvs.openbsd.org 2013/12/01 23:19:05 + [PROTOCOL] + mention curve25519-sha256@libssh.org key exchange algorithm + - djm@cvs.openbsd.org 2013/12/02 02:50:27 + [PROTOCOL.chacha20poly1305] + typo; from Jon Cave + - djm@cvs.openbsd.org 2013/12/02 02:56:17 + [ssh-pkcs11-helper.c] + use-after-free; bz#2175 patch from Loganaden Velvindron @ AfriNIC + - djm@cvs.openbsd.org 2013/12/02 03:09:22 + [key.c] + make key_to_blob() return a NULL blob on failure; part of + bz#2175 from Loganaden Velvindron @ AfriNIC + - djm@cvs.openbsd.org 2013/12/02 03:13:14 + [cipher.c] + correct bzero of chacha20+poly1305 key context. bz#2177 from + Loganaden Velvindron @ AfriNIC + + Also make it a memset for consistency with the rest of cipher.c + - djm@cvs.openbsd.org 2013/12/04 04:20:01 + [sftp-client.c] + bz#2171: don't leak local_fd on error; from Loganaden Velvindron @ + AfriNIC + - djm@cvs.openbsd.org 2013/12/05 01:16:41 + [servconf.c servconf.h] + bz#2161 - fix AuthorizedKeysCommand inside a Match block and + rearrange things so the same error is harder to make next time; + with and ok dtucker@ + - (dtucker) [configure.ac] bz#2173: use pkg-config --libs to include correct + -L location for libedit. Patch from Serge van den Boom. + +20131121 + - (djm) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2013/11/08 11:15:19 + [bufaux.c bufbn.c buffer.c sftp-client.c sftp-common.c sftp-glob.c] + [uidswap.c] Include stdlib.h for free() as per the man page. + - markus@cvs.openbsd.org 2013/11/13 13:48:20 + [ssh-pkcs11.c] + add missing braces found by pedro + - djm@cvs.openbsd.org 2013/11/20 02:19:01 + [sshd.c] + delay closure of in/out fds until after "Bad protocol version + identification..." message, as get_remote_ipaddr/get_remote_port + require them open. + - deraadt@cvs.openbsd.org 2013/11/20 20:53:10 + [scp.c] + unsigned casts for ctype macros where neccessary + ok guenther millert markus + - deraadt@cvs.openbsd.org 2013/11/20 20:54:10 + [canohost.c clientloop.c match.c readconf.c sftp.c] + unsigned casts for ctype macros where neccessary + ok guenther millert markus + - djm@cvs.openbsd.org 2013/11/21 00:45:44 + [Makefile.in PROTOCOL PROTOCOL.chacha20poly1305 authfile.c chacha.c] + [chacha.h cipher-chachapoly.c cipher-chachapoly.h cipher.c cipher.h] + [dh.c myproposal.h packet.c poly1305.c poly1305.h servconf.c ssh.1] + [ssh.c ssh_config.5 sshd_config.5] Add a new protocol 2 transport + cipher "chacha20-poly1305@openssh.com" that combines Daniel + Bernstein's ChaCha20 stream cipher and Poly1305 MAC to build an + authenticated encryption mode. + + Inspired by and similar to Adam Langley's proposal for TLS: + http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-03 + but differs in layout used for the MAC calculation and the use of a + second ChaCha20 instance to separately encrypt packet lengths. + Details are in the PROTOCOL.chacha20poly1305 file. + + Feedback markus@, naddy@; manpage bits Loganden Velvindron @ AfriNIC + ok markus@ naddy@ + - naddy@cvs.openbsd.org 2013/11/18 05:09:32 + [regress/forward-control.sh] + bump timeout to 10 seconds to allow slow machines (e.g. Alpha PC164) + to successfully run this; ok djm@ + - djm@cvs.openbsd.org 2013/11/21 03:15:46 + [regress/krl.sh] + add some reminders for additional tests that I'd like to implement + - djm@cvs.openbsd.org 2013/11/21 03:16:47 + [regress/modpipe.c] + use unsigned long long instead of u_int64_t here to avoid warnings + on some systems portable OpenSSH is built on. + - djm@cvs.openbsd.org 2013/11/21 03:18:51 + [regress/cipher-speed.sh regress/integrity.sh regress/rekey.sh] + [regress/try-ciphers.sh] + use new "ssh -Q cipher-auth" query to obtain lists of authenticated + encryption ciphers instead of specifying them manually; ensures that + the new chacha20poly1305@openssh.com mode is tested; + + ok markus@ and naddy@ as part of the diff to add + chacha20poly1305@openssh.com + +20131110 + - (dtucker) [regress/keytype.sh] Populate ECDSA key types to be tested by + querying the ones that are compiled in. + +20131109 + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2013/11/09 05:41:34 + [regress/test-exec.sh regress/rekey.sh] + Use smaller test data files to speed up tests. Grow test datafiles + where necessary for a specific test. + - (dtucker) [configure.ac kex.c key.c myproposal.h] Test for the presence of + NID_X9_62_prime256v1, NID_secp384r1 and NID_secp521r1 and test that the + latter actually works before using it. Fedora (at least) has NID_secp521r1 + that doesn't work (see https://bugzilla.redhat.com/show_bug.cgi?id=1021897). + - (dtucker) [configure.ac] Fix brackets in NID_secp521r1 test. + - (dtucker) [configure.ac] Add missing "test". + - (dtucker) [key.c] Check for the correct defines for NID_secp521r1. + +20131108 + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2013/11/08 01:06:14 + [regress/rekey.sh] + Rekey less frequently during tests to speed them up + - (djm) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2013/11/07 11:58:27 + [cipher.c cipher.h kex.c kex.h mac.c mac.h servconf.c ssh.c] + Output the effective values of Ciphers, MACs and KexAlgorithms when + the default has not been overridden. ok markus@ - djm@cvs.openbsd.org 2013/11/08 00:39:15 [auth-options.c auth2-chall.c authfd.c channels.c cipher-3des1.c] [clientloop.c gss-genr.c monitor_mm.c packet.c schnorr.c umac.c] [sftp-client.c sftp-glob.c] use calloc for all structure allocations; from markus@ - - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] - [contrib/suse/openssh.spec] update version numbers - djm@cvs.openbsd.org 2013/11/08 01:38:11 [version.h] openssh-6.4 - - (djm) Release 6.4p1 + - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] Update version numbers following release. + - (dtucker) [openbsd-compat/openbsd-compat.h] Add null implementation of + arc4random_stir for platforms that have arc4random but don't have + arc4random_stir (right now this is only OpenBSD -current). + - (dtucker) [kex.c] Only enable CURVE25519_SHA256 if we actually have + EVP_sha256. + - (dtucker) [myproposal.h] Conditionally enable CURVE25519_SHA256. + - (dtucker) [openbsd-compat/bsd-poll.c] Add headers to prevent compile + warnings. + - (dtucker) [Makefile.in configure.ac] Set MALLOC_OPTIONS per platform + and pass in TEST_ENV. use stderr to get polluted + and the stderr-data test to fail. + - (dtucker) [contrib/cygwin/ssh-host-config] Simplify host key generation: + rather than testing and generating each key, call ssh-keygen -A. + Patch from vinschen at redhat.com. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2013/11/09 05:41:34 + [regress/test-exec.sh regress/rekey.sh] + Use smaller test data files to speed up tests. Grow test datafiles + where necessary for a specific test. + +20131107 + - (djm) [ssh-pkcs11.c] Bring back "non-constant initialiser" fix (rev 1.5) + that got lost in recent merge. + - (djm) [Makefile.in monitor.c] Missed chunks of curve25519 KEX diff + - (djm) [regress/modpipe.c regress/rekey.sh] Never intended to commit these + - (djm) [configure.ac defines.h] Skip arc4random_stir() calls on platforms + that lack it but have arc4random_uniform() + - (djm) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2013/11/04 11:51:16 + [monitor.c] + fix rekeying for KEX_C25519_SHA256; noted by dtucker@ + RCSID sync only; I thought this was a merge botch and fixed it already + - markus@cvs.openbsd.org 2013/11/06 16:52:11 + [monitor_wrap.c] + fix rekeying for AES-GCM modes; ok deraadt + - djm@cvs.openbsd.org 2013/11/06 23:05:59 + [ssh-pkcs11.c] + from portable: s/true/true_val/ to avoid name collisions on dump platforms + RCSID sync only + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/10/09 23:44:14 + [regress/Makefile] (ID sync only) + regression test for sftp request white/blacklisting and readonly mode. + - markus@cvs.openbsd.org 2013/11/02 22:39:53 + [regress/kextype.sh] + add curve25519-sha256@libssh.org + - dtucker@cvs.openbsd.org 2013/11/04 12:27:42 + [regress/rekey.sh] + Test rekeying with all KexAlgorithms. + - dtucker@cvs.openbsd.org 2013/11/07 00:12:05 + [regress/rekey.sh] + Test rekeying for every Cipher, MAC and KEX, plus test every KEX with + the GCM ciphers. + - dtucker@cvs.openbsd.org 2013/11/07 01:12:51 + [regress/rekey.sh] + Factor out the data transfer rekey tests + - dtucker@cvs.openbsd.org 2013/11/07 02:48:38 + [regress/integrity.sh regress/cipher-speed.sh regress/try-ciphers.sh] + Use ssh -Q instead of hardcoding lists of ciphers or MACs. + - dtucker@cvs.openbsd.org 2013/11/07 03:55:41 + [regress/kextype.sh] + Use ssh -Q to get kex types instead of a static list. + - dtucker@cvs.openbsd.org 2013/11/07 04:26:56 + [regress/kextype.sh] + trailing space + - (dtucker) [Makefile.in configure.ac] Remove TEST_SSH_SHA256 environment + variable. It's no longer used now that we get the supported MACs from + ssh -Q. -20130913 - - (djm) [channels.c] Fix unaligned access on sparc machines in SOCKS5 code; - ok dtucker@ - - (djm) [channels.c] sigh, typo s/buffet_/buffer_/ - - (djm) Release 6.3p1 +20131104 + - (djm) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2013/11/02 20:03:54 + [ssh-pkcs11.c] + support pkcs#11 tokes that only provide x509 zerts instead of raw pubkeys; + fixes bz#1908; based on patch from Laurent Barbe; ok djm + - markus@cvs.openbsd.org 2013/11/02 21:59:15 + [kex.c kex.h myproposal.h ssh-keyscan.c sshconnect2.c sshd.c] + use curve25519 for default key exchange (curve25519-sha256@libssh.org); + initial patch from Aris Adamantiadis; ok djm@ + - markus@cvs.openbsd.org 2013/11/02 22:10:15 + [kexdhs.c kexecdhs.c] + no need to include monitor_wrap.h + - markus@cvs.openbsd.org 2013/11/02 22:24:24 + [kexdhs.c kexecdhs.c] + no need to include ssh-gss.h + - markus@cvs.openbsd.org 2013/11/02 22:34:01 + [auth-options.c] + no need to include monitor_wrap.h and ssh-gss.h + - markus@cvs.openbsd.org 2013/11/02 22:39:19 + [ssh_config.5 sshd_config.5] + the default kex is now curve25519-sha256@libssh.org + - djm@cvs.openbsd.org 2013/11/03 10:37:19 + [roaming_common.c] + fix a couple of function definitions foo() -> foo(void) + (-Wold-style-definition) + - (djm) [kexc25519.c kexc25519c.c kexc25519s.c] Import missed files from + KEX/curve25519 change + +20131103 + - (dtucker) [openbsd-compat/bsd-misc.c] Include time.h for nanosleep. + From OpenSMTPD where it prevents "implicit declaration" warnings (it's + a no-op in OpenSSH). From chl at openbsd. + - (dtucker) [openbsd-compat/setproctitle.c] Handle error case form the 2nd + vsnprintf. From eric at openbsd via chl@. + - (dtucker) [configure.ac defines.h] Add typedefs for intmax_t and uintmax_t + for platforms that don't have them. + +20131030 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/10/29 09:42:11 + [key.c key.h] + fix potential stack exhaustion caused by nested certificates; + report by Mateusz Kocielski; ok dtucker@ markus@ + - djm@cvs.openbsd.org 2013/10/29 09:48:02 + [servconf.c servconf.h session.c sshd_config sshd_config.5] + shd_config PermitTTY to disallow TTY allocation, mirroring the + longstanding no-pty authorized_keys option; + bz#2070, patch from Teran McKinney; ok markus@ + - jmc@cvs.openbsd.org 2013/10/29 18:49:32 + [sshd_config.5] + pty(4), not pty(7); + +20131026 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/10/25 23:04:51 + [ssh.c] + fix crash when using ProxyCommand caused by previous commit - was calling + freeaddrinfo(NULL); spotted by sthen@ and Tim Ruehsen, patch by sthen@ + +20131025 + - (djm) [ssh-keygen.c ssh-keysign.c sshconnect1.c sshd.c] Remove + unnecessary arc4random_stir() calls. The only ones left are to ensure + that the PRNG gets a different state after fork() for platforms that + have broken the API. + +20131024 + - (djm) [auth-krb5.c] bz#2032 - use local username in krb5_kuserok check + rather than full client name which may be of form user@REALM; + patch from Miguel Sanders; ok dtucker@ + - (djm) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2013/10/23 05:40:58 + [servconf.c] + fix comment + - djm@cvs.openbsd.org 2013/10/23 23:35:32 + [sshd.c] + include local address and port in "Connection from ..." message (only + shown at loglevel>=verbose) + - dtucker@cvs.openbsd.org 2013/10/24 00:49:49 + [moduli.c] + Periodically print progress and, if possible, expected time to completion + when screening moduli for DH groups. ok deraadt djm + - dtucker@cvs.openbsd.org 2013/10/24 00:51:48 + [readconf.c servconf.c ssh_config.5 sshd_config.5] + Disallow empty Match statements and add "Match all" which matches + everything. ok djm, man page help jmc@ + - djm@cvs.openbsd.org 2013/10/24 08:19:36 + [ssh.c] + fix bug introduced in hostname canonicalisation commit: don't try to + resolve hostnames when a ProxyCommand is set unless the user has forced + canonicalisation; spotted by Iain Morgan + - (tim) [regress/sftp-perm.sh] We need a shell that understands "! somecmd" + +20131023 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/10/20 04:39:28 + [ssh_config.5] + document % expansions performed by "Match command ..." + - djm@cvs.openbsd.org 2013/10/20 06:19:28 + [readconf.c ssh_config.5] + rename "command" subclause of the recently-added "Match" keyword to + "exec"; it's shorter, clearer in intent and we might want to add the + ability to match against the command being executed at the remote end in + the future. + - djm@cvs.openbsd.org 2013/10/20 09:51:26 + [scp.1 sftp.1] + add canonicalisation options to -o lists + - jmc@cvs.openbsd.org 2013/10/20 18:00:13 + [ssh_config.5] + tweak the "exec" description, as worded by djm; + - djm@cvs.openbsd.org 2013/10/23 03:03:07 + [readconf.c] + Hostname may have %h sequences that should be expanded prior to Match + evaluation; spotted by Iain Morgan + - djm@cvs.openbsd.org 2013/10/23 03:05:19 + [readconf.c ssh.c] + comment + - djm@cvs.openbsd.org 2013/10/23 04:16:22 + [ssh-keygen.c] + Make code match documentation: relative-specified certificate expiry time + should be relative to current time and not the validity start time. + Reported by Petr Lautrbach; ok deraadt@ + +20131018 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/10/09 23:44:14 + [regress/Makefile regress/sftp-perm.sh] + regression test for sftp request white/blacklisting and readonly mode. + - jmc@cvs.openbsd.org 2013/10/17 07:35:48 + [sftp.1 sftp.c] + tweak previous; + - djm@cvs.openbsd.org 2013/10/17 22:08:04 + [sshd.c] + include remote port in bad banner message; bz#2162 + +20131017 + - (djm) OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2013/10/15 14:10:25 + [ssh.1 ssh_config.5] + tweak previous; + - djm@cvs.openbsd.org 2013/10/16 02:31:47 + [readconf.c readconf.h roaming_client.c ssh.1 ssh.c ssh_config.5] + [sshconnect.c sshconnect.h] + Implement client-side hostname canonicalisation to allow an explicit + search path of domain suffixes to use to convert unqualified host names + to fully-qualified ones for host key matching. + This is particularly useful for host certificates, which would otherwise + need to list unqualified names alongside fully-qualified ones (and this + causes a number of problems). + "looks fine" markus@ + - jmc@cvs.openbsd.org 2013/10/16 06:42:25 + [ssh_config.5] + tweak previous; + - djm@cvs.openbsd.org 2013/10/16 22:49:39 + [readconf.c readconf.h ssh.1 ssh.c ssh_config.5] + s/canonicalise/canonicalize/ for consistency with existing spelling, + e.g. authorized_keys; pointed out by naddy@ + - djm@cvs.openbsd.org 2013/10/16 22:58:01 + [ssh.c ssh_config.5] + one I missed in previous: s/isation/ization/ + - djm@cvs.openbsd.org 2013/10/17 00:30:13 + [PROTOCOL sftp-client.c sftp-client.h sftp-server.c sftp.1 sftp.c] + fsync@openssh.com protocol extension for sftp-server + client support to allow calling fsync() faster successful transfer + patch mostly by imorgan AT nas.nasa.gov; bz#1798 + "fine" markus@ "grumble OK" deraadt@ "doesn't sound bad to me" millert@ + - djm@cvs.openbsd.org 2013/10/17 00:46:49 + [ssh.c] + rearrange check to reduce diff against -portable + (Id sync only) + +20131015 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/10/09 23:42:17 + [sftp-server.8 sftp-server.c] + Add ability to whitelist and/or blacklist sftp protocol requests by name. + Refactor dispatch loop and consolidate read-only mode checks. + Make global variables static, since sftp-server is linked into sshd(8). + ok dtucker@ + - djm@cvs.openbsd.org 2013/10/10 00:53:25 + [sftp-server.c] + add -Q, -P and -p to usage() before jmc@ catches me + - djm@cvs.openbsd.org 2013/10/10 01:43:03 + [sshd.c] + bz#2139: fix re-exec fallback by ensuring that startup_pipe is correctly + updated; ok dtucker@ + - djm@cvs.openbsd.org 2013/10/11 02:45:36 + [sftp-client.c] + rename flag arguments to be more clear and consistent. + reorder some internal function arguments to make adding additional flags + easier. + no functional change + - djm@cvs.openbsd.org 2013/10/11 02:52:23 + [sftp-client.c] + missed one arg reorder + - djm@cvs.openbsd.org 2013/10/11 02:53:45 + [sftp-client.h] + obsolete comment + - jmc@cvs.openbsd.org 2013/10/14 14:18:56 + [sftp-server.8 sftp-server.c] + tweak previous; + ok djm + - djm@cvs.openbsd.org 2013/10/14 21:20:52 + [session.c session.h] + Add logging of session starts in a useful format; ok markus@ feedback and + ok dtucker@ + - djm@cvs.openbsd.org 2013/10/14 22:22:05 + [readconf.c readconf.h ssh-keysign.c ssh.c ssh_config.5] + add a "Match" keyword to ssh_config that allows matching on hostname, + user and result of arbitrary commands. "nice work" markus@ + - djm@cvs.openbsd.org 2013/10/14 23:28:23 + [canohost.c misc.c misc.h readconf.c sftp-server.c ssh.c] + refactor client config code a little: + add multistate option partsing to readconf.c, similar to servconf.c's + existing code. + move checking of options that accept "none" as an argument to readconf.c + add a lowercase() function and use it instead of explicit tolower() in + loops + part of a larger diff that was ok markus@ + - djm@cvs.openbsd.org 2013/10/14 23:31:01 + [ssh.c] + whitespace at EOL; pointed out by markus@ + - [ssh.c] g/c unused variable. + +20131010 + - (dtucker) OpenBSD CVS Sync + - sthen@cvs.openbsd.org 2013/09/16 11:35:43 + [ssh_config] + Remove gssapi config parts from ssh_config, as was already done for + sshd_config. Req by/ok ajacoutot@ + ID SYNC ONLY for portable; kerberos/gssapi is still pretty popular + - djm@cvs.openbsd.org 2013/09/19 00:24:52 + [progressmeter.c] + store the initial file offset so the progress meter doesn't freak out + when resuming sftp transfers. bz#2137; patch from Iain Morgan; ok dtucker@` + - djm@cvs.openbsd.org 2013/09/19 00:49:12 + [sftp-client.c] + fix swapped pflag and printflag in sftp upload_dir; from Iain Morgan + - djm@cvs.openbsd.org 2013/09/19 01:24:46 + [channels.c] + bz#1297 - tell the client (via packet_send_debug) when their preferred + listen address has been overridden by the server's GatewayPorts; + ok dtucker@ + - djm@cvs.openbsd.org 2013/09/19 01:26:29 + [sshconnect.c] + bz#1211: make BindAddress work with UsePrivilegedPort=yes; patch from + swp AT swp.pp.ru; ok dtucker@ + - dtucker@cvs.openbsd.org 2013/10/08 11:42:13 + [dh.c dh.h] + Increase the size of the Diffie-Hellman groups requested for a each + symmetric key size. New values from NIST Special Publication 800-57 with + the upper limit specified by RFC4419. Pointed out by Peter Backes, ok + djm@. + +20131009 + - (djm) [openbsd-compat/arc4random.c openbsd-compat/chacha_private.h] Pull + in OpenBSD implementation of arc4random, shortly to replace the existing + bsd-arc4random.c + - (djm) [openbsd-compat/Makefile.in openbsd-compat/arc4random.c] + [openbsd-compat/bsd-arc4random.c] Replace old RC4-based arc4random + implementation with recent OpenBSD's ChaCha-based PRNG. ok dtucker@, + tested tim@ + +20130922 + - (dtucker) [platform.c platform.h sshd.c] bz#2156: restore Linux oom_adj + setting when handling SIGHUP to maintain behaviour over retart. Patch + from Matthew Ife. + +20130918 + - (dtucker) [sshd_config] Trailing whitespace; from jstjohn at purdue edu. + +20130914 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/08/22 19:02:21 + [sshd.c] + Stir PRNG after post-accept fork. The child gets a different PRNG state + anyway via rexec and explicit privsep reseeds, but it's good to be sure. + ok markus@ + - mikeb@cvs.openbsd.org 2013/08/28 12:34:27 + [ssh-keygen.c] + improve batch processing a bit by making use of the quite flag a bit + more often and exit with a non zero code if asked to find a hostname + in a known_hosts file and it wasn't there; + originally from reyk@, ok djm + - djm@cvs.openbsd.org 2013/08/31 00:13:54 + [sftp.c] + make ^w match ksh behaviour (delete previous word instead of entire line) + - deraadt@cvs.openbsd.org 2013/09/02 22:00:34 + [ssh-keygen.c sshconnect1.c sshd.c] + All the instances of arc4random_stir() are bogus, since arc4random() + does this itself, inside itself, and has for a very long time.. Actually, + this was probably reducing the entropy available. + ok djm + ID SYNC ONLY for portable; we don't trust other arc4random implementations + to do this right. + - sthen@cvs.openbsd.org 2013/09/07 13:53:11 + [sshd_config] + Remove commented-out kerberos/gssapi config options from sample config, + kerberos support is currently not enabled in ssh in OpenBSD. Discussed with + various people; ok deraadt@ + ID SYNC ONLY for portable; kerberos/gssapi is still pretty popular + - djm@cvs.openbsd.org 2013/09/12 01:41:12 + [clientloop.c] + fix connection crash when sending break (~B) on ControlPersist'd session; + ok dtucker@ + - djm@cvs.openbsd.org 2013/09/13 06:54:34 + [channels.c] + avoid unaligned access in code that reused a buffer to send a + struct in_addr in a reply; simpler just use use buffer_put_int(); + from portable; spotted by and ok dtucker@ + +20130828 + - (djm) [openbsd-compat/bsd-snprintf.c] teach our local snprintf code the + 'j' (intmax_t/uintmax_t) and 'z' (size_t/ssize_t) conversions in case we + start to use them in the future. + - (djm) [openbsd-compat/bsd-snprintf.c] #ifdef noytet for intmax_t bits + until we have configure support. + +20130821 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2013/08/06 23:03:49 + [sftp.c] + fix some whitespace at EOL + make list of commands an enum rather than a long list of defines + add -a to usage() + - djm@cvs.openbsd.org 2013/08/06 23:05:01 + [sftp.1] *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 14:29:34 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C28B35A9; Fri, 31 Jan 2014 14:29:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AEBEA159D; Fri, 31 Jan 2014 14:29:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VETYws043104; Fri, 31 Jan 2014 14:29:34 GMT (envelope-from tijl@svn.freebsd.org) Received: (from tijl@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VETYbe043103; Fri, 31 Jan 2014 14:29:34 GMT (envelope-from tijl@svn.freebsd.org) Message-Id: <201401311429.s0VETYbe043103@svn.freebsd.org> From: Tijl Coosemans Date: Fri, 31 Jan 2014 14:29:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261321 - head/sys/x86/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 14:29:34 -0000 Author: tijl Date: Fri Jan 31 14:29:34 2014 New Revision: 261321 URL: http://svnweb.freebsd.org/changeset/base/261321 Log: Rename the AMD MSR_PERFCTR[0-3] so the Pentium Pro MSR_PERFCTR[0-1] aren't redefined. Reported by: "Trivedi, Nishank" Discussed with: kib Modified: head/sys/x86/include/specialreg.h Modified: head/sys/x86/include/specialreg.h ============================================================================== --- head/sys/x86/include/specialreg.h Fri Jan 31 13:12:02 2014 (r261320) +++ head/sys/x86/include/specialreg.h Fri Jan 31 14:29:34 2014 (r261321) @@ -720,12 +720,10 @@ #define MSR_PERFEVSEL1 0xc0010001 #define MSR_PERFEVSEL2 0xc0010002 #define MSR_PERFEVSEL3 0xc0010003 -#undef MSR_PERFCTR0 -#undef MSR_PERFCTR1 -#define MSR_PERFCTR0 0xc0010004 -#define MSR_PERFCTR1 0xc0010005 -#define MSR_PERFCTR2 0xc0010006 -#define MSR_PERFCTR3 0xc0010007 +#define MSR_K7_PERFCTR0 0xc0010004 +#define MSR_K7_PERFCTR1 0xc0010005 +#define MSR_K7_PERFCTR2 0xc0010006 +#define MSR_K7_PERFCTR3 0xc0010007 #define MSR_SYSCFG 0xc0010010 #define MSR_HWCR 0xc0010015 #define MSR_IORRBASE0 0xc0010016 From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 15:38:07 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 584C6ED; Fri, 31 Jan 2014 15:38:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 38C3A1B32; Fri, 31 Jan 2014 15:38:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VFc7lf070772; Fri, 31 Jan 2014 15:38:07 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VFc632070765; Fri, 31 Jan 2014 15:38:06 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401311538.s0VFc632070765@svn.freebsd.org> From: Warner Losh Date: Fri, 31 Jan 2014 15:38:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261322 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 15:38:07 -0000 Author: imp Date: Fri Jan 31 15:38:05 2014 New Revision: 261322 URL: http://svnweb.freebsd.org/changeset/base/261322 Log: Switch to using PAs rather than VAs for the addresses we map for devices. This is a nop, except for what's reported by atmelbus for the resources. It would be nice if we could dymanically allocated these things, but the pmap_mapdev panics if we don't keep the static mappings, so we still need to play the carefully allocate VA space between all supported SoC game. User's with their own devices may need to make adjustments. Modified: head/sys/arm/at91/at91.c head/sys/arm/at91/at91_machdep.c head/sys/arm/at91/at91rm92reg.h head/sys/arm/at91/at91sam9g20reg.h head/sys/arm/at91/at91sam9g45reg.h Modified: head/sys/arm/at91/at91.c ============================================================================== --- head/sys/arm/at91/at91.c Fri Jan 31 14:29:34 2014 (r261321) +++ head/sys/arm/at91/at91.c Fri Jan 31 15:38:05 2014 (r261322) @@ -260,7 +260,6 @@ static int at91_attach(device_t dev) { struct at91_softc *sc = device_get_softc(dev); - const struct arm_devmap_entry *pdevmap; int i; arm_post_filter = at91_eoi; @@ -281,11 +280,15 @@ at91_attach(device_t dev) sc->sc_mem_rman.rm_descr = "AT91 Memory"; if (rman_init(&sc->sc_mem_rman) != 0) panic("at91_attach: failed to set up memory rman"); - for (pdevmap = at91_devmap; pdevmap->pd_va != 0; pdevmap++) { - if (rman_manage_region(&sc->sc_mem_rman, pdevmap->pd_va, - pdevmap->pd_va + pdevmap->pd_size - 1) != 0) - panic("at91_attach: failed to set up memory rman"); - } + /* + * Manage the physical space, defined as being everything that isn't + * DRAM. + */ + if (rman_manage_region(&sc->sc_mem_rman, 0, PHYSADDR - 1) != 0) + panic("at91_attach: failed to set up memory rman"); + if (rman_manage_region(&sc->sc_mem_rman, PHYSADDR + (256 << 20), + 0xfffffffful) != 0) + panic("at91_attach: failed to set up memory rman"); /* * Setup the interrupt table. @@ -330,6 +333,7 @@ at91_alloc_resource(device_t dev, device struct resource_list_entry *rle; struct at91_ivar *ivar = device_get_ivars(child); struct resource_list *rl = &ivar->resources; + bus_space_handle_t bsh; if (device_get_parent(child) != dev) return (BUS_ALLOC_RESOURCE(device_get_parent(dev), child, @@ -355,8 +359,10 @@ at91_alloc_resource(device_t dev, device rle->res = rman_reserve_resource(&sc->sc_mem_rman, start, end, count, flags, child); if (rle->res != NULL) { + bus_space_map(&at91_bs_tag, start, + rman_get_size(rle->res), 0, &bsh); rman_set_bustag(rle->res, &at91_bs_tag); - rman_set_bushandle(rle->res, start); + rman_set_bushandle(rle->res, bsh); } break; } @@ -538,8 +544,14 @@ at91_add_child(device_t dev, int prio, c bus_set_resource(kid, SYS_RES_IRQ, 1, irq1, 1); if (irq2 != 0) bus_set_resource(kid, SYS_RES_IRQ, 2, irq2, 1); - if (addr != 0 && addr < AT91_BASE) - addr += AT91_BASE; + /* + * Special case for on-board devices. These have their address + * defined relative to AT91_PA_BASE in all the register files we + * have. We could change this, but that's a lot of effort which + * will be obsoleted when FDT arrives. + */ + if (addr != 0 && addr < 0x10000000 && addr >= 0x0f000000) + addr += AT91_PA_BASE; if (addr != 0) bus_set_resource(kid, SYS_RES_MEMORY, 0, addr, size); } Modified: head/sys/arm/at91/at91_machdep.c ============================================================================== --- head/sys/arm/at91/at91_machdep.c Fri Jan 31 14:29:34 2014 (r261321) +++ head/sys/arm/at91/at91_machdep.c Fri Jan 31 15:38:05 2014 (r261322) @@ -146,6 +146,7 @@ const struct arm_devmap_entry at91_devma VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + /* There's a notion that we should do the rest of these lazily. */ /* * We can't just map the OHCI registers VA == PA, because * AT91xx_xxx_BASE belongs to the userland address space. @@ -163,16 +164,16 @@ const struct arm_devmap_entry at91_devma * on this chip select for a VA/PA mapping. */ /* Internal Memory 1MB */ + AT91RM92_OHCI_VA_BASE, AT91RM92_OHCI_BASE, - AT91RM92_OHCI_PA_BASE, 0x00100000, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, { /* CompactFlash controller. Portion of EBI CS4 1MB */ + AT91RM92_CF_VA_BASE, AT91RM92_CF_BASE, - AT91RM92_CF_PA_BASE, 0x00100000, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, @@ -183,16 +184,16 @@ const struct arm_devmap_entry at91_devma */ { /* Internal Memory 1MB */ + AT91SAM9G20_OHCI_VA_BASE, AT91SAM9G20_OHCI_BASE, - AT91SAM9G20_OHCI_PA_BASE, 0x00100000, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, { /* EBI CS3 256MB */ + AT91SAM9G20_NAND_VA_BASE, AT91SAM9G20_NAND_BASE, - AT91SAM9G20_NAND_PA_BASE, AT91SAM9G20_NAND_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, @@ -202,8 +203,8 @@ const struct arm_devmap_entry at91_devma */ { /* Internal Memory 1MB */ + AT91SAM9G45_OHCI_VA_BASE, AT91SAM9G45_OHCI_BASE, - AT91SAM9G45_OHCI_PA_BASE, 0x00100000, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, Modified: head/sys/arm/at91/at91rm92reg.h ============================================================================== --- head/sys/arm/at91/at91rm92reg.h Fri Jan 31 14:29:34 2014 (r261321) +++ head/sys/arm/at91/at91rm92reg.h Fri Jan 31 15:38:05 2014 (r261322) @@ -255,12 +255,12 @@ * other * soc's so phyical and vm address * mapping are unique. XXX */ -#define AT91RM92_OHCI_BASE 0xdfe00000 -#define AT91RM92_OHCI_PA_BASE 0x00300000 +#define AT91RM92_OHCI_VA_BASE 0xdfe00000 +#define AT91RM92_OHCI_BASE 0x00300000 #define AT91RM92_OHCI_SIZE 0x00100000 -#define AT91RM92_CF_BASE 0xdfd00000 -#define AT91RM92_CF_PA_BASE 0x51400000 +#define AT91RM92_CF_VA_BASE 0xdfd00000 +#define AT91RM92_CF_BASE 0x51400000 #define AT91RM92_CF_SIZE 0x00100000 /* SDRAMC */ Modified: head/sys/arm/at91/at91sam9g20reg.h ============================================================================== --- head/sys/arm/at91/at91sam9g20reg.h Fri Jan 31 14:29:34 2014 (r261321) +++ head/sys/arm/at91/at91sam9g20reg.h Fri Jan 31 15:38:05 2014 (r261322) @@ -252,14 +252,13 @@ * other * soc's so phyical and vm address * mapping are unique. XXX */ -#define AT91SAM9G20_OHCI_BASE 0xdfc00000 -#define AT91SAM9G20_OHCI_PA_BASE 0x00500000 -#define AT91SAM9G20_OHCI_SIZE 0x00100000 - -#define AT91SAM9G20_NAND_BASE 0xe0000000 -#define AT91SAM9G20_NAND_PA_BASE 0x40000000 -#define AT91SAM9G20_NAND_SIZE 0x10000000 +#define AT91SAM9G20_OHCI_VA_BASE 0xdfc00000 +#define AT91SAM9G20_OHCI_BASE 0x00500000 +#define AT91SAM9G20_OHCI_SIZE 0x00100000 +#define AT91SAM9G20_NAND_VA_BASE 0xe0000000 +#define AT91SAM9G20_NAND_BASE 0x40000000 +#define AT91SAM9G20_NAND_SIZE 0x10000000 /* SDRAMC */ #define AT91SAM9G20_SDRAMC_BASE 0xfffea00 Modified: head/sys/arm/at91/at91sam9g45reg.h ============================================================================== --- head/sys/arm/at91/at91sam9g45reg.h Fri Jan 31 14:29:34 2014 (r261321) +++ head/sys/arm/at91/at91sam9g45reg.h Fri Jan 31 15:38:05 2014 (r261322) @@ -243,13 +243,13 @@ * other * soc's so phyical and vm address * mapping are unique. XXX */ -#define AT91SAM9G45_OHCI_BASE 0xdfb00000 -#define AT91SAM9G45_OHCI_PA_BASE 0x00700000 -#define AT91SAM9G45_OHCI_SIZE 0x00100000 +#define AT91SAM9G45_OHCI_VA_BASE 0xdfb00000 +#define AT91SAM9G45_OHCI_BASE 0x00700000 +#define AT91SAM9G45_OHCI_SIZE 0x00100000 -#define AT91SAM9G45_NAND_BASE 0xe0000000 -#define AT91SAM9G45_NAND_PA_BASE 0x40000000 -#define AT91SAM9G45_NAND_SIZE 0x10000000 +#define AT91SAM9G45_NAND_VA_BASE 0xe0000000 +#define AT91SAM9G45_NAND_BASE 0x40000000 +#define AT91SAM9G45_NAND_SIZE 0x10000000 /* DDRSDRC */ From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 16:27:06 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D113C42E; Fri, 31 Jan 2014 16:27:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BD24F10C2; Fri, 31 Jan 2014 16:27:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VGR6Uu090742; Fri, 31 Jan 2014 16:27:06 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VGR6tb090741; Fri, 31 Jan 2014 16:27:06 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201401311627.s0VGR6tb090741@svn.freebsd.org> From: Sergey Kandaurov Date: Fri, 31 Jan 2014 16:27:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261323 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 16:27:06 -0000 Author: pluknet Date: Fri Jan 31 16:27:06 2014 New Revision: 261323 URL: http://svnweb.freebsd.org/changeset/base/261323 Log: [mdoc] Avoid a line break. Modified: head/share/man/man4/rights.4 Modified: head/share/man/man4/rights.4 ============================================================================== --- head/share/man/man4/rights.4 Fri Jan 31 15:38:05 2014 (r261322) +++ head/share/man/man4/rights.4 Fri Jan 31 16:27:06 2014 (r261323) @@ -665,6 +665,7 @@ Support for capabilities and capabilitie .Tn TrustedBSD Project. .Sh AUTHORS +.An -nosplit This manual page was created by .An Pawel Jakub Dawidek Aq pawel@dawidek.net under sponsorship from the FreeBSD Foundation based on the From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 16:46:41 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2CEA68D3; Fri, 31 Jan 2014 16:46:41 +0000 (UTC) Received: from mail-wg0-x22d.google.com (mail-wg0-x22d.google.com [IPv6:2a00:1450:400c:c00::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 291621231; Fri, 31 Jan 2014 16:46:40 +0000 (UTC) Received: by mail-wg0-f45.google.com with SMTP id n12so9498720wgh.24 for ; Fri, 31 Jan 2014 08:46:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Sr9CDc63/esg010qVpfSOwyuWvOiQlFDG7tjZs2mGTk=; b=S4XEi2eFWMEB5tJ9l41GWhXu+ORdrL6WR1jKnTmMhh8nynlAX780g6Yp3H9Jsy1emJ nRH8RqX0KZv4vV1NgxKWSBgzTQvQwAQo1g2ls6HrBst01FXIztQf6qfi29a4eqMjCaJA B0jEl5GYnE8VcaolVf5Mdvw11/v3iw2D+EilIGUS4e3YJEszn7seJ32ir279ueFbXcGp qiK55jAmIVtadm84dNPyZ3ZKl58paniCfK3LfdIMvU21M+Azm0+WxE82SvEcLAdY7Krs e1FhW0KaxfWy7ALE4802BLM8kgLJn10ieaC6nxGdjwve5GmBGWt3muegPiQF8RVd9Qmn v2Jg== MIME-Version: 1.0 X-Received: by 10.194.175.66 with SMTP id by2mr2159194wjc.59.1391186798589; Fri, 31 Jan 2014 08:46:38 -0800 (PST) Sender: pluknet@gmail.com Received: by 10.194.81.39 with HTTP; Fri, 31 Jan 2014 08:46:38 -0800 (PST) In-Reply-To: <201401311226.s0VCQVZW096049@svn.freebsd.org> References: <201401311226.s0VCQVZW096049@svn.freebsd.org> Date: Fri, 31 Jan 2014 20:46:38 +0400 X-Google-Sender-Auth: ecxCwfphwnpoc_i-DGU1cbm_Lm4 Message-ID: Subject: Re: svn commit: r261319 - in head: contrib/groff/tmac gnu/usr.bin/groff/tmac From: Sergey Kandaurov To: Ulrich Spoerlein Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Ruslan Ermilov X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 16:46:41 -0000 On 31 January 2014 16:26, Ulrich Spoerlein wrote: > Author: uqs > Date: Fri Jan 31 12:26:30 2014 > New Revision: 261319 > URL: http://svnweb.freebsd.org/changeset/base/261319 > > Log: > Pull up vendor changes up to 2014-01-29 > > - move local overrides into mdoc.local > - syncs us with git commit 819839b66c80e8dabe6cb24ea6319c26c9a2be14 > > Discussed with: ru > MFC after: 2 weeks On a related note. We already reference .Nx 7.0 in numerous places. I have not found in svn history that mdoc.local was used ever to store .{Other}x macros there. Is it ok or is there a better way? Otherwise I would like to commit this patch: Index: gnu/usr.bin/groff/tmac/mdoc.local =================================================================== --- gnu/usr.bin/groff/tmac/mdoc.local (revision 261323) +++ gnu/usr.bin/groff/tmac/mdoc.local (working copy) @@ -58,6 +58,7 @@ .ds doc-operating-system-FreeBSD-9.2 9.2 .ds doc-operating-system-FreeBSD-10.0 10.0 .ds doc-operating-system-FreeBSD-11.0 11.0 +.ds doc-operating-system-NetBSD-7.0 7.0 . .\" Definitions not (yet) in doc-syms . Oh, or may be you could commit a corresponding change upstream yourself? :) So we could rather pull it downstream as is. -- wbr, pluknet From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 17:15:57 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 32DBC47E; Fri, 31 Jan 2014 17:15:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1DD4314F5; Fri, 31 Jan 2014 17:15:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VHFuDQ012067; Fri, 31 Jan 2014 17:15:56 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VHFu7t012066; Fri, 31 Jan 2014 17:15:56 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201401311715.s0VHFu7t012066@svn.freebsd.org> From: Sergey Kandaurov Date: Fri, 31 Jan 2014 17:15:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261324 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 17:15:57 -0000 Author: pluknet Date: Fri Jan 31 17:15:56 2014 New Revision: 261324 URL: http://svnweb.freebsd.org/changeset/base/261324 Log: Sort Xr's. Modified: head/share/man/man4/procdesc.4 Modified: head/share/man/man4/procdesc.4 ============================================================================== --- head/share/man/man4/procdesc.4 Fri Jan 31 16:27:06 2014 (r261323) +++ head/share/man/man4/procdesc.4 Fri Jan 31 17:15:56 2014 (r261324) @@ -62,11 +62,11 @@ Given a process descriptor, it is possib .Sh SEE ALSO .Xr fork 2 , .Xr kill 2 , -.Xr wait4 2 , .Xr pdfork 2 , .Xr pdgetpid 2 , .Xr pdkill 2 , .Xr pdwait4 2 , +.Xr wait4 2 , .Xr capsicum 4 .Sh HISTORY .Nm From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 17:28:50 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0549E421; Fri, 31 Jan 2014 17:28:50 +0000 (UTC) Received: from m2.gritton.org (gritton.org [199.192.164.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D12FC1666; Fri, 31 Jan 2014 17:28:49 +0000 (UTC) Received: from [192.168.0.34] (c-50-168-192-61.hsd1.ut.comcast.net [50.168.192.61]) (authenticated bits=0) by m2.gritton.org (8.14.7/8.14.7) with ESMTP id s0VHSg0J033456; Fri, 31 Jan 2014 10:28:42 -0700 (MST) (envelope-from jamie@freebsd.org) Message-ID: <52EBDD42.4020702@freebsd.org> Date: Fri, 31 Jan 2014 10:28:34 -0700 From: James Gritton User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Robert Watson , Alexander Leidinger Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail References: <201401291341.s0TDfDcB068211@svn.freebsd.org> <20140129134344.GW66160@FreeBSD.org> <52E906CD.9050202@freebsd.org> <20140129222210.0000711f@unknown> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 17:28:50 -0000 On 1/31/2014 5:34 AM, Robert Watson wrote: > On Wed, 29 Jan 2014, Alexander Leidinger wrote: > >>> It does. I included a warning in jail.8 that this will pretty much >>> undo jail security. There are still reasons some may want to do >>> this, but it's definitely not for everyone or even most people. >> >> It only "unjails" (= basically the same security level as the >> jail-host with the added benefit of the flexibility of a jail like >> easy moving from one system to another) the jail which has this flag >> set. All other jails without the flag can not "escape" to the host. >> >> I also have to add that just setting this flag does not give access >> to the host, you also have to configure a non-default devfs rule for >> this jail (to have the devices appear in the jail). > > This is not correct: devices do not need to be delegated in devfs for > PRIV_IO to allow bypass of the Jail security model, due to sysarch() > and the Linux-emulated equivalent, which turn out direct I/O access > from a user process without use of a device node. > > Frankly, I'd like to see this backed out and not reintroduced. If it > must be retained, then it needs a much more clear warning that > enabling this feature disables Jail's security model. Don't use the > word 'obviate', instead explicitly state that root within the jail can > escape the jail. > > Robert I'll do at least the next-best thing: back it out and hope to re-introduce it. Clearly it could use some further discussion. - Jamie From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 17:39:53 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 08295AFE; Fri, 31 Jan 2014 17:39:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D863F178F; Fri, 31 Jan 2014 17:39:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VHdqsY020197; Fri, 31 Jan 2014 17:39:52 GMT (envelope-from jamie@svn.freebsd.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VHdq8r020193; Fri, 31 Jan 2014 17:39:52 GMT (envelope-from jamie@svn.freebsd.org) Message-Id: <201401311739.s0VHdq8r020193@svn.freebsd.org> From: Jamie Gritton Date: Fri, 31 Jan 2014 17:39:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261326 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 17:39:53 -0000 Author: jamie Date: Fri Jan 31 17:39:51 2014 New Revision: 261326 URL: http://svnweb.freebsd.org/changeset/base/261326 Log: Back out r261266 pending security buy-in. r261266: Add a jail parameter, allow.kmem, which lets jailed processes access /dev/kmem and related devices (i.e. grants PRIV_IO and PRIV_KMEM_WRITE). This in conjunction with changing the drm driver's permission check from PRIV_DRIVER to PRIV_KMEM_WRITE will allow a jailed Xorg server. Modified: head/sys/dev/drm/drmP.h head/sys/kern/kern_jail.c head/sys/sys/jail.h head/usr.sbin/jail/jail.8 Modified: head/sys/dev/drm/drmP.h ============================================================================== --- head/sys/dev/drm/drmP.h Fri Jan 31 17:26:15 2014 (r261325) +++ head/sys/dev/drm/drmP.h Fri Jan 31 17:39:51 2014 (r261326) @@ -227,9 +227,7 @@ enum { #define PAGE_ALIGN(addr) round_page(addr) /* DRM_SUSER returns true if the user is superuser */ -#if __FreeBSD_version >= 1000000 -#define DRM_SUSER(p) (priv_check(p, PRIV_KMEM_WRITE) == 0) -#elif __FreeBSD_version >= 700000 +#if __FreeBSD_version >= 700000 #define DRM_SUSER(p) (priv_check(p, PRIV_DRIVER) == 0) #else #define DRM_SUSER(p) (suser(p) == 0) Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Fri Jan 31 17:26:15 2014 (r261325) +++ head/sys/kern/kern_jail.c Fri Jan 31 17:39:51 2014 (r261326) @@ -208,7 +208,6 @@ static char *pr_allow_names[] = { "allow.mount.zfs", "allow.mount.procfs", "allow.mount.tmpfs", - "allow.kmem", }; const size_t pr_allow_names_size = sizeof(pr_allow_names); @@ -225,7 +224,6 @@ static char *pr_allow_nonames[] = { "allow.mount.nozfs", "allow.mount.noprocfs", "allow.mount.notmpfs", - "allow.nokmem", }; const size_t pr_allow_nonames_size = sizeof(pr_allow_nonames); @@ -3953,27 +3951,6 @@ prison_priv_check(struct ucred *cred, in return (0); /* - * Allow access to /dev/io in a jail if the non-jailed admin - * requests this and if /dev/io exists in the jail. This - * allows Xorg to probe a card. - */ - case PRIV_IO: - if (cred->cr_prison->pr_allow & PR_ALLOW_KMEM) - return (0); - else - return (EPERM); - - /* - * Allow low level access to KMEM-like devices (e.g. to - * allow Xorg to use DRI). - */ - case PRIV_KMEM_WRITE: - if (cred->cr_prison->pr_allow & PR_ALLOW_KMEM) - return (0); - else - return (EPERM); - - /* * Allow jailed root to set loginclass. */ case PRIV_PROC_SETLOGINCLASS: @@ -4407,8 +4384,6 @@ SYSCTL_JAIL_PARAM(_allow, quotas, CTLTYP "B", "Jail may set file quotas"); SYSCTL_JAIL_PARAM(_allow, socket_af, CTLTYPE_INT | CTLFLAG_RW, "B", "Jail may create sockets other than just UNIX/IPv4/IPv6/route"); -SYSCTL_JAIL_PARAM(_allow, kmem, CTLTYPE_INT | CTLFLAG_RW, - "B", "Jail may access kmem-like devices (io, dri) if they exist"); SYSCTL_JAIL_PARAM_SUBNODE(allow, mount, "Jail mount/unmount permission flags"); SYSCTL_JAIL_PARAM(_allow_mount, , CTLTYPE_INT | CTLFLAG_RW, Modified: head/sys/sys/jail.h ============================================================================== --- head/sys/sys/jail.h Fri Jan 31 17:26:15 2014 (r261325) +++ head/sys/sys/jail.h Fri Jan 31 17:39:51 2014 (r261326) @@ -228,8 +228,7 @@ struct prison_racct { #define PR_ALLOW_MOUNT_ZFS 0x0200 #define PR_ALLOW_MOUNT_PROCFS 0x0400 #define PR_ALLOW_MOUNT_TMPFS 0x0800 -#define PR_ALLOW_KMEM 0x1000 -#define PR_ALLOW_ALL 0x1fff +#define PR_ALLOW_ALL 0x0fff /* * OSD methods Modified: head/usr.sbin/jail/jail.8 ============================================================================== --- head/usr.sbin/jail/jail.8 Fri Jan 31 17:26:15 2014 (r261325) +++ head/usr.sbin/jail/jail.8 Fri Jan 31 17:39:51 2014 (r261326) @@ -573,17 +573,6 @@ with non-jailed parts of the system. Sockets within a jail are normally restricted to IPv4, IPv6, local (UNIX), and route. This allows access to other protocol stacks that have not had jail functionality added to them. -.It Va allow.kmem -Jailed processes may access -.Pa /dev/kmem -and similar devices (e.g. io, dri) if they have sufficient permission -(via the usual file permissions). -Note that the device files must exist within the jail for this parameter -to be of any use; -the default devfs ruleset for jails does not include any such devices. -Giving a jail access to kernel memory obviates much of the security that -jails offer, but can still be useful for other purposes. -For example, this would allow the Xorg server to run inside a jail. .El .El .Pp From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 18:13:15 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8D4936EC; Fri, 31 Jan 2014 18:13:15 +0000 (UTC) Received: from mail-ob0-x230.google.com (mail-ob0-x230.google.com [IPv6:2607:f8b0:4003:c01::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1E37B1AB8; Fri, 31 Jan 2014 18:13:15 +0000 (UTC) Received: by mail-ob0-f176.google.com with SMTP id gq1so5365340obb.35 for ; Fri, 31 Jan 2014 10:13:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=4/gfGVND8kBUrrCHShn5Acpa/236tsuiUiJpuu0Fhn8=; b=hhmX2n0jLjGohVDGCighBPYzlFlF4mXp9S6j1yQHTdNWjg1LxUXhq2h2aS7HgaJCif Chlt+kcWDr5ubXkqIA1LhjP8xr6wQHmIZe7i5YEtXOpuzIxE4TvErcXhnOU7sCJjZjMc qSajkAAERUs7/Df2epVeUmCAcf5YG5BDJP7WRJHvX3b2+l/2xIk4epRrm6Dp1QIqA9eG KJRxc94G0AiF8GgH6ADmJGfUXkXpO4F2AB1G+E5cTz3cpU4bO9U+dWG8bZArsnz5Y40j dLq2RsCV2J/JX/ZXQVzxa9AyGHe3PiOgxfAsvxSECyOc7WgaePbhGfIA4bIbczmz1Syr fLqQ== MIME-Version: 1.0 X-Received: by 10.182.158.71 with SMTP id ws7mr17897805obb.6.1391191994356; Fri, 31 Jan 2014 10:13:14 -0800 (PST) Received: by 10.76.84.169 with HTTP; Fri, 31 Jan 2014 10:13:14 -0800 (PST) Received: by 10.76.84.169 with HTTP; Fri, 31 Jan 2014 10:13:14 -0800 (PST) In-Reply-To: References: <201401311226.s0VCQVZW096049@svn.freebsd.org> Date: Fri, 31 Jan 2014 19:13:14 +0100 Message-ID: Subject: Re: svn commit: r261319 - in head: contrib/groff/tmac gnu/usr.bin/groff/tmac From: =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= To: Sergey Kandaurov Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Ruslan Ermilov X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 18:13:15 -0000 I'd prefer to upstream these things in batches. So go ahead and add NetBSD 7.0 to our mdoc.local and I'll catch it the next time round. Cheers Uli From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 21:30:36 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3EEF0645; Fri, 31 Jan 2014 21:30:36 +0000 (UTC) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id E05AA1B2F; Fri, 31 Jan 2014 21:30:35 +0000 (UTC) Received: from outgoing.leidinger.net (p57A386D8.dip0.t-ipconnect.de [87.163.134.216]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id 717FE8447C2; Fri, 31 Jan 2014 22:30:14 +0100 (CET) Received: from unknown (Titan.Leidinger.net [192.168.1.17]) by outgoing.leidinger.net (Postfix) with ESMTP id 852093D50; Fri, 31 Jan 2014 22:30:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=leidinger.net; s=outgoing-alex; t=1391203811; bh=eDtmS/aadUuBeSVAxDn09mbw/LQQRvS6zUf7C9jzC6Y=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=1P1T9EDeHYDqwdsqUOvPY24oqJkcPWDibwh80KPE2NnIOBcioMDsfICaL8/r5pSNO IhJPBBsaB9t/HYgeQuvmU+kCGSYk3K+kHyfHtuF46Klmr0wY5U689Yx8Y7718j/wub fEvQf5eny8wTjU8PVLTJ0IfXz2Y+tQZiCU+AevzqZnFGVPCnDvysRhaCtwdHeYvrYm huZsXULuE2cqW1qqMiuFYYRCL6iZx6G/A1xYBIv/uWuMiNWH7I7aloaSm336yi9Wn7 yOsZ6WXLwtAtUyq7aR8Z+EQr1nLn4IWbvSQFKA78azbJcHLvC9YWa6E1FNPhjKGYQA WeH24hs3CLiQA== Date: Fri, 31 Jan 2014 22:30:11 +0100 From: Alexander Leidinger To: Robert Watson Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail Message-ID: <20140131223011.0000163b@unknown> In-Reply-To: References: <201401291341.s0TDfDcB068211@svn.freebsd.org> <20140129134344.GW66160@FreeBSD.org> <52E906CD.9050202@freebsd.org> <20140129222210.0000711f@unknown> X-Mailer: Claws Mail 3.9.2-55-g74b05b (GTK+ 2.16.6; i586-pc-mingw32msvc) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: 717FE8447C2.A1587 X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=-1.059, required 6, autolearn=disabled, ALL_TRUSTED -1.00, AWL -0.11, DKIM_SIGNED 0.10, DKIM_VALID -0.10, DKIM_VALID_AU -0.10, RP_MATCHES_RCVD -0.00, TW_EV 0.08, TW_SV 0.08) X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1391808614.88144@go6+FBEnTfXX/mVxxtfMbQ X-EBL-Spam-Status: No Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org, James Gritton X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 21:30:36 -0000 On Fri, 31 Jan 2014 12:34:48 +0000 (GMT) Robert Watson wrote: > On Wed, 29 Jan 2014, Alexander Leidinger wrote: > > >> It does. I included a warning in jail.8 that this will pretty > >> much undo jail security. There are still reasons some may want to > >> do this, but it's definitely not for everyone or even most people. > > > > It only "unjails" (= basically the same security level as the > > jail-host with the added benefit of the flexibility of a jail like > > easy moving from one system to another) the jail which has this > > flag set. All other jails without the flag can not "escape" to the > > host. > > > > I also have to add that just setting this flag does not give access > > to the host, you also have to configure a non-default devfs rule > > for this jail (to have the devices appear in the jail). > > This is not correct: devices do not need to be delegated in devfs for > PRIV_IO to allow bypass of the Jail security model, due to sysarch() > and the Linux-emulated equivalent, which turn out direct I/O access > from a user process without use of a device node. Ok, then it is just the non-default flag, not the additional devfs part. I agree with your other post that we are better of to document better what it means if an admin allows kmem access for a specific jail. Bye, Alexander. -- http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 22:01:59 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 74B35FA1; Fri, 31 Jan 2014 22:01:59 +0000 (UTC) Received: from felyko.com (felyko.com [IPv6:2607:f2f8:a528::3:1337:ca7]) by mx1.freebsd.org (Postfix) with ESMTP id 576511E43; Fri, 31 Jan 2014 22:01:59 +0000 (UTC) Received: from [IPv6:2601:9:8280:43f:a524:b1d1:7a02:1bae] (unknown [IPv6:2601:9:8280:43f:a524:b1d1:7a02:1bae]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by felyko.com (Postfix) with ESMTPSA id C9FD339828; Fri, 31 Jan 2014 14:01:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=felyko.com; s=mail; t=1391205718; bh=ocKGIO+rUJ0tW5lOSyzXKyf8PjxeFGAshPrd/TO/JbI=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=OShvCPKbZhh12WbERfCrR492lZQjGAlOjHHBC0K3nGtwHB2YxbNooCy0b3NeoEb+S vqGhT6K9pBYAX5hf2zTgJTX0YyYUGrhB/T73tdTyF9RpJRFnbiJAem5TyoKjCk6WeW yxJ1OaWWCIb41oG8N/OyW/VWM4GIYqlmDfg9a1dQ= Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: svn commit: r260888 - in head/sys: amd64/conf i386/conf From: Rui Paulo In-Reply-To: <201401191846.s0JIkdvw046339@svn.freebsd.org> Date: Fri, 31 Jan 2014 14:01:52 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <65D0418F-A3F2-490E-8A7E-E2212BB7F2F8@felyko.com> References: <201401191846.s0JIkdvw046339@svn.freebsd.org> To: Ed Maste X-Mailer: Apple Mail (2.1827) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 22:01:59 -0000 On 19 Jan 2014, at 10:46, Ed Maste wrote: > Author: emaste > Date: Sun Jan 19 18:46:38 2014 > New Revision: 260888 > URL: http://svnweb.freebsd.org/changeset/base/260888 >=20 > Log: > Add VT kernel configuration to ease testing of vt(9), aka Newcons I thought there was consensus that adding these amd64/i386 configuration = files to the repository was not good idea. =20 Is this something that helps a lot of people? Are you thinking of = removing it later? Can't they co-exist based on a tunable? -- Rui Paulo From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 22:04:14 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F191D184; Fri, 31 Jan 2014 22:04:13 +0000 (UTC) Received: from felyko.com (felyko.com [IPv6:2607:f2f8:a528::3:1337:ca7]) by mx1.freebsd.org (Postfix) with ESMTP id D36451E56; Fri, 31 Jan 2014 22:04:13 +0000 (UTC) Received: from [IPv6:2601:9:8280:43f:a524:b1d1:7a02:1bae] (unknown [IPv6:2601:9:8280:43f:a524:b1d1:7a02:1bae]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by felyko.com (Postfix) with ESMTPSA id 80B5F39828; Fri, 31 Jan 2014 14:04:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=felyko.com; s=mail; t=1391205847; bh=4enUGQMaHyIg+tcL6aufi6UQzuwSmLKQTHj2jZWzJmg=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=InxC7eF6/KIkHa2ogjM8ofxZHuFmvxdVgVvjjbyeDhAK9+aFc94C520rpLpjNDKcD lWNRpxurxmcRt+ILUjF1fg1ZJpQvKwml71Opzo2Qee2afMlWZHLbGHu1ES1gy9cWxi 2yEpRQsBSVEjQrsaSFbMxYmEPYKBidE9salFiKRA= Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: svn commit: r260927 - head/release/doc/en_US.ISO8859-1/relnotes From: Rui Paulo In-Reply-To: <201401202149.s0KLnxwQ099689@svn.freebsd.org> Date: Fri, 31 Jan 2014 14:04:02 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <41A37346-1D5A-4644-974E-F41AB1575221@felyko.com> References: <201401202149.s0KLnxwQ099689@svn.freebsd.org> To: Glen Barber X-Mailer: Apple Mail (2.1827) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 22:04:14 -0000 On 20 Jan 2014, at 13:49, Glen Barber wrote: > Author: gjb > Date: Mon Jan 20 21:49:59 2014 > New Revision: 260927 > URL: http://svnweb.freebsd.org/changeset/base/260927 >=20 > Log: > Trim copyright years. > Add missing punctuation. > Use in place of literal quotes. >=20 > Sponsored by: The FreeBSD Foundation >=20 > Modified: > head/release/doc/en_US.ISO8859-1/relnotes/article.xml >=20 > Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=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/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jan = 20 20:56:09 2014 (r260926) > +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jan = 20 21:49:59 2014 (r260927) > @@ -12,20 +12,6 @@ > $FreeBSD$ >=20 > > - 2000 > - 2001 > - 2002 > - 2003 > - 2004 > - 2005 > - 2006 > - 2007 > - 2008 > - 2009 > - 2010 > - 2011 > - 2012 > - 2013 > 2014 Is this a good idea? I've heard arguments that keeping all these years = is the right approach, but at least we should have 2000-2014, no? -- Rui Paulo From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 22:07:32 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04C8B3CA; Fri, 31 Jan 2014 22:07:32 +0000 (UTC) Received: from mail0.glenbarber.us (mail0.glenbarber.us [208.86.227.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C8FC11E74; Fri, 31 Jan 2014 22:07:31 +0000 (UTC) Received: from glenbarber.us (unknown [IPv6:2001:470:8:1205:2:2:ff:100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gjb) by mail0.glenbarber.us (Postfix) with ESMTPSA id 013E816803; Fri, 31 Jan 2014 22:07:29 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.8.3 mail0.glenbarber.us 013E816803 Authentication-Results: mail0.glenbarber.us; dkim=none reason="no signature"; dkim-adsp=none Date: Fri, 31 Jan 2014 17:07:27 -0500 From: Glen Barber To: Rui Paulo Subject: Re: svn commit: r260888 - in head/sys: amd64/conf i386/conf Message-ID: <20140131220727.GN1740@glenbarber.us> References: <201401191846.s0JIkdvw046339@svn.freebsd.org> <65D0418F-A3F2-490E-8A7E-E2212BB7F2F8@felyko.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="E187YRO8KGM40JwS" Content-Disposition: inline In-Reply-To: <65D0418F-A3F2-490E-8A7E-E2212BB7F2F8@felyko.com> X-Operating-System: FreeBSD 11.0-CURRENT amd64 User-Agent: Mutt/1.5.22 (2013-10-16) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Ed Maste X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 22:07:32 -0000 --E187YRO8KGM40JwS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jan 31, 2014 at 02:01:52PM -0800, Rui Paulo wrote: > On 19 Jan 2014, at 10:46, Ed Maste wrote: >=20 > > Author: emaste > > Date: Sun Jan 19 18:46:38 2014 > > New Revision: 260888 > > URL: http://svnweb.freebsd.org/changeset/base/260888 > >=20 > > Log: > > Add VT kernel configuration to ease testing of vt(9), aka Newcons >=20 > I thought there was consensus that adding these amd64/i386 configuration = files to the repository was not good idea. =20 >=20 > Is this something that helps a lot of people? Are you thinking of removi= ng it later? Can't they co-exist based on a tunable? >=20 It is easier to build images with non-GENERIC default kernels this way. The installer does not currently allow selecting a kernel to install, even if multiple exist on the medium. For example, see: http://ftp.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/ISO-IMAGES/11.= 0/ Glen --E187YRO8KGM40JwS Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iQIcBAEBCAAGBQJS7B6fAAoJELls3eqvi17QdpsP/1jXtT4Q4yb8GRXGGMXRKHlW m+puiFjPKflEFlMR8vO/z0MOWRummrJp3Xag6ftl/qHTo3hHPg06VxXMoWJOVN9G qmv7LkmQLFYPVv0UfQMmNJUWMEurmxjUj/yHjOUlkjo92yRwCAKOD+z6RtyGJyt+ arZlSBnbe/dMG4eNGECLfK6GL2Je2Je4gAICkzHUNUh4L8IwK+tVnawO7/lcuSDC YaNa5WkZCYu0gSDQBDQ2b98shA2onWgvIhlHz0KzuDGXB4tmJJg0DBLwKF2iXaci FzMP2KqWgtD5umrtPV3BPa8spLH+rSOPCgh/IIzhoPu9Jc4o095mSa4z8XVmWR/O bQqTFQAndvyOZeliHb9z+RWy0Ty3xbCK2brQe1TY3PPUmzcifeN96odv/ZQUCzxM PUEBq215dsKItrxaaw2fbpYuGhC2fbZMz0TQUal5x+0nin5HM7AD2QhuclL2Gubf lf7arJn/9KeURuoyty8nXjpwnV3CfJ5eCyuzRuGV+rDFn+LlJz2hpftuVKY8bS0E sSVwlGVy2eOlbKB7su4wO7a03TbPmtZKgsO2FHB/JIJprvS+pwdRvSUrufMVjisY xHKkiSC+O05s+xmGUce4ARev6Sesh3Frq29lI8b/qdUdjd/Ae0+n4v6zh9F/oySw JGDPjEVkABsLAhYFkN9I =tEZj -----END PGP SIGNATURE----- --E187YRO8KGM40JwS-- From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 22:11:02 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7CFF5590; Fri, 31 Jan 2014 22:11:02 +0000 (UTC) Received: from mail0.glenbarber.us (mail0.glenbarber.us [208.86.227.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 39A2F1EE2; Fri, 31 Jan 2014 22:11:01 +0000 (UTC) Received: from glenbarber.us (unknown [IPv6:2001:470:8:1205:2:2:ff:100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gjb) by mail0.glenbarber.us (Postfix) with ESMTPSA id 868161684D; Fri, 31 Jan 2014 22:11:00 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.8.3 mail0.glenbarber.us 868161684D Authentication-Results: mail0.glenbarber.us; dkim=none reason="no signature"; dkim-adsp=none Date: Fri, 31 Jan 2014 17:10:58 -0500 From: Glen Barber To: Rui Paulo Subject: Re: svn commit: r260927 - head/release/doc/en_US.ISO8859-1/relnotes Message-ID: <20140131221058.GO1740@glenbarber.us> References: <201401202149.s0KLnxwQ099689@svn.freebsd.org> <41A37346-1D5A-4644-974E-F41AB1575221@felyko.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="DBUa/BSa4z6QPQv1" Content-Disposition: inline In-Reply-To: <41A37346-1D5A-4644-974E-F41AB1575221@felyko.com> X-Operating-System: FreeBSD 11.0-CURRENT amd64 User-Agent: Mutt/1.5.22 (2013-10-16) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 22:11:02 -0000 --DBUa/BSa4z6QPQv1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jan 31, 2014 at 02:04:02PM -0800, Rui Paulo wrote: > On 20 Jan 2014, at 13:49, Glen Barber wrote: >=20 > > Author: gjb > > Date: Mon Jan 20 21:49:59 2014 > > New Revision: 260927 > > URL: http://svnweb.freebsd.org/changeset/base/260927 > >=20 > > Log: > > Trim copyright years. > > Add missing punctuation. > > Use in place of literal quotes. > >=20 > > Sponsored by: The FreeBSD Foundation > >=20 > > Modified: > > head/release/doc/en_US.ISO8859-1/relnotes/article.xml > >=20 > > Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=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/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jan 20 20= :56:09 2014 (r260926) > > +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jan 20 21= :49:59 2014 (r260927) > > @@ -12,20 +12,6 @@ > > $FreeBSD$ > >=20 > > > > - 2000 > > - 2001 > > - 2002 > > - 2003 > > - 2004 > > - 2005 > > - 2006 > > - 2007 > > - 2008 > > - 2009 > > - 2010 > > - 2011 > > - 2012 > > - 2013 > > 2014 >=20 > Is this a good idea? I've heard arguments that keeping all these > years is the right approach, but at least we should have 2000-2014, > no? >=20 There are a number of problems with these documents at this point. To be honest, the copyright years in the document really are the least of my concerns with them right now. But, are the release notes for a specific version of FreeBSD copyrighted for the entirety of the Project as a whole, or the year(s) the release in question was in the release cycle? I do not know the answer. Similar was done for 9.2-RELEASE, and I think 8.4-RELEASE, fwiw. Glen --DBUa/BSa4z6QPQv1 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iQIcBAEBCAAGBQJS7B9yAAoJELls3eqvi17QiHMP/0sXZqxiomyFqyGecxsfdU8P EUPLGwRvfxglys/zsYbzhN0GgKe3dTECa+CqzW4S5KCSryNH7SEVVeP0vHbxy4kN D0mUCwr2KpeAKkA3osUeSKuSJ6qVsdirXvQOZsa4nSnTyIXIgh5TuAHZ9mb1D/v1 eLQT9d4t9ClLJt2Me9I3esNoPfX6YtJI6/s0F1c1yn2Lic2rVGepQ9VromyUmc0d fO/60rSrjmvXa1/3jjVHeIsSMBMdnAJDuv5VXLl82uJLU7Cv9U+LwFVqYFSOJjNj 0GNT15m2aza7uhkIysC5JumS5xTPyT2/aw/tD40l94r64rKjlxNBsB8c48XCcet0 cCRRk/Hd9NHdtnFcp99yysxVwNJJPg2qQxesNHpDIG8xmX67rOV8DyBSGQXVCAKY Ln6a14Oo8Du5virBBWpPuViefwVhRdxTk855nyPCLe5t2OAruyee4l8YS0zoifbb WHFlQsoQBMsHDuh+BRgEMLwhB6uxbwNuKov28V42rF7jkXwptbQiRcQBhkvUhlfp WV19HO1gqAsidHbInHz6z1AJtieBLX07LUd2VrZaTOmiQdR4trmZGA5qbE+jlaeQ c49SfoCk6DE3voFaL4Eew/zaRneQXJsBtlLQofjRfJOd5xffivEbyP9s2I8OJ/DW 8fyZWreCJLYmNT3lELsb =03Tv -----END PGP SIGNATURE----- --DBUa/BSa4z6QPQv1-- From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 22:42:27 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 612ABC9E; Fri, 31 Jan 2014 22:42:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4CFC81115; Fri, 31 Jan 2014 22:42:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VMgRsm041017; Fri, 31 Jan 2014 22:42:27 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VMgR9k041016; Fri, 31 Jan 2014 22:42:27 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201401312242.s0VMgR9k041016@svn.freebsd.org> From: Hans Petter Selasky Date: Fri, 31 Jan 2014 22:42:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261330 - head/sys/dev/usb/wlan X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 22:42:27 -0000 Author: hselasky Date: Fri Jan 31 22:42:26 2014 New Revision: 261330 URL: http://svnweb.freebsd.org/changeset/base/261330 Log: Fix a range check for maximum transmit length. The existing code was off by 4 bytes in one case. Approved by: kevlo @ MFC after: 2 weeks Modified: head/sys/dev/usb/wlan/if_run.c Modified: head/sys/dev/usb/wlan/if_run.c ============================================================================== --- head/sys/dev/usb/wlan/if_run.c Fri Jan 31 20:52:08 2014 (r261329) +++ head/sys/dev/usb/wlan/if_run.c Fri Jan 31 22:42:26 2014 (r261330) @@ -3070,10 +3070,10 @@ tr_setup: STAILQ_REMOVE_HEAD(&pq->tx_qh, next); m = data->m; - size = (sc->mac_ver == 0x5592) ? - RUN_MAX_TXSZ + sizeof(uint32_t) : RUN_MAX_TXSZ; + size = (sc->mac_ver == 0x5592) ? + sizeof(data->desc) + sizeof(uint32_t) : sizeof(data->desc); if ((m->m_pkthdr.len + - sizeof(data->desc) + 3 + 8) > size) { + size + 3 + 8) > RUN_MAX_TXSZ) { DPRINTF("data overflow, %u bytes\n", m->m_pkthdr.len); @@ -3085,8 +3085,6 @@ tr_setup: } pc = usbd_xfer_get_frame(xfer, 0); - size = (sc->mac_ver == 0x5592) ? - sizeof(data->desc) + sizeof(uint32_t) : sizeof(data->desc); usbd_copy_in(pc, 0, &data->desc, size); usbd_m_copy_in(pc, size, m, 0, m->m_pkthdr.len); size += m->m_pkthdr.len; From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 23:18:31 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2D692E01; Fri, 31 Jan 2014 23:18:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1A0711374; Fri, 31 Jan 2014 23:18:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VNIU3u053956; Fri, 31 Jan 2014 23:18:30 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VNIUR0053955; Fri, 31 Jan 2014 23:18:30 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401312318.s0VNIUR0053955@svn.freebsd.org> From: Warner Losh Date: Fri, 31 Jan 2014 23:18:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261336 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 23:18:31 -0000 Author: imp Date: Fri Jan 31 23:18:30 2014 New Revision: 261336 URL: http://svnweb.freebsd.org/changeset/base/261336 Log: Fix silly typo... Modified: head/sys/arm/arm/locore.S Modified: head/sys/arm/arm/locore.S ============================================================================== --- head/sys/arm/arm/locore.S Fri Jan 31 23:14:08 2014 (r261335) +++ head/sys/arm/arm/locore.S Fri Jan 31 23:18:30 2014 (r261336) @@ -265,9 +265,9 @@ mmu_init_table: MMU_INIT(PHYSADDR, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) /* map VA 0xc0000000..0xc3ffffff to PA */ MMU_INIT(KERNBASE, PHYSADDR, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) -#if defined(SOCDEV_PA) && defined(SOCKDEV_VA) +#if defined(SOCDEV_PA) && defined(SOCDEV_VA) /* Map in 0x04000000 worth of the SoC's devices for bootstrap debugging */ - MMU_INIT(SOCKDEV_VA, SOCDEV_PA, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) + MMU_INIT(SOCDEV_VA, SOCDEV_PA, 64, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)) #endif #else MMU_INIT(PHYSADDR, PHYSADDR , 64, L1_TYPE_S|L1_SHARED|L1_S_C|L1_S_AP(AP_KRW)) From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 23:28:19 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2BD5D237; Fri, 31 Jan 2014 23:28:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 181D3147B; Fri, 31 Jan 2014 23:28:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VNSI3T057776; Fri, 31 Jan 2014 23:28:18 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VNSIwL057775; Fri, 31 Jan 2014 23:28:18 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401312328.s0VNSIwL057775@svn.freebsd.org> From: Warner Losh Date: Fri, 31 Jan 2014 23:28:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261337 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 23:28:19 -0000 Author: imp Date: Fri Jan 31 23:28:18 2014 New Revision: 261337 URL: http://svnweb.freebsd.org/changeset/base/261337 Log: Minor cleanup of comments. Modified: head/sys/arm/at91/at91_machdep.c Modified: head/sys/arm/at91/at91_machdep.c ============================================================================== --- head/sys/arm/at91/at91_machdep.c Fri Jan 31 23:18:30 2014 (r261336) +++ head/sys/arm/at91/at91_machdep.c Fri Jan 31 23:28:18 2014 (r261337) @@ -131,15 +131,12 @@ struct pv_addr kernelstack; /* Static device mappings. */ const struct arm_devmap_entry at91_devmap[] = { /* - * Map the on-board devices VA == PA so that we can access them - * with the MMU on or off. + * Map the critical on-board devices. The interrupt vector at + * 0xffff0000 makes it impossible to map them PA == VA, so we map all + * 0xfffxxxxx addresses to 0xdffxxxxx. This covers all critical devices + * on all members of the AT91SAM9 and AT91RM9200 families. */ { - /* - * This at least maps the interrupt controller, the UART - * and the timer. Other devices should use newbus to - * map their memory anyway. - */ 0xdff00000, 0xfff00000, 0x00100000, From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 23:38:06 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 71C1652A; Fri, 31 Jan 2014 23:38:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5E2E71534; Fri, 31 Jan 2014 23:38:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VNc69S061528; Fri, 31 Jan 2014 23:38:06 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VNc6hv061527; Fri, 31 Jan 2014 23:38:06 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201401312338.s0VNc6hv061527@svn.freebsd.org> From: Warner Losh Date: Fri, 31 Jan 2014 23:38:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261338 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 23:38:06 -0000 Author: imp Date: Fri Jan 31 23:38:05 2014 New Revision: 261338 URL: http://svnweb.freebsd.org/changeset/base/261338 Log: Move these for diff reduction against FDT work. Modified: head/sys/arm/at91/at91_machdep.c Modified: head/sys/arm/at91/at91_machdep.c ============================================================================== --- head/sys/arm/at91/at91_machdep.c Fri Jan 31 23:28:18 2014 (r261337) +++ head/sys/arm/at91/at91_machdep.c Fri Jan 31 23:38:05 2014 (r261338) @@ -116,18 +116,6 @@ extern u_int undefined_handler_address; struct pv_addr kernel_pt_table[NUM_KERNEL_PTS]; -/* Physical and virtual addresses for some global pages */ - -vm_paddr_t phys_avail[10]; -vm_paddr_t dump_avail[4]; - -struct pv_addr systempage; -struct pv_addr msgbufpv; -struct pv_addr irqstack; -struct pv_addr undstack; -struct pv_addr abtstack; -struct pv_addr kernelstack; - /* Static device mappings. */ const struct arm_devmap_entry at91_devmap[] = { /* @@ -209,6 +197,18 @@ const struct arm_devmap_entry at91_devma { 0, 0, 0, 0, 0, } }; +/* Physical and virtual addresses for some global pages */ + +vm_paddr_t phys_avail[10]; +vm_paddr_t dump_avail[4]; + +struct pv_addr systempage; +struct pv_addr msgbufpv; +struct pv_addr irqstack; +struct pv_addr undstack; +struct pv_addr abtstack; +struct pv_addr kernelstack; + #ifdef LINUX_BOOT_ABI extern int membanks; extern int memstart[]; From owner-svn-src-head@FreeBSD.ORG Fri Jan 31 23:44:55 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1F924733; Fri, 31 Jan 2014 23:44:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0BA1015D8; Fri, 31 Jan 2014 23:44:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0VNisCX064858; Fri, 31 Jan 2014 23:44:54 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0VNisl4064857; Fri, 31 Jan 2014 23:44:54 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201401312344.s0VNisl4064857@svn.freebsd.org> From: Christian Brueffer Date: Fri, 31 Jan 2014 23:44:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261339 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jan 2014 23:44:55 -0000 Author: brueffer Date: Fri Jan 31 23:44:54 2014 New Revision: 261339 URL: http://svnweb.freebsd.org/changeset/base/261339 Log: MLINK ixgbe.4 to {if_ix.4, ix.4}. An update for ixgbe.4 which deals with the "ix prefix being shared by two drivers" situation is forthcoming. Thanks to dwhite for the ixgbe history lesson. MFC after: 1 week Modified: head/share/man/man4/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Fri Jan 31 23:38:05 2014 (r261338) +++ head/share/man/man4/Makefile Fri Jan 31 23:44:54 2014 (r261339) @@ -642,6 +642,8 @@ MLINKS+=ipw.4 if_ipw.4 MLINKS+=iwi.4 if_iwi.4 MLINKS+=iwn.4 if_iwn.4 MLINKS+=ixgb.4 if_ixgb.4 +MLINKS+=ixgbe.4 ix.4 +MLINKS+=ixgbe.4 if_ix.4 MLINKS+=ixgbe.4 if_ixgbe.4 MLINKS+=jme.4 if_jme.4 MLINKS+=kue.4 if_kue.4 From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 00:07:17 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 925B4EEE; Sat, 1 Feb 2014 00:07:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7EAA51764; Sat, 1 Feb 2014 00:07:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s1107Hsb073722; Sat, 1 Feb 2014 00:07:17 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s1107GIp073719; Sat, 1 Feb 2014 00:07:16 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201402010007.s1107GIp073719@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Sat, 1 Feb 2014 00:07:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261340 - head/crypto/openssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 00:07:17 -0000 Author: des Date: Sat Feb 1 00:07:16 2014 New Revision: 261340 URL: http://svnweb.freebsd.org/changeset/base/261340 Log: Turn sandboxing on by default. Modified: head/crypto/openssh/servconf.c head/crypto/openssh/sshd_config head/crypto/openssh/sshd_config.5 Modified: head/crypto/openssh/servconf.c ============================================================================== --- head/crypto/openssh/servconf.c Fri Jan 31 23:44:54 2014 (r261339) +++ head/crypto/openssh/servconf.c Sat Feb 1 00:07:16 2014 (r261340) @@ -314,7 +314,7 @@ fill_default_server_options(ServerOption options->version_addendum = xstrdup(SSH_VERSION_FREEBSD); /* Turn privilege separation on by default */ if (use_privsep == -1) - use_privsep = PRIVSEP_NOSANDBOX; + use_privsep = PRIVSEP_ON; #ifndef HAVE_MMAP if (use_privsep && options->compression == 1) { Modified: head/crypto/openssh/sshd_config ============================================================================== --- head/crypto/openssh/sshd_config Fri Jan 31 23:44:54 2014 (r261339) +++ head/crypto/openssh/sshd_config Sat Feb 1 00:07:16 2014 (r261340) @@ -110,7 +110,7 @@ #PrintLastLog yes #TCPKeepAlive yes #UseLogin no -#UsePrivilegeSeparation yes +#UsePrivilegeSeparation sandbox #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 Modified: head/crypto/openssh/sshd_config.5 ============================================================================== --- head/crypto/openssh/sshd_config.5 Fri Jan 31 23:44:54 2014 (r261339) +++ head/crypto/openssh/sshd_config.5 Sat Feb 1 00:07:16 2014 (r261340) @@ -1227,7 +1227,7 @@ the privilege of the authenticated user. The goal of privilege separation is to prevent privilege escalation by containing any corruption within the unprivileged processes. The default is -.Dq yes . +.Dq sandbox . If .Cm UsePrivilegeSeparation is set to From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 01:28:37 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0392AAEC; Sat, 1 Feb 2014 01:28:37 +0000 (UTC) Received: from m2.gritton.org (gritton.org [199.192.164.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B69741D30; Sat, 1 Feb 2014 01:28:36 +0000 (UTC) Received: from [192.168.0.34] (c-50-168-192-61.hsd1.ut.comcast.net [50.168.192.61]) (authenticated bits=0) by m2.gritton.org (8.14.7/8.14.7) with ESMTP id s111SZZH057284; Fri, 31 Jan 2014 18:28:35 -0700 (MST) (envelope-from jamie@freebsd.org) Message-ID: <52EC4DBB.50804@freebsd.org> Date: Fri, 31 Jan 2014 18:28:27 -0700 From: James Gritton User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Alexander Leidinger , Robert Watson Subject: Re: svn commit: r261266 - in head: sys/dev/drm sys/kern sys/sys usr.sbin/jail References: <201401291341.s0TDfDcB068211@svn.freebsd.org> <20140129134344.GW66160@FreeBSD.org> <52E906CD.9050202@freebsd.org> <20140129222210.0000711f@unknown> <20140131223011.0000163b@unknown> In-Reply-To: <20140131223011.0000163b@unknown> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 01:28:37 -0000 On 1/31/2014 2:30 PM, Alexander Leidinger wrote: > On Fri, 31 Jan 2014 12:34:48 +0000 (GMT) > Robert Watson wrote: >> On Wed, 29 Jan 2014, Alexander Leidinger wrote: >>>> It does. I included a warning in jail.8 that this will pretty >>>> much undo jail security. There are still reasons some may want to >>>> do this, but it's definitely not for everyone or even most people. >>> >>> It only "unjails" (= basically the same security level as the >>> jail-host with the added benefit of the flexibility of a jail like >>> easy moving from one system to another) the jail which has this >>> flag set. All other jails without the flag can not "escape" to the >>> host. >>> >>> I also have to add that just setting this flag does not give access >>> to the host, you also have to configure a non-default devfs rule >>> for this jail (to have the devices appear in the jail). >> >> This is not correct: devices do not need to be delegated in devfs for >> PRIV_IO to allow bypass of the Jail security model, due to sysarch() >> and the Linux-emulated equivalent, which turn out direct I/O access >> from a user process without use of a device node. > > Ok, then it is just the non-default flag, not the additional devfs part. > > I agree with your other post that we are better of to document better > what it means if an admin allows kmem access for a specific jail. I second the documentation route. Yes, it's true that this option makes a totally insecure jail - at least one lacking the expected jail security additions. But I think that while security is one of the primary purposes of jails, it's not the only purpose. It should be possible to have a trusted "master jail" that still takes advantage of the encapsulation while allowing otherwise unsupported features such as a desktop. The distinction of whether certain devices are required to break out of a jail with allow.kmem is something of a red herring - the fact is that anyone who wants this level of access is going to have the devices in place anyway. I suppose "obviate" wasn't the best word for the situation. Maybe something that starts with "WARNING: ..." is in order. I'd like to re-submit the patch with only the documentation changed (unless someone knows of something that would accomplish the same goals with different code). But I'll run it by secteam@ first, and abide by the consensus there. - Jamie From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 02:03:52 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C91A1FC8; Sat, 1 Feb 2014 02:03:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A8DA51F48; Sat, 1 Feb 2014 02:03:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s1123qMI019161; Sat, 1 Feb 2014 02:03:52 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s1123pjF019150; Sat, 1 Feb 2014 02:03:51 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201402010203.s1123pjF019150@svn.freebsd.org> From: Justin Hibbits Date: Sat, 1 Feb 2014 02:03:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261342 - in head: lib/libpmc sys/conf sys/dev/hwpmc sys/powerpc/include sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 02:03:53 -0000 Author: jhibbits Date: Sat Feb 1 02:03:50 2014 New Revision: 261342 URL: http://svnweb.freebsd.org/changeset/base/261342 Log: Add hwpmc(4) support for the PowerPC 970 class processors, direct events. This also fixes asserts on removal of the module for the mpc74xx. The PowerPC 970 processors have two different types of events: direct events and indirect events. Thus far only direct events are supported. I included some documentation in the driver on how indirect events work, but support is for the future. MFC after: 1 month Added: head/sys/dev/hwpmc/hwpmc_ppc970.c (contents, props changed) Modified: head/lib/libpmc/libpmc.c head/sys/conf/files.powerpc head/sys/dev/hwpmc/hwpmc_mpc7xxx.c head/sys/dev/hwpmc/hwpmc_powerpc.c head/sys/dev/hwpmc/hwpmc_powerpc.h head/sys/dev/hwpmc/pmc_events.h head/sys/powerpc/include/pmc_mdep.h head/sys/powerpc/include/spr.h head/sys/sys/pmc.h Modified: head/lib/libpmc/libpmc.c ============================================================================== --- head/lib/libpmc/libpmc.c Sat Feb 1 01:30:46 2014 (r261341) +++ head/lib/libpmc/libpmc.c Sat Feb 1 02:03:50 2014 (r261342) @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -85,7 +86,7 @@ static int soft_allocate_pmc(enum pmc_ev struct pmc_op_pmcallocate *_pmc_config); #if defined(__powerpc__) -static int ppc7450_allocate_pmc(enum pmc_event _pe, char* ctrspec, +static int powerpc_allocate_pmc(enum pmc_event _pe, char* ctrspec, struct pmc_op_pmcallocate *_pmc_config); #endif /* __powerpc__ */ @@ -156,6 +157,7 @@ PMC_CLASSDEP_TABLE(mips24k, MIPS24K); PMC_CLASSDEP_TABLE(octeon, OCTEON); PMC_CLASSDEP_TABLE(ucf, UCF); PMC_CLASSDEP_TABLE(ppc7450, PPC7450); +PMC_CLASSDEP_TABLE(ppc970, PPC970); static struct pmc_event_descr soft_event_table[PMC_EV_DYN_COUNT]; @@ -262,6 +264,7 @@ PMC_MDEP_TABLE(xscale, XSCALE, PMC_CLASS PMC_MDEP_TABLE(mips24k, MIPS24K, PMC_CLASS_SOFT, PMC_CLASS_MIPS24K); PMC_MDEP_TABLE(octeon, OCTEON, PMC_CLASS_SOFT, PMC_CLASS_OCTEON); PMC_MDEP_TABLE(ppc7450, PPC7450, PMC_CLASS_SOFT, PMC_CLASS_PPC7450); +PMC_MDEP_TABLE(ppc970, PPC970, PMC_CLASS_SOFT, PMC_CLASS_PPC970); PMC_MDEP_TABLE(generic, SOFT, PMC_CLASS_SOFT); static const struct pmc_event_descr tsc_event_table[] = @@ -322,7 +325,8 @@ PMC_CLASS_TABLE_DESC(mips24k, MIPS24K, m PMC_CLASS_TABLE_DESC(octeon, OCTEON, octeon, mips); #endif /* __mips__ */ #if defined(__powerpc__) -PMC_CLASS_TABLE_DESC(ppc7450, PPC7450, ppc7450, ppc7450); +PMC_CLASS_TABLE_DESC(ppc7450, PPC7450, ppc7450, powerpc); +PMC_CLASS_TABLE_DESC(ppc970, PPC970, ppc970, powerpc); #endif static struct pmc_class_descr soft_class_table_descr = @@ -2404,13 +2408,19 @@ static struct pmc_event_alias ppc7450_al EV_ALIAS(NULL, NULL) }; -#define PPC7450_KW_OS "os" -#define PPC7450_KW_USR "usr" -#define PPC7450_KW_ANYTHREAD "anythread" +static struct pmc_event_alias ppc970_aliases[] = { + EV_ALIAS("instructions", "INSTR_COMPLETED"), + EV_ALIAS("cycles", "CYCLES"), + EV_ALIAS(NULL, NULL) +}; + +#define POWERPC_KW_OS "os" +#define POWERPC_KW_USR "usr" +#define POWERPC_KW_ANYTHREAD "anythread" static int -ppc7450_allocate_pmc(enum pmc_event pe, char *ctrspec __unused, - struct pmc_op_pmcallocate *pmc_config __unused) +powerpc_allocate_pmc(enum pmc_event pe, char *ctrspec __unused, + struct pmc_op_pmcallocate *pmc_config __unused) { char *p; @@ -2419,11 +2429,11 @@ ppc7450_allocate_pmc(enum pmc_event pe, pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE); while ((p = strsep(&ctrspec, ",")) != NULL) { - if (KWMATCH(p, PPC7450_KW_OS)) + if (KWMATCH(p, POWERPC_KW_OS)) pmc_config->pm_caps |= PMC_CAP_SYSTEM; - else if (KWMATCH(p, PPC7450_KW_USR)) + else if (KWMATCH(p, POWERPC_KW_USR)) pmc_config->pm_caps |= PMC_CAP_USER; - else if (KWMATCH(p, PPC7450_KW_ANYTHREAD)) + else if (KWMATCH(p, POWERPC_KW_ANYTHREAD)) pmc_config->pm_caps |= (PMC_CAP_USER | PMC_CAP_SYSTEM); else return (-1); @@ -2431,6 +2441,7 @@ ppc7450_allocate_pmc(enum pmc_event pe, return (0); } + #endif /* __powerpc__ */ @@ -2830,6 +2841,10 @@ pmc_event_names_of_class(enum pmc_class ev = ppc7450_event_table; count = PMC_EVENT_TABLE_SIZE(ppc7450); break; + case PMC_CLASS_PPC970: + ev = ppc970_event_table; + count = PMC_EVENT_TABLE_SIZE(ppc970); + break; case PMC_CLASS_SOFT: ev = soft_event_table; count = soft_event_info.pm_nevent; @@ -3100,6 +3115,10 @@ pmc_init(void) PMC_MDEP_INIT(ppc7450); pmc_class_table[n] = &ppc7450_class_table_descr; break; + case PMC_CPU_PPC_970: + PMC_MDEP_INIT(ppc970); + pmc_class_table[n] = &ppc970_class_table_descr; + break; #endif default: /* @@ -3270,6 +3289,9 @@ _pmc_name_of_event(enum pmc_event pe, en } else if (pe >= PMC_EV_PPC7450_FIRST && pe <= PMC_EV_PPC7450_LAST) { ev = ppc7450_event_table; evfence = ppc7450_event_table + PMC_EVENT_TABLE_SIZE(ppc7450); + } else if (pe >= PMC_EV_PPC970_FIRST && pe <= PMC_EV_PPC970_LAST) { + ev = ppc970_event_table; + evfence = ppc970_event_table + PMC_EVENT_TABLE_SIZE(ppc970); } else if (pe == PMC_EV_TSC_TSC) { ev = tsc_event_table; evfence = tsc_event_table + PMC_EVENT_TABLE_SIZE(tsc); Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Sat Feb 1 01:30:46 2014 (r261341) +++ head/sys/conf/files.powerpc Sat Feb 1 02:03:50 2014 (r261342) @@ -31,6 +31,7 @@ dev/fb/fb.c optional sc dev/fdt/fdt_powerpc.c optional fdt dev/hwpmc/hwpmc_powerpc.c optional hwpmc dev/hwpmc/hwpmc_mpc7xxx.c optional hwpmc +dev/hwpmc/hwpmc_ppc970.c optional hwpmc dev/iicbus/ad7417.c optional ad7417 powermac dev/iicbus/ds1631.c optional ds1631 powermac dev/iicbus/ds1775.c optional ds1775 powermac Modified: head/sys/dev/hwpmc/hwpmc_mpc7xxx.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_mpc7xxx.c Sat Feb 1 01:30:46 2014 (r261341) +++ head/sys/dev/hwpmc/hwpmc_mpc7xxx.c Sat Feb 1 02:03:50 2014 (r261342) @@ -69,10 +69,10 @@ __FBSDID("$FreeBSD$"); * specifically). */ -struct powerpc_event_code_map { +struct mpc7xxx_event_code_map { enum pmc_event pe_ev; /* enum value */ uint8_t pe_counter_mask; /* Which counter this can be counted in. */ - uint8_t pe_code; /* numeric code */ + uint8_t pe_code; /* numeric code */ }; #define PPC_PMC_MASK1 0 @@ -85,7 +85,7 @@ struct powerpc_event_code_map { #define PMC_POWERPC_EVENT(id, mask, number) \ { .pe_ev = PMC_EV_PPC7450_##id, .pe_counter_mask = mask, .pe_code = number } -static struct powerpc_event_code_map powerpc_event_codes[] = { +static struct mpc7xxx_event_code_map mpc7xxx_event_codes[] = { PMC_POWERPC_EVENT(CYCLE,PPC_PMC_MASK_ALL, 1), PMC_POWERPC_EVENT(INSTR_COMPLETED, 0x0f, 2), PMC_POWERPC_EVENT(TLB_BIT_TRANSITIONS, 0x0f, 3), @@ -311,8 +311,8 @@ static struct powerpc_event_code_map pow PMC_POWERPC_EVENT(PREFETCH_ENGINE_FULL, 0x20, 57) }; -const size_t powerpc_event_codes_size = - sizeof(powerpc_event_codes) / sizeof(powerpc_event_codes[0]); +const size_t mpc7xxx_event_codes_size = + sizeof(mpc7xxx_event_codes) / sizeof(mpc7xxx_event_codes[0]); static pmc_value_t mpc7xxx_pmcn_read(unsigned int pmc) @@ -565,6 +565,7 @@ mpc7xxx_pcpu_init(struct pmc_mdep *md, i M_WAITOK|M_ZERO); pac->pc_ppcpmcs = malloc(sizeof(struct pmc_hw) * MPC7XXX_MAX_PMCS, M_PMC, M_WAITOK|M_ZERO); + pac->pc_class = PMC_CLASS_PPC7450; pc = pmc_pcpu[cpu]; first_ri = md->pmd_classdep[PMC_MDEP_CLASS_INDEX_PPC7450].pcd_ri; KASSERT(pc != NULL, ("[powerpc,%d] NULL per-cpu pointer", __LINE__)); @@ -611,14 +612,14 @@ mpc7xxx_allocate_pmc(int cpu, int ri, st caps = a->pm_caps; pe = a->pm_ev; - for (i = 0; i < powerpc_event_codes_size; i++) { - if (powerpc_event_codes[i].pe_ev == pe) { - config = powerpc_event_codes[i].pe_code; - counter = powerpc_event_codes[i].pe_counter_mask; + for (i = 0; i < mpc7xxx_event_codes_size; i++) { + if (mpc7xxx_event_codes[i].pe_ev == pe) { + config = mpc7xxx_event_codes[i].pe_code; + counter = mpc7xxx_event_codes[i].pe_counter_mask; break; } } - if (i == powerpc_event_codes_size) + if (i == mpc7xxx_event_codes_size) return (EINVAL); if ((counter & (1 << ri)) == 0) @@ -724,6 +725,8 @@ pmc_mpc7xxx_initialize(struct pmc_mdep * { struct pmc_classdep *pcd; + pmc_mdep->pmd_cputype = PMC_CPU_PPC_7450; + pcd = &pmc_mdep->pmd_classdep[PMC_MDEP_CLASS_INDEX_PPC7450]; pcd->pcd_caps = POWERPC_PMC_CAPS; pcd->pcd_class = PMC_CLASS_PPC7450; @@ -735,6 +738,8 @@ pmc_mpc7xxx_initialize(struct pmc_mdep * pcd->pcd_config_pmc = mpc7xxx_config_pmc; pcd->pcd_pcpu_fini = mpc7xxx_pcpu_fini; pcd->pcd_pcpu_init = mpc7xxx_pcpu_init; + pcd->pcd_describe = powerpc_describe; + pcd->pcd_get_config = powerpc_get_config; pcd->pcd_read_pmc = mpc7xxx_read_pmc; pcd->pcd_release_pmc = mpc7xxx_release_pmc; pcd->pcd_start_pmc = mpc7xxx_start_pmc; @@ -742,7 +747,7 @@ pmc_mpc7xxx_initialize(struct pmc_mdep * pcd->pcd_write_pmc = mpc7xxx_write_pmc; pmc_mdep->pmd_npmc += MPC7XXX_MAX_PMCS; - pmc_mdep->pmd_intr = mpc7xxx_intr; + pmc_mdep->pmd_intr = mpc7xxx_intr; - return 0; + return (0); } Modified: head/sys/dev/hwpmc/hwpmc_powerpc.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_powerpc.c Sat Feb 1 01:30:46 2014 (r261341) +++ head/sys/dev/hwpmc/hwpmc_powerpc.c Sat Feb 1 02:03:50 2014 (r261342) @@ -96,7 +96,7 @@ powerpc_describe(int cpu, int ri, struct if ((error = copystr(powerpc_name, pi->pm_name, PMC_NAME_MAX, NULL)) != 0) return error; - pi->pm_class = PMC_CLASS_PPC7450; + pi->pm_class = powerpc_pcpu[cpu]->pc_class; if (phw->phw_state & PMC_PHW_FLAG_IS_ENABLED) { pi->pm_enabled = TRUE; *ppmc = phw->phw_pmc; @@ -133,8 +133,6 @@ pmc_md_initialize() /* Just one class */ pmc_mdep = pmc_mdep_alloc(1); - pmc_mdep->pmd_cputype = PMC_CPU_PPC_7450; - vers = mfpvr() >> 16; pmc_mdep->pmd_switch_in = powerpc_switch_in; @@ -151,6 +149,8 @@ pmc_md_initialize() case IBM970: case IBM970FX: case IBM970MP: + error = pmc_ppc970_initialize(pmc_mdep); + break; default: error = -1; break; @@ -159,7 +159,6 @@ pmc_md_initialize() if (error != 0) { pmc_mdep_free(pmc_mdep); pmc_mdep = NULL; - return NULL; } return (pmc_mdep); @@ -168,7 +167,9 @@ pmc_md_initialize() void pmc_md_finalize(struct pmc_mdep *md) { - free(md, M_PMC); + + free(powerpc_pcpu, M_PMC); + powerpc_pcpu = NULL; } int Modified: head/sys/dev/hwpmc/hwpmc_powerpc.h ============================================================================== --- head/sys/dev/hwpmc/hwpmc_powerpc.h Sat Feb 1 01:30:46 2014 (r261341) +++ head/sys/dev/hwpmc/hwpmc_powerpc.h Sat Feb 1 02:03:50 2014 (r261342) @@ -46,11 +46,13 @@ struct powerpc_cpu { struct pmc_hw *pc_ppcpmcs; + enum pmc_class pc_class; }; extern struct powerpc_cpu **powerpc_pcpu; extern int pmc_mpc7xxx_initialize(struct pmc_mdep *pmc_mdep); +extern int pmc_ppc970_initialize(struct pmc_mdep *pmc_mdep); extern int powerpc_describe(int cpu, int ri, struct pmc_info *pi, struct pmc **ppmc); extern int powerpc_get_config(int cpu, int ri, struct pmc **ppm); Added: head/sys/dev/hwpmc/hwpmc_ppc970.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/hwpmc/hwpmc_ppc970.c Sat Feb 1 02:03:50 2014 (r261342) @@ -0,0 +1,689 @@ +/*- + * Copyright (c) 2013 Justin Hibbits + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include +#include +#include + +#include "hwpmc_powerpc.h" + +#define PPC970_MAX_PMCS 8 + +/* MMCR0, PMC1 is 8 bytes in, PMC2 is 1 byte in. */ +#define PPC970_SET_MMCR0_PMCSEL(r, x, i) \ + ((r & ~(0x1f << (7 * (1 - i) + 1))) | (x << (7 * (1 - i) + 1))) +/* MMCR1 has 6 PMC*SEL items (PMC3->PMC8), in sequence. */ +#define PPC970_SET_MMCR1_PMCSEL(r, x, i) \ + ((r & ~(0x1f << (5 * (7 - i) + 2))) | (x << (5 * (7 - i) + 2))) + +#define PPC970_PMC_HAS_OVERFLOWED(x) (ppc970_pmcn_read(x) & (0x1 << 31)) + +/* How PMC works on PPC970: + * + * Any PMC can count a direct event. Indirect events are handled specially. + * Direct events: As published. + * + * Encoding 00 000 -- Add byte lane bit counters + * MMCR1[24:31] -- select bit matching PMC being an adder. + * Bus events: + * PMCxSEL: 1x -- select from byte lane: 10 == lower lane (0/1), 11 == upper + * lane (2/3). + * PMCxSEL[2:4] -- bit in the byte lane selected. + * + * PMC[1,2,5,6] == lane 0/lane 2 + * PMC[3,4,7,8] == lane 1,3 + * + * + * Lanes: + * Lane 0 -- TTM0(FPU,ISU,IFU,VPU) + * TTM1(IDU,ISU,STS) + * LSU0 byte 0 + * LSU1 byte 0 + * Lane 1 -- TTM0 + * TTM1 + * LSU0 byte 1 + * LSU1 byte 1 + * Lane 2 -- TTM0 + * TTM1 + * LSU0 byte 2 + * LSU1 byte 2 or byte 6 + * Lane 3 -- TTM0 + * TTM1 + * LSU0 byte 3 + * LSU1 byte 3 or byte 7 + * + * Adders: + * Add byte lane for PMC (above), bit 0+4, 1+5, 2+6, 3+7 + */ + +struct pmc_ppc970_event { + enum pmc_event pe_event; + uint32_t pe_flags; +#define PMC_PPC970_FLAG_PMCS 0x000000ff +#define PMC_PPC970_FLAG_PMC1 0x01 +#define PMC_PPC970_FLAG_PMC2 0x02 +#define PMC_PPC970_FLAG_PMC3 0x04 +#define PMC_PPC970_FLAG_PMC4 0x08 +#define PMC_PPC970_FLAG_PMC5 0x10 +#define PMC_PPC970_FLAG_PMC6 0x20 +#define PMC_PPC970_FLAG_PMC7 0x40 +#define PMC_PPC970_FLAG_PMC8 0x80 + uint32_t pe_code; +}; + +static struct pmc_ppc970_event ppc970_event_codes[] = { + {PMC_EV_PPC970_INSTR_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMCS, + .pe_code = 0x09 + }, + {PMC_EV_PPC970_MARKED_GROUP_DISPATCH, + .pe_flags = PMC_PPC970_FLAG_PMC1, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_MARKED_STORE_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMC1, + .pe_code = 0x03 + }, + {PMC_EV_PPC970_GCT_EMPTY, + .pe_flags = PMC_PPC970_FLAG_PMC1, + .pe_code = 0x04 + }, + {PMC_EV_PPC970_RUN_CYCLES, + .pe_flags = PMC_PPC970_FLAG_PMC1, + .pe_code = 0x05 + }, + {PMC_EV_PPC970_OVERFLOW, + .pe_flags = PMC_PPC970_FLAG_PMCS, + .pe_code = 0x0a + }, + {PMC_EV_PPC970_CYCLES, + .pe_flags = PMC_PPC970_FLAG_PMCS, + .pe_code = 0x0f + }, + {PMC_EV_PPC970_THRESHOLD_TIMEOUT, + .pe_flags = PMC_PPC970_FLAG_PMC2, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_GROUP_DISPATCH, + .pe_flags = PMC_PPC970_FLAG_PMC2, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_BR_MARKED_INSTR_FINISH, + .pe_flags = PMC_PPC970_FLAG_PMC2, + .pe_code = 0x5 + }, + {PMC_EV_PPC970_GCT_EMPTY_BY_SRQ_FULL, + .pe_flags = PMC_PPC970_FLAG_PMC2, + .pe_code = 0xb + }, + {PMC_EV_PPC970_STOP_COMPLETION, + .pe_flags = PMC_PPC970_FLAG_PMC3, + .pe_code = 0x1 + }, + {PMC_EV_PPC970_LSU_EMPTY, + .pe_flags = PMC_PPC970_FLAG_PMC3, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_MARKED_STORE_WITH_INTR, + .pe_flags = PMC_PPC970_FLAG_PMC3, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_CYCLES_IN_SUPER, + .pe_flags = PMC_PPC970_FLAG_PMC3, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_VPU_MARKED_INSTR_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMC3, + .pe_code = 0x5 + }, + {PMC_EV_PPC970_FXU0_IDLE_FXU1_BUSY, + .pe_flags = PMC_PPC970_FLAG_PMC4, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_SRQ_EMPTY, + .pe_flags = PMC_PPC970_FLAG_PMC4, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_MARKED_GROUP_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMC4, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_CR_MARKED_INSTR_FINISH, + .pe_flags = PMC_PPC970_FLAG_PMC4, + .pe_code = 0x5 + }, + {PMC_EV_PPC970_DISPATCH_SUCCESS, + .pe_flags = PMC_PPC970_FLAG_PMC5, + .pe_code = 0x1 + }, + {PMC_EV_PPC970_FXU0_IDLE_FXU1_IDLE, + .pe_flags = PMC_PPC970_FLAG_PMC5, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_ONE_PLUS_INSTR_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMC5, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_GROUP_MARKED_IDU, + .pe_flags = PMC_PPC970_FLAG_PMC5, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_MARKED_GROUP_COMPLETE_TIMEOUT, + .pe_flags = PMC_PPC970_FLAG_PMC5, + .pe_code = 0x5 + }, + {PMC_EV_PPC970_FXU0_BUSY_FXU1_BUSY, + .pe_flags = PMC_PPC970_FLAG_PMC6, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_MARKED_STORE_SENT_TO_STS, + .pe_flags = PMC_PPC970_FLAG_PMC6, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_FXU_MARKED_INSTR_FINISHED, + .pe_flags = PMC_PPC970_FLAG_PMC6, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_MARKED_GROUP_ISSUED, + .pe_flags = PMC_PPC970_FLAG_PMC6, + .pe_code = 0x5 + }, + {PMC_EV_PPC970_FXU0_BUSY_FXU1_IDLE, + .pe_flags = PMC_PPC970_FLAG_PMC7, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_GROUP_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMC7, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_FPU_MARKED_INSTR_COMPLETED, + .pe_flags = PMC_PPC970_FLAG_PMC7, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_MARKED_INSTR_FINISH_ANY_UNIT, + .pe_flags = PMC_PPC970_FLAG_PMC7, + .pe_code = 0x5 + }, + {PMC_EV_PPC970_EXTERNAL_INTERRUPT, + .pe_flags = PMC_PPC970_FLAG_PMC8, + .pe_code = 0x2 + }, + {PMC_EV_PPC970_GROUP_DISPATCH_REJECT, + .pe_flags = PMC_PPC970_FLAG_PMC8, + .pe_code = 0x3 + }, + {PMC_EV_PPC970_LSU_MARKED_INSTR_FINISH, + .pe_flags = PMC_PPC970_FLAG_PMC8, + .pe_code = 0x4 + }, + {PMC_EV_PPC970_TIMEBASE_EVENT, + .pe_flags = PMC_PPC970_FLAG_PMC8, + .pe_code = 0x5 + }, +#if 0 + {PMC_EV_PPC970_LSU_COMPLETION_STALL, }, + {PMC_EV_PPC970_FXU_COMPLETION_STALL, }, + {PMC_EV_PPC970_DCACHE_MISS_COMPLETION_STALL, }, + {PMC_EV_PPC970_FPU_COMPLETION_STALL, }, + {PMC_EV_PPC970_FXU_LONG_INSTR_COMPLETION_STALL, }, + {PMC_EV_PPC970_REJECT_COMPLETION_STALL, }, + {PMC_EV_PPC970_FPU_LONG_INSTR_COMPLETION_STALL, }, + {PMC_EV_PPC970_GCT_EMPTY_BY_ICACHE_MISS, }, + {PMC_EV_PPC970_REJECT_COMPLETION_STALL_ERAT_MISS, }, + {PMC_EV_PPC970_GCT_EMPTY_BY_BRANCH_MISS_PREDICT, }, +#endif +}; +static size_t ppc970_event_codes_size = nitems(ppc970_event_codes); + +static pmc_value_t +ppc970_pmcn_read(unsigned int pmc) +{ + pmc_value_t val; + + switch (pmc) { + case 0: + val = mfspr(SPR_970PMC1); + break; + case 1: + val = mfspr(SPR_970PMC2); + break; + case 2: + val = mfspr(SPR_970PMC3); + break; + case 3: + val = mfspr(SPR_970PMC4); + break; + case 4: + val = mfspr(SPR_970PMC5); + break; + case 5: + val = mfspr(SPR_970PMC6); + break; + case 6: + val = mfspr(SPR_970PMC7); + break; + case 7: + val = mfspr(SPR_970PMC8); + break; + default: + panic("Invalid PMC number: %d\n", pmc); + } + + return (val); +} + +static void +ppc970_pmcn_write(unsigned int pmc, uint32_t val) +{ + switch (pmc) { + case 0: + mtspr(SPR_970PMC1, val); + break; + case 1: + mtspr(SPR_970PMC2, val); + break; + case 2: + mtspr(SPR_970PMC3, val); + break; + case 3: + mtspr(SPR_970PMC4, val); + break; + case 4: + mtspr(SPR_970PMC5, val); + break; + case 5: + mtspr(SPR_970PMC6, val); + break; + case 6: + mtspr(SPR_970PMC7, val); + break; + case 7: + mtspr(SPR_970PMC8, val); + break; + default: + panic("Invalid PMC number: %d\n", pmc); + } +} + +static int +ppc970_config_pmc(int cpu, int ri, struct pmc *pm) +{ + struct pmc_hw *phw; + + PMCDBG(MDP,CFG,1, "cpu=%d ri=%d pm=%p", cpu, ri, pm); + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] illegal CPU value %d", __LINE__, cpu)); + KASSERT(ri >= 0 && ri < PPC970_MAX_PMCS, + ("[powerpc,%d] illegal row-index %d", __LINE__, ri)); + + phw = &powerpc_pcpu[cpu]->pc_ppcpmcs[ri]; + + KASSERT(pm == NULL || phw->phw_pmc == NULL, + ("[powerpc,%d] pm=%p phw->pm=%p hwpmc not unconfigured", + __LINE__, pm, phw->phw_pmc)); + + phw->phw_pmc = pm; + + return 0; +} + +static int +ppc970_set_pmc(int cpu, int ri, int config) +{ + struct pmc *pm; + struct pmc_hw *phw; + register_t pmc_mmcr; + + phw = &powerpc_pcpu[cpu]->pc_ppcpmcs[ri]; + pm = phw->phw_pmc; + + /* + * Disable the PMCs. + */ + switch (ri) { + case 0: + case 1: + pmc_mmcr = mfspr(SPR_970MMCR0); + pmc_mmcr = PPC970_SET_MMCR0_PMCSEL(pmc_mmcr, config, ri); + mtspr(SPR_970MMCR0, pmc_mmcr); + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + pmc_mmcr = mfspr(SPR_970MMCR1); + pmc_mmcr = PPC970_SET_MMCR1_PMCSEL(pmc_mmcr, config, ri); + mtspr(SPR_970MMCR1, pmc_mmcr); + break; + } + return 0; +} + +static int +ppc970_start_pmc(int cpu, int ri) +{ + struct pmc *pm; + struct pmc_hw *phw; + register_t pmc_mmcr; + uint32_t config; + int error; + + phw = &powerpc_pcpu[cpu]->pc_ppcpmcs[ri]; + pm = phw->phw_pmc; + config = pm->pm_md.pm_powerpc.pm_powerpc_evsel & ~POWERPC_PMC_ENABLE; + + error = ppc970_set_pmc(cpu, ri, config); + + /* The mask is inverted (enable is 1) compared to the flags in MMCR0, which + * are Freeze flags. + */ + config = ~pm->pm_md.pm_powerpc.pm_powerpc_evsel & POWERPC_PMC_ENABLE; + + pmc_mmcr = mfspr(SPR_970MMCR0); + pmc_mmcr &= ~SPR_MMCR0_FC; + pmc_mmcr |= config; + mtspr(SPR_970MMCR0, pmc_mmcr); + + return 0; +} + +static int +ppc970_stop_pmc(int cpu, int ri) +{ + return ppc970_set_pmc(cpu, ri, PMC970N_NONE); +} + +static int +ppc970_read_pmc(int cpu, int ri, pmc_value_t *v) +{ + struct pmc *pm; + pmc_value_t tmp; + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] illegal CPU value %d", __LINE__, cpu)); + KASSERT(ri >= 0 && ri < PPC970_MAX_PMCS, + ("[powerpc,%d] illegal row index %d", __LINE__, ri)); + + pm = powerpc_pcpu[cpu]->pc_ppcpmcs[ri].phw_pmc; + KASSERT(pm, + ("[core,%d] cpu %d ri %d pmc not configured", __LINE__, cpu, + ri)); + + tmp = ppc970_pmcn_read(ri); + PMCDBG(MDP,REA,2,"ppc-read id=%d -> %jd", ri, tmp); + if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) + *v = POWERPC_PERFCTR_VALUE_TO_RELOAD_COUNT(tmp); + else + *v = tmp; + + return 0; +} + +static int +ppc970_write_pmc(int cpu, int ri, pmc_value_t v) +{ + struct pmc *pm; + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] illegal CPU value %d", __LINE__, cpu)); + KASSERT(ri >= 0 && ri < PPC970_MAX_PMCS, + ("[powerpc,%d] illegal row-index %d", __LINE__, ri)); + + pm = powerpc_pcpu[cpu]->pc_ppcpmcs[ri].phw_pmc; + + if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) + v = POWERPC_RELOAD_COUNT_TO_PERFCTR_VALUE(v); + + PMCDBG(MDP,WRI,1,"powerpc-write cpu=%d ri=%d v=%jx", cpu, ri, v); + + ppc970_pmcn_write(ri, v); + + return 0; +} + +static int +ppc970_intr(int cpu, struct trapframe *tf) +{ + struct pmc *pm; + struct powerpc_cpu *pac; + pmc_value_t v; + uint32_t config; + int i, error, retval; + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] out of range CPU %d", __LINE__, cpu)); + + PMCDBG(MDP,INT,1, "cpu=%d tf=%p um=%d", cpu, (void *) tf, + TRAPF_USERMODE(tf)); + + retval = 0; + + pac = powerpc_pcpu[cpu]; + + /* + * look for all PMCs that have interrupted: + * - look for a running, sampling PMC which has overflowed + * and which has a valid 'struct pmc' association + * + * If found, we call a helper to process the interrupt. + */ + + config = mfspr(SPR_970MMCR0); + mtspr(SPR_970MMCR0, config | SPR_MMCR0_FC); + for (i = 0; i < PPC970_MAX_PMCS; i++) { + if ((pm = pac->pc_ppcpmcs[i].phw_pmc) == NULL || + !PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) { + continue; + } + + if (!PPC970_PMC_HAS_OVERFLOWED(i)) + continue; + + retval = 1; /* Found an interrupting PMC. */ + + if (pm->pm_state != PMC_STATE_RUNNING) + continue; + + /* Stop the PMC, reload count. */ + v = pm->pm_sc.pm_reloadcount; + + ppc970_pmcn_write(i, v); + + /* Restart the counter if logging succeeded. */ + error = pmc_process_interrupt(cpu, PMC_HR, pm, tf, + TRAPF_USERMODE(tf)); + mtspr(SPR_970MMCR0, config); + if (error != 0) + ppc970_stop_pmc(cpu, i); + atomic_add_int(retval ? &pmc_stats.pm_intr_processed : + &pmc_stats.pm_intr_ignored, 1); + + } + + /* Re-enable PERF exceptions. */ + mtspr(SPR_970MMCR0, mfspr(SPR_970MMCR0) | SPR_MMCR0_PMXE); + + return (retval); +} + +static int +ppc970_pcpu_init(struct pmc_mdep *md, int cpu) +{ + struct pmc_cpu *pc; + struct powerpc_cpu *pac; + struct pmc_hw *phw; + int first_ri, i; + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] wrong cpu number %d", __LINE__, cpu)); + PMCDBG(MDP,INI,1,"powerpc-init cpu=%d", cpu); + + powerpc_pcpu[cpu] = pac = malloc(sizeof(struct powerpc_cpu), M_PMC, + M_WAITOK|M_ZERO); + pac->pc_ppcpmcs = malloc(sizeof(struct pmc_hw) * PPC970_MAX_PMCS, + M_PMC, M_WAITOK|M_ZERO); + pac->pc_class = PMC_CLASS_PPC970; + + pc = pmc_pcpu[cpu]; + first_ri = md->pmd_classdep[PMC_MDEP_CLASS_INDEX_PPC970].pcd_ri; + KASSERT(pc != NULL, ("[powerpc,%d] NULL per-cpu pointer", __LINE__)); + + for (i = 0, phw = pac->pc_ppcpmcs; i < PPC970_MAX_PMCS; i++, phw++) { + phw->phw_state = PMC_PHW_FLAG_IS_ENABLED | + PMC_PHW_CPU_TO_STATE(cpu) | PMC_PHW_INDEX_TO_STATE(i); + phw->phw_pmc = NULL; + pc->pc_hwpmcs[i + first_ri] = phw; + } + + /* Clear the MMCRs, and set FC, to disable all PMCs. */ + /* 970 PMC is not counted when set to 0x08 */ + mtspr(SPR_970MMCR0, SPR_MMCR0_FC | SPR_MMCR0_PMXE | SPR_MMCR0_PMC1CE | + SPR_MMCR0_PMCNCE | SPR_970MMCR0_PMC1SEL(0x8) | SPR_970MMCR0_PMC2SEL(0x8)); + mtspr(SPR_970MMCR1, 0x4218420); + + return 0; +} + +static int +ppc970_pcpu_fini(struct pmc_mdep *md, int cpu) +{ + register_t mmcr0 = mfspr(SPR_MMCR0); + + mmcr0 |= SPR_MMCR0_FC; + mmcr0 &= ~SPR_MMCR0_PMXE; + mtspr(SPR_MMCR0, mmcr0); + free(powerpc_pcpu[cpu]->pc_ppcpmcs, M_PMC); + free(powerpc_pcpu[cpu], M_PMC); + return 0; +} + +static int +ppc970_allocate_pmc(int cpu, int ri, struct pmc *pm, + const struct pmc_op_pmcallocate *a) +{ + enum pmc_event pe; + uint32_t caps, config = 0, counter = 0; + int i; + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] illegal CPU value %d", __LINE__, cpu)); + KASSERT(ri >= 0 && ri < PPC970_MAX_PMCS, + ("[powerpc,%d] illegal row index %d", __LINE__, ri)); + + caps = a->pm_caps; + + pe = a->pm_ev; + + if (pe < PMC_EV_PPC970_FIRST || pe > PMC_EV_PPC970_LAST) + return (EINVAL); + + for (i = 0; i < ppc970_event_codes_size; i++) { + if (ppc970_event_codes[i].pe_event == pe) { + config = ppc970_event_codes[i].pe_code; + counter = ppc970_event_codes[i].pe_flags; + break; + } + } + if (i == ppc970_event_codes_size) + return (EINVAL); + + if ((counter & (1 << ri)) == 0) + return (EINVAL); + + if (caps & PMC_CAP_SYSTEM) + config |= POWERPC_PMC_KERNEL_ENABLE; + if (caps & PMC_CAP_USER) + config |= POWERPC_PMC_USER_ENABLE; + if ((caps & (PMC_CAP_USER | PMC_CAP_SYSTEM)) == 0) + config |= POWERPC_PMC_ENABLE; + + pm->pm_md.pm_powerpc.pm_powerpc_evsel = config; + + PMCDBG(MDP,ALL,2,"powerpc-allocate ri=%d -> config=0x%x", ri, config); + + return 0; +} + +static int +ppc970_release_pmc(int cpu, int ri, struct pmc *pmc) +{ + struct pmc_hw *phw; + + KASSERT(cpu >= 0 && cpu < pmc_cpu_max(), + ("[powerpc,%d] illegal CPU value %d", __LINE__, cpu)); + KASSERT(ri >= 0 && ri < PPC970_MAX_PMCS, + ("[powerpc,%d] illegal row-index %d", __LINE__, ri)); + + phw = &powerpc_pcpu[cpu]->pc_ppcpmcs[ri]; + KASSERT(phw->phw_pmc == NULL, + ("[powerpc,%d] PHW pmc %p non-NULL", __LINE__, phw->phw_pmc)); + + return 0; +} + +int +pmc_ppc970_initialize(struct pmc_mdep *pmc_mdep) +{ + struct pmc_classdep *pcd; + + pmc_mdep->pmd_cputype = PMC_CPU_PPC_970; + + pcd = &pmc_mdep->pmd_classdep[PMC_MDEP_CLASS_INDEX_PPC970]; + pcd->pcd_caps = POWERPC_PMC_CAPS; + pcd->pcd_class = PMC_CLASS_PPC970; + pcd->pcd_num = PPC970_MAX_PMCS; + pcd->pcd_ri = pmc_mdep->pmd_npmc; + pcd->pcd_width = 32; + + pcd->pcd_allocate_pmc = ppc970_allocate_pmc; + pcd->pcd_config_pmc = ppc970_config_pmc; + pcd->pcd_pcpu_fini = ppc970_pcpu_fini; + pcd->pcd_pcpu_init = ppc970_pcpu_init; + pcd->pcd_describe = powerpc_describe; + pcd->pcd_get_config = powerpc_get_config; + pcd->pcd_read_pmc = ppc970_read_pmc; + pcd->pcd_release_pmc = ppc970_release_pmc; + pcd->pcd_start_pmc = ppc970_start_pmc; + pcd->pcd_stop_pmc = ppc970_stop_pmc; + pcd->pcd_write_pmc = ppc970_write_pmc; + + pmc_mdep->pmd_npmc += PPC970_MAX_PMCS; + pmc_mdep->pmd_intr = ppc970_intr; + + return (0); +} Modified: head/sys/dev/hwpmc/pmc_events.h ============================================================================== --- head/sys/dev/hwpmc/pmc_events.h Sat Feb 1 01:30:46 2014 (r261341) +++ head/sys/dev/hwpmc/pmc_events.h Sat Feb 1 02:03:50 2014 (r261342) @@ -4749,6 +4749,61 @@ __PMC_EV_ALIAS("IMPC_C0H_TRK_REQUEST.ALL #define PMC_EV_PPC7450_FIRST PMC_EV_PPC7450_CYCLE #define PMC_EV_PPC7450_LAST PMC_EV_PPC7450_PREFETCH_ENGINE_FULL +#define __PMC_EV_PPC970() \ + __PMC_EV(PPC970, INSTR_COMPLETED) \ + __PMC_EV(PPC970, MARKED_GROUP_DISPATCH) \ + __PMC_EV(PPC970, MARKED_STORE_COMPLETED) \ + __PMC_EV(PPC970, GCT_EMPTY) \ + __PMC_EV(PPC970, RUN_CYCLES) \ + __PMC_EV(PPC970, OVERFLOW) \ + __PMC_EV(PPC970, CYCLES) \ + __PMC_EV(PPC970, THRESHOLD_TIMEOUT) \ + __PMC_EV(PPC970, GROUP_DISPATCH) \ + __PMC_EV(PPC970, BR_MARKED_INSTR_FINISH) \ + __PMC_EV(PPC970, GCT_EMPTY_BY_SRQ_FULL) \ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 06:58:17 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 704F39F6; Sat, 1 Feb 2014 06:58:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5B9E414BF; Sat, 1 Feb 2014 06:58:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s116wHgW028631; Sat, 1 Feb 2014 06:58:17 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s116wHvn028630; Sat, 1 Feb 2014 06:58:17 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201402010658.s116wHvn028630@svn.freebsd.org> From: Hans Petter Selasky Date: Sat, 1 Feb 2014 06:58:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261343 - head/sys/dev/usb/input X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 06:58:17 -0000 Author: hselasky Date: Sat Feb 1 06:58:16 2014 New Revision: 261343 URL: http://svnweb.freebsd.org/changeset/base/261343 Log: Add a comment about the origin of some structures, defines and so on. MFC after: 1 week Modified: head/sys/dev/usb/input/wsp.c Modified: head/sys/dev/usb/input/wsp.c ============================================================================== --- head/sys/dev/usb/input/wsp.c Sat Feb 1 02:03:50 2014 (r261342) +++ head/sys/dev/usb/input/wsp.c Sat Feb 1 06:58:16 2014 (r261343) @@ -123,6 +123,25 @@ SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scr_ho #define WSP_IFACE_INDEX 1 +/* + * Some tables, structures, definitions and initialisation values for + * the touchpad protocol has been copied from Linux's + * "drivers/input/mouse/bcm5974.c" which has the following copyright + * holders under GPLv2. All device specific code in this driver has + * been written from scratch. The decoding algorithm is based on + * output from usbdump. + * + * Copyright (C) 2008 Henrik Rydberg (rydberg@euromail.se) + * Copyright (C) 2008 Scott Shawcroft (scott.shawcroft@gmail.com) + * Copyright (C) 2001-2004 Greg Kroah-Hartman (greg@kroah.com) + * Copyright (C) 2005 Johannes Berg (johannes@sipsolutions.net) + * Copyright (C) 2005 Stelian Pop (stelian@popies.net) + * Copyright (C) 2005 Frank Arnold (frank@scirocco-5v-turbo.de) + * Copyright (C) 2005 Peter Osterlund (petero2@telia.com) + * Copyright (C) 2005 Michael Hanselmann (linux-kernel@hansmi.ch) + * Copyright (C) 2006 Nicolas Boichat (nicolas@boichat.ch) + */ + /* button data structure */ struct bt_data { uint8_t unknown1; /* constant */ From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 09:28:00 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04C66533; Sat, 1 Feb 2014 09:28:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E226B1E5D; Sat, 1 Feb 2014 09:27:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s119RxWC086310; Sat, 1 Feb 2014 09:27:59 GMT (envelope-from uqs@svn.freebsd.org) Received: (from uqs@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s119RwMm086298; Sat, 1 Feb 2014 09:27:58 GMT (envelope-from uqs@svn.freebsd.org) Message-Id: <201402010927.s119RwMm086298@svn.freebsd.org> From: Ulrich Spoerlein Date: Sat, 1 Feb 2014 09:27:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261344 - in head: contrib/mdocml lib/libmandoc usr.bin/mandoc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 09:28:00 -0000 Author: uqs Date: Sat Feb 1 09:27:57 2014 New Revision: 261344 URL: http://svnweb.freebsd.org/changeset/base/261344 Log: Merge mdocml v1.12.3 into head MFC after: 2 weeks Added: head/contrib/mdocml/NEWS - copied unchanged from r261328, vendor/mdocml/dist/NEWS head/contrib/mdocml/TODO - copied unchanged from r261328, vendor/mdocml/dist/TODO Modified: head/contrib/mdocml/arch.in head/contrib/mdocml/chars.c head/contrib/mdocml/chars.in head/contrib/mdocml/config.h head/contrib/mdocml/eqn.7 head/contrib/mdocml/html.c head/contrib/mdocml/html.h head/contrib/mdocml/lib.in head/contrib/mdocml/libman.h head/contrib/mdocml/libmandoc.h head/contrib/mdocml/libmdoc.h head/contrib/mdocml/libroff.h head/contrib/mdocml/main.c head/contrib/mdocml/man.7 head/contrib/mdocml/man.c head/contrib/mdocml/man.h head/contrib/mdocml/man_html.c head/contrib/mdocml/man_macro.c head/contrib/mdocml/man_term.c head/contrib/mdocml/man_validate.c head/contrib/mdocml/mandoc.1 head/contrib/mdocml/mandoc.3 head/contrib/mdocml/mandoc.c head/contrib/mdocml/mandoc.h head/contrib/mdocml/mandoc_char.7 head/contrib/mdocml/mdoc.7 head/contrib/mdocml/mdoc.c head/contrib/mdocml/mdoc.h head/contrib/mdocml/mdoc_argv.c head/contrib/mdocml/mdoc_html.c head/contrib/mdocml/mdoc_macro.c head/contrib/mdocml/mdoc_man.c head/contrib/mdocml/mdoc_term.c head/contrib/mdocml/mdoc_validate.c head/contrib/mdocml/out.c head/contrib/mdocml/predefs.in head/contrib/mdocml/read.c head/contrib/mdocml/roff.7 head/contrib/mdocml/roff.c head/contrib/mdocml/st.in head/contrib/mdocml/tbl.7 head/contrib/mdocml/tbl.c head/contrib/mdocml/tbl_data.c head/contrib/mdocml/tbl_html.c head/contrib/mdocml/tbl_layout.c head/contrib/mdocml/tbl_term.c head/contrib/mdocml/term.c head/contrib/mdocml/term.h head/contrib/mdocml/term_ascii.c head/contrib/mdocml/tree.c head/lib/libmandoc/Makefile head/usr.bin/mandoc/Makefile Directory Properties: head/contrib/mdocml/ (props changed) Copied: head/contrib/mdocml/NEWS (from r261328, vendor/mdocml/dist/NEWS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/mdocml/NEWS Sat Feb 1 09:27:57 2014 (r261344, copy of r261328, vendor/mdocml/dist/NEWS) @@ -0,0 +1,370 @@ +$Id: NEWS,v 1.3 2013/10/13 16:06:50 schwarze Exp $ + +This file lists the most important changes in the mdocml.bsd.lv distribution. + +Changes in version 1.12.3, released on December 31, 2013 + + * In the mdoc(7) SYNOPSIS, line breaks and hanging indentation + now work correctly for .Fo/.Fa/.Fc and .Fn blocks. + Thanks to Franco Fichtner for doing part of the work. + * The mdoc(7) .Bk macro got some addititonal bugfixes. + * In mdoc(7) macro arguments, double quotes can now be quoted + by doubling them, just like in man(7). + Thanks to Tsugutomo ENAMI for the patch. + * At the end of man(7) macro lines, end-of-sentence spacing + now works. Thanks to Franco Fichtner for the patch. + * For backward compatibility, the man(7) parser now supports the + man-ext .UR/.UE (uniform resource identifier) block macros. + * The man(7) parser now handles closing blocks that are not open + more gracefully. + * The man(7) parser now ignores blank lines right after .SH and .SS. + * In the man(7) formatter, reset indentation when leaving a block, + not just when entering the next one. + * The roff(7) .nr request now supports incrementing and decrementing + number registers and stops parsing the number right before the + first non-digit character. + * The roff(7) parser now supports the alternative escape sequence + syntax \C'uXXXX' for Unicode characters. + * The roff(7) parser now parses and ignores the .fam (font family) + and .hw (hyphenation points) requests and the \d and \u escape + sequences. + * The roff(7) manual got a new ESCAPE SEQUENCE REFERENCE. + +Changes in version 1.12.2, released on Oktober 5, 2013 + + * The mdoc(7) to man(7) converter, to be called as mandoc -Tman, + is now fully functional. + * The mandoc(1) utility now supports the -Ios (default operating system) + input option, and the -Tutf8 output mode now actually works. + * The mandocdb(8) utility no longer truncates existing databases when + starting to build new ones, but only replaces them when the build + actually succeeds. + * The man(7) parser now supports the PD macro (paragraph distance), + and (for GNU man-ext compatibility only) EX (example block) and EE + (example end). Plus several bugfixes regarding indentation, line + breaks, and vertical spacing, and regarding RS following TP. + * The roff(7) parser now supports the \f(BI (bold+italic) font escape, + the \z (zero cursor advance) escape and the cc (change control + character) and it (input line trap) requests. Plus bugfixes regarding + the \t (tab) escape, nested escape sequences, and conditional requests. + * In mdoc(7), several bugs were fixed related to UTF-8 output of quoting + enclosures, delimiter handling, list indentation and horizontal and + vertical spacing, formatting of the Lk, %U, and %C macros, plus some + bugfixes related to the handling of syntax errors like badly nested + font blocks, stray Ta macros outside column lists, unterminated It Xo + blocks, and non-text children of Nm blocks. + * In tbl(7), the width of horizontal spans and the vertical spacing + around tables was corrected, and in man(7) files, a crash was fixed + that was triggered by some particular unclosed T{ macros. + * For mandoc developers, we now provide a tbl(3) library manual and + gmdiff, a very small, very simplistic groff-versus-mandoc output + comparison tool. + * Provide this NEWS file. + +Changes in version 1.12.1, released on March 23, 2012 + + * Significant work on apropos(1) and mandocdb(8). These tools are now + much more robust. A whatis(1) implementation is now handled as an + apropos(1) mode. These tools are also able to minimally handle + pre-formatted pages, that is, those already formatted by another + utility such as GNU troff. + * The man.cgi(7) script is also now available for wider testing. + It interfaces with mandocdb(8) manuals cached by catman(8). + HTML output is generated on-the-fly by libmandoc or internal + methods to convert pre-formatted pages. + * The mailing list archive for the discuss and tech lists are being + hosted by Gmane at gmane.comp.tools.mdocml.user and + gmane.comp.tools.mdocml.devel, respectively. + +Changes in version 1.12.0, released on October 8, 2011 + + * This version features a new, work-in-progress mandoc(1) output mode: + -Tman. This mode allows a system maintainer to distribute man(7) + media for older systems that may not natively support mdoc(7), such + as old Solaris systems. + * The -Ofragment option was added to mandoc(1)'s -Thtml and -Txhtml modes. + * While adding features, an apropos(1) utility has been merged from the + mandoc-tools sandbox. This interfaces with mandocdb(8) for semantic + search of manual content. apropos(1) is different from the traditional + apropos primarily in allowing keyword search (such as for functions, + utilities, etc.) and regular expressions. Note that the calling + syntax for apropos is likely to change as it settles down. + * In documentation news, the mdoc(7) and man(7) manuals have been + made considerably more readable by adding MACRO OVERVIEW sections, by + moving the gory details of the LANGUAGE SYNTAX to the roff(7) manual, + and by moving the very technical MACRO SYNTAX sections down to the + bottom of the page. + * Furthermore, for tbl(7), the -Tascii mode horizontal spacing of tables + was rewritten completely. It is now compatible with groff(1), both + with and without frames and rulers. + * Nesting of indented blocks is now supported in man(7), and several + bugs were fixed regarding indentation and alignment. + * The page headers in mdoc(7) are now nicer for very long titles. + +Changes in version 1.11.7, released on September 2, 2011 + + * Added demandoc(1) utility for stripping away macros and escapes. + This replaces the historical deroff(1) utility. + * Also improved the mdoc(7) and man(7) manuals. + +Changes in version 1.11.6, released on August 16, 2011 + + * Handling of tr macro in roff(7) implemented. This makes Perl + documentation much more readable. Hyphenation is also now enabled in + man(7) format documents. Many other general improvements have been + implemented. + +Changes in version 1.11.5, released on July 24, 2011 + + * Significant eqn(7) improvements. mdocml can now parse arbitrary eqn + input (although few GNU extensions are accepted, nor is mixing + low-level roff with eqn). See the eqn(7) manual for details. + For the time being, equations are rendered as simple in-line text. + The equation parser satisfies the language specified in the + Second Edition User's Guide: + http://www.kohala.com/start/troff/v7man/eqn/eqn2e.ps + +Changes in version 1.11.4, released on July 12, 2011 + + * Bug-fixes and clean-ups across all systems, especially in mandocdb(8) + and the man(7) parser. This release was significantly assisted by + participants in OpenBSD's c2k11. Thanks! + +Changes in version 1.11.3, released on May 26, 2011 + + * Introduce locale-encoding of output with the -Tlocale output option and + Unicode escaped-character input. See mandoc(1) and mandoc_char(7), + respectively, for details. This allows for non-ASCII characters (e.g., + \[u5000]) to be rendered in the locale's encoding, if said environment + supports wide-character encoding (if it does not, -Tascii is used + instead). Locale support can be turned off at compile time by removing + -DUSE_WCHAR in the Makefile, in which case -Tlocale is always a synonym + for -Tascii. + * Furthermore, multibyte-encoded documents, such as those in UTF-8, may + be on-the-fly recoded into mandoc(1) input by using the newly-added + preconv(1) utility. Note: in the future, this feature may be + integrated into mandoc(1). + +Changes in version 1.11.2, released on May 12, 2011 + + * Corrected some installation issues in version 1.11.1. + * Further migration to libmandoc. + * Initial public release (this utility is very much under development) + of mandocdb(8). This utility produces keyword databases of manual + content, which features semantic querying of manual content. + +Changes in version 1.11.1, released on April 4, 2011 + + * The earlier libroff, libmdoc, and libman soup have been merged into + a single library, libmandoc, which manages all aspects of parsing + real manuals, from line-handling to tbl(7) parsing. + * As usual, many general fixes and improvements have also occurred. + In particular, a great deal of redundancy and superfluous code has + been removed with the merging of the backend libraries. + * see also the changes in 1.10.10 + +Changes in version 1.10.10, March 20, 2011, NOT released + + * Initial eqn(7) functionality is in place. For the time being, + this is limited to the recognition of equation blocks; + future version of mdocml will expand upon this framework. + +Changes in version 1.10.9, released on January 7, 2011 + + * Many back-end fixes have been implemented: argument handling (quoting), + man(7) improvements, error/warning classes, and many more. + * Initial tbl(7) functionality (see the "TS", "TE", and "T&" macros in + the roff(7) manual) has been merged from tbl.bsd.lv. Output is still + minimal, especially for -Thtml and -Txhtml, but manages to at least + display data. This means that mandoc(1) now has built-in support + for two troff preprocessors via libroff: soelim(1) and tbl(1). + +Changes in version 1.10.8, released on December 24, 2010 + + * Overhauled the -Thtml and -Txhtml output modes. They now display + readable output in arbitrary browsers, including text-based ones like + lynx(1). See HTML and XHTML manuals in the DOCUMENTATION section + for examples. Attention: available style-sheet classes have been + considerably changed! See the example.style.css file for details. + Lastly, libmdoc and libman have been cleaned up and reduced in size + and complexity. + * see also the changes in 1.10.7 + +Changes in version 1.10.7, December 6, 2010, NOT released + + Significant improvements merged from OpenBSD downstream, including: + * many new roff(7) components, + * in-line implementation of troff's soelim(1), + * broken-block handling, + * overhauled error classifications, and + * cleaned up handling of error conditions. + +Changes in version 1.10.6, released on September 27, 2010 + + * Calling conventions for mandoc(1) have changed: -W improved and -f + deprecated. + * Non-ASCII characters are also now uniformly discarded. + * Lots of documentation improvements. + * Many incremental fixes accomodating for groff's more interesting + productions. + * Lastly, pod2man(1) preambles are now fully accepted after some + considerable roff(7) and special character support. + +Changes in version 1.10.5, released on July 27, 2010 + + * Primarily a bug-fix and polish release, but including -Tpdf support + in mandoc(1) by way of "Summer of Code". Highlights: + * fix "Sm" and "Bd" handling + * fix end-of-sentence handling for embedded sentences + * polish man(7) documentation + * document all mdoc(7) macros + * polish mandoc(1) -Tps output + * lots of internal clean-ups in character escapes + * un-break literal contexts in man(7) documents + * improve -Thtml output for -man + * add mandoc(1) -Tpdf support + +Changes in version 1.10.4, released on July 12, 2010 + + * Lots of features developed during both "Summer of Code" and the + OpenBSD c2k10 hackathon: + * minimal "ds" roff(7) symbols are supported + * beautified SYNOPSIS section output + * acceptance of scope-block breakage in mdoc(7) + * clarify error message status + * many minor bug-fixes and formatting issues resolved + * see also changes in 1.10.3 + +Changes in version 1.10.3, June 29, 2010, NOT released + + * variable font-width and paper-size support in mandoc(1) -Tps output + * "Bk" mdoc(7) support + +Changes in version 1.10.2, released on June 19, 2010 + + * Small release featuring text-decoration in -Tps output, + a few minor relaxations of errors, and some optimisations. + +Changes in version 1.10.1, released on June 7, 2010 + + * This primarily focusses on the "Bl" and "It" macros described in + mdoc(7). Multi-line column support is now fully compatible with groff, + as are implicit list entries for columns. + * Removed manuals(7) in favour of http://manpages.bsd.lv. + * The way we handle the SYNOPSIS section (see the SYNOPSIS documentation + in MANUAL STRUCTURE) has also been considerably simplified compared + to groff's method. + * Furthermore, the -Owidth=width output option has been added to -Tascii, + see mandoc(1). + * Lastly, initial PostScript output has been added with the -Tps option + to mandoc(1). It's brutally simple at the moment: fixed-font, with no + font decorations. + +Changes in version 1.10.0, released on May 29, 2010 + + * Release consisting of the results from the m2k10 hackathon and up-merge + from OpenBSD. This requires a significant note of thanks to Ingo + Schwarze (OpenBSD) and Joerg Sonnenberger (NetBSD) for their hard work, + and again to Joerg for hosting m2k10. Highlights (mostly cribbed from + Ingo's m2k10 report) follow in no particular order: + * a libroff preprocessor in front of libmdoc and libman stripping out + roff(7) instructions; + * end-of-sentence (EOS) detection in free-form and macro lines; + * correct handling of tab-separated columnar lists in mdoc(7); + * improved main calling routines to optionally use mmap(3) for better + performance; + * cleaned up exiting when invoked as -Tlint or over multiple files + with -fign-errors; + * error and warning message handling re-written to be unified for + libroff, libmdoc, and libman; + * handling of badly-nested explicit-scoped macros; + * improved free-form text parsing in libman and libmdoc; + * significant GNU troff compatibility improvements in -Tascii, + largely in terms of spacing; + * a regression framework for making sure the many fragilities of GNU + troff aren't trampled in subsequent work; + * support for -Tascii breaking at hyphens encountered in free-form text; + * and many more minor fixes and improvements + +Changes in version 1.9.25, released on May 13, 2010 + + * Fixed handling of "\*(Ba" escape. + * Backed out -fno-ign-chars (pointless complexity). + * Fixed erroneous breaking of literal lines. + * Fixed SYNOPSIS breaking lines before non-initial macros. + * Changed default section ordering. + * Most importantly, the framework for end-of-sentence double-spacing is + in place, now implemented for the "end-of-sentence, end-of-line" rule. + * This is a stable roll-back point before the mandoc hackathon in Rostock! + +Changes in version 1.9.24, released on May 9, 2010 + + * Rolled back break-at-hyphen. + * -DUGLY is now the default (no feature splits!). + * Free-form text is not de-chunked any more: lines are passed + whole-sale into the front-end, including whitespace. + * Added mailing lists. + +Changes in version 1.9.23, released on April 7, 2010 + + * mdocml has been linked to the OpenBSD build. + * This version incorporates many small changes, mostly from patches + by OpenBSD, allowing crufty manuals to slip by with warnings instead + of erroring-out. + * Some subtle semantic issues, such as punctuation scope, have also + been fixed. + * Lastly, some issues with -Thtml have been fixed, which prompted an + update to the online manual pages style layout. + +Changes in version 1.9.22, released on March 31, 2010 + + * Adjusted merge of the significant work by Ingo Schwarze + in getting "Xo" blocks (block full implicit, e.g., "It" + for non-columnar lists) to work properly. This isn't + enabled by default: you must specify -DUGLY as a compiler + flag (see the Makefile for details). + +Changes in version 1.9.20, released on March 30, 2010 + + * More efforts to get roff instructions in man(7) documents under + control. Note that roff instructions embedded in line-scoped, + next-line macros (e.g. "B") are not supported. + * Leading punctuation for mdoc(7) macros, such as "Fl ( ( a", + are now correctly handled. + +Changes in version 1.9.18, released on March 27, 2010 + + * Many fixes (largely pertaining to scope) + and improvements (e.g., handling of apostrophe-control macros, + which fixes the strange "BR" seen in some macro output) + to handling roff instructions in man(7) documents. + +Changes in version 1.9.17, released on March 25, 2010 + + * Accept perlpod(1) standard preamble. + * Also accept (and discard) "de", "dei", "am", "ami", and "ig" + roff macro blocks. + +Changes in version 1.9.16, released on March 22, 2010 + + * Inspired by patches and bug reports by Ingo Schwarze, + allowed man(7) to accept non-printing elements to be nested + within next-line scopes, such as "br" within "B" or "TH", + which is valid roff. + * Longsoon architecture also noted and Makefile cleaned up. + +Changes in version 1.9.15, released on February 18, 2010 + + * Moved to our new BSD.lv home. + * XHTML is now an acceptable output mode for mandoc(1); + * "Xr" made more compatible with groff; + * "Vt" fixed when invoked in SYNOPSIS; + * "\\" escape removed; + * end-of-line white-space detected for all lines; + * subtle bug fixed in list display for some modes; + * compatibility layer checked in for compilation in diverse + UNIX systems; + * and column lengths handled correctly. + +For older releases, see the ChangeLog files +in http://mdocml.bsd.lv/snapshots/ . Copied: head/contrib/mdocml/TODO (from r261328, vendor/mdocml/dist/TODO) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/mdocml/TODO Sat Feb 1 09:27:57 2014 (r261344, copy of r261328, vendor/mdocml/dist/TODO) @@ -0,0 +1,330 @@ +************************************************************************ +* Official mandoc TODO. +* $Id: TODO,v 1.162 2013/12/25 14:40:34 schwarze Exp $ +************************************************************************ + +************************************************************************ +* crashes +************************************************************************ + +None known. + +************************************************************************ +* missing features +************************************************************************ + +--- missing roff features ---------------------------------------------- + +- roff.c should treat \n(.H>23 and \n(.V>19 in the pod2man(1) + preamble as true, see for example AUTHORS in MooseX::Getopt.3p + reported by Andreas Voegele + Tue, 22 Nov 2011 15:34:47 +0100 on ports@ + +- .ad (adjust margins) + .ad l -- adjust left margin only (flush left) + .ad r -- adjust right margin only (flush right) + .ad c -- center text on line + .ad b -- adjust both margins (alias: .ad n) + .na -- temporarily disable adjustment without changing the mode + .ad -- re-enable adjustment without changing the mode + Adjustment mode is ignored while in no-fill mode (.nf). + +- .as (append to string) + found by jca@ in ratpoison(1) Sun, 30 Jun 2013 12:01:09 +0200 + +- .ce (center N lines) + found by naddy@ in xloadimage(1) + found by Juan Francisco Cantero Hurtado + in lang/racket(1) Thu, 20 Jun 2013 03:19:11 +0200 + +- .fc (field control) + found by naddy@ in xloadimage(1) + +- .ll (line length) + found by naddy@ in textproc/enchant(1) Sat, 12 Oct 2013 03:27:10 +0200 + +- .nr third argument (auto-increment step size, requires \n+) + found by bentley@ in sbcl(1) Mon, 9 Dec 2013 18:36:57 -0700 + +- .ns (no-space mode) occurs in xine-config(1) + reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 + +- .ta (tab settings) occurs in ircbug(1) and probably gnats(1) + reported by brad@ Sat, 15 Jan 2011 15:50:51 -0500 + +- .ti (temporary indent) + found by naddy@ in xloadimage(1) + found by bentley@ in nmh(1) Mon, 23 Apr 2012 13:38:28 -0600 + +- .while and .shift + found by jca@ in ratpoison(1) Sun, 30 Jun 2013 12:01:09 +0200 + +- \c (interrupted text) should prevent the line break + even inside .Bd literal; that occurs in chat(8) + also found in cclive(1) - DocBook output + +- \h horizontal move + found in cclive(1) DocBook output + Anthony J. Bentley on discuss@ Sat, 21 Sep 2013 22:29:34 -0600 + +- \n+ and \n- numerical register increment and decrement + found by bentley@ in sbcl(1) Mon, 9 Dec 2013 18:36:57 -0700 + +- using undefined strings or macros defines them to be empty + wl@ Mon, 14 Nov 2011 14:37:01 +0000 + +--- missing mdoc features ---------------------------------------------- + +- fix bad block nesting involving multiple identical explicit blocks + see the OpenBSD mdoc_macro.c 1.47 commit message + +- .Bl -column .Xo support is missing + ultimate goal: + restore .Xr and .Dv to + lib/libc/compat-43/sigvec.3 + lib/libc/gen/signal.3 + lib/libc/sys/sigaction.2 + +- edge case: decide how to deal with blk_full bad nesting, e.g. + .Sh .Nm .Bk .Nm .Ek .Sh found by jmc@ in ssh-keygen(1) + from jmc@ Wed, 14 Jul 2010 18:10:32 +0100 + +- \\ is now implemented correctly + * when defining strings and macros using .ds and .de + * when parsing roff(7) and man(7) macro arguments + It does not yet work in mdoc(7) macro arguments + because libmdoc does not yet use mandoc_getarg(). + Also check what happens in plain text, it must be identical to \e. + +- .Bd -filled should not be the same as .Bd -ragged, but align both + the left and right margin. In groff, it is implemented in terms + of .ad b, which we don't have either. Found in cksum(1). + +- implement blank `Bl -column', such as + .Bl -column + .It foo Ta bar + .El + +- explicitly disallow nested `Bl -column', which would clobber internal + flags defined for struct mdoc_macro + +- In .Bl -column .It, the end of the line probably has to be regarded + as an implicit .Ta, if there could be one, see the following mildly + ugly code from login.conf(5): + .Bl -column minpasswordlen program xetcxmotd + .It path Ta path Ta value of Dv _PATH_DEFPATH + .br + Default search path. + reported by Michal Mazurek + via jmc@ Thu, 7 Apr 2011 16:00:53 +0059 + +- inside `.Bl -column' phrases, punctuation is handled like normal + text, e.g. `.Bl -column .It Fl x . Ta ...' should give "-x -." + +- inside `.Bl -column' phrases, TERMP_IGNDELIM handling by `Pf' + is not safe, e.g. `.Bl -column .It Pf a b .' gives "ab." + but should give "ab ." + +- set a meaningful default if no `Bl' list type is assigned + +- have a blank `It' head for `Bl -tag' not puke + +- prohibit `Nm' from having non-text HEAD children + (e.g., NetBSD mDNSShared/dns-sd.1) + (mdoc_html.c and mdoc_term.c `Nm' handlers can be slightly simplified) + +- When there is free text in the SYNOPSIS and that free text contains + the .Nm macro, groff somehow understands to treat the .Nm as an in-line + macro, while mandoc treats it as a block macro and breaks the line. + No idea how the logic for distinguishing in-line and block instances + should be, needs investigation. + uqs@ Thu, 2 Jun 2011 11:03:51 +0200 + uqs@ Thu, 2 Jun 2011 11:33:35 +0200 + +--- missing man features ----------------------------------------------- + +- groff an-ext.tmac macros (.UR, .UE) occur in xine(5) + reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 + also occur in freeciv-client(6) freeciv-server(6) freeciv-modpack(6) + reported by bentley@ Tue, 30 Oct 2012 01:05:57 -0600 + +- -T[x]html doesn't stipulate non-collapsing spaces in literal mode + +--- missing tbl features ----------------------------------------------- + +- implement basic non-parametric .de to support e.g. sox(1) + reported by naddy@ Sat, 16 Oct 2010 23:51:57 +0200 + *** sox(1) still doesn't work, tbl(1) errors need investigation + +- allow standalone `.' to be interpreted as an end-of-layout + delimiter instead of being thrown away as a no-op roff line + reported by Yuri Pankov, Wed 18 May 2011 11:34:59 CEST + +--- missing misc features ---------------------------------------------- + +- italic correction (\/) in PostScript mode + Werner LEMBERG on groff at gnu dot org Sun, 10 Nov 2013 12:47:46 + +- The whatis(1) utility looks for whole words in Nm. + If the file name of a page does not agree with the contents of any + of its Nm macros (e.g. pool(9)), add the file name as an Nm entry + to the mandoc.db as well, such that whatis(1) finds it. + If there is a page with a file name that does not appear as a substring + neither in Nm nor in Nd, the same fix would allow finding that page + with apropos(1) using the file name as a key, as well. + Issue reported by tedu@ Fri, 05 Jul 2013 21:15:23 -0400 + +- clean up escape sequence handling, creating three classes: + (1) fully implemented, or parsed and ignored without loss of content + (2) unimplemented, potentially causing loss of content + or serious mangling of formatting (e.g. \n) -> ERROR + see textproc/mgdiff(1) for nice examples + (3) undefined, just output the character -> perhaps WARNING + +- look at pages generated from reStructeredText, e.g. devel/mercurial hg(1) + These are a weird mixture of man(7) and custom autogenerated low-level + roff stuff. Figure out to what extent we can cope. + For details, see http://docutils.sourceforge.net/rst.html + noted by stsp@ Sat, 24 Apr 2010 09:17:55 +0200 + reminded by nicm@ Mon, 3 May 2010 09:52:41 +0100 + +- look at pages generated from Texinfo source by yat2m, e.g. security/gnupg + First impression is not that bad. + +- check compatibility with Plan9: + http://swtch.com/usr/local/plan9/tmac/tmac.an + http://swtch.com/plan9port/man/man7/man.html + "Anthony J. Bentley" 28 Dec 2010 21:58:40 -0700 + +************************************************************************ +* formatting issues: ugly output +************************************************************************ + +- a column list with blank `Ta' cells triggers a spurrious + start-with-whitespace printing of a newline + +- In .Bl -column, + .It Em AuthenticationKey Length + ought to render "Key Length" with emphasis, too, + see OpenBSD iked.conf(5). + reported again Nicolas Joly via wiz@ Wed, 12 Oct 2011 00:20:00 +0200 + +- empty phrases in .Bl column produce too few blanks + try e.g. .Bl -column It Ta Ta + reported by millert Fri, 02 Apr 2010 16:13:46 -0400 + +- .%T can have trailing punctuation. Currently, it puts the trailing + punctuation into a trailing MDOC_TEXT element inside its own scope. + That element should rather be outside its scope, such that the + punctuation does not get underlines. This is not trivial to + implement because .%T then needs some features of in_line_eoln() - + slurp all arguments into one single text element - and one feature + of in_line() - put trailing punctuation out of scope. + Found in mount_nfs(8) and exports(5), search for "Appendix". + +- Trailing punctuation after .%T triggers EOS spacing, at least + outside .Rs (eek!). Simply setting ARGSFL_DELIM for .%T is not + the right solution, it sends mandoc into an endless loop. + reported by Nicolas Joly Sat, 17 Nov 2012 11:49:54 +0100 + +- in enclosures, mandoc sometimes fancies a bogus end of sentence + reminded by jmc@ Thu, 23 Sep 2010 18:13:39 +0059 + +- formatting /usr/local/man/man1/latex2man.1 with groff and mandoc + reveals lots of bugs both in groff and mandoc... + reported by bentley@ Wed, 22 May 2013 23:49:30 -0600 + +************************************************************************ +* formatting issues: gratuitous differences +************************************************************************ + +- .Rv (and probably .Ex) print different text if an `Nm' has been named + or not (run a manual without `Nm blah' to see this). I'm not sure + that this exists in the wild, but it's still an error. + +- In .Bl -bullet, the groff bullet is "+\b+\bo\bo", the mandoc bullet + is just "o\bo". + see for example OpenBSD ksh(1) + +- .Pp between two .It in .Bl -column should produce one, + not two blank lines, see e.g. login.conf(5). + reported by jmc@ Sun, 17 Apr 2011 14:04:58 +0059 + reported again by sthen@ Wed, 18 Jan 2012 02:09:39 +0000 (UTC) + +- If the *first* line after .It is .Pp, break the line right after + the tag, do not pad with space characters before breaking. + See the description of the a, c, and i commands in sed(1). + +- If the first line after .It is .D1, do not assert a blank line + in between, see for example tmux(1). + reported by nicm@ 13 Jan 2011 00:18:57 +0000 + +- Trailing punctuation after .It should trigger EOS spacing. + reported by Nicolas Joly Sat, 17 Nov 2012 11:49:54 +0100 + Probably, this should be fixed somewhere in termp_it_pre(), not sure. + +- .Nx 1.0a + should be "NetBSD 1.0A", not "NetBSD 1.0a", + see OpenBSD ccdconfig(8). + +- In .Bl -tag, if a tag exceeds the right margin and must be continued + on the next line, it must be indented by -width, not width+1; + see "rule block|pass" in OpenBSD ifconfig(8). + +- When the -width string contains macros, the macros must be rendered + before measuring the width, for example + .Bl -tag -width ".Dv message" + in magic(5), located in src/usr.bin/file, is the same + as -width 7n, not -width 11n. + The same applies to .Bl -column column widths; + reported again by Nicolas Joly Thu, 1 Mar 2012 13:41:26 +0100 via wiz@ 5 Mar + reported again by Franco Fichtner Fri, 27 Sep 2013 21:02:28 +0200 + An easy partial fix would be to just skip the first word if it starts + with a dot, including any following white space, when measuring. + +- The \& zero-width character counts as output. + That is, when it is alone on a line between two .Pp, + we want three blank lines, not two as in mandoc. + +- Header lines of excessive length: + Port OpenBSD man_term.c rev. 1.25 to mdoc_term.c + and document it in mdoc(7) and man(7) COMPATIBILITY + found while talking to Chris Bennett + +- trailing whitespace must be ignored even when followed by a font escape, + see for example + makes + \fBdig \fR + operate in batch mode + in dig(1). + +************************************************************************ +* performance issues +************************************************************************ + +Several areas can be cleaned up to make mandoc even faster. These are + +- improve hashing mechanism for macros (quite important: performance) + +- improve hashing mechanism for characters (not as important) + +- the PDF file is HUGE: this can be reduced by using relative offsets + +- instead of re-initialising the roff predefined-strings set before each + parse, create a read-only version the first time and copy it + +************************************************************************ +* structural issues +************************************************************************ + +- We use the input line number at several places to distinguish + same-line from different-line input. That plainly doesn't work + with user-defined macros, leading to random breakage. + +- Find better ways to prevent endless loops + in roff(7) macro and string expansion. + +- Finish cleanup of date handling. + Decide which formats should be recognized where. + Update both mdoc(7) and man(7) documentation. + Triggered by Tim van der Molen Tue, 22 Feb 2011 20:30:45 +0100 Modified: head/contrib/mdocml/arch.in ============================================================================== --- head/contrib/mdocml/arch.in Sat Feb 1 06:58:16 2014 (r261343) +++ head/contrib/mdocml/arch.in Sat Feb 1 09:27:57 2014 (r261344) @@ -1,4 +1,4 @@ -/* $Id: arch.in,v 1.12 2012/01/28 14:02:17 joerg Exp $ */ +/* $Id: arch.in,v 1.14 2013/09/16 22:12:57 schwarze Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons * @@ -38,9 +38,9 @@ LINE("arm", "ARM") LINE("arm26", "ARM26") LINE("arm32", "ARM32") LINE("armish", "ARMISH") +LINE("armv7", "ARMv7") LINE("aviion", "AViiON") LINE("atari", "ATARI") -LINE("beagle", "Beagle") LINE("bebox", "BeBox") LINE("cats", "cats") LINE("cesfic", "CESFIC") @@ -81,6 +81,7 @@ LINE("netwinder", "NetWinder") LINE("news68k", "NeWS68k") LINE("newsmips", "NeWSMIPS") LINE("next68k", "NeXT68k") +LINE("octeon", "OCTEON") LINE("ofppc", "OFPPC") LINE("palm", "Palm") LINE("pc532", "PC532") Modified: head/contrib/mdocml/chars.c ============================================================================== --- head/contrib/mdocml/chars.c Sat Feb 1 06:58:16 2014 (r261343) +++ head/contrib/mdocml/chars.c Sat Feb 1 09:27:57 2014 (r261344) @@ -1,4 +1,4 @@ -/* $Id: chars.c,v 1.52 2011/11/08 00:15:23 kristaps Exp $ */ +/* $Id: chars.c,v 1.54 2013/06/20 22:39:30 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2011 Ingo Schwarze @@ -37,7 +37,7 @@ struct ln { int unicode; }; -#define LINES_MAX 328 +#define LINES_MAX 329 #define CHAR(in, ch, code) \ { NULL, (in), (ch), (code) }, @@ -77,7 +77,7 @@ mchars_alloc(void) */ tab = mandoc_malloc(sizeof(struct mchars)); - htab = mandoc_calloc(PRINT_HI - PRINT_LO + 1, sizeof(struct ln **)); + htab = mandoc_calloc(PRINT_HI - PRINT_LO + 1, sizeof(struct ln *)); for (i = 0; i < LINES_MAX; i++) { hash = (int)lines[i].code[0] - PRINT_LO; Modified: head/contrib/mdocml/chars.in ============================================================================== --- head/contrib/mdocml/chars.in Sat Feb 1 06:58:16 2014 (r261343) +++ head/contrib/mdocml/chars.in Sat Feb 1 09:27:57 2014 (r261344) @@ -1,4 +1,4 @@ -/* $Id: chars.in,v 1.42 2011/10/02 10:02:26 kristaps Exp $ */ +/* $Id: chars.in,v 1.43 2013/06/20 22:39:30 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons * @@ -42,6 +42,7 @@ CHAR("&", "", 0) CHAR("^", "", 0) CHAR("|", "", 0) CHAR("}", "", 0) +CHAR("t", "", 0) /* Accents. */ CHAR("a\"", "\"", 779) Modified: head/contrib/mdocml/config.h ============================================================================== --- head/contrib/mdocml/config.h Sat Feb 1 06:58:16 2014 (r261343) +++ head/contrib/mdocml/config.h Sat Feb 1 09:27:57 2014 (r261344) @@ -7,6 +7,7 @@ #include +#define VERSION "1.12.3" #define HAVE_FGETLN #define HAVE_STRPTIME #define HAVE_GETSUBOPT @@ -31,14 +32,16 @@ # endif #endif -#if defined(__APPLE__) -# define htobe32(x) OSSwapHostToBigInt32(x) -# define betoh32(x) OSSwapBigToHostInt32(x) -# define htobe64(x) OSSwapHostToBigInt64(x) -# define betoh64(x) OSSwapBigToHostInt64(x) -#elif defined(__linux__) -# define betoh32(x) be32toh(x) -# define betoh64(x) be64toh(x) +#ifndef HAVE_BETOH64 +# if defined(__APPLE__) +# define betoh64(x) OSSwapBigToHostInt64(x) +# define htobe64(x) OSSwapHostToBigInt64(x) +# elif defined(__sun) +# define betoh64(x) BE_64(x) +# define htobe64(x) BE_64(x) +# else +# define betoh64(x) be64toh(x) +# endif #endif #ifndef HAVE_STRLCAT Modified: head/contrib/mdocml/eqn.7 ============================================================================== --- head/contrib/mdocml/eqn.7 Sat Feb 1 06:58:16 2014 (r261343) +++ head/contrib/mdocml/eqn.7 Sat Feb 1 09:27:57 2014 (r261344) @@ -1,4 +1,4 @@ -.\" $Id: eqn.7,v 1.28 2011/09/25 18:37:09 schwarze Exp $ +.\" $Id: eqn.7,v 1.29 2013/07/13 19:41:16 schwarze Exp $ .\" .\" Copyright (c) 2011 Kristaps Dzonsons .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: September 25 2011 $ +.Dd $Mdocdate: July 13 2013 $ .Dt EQN 7 .Os .Sh NAME @@ -276,5 +276,4 @@ was added in 2011. This .Nm reference was written by -.An Kristaps Dzonsons , -.Mt kristaps@bsd.lv . +.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . Modified: head/contrib/mdocml/html.c ============================================================================== --- head/contrib/mdocml/html.c Sat Feb 1 06:58:16 2014 (r261343) +++ head/contrib/mdocml/html.c Sat Feb 1 09:27:57 2014 (r261344) @@ -1,7 +1,7 @@ -/* $Id: html.c,v 1.150 2011/10/05 21:35:17 kristaps Exp $ */ +/* $Id: html.c,v 1.152 2013/08/08 20:07:47 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2011 Ingo Schwarze + * Copyright (c) 2011, 2012, 2013 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -235,6 +235,9 @@ print_metaf(struct html *h, enum mandoc_ case (ESCAPE_FONTBOLD): font = HTMLFONT_BOLD; break; + case (ESCAPE_FONTBI): + font = HTMLFONT_BI; + break; case (ESCAPE_FONT): /* FALLTHROUGH */ case (ESCAPE_FONTROMAN): @@ -253,17 +256,27 @@ print_metaf(struct html *h, enum mandoc_ h->metal = h->metac; h->metac = font; - if (HTMLFONT_NONE != font) - h->metaf = HTMLFONT_BOLD == font ? - print_otag(h, TAG_B, 0, NULL) : - print_otag(h, TAG_I, 0, NULL); + switch (font) { + case (HTMLFONT_ITALIC): + h->metaf = print_otag(h, TAG_I, 0, NULL); + break; + case (HTMLFONT_BOLD): + h->metaf = print_otag(h, TAG_B, 0, NULL); + break; + case (HTMLFONT_BI): + h->metaf = print_otag(h, TAG_B, 0, NULL); + print_otag(h, TAG_I, 0, NULL); + break; + default: + break; + } } int html_strlen(const char *cp) { - int ssz, sz; - const char *seq, *p; + size_t rsz; + int skip, sz; /* * Account for escaped sequences within string length @@ -274,10 +287,21 @@ html_strlen(const char *cp) */ sz = 0; - while (NULL != (p = strchr(cp, '\\'))) { - sz += (int)(p - cp); - ++cp; - switch (mandoc_escape(&cp, &seq, &ssz)) { + skip = 0; + while (1) { + rsz = strcspn(cp, "\\"); + if (rsz) { + cp += rsz; + if (skip) { + skip = 0; + rsz--; + } + sz += rsz; + } + if ('\0' == *cp) + break; + cp++; + switch (mandoc_escape(&cp, NULL, NULL)) { case (ESCAPE_ERROR): return(sz); case (ESCAPE_UNICODE): @@ -285,15 +309,19 @@ html_strlen(const char *cp) case (ESCAPE_NUMBERED): /* FALLTHROUGH */ case (ESCAPE_SPECIAL): - sz++; + if (skip) + skip = 0; + else + sz++; + break; + case (ESCAPE_SKIPCHAR): + skip = 1; break; default: break; } } - - assert(sz >= 0); - return(sz + strlen(cp)); + return(sz); } static int @@ -308,6 +336,12 @@ print_encode(struct html *h, const char nospace = 0; while ('\0' != *p) { + if (HTML_SKIPCHAR & h->flags && '\\' != *p) { + h->flags &= ~HTML_SKIPCHAR; + p++; + continue; + } + sz = strcspn(p, rejs); fwrite(p, 1, sz, stdout); @@ -338,6 +372,33 @@ print_encode(struct html *h, const char break; switch (esc) { + case (ESCAPE_FONT): + /* FALLTHROUGH */ + case (ESCAPE_FONTPREV): + /* FALLTHROUGH */ + case (ESCAPE_FONTBOLD): + /* FALLTHROUGH */ + case (ESCAPE_FONTITALIC): + /* FALLTHROUGH */ + case (ESCAPE_FONTBI): + /* FALLTHROUGH */ + case (ESCAPE_FONTROMAN): + if (0 == norecurse) + print_metaf(h, esc); + continue; + case (ESCAPE_SKIPCHAR): + h->flags |= HTML_SKIPCHAR; + continue; + default: + break; + } + + if (h->flags & HTML_SKIPCHAR) { + h->flags &= ~HTML_SKIPCHAR; + continue; + } + + switch (esc) { case (ESCAPE_UNICODE): /* Skip passed "u" header. */ c = mchars_num2uc(seq + 1, len - 1); @@ -356,19 +417,6 @@ print_encode(struct html *h, const char else if (-1 == c && 1 == len) putchar((int)*seq); break; - case (ESCAPE_FONT): - /* FALLTHROUGH */ - case (ESCAPE_FONTPREV): - /* FALLTHROUGH */ - case (ESCAPE_FONTBOLD): - /* FALLTHROUGH */ - case (ESCAPE_FONTITALIC): - /* FALLTHROUGH */ - case (ESCAPE_FONTROMAN): *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 10:36:35 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A9D45106; Sat, 1 Feb 2014 10:36:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 95D07128B; Sat, 1 Feb 2014 10:36:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11AaZph013406; Sat, 1 Feb 2014 10:36:35 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11AaZMg013405; Sat, 1 Feb 2014 10:36:35 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201402011036.s11AaZMg013405@svn.freebsd.org> From: Sergey Kandaurov Date: Sat, 1 Feb 2014 10:36:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261345 - head/gnu/usr.bin/groff/tmac X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 10:36:35 -0000 Author: pluknet Date: Sat Feb 1 10:36:35 2014 New Revision: 261345 URL: http://svnweb.freebsd.org/changeset/base/261345 Log: Add definition for NetBSD 7.0, which is referenced in several manpages. Discussed with: uqs MFC after: 5 days Modified: head/gnu/usr.bin/groff/tmac/mdoc.local Modified: head/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- head/gnu/usr.bin/groff/tmac/mdoc.local Sat Feb 1 09:27:57 2014 (r261344) +++ head/gnu/usr.bin/groff/tmac/mdoc.local Sat Feb 1 10:36:35 2014 (r261345) @@ -58,6 +58,7 @@ .ds doc-operating-system-FreeBSD-9.2 9.2 .ds doc-operating-system-FreeBSD-10.0 10.0 .ds doc-operating-system-FreeBSD-11.0 11.0 +.ds doc-operating-system-NetBSD-7.0 7.0 . .\" Definitions not (yet) in doc-syms . From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 12:30:00 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A3498D47; Sat, 1 Feb 2014 12:30:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 90AB71988; Sat, 1 Feb 2014 12:30:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11CU0gr057342; Sat, 1 Feb 2014 12:30:00 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11CU0K1057341; Sat, 1 Feb 2014 12:30:00 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402011230.s11CU0K1057341@svn.freebsd.org> From: Christian Brueffer Date: Sat, 1 Feb 2014 12:30:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261349 - head/sbin/casperd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 12:30:00 -0000 Author: brueffer Date: Sat Feb 1 12:30:00 2014 New Revision: 261349 URL: http://svnweb.freebsd.org/changeset/base/261349 Log: Bring the exit status wording closer to what .Ex would produce. Fixes a typo in the process. MFC after: 1 week Modified: head/sbin/casperd/casperd.8 Modified: head/sbin/casperd/casperd.8 ============================================================================== --- head/sbin/casperd/casperd.8 Sat Feb 1 10:48:28 2014 (r261348) +++ head/sbin/casperd/casperd.8 Sat Feb 1 12:30:00 2014 (r261349) @@ -109,7 +109,10 @@ The default location of the PID file. .El .Sh EXIT STATUS -Exit status is 0 on success, and > 0 of an error occurs. +The +.Nm +daemon exits 0 on success, and >0 if an error occurs. +.Ex -std .Sh SEE ALSO .Xr cap_enter 2 , .Xr libcapsicum 3 , From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 12:33:58 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E213CF82; Sat, 1 Feb 2014 12:33:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CEB701A13; Sat, 1 Feb 2014 12:33:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11CXwDt060404; Sat, 1 Feb 2014 12:33:58 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11CXwuO060403; Sat, 1 Feb 2014 12:33:58 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402011233.s11CXwuO060403@svn.freebsd.org> From: Christian Brueffer Date: Sat, 1 Feb 2014 12:33:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261350 - head/sbin/casperd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 12:33:59 -0000 Author: brueffer Date: Sat Feb 1 12:33:58 2014 New Revision: 261350 URL: http://svnweb.freebsd.org/changeset/base/261350 Log: Remove the .Ex macro that I used for testing. Pointy hat: brueffer Modified: head/sbin/casperd/casperd.8 Modified: head/sbin/casperd/casperd.8 ============================================================================== --- head/sbin/casperd/casperd.8 Sat Feb 1 12:30:00 2014 (r261349) +++ head/sbin/casperd/casperd.8 Sat Feb 1 12:33:58 2014 (r261350) @@ -112,7 +112,6 @@ PID file. The .Nm daemon exits 0 on success, and >0 if an error occurs. -.Ex -std .Sh SEE ALSO .Xr cap_enter 2 , .Xr libcapsicum 3 , From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 17:17:38 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A71418E1; Sat, 1 Feb 2014 17:17:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 77C991E52; Sat, 1 Feb 2014 17:17:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11HHcMh073282; Sat, 1 Feb 2014 17:17:38 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11HHaHD073266; Sat, 1 Feb 2014 17:17:36 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201402011717.s11HHaHD073266@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 1 Feb 2014 17:17:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261351 - in head/sys: arm/arm arm/mv dev/fdt dev/ofw powerpc/ofw powerpc/powerpc powerpc/pseries X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 17:17:38 -0000 Author: nwhitehorn Date: Sat Feb 1 17:17:35 2014 New Revision: 261351 URL: http://svnweb.freebsd.org/changeset/base/261351 Log: Open Firmware interrupt specifiers can consist of arbitrary-length byte strings and include arbitrary information (IRQ line/domain/sense). When the ofw_bus_map_intr() API was introduced, it assumed that, as on most systems, these were either 1 cell, containing an interrupt line, or 2, containing a line number plus a sense code. It turns out a non-negligible number of ARM systems use 3 (or even 4!) cells for interrupts, so make this more general. Modified: head/sys/arm/arm/nexus.c head/sys/arm/mv/mv_pci.c head/sys/dev/fdt/fdt_common.c head/sys/dev/ofw/ofw_bus.h head/sys/dev/ofw/ofw_bus_if.m head/sys/dev/ofw/ofw_nexus.c head/sys/powerpc/ofw/ofw_pci.c head/sys/powerpc/ofw/ofw_pcib_pci.c head/sys/powerpc/ofw/ofw_pcibus.c head/sys/powerpc/powerpc/nexus.c head/sys/powerpc/pseries/vdevice.c Modified: head/sys/arm/arm/nexus.c ============================================================================== --- head/sys/arm/arm/nexus.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/arm/arm/nexus.c Sat Feb 1 17:17:35 2014 (r261351) @@ -98,7 +98,7 @@ static int nexus_teardown_intr(device_t, #ifdef FDT static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, - int irq); + int icells, pcell_t *intr); #endif static device_method_t nexus_methods[] = { @@ -339,15 +339,16 @@ nexus_deactivate_resource(device_t bus, #ifdef FDT static int -nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int irq) +nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, + pcell_t *intr) { - pcell_t intr[2]; fdt_pic_decode_t intr_decode; phandle_t intr_offset; int i, rv, interrupt, trig, pol; intr_offset = OF_xref_phandle(iparent); - intr[0] = cpu_to_fdt32(irq); + for (i = 0; i < icells; i++) + intr[i] = cpu_to_fdt32(intr[i]); for (i = 0; fdt_pic_table[i] != NULL; i++) { intr_decode = fdt_pic_table[i]; @@ -355,13 +356,13 @@ nexus_ofw_map_intr(device_t dev, device_ if (rv == 0) { /* This was recognized as our PIC and decoded. */ - interrupt = FDT_MAP_IRQ(intr_parent, interrupt); + interrupt = FDT_MAP_IRQ(intr_parent, intr[0]); return (interrupt); } } /* Not in table, so guess */ - interrupt = FDT_MAP_IRQ(intr_parent, fdt32_to_cpu(*intr)); + interrupt = FDT_MAP_IRQ(intr_parent, intr[0]); return (interrupt); } Modified: head/sys/arm/mv/mv_pci.c ============================================================================== --- head/sys/arm/mv/mv_pci.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/arm/mv/mv_pci.c Sat Feb 1 17:17:35 2014 (r261351) @@ -1050,7 +1050,8 @@ mv_pcib_route_interrupt(device_t bus, de { struct mv_pcib_softc *sc; struct ofw_pci_register reg; - uint32_t pintr, mintr; + uint32_t pintr, mintr[4]; + int icells; phandle_t iparent; sc = device_get_softc(bus); @@ -1062,10 +1063,11 @@ mv_pcib_route_interrupt(device_t bus, de (pci_get_slot(dev) << OFW_PCI_PHYS_HI_DEVICESHIFT) | (pci_get_function(dev) << OFW_PCI_PHYS_HI_FUNCTIONSHIFT); - if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, ®, - sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr), - &iparent)) - return (ofw_bus_map_intr(dev, iparent, mintr)); + icells = ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, + ®, sizeof(reg), &pintr, sizeof(pintr), mintr, sizeof(mintr), + &iparent); + if (icells > 0) + return (ofw_bus_map_intr(dev, iparent, icells, mintr)); /* Maybe it's a real interrupt, not an intpin */ if (pin > 4) Modified: head/sys/dev/fdt/fdt_common.c ============================================================================== --- head/sys/dev/fdt/fdt_common.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/dev/fdt/fdt_common.c Sat Feb 1 17:17:35 2014 (r261351) @@ -501,11 +501,9 @@ fdt_intr_to_rl(device_t dev, phandle_t n icells = 1; } for (i = 0, k = 0; i < nintr; i += icells, k++) { - intr[i] = ofw_bus_map_intr(dev, iparent, intr[i]); + intr[i] = ofw_bus_map_intr(dev, iparent, icells, intr); resource_list_add(rl, SYS_RES_IRQ, k, intr[i], intr[i], 1); - if (icells > 1) - ofw_bus_config_intr(dev, intr[i], intr[i+1]); } free(intr, M_OFWPROP); } Modified: head/sys/dev/ofw/ofw_bus.h ============================================================================== --- head/sys/dev/ofw/ofw_bus.h Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/dev/ofw/ofw_bus.h Sat Feb 1 17:17:35 2014 (r261351) @@ -71,15 +71,9 @@ ofw_bus_get_type(device_t dev) } static __inline int -ofw_bus_map_intr(device_t dev, phandle_t iparent, int irq) +ofw_bus_map_intr(device_t dev, phandle_t iparent, int icells, pcell_t *intr) { - return (OFW_BUS_MAP_INTR(dev, dev, iparent, irq)); -} - -static __inline int -ofw_bus_config_intr(device_t dev, int irq, int sense) -{ - return (OFW_BUS_CONFIG_INTR(dev, dev, irq, sense)); + return (OFW_BUS_MAP_INTR(dev, dev, iparent, icells, intr)); } #endif /* !_DEV_OFW_OFW_BUS_H_ */ Modified: head/sys/dev/ofw/ofw_bus_if.m ============================================================================== --- head/sys/dev/ofw/ofw_bus_if.m Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/dev/ofw/ofw_bus_if.m Sat Feb 1 17:17:35 2014 (r261351) @@ -57,7 +57,6 @@ CODE { static ofw_bus_get_node_t ofw_bus_default_get_node; static ofw_bus_get_type_t ofw_bus_default_get_type; static ofw_bus_map_intr_t ofw_bus_default_map_intr; - static ofw_bus_config_intr_t ofw_bus_default_config_intr; static const struct ofw_bus_devinfo * ofw_bus_default_get_devinfo(device_t bus, device_t dev) @@ -103,27 +102,15 @@ CODE { int ofw_bus_default_map_intr(device_t bus, device_t dev, phandle_t iparent, - int irq) + int icells, pcell_t *interrupt) { /* Propagate up the bus hierarchy until someone handles it. */ if (device_get_parent(bus) != NULL) return OFW_BUS_MAP_INTR(device_get_parent(bus), dev, - iparent, irq); + iparent, icells, interrupt); /* If that fails, then assume a one-domain system */ - return (irq); - } - - int - ofw_bus_default_config_intr(device_t bus, device_t dev, int irq, - int sense) - { - /* Propagate up the bus hierarchy until someone handles it. */ - if (device_get_parent(bus) != NULL) - return OFW_BUS_CONFIG_INTR(device_get_parent(bus), dev, - irq, sense); - - return (ENXIO); + return (interrupt[0]); } }; @@ -172,20 +159,14 @@ METHOD const char * get_type { } DEFAULT ofw_bus_default_get_type; # Map an (interrupt parent, IRQ) pair to a unique system-wide interrupt number. +# If the interrupt encoding includes a sense field, the interrupt sense will +# also be configured. METHOD int map_intr { device_t bus; device_t dev; phandle_t iparent; - int irq; + int icells; + pcell_t *interrupt; } DEFAULT ofw_bus_default_map_intr; -# Configure an interrupt using the device-tree encoded sense key (the second -# value in the interrupts property if interrupt-cells is 2). IRQ should be -# encoded as from ofw_bus_map_intr(). -METHOD int config_intr { - device_t bus; - device_t dev; - int irq; - int sense; -} DEFAULT ofw_bus_default_config_intr; Modified: head/sys/dev/ofw/ofw_nexus.c ============================================================================== --- head/sys/dev/ofw/ofw_nexus.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/dev/ofw/ofw_nexus.c Sat Feb 1 17:17:35 2014 (r261351) @@ -467,11 +467,10 @@ nexus_setup_dinfo(device_t dev, phandle_ OF_searchencprop(OF_xref_phandle(iparent), "#interrupt-cells", &icells, sizeof(icells)); for (i = 0; i < nintr; i+= icells) { - intr[i] = ofw_bus_map_intr(dev, iparent, intr[i]); + intr[i] = ofw_bus_map_intr(dev, iparent, icells, + &intr[i]); resource_list_add(&ndi->ndi_rl, SYS_RES_IRQ, i, intr[i], intr[i], 1); - if (icells > 1) - ofw_bus_config_intr(dev, intr[i], intr[i+1]); } free(intr, M_OFWPROP); } Modified: head/sys/powerpc/ofw/ofw_pci.c ============================================================================== --- head/sys/powerpc/ofw/ofw_pci.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/powerpc/ofw/ofw_pci.c Sat Feb 1 17:17:35 2014 (r261351) @@ -273,9 +273,7 @@ ofw_pci_route_interrupt(device_t bus, de &sc->sc_pci_iinfo, ®, sizeof(reg), &pintr, sizeof(pintr), mintr, sizeof(mintr), &iparent); if (intrcells) { - pintr = ofw_bus_map_intr(dev, iparent, mintr[0]); - if (intrcells == 2) - ofw_bus_config_intr(dev, pintr, mintr[1]); + pintr = ofw_bus_map_intr(dev, iparent, intrcells, mintr); return (pintr); } Modified: head/sys/powerpc/ofw/ofw_pcib_pci.c ============================================================================== --- head/sys/powerpc/ofw/ofw_pcib_pci.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/powerpc/ofw/ofw_pcib_pci.c Sat Feb 1 17:17:35 2014 (r261351) @@ -158,10 +158,8 @@ ofw_pcib_pci_route_interrupt(device_t br * it again on higher levels - that causes problems * in some cases, and never seems to be required. */ - mintr[0] = ofw_bus_map_intr(dev, iparent, mintr[0]); - if (intrcells == 2) - ofw_bus_config_intr(dev, mintr[0], mintr[1]); - + mintr[0] = ofw_bus_map_intr(dev, iparent, intrcells, + mintr); return (mintr[0]); } } else if (intpin >= 1 && intpin <= 4) { Modified: head/sys/powerpc/ofw/ofw_pcibus.c ============================================================================== --- head/sys/powerpc/ofw/ofw_pcibus.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/powerpc/ofw/ofw_pcibus.c Sat Feb 1 17:17:35 2014 (r261351) @@ -216,13 +216,9 @@ ofw_pcibus_enum_devtree(device_t dev, u_ "#interrupt-cells", &icells, sizeof(icells)); intr[0] = ofw_bus_map_intr(dev, iparent, - intr[0]); + icells, intr); } - if (iparent != 0 && icells > 1) - ofw_bus_config_intr(dev, intr[0], - intr[1]); - resource_list_add(&dinfo->opd_dinfo.resources, SYS_RES_IRQ, 0, intr[0], intr[0], 1); } @@ -309,18 +305,18 @@ ofw_pcibus_child_pnpinfo_str_method(devi static int ofw_pcibus_assign_interrupt(device_t dev, device_t child) { - ofw_pci_intr_t intr; + ofw_pci_intr_t intr[2]; phandle_t node, iparent; - int isz; + int isz, icells; node = ofw_bus_get_node(child); if (node == -1) { /* Non-firmware enumerated child, use standard routing */ - intr = pci_get_intpin(child); + intr[0] = pci_get_intpin(child); return (PCIB_ROUTE_INTERRUPT(device_get_parent(dev), child, - intr)); + intr[0])); } /* @@ -331,24 +327,28 @@ ofw_pcibus_assign_interrupt(device_t dev iparent = -1; if (OF_getprop(node, "interrupt-parent", &iparent, sizeof(iparent)) < 0) iparent = -1; + icells = 1; + if (iparent != -1) + OF_getprop(OF_xref_phandle(iparent), "#interrupt-cells", + &icells, sizeof(icells)); /* * Any AAPL,interrupts property gets priority and is * fully specified (i.e. does not need routing) */ - isz = OF_getprop(node, "AAPL,interrupts", &intr, sizeof(intr)); - if (isz == sizeof(intr)) - return ((iparent == -1) ? intr : ofw_bus_map_intr(dev, iparent, - intr)); + isz = OF_getprop(node, "AAPL,interrupts", intr, sizeof(intr)); + if (isz == sizeof(intr[0])*icells) + return ((iparent == -1) ? intr[0] : ofw_bus_map_intr(dev, + iparent, icells, intr)); - isz = OF_getprop(node, "interrupts", &intr, sizeof(intr)); - if (isz == sizeof(intr)) { + isz = OF_getprop(node, "interrupts", intr, sizeof(intr)); + if (isz == sizeof(intr[0])*icells) { if (iparent != -1) - intr = ofw_bus_map_intr(dev, iparent, intr); + intr[0] = ofw_bus_map_intr(dev, iparent, icells, intr); } else { /* No property: our best guess is the intpin. */ - intr = pci_get_intpin(child); + intr[0] = pci_get_intpin(child); } /* @@ -361,7 +361,7 @@ ofw_pcibus_assign_interrupt(device_t dev * will always use the route_interrupt method, and treat exceptions * on the level they become apparent. */ - return (PCIB_ROUTE_INTERRUPT(device_get_parent(dev), child, intr)); + return (PCIB_ROUTE_INTERRUPT(device_get_parent(dev), child, intr[0])); } static const struct ofw_bus_devinfo * Modified: head/sys/powerpc/powerpc/nexus.c ============================================================================== --- head/sys/powerpc/powerpc/nexus.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/powerpc/powerpc/nexus.c Sat Feb 1 17:17:35 2014 (r261351) @@ -75,7 +75,6 @@ static bus_bind_intr_t nexus_bind_intr; #endif static bus_config_intr_t nexus_config_intr; static ofw_bus_map_intr_t nexus_ofw_map_intr; -static ofw_bus_config_intr_t nexus_ofw_config_intr; static device_method_t nexus_methods[] = { /* Bus interface */ @@ -90,7 +89,6 @@ static device_method_t nexus_methods[] = /* ofw_bus interface */ DEVMETHOD(ofw_bus_map_intr, nexus_ofw_map_intr), - DEVMETHOD(ofw_bus_config_intr, nexus_ofw_config_intr), DEVMETHOD_END }; @@ -157,19 +155,16 @@ nexus_config_intr(device_t dev, int irq, } static int -nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int irq) +nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, + pcell_t *irq) { - return (MAP_IRQ(iparent, irq)); + u_int intr = MAP_IRQ(iparent, irq[0]); + if (icells > 1) + powerpc_fw_config_intr(irq[0], irq[1]); + return (intr); } static int -nexus_ofw_config_intr(device_t dev, device_t child, int irq, int sense) -{ - - return (powerpc_fw_config_intr(irq, sense)); -} - -static int nexus_activate_resource(device_t bus __unused, device_t child __unused, int type, int rid __unused, struct resource *r) { Modified: head/sys/powerpc/pseries/vdevice.c ============================================================================== --- head/sys/powerpc/pseries/vdevice.c Sat Feb 1 12:33:58 2014 (r261350) +++ head/sys/powerpc/pseries/vdevice.c Sat Feb 1 17:17:35 2014 (r261351) @@ -157,7 +157,7 @@ vdevice_attach(device_t dev) u_int irq = intr[i]; if (iparent != -1) irq = ofw_bus_map_intr(dev, iparent, - intr[i]); + icells, &intr[i]); resource_list_add(&dinfo->mdi_resources, SYS_RES_IRQ, i, irq, irq, i); From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 17:41:56 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5CD89E11; Sat, 1 Feb 2014 17:41:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3C6461FEE; Sat, 1 Feb 2014 17:41:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11HfuHK085327; Sat, 1 Feb 2014 17:41:56 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11HftLN085317; Sat, 1 Feb 2014 17:41:55 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201402011741.s11HftLN085317@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 1 Feb 2014 17:41:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261352 - in head/sys: conf dev/fdt mips/beri X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 17:41:56 -0000 Author: nwhitehorn Date: Sat Feb 1 17:41:54 2014 New Revision: 261352 URL: http://svnweb.freebsd.org/changeset/base/261352 Log: Provide a simpler and more standards-compliant simplebus implementation to get the Routerboard 800 up and running with the vendor device tree. This does not implement some BERI-specific features (which hopefully won't be necessary soon), so move the old code to mips/beri, with a higher attach priority when built, until MIPS interrupt domain support is rearranged. Added: head/sys/mips/beri/beri_simplebus.c - copied, changed from r261350, head/sys/dev/fdt/simplebus.c head/sys/mips/beri/fdt_ic_if.m - copied unchanged from r261350, head/sys/dev/fdt/fdt_ic_if.m Deleted: head/sys/dev/fdt/fdt_ic_if.m Modified: head/sys/conf/files head/sys/dev/fdt/simplebus.c head/sys/mips/beri/files.beri Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sat Feb 1 17:17:35 2014 (r261351) +++ head/sys/conf/files Sat Feb 1 17:41:54 2014 (r261352) @@ -1367,7 +1367,6 @@ dev/fb/fbd.c optional fbd | vt dev/fb/fb_if.m standard dev/fb/splash.c optional sc splash dev/fdt/fdt_common.c optional fdt -dev/fdt/fdt_ic_if.m optional fdt dev/fdt/fdt_slicer.c optional fdt cfi | fdt nand dev/fdt/fdt_static_dtb.S optional fdt fdt_dtb_static \ dependency "$S/boot/fdt/dts/${FDT_DTS_FILE}" Modified: head/sys/dev/fdt/simplebus.c ============================================================================== --- head/sys/dev/fdt/simplebus.c Sat Feb 1 17:17:35 2014 (r261351) +++ head/sys/dev/fdt/simplebus.c Sat Feb 1 17:41:54 2014 (r261352) @@ -1,10 +1,7 @@ /*- - * Copyright (c) 2009-2010 The FreeBSD Foundation + * Copyright (c) 2013 Nathan Whitehorn * All rights reserved. * - * This software was developed by Semihalf under sponsorship from - * the FreeBSD Foundation. - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -17,7 +14,7 @@ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) @@ -29,95 +26,85 @@ #include __FBSDID("$FreeBSD$"); - -#include "opt_platform.h" #include #include -#include -#include #include #include +#include +#include #include -#include +#include #include #include -#include -#include "fdt_common.h" -#include "fdt_ic_if.h" -#include "ofw_bus_if.h" - -#ifdef DEBUG -#define debugf(fmt, args...) do { printf("%s(): ", __func__); \ - printf(fmt,##args); } while (0) -#else -#define debugf(fmt, args...) -#endif - -static MALLOC_DEFINE(M_SIMPLEBUS, "simplebus", "simplebus devices information"); +struct simplebus_range { + uint64_t bus; + uint64_t host; + uint64_t size; +}; struct simplebus_softc { - int sc_addr_cells; - int sc_size_cells; + device_t dev; + phandle_t node; + + struct simplebus_range *ranges; + int nranges; + + pcell_t acells, scells; }; struct simplebus_devinfo { - struct ofw_bus_devinfo di_ofw; - struct resource_list di_res; - - /* Interrupts sense-level info for this device */ - struct fdt_sense_level di_intr_sl[DI_MAX_INTR_NUM]; + struct ofw_bus_devinfo obdinfo; + struct resource_list rl; }; /* - * Prototypes. + * Bus interface. */ -static int simplebus_probe(device_t); -static int simplebus_attach(device_t); - -static int simplebus_print_child(device_t, device_t); -static int simplebus_setup_intr(device_t, device_t, struct resource *, int, - driver_filter_t *, driver_intr_t *, void *, void **); -static int simplebus_teardown_intr(device_t, device_t, struct resource *, - void *); - -static int simplebus_activate_resource(device_t, device_t, int, int, - struct resource *); +static int simplebus_probe(device_t dev); +static int simplebus_attach(device_t dev); static struct resource *simplebus_alloc_resource(device_t, device_t, int, int *, u_long, u_long, u_long, u_int); -static int simplebus_deactivate_resource(device_t, device_t, int, int, - struct resource *); -static int simplebus_release_resource(device_t, device_t, int, int, - struct resource *); -static device_t simplebus_get_interrupt_parent(device_t); -static struct resource_list *simplebus_get_resource_list(device_t, device_t); +static void simplebus_probe_nomatch(device_t bus, device_t child); +static int simplebus_print_child(device_t bus, device_t child); -static ofw_bus_get_devinfo_t simplebus_get_devinfo; +/* + * ofw_bus interface + */ +static const struct ofw_bus_devinfo *simplebus_get_devinfo(device_t bus, + device_t child); /* - * Bus interface definition. + * local methods */ -static device_method_t simplebus_methods[] = { + +static int simplebus_fill_ranges(phandle_t node, + struct simplebus_softc *sc); +static struct simplebus_devinfo *simplebus_setup_dinfo(device_t dev, + phandle_t node); + +/* + * Driver methods. + */ +static device_method_t simplebus_methods[] = { /* Device interface */ DEVMETHOD(device_probe, simplebus_probe), DEVMETHOD(device_attach, simplebus_attach), - DEVMETHOD(device_detach, bus_generic_detach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), /* Bus interface */ DEVMETHOD(bus_print_child, simplebus_print_child), + DEVMETHOD(bus_probe_nomatch, simplebus_probe_nomatch), + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), DEVMETHOD(bus_alloc_resource, simplebus_alloc_resource), - DEVMETHOD(bus_release_resource, simplebus_release_resource), - DEVMETHOD(bus_activate_resource, simplebus_activate_resource), - DEVMETHOD(bus_deactivate_resource, simplebus_deactivate_resource), - DEVMETHOD(bus_setup_intr, simplebus_setup_intr), - DEVMETHOD(bus_teardown_intr, simplebus_teardown_intr), - DEVMETHOD(bus_get_resource_list, simplebus_get_resource_list), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), + DEVMETHOD(bus_child_pnpinfo_str, ofw_bus_gen_child_pnpinfo_str), - /* OFW bus interface */ + /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_devinfo, simplebus_get_devinfo), DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model), @@ -125,7 +112,7 @@ static device_method_t simplebus_methods DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), - { 0, 0 } + DEVMETHOD_END }; static driver_t simplebus_driver = { @@ -133,18 +120,16 @@ static driver_t simplebus_driver = { simplebus_methods, sizeof(struct simplebus_softc) }; - -devclass_t simplebus_devclass; - +static devclass_t simplebus_devclass; DRIVER_MODULE(simplebus, nexus, simplebus_driver, simplebus_devclass, 0, 0); -DRIVER_MODULE(simplebus, simplebus, simplebus_driver, simplebus_devclass, 0, - 0); static int simplebus_probe(device_t dev) { - - if (!ofw_bus_is_compatible(dev, "simple-bus")) + + if (!ofw_bus_is_compatible(dev, "simple-bus") && + (ofw_bus_get_type(dev) == NULL || strcmp(ofw_bus_get_type(dev), + "soc") != 0)) return (ENXIO); device_set_desc(dev, "Flattened device tree simple bus"); @@ -155,102 +140,188 @@ simplebus_probe(device_t dev) static int simplebus_attach(device_t dev) { - device_t dev_child; - struct simplebus_devinfo *di; - struct simplebus_softc *sc; - phandle_t dt_node, dt_child; + struct simplebus_softc *sc; + struct simplebus_devinfo *di; + phandle_t node; + device_t cdev; + node = ofw_bus_get_node(dev); sc = device_get_softc(dev); + sc->dev = dev; + sc->node = node; + /* - * Walk simple-bus and add direct subordinates as our children. + * Some important numbers */ - dt_node = ofw_bus_get_node(dev); - for (dt_child = OF_child(dt_node); dt_child != 0; - dt_child = OF_peer(dt_child)) { - - /* Check and process 'status' property. */ - if (!(fdt_is_enabled(dt_child))) - continue; + sc->acells = 2; + OF_getencprop(node, "#address-cells", &sc->acells, sizeof(sc->acells)); + sc->scells = 1; + OF_getencprop(node, "#size-cells", &sc->scells, sizeof(sc->scells)); - if (!(fdt_pm_is_enabled(dt_child))) - continue; + if (simplebus_fill_ranges(node, sc) < 0) { + device_printf(dev, "could not get ranges\n"); + return (ENXIO); + } - di = malloc(sizeof(*di), M_SIMPLEBUS, M_WAITOK | M_ZERO); + /* + * In principle, simplebus could have an interrupt map, but ignore that + * for now + */ - if (ofw_bus_gen_setup_devinfo(&di->di_ofw, dt_child) != 0) { - free(di, M_SIMPLEBUS); - device_printf(dev, "could not set up devinfo\n"); + for (node = OF_child(node); node > 0; node = OF_peer(node)) { + if ((di = simplebus_setup_dinfo(dev, node)) == NULL) continue; - } - - resource_list_init(&di->di_res); - if (fdt_reg_to_rl(dt_child, &di->di_res)) { - device_printf(dev, - "%s: could not process 'reg' " - "property\n", di->di_ofw.obd_name); - ofw_bus_gen_destroy_devinfo(&di->di_ofw); - free(di, M_SIMPLEBUS); + cdev = device_add_child(dev, NULL, -1); + if (cdev == NULL) { + device_printf(dev, "<%s>: device_add_child failed\n", + di->obdinfo.obd_name); + resource_list_free(&di->rl); + ofw_bus_gen_destroy_devinfo(&di->obdinfo); + free(di, M_DEVBUF); continue; } + device_set_ivars(cdev, di); + } - if (fdt_intr_to_rl(dev, dt_child, &di->di_res, di->di_intr_sl)) { - device_printf(dev, "%s: could not process " - "'interrupts' property\n", di->di_ofw.obd_name); - resource_list_free(&di->di_res); - ofw_bus_gen_destroy_devinfo(&di->di_ofw); - free(di, M_SIMPLEBUS); - continue; - } + return (bus_generic_attach(dev)); +} - /* Add newbus device for this FDT node */ - dev_child = device_add_child(dev, NULL, -1); - if (dev_child == NULL) { - device_printf(dev, "could not add child: %s\n", - di->di_ofw.obd_name); - resource_list_free(&di->di_res); - ofw_bus_gen_destroy_devinfo(&di->di_ofw); - free(di, M_SIMPLEBUS); - continue; +static int +simplebus_fill_ranges(phandle_t node, struct simplebus_softc *sc) +{ + int host_address_cells; + cell_t *base_ranges; + ssize_t nbase_ranges; + int err; + int i, j, k; + + err = OF_searchencprop(OF_parent(node), "#address-cells", + &host_address_cells, sizeof(host_address_cells)); + if (err <= 0) + return (-1); + + nbase_ranges = OF_getproplen(node, "ranges"); + if (nbase_ranges < 0) + return (-1); + sc->nranges = nbase_ranges / sizeof(cell_t) / + (sc->acells + host_address_cells + sc->scells); + if (sc->nranges == 0) + return (0); + + sc->ranges = malloc(sc->nranges * sizeof(sc->ranges[0]), + M_DEVBUF, M_WAITOK); + base_ranges = malloc(nbase_ranges, M_DEVBUF, M_WAITOK); + OF_getencprop(node, "ranges", base_ranges, nbase_ranges); + + for (i = 0, j = 0; i < sc->nranges; i++) { + sc->ranges[i].bus = 0; + for (k = 0; k < sc->acells; k++) { + sc->ranges[i].bus <<= 32; + sc->ranges[i].bus |= base_ranges[j++]; + } + sc->ranges[i].host = 0; + for (k = 0; k < host_address_cells; k++) { + sc->ranges[i].host <<= 32; + sc->ranges[i].host |= base_ranges[j++]; + } + sc->ranges[i].size = 0; + for (k = 0; k < sc->scells; k++) { + sc->ranges[i].size <<= 32; + sc->ranges[i].size |= base_ranges[j++]; } -#ifdef DEBUG - device_printf(dev, "added child: %s\n\n", di->di_ofw.obd_name); -#endif - device_set_ivars(dev_child, di); } - return (bus_generic_attach(dev)); + free(base_ranges, M_DEVBUF); + return (sc->nranges); } -static int -simplebus_print_child(device_t dev, device_t child) +static struct simplebus_devinfo * +simplebus_setup_dinfo(device_t dev, phandle_t node) { - device_t ip; - struct simplebus_devinfo *di; - struct resource_list *rl; - int rv; + struct simplebus_softc *sc; + struct simplebus_devinfo *ndi; + uint32_t *reg, *intr, icells; + uint64_t phys, size; + phandle_t iparent; + int i, j, k; + int nintr; + int nreg; - di = device_get_ivars(child); - rl = &di->di_res; + sc = device_get_softc(dev); - rv = 0; - rv += bus_print_child_header(dev, child); - rv += resource_list_print_type(rl, "mem", SYS_RES_MEMORY, "%#lx"); - rv += resource_list_print_type(rl, "irq", SYS_RES_IRQ, "%ld"); - if ((ip = simplebus_get_interrupt_parent(child)) != NULL) - rv += printf(" (%s)", device_get_nameunit(ip)); - rv += bus_print_child_footer(dev, child); + ndi = malloc(sizeof(*ndi), M_DEVBUF, M_WAITOK | M_ZERO); + if (ofw_bus_gen_setup_devinfo(&ndi->obdinfo, node) != 0) { + free(ndi, M_DEVBUF); + return (NULL); + } - return (rv); + resource_list_init(&ndi->rl); + nreg = OF_getencprop_alloc(node, "reg", sizeof(*reg), (void **)®); + if (nreg == -1) + nreg = 0; + if (nreg % (sc->acells + sc->scells) != 0) { + if (bootverbose) + device_printf(dev, "Malformed reg property on <%s>\n", + ndi->obdinfo.obd_name); + nreg = 0; + } + + for (i = 0, k = 0; i < nreg; i += sc->acells + sc->scells, k++) { + phys = size = 0; + for (j = 0; j < sc->acells; j++) { + phys <<= 32; + phys |= reg[i + j]; + } + for (j = 0; j < sc->scells; j++) { + size <<= 32; + size |= reg[i + sc->acells + j]; + } + + resource_list_add(&ndi->rl, SYS_RES_MEMORY, k, + phys, phys + size - 1, size); + } + free(reg, M_OFWPROP); + + nintr = OF_getencprop_alloc(node, "interrupts", sizeof(*intr), + (void **)&intr); + if (nintr > 0) { + iparent = 0; + OF_searchencprop(node, "interrupt-parent", &iparent, + sizeof(iparent)); + OF_searchencprop(OF_xref_phandle(iparent), "#interrupt-cells", + &icells, sizeof(icells)); + for (i = 0, k = 0; i < nintr; i += icells, k++) { + intr[i] = ofw_bus_map_intr(dev, iparent, icells, + &intr[i]); + resource_list_add(&ndi->rl, SYS_RES_IRQ, k, intr[i], + intr[i], 1); + } + free(intr, M_OFWPROP); + } + + return (ndi); +} + +static const struct ofw_bus_devinfo * +simplebus_get_devinfo(device_t bus __unused, device_t child) +{ + struct simplebus_devinfo *ndi; + + ndi = device_get_ivars(child); + return (&ndi->obdinfo); } static struct resource * simplebus_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { - device_t ic; + struct simplebus_softc *sc; struct simplebus_devinfo *di; struct resource_list_entry *rle; + int j; + + sc = device_get_softc(bus); /* * Request for the default allocation with a given rid: use resource @@ -263,7 +334,7 @@ simplebus_alloc_resource(device_t bus, d if (type == SYS_RES_IOPORT) type = SYS_RES_MEMORY; - rle = resource_list_find(&di->di_res, type, *rid); + rle = resource_list_find(&di->rl, type, *rid); if (rle == NULL) { if (bootverbose) device_printf(bus, "no default resources for " @@ -273,153 +344,69 @@ simplebus_alloc_resource(device_t bus, d start = rle->start; end = rle->end; count = rle->count; - } + } - if (type == SYS_RES_IRQ && - (ic = simplebus_get_interrupt_parent(child)) != NULL) - return(FDT_IC_ALLOC_INTR(ic, child, rid, start, flags)); + if (type == SYS_RES_MEMORY) { + /* Remap through ranges property */ + for (j = 0; j < sc->nranges; j++) { + if (start >= sc->ranges[j].bus && end < + sc->ranges[j].bus + sc->ranges[j].size) { + start -= sc->ranges[j].bus; + start += sc->ranges[j].host; + end -= sc->ranges[j].bus; + end += sc->ranges[j].host; + break; + } + } + if (j == sc->nranges && sc->nranges != 0) { + if (bootverbose) + device_printf(bus, "Could not map resource " + "%#lx-%#lx\n", start, end); + + return (NULL); + } + } return (bus_generic_alloc_resource(bus, child, type, rid, start, end, count, flags)); } static int -simplebus_activate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) -{ - device_t ic; - - if (type == SYS_RES_IRQ && - (ic = simplebus_get_interrupt_parent(child)) != NULL) - return (FDT_IC_ACTIVATE_INTR(ic, r)); - - return (bus_generic_activate_resource(dev, child, type, rid, r)); -} - -static int -simplebus_deactivate_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) -{ - device_t ic; - - if (type == SYS_RES_IRQ && - (ic = simplebus_get_interrupt_parent(child)) != NULL) - return (FDT_IC_DEACTIVATE_INTR(ic, r)); - - return (bus_generic_deactivate_resource(dev, child, type, rid, r)); -} - -static int -simplebus_release_resource(device_t dev, device_t child, int type, int rid, - struct resource *r) -{ - device_t ic; - - if (type == SYS_RES_IRQ && - (ic = simplebus_get_interrupt_parent(child)) != NULL) - return (FDT_IC_RELEASE_INTR(ic, r)); - - return (bus_generic_release_resource(dev, child, type, rid, r)); -} - -static struct resource_list * -simplebus_get_resource_list(device_t bus, device_t child) -{ - struct simplebus_devinfo *di; - - di = device_get_ivars(child); - return (&di->di_res); -} - -static device_t -simplebus_get_interrupt_parent(device_t dev) +simplebus_print_res(struct simplebus_devinfo *di) { - struct simplebus_devinfo *di; - struct fdt_ic *ic; - device_t ip; - phandle_t ph, iph; - - ip = NULL; - - di = device_get_ivars(dev); - if (di == NULL) - return (NULL); + int rv; - if (OF_getencprop(di->di_ofw.obd_node, "interrupt-parent", &iph, - sizeof(iph)) > 0) { - ph = OF_xref_phandle(iph); - SLIST_FOREACH(ic, &fdt_ic_list_head, fdt_ics) { - if (ic->iph == ph) { - ip = ic->dev; - break; - } - } - } - return (ip); + rv = 0; + rv += resource_list_print_type(&di->rl, "mem", SYS_RES_MEMORY, "%#lx"); + rv += resource_list_print_type(&di->rl, "irq", SYS_RES_IRQ, "%ld"); + return (rv); } -static int -simplebus_setup_intr(device_t bus, device_t child, struct resource *res, - int flags, driver_filter_t *filter, driver_intr_t *ihand, void *arg, - void **cookiep) +static void +simplebus_probe_nomatch(device_t bus, device_t child) { - struct simplebus_devinfo *di; - device_t ic; - enum intr_trigger trig; - enum intr_polarity pol; - int error, irq, rid; + const char *name, *type; - di = device_get_ivars(child); - if (di == NULL) - return (ENXIO); - - if (res == NULL) - return (EINVAL); + if (!bootverbose) + return; - rid = rman_get_rid(res); - if (rid >= DI_MAX_INTR_NUM) - return (ENOENT); - - ic = simplebus_get_interrupt_parent(child); - - trig = di->di_intr_sl[rid].trig; - pol = di->di_intr_sl[rid].pol; - if (trig != INTR_TRIGGER_CONFORM || pol != INTR_POLARITY_CONFORM) { - irq = rman_get_start(res); - if (ic != NULL) - error = FDT_IC_CONFIG_INTR(ic, irq, trig, pol); - else - error = bus_generic_config_intr(bus, irq, trig, pol); - if (error) - return (error); - } + name = ofw_bus_get_name(child); + type = ofw_bus_get_type(child); - if (ic != NULL) - error = FDT_IC_SETUP_INTR(ic, child, res, flags, filter, - ihand, arg, cookiep); - else - error = bus_generic_setup_intr(bus, child, res, flags, filter, - ihand, arg, cookiep); - return (error); + device_printf(bus, "<%s>", name != NULL ? name : "unknown"); + simplebus_print_res(device_get_ivars(child)); + printf(" type %s (no driver attached)\n", + type != NULL ? type : "unknown"); } static int -simplebus_teardown_intr(device_t bus, device_t child, struct resource *res, - void *cookie) +simplebus_print_child(device_t bus, device_t child) { - device_t ic; - - if ((ic = simplebus_get_interrupt_parent(child)) != NULL) - return (FDT_IC_TEARDOWN_INTR(ic, child, res, cookie)); + int rv; - return (bus_generic_teardown_intr(bus, child, res, cookie)); + rv = bus_print_child_header(bus, child); + rv += simplebus_print_res(device_get_ivars(child)); + rv += bus_print_child_footer(bus, child); + return (rv); } -static const struct ofw_bus_devinfo * -simplebus_get_devinfo(device_t bus, device_t child) -{ - struct simplebus_devinfo *di; - - di = device_get_ivars(child); - return (&di->di_ofw); -} Copied and modified: head/sys/mips/beri/beri_simplebus.c (from r261350, head/sys/dev/fdt/simplebus.c) ============================================================================== --- head/sys/dev/fdt/simplebus.c Sat Feb 1 12:33:58 2014 (r261350, copy source) +++ head/sys/mips/beri/beri_simplebus.c Sat Feb 1 17:41:54 2014 (r261352) @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include "fdt_common.h" +#include #include "fdt_ic_if.h" #include "ofw_bus_if.h" @@ -149,7 +149,7 @@ simplebus_probe(device_t dev) device_set_desc(dev, "Flattened device tree simple bus"); - return (BUS_PROBE_GENERIC); + return (BUS_PROBE_SPECIFIC); } static int Copied: head/sys/mips/beri/fdt_ic_if.m (from r261350, head/sys/dev/fdt/fdt_ic_if.m) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/beri/fdt_ic_if.m Sat Feb 1 17:41:54 2014 (r261352, copy of r261350, head/sys/dev/fdt/fdt_ic_if.m) @@ -0,0 +1,266 @@ +#- +# Copyright (c) 2013 SRI International +# Copyright (c) 1998-2004 Doug Rabson +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +#include +#include +#include + +/** + * @defgroup FST_IC fdt_ic - KObj methods for interrupt controllers + * @brief A set of methods required device drivers that are interrupt + * controllers. Derived from sys/kern/bus_if.m. + * @{ + */ +INTERFACE fdt_ic; + +/** + * @brief Allocate an interrupt resource + * + * This method is called by child devices of an interrupt controller to + * allocate an interrup. The meaning of the resource-ID field varies + * from bus to bus and is opaque to the interrupt controller. If a + * resource was allocated and the caller did not use the RF_ACTIVE + * to specify that it should be activated immediately, the caller is + * responsible for calling FDT_IC_ACTIVATE_INTR() when it actually uses + * the interupt. + * + * @param _dev the interrupt-parent device of @p _child + * @param _child the device which is requesting an allocation + * @param _rid a pointer to the resource identifier + * @param _irq interrupt source to allocate + * @param _flags any extra flags to control the resource + * allocation - see @c RF_XXX flags in + * for details + * + * @returns the interrupt which was allocated or @c NULL if no + * resource could be allocated + */ +METHOD struct resource * alloc_intr { + device_t _dev; + device_t _child; + int *_rid; + u_long _irq; + u_int _flags; +}; + +/** + * @brief Activate an interrupt + * + * Activate an interrupt previously allocated with FDT_IC_ALLOC_INTR(). + * + * @param _dev the parent device of @p _child + * @param _r interrupt to activate + */ +METHOD int activate_intr { + device_t _dev; + struct resource *_r; +}; + +/** + * @brief Deactivate an interrupt + * + * Deactivate a resource previously allocated with FDT_IC_ALLOC_INTR(). + * + * @param _dev the parent device of @p _child + * @param _r the interrupt to deactivate + */ +METHOD int deactivate_intr { + device_t _dev; + struct resource *_r; +}; + +/** + * @brief Release an interrupt + * + * Free an interupt allocated by the FDT_IC_ALLOC_INTR. + * + * @param _dev the parent device of @p _child + * @param _r the resource to release + */ +METHOD int release_intr { + device_t _dev; + struct resource *_res; +}; + +/** + * @brief Install an interrupt handler + * + * This method is used to associate an interrupt handler function with + * an irq resource. When the interrupt triggers, the function @p _intr + * will be called with the value of @p _arg as its single + * argument. The value returned in @p *_cookiep is used to cancel the + * interrupt handler - the caller should save this value to use in a + * future call to FDT_IC_TEARDOWN_INTR(). + * + * @param _dev the interrupt-parent device of @p _child + * @param _child the device which allocated the resource + * @param _irq the resource representing the interrupt + * @param _flags a set of bits from enum intr_type specifying + * the class of interrupt + * @param _intr the function to call when the interrupt + * triggers + * @param _arg a value to use as the single argument in calls + * to @p _intr + * @param _cookiep a pointer to a location to recieve a cookie + * value that may be used to remove the interrupt + * handler + */ +METHOD int setup_intr { + device_t _dev; + device_t _child; + struct resource *_irq; + int _flags; + driver_filter_t *_filter; + driver_intr_t *_intr; + void *_arg; + void **_cookiep; +}; + +/** + * @brief Uninstall an interrupt handler + * + * This method is used to disassociate an interrupt handler function + * with an irq resource. The value of @p _cookie must be the value + * returned from a previous call to FDT_IC_SETUP_INTR(). + * + * @param _dev the interrupt-parent device of @p _child + * @param _child the device which allocated the resource + * @param _irq the resource representing the interrupt + * @param _cookie the cookie value returned when the interrupt + * was originally registered + */ +METHOD int teardown_intr { + device_t _dev; + device_t _child; + struct resource *_irq; + void *_cookie; +}; + +/** + * @brief Allow drivers to request that an interrupt be bound to a specific + * CPU. + * + * @param _dev the interrupt-parent device of @p _child + * @param _child the device which allocated the resource + * @param _irq the resource representing the interrupt + * @param _cpu the CPU to bind the interrupt to + */ +METHOD int bind_intr { + device_t _dev; + device_t _child; + struct resource *_irq; + int _cpu; +}; + +/** + * @brief Allow drivers to specify the trigger mode and polarity + * of the specified interrupt. + * + * @param _dev the interrupt-parent device + * @param _irq the interrupt number to modify + * @param _trig the trigger mode required + * @param _pol the interrupt polarity required + */ +METHOD int config_intr { + device_t _dev; + int _irq; + enum intr_trigger _trig; + enum intr_polarity _pol; +}; + +/** + * @brief Allow drivers to associate a description with an active + * interrupt handler. + * + * @param _dev the interrupt-parent device of @p _child + * @param _child the device which allocated the resource + * @param _irq the resource representing the interrupt + * @param _cookie the cookie value returned when the interrupt + * was originally registered + * @param _descr the description to associate with the interrupt + */ +METHOD int describe_intr { + device_t _dev; + device_t _child; + struct resource *_irq; + void *_cookie; + const char *_descr; +}; + +/** + * @brief Notify an ic that specified child's IRQ should be remapped. + * + * @param _dev the interrupt-parent device + * @param _child the child device + * @param _irq the irq number + */ +METHOD int remap_intr { + device_t _dev; + device_t _child; + u_int _irq; +}; + +/** + * @brief Enable an IPI source. + * + * @param _dev the interrupt controller + * @param _tid the thread ID (relative to the interrupt controller) + * to enable IPIs for + * @param _ipi_irq hardware IRQ to send IPIs to + */ +METHOD void setup_ipi { + device_t _dev; + u_int _tid; + u_int _irq; +}; + +/** + * @brief Send an IPI to the specified thread. + * + * @param _dev the interrupt controller + * @param _tid the thread ID (relative to the interrupt controller) + * to send IPIs to + */ +METHOD void send_ipi { + device_t _dev; + u_int _tid; +}; + +/** + * @brief Clear the IPI on the specfied thread. Only call with the + * local hardware thread or interrupts may be lost! + * + * @param _dev the interrupt controller + * @param _tid the thread ID (relative to the interrupt controller) + * to clear the IPI on + */ +METHOD void clear_ipi { + device_t _dev; + u_int _tid; +}; Modified: head/sys/mips/beri/files.beri ============================================================================== --- head/sys/mips/beri/files.beri Sat Feb 1 17:17:35 2014 (r261351) +++ head/sys/mips/beri/files.beri Sat Feb 1 17:41:54 2014 (r261352) @@ -18,5 +18,7 @@ dev/terasic/mtl/terasic_mtl_syscons.c op dev/terasic/mtl/terasic_mtl_text.c optional terasic_mtl mips/beri/beri_machdep.c standard mips/beri/beri_pic.c optional fdt +mips/beri/beri_simplebus.c optional fdt +mips/beri/fdt_ic_if.m optional fdt mips/mips/intr_machdep.c standard mips/mips/tick.c standard From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 17:53:36 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 801211A2; Sat, 1 Feb 2014 17:53:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6CF1410CE; Sat, 1 Feb 2014 17:53:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11HrapM090550; Sat, 1 Feb 2014 17:53:36 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11HraPB090548; Sat, 1 Feb 2014 17:53:36 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201402011753.s11HraPB090548@svn.freebsd.org> From: Warner Losh Date: Sat, 1 Feb 2014 17:53:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261353 - head/sys/arm/at91 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 17:53:36 -0000 Author: imp Date: Sat Feb 1 17:53:35 2014 New Revision: 261353 URL: http://svnweb.freebsd.org/changeset/base/261353 Log: Fix AT91SAM9260 to work with PA rather than VA device addresses. Modified: head/sys/arm/at91/at91sam9260reg.h Modified: head/sys/arm/at91/at91sam9260reg.h ============================================================================== --- head/sys/arm/at91/at91sam9260reg.h Sat Feb 1 17:41:54 2014 (r261352) +++ head/sys/arm/at91/at91sam9260reg.h Sat Feb 1 17:53:35 2014 (r261353) @@ -251,12 +251,12 @@ * other * soc's so phyical and vm address * mapping are unique. XXX */ -#define AT91SAM9260_OHCI_BASE 0xdfc00000 -#define AT91SAM9260_OHCI_PA_BASE 0x00500000 +#define AT91SAM9260_OHCI_VA_BASE 0xdfc00000 +#define AT91SAM9260_OHCI_BASE 0x00500000 #define AT91SAM9260_OHCI_SIZE 0x00100000 -#define AT91SAM9260_NAND_BASE 0xe0000000 -#define AT91SAM9260_NAND_PA_BASE 0x40000000 +#define AT91SAM9260_NAND_VA_BASE 0xe0000000 +#define AT91SAM9260_NAND_BASE 0x40000000 #define AT91SAM9260_NAND_SIZE 0x10000000 From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 18:13:18 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CD0384C0; Sat, 1 Feb 2014 18:13:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B9701120F; Sat, 1 Feb 2014 18:13:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11IDIsh000628; Sat, 1 Feb 2014 18:13:18 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11IDIl7000627; Sat, 1 Feb 2014 18:13:18 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201402011813.s11IDIl7000627@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 1 Feb 2014 18:13:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261354 - head/lib/libthr/thread X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 18:13:18 -0000 Author: kib Date: Sat Feb 1 18:13:18 2014 New Revision: 261354 URL: http://svnweb.freebsd.org/changeset/base/261354 Log: In _pthread_kill(), if passed pthread is current thread, do not send the signal second time, by adding the missed else before if statement. While there, postpone initializing local curthread variable until passed signal number is checked for validity. Submitted by: John Wolfe PR: threads/186309 MFC after: 1 week Modified: head/lib/libthr/thread/thr_kill.c Modified: head/lib/libthr/thread/thr_kill.c ============================================================================== --- head/lib/libthr/thread/thr_kill.c Sat Feb 1 17:53:35 2014 (r261353) +++ head/lib/libthr/thread/thr_kill.c Sat Feb 1 18:13:18 2014 (r261354) @@ -42,24 +42,27 @@ __weak_reference(_pthread_kill, pthread_ int _pthread_kill(pthread_t pthread, int sig) { - struct pthread *curthread = _get_curthread(); + struct pthread *curthread; int ret; /* Check for invalid signal numbers: */ if (sig < 0 || sig > _SIG_MAXSIG) /* Invalid signal: */ - ret = EINVAL; + return (EINVAL); + + curthread = _get_curthread(); + /* * Ensure the thread is in the list of active threads, and the * signal is valid (signal 0 specifies error checking only) and * not being ignored: */ - else if (curthread == pthread) { + if (curthread == pthread) { if (sig > 0) _thr_send_sig(pthread, sig); ret = 0; - } if ((ret = _thr_find_thread(curthread, pthread, /*include dead*/0)) - == 0) { + } else if ((ret = _thr_find_thread(curthread, pthread, + /*include dead*/0)) == 0) { if (sig > 0) _thr_send_sig(pthread, sig); THR_THREAD_UNLOCK(curthread, pthread); From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 19:25:15 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9F5AAACB; Sat, 1 Feb 2014 19:25:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8B8F61749; Sat, 1 Feb 2014 19:25:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11JPFBZ029419; Sat, 1 Feb 2014 19:25:15 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11JPFNr029418; Sat, 1 Feb 2014 19:25:15 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201402011925.s11JPFNr029418@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 1 Feb 2014 19:25:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261355 - head/sys/powerpc/powerpc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 19:25:15 -0000 Author: nwhitehorn Date: Sat Feb 1 19:25:15 2014 New Revision: 261355 URL: http://svnweb.freebsd.org/changeset/base/261355 Log: Fix typo. Modified: head/sys/powerpc/powerpc/nexus.c Modified: head/sys/powerpc/powerpc/nexus.c ============================================================================== --- head/sys/powerpc/powerpc/nexus.c Sat Feb 1 18:13:18 2014 (r261354) +++ head/sys/powerpc/powerpc/nexus.c Sat Feb 1 19:25:15 2014 (r261355) @@ -160,7 +160,7 @@ nexus_ofw_map_intr(device_t dev, device_ { u_int intr = MAP_IRQ(iparent, irq[0]); if (icells > 1) - powerpc_fw_config_intr(irq[0], irq[1]); + powerpc_fw_config_intr(intr, irq[1]); return (intr); } From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 20:06:53 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7943128A; Sat, 1 Feb 2014 20:06:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 646ED19D8; Sat, 1 Feb 2014 20:06:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11K6rbR044894; Sat, 1 Feb 2014 20:06:53 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11K6rLv044893; Sat, 1 Feb 2014 20:06:53 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201402012006.s11K6rLv044893@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 1 Feb 2014 20:06:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261356 - head/sys/powerpc/booke X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 20:06:53 -0000 Author: nwhitehorn Date: Sat Feb 1 20:06:52 2014 New Revision: 261356 URL: http://svnweb.freebsd.org/changeset/base/261356 Log: Avoid spurious compiler warning about an uninitialized variable. Modified: head/sys/powerpc/booke/pmap.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Sat Feb 1 19:25:15 2014 (r261355) +++ head/sys/powerpc/booke/pmap.c Sat Feb 1 20:06:52 2014 (r261356) @@ -2051,7 +2051,7 @@ mmu_booke_sync_icache(mmu_t mmu, pmap_t pmap_t pmap; vm_page_t m; vm_offset_t addr; - vm_paddr_t pa; + vm_paddr_t pa = 0; int active, valid; va = trunc_page(va); From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 20:46:36 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 454D69A8; Sat, 1 Feb 2014 20:46:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 30B521D3A; Sat, 1 Feb 2014 20:46:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11Kka4o060103; Sat, 1 Feb 2014 20:46:36 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11KkZq6060101; Sat, 1 Feb 2014 20:46:35 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201402012046.s11KkZq6060101@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 1 Feb 2014 20:46:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261357 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 20:46:36 -0000 Author: nwhitehorn Date: Sat Feb 1 20:46:35 2014 New Revision: 261357 URL: http://svnweb.freebsd.org/changeset/base/261357 Log: ULE works on Book-E since r258002, so remove statements to the contrary. Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Sat Feb 1 20:06:52 2014 (r261356) +++ head/sys/kern/sched_ule.c Sat Feb 1 20:46:35 2014 (r261357) @@ -76,10 +76,6 @@ dtrace_vtime_switch_func_t dtrace_vtime_ #include #include -#if defined(__powerpc__) && defined(BOOKE_E500) -#error "This architecture is not currently compatible with ULE" -#endif - #define KTR_ULE 0 #define TS_NAME_LEN (MAXCOMLEN + sizeof(" td ") + sizeof(__XSTRING(UINT_MAX))) From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 20:56:51 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4B433F1D; Sat, 1 Feb 2014 20:56:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 374361DDF; Sat, 1 Feb 2014 20:56:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s11Kupp2063899; Sat, 1 Feb 2014 20:56:51 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s11Kuod4063897; Sat, 1 Feb 2014 20:56:50 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201402012056.s11Kuod4063897@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 1 Feb 2014 20:56:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r261358 - head/sys/powerpc/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 20:56:51 -0000 Author: nwhitehorn Date: Sat Feb 1 20:56:50 2014 New Revision: 261358 URL: http://svnweb.freebsd.org/changeset/base/261358 Log: Switch default Book-E scheduler to ULE, which works now, and enable CAPABILITIES stuff required to make ssh work. Hopefully, Book-E can eventually be added to GENERIC, which would avoid this kind of issue with bitrot. That will require figuring out how to link Book-E and AIM kernels at the same address, however... Modified: head/sys/powerpc/conf/GENERIC head/sys/powerpc/conf/MPC85XX Modified: head/sys/powerpc/conf/GENERIC ============================================================================== --- head/sys/powerpc/conf/GENERIC Sat Feb 1 20:46:35 2014 (r261357) +++ head/sys/powerpc/conf/GENERIC Sat Feb 1 20:56:50 2014 (r261358) @@ -133,6 +133,11 @@ device scc device uart device uart_z8530 +# FireWire support +device firewire # FireWire bus code +device sbp # SCSI over FireWire (Requires scbus and da) +device fwe # Ethernet over FireWire (non-standard!) + # PCI Ethernet NICs that use the common MII bus controller code. device miibus # MII bus support device bge # Broadcom BCM570xx Gigabit Ethernet Modified: head/sys/powerpc/conf/MPC85XX ============================================================================== --- head/sys/powerpc/conf/MPC85XX Sat Feb 1 20:46:35 2014 (r261357) +++ head/sys/powerpc/conf/MPC85XX Sat Feb 1 20:56:50 2014 (r261358) @@ -48,7 +48,9 @@ options NFSCL options NFSLOCKD options PROCFS options PSEUDOFS -options SCHED_4BSD +options SCHED_ULE +options CAPABILITIES +options CAPABILITY_MODE options SMP options SYSVMSG options SYSVSEM @@ -64,6 +66,7 @@ device cryptodev device da device ds1553 device em +device alc device ether device fxp device iic From owner-svn-src-head@FreeBSD.ORG Sat Feb 1 23:44:11 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 57463E17; Sat, 1 Feb 2014 23:44:11 +0000 (UTC) Received: from mail-wg0-x232.google.com (mail-wg0-x232.google.com [IPv6:2a00:1450:400c:c00::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6E5621899; Sat, 1 Feb 2014 23:44:10 +0000 (UTC) Received: by mail-wg0-f50.google.com with SMTP id l18so10672202wgh.5 for ; Sat, 01 Feb 2014 15:44:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=hwWkqK7O3nx0iSxrzzae4dpJLtQvOyupJZmlewWYpRw=; b=y+TLW1ILGu9bmWoYhMIMFCTEO3pZON8gxicH1gmpRYDRuqk7rNFopxYaCKCidD2vI8 Tq/TLbUARPxYlnwGrw9UIiBf0os9+ZY7U9O0OefBg4Rh4ZrRp5F37W0bfCkRSEEI4+wB jru5je/icLK+RkTVQ7RJKkVUVooS6Uxq0w2uKBmQCoeTJ/i1as2U5DdtWcx7mH1XHh5U O8rmJpMna4P7KotM9btYquQqH6QlmZiuKlUjdPvR0DDMUUftpYC6EEEQPkyfxAT+g0xt aMsc5JURCZ0qDjomcpajFkiBQ6w9KTHSE4a+tzpgJ2z47KGjmRWt5lkth/q5hWqkF25y uCYg== X-Received: by 10.194.123.201 with SMTP id mc9mr842229wjb.43.1391298248927; Sat, 01 Feb 2014 15:44:08 -0800 (PST) Received: from ithaqua.etoilebsd.net (ithaqua.etoilebsd.net. [37.59.37.188]) by mx.google.com with ESMTPSA id uq2sm30825549wjc.5.2014.02.01.15.44.07 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sat, 01 Feb 2014 15:44:07 -0800 (PST) Sender: Baptiste Daroussin Date: Sun, 2 Feb 2014 00:44:05 +0100 From: Baptiste Daroussin To: Kai Wang Subject: Re: svn commit: r261246 - in head: . cddl/contrib/opensolaris/tools/ctf/cvt contrib/elftoolchain lib/libdwarf lib/libelf sys/sys Message-ID: <20140201234405.GO54904@ithaqua.etoilebsd.net> References: <201401282138.s0SLcsVV085769@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Pk/CTwBz1VvfPIDp" Content-Disposition: inline In-Reply-To: <201401282138.s0SLcsVV085769@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Feb 2014 23:44:11 -0000 --Pk/CTwBz1VvfPIDp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jan 28, 2014 at 09:38:54PM +0000, Kai Wang wrote: > Author: kaiw > Date: Tue Jan 28 21:38:54 2014 > New Revision: 261246 > URL: http://svnweb.freebsd.org/changeset/base/261246 >=20 > Log: > Merge from projects/elftoolchain: Upgrade libelf and libdwarf to newer > versions from elftoolchain upstream (r2974). Convert ctfconvert to > use the APIs from the new libdwarf and make ctfconvert work with Clang > 3.4. > =20 > __FreeBSD_version is bumped to 1100006. > =20 Thanks for this update, I just want to remind something to everyone, becaus= e it happened a lot recently. Before breaking any ABI (SHLIB num bumped here in this case) all committers should first talk to portmgr sync with them and then commit (and send a hea= sup to portmgr saying the commit has been done) Why so? just because we are trying to provide packages for head, that means= that before the commit we need to know it will happen and we have time available= to upgrade the build jail for head, then once we know we would be able handle = the upgrade of the jail in a good timeframe, then the heads up mail allows us to know that the upgrade should actually be done (svn up will get the modifica= tion) So next rebuild of packages will be done from scratch instead of incrementa= l. We are putting a lot of effort in trying to get packages working for head, = this small 2 mails will save us a lot of time, and a lot of stress. regards, Bapt I think we should really mark this has a policy in the committer handbook. --Pk/CTwBz1VvfPIDp Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (FreeBSD) iEYEARECAAYFAlLthsUACgkQ8kTtMUmk6Ew4gACeJX7Cz8+/8NAz0zGdvftMhsqp IcYAn1WNDb+HADaiH0IvmpulVzJuef1+ =2536 -----END PGP SIGNATURE----- --Pk/CTwBz1VvfPIDp--