From owner-svn-src-head@freebsd.org Sun Nov 15 03:04:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 63B7DA28ED5; Sun, 15 Nov 2015 03:04:41 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C703220D1; Sun, 15 Nov 2015 03:04:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF34dw6062714; Sun, 15 Nov 2015 03:04:39 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF34dD2062713; Sun, 15 Nov 2015 03:04:39 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150304.tAF34dD2062713@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 03:04:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290840 - head/etc 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.20 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, 15 Nov 2015 03:04:41 -0000 Author: ngie Date: Sun Nov 15 03:04:39 2015 New Revision: 290840 URL: https://svnweb.freebsd.org/changeset/base/290840 Log: Setup the symlink to /sys to mirror one's current source, e.g. if my source tree was /usr/src/svn, /sys would point to usr/src/svn This fixes the assumption that the source tree will always exist at ${DESTDIR}/usr/src MFC after: 1 week PR: 76362 Reported by: Scot Hetzel Sponsored by: EMC / Isilon Storage Division Modified: head/etc/Makefile Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Sun Nov 15 01:50:17 2015 (r290839) +++ head/etc/Makefile Sun Nov 15 03:04:39 2015 (r290840) @@ -408,7 +408,7 @@ distrib-dirs: ${MTREES:N/*} distrib-clea ${METALOG.add} ; \ done; true .endif - ${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys + ${INSTALL_SYMLINK} ${SRCTOP:C/^\///}/sys ${DESTDIR}/sys .if ${MK_MAN} != "no" cd ${DESTDIR}${SHAREDIR}/man; \ for mandir in man*; do \ From owner-svn-src-head@freebsd.org Sun Nov 15 03:56:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 14E46A2EF97; Sun, 15 Nov 2015 03:56:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D67B71820; Sun, 15 Nov 2015 03:56:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF3uAGB080457; Sun, 15 Nov 2015 03:56:10 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF3uATH080456; Sun, 15 Nov 2015 03:56:10 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150356.tAF3uATH080456@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 03:56:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290842 - head/lib/libc/tests/stdio 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.20 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, 15 Nov 2015 03:56:11 -0000 Author: ngie Date: Sun Nov 15 03:56:09 2015 New Revision: 290842 URL: https://svnweb.freebsd.org/changeset/base/290842 Log: Fix the Indian numbering system (hi_IN.ISCII-DEV) tests Submitted by: ache X-MFC with: r290494 (if that ever happens) Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/stdio/printfloat_test.c Modified: head/lib/libc/tests/stdio/printfloat_test.c ============================================================================== --- head/lib/libc/tests/stdio/printfloat_test.c Sun Nov 15 03:18:50 2015 (r290841) +++ head/lib/libc/tests/stdio/printfloat_test.c Sun Nov 15 03:56:09 2015 (r290842) @@ -178,10 +178,10 @@ ATF_TC_BODY(thousands_separator_and_othe testfmt("0012345678.0625", "%'015.4F", 12345678.0625); ATF_REQUIRE(setlocale(LC_NUMERIC, "hi_IN.ISCII-DEV")); /* grouping == 2;3 */ - testfmt("123,456,78.0625", "%'.4f", 12345678.0625); - testfmt("00123,456,78.0625", "%'017.4F", 12345678.0625); - testfmt(" 90,00", "%'6.0f", 9000.0); - testfmt("90,00.0", "%'.1f", 9000.0); + testfmt("1,23,45,678.0625", "%'.4f", 12345678.0625); + testfmt("01,23,45,678.0625", "%'017.4F", 12345678.0625); + testfmt(" 9,000", "%'6.0f", 9000.0); + testfmt("9,000.0", "%'.1f", 9000.0); ATF_REQUIRE(setlocale(LC_NUMERIC, "ru_RU.ISO8859-5")); /* decimalpoint==, */ testfmt("3,1415", "%g", 3.1415); From owner-svn-src-head@freebsd.org Sun Nov 15 04:33:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58616A2F792; Sun, 15 Nov 2015 04:33:16 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2FE0A17E8; Sun, 15 Nov 2015 04:33:16 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF4XF4M094001; Sun, 15 Nov 2015 04:33:15 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF4XFg1093999; Sun, 15 Nov 2015 04:33:15 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150433.tAF4XFg1093999@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 04:33:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290843 - head/lib/libc/tests/locale 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.20 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, 15 Nov 2015 04:33:16 -0000 Author: ngie Date: Sun Nov 15 04:33:14 2015 New Revision: 290843 URL: https://svnweb.freebsd.org/changeset/base/290843 Log: Polish up the tests a bit more after projects/collation was merged to head Provide more meaningful diagnostic messages if LC_CTYPE can't be set properly instead of segfaulting, because setlocale returns NULL and strcmp(NULL, b) will always segfault Split up the testcases so one failing (in this case en_US.ISO8859-15) won't cause the rest of the testcases to be skipped Remove some unused variables MFC after: 1 week X-MFC with: r290532 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/locale/c16rtomb_test.c head/lib/libc/tests/locale/mbrtoc16_test.c Modified: head/lib/libc/tests/locale/c16rtomb_test.c ============================================================================== --- head/lib/libc/tests/locale/c16rtomb_test.c Sun Nov 15 03:56:09 2015 (r290842) +++ head/lib/libc/tests/locale/c16rtomb_test.c Sun Nov 15 04:33:14 2015 (r290843) @@ -42,13 +42,27 @@ __FBSDID("$FreeBSD$"); #include -ATF_TC_WITHOUT_HEAD(c16rtomb_test); -ATF_TC_BODY(c16rtomb_test, tc) +static void +require_lc_ctype(const char *locale_name) { - mbstate_t s; - char buf[MB_LEN_MAX + 1]; + char *lc_ctype_set; - /* C/POSIX locale. */ + lc_ctype_set = setlocale(LC_CTYPE, locale_name); + if (lc_ctype_set == NULL) + atf_tc_fail("setlocale(LC_CTYPE, \"%s\") failed; errno=%d", + locale_name, errno); + + ATF_REQUIRE(strcmp(lc_ctype_set, locale_name) == 0); +} + +static mbstate_t s; +static char buf[MB_LEN_MAX + 1]; + +ATF_TC_WITHOUT_HEAD(c16rtomb_c_locale_test); +ATF_TC_BODY(c16rtomb_c_locale_test, tc) +{ + + require_lc_ctype("C"); /* * If the buffer argument is NULL, c16 is implicitly 0, @@ -80,11 +94,13 @@ ATF_TC_BODY(c16rtomb_test, tc) ATF_REQUIRE(c16rtomb(buf, 0xdca9, &s) == (size_t)-1); ATF_REQUIRE(errno == EILSEQ); ATF_REQUIRE((unsigned char)buf[0] == 0xcc); +} - /* ISO8859-1. */ +ATF_TC_WITHOUT_HEAD(c16rtomb_iso_8859_1_test); +ATF_TC_BODY(c16rtomb_iso_8859_1_test, tc) +{ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-1"), - "en_US.ISO8859-1") == 0); + require_lc_ctype("en_US.ISO8859-1"); /* Unicode character 'Euro sign'. */ memset(&s, 0, sizeof(s)); @@ -92,21 +108,26 @@ ATF_TC_BODY(c16rtomb_test, tc) ATF_REQUIRE(c16rtomb(buf, 0x20ac, &s) == (size_t)-1); ATF_REQUIRE(errno == EILSEQ); ATF_REQUIRE((unsigned char)buf[0] == 0xcc); +} - /* ISO8859-15. */ +ATF_TC_WITHOUT_HEAD(c16rtomb_iso_8859_15_test); +ATF_TC_BODY(c16rtomb_iso_8859_15_test, tc) +{ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-15"), - "en_US.ISO8859-15") == 0); + require_lc_ctype("en_US.ISO8859-15"); /* Unicode character 'Euro sign'. */ memset(&s, 0, sizeof(s)); memset(buf, 0xcc, sizeof(buf)); ATF_REQUIRE(c16rtomb(buf, 0x20ac, &s) == 1); ATF_REQUIRE((unsigned char)buf[0] == 0xa4 && (unsigned char)buf[1] == 0xcc); +} - /* UTF-8. */ +ATF_TC_WITHOUT_HEAD(c16rtomb_utf_8_test); +ATF_TC_BODY(c16rtomb_utf_8_test, tc) +{ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.UTF-8"), "en_US.UTF-8") == 0); + require_lc_ctype("en_US.UTF-8"); /* Unicode character 'Pile of poo'. */ memset(&s, 0, sizeof(s)); @@ -136,7 +157,10 @@ ATF_TC_BODY(c16rtomb_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, c16rtomb_test); + ATF_TP_ADD_TC(tp, c16rtomb_c_locale_test); + ATF_TP_ADD_TC(tp, c16rtomb_iso_8859_1_test); + ATF_TP_ADD_TC(tp, c16rtomb_iso_8859_15_test); + ATF_TP_ADD_TC(tp, c16rtomb_utf_8_test); return (atf_no_error()); } Modified: head/lib/libc/tests/locale/mbrtoc16_test.c ============================================================================== --- head/lib/libc/tests/locale/mbrtoc16_test.c Sun Nov 15 03:56:09 2015 (r290842) +++ head/lib/libc/tests/locale/mbrtoc16_test.c Sun Nov 15 04:33:14 2015 (r290843) @@ -42,16 +42,27 @@ __FBSDID("$FreeBSD$"); #include -ATF_TC_WITHOUT_HEAD(mbrtoc16_test); -ATF_TC_BODY(mbrtoc16_test, tc) +static void +require_lc_ctype(const char *locale_name) { - mbstate_t s; - size_t len; - char16_t c16; - - /* - * C/POSIX locale. - */ + char *lc_ctype_set; + + lc_ctype_set = setlocale(LC_CTYPE, locale_name); + if (lc_ctype_set == NULL) + atf_tc_fail("setlocale(LC_CTYPE, \"%s\") failed; errno=%d", + locale_name, errno); + + ATF_REQUIRE(strcmp(lc_ctype_set, locale_name) == 0); +} + +static mbstate_t s; +static char16_t c16; + +ATF_TC_WITHOUT_HEAD(mbrtoc16_c_locale_test); +ATF_TC_BODY(mbrtoc16_c_locale_test, tc) +{ + + require_lc_ctype("C"); /* Null wide character, internal state. */ ATF_REQUIRE(mbrtoc16(&c16, "", 1, NULL) == 0); @@ -91,35 +102,37 @@ ATF_TC_BODY(mbrtoc16_test, tc) ATF_REQUIRE(mbrtoc16(&c16, "C", 1, &s) == 1); ATF_REQUIRE(c16 == L'C'); - /* - * ISO-8859-1. - */ +} + +ATF_TC_WITHOUT_HEAD(mbrtoc16_iso_8859_1_test); +ATF_TC_BODY(mbrtoc16_iso_8859_1_test, tc) +{ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-1"), - "en_US.ISO8859-1") == 0); + require_lc_ctype("en_US.ISO8859-1"); /* Currency sign. */ memset(&s, 0, sizeof(s)); ATF_REQUIRE(mbrtoc16(&c16, "\xa4", 1, &s) == 1); ATF_REQUIRE(c16 == 0xa4); +} - /* - * ISO-8859-15. - */ +ATF_TC_WITHOUT_HEAD(mbrtoc16_iso_8859_15_test); +ATF_TC_BODY(mbrtoc16_iso_8859_15_test, tc) +{ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-15"), - "en_US.ISO8859-15") == 0); + require_lc_ctype("en_US.ISO8859-15"); /* Euro sign. */ memset(&s, 0, sizeof(s)); ATF_REQUIRE(mbrtoc16(&c16, "\xa4", 1, &s) == 1); ATF_REQUIRE(c16 == 0x20ac); +} - /* - * UTF-8. - */ +ATF_TC_WITHOUT_HEAD(mbrtoc16_utf_8_test); +ATF_TC_BODY(mbrtoc16_utf_8_test, tc) +{ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.UTF-8"), "en_US.UTF-8") == 0); + require_lc_ctype("en_US.UTF-8"); /* Null wide character, internal state. */ ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0); @@ -192,7 +205,10 @@ ATF_TC_BODY(mbrtoc16_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, mbrtoc16_test); + ATF_TP_ADD_TC(tp, mbrtoc16_c_locale_test); + ATF_TP_ADD_TC(tp, mbrtoc16_iso_8859_1_test); + ATF_TP_ADD_TC(tp, mbrtoc16_iso_8859_15_test); + ATF_TP_ADD_TC(tp, mbrtoc16_utf_8_test); return (atf_no_error()); } From owner-svn-src-head@freebsd.org Sun Nov 15 04:50:10 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42D2EA2FA1C; Sun, 15 Nov 2015 04:50:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 107171CB0; Sun, 15 Nov 2015 04:50:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF4o9BD098068; Sun, 15 Nov 2015 04:50:09 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF4o9un098067; Sun, 15 Nov 2015 04:50:09 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150450.tAF4o9un098067@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 04:50:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290844 - head/lib/libc/tests/locale 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.20 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, 15 Nov 2015 04:50:10 -0000 Author: ngie Date: Sun Nov 15 04:50:08 2015 New Revision: 290844 URL: https://svnweb.freebsd.org/changeset/base/290844 Log: Polish up iswctype_test - Split up the testcases into C locale and ja_JP.eucJP testcases. - Avoid a segfault in the event that setlocale fails, similar to r290843 - Replace `sizeof(x) / sizeof(*x)` pattern with `nitems(x)` MFC after: 1 week X-MFC with: r290532 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/locale/iswctype_test.c Modified: head/lib/libc/tests/locale/iswctype_test.c ============================================================================== --- head/lib/libc/tests/locale/iswctype_test.c Sun Nov 15 04:33:14 2015 (r290843) +++ head/lib/libc/tests/locale/iswctype_test.c Sun Nov 15 04:50:08 2015 (r290844) @@ -34,6 +34,8 @@ #include __FBSDID("$FreeBSD$"); +#include +#include #include #include #include @@ -42,31 +44,45 @@ __FBSDID("$FreeBSD$"); #include -ATF_TC_WITHOUT_HEAD(iswctype_test); -ATF_TC_BODY(iswctype_test, tc) +static void +require_lc_ctype(const char *locale_name) { - wctype_t t; - int i, j; - struct { - const char *name; - int (*func)(wint_t); - } cls[] = { - { "alnum", iswalnum }, - { "alpha", iswalpha }, - { "blank", iswblank }, - { "cntrl", iswcntrl }, - { "digit", iswdigit }, - { "graph", iswgraph }, - { "lower", iswlower }, - { "print", iswprint }, - { "punct", iswpunct }, - { "space", iswspace }, - { "upper", iswupper }, - { "xdigit", iswxdigit } - }; + char *lc_ctype_set; - /* C/POSIX locale. */ - for (i = 0; i < sizeof(cls) / sizeof(*cls); i++) { + lc_ctype_set = setlocale(LC_CTYPE, locale_name); + if (lc_ctype_set == NULL) + atf_tc_fail("setlocale(LC_CTYPE, \"%s\") failed; errno=%d", + locale_name, errno); + + ATF_REQUIRE(strcmp(lc_ctype_set, locale_name) == 0); +} + +static wctype_t t; +static int i, j; +static struct { + const char *name; + int (*func)(wint_t); +} cls[] = { + { "alnum", iswalnum }, + { "alpha", iswalpha }, + { "blank", iswblank }, + { "cntrl", iswcntrl }, + { "digit", iswdigit }, + { "graph", iswgraph }, + { "lower", iswlower }, + { "print", iswprint }, + { "punct", iswpunct }, + { "space", iswspace }, + { "upper", iswupper }, + { "xdigit", iswxdigit } +}; + +ATF_TC_WITHOUT_HEAD(iswctype_c_locale_test); +ATF_TC_BODY(iswctype_c_locale_test, tc) +{ + + require_lc_ctype("C"); + for (i = 0; i < nitems(cls); i++) { t = wctype(cls[i].name); ATF_REQUIRE(t != 0); for (j = 0; j < 256; j++) @@ -76,10 +92,15 @@ ATF_TC_BODY(iswctype_test, tc) ATF_REQUIRE(t == 0); for (i = 0; i < 256; i++) ATF_REQUIRE(iswctype(i, t) == 0); +} + +ATF_TC_WITHOUT_HEAD(iswctype_euc_jp_test); +ATF_TC_BODY(iswctype_euc_jp_test, tc) +{ + + require_lc_ctype("ja_JP.eucJP"); - /* Japanese (EUC) locale. */ - ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0); - for (i = 0; i < sizeof(cls) / sizeof(*cls); i++) { + for (i = 0; i < nitems(cls); i++) { t = wctype(cls[i].name); ATF_REQUIRE(t != 0); for (j = 0; j < 65536; j++) @@ -94,7 +115,8 @@ ATF_TC_BODY(iswctype_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, iswctype_test); + ATF_TP_ADD_TC(tp, iswctype_c_locale_test); + ATF_TP_ADD_TC(tp, iswctype_euc_jp_test); return (atf_no_error()); } From owner-svn-src-head@freebsd.org Sun Nov 15 04:50:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D714AA2FB2A; Sun, 15 Nov 2015 04:50:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 888551E2C; Sun, 15 Nov 2015 04:50:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF4osbI098178; Sun, 15 Nov 2015 04:50:54 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF4os9f098174; Sun, 15 Nov 2015 04:50:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150450.tAF4os9f098174@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 04:50:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290845 - head/lib/libc/tests/locale 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.20 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, 15 Nov 2015 04:50:55 -0000 Author: ngie Date: Sun Nov 15 04:50:54 2015 New Revision: 290845 URL: https://svnweb.freebsd.org/changeset/base/290845 Log: Remove unused variables; sort by alignment where needed MFC after: 1 week X-MFC with: r290532 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/locale/mblen_test.c head/lib/libc/tests/locale/mbrlen_test.c head/lib/libc/tests/locale/mbrtowc_test.c head/lib/libc/tests/locale/mbtowc_test.c Modified: head/lib/libc/tests/locale/mblen_test.c ============================================================================== --- head/lib/libc/tests/locale/mblen_test.c Sun Nov 15 04:50:08 2015 (r290844) +++ head/lib/libc/tests/locale/mblen_test.c Sun Nov 15 04:50:54 2015 (r290845) @@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$"); ATF_TC_WITHOUT_HEAD(mblen_test); ATF_TC_BODY(mblen_test, tc) { - size_t len; char buf[MB_LEN_MAX + 1]; /* Modified: head/lib/libc/tests/locale/mbrlen_test.c ============================================================================== --- head/lib/libc/tests/locale/mbrlen_test.c Sun Nov 15 04:50:08 2015 (r290844) +++ head/lib/libc/tests/locale/mbrlen_test.c Sun Nov 15 04:50:54 2015 (r290845) @@ -49,7 +49,6 @@ ATF_TC_WITHOUT_HEAD(mbrlen_test); ATF_TC_BODY(mbrlen_test, tc) { mbstate_t s; - size_t len; char buf[MB_LEN_MAX + 1]; /* C/POSIX locale. */ Modified: head/lib/libc/tests/locale/mbrtowc_test.c ============================================================================== --- head/lib/libc/tests/locale/mbrtowc_test.c Sun Nov 15 04:50:08 2015 (r290844) +++ head/lib/libc/tests/locale/mbrtowc_test.c Sun Nov 15 04:50:54 2015 (r290845) @@ -49,7 +49,6 @@ ATF_TC_WITHOUT_HEAD(mbrtowc_test); ATF_TC_BODY(mbrtowc_test, tc) { mbstate_t s; - size_t len; wchar_t wc; char buf[MB_LEN_MAX + 1]; Modified: head/lib/libc/tests/locale/mbtowc_test.c ============================================================================== --- head/lib/libc/tests/locale/mbtowc_test.c Sun Nov 15 04:50:08 2015 (r290844) +++ head/lib/libc/tests/locale/mbtowc_test.c Sun Nov 15 04:50:54 2015 (r290845) @@ -46,9 +46,8 @@ __FBSDID("$FreeBSD$"); ATF_TC_WITHOUT_HEAD(mbtowc_test); ATF_TC_BODY(mbtowc_test, tc) { - size_t len; - wchar_t wc; char buf[MB_LEN_MAX + 1]; + wchar_t wc; /* C/POSIX locale. */ From owner-svn-src-head@freebsd.org Sun Nov 15 04:51:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C25D4A2FB65; Sun, 15 Nov 2015 04:51:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B5DC1069; Sun, 15 Nov 2015 04:51:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF4pEk4098247; Sun, 15 Nov 2015 04:51:14 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF4pE4b098246; Sun, 15 Nov 2015 04:51:14 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150451.tAF4pE4b098246@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 04:51:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290846 - head/lib/libc/tests/locale 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.20 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, 15 Nov 2015 04:51:15 -0000 Author: ngie Date: Sun Nov 15 04:51:14 2015 New Revision: 290846 URL: https://svnweb.freebsd.org/changeset/base/290846 Log: Bump WARNS to 2 MFC after: 1 week X-MFC with: r290532 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/locale/Makefile Modified: head/lib/libc/tests/locale/Makefile ============================================================================== --- head/lib/libc/tests/locale/Makefile Sun Nov 15 04:50:54 2015 (r290845) +++ head/lib/libc/tests/locale/Makefile Sun Nov 15 04:51:14 2015 (r290846) @@ -39,6 +39,8 @@ SRCS.wctomb_2_test= wctomb_test.c CFLAGS.t_wctomb.c+= -Wno-stack-protector +WARNS?= 2 + .include "../Makefile.netbsd-tests" .include From owner-svn-src-head@freebsd.org Sun Nov 15 05:00:33 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6089A2FC1D; Sun, 15 Nov 2015 05:00:33 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7B9EA1313; Sun, 15 Nov 2015 05:00:33 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF50WHx001465; Sun, 15 Nov 2015 05:00:32 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF50W7k001462; Sun, 15 Nov 2015 05:00:32 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150500.tAF50W7k001462@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 05:00:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290847 - in head/contrib/netbsd-tests/lib/libc: gen regex 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.20 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, 15 Nov 2015 05:00:33 -0000 Author: ngie Date: Sun Nov 15 05:00:32 2015 New Revision: 290847 URL: https://svnweb.freebsd.org/changeset/base/290847 Log: Fix -Wunused warnings with variables used unlit code by adding appropriate #ifdef guards around the variables MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/lib/libc/gen/t_glob.c head/contrib/netbsd-tests/lib/libc/regex/debug.c Modified: head/contrib/netbsd-tests/lib/libc/gen/t_glob.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/gen/t_glob.c Sun Nov 15 04:51:14 2015 (r290846) +++ head/contrib/netbsd-tests/lib/libc/gen/t_glob.c Sun Nov 15 05:00:32 2015 (r290847) @@ -91,9 +91,11 @@ static struct gl_dir d[] = { { "a/b", b, __arraycount(b), 0 }, }; +#ifndef __FreeBSD__ static const char *glob_star[] = { "a/1", "a/3", "a/4", "a/b", "a/b/w", "a/b/x", "a/b/y", "a/b/z", }; +#endif static const char *glob_star_not[] = { "a/1", "a/3", "a/4", "a/b", Modified: head/contrib/netbsd-tests/lib/libc/regex/debug.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/regex/debug.c Sun Nov 15 04:51:14 2015 (r290846) +++ head/contrib/netbsd-tests/lib/libc/regex/debug.c Sun Nov 15 05:00:32 2015 (r290847) @@ -126,11 +126,15 @@ static void s_print(struct re_guts *g, FILE *d) { sop *s; +#ifdef __NetBSD__ cset *cs; +#endif int done = 0; sop opnd; int col = 0; +#ifdef __NetBSD__ ssize_t last; +#endif sopno offset = 2; # define GAP() { if (offset % 5 == 0) { \ if (col > 40) { \ From owner-svn-src-head@freebsd.org Sun Nov 15 05:02:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 771EAA2FD7D; Sun, 15 Nov 2015 05:02:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 430F51804; Sun, 15 Nov 2015 05:02:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF52fKb004189; Sun, 15 Nov 2015 05:02:41 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF52foq004187; Sun, 15 Nov 2015 05:02:41 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150502.tAF52foq004187@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 05:02:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290848 - head/lib/libc/tests/gen 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.20 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, 15 Nov 2015 05:02:42 -0000 Author: ngie Date: Sun Nov 15 05:02:41 2015 New Revision: 290848 URL: https://svnweb.freebsd.org/changeset/base/290848 Log: Fix -Wunused warnings MFC after: 1 week X-MFC with: r290572 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/gen/ftw_test.c head/lib/libc/tests/gen/popen_test.c Modified: head/lib/libc/tests/gen/ftw_test.c ============================================================================== --- head/lib/libc/tests/gen/ftw_test.c Sun Nov 15 05:00:32 2015 (r290847) +++ head/lib/libc/tests/gen/ftw_test.c Sun Nov 15 05:02:41 2015 (r290848) @@ -49,7 +49,6 @@ extern char **environ; static char template[] = "testftw.XXXXXXXXXX"; static char dir[PATH_MAX]; -static int failures; static int ftwflags; static int Modified: head/lib/libc/tests/gen/popen_test.c ============================================================================== --- head/lib/libc/tests/gen/popen_test.c Sun Nov 15 05:00:32 2015 (r290847) +++ head/lib/libc/tests/gen/popen_test.c Sun Nov 15 05:02:41 2015 (r290848) @@ -71,7 +71,7 @@ check_cloexec(FILE *fp, const char *mode ATF_TC_WITHOUT_HEAD(popen_all_modes_test); ATF_TC_BODY(popen_all_modes_test, tc) { - FILE *fp, *fp2; + FILE *fp; int i, status; const char *mode; const char *allmodes[] = { "r", "w", "r+", "re", "we", "r+e", "re+" }; @@ -92,7 +92,7 @@ ATF_TC_BODY(popen_all_modes_test, tc) ATF_TC_WITHOUT_HEAD(popen_rmodes_test); ATF_TC_BODY(popen_rmodes_test, tc) { - FILE *fp, *fp2; + FILE *fp; const char *rmodes[] = { "r", "r+", "re", "r+e", "re+" }; const char *mode; char buf[80]; @@ -211,7 +211,7 @@ ATF_TC_WITHOUT_HEAD(popen_rwmodes_test); ATF_TC_BODY(popen_rwmodes_test, tc) { const char *rwmodes[] = { "r+", "r+e", "re+" }; - FILE *fp, *fp2; + FILE *fp; const char *mode; char *sres; char buf[80]; From owner-svn-src-head@freebsd.org Sun Nov 15 05:13:34 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 583DEA2FFAA; Sun, 15 Nov 2015 05:13:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1819A1C58; Sun, 15 Nov 2015 05:13:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF5DXh6007502; Sun, 15 Nov 2015 05:13:33 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF5DXBi007501; Sun, 15 Nov 2015 05:13:33 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150513.tAF5DXBi007501@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 05:13:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290849 - head/lib/libc/tests/gen 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.20 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, 15 Nov 2015 05:13:34 -0000 Author: ngie Date: Sun Nov 15 05:13:33 2015 New Revision: 290849 URL: https://svnweb.freebsd.org/changeset/base/290849 Log: Fix -Wmissing-braces warnings by adding braces around all the testcase inputs MFC after: 1 week X-MFC with: r290572 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/gen/fnmatch_testcases.h Modified: head/lib/libc/tests/gen/fnmatch_testcases.h ============================================================================== --- head/lib/libc/tests/gen/fnmatch_testcases.h Sun Nov 15 05:02:41 2015 (r290848) +++ head/lib/libc/tests/gen/fnmatch_testcases.h Sun Nov 15 05:13:33 2015 (r290849) @@ -35,142 +35,142 @@ struct testcase { int flags; int result; } testcases[] = { - "", "", 0, 0, - "a", "a", 0, 0, - "a", "b", 0, FNM_NOMATCH, - "a", "A", 0, FNM_NOMATCH, - "*", "a", 0, 0, - "*", "aa", 0, 0, - "*a", "a", 0, 0, - "*a", "b", 0, FNM_NOMATCH, - "*a*", "b", 0, FNM_NOMATCH, - "*a*b*", "ab", 0, 0, - "*a*b*", "qaqbq", 0, 0, - "*a*bb*", "qaqbqbbq", 0, 0, - "*a*bc*", "qaqbqbcq", 0, 0, - "*a*bb*", "qaqbqbb", 0, 0, - "*a*bc*", "qaqbqbc", 0, 0, - "*a*bb", "qaqbqbb", 0, 0, - "*a*bc", "qaqbqbc", 0, 0, - "*a*bb", "qaqbqbbq", 0, FNM_NOMATCH, - "*a*bc", "qaqbqbcq", 0, FNM_NOMATCH, - "*a*a*a*a*a*a*a*a*a*a*", "aaaaaaaaa", 0, FNM_NOMATCH, - "*a*a*a*a*a*a*a*a*a*a*", "aaaaaaaaaa", 0, 0, - "*a*a*a*a*a*a*a*a*a*a*", "aaaaaaaaaaa", 0, 0, - ".*.*.*.*.*.*.*.*.*.*", ".........", 0, FNM_NOMATCH, - ".*.*.*.*.*.*.*.*.*.*", "..........", 0, 0, - ".*.*.*.*.*.*.*.*.*.*", "...........", 0, 0, - "*?*?*?*?*?*?*?*?*?*?*", "123456789", 0, FNM_NOMATCH, - "??????????*", "123456789", 0, FNM_NOMATCH, - "*??????????", "123456789", 0, FNM_NOMATCH, - "*?*?*?*?*?*?*?*?*?*?*", "1234567890", 0, 0, - "??????????*", "1234567890", 0, 0, - "*??????????", "1234567890", 0, 0, - "*?*?*?*?*?*?*?*?*?*?*", "12345678901", 0, 0, - "??????????*", "12345678901", 0, 0, - "*??????????", "12345678901", 0, 0, - "[x]", "x", 0, 0, - "[*]", "*", 0, 0, - "[?]", "?", 0, 0, - "[", "[", 0, 0, - "[[]", "[", 0, 0, - "[[]", "x", 0, FNM_NOMATCH, - "[*]", "", 0, FNM_NOMATCH, - "[*]", "x", 0, FNM_NOMATCH, - "[?]", "x", 0, FNM_NOMATCH, - "*[*]*", "foo*foo", 0, 0, - "*[*]*", "foo", 0, FNM_NOMATCH, - "[0-9]", "0", 0, 0, - "[0-9]", "5", 0, 0, - "[0-9]", "9", 0, 0, - "[0-9]", "/", 0, FNM_NOMATCH, - "[0-9]", ":", 0, FNM_NOMATCH, - "[0-9]", "*", 0, FNM_NOMATCH, - "[!0-9]", "0", 0, FNM_NOMATCH, - "[!0-9]", "5", 0, FNM_NOMATCH, - "[!0-9]", "9", 0, FNM_NOMATCH, - "[!0-9]", "/", 0, 0, - "[!0-9]", ":", 0, 0, - "[!0-9]", "*", 0, 0, - "*[0-9]", "a0", 0, 0, - "*[0-9]", "a5", 0, 0, - "*[0-9]", "a9", 0, 0, - "*[0-9]", "a/", 0, FNM_NOMATCH, - "*[0-9]", "a:", 0, FNM_NOMATCH, - "*[0-9]", "a*", 0, FNM_NOMATCH, - "*[!0-9]", "a0", 0, FNM_NOMATCH, - "*[!0-9]", "a5", 0, FNM_NOMATCH, - "*[!0-9]", "a9", 0, FNM_NOMATCH, - "*[!0-9]", "a/", 0, 0, - "*[!0-9]", "a:", 0, 0, - "*[!0-9]", "a*", 0, 0, - "*[0-9]", "a00", 0, 0, - "*[0-9]", "a55", 0, 0, - "*[0-9]", "a99", 0, 0, - "*[0-9]", "a0a0", 0, 0, - "*[0-9]", "a5a5", 0, 0, - "*[0-9]", "a9a9", 0, 0, - "\\*", "*", 0, 0, - "\\?", "?", 0, 0, - "\\[x]", "[x]", 0, 0, - "\\[", "[", 0, 0, - "\\\\", "\\", 0, 0, - "*\\**", "foo*foo", 0, 0, - "*\\**", "foo", 0, FNM_NOMATCH, - "*\\\\*", "foo\\foo", 0, 0, - "*\\\\*", "foo", 0, FNM_NOMATCH, - "\\(", "(", 0, 0, - "\\a", "a", 0, 0, - "\\*", "a", 0, FNM_NOMATCH, - "\\?", "a", 0, FNM_NOMATCH, - "\\*", "\\*", 0, FNM_NOMATCH, - "\\?", "\\?", 0, FNM_NOMATCH, - "\\[x]", "\\[x]", 0, FNM_NOMATCH, - "\\[x]", "\\x", 0, FNM_NOMATCH, - "\\[", "\\[", 0, FNM_NOMATCH, - "\\(", "\\(", 0, FNM_NOMATCH, - "\\a", "\\a", 0, FNM_NOMATCH, - "\\", "\\", 0, FNM_NOMATCH, - "\\", "", 0, 0, - "\\*", "\\*", FNM_NOESCAPE, 0, - "\\?", "\\?", FNM_NOESCAPE, 0, - "\\", "\\", FNM_NOESCAPE, 0, - "\\\\", "\\", FNM_NOESCAPE, FNM_NOMATCH, - "\\\\", "\\\\", FNM_NOESCAPE, 0, - "*\\*", "foo\\foo", FNM_NOESCAPE, 0, - "*\\*", "foo", FNM_NOESCAPE, FNM_NOMATCH, - "*", ".", FNM_PERIOD, FNM_NOMATCH, - "?", ".", FNM_PERIOD, FNM_NOMATCH, - ".*", ".", 0, 0, - ".*", "..", 0, 0, - ".*", ".a", 0, 0, - "[0-9]", ".", FNM_PERIOD, FNM_NOMATCH, - "a*", "a.", 0, 0, - "a/a", "a/a", FNM_PATHNAME, 0, - "a/*", "a/a", FNM_PATHNAME, 0, - "*/a", "a/a", FNM_PATHNAME, 0, - "*/*", "a/a", FNM_PATHNAME, 0, - "a*b/*", "abbb/x", FNM_PATHNAME, 0, - "a*b/*", "abbb/.x", FNM_PATHNAME, 0, - "*", "a/a", FNM_PATHNAME, FNM_NOMATCH, - "*/*", "a/a/a", FNM_PATHNAME, FNM_NOMATCH, - "b/*", "b/.x", FNM_PATHNAME | FNM_PERIOD, FNM_NOMATCH, - "b*/*", "a/.x", FNM_PATHNAME | FNM_PERIOD, FNM_NOMATCH, - "b/.*", "b/.x", FNM_PATHNAME | FNM_PERIOD, 0, - "b*/.*", "b/.x", FNM_PATHNAME | FNM_PERIOD, 0, - "a", "A", FNM_CASEFOLD, 0, - "A", "a", FNM_CASEFOLD, 0, - "[a]", "A", FNM_CASEFOLD, 0, - "[A]", "a", FNM_CASEFOLD, 0, - "a", "b", FNM_CASEFOLD, FNM_NOMATCH, - "a", "a/b", FNM_PATHNAME, FNM_NOMATCH, - "*", "a/b", FNM_PATHNAME, FNM_NOMATCH, - "*b", "a/b", FNM_PATHNAME, FNM_NOMATCH, - "a", "a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0, - "*", "a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0, - "*", ".a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0, - "*a", ".a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0, - "*", ".a/b", FNM_PATHNAME | FNM_PERIOD | FNM_LEADING_DIR, FNM_NOMATCH, - "*a", ".a/b", FNM_PATHNAME | FNM_PERIOD | FNM_LEADING_DIR, FNM_NOMATCH, - "a*b/*", "abbb/.x", FNM_PATHNAME | FNM_PERIOD, FNM_NOMATCH, + { "", "", 0, 0 }, + { "a", "a", 0, 0 }, + { "a", "b", 0, FNM_NOMATCH }, + { "a", "A", 0, FNM_NOMATCH }, + { "*", "a", 0, 0 }, + { "*", "aa", 0, 0 }, + { "*a", "a", 0, 0 }, + { "*a", "b", 0, FNM_NOMATCH }, + { "*a*", "b", 0, FNM_NOMATCH }, + { "*a*b*", "ab", 0, 0 }, + { "*a*b*", "qaqbq", 0, 0 }, + { "*a*bb*", "qaqbqbbq", 0, 0 }, + { "*a*bc*", "qaqbqbcq", 0, 0 }, + { "*a*bb*", "qaqbqbb", 0, 0 }, + { "*a*bc*", "qaqbqbc", 0, 0 }, + { "*a*bb", "qaqbqbb", 0, 0 }, + { "*a*bc", "qaqbqbc", 0, 0 }, + { "*a*bb", "qaqbqbbq", 0, FNM_NOMATCH }, + { "*a*bc", "qaqbqbcq", 0, FNM_NOMATCH }, + { "*a*a*a*a*a*a*a*a*a*a*", "aaaaaaaaa", 0, FNM_NOMATCH }, + { "*a*a*a*a*a*a*a*a*a*a*", "aaaaaaaaaa", 0, 0 }, + { "*a*a*a*a*a*a*a*a*a*a*", "aaaaaaaaaaa", 0, 0 }, + { ".*.*.*.*.*.*.*.*.*.*", ".........", 0, FNM_NOMATCH }, + { ".*.*.*.*.*.*.*.*.*.*", "..........", 0, 0 }, + { ".*.*.*.*.*.*.*.*.*.*", "...........", 0, 0 }, + { "*?*?*?*?*?*?*?*?*?*?*", "123456789", 0, FNM_NOMATCH }, + { "??????????*", "123456789", 0, FNM_NOMATCH }, + { "*??????????", "123456789", 0, FNM_NOMATCH }, + { "*?*?*?*?*?*?*?*?*?*?*", "1234567890", 0, 0 }, + { "??????????*", "1234567890", 0, 0 }, + { "*??????????", "1234567890", 0, 0 }, + { "*?*?*?*?*?*?*?*?*?*?*", "12345678901", 0, 0 }, + { "??????????*", "12345678901", 0, 0 }, + { "*??????????", "12345678901", 0, 0 }, + { "[x]", "x", 0, 0 }, + { "[*]", "*", 0, 0 }, + { "[?]", "?", 0, 0 }, + { "[", "[", 0, 0 }, + { "[[]", "[", 0, 0 }, + { "[[]", "x", 0, FNM_NOMATCH }, + { "[*]", "", 0, FNM_NOMATCH }, + { "[*]", "x", 0, FNM_NOMATCH }, + { "[?]", "x", 0, FNM_NOMATCH }, + { "*[*]*", "foo*foo", 0, 0 }, + { "*[*]*", "foo", 0, FNM_NOMATCH }, + { "[0-9]", "0", 0, 0 }, + { "[0-9]", "5", 0, 0 }, + { "[0-9]", "9", 0, 0 }, + { "[0-9]", "/", 0, FNM_NOMATCH }, + { "[0-9]", ":", 0, FNM_NOMATCH }, + { "[0-9]", "*", 0, FNM_NOMATCH }, + { "[!0-9]", "0", 0, FNM_NOMATCH }, + { "[!0-9]", "5", 0, FNM_NOMATCH }, + { "[!0-9]", "9", 0, FNM_NOMATCH }, + { "[!0-9]", "/", 0, 0 }, + { "[!0-9]", ":", 0, 0 }, + { "[!0-9]", "*", 0, 0 }, + { "*[0-9]", "a0", 0, 0 }, + { "*[0-9]", "a5", 0, 0 }, + { "*[0-9]", "a9", 0, 0 }, + { "*[0-9]", "a/", 0, FNM_NOMATCH }, + { "*[0-9]", "a:", 0, FNM_NOMATCH }, + { "*[0-9]", "a*", 0, FNM_NOMATCH }, + { "*[!0-9]", "a0", 0, FNM_NOMATCH }, + { "*[!0-9]", "a5", 0, FNM_NOMATCH }, + { "*[!0-9]", "a9", 0, FNM_NOMATCH }, + { "*[!0-9]", "a/", 0, 0 }, + { "*[!0-9]", "a:", 0, 0 }, + { "*[!0-9]", "a*", 0, 0 }, + { "*[0-9]", "a00", 0, 0 }, + { "*[0-9]", "a55", 0, 0 }, + { "*[0-9]", "a99", 0, 0 }, + { "*[0-9]", "a0a0", 0, 0 }, + { "*[0-9]", "a5a5", 0, 0 }, + { "*[0-9]", "a9a9", 0, 0 }, + { "\\*", "*", 0, 0 }, + { "\\?", "?", 0, 0 }, + { "\\[x]", "[x]", 0, 0 }, + { "\\[", "[", 0, 0 }, + { "\\\\", "\\", 0, 0 }, + { "*\\**", "foo*foo", 0, 0 }, + { "*\\**", "foo", 0, FNM_NOMATCH }, + { "*\\\\*", "foo\\foo", 0, 0 }, + { "*\\\\*", "foo", 0, FNM_NOMATCH }, + { "\\(", "(", 0, 0 }, + { "\\a", "a", 0, 0 }, + { "\\*", "a", 0, FNM_NOMATCH }, + { "\\?", "a", 0, FNM_NOMATCH }, + { "\\*", "\\*", 0, FNM_NOMATCH }, + { "\\?", "\\?", 0, FNM_NOMATCH }, + { "\\[x]", "\\[x]", 0, FNM_NOMATCH }, + { "\\[x]", "\\x", 0, FNM_NOMATCH }, + { "\\[", "\\[", 0, FNM_NOMATCH }, + { "\\(", "\\(", 0, FNM_NOMATCH }, + { "\\a", "\\a", 0, FNM_NOMATCH }, + { "\\", "\\", 0, FNM_NOMATCH }, + { "\\", "", 0, 0 }, + { "\\*", "\\*", FNM_NOESCAPE, 0 }, + { "\\?", "\\?", FNM_NOESCAPE, 0 }, + { "\\", "\\", FNM_NOESCAPE, 0 }, + { "\\\\", "\\", FNM_NOESCAPE, FNM_NOMATCH }, + { "\\\\", "\\\\", FNM_NOESCAPE, 0 }, + { "*\\*", "foo\\foo", FNM_NOESCAPE, 0 }, + { "*\\*", "foo", FNM_NOESCAPE, FNM_NOMATCH }, + { "*", ".", FNM_PERIOD, FNM_NOMATCH }, + { "?", ".", FNM_PERIOD, FNM_NOMATCH }, + { ".*", ".", 0, 0 }, + { ".*", "..", 0, 0 }, + { ".*", ".a", 0, 0 }, + { "[0-9]", ".", FNM_PERIOD, FNM_NOMATCH }, + { "a*", "a.", 0, 0 }, + { "a/a", "a/a", FNM_PATHNAME, 0 }, + { "a/*", "a/a", FNM_PATHNAME, 0 }, + { "*/a", "a/a", FNM_PATHNAME, 0 }, + { "*/*", "a/a", FNM_PATHNAME, 0 }, + { "a*b/*", "abbb/x", FNM_PATHNAME, 0 }, + { "a*b/*", "abbb/.x", FNM_PATHNAME, 0 }, + { "*", "a/a", FNM_PATHNAME, FNM_NOMATCH }, + { "*/*", "a/a/a", FNM_PATHNAME, FNM_NOMATCH }, + { "b/*", "b/.x", FNM_PATHNAME | FNM_PERIOD, FNM_NOMATCH }, + { "b*/*", "a/.x", FNM_PATHNAME | FNM_PERIOD, FNM_NOMATCH }, + { "b/.*", "b/.x", FNM_PATHNAME | FNM_PERIOD, 0 }, + { "b*/.*", "b/.x", FNM_PATHNAME | FNM_PERIOD, 0 }, + { "a", "A", FNM_CASEFOLD, 0 }, + { "A", "a", FNM_CASEFOLD, 0 }, + { "[a]", "A", FNM_CASEFOLD, 0 }, + { "[A]", "a", FNM_CASEFOLD, 0 }, + { "a", "b", FNM_CASEFOLD, FNM_NOMATCH }, + { "a", "a/b", FNM_PATHNAME, FNM_NOMATCH }, + { "*", "a/b", FNM_PATHNAME, FNM_NOMATCH }, + { "*b", "a/b", FNM_PATHNAME, FNM_NOMATCH }, + { "a", "a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0 }, + { "*", "a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0 }, + { "*", ".a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0 }, + { "*a", ".a/b", FNM_PATHNAME | FNM_LEADING_DIR, 0 }, + { "*", ".a/b", FNM_PATHNAME | FNM_PERIOD | FNM_LEADING_DIR, FNM_NOMATCH }, + { "*a", ".a/b", FNM_PATHNAME | FNM_PERIOD | FNM_LEADING_DIR, FNM_NOMATCH }, + { "a*b/*", "abbb/.x", FNM_PATHNAME | FNM_PERIOD, FNM_NOMATCH }, }; From owner-svn-src-head@freebsd.org Sun Nov 15 05:19:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6C696A2F065; Sun, 15 Nov 2015 05:19:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 307ED1DD7; Sun, 15 Nov 2015 05:19:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF5JfY2007931; Sun, 15 Nov 2015 05:19:41 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF5JfXi007930; Sun, 15 Nov 2015 05:19:41 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150519.tAF5JfXi007930@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 05:19:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290850 - head/contrib/netbsd-tests/lib/libc/rpc 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.20 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, 15 Nov 2015 05:19:42 -0000 Author: ngie Date: Sun Nov 15 05:19:41 2015 New Revision: 290850 URL: https://svnweb.freebsd.org/changeset/base/290850 Log: Cast xdr_void to xdrproc_t to mute -Wincompatible-pointer-types warnings from clang This pattern is used in other areas of lib/libc/rpc MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c Modified: head/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c Sun Nov 15 05:13:33 2015 (r290849) +++ head/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c Sun Nov 15 05:19:41 2015 (r290850) @@ -73,8 +73,14 @@ onehost(const char *host, const char *tr tv.tv_sec = 1; tv.tv_usec = 0; +#ifdef __FreeBSD__ + if (clnt_call(clnt, RPCBPROC_NULL, (xdrproc_t)xdr_void, NULL, + (xdrproc_t)xdr_void, NULL, tv) + != RPC_SUCCESS) +#else if (clnt_call(clnt, RPCBPROC_NULL, xdr_void, NULL, xdr_void, NULL, tv) != RPC_SUCCESS) +#endif ERRX(EXIT_FAILURE, "clnt_call (%s)", clnt_sperror(clnt, "")); clnt_control(clnt, CLGET_SVC_ADDR, (char *) &addr); reply(NULL, &addr, NULL); From owner-svn-src-head@freebsd.org Sun Nov 15 05:22:00 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5210FA2F1F8; Sun, 15 Nov 2015 05:22:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B325111B; Sun, 15 Nov 2015 05:22:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAF5Lx9M008137; Sun, 15 Nov 2015 05:21:59 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAF5LxXd008127; Sun, 15 Nov 2015 05:21:59 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511150521.tAF5LxXd008127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 05:21:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290851 - in head/lib/libc/tests: . locale 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.20 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, 15 Nov 2015 05:22:00 -0000 Author: ngie Date: Sun Nov 15 05:21:58 2015 New Revision: 290851 URL: https://svnweb.freebsd.org/changeset/base/290851 Log: Change WARNS to 2 across the board with all the libc testcases This effectively "reverts" r290846 MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/Makefile.netbsd-tests head/lib/libc/tests/locale/Makefile Modified: head/lib/libc/tests/Makefile.netbsd-tests ============================================================================== --- head/lib/libc/tests/Makefile.netbsd-tests Sun Nov 15 05:19:41 2015 (r290850) +++ head/lib/libc/tests/Makefile.netbsd-tests Sun Nov 15 05:21:58 2015 (r290851) @@ -4,4 +4,6 @@ TESTSRC:= ${SRCTOP}/contrib/netbsd-tests TESTSDIR:= ${TESTSBASE}/${RELDIR:C/libc\/tests/libc/} +WARNS?= 2 + .include Modified: head/lib/libc/tests/locale/Makefile ============================================================================== --- head/lib/libc/tests/locale/Makefile Sun Nov 15 05:19:41 2015 (r290850) +++ head/lib/libc/tests/locale/Makefile Sun Nov 15 05:21:58 2015 (r290851) @@ -39,8 +39,6 @@ SRCS.wctomb_2_test= wctomb_test.c CFLAGS.t_wctomb.c+= -Wno-stack-protector -WARNS?= 2 - .include "../Makefile.netbsd-tests" .include From owner-svn-src-head@freebsd.org Sun Nov 15 10:58:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31677A2EDC5; Sun, 15 Nov 2015 10:58:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E97D4138C; Sun, 15 Nov 2015 10:58:02 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFAw1h0009321; Sun, 15 Nov 2015 10:58:01 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFAw1vw009320; Sun, 15 Nov 2015 10:58:01 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511151058.tAFAw1vw009320@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 15 Nov 2015 10:58:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290855 - head/sys/dev/ata/chipsets 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.20 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, 15 Nov 2015 10:58:03 -0000 Author: mav Date: Sun Nov 15 10:58:01 2015 New Revision: 290855 URL: https://svnweb.freebsd.org/changeset/base/290855 Log: Increase reset assertion time from 10 to 100us. On my own tests I see no effect from this change, but I also can't reproduce the reported problem in general. PR: 127391 PR: 204554 Submitted by: satz@iranger.com MFC after: 2 weeks Modified: head/sys/dev/ata/chipsets/ata-intel.c Modified: head/sys/dev/ata/chipsets/ata-intel.c ============================================================================== --- head/sys/dev/ata/chipsets/ata-intel.c Sun Nov 15 07:14:17 2015 (r290854) +++ head/sys/dev/ata/chipsets/ata-intel.c Sun Nov 15 10:58:01 2015 (r290855) @@ -422,7 +422,7 @@ ata_intel_reset(device_t dev) mask |= (1 << smap[1]); pci_write_config(parent, 0x92, pci_read_config(parent, 0x92, 2) & ~mask, 2); - DELAY(10); + DELAY(100); pci_write_config(parent, 0x92, pci_read_config(parent, 0x92, 2) | mask, 2); From owner-svn-src-head@freebsd.org Sun Nov 15 11:18:38 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D2237A2F3D8; Sun, 15 Nov 2015 11:18:38 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 93002100F; Sun, 15 Nov 2015 11:18:38 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFBIblB015983; Sun, 15 Nov 2015 11:18:37 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFBIbD1015982; Sun, 15 Nov 2015 11:18:37 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151118.tAFBIbD1015982@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 11:18:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290856 - head/contrib/netbsd-tests/lib/libc/stdio 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.20 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, 15 Nov 2015 11:18:38 -0000 Author: bapt Date: Sun Nov 15 11:18:37 2015 New Revision: 290856 URL: https://svnweb.freebsd.org/changeset/base/290856 Log: also skip the definition of ':fopen_regular' to avoid the build to fail due to unused variables defined by ATF macros Modified: head/contrib/netbsd-tests/lib/libc/stdio/t_fopen.c Modified: head/contrib/netbsd-tests/lib/libc/stdio/t_fopen.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/stdio/t_fopen.c Sun Nov 15 10:58:01 2015 (r290855) +++ head/contrib/netbsd-tests/lib/libc/stdio/t_fopen.c Sun Nov 15 11:18:37 2015 (r290856) @@ -303,6 +303,7 @@ ATF_TC_BODY(fopen_perm, tc) ATF_REQUIRE_ERRNO(EACCES, fopen("/bin/ls", "w+") == NULL); } +#ifdef __NetBSD__ ATF_TC(fopen_regular); ATF_TC_HEAD(fopen_regular, tc) { @@ -335,6 +336,7 @@ ATF_TC_BODY(fopen_regular, tc) } } } +#endif ATF_TC_WITH_CLEANUP(fopen_seek); ATF_TC_HEAD(fopen_seek, tc) From owner-svn-src-head@freebsd.org Sun Nov 15 11:36:31 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 14465A2F879; Sun, 15 Nov 2015 11:36:31 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward20j.cmail.yandex.net (forward20j.cmail.yandex.net [IPv6:2a02:6b8:0:1630::f7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "forwards.mail.yandex.net", Issuer "Certum Level IV CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C72A21A94; Sun, 15 Nov 2015 11:36:30 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from web21j.yandex.ru (web21j.yandex.ru [5.45.198.62]) by forward20j.cmail.yandex.net (Yandex) with ESMTP id 77F98213FD; Sun, 15 Nov 2015 14:36:26 +0300 (MSK) Received: from 127.0.0.1 (localhost [127.0.0.1]) by web21j.yandex.ru (Yandex) with ESMTP id 5DA274540294; Sun, 15 Nov 2015 14:36:25 +0300 (MSK) Received: by web21j.yandex.ru with HTTP; Sun, 15 Nov 2015 14:36:24 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: Bryan Drewery , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" In-Reply-To: <5647A6BE.3070408@FreeBSD.org> References: <201511141816.tAEIGHVO000274@repo.freebsd.org> <5647A6BE.3070408@FreeBSD.org> Subject: Re: svn commit: r290828 - head/sys/net MIME-Version: 1.0 Message-Id: <93891447587384@web21j.yandex.ru> X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sun, 15 Nov 2015 14:36:24 +0300 Content-Transfer-Encoding: 7bit Content-Type: text/plain X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 11:36:31 -0000 Well, initially it was my mistake :) Anyway, AF_UNSPEC was better than non-deterministic "i". From owner-svn-src-head@freebsd.org Sun Nov 15 12:10:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0FD9A2E76B; Sun, 15 Nov 2015 12:10:53 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7990D12E1; Sun, 15 Nov 2015 12:10:53 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFCAqIn032661; Sun, 15 Nov 2015 12:10:52 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFCAqqu032656; Sun, 15 Nov 2015 12:10:52 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201511151210.tAFCAqqu032656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sun, 15 Nov 2015 12:10:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290857 - 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.20 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, 15 Nov 2015 12:10:53 -0000 Author: trasz Date: Sun Nov 15 12:10:51 2015 New Revision: 290857 URL: https://svnweb.freebsd.org/changeset/base/290857 Log: Speed up rctl operation with large rulesets, by holding the lock during iteration instead of relocking it for each traversed rule. Reviewed by: mjg@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4110 Modified: head/sys/kern/kern_jail.c head/sys/kern/kern_loginclass.c head/sys/kern/kern_racct.c head/sys/kern/kern_rctl.c head/sys/kern/kern_resource.c Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Sun Nov 15 11:18:37 2015 (r290856) +++ head/sys/kern/kern_jail.c Sun Nov 15 12:10:51 2015 (r290857) @@ -4480,15 +4480,20 @@ SYSCTL_JAIL_PARAM(_allow_mount, zfs, CTL #ifdef RACCT void prison_racct_foreach(void (*callback)(struct racct *racct, - void *arg2, void *arg3), void *arg2, void *arg3) + void *arg2, void *arg3), void (*pre)(void), void (*post)(void), + void *arg2, void *arg3) { struct prison_racct *prr; ASSERT_RACCT_ENABLED(); sx_slock(&allprison_lock); + if (pre != NULL) + (pre)(); LIST_FOREACH(prr, &allprison_racct, prr_next) (callback)(prr->prr_racct, arg2, arg3); + if (post != NULL) + (post)(); sx_sunlock(&allprison_lock); } Modified: head/sys/kern/kern_loginclass.c ============================================================================== --- head/sys/kern/kern_loginclass.c Sun Nov 15 11:18:37 2015 (r290856) +++ head/sys/kern/kern_loginclass.c Sun Nov 15 12:10:51 2015 (r290857) @@ -234,12 +234,17 @@ sys_setloginclass(struct thread *td, str void loginclass_racct_foreach(void (*callback)(struct racct *racct, - void *arg2, void *arg3), void *arg2, void *arg3) + void *arg2, void *arg3), void (*pre)(void), void (*post)(void), + void *arg2, void *arg3) { struct loginclass *lc; rw_rlock(&loginclasses_lock); + if (pre != NULL) + (pre)(); LIST_FOREACH(lc, &loginclasses, lc_next) (callback)(lc->lc_racct, arg2, arg3); + if (post != NULL) + (post)(); rw_runlock(&loginclasses_lock); } Modified: head/sys/kern/kern_racct.c ============================================================================== --- head/sys/kern/kern_racct.c Sun Nov 15 11:18:37 2015 (r290856) +++ head/sys/kern/kern_racct.c Sun Nov 15 12:10:51 2015 (r290857) @@ -1156,6 +1156,7 @@ racct_decay_resource(struct racct *racct int64_t r_old, r_new; ASSERT_RACCT_ENABLED(); + mtx_assert(&racct_lock, MA_OWNED); resource = *(int *)res; r_old = racct->r_resources[resource]; @@ -1164,9 +1165,21 @@ racct_decay_resource(struct racct *racct if (r_old <= 0) return; - mtx_lock(&racct_lock); r_new = r_old * RACCT_DECAY_FACTOR / FSCALE; racct->r_resources[resource] = r_new; +} + +static void +racct_decay_pre(void) +{ + + mtx_lock(&racct_lock); +} + +static void +racct_decay_post(void) +{ + mtx_unlock(&racct_lock); } @@ -1176,9 +1189,12 @@ racct_decay(int resource) ASSERT_RACCT_ENABLED(); - ui_racct_foreach(racct_decay_resource, &resource, NULL); - loginclass_racct_foreach(racct_decay_resource, &resource, NULL); - prison_racct_foreach(racct_decay_resource, &resource, NULL); + ui_racct_foreach(racct_decay_resource, racct_decay_pre, + racct_decay_post, &resource, NULL); + loginclass_racct_foreach(racct_decay_resource, racct_decay_pre, + racct_decay_post, &resource, NULL); + prison_racct_foreach(racct_decay_resource, racct_decay_pre, + racct_decay_post, &resource, NULL); } static void Modified: head/sys/kern/kern_rctl.c ============================================================================== --- head/sys/kern/kern_rctl.c Sun Nov 15 11:18:37 2015 (r290856) +++ head/sys/kern/kern_rctl.c Sun Nov 15 12:10:51 2015 (r290857) @@ -1150,16 +1150,29 @@ rctl_rule_add(struct rctl_rule *rule) } static void +rctl_rule_pre_callback(void) +{ + + rw_wlock(&rctl_lock); +} + +static void +rctl_rule_post_callback(void) +{ + + rw_wunlock(&rctl_lock); +} + +static void rctl_rule_remove_callback(struct racct *racct, void *arg2, void *arg3) { struct rctl_rule *filter = (struct rctl_rule *)arg2; int found = 0; ASSERT_RACCT_ENABLED(); + rw_assert(&rctl_lock, RA_WLOCKED); - rw_wlock(&rctl_lock); found += rctl_racct_remove_rules(racct, filter); - rw_wunlock(&rctl_lock); *((int *)arg3) += found; } @@ -1186,12 +1199,15 @@ rctl_rule_remove(struct rctl_rule *filte return (ESRCH); } - loginclass_racct_foreach(rctl_rule_remove_callback, filter, - (void *)&found); - ui_racct_foreach(rctl_rule_remove_callback, filter, - (void *)&found); - prison_racct_foreach(rctl_rule_remove_callback, filter, - (void *)&found); + loginclass_racct_foreach(rctl_rule_remove_callback, + rctl_rule_pre_callback, rctl_rule_post_callback, + filter, (void *)&found); + ui_racct_foreach(rctl_rule_remove_callback, + rctl_rule_pre_callback, rctl_rule_post_callback, + filter, (void *)&found); + prison_racct_foreach(rctl_rule_remove_callback, + rctl_rule_pre_callback, rctl_rule_post_callback, + filter, (void *)&found); sx_assert(&allproc_lock, SA_LOCKED); rw_wlock(&rctl_lock); @@ -1425,15 +1441,14 @@ rctl_get_rules_callback(struct racct *ra struct sbuf *sb = (struct sbuf *)arg3; ASSERT_RACCT_ENABLED(); + rw_assert(&rctl_lock, RA_LOCKED); - rw_rlock(&rctl_lock); LIST_FOREACH(link, &racct->r_rule_links, rrl_next) { if (!rctl_rule_matches(link->rrl_rule, filter)) continue; rctl_rule_to_sbuf(sb, link->rrl_rule); sbuf_printf(sb, ","); } - rw_runlock(&rctl_lock); } int @@ -1494,9 +1509,15 @@ sys_rctl_get_rules(struct thread *td, st rw_runlock(&rctl_lock); } - loginclass_racct_foreach(rctl_get_rules_callback, filter, sb); - ui_racct_foreach(rctl_get_rules_callback, filter, sb); - prison_racct_foreach(rctl_get_rules_callback, filter, sb); + loginclass_racct_foreach(rctl_get_rules_callback, + rctl_rule_pre_callback, rctl_rule_post_callback, + filter, sb); + ui_racct_foreach(rctl_get_rules_callback, + rctl_rule_pre_callback, rctl_rule_post_callback, + filter, sb); + prison_racct_foreach(rctl_get_rules_callback, + rctl_rule_pre_callback, rctl_rule_post_callback, + filter, sb); if (sbuf_error(sb) == ENOMEM) { error = ERANGE; goto out; Modified: head/sys/kern/kern_resource.c ============================================================================== --- head/sys/kern/kern_resource.c Sun Nov 15 11:18:37 2015 (r290856) +++ head/sys/kern/kern_resource.c Sun Nov 15 12:10:51 2015 (r290857) @@ -1356,17 +1356,22 @@ uifree(struct uidinfo *uip) #ifdef RACCT void ui_racct_foreach(void (*callback)(struct racct *racct, - void *arg2, void *arg3), void *arg2, void *arg3) + void *arg2, void *arg3), void (*pre)(void), void (*post)(void), + void *arg2, void *arg3) { struct uidinfo *uip; struct uihashhead *uih; rw_rlock(&uihashtbl_lock); + if (pre != NULL) + (pre)(); for (uih = &uihashtbl[uihash]; uih >= uihashtbl; uih--) { LIST_FOREACH(uip, uih, ui_hash) { (callback)(uip->ui_racct, arg2, arg3); } } + if (post != NULL) + (post)(); rw_runlock(&uihashtbl_lock); } #endif From owner-svn-src-head@freebsd.org Sun Nov 15 12:31:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B85EA2708C; Sun, 15 Nov 2015 12:31:39 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv157.fwdcdn.com (frv157.fwdcdn.com [212.42.77.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 518C5161C; Sun, 15 Nov 2015 12:31:38 +0000 (UTC) (envelope-from fidaj@ukr.net) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date; bh=SQNh921+c/mSl6Fv2rWL/GCjWGrh+5FPEGrshVAfRd4=; b=oibEEZrK6otjk4MwrwXRCe6c4QUwEDoJv/SYyTFRIv+/K6x8GZUcoyW6BJRvVzs5J7uF8mG0x0AeFFxrKxcJj81avUPV0/6Pwmz3wd76yidDU9CfU+Vam8f7jSVEaGS8Wdjn4i3wVh7y75j6FUw7d09sx59GsqBxzGVZ1xL3hLw=; Received: from [178.137.225.202] (helo=nonamehost.local) by frv157.fwdcdn.com with esmtpsa ID 1ZxwSv-000AmG-SO ; Sun, 15 Nov 2015 14:31:30 +0200 Date: Sun, 15 Nov 2015 14:31:24 +0200 From: Ivan Klymenko To: Edward Tomasz Napierala Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290857 - head/sys/kern Message-ID: <20151115143124.76946205@nonamehost.local> In-Reply-To: <201511151210.tAFCAqqu032656@repo.freebsd.org> References: <201511151210.tAFCAqqu032656@repo.freebsd.org> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.28; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Authentication-Result: IP=178.137.225.202; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 12:31:39 -0000 On Sun, 15 Nov 2015 12:10:52 +0000 (UTC) Edward Tomasz Napierala wrote: > Author: trasz > Date: Sun Nov 15 12:10:51 2015 > New Revision: 290857 > URL: https://svnweb.freebsd.org/changeset/base/290857 > > Log: > Speed up rctl operation with large rulesets, by holding the lock > during iteration instead of relocking it for each traversed rule. > > Reviewed by: mjg@ > MFC after: 1 month > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D4110 > > Modified: > head/sys/kern/kern_jail.c > head/sys/kern/kern_loginclass.c > head/sys/kern/kern_racct.c > head/sys/kern/kern_rctl.c > head/sys/kern/kern_resource.c > > Modified: head/sys/kern/kern_jail.c /usr/local/libexec/ccache/world/cc -target x86_64-unknown-freebsd11.0 --sysroot=/media/da0s1/obj/usr/src/tmp -B/media/da0s1/obj/usr/src/tmp/usr/bin -c -O2 -pipe -fno-strict-aliasing -march=native -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -O3 -fvectorize -fslp-vectorize -fblocks -fcolor-diagnostics -mno- aes -mno-avx -std=iso9899:1999 -Werror /usr/src/sys/kern/kern_jail.c /usr/src/sys/kern/kern_jail.c:4482:1: error: conflicting types for 'prison_racct_foreach' prison_racct_foreach(void (*callback)(struct racct *racct, ^ /usr/src/sys/sys/jail.h:407:6: note: previous declaration is here void prison_racct_foreach(void (*callback)(struct racct *racct, ^ 1 error generated. *** Error code 1 Stop. make[2]: stopped in /media/da0s1/obj/usr/src/sys/mk11 *** Error code 1 Stop. make[1]: stopped in /usr/src *** Error code 1 Stop. make: stopped in /usr/src From owner-svn-src-head@freebsd.org Sun Nov 15 12:44:32 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A4951A2744C; Sun, 15 Nov 2015 12:44:32 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 677661DAA; Sun, 15 Nov 2015 12:44:32 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFCiVnB044716; Sun, 15 Nov 2015 12:44:31 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFCiVk6044713; Sun, 15 Nov 2015 12:44:31 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151244.tAFCiVk6044713@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 12:44:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290859 - in head: . etc/mtree share/locale-links 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.20 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, 15 Nov 2015 12:44:32 -0000 Author: bapt Date: Sun Nov 15 12:44:31 2015 New Revision: 290859 URL: https://svnweb.freebsd.org/changeset/base/290859 Log: Rework locale-links to not make symlinks on directories but symlinks on files The goal here is to make the upgrade seamless for users Add aliases for zh_HK Remove bad symlinks created by previous bad upgrade procedure. Complete ObsoleteFiles.inc with more locales that have been removed Modified: head/ObsoleteFiles.inc head/etc/mtree/BSD.usr.dist head/share/locale-links/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Nov 15 12:16:08 2015 (r290858) +++ head/ObsoleteFiles.inc Sun Nov 15 12:44:31 2015 (r290859) @@ -38,9 +38,185 @@ # xargs -n1 | sort | uniq -d; # done +# 20151115: Fox bad upgrade scheme +OLD_FILES+=usr/share/locale/zh_CN.GB18030/zh_Hans_CN.GB18030 +OLD_FILES+=usr/share/locale/zh_CN.GB2312/zh_Hans_CN.GB2312 +OLD_FILES+=usr/share/locale/zh_CN.GBK/zh_Hans_CN.GBK +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/zh_Hans_CN.UTF-8 +OLD_FILES+=usr/share/locale/zh_CN.eucCN/zh_Hans_CN.eucCN +OLD_FILES+=usr/share/locale/zh_TW.Big5/zh_Hant_TW.Big5 +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/zh_Hant_TW.UTF-8 # 20151107: String collation improvements OLD_FILES+=usr/share/locale/UTF-8/LC_CTYPE OLD_DIRS+=usr/share/locale/UTF-8 +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_TIME +OLD_DIRS+=usr/share/locale/af_ZA.ISO8859-15 +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_MONETARY +OLD_DIRS+=usr/share/locale/ca_AD.ISO8859-1 +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_CTYPE +OLD_DIRS+=usr/share/locale/ca_FR.ISO8859-1 +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_TIME +OLD_DIRS+=usr/share/locale/ca_ES.ISO8859-1 +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_COLLATE +OLD_DIRS+=usr/share/locale/ca_IT.ISO8859-1 +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_CTYPE +OLD_DIRS+=usr/share/locale/da_DK.ISO8859-1 +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/de_AT.ISO8859-1 +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/de_CH.ISO8859-1 +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/de_DE.ISO8859-1 +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MONETARY +OLD_DIRS+=usr/share/locale/en_CA.ISO8859-15 +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MONETARY +OLD_DIRS+=usr/share/locale/en_AU.ISO8859-15 +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_MONETARY +OLD_DIRS+=usr/share/locale/en_GB.ISO8859-1 +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_NUMERIC +OLD_DIRS+=usr/share/locale/en_US.ISO8859-15 +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/es_ES.ISO8859-1 +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_MONETARY +OLD_DIRS+=usr/share/locale/eu_ES.ISO8859-1 +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_CTYPE +OLD_DIRS+=usr/share/locale/en_NZ.ISO8859-15 +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_MESSAGES +OLD_DIRS+=usr/share/locale/fi_FI.ISO8859-1 +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/fr_BE.ISO8859-1 +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_TIME +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MONETARY +OLD_DIRS+=usr/share/locale/fr_CA.ISO8859-15 +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MONETARY +OLD_DIRS+=usr/share/locale/fr_CH.ISO8859-1 +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_COLLATE +OLD_DIRS+=usr/share/locale/fr_FR.ISO8859-1 +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_TIME +OLD_DIRS+=usr/share/locale/it_CH.ISO8859-1 +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/is_IS.ISO8859-1 +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_MONETARY +OLD_DIRS+=usr/share/locale/it_IT.ISO8859-1 OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_COLLATE OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_CTYPE OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MESSAGES @@ -78,6 +254,13 @@ OLD_FILES+=usr/share/locale/la_LN.US-ASC OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_CTYPE OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_TIME OLD_DIRS+=usr/share/locale/la_LN.US-ASCII +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MESSAGES +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_TIME +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_COLLATE +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MONETARY +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_CTYPE +OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_NUMERIC +OLD_DIRS+=usr/share/locale/lt_LT.ISO8859-4 OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_MESSAGES @@ -85,6 +268,34 @@ OLD_FILES+=usr/share/locale/mn_MN.UTF-8/ OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_TIME OLD_DIRS+=usr/share/locale/mn_MN.UTF-8 +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_CTYPE +OLD_DIRS+=usr/share/locale/nb_NO.ISO8859-1 +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_COLLATE +OLD_DIRS+=usr/share/locale/nl_BE.ISO8859-1 +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_CTYPE +OLD_DIRS+=usr/share/locale/nl_NL.ISO8859-1 +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_NUMERIC +OLD_DIRS+=usr/share/locale/nn_NO.ISO8859-1 OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_COLLATE OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_CTYPE OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES @@ -106,6 +317,41 @@ OLD_FILES+=usr/share/locale/no_NO.UTF-8/ OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_TIME OLD_DIRS+=usr/share/locale/no_NO.UTF-8 +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_COLLATE +OLD_DIRS+=usr/share/locale/pt_PT.ISO8859-1 +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_COLLATE +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_TIME +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_CTYPE +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_MESSAGES +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_NUMERIC +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_MONETARY +OLD_DIRS+=usr/share/locale/sr_YU.ISO8859-2 +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_COLLATE +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_MONETARY +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_NUMERIC +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_CTYPE +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_TIME +OLD_FILES+=usr/share/locale/sr_YU.ISO8859-5/LC_MESSAGES +OLD_DIRS+=usr/share/locale/sr_YU.ISO8859-5 +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MESSAGES +OLD_DIRS+=usr/share/locale/sr_YU.UTF-8 +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_CTYPE +OLD_DIRS+=usr/share/locale/sv_SE.ISO8859-1 OLD_FILES+=usr/bin/colldef OLD_FILES+=usr/share/man/man1/colldef.1.gz OLD_FILES+=usr/bin/mklocale Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Sun Nov 15 12:16:08 2015 (r290858) +++ head/etc/mtree/BSD.usr.dist Sun Nov 15 12:44:31 2015 (r290859) @@ -811,6 +811,16 @@ .. uk_UA.UTF-8 .. + zh_CN.GB18030 + .. + zh_CN.GB2312 + .. + zh_CN.GBK + .. + zh_CN.eucCN + .. + zh_CN.UTF-8 + .. zh_Hans_CN.GB18030 .. zh_Hans_CN.GB2312 @@ -829,6 +839,14 @@ .. zh_Hant_TW.UTF-8 .. + zh_HK.Big5HKSCS + .. + zh_HK.UTF-8 + .. + zh_TW.Big5 + .. + zh_TW.UTF-8 + .. .. man /set uname=man Modified: head/share/locale-links/Makefile ============================================================================== --- head/share/locale-links/Makefile Sun Nov 15 12:16:08 2015 (r290858) +++ head/share/locale-links/Makefile Sun Nov 15 12:44:31 2015 (r290859) @@ -1,16 +1,28 @@ # $FreeBSD$ LOCALEDIR= ${SHAREDIR}/locale +LC_FILES= LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC \ + LC_TIME # We need to keep zh_CN.* around as aliases to zh_Hans_CN.* because some # of the lang catalogs use zh_CN still (e.g. vi), plus people may expect it # We won't alias zh_Hans_CN or zh_Hans_UTF8 though .for CN in GB18030 GB2312 GBK UTF-8 eucCN -SYMLINKS+= zh_Hans_CN.${CN} ${LOCALEDIR}/zh_CN.${CN} +.for f in ${LC_FILES} +SYMLINKS+= zh_Hans_CN.${CN}/${f} ${LOCALEDIR}/zh_CN.${CN}/${f} +.endfor +.endfor + +.for HK in Big5HKSCS UTF-8 +.for f in ${LC_FILES} +SYMLINKS+= zh_Hant_HK.${HK}/${f} ${LOCALEDIR}/zh_HK.${HK}/${f} +.endfor .endfor .for TW in Big5 UTF-8 -SYMLINKS+= zh_Hant_TW.${TW} ${LOCALEDIR}/zh_TW.${TW} +.for f in ${LC_FILES} +SYMLINKS+= zh_Hant_TW.${TW}/${f} ${LOCALEDIR}/zh_TW.${TW}/${f} +.endfor .endfor .include From owner-svn-src-head@freebsd.org Sun Nov 15 12:48:44 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 209AEA27592; Sun, 15 Nov 2015 12:48:44 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD768106E; Sun, 15 Nov 2015 12:48:43 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFCmgIk044935; Sun, 15 Nov 2015 12:48:42 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFCmgAq044931; Sun, 15 Nov 2015 12:48:42 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151248.tAFCmgAq044931@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 12:48:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290860 - head/lib/libc/tests/stdio 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.20 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, 15 Nov 2015 12:48:44 -0000 Author: bapt Date: Sun Nov 15 12:48:42 2015 New Revision: 290860 URL: https://svnweb.freebsd.org/changeset/base/290860 Log: Remove unused variables to fix building world Modified: head/lib/libc/tests/stdio/fmemopen2_test.c head/lib/libc/tests/stdio/getdelim_test.c head/lib/libc/tests/stdio/perror_test.c head/lib/libc/tests/stdio/scanfloat_test.c Modified: head/lib/libc/tests/stdio/fmemopen2_test.c ============================================================================== --- head/lib/libc/tests/stdio/fmemopen2_test.c Sun Nov 15 12:44:31 2015 (r290859) +++ head/lib/libc/tests/stdio/fmemopen2_test.c Sun Nov 15 12:48:42 2015 (r290860) @@ -105,10 +105,9 @@ ATF_TC_WITHOUT_HEAD(test_autoalloc); ATF_TC_BODY(test_autoalloc, tc) { /* Let fmemopen allocate the buffer. */ - char str[] = "A quick test"; FILE *fp; long pos; - size_t nofw, nofr, i; + size_t nofw, i; int rc; /* Open a FILE * using fmemopen. */ Modified: head/lib/libc/tests/stdio/getdelim_test.c ============================================================================== --- head/lib/libc/tests/stdio/getdelim_test.c Sun Nov 15 12:44:31 2015 (r290859) +++ head/lib/libc/tests/stdio/getdelim_test.c Sun Nov 15 12:48:42 2015 (r290860) @@ -113,7 +113,6 @@ ATF_TC_BODY(getline_basic, tc) ATF_TC_WITHOUT_HEAD(stream_error); ATF_TC_BODY(stream_error, tc) { - FILE *fp; char *line; size_t linecap; Modified: head/lib/libc/tests/stdio/perror_test.c ============================================================================== --- head/lib/libc/tests/stdio/perror_test.c Sun Nov 15 12:44:31 2015 (r290859) +++ head/lib/libc/tests/stdio/perror_test.c Sun Nov 15 12:48:42 2015 (r290860) @@ -48,7 +48,7 @@ static char tmpfil[PATH_MAX]; ATF_TC_WITHOUT_HEAD(perror_test); ATF_TC_BODY(perror_test, tc) { - char buf[512], lbuf[512]; + char lbuf[512]; int i; char *s; Modified: head/lib/libc/tests/stdio/scanfloat_test.c ============================================================================== --- head/lib/libc/tests/stdio/scanfloat_test.c Sun Nov 15 12:44:31 2015 (r290859) +++ head/lib/libc/tests/stdio/scanfloat_test.c Sun Nov 15 12:48:42 2015 (r290860) @@ -58,7 +58,6 @@ ATF_TC_BODY(normalized_numbers, tc) long double ld = 0.0; double d = 0.0; float f = 0.0; - char *endp; buf[0] = '\0'; ATF_REQUIRE(setlocale(LC_NUMERIC, "")); @@ -157,7 +156,6 @@ ATF_TC_BODY(infinities_and_nans, tc) long double ld = 0.0; double d = 0.0; float f = 0.0; - char *endp; ATF_REQUIRE(setlocale(LC_NUMERIC, "C")); @@ -205,11 +203,8 @@ ATF_TC_BODY(infinities_and_nans, tc) ATF_TC_WITHOUT_HEAD(rounding_tests); ATF_TC_BODY(rounding_tests, tc) { - char buf[128]; long double ld = 0.0; double d = 0.0; - float f = 0.0; - char *endp; ATF_REQUIRE(setlocale(LC_NUMERIC, "C")); @@ -287,10 +282,6 @@ ATF_TC_BODY(rounding_tests, tc) ATF_TC_WITHOUT_HEAD(strtod); ATF_TC_BODY(strtod, tc) { - char buf[128]; - long double ld = 0.0; - double d = 0.0; - float f = 0.0; char *endp; ATF_REQUIRE(setlocale(LC_NUMERIC, "C")); From owner-svn-src-head@freebsd.org Sun Nov 15 12:50:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 97E7BA27686; Sun, 15 Nov 2015 12:50:16 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A1AC1340; Sun, 15 Nov 2015 12:50:16 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFCoFDc045050; Sun, 15 Nov 2015 12:50:15 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFCoF6F045046; Sun, 15 Nov 2015 12:50:15 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201511151250.tAFCoF6F045046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sun, 15 Nov 2015 12:50:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290861 - head/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.20 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, 15 Nov 2015 12:50:16 -0000 Author: trasz Date: Sun Nov 15 12:50:14 2015 New Revision: 290861 URL: https://svnweb.freebsd.org/changeset/base/290861 Log: Doh, commit in a wrong directory. Fix r290857. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/sys/sys/jail.h head/sys/sys/loginclass.h head/sys/sys/resourcevar.h Modified: head/sys/sys/jail.h ============================================================================== --- head/sys/sys/jail.h Sun Nov 15 12:48:42 2015 (r290860) +++ head/sys/sys/jail.h Sun Nov 15 12:50:14 2015 (r290861) @@ -405,7 +405,8 @@ char *prison_name(struct prison *, struc int prison_priv_check(struct ucred *cred, int priv); int sysctl_jail_param(SYSCTL_HANDLER_ARGS); void prison_racct_foreach(void (*callback)(struct racct *racct, - void *arg2, void *arg3), void *arg2, void *arg3); + void *arg2, void *arg3), void (*pre)(void), void (*post)(void), + void *arg2, void *arg3); struct prison_racct *prison_racct_find(const char *name); void prison_racct_hold(struct prison_racct *prr); void prison_racct_free(struct prison_racct *prr); Modified: head/sys/sys/loginclass.h ============================================================================== --- head/sys/sys/loginclass.h Sun Nov 15 12:48:42 2015 (r290860) +++ head/sys/sys/loginclass.h Sun Nov 15 12:50:14 2015 (r290861) @@ -48,6 +48,7 @@ void loginclass_hold(struct loginclass * void loginclass_free(struct loginclass *lc); struct loginclass *loginclass_find(const char *name); void loginclass_racct_foreach(void (*callback)(struct racct *racct, - void *arg2, void *arg3), void *arg2, void *arg3); + void *arg2, void *arg3), void (*pre)(void), void (*post)(void), + void *arg2, void *arg3); #endif /* !_SYS_LOGINCLASS_H_ */ Modified: head/sys/sys/resourcevar.h ============================================================================== --- head/sys/sys/resourcevar.h Sun Nov 15 12:48:42 2015 (r290860) +++ head/sys/sys/resourcevar.h Sun Nov 15 12:50:14 2015 (r290861) @@ -156,7 +156,8 @@ void uihashinit(void); void uihold(struct uidinfo *uip); #ifdef RACCT void ui_racct_foreach(void (*callback)(struct racct *racct, - void *arg2, void *arg3), void *arg2, void *arg3); + void *arg2, void *arg3), void (*pre)(void), void (*post)(void), + void *arg2, void *arg3); #endif #endif /* _KERNEL */ From owner-svn-src-head@freebsd.org Sun Nov 15 12:53:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66E7DA277D8; Sun, 15 Nov 2015 12:53:53 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv157.fwdcdn.com (frv157.fwdcdn.com [212.42.77.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 53C86185E; Sun, 15 Nov 2015 12:53:52 +0000 (UTC) (envelope-from fidaj@ukr.net) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date; bh=JpBcwIQGeWiMzNR0SRY0KPKDZB+IMF577if1jalARPs=; b=okyH7P69N9u6IinxipIlPC/EsdatGs/lAtxDSRuogd2nMIl9nXJ25pMv/W7CcYAeyy1ugkk+EFsBZ6YDV0vFRBM9BYq03THycYbGWX5G+eSlOKyZrVWZPw+Cm/h0i4uvkLWDCI+t+ofcWeZIuhODFgO3mCP0Ssq02N5bTQ5Bd7U=; Received: from [178.137.225.202] (helo=nonamehost.local) by frv157.fwdcdn.com with esmtpsa ID 1ZxwoY-000K02-22 ; Sun, 15 Nov 2015 14:53:50 +0200 Date: Sun, 15 Nov 2015 14:53:49 +0200 From: Ivan Klymenko To: Edward Tomasz Napierala Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290861 - head/sys/sys Message-ID: <20151115145349.2082a694@nonamehost.local> In-Reply-To: <201511151250.tAFCoF6F045046@repo.freebsd.org> References: <201511151250.tAFCoF6F045046@repo.freebsd.org> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.28; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Authentication-Result: IP=178.137.225.202; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 12:53:53 -0000 On Sun, 15 Nov 2015 12:50:15 +0000 (UTC) Edward Tomasz Napierala wrote: > Author: trasz > Date: Sun Nov 15 12:50:14 2015 > New Revision: 290861 > URL: https://svnweb.freebsd.org/changeset/base/290861 > > Log: > Doh, commit in a wrong directory. Fix r290857. > > MFC after: 1 month > Sponsored by: The FreeBSD Foundation > > Modified: > head/sys/sys/jail.h > head/sys/sys/loginclass.h > head/sys/sys/resourcevar.h > > Modified: head/sys/sys/jail.h > Thanks! From owner-svn-src-head@freebsd.org Sun Nov 15 13:09:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E6E0CA27D0A; Sun, 15 Nov 2015 13:09:09 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B12D012A3; Sun, 15 Nov 2015 13:09:09 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFD98RR050913; Sun, 15 Nov 2015 13:09:08 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFD98fQ050912; Sun, 15 Nov 2015 13:09:08 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151309.tAFD98fQ050912@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 13:09:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290862 - head/share/locale-links 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.20 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, 15 Nov 2015 13:09:10 -0000 Author: bapt Date: Sun Nov 15 13:09:08 2015 New Revision: 290862 URL: https://svnweb.freebsd.org/changeset/base/290862 Log: Simplify a bit the aliases generation Modified: head/share/locale-links/Makefile Modified: head/share/locale-links/Makefile ============================================================================== --- head/share/locale-links/Makefile Sun Nov 15 12:50:14 2015 (r290861) +++ head/share/locale-links/Makefile Sun Nov 15 13:09:08 2015 (r290862) @@ -4,24 +4,18 @@ LOCALEDIR= ${SHAREDIR}/locale LC_FILES= LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC \ LC_TIME -# We need to keep zh_CN.* around as aliases to zh_Hans_CN.* because some -# of the lang catalogs use zh_CN still (e.g. vi), plus people may expect it -# We won't alias zh_Hans_CN or zh_Hans_UTF8 though -.for CN in GB18030 GB2312 GBK UTF-8 eucCN -.for f in ${LC_FILES} -SYMLINKS+= zh_Hans_CN.${CN}/${f} ${LOCALEDIR}/zh_CN.${CN}/${f} -.endfor -.endfor - -.for HK in Big5HKSCS UTF-8 -.for f in ${LC_FILES} -SYMLINKS+= zh_Hant_HK.${HK}/${f} ${LOCALEDIR}/zh_HK.${HK}/${f} -.endfor -.endfor +ALIASES= zh_Hans_CN.GB18030 zh_CN.GB18030 \ + zh_Hans_CN.GB2312 zh_CN.GB2312 \ + zh_Hans_CN.GBK zh_CN.GBK \ + zh_Hans_CN.eucCN zh_CN.eucCN \ + zh_Hant_HK.Big5HKSCS zh_HK.Big5HKSCS \ + zh_Hant_HK.UTF-8 zh_HK.UTF-8 \ + zh_Hant_TW.Big5 zh_TW.Big5 \ + zh_Hant_TW.UTF-8 zh_TW.UTF-8 -.for TW in Big5 UTF-8 +.for from to in ${ALIASES} .for f in ${LC_FILES} -SYMLINKS+= zh_Hant_TW.${TW}/${f} ${LOCALEDIR}/zh_TW.${TW}/${f} +SYMLINKS+= ${from}/${f} ${LOCALEDIR}/${to}/${f} .endfor .endfor From owner-svn-src-head@freebsd.org Sun Nov 15 13:19:27 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B5A3A2F059; Sun, 15 Nov 2015 13:19:27 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 8DD6B1AE7; Sun, 15 Nov 2015 13:19:27 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 8DE70120F; Sun, 15 Nov 2015 13:19:27 +0000 (UTC) Date: Sun, 15 Nov 2015 13:19:27 +0000 From: Alexey Dokuchaev To: Baptiste Daroussin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290620 - head/lib/libc/locale Message-ID: <20151115131927.GA80589@FreeBSD.org> References: <201511092211.tA9MBb0O062935@repo.freebsd.org> <20151110073435.GA68685@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151110073435.GA68685@FreeBSD.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 13:19:27 -0000 On Tue, Nov 10, 2015 at 07:34:35AM +0000, Alexey Dokuchaev wrote: > On Mon, Nov 09, 2015 at 10:11:37PM +0000, Baptiste Daroussin wrote: > > New Revision: 290620 > > URL: https://svnweb.freebsd.org/changeset/base/290620 > > > > Log: > > Readd ascii.c forgotten in r290618 > > > > Added: > > head/lib/libc/locale/ascii.c (contents, props changed) > > I think it should've been repocopied. Am I wrong? ./danfe From owner-svn-src-head@freebsd.org Sun Nov 15 13:26:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 00FC1A2F20E; Sun, 15 Nov 2015 13:26:26 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 994971025; Sun, 15 Nov 2015 13:26:25 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wmec201 with SMTP id c201so86495010wme.1; Sun, 15 Nov 2015 05:26:23 -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=7aI45ZSi6Ina4kemQ2+Lc5JKZZrGoaBYVDg7FgjbKkI=; b=vDtMT0qKaSx0j0Xcc9hGrtS/d514fzabk7pSfg8k2Fq6UpGsX/xp8NFHJEflITfIG/ v6o0Rx0ml8Lk2W5G2D4AAlt3xW/GaRnYymkbr0EAbMzEjlH9+cYC4kZBsJNWxG2Kb/vF Jnmw5oP+0Rmvr5eQwAnjoyCPtOYzgXaS9+dIER/ZLe3+kmALwpWzVYVMA5xTuL3Kb+iO sGFWBNqmUZ88CfednUE0yvXH2dz4rD+xbDtB/sQhBL7kU6ozORi4G/2xOOcCVoeyGVqH 5TurZrsErMt1G+L4t6zItjq0wv/2mGgxVmHuriCKS0aC28rK0OweDgGU2WCwsgafDyut lYmw== X-Received: by 10.28.30.208 with SMTP id e199mr14314892wme.22.1447593983845; Sun, 15 Nov 2015 05:26:23 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id da10sm6401205wjb.22.2015.11.15.05.26.22 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 Nov 2015 05:26:23 -0800 (PST) Sender: Baptiste Daroussin Date: Sun, 15 Nov 2015 14:26:21 +0100 From: Baptiste Daroussin To: Alexey Dokuchaev Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r290620 - head/lib/libc/locale Message-ID: <20151115132620.GD93991@ivaldir.etoilebsd.net> References: <201511092211.tA9MBb0O062935@repo.freebsd.org> <20151110073435.GA68685@FreeBSD.org> <20151115131927.GA80589@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="/unnNtmY43mpUSKx" Content-Disposition: inline In-Reply-To: <20151115131927.GA80589@FreeBSD.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 13:26:26 -0000 --/unnNtmY43mpUSKx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 15, 2015 at 01:19:27PM +0000, Alexey Dokuchaev wrote: > On Tue, Nov 10, 2015 at 07:34:35AM +0000, Alexey Dokuchaev wrote: > > On Mon, Nov 09, 2015 at 10:11:37PM +0000, Baptiste Daroussin wrote: > > > New Revision: 290620 > > > URL: https://svnweb.freebsd.org/changeset/base/290620 > > >=20 > > > Log: > > > Readd ascii.c forgotten in r290618 > > >=20 > > > Added: > > > head/lib/libc/locale/ascii.c (contents, props changed) > >=20 > > I think it should've been repocopied. >=20 > Am I wrong? >=20 yes and no. actually the new ascii.c is based on none.c and not from the old ascii.c This one should have been repocopied but I have no idea how to fix afterward without messing up even more the history. Bapt --/unnNtmY43mpUSKx Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlZIh/wACgkQ8kTtMUmk6EwXsACdGwq1kNya97eWYIDzyaeBvae5 s1sAn1xXpX3imJIbQwurkJa5/+sDempz =Mkl5 -----END PGP SIGNATURE----- --/unnNtmY43mpUSKx-- From owner-svn-src-head@freebsd.org Sun Nov 15 13:44:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29B89A2F80B; Sun, 15 Nov 2015 13:44:55 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 1B4C91D2B; Sun, 15 Nov 2015 13:44:55 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 1B1C41AB4; Sun, 15 Nov 2015 13:44:55 +0000 (UTC) Date: Sun, 15 Nov 2015 13:44:55 +0000 From: Alexey Dokuchaev To: Baptiste Daroussin Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r290620 - head/lib/libc/locale Message-ID: <20151115134455.GA87900@FreeBSD.org> References: <201511092211.tA9MBb0O062935@repo.freebsd.org> <20151110073435.GA68685@FreeBSD.org> <20151115131927.GA80589@FreeBSD.org> <20151115132620.GD93991@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151115132620.GD93991@ivaldir.etoilebsd.net> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 13:44:55 -0000 On Sun, Nov 15, 2015 at 02:26:21PM +0100, Baptiste Daroussin wrote: > On Sun, Nov 15, 2015 at 01:19:27PM +0000, Alexey Dokuchaev wrote: > > On Tue, Nov 10, 2015 at 07:34:35AM +0000, Alexey Dokuchaev wrote: > > > On Mon, Nov 09, 2015 at 10:11:37PM +0000, Baptiste Daroussin wrote: > > > > New Revision: 290620 > > > > URL: https://svnweb.freebsd.org/changeset/base/290620 > > > > > > > > Log: > > > > Readd ascii.c forgotten in r290618 > > > > > > > > Added: > > > > head/lib/libc/locale/ascii.c (contents, props changed) > > > > > > I think it should've been repocopied. > > > > Am I wrong? > > yes and no. > > actually the new ascii.c is based on none.c and not from the old ascii.c This is nice piece of information that could've made in the commit log. :) > This one should have been repocopied but I have no idea how to fix > afterward without messing up even more the history. Hmm, wouldn't the following work?: svn cp .../ascii.c@last-rev-before-replace ascii.c svn ci -m '... explaining the need for repocopy and that the new ascii.c is based on none.c' ascii.c ./danfe From owner-svn-src-head@freebsd.org Sun Nov 15 14:19:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2346A2FE13; Sun, 15 Nov 2015 14:19:09 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5D51B1C0F; Sun, 15 Nov 2015 14:19:09 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFEJ814071075; Sun, 15 Nov 2015 14:19:08 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFEJ8no071074; Sun, 15 Nov 2015 14:19:08 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151419.tAFEJ8no071074@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 14:19:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290863 - head/tools/tools/locale 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.20 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, 15 Nov 2015 14:19:09 -0000 Author: bapt Date: Sun Nov 15 14:19:08 2015 New Revision: 290863 URL: https://svnweb.freebsd.org/changeset/base/290863 Log: Allow to generate the locale when the source directory is not /usr/src Modified: head/tools/tools/locale/Makefile Modified: head/tools/tools/locale/Makefile ============================================================================== --- head/tools/tools/locale/Makefile Sun Nov 15 13:09:08 2015 (r290862) +++ head/tools/tools/locale/Makefile Sun Nov 15 14:19:08 2015 (r290863) @@ -41,15 +41,15 @@ install: .for t in ${TYPES} . if ${KNOWN:M${t}} rm -rf ${.CURDIR}/${t}.draft - rm -rf ${DESTDIR}/usr/src/share/${t} - mv ${.CURDIR}/${t} ${DESTDIR}/usr/src/share/ + rm -rf ${.CURDIR}/../../../share/${t} + mv ${.CURDIR}/${t} ${.CURDIR}/../../../share/${t} . endif .endfor post-install: .for t in ${TYPES} . if ${KNOWN:M${t}} - (cd ${DESTDIR}/usr/src/share/${t} && \ + (cd ${.CURDIR}/../../../share/${t} && \ make && make install && make clean) . endif .endfor From owner-svn-src-head@freebsd.org Sun Nov 15 14:19:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6704EA2FE73; Sun, 15 Nov 2015 14:19:57 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3EA1A1D63; Sun, 15 Nov 2015 14:19:57 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFEJuwL071140; Sun, 15 Nov 2015 14:19:56 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFEJuq1071139; Sun, 15 Nov 2015 14:19:56 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151419.tAFEJuq1071139@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 14:19:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290864 - head/tools/tools/locale/etc 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.20 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, 15 Nov 2015 14:19:57 -0000 Author: bapt Date: Sun Nov 15 14:19:56 2015 New Revision: 290864 URL: https://svnweb.freebsd.org/changeset/base/290864 Log: Add ISO8859-1 everywhere ISO8859-15 exists Modified: head/tools/tools/locale/etc/charmaps.xml Modified: head/tools/tools/locale/etc/charmaps.xml ============================================================================== --- head/tools/tools/locale/etc/charmaps.xml Sun Nov 15 14:19:08 2015 (r290863) +++ head/tools/tools/locale/etc/charmaps.xml Sun Nov 15 14:19:56 2015 (r290864) @@ -42,28 +42,28 @@ countries="BG" /> Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B313DA2F05B for ; Sun, 15 Nov 2015 14:28:27 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 938691236 for ; Sun, 15 Nov 2015 14:28:27 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from ilsoft.org (unknown [73.34.117.227]) by outbound1.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Sun, 15 Nov 2015 14:27:32 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id tAFERIQa010128; Sun, 15 Nov 2015 07:27:18 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1447597638.1254.16.camel@freebsd.org> Subject: Re: svn commit: r290840 - head/etc From: Ian Lepore To: Garrett Cooper , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Sun, 15 Nov 2015 07:27:18 -0700 In-Reply-To: <201511150304.tAF34dD2062713@repo.freebsd.org> References: <201511150304.tAF34dD2062713@repo.freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 15 Nov 2015 14:28:27 -0000 On Sun, 2015-11-15 at 03:04 +0000, Garrett Cooper wrote: > Author: ngie > Date: Sun Nov 15 03:04:39 2015 > New Revision: 290840 > URL: https://svnweb.freebsd.org/changeset/base/290840 > > Log: > Setup the symlink to /sys to mirror one's current source, e.g. if > my source > tree was /usr/src/svn, /sys would point to usr/src/svn > > This fixes the assumption that the source tree will always exist at > ${DESTDIR}/usr/src > > MFC after: 1 week > PR: 76362 > Reported by: Scot Hetzel > Sponsored by: EMC / Isilon Storage Division > > Modified: > head/etc/Makefile > > Modified: head/etc/Makefile > ===================================================================== > ========= > --- head/etc/Makefile Sun Nov 15 01:50:17 2015 (r290839 > ) > +++ head/etc/Makefile Sun Nov 15 03:04:39 2015 (r290840 > ) > @@ -408,7 +408,7 @@ distrib-dirs: ${MTREES:N/*} distrib-clea > ${METALOG.add} ; \ > done; true > .endif > - ${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys > + ${INSTALL_SYMLINK} ${SRCTOP:C/^\///}/sys ${DESTDIR}/sys > .if ${MK_MAN} != "no" > cd ${DESTDIR}${SHAREDIR}/man; \ > for mandir in man*; do \ > This might make some sense if DESTDIR is empty or /, but with most uses of non-empty DESTDIR this is just going to make a symlink to some random place that likely won't even exist on the running system. If source code is later installed to that DESTDIR as well, the /sys link will just be broken in a way that's likely to lead to very confusing errors. -- Ian From owner-svn-src-head@freebsd.org Sun Nov 15 14:34:30 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82A91A2F238; Sun, 15 Nov 2015 14:34:30 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 497E617C2; Sun, 15 Nov 2015 14:34:30 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFEYTsr076903; Sun, 15 Nov 2015 14:34:29 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFEYTNF076902; Sun, 15 Nov 2015 14:34:29 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151434.tAFEYTNF076902@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 14:34:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290865 - head/tools/tools/locale/tools 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.20 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, 15 Nov 2015 14:34:30 -0000 Author: bapt Date: Sun Nov 15 14:34:29 2015 New Revision: 290865 URL: https://svnweb.freebsd.org/changeset/base/290865 Log: Generate in the FreeBSD keyword when generating the Makefiles Modified: head/tools/tools/locale/tools/cldr2def.pl Modified: head/tools/tools/locale/tools/cldr2def.pl ============================================================================== --- head/tools/tools/locale/tools/cldr2def.pl Sun Nov 15 14:19:56 2015 (r290864) +++ head/tools/tools/locale/tools/cldr2def.pl Sun Nov 15 14:34:29 2015 (r290865) @@ -831,6 +831,7 @@ sub make_makefile { } open(FOUT, ">$TYPE.draft/Makefile"); print FOUT < Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0256A2F70E; Sun, 15 Nov 2015 14:51:11 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 665721F2F; Sun, 15 Nov 2015 14:51:11 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFEpAxL080328; Sun, 15 Nov 2015 14:51:10 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFEpAsG080323; Sun, 15 Nov 2015 14:51:10 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151451.tAFEpAsG080323@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 14:51:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290866 - in head: . etc/mtree share/colldef share/ctypedef share/monetdef share/msgdef share/numericdef share/timedef 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.20 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, 15 Nov 2015 14:51:11 -0000 Author: bapt Date: Sun Nov 15 14:51:10 2015 New Revision: 290866 URL: https://svnweb.freebsd.org/changeset/base/290866 Log: Regenerate locales after readding ISO8859-1 for locales that have ISO8859-15 Requested by: arche Added: head/share/ctypedef/ca_IT.ISO8859-1.src - copied unchanged from r290865, head/share/ctypedef/ca_IT.ISO8859-15.src head/share/ctypedef/ja_JP.eucJP.src - copied unchanged from r290865, head/share/ctypedef/ja_JP.SJIS.src head/share/ctypedef/zh_Hans_CN.eucCN.src - copied unchanged from r290865, head/share/ctypedef/zh_Hans_CN.GB18030.src head/share/monetdef/de_AT.ISO8859-1.src (contents, props changed) head/share/monetdef/en_IE.ISO8859-1.src (contents, props changed) head/share/monetdef/nl_NL.ISO8859-1.src (contents, props changed) head/share/monetdef/sv_FI.ISO8859-1.src (contents, props changed) Deleted: head/share/ctypedef/ca_IT.ISO8859-15.src head/share/ctypedef/ja_JP.SJIS.src head/share/ctypedef/zh_Hans_CN.GB18030.src head/share/monetdef/sk_SK.ISO8859-2.src Modified: head/ObsoleteFiles.inc head/etc/mtree/BSD.usr.dist head/share/colldef/Makefile head/share/ctypedef/Makefile head/share/monetdef/Makefile head/share/msgdef/Makefile head/share/numericdef/Makefile head/share/timedef/Makefile Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Nov 15 14:34:29 2015 (r290865) +++ head/ObsoleteFiles.inc Sun Nov 15 14:51:10 2015 (r290866) @@ -49,69 +49,6 @@ OLD_FILES+=usr/share/locale/zh_TW.UTF-8/ # 20151107: String collation improvements OLD_FILES+=usr/share/locale/UTF-8/LC_CTYPE OLD_DIRS+=usr/share/locale/UTF-8 -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_TIME -OLD_DIRS+=usr/share/locale/af_ZA.ISO8859-15 -OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/ca_AD.ISO8859-1/LC_MONETARY -OLD_DIRS+=usr/share/locale/ca_AD.ISO8859-1 -OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/ca_FR.ISO8859-1/LC_CTYPE -OLD_DIRS+=usr/share/locale/ca_FR.ISO8859-1 -OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/ca_ES.ISO8859-1/LC_TIME -OLD_DIRS+=usr/share/locale/ca_ES.ISO8859-1 -OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/ca_IT.ISO8859-1/LC_COLLATE -OLD_DIRS+=usr/share/locale/ca_IT.ISO8859-1 -OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/da_DK.ISO8859-1/LC_CTYPE -OLD_DIRS+=usr/share/locale/da_DK.ISO8859-1 -OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/de_AT.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/de_AT.ISO8859-1 -OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/de_CH.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/de_CH.ISO8859-1 -OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/de_DE.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/de_DE.ISO8859-1 OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_NUMERIC OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MESSAGES OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_TIME @@ -126,13 +63,6 @@ OLD_FILES+=usr/share/locale/en_AU.ISO885 OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_NUMERIC OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MONETARY OLD_DIRS+=usr/share/locale/en_AU.ISO8859-15 -OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_GB.ISO8859-1/LC_MONETARY -OLD_DIRS+=usr/share/locale/en_GB.ISO8859-1 OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_CTYPE OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MESSAGES OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_COLLATE @@ -140,20 +70,6 @@ OLD_FILES+=usr/share/locale/en_US.ISO885 OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MONETARY OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_NUMERIC OLD_DIRS+=usr/share/locale/en_US.ISO8859-15 -OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/es_ES.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/es_ES.ISO8859-1 -OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/eu_ES.ISO8859-1/LC_MONETARY -OLD_DIRS+=usr/share/locale/eu_ES.ISO8859-1 OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MESSAGES OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_COLLATE OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_TIME @@ -161,20 +77,6 @@ OLD_FILES+=usr/share/locale/en_NZ.ISO885 OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_NUMERIC OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_CTYPE OLD_DIRS+=usr/share/locale/en_NZ.ISO8859-15 -OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/fi_FI.ISO8859-1/LC_MESSAGES -OLD_DIRS+=usr/share/locale/fi_FI.ISO8859-1 -OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/fr_BE.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/fr_BE.ISO8859-1 OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_COLLATE OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MESSAGES OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_CTYPE @@ -182,41 +84,6 @@ OLD_FILES+=usr/share/locale/fr_CA.ISO885 OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_NUMERIC OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MONETARY OLD_DIRS+=usr/share/locale/fr_CA.ISO8859-15 -OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MONETARY -OLD_DIRS+=usr/share/locale/fr_CH.ISO8859-1 -OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/fr_FR.ISO8859-1/LC_COLLATE -OLD_DIRS+=usr/share/locale/fr_FR.ISO8859-1 -OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/it_CH.ISO8859-1/LC_TIME -OLD_DIRS+=usr/share/locale/it_CH.ISO8859-1 -OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/is_IS.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/is_IS.ISO8859-1 -OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/it_IT.ISO8859-1/LC_MONETARY -OLD_DIRS+=usr/share/locale/it_IT.ISO8859-1 OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_COLLATE OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_CTYPE OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MESSAGES @@ -268,34 +135,6 @@ OLD_FILES+=usr/share/locale/mn_MN.UTF-8/ OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_TIME OLD_DIRS+=usr/share/locale/mn_MN.UTF-8 -OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/nb_NO.ISO8859-1/LC_CTYPE -OLD_DIRS+=usr/share/locale/nb_NO.ISO8859-1 -OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/nl_BE.ISO8859-1/LC_COLLATE -OLD_DIRS+=usr/share/locale/nl_BE.ISO8859-1 -OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/nl_NL.ISO8859-1/LC_CTYPE -OLD_DIRS+=usr/share/locale/nl_NL.ISO8859-1 -OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/nn_NO.ISO8859-1/LC_NUMERIC -OLD_DIRS+=usr/share/locale/nn_NO.ISO8859-1 OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_COLLATE OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_CTYPE OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES @@ -317,13 +156,6 @@ OLD_FILES+=usr/share/locale/no_NO.UTF-8/ OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_TIME OLD_DIRS+=usr/share/locale/no_NO.UTF-8 -OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/pt_PT.ISO8859-1/LC_COLLATE -OLD_DIRS+=usr/share/locale/pt_PT.ISO8859-1 OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_COLLATE OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_TIME OLD_FILES+=usr/share/locale/sr_YU.ISO8859-2/LC_CTYPE @@ -345,13 +177,6 @@ OLD_FILES+=usr/share/locale/sr_YU.UTF-8/ OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/sr_YU.UTF-8/LC_MESSAGES OLD_DIRS+=usr/share/locale/sr_YU.UTF-8 -OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/sv_SE.ISO8859-1/LC_CTYPE -OLD_DIRS+=usr/share/locale/sv_SE.ISO8859-1 OLD_FILES+=usr/bin/colldef OLD_FILES+=usr/share/man/man1/colldef.1.gz OLD_FILES+=usr/bin/mklocale Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Sun Nov 15 14:34:29 2015 (r290865) +++ head/etc/mtree/BSD.usr.dist Sun Nov 15 14:51:10 2015 (r290866) @@ -543,12 +543,20 @@ .. bg_BG.UTF-8 .. + ca_AD.ISO8859-1 + .. ca_AD.ISO8859-15 .. + ca_ES.ISO8859-1 + .. ca_ES.ISO8859-15 .. + ca_FR.ISO8859-1 + .. ca_FR.ISO8859-15 .. + ca_IT.ISO8859-1 + .. ca_IT.ISO8859-15 .. ca_AD.UTF-8 @@ -563,18 +571,26 @@ .. cs_CZ.UTF-8 .. + da_DK.ISO8859-1 + .. da_DK.ISO8859-15 .. da_DK.UTF-8 .. + de_AT.ISO8859-1 + .. de_AT.ISO8859-15 .. de_AT.UTF-8 .. + de_CH.ISO8859-1 + .. de_CH.ISO8859-15 .. de_CH.UTF-8 .. + de_DE.ISO8859-1 + .. de_DE.ISO8859-15 .. de_DE.UTF-8 @@ -595,6 +611,8 @@ .. en_CA.UTF-8 .. + en_GB.ISO8859-1 + .. en_GB.ISO8859-15 .. en_GB.US-ASCII @@ -605,6 +623,8 @@ .. en_HK.UTF-8 .. + en_IE.ISO8859-1 + .. en_IE.ISO8859-15 .. en_IE.UTF-8 @@ -639,6 +659,8 @@ .. es_CR.UTF-8 .. + es_ES.ISO8859-1 + .. es_ES.ISO8859-15 .. es_ES.UTF-8 @@ -647,18 +669,26 @@ .. es_MX.UTF-8 .. + et_EE.ISO8859-1 + .. et_EE.ISO8859-15 .. et_EE.UTF-8 .. + eu_ES.ISO8859-1 + .. eu_ES.ISO8859-15 .. eu_ES.UTF-8 .. + fi_FI.ISO8859-1 + .. fi_FI.ISO8859-15 .. fi_FI.UTF-8 .. + fr_BE.ISO8859-1 + .. fr_BE.ISO8859-15 .. fr_BE.UTF-8 @@ -667,10 +697,14 @@ .. fr_CA.UTF-8 .. + fr_CH.ISO8859-1 + .. fr_CH.ISO8859-15 .. fr_CH.UTF-8 .. + fr_FR.ISO8859-1 + .. fr_FR.ISO8859-15 .. fr_FR.UTF-8 @@ -693,14 +727,20 @@ .. hy_AM.UTF-8 .. + is_IS.ISO8859-1 + .. is_IS.ISO8859-15 .. is_IS.UTF-8 .. + it_CH.ISO8859-1 + .. it_CH.ISO8859-15 .. it_CH.UTF-8 .. + it_IT.ISO8859-1 + .. it_IT.ISO8859-15 .. it_IT.UTF-8 @@ -729,18 +769,26 @@ .. mn_Cyrl_MN.UTF-8 .. + nb_NO.ISO8859-1 + .. nb_NO.ISO8859-15 .. nb_NO.UTF-8 .. + nl_BE.ISO8859-1 + .. nl_BE.ISO8859-15 .. nl_BE.UTF-8 .. + nl_NL.ISO8859-1 + .. nl_NL.ISO8859-15 .. nl_NL.UTF-8 .. + nn_NO.ISO8859-1 + .. nn_NO.ISO8859-15 .. nn_NO.UTF-8 @@ -753,6 +801,8 @@ .. pt_BR.UTF-8 .. + pt_PT.ISO8859-1 + .. pt_PT.ISO8859-15 .. pt_PT.UTF-8 @@ -791,10 +841,14 @@ .. sr_Latn_RS.UTF-8 .. + sv_FI.ISO8859-1 + .. sv_FI.ISO8859-15 .. sv_FI.UTF-8 .. + sv_SE.ISO8859-1 + .. sv_SE.ISO8859-15 .. sv_SE.UTF-8 @@ -1239,22 +1293,8 @@ .. ko_KR.eucKR .. - la_LN.ISO8859-1 - .. - la_LN.ISO8859-13 - .. - la_LN.ISO8859-15 - .. - la_LN.ISO8859-2 - .. - la_LN.ISO8859-4 - .. - la_LN.US-ASCII - .. lt_LT.ISO8859-13 .. - lt_LT.ISO8859-4 - .. lt_LT.UTF-8 .. lv_LV.ISO8859-13 Modified: head/share/colldef/Makefile ============================================================================== --- head/share/colldef/Makefile Sun Nov 15 14:34:29 2015 (r290865) +++ head/share/colldef/Makefile Sun Nov 15 14:51:10 2015 (r290866) @@ -67,39 +67,54 @@ SAME+= ru_RU.UTF-8:bg_BG.UTF-8 SAME+= ru_RU.UTF-8:bg_BG.CP1251 SAME+= ca_AD.UTF-8:ca_IT.UTF-8 SAME+= ca_AD.UTF-8:ca_IT.ISO8859-15 +SAME+= ca_AD.UTF-8:ca_IT.ISO8859-1 SAME+= ca_AD.UTF-8:ca_FR.UTF-8 SAME+= ca_AD.UTF-8:ca_FR.ISO8859-15 +SAME+= ca_AD.UTF-8:ca_FR.ISO8859-1 SAME+= ca_AD.UTF-8:ca_ES.UTF-8 SAME+= ca_AD.UTF-8:ca_ES.ISO8859-15 +SAME+= ca_AD.UTF-8:ca_ES.ISO8859-1 SAME+= ca_AD.UTF-8:ca_AD.ISO8859-15 +SAME+= ca_AD.UTF-8:ca_AD.ISO8859-1 SAME+= cs_CZ.UTF-8:cs_CZ.ISO8859-2 SAME+= da_DK.UTF-8:da_DK.ISO8859-15 +SAME+= da_DK.UTF-8:da_DK.ISO8859-1 SAME+= en_US.UTF-8:sr_Latn_RS.UTF-8 SAME+= en_US.UTF-8:sr_Latn_RS.ISO8859-2 SAME+= en_US.UTF-8:pt_PT.UTF-8 SAME+= en_US.UTF-8:pt_PT.ISO8859-15 +SAME+= en_US.UTF-8:pt_PT.ISO8859-1 SAME+= en_US.UTF-8:pt_BR.UTF-8 SAME+= en_US.UTF-8:pt_BR.ISO8859-1 SAME+= en_US.UTF-8:nn_NO.UTF-8 SAME+= en_US.UTF-8:nn_NO.ISO8859-15 +SAME+= en_US.UTF-8:nn_NO.ISO8859-1 SAME+= en_US.UTF-8:nl_NL.UTF-8 SAME+= en_US.UTF-8:nl_NL.ISO8859-15 +SAME+= en_US.UTF-8:nl_NL.ISO8859-1 SAME+= en_US.UTF-8:nl_BE.UTF-8 SAME+= en_US.UTF-8:nl_BE.ISO8859-15 +SAME+= en_US.UTF-8:nl_BE.ISO8859-1 SAME+= en_US.UTF-8:it_IT.UTF-8 SAME+= en_US.UTF-8:it_IT.ISO8859-15 +SAME+= en_US.UTF-8:it_IT.ISO8859-1 SAME+= en_US.UTF-8:it_CH.UTF-8 SAME+= en_US.UTF-8:it_CH.ISO8859-15 +SAME+= en_US.UTF-8:it_CH.ISO8859-1 SAME+= en_US.UTF-8:fr_FR.UTF-8 SAME+= en_US.UTF-8:fr_FR.ISO8859-15 +SAME+= en_US.UTF-8:fr_FR.ISO8859-1 SAME+= en_US.UTF-8:fr_CH.UTF-8 SAME+= en_US.UTF-8:fr_CH.ISO8859-15 +SAME+= en_US.UTF-8:fr_CH.ISO8859-1 SAME+= en_US.UTF-8:fr_CA.UTF-8 SAME+= en_US.UTF-8:fr_CA.ISO8859-1 SAME+= en_US.UTF-8:fr_BE.UTF-8 SAME+= en_US.UTF-8:fr_BE.ISO8859-15 +SAME+= en_US.UTF-8:fr_BE.ISO8859-1 SAME+= en_US.UTF-8:eu_ES.UTF-8 SAME+= en_US.UTF-8:eu_ES.ISO8859-15 +SAME+= en_US.UTF-8:eu_ES.ISO8859-1 SAME+= en_US.UTF-8:en_ZA.UTF-8 SAME+= en_US.UTF-8:en_ZA.US-ASCII SAME+= en_US.UTF-8:en_ZA.ISO8859-1 @@ -113,11 +128,13 @@ SAME+= en_US.UTF-8:en_NZ.US-ASCII SAME+= en_US.UTF-8:en_NZ.ISO8859-1 SAME+= en_US.UTF-8:en_IE.UTF-8 SAME+= en_US.UTF-8:en_IE.ISO8859-15 +SAME+= en_US.UTF-8:en_IE.ISO8859-1 SAME+= en_US.UTF-8:en_HK.UTF-8 SAME+= en_US.UTF-8:en_HK.ISO8859-1 SAME+= en_US.UTF-8:en_GB.UTF-8 SAME+= en_US.UTF-8:en_GB.US-ASCII SAME+= en_US.UTF-8:en_GB.ISO8859-15 +SAME+= en_US.UTF-8:en_GB.ISO8859-1 SAME+= en_US.UTF-8:en_CA.UTF-8 SAME+= en_US.UTF-8:en_CA.US-ASCII SAME+= en_US.UTF-8:en_CA.ISO8859-1 @@ -126,38 +143,48 @@ SAME+= en_US.UTF-8:en_AU.US-ASCII SAME+= en_US.UTF-8:en_AU.ISO8859-1 SAME+= en_US.UTF-8:de_DE.UTF-8 SAME+= en_US.UTF-8:de_DE.ISO8859-15 +SAME+= en_US.UTF-8:de_DE.ISO8859-1 SAME+= en_US.UTF-8:de_CH.UTF-8 SAME+= en_US.UTF-8:de_CH.ISO8859-15 +SAME+= en_US.UTF-8:de_CH.ISO8859-1 SAME+= en_US.UTF-8:de_AT.UTF-8 SAME+= en_US.UTF-8:de_AT.ISO8859-15 +SAME+= en_US.UTF-8:de_AT.ISO8859-1 SAME+= el_GR.UTF-8:el_GR.ISO8859-7 SAME+= es_MX.UTF-8:es_MX.ISO8859-1 SAME+= es_MX.UTF-8:es_ES.UTF-8 SAME+= es_MX.UTF-8:es_ES.ISO8859-15 +SAME+= es_MX.UTF-8:es_ES.ISO8859-1 SAME+= es_MX.UTF-8:es_CR.UTF-8 SAME+= es_MX.UTF-8:es_AR.UTF-8 SAME+= es_MX.UTF-8:es_AR.ISO8859-1 SAME+= et_EE.UTF-8:et_EE.ISO8859-15 +SAME+= et_EE.UTF-8:et_EE.ISO8859-1 SAME+= fi_FI.UTF-8:fi_FI.ISO8859-15 +SAME+= fi_FI.UTF-8:fi_FI.ISO8859-1 SAME+= hi_IN.UTF-8:hi_IN.ISCII-DEV SAME+= hr_HR.UTF-8:hr_HR.ISO8859-2 SAME+= hu_HU.UTF-8:hu_HU.ISO8859-2 SAME+= hy_AM.UTF-8:hy_AM.ARMSCII-8 SAME+= is_IS.UTF-8:is_IS.ISO8859-15 +SAME+= is_IS.UTF-8:is_IS.ISO8859-1 SAME+= ja_JP.UTF-8:ja_JP.SJIS SAME+= ja_JP.UTF-8:ja_JP.eucJP SAME+= ko_KR.UTF-8:ko_KR.eucKR SAME+= lt_LT.UTF-8:lt_LT.ISO8859-13 SAME+= lv_LV.UTF-8:lv_LV.ISO8859-13 SAME+= nb_NO.UTF-8:nb_NO.ISO8859-15 +SAME+= nb_NO.UTF-8:nb_NO.ISO8859-1 SAME+= pl_PL.UTF-8:pl_PL.ISO8859-2 SAME+= ro_RO.UTF-8:ro_RO.ISO8859-2 SAME+= se_NO.UTF-8:se_FI.UTF-8 SAME+= sk_SK.UTF-8:sk_SK.ISO8859-2 SAME+= sl_SI.UTF-8:sl_SI.ISO8859-2 SAME+= sv_SE.UTF-8:sv_SE.ISO8859-15 +SAME+= sv_SE.UTF-8:sv_SE.ISO8859-1 SAME+= sv_SE.UTF-8:sv_FI.UTF-8 SAME+= sv_SE.UTF-8:sv_FI.ISO8859-15 +SAME+= sv_SE.UTF-8:sv_FI.ISO8859-1 SAME+= tr_TR.UTF-8:tr_TR.ISO8859-9 SAME+= uk_UA.UTF-8:uk_UA.KOI8-U SAME+= uk_UA.UTF-8:uk_UA.ISO8859-5 Modified: head/share/ctypedef/Makefile ============================================================================== --- head/share/ctypedef/Makefile Sun Nov 15 14:34:29 2015 (r290865) +++ head/share/ctypedef/Makefile Sun Nov 15 14:51:10 2015 (r290866) @@ -13,6 +13,7 @@ MAPLOC= ${.CURDIR}/../../tools/tools/lo -i ${.IMPSRC} ${.OBJDIR}/${.IMPSRC:T:R} || true LOCALES+= be_BY.CP1131 +LOCALES+= ca_IT.ISO8859-1 LOCALES+= ca_IT.ISO8859-15 LOCALES+= el_GR.ISO8859-7 LOCALES+= en_GB.ISO8859-15 @@ -117,21 +118,47 @@ SAME+= en_US.UTF-8:ar_EG.UTF-8 SAME+= en_US.UTF-8:ar_AE.UTF-8 SAME+= en_US.UTF-8:am_ET.UTF-8 SAME+= en_US.UTF-8:af_ZA.UTF-8 +SAME+= en_US.ISO8859-1:sv_SE.ISO8859-1 +SAME+= en_US.ISO8859-1:sv_FI.ISO8859-1 +SAME+= en_US.ISO8859-1:pt_PT.ISO8859-1 SAME+= en_US.ISO8859-1:pt_BR.ISO8859-1 +SAME+= en_US.ISO8859-1:nn_NO.ISO8859-1 +SAME+= en_US.ISO8859-1:nl_NL.ISO8859-1 +SAME+= en_US.ISO8859-1:nl_BE.ISO8859-1 +SAME+= en_US.ISO8859-1:nb_NO.ISO8859-1 +SAME+= en_US.ISO8859-1:it_IT.ISO8859-1 +SAME+= en_US.ISO8859-1:it_CH.ISO8859-1 +SAME+= en_US.ISO8859-1:is_IS.ISO8859-1 +SAME+= en_US.ISO8859-1:fr_FR.ISO8859-1 +SAME+= en_US.ISO8859-1:fr_CH.ISO8859-1 SAME+= en_US.ISO8859-1:fr_CA.ISO8859-1 +SAME+= en_US.ISO8859-1:fr_BE.ISO8859-1 +SAME+= en_US.ISO8859-1:fi_FI.ISO8859-1 +SAME+= en_US.ISO8859-1:eu_ES.ISO8859-1 +SAME+= en_US.ISO8859-1:et_EE.ISO8859-1 SAME+= en_US.ISO8859-1:es_MX.ISO8859-1 +SAME+= en_US.ISO8859-1:es_ES.ISO8859-1 SAME+= en_US.ISO8859-1:es_AR.ISO8859-1 SAME+= en_US.ISO8859-1:en_ZA.ISO8859-1 SAME+= en_US.ISO8859-1:en_SG.ISO8859-1 SAME+= en_US.ISO8859-1:en_NZ.ISO8859-1 +SAME+= en_US.ISO8859-1:en_IE.ISO8859-1 SAME+= en_US.ISO8859-1:en_HK.ISO8859-1 +SAME+= en_US.ISO8859-1:en_GB.ISO8859-1 SAME+= en_US.ISO8859-1:en_CA.ISO8859-1 SAME+= en_US.ISO8859-1:en_AU.ISO8859-1 +SAME+= en_US.ISO8859-1:de_DE.ISO8859-1 +SAME+= en_US.ISO8859-1:de_CH.ISO8859-1 +SAME+= en_US.ISO8859-1:de_AT.ISO8859-1 +SAME+= en_US.ISO8859-1:da_DK.ISO8859-1 SAME+= en_US.ISO8859-1:af_ZA.ISO8859-1 SAME+= ru_RU.CP1251:bg_BG.CP1251 SAME+= ru_RU.CP1251:be_BY.CP1251 SAME+= ru_RU.ISO8859-5:sr_Cyrl_RS.ISO8859-5 SAME+= ru_RU.ISO8859-5:be_BY.ISO8859-5 +SAME+= ca_IT.ISO8859-1:ca_FR.ISO8859-1 +SAME+= ca_IT.ISO8859-1:ca_ES.ISO8859-1 +SAME+= ca_IT.ISO8859-1:ca_AD.ISO8859-1 SAME+= ca_IT.ISO8859-15:ca_FR.ISO8859-15 SAME+= ca_IT.ISO8859-15:ca_ES.ISO8859-15 SAME+= ca_IT.ISO8859-15:ca_AD.ISO8859-15 @@ -184,22 +211,23 @@ SYMLINKS+= ../${f:C/:.*$//}/${FILESNAME} FILESDIR_${f}.LC_CTYPE= ${LOCALEDIR}/${f} .endfor +SYMPAIRS+= ca_IT.ISO8859-1.src:ca_IT.ISO8859-15.src SYMPAIRS+= be_BY.CP1131.src:ru_RU.CP1251.src SYMPAIRS+= be_BY.CP1131.src:ru_RU.CP866.src SYMPAIRS+= be_BY.CP1131.src:ru_RU.ISO8859-5.src SYMPAIRS+= be_BY.CP1131.src:ru_RU.KOI8-R.src SYMPAIRS+= uk_UA.CP1251.src:uk_UA.ISO8859-5.src SYMPAIRS+= uk_UA.CP1251.src:uk_UA.KOI8-U.src -SYMPAIRS+= zh_Hans_CN.GB18030.src:zh_Hans_CN.GB2312.src -SYMPAIRS+= zh_Hans_CN.GB18030.src:zh_Hans_CN.GBK.src -SYMPAIRS+= zh_Hans_CN.GB18030.src:zh_Hans_CN.eucCN.src +SYMPAIRS+= zh_Hans_CN.eucCN.src:zh_Hans_CN.GB18030.src +SYMPAIRS+= zh_Hans_CN.eucCN.src:zh_Hans_CN.GB2312.src +SYMPAIRS+= zh_Hans_CN.eucCN.src:zh_Hans_CN.GBK.src SYMPAIRS+= zh_Hant_HK.Big5HKSCS.src:zh_Hant_TW.Big5.src SYMPAIRS+= en_GB.ISO8859-15.src:en_US.ISO8859-1.src SYMPAIRS+= en_GB.ISO8859-15.src:en_US.US-ASCII.src SYMPAIRS+= en_GB.ISO8859-15.src:lv_LV.ISO8859-13.src SYMPAIRS+= en_GB.ISO8859-15.src:sr_Latn_RS.ISO8859-2.src SYMPAIRS+= en_GB.ISO8859-15.src:tr_TR.ISO8859-9.src -SYMPAIRS+= ja_JP.SJIS.src:ja_JP.eucJP.src +SYMPAIRS+= ja_JP.eucJP.src:ja_JP.SJIS.src .for PAIR in ${SYMPAIRS} ${PAIR:C/^.*://:S/src$/LC_CTYPE/}: ${PAIR:C/:.*//} Copied: head/share/ctypedef/ca_IT.ISO8859-1.src (from r290865, head/share/ctypedef/ca_IT.ISO8859-15.src) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/ctypedef/ca_IT.ISO8859-1.src Sun Nov 15 14:51:10 2015 (r290866, copy of r290865, head/share/ctypedef/ca_IT.ISO8859-15.src) @@ -0,0 +1,5166 @@ +# Warning: Do not edit. This file is automatically extracted from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +comment_char * +escape_char / +LC_CTYPE +************* + +upper ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ +

;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + + +lower ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ +

;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Mon Nov 16 15:16:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7DDB3A30602; Mon, 16 Nov 2015 15:16:11 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5201E1517; Mon, 16 Nov 2015 15:16:11 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGFGAO9024763; Mon, 16 Nov 2015 15:16:10 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGFGAw4024760; Mon, 16 Nov 2015 15:16:10 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201511161516.tAGFGAw4024760@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Mon, 16 Nov 2015 15:16:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290929 - in head: lib/libpmc sys/sys usr.sbin/pmcstat 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.20 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, 16 Nov 2015 15:16:11 -0000 Author: jtl Date: Mon Nov 16 15:16:09 2015 New Revision: 290929 URL: https://svnweb.freebsd.org/changeset/base/290929 Log: Change the driver stats to what they really are: unsigned values. When pmcstat exits after some samples were dropped, give the user an idea of how many were lost. (Granted, these are global numbers, but they may still help quantify the scope of the loss.) Differential Revision: https://reviews.freebsd.org/D4123 Approved by: gnn (mentor) MFC after: 1 month Sponsored by: Juniper Networks Modified: head/lib/libpmc/pmc.h head/sys/sys/pmc.h head/usr.sbin/pmcstat/pmcstat.c Modified: head/lib/libpmc/pmc.h ============================================================================== --- head/lib/libpmc/pmc.h Mon Nov 16 12:58:47 2015 (r290928) +++ head/lib/libpmc/pmc.h Mon Nov 16 15:16:09 2015 (r290929) @@ -37,14 +37,15 @@ * Driver statistics. */ struct pmc_driverstats { - int pm_intr_ignored; /* #interrupts ignored */ - int pm_intr_processed; /* #interrupts processed */ - int pm_intr_bufferfull; /* #interrupts with ENOSPC */ - int pm_syscalls; /* #syscalls */ - int pm_syscall_errors; /* #syscalls with errors */ - int pm_buffer_requests; /* #buffer requests */ - int pm_buffer_requests_failed; /* #failed buffer requests */ - int pm_log_sweeps; /* #sample buffer processing passes */ + unsigned int pm_intr_ignored; /* #interrupts ignored */ + unsigned int pm_intr_processed; /* #interrupts processed */ + unsigned int pm_intr_bufferfull; /* #interrupts with ENOSPC */ + unsigned int pm_syscalls; /* #syscalls */ + unsigned int pm_syscall_errors; /* #syscalls with errors */ + unsigned int pm_buffer_requests; /* #buffer requests */ + unsigned int pm_buffer_requests_failed; /* #failed buffer requests */ + unsigned int pm_log_sweeps; /* #sample buffer processing + passes */ }; /* Modified: head/sys/sys/pmc.h ============================================================================== --- head/sys/sys/pmc.h Mon Nov 16 12:58:47 2015 (r290928) +++ head/sys/sys/pmc.h Mon Nov 16 15:16:09 2015 (r290929) @@ -550,14 +550,15 @@ struct pmc_op_configurelog { */ struct pmc_op_getdriverstats { - int pm_intr_ignored; /* #interrupts ignored */ - int pm_intr_processed; /* #interrupts processed */ - int pm_intr_bufferfull; /* #interrupts with ENOSPC */ - int pm_syscalls; /* #syscalls */ - int pm_syscall_errors; /* #syscalls with errors */ - int pm_buffer_requests; /* #buffer requests */ - int pm_buffer_requests_failed; /* #failed buffer requests */ - int pm_log_sweeps; /* #sample buffer processing passes */ + unsigned int pm_intr_ignored; /* #interrupts ignored */ + unsigned int pm_intr_processed; /* #interrupts processed */ + unsigned int pm_intr_bufferfull; /* #interrupts with ENOSPC */ + unsigned int pm_syscalls; /* #syscalls */ + unsigned int pm_syscall_errors; /* #syscalls with errors */ + unsigned int pm_buffer_requests; /* #buffer requests */ + unsigned int pm_buffer_requests_failed; /* #failed buffer requests */ + unsigned int pm_log_sweeps; /* #sample buffer processing + passes */ }; /* Modified: head/usr.sbin/pmcstat/pmcstat.c ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.c Mon Nov 16 12:58:47 2015 (r290928) +++ head/usr.sbin/pmcstat/pmcstat.c Mon Nov 16 15:16:09 2015 (r290929) @@ -1500,14 +1500,24 @@ main(int argc, char **argv) "ERROR: Cannot retrieve driver statistics"); if (ds_start.pm_intr_bufferfull != ds_end.pm_intr_bufferfull && args.pa_verbosity > 0) - warnx("WARNING: some samples were dropped.\n" -"Please consider tuning the \"kern.hwpmc.nsamples\" tunable." + warnx( +"WARNING: sampling was paused at least %u time%s.\n" +"Please consider tuning the \"kern.hwpmc.nsamples\" tunable.", + ds_end.pm_intr_bufferfull - + ds_start.pm_intr_bufferfull, + ((ds_end.pm_intr_bufferfull - + ds_start.pm_intr_bufferfull) != 1) ? "s" : "" ); if (ds_start.pm_buffer_requests_failed != ds_end.pm_buffer_requests_failed && args.pa_verbosity > 0) - warnx("WARNING: some events were discarded.\n" -"Please consider tuning the \"kern.hwpmc.nbuffers\" tunable." + warnx( +"WARNING: at least %u event%s were discarded while running.\n" +"Please consider tuning the \"kern.hwpmc.nbuffers\" tunable.", + ds_end.pm_buffer_requests_failed - + ds_start.pm_buffer_requests_failed, + ((ds_end.pm_buffer_requests_failed - + ds_start.pm_buffer_requests_failed) != 1) ? "s" : "" ); } From owner-svn-src-head@freebsd.org Mon Nov 16 15:22:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF764A309D5; Mon, 16 Nov 2015 15:22:16 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B857A1CBF; Mon, 16 Nov 2015 15:22:16 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGFMFVG027562; Mon, 16 Nov 2015 15:22:15 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGFMFHb027561; Mon, 16 Nov 2015 15:22:15 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201511161522.tAGFMFHb027561@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Mon, 16 Nov 2015 15:22:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290930 - head/sys/dev/hwpmc 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.20 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, 16 Nov 2015 15:22:17 -0000 Author: jtl Date: Mon Nov 16 15:22:15 2015 New Revision: 290930 URL: https://svnweb.freebsd.org/changeset/base/290930 Log: Improve accuracy of PMC sampling frequency The code tracks a counter which is the number of events until the next sample. On context switch in, it loads the saved counter. On context switch out, it tries to calculate a new saved counter. Problems: 1. The saved counter was shared by all threads in a process. However, this means that all threads would be initially loaded with the same saved counter. However, that could result in sampling more often than once every X number of events. 2. The calculation to determine a new saved counter was backwards. It added when it should have subtracted, and subtracted when it should have added. Assume a single-threaded process with a reload count of 1000 events. Assuming the counter on context switch in was 100 and the counter on context switch out was 50 (meaning the thread has "consumed" 50 more events), the code would calculate a new saved counter of 150 (instead of the proper 50). Fix: 1. As soon as the saved counter is used to initialize a monitor for a thread on context switch in, set the saved counter to the reload count. That way, subsequent threads to use the saved counter will get the full reload count, assuring we sample at least once every X number of events (across all threads). 2. Change the calculation of the saved counter. Due to the change to the saved counter in #1, we simply need to add (modulo the reload count) the remaining counter time we retrieve from the CPU when a thread is context switched out. Differential Revision: https://reviews.freebsd.org/D4122 Approved by: gnn (mentor) MFC after: 1 month Sponsored by: Juniper Networks Modified: head/sys/dev/hwpmc/hwpmc_mod.c Modified: head/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_mod.c Mon Nov 16 15:16:09 2015 (r290929) +++ head/sys/dev/hwpmc/hwpmc_mod.c Mon Nov 16 15:22:15 2015 (r290930) @@ -1282,8 +1282,16 @@ pmc_process_csw_in(struct thread *td) */ if (PMC_TO_MODE(pm) == PMC_MODE_TS) { mtx_pool_lock_spin(pmc_mtxpool, pm); + + /* + * Use the saved value calculated after the most recent + * thread switch out to start this counter. Reset + * the saved count in case another thread from this + * process switches in before any threads switch out. + */ newvalue = PMC_PCPU_SAVED(cpu,ri) = pp->pp_pmcs[ri].pp_pmcval; + pp->pp_pmcs[ri].pp_pmcval = pm->pm_sc.pm_reloadcount; mtx_pool_unlock_spin(pmc_mtxpool, pm); } else { KASSERT(PMC_TO_MODE(pm) == PMC_MODE_TC, @@ -1431,31 +1439,43 @@ pmc_process_csw_out(struct thread *td) pcd->pcd_read_pmc(cpu, adjri, &newvalue); - tmp = newvalue - PMC_PCPU_SAVED(cpu,ri); - - PMCDBG3(CSW,SWO,1,"cpu=%d ri=%d tmp=%jd", cpu, ri, - tmp); - if (mode == PMC_MODE_TS) { + PMCDBG3(CSW,SWO,1,"cpu=%d ri=%d tmp=%jd (samp)", + cpu, ri, PMC_PCPU_SAVED(cpu,ri) - newvalue); /* * For sampling process-virtual PMCs, - * we expect the count to be - * decreasing as the 'value' - * programmed into the PMC is the - * number of events to be seen till - * the next sampling interrupt. + * newvalue is the number of events to be seen + * until the next sampling interrupt. + * We can just add the events left from this + * invocation to the counter, then adjust + * in case we overflow our range. + * + * (Recall that we reload the counter every + * time we use it.) */ - if (tmp < 0) - tmp += pm->pm_sc.pm_reloadcount; mtx_pool_lock_spin(pmc_mtxpool, pm); - pp->pp_pmcs[ri].pp_pmcval -= tmp; - if ((int64_t) pp->pp_pmcs[ri].pp_pmcval <= 0) - pp->pp_pmcs[ri].pp_pmcval += + + pp->pp_pmcs[ri].pp_pmcval += newvalue; + if (pp->pp_pmcs[ri].pp_pmcval > + pm->pm_sc.pm_reloadcount) + pp->pp_pmcs[ri].pp_pmcval -= pm->pm_sc.pm_reloadcount; + KASSERT(pp->pp_pmcs[ri].pp_pmcval > 0 && + pp->pp_pmcs[ri].pp_pmcval <= + pm->pm_sc.pm_reloadcount, + ("[pmc,%d] pp_pmcval outside of expected " + "range cpu=%d ri=%d pp_pmcval=%jx " + "pm_reloadcount=%jx", __LINE__, cpu, ri, + pp->pp_pmcs[ri].pp_pmcval, + pm->pm_sc.pm_reloadcount)); mtx_pool_unlock_spin(pmc_mtxpool, pm); } else { + tmp = newvalue - PMC_PCPU_SAVED(cpu,ri); + + PMCDBG3(CSW,SWO,1,"cpu=%d ri=%d tmp=%jd (count)", + cpu, ri, tmp); /* * For counting process-virtual PMCs, From owner-svn-src-head@freebsd.org Mon Nov 16 16:48:44 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86306A30377; Mon, 16 Nov 2015 16:48:44 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5308B138B; Mon, 16 Nov 2015 16:48:44 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGGmhfb052195; Mon, 16 Nov 2015 16:48:43 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGGmh6q052192; Mon, 16 Nov 2015 16:48:43 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161648.tAGGmh6q052192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 16:48:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290931 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 16:48:44 -0000 Author: rodrigc Date: Mon Nov 16 16:48:43 2015 New Revision: 290931 URL: https://svnweb.freebsd.org/changeset/base/290931 Log: Import ypldap from OpenBSD. ypldap -- Intended to be a drop-in replacement for ypserv, gluing in a LDAP directory and thus providing support for users and groups stored in LDAP for the get{pw,gr}ent family of functions. Added: head/usr.sbin/ypldap/ head/usr.sbin/ypldap/Makefile (contents, props changed) head/usr.sbin/ypldap/aldap.c (contents, props changed) head/usr.sbin/ypldap/aldap.h (contents, props changed) head/usr.sbin/ypldap/ber.c (contents, props changed) head/usr.sbin/ypldap/ber.h (contents, props changed) head/usr.sbin/ypldap/entries.c (contents, props changed) head/usr.sbin/ypldap/ldapclient.c (contents, props changed) head/usr.sbin/ypldap/log.c (contents, props changed) head/usr.sbin/ypldap/parse.y (contents, props changed) head/usr.sbin/ypldap/yp.c (contents, props changed) head/usr.sbin/ypldap/ypldap.8 (contents, props changed) head/usr.sbin/ypldap/ypldap.c (contents, props changed) head/usr.sbin/ypldap/ypldap.conf.5 (contents, props changed) head/usr.sbin/ypldap/ypldap.h (contents, props changed) head/usr.sbin/ypldap/ypldap_dns.c (contents, props changed) Added: head/usr.sbin/ypldap/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/ypldap/Makefile Mon Nov 16 16:48:43 2015 (r290931) @@ -0,0 +1,21 @@ +# $OpenBSD: Makefile,v 1.8 2015/09/09 15:33:18 deraadt Exp $ +# $FreeBSD$ + +PROG= ypldap +SRCS= parse.y ypldap.c log.c \ + ldapclient.c entries.c yp.c \ + aldap.c ber.c \ + ypldap_dns.c + +MAN= ypldap.8 ypldap.conf.5 + +DPADD= ${LIBEVENT} ${LIBUTIL} ${LIBRPCSVC} +LDADD= -levent -lutil -lrpcsvc +CFLAGS+= -I${.CURDIR} +CFLAGS+= -Wall +CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes +CFLAGS+= -Wmissing-declarations +CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual +CFLAGS+= -Wsign-compare + +.include Added: head/usr.sbin/ypldap/aldap.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/ypldap/aldap.c Mon Nov 16 16:48:43 2015 (r290931) @@ -0,0 +1,1273 @@ +/* $Id: aldap.c,v 1.30 2012/04/30 21:40:03 jmatthew Exp $ */ +/* $OpenBSD: aldap.c,v 1.30 2012/04/30 21:40:03 jmatthew Exp $ */ +/* $FreeBSD$ */ + +/* + * Copyright (c) 2008 Alexander Schrijver + * Copyright (c) 2006, 2007 Marc Balmer + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include +#include +#include + +#include "aldap.h" + +#if 0 +#define DEBUG +#endif +#define VERSION 3 + +static struct ber_element *ldap_parse_search_filter(struct ber_element *, + char *); +static struct ber_element *ldap_do_parse_search_filter( + struct ber_element *, char **); +char **aldap_get_stringset(struct ber_element *); +char *utoa(char *); +char *parseval(char *, size_t); +int aldap_create_page_control(struct ber_element *, + int, struct aldap_page_control *); + +#ifdef DEBUG +void ldap_debug_elements(struct ber_element *); +#endif + +#ifdef DEBUG +#define DPRINTF(x...) printf(x) +#define LDAP_DEBUG(x, y) do { fprintf(stderr, "*** " x "\n"); ldap_debug_elements(y); } while (0) +#else +#define DPRINTF(x...) do { } while (0) +#define LDAP_DEBUG(x, y) do { } while (0) +#endif + +int +aldap_close(struct aldap *al) +{ + if (close(al->ber.fd) == -1) + return (-1); + + ber_free(&al->ber); + free(al); + + return (0); +} + +struct aldap * +aldap_init(int fd) +{ + struct aldap *a; + + if ((a = calloc(1, sizeof(*a))) == NULL) + return NULL; + a->ber.fd = fd; + + return a; +} + +int +aldap_bind(struct aldap *ldap, char *binddn, char *bindcred) +{ + struct ber_element *root = NULL, *elm; + int error; + + if (binddn == NULL) + binddn = ""; + if (bindcred == NULL) + bindcred = ""; + + if ((root = ber_add_sequence(NULL)) == NULL) + goto fail; + + elm = ber_printf_elements(root, "d{tdsst", ++ldap->msgid, BER_CLASS_APP, + (unsigned long)LDAP_REQ_BIND, VERSION, binddn, bindcred, + BER_CLASS_CONTEXT, (unsigned long)LDAP_AUTH_SIMPLE); + if (elm == NULL) + goto fail; + + LDAP_DEBUG("aldap_bind", root); + + error = ber_write_elements(&ldap->ber, root); + ber_free_elements(root); + root = NULL; + if (error == -1) + goto fail; + + return (ldap->msgid); +fail: + if (root != NULL) + ber_free_elements(root); + + ldap->err = ALDAP_ERR_OPERATION_FAILED; + return (-1); +} + +int +aldap_unbind(struct aldap *ldap) +{ + struct ber_element *root = NULL, *elm; + int error; + + if ((root = ber_add_sequence(NULL)) == NULL) + goto fail; + elm = ber_printf_elements(root, "d{t", ++ldap->msgid, BER_CLASS_APP, + LDAP_REQ_UNBIND_30); + if (elm == NULL) + goto fail; + + LDAP_DEBUG("aldap_unbind", root); + + error = ber_write_elements(&ldap->ber, root); + ber_free_elements(root); + root = NULL; + if (error == -1) + goto fail; + + return (ldap->msgid); +fail: + if (root != NULL) + ber_free_elements(root); + + ldap->err = ALDAP_ERR_OPERATION_FAILED; + + return (-1); +} + +int +aldap_search(struct aldap *ldap, char *basedn, enum scope scope, char *filter, + char **attrs, int typesonly, int sizelimit, int timelimit, + struct aldap_page_control *page) +{ + struct ber_element *root = NULL, *ber, *c; + int i, error; + + if ((root = ber_add_sequence(NULL)) == NULL) + goto fail; + + ber = ber_printf_elements(root, "d{t", ++ldap->msgid, BER_CLASS_APP, + (unsigned long) LDAP_REQ_SEARCH); + if (ber == NULL) { + ldap->err = ALDAP_ERR_OPERATION_FAILED; + goto fail; + } + + c = ber; + ber = ber_printf_elements(ber, "sEEddb", basedn, (long long)scope, + (long long)LDAP_DEREF_NEVER, sizelimit, + timelimit, typesonly); + if (ber == NULL) { + ldap->err = ALDAP_ERR_OPERATION_FAILED; + goto fail; + } + + if ((ber = ldap_parse_search_filter(ber, filter)) == NULL) { + ldap->err = ALDAP_ERR_PARSER_ERROR; + goto fail; + } + + if ((ber = ber_add_sequence(ber)) == NULL) + goto fail; + if (attrs != NULL) + for (i = 0; attrs[i] != NULL; i++) { + if ((ber = ber_add_string(ber, attrs[i])) == NULL) + goto fail; + } + + aldap_create_page_control(c, 100, page); + + LDAP_DEBUG("aldap_search", root); + + error = ber_write_elements(&ldap->ber, root); + ber_free_elements(root); + root = NULL; + if (error == -1) { + ldap->err = ALDAP_ERR_OPERATION_FAILED; + goto fail; + } + + return (ldap->msgid); + +fail: + if (root != NULL) + ber_free_elements(root); + + return (-1); +} + +int +aldap_create_page_control(struct ber_element *elm, int size, + struct aldap_page_control *page) +{ + int len; + struct ber c; + struct ber_element *ber = NULL; + + c.br_wbuf = NULL; + c.fd = -1; + + ber = ber_add_sequence(NULL); + + if (page == NULL) { + if (ber_printf_elements(ber, "ds", 50, "") == NULL) + goto fail; + } else { + if (ber_printf_elements(ber, "dx", 50, page->cookie, + page->cookie_len) == NULL) + goto fail; + } + + if ((len = ber_write_elements(&c, ber)) < 1) + goto fail; + if (ber_printf_elements(elm, "{t{sx", 2, 0, LDAP_PAGED_OID, + c.br_wbuf, (size_t)len) == NULL) + goto fail; + + ber_free_elements(ber); + ber_free(&c); + return len; +fail: + if (ber != NULL) + ber_free_elements(ber); + ber_free(&c); + + return (-1); +} + +struct aldap_message * +aldap_parse(struct aldap *ldap) +{ + int class; + unsigned long type; + long long msgid = 0; + struct aldap_message *m; + struct ber_element *a = NULL, *ep; + + if ((m = calloc(1, sizeof(struct aldap_message))) == NULL) + return NULL; + + if ((m->msg = ber_read_elements(&ldap->ber, NULL)) == NULL) + goto parsefail; + + LDAP_DEBUG("message", m->msg); + + if (ber_scanf_elements(m->msg, "{ite", &msgid, &class, &type, &a) != 0) + goto parsefail; + m->msgid = msgid; + m->message_type = type; + m->protocol_op = a; + + switch (m->message_type) { + case LDAP_RES_BIND: + case LDAP_RES_MODIFY: + case LDAP_RES_ADD: + case LDAP_RES_DELETE: + case LDAP_RES_MODRDN: + case LDAP_RES_COMPARE: + case LDAP_RES_SEARCH_RESULT: + if (ber_scanf_elements(m->protocol_op, "{EeSeSe", + &m->body.res.rescode, &m->dn, &m->body.res.diagmsg, &a) != 0) + goto parsefail; + if (m->body.res.rescode == LDAP_REFERRAL) + if (ber_scanf_elements(a, "{e", &m->references) != 0) + goto parsefail; + if (m->msg->be_sub) { + for (ep = m->msg->be_sub; ep != NULL; ep = ep->be_next) { + ber_scanf_elements(ep, "t", &class, &type); + if (class == 2 && type == 0) + m->page = aldap_parse_page_control(ep->be_sub->be_sub, + ep->be_sub->be_sub->be_len); + } + } else + m->page = NULL; + break; + case LDAP_RES_SEARCH_ENTRY: + if (ber_scanf_elements(m->protocol_op, "{eS{e", &m->dn, + &m->body.search.attrs) != 0) + goto parsefail; + break; + case LDAP_RES_SEARCH_REFERENCE: + if (ber_scanf_elements(m->protocol_op, "{e", &m->references) != 0) + goto parsefail; + break; + } + + return m; +parsefail: + ldap->err = ALDAP_ERR_PARSER_ERROR; + aldap_freemsg(m); + return NULL; +} + +struct aldap_page_control * +aldap_parse_page_control(struct ber_element *control, size_t len) +{ + char *oid, *s; + char *encoded; + struct ber b; + struct ber_element *elm; + struct aldap_page_control *page; + + b.br_wbuf = NULL; + b.fd = -1; + ber_scanf_elements(control, "ss", &oid, &encoded); + ber_set_readbuf(&b, encoded, control->be_next->be_len); + elm = ber_read_elements(&b, NULL); + + if ((page = malloc(sizeof(struct aldap_page_control))) == NULL) { + if (elm != NULL) + ber_free_elements(elm); + ber_free(&b); + return NULL; + } + + ber_scanf_elements(elm->be_sub, "is", &page->size, &s); + page->cookie_len = elm->be_sub->be_next->be_len; + + if ((page->cookie = malloc(page->cookie_len)) == NULL) { + if (elm != NULL) + ber_free_elements(elm); + ber_free(&b); + free(page); + return NULL; + } + memcpy(page->cookie, s, page->cookie_len); + + ber_free_elements(elm); + ber_free(&b); + return page; +} + +void +aldap_freepage(struct aldap_page_control *page) +{ + if (page->cookie) + free(page->cookie); + free(page); +} + +void +aldap_freemsg(struct aldap_message *msg) +{ + if (msg->msg) + ber_free_elements(msg->msg); + free(msg); +} + +int +aldap_get_resultcode(struct aldap_message *msg) +{ + return msg->body.res.rescode; +} + +char * +aldap_get_dn(struct aldap_message *msg) +{ + char *dn; + + if (msg->dn == NULL) + return NULL; + + if (ber_get_string(msg->dn, &dn) == -1) + return NULL; + + return utoa(dn); +} + +char ** +aldap_get_references(struct aldap_message *msg) +{ + if (msg->references == NULL) + return NULL; + return aldap_get_stringset(msg->references); +} + +void +aldap_free_references(char **values) +{ + int i; + + if (values == NULL) + return; + + for (i = 0; values[i] != NULL; i++) + free(values[i]); + + free(values); +} + +char * +aldap_get_diagmsg(struct aldap_message *msg) +{ + char *s; + + if (msg->body.res.diagmsg == NULL) + return NULL; + + if (ber_get_string(msg->body.res.diagmsg, &s) == -1) + return NULL; + + return utoa(s); +} + +int +aldap_count_attrs(struct aldap_message *msg) +{ + int i; + struct ber_element *a; + + if (msg->body.search.attrs == NULL) + return (-1); + + for (i = 0, a = msg->body.search.attrs; + a != NULL && ber_get_eoc(a) != 0; + i++, a = a->be_next) + ; + + return i; +} + +int +aldap_first_attr(struct aldap_message *msg, char **outkey, char ***outvalues) +{ + struct ber_element *b, *c; + char *key; + char **ret; + + if (msg->body.search.attrs == NULL) + goto fail; + + if (ber_scanf_elements(msg->body.search.attrs, "{s(e)}e", + &key, &b, &c) != 0) + goto fail; + + msg->body.search.iter = msg->body.search.attrs->be_next; + + if ((ret = aldap_get_stringset(b)) == NULL) + goto fail; + + (*outvalues) = ret; + (*outkey) = utoa(key); + + return (1); +fail: + (*outkey) = NULL; + (*outvalues) = NULL; + return (-1); +} + +int +aldap_next_attr(struct aldap_message *msg, char **outkey, char ***outvalues) +{ + struct ber_element *a, *b; + char *key; + char **ret; + + if (msg->body.search.iter == NULL) + goto notfound; + + LDAP_DEBUG("attr", msg->body.search.iter); + + if (ber_get_eoc(msg->body.search.iter) == 0) + goto notfound; + + if (ber_scanf_elements(msg->body.search.iter, "{s(e)}e", &key, &a, &b) + != 0) + goto fail; + + msg->body.search.iter = msg->body.search.iter->be_next; + + if ((ret = aldap_get_stringset(a)) == NULL) + goto fail; + + (*outvalues) = ret; + (*outkey) = utoa(key); + + return (1); +fail: +notfound: + (*outkey) = NULL; + (*outvalues) = NULL; + return (-1); +} + +int +aldap_match_attr(struct aldap_message *msg, char *inkey, char ***outvalues) +{ + struct ber_element *a, *b; + char *descr = NULL; + char **ret; + + if (msg->body.search.attrs == NULL) + goto fail; + + LDAP_DEBUG("attr", msg->body.search.attrs); + + for (a = msg->body.search.attrs;;) { + if (a == NULL) + goto notfound; + if (ber_get_eoc(a) == 0) + goto notfound; + if (ber_scanf_elements(a, "{s(e", &descr, &b) != 0) + goto fail; + if (strcasecmp(descr, inkey) == 0) + goto attrfound; + a = a->be_next; + } + +attrfound: + if ((ret = aldap_get_stringset(b)) == NULL) + goto fail; + + (*outvalues) = ret; + + return (1); +fail: +notfound: + (*outvalues) = NULL; + return (-1); +} + +int +aldap_free_attr(char **values) +{ + int i; + + if (values == NULL) + return -1; + + for (i = 0; values[i] != NULL; i++) + free(values[i]); + + free(values); + + return (1); +} + +#if 0 +void +aldap_free_url(struct aldap_url *lu) +{ + free(lu->buffer); + free(lu->filter); +} + +int +aldap_parse_url(char *url, struct aldap_url *lu) +{ + char *p, *forward, *forward2; + const char *errstr = NULL; + int i; + + if ((lu->buffer = p = strdup(url)) == NULL) + return (-1); + + /* protocol */ + if (strncasecmp(LDAP_URL, p, strlen(LDAP_URL)) != 0) + goto fail; + lu->protocol = LDAP; + p += strlen(LDAP_URL); + + /* host and optional port */ + if ((forward = strchr(p, '/')) != NULL) + *forward = '\0'; + /* find the optional port */ + if ((forward2 = strchr(p, ':')) != NULL) { + *forward2 = '\0'; + /* if a port is given */ + if (*(forward2+1) != '\0') { +#define PORT_MAX UINT16_MAX + lu->port = strtonum(++forward2, 0, PORT_MAX, &errstr); + if (errstr) + goto fail; + } + } + /* fail if no host is given */ + if (strlen(p) == 0) + goto fail; + lu->host = p; + if (forward == NULL) + goto done; + /* p is assigned either a pointer to a character or to '\0' */ + p = ++forward; + if (strlen(p) == 0) + goto done; + + /* dn */ + if ((forward = strchr(p, '?')) != NULL) + *forward = '\0'; + lu->dn = p; + if (forward == NULL) + goto done; + /* p is assigned either a pointer to a character or to '\0' */ + p = ++forward; + if (strlen(p) == 0) + goto done; + + /* attributes */ + if ((forward = strchr(p, '?')) != NULL) + *forward = '\0'; + for (i = 0; i < MAXATTR; i++) { + if ((forward2 = strchr(p, ',')) == NULL) { + if (strlen(p) == 0) + break; + lu->attributes[i] = p; + break; + } + *forward2 = '\0'; + lu->attributes[i] = p; + p = ++forward2; + } + if (forward == NULL) + goto done; + /* p is assigned either a pointer to a character or to '\0' */ + p = ++forward; + if (strlen(p) == 0) + goto done; + + /* scope */ + if ((forward = strchr(p, '?')) != NULL) + *forward = '\0'; + if (strcmp(p, "base") == 0) + lu->scope = LDAP_SCOPE_BASE; + else if (strcmp(p, "one") == 0) + lu->scope = LDAP_SCOPE_ONELEVEL; + else if (strcmp(p, "sub") == 0) + lu->scope = LDAP_SCOPE_SUBTREE; + else + goto fail; + if (forward == NULL) + goto done; + p = ++forward; + if (strlen(p) == 0) + goto done; + + /* filter */ + if (p) + lu->filter = p; +done: + free(url); + return (1); +fail: + free(lu->buffer); + lu->buffer = NULL; + return (-1); +} + +int +aldap_search_url(struct aldap *ldap, char *url, int typesonly, int sizelimit, + int timelimit) +{ + struct aldap_url *lu; + + if ((lu = calloc(1, sizeof(*lu))) == NULL) + return (-1); + + if (aldap_parse_url(url, lu)) + goto fail; + + if (aldap_search(ldap, lu->dn, lu->scope, lu->filter, lu->attributes, + typesonly, sizelimit, timelimit) == -1) + goto fail; + + aldap_free_url(lu); + return (ldap->msgid); +fail: + aldap_free_url(lu); + return (-1); +} +#endif /* 0 */ + +/* + * internal functions + */ + +char ** +aldap_get_stringset(struct ber_element *elm) +{ + struct ber_element *a; + int i; + char **ret; + char *s; + + if (elm->be_type != BER_TYPE_OCTETSTRING) + return NULL; + + for (a = elm, i = 1; i > 0 && a != NULL && a->be_type == + BER_TYPE_OCTETSTRING; a = a->be_next, i++) + ; + if (i == 1) + return NULL; + + if ((ret = calloc(i + 1, sizeof(char *))) == NULL) + return NULL; + + for (a = elm, i = 0; a != NULL && a->be_type == BER_TYPE_OCTETSTRING; + a = a->be_next, i++) { + + ber_get_string(a, &s); + ret[i] = utoa(s); + } + ret[i + 1] = NULL; + + return ret; +} + +/* + * Base case for ldap_do_parse_search_filter + * + * returns: + * struct ber_element *, ber_element tree + * NULL, parse failed + */ +static struct ber_element * +ldap_parse_search_filter(struct ber_element *ber, char *filter) +{ + struct ber_element *elm; + char *cp; + + cp = filter; + + if (cp == NULL || *cp == '\0') { + errno = EINVAL; + return (NULL); + } + + if ((elm = ldap_do_parse_search_filter(ber, &cp)) == NULL) + return (NULL); + + if (*cp != '\0') { + ber_free_elements(elm); + ber_link_elements(ber, NULL); + errno = EINVAL; + return (NULL); + } + + return (elm); +} + +/* + * Translate RFC4515 search filter string into ber_element tree + * + * returns: + * struct ber_element *, ber_element tree + * NULL, parse failed + * + * notes: + * when cp is passed to a recursive invocation, it is updated + * to point one character beyond the filter that was passed + * i.e., cp jumps to "(filter)" upon return + * ^ + * goto's used to discriminate error-handling based on error type + * doesn't handle extended filters (yet) + * + */ +static struct ber_element * +ldap_do_parse_search_filter(struct ber_element *prev, char **cpp) +{ + struct ber_element *elm, *root = NULL; + char *attr_desc, *attr_val, *parsed_val, *cp; + size_t len; + unsigned long type; + + root = NULL; + + /* cpp should pass in pointer to opening parenthesis of "(filter)" */ + cp = *cpp; + if (*cp != '(') + goto syntaxfail; + + switch (*++cp) { + case '&': /* AND */ + case '|': /* OR */ + if (*cp == '&') + type = LDAP_FILT_AND; + else + type = LDAP_FILT_OR; + + if ((elm = ber_add_set(prev)) == NULL) + goto callfail; + root = elm; + ber_set_header(elm, BER_CLASS_CONTEXT, type); + + if (*++cp != '(') /* opening `(` of filter */ + goto syntaxfail; + + while (*cp == '(') { + if ((elm = + ldap_do_parse_search_filter(elm, &cp)) == NULL) + goto bad; + } + + if (*cp != ')') /* trailing `)` of filter */ + goto syntaxfail; + break; + + case '!': /* NOT */ + if ((root = ber_add_sequence(prev)) == NULL) + goto callfail; + ber_set_header(root, BER_CLASS_CONTEXT, LDAP_FILT_NOT); + + cp++; /* now points to sub-filter */ + if ((elm = ldap_do_parse_search_filter(root, &cp)) == NULL) + goto bad; + + if (*cp != ')') /* trailing `)` of filter */ + goto syntaxfail; + break; + + default: /* SIMPLE || PRESENCE */ + attr_desc = cp; + + len = strcspn(cp, "()<>~="); + cp += len; + switch (*cp) { + case '~': + type = LDAP_FILT_APPR; + cp++; + break; + case '<': + type = LDAP_FILT_LE; + cp++; + break; + case '>': + type = LDAP_FILT_GE; + cp++; + break; + case '=': + type = LDAP_FILT_EQ; /* assume EQ until disproven */ + break; + case '(': + case ')': + default: + goto syntaxfail; + } + attr_val = ++cp; + + /* presence filter */ + if (strncmp(attr_val, "*)", 2) == 0) { + cp++; /* point to trailing `)` */ + if ((root = + ber_add_nstring(prev, attr_desc, len)) == NULL) + goto bad; + + ber_set_header(root, BER_CLASS_CONTEXT, LDAP_FILT_PRES); + break; + } + + if ((root = ber_add_sequence(prev)) == NULL) + goto callfail; + ber_set_header(root, BER_CLASS_CONTEXT, type); + + if ((elm = ber_add_nstring(root, attr_desc, len)) == NULL) + goto callfail; + + len = strcspn(attr_val, "*)"); + if (len == 0 && *cp != '*') + goto syntaxfail; + cp += len; + if (*cp == '\0') + goto syntaxfail; + + if (*cp == '*') { /* substring filter */ + int initial; + + cp = attr_val; + + ber_set_header(root, BER_CLASS_CONTEXT, LDAP_FILT_SUBS); + + if ((elm = ber_add_sequence(elm)) == NULL) + goto callfail; + + for (initial = 1;; cp++, initial = 0) { + attr_val = cp; + + len = strcspn(attr_val, "*)"); + if (len == 0) { + if (*cp == ')') + break; + else + continue; + } + cp += len; + if (*cp == '\0') + goto syntaxfail; + + if (initial) + type = LDAP_FILT_SUBS_INIT; + else if (*cp == ')') + type = LDAP_FILT_SUBS_FIN; + else + type = LDAP_FILT_SUBS_ANY; + + if ((parsed_val = parseval(attr_val, len)) == + NULL) + goto callfail; + elm = ber_add_nstring(elm, parsed_val, + strlen(parsed_val)); + free(parsed_val); + if (elm == NULL) + goto callfail; + ber_set_header(elm, BER_CLASS_CONTEXT, type); + if (type == LDAP_FILT_SUBS_FIN) + break; + } + break; + } + + if ((parsed_val = parseval(attr_val, len)) == NULL) + goto callfail; + elm = ber_add_nstring(elm, parsed_val, strlen(parsed_val)); + free(parsed_val); + if (elm == NULL) + goto callfail; + break; + } + + cp++; /* now points one char beyond the trailing `)` */ + + *cpp = cp; + return (root); + +syntaxfail: /* XXX -- error reporting */ +callfail: +bad: + if (root != NULL) + ber_free_elements(root); + ber_link_elements(prev, NULL); + return (NULL); +} + +#ifdef DEBUG +/* + * Display a list of ber elements. + * + */ +void +ldap_debug_elements(struct ber_element *root) +{ + static int indent = 0; + long long v; + int d; + char *buf; + size_t len; + u_int i; + int constructed; + struct ber_oid o; + + /* calculate lengths */ + ber_calc_len(root); + + switch (root->be_encoding) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Mon Nov 16 16:51:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25C29A30427; Mon, 16 Nov 2015 16:51:20 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E78BB1863; Mon, 16 Nov 2015 16:51:19 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGGpJR3054866; Mon, 16 Nov 2015 16:51:19 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGGpJjY054865; Mon, 16 Nov 2015 16:51:19 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161651.tAGGpJjY054865@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 16:51:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290932 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 16:51:20 -0000 Author: rodrigc Date: Mon Nov 16 16:51:18 2015 New Revision: 290932 URL: https://svnweb.freebsd.org/changeset/base/290932 Log: Convert Makefile to FreeBSD style. Add libopenbsd to link line for imsg. Modified: head/usr.sbin/ypldap/Makefile Modified: head/usr.sbin/ypldap/Makefile ============================================================================== --- head/usr.sbin/ypldap/Makefile Mon Nov 16 16:48:43 2015 (r290931) +++ head/usr.sbin/ypldap/Makefile Mon Nov 16 16:51:18 2015 (r290932) @@ -9,13 +9,12 @@ SRCS= parse.y ypldap.c log.c \ MAN= ypldap.8 ypldap.conf.5 -DPADD= ${LIBEVENT} ${LIBUTIL} ${LIBRPCSVC} -LDADD= -levent -lutil -lrpcsvc -CFLAGS+= -I${.CURDIR} -CFLAGS+= -Wall -CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes -CFLAGS+= -Wmissing-declarations -CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual -CFLAGS+= -Wsign-compare +LIBADD= openbsd event util rpcsvc + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-I${.CURDIR}/../../contrib/pf/libevent +CFLAGS+=-I${.CURDIR}/../../lib/libopenbsd + +WARNS= 2 .include From owner-svn-src-head@freebsd.org Mon Nov 16 16:52:58 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11F8EA30546; Mon, 16 Nov 2015 16:52:58 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1E051A92; Mon, 16 Nov 2015 16:52:57 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGGqu4d054955; Mon, 16 Nov 2015 16:52:56 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGGqunr054954; Mon, 16 Nov 2015 16:52:56 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161652.tAGGqunr054954@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 16:52:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290933 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 16:52:58 -0000 Author: rodrigc Date: Mon Nov 16 16:52:56 2015 New Revision: 290933 URL: https://svnweb.freebsd.org/changeset/base/290933 Log: Add include of for strlen() prototype. Modified: head/usr.sbin/ypldap/ber.c Modified: head/usr.sbin/ypldap/ber.c ============================================================================== --- head/usr.sbin/ypldap/ber.c Mon Nov 16 16:51:18 2015 (r290932) +++ head/usr.sbin/ypldap/ber.c Mon Nov 16 16:52:56 2015 (r290933) @@ -26,6 +26,7 @@ #include #include /* XXX for debug output */ #include /* XXX for debug output */ +#include #include #include #include From owner-svn-src-head@freebsd.org Mon Nov 16 16:58:10 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95C33A3062A; Mon, 16 Nov 2015 16:58:10 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5CD751D5A; Mon, 16 Nov 2015 16:58:10 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGGw9xL055186; Mon, 16 Nov 2015 16:58:09 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGGw9T3055185; Mon, 16 Nov 2015 16:58:09 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161658.tAGGw9T3055185@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 16:58:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290934 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 16:58:10 -0000 Author: rodrigc Date: Mon Nov 16 16:58:09 2015 New Revision: 290934 URL: https://svnweb.freebsd.org/changeset/base/290934 Log: Remove reference to EAI_NODATA. It does not exist on FreeBSD. Modified: head/usr.sbin/ypldap/ypldap_dns.c Modified: head/usr.sbin/ypldap/ypldap_dns.c ============================================================================== --- head/usr.sbin/ypldap/ypldap_dns.c Mon Nov 16 16:52:56 2015 (r290933) +++ head/usr.sbin/ypldap/ypldap_dns.c Mon Nov 16 16:58:09 2015 (r290934) @@ -215,7 +215,7 @@ host_dns(const char *s, struct ypldap_ad hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; /* DUMMY */ error = getaddrinfo(s, NULL, &hints, &res0); - if (error == EAI_AGAIN || error == EAI_NODATA || error == EAI_NONAME) + if (error == EAI_AGAIN || error == EAI_NONAME) return (0); if (error) { log_warnx("could not parse \"%s\": %s", s, From owner-svn-src-head@freebsd.org Mon Nov 16 17:02:08 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BE0B6A30710; Mon, 16 Nov 2015 17:02:08 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5F0631197; Mon, 16 Nov 2015 17:02:08 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wmec201 with SMTP id c201so129576921wme.1; Mon, 16 Nov 2015 09:02:06 -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=m0vlZHm4qq3Rsl/YrU6a6ApMQIME+72o41v/9XHsdqc=; b=pFEgCG3ykcfUFhmQxRwyYbrxxA62b1u5r4yHNS2v53e80iCzIJhrSRFHp5OpU7XirO PZBa7QGV2BF1n+b8UhkCOURaPVV4l3oQh/jcIpjKgj5Hz8j6mLld1QnJYOXGtdAmQZq8 6mtQsjv9N2pmPZ4LFLU0mwaxadzdlfJbu1irwX2HKlwivlRWPHt2/xzbCkbmCDwwCaAj XjY+VshttlEbKDgh63BFsQKNHmbKjM6abTcDPATIV/0vNHFGqPmQ9KxEk6+c5Gxr9S6x 3HEc8Qsoq3eYopTf9ZI4s2Y7gLswL9MPvtjvp/qZwoD7P5nvUg54xYVs3oo8EU2i1+7d xx4w== X-Received: by 10.28.54.21 with SMTP id d21mr10760400wma.20.1447693326843; Mon, 16 Nov 2015 09:02:06 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id v4sm25922148wjx.18.2015.11.16.09.02.05 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Nov 2015 09:02:05 -0800 (PST) Sender: Baptiste Daroussin Date: Mon, 16 Nov 2015 18:02:03 +0100 From: Baptiste Daroussin To: Craig Rodrigues Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290931 - head/usr.sbin/ypldap Message-ID: <20151116170203.GA59189@ivaldir.etoilebsd.net> References: <201511161648.tAGGmh6q052192@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="gKMricLos+KVdGMg" Content-Disposition: inline In-Reply-To: <201511161648.tAGGmh6q052192@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 16 Nov 2015 17:02:08 -0000 --gKMricLos+KVdGMg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Nov 16, 2015 at 04:48:43PM +0000, Craig Rodrigues wrote: > Author: rodrigc > Date: Mon Nov 16 16:48:43 2015 > New Revision: 290931 > URL: https://svnweb.freebsd.org/changeset/base/290931 >=20 > Log: > Import ypldap from OpenBSD. > =20 > ypldap -- Intended to be a drop-in replacement for ypserv, gluing in a > LDAP directory and thus providing support for users and groups stored in > LDAP for the get{pw,gr}ent family of functions. >=20 > Added: > head/usr.sbin/ypldap/ > head/usr.sbin/ypldap/Makefile (contents, props changed) > head/usr.sbin/ypldap/aldap.c (contents, props changed) > head/usr.sbin/ypldap/aldap.h (contents, props changed) > head/usr.sbin/ypldap/ber.c (contents, props changed) > head/usr.sbin/ypldap/ber.h (contents, props changed) It would be nice to have aldap.* and ber* into libopenbsd so we can reuse i= t in other part of the base system like pam. Best regards, Bapt --gKMricLos+KVdGMg Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlZKDAsACgkQ8kTtMUmk6ExFPgCeOr55nSLQvf+r+taVPXu/p0Sq BdEAn3Du9M0lUTgrmMF/RUiEesANCCfB =0Bnt -----END PGP SIGNATURE----- --gKMricLos+KVdGMg-- From owner-svn-src-head@freebsd.org Mon Nov 16 17:02:36 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2AD7FA3088C; Mon, 16 Nov 2015 17:02:36 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E9C081332; Mon, 16 Nov 2015 17:02:35 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGH2ZKQ057862; Mon, 16 Nov 2015 17:02:35 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGH2ZYc057861; Mon, 16 Nov 2015 17:02:35 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161702.tAGH2ZYc057861@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:02:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290935 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:02:36 -0000 Author: rodrigc Date: Mon Nov 16 17:02:34 2015 New Revision: 290935 URL: https://svnweb.freebsd.org/changeset/base/290935 Log: Replace HOST_NAME_MAX with MAXHOSTNAMELEN. FreeBSD lacks HOST_NAME_MAX. Modified: head/usr.sbin/ypldap/ypldap.h Modified: head/usr.sbin/ypldap/ypldap.h ============================================================================== --- head/usr.sbin/ypldap/ypldap.h Mon Nov 16 16:58:09 2015 (r290934) +++ head/usr.sbin/ypldap/ypldap.h Mon Nov 16 17:02:34 2015 (r290935) @@ -82,7 +82,7 @@ enum client_state { struct idm { TAILQ_ENTRY(idm) idm_entry; u_int32_t idm_id; - char idm_name[HOST_NAME_MAX+1]; + char idm_name[MAXHOSTNAMELEN]; #define F_SSL 0x00100000 #define F_CONFIGURING 0x00200000 #define F_NEEDAUTH 0x00400000 @@ -156,7 +156,7 @@ struct env { u_int32_t sc_maxid; - char sc_domainname[HOST_NAME_MAX+1]; + char sc_domainname[MAXHOSTNAMELEN]; struct timeval sc_conf_tv; struct event sc_conf_ev; TAILQ_HEAD(idm_list, idm) sc_idms; From owner-svn-src-head@freebsd.org Mon Nov 16 17:03:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BC568A308F7; Mon, 16 Nov 2015 17:03:53 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 853521520; Mon, 16 Nov 2015 17:03:53 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGH3qTn057966; Mon, 16 Nov 2015 17:03:52 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGH3qYH057965; Mon, 16 Nov 2015 17:03:52 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161703.tAGH3qYH057965@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:03:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290936 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:03:53 -0000 Author: rodrigc Date: Mon Nov 16 17:03:52 2015 New Revision: 290936 URL: https://svnweb.freebsd.org/changeset/base/290936 Log: Replace __dead with __dead2. FreeBSD lacks __dead. Modified: head/usr.sbin/ypldap/ypldap.h Modified: head/usr.sbin/ypldap/ypldap.h ============================================================================== --- head/usr.sbin/ypldap/ypldap.h Mon Nov 16 17:02:34 2015 (r290935) +++ head/usr.sbin/ypldap/ypldap.h Mon Nov 16 17:03:52 2015 (r290936) @@ -187,8 +187,8 @@ void log_info(const char *, ...); void log_debug(const char *, ...); void logit(int, const char *, ...); void vlog(int, const char *, va_list); -__dead void fatal(const char *); -__dead void fatalx(const char *); +__dead2 void fatal(const char *); +__dead2 void fatalx(const char *); /* parse.y */ int parse_config(struct env *, const char *, int); From owner-svn-src-head@freebsd.org Mon Nov 16 17:06:35 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52C33A30985; Mon, 16 Nov 2015 17:06:35 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 05D0917E6; Mon, 16 Nov 2015 17:06:34 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGH6Yfb058112; Mon, 16 Nov 2015 17:06:34 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGH6XtK058107; Mon, 16 Nov 2015 17:06:33 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161706.tAGH6XtK058107@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:06:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290937 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:06:35 -0000 Author: rodrigc Date: Mon Nov 16 17:06:33 2015 New Revision: 290937 URL: https://svnweb.freebsd.org/changeset/base/290937 Log: Add include of sys/param.h for MAXHOSTNAMELEN Modified: head/usr.sbin/ypldap/entries.c head/usr.sbin/ypldap/parse.y head/usr.sbin/ypldap/yp.c head/usr.sbin/ypldap/ypldap.c head/usr.sbin/ypldap/ypldap_dns.c Modified: head/usr.sbin/ypldap/entries.c ============================================================================== --- head/usr.sbin/ypldap/entries.c Mon Nov 16 17:03:52 2015 (r290936) +++ head/usr.sbin/ypldap/entries.c Mon Nov 16 17:06:33 2015 (r290937) @@ -17,6 +17,7 @@ */ #include +#include #include #include #include Modified: head/usr.sbin/ypldap/parse.y ============================================================================== --- head/usr.sbin/ypldap/parse.y Mon Nov 16 17:03:52 2015 (r290936) +++ head/usr.sbin/ypldap/parse.y Mon Nov 16 17:06:33 2015 (r290937) @@ -26,6 +26,7 @@ %{ #include +#include #include #include #include Modified: head/usr.sbin/ypldap/yp.c ============================================================================== --- head/usr.sbin/ypldap/yp.c Mon Nov 16 17:03:52 2015 (r290936) +++ head/usr.sbin/ypldap/yp.c Mon Nov 16 17:06:33 2015 (r290937) @@ -17,6 +17,7 @@ */ #include +#include #include #include #include Modified: head/usr.sbin/ypldap/ypldap.c ============================================================================== --- head/usr.sbin/ypldap/ypldap.c Mon Nov 16 17:03:52 2015 (r290936) +++ head/usr.sbin/ypldap/ypldap.c Mon Nov 16 17:06:33 2015 (r290937) @@ -18,6 +18,7 @@ */ #include +#include #include #include #include Modified: head/usr.sbin/ypldap/ypldap_dns.c ============================================================================== --- head/usr.sbin/ypldap/ypldap_dns.c Mon Nov 16 17:03:52 2015 (r290936) +++ head/usr.sbin/ypldap/ypldap_dns.c Mon Nov 16 17:06:33 2015 (r290937) @@ -18,6 +18,7 @@ */ #include +#include #include #include #include From owner-svn-src-head@freebsd.org Mon Nov 16 17:08:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 983FDA309E8; Mon, 16 Nov 2015 17:08:06 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 65064197F; Mon, 16 Nov 2015 17:08:06 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGH85x4058208; Mon, 16 Nov 2015 17:08:05 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGH85c1058206; Mon, 16 Nov 2015 17:08:05 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161708.tAGH85c1058206@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:08:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290938 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:08:06 -0000 Author: rodrigc Date: Mon Nov 16 17:08:05 2015 New Revision: 290938 URL: https://svnweb.freebsd.org/changeset/base/290938 Log: Replace __dead with __dead2. FreeBSD lacks __dead. Modified: head/usr.sbin/ypldap/log.c head/usr.sbin/ypldap/ypldap.c Modified: head/usr.sbin/ypldap/log.c ============================================================================== --- head/usr.sbin/ypldap/log.c Mon Nov 16 17:06:33 2015 (r290937) +++ head/usr.sbin/ypldap/log.c Mon Nov 16 17:08:05 2015 (r290938) @@ -31,8 +31,8 @@ void log_warn(const char *, ...); void log_warnx(const char *, ...); void log_info(const char *, ...); void log_debug(const char *, ...); -__dead void fatal(const char *); -__dead void fatalx(const char *); +__dead2 void fatal(const char *); +__dead2 void fatalx(const char *); int debug; Modified: head/usr.sbin/ypldap/ypldap.c ============================================================================== --- head/usr.sbin/ypldap/ypldap.c Mon Nov 16 17:06:33 2015 (r290937) +++ head/usr.sbin/ypldap/ypldap.c Mon Nov 16 17:08:05 2015 (r290938) @@ -40,7 +40,7 @@ #include "ypldap.h" -__dead void usage(void); +__dead2 void usage(void); int check_child(pid_t, const char *); void main_sig_handler(int, short, void *); void main_shutdown(void); From owner-svn-src-head@freebsd.org Mon Nov 16 17:08:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2D6BEA30A41; Mon, 16 Nov 2015 17:08:53 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB1C11AE7; Mon, 16 Nov 2015 17:08:52 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGH8pdo058279; Mon, 16 Nov 2015 17:08:51 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGH8pEd058278; Mon, 16 Nov 2015 17:08:51 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161708.tAGH8pEd058278@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:08:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290939 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:08:53 -0000 Author: rodrigc Date: Mon Nov 16 17:08:51 2015 New Revision: 290939 URL: https://svnweb.freebsd.org/changeset/base/290939 Log: Add include of time.h for tzset() prototype. Modified: head/usr.sbin/ypldap/log.c Modified: head/usr.sbin/ypldap/log.c ============================================================================== --- head/usr.sbin/ypldap/log.c Mon Nov 16 17:08:05 2015 (r290938) +++ head/usr.sbin/ypldap/log.c Mon Nov 16 17:08:51 2015 (r290939) @@ -25,6 +25,7 @@ #include #include #include +#include void log_init(int); void log_warn(const char *, ...); From owner-svn-src-head@freebsd.org Mon Nov 16 17:11:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4989A30C56; Mon, 16 Nov 2015 17:11:12 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7FE521FD4; Mon, 16 Nov 2015 17:11:12 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGHBBUL060356; Mon, 16 Nov 2015 17:11:11 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGHBBxH060355; Mon, 16 Nov 2015 17:11:11 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161711.tAGHBBxH060355@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:11:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290940 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:11:12 -0000 Author: rodrigc Date: Mon Nov 16 17:11:11 2015 New Revision: 290940 URL: https://svnweb.freebsd.org/changeset/base/290940 Log: Do not use SA_LEN() to dereference sa_len. FreeBSD lacks the SA_LEN() macro. Modified: head/usr.sbin/ypldap/ldapclient.c Modified: head/usr.sbin/ypldap/ldapclient.c ============================================================================== --- head/usr.sbin/ypldap/ldapclient.c Mon Nov 16 17:08:51 2015 (r290939) +++ head/usr.sbin/ypldap/ldapclient.c Mon Nov 16 17:11:11 2015 (r290940) @@ -71,14 +71,14 @@ client_aldap_open(struct ypldap_addr *ad char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV]; struct sockaddr *sa = (struct sockaddr *)&p->ss; - if (getnameinfo(sa, SA_LEN(sa), hbuf, sizeof(hbuf), sbuf, + if (getnameinfo(sa, sa->sa_len, hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV)) errx(1, "could not get numeric hostname"); if ((fd = socket(sa->sa_family, SOCK_STREAM, 0)) < 0) return NULL; - if (connect(fd, sa, SA_LEN(sa)) == 0) + if (connect(fd, sa, sa->sa_len) == 0) break; warn("connect to %s port %s (%s) failed", hbuf, sbuf, "tcp"); From owner-svn-src-head@freebsd.org Mon Nov 16 17:25:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 33650A30FC1; Mon, 16 Nov 2015 17:25:29 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01A421B9F; Mon, 16 Nov 2015 17:25:28 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGHPStt064325; Mon, 16 Nov 2015 17:25:28 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGHPSHf064324; Mon, 16 Nov 2015 17:25:28 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161725.tAGHPSHf064324@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:25:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290941 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:25:29 -0000 Author: rodrigc Date: Mon Nov 16 17:25:27 2015 New Revision: 290941 URL: https://svnweb.freebsd.org/changeset/base/290941 Log: Replace __svc_fdset with svc_fdset. FreeBSD lacks __svc_fdset and __svc_fdsetsize. Modified: head/usr.sbin/ypldap/yp.c Modified: head/usr.sbin/ypldap/yp.c ============================================================================== --- head/usr.sbin/ypldap/yp.c Mon Nov 16 17:11:11 2015 (r290940) +++ head/usr.sbin/ypldap/yp.c Mon Nov 16 17:25:27 2015 (r290941) @@ -82,13 +82,12 @@ yp_disable_events(void) void yp_enable_events(void) { - int i; - extern fd_set *__svc_fdset; - extern int __svc_fdsetsize; + int i; + extern fd_set svc_fdset; struct yp_event *ye; - for (i = 0; i < __svc_fdsetsize; i++) { - if (FD_ISSET(i, __svc_fdset)) { + for (i = 0; i < getdtablesize(); i++) { + if (FD_ISSET(i, &svc_fdset)) { if ((ye = calloc(1, sizeof(*ye))) == NULL) fatal(NULL); event_set(&ye->ye_event, i, EV_READ, yp_fd_event, NULL); From owner-svn-src-head@freebsd.org Mon Nov 16 17:28:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5CA99A300D9; Mon, 16 Nov 2015 17:28:06 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24B171F3D; Mon, 16 Nov 2015 17:28:06 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGHS5Ob064446; Mon, 16 Nov 2015 17:28:05 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGHS5Im064445; Mon, 16 Nov 2015 17:28:05 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511161728.tAGHS5Im064445@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 17:28:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290942 - head/usr.sbin/ypldap 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.20 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, 16 Nov 2015 17:28:06 -0000 Author: rodrigc Date: Mon Nov 16 17:28:04 2015 New Revision: 290942 URL: https://svnweb.freebsd.org/changeset/base/290942 Log: Add include of signal.h for signal() prototype. Modified: head/usr.sbin/ypldap/ldapclient.c Modified: head/usr.sbin/ypldap/ldapclient.c ============================================================================== --- head/usr.sbin/ypldap/ldapclient.c Mon Nov 16 17:25:27 2015 (r290941) +++ head/usr.sbin/ypldap/ldapclient.c Mon Nov 16 17:28:04 2015 (r290942) @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include From owner-svn-src-head@freebsd.org Mon Nov 16 17:57:44 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E51CA30A1D; Mon, 16 Nov 2015 17:57:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1CD851281; Mon, 16 Nov 2015 17:57:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 09DE6B9A8; Mon, 16 Nov 2015 12:57:43 -0500 (EST) From: John Baldwin To: Randall Stewart Cc: Bryan Drewery , "Alexander V. Chernikov" , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" , Adrian Chadd , imp@freebsd.org Subject: Re: svn commit: r290664 - in head: share/man/man9 sys/kern sys/sys Date: Fri, 13 Nov 2015 15:47:12 -0800 Message-ID: <2705265.iiJmELE41x@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: References: <201511101449.tAAEnXIi065747@repo.freebsd.org> <56465991.5090906@FreeBSD.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 16 Nov 2015 12:57:43 -0500 (EST) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 16 Nov 2015 17:57:44 -0000 On Friday, November 13, 2015 04:47:53 PM Randall Stewart wrote: >=20 > On Nov 13, 2015, at 4:43 PM, Bryan Drewery wro= te: >=20 > > On 11/13/2015 1:24 PM, Randall Stewart wrote: > >> Looking at the patch, we need a define of your > >>=20 > >> _callout_stop_safe > >>=20 > >> and we need to switch > >>=20 > >> callout_stop()=E2=80=99s define to use the new _callout_stop_safe(= ) > >=20 > > For both cases, there would be no reason to have new code call my > > wrapper. The defines in my patch are fine for new code. The "new" > > _callout_stop_safe function is just for existing modules. > >=20 > > I think the historical consensus is to not commit my patch though a= s > > people should recompile their modules when the kernel is updated, b= efore > > rebooting into the new kernel even. >=20 > I did (as Han=E2=80=99s suggested) bump the FreeBSD version number.. >=20 > So maybe thats good enough. I think this will be problematic to MFC. It would be both an API and ABI change for existing modules, and callout(9) is a fairly common API that you would expect modules to use (not some internal thing that few if any modules use). The ABI stub would need to return the old values (so map -1 to 0). Changing the API in this way though means that code can silently be recompiled and break (there's no compile error, etc. The API only changes in that the semantics of the functions change). --=20 John Baldwin From owner-svn-src-head@freebsd.org Mon Nov 16 19:26:51 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF595A30037; Mon, 16 Nov 2015 19:26:51 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x22d.google.com (mail-pa0-x22d.google.com [IPv6:2607:f8b0:400e:c03::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A93EB1EE7; Mon, 16 Nov 2015 19:26:51 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by pacej9 with SMTP id ej9so77331298pac.2; Mon, 16 Nov 2015 11:26:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=3DkR1qEwlWUqsbgXugqTYRm/E2iM84ftkfEmN9Snr2o=; b=p9ghX/jo+kkU2ZB0OJnAG3p21ZWpUnXWolRafSL4k7JY3eBnFWaNNNEWFM67JT8h1X fixq9IQ5dvumpQExHA1Z3IUL/ZTcQxoVPe8RV7T4WeGiUa/UsOdaF/GMCiSa7Rm+mrG3 v/b80r7nG6vy4XJPmM4d+00LHIF4u8vWdvlEmObDzrOJPosfvzGlqHP3uC+JvLRaAtI6 81u3SXuksev8DlATNtGL4aaQh6Sq5D2euCk7CwheEOuKGGrfv1e6PPHSoPaNrI/OljwK iTdkKKQss62/OGSEpHNa0dm4EhdrRPR4+VjY1mTR0BBDhRR883VIXoXa59y/nlbY2bXD R3Fw== X-Received: by 10.66.101.40 with SMTP id fd8mr48612775pab.91.1447702010082; Mon, 16 Nov 2015 11:26:50 -0800 (PST) Received: from [192.168.20.11] (c-24-16-212-205.hsd1.wa.comcast.net. [24.16.212.205]) by smtp.gmail.com with ESMTPSA id bh4sm38075501pbb.17.2015.11.16.11.26.48 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 16 Nov 2015 11:26:48 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r290931 - head/usr.sbin/ypldap From: Garrett Cooper X-Mailer: iPhone Mail (13B143) In-Reply-To: <201511161648.tAGGmh6q052192@repo.freebsd.org> Date: Mon, 16 Nov 2015 11:26:47 -0800 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <9B6CC022-BC98-4DC1-9D5A-32F3D8ACB8BC@gmail.com> References: <201511161648.tAGGmh6q052192@repo.freebsd.org> To: Craig Rodrigues X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 16 Nov 2015 19:26:52 -0000 > On Nov 16, 2015, at 08:48, Craig Rodrigues wrote: >=20 > Author: rodrigc > Date: Mon Nov 16 16:48:43 2015 > New Revision: 290931 > URL: https://svnweb.freebsd.org/changeset/base/290931 >=20 > Log: > Import ypldap from OpenBSD. >=20 > ypldap -- Intended to be a drop-in replacement for ypserv, gluing in a > LDAP directory and thus providing support for users and groups stored in > LDAP for the get{pw,gr}ent family of functions. contrib/ would be a better spot for this. Was the code checked in to the ven= dor tree :/...?= From owner-svn-src-head@freebsd.org Mon Nov 16 20:18:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC73AA30E5B; Mon, 16 Nov 2015 20:18:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC8B61C39; Mon, 16 Nov 2015 20:18:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGKIcN4027770; Mon, 16 Nov 2015 20:18:38 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGKIctq027769; Mon, 16 Nov 2015 20:18:38 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511162018.tAGKIctq027769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 16 Nov 2015 20:18:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290943 - head/etc 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.20 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, 16 Nov 2015 20:18:40 -0000 Author: bdrewery Date: Mon Nov 16 20:18:38 2015 New Revision: 290943 URL: https://svnweb.freebsd.org/changeset/base/290943 Log: Avoid FSCHG for INSTALL_AS_USER as well. PR: 194189 X-MFC-With: r290628 MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/etc/Makefile Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Mon Nov 16 17:28:04 2015 (r290942) +++ head/etc/Makefile Mon Nov 16 20:18:38 2015 (r290943) @@ -337,10 +337,10 @@ MTREE_FILTER= sed -e 's,\([gu]\)name=,\1 -e 's,\(gid=\)[^ ]*$$,\1${_gid},' .else MTREE_FILTER= cat -.endif .if !defined(NO_FSCHG) MTREE_FSCHG= -i .endif +.endif MTREES= mtree/BSD.root.dist / \ mtree/BSD.var.dist /var \ From owner-svn-src-head@freebsd.org Mon Nov 16 20:31:01 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8815A30086; Mon, 16 Nov 2015 20:31:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9ED08123A; Mon, 16 Nov 2015 20:31:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGKV0TP032455; Mon, 16 Nov 2015 20:31:00 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGKV0uB032454; Mon, 16 Nov 2015 20:31:00 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511162031.tAGKV0uB032454@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 16 Nov 2015 20:31:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290944 - head/tools/build 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.20 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, 16 Nov 2015 20:31:02 -0000 Author: bdrewery Date: Mon Nov 16 20:31:00 2015 New Revision: 290944 URL: https://svnweb.freebsd.org/changeset/base/290944 Log: Fix error case for bmake to echo 0. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/tools/build/Makefile Modified: head/tools/build/Makefile ============================================================================== --- head/tools/build/Makefile Mon Nov 16 20:18:38 2015 (r290943) +++ head/tools/build/Makefile Mon Nov 16 20:31:00 2015 (r290944) @@ -9,7 +9,7 @@ INCS= BOOTSTRAPPING?= 0 -_WITH_PWCACHEDB!= grep -c pwcache_groupdb /usr/include/grp.h || true +_WITH_PWCACHEDB!= grep -c pwcache_groupdb /usr/include/grp.h 2>/dev/null || echo 0 .if ${_WITH_PWCACHEDB} == 0 .PATH: ${.CURDIR}/../../contrib/libc-pwcache CFLAGS+= -I${.CURDIR}/../../contrib/libc-pwcache \ @@ -17,7 +17,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/libc SRCS+= pwcache.c .endif -_WITH_STRSVIS!= grep -c strsvis /usr/include/vis.h || true +_WITH_STRSVIS!= grep -c strsvis /usr/include/vis.h 2>/dev/null || echo 0 .if ${_WITH_STRSVIS} == 0 .PATH: ${.CURDIR}/../../contrib/libc-vis SRCS+= vis.c @@ -25,7 +25,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/libc -I${.CURDIR}/../../lib/libc/include .endif -_WITH_REALLOCARRAY!= grep -c reallocarray /usr/include/stdlib.h || true +_WITH_REALLOCARRAY!= grep -c reallocarray /usr/include/stdlib.h 2>/dev/null || echo 0 .if ${_WITH_REALLOCARRAY} == 0 .PATH: ${.CURDIR}/../../lib/libc/stdlib INCS+= stdlib.h From owner-svn-src-head@freebsd.org Mon Nov 16 21:05:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 604D9A30BAB; Mon, 16 Nov 2015 21:05:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A1AE1F83; Mon, 16 Nov 2015 21:05:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGL5cNF048569; Mon, 16 Nov 2015 21:05:38 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGL5csc048568; Mon, 16 Nov 2015 21:05:38 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511162105.tAGL5csc048568@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 16 Nov 2015 21:05:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290945 - head/tools/build 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.20 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, 16 Nov 2015 21:05:39 -0000 Author: bdrewery Date: Mon Nov 16 21:05:38 2015 New Revision: 290945 URL: https://svnweb.freebsd.org/changeset/base/290945 Log: Revert r290944. It was wrong. Modified: head/tools/build/Makefile Modified: head/tools/build/Makefile ============================================================================== --- head/tools/build/Makefile Mon Nov 16 20:31:00 2015 (r290944) +++ head/tools/build/Makefile Mon Nov 16 21:05:38 2015 (r290945) @@ -9,7 +9,7 @@ INCS= BOOTSTRAPPING?= 0 -_WITH_PWCACHEDB!= grep -c pwcache_groupdb /usr/include/grp.h 2>/dev/null || echo 0 +_WITH_PWCACHEDB!= grep -c pwcache_groupdb /usr/include/grp.h || true .if ${_WITH_PWCACHEDB} == 0 .PATH: ${.CURDIR}/../../contrib/libc-pwcache CFLAGS+= -I${.CURDIR}/../../contrib/libc-pwcache \ @@ -17,7 +17,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/libc SRCS+= pwcache.c .endif -_WITH_STRSVIS!= grep -c strsvis /usr/include/vis.h 2>/dev/null || echo 0 +_WITH_STRSVIS!= grep -c strsvis /usr/include/vis.h || true .if ${_WITH_STRSVIS} == 0 .PATH: ${.CURDIR}/../../contrib/libc-vis SRCS+= vis.c @@ -25,7 +25,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/libc -I${.CURDIR}/../../lib/libc/include .endif -_WITH_REALLOCARRAY!= grep -c reallocarray /usr/include/stdlib.h 2>/dev/null || echo 0 +_WITH_REALLOCARRAY!= grep -c reallocarray /usr/include/stdlib.h || true .if ${_WITH_REALLOCARRAY} == 0 .PATH: ${.CURDIR}/../../lib/libc/stdlib INCS+= stdlib.h From owner-svn-src-head@freebsd.org Mon Nov 16 21:13:58 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 885B5A30E34; Mon, 16 Nov 2015 21:13:58 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4941F1560; Mon, 16 Nov 2015 21:13:58 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGLDvPS052534; Mon, 16 Nov 2015 21:13:57 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGLDv5O052533; Mon, 16 Nov 2015 21:13:57 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201511162113.tAGLDv5O052533@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Mon, 16 Nov 2015 21:13:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290946 - head/sys/dev/re 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.20 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, 16 Nov 2015 21:13:58 -0000 Author: marius Date: Mon Nov 16 21:13:57 2015 New Revision: 290946 URL: https://svnweb.freebsd.org/changeset/base/290946 Log: With r290566 in place it turned out that WOL previously only worked by accident with RTL8168G and later chips when the interface actually was brought up. This is due to the fact that with these MAC variants, RXDV gate needs be disabled for WOL to work. So do just that in re_setwol() when IFCAP_WOL is requested. Reported and tested by: dhw MFC after: 3 days Modified: head/sys/dev/re/if_re.c Modified: head/sys/dev/re/if_re.c ============================================================================== --- head/sys/dev/re/if_re.c Mon Nov 16 21:05:38 2015 (r290945) +++ head/sys/dev/re/if_re.c Mon Nov 16 21:13:57 2015 (r290946) @@ -1696,13 +1696,13 @@ re_attach(device_t dev) #ifdef DEV_NETMAP re_netmap_attach(sc); #endif /* DEV_NETMAP */ + #ifdef RE_DIAG /* * Perform hardware diagnostic on the original RTL8169. * Some 32-bit cards were incorrectly wired and would * malfunction if plugged into a 64-bit slot. */ - if (hwrev == RL_HWREV_8169) { error = re_diag(sc); if (error) { @@ -2939,6 +2939,7 @@ re_start_locked(struct ifnet *ifp) return; } #endif /* DEV_NETMAP */ + if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->rl_flags & RL_FLAG_LINK) == 0) return; @@ -3851,6 +3852,11 @@ re_setwol(struct rl_softc *sc) CSR_READ_1(sc, RL_GPIO) & ~0x01); } if ((ifp->if_capenable & IFCAP_WOL) != 0) { + if ((sc->rl_flags & RL_FLAG_8168G_PLUS) != 0) { + /* Disable RXDV gate. */ + CSR_WRITE_4(sc, RL_MISC, CSR_READ_4(sc, RL_MISC) & + ~0x00080000); + } re_set_rxmode(sc); if ((sc->rl_flags & RL_FLAG_WOL_MANLINK) != 0) re_set_linkspeed(sc); From owner-svn-src-head@freebsd.org Mon Nov 16 21:36:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A16F3A311D9; Mon, 16 Nov 2015 21:36:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5AFD21FD9; Mon, 16 Nov 2015 21:36:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGLaGiu061251; Mon, 16 Nov 2015 21:36:16 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGLaFCV061243; Mon, 16 Nov 2015 21:36:15 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201511162136.tAGLaFCV061243@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 16 Nov 2015 21:36:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290947 - in head: crypto/openssl/doc/crypto secure/lib/libcrypto secure/lib/libcrypto/man 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.20 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, 16 Nov 2015 21:36:17 -0000 Author: jkim Date: Mon Nov 16 21:36:15 2015 New Revision: 290947 URL: https://svnweb.freebsd.org/changeset/base/290947 Log: Remove duplicate manual pages. Reported by: brd Deleted: head/secure/lib/libcrypto/man/SSLeay_version.3 Modified: head/crypto/openssl/doc/crypto/EVP_EncryptInit.pod head/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod head/secure/lib/libcrypto/Makefile.inc head/secure/lib/libcrypto/Makefile.man head/secure/lib/libcrypto/man/EVP_EncryptInit.3 head/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 Modified: head/crypto/openssl/doc/crypto/EVP_EncryptInit.pod ============================================================================== --- head/crypto/openssl/doc/crypto/EVP_EncryptInit.pod Mon Nov 16 21:13:57 2015 (r290946) +++ head/crypto/openssl/doc/crypto/EVP_EncryptInit.pod Mon Nov 16 21:36:15 2015 (r290947) @@ -20,7 +20,7 @@ EVP_CIPHER_CTX_set_padding, EVP_enc_nul EVP_des_cfb, EVP_des_ofb, EVP_des_ede_cbc, EVP_des_ede, EVP_des_ede_ofb, EVP_des_ede_cfb, EVP_des_ede3_cbc, EVP_des_ede3, EVP_des_ede3_ofb, EVP_des_ede3_cfb, EVP_desx_cbc, EVP_rc4, EVP_rc4_40, EVP_idea_cbc, -EVP_idea_ecb, EVP_idea_cfb, EVP_idea_ofb, EVP_idea_cbc, EVP_rc2_cbc, +EVP_idea_ecb, EVP_idea_cfb, EVP_idea_ofb, EVP_rc2_cbc, EVP_rc2_ecb, EVP_rc2_cfb, EVP_rc2_ofb, EVP_rc2_40_cbc, EVP_rc2_64_cbc, EVP_bf_cbc, EVP_bf_ecb, EVP_bf_cfb, EVP_bf_ofb, EVP_cast5_cbc, EVP_cast5_ecb, EVP_cast5_cfb, EVP_cast5_ofb, EVP_rc5_32_12_16_cbc, @@ -315,7 +315,7 @@ RC4 stream cipher. This is a variable ke RC4 stream cipher with 40 bit key length. This is obsolete and new code should use EVP_rc4() and the EVP_CIPHER_CTX_set_key_length() function. -=item EVP_idea_cbc() EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void), EVP_idea_cbc(void) +=item EVP_idea_cbc() EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void) IDEA encryption algorithm in CBC, ECB, CFB and OFB modes respectively. Modified: head/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod ============================================================================== --- head/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod Mon Nov 16 21:13:57 2015 (r290946) +++ head/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod Mon Nov 16 21:36:15 2015 (r290947) @@ -2,7 +2,7 @@ =head1 NAME -EVP_PKEY_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_get_default_digest_nid, +EVP_PKEY_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_CTX_set_signature_md, EVP_PKEY_CTX_set_rsa_padding, EVP_PKEY_CTX_set_rsa_pss_saltlen, EVP_PKEY_CTX_set_rsa_rsa_keygen_bits, EVP_PKEY_CTX_set_rsa_keygen_pubexp, EVP_PKEY_CTX_set_dsa_paramgen_bits, @@ -19,8 +19,6 @@ EVP_PKEY_CTX_set_ec_paramgen_curve_nid - int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const char *value); - int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); - #include int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); Modified: head/secure/lib/libcrypto/Makefile.inc ============================================================================== --- head/secure/lib/libcrypto/Makefile.inc Mon Nov 16 21:13:57 2015 (r290946) +++ head/secure/lib/libcrypto/Makefile.inc Mon Nov 16 21:36:15 2015 (r290947) @@ -45,7 +45,7 @@ MANDIR= ${SHAREDIR}/openssl/man/man .if defined(LIB) _docs= ${LIB} -_skip= des_modes +_skip= SSLeay_version des_modes _sec= 3 .else _docs= apps @@ -72,13 +72,13 @@ man-makefile-update: ${.CURDIR}/Makefile.man for i in ${LCRYPTO_DOC}/${_docs}/*.pod; do \ fn=`basename $$i .pod`; \ - if [ "$$fn" != "${_skip}" ]; then \ + if ! echo ' ${_skip} ' | grep -q " $$fn "; then \ ${ECHO} "MAN+= $$fn.${_sec}" >> ${.CURDIR}/Makefile.man; \ fi; \ done for i in ${LCRYPTO_DOC}/${_docs}/*.pod; do \ fn=`basename $$i .pod`; \ - if [ "$$fn" != "${_skip}" ]; then \ + if ! echo ' ${_skip} ' | grep -q " $$fn "; then \ perl ${LCRYPTO_SRC}/util/extract-names.pl < $$i | \ awk "/^$$fn\$$/ { next; } \ { print \"MLINKS+= $$fn.${_sec} \" \$$1 \".${_sec}\" }" >> \ Modified: head/secure/lib/libcrypto/Makefile.man ============================================================================== --- head/secure/lib/libcrypto/Makefile.man Mon Nov 16 21:13:57 2015 (r290946) +++ head/secure/lib/libcrypto/Makefile.man Mon Nov 16 21:36:15 2015 (r290947) @@ -160,7 +160,6 @@ MAN+= SMIME_read_CMS.3 MAN+= SMIME_read_PKCS7.3 MAN+= SMIME_write_CMS.3 MAN+= SMIME_write_PKCS7.3 -MAN+= SSLeay_version.3 MAN+= X509_NAME_ENTRY_get_object.3 MAN+= X509_NAME_add_entry_by_txt.3 MAN+= X509_NAME_get_index_by_NID.3 @@ -695,7 +694,6 @@ MLINKS+= EVP_EncryptInit.3 EVP_idea_cbc. MLINKS+= EVP_EncryptInit.3 EVP_idea_ecb.3 MLINKS+= EVP_EncryptInit.3 EVP_idea_cfb.3 MLINKS+= EVP_EncryptInit.3 EVP_idea_ofb.3 -MLINKS+= EVP_EncryptInit.3 EVP_idea_cbc.3 MLINKS+= EVP_EncryptInit.3 EVP_rc2_cbc.3 MLINKS+= EVP_EncryptInit.3 EVP_rc2_ecb.3 MLINKS+= EVP_EncryptInit.3 EVP_rc2_cfb.3 @@ -723,7 +721,6 @@ MLINKS+= EVP_EncryptInit.3 EVP_aes_256_c MLINKS+= EVP_OpenInit.3 EVP_OpenUpdate.3 MLINKS+= EVP_OpenInit.3 EVP_OpenFinal.3 MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_CTX_ctrl_str.3 -MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_get_default_digest_nid.3 MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_CTX_set_signature_md.3 MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_CTX_set_rsa_padding.3 MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_CTX_set_rsa_pss_saltlen.3 Modified: head/secure/lib/libcrypto/man/EVP_EncryptInit.3 ============================================================================== --- head/secure/lib/libcrypto/man/EVP_EncryptInit.3 Mon Nov 16 21:13:57 2015 (r290946) +++ head/secure/lib/libcrypto/man/EVP_EncryptInit.3 Mon Nov 16 21:36:15 2015 (r290947) @@ -157,7 +157,7 @@ EVP_CIPHER_CTX_set_padding, EVP_enc_nul EVP_des_cfb, EVP_des_ofb, EVP_des_ede_cbc, EVP_des_ede, EVP_des_ede_ofb, EVP_des_ede_cfb, EVP_des_ede3_cbc, EVP_des_ede3, EVP_des_ede3_ofb, EVP_des_ede3_cfb, EVP_desx_cbc, EVP_rc4, EVP_rc4_40, EVP_idea_cbc, -EVP_idea_ecb, EVP_idea_cfb, EVP_idea_ofb, EVP_idea_cbc, EVP_rc2_cbc, +EVP_idea_ecb, EVP_idea_cfb, EVP_idea_ofb, EVP_rc2_cbc, EVP_rc2_ecb, EVP_rc2_cfb, EVP_rc2_ofb, EVP_rc2_40_cbc, EVP_rc2_64_cbc, EVP_bf_cbc, EVP_bf_ecb, EVP_bf_cfb, EVP_bf_ofb, EVP_cast5_cbc, EVP_cast5_ecb, EVP_cast5_cfb, EVP_cast5_ofb, EVP_rc5_32_12_16_cbc, @@ -440,8 +440,8 @@ Three key triple \s-1DES\s0 in \s-1CBC, .IX Item "EVP_rc4_40(void)" \&\s-1RC4\s0 stream cipher with 40 bit key length. This is obsolete and new code should use \fIEVP_rc4()\fR and the \fIEVP_CIPHER_CTX_set_key_length()\fR function. -.IP "\fIEVP_idea_cbc()\fR EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void), EVP_idea_cbc(void)" 4 -.IX Item "EVP_idea_cbc() EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void), EVP_idea_cbc(void)" +.IP "\fIEVP_idea_cbc()\fR EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void)" 4 +.IX Item "EVP_idea_cbc() EVP_idea_ecb(void), EVP_idea_cfb(void), EVP_idea_ofb(void)" \&\s-1IDEA\s0 encryption algorithm in \s-1CBC, ECB, CFB\s0 and \s-1OFB\s0 modes respectively. .IP "EVP_rc2_cbc(void), EVP_rc2_ecb(void), EVP_rc2_cfb(void), EVP_rc2_ofb(void)" 4 .IX Item "EVP_rc2_cbc(void), EVP_rc2_ecb(void), EVP_rc2_cfb(void), EVP_rc2_ofb(void)" Modified: head/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 ============================================================================== --- head/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 Mon Nov 16 21:13:57 2015 (r290946) +++ head/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 Mon Nov 16 21:36:15 2015 (r290947) @@ -139,7 +139,7 @@ .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_get_default_digest_nid, +EVP_PKEY_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_CTX_set_signature_md, EVP_PKEY_CTX_set_rsa_padding, EVP_PKEY_CTX_set_rsa_pss_saltlen, EVP_PKEY_CTX_set_rsa_rsa_keygen_bits, EVP_PKEY_CTX_set_rsa_keygen_pubexp, EVP_PKEY_CTX_set_dsa_paramgen_bits, @@ -156,8 +156,6 @@ EVP_PKEY_CTX_set_ec_paramgen_curve_nid \ \& int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, \& const char *value); \& -\& int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); -\& \& #include \& \& int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); From owner-svn-src-head@freebsd.org Mon Nov 16 21:36:51 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0635A31211; Mon, 16 Nov 2015 21:36:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC42B117B; Mon, 16 Nov 2015 21:36:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGLao4l061386; Mon, 16 Nov 2015 21:36:50 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGLaoPT061385; Mon, 16 Nov 2015 21:36:50 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201511162136.tAGLaoPT061385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 16 Nov 2015 21:36:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290948 - head/sys/dev/vmware/vmxnet3 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.20 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, 16 Nov 2015 21:36:52 -0000 Author: jhb Date: Mon Nov 16 21:36:50 2015 New Revision: 290948 URL: https://svnweb.freebsd.org/changeset/base/290948 Log: Only use a power of 2 for the number of receive and transmit queues. Using other values causes VMXNET3_CMD_ENABLE to fail. The Linux driver also enforces this restriction. Reviewed by: bryanv MFC after: 1 week Sponsored by: Norse Differential Revision: https://reviews.freebsd.org/D4139 Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c ============================================================================== --- head/sys/dev/vmware/vmxnet3/if_vmx.c Mon Nov 16 21:36:15 2015 (r290947) +++ head/sys/dev/vmware/vmxnet3/if_vmx.c Mon Nov 16 21:36:50 2015 (r290948) @@ -510,6 +510,13 @@ vmxnet3_check_version(struct vmxnet3_sof return (0); } +static int +trunc_powerof2(int val) +{ + + return (1U << (fls(val) - 1)); +} + static void vmxnet3_initial_config(struct vmxnet3_softc *sc) { @@ -520,14 +527,14 @@ vmxnet3_initial_config(struct vmxnet3_so nqueue = VMXNET3_DEF_TX_QUEUES; if (nqueue > mp_ncpus) nqueue = mp_ncpus; - sc->vmx_max_ntxqueues = nqueue; + sc->vmx_max_ntxqueues = trunc_powerof2(nqueue); nqueue = vmxnet3_tunable_int(sc, "rxnqueue", vmxnet3_default_rxnqueue); if (nqueue > VMXNET3_MAX_RX_QUEUES || nqueue < 1) nqueue = VMXNET3_DEF_RX_QUEUES; if (nqueue > mp_ncpus) nqueue = mp_ncpus; - sc->vmx_max_nrxqueues = nqueue; + sc->vmx_max_nrxqueues = trunc_powerof2(nqueue); if (vmxnet3_tunable_int(sc, "mq_disable", vmxnet3_mq_disable)) { sc->vmx_max_nrxqueues = 1; From owner-svn-src-head@freebsd.org Mon Nov 16 21:55:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7BB39A315CF; Mon, 16 Nov 2015 21:55:12 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 454271DC6; Mon, 16 Nov 2015 21:55:12 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGLtBAV069566; Mon, 16 Nov 2015 21:55:11 GMT (envelope-from avos@FreeBSD.org) Received: (from avos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGLtBqO069565; Mon, 16 Nov 2015 21:55:11 GMT (envelope-from avos@FreeBSD.org) Message-Id: <201511162155.tAGLtBqO069565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avos set sender to avos@FreeBSD.org using -f From: Andriy Voskoboinyk Date: Mon, 16 Nov 2015 21:55:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290950 - head/sys/dev/wpi 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.20 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, 16 Nov 2015 21:55:12 -0000 Author: avos Date: Mon Nov 16 21:55:11 2015 New Revision: 290950 URL: https://svnweb.freebsd.org/changeset/base/290950 Log: wpi(4): import r289674 Switch PCI register reads from using magic numbers to using the names defined in pcireg.h Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4185 Modified: head/sys/dev/wpi/if_wpi.c Modified: head/sys/dev/wpi/if_wpi.c ============================================================================== --- head/sys/dev/wpi/if_wpi.c Mon Nov 16 21:50:02 2015 (r290949) +++ head/sys/dev/wpi/if_wpi.c Mon Nov 16 21:55:11 2015 (r290950) @@ -3791,8 +3791,8 @@ wpi_set_pslevel(struct wpi_softc *sc, ui if (level != 0) /* not CAM */ cmd.flags |= htole16(WPI_PS_ALLOW_SLEEP); /* Retrieve PCIe Active State Power Management (ASPM). */ - reg = pci_read_config(sc->sc_dev, sc->sc_cap_off + 0x10, 1); - if (!(reg & 0x1)) /* L0s Entry disabled. */ + reg = pci_read_config(sc->sc_dev, sc->sc_cap_off + PCIER_LINK_CTL, 1); + if (!(reg & PCIEM_LINK_CTL_ASPMC_L0S)) /* L0s Entry disabled. */ cmd.flags |= htole16(WPI_PS_PCI_PMGT); cmd.rxtimeout = htole32(pmgt->rxtimeout * IEEE80211_DUR_TU); @@ -5126,9 +5126,9 @@ wpi_apm_init(struct wpi_softc *sc) WPI_SETBITS(sc, WPI_DBG_HPET_MEM, 0xffff0000); /* Retrieve PCIe Active State Power Management (ASPM). */ - reg = pci_read_config(sc->sc_dev, sc->sc_cap_off + 0x10, 1); + reg = pci_read_config(sc->sc_dev, sc->sc_cap_off + PCIER_LINK_CTL, 1); /* Workaround for HW instability in PCIe L0->L0s->L1 transition. */ - if (reg & 0x02) /* L1 Entry enabled. */ + if (reg & PCIEM_LINK_CTL_ASPMC_L1) /* L1 Entry enabled. */ WPI_SETBITS(sc, WPI_GIO, WPI_GIO_L0S_ENA); else WPI_CLRBITS(sc, WPI_GIO, WPI_GIO_L0S_ENA); From owner-svn-src-head@freebsd.org Mon Nov 16 22:08:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1B34A31836; Mon, 16 Nov 2015 22:08:50 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ABC0B1640; Mon, 16 Nov 2015 22:08:50 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGM8nei074414; Mon, 16 Nov 2015 22:08:49 GMT (envelope-from gad@FreeBSD.org) Received: (from gad@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGM8n8A074413; Mon, 16 Nov 2015 22:08:49 GMT (envelope-from gad@FreeBSD.org) Message-Id: <201511162208.tAGM8n8A074413@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gad set sender to gad@FreeBSD.org using -f From: Garance A Drosehn Date: Mon, 16 Nov 2015 22:08:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290951 - 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.20 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, 16 Nov 2015 22:08:51 -0000 Author: gad Date: Mon Nov 16 22:08:49 2015 New Revision: 290951 URL: https://svnweb.freebsd.org/changeset/base/290951 Log: I'm still interested in reviewing any code changes to lpr & friends (lpc, lpd, lpq, etc). Modified: head/MAINTAINERS Modified: head/MAINTAINERS ============================================================================== --- head/MAINTAINERS Mon Nov 16 21:55:11 2015 (r290950) +++ head/MAINTAINERS Mon Nov 16 22:08:49 2015 (r290951) @@ -70,6 +70,8 @@ sys/dev/e1000 erj Pre-commit phabricator sys/dev/ixgbe erj Pre-commit phabricator review requested. sys/dev/ixl erj Pre-commit phabricator review requested. usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team. +lpr gad Pre-commit review requested, particularly for + lpd/recvjob.c and lpd/printjob.c. ---- OLD ---- libc/posix1e rwatson Pre-commit review requested. POSIX.1e ACLs rwatson Pre-commit review requested. @@ -100,8 +102,6 @@ etc/mail gshapiro Pre-commit review requ Keep in sync with -STABLE. etc/sendmail gshapiro Pre-commit review requested. Keep in sync with -STABLE. -lpr gad Pre-commit review requested, particularly for - lpd/recvjob.c and lpd/printjob.c. nvi peter Try not to break it. libz peter Try not to break it. groff ru Recommends pre-commit review. From owner-svn-src-head@freebsd.org Mon Nov 16 22:37:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 74F3FA31C79; Mon, 16 Nov 2015 22:37:29 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3CEEB161A; Mon, 16 Nov 2015 22:37:29 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGMbSWS088364; Mon, 16 Nov 2015 22:37:28 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGMbSaD088363; Mon, 16 Nov 2015 22:37:28 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511162237.tAGMbSaD088363@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 16 Nov 2015 22:37:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290954 - 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.20 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, 16 Nov 2015 22:37:29 -0000 Author: imp Date: Mon Nov 16 22:37:28 2015 New Revision: 290954 URL: https://svnweb.freebsd.org/changeset/base/290954 Log: Remove redundant copies of CDDL_CFLAGS. Modified: head/sys/conf/kern.pre.mk Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Mon Nov 16 22:22:17 2015 (r290953) +++ head/sys/conf/kern.pre.mk Mon Nov 16 22:37:28 2015 (r290954) @@ -157,15 +157,15 @@ DTRACE_CFLAGS+= -I$S/cddl/contrib/openso .endif DTRACE_CFLAGS+= -I$S/cddl/contrib/opensolaris/common/util -I$S -DDIS_MEM -DSMP DTRACE_ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${DTRACE_CFLAGS} -DTRACE_C= ${CC} -c ${DTRACE_CFLAGS} ${CDDL_CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} -DTRACE_S= ${CC} -c ${DTRACE_ASM_CFLAGS} ${CDDL_CFLAGS} ${WERROR} ${.IMPSRC} +DTRACE_C= ${CC} -c ${DTRACE_CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} +DTRACE_S= ${CC} -c ${DTRACE_ASM_CFLAGS} ${WERROR} ${.IMPSRC} # Special flags for managing the compat compiles for DTrace/FBT FBT_CFLAGS= -DBUILDING_DTRACE -nostdinc -I$S/cddl/dev/fbt/${MACHINE_CPUARCH} -I$S/cddl/dev/fbt -I$S/cddl/compat/opensolaris -I$S/cddl/contrib/opensolaris/uts/common -I$S ${CDDL_CFLAGS} .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" FBT_CFLAGS+= -I$S/cddl/dev/fbt/x86 .endif -FBT_C= ${CC} -c ${FBT_CFLAGS} ${CDDL_CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} +FBT_C= ${CC} -c ${FBT_CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} .if ${MK_CTF} != "no" NORMAL_CTFCONVERT= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} From owner-svn-src-head@freebsd.org Mon Nov 16 22:50:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C982A31DD2; Mon, 16 Nov 2015 22:50:25 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CAFB61CD4; Mon, 16 Nov 2015 22:50:24 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGMoNeN093939; Mon, 16 Nov 2015 22:50:23 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGMoNHF093936; Mon, 16 Nov 2015 22:50:23 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201511162250.tAGMoNHF093936@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Mon, 16 Nov 2015 22:50:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290956 - head/share/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.20 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, 16 Nov 2015 22:50:25 -0000 Author: sjg Date: Mon Nov 16 22:50:23 2015 New Revision: 290956 URL: https://svnweb.freebsd.org/changeset/base/290956 Log: Default MK_META_MODE from MK_DIRDEPS_BUILD This allows most of the build to simply consider MK_META_MODE Update to latest dirdeps.mk so we can do: make -f dirdeps.mk bin/cat.i386 Reviewed by: bdrewery Modified: head/share/mk/dirdeps.mk head/share/mk/local.gendirdeps.mk head/share/mk/sys.mk Modified: head/share/mk/dirdeps.mk ============================================================================== --- head/share/mk/dirdeps.mk Mon Nov 16 22:40:49 2015 (r290955) +++ head/share/mk/dirdeps.mk Mon Nov 16 22:50:23 2015 (r290956) @@ -1,5 +1,5 @@ # $FreeBSD$ -# $Id: dirdeps.mk,v 1.54 2015/06/08 20:55:11 sjg Exp $ +# $Id: dirdeps.mk,v 1.55 2015/10/20 22:04:53 sjg Exp $ # Copyright (c) 2010-2013, Juniper Networks, Inc. # All rights reserved. @@ -243,6 +243,21 @@ DEP_${TARGET_SPEC_VARS:[$i]} := ${_tspec DEP_MACHINE := ${_DEP_TARGET_SPEC} .endif +.if ${MAKEFILE:T} == ${.PARSEFILE} && empty(DIRDEPS) && ${.TARGETS:Uall:M*/*} != "" +# This little trick let's us do +# +# mk -f dirdeps.mk some/dir.${TARGET_SPEC} +# +all: +${.TARGETS:Nall}: all +DIRDEPS := ${.TARGETS:M*/*} +# so that -DNO_DIRDEPS works +DEP_RELDIR := ${DIRDEPS:R:[1]} +# disable DIRDEPS_CACHE as it does not like this trick +MK_DIRDEPS_CACHE = no +.endif + + # pickup customizations # as below you can use !target(_DIRDEP_USE) to protect things # which should only be done once. Modified: head/share/mk/local.gendirdeps.mk ============================================================================== --- head/share/mk/local.gendirdeps.mk Mon Nov 16 22:40:49 2015 (r290955) +++ head/share/mk/local.gendirdeps.mk Mon Nov 16 22:50:23 2015 (r290956) @@ -6,6 +6,7 @@ GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L: # supress optional/auto dependecies # local.dirdeps.mk will put them in if necessary GENDIRDEPS_FILTER+= \ + Nbin/cat.host \ Ngnu/lib/libssp/libssp_nonshared \ Ncddl/usr.bin/ctf* \ Nlib/clang/include \ Modified: head/share/mk/sys.mk ============================================================================== --- head/share/mk/sys.mk Mon Nov 16 22:40:49 2015 (r290955) +++ head/share/mk/sys.mk Mon Nov 16 22:50:23 2015 (r290956) @@ -19,13 +19,12 @@ MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n3 # Some options we need now __DEFAULT_NO_OPTIONS= \ - DIRDEPS_CACHE \ DIRDEPS_BUILD \ - META_MODE \ - + DIRDEPS_CACHE __DEFAULT_DEPENDENT_OPTIONS= \ AUTO_OBJ/DIRDEPS_BUILD \ + META_MODE/DIRDEPS_BUILD \ STAGING/DIRDEPS_BUILD \ SYSROOT/DIRDEPS_BUILD From owner-svn-src-head@freebsd.org Mon Nov 16 23:02:35 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6031EA300E3; Mon, 16 Nov 2015 23:02:35 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 363FD161D; Mon, 16 Nov 2015 23:02:35 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGN2YDN001288; Mon, 16 Nov 2015 23:02:34 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGN2YE7001284; Mon, 16 Nov 2015 23:02:34 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201511162302.tAGN2YE7001284@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Mon, 16 Nov 2015 23:02:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290957 - in head/sys: kern sparc64/include sparc64/sparc64 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.20 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, 16 Nov 2015 23:02:35 -0000 Author: marius Date: Mon Nov 16 23:02:33 2015 New Revision: 290957 URL: https://svnweb.freebsd.org/changeset/base/290957 Log: - Unbreak dumpsys(9) on sparc64 after r276772 - While at it, arrange #ifndefs in kern_dump.c more intelligently; it's rather confusing to have multiple competing and/or unused functions in the kernel. Modified: head/sys/kern/kern_dump.c head/sys/sparc64/include/dump.h head/sys/sparc64/sparc64/dump_machdep.c Modified: head/sys/kern/kern_dump.c ============================================================================== --- head/sys/kern/kern_dump.c Mon Nov 16 22:50:23 2015 (r290956) +++ head/sys/kern/kern_dump.c Mon Nov 16 23:02:33 2015 (r290957) @@ -66,10 +66,10 @@ static size_t fragsz; struct dump_pa dump_map[DUMPSYS_MD_PA_NPAIRS]; +#if !defined(__powerpc__) && !defined(__sparc__) void dumpsys_gen_pa_init(void) { -#if !defined(__sparc__) && !defined(__powerpc__) int n, idx; bzero(dump_map, sizeof(dump_map)); @@ -80,8 +80,8 @@ dumpsys_gen_pa_init(void) dump_map[n].pa_start = dump_avail[idx]; dump_map[n].pa_size = dump_avail[idx + 1] - dump_avail[idx]; } -#endif } +#endif struct dump_pa * dumpsys_gen_pa_next(struct dump_pa *mdp) @@ -99,20 +99,24 @@ dumpsys_gen_pa_next(struct dump_pa *mdp) void dumpsys_gen_wbinv_all(void) { + } void dumpsys_gen_unmap_chunk(vm_paddr_t pa __unused, size_t chunk __unused, void *va __unused) { + } +#if !defined(__sparc__) int dumpsys_gen_write_aux_headers(struct dumperinfo *di) { return (0); } +#endif int dumpsys_buf_write(struct dumperinfo *di, char *ptr, size_t sz) @@ -233,6 +237,7 @@ dumpsys_foreach_chunk(dumpsys_callback_t return (seqnr); } +#if !defined(__sparc__) static off_t fileofs; static int @@ -391,3 +396,4 @@ dumpsys_generic(struct dumperinfo *di) printf("\n** DUMP FAILED (ERROR %d) **\n", error); return (error); } +#endif Modified: head/sys/sparc64/include/dump.h ============================================================================== --- head/sys/sparc64/include/dump.h Mon Nov 16 22:50:23 2015 (r290956) +++ head/sys/sparc64/include/dump.h Mon Nov 16 23:02:33 2015 (r290957) @@ -35,7 +35,6 @@ #define KERNELDUMP_ARCH_VERSION KERNELDUMP_SPARC64_VERSION #define EM_VALUE EM_SPARCV9 -void dumpsys_pa_init(void); int dumpsys(struct dumperinfo *); static inline struct dump_pa * @@ -60,13 +59,6 @@ dumpsys_unmap_chunk(vm_paddr_t pa, size_ } static inline int -dumpsys_write_aux_headers(struct dumperinfo *di) -{ - - return (dumpsys_gen_write_aux_headers(di)); -} - -static inline int minidumpsys(struct dumperinfo *di) { Modified: head/sys/sparc64/sparc64/dump_machdep.c ============================================================================== --- head/sys/sparc64/sparc64/dump_machdep.c Mon Nov 16 22:50:23 2015 (r290956) +++ head/sys/sparc64/sparc64/dump_machdep.c Mon Nov 16 23:02:33 2015 (r290957) @@ -55,18 +55,6 @@ extern struct dump_pa dump_map[DUMPSYS_M int do_minidump = 0; void -dumpsys_pa_init(void) -{ - int i; - - memset(dump_map, 0, sizeof(dump_map)); - for (i = 0; i < sparc64_nmemreg; i++) { - dump_map[i].pa_start = sparc64_memreg[i].mr_start; - dump_map[i].pa_size = sparc64_memreg[i].mr_size; - } -} - -void dumpsys_map_chunk(vm_paddr_t pa, size_t chunk __unused, void **va) { @@ -89,16 +77,18 @@ int dumpsys(struct dumperinfo *di) { static struct kerneldumpheader kdh; - struct sparc64_dump_hdr hdr; vm_size_t size, totsize, hdrsize; int error, i, nreg; - /* Calculate dump size. */ + /* Set up dump_map and calculate dump size. */ size = 0; nreg = sparc64_nmemreg; - for (i = 0; i < sparc64_nmemreg; i++) - size += sparc64_memreg[i].mr_size; + memset(dump_map, 0, sizeof(dump_map)); + for (i = 0; i < nreg; i++) { + dump_map[i].pa_start = sparc64_memreg[i].mr_start; + size += dump_map[i].pa_size = sparc64_memreg[i].mr_size; + } /* Account for the header size. */ hdrsize = roundup2(sizeof(hdr) + sizeof(struct sparc64_dump_reg) * nreg, DEV_BSIZE); @@ -139,7 +129,7 @@ dumpsys(struct dumperinfo *di) fileofs = hdrsize; /* Now, write out the region descriptors. */ - for (i = 0; i < sparc64_nmemreg; i++) { + for (i = 0; i < nreg; i++) { error = reg_write(di, sparc64_memreg[i].mr_start, sparc64_memreg[i].mr_size); if (error != 0) From owner-svn-src-head@freebsd.org Mon Nov 16 23:19:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C669A3038E; Mon, 16 Nov 2015 23:19:55 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C98911EB5; Mon, 16 Nov 2015 23:19:54 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGNJr1J006591; Mon, 16 Nov 2015 23:19:53 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGNJrsB006590; Mon, 16 Nov 2015 23:19:53 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201511162319.tAGNJrsB006590@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 16 Nov 2015 23:19:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290959 - head/sys/netsmb 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.20 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, 16 Nov 2015 23:19:55 -0000 Author: rmacklem Date: Mon Nov 16 23:19:53 2015 New Revision: 290959 URL: https://svnweb.freebsd.org/changeset/base/290959 Log: When the smbfs iod thread (smb_iod_thread()) is shutting down, smb_iod_destroy() would call smb_iod_request(). This call could return as soon as the wakeup(evp) in smb_iod_main() call is done and then could destroy the mutexes. This caused a race with the rest of smb_iod_main()s use of these mutexes. A crash reported on freebsd-stable@ by Christian Kratzer was diagnosed as a use of one of these mutexes after it was destroyed. This patch moves destruction of the mutexes from smb_iod_destroy() to the end of smb_iod_thread(), so that they aren't destroyed before the thread is done with them. Christian comfirmed that the patch stopped the crashes from happening. Reported by: ck-lists@cksoft.de (Christian Kratzer) Tested by: ck-lists@cksoft.de (Christian Kratzer) Diagnosed by: jhb Reviewed by: jhb MFC after: 2 weeks Modified: head/sys/netsmb/smb_iod.c Modified: head/sys/netsmb/smb_iod.c ============================================================================== --- head/sys/netsmb/smb_iod.c Mon Nov 16 23:11:01 2015 (r290958) +++ head/sys/netsmb/smb_iod.c Mon Nov 16 23:19:53 2015 (r290959) @@ -659,6 +659,11 @@ smb_iod_thread(void *arg) break; tsleep(&iod->iod_flags, PWAIT, "90idle", iod->iod_sleeptimo); } + + /* We can now safely destroy the mutexes and free the iod structure. */ + smb_sl_destroy(&iod->iod_rqlock); + smb_sl_destroy(&iod->iod_evlock); + free(iod, M_SMBIOD); mtx_unlock(&Giant); kproc_exit(0); } @@ -695,9 +700,6 @@ int smb_iod_destroy(struct smbiod *iod) { smb_iod_request(iod, SMBIOD_EV_SHUTDOWN | SMBIOD_EV_SYNC, NULL); - smb_sl_destroy(&iod->iod_rqlock); - smb_sl_destroy(&iod->iod_evlock); - free(iod, M_SMBIOD); return 0; } From owner-svn-src-head@freebsd.org Mon Nov 16 23:27:46 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A1D8A304F9; Mon, 16 Nov 2015 23:27:46 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE8C312C9; Mon, 16 Nov 2015 23:27:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGNRiKj011380; Mon, 16 Nov 2015 23:27:44 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGNRiJ8011379; Mon, 16 Nov 2015 23:27:44 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511162327.tAGNRiJ8011379@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 16 Nov 2015 23:27:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290960 - head/tools 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.20 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, 16 Nov 2015 23:27:46 -0000 Author: bdrewery Date: Mon Nov 16 23:27:44 2015 New Revision: 290960 URL: https://svnweb.freebsd.org/changeset/base/290960 Log: Use -n to ln(1) which is compatible with GNU ln(1). Sponsored by: EMC / Isilon Storage Division Modified: head/tools/install.sh Modified: head/tools/install.sh ============================================================================== --- head/tools/install.sh Mon Nov 16 23:19:53 2015 (r290959) +++ head/tools/install.sh Mon Nov 16 23:27:44 2015 (r290960) @@ -63,7 +63,7 @@ fi # the remaining arguments are assumed to be files/dirs only. if [ -n "${linkmode}" ]; then if [ "${linkmode}" = "symbolic" ]; then - ln -fsh "$@" + ln -fsn "$@" else ln -f "$@" fi From owner-svn-src-head@freebsd.org Tue Nov 17 01:01:04 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A98E7A31C24; Tue, 17 Nov 2015 01:01:04 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7339D19ED; Tue, 17 Nov 2015 01:01:04 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAH113Eb047723; Tue, 17 Nov 2015 01:01:03 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAH113Cf047722; Tue, 17 Nov 2015 01:01:03 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201511170101.tAH113Cf047722@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Tue, 17 Nov 2015 01:01:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290966 - 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.20 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, 17 Nov 2015 01:01:04 -0000 Author: glebius Date: Tue Nov 17 01:01:03 2015 New Revision: 290966 URL: https://svnweb.freebsd.org/changeset/base/290966 Log: - Fix directory name for pf. - Recommend my reviews for CARP. Modified: head/MAINTAINERS Modified: head/MAINTAINERS ============================================================================== --- head/MAINTAINERS Tue Nov 17 01:01:02 2015 (r290965) +++ head/MAINTAINERS Tue Nov 17 01:01:03 2015 (r290966) @@ -59,7 +59,6 @@ contrib/llvm dim Pre-commit review pref contrib/llvm/tools/lldb emaste Pre-commit review preferred. atf freebsd-testing,jmmv,ngie Pre-commit review requested. contrib/netbsd-tests freebsd-testing,ngie Pre-commit review requested. -contrib/pf kp,glebius Pre-commit review recommended. contrib/pjdfstest freebsd-testing,ngie,pjd Pre-commit review requested. share/mk/*.test.mk freebsd-testing,ngie (same list as share/mk too) Pre-commit review requested. tests freebsd-testing,ngie Pre-commit review requested. @@ -69,6 +68,8 @@ sys/compat/linuxkpi hselasky If in doubt sys/dev/e1000 erj Pre-commit phabricator review requested. sys/dev/ixgbe erj Pre-commit phabricator review requested. sys/dev/ixl erj Pre-commit phabricator review requested. +sys/netinet/ip_carp.c glebius Pre-commit review recommended. +sys/netpfil/pf kp,glebius Pre-commit review recommended. usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team. lpr gad Pre-commit review requested, particularly for lpd/recvjob.c and lpd/printjob.c. From owner-svn-src-head@freebsd.org Tue Nov 17 01:28:19 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CAB28A300BD; Tue, 17 Nov 2015 01:28:19 +0000 (UTC) (envelope-from araujobsdport@gmail.com) Received: from mail-ob0-x22c.google.com (mail-ob0-x22c.google.com [IPv6:2607:f8b0:4003:c01::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 912111918; Tue, 17 Nov 2015 01:28:19 +0000 (UTC) (envelope-from araujobsdport@gmail.com) Received: by obbbj7 with SMTP id bj7so117249577obb.1; Mon, 16 Nov 2015 17:28:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=4LuKnGhhhO3YT6wqLtojLX1SY4e/X17Mq2IpHNhcA60=; b=rwdPAFBEOx7HDgCzqVBTq9vcvikv0RMJEZMp+JsVOHu/Gz8cxIiGAcDD2gTyfJ0tpF AcrydNT7hz8/rK0SqxpNek3zTC56lmw6enEd8M055MsUyGLYkHps30KJmTFk99t2HSAZ RSAu1ZuyyPWEAmGmjCzxS4qJHjuogpF/Iv9Z1anFBkqQwebPdbR73rytkgcOfmx8Tw4t 6nVwXDXl642t9s4fEeoLUSPj5A4EpYxk6N9a+yXJQuSWNAhtOn6BQfMngFZ7MhsnZclw ewRaEhKutCirJYXn33BeeB3xMVgqhd/3AFRcGI/7NDjcvVBgRh+iwLl/VXtqY7j3xvyA QM0A== MIME-Version: 1.0 X-Received: by 10.60.95.193 with SMTP id dm1mr23402870oeb.16.1447723698912; Mon, 16 Nov 2015 17:28:18 -0800 (PST) Received: by 10.182.174.1 with HTTP; Mon, 16 Nov 2015 17:28:18 -0800 (PST) Reply-To: araujo@FreeBSD.org In-Reply-To: <9B6CC022-BC98-4DC1-9D5A-32F3D8ACB8BC@gmail.com> References: <201511161648.tAGGmh6q052192@repo.freebsd.org> <9B6CC022-BC98-4DC1-9D5A-32F3D8ACB8BC@gmail.com> Date: Tue, 17 Nov 2015 09:28:18 +0800 Message-ID: Subject: Re: svn commit: r290931 - head/usr.sbin/ypldap From: Marcelo Araujo To: Garrett Cooper Cc: Craig Rodrigues , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 01:28:19 -0000 2015-11-17 3:26 GMT+08:00 Garrett Cooper : > > > On Nov 16, 2015, at 08:48, Craig Rodrigues wrote: > > > > Author: rodrigc > > Date: Mon Nov 16 16:48:43 2015 > > New Revision: 290931 > > URL: https://svnweb.freebsd.org/changeset/base/290931 > > > > Log: > > Import ypldap from OpenBSD. > > > > ypldap -- Intended to be a drop-in replacement for ypserv, gluing in a > > LDAP directory and thus providing support for users and groups stored in > > LDAP for the get{pw,gr}ent family of functions. > > contrib/ would be a better spot for this. Was the code checked in to the > vendor tree :/...? > _________________ > I would like to see ypldap in the place that it is now. We have other yp* tools that are also from OpenBSD, and they are out of contrib for long time. Garrett, you are right in all things you pointed out. But nowadays we have the yp(8) in this way(outside of contrib). Best, -- -- Marcelo Araujo (__)araujo@FreeBSD.org \\\'',)http://www.FreeBSD.org \/ \ ^ Power To Server. .\. /_) From owner-svn-src-head@freebsd.org Tue Nov 17 01:44:27 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 930DDA304A9; Tue, 17 Nov 2015 01:44:27 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5F4081081; Tue, 17 Nov 2015 01:44:27 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAH1iQIR060290; Tue, 17 Nov 2015 01:44:26 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAH1iQum060289; Tue, 17 Nov 2015 01:44:26 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201511170144.tAH1iQum060289@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 17 Nov 2015 01:44:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290970 - head/sys/fs/nfsclient 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.20 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, 17 Nov 2015 01:44:27 -0000 Author: rmacklem Date: Tue Nov 17 01:44:26 2015 New Revision: 290970 URL: https://svnweb.freebsd.org/changeset/base/290970 Log: mnt_stat.f_iosize (which is used to set bo_bsize) must be set to the largest size of buffer cache block or the mapping of the buffer is bogus. When a mount with rsize=4096,wsize=4096 was done, f_iosize would be set to 4096. This resulted in corrupted directory data, since the buffer cache block size for directories is NFS_DIRBLKSIZ (8192). This patch fixes the code so that it always sets f_iosize to at least NFS_DIRBLKSIZ. Tested by: krichy@cflinux.hu PR: 177971 MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clvfsops.c Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Tue Nov 17 01:07:21 2015 (r290969) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Tue Nov 17 01:44:26 2015 (r290970) @@ -216,10 +216,12 @@ newnfs_iosize(struct nfsmount *nmp) * Calculate the size used for io buffers. Use the larger * of the two sizes to minimise nfs requests but make sure * that it is at least one VM page to avoid wasting buffer - * space. + * space. It must also be at least NFS_DIRBLKSIZ, since + * that is the buffer size used for directories. */ iosize = imax(nmp->nm_rsize, nmp->nm_wsize); iosize = imax(iosize, PAGE_SIZE); + iosize = imax(iosize, NFS_DIRBLKSIZ); nmp->nm_mountp->mnt_stat.f_iosize = iosize; return (iosize); } From owner-svn-src-head@freebsd.org Tue Nov 17 01:45:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82DE0A30506; Tue, 17 Nov 2015 01:45:25 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 51554124F; Tue, 17 Nov 2015 01:45:25 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAH1jOZ5060382; Tue, 17 Nov 2015 01:45:24 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAH1jOnb060381; Tue, 17 Nov 2015 01:45:24 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201511170145.tAH1jOnb060381@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Tue, 17 Nov 2015 01:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290971 - 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.20 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, 17 Nov 2015 01:45:25 -0000 Author: araujo Date: Tue Nov 17 01:45:24 2015 New Revision: 290971 URL: https://svnweb.freebsd.org/changeset/base/290971 Log: Take maintainership of nis(8) and yp(8), Pre-commit review requested. Approved by: bapt (mentor) Differential Revision: D4118 Modified: head/MAINTAINERS Modified: head/MAINTAINERS ============================================================================== --- head/MAINTAINERS Tue Nov 17 01:44:26 2015 (r290970) +++ head/MAINTAINERS Tue Nov 17 01:45:24 2015 (r290971) @@ -153,3 +153,4 @@ filemon obrien Pre-commit review prefe sysdoc trhodes Pre-commit review preferred. nanobsd imp Pre-commit review requested for coordination. vmm(4) neel,grehan Pre-commit review requested. +nis(8), yp(8) araujo Pre-commit review requested. From owner-svn-src-head@freebsd.org Tue Nov 17 08:55:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5714A2ECB5; Tue, 17 Nov 2015 08:55:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46F49127A; Tue, 17 Nov 2015 08:55:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id tAH8tACk044085 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Tue, 17 Nov 2015 10:55:11 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua tAH8tACk044085 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id tAH8tAZq044081; Tue, 17 Nov 2015 10:55:10 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 17 Nov 2015 10:55:10 +0200 From: Konstantin Belousov To: Bryan Drewery Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290812 - head Message-ID: <20151117085510.GB58629@kib.kiev.ua> References: <201511140145.tAE1jbDx010538@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201511140145.tAE1jbDx010538@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 08:55:16 -0000 On Sat, Nov 14, 2015 at 01:45:37AM +0000, Bryan Drewery wrote: > Author: bdrewery > Date: Sat Nov 14 01:45:37 2015 > New Revision: 290812 > URL: https://svnweb.freebsd.org/changeset/base/290812 > > Log: > Avoid setting schg in the objtree for lib32 build. > > Reported by: kib > Sponsored by: EMC / Isilon Storage Division > MFC after: 1 week > > Modified: > head/Makefile.inc1 > > Modified: head/Makefile.inc1 > ============================================================================== > --- head/Makefile.inc1 Sat Nov 14 01:40:12 2015 (r290811) > +++ head/Makefile.inc1 Sat Nov 14 01:45:37 2015 (r290812) > @@ -716,10 +716,10 @@ build32: .PHONY > build-tools > .endfor > ${_+_}cd ${.CURDIR}; \ > - ${LIB32WMAKE} -f Makefile.inc1 libraries > + ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries > .for _t in obj depend all > ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ > - DIRPRFX=libexec/rtld-elf/ ${_t} > + -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} > ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ > DIRPRFX=usr.bin/ldd ${_t} > .endfor Thank you. I remember, the previous attempts to fix this broke setting the noschg flag on the compat32 install. This one seems to be correct, am I right ? From owner-svn-src-head@freebsd.org Tue Nov 17 11:26:37 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 360D0A30469; Tue, 17 Nov 2015 11:26:37 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F229C19CA; Tue, 17 Nov 2015 11:26:36 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHBQZQc073461; Tue, 17 Nov 2015 11:26:35 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHBQZI8073459; Tue, 17 Nov 2015 11:26:35 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511171126.tAHBQZI8073459@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 17 Nov 2015 11:26:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290974 - in head/sys/arm: arm 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.20 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, 17 Nov 2015 11:26:37 -0000 Author: andrew Date: Tue Nov 17 11:26:35 2015 New Revision: 290974 URL: https://svnweb.freebsd.org/changeset/base/290974 Log: Make pl310_print_config static, it's not called out of pl310.c Sponsored by: ABT Systems Ltd Modified: head/sys/arm/arm/pl310.c head/sys/arm/include/pl310.h Modified: head/sys/arm/arm/pl310.c ============================================================================== --- head/sys/arm/arm/pl310.c Tue Nov 17 05:41:47 2015 (r290973) +++ head/sys/arm/arm/pl310.c Tue Nov 17 11:26:35 2015 (r290974) @@ -90,7 +90,7 @@ static struct ofw_compat_data compat_dat {NULL, false} }; -void +static void pl310_print_config(struct pl310_softc *sc) { uint32_t aux, prefetch; Modified: head/sys/arm/include/pl310.h ============================================================================== --- head/sys/arm/include/pl310.h Tue Nov 17 05:41:47 2015 (r290973) +++ head/sys/arm/include/pl310.h Tue Nov 17 11:26:35 2015 (r290974) @@ -177,7 +177,6 @@ pl310_write4(struct pl310_softc *sc, bus bus_write_4(sc->sc_mem_res, off, val); } -void pl310_print_config(struct pl310_softc *sc); void pl310_set_ram_latency(struct pl310_softc *sc, uint32_t which_reg, uint32_t read, uint32_t write, uint32_t setup); From owner-svn-src-head@freebsd.org Tue Nov 17 12:09:58 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E51C6A2C46D; Tue, 17 Nov 2015 12:09:58 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A8A0D1F89; Tue, 17 Nov 2015 12:09:58 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHC9vIq087132; Tue, 17 Nov 2015 12:09:57 GMT (envelope-from ume@FreeBSD.org) Received: (from ume@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHC9v9S087131; Tue, 17 Nov 2015 12:09:57 GMT (envelope-from ume@FreeBSD.org) Message-Id: <201511171209.tAHC9v9S087131@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ume set sender to ume@FreeBSD.org using -f From: Hajimu UMEMOTO Date: Tue, 17 Nov 2015 12:09:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290975 - head/usr.bin/netstat 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.20 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, 17 Nov 2015 12:09:59 -0000 Author: ume Date: Tue Nov 17 12:09:57 2015 New Revision: 290975 URL: https://svnweb.freebsd.org/changeset/base/290975 Log: JSON doesn't permit a hexadecimal notation of an integer. Modified: head/usr.bin/netstat/if.c Modified: head/usr.bin/netstat/if.c ============================================================================== --- head/usr.bin/netstat/if.c Tue Nov 17 11:26:35 2015 (r290974) +++ head/usr.bin/netstat/if.c Tue Nov 17 12:09:57 2015 (r290975) @@ -358,7 +358,7 @@ intpr(void (*pfunc)(char *), int af) } else xname = name; - xo_emit("{etk:name/%s}{e:flags/0x%x}{d:/%-*.*s}", + xo_emit("{etk:name/%s}{eq:flags/0x%x}{d:/%-*.*s}", name, ifa->ifa_flags, ifn_len_max, ifn_len_max, xname); #define IFA_MTU(ifa) (((struct if_data *)(ifa)->ifa_data)->ifi_mtu) From owner-svn-src-head@freebsd.org Tue Nov 17 12:18:59 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52135A2C7B5; Tue, 17 Nov 2015 12:18:59 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C0CC14BB; Tue, 17 Nov 2015 12:18:59 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHCIwIK091370; Tue, 17 Nov 2015 12:18:58 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHCIwZJ091369; Tue, 17 Nov 2015 12:18:58 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511171218.tAHCIwZJ091369@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Tue, 17 Nov 2015 12:18:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290976 - 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.20 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, 17 Nov 2015 12:18:59 -0000 Author: bapt Date: Tue Nov 17 12:18:57 2015 New Revision: 290976 URL: https://svnweb.freebsd.org/changeset/base/290976 Log: install(1) is following symlinks when installing a files, which result in inconsistency when installing new locales and may also result in failures when reinstalling after having run make delete-old (due to previous inconsistencies) for now recommand removing all locales until install(1) is fixed Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Nov 17 12:09:57 2015 (r290975) +++ head/UPDATING Tue Nov 17 12:18:57 2015 (r290976) @@ -39,6 +39,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 Databases administrators will need to reindex their databases given collation results will be different. + Due to a bug in install(1) it is recommanded to remove the ancient + locales before running make installworld + + rm -rf /usr/share/locale + 20151030: The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring libcrypto.so.7 or libssl.so.7 must be recompiled. From owner-svn-src-head@freebsd.org Tue Nov 17 12:50:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 176DDA2CF30; Tue, 17 Nov 2015 12:50:47 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5E4113E3; Tue, 17 Nov 2015 12:50:46 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHCojlt002077; Tue, 17 Nov 2015 12:50:45 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHCoj88002076; Tue, 17 Nov 2015 12:50:45 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201511171250.tAHCoj88002076@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Tue, 17 Nov 2015 12:50:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290977 - head/sys/arm/samsung/exynos 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.20 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, 17 Nov 2015 12:50:47 -0000 Author: zbb Date: Tue Nov 17 12:50:45 2015 New Revision: 290977 URL: https://svnweb.freebsd.org/changeset/base/290977 Log: Fix buffer overflow in exynos5_ehci Use proper size of exynos_ehci_softc, not the generic one. Reviewed by: andrew Submitted by: Wojciech Macek Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4189 Modified: head/sys/arm/samsung/exynos/exynos5_ehci.c Modified: head/sys/arm/samsung/exynos/exynos5_ehci.c ============================================================================== --- head/sys/arm/samsung/exynos/exynos5_ehci.c Tue Nov 17 12:18:57 2015 (r290976) +++ head/sys/arm/samsung/exynos/exynos5_ehci.c Tue Nov 17 12:50:45 2015 (r290977) @@ -122,7 +122,7 @@ static device_method_t ehci_methods[] = static driver_t ehci_driver = { "ehci", ehci_methods, - sizeof(ehci_softc_t) + sizeof(struct exynos_ehci_softc) }; static devclass_t ehci_devclass; From owner-svn-src-head@freebsd.org Tue Nov 17 13:02:46 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C746A31215; Tue, 17 Nov 2015 13:02:46 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B7331CDB; Tue, 17 Nov 2015 13:02:46 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHD2jGd008064; Tue, 17 Nov 2015 13:02:45 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHD2i5k008061; Tue, 17 Nov 2015 13:02:44 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511171302.tAHD2i5k008061@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 17 Nov 2015 13:02:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290978 - head/sys/dev/isp 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.20 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, 17 Nov 2015 13:02:46 -0000 Author: mav Date: Tue Nov 17 13:02:44 2015 New Revision: 290978 URL: https://svnweb.freebsd.org/changeset/base/290978 Log: Add real initial support for RQSTYPE_RPT_ID_ACQ. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_library.c head/sys/dev/isp/ispmbox.h Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Tue Nov 17 12:50:45 2015 (r290977) +++ head/sys/dev/isp/isp.c Tue Nov 17 13:02:44 2015 (r290978) @@ -6192,6 +6192,9 @@ isp_parse_async_fc(ispsoftc_t *isp, uint static int isp_handle_other_response(ispsoftc_t *isp, int type, isphdr_t *hp, uint32_t *optrp) { + isp_ridacq_t rid; + int chan, c; + switch (type) { case RQSTYPE_STATUS_CONT: isp_prt(isp, ISP_LOG_WARN1, "Ignored Continuation Response"); @@ -6199,6 +6202,23 @@ isp_handle_other_response(ispsoftc_t *is case RQSTYPE_MARKER: isp_prt(isp, ISP_LOG_WARN1, "Marker Response"); return (1); + case RQSTYPE_RPT_ID_ACQ: + isp_get_ridacq(isp, (isp_ridacq_t *)hp, &rid); + if (rid.ridacq_format == 0) { + for (chan = 0; chan < isp->isp_nchan; chan++) { + fcparam *fcp = FCPARAM(isp, chan); + if (fcp->role == ISP_ROLE_NONE) + continue; + c = (chan == 0) ? 127 : (chan - 1); + if (rid.ridacq_map[c / 16] & (1 << (c % 16))) + isp_async(isp, ISPASYNC_CHANGE_NOTIFY, + chan, ISPASYNC_CHANGE_OTHER); + } + } else { + isp_async(isp, ISPASYNC_CHANGE_NOTIFY, + rid.ridacq_vp_index, ISPASYNC_CHANGE_OTHER); + } + return (1); case RQSTYPE_ATIO: case RQSTYPE_CTIO: case RQSTYPE_ENABLE_LUN: @@ -6219,15 +6239,6 @@ isp_handle_other_response(ispsoftc_t *is } #endif /* FALLTHROUGH */ - case RQSTYPE_RPT_ID_ACQ: - if (IS_24XX(isp)) { - isp_ridacq_t rid; - isp_get_ridacq(isp, (isp_ridacq_t *)hp, &rid); - if (rid.ridacq_format == 0) { - } - return (1); - } - /* FALLTHROUGH */ case RQSTYPE_REQUEST: default: ISP_DELAY(100); Modified: head/sys/dev/isp/isp_library.c ============================================================================== --- head/sys/dev/isp/isp_library.c Tue Nov 17 12:50:45 2015 (r290977) +++ head/sys/dev/isp/isp_library.c Tue Nov 17 13:02:44 2015 (r290978) @@ -1733,6 +1733,10 @@ isp_get_ridacq(ispsoftc_t *isp, isp_rida int i; isp_get_hdr(isp, &src->ridacq_hdr, &dst->ridacq_hdr); ISP_IOXGET_32(isp, &src->ridacq_handle, dst->ridacq_handle); + ISP_IOXGET_8(isp, &src->ridacq_vp_acquired, dst->ridacq_vp_acquired); + ISP_IOXGET_8(isp, &src->ridacq_vp_setup, dst->ridacq_vp_setup); + ISP_IOXGET_8(isp, &src->ridacq_vp_index, dst->ridacq_vp_index); + ISP_IOXGET_8(isp, &src->ridacq_vp_status, dst->ridacq_vp_status); ISP_IOXGET_16(isp, &src->ridacq_vp_port_lo, dst->ridacq_vp_port_lo); ISP_IOXGET_8(isp, &src->ridacq_vp_port_hi, dst->ridacq_vp_port_hi); ISP_IOXGET_8(isp, &src->ridacq_format, dst->ridacq_format); @@ -1742,17 +1746,6 @@ isp_get_ridacq(ispsoftc_t *isp, isp_rida for (i = 0; i < sizeof (src->ridacq_reserved1) / sizeof (src->ridacq_reserved1[0]); i++) { ISP_IOXGET_16(isp, &src->ridacq_reserved1[i], dst->ridacq_reserved1[i]); } - if (dst->ridacq_format == 0) { - ISP_IOXGET_8(isp, &src->un.type0.ridacq_vp_acquired, dst->un.type0.ridacq_vp_acquired); - ISP_IOXGET_8(isp, &src->un.type0.ridacq_vp_setup, dst->un.type0.ridacq_vp_setup); - ISP_IOXGET_16(isp, &src->un.type0.ridacq_reserved0, dst->un.type0.ridacq_reserved0); - } else if (dst->ridacq_format == 1) { - ISP_IOXGET_16(isp, &src->un.type1.ridacq_vp_count, dst->un.type1.ridacq_vp_count); - ISP_IOXGET_8(isp, &src->un.type1.ridacq_vp_index, dst->un.type1.ridacq_vp_index); - ISP_IOXGET_8(isp, &src->un.type1.ridacq_vp_status, dst->un.type1.ridacq_vp_status); - } else { - ISP_MEMZERO(&dst->un, sizeof (dst->un)); - } } Modified: head/sys/dev/isp/ispmbox.h ============================================================================== --- head/sys/dev/isp/ispmbox.h Tue Nov 17 12:50:45 2015 (r290977) +++ head/sys/dev/isp/ispmbox.h Tue Nov 17 13:02:44 2015 (r290978) @@ -1485,18 +1485,10 @@ typedef struct { typedef struct { isphdr_t ridacq_hdr; uint32_t ridacq_handle; - union { - struct { - uint8_t ridacq_vp_acquired; - uint8_t ridacq_vp_setup; - uint16_t ridacq_reserved0; - } type0; /* type 0 */ - struct { - uint16_t ridacq_vp_count; - uint8_t ridacq_vp_index; - uint8_t ridacq_vp_status; - } type1; /* type 1 */ - } un; + uint8_t ridacq_vp_acquired; + uint8_t ridacq_vp_setup; + uint8_t ridacq_vp_index; + uint8_t ridacq_vp_status; uint16_t ridacq_vp_port_lo; uint8_t ridacq_vp_port_hi; uint8_t ridacq_format; /* 0 or 1 */ @@ -1506,8 +1498,11 @@ typedef struct { #define RIDACQ_STS_COMPLETE 0 #define RIDACQ_STS_UNACQUIRED 1 -#define RIDACQ_STS_CHANGED 20 - +#define RIDACQ_STS_CHANGED 2 +#define RIDACQ_STS_SNS_TIMEOUT 3 +#define RIDACQ_STS_SNS_REJECTED 4 +#define RIDACQ_STS_SCR_TIMEOUT 5 +#define RIDACQ_STS_SCR_REJECTED 6 /* * Simple Name Server Data Structures From owner-svn-src-head@freebsd.org Tue Nov 17 13:09:52 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E8412A3128A; Tue, 17 Nov 2015 13:09:52 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AAAA21EA7; Tue, 17 Nov 2015 13:09:52 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHD9pnU008316; Tue, 17 Nov 2015 13:09:51 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHD9pLN008315; Tue, 17 Nov 2015 13:09:51 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201511171309.tAHD9pLN008315@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Tue, 17 Nov 2015 13:09:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290979 - head/sys/arm/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.20 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, 17 Nov 2015 13:09:53 -0000 Author: zbb Date: Tue Nov 17 13:09:51 2015 New Revision: 290979 URL: https://svnweb.freebsd.org/changeset/base/290979 Log: Make PCB structure binary compatible for old and new PMAP on ARM This structure must be binary compatible regardless of PMAP version being used. Create reserved section for NEW_PMAP to make other variables be placed exactly in the same memory addresses. This fixes kgdb/gdb behavoiur, which uses pcb.h stuctures. The NEW_PMAP is kernel flag, so it does not propagate to the buildworld, what makes the tools using pcb.h unable to parse PCB data. Reviewed by: mmel, kib Submitted by: Wojciech Macek Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4011 Modified: head/sys/arm/include/pcb.h Modified: head/sys/arm/include/pcb.h ============================================================================== --- head/sys/arm/include/pcb.h Tue Nov 17 13:02:44 2015 (r290978) +++ head/sys/arm/include/pcb.h Tue Nov 17 13:09:51 2015 (r290979) @@ -52,14 +52,17 @@ struct pcb { #define PCB_OWNFPU 0x00000001 #define PCB_NOALIGNFLT 0x00000002 caddr_t pcb_onfault; /* On fault handler */ -#ifdef ARM_NEW_PMAP - uint32_t pcb_pagedir; /* TTB0 value */ -#else - vm_offset_t pcb_pagedir; /* PT hooks */ + vm_offset_t pcb_pagedir; /* TTB0 value */ + /* + * XXX: + * Variables pcb_pl1vec, pcb_l1vec, pcb_dacr are used solely + * by old PMAP. Keep them here for PCB binary compatibility + * between old and new PMAP. + */ uint32_t *pcb_pl1vec; /* PTR to vector_base L1 entry*/ uint32_t pcb_l1vec; /* Value to stuff on ctx sw */ u_int pcb_dacr; /* Domain Access Control Reg */ -#endif + struct vfp_state pcb_vfpstate; /* VP/NEON state */ u_int pcb_vfpcpu; /* VP/NEON last cpu */ } __aligned(8); /* From owner-svn-src-head@freebsd.org Tue Nov 17 14:13:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D2C03A3124B; Tue, 17 Nov 2015 14:13:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9353B1464; Tue, 17 Nov 2015 14:13:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHEDtBS034169; Tue, 17 Nov 2015 14:13:55 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHEDtkP034167; Tue, 17 Nov 2015 14:13:55 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511171413.tAHEDtkP034167@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 17 Nov 2015 14:13:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290980 - head/sys/dev/isp 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.20 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, 17 Nov 2015 14:13:57 -0000 Author: mav Date: Tue Nov 17 14:13:55 2015 New Revision: 290980 URL: https://svnweb.freebsd.org/changeset/base/290980 Log: Make firmware handle virtual ports SNS logins for us. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_library.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Tue Nov 17 13:09:51 2015 (r290979) +++ head/sys/dev/isp/isp.c Tue Nov 17 14:13:55 2015 (r290980) @@ -2187,7 +2187,7 @@ isp_fibre_init_2400(ispsoftc_t *isp) size_t amt = 0; uint8_t *off; - vpinfo.vp_global_options = 0; + vpinfo.vp_global_options = ICB2400_VPGOPT_GEN_RIDA; if (ISP_CAP_VP0(isp)) { vpinfo.vp_global_options |= ICB2400_VPGOPT_VP0_DECOUPLE; vpinfo.vp_count = isp->isp_nchan; @@ -2207,7 +2207,8 @@ isp_fibre_init_2400(ispsoftc_t *isp) ISP_MEMZERO(&pi, sizeof (pi)); fcp2 = FCPARAM(isp, chan); if (fcp2->role != ISP_ROLE_NONE) { - pi.vp_port_options = ICB2400_VPOPT_ENABLED; + pi.vp_port_options = ICB2400_VPOPT_ENABLED | + ICB2400_VPOPT_ENA_SNSLOGIN; if (fcp2->role & ISP_ROLE_INITIATOR) pi.vp_port_options |= ICB2400_VPOPT_INI_ENABLE; if ((fcp2->role & ISP_ROLE_TARGET) == 0) @@ -2914,16 +2915,7 @@ isp_fclink_test(ispsoftc_t *isp, int cha } else { fcp->isp_fabric_params = 0; } - if (chan) { - fcp->isp_sns_hdl = NPH_RESERVED - chan; - r = isp_plogx(isp, chan, fcp->isp_sns_hdl, SNS_PORT_ID, PLOGX_FLG_CMD_PLOGI | PLOGX_FLG_COND_PLOGI | PLOGX_FLG_SKIP_PRLI, 0); - if (r) { - isp_prt(isp, ISP_LOGWARN, "%s: Chan %d cannot log into SNS", __func__, chan); - return (-1); - } - } else { - fcp->isp_sns_hdl = NPH_SNS_ID; - } + fcp->isp_sns_hdl = NPH_SNS_ID; r = isp_register_fc4_type_24xx(isp, chan); } else { fcp->isp_sns_hdl = SNS_ID; @@ -3167,7 +3159,7 @@ fail: * Don't scan "special" ids. */ if (ISP_CAP_2KLOGIN(isp)) { - if (handle >= NPH_RESERVED - isp->isp_nchan) + if (handle >= NPH_RESERVED) continue; } else { if (handle >= FL_ID && handle <= SNS_ID) @@ -4276,7 +4268,7 @@ isp_next_handle(ispsoftc_t *isp, uint16_ handle = *ohp; if (ISP_CAP_2KLOGIN(isp)) { minh = 0; - maxh = NPH_RESERVED - isp->isp_nchan; /* Reserve for SNS */ + maxh = NPH_RESERVED; } else { minh = SNS_ID + 1; maxh = NPH_MAX - 1; Modified: head/sys/dev/isp/isp_library.c ============================================================================== --- head/sys/dev/isp/isp_library.c Tue Nov 17 13:09:51 2015 (r290979) +++ head/sys/dev/isp/isp_library.c Tue Nov 17 14:13:55 2015 (r290980) @@ -604,7 +604,8 @@ isp_fc_enable_vp(ispsoftc_t *isp, int ch vp->vp_mod_cnt = 1; vp->vp_mod_idx0 = chan; vp->vp_mod_cmd = VP_MODIFY_ENA; - vp->vp_mod_ports[0].options = ICB2400_VPOPT_ENABLED; + vp->vp_mod_ports[0].options = ICB2400_VPOPT_ENABLED | + ICB2400_VPOPT_ENA_SNSLOGIN; if (fcp->role & ISP_ROLE_INITIATOR) { vp->vp_mod_ports[0].options |= ICB2400_VPOPT_INI_ENABLE; } From owner-svn-src-head@freebsd.org Tue Nov 17 14:22:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B1DB1A314DD; Tue, 17 Nov 2015 14:22:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7853F1B29; Tue, 17 Nov 2015 14:22:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHEMu65036953; Tue, 17 Nov 2015 14:22:56 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHEMuVH036952; Tue, 17 Nov 2015 14:22:56 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511171422.tAHEMuVH036952@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 17 Nov 2015 14:22:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290981 - head/sys/dev/isp 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.20 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, 17 Nov 2015 14:22:57 -0000 Author: mav Date: Tue Nov 17 14:22:56 2015 New Revision: 290981 URL: https://svnweb.freebsd.org/changeset/base/290981 Log: Off-by-one correctiont to r290980. Modified: head/sys/dev/isp/isp.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Tue Nov 17 14:13:55 2015 (r290980) +++ head/sys/dev/isp/isp.c Tue Nov 17 14:22:56 2015 (r290981) @@ -4268,7 +4268,7 @@ isp_next_handle(ispsoftc_t *isp, uint16_ handle = *ohp; if (ISP_CAP_2KLOGIN(isp)) { minh = 0; - maxh = NPH_RESERVED; + maxh = NPH_RESERVED - 1; } else { minh = SNS_ID + 1; maxh = NPH_MAX - 1; From owner-svn-src-head@freebsd.org Tue Nov 17 14:39:34 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8B680A31892; Tue, 17 Nov 2015 14:39:34 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 65A0C1538; Tue, 17 Nov 2015 14:39:34 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHEdXIS041100; Tue, 17 Nov 2015 14:39:33 GMT (envelope-from fabient@FreeBSD.org) Received: (from fabient@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHEdXl1041097; Tue, 17 Nov 2015 14:39:33 GMT (envelope-from fabient@FreeBSD.org) Message-Id: <201511171439.tAHEdXl1041097@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: fabient set sender to fabient@FreeBSD.org using -f From: Fabien Thomas Date: Tue, 17 Nov 2015 14:39:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290982 - in head/sys: net netipsec 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.20 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, 17 Nov 2015 14:39:34 -0000 Author: fabient Date: Tue Nov 17 14:39:33 2015 New Revision: 290982 URL: https://svnweb.freebsd.org/changeset/base/290982 Log: Implement the sadb_x_policy_priority field as it is done in Linux: lower priority policies are inserted first. Submitted by: Emeric Poupon Reviewed by: ae Sponsored by: Stormshield Modified: head/sys/net/pfkeyv2.h head/sys/netipsec/ipsec.h head/sys/netipsec/key.c Modified: head/sys/net/pfkeyv2.h ============================================================================== --- head/sys/net/pfkeyv2.h Tue Nov 17 14:22:56 2015 (r290981) +++ head/sys/net/pfkeyv2.h Tue Nov 17 14:39:33 2015 (r290982) @@ -225,7 +225,7 @@ struct sadb_x_policy { u_int8_t sadb_x_policy_dir; /* direction, see ipsec.h */ u_int8_t sadb_x_policy_reserved; u_int32_t sadb_x_policy_id; - u_int32_t sadb_x_policy_reserved2; + u_int32_t sadb_x_policy_priority; }; _Static_assert(sizeof(struct sadb_x_policy) == 16, "struct size mismatch"); Modified: head/sys/netipsec/ipsec.h ============================================================================== --- head/sys/netipsec/ipsec.h Tue Nov 17 14:22:56 2015 (r290981) +++ head/sys/netipsec/ipsec.h Tue Nov 17 14:39:33 2015 (r290982) @@ -92,6 +92,7 @@ struct secpolicy { u_int state; #define IPSEC_SPSTATE_DEAD 0 #define IPSEC_SPSTATE_ALIVE 1 + u_int32_t priority; /* priority of this policy */ u_int32_t id; /* It's unique number on the system. */ /* * lifetime handler. Modified: head/sys/netipsec/key.c ============================================================================== --- head/sys/netipsec/key.c Tue Nov 17 14:22:56 2015 (r290981) +++ head/sys/netipsec/key.c Tue Nov 17 14:39:33 2015 (r290982) @@ -473,7 +473,7 @@ static void key_porttosaddr(struct socka key_porttosaddr((struct sockaddr *)(saddr), (port)) static struct mbuf *key_setsadbxsa2(u_int8_t, u_int32_t, u_int32_t); static struct mbuf *key_setsadbxpolicy(u_int16_t, u_int8_t, - u_int32_t); + u_int32_t, u_int32_t); static struct seckey *key_dup_keymsg(const struct sadb_key *, u_int, struct malloc_type *); static struct seclifetime *key_dup_lifemsg(const struct sadb_lifetime *src, @@ -1209,6 +1209,29 @@ key_unlink(struct secpolicy *sp) } /* + * insert a secpolicy into the SP database. Lower priorities first + */ +static void +key_insertsp(struct secpolicy *newsp) +{ + struct secpolicy *sp; + + SPTREE_WLOCK(); + TAILQ_FOREACH(sp, &V_sptree[newsp->spidx.dir], chain) { + if (newsp->priority < sp->priority) { + TAILQ_INSERT_BEFORE(sp, newsp, chain); + goto done; + } + } + + TAILQ_INSERT_TAIL(&V_sptree[newsp->spidx.dir], newsp, chain); + +done: + newsp->state = IPSEC_SPSTATE_ALIVE; + SPTREE_WUNLOCK(); +} + +/* * Must be called after calling key_allocsp(). * For the packet with socket. */ @@ -1391,6 +1414,7 @@ key_msg2sp(struct sadb_x_policy *xpl0, s newsp->spidx.dir = xpl0->sadb_x_policy_dir; newsp->policy = xpl0->sadb_x_policy_type; + newsp->priority = xpl0->sadb_x_policy_priority; /* check policy */ switch (xpl0->sadb_x_policy_type) { @@ -1627,6 +1651,7 @@ key_sp2msg(struct secpolicy *sp) xpl->sadb_x_policy_type = sp->policy; xpl->sadb_x_policy_dir = sp->spidx.dir; xpl->sadb_x_policy_id = sp->id; + xpl->sadb_x_policy_priority = sp->priority; p = (caddr_t)xpl + sizeof(*xpl); /* if is the policy for ipsec ? */ @@ -1904,10 +1929,7 @@ key_spdadd(struct socket *so, struct mbu newsp->lifetime = lft ? lft->sadb_lifetime_addtime : 0; newsp->validtime = lft ? lft->sadb_lifetime_usetime : 0; - SPTREE_WLOCK(); - TAILQ_INSERT_TAIL(&V_sptree[newsp->spidx.dir], newsp, chain); - newsp->state = IPSEC_SPSTATE_ALIVE; - SPTREE_WUNLOCK(); + key_insertsp(newsp); /* delete the entry in spacqtree */ if (mhp->msg->sadb_msg_type == SADB_X_SPDUPDATE) { @@ -3744,7 +3766,7 @@ key_porttosaddr(struct sockaddr *sa, u_i * set data into sadb_x_policy */ static struct mbuf * -key_setsadbxpolicy(u_int16_t type, u_int8_t dir, u_int32_t id) +key_setsadbxpolicy(u_int16_t type, u_int8_t dir, u_int32_t id, u_int32_t priority) { struct mbuf *m; struct sadb_x_policy *p; @@ -3764,6 +3786,7 @@ key_setsadbxpolicy(u_int16_t type, u_int p->sadb_x_policy_type = type; p->sadb_x_policy_dir = dir; p->sadb_x_policy_id = id; + p->sadb_x_policy_priority = priority; return m; } @@ -6205,7 +6228,7 @@ key_acquire(const struct secasindex *sai /* set sadb_x_policy */ if (sp) { - m = key_setsadbxpolicy(sp->policy, sp->spidx.dir, sp->id); + m = key_setsadbxpolicy(sp->policy, sp->spidx.dir, sp->id, sp->priority); if (!m) { error = ENOBUFS; goto fail; From owner-svn-src-head@freebsd.org Tue Nov 17 16:07:46 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 447BBA31062; Tue, 17 Nov 2015 16:07:46 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0ED341BE0; Tue, 17 Nov 2015 16:07:45 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHG7jct069983; Tue, 17 Nov 2015 16:07:45 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHG7hQV069968; Tue, 17 Nov 2015 16:07:43 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201511171607.tAHG7hQV069968@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Tue, 17 Nov 2015 16:07:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290989 - in head/sys/powerpc: aim ofw powermac 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.20 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, 17 Nov 2015 16:07:46 -0000 Author: nwhitehorn Date: Tue Nov 17 16:07:43 2015 New Revision: 290989 URL: https://svnweb.freebsd.org/changeset/base/290989 Log: Where appropriate, use the endian-flipping OF_getencprop() instead of OF_getprop() to get encode-int encoded values from the OF tree. This is a no-op at present, since all existing PowerPC ports are big-endian, but it is a correctness improvement and will be required if we have a little-endian kernel at some future point. Where it is totally impossible for the code ever to be used on a little-endian system (much of powerpc/powermac, for instance), I have not necessarily made the appropriate changes. MFC after: 1 month Modified: head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/ofw/ofw_machdep.c head/sys/powerpc/ofw/ofw_pci.c head/sys/powerpc/ofw/ofw_pcibus.c head/sys/powerpc/ofw/openpic_ofw.c head/sys/powerpc/powermac/cpcht.c head/sys/powerpc/powermac/kiic.c head/sys/powerpc/powermac/macgpio.c head/sys/powerpc/pseries/mmu_phyp.c head/sys/powerpc/pseries/phyp_console.c head/sys/powerpc/pseries/phyp_llan.c head/sys/powerpc/pseries/phyp_vscsi.c head/sys/powerpc/pseries/platform_chrp.c head/sys/powerpc/pseries/plpar_iommu.c head/sys/powerpc/pseries/rtas_pci.c Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/aim/mmu_oea64.c Tue Nov 17 16:07:43 2015 (r290989) @@ -493,9 +493,9 @@ moea64_add_ofw_mappings(mmu_t mmup, phan int i, j; bzero(translations, sz); - OF_getprop(OF_finddevice("/"), "#address-cells", &acells, + OF_getencprop(OF_finddevice("/"), "#address-cells", &acells, sizeof(acells)); - if (OF_getprop(mmu, "translations", trans_cells, sz) == -1) + if (OF_getencprop(mmu, "translations", trans_cells, sz) == -1) panic("moea64_bootstrap: can't get ofw translations"); CTR0(KTR_PMAP, "moea64_add_ofw_mappings: translations"); @@ -856,7 +856,7 @@ moea64_late_bootstrap(mmu_t mmup, vm_off */ chosen = OF_finddevice("/chosen"); - if (chosen != -1 && OF_getprop(chosen, "mmu", &mmui, 4) != -1) { + if (chosen != -1 && OF_getencprop(chosen, "mmu", &mmui, 4) != -1) { mmu = OF_instance_to_package(mmui); if (mmu == -1 || (sz = OF_getproplen(mmu, "translations")) == -1) Modified: head/sys/powerpc/ofw/ofw_machdep.c ============================================================================== --- head/sys/powerpc/ofw/ofw_machdep.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/ofw/ofw_machdep.c Tue Nov 17 16:07:43 2015 (r290989) @@ -154,17 +154,17 @@ parse_ofw_memory(phandle_t node, const c * be found. */ phandle = OF_finddevice("/"); - if (OF_getprop(phandle, "#address-cells", &address_cells, + if (OF_getencprop(phandle, "#address-cells", &address_cells, sizeof(address_cells)) < (ssize_t)sizeof(address_cells)) address_cells = 1; - if (OF_getprop(phandle, "#size-cells", &size_cells, + if (OF_getencprop(phandle, "#size-cells", &size_cells, sizeof(size_cells)) < (ssize_t)sizeof(size_cells)) size_cells = 1; /* * Get memory. */ - if (node == -1 || (sz = OF_getprop(node, prop, + if (node == -1 || (sz = OF_getencprop(node, prop, OFmem, sizeof(OFmem))) <= 0) panic("Physical memory map not found"); @@ -572,10 +572,10 @@ OF_get_addr_props(phandle_t node, uint32 uint32_t addr, size; int pci, res; - res = OF_getprop(node, "#address-cells", &addr, sizeof(addr)); + res = OF_getencprop(node, "#address-cells", &addr, sizeof(addr)); if (res == -1) addr = 2; - res = OF_getprop(node, "#size-cells", &size, sizeof(size)); + res = OF_getencprop(node, "#size-cells", &size, sizeof(size)); if (res == -1) size = 1; pci = 0; @@ -624,7 +624,7 @@ OF_decode_addr(phandle_t dev, int regno, OF_get_addr_props(bridge, &naddr, &nsize, &pci); if (pci) *tag = &bs_le_tag; - res = OF_getprop(dev, (pci) ? "assigned-addresses" : "reg", + res = OF_getencprop(dev, (pci) ? "assigned-addresses" : "reg", cell, sizeof(cell)); if (res == -1) return (ENXIO); @@ -653,7 +653,7 @@ OF_decode_addr(phandle_t dev, int regno, OF_get_addr_props(parent, &nbridge, NULL, &pcib); if (pcib) *tag = &bs_le_tag; - res = OF_getprop(bridge, "ranges", cell, sizeof(cell)); + res = OF_getencprop(bridge, "ranges", cell, sizeof(cell)); if (res == -1) goto next; if (res % sizeof(cell[0])) Modified: head/sys/powerpc/ofw/ofw_pci.c ============================================================================== --- head/sys/powerpc/ofw/ofw_pci.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/ofw/ofw_pci.c Tue Nov 17 16:07:43 2015 (r290989) @@ -136,10 +136,11 @@ ofw_pci_init(device_t dev) sc = device_get_softc(dev); sc->sc_initialized = 1; - if (OF_getprop(node, "reg", &sc->sc_pcir, sizeof(sc->sc_pcir)) == -1) + if (OF_getencprop(node, "reg", (pcell_t *)&sc->sc_pcir, + sizeof(sc->sc_pcir)) == -1) return (ENXIO); - if (OF_getprop(node, "bus-range", busrange, sizeof(busrange)) != 8) + if (OF_getencprop(node, "bus-range", busrange, sizeof(busrange)) != 8) busrange[0] = 0; sc->sc_dev = dev; @@ -498,11 +499,11 @@ ofw_pci_nranges(phandle_t node) int host_address_cells = 1, pci_address_cells = 3, size_cells = 2; ssize_t nbase_ranges; - OF_getprop(OF_parent(node), "#address-cells", &host_address_cells, + OF_getencprop(OF_parent(node), "#address-cells", &host_address_cells, sizeof(host_address_cells)); - OF_getprop(node, "#address-cells", &pci_address_cells, + OF_getencprop(node, "#address-cells", &pci_address_cells, sizeof(pci_address_cells)); - OF_getprop(node, "#size-cells", &size_cells, sizeof(size_cells)); + OF_getencprop(node, "#size-cells", &size_cells, sizeof(size_cells)); nbase_ranges = OF_getproplen(node, "ranges"); if (nbase_ranges <= 0) @@ -521,11 +522,11 @@ ofw_pci_fill_ranges(phandle_t node, stru int nranges; int i, j, k; - OF_getprop(OF_parent(node), "#address-cells", &host_address_cells, + OF_getencprop(OF_parent(node), "#address-cells", &host_address_cells, sizeof(host_address_cells)); - OF_getprop(node, "#address-cells", &pci_address_cells, + OF_getencprop(node, "#address-cells", &pci_address_cells, sizeof(pci_address_cells)); - OF_getprop(node, "#size-cells", &size_cells, sizeof(size_cells)); + OF_getencprop(node, "#size-cells", &size_cells, sizeof(size_cells)); nbase_ranges = OF_getproplen(node, "ranges"); if (nbase_ranges <= 0) @@ -534,7 +535,7 @@ ofw_pci_fill_ranges(phandle_t node, stru (pci_address_cells + host_address_cells + size_cells); base_ranges = malloc(nbase_ranges, M_DEVBUF, M_WAITOK); - OF_getprop(node, "ranges", base_ranges, nbase_ranges); + OF_getencprop(node, "ranges", base_ranges, nbase_ranges); for (i = 0, j = 0; i < nranges; i++) { ranges[i].pci_hi = base_ranges[j++]; Modified: head/sys/powerpc/ofw/ofw_pcibus.c ============================================================================== --- head/sys/powerpc/ofw/ofw_pcibus.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/ofw/ofw_pcibus.c Tue Nov 17 16:07:43 2015 (r290989) @@ -156,7 +156,8 @@ ofw_pcibus_enum_devtree(device_t dev, u_ node = ofw_bus_get_node(dev); for (child = OF_child(node); child != 0; child = OF_peer(child)) { - if (OF_getprop(child, "reg", &pcir, sizeof(pcir)) == -1) + if (OF_getencprop(child, "reg", (pcell_t *)&pcir, + sizeof(pcir)) == -1) continue; slot = OFW_PCI_PHYS_HI_DEVICE(pcir.phys_hi); func = OFW_PCI_PHYS_HI_FUNCTION(pcir.phys_hi); @@ -305,11 +306,12 @@ ofw_pcibus_assign_interrupt(device_t dev */ iparent = -1; - if (OF_getprop(node, "interrupt-parent", &iparent, sizeof(iparent)) < 0) + if (OF_getencprop(node, "interrupt-parent", &iparent, + sizeof(iparent)) < 0) iparent = -1; icells = 1; if (iparent != -1) - OF_getprop(OF_node_from_xref(iparent), "#interrupt-cells", + OF_getencprop(OF_node_from_xref(iparent), "#interrupt-cells", &icells, sizeof(icells)); /* @@ -317,12 +319,12 @@ ofw_pcibus_assign_interrupt(device_t dev * fully specified (i.e. does not need routing) */ - isz = OF_getprop(node, "AAPL,interrupts", intr, sizeof(intr)); + isz = OF_getencprop(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)); + isz = OF_getencprop(node, "interrupts", intr, sizeof(intr)); if (isz == sizeof(intr[0])*icells) { if (iparent != -1) intr[0] = ofw_bus_map_intr(dev, iparent, icells, intr); Modified: head/sys/powerpc/ofw/openpic_ofw.c ============================================================================== --- head/sys/powerpc/ofw/openpic_ofw.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/ofw/openpic_ofw.c Tue Nov 17 16:07:43 2015 (r290989) @@ -127,9 +127,9 @@ openpic_ofw_attach(device_t dev) node = ofw_bus_get_node(dev); - if (OF_getprop(node, "phandle", &xref, sizeof(xref)) == -1 && - OF_getprop(node, "ibm,phandle", &xref, sizeof(xref)) == -1 && - OF_getprop(node, "linux,phandle", &xref, sizeof(xref)) == -1) + if (OF_getencprop(node, "phandle", &xref, sizeof(xref)) == -1 && + OF_getencprop(node, "ibm,phandle", &xref, sizeof(xref)) == -1 && + OF_getencprop(node, "linux,phandle", &xref, sizeof(xref)) == -1) xref = node; return (openpic_common_attach(dev, xref)); Modified: head/sys/powerpc/powermac/cpcht.c ============================================================================== --- head/sys/powerpc/powermac/cpcht.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/powermac/cpcht.c Tue Nov 17 16:07:43 2015 (r290989) @@ -176,7 +176,7 @@ cpcht_attach(device_t dev) node = ofw_bus_get_node(dev); sc = device_get_softc(dev); - if (OF_getprop(node, "reg", reg, sizeof(reg)) < 12) + if (OF_getencprop(node, "reg", reg, sizeof(reg)) < 12) return (ENXIO); if (OF_getproplen(node, "ranges") <= 0) @@ -219,7 +219,7 @@ cpcht_configure_htbridge(device_t dev, p u_int b, f, s; sc = device_get_softc(dev); - if (OF_getprop(child, "reg", &pcir, sizeof(pcir)) == -1) + if (OF_getencprop(child, "reg", (pcell_t *)&pcir, sizeof(pcir)) == -1) return; b = OFW_PCI_PHYS_HI_BUS(pcir.phys_hi); Modified: head/sys/powerpc/powermac/kiic.c ============================================================================== --- head/sys/powerpc/powermac/kiic.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/powermac/kiic.c Tue Nov 17 16:07:43 2015 (r290989) @@ -186,11 +186,11 @@ kiic_attach(device_t self) return (ENOMEM); } - if (OF_getprop(node, "AAPL,i2c-rate", &rate, 4) != 4) { + if (OF_getencprop(node, "AAPL,i2c-rate", &rate, 4) != 4) { device_printf(self, "cannot get i2c-rate\n"); return (ENXIO); } - if (OF_getprop(node, "AAPL,address-step", &sc->sc_regstep, 4) != 4) { + if (OF_getencprop(node, "AAPL,address-step", &sc->sc_regstep, 4) != 4) { device_printf(self, "unable to find i2c address step\n"); return (ENXIO); } Modified: head/sys/powerpc/powermac/macgpio.c ============================================================================== --- head/sys/powerpc/powermac/macgpio.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/powermac/macgpio.c Tue Nov 17 16:07:43 2015 (r290989) @@ -177,7 +177,7 @@ macgpio_attach(device_t dev) continue; } - if (OF_getprop(child,"reg",&dinfo->gpio_num, + if (OF_getencprop(child, "reg", &dinfo->gpio_num, sizeof(dinfo->gpio_num)) != sizeof(dinfo->gpio_num)) { /* * Some early GPIO controllers don't provide GPIO @@ -191,9 +191,9 @@ macgpio_attach(device_t dev) resource_list_init(&dinfo->mdi_resources); - if (OF_getprop(child, "interrupts", &irq, sizeof(irq)) == + if (OF_getencprop(child, "interrupts", &irq, sizeof(irq)) == sizeof(irq)) { - OF_searchprop(child, "interrupt-parent", &iparent, + OF_searchencprop(child, "interrupt-parent", &iparent, sizeof(iparent)); resource_list_add(&dinfo->mdi_resources, SYS_RES_IRQ, 0, MAP_IRQ(iparent, irq), MAP_IRQ(iparent, irq), Modified: head/sys/powerpc/pseries/mmu_phyp.c ============================================================================== --- head/sys/powerpc/pseries/mmu_phyp.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/mmu_phyp.c Tue Nov 17 16:07:43 2015 (r290989) @@ -142,11 +142,11 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t node = OF_peer(node); } - res = OF_getprop(node, "ibm,pft-size", prop, sizeof(prop)); + res = OF_getencprop(node, "ibm,pft-size", prop, sizeof(prop)); if (res <= 0) panic("mmu_phyp: unknown PFT size"); final_pteg_count = 1 << prop[1]; - res = OF_getprop(node, "ibm,slb-size", prop, sizeof(prop[0])); + res = OF_getencprop(node, "ibm,slb-size", prop, sizeof(prop[0])); if (res > 0) n_slbs = prop[0]; Modified: head/sys/powerpc/pseries/phyp_console.c ============================================================================== --- head/sys/powerpc/pseries/phyp_console.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/phyp_console.c Tue Nov 17 16:07:43 2015 (r290989) @@ -147,7 +147,7 @@ uart_phyp_probe_node(struct uart_phyp_so return (ENXIO); reg = -1; - OF_getprop(node, "reg", ®, sizeof(reg)); + OF_getencprop(node, "reg", ®, sizeof(reg)); if (reg == -1) return (ENXIO); sc->vtermid = reg; @@ -200,7 +200,7 @@ uart_phyp_cnprobe(struct consdev *cp) /* Check if OF has an active stdin/stdout */ input = -1; - if (OF_getprop(chosen, "stdout", &stdout, + if (OF_getencprop(chosen, "stdout", &stdout, sizeof(stdout)) == sizeof(stdout) && stdout != 0) input = OF_instance_to_package(stdout); if (input == -1) Modified: head/sys/powerpc/pseries/phyp_llan.c ============================================================================== --- head/sys/powerpc/pseries/phyp_llan.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/phyp_llan.c Tue Nov 17 16:07:43 2015 (r290989) @@ -159,7 +159,7 @@ llan_attach(device_t dev) node = ofw_bus_get_node(dev); OF_getprop(node, "local-mac-address", sc->mac_address, sizeof(sc->mac_address)); - OF_getprop(node, "reg", &sc->unit, sizeof(sc->unit)); + OF_getencprop(node, "reg", &sc->unit, sizeof(sc->unit)); mtx_init(&sc->io_lock, "llan", NULL, MTX_DEF); Modified: head/sys/powerpc/pseries/phyp_vscsi.c ============================================================================== --- head/sys/powerpc/pseries/phyp_vscsi.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/phyp_vscsi.c Tue Nov 17 16:07:43 2015 (r290989) @@ -290,7 +290,8 @@ vscsi_attach(device_t dev) mtx_init(&sc->io_lock, "vscsi", NULL, MTX_DEF); /* Get properties */ - OF_getprop(ofw_bus_get_node(dev), "reg", &sc->unit, sizeof(sc->unit)); + OF_getencprop(ofw_bus_get_node(dev), "reg", &sc->unit, + sizeof(sc->unit)); /* Setup interrupt */ sc->irqid = 0; Modified: head/sys/powerpc/pseries/platform_chrp.c ============================================================================== --- head/sys/powerpc/pseries/platform_chrp.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/platform_chrp.c Tue Nov 17 16:07:43 2015 (r290989) @@ -172,7 +172,7 @@ parse_drconf_memory(struct mem_region *o vm_offset_t base; int i, idx, len, lasz, lmsz, res; uint32_t flags, lmb_size[2]; - uint64_t *dmem; + uint32_t *dmem; lmsz = *msz; lasz = *asz; @@ -182,7 +182,8 @@ parse_drconf_memory(struct mem_region *o /* No drconf node, return. */ return (0); - res = OF_getprop(phandle, "ibm,lmb-size", lmb_size, sizeof(lmb_size)); + res = OF_getencprop(phandle, "ibm,lmb-size", lmb_size, + sizeof(lmb_size)); if (res == -1) return (0); printf("Logical Memory Block size: %d MB\n", lmb_size[1] >> 20); @@ -207,8 +208,8 @@ parse_drconf_memory(struct mem_region *o */ cell_t arr[len/sizeof(cell_t)]; - res = OF_getprop(phandle, "ibm,dynamic-memory", &arr, - sizeof(arr)); + res = OF_getencprop(phandle, "ibm,dynamic-memory", arr, + sizeof(arr)); if (res == -1) return (0); @@ -216,12 +217,12 @@ parse_drconf_memory(struct mem_region *o idx = arr[0]; /* First address, in arr[1], arr[2]*/ - dmem = (uint64_t*)&arr[1]; + dmem = &arr[1]; for (i = 0; i < idx; i++) { - base = *dmem; - dmem += 2; - flags = *dmem; + base = ((uint64_t)dmem[0] << 32) + dmem[1]; + dmem += 4; + flags = dmem[1]; /* Use region only if available and not reserved. */ if ((flags & 0x8) && !(flags & 0x80)) { ofmem[lmsz].mr_start = base; @@ -231,7 +232,7 @@ parse_drconf_memory(struct mem_region *o lmsz++; lasz++; } - dmem++; + dmem += 2; } } @@ -281,7 +282,7 @@ chrp_timebase_freq(platform_t plat, stru phandle = cpuref->cr_hwref; - OF_getprop(phandle, "timebase-frequency", &ticks, sizeof(ticks)); + OF_getencprop(phandle, "timebase-frequency", &ticks, sizeof(ticks)); if (ticks <= 0) panic("Unable to determine timebase frequency!"); @@ -327,10 +328,10 @@ chrp_smp_first_cpu(platform_t plat, stru return (ENOENT); cpuref->cr_hwref = cpu; - res = OF_getprop(cpu, "ibm,ppc-interrupt-server#s", &cpuid, + res = OF_getencprop(cpu, "ibm,ppc-interrupt-server#s", &cpuid, sizeof(cpuid)); if (res <= 0) - res = OF_getprop(cpu, "reg", &cpuid, sizeof(cpuid)); + res = OF_getencprop(cpu, "reg", &cpuid, sizeof(cpuid)); if (res <= 0) cpuid = 0; cpuref->cr_cpuid = cpuid; @@ -349,7 +350,7 @@ chrp_smp_next_cpu(platform_t plat, struc res = OF_getproplen(cpuref->cr_hwref, "ibm,ppc-interrupt-server#s"); if (res > 0) { cell_t interrupt_servers[res/sizeof(cell_t)]; - OF_getprop(cpuref->cr_hwref, "ibm,ppc-interrupt-server#s", + OF_getencprop(cpuref->cr_hwref, "ibm,ppc-interrupt-server#s", interrupt_servers, res); for (i = 0; i < res/sizeof(cell_t) - 1; i++) { if (interrupt_servers[i] == cpuref->cr_cpuid) { @@ -371,10 +372,10 @@ chrp_smp_next_cpu(platform_t plat, struc return (ENOENT); cpuref->cr_hwref = cpu; - res = OF_getprop(cpu, "ibm,ppc-interrupt-server#s", &cpuid, + res = OF_getencprop(cpu, "ibm,ppc-interrupt-server#s", &cpuid, sizeof(cpuid)); if (res <= 0) - res = OF_getprop(cpu, "reg", &cpuid, sizeof(cpuid)); + res = OF_getencprop(cpu, "reg", &cpuid, sizeof(cpuid)); if (res <= 0) cpuid = 0; cpuref->cr_cpuid = cpuid; @@ -393,7 +394,7 @@ chrp_smp_get_bsp(platform_t plat, struct if (chosen == 0) return (ENXIO); - res = OF_getprop(chosen, "cpu", &inst, sizeof(inst)); + res = OF_getencprop(chosen, "cpu", &inst, sizeof(inst)); if (res < 0) return (ENXIO); @@ -401,10 +402,10 @@ chrp_smp_get_bsp(platform_t plat, struct /* Pick the primary thread. Can it be any other? */ cpuref->cr_hwref = bsp; - res = OF_getprop(bsp, "ibm,ppc-interrupt-server#s", &cpuid, + res = OF_getencprop(bsp, "ibm,ppc-interrupt-server#s", &cpuid, sizeof(cpuid)); if (res <= 0) - res = OF_getprop(bsp, "reg", &cpuid, sizeof(cpuid)); + res = OF_getencprop(bsp, "reg", &cpuid, sizeof(cpuid)); if (res <= 0) cpuid = 0; cpuref->cr_cpuid = cpuid; Modified: head/sys/powerpc/pseries/plpar_iommu.c ============================================================================== --- head/sys/powerpc/pseries/plpar_iommu.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/plpar_iommu.c Tue Nov 17 16:07:43 2015 (r290989) @@ -88,19 +88,20 @@ phyp_iommu_set_dma_tag(device_t bus, dev return (ENXIO); node = ofw_bus_get_node(p); - if (OF_getprop(node, "ibm,#dma-size-cells", &dma_scells, + if (OF_getencprop(node, "ibm,#dma-size-cells", &dma_scells, sizeof(cell_t)) <= 0) - OF_searchprop(node, "#size-cells", &dma_scells, sizeof(cell_t)); - if (OF_getprop(node, "ibm,#dma-address-cells", &dma_acells, + OF_searchencprop(node, "#size-cells", &dma_scells, + sizeof(cell_t)); + if (OF_getencprop(node, "ibm,#dma-address-cells", &dma_acells, sizeof(cell_t)) <= 0) - OF_searchprop(node, "#address-cells", &dma_acells, + OF_searchencprop(node, "#address-cells", &dma_acells, sizeof(cell_t)); if (ofw_bus_has_prop(p, "ibm,my-dma-window")) - OF_getprop(node, "ibm,my-dma-window", dmawindow, + OF_getencprop(node, "ibm,my-dma-window", dmawindow, sizeof(cell_t)*(dma_scells + dma_acells + 1)); else - OF_getprop(node, "ibm,dma-window", dmawindow, + OF_getencprop(node, "ibm,dma-window", dmawindow, sizeof(cell_t)*(dma_scells + dma_acells + 1)); struct dma_window *window = malloc(sizeof(struct dma_window), Modified: head/sys/powerpc/pseries/rtas_pci.c ============================================================================== --- head/sys/powerpc/pseries/rtas_pci.c Tue Nov 17 15:20:12 2015 (r290988) +++ head/sys/powerpc/pseries/rtas_pci.c Tue Nov 17 16:07:43 2015 (r290989) @@ -133,7 +133,7 @@ rtaspci_attach(device_t dev) sc->ex_write_pci_config = rtas_token_lookup("ibm,write-pci-config"); sc->sc_extended_config = 0; - OF_getprop(ofw_bus_get_node(dev), "ibm,pci-config-space-type", + OF_getencprop(ofw_bus_get_node(dev), "ibm,pci-config-space-type", &sc->sc_extended_config, sizeof(sc->sc_extended_config)); return (ofw_pci_attach(dev)); From owner-svn-src-head@freebsd.org Tue Nov 17 16:09:27 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D381EA31150; Tue, 17 Nov 2015 16:09:27 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A855F1E9D; Tue, 17 Nov 2015 16:09:27 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHG9QLn070083; Tue, 17 Nov 2015 16:09:26 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHG9QPh070082; Tue, 17 Nov 2015 16:09:26 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201511171609.tAHG9QPh070082@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Tue, 17 Nov 2015 16:09:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290990 - 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.20 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, 17 Nov 2015 16:09:28 -0000 Author: nwhitehorn Date: Tue Nov 17 16:09:26 2015 New Revision: 290990 URL: https://svnweb.freebsd.org/changeset/base/290990 Log: Make native page table access endian-safe. Even on CPUs running in little-endian mode, the hardware page table is big-endian. This is a no-op on all currently supported systems. MFC after: 1 month Modified: head/sys/powerpc/aim/moea64_native.c Modified: head/sys/powerpc/aim/moea64_native.c ============================================================================== --- head/sys/powerpc/aim/moea64_native.c Tue Nov 17 16:07:43 2015 (r290989) +++ head/sys/powerpc/aim/moea64_native.c Tue Nov 17 16:09:26 2015 (r290990) @@ -230,7 +230,7 @@ moea64_pte_synch_native(mmu_t mmu, struc moea64_pte_from_pvo(pvo, &properpt); rw_rlock(&moea64_eviction_lock); - if ((pt->pte_hi & LPTE_AVPN_MASK) != + if ((be64toh(pt->pte_hi) & LPTE_AVPN_MASK) != (properpt.pte_hi & LPTE_AVPN_MASK)) { /* Evicted */ rw_runlock(&moea64_eviction_lock); @@ -257,7 +257,7 @@ moea64_pte_clear_native(mmu_t mmu, struc moea64_pte_from_pvo(pvo, &properpt); rw_rlock(&moea64_eviction_lock); - if ((pt->pte_hi & LPTE_AVPN_MASK) != + if ((be64toh(pt->pte_hi) & LPTE_AVPN_MASK) != (properpt.pte_hi & LPTE_AVPN_MASK)) { /* Evicted */ rw_runlock(&moea64_eviction_lock); @@ -268,11 +268,15 @@ moea64_pte_clear_native(mmu_t mmu, struc /* See "Resetting the Reference Bit" in arch manual */ PTESYNC(); /* 2-step here safe: precision is not guaranteed */ - ptelo = pt->pte_lo; + ptelo = be64toh(pt->pte_lo); /* One-byte store to avoid touching the C bit */ ((volatile uint8_t *)(&pt->pte_lo))[6] = +#if BYTE_ORDER == BIG_ENDIAN ((uint8_t *)(&properpt.pte_lo))[6]; +#else + ((uint8_t *)(&properpt.pte_lo))[1]; +#endif rw_runlock(&moea64_eviction_lock); critical_enter(); @@ -297,7 +301,7 @@ moea64_pte_unset_native(mmu_t mmu, struc moea64_pte_from_pvo(pvo, &properpt); rw_rlock(&moea64_eviction_lock); - if ((pt->pte_hi & LPTE_AVPN_MASK) != + if ((be64toh(pt->pte_hi & LPTE_AVPN_MASK)) != (properpt.pte_hi & LPTE_AVPN_MASK)) { /* Evicted */ moea64_pte_overflow--; @@ -311,7 +315,7 @@ moea64_pte_unset_native(mmu_t mmu, struc */ isync(); critical_enter(); - pt->pte_hi = (pt->pte_hi & ~LPTE_VALID) | LPTE_LOCKED; + pt->pte_hi = be64toh((pt->pte_hi & ~LPTE_VALID) | LPTE_LOCKED); PTESYNC(); TLBIE(pvo->pvo_vpn); ptelo = be64toh(pt->pte_lo); @@ -337,13 +341,13 @@ moea64_pte_replace_native(mmu_t mmu, str moea64_pte_from_pvo(pvo, &properpt); rw_rlock(&moea64_eviction_lock); - if ((pt->pte_hi & LPTE_AVPN_MASK) != + if ((be64toh(pt->pte_hi) & LPTE_AVPN_MASK) != (properpt.pte_hi & LPTE_AVPN_MASK)) { rw_runlock(&moea64_eviction_lock); return (-1); } - pt->pte_hi = properpt.pte_hi; - ptelo = pt->pte_lo; + pt->pte_hi = htobe64(properpt.pte_hi); + ptelo = be64toh(pt->pte_lo); rw_runlock(&moea64_eviction_lock); } else { /* Otherwise, need reinsertion and deletion */ @@ -571,9 +575,9 @@ moea64_insert_to_pteg_native(struct lpte * Update the PTE as per "Adding a Page Table Entry". Lock is released * by setting the high doubleworld. */ - pt->pte_lo = pvo_pt->pte_lo; + pt->pte_lo = htobe64(pvo_pt->pte_lo); EIEIO(); - pt->pte_hi = pvo_pt->pte_hi; + pt->pte_hi = htobe64(pvo_pt->pte_hi); PTESYNC(); /* Keep statistics */ From owner-svn-src-head@freebsd.org Tue Nov 17 16:33:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82B10A31898; Tue, 17 Nov 2015 16:33:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4AEE5129F; Tue, 17 Nov 2015 16:33:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHGXkTS079541; Tue, 17 Nov 2015 16:33:46 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHGXk0n079538; Tue, 17 Nov 2015 16:33:46 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511171633.tAHGXk0n079538@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 17 Nov 2015 16:33:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290993 - head/sys/dev/isp 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.20 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, 17 Nov 2015 16:33:47 -0000 Author: mav Date: Tue Nov 17 16:33:46 2015 New Revision: 290993 URL: https://svnweb.freebsd.org/changeset/base/290993 Log: Unify and cleanup FC ports scan. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_library.c head/sys/dev/isp/ispvar.h Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Tue Nov 17 16:18:44 2015 (r290992) +++ head/sys/dev/isp/isp.c Tue Nov 17 16:33:46 2015 (r290993) @@ -64,12 +64,6 @@ __FBSDID("$FreeBSD$"); * General defines */ #define MBOX_DELAY_COUNT 1000000 / 100 -#define ISP_MARK_PORTDB(a, b, c) \ - do { \ - isp_prt(isp, ISP_LOG_SANCFG, \ - "Chan %d ISP_MARK_PORTDB@LINE %d", (b), __LINE__); \ - isp_mark_portdb((a), (b), (c)); \ - } while (0) /* * Local static data @@ -132,7 +126,7 @@ static int isp_login_device(ispsoftc_t * static int isp_register_fc4_type(ispsoftc_t *, int); static int isp_register_fc4_type_24xx(ispsoftc_t *, int); static uint16_t isp_next_handle(ispsoftc_t *, uint16_t *); -static void isp_fw_state(ispsoftc_t *, int); +static int isp_fw_state(ispsoftc_t *, int); static void isp_mboxcmd_qnw(ispsoftc_t *, mbreg_t *, int); static void isp_mboxcmd(ispsoftc_t *, mbreg_t *); @@ -149,6 +143,19 @@ static void isp_parse_nvram_12160(ispsof static void isp_parse_nvram_2100(ispsoftc_t *, uint8_t *); static void isp_parse_nvram_2400(ispsoftc_t *, uint8_t *); +static void +isp_change_fw_state(ispsoftc_t *isp, int chan, int state) +{ + fcparam *fcp = FCPARAM(isp, chan); + + if (fcp->isp_fwstate == state) + return; + isp_prt(isp, ISP_LOGCONFIG|ISP_LOG_SANCFG, + "Chan %d Firmware state <%s->%s>", chan, + isp_fc_fw_statename(fcp->isp_fwstate), isp_fc_fw_statename(state)); + fcp->isp_fwstate = state; +} + /* * Reset Hardware. * @@ -1267,8 +1274,9 @@ isp_reset(ispsoftc_t *isp, int do_load_d isp->isp_nchan = 1; } } - for (i = 0; i < isp->isp_nchan; i++) { - isp_fw_state(isp, i); + if (IS_FC(isp)) { + for (i = 0; i < isp->isp_nchan; i++) + isp_change_fw_state(isp, i, FW_CONFIG_WAIT); } if (isp->isp_dead) { isp_shutdown(isp); @@ -2577,7 +2585,10 @@ isp_getpdb(ispsoftc_t *isp, int chan, ui pdb->portid = BITS2WORD_24XX(un.bill.pdb_portid_bits); ISP_MEMCPY(pdb->portname, un.bill.pdb_portname, 8); ISP_MEMCPY(pdb->nodename, un.bill.pdb_nodename, 8); - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d handle 0x%x Port 0x%06x flags 0x%x curstate %x", chan, id, pdb->portid, un.bill.pdb_flags, un.bill.pdb_curstate); + isp_prt(isp, ISP_LOGDEBUG1, + "Chan %d handle 0x%x Port 0x%06x flags 0x%x curstate %x", + chan, id, pdb->portid, un.bill.pdb_flags, + un.bill.pdb_curstate); if (un.bill.pdb_curstate < PDB2400_STATE_PLOGI_DONE || un.bill.pdb_curstate > PDB2400_STATE_LOGGED_IN) { mbs.param[0] = MBOX_NOT_LOGGED_IN; if (dolock) { @@ -2592,6 +2603,8 @@ isp_getpdb(ispsoftc_t *isp, int chan, ui pdb->portid = BITS2WORD(un.fred.pdb_portid_bits); ISP_MEMCPY(pdb->portname, un.fred.pdb_portname, 8); ISP_MEMCPY(pdb->nodename, un.fred.pdb_nodename, 8); + isp_prt(isp, ISP_LOGDEBUG1, + "Chan %d handle 0x%x Port 0x%06x", chan, id, pdb->portid); } if (dolock) { FC_SCRATCH_RELEASE(isp, chan); @@ -2699,13 +2712,8 @@ static uint64_t isp_get_wwn(ispsoftc_t *isp, int chan, int loopid, int nodename) { uint64_t wwn = INI_NONE; - fcparam *fcp = FCPARAM(isp, chan); mbreg_t mbs; - if (fcp->isp_fwstate < FW_READY || - fcp->isp_loopstate < LOOP_PDB_RCVD) { - return (wwn); - } MBSINIT(&mbs, MBOX_GET_PORT_NAME, MBLOGALL & ~MBLOGMASK(MBOX_COMMAND_PARAM_ERROR), 500000); if (ISP_CAP_2KLOGIN(isp)) { @@ -2758,7 +2766,6 @@ isp_fclink_test(ispsoftc_t *isp, int cha { mbreg_t mbs; int check_for_fabric, r; - uint8_t lwfs; int loopid; fcparam *fcp; fcportdb_t *lp; @@ -2767,20 +2774,21 @@ isp_fclink_test(ispsoftc_t *isp, int cha fcp = FCPARAM(isp, chan); - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC Link Test Entry", chan); - ISP_MARK_PORTDB(isp, chan, 1); + /* Mark port database entries for following scan. */ + isp_mark_portdb(isp, chan, 1); + + if (fcp->isp_loopstate >= LOOP_LTEST_DONE) + return (0); + + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC link test", chan); + fcp->isp_loopstate = LOOP_TESTING_LINK; /* * Wait up to N microseconds for F/W to go to a ready state. */ - lwfs = FW_CONFIG_WAIT; GET_NANOTIME(&hra); while (1) { - isp_fw_state(isp, chan); - if (lwfs != fcp->isp_fwstate) { - isp_prt(isp, ISP_LOGCONFIG|ISP_LOG_SANCFG, "Chan %d Firmware State <%s->%s>", chan, isp_fc_fw_statename((int)lwfs), isp_fc_fw_statename((int)fcp->isp_fwstate)); - lwfs = fcp->isp_fwstate; - } + isp_change_fw_state(isp, chan, isp_fw_state(isp, chan)); if (fcp->isp_fwstate == FW_READY) { break; } @@ -2860,7 +2868,7 @@ isp_fclink_test(ispsoftc_t *isp, int cha } if (alpa_map[i] && fcp->isp_loopid != i) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d deriving loopid %d from AL_PA map (AL_PA 0x%x) and ignoring returned value %d (AL_PA 0x%x)", + "Chan %d Deriving loopid %d from AL_PA map (AL_PA 0x%x) and ignoring returned value %d (AL_PA 0x%x)", chan, i, alpa_map[i], fcp->isp_loopid, alpa); fcp->isp_loopid = i; } @@ -2953,11 +2961,12 @@ not_on_fabric: } } + fcp->isp_loopstate = LOOP_LTEST_DONE; /* * Announce ourselves, too. */ isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGCONFIG, topology, chan, (uint32_t) (fcp->isp_wwpn >> 32), (uint32_t) fcp->isp_wwpn, fcp->isp_portid, fcp->isp_loopid, isp_fc_toponame(fcp)); - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC Link Test Complete", chan); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC link test done", chan); return (0); } @@ -2967,19 +2976,10 @@ not_on_fabric: * At this point, we've scanned the local loop (if any) and the fabric * and performed fabric logins on all new devices. * - * Our task here is to go through our port database and remove any entities + * Our task here is to go through our port database removing any entities * that are still marked probational (issuing PLOGO for ones which we had - * PLOGI'd into) or are dead. - * - * Our task here is to also check policy to decide whether devices which - * have *changed* in some way should still be kept active. For example, - * if a device has just changed PortID, we can either elect to treat it - * as an old device or as a newly arrived device (and notify the outer - * layer appropriately). - * - * We also do initiator map target id assignment here for new initiator - * devices and refresh old ones ot make sure that they point to the correct - * entities. + * PLOGI'd into) or are dead, and notifying upper layers about new/changed + * devices. */ static int isp_pdb_sync(ispsoftc_t *isp, int chan) @@ -2988,44 +2988,14 @@ isp_pdb_sync(ispsoftc_t *isp, int chan) fcportdb_t *lp; uint16_t dbidx; - if (fcp->isp_loopstate == LOOP_READY) { - return (0); - } - - /* - * Make sure we're okay for doing this right now. - */ - if (fcp->isp_loopstate != LOOP_PDB_RCVD && - fcp->isp_loopstate != LOOP_FSCAN_DONE && - fcp->isp_loopstate != LOOP_LSCAN_DONE) { - isp_prt(isp, ISP_LOGWARN, "isp_pdb_sync: bad loopstate %d", - fcp->isp_loopstate); + if (fcp->isp_loopstate < LOOP_FSCAN_DONE) { return (-1); } - - if (fcp->isp_topo == TOPO_FL_PORT || - fcp->isp_topo == TOPO_NL_PORT || - fcp->isp_topo == TOPO_N_PORT) { - if (fcp->isp_loopstate < LOOP_LSCAN_DONE) { - if (isp_scan_loop(isp, chan) != 0) { - isp_prt(isp, ISP_LOGWARN, - "isp_pdb_sync: isp_scan_loop failed"); - return (-1); - } - } - } - - if (fcp->isp_topo == TOPO_F_PORT || fcp->isp_topo == TOPO_FL_PORT) { - if (fcp->isp_loopstate < LOOP_FSCAN_DONE) { - if (isp_scan_fabric(isp, chan) != 0) { - isp_prt(isp, ISP_LOGWARN, - "isp_pdb_sync: isp_scan_fabric failed"); - return (-1); - } - } + if (fcp->isp_loopstate > LOOP_SYNCING_PDB) { + return (0); } - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Synchronizing PDBs", chan); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC PDB sync", chan); fcp->isp_loopstate = LOOP_SYNCING_PDB; @@ -3101,6 +3071,7 @@ isp_pdb_sync(ispsoftc_t *isp, int chan) */ fcp->loop_seen_once = 1; fcp->isp_loopstate = LOOP_READY; + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC PDB sync done", chan); return (0); } @@ -3117,36 +3088,34 @@ isp_scan_loop(ispsoftc_t *isp, int chan) uint16_t handles[LOCAL_LOOP_LIM]; uint16_t handle; - if (fcp->isp_fwstate < FW_READY || - fcp->isp_loopstate < LOOP_PDB_RCVD) { + if (fcp->isp_loopstate < LOOP_LTEST_DONE) { return (-1); } if (fcp->isp_loopstate > LOOP_SCANNING_LOOP) { return (0); } + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan", chan); if (fcp->isp_topo != TOPO_NL_PORT && fcp->isp_topo != TOPO_FL_PORT && fcp->isp_topo != TOPO_N_PORT) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d no loop topology to scan", chan); + "Chan %d FC loop scan done (no loop)", chan); fcp->isp_loopstate = LOOP_LSCAN_DONE; return (0); } - fcp->isp_loopstate = LOOP_SCANNING_LOOP; lim = LOCAL_LOOP_LIM; r = isp_gethandles(isp, chan, handles, &lim, 1, 1); if (r != 0) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d getting list of handles failed with %x", chan, r); + "Chan %d Getting list of handles failed with %x", chan, r); fail: - ISP_MARK_PORTDB(isp, chan, 1); isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d FC scan loop DONE (bad)", chan); + "Chan %d FC loop scan done (bad)", chan); return (-1); } - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC scan loop -- %d ports", + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Got %d handles", chan, lim); /* @@ -3172,8 +3141,12 @@ fail: */ if (IS_2100(isp) || IS_2200(isp)) { uint64_t node_wwn = isp_get_wwn(isp, chan, handle, 1); - if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) - goto fail; + if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) { +abort: + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d FC loop scan done (abort)", chan); + return (-1); + } if (node_wwn == INI_NONE) { continue; } @@ -3185,15 +3158,15 @@ fail: r = isp_getpdb(isp, chan, handle, &pdb, 1); if (r != 0) { isp_prt(isp, ISP_LOGDEBUG1, - "Chan %d FC scan loop handle %d returned %x", + "Chan %d FC Scan Loop handle %d returned %x", chan, handle, r); if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) - goto fail; + goto abort; continue; } if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) - goto fail; + goto abort; /* * On *very* old 2100 firmware we would end up sometimes @@ -3279,7 +3252,9 @@ fail: lp->new_portid = tmp.portid; lp->new_prli_word3 = tmp.prli_word3; lp->state = FC_PORTDB_STATE_PENDING_VALID; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Loop Port 0x%06x@0x%04x Pending Valid", chan, tmp.portid, tmp.handle); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Loop port 0x%06x@0x%04x now pending valid", + chan, tmp.portid, tmp.handle); continue; } @@ -3293,7 +3268,9 @@ fail: * Claim that this has changed and let somebody else * decide what to do. */ - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Loop Port 0x%06x@0x%04x changed", chan, tmp.portid, tmp.handle); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Loop port 0x%06x@0x%04x changed", + chan, tmp.portid, tmp.handle); lp->state = FC_PORTDB_STATE_CHANGED; lp->new_portid = tmp.portid; lp->new_prli_word3 = tmp.prli_word3; @@ -3324,10 +3301,14 @@ fail: lp->handle = tmp.handle; lp->port_wwn = tmp.port_wwn; lp->node_wwn = tmp.node_wwn; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Loop Port 0x%06x@0x%04x is New Entry", chan, tmp.portid, tmp.handle); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Loop port 0x%06x@0x%04x is a new entry", + chan, tmp.portid, tmp.handle); } + if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) + goto abort; fcp->isp_loopstate = LOOP_LSCAN_DONE; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC scan loop DONE", chan); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan done", chan); return (0); } @@ -3513,28 +3494,33 @@ isp_scan_fabric(ispsoftc_t *isp, int cha int portidx, portlim, r; sns_gid_ft_rsp_t *rs0, *rs1; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC Scan Fabric", chan); - if (fcp->isp_fwstate != FW_READY || fcp->isp_loopstate < LOOP_LSCAN_DONE) { + if (fcp->isp_loopstate < LOOP_LSCAN_DONE) { return (-1); } if (fcp->isp_loopstate > LOOP_SCANNING_FABRIC) { return (0); } + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan", chan); if (fcp->isp_topo != TOPO_FL_PORT && fcp->isp_topo != TOPO_F_PORT) { fcp->isp_loopstate = LOOP_FSCAN_DONE; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC Scan Fabric Done (no fabric)", chan); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d FC fabric scan done (no fabric)", chan); return (0); } - fcp->isp_loopstate = LOOP_SCANNING_FABRIC; + if (FC_SCRATCH_ACQUIRE(isp, chan)) { isp_prt(isp, ISP_LOGERR, sacq); - ISP_MARK_PORTDB(isp, chan, 1); +fail: + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d FC fabric scan done (bad)", chan); return (-1); } if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { +abort: FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d FC fabric scan done (abort)", chan); return (-1); } @@ -3551,10 +3537,9 @@ isp_scan_fabric(ispsoftc_t *isp, int cha isp_dump_chip_portdb(isp, chan, 0); } if (r) { - fcp->isp_loopstate = LOOP_PDB_RCVD; + fcp->isp_loopstate = LOOP_LTEST_DONE; FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + goto fail; } if (IS_24XX(isp)) { @@ -3564,9 +3549,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha } if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + goto abort; } if (r > 0) { @@ -3574,7 +3557,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha FC_SCRATCH_RELEASE(isp, chan); return (0); } else if (r < 0) { - fcp->isp_loopstate = LOOP_PDB_RCVD; /* try again */ + fcp->isp_loopstate = LOOP_LTEST_DONE; /* try again */ FC_SCRATCH_RELEASE(isp, chan); return (0); } @@ -3584,9 +3567,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha rs1 = (sns_gid_ft_rsp_t *) ((uint8_t *)fcp->isp_scratch+OGPOFF); isp_get_gid_ft_response(isp, rs0, rs1, NGENT); if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + goto abort; } if (rs1->snscb_cthdr.ct_cmd_resp != LS_ACC) { int level; @@ -3631,7 +3612,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha } portlim = portidx + 1; isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d got %d ports back from name server", chan, portlim); + "Chan %d Got %d ports back from name server", chan, portlim); for (portidx = 0; portidx < portlim; portidx++) { int npidx; @@ -3686,35 +3667,19 @@ isp_scan_fabric(ispsoftc_t *isp, int cha if (portid == 0) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d skipping null PortID at idx %d", + "Chan %d Skipping null PortID at idx %d", chan, portidx); continue; } - /* - * Skip ourselves here and on other channels. If we're - * multi-id, we can't check the portids in other FCPARAM - * arenas because the resolutions here aren't synchronized. - * The best way to do this is to exclude looking at portids - * that have the same domain and area code as our own - * portid. - */ - if (ISP_CAP_MULTI_ID(isp) && isp->isp_nchan > 1) { - if ((portid >> 8) == (fcp->isp_portid >> 8)) { - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d skip PortID 0x%06x", - chan, portid); - continue; - } - } else if (portid == fcp->isp_portid) { + if (portid == fcp->isp_portid) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d skip ourselves on @ PortID 0x%06x", - chan, portid); + "Chan %d Skipping our PortID 0x%06x", chan, portid); continue; } isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Checking Fabric Port 0x%06x", chan, portid); + "Chan %d Checking fabric port 0x%06x", chan, portid); /* * We now search our Port Database for any @@ -3759,10 +3724,8 @@ isp_scan_fabric(ispsoftc_t *isp, int cha */ r = isp_getpdb(isp, chan, lp->handle, &pdb, 0); - if (fcp->isp_loopstate != LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + goto abort; } if (r != 0) { lp->new_portid = portid; @@ -3806,19 +3769,14 @@ isp_scan_fabric(ispsoftc_t *isp, int cha &FCPARAM(isp, 0)->isp_lasthdl)) { lp->new_portid = portid; lp->state = FC_PORTDB_STATE_DEAD; - if (fcp->isp_loopstate != + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + goto abort; } continue; } - if (fcp->isp_loopstate != - LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + goto abort; } MAKE_WWN_FROM_NODE_NAME(wwnn, pdb.nodename); MAKE_WWN_FROM_NODE_NAME(wwpn, pdb.portname); @@ -3852,10 +3810,14 @@ isp_scan_fabric(ispsoftc_t *isp, int cha lp->new_portid = portid; lp->new_prli_word3 = nr; if (pdb.portid != lp->portid || nr != lp->prli_word3 || handle_changed) { - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Fabric Port 0x%06x changed", chan, portid); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Fabric port 0x%06x changed", + chan, portid); lp->state = FC_PORTDB_STATE_CHANGED; } else { - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Fabric Port 0x%06x Now Pending Valid", chan, portid); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Fabric port 0x%06x now pending valid", + chan, portid); lp->state = FC_PORTDB_STATE_PENDING_VALID; } continue; @@ -3922,17 +3884,13 @@ isp_scan_fabric(ispsoftc_t *isp, int cha */ if (isp_login_device(isp, chan, portid, &pdb, &FCPARAM(isp, 0)->isp_lasthdl)) { - if (fcp->isp_loopstate != LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + goto abort; } continue; } - if (fcp->isp_loopstate != LOOP_SCANNING_FABRIC) { - FC_SCRATCH_RELEASE(isp, chan); - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + goto abort; } handle = pdb.handle; @@ -3964,7 +3922,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha lp->new_portid = portid; lp->new_prli_word3 = nr; lp->state = FC_PORTDB_STATE_NEW; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Fabric Port 0x%06x is a New Entry", chan, portid); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Fabric port 0x%06x is a new entry", chan, portid); continue; } @@ -3993,21 +3951,20 @@ isp_scan_fabric(ispsoftc_t *isp, int cha lp->new_portid = portid; lp->new_prli_word3 = nr; if (lp->portid != portid || lp->prli_word3 != nr) { - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Zombie Fabric Port 0x%06x Now Changed", chan, portid); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Zombie fabric port 0x%06x now changed", chan, portid); lp->state = FC_PORTDB_STATE_CHANGED; } else { - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Zombie Fabric Port 0x%06x Now Pending Valid", chan, portid); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Zombie fabric port 0x%06x now pending valid", chan, portid); lp->state = FC_PORTDB_STATE_PENDING_VALID; } } - FC_SCRATCH_RELEASE(isp, chan); - if (fcp->isp_loopstate != LOOP_SCANNING_FABRIC) { - ISP_MARK_PORTDB(isp, chan, 1); - return (-1); + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + goto abort; } + FC_SCRATCH_RELEASE(isp, chan); fcp->isp_loopstate = LOOP_FSCAN_DONE; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC Scan Fabric Done", chan); + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan done", chan); return (0); } @@ -4359,7 +4316,7 @@ isp_start(XS_T *xs) /* * Try again later. */ - if (fcp->isp_fwstate != FW_READY || fcp->isp_loopstate != LOOP_READY) { + if (fcp->isp_loopstate != LOOP_READY) { return (CMD_RQLATER); } @@ -5850,7 +5807,7 @@ isp_parse_async_fc(ispsoftc_t *isp, uint isp->isp_dead = 1; isp->isp_state = ISP_CRASHED; FCPARAM(isp, chan)->isp_loopstate = LOOP_NIL; - FCPARAM(isp, chan)->isp_fwstate = FW_CONFIG_WAIT; + isp_change_fw_state(isp, chan, FW_CONFIG_WAIT); /* * Were we waiting for a mailbox command to complete? * If so, it's dead, so wake up the waiter. @@ -5923,10 +5880,8 @@ isp_parse_async_fc(ispsoftc_t *isp, uint continue; } - fcp->isp_fwstate = FW_CONFIG_WAIT; - fcp->isp_loopstate = LOOP_LIP_RCVD; + fcp->isp_loopstate = LOOP_NIL; ISP_SET_SENDMARKER(isp, chan, 1); - ISP_MARK_PORTDB(isp, chan, 1); isp_async(isp, ISPASYNC_LIP, chan); #ifdef ISP_TARGET_MODE if (isp_target_async(isp, chan, mbox)) { @@ -5982,10 +5937,6 @@ isp_parse_async_fc(ispsoftc_t *isp, uint } ISP_SET_SENDMARKER(isp, chan, 1); - - fcp->isp_fwstate = FW_CONFIG_WAIT; - fcp->isp_loopstate = LOOP_LIP_RCVD; - ISP_MARK_PORTDB(isp, chan, 1); isp_async(isp, ISPASYNC_LOOP_UP, chan); #ifdef ISP_TARGET_MODE if (isp_target_async(isp, chan, mbox)) { @@ -6008,10 +5959,9 @@ isp_parse_async_fc(ispsoftc_t *isp, uint } ISP_SET_SENDMARKER(isp, chan, 1); - fcp->isp_fwstate = FW_CONFIG_WAIT; fcp->isp_loopstate = LOOP_NIL; - ISP_MARK_PORTDB(isp, chan, 1); isp_async(isp, ISPASYNC_LOOP_DOWN, chan); + #ifdef ISP_TARGET_MODE if (isp_target_async(isp, chan, mbox)) { acked = 1; @@ -6033,9 +5983,7 @@ isp_parse_async_fc(ispsoftc_t *isp, uint } ISP_SET_SENDMARKER(isp, chan, 1); - fcp->isp_fwstate = FW_CONFIG_WAIT; fcp->isp_loopstate = LOOP_NIL; - ISP_MARK_PORTDB(isp, chan, 1); isp_async(isp, ISPASYNC_LOOP_RESET, chan); #ifdef ISP_TARGET_MODE if (isp_target_async(isp, chan, mbox)) { @@ -6067,9 +6015,8 @@ isp_parse_async_fc(ispsoftc_t *isp, uint if (fcp->role == ISP_ROLE_NONE) { continue; } - ISP_SET_SENDMARKER(isp, chan, 1); - fcp->isp_loopstate = LOOP_PDB_RCVD; - ISP_MARK_PORTDB(isp, chan, 1); + if (fcp->isp_loopstate > LOOP_LTEST_DONE) + fcp->isp_loopstate = LOOP_LTEST_DONE; isp_async(isp, ISPASYNC_CHANGE_NOTIFY, chan, ISPASYNC_CHANGE_PDB, nphdl, nlstate, reason); } break; @@ -6093,12 +6040,8 @@ isp_parse_async_fc(ispsoftc_t *isp, uint continue; } - if (fcp->isp_topo == TOPO_F_PORT) { + if (fcp->isp_loopstate > LOOP_LSCAN_DONE) fcp->isp_loopstate = LOOP_LSCAN_DONE; - } else { - fcp->isp_loopstate = LOOP_PDB_RCVD; - } - ISP_MARK_PORTDB(isp, chan, 1); isp_async(isp, ISPASYNC_CHANGE_NOTIFY, chan, ISPASYNC_CHANGE_SNS); } break; @@ -6114,7 +6057,6 @@ isp_parse_async_fc(ispsoftc_t *isp, uint } chan = 0; mbox = ISP_READ(isp, OUTMAILBOX1); - ISP_MARK_PORTDB(isp, chan, 1); switch (mbox) { case ISP_CONN_LOOP: isp_prt(isp, ISP_LOGINFO, @@ -6143,10 +6085,9 @@ isp_parse_async_fc(ispsoftc_t *isp, uint "Unknown connection mode (0x%x)", mbox); break; } + ISP_SET_SENDMARKER(isp, chan, 1); + FCPARAM(isp, chan)->isp_loopstate = LOOP_NIL; isp_async(isp, ISPASYNC_CHANGE_NOTIFY, chan, ISPASYNC_CHANGE_OTHER); - FCPARAM(isp, chan)->sendmarker = 1; - FCPARAM(isp, chan)->isp_fwstate = FW_CONFIG_WAIT; - FCPARAM(isp, chan)->isp_loopstate = LOOP_LIP_RCVD; break; case ASYNC_RCV_ERR: @@ -7557,19 +7498,19 @@ out: } } -static void +static int isp_fw_state(ispsoftc_t *isp, int chan) { if (IS_FC(isp)) { mbreg_t mbs; - fcparam *fcp = FCPARAM(isp, chan); MBSINIT(&mbs, MBOX_GET_FW_STATE, MBLOGALL, 0); isp_mboxcmd(isp, &mbs); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { - fcp->isp_fwstate = mbs.param[1]; + return (mbs.param[1]); } } + return (FW_ERROR); } static void @@ -7939,7 +7880,7 @@ isp_reinit(ispsoftc_t *isp, int do_load_ isp_clear_commands(isp); if (IS_FC(isp)) { for (i = 0; i < isp->isp_nchan; i++) - ISP_MARK_PORTDB(isp, i, -1); + isp_mark_portdb(isp, i, -1); } return (res); } Modified: head/sys/dev/isp/isp_library.c ============================================================================== --- head/sys/dev/isp/isp_library.c Tue Nov 17 16:18:44 2015 (r290992) +++ head/sys/dev/isp/isp_library.c Tue Nov 17 16:33:46 2015 (r290993) @@ -400,31 +400,24 @@ isp_fc_runstate(ispsoftc_t *isp, int cha if (fcp->role == ISP_ROLE_NONE) { return (0); } - if (fcp->isp_fwstate < FW_READY || fcp->isp_loopstate < LOOP_PDB_RCVD) { - if (isp_control(isp, ISPCTL_FCLINK_TEST, chan, tval) != 0) { - isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: linktest failed for channel %d", chan); - return (-1); - } - if (fcp->isp_fwstate != FW_READY || fcp->isp_loopstate < LOOP_PDB_RCVD) { - isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: f/w not ready for channel %d", chan); - return (-1); - } + if (isp_control(isp, ISPCTL_FCLINK_TEST, chan, tval) != 0) { + isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: linktest failed for channel %d", chan); + return (-1); } - if (isp_control(isp, ISPCTL_SCAN_LOOP, chan) != 0) { - isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: scan loop fails on channel %d", chan); - return (LOOP_PDB_RCVD); + isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: scan loop failed on channel %d", chan); + return (LOOP_LTEST_DONE); } if (isp_control(isp, ISPCTL_SCAN_FABRIC, chan) != 0) { - isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: scan fabric fails on channel %d", chan); + isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: scan fabric failed on channel %d", chan); return (LOOP_LSCAN_DONE); } if (isp_control(isp, ISPCTL_PDB_SYNC, chan) != 0) { - isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: pdb_sync fails on channel %d", chan); + isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: pdb_sync failed on channel %d", chan); return (LOOP_FSCAN_DONE); } - if (fcp->isp_fwstate != FW_READY || fcp->isp_loopstate != LOOP_READY) { - isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: f/w not ready again on channel %d", chan); + if (fcp->isp_loopstate != LOOP_READY) { + isp_prt(isp, ISP_LOG_SANCFG, "isp_fc_runstate: not ready again on channel %d", chan); return (-1); } return (0); @@ -536,7 +529,7 @@ isp_fc_fw_statename(int state) { switch (state) { case FW_CONFIG_WAIT: return "Config Wait"; - case FW_WAIT_AL_PA: return "Waiting for AL_PA"; + case FW_WAIT_LINK: return "Wait Link"; case FW_WAIT_LOGIN: return "Wait Login"; case FW_READY: return "Ready"; case FW_LOSS_OF_SYNC: return "Loss Of Sync"; @@ -552,9 +545,9 @@ isp_fc_loop_statename(int state) { switch (state) { case LOOP_NIL: return "NIL"; - case LOOP_LIP_RCVD: return "LIP Received"; - case LOOP_PDB_RCVD: return "PDB Received"; - case LOOP_SCANNING_LOOP: return "Scanning"; + case LOOP_TESTING_LINK: return "Testing Link"; + case LOOP_LTEST_DONE: return "Link Test Done"; + case LOOP_SCANNING_LOOP: return "Scanning Loop"; case LOOP_LSCAN_DONE: return "Loop Scan Done"; case LOOP_SCANNING_FABRIC: return "Scanning Fabric"; case LOOP_FSCAN_DONE: return "Fabric Scan Done"; @@ -568,7 +561,7 @@ const char * isp_fc_toponame(fcparam *fcp) { - if (fcp->isp_fwstate != FW_READY) { + if (fcp->isp_loopstate < LOOP_LTEST_DONE) { return "Unavailable"; } switch (fcp->isp_topo) { @@ -2527,7 +2520,8 @@ isp_find_chan_by_did(ispsoftc_t *isp, ui *cp = ISP_NOCHAN; for (chan = 0; chan < isp->isp_nchan; chan++) { fcparam *fcp = FCPARAM(isp, chan); - if ((fcp->role & ISP_ROLE_TARGET) == 0 || fcp->isp_fwstate != FW_READY || fcp->isp_loopstate < LOOP_PDB_RCVD) { + if ((fcp->role & ISP_ROLE_TARGET) == 0 || + fcp->isp_loopstate < LOOP_LTEST_DONE) { continue; } if (fcp->isp_portid == did) { Modified: head/sys/dev/isp/ispvar.h ============================================================================== --- head/sys/dev/isp/ispvar.h Tue Nov 17 16:18:44 2015 (r290992) +++ head/sys/dev/isp/ispvar.h Tue Nov 17 16:33:46 2015 (r290993) @@ -482,7 +482,7 @@ typedef struct { } fcparam; #define FW_CONFIG_WAIT 0 -#define FW_WAIT_AL_PA 1 +#define FW_WAIT_LINK 1 #define FW_WAIT_LOGIN 2 #define FW_READY 3 #define FW_LOSS_OF_SYNC 4 @@ -491,8 +491,8 @@ typedef struct { #define FW_NON_PART 7 #define LOOP_NIL 0 -#define LOOP_LIP_RCVD 1 -#define LOOP_PDB_RCVD 2 +#define LOOP_TESTING_LINK 1 +#define LOOP_LTEST_DONE 2 #define LOOP_SCANNING_LOOP 3 #define LOOP_LSCAN_DONE 4 #define LOOP_SCANNING_FABRIC 5 @@ -861,10 +861,10 @@ void isp_done(XS_T *); * Update any operating parameters (speed, etc.) * ... ISPCTL_FCLINK_TEST, int channel); * Test FC link status on this channel - * ... ISPCTL_SCAN_FABRIC, int channel); - * Scan fabric on this channel * ... ISPCTL_SCAN_LOOP, int channel); * Scan local loop on this channel + * ... ISPCTL_SCAN_FABRIC, int channel); + * Scan fabric on this channel * ... ISPCTL_PDB_SYNC, int channel); * Synchronize port database on this channel * ... ISPCTL_SEND_LIP, int channel); @@ -881,12 +881,11 @@ void isp_done(XS_T *); * Change role of specified channel * * ISPCTL_PDB_SYNC is somewhat misnamed. It actually is the final step, in - * order, of ISPCTL_FCLINK_TEST, ISPCTL_SCAN_FABRIC, and ISPCTL_SCAN_LOOP. + * order, of ISPCTL_FCLINK_TEST, ISPCTL_SCAN_LOOP, and ISPCTL_SCAN_FABRIC. * The main purpose of ISPCTL_PDB_SYNC is to complete management of logging * and logging out of fabric devices (if one is on a fabric) and then marking * the 'loop state' as being ready to now be used for sending commands to - * devices. Originally fabric name server and local loop scanning were - * part of this function. It's now been separated to allow for finer control. + * devices. */ typedef enum { ISPCTL_RESET_BUS, From owner-svn-src-head@freebsd.org Tue Nov 17 16:43:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 329F4A31BB8; Tue, 17 Nov 2015 16:43:29 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x230.google.com (mail-pa0-x230.google.com [IPv6:2607:f8b0:400e:c03::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 057891BB6; Tue, 17 Nov 2015 16:43:29 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by pabfh17 with SMTP id fh17so14247498pab.0; Tue, 17 Nov 2015 08:43:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=4wdbteeIob+dmkdyZBPefS5CZmwapMJn6Oxi89I6tz4=; b=J04nFFO7LDNAtxcRCgjMINN6y3FtSpTkMpk9xQC+17QBlzQCeQG5isFAtwqiiVVCAZ Kkp0fbAfKCPfSpDdMT9lZl/UuS+/5gI1/pbZNgvbyWzjlX+XxwKicZuqFhHvwgiitVuV 1SgnG4DGzV7IuXFPy/4HrdXH2pn2IMKww0lHTecuJgbjTM8TJJKKkG4cJL28Zd7B3OD+ LhvqJWQVetCfGgwwOoJ9vgCdkOKD3VGaeoUl80NA3LWuuf2ccIFx2Rbt1MXEDqcqeTiT pHfE4DGo6igQWrIA8yRU1fv1enCQ7aGU8FM07RmAzmWnx9HtoPItMaUSM/Zxmn0ol8GZ LrvA== X-Received: by 10.69.2.226 with SMTP id br2mr25794454pbd.137.1447778608639; Tue, 17 Nov 2015 08:43:28 -0800 (PST) Received: from [192.168.20.11] (c-24-16-212-205.hsd1.wa.comcast.net. [24.16.212.205]) by smtp.gmail.com with ESMTPSA id by6sm44063518pab.25.2015.11.17.08.43.26 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 17 Nov 2015 08:43:27 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r290976 - head From: Garrett Cooper X-Mailer: iPhone Mail (13B143) In-Reply-To: <201511171218.tAHCIwZJ091369@repo.freebsd.org> Date: Tue, 17 Nov 2015 08:43:26 -0800 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <201511171218.tAHCIwZJ091369@repo.freebsd.org> To: Baptiste Daroussin X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 16:43:29 -0000 > On Nov 17, 2015, at 04:18, Baptiste Daroussin wrote: >=20 > Author: bapt > Date: Tue Nov 17 12:18:57 2015 > New Revision: 290976 > URL: https://svnweb.freebsd.org/changeset/base/290976 >=20 > Log: > install(1) is following symlinks when installing a files, which result in= > inconsistency when installing new locales and may also result in failures= > when reinstalling after having run make delete-old (due to previous > inconsistencies) for now recommand removing all locales until install(1) i= s > fixed >=20 > Modified: > head/UPDATING >=20 > Modified: head/UPDATING > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=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/UPDATING Tue Nov 17 12:09:57 2015 (r290975) > +++ head/UPDATING Tue Nov 17 12:18:57 2015 (r290976) > @@ -39,6 +39,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 > Databases administrators will need to reindex their databases given > collation results will be different. >=20 > + Due to a bug in install(1) it is recommanded to remove the ancient > + locales before running make installworld *recommended= From owner-svn-src-head@freebsd.org Tue Nov 17 16:46:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8E7F3A31C8D; Tue, 17 Nov 2015 16:46:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 538041D9F; Tue, 17 Nov 2015 16:46:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHGk5Gi082533; Tue, 17 Nov 2015 16:46:05 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHGk5oD082532; Tue, 17 Nov 2015 16:46:05 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511171646.tAHGk5oD082532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 17 Nov 2015 16:46:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290994 - head/sys/dev/isp 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.20 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, 17 Nov 2015 16:46:06 -0000 Author: mav Date: Tue Nov 17 16:46:05 2015 New Revision: 290994 URL: https://svnweb.freebsd.org/changeset/base/290994 Log: Cosmetic addition to r290993. Modified: head/sys/dev/isp/isp.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Tue Nov 17 16:33:46 2015 (r290993) +++ head/sys/dev/isp/isp.c Tue Nov 17 16:46:05 2015 (r290994) @@ -2802,7 +2802,9 @@ isp_fclink_test(ispsoftc_t *isp, int cha * If we haven't gone to 'ready' state, return. */ if (fcp->isp_fwstate != FW_READY) { - isp_prt(isp, ISP_LOG_SANCFG, "%s: chan %d not at FW_READY state", __func__, chan); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Firmware is not ready (%s)", + chan, isp_fc_fw_statename(fcp->isp_fwstate)); return (-1); } From owner-svn-src-head@freebsd.org Tue Nov 17 18:28:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D41C9A313C3; Tue, 17 Nov 2015 18:28:57 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9561B14D1; Tue, 17 Nov 2015 18:28:57 +0000 (UTC) (envelope-from uqs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHISuJg015438; Tue, 17 Nov 2015 18:28:56 GMT (envelope-from uqs@FreeBSD.org) Received: (from uqs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHISuCW015437; Tue, 17 Nov 2015 18:28:56 GMT (envelope-from uqs@FreeBSD.org) Message-Id: <201511171828.tAHISuCW015437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: uqs set sender to uqs@FreeBSD.org using -f From: Ulrich Spoerlein Date: Tue, 17 Nov 2015 18:28:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290996 - head/sys/modules/tests/framework 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.20 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, 17 Nov 2015 18:28:57 -0000 Author: uqs Date: Tue Nov 17 18:28:56 2015 New Revision: 290996 URL: https://svnweb.freebsd.org/changeset/base/290996 Log: Fix 'make depend' Modified: head/sys/modules/tests/framework/Makefile Modified: head/sys/modules/tests/framework/Makefile ============================================================================== --- head/sys/modules/tests/framework/Makefile Tue Nov 17 18:22:56 2015 (r290995) +++ head/sys/modules/tests/framework/Makefile Tue Nov 17 18:28:56 2015 (r290996) @@ -6,6 +6,7 @@ KMOD= kern_testfrwk SRCS= kern_testfrwk.c +SRCS+= bus_if.h device_if.h # # Enable full debugging From owner-svn-src-head@freebsd.org Tue Nov 17 19:01:37 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 26587A318E0; Tue, 17 Nov 2015 19:01:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 0AF24117F; Tue, 17 Nov 2015 19:01:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 041A0144D; Tue, 17 Nov 2015 19:01:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id A27F111FE5; Tue, 17 Nov 2015 19:01:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id z1fbiqDVS0WS; Tue, 17 Nov 2015 19:01:33 +0000 (UTC) Subject: Re: svn commit: r290812 - head DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 068EA11FDB To: Konstantin Belousov References: <201511140145.tAE1jbDx010538@repo.freebsd.org> <20151117085510.GB58629@kib.kiev.ua> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Bryan Drewery Organization: FreeBSD Message-ID: <564B7988.1090506@FreeBSD.org> Date: Tue, 17 Nov 2015 11:01:28 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151117085510.GB58629@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 19:01:37 -0000 On 11/17/15 12:55 AM, Konstantin Belousov wrote: > On Sat, Nov 14, 2015 at 01:45:37AM +0000, Bryan Drewery wrote: >> Author: bdrewery >> Date: Sat Nov 14 01:45:37 2015 >> New Revision: 290812 >> URL: https://svnweb.freebsd.org/changeset/base/290812 >> >> Log: >> Avoid setting schg in the objtree for lib32 build. >> >> Reported by: kib >> Sponsored by: EMC / Isilon Storage Division >> MFC after: 1 week >> >> Modified: >> head/Makefile.inc1 >> >> Modified: head/Makefile.inc1 >> ============================================================================== >> --- head/Makefile.inc1 Sat Nov 14 01:40:12 2015 (r290811) >> +++ head/Makefile.inc1 Sat Nov 14 01:45:37 2015 (r290812) >> @@ -716,10 +716,10 @@ build32: .PHONY >> build-tools >> .endfor >> ${_+_}cd ${.CURDIR}; \ >> - ${LIB32WMAKE} -f Makefile.inc1 libraries >> + ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries >> .for _t in obj depend all >> ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ >> - DIRPRFX=libexec/rtld-elf/ ${_t} >> + -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} >> ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ >> DIRPRFX=usr.bin/ldd ${_t} >> .endfor > Thank you. > > I remember, the previous attempts to fix this broke setting the noschg flag > on the compat32 install. This one seems to be correct, am I right ? > Yes, the actual install is still safely setting schg. I am curious about your make.conf and src.conf though as I was unable to reproduce the problem, but see evidence that this would fix it. -- Regards, Bryan Drewery From owner-svn-src-head@freebsd.org Tue Nov 17 19:03:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87880A31945; Tue, 17 Nov 2015 19:03:56 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4EC5D149D; Tue, 17 Nov 2015 19:03:56 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHJ3ti9030522; Tue, 17 Nov 2015 19:03:55 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHJ3tGj030521; Tue, 17 Nov 2015 19:03:55 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201511171903.tAHJ3tGj030521@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 17 Nov 2015 19:03:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290997 - 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.20 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, 17 Nov 2015 19:03:56 -0000 Author: jhb Date: Tue Nov 17 19:03:55 2015 New Revision: 290997 URL: https://svnweb.freebsd.org/changeset/base/290997 Log: Move recently added entry above the "old" line. Modified: head/MAINTAINERS Modified: head/MAINTAINERS ============================================================================== --- head/MAINTAINERS Tue Nov 17 18:28:56 2015 (r290996) +++ head/MAINTAINERS Tue Nov 17 19:03:55 2015 (r290997) @@ -73,6 +73,7 @@ sys/netpfil/pf kp,glebius Pre-commit rev usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team. lpr gad Pre-commit review requested, particularly for lpd/recvjob.c and lpd/printjob.c. +nis(8), yp(8) araujo Pre-commit review requested. ---- OLD ---- libc/posix1e rwatson Pre-commit review requested. POSIX.1e ACLs rwatson Pre-commit review requested. @@ -153,4 +154,3 @@ filemon obrien Pre-commit review prefe sysdoc trhodes Pre-commit review preferred. nanobsd imp Pre-commit review requested for coordination. vmm(4) neel,grehan Pre-commit review requested. -nis(8), yp(8) araujo Pre-commit review requested. From owner-svn-src-head@freebsd.org Tue Nov 17 19:06:52 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 40E0CA31ABC; Tue, 17 Nov 2015 19:06:52 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A941E175D; Tue, 17 Nov 2015 19:06:51 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id tAHJ6jQh090781 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Tue, 17 Nov 2015 21:06:46 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua tAHJ6jQh090781 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id tAHJ6jNf090780; Tue, 17 Nov 2015 21:06:45 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 17 Nov 2015 21:06:45 +0200 From: Konstantin Belousov To: Bryan Drewery Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290812 - head Message-ID: <20151117190645.GH58629@kib.kiev.ua> References: <201511140145.tAE1jbDx010538@repo.freebsd.org> <20151117085510.GB58629@kib.kiev.ua> <564B7988.1090506@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <564B7988.1090506@FreeBSD.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 19:06:52 -0000 On Tue, Nov 17, 2015 at 11:01:28AM -0800, Bryan Drewery wrote: > On 11/17/15 12:55 AM, Konstantin Belousov wrote: > > On Sat, Nov 14, 2015 at 01:45:37AM +0000, Bryan Drewery wrote: > >> Author: bdrewery > >> Date: Sat Nov 14 01:45:37 2015 > >> New Revision: 290812 > >> URL: https://svnweb.freebsd.org/changeset/base/290812 > >> > >> Log: > >> Avoid setting schg in the objtree for lib32 build. > >> > >> Reported by: kib > >> Sponsored by: EMC / Isilon Storage Division > >> MFC after: 1 week > >> > >> Modified: > >> head/Makefile.inc1 > >> > >> Modified: head/Makefile.inc1 > >> ============================================================================== > >> --- head/Makefile.inc1 Sat Nov 14 01:40:12 2015 (r290811) > >> +++ head/Makefile.inc1 Sat Nov 14 01:45:37 2015 (r290812) > >> @@ -716,10 +716,10 @@ build32: .PHONY > >> build-tools > >> .endfor > >> ${_+_}cd ${.CURDIR}; \ > >> - ${LIB32WMAKE} -f Makefile.inc1 libraries > >> + ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries > >> .for _t in obj depend all > >> ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ > >> - DIRPRFX=libexec/rtld-elf/ ${_t} > >> + -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} > >> ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ > >> DIRPRFX=usr.bin/ldd ${_t} > >> .endfor > > Thank you. > > > > I remember, the previous attempts to fix this broke setting the noschg flag > > on the compat32 install. This one seems to be correct, am I right ? > > > > Yes, the actual install is still safely setting schg. > > I am curious about your make.conf and src.conf though as I was unable to > reproduce the problem, but see evidence that this would fix it. I have INSTALL?= install INSTALL+=-CS in make.conf. src.conf is WITHOUT_PROFILE=yes but this should be not relevant. From owner-svn-src-head@freebsd.org Tue Nov 17 19:08:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78361A31B59; Tue, 17 Nov 2015 19:08:41 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 632AB1961; Tue, 17 Nov 2015 19:08:41 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 5C771189E; Tue, 17 Nov 2015 19:08:41 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1E8F016028; Tue, 17 Nov 2015 19:08:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id s3PtC4DARzdJ; Tue, 17 Nov 2015 19:08:33 +0000 (UTC) Subject: Re: svn commit: r290812 - head DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 712E81601F To: Konstantin Belousov References: <201511140145.tAE1jbDx010538@repo.freebsd.org> <20151117085510.GB58629@kib.kiev.ua> <564B7988.1090506@FreeBSD.org> <20151117190645.GH58629@kib.kiev.ua> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Bryan Drewery Organization: FreeBSD Message-ID: <564B7B30.4010800@FreeBSD.org> Date: Tue, 17 Nov 2015 11:08:32 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151117190645.GH58629@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 19:08:41 -0000 On 11/17/15 11:06 AM, Konstantin Belousov wrote: > On Tue, Nov 17, 2015 at 11:01:28AM -0800, Bryan Drewery wrote: >> On 11/17/15 12:55 AM, Konstantin Belousov wrote: >>> On Sat, Nov 14, 2015 at 01:45:37AM +0000, Bryan Drewery wrote: >>>> Author: bdrewery >>>> Date: Sat Nov 14 01:45:37 2015 >>>> New Revision: 290812 >>>> URL: https://svnweb.freebsd.org/changeset/base/290812 >>>> >>>> Log: >>>> Avoid setting schg in the objtree for lib32 build. >>>> >>>> Reported by: kib >>>> Sponsored by: EMC / Isilon Storage Division >>>> MFC after: 1 week >>>> >>>> Modified: >>>> head/Makefile.inc1 >>>> >>>> Modified: head/Makefile.inc1 >>>> ============================================================================== >>>> --- head/Makefile.inc1 Sat Nov 14 01:40:12 2015 (r290811) >>>> +++ head/Makefile.inc1 Sat Nov 14 01:45:37 2015 (r290812) >>>> @@ -716,10 +716,10 @@ build32: .PHONY >>>> build-tools >>>> .endfor >>>> ${_+_}cd ${.CURDIR}; \ >>>> - ${LIB32WMAKE} -f Makefile.inc1 libraries >>>> + ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries >>>> .for _t in obj depend all >>>> ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ >>>> - DIRPRFX=libexec/rtld-elf/ ${_t} >>>> + -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} >>>> ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ >>>> DIRPRFX=usr.bin/ldd ${_t} >>>> .endfor >>> Thank you. >>> >>> I remember, the previous attempts to fix this broke setting the noschg flag >>> on the compat32 install. This one seems to be correct, am I right ? >>> >> >> Yes, the actual install is still safely setting schg. >> >> I am curious about your make.conf and src.conf though as I was unable to >> reproduce the problem, but see evidence that this would fix it. > > I have > INSTALL?= install Yup, this is why. The normal install into WORLDTMP uses INSTALL=tools/install.sh which eats the fschg flag so it is never used. Setting INSTALL in your make.conf seems OK to me, so I'll look at how to fix the build to override INSTALL for WORLDTMP purposes. > INSTALL+=-CS > in make.conf. > > src.conf is > WITHOUT_PROFILE=yes > but this should be not relevant. > -- Regards, Bryan Drewery From owner-svn-src-head@freebsd.org Tue Nov 17 19:21:37 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84558A31E49; Tue, 17 Nov 2015 19:21:37 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2B1AA1F84; Tue, 17 Nov 2015 19:21:36 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id tAHJLV9I094319 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Tue, 17 Nov 2015 21:21:32 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua tAHJLV9I094319 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id tAHJLVwP094318; Tue, 17 Nov 2015 21:21:31 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 17 Nov 2015 21:21:31 +0200 From: Konstantin Belousov To: Bryan Drewery Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290812 - head Message-ID: <20151117192131.GI58629@kib.kiev.ua> References: <201511140145.tAE1jbDx010538@repo.freebsd.org> <20151117085510.GB58629@kib.kiev.ua> <564B7988.1090506@FreeBSD.org> <20151117190645.GH58629@kib.kiev.ua> <564B7B30.4010800@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <564B7B30.4010800@FreeBSD.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 17 Nov 2015 19:21:37 -0000 On Tue, Nov 17, 2015 at 11:08:32AM -0800, Bryan Drewery wrote: > On 11/17/15 11:06 AM, Konstantin Belousov wrote: > > On Tue, Nov 17, 2015 at 11:01:28AM -0800, Bryan Drewery wrote: > >> On 11/17/15 12:55 AM, Konstantin Belousov wrote: > >>> On Sat, Nov 14, 2015 at 01:45:37AM +0000, Bryan Drewery wrote: > >>>> Author: bdrewery > >>>> Date: Sat Nov 14 01:45:37 2015 > >>>> New Revision: 290812 > >>>> URL: https://svnweb.freebsd.org/changeset/base/290812 > >>>> > >>>> Log: > >>>> Avoid setting schg in the objtree for lib32 build. > >>>> > >>>> Reported by: kib > >>>> Sponsored by: EMC / Isilon Storage Division > >>>> MFC after: 1 week > >>>> > >>>> Modified: > >>>> head/Makefile.inc1 > >>>> > >>>> Modified: head/Makefile.inc1 > >>>> ============================================================================== > >>>> --- head/Makefile.inc1 Sat Nov 14 01:40:12 2015 (r290811) > >>>> +++ head/Makefile.inc1 Sat Nov 14 01:45:37 2015 (r290812) > >>>> @@ -716,10 +716,10 @@ build32: .PHONY > >>>> build-tools > >>>> .endfor > >>>> ${_+_}cd ${.CURDIR}; \ > >>>> - ${LIB32WMAKE} -f Makefile.inc1 libraries > >>>> + ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries > >>>> .for _t in obj depend all > >>>> ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ > >>>> - DIRPRFX=libexec/rtld-elf/ ${_t} > >>>> + -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} > >>>> ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ > >>>> DIRPRFX=usr.bin/ldd ${_t} > >>>> .endfor > >>> Thank you. > >>> > >>> I remember, the previous attempts to fix this broke setting the noschg flag > >>> on the compat32 install. This one seems to be correct, am I right ? > >>> > >> > >> Yes, the actual install is still safely setting schg. > >> > >> I am curious about your make.conf and src.conf though as I was unable to > >> reproduce the problem, but see evidence that this would fix it. > > > > I have > > INSTALL?= install > > Yup, this is why. The normal install into WORLDTMP uses > INSTALL=tools/install.sh which eats the fschg flag so it is never used. > > Setting INSTALL in your make.conf seems OK to me, so I'll look at how to > fix the build to override INSTALL for WORLDTMP purposes. I do not remember details, but, unless I am mistaken, it was some port which required the INSTALL?= install, otherwise it tried to use "-CS" command for installation. > > > INSTALL+=-CS > > in make.conf. > > > > src.conf is > > WITHOUT_PROFILE=yes > > but this should be not relevant. > > > > > -- > Regards, > Bryan Drewery From owner-svn-src-head@freebsd.org Tue Nov 17 19:40:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15CBFA31239; Tue, 17 Nov 2015 19:40:50 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE27D1A4C; Tue, 17 Nov 2015 19:40:49 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHJemE2044371; Tue, 17 Nov 2015 19:40:48 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHJemvR044370; Tue, 17 Nov 2015 19:40:48 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511171940.tAHJemvR044370@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Tue, 17 Nov 2015 19:40:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290998 - 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.20 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, 17 Nov 2015 19:40:50 -0000 Author: bapt Date: Tue Nov 17 19:40:48 2015 New Revision: 290998 URL: https://svnweb.freebsd.org/changeset/base/290998 Log: Fix typo Submitted by: ngie Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Nov 17 19:03:55 2015 (r290997) +++ head/UPDATING Tue Nov 17 19:40:48 2015 (r290998) @@ -39,7 +39,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 Databases administrators will need to reindex their databases given collation results will be different. - Due to a bug in install(1) it is recommanded to remove the ancient + Due to a bug in install(1) it is recommended to remove the ancient locales before running make installworld rm -rf /usr/share/locale From owner-svn-src-head@freebsd.org Tue Nov 17 19:43:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9A17AA31394; Tue, 17 Nov 2015 19:43:41 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6285E1D13; Tue, 17 Nov 2015 19:43:41 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHJhemS045293; Tue, 17 Nov 2015 19:43:40 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHJheGf045292; Tue, 17 Nov 2015 19:43:40 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201511171943.tAHJheGf045292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Tue, 17 Nov 2015 19:43:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290999 - 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.20 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, 17 Nov 2015 19:43:41 -0000 Author: eadler Date: Tue Nov 17 19:43:40 2015 New Revision: 290999 URL: https://svnweb.freebsd.org/changeset/base/290999 Log: Fix two spelling errors Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Nov 17 19:40:48 2015 (r290998) +++ head/UPDATING Tue Nov 17 19:43:40 2015 (r290999) @@ -196,12 +196,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 like it always used to, and the difference will be irrelevant. If you remove 'device random', you get *NO* kernel-processed - entopy at all. This may be acceptable to folks building + entropy at all. This may be acceptable to folks building embedded systems, but has complications. Carry on reading, and it is assumed you know what you need. *PLEASE* read random(4) and random(9) if you are in the - habit of tweeking kernel configs, and/or if you are a member + habit of tweaking kernel configs, and/or if you are a member of the embedded community, wanting specific and not-usual behaviour from your security subsystems. From owner-svn-src-head@freebsd.org Tue Nov 17 19:57:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1B89A31760; Tue, 17 Nov 2015 19:57:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9E55117D4; Tue, 17 Nov 2015 19:57:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHJvnqS050143; Tue, 17 Nov 2015 19:57:49 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHJvnd1050137; Tue, 17 Nov 2015 19:57:49 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511171957.tAHJvnd1050137@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 17 Nov 2015 19:57:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291000 - head/sys/dev/isp 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.20 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, 17 Nov 2015 19:57:51 -0000 Author: mav Date: Tue Nov 17 19:57:49 2015 New Revision: 291000 URL: https://svnweb.freebsd.org/changeset/base/291000 Log: Register our FC4 Features in SNS. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_library.c head/sys/dev/isp/isp_library.h head/sys/dev/isp/isp_stds.h head/sys/dev/isp/ispmbox.h Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Tue Nov 17 19:43:40 2015 (r290999) +++ head/sys/dev/isp/isp.c Tue Nov 17 19:57:49 2015 (r291000) @@ -125,6 +125,7 @@ static int isp_scan_fabric(ispsoftc_t *, static int isp_login_device(ispsoftc_t *, int, uint32_t, isp_pdb_t *, uint16_t *); static int isp_register_fc4_type(ispsoftc_t *, int); static int isp_register_fc4_type_24xx(ispsoftc_t *, int); +static int isp_register_fc4_features_24xx(ispsoftc_t *, int); static uint16_t isp_next_handle(ispsoftc_t *, uint16_t *); static int isp_fw_state(ispsoftc_t *, int); static void isp_mboxcmd_qnw(ispsoftc_t *, mbreg_t *, int); @@ -2927,6 +2928,8 @@ isp_fclink_test(ispsoftc_t *isp, int cha } fcp->isp_sns_hdl = NPH_SNS_ID; r = isp_register_fc4_type_24xx(isp, chan); + if (r == 0) + isp_register_fc4_features_24xx(isp, chan); } else { fcp->isp_sns_hdl = SNS_ID; r = isp_register_fc4_type(isp, chan); @@ -4217,6 +4220,125 @@ isp_register_fc4_type_24xx(ispsoftc_t *i } } +static int +isp_register_fc4_features_24xx(ispsoftc_t *isp, int chan) +{ + mbreg_t mbs; + fcparam *fcp = FCPARAM(isp, chan); + union { + isp_ct_pt_t plocal; + rff_id_t clocal; + uint8_t q[QENTRY_LEN]; + } un; + isp_ct_pt_t *pt; + ct_hdr_t *ct; + rff_id_t *rp; + uint8_t *scp = fcp->isp_scratch; + + if (FC_SCRATCH_ACQUIRE(isp, chan)) { + isp_prt(isp, ISP_LOGERR, sacq); + return (-1); + } + + /* + * Build a Passthrough IOCB in memory. + */ + ISP_MEMZERO(un.q, QENTRY_LEN); + pt = &un.plocal; + pt->ctp_header.rqs_entry_count = 1; + pt->ctp_header.rqs_entry_type = RQSTYPE_CT_PASSTHRU; + pt->ctp_handle = 0xffffffff; + pt->ctp_nphdl = fcp->isp_sns_hdl; + pt->ctp_cmd_cnt = 1; + pt->ctp_vpidx = ISP_GET_VPIDX(isp, chan); + pt->ctp_time = 1; + pt->ctp_rsp_cnt = 1; + pt->ctp_rsp_bcnt = sizeof (ct_hdr_t); + pt->ctp_cmd_bcnt = sizeof (rff_id_t); + pt->ctp_dataseg[0].ds_base = DMA_LO32(fcp->isp_scdma+XTXOFF); + pt->ctp_dataseg[0].ds_basehi = DMA_HI32(fcp->isp_scdma+XTXOFF); + pt->ctp_dataseg[0].ds_count = sizeof (rff_id_t); + pt->ctp_dataseg[1].ds_base = DMA_LO32(fcp->isp_scdma+IGPOFF); + pt->ctp_dataseg[1].ds_basehi = DMA_HI32(fcp->isp_scdma+IGPOFF); + pt->ctp_dataseg[1].ds_count = sizeof (ct_hdr_t); + isp_put_ct_pt(isp, pt, (isp_ct_pt_t *) &scp[CTXOFF]); + if (isp->isp_dblev & ISP_LOGDEBUG1) { + isp_print_bytes(isp, "IOCB CT Request", QENTRY_LEN, pt); + } + + /* + * Build the CT header and command in memory. + * + * Note that the CT header has to end up as Big Endian format in memory. + */ + ISP_MEMZERO(&un.clocal, sizeof (un.clocal)); + ct = &un.clocal.rffid_hdr; + ct->ct_revision = CT_REVISION; + ct->ct_fcs_type = CT_FC_TYPE_FC; + ct->ct_fcs_subtype = CT_FC_SUBTYPE_NS; + ct->ct_cmd_resp = SNS_RFF_ID; + ct->ct_bcnt_resid = (sizeof (rff_id_t) - sizeof (ct_hdr_t)) >> 2; + rp = &un.clocal; + rp->rffid_portid[0] = fcp->isp_portid >> 16; + rp->rffid_portid[1] = fcp->isp_portid >> 8; + rp->rffid_portid[2] = fcp->isp_portid; + rp->rffid_fc4features = 0; + if (fcp->role & ISP_ROLE_TARGET) + rp->rffid_fc4features |= 1; + if (fcp->role & ISP_ROLE_INITIATOR) + rp->rffid_fc4features |= 2; + rp->rffid_fc4type = FC4_SCSI; + isp_put_rff_id(isp, rp, (rff_id_t *) &scp[XTXOFF]); + if (isp->isp_dblev & ISP_LOGDEBUG1) { + isp_print_bytes(isp, "CT Header", QENTRY_LEN, &scp[XTXOFF]); + } + + ISP_MEMZERO(&scp[ZTXOFF], sizeof (ct_hdr_t)); + + MBSINIT(&mbs, MBOX_EXEC_COMMAND_IOCB_A64, MBLOGALL, 1000000); + mbs.param[1] = QENTRY_LEN; + mbs.param[2] = DMA_WD1(fcp->isp_scdma + CTXOFF); + mbs.param[3] = DMA_WD0(fcp->isp_scdma + CTXOFF); + mbs.param[6] = DMA_WD3(fcp->isp_scdma + CTXOFF); + mbs.param[7] = DMA_WD2(fcp->isp_scdma + CTXOFF); + MEMORYBARRIER(isp, SYNC_SFORDEV, XTXOFF, 2 * QENTRY_LEN, chan); + isp_mboxcmd(isp, &mbs); + if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { + FC_SCRATCH_RELEASE(isp, chan); + return (-1); + } + MEMORYBARRIER(isp, SYNC_SFORCPU, ZTXOFF, QENTRY_LEN, chan); + pt = &un.plocal; + isp_get_ct_pt(isp, (isp_ct_pt_t *) &scp[ZTXOFF], pt); + if (isp->isp_dblev & ISP_LOGDEBUG1) { + isp_print_bytes(isp, "IOCB response", QENTRY_LEN, pt); + } + if (pt->ctp_status) { + FC_SCRATCH_RELEASE(isp, chan); + isp_prt(isp, ISP_LOGWARN, + "Chan %d Register FC4 Features CT Passthrough returned 0x%x", + chan, pt->ctp_status); + return (1); + } + + isp_get_ct_hdr(isp, (ct_hdr_t *) &scp[IGPOFF], ct); + FC_SCRATCH_RELEASE(isp, chan); + + if (ct->ct_cmd_resp == LS_RJT) { + isp_prt(isp, ISP_LOG_SANCFG|ISP_LOG_WARN1, + "Chan %d Register FC4 Features rejected", chan); + return (-1); + } else if (ct->ct_cmd_resp == LS_ACC) { + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Register FC4 Features accepted", chan); + return (0); + } else { + isp_prt(isp, ISP_LOGWARN, + "Chan %d Register FC4 Features: 0x%x", chan, ct->ct_cmd_resp); + return (-1); + } +} + static uint16_t isp_next_handle(ispsoftc_t *isp, uint16_t *ohp) { Modified: head/sys/dev/isp/isp_library.c ============================================================================== --- head/sys/dev/isp/isp_library.c Tue Nov 17 19:43:40 2015 (r290999) +++ head/sys/dev/isp/isp_library.c Tue Nov 17 19:57:49 2015 (r291000) @@ -2157,6 +2157,20 @@ isp_put_rft_id(ispsoftc_t *isp, rft_id_t } void +isp_put_rff_id(ispsoftc_t *isp, rff_id_t *src, rff_id_t *dst) +{ + int i; + + isp_put_ct_hdr(isp, &src->rffid_hdr, &dst->rffid_hdr); + ISP_IOZPUT_8(isp, src->rffid_reserved, &dst->rffid_reserved); + for (i = 0; i < 3; i++) + ISP_IOZPUT_8(isp, src->rffid_portid[i], &dst->rffid_portid[i]); + ISP_IOZPUT_16(isp, src->rffid_reserved2, &dst->rffid_reserved2); + ISP_IOZPUT_8(isp, src->rffid_fc4features, &dst->rffid_fc4features); + ISP_IOZPUT_8(isp, src->rffid_fc4type, &dst->rffid_fc4type); +} + +void isp_get_ct_hdr(ispsoftc_t *isp, ct_hdr_t *src, ct_hdr_t *dst) { ISP_IOZGET_8(isp, &src->ct_revision, dst->ct_revision); Modified: head/sys/dev/isp/isp_library.h ============================================================================== --- head/sys/dev/isp/isp_library.h Tue Nov 17 19:43:40 2015 (r290999) +++ head/sys/dev/isp/isp_library.h Tue Nov 17 19:57:49 2015 (r291000) @@ -148,6 +148,7 @@ void isp_get_fc_hdr(ispsoftc_t *, fc_hdr void isp_put_fc_hdr(ispsoftc_t *, fc_hdr_t *, fc_hdr_t *); void isp_get_fcp_cmnd_iu(ispsoftc_t *, fcp_cmnd_iu_t *, fcp_cmnd_iu_t *); void isp_put_rft_id(ispsoftc_t *, rft_id_t *, rft_id_t *); +void isp_put_rff_id(ispsoftc_t *, rff_id_t *, rff_id_t *); void isp_get_ct_hdr(ispsoftc_t *isp, ct_hdr_t *, ct_hdr_t *); void isp_put_ct_hdr(ispsoftc_t *isp, ct_hdr_t *, ct_hdr_t *); void isp_put_fcp_rsp_iu(ispsoftc_t *isp, fcp_rsp_iu_t *, fcp_rsp_iu_t *); Modified: head/sys/dev/isp/isp_stds.h ============================================================================== --- head/sys/dev/isp/isp_stds.h Tue Nov 17 19:43:40 2015 (r290999) +++ head/sys/dev/isp/isp_stds.h Tue Nov 17 19:57:49 2015 (r291000) @@ -139,6 +139,20 @@ typedef struct { } rft_id_t; /* + * RFF_ID Requet CT_IU + * + * Source: INCITS 463-2010 Generic Services 6 Section 5.2.5.34 + */ +typedef struct { + ct_hdr_t rffid_hdr; + uint8_t rffid_reserved; + uint8_t rffid_portid[3]; + uint16_t rffid_reserved2; + uint8_t rffid_fc4features; + uint8_t rffid_fc4type; +} rff_id_t; + +/* * FCP Response IU and bits of interest * Source: NCITS T10, Project 1828D, Revision 02b (aka FCP4r02b) */ Modified: head/sys/dev/isp/ispmbox.h ============================================================================== --- head/sys/dev/isp/ispmbox.h Tue Nov 17 19:43:40 2015 (r290999) +++ head/sys/dev/isp/ispmbox.h Tue Nov 17 19:57:49 2015 (r291000) @@ -1513,6 +1513,7 @@ typedef struct { #define SNS_GFF_ID 0x11F #define SNS_GID_FT 0x171 #define SNS_RFT_ID 0x217 +#define SNS_RFF_ID 0x21F typedef struct { uint16_t snscb_rblen; /* response buffer length (words) */ uint16_t snscb_reserved0; From owner-svn-src-head@freebsd.org Tue Nov 17 20:42:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B683AA31218; Tue, 17 Nov 2015 20:42:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8116D1E75; Tue, 17 Nov 2015 20:42:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHKg8Cw071836; Tue, 17 Nov 2015 20:42:08 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHKg8Y5071835; Tue, 17 Nov 2015 20:42:08 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511172042.tAHKg8Y5071835@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 17 Nov 2015 20:42:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291001 - head/sys/netpfil/ipfw 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.20 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, 17 Nov 2015 20:42:09 -0000 Author: bdrewery Date: Tue Nov 17 20:42:08 2015 New Revision: 291001 URL: https://svnweb.freebsd.org/changeset/base/291001 Log: Fix dynamic IPv6 rules showing junk for non-specified address masks. For example: 00002 0 0 (19s) PARENT 1 tcp 10.10.0.5 0 <-> 0.0.0.0 0 00002 4 412 (1s) LIMIT tcp 10.10.0.5 25848 <-> 10.10.0.7 22 00002 10 777 (1s) LIMIT tcp 2001:894:5a24:653::503:1 52023 <-> 2001:894:5a24:653:ca0a:a9ff:fe04:3978 22 00002 0 0 (17s) PARENT 1 tcp 2001:894:5a24:653::503:1 0 <-> 80f3:70d:23fe:ffff:1005:: 0 Fix this by zeroing the unused address, as is done for IPv4: 00002 0 0 (18s) PARENT 1 tcp 10.10.0.5 0 <-> 0.0.0.0 0 00002 36 14952 (1s) LIMIT tcp 10.10.0.5 25848 <-> 10.10.0.7 22 00002 0 0 (0s) PARENT 1 tcp 2001:894:5a24:653::503:1 0 <-> :: 0 00002 4 345 (274s) LIMIT tcp 2001:894:5a24:653::503:1 34131 <-> 2001:470:1f11:262:ca0a:a9ff:fe04:3978 22 MFC after: 2 weeks Modified: head/sys/netpfil/ipfw/ip_fw_dynamic.c Modified: head/sys/netpfil/ipfw/ip_fw_dynamic.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_dynamic.c Tue Nov 17 19:57:49 2015 (r291000) +++ head/sys/netpfil/ipfw/ip_fw_dynamic.c Tue Nov 17 20:42:08 2015 (r291001) @@ -735,6 +735,9 @@ ipfw_install_state(struct ip_fw_chain *c id.fib = M_GETFIB(args->m); if (IS_IP6_FLOW_ID (&(args->f_id))) { + bzero(&id.src_ip6, sizeof(id.src_ip6)); + bzero(&id.dst_ip6, sizeof(id.dst_ip6)); + if (limit_mask & DYN_SRC_ADDR) id.src_ip6 = args->f_id.src_ip6; if (limit_mask & DYN_DST_ADDR) From owner-svn-src-head@freebsd.org Tue Nov 17 20:43:01 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79542A31339; Tue, 17 Nov 2015 20:43:01 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 534251015; Tue, 17 Nov 2015 20:43:01 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHKh0Ra072222; Tue, 17 Nov 2015 20:43:00 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHKgxrh072208; Tue, 17 Nov 2015 20:42:59 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511172042.tAHKgxrh072208@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Tue, 17 Nov 2015 20:42:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291002 - head/usr.sbin/mpsutil 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.20 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, 17 Nov 2015 20:43:01 -0000 Author: bapt Date: Tue Nov 17 20:42:59 2015 New Revision: 291002 URL: https://svnweb.freebsd.org/changeset/base/291002 Log: mpsutil/mprutil: add flash subcommand the flash subcommand allows to save/update firmware and bios for LSI Fusion-MPT 2/3 controllers (mps(4) and mpr(4)) Tested by: allanjude Reviewed by: wblock (manpage) Relnotes: yes Sponsored by: Gandi.net Differential Revision: https://reviews.freebsd.org/D4026 Added: head/usr.sbin/mpsutil/mps_flash.c (contents, props changed) Modified: head/usr.sbin/mpsutil/Makefile head/usr.sbin/mpsutil/mps_cmd.c head/usr.sbin/mpsutil/mpsutil.8 head/usr.sbin/mpsutil/mpsutil.h Modified: head/usr.sbin/mpsutil/Makefile ============================================================================== --- head/usr.sbin/mpsutil/Makefile Tue Nov 17 20:42:08 2015 (r291001) +++ head/usr.sbin/mpsutil/Makefile Tue Nov 17 20:42:59 2015 (r291002) @@ -1,7 +1,7 @@ # $FreeBSD$ PROG= mpsutil -SRCS= mpsutil.c mps_cmd.c mps_show.c +SRCS= mps_cmd.c mps_flash.c mps_show.c mpsutil.c MAN= mpsutil.8 WARNS?= 3 Modified: head/usr.sbin/mpsutil/mps_cmd.c ============================================================================== --- head/usr.sbin/mpsutil/mps_cmd.c Tue Nov 17 20:42:08 2015 (r291001) +++ head/usr.sbin/mpsutil/mps_cmd.c Tue Nov 17 20:42:59 2015 (r291002) @@ -1,4 +1,6 @@ /*- + * Copyright (c) 2015 Baptiste Daroussin + * * Copyright (c) 2015 Netflix, Inc. * All rights reserved. * Written by: Scott Long @@ -442,6 +444,62 @@ mps_read_extended_config_page(int fd, U8 return (buf); } +int +mps_firmware_send(int fd, unsigned char *fw, uint32_t len, bool bios) +{ + MPI2_FW_DOWNLOAD_REQUEST req; + MPI2_FW_DOWNLOAD_REPLY reply; + + bzero(&req, sizeof(req)); + bzero(&reply, sizeof(reply)); + req.Function = MPI2_FUNCTION_FW_DOWNLOAD; + req.ImageType = bios ? MPI2_FW_DOWNLOAD_ITYPE_BIOS : MPI2_FW_DOWNLOAD_ITYPE_FW; + req.TotalImageSize = len; + req.MsgFlags = MPI2_FW_DOWNLOAD_MSGFLGS_LAST_SEGMENT; + + if (mps_user_command(fd, &req, sizeof(req), &reply, sizeof(reply), + fw, len, 0)) { + return (-1); + } + return (0); +} + +int +mps_firmware_get(int fd, unsigned char **firmware, bool bios) +{ + MPI2_FW_UPLOAD_REQUEST req; + MPI2_FW_UPLOAD_REPLY reply; + int size; + + *firmware = NULL; + bzero(&req, sizeof(req)); + bzero(&reply, sizeof(reply)); + req.Function = MPI2_FUNCTION_FW_UPLOAD; + req.ImageType = bios ? MPI2_FW_DOWNLOAD_ITYPE_BIOS : MPI2_FW_DOWNLOAD_ITYPE_FW; + + if (mps_user_command(fd, &req, sizeof(req), &reply, sizeof(reply), + NULL, 0, 0)) { + return (-1); + } + if (reply.ActualImageSize == 0) { + return (-1); + } + + size = reply.ActualImageSize; + *firmware = calloc(1, sizeof(char) * size); + if (*firmware == NULL) { + warn("calloc"); + return (-1); + } + if (mps_user_command(fd, &req, sizeof(req), &reply, sizeof(reply), + *firmware, size, 0)) { + free(*firmware); + return (-1); + } + + return (size); +} + #else int Added: head/usr.sbin/mpsutil/mps_flash.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/mpsutil/mps_flash.c Tue Nov 17 20:42:59 2015 (r291002) @@ -0,0 +1,237 @@ +/*- + * Copyright (c) 2015 Baptiste Daroussin + * + * 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 +__RCSID("$FreeBSD$"); + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "mpsutil.h" + +MPS_TABLE(top, flash); + +static int +flash_save(int argc, char **argv) +{ + const char *firmware_file; + unsigned char *firmware_buffer = NULL; + int error, fd, size; + bool bios = false; + ssize_t written = 0, ret = 0; + + if (argc < 2) { + warnx("missing argument: expecting 'firmware' or bios'"); + return (EINVAL); + } + + if (strcmp(argv[1], "bios") == 0) { + bios = true; + } else if (strcmp(argv[1], "firmware") != 0) { + warnx("Invalid argument '%s', expecting 'firmware' or 'bios'", + argv[1]); + } + + if (argc > 4) { + warnx("save %s: extra arguments", argv[1]); + return (EINVAL); + } + + firmware_file = argv[1]; + if (argc == 3) { + firmware_file = argv[2]; + } + + fd = mps_open(mps_unit); + if (fd < 0) { + error = errno; + warn("mps_open"); + return (error); + } + + if ((size = mps_firmware_get(fd, &firmware_buffer, bios)) < 0) { + warnx("Fail to save %s", argv[1]); + return (1); + } + + close(fd); + if (size > 0) { + fd = open(firmware_file, O_CREAT | O_TRUNC | O_RDWR, 0644); + if (fd <0) { + error = errno; + warn("open"); + free(firmware_buffer); + return (error); + } + while (written != size) { + if ((ret = write(fd, firmware_buffer + written, size - written)) <0) { + error = errno; + warn("write"); + free(firmware_buffer); + return (error); + } + written += ret; + } + close(fd); + } + free(firmware_buffer); + printf("%s successfully saved as %s\n", argv[1], firmware_file); + return (0); +} + +MPS_COMMAND(flash, save, flash_save, "[firmware|bios] [file]", + "Save firmware/bios into a file"); + +static int +flash_update(int argc, char **argv) +{ + int error, fd; + unsigned char *mem = NULL; + struct stat st; + bool bios = false; + MPI2_FW_IMAGE_HEADER *fwheader; + MPI2_IOC_FACTS_REPLY *facts; + + if (argc < 2) { + warnx("missing argument: expecting 'firmware' or bios'"); + return (EINVAL); + } + + if (strcmp(argv[1], "bios") == 0) { + bios = true; + } else if (strcmp(argv[1], "firmware") != 0) { + warnx("Invalid argument '%s', expecting 'firmware' or 'bios'", + argv[1]); + } + + if (argc > 4) { + warnx("update firmware: extra arguments"); + return (EINVAL); + } + + if (argc != 3) { + warnx("no firmware specified"); + return (EINVAL); + } + + if (stat(argv[2], &st) == -1) { + error = errno; + warn("stat"); + return (error); + } + + fd = open(argv[2], O_RDONLY); + if (fd < 0) { + error = errno; + warn("open"); + return (error); + } + + mem = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); + if (mem == MAP_FAILED) { + error = errno; + warn("mmap"); + close(fd); + return (error); + } + close(fd); + + fd = mps_open(mps_unit); + if (fd < 0) { + error = errno; + warn("mps_open"); + munmap(mem, st.st_size); + return (error); + } + + if ((facts = mps_get_iocfacts(fd)) == NULL) { + warnx("could not get controller IOCFacts\n"); + munmap(mem, st.st_size); + close(fd); + return (EINVAL); + } + + if (bios) { + /* Check boot record magic number */ + if (((mem[0x01]<<8) + mem[0x00]) != 0xaa55) { + warnx("Invalid bios: no boot record magic number"); + munmap(mem, st.st_size); + close(fd); + return (1); + } + if ((st.st_size % 512) != 0) { + warnx("Invalid bios: size not a multiple of 512"); + munmap(mem, st.st_size); + close(fd); + return (1); + } + } else { + fwheader = (MPI2_FW_IMAGE_HEADER *)mem; + if (fwheader->VendorID != MPI2_MFGPAGE_VENDORID_LSI) { + warnx("Invalid firmware:"); + warnx(" Expected Vendor ID: %04x", + MPI2_MFGPAGE_VENDORID_LSI); + warnx(" Image Vendor ID: %04x", fwheader->VendorID); + munmap(mem, st.st_size); + close(fd); + return (1); + } + + if (fwheader->ProductID != facts->ProductID) { + warnx("Invalid image:"); + warnx(" Expected Product ID: %04x", facts->ProductID); + warnx(" Image Product ID: %04x", fwheader->ProductID); + munmap(mem, st.st_size); + close(fd); + return (1); + } + } + + printf("Updating %s...\n", argv[1]); + if (mps_firmware_send(fd, mem, st.st_size, bios) < 0) { + warnx("Fail to update %s", argv[1]); + munmap(mem, st.st_size); + close(fd); + return (1); + } + + munmap(mem, st.st_size); + close(fd); + printf("%s successfully updated\n", argv[1]); + return (0); +} + +MPS_COMMAND(flash, update, flash_update, "[firmware|bios] file", + "Update firmware/bios"); Modified: head/usr.sbin/mpsutil/mpsutil.8 ============================================================================== --- head/usr.sbin/mpsutil/mpsutil.8 Tue Nov 17 20:42:08 2015 (r291001) +++ head/usr.sbin/mpsutil/mpsutil.8 Tue Nov 17 20:42:59 2015 (r291002) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 28, 2015 +.Dd November 17, 2015 .Dt MPSUTIL 8 .Os .Sh NAME @@ -60,6 +60,16 @@ .Nm .Op Fl u Ar unit .Cm show iocfacts +.Nm +.Op Fl u Ar unit +.Cm flash save +.Op Ar firmware Ns | Ns Ar bios +.Op Ar file +.Nm +.Op Fl u Ar unit +.Cm flash update +.Op Ar firmware Ns | Ns Ar bios +.Ar file .Sh DESCRIPTION The .Nm @@ -94,7 +104,9 @@ then unit 0 is used. .Pp The .Nm -utility currently only supports informational commands. +utility supports several different groups of commands. +The first group of commands provide information about the controller. +The second group of commands are used to manager controller-wide operations. .Pp The informational commands include: .Bl -tag -width indent @@ -119,8 +131,32 @@ Displays IOC Facts messages. .It Cm show cfgpage page Oo Ar num Oc Op Ar addr Show IOC Facts Message .El +.Pp +Controller management commands include: +.Bl -tag -width indent +.It Cm flash save Oo Ar firmware Ns | Ns Ar bios Oc Op Ar file +Save the +.Ar firmware +or +.Ar bios +from the controller into a local +.Ar file . +If no +.Ar file +is specified then the file will be named +.Pa firmware +or +.Pa bios . +.It Cm flash update Oo Ar firmware Ns | Ns Ar bios Oc Ar file +Replace the +.Ar firmware +or +.Ar bios +from the controller with the one specified via +.Ar file . +.El .Sh SEE ALSO -.Xr mpr 4 +.Xr mpr 4 , .Xr mps 4 .Sh HISTORY The Modified: head/usr.sbin/mpsutil/mpsutil.h ============================================================================== --- head/usr.sbin/mpsutil/mpsutil.h Tue Nov 17 20:42:08 2015 (r291001) +++ head/usr.sbin/mpsutil/mpsutil.h Tue Nov 17 20:42:59 2015 (r291002) @@ -35,6 +35,7 @@ #include #include +#include #include #include @@ -122,6 +123,8 @@ void *mps_read_extended_config_page(int int mps_map_btdh(int fd, uint16_t *devhandle, uint16_t *bus, uint16_t *target); const char *mps_ioc_status(U16 IOCStatus); +int mps_firmware_send(int fd, unsigned char *buf, uint32_t len, bool bios); +int mps_firmware_get(int fd, unsigned char **buf, bool bios); static __inline void * mps_read_man_page(int fd, U8 PageNumber, U16 *IOCStatus) From owner-svn-src-head@freebsd.org Tue Nov 17 20:47:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0491A31473; Tue, 17 Nov 2015 20:47:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A6F1A1390; Tue, 17 Nov 2015 20:47:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHKlGJg073932; Tue, 17 Nov 2015 20:47:16 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHKlG5e073931; Tue, 17 Nov 2015 20:47:16 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201511172047.tAHKlG5e073931@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Tue, 17 Nov 2015 20:47:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291003 - head/secure/lib/libcrypto 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.20 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, 17 Nov 2015 20:47:18 -0000 Author: jkim Date: Tue Nov 17 20:47:16 2015 New Revision: 291003 URL: https://svnweb.freebsd.org/changeset/base/291003 Log: Simplify man-makefile-update target. Modified: head/secure/lib/libcrypto/Makefile.inc Modified: head/secure/lib/libcrypto/Makefile.inc ============================================================================== --- head/secure/lib/libcrypto/Makefile.inc Tue Nov 17 20:42:59 2015 (r291002) +++ head/secure/lib/libcrypto/Makefile.inc Tue Nov 17 20:47:16 2015 (r291003) @@ -72,13 +72,13 @@ man-makefile-update: ${.CURDIR}/Makefile.man for i in ${LCRYPTO_DOC}/${_docs}/*.pod; do \ fn=`basename $$i .pod`; \ - if ! echo ' ${_skip} ' | grep -q " $$fn "; then \ + if ! echo '${_skip}' | grep -qw "$$fn"; then \ ${ECHO} "MAN+= $$fn.${_sec}" >> ${.CURDIR}/Makefile.man; \ fi; \ done for i in ${LCRYPTO_DOC}/${_docs}/*.pod; do \ fn=`basename $$i .pod`; \ - if ! echo ' ${_skip} ' | grep -q " $$fn "; then \ + if ! echo '${_skip}' | grep -qw "$$fn"; then \ perl ${LCRYPTO_SRC}/util/extract-names.pl < $$i | \ awk "/^$$fn\$$/ { next; } \ { print \"MLINKS+= $$fn.${_sec} \" \$$1 \".${_sec}\" }" >> \ From owner-svn-src-head@freebsd.org Tue Nov 17 20:55:51 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 822D8A316D5; Tue, 17 Nov 2015 20:55:51 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3259B19FD; Tue, 17 Nov 2015 20:55:51 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHKto2S079845; Tue, 17 Nov 2015 20:55:50 GMT (envelope-from smh@FreeBSD.org) Received: (from smh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHKtoIp079844; Tue, 17 Nov 2015 20:55:50 GMT (envelope-from smh@FreeBSD.org) Message-Id: <201511172055.tAHKtoIp079844@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: smh set sender to smh@FreeBSD.org using -f From: Steven Hartland Date: Tue, 17 Nov 2015 20:55:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291004 - head/sys/geom 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.20 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, 17 Nov 2015 20:55:51 -0000 Author: smh Date: Tue Nov 17 20:55:50 2015 New Revision: 291004 URL: https://svnweb.freebsd.org/changeset/base/291004 Log: Fix early kernel dump via dumpdev env Setting the dumpdev via env e.g. loader.conf provides the ability to configure the kernel dump device during early boot. When using this g_io_getattr was returning EPERM due to cp->acr == 0. Fix this by calling g_access to ensure we're a read consumer prior to calling g_dev_setdumpdev. MFC after: 2 weeks Sponsored by: Multiplay Modified: head/sys/geom/geom_dev.c Modified: head/sys/geom/geom_dev.c ============================================================================== --- head/sys/geom/geom_dev.c Tue Nov 17 20:47:16 2015 (r291003) +++ head/sys/geom/geom_dev.c Tue Nov 17 20:55:50 2015 (r291004) @@ -150,24 +150,38 @@ g_dev_setdumpdev(struct cdev *dev, struc return (error); } -static void +static int init_dumpdev(struct cdev *dev) { + struct g_consumer *cp; const char *devprefix = "/dev/", *devname; + int error; size_t len; if (dumpdev == NULL) - return; + return (0); + len = strlen(devprefix); devname = devtoname(dev); if (strcmp(devname, dumpdev) != 0 && (strncmp(dumpdev, devprefix, len) != 0 || strcmp(devname, dumpdev + len) != 0)) - return; - if (g_dev_setdumpdev(dev, curthread) == 0) { + return (0); + + cp = (struct g_consumer *)dev->si_drv2; + error = g_access(cp, 1, 0, 0); + if (error != 0) + return (error); + + error = g_dev_setdumpdev(dev, curthread); + if (error == 0) { freeenv(dumpdev); dumpdev = NULL; } + + (void)g_access(cp, -1, 0, 0); + + return (error); } static void @@ -312,7 +326,10 @@ g_dev_taste(struct g_class *mp, struct g dev->si_iosize_max = MAXPHYS; dev->si_drv2 = cp; - init_dumpdev(dev); + error = init_dumpdev(dev); + if (error != 0) + printf("%s: init_dumpdev() failed (gp->name=%s, error=%d)\n", + __func__, gp->name, error); g_dev_attrchanged(cp, "GEOM::physpath"); snprintf(buf, sizeof(buf), "cdev=%s", gp->name); From owner-svn-src-head@freebsd.org Tue Nov 17 21:02:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 508FCA318C3; Tue, 17 Nov 2015 21:02:29 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0612D1F4F; Tue, 17 Nov 2015 21:02:28 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAHL2SmT083553; Tue, 17 Nov 2015 21:02:28 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAHL2SLK083366; Tue, 17 Nov 2015 21:02:28 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201511172102.tAHL2SLK083366@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Tue, 17 Nov 2015 21:02:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291005 - head/sys/mips/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.20 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, 17 Nov 2015 21:02:29 -0000 Author: allanjude Date: Tue Nov 17 21:02:27 2015 New Revision: 291005 URL: https://svnweb.freebsd.org/changeset/base/291005 Log: Add a kernel config for the Onion Omega Small $25 IoT device, 400mhz Atheros cpu, Atheros WiFi and Ethernet 18 GPIOs, and support for Relay, Servo, and OLED expansion https://onion.io/omega/ Reviewed by: adrian Approved by: bapt (mentor) Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D4188 Added: head/sys/mips/conf/ONIONOMEGA (contents, props changed) head/sys/mips/conf/ONIONOMEGA.hints (contents, props changed) Added: head/sys/mips/conf/ONIONOMEGA ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/ONIONOMEGA Tue Nov 17 21:02:27 2015 (r291005) @@ -0,0 +1,53 @@ +# +# Onion Omega - an AR9330 based SoC +# +# https://onion.io/omega/ +# +# * AR9330 SoC +# * 64MB RAM +# * 16MB flash +# * Integrated 1x1 2GHz wifi and optional 10/100 ethernet +# +# $FreeBSD$ +# + +# Include the default AR933x parameters +include "AR933X_BASE" + +ident ONIONOMEGA + +# Override hints with board values +hints "ONIONOMEGA.hints" + +# Board memory - 64MB +options AR71XX_REALMEM=(64*1024*1024) + +# i2c GPIO bus +#device gpioiic +#device iicbb +#device iicbus +#device iic + +# Options required for miiproxy and mdiobus +options ARGE_MDIO # Export an MDIO bus separate from arge +device miiproxy # MDIO bus <-> MII PHY rendezvous + +device etherswitch +device arswitch + +# read MSDOS formatted disks - USB +#options MSDOSFS + +# Enable the uboot environment stuff rather then the +# redboot stuff. +options AR71XX_ENV_UBOOT + +# uzip - to boot natively from flash +device geom_uncompress +options GEOM_UNCOMPRESS + +# Used for the static uboot partition map +device geom_map + +# Boot off of the rootfs, as defined in the geom_map setup. +options ROOTDEVNAME=\"ufs:map/rootfs.uncompress\" Added: head/sys/mips/conf/ONIONOMEGA.hints ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/ONIONOMEGA.hints Tue Nov 17 21:02:27 2015 (r291005) @@ -0,0 +1,94 @@ +# +# This file adds to the values in AR933X_BASE.hints. +# +# $FreeBSD$ + +# mdiobus on arge1 +hint.argemdio.0.at="nexus0" +hint.argemdio.0.maddr=0x1a000000 +hint.argemdio.0.msize=0x1000 +hint.argemdio.0.order=0 + +# Embedded Atheros Switch +hint.arswitch.0.at="mdio0" + +# XXX this should really say it's an AR933x switch, as there +# are some vlan specific differences here! +hint.arswitch.0.is_7240=1 +hint.arswitch.0.numphys=4 +hint.arswitch.0.phy4cpu=1 # phy 4 is a "CPU" separate PHY +hint.arswitch.0.is_rgmii=0 +hint.arswitch.0.is_gmii=1 # arge1 <-> switch PHY is GMII + +# arge0 - MII, autoneg, phy(4) +hint.arge.0.phymask=0x10 # PHY4 +hint.arge.0.mdio=mdioproxy1 # .. off of the switch mdiobus +hint.arge.0.eeprommac=0x1fff0000 + +# arge1 - GMII, 1000/full +hint.arge.1.phymask=0x0 # No directly mapped PHYs +hint.arge.1.media=1000 +hint.arge.1.fduplex=1 +hint.arge.1.eeprommac=0x1fff0006 + +# 16MB flash layout: +# [ 0.510000] 5 tp-link partitions found on MTD device spi0.0 +# [ 0.510000] Creating 5 MTD partitions on "spi0.0": +# [ 0.520000] 0x000000000000-0x000000020000 : "u-boot" +# [ 0.520000] 0x000000020000-0x000000136468 : "kernel" +# [ 0.530000] 0x000000136468-0x000000ff0000 : "rootfs" +# [ 0.530000] mtd: device 2 (rootfs) set to be root filesystem +# [ 0.540000] 1 squashfs-split partitions found on MTD device rootfs +# [ 0.540000] 0x000000730000-0x000000fe0000 : "rootfs_data" +# [ 0.540000] 0x000000fe0000-0x000000ff0000 : "nvram" +# [ 0.550000] 0x000000ff0000-0x000001000000 : "art" +# [ 0.560000] 0x000000020000-0x000000fe0000 : "firmware" + +# 64KiB uboot +hint.map.0.at="flash/spi0" +hint.map.0.start=0x00000000 +hint.map.0.end=0x00010000 +hint.map.0.name="u-boot" +hint.map.0.readonly=1 + +# 64KiB uboot +hint.map.1.at="flash/spi0" +hint.map.1.start=0x00010000 +hint.map.1.end=0x00020000 +hint.map.1.name="uboot-env" +hint.map.1.readonly=1 + +# kernel +hint.map.2.at="flash/spi0" +hint.map.2.start=0x00020000 +hint.map.2.end="search:0x00020000:0x10000:.!/bin/sh" +hint.map.2.name="kernel" +hint.map.2.readonly=1 + +# rootfs ulzma +hint.map.3.at="flash/spi0" +hint.map.3.start="search:0x00020000:0x10000:.!/bin/sh" +hint.map.3.end=0x00fe0000 +hint.map.3.name="rootfs" +hint.map.3.readonly=1 + +# 64KiB cfg +hint.map.4.at="flash/spi0" +hint.map.4.start=0x00fe0000 +hint.map.4.end=0x00ff0000 +hint.map.4.name="cfg" +hint.map.4.readonly=0 + +# all firmware 16000KiB +hint.map.5.at="flash/spi0" +hint.map.5.start=0x00020000 +hint.map.5.end=0x00ff0000 +hint.map.5.name="firmware" +hint.map.5.readonly=0 + +# 64KiB ART +hint.map.6.at="flash/spi0" +hint.map.6.start=0x00ff0000 +hint.map.6.end=0x01000000 +hint.map.6.name="ART" +hint.map.6.readonly=1 From owner-svn-src-head@freebsd.org Wed Nov 18 01:54:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A4684A2E8E8; Wed, 18 Nov 2015 01:54:20 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7DF38142A; Wed, 18 Nov 2015 01:54:20 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAI1sJhL099653; Wed, 18 Nov 2015 01:54:19 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAI1sJuM099649; Wed, 18 Nov 2015 01:54:19 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201511180154.tAI1sJuM099649@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Wed, 18 Nov 2015 01:54:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291008 - in head/sys: conf powerpc/mpc85xx 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.20 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, 18 Nov 2015 01:54:20 -0000 Author: jhibbits Date: Wed Nov 18 01:54:19 2015 New Revision: 291008 URL: https://svnweb.freebsd.org/changeset/base/291008 Log: Add support for new LAW registers in QorIQ SoCs. QorIQ SoCs (e5500 core, P5 family) have 2 BARs for local access windows, while MPC85XX, and P1/P2 families use only a single BAR register. This also adds the QORIQ_DPAA option, mutually exclusive to MPC85XX, to handle this difference. Obtained from: Semihalf Sponsored by: Alex Perez/Inertial Computing Modified: head/sys/conf/files.powerpc head/sys/conf/options.powerpc head/sys/powerpc/mpc85xx/mpc85xx.c head/sys/powerpc/mpc85xx/mpc85xx.h Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Tue Nov 17 21:29:26 2015 (r291007) +++ head/sys/conf/files.powerpc Wed Nov 18 01:54:19 2015 (r291008) @@ -74,7 +74,7 @@ dev/syscons/scvtb.c optional sc dev/tsec/if_tsec.c optional tsec dev/tsec/if_tsec_fdt.c optional tsec fdt dev/uart/uart_cpu_powerpc.c optional uart -dev/usb/controller/ehci_fsl.c optional ehci mpc85xx +dev/usb/controller/ehci_fsl.c optional ehci mpc85xx | ehci qoriq_dpaa dev/vt/hw/ofwfb/ofwfb.c optional vt aim kern/kern_clocksource.c standard kern/subr_dummy_vdso_tc.c standard @@ -133,15 +133,15 @@ powerpc/mikrotik/platform_rb.c optional powerpc/mpc85xx/atpic.c optional mpc85xx isa powerpc/mpc85xx/ds1553_bus_fdt.c optional ds1553 fdt powerpc/mpc85xx/ds1553_core.c optional ds1553 -powerpc/mpc85xx/fsl_sdhc.c optional mpc85xx sdhc +powerpc/mpc85xx/fsl_sdhc.c optional mpc85xx sdhc | qoriq_dpaa sdhc powerpc/mpc85xx/i2c.c optional iicbus fdt powerpc/mpc85xx/isa.c optional mpc85xx isa -powerpc/mpc85xx/lbc.c optional mpc85xx -powerpc/mpc85xx/mpc85xx.c optional mpc85xx +powerpc/mpc85xx/lbc.c optional mpc85xx | qoriq_dpaa +powerpc/mpc85xx/mpc85xx.c optional mpc85xx | qoriq_dpaa powerpc/mpc85xx/mpc85xx_gpio.c optional mpc85xx gpio -powerpc/mpc85xx/platform_mpc85xx.c optional mpc85xx -powerpc/mpc85xx/pci_mpc85xx.c optional pci mpc85xx -powerpc/mpc85xx/pci_mpc85xx_pcib.c optional pci mpc85xx +powerpc/mpc85xx/platform_mpc85xx.c optional mpc85xx | qoriq_dpaa +powerpc/mpc85xx/pci_mpc85xx.c optional pci mpc85xx | pci qoriq_dpaa +powerpc/mpc85xx/pci_mpc85xx_pcib.c optional pci mpc85xx | pci qoriq_dpaa powerpc/ofw/ofw_machdep.c standard powerpc/ofw/ofw_pci.c optional pci powerpc/ofw/ofw_pcibus.c optional pci Modified: head/sys/conf/options.powerpc ============================================================================== --- head/sys/conf/options.powerpc Tue Nov 17 21:29:26 2015 (r291007) +++ head/sys/conf/options.powerpc Wed Nov 18 01:54:19 2015 (r291008) @@ -21,6 +21,7 @@ GFB_NO_MODE_CHANGE opt_gfb.h MPC85XX opt_platform.h POWERMAC opt_platform.h PS3 opt_platform.h +QORIQ_DPAA opt_platform.h MAMBO PSERIES PSIM Modified: head/sys/powerpc/mpc85xx/mpc85xx.c ============================================================================== --- head/sys/powerpc/mpc85xx/mpc85xx.c Tue Nov 17 21:29:26 2015 (r291007) +++ head/sys/powerpc/mpc85xx/mpc85xx.c Wed Nov 18 01:54:19 2015 (r291008) @@ -27,6 +27,7 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_platform.h" #include #include #include @@ -45,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include + /* * MPC85xx system specific routines */ @@ -70,70 +72,133 @@ int law_getmax(void) { uint32_t ver; + int law_max; ver = SVR_VER(mfspr(SPR_SVR)); - if (ver == SVR_MPC8555E || ver == SVR_MPC8555) - return (8); - if (ver == SVR_MPC8548E || ver == SVR_MPC8548 || - ver == SVR_MPC8533E || ver == SVR_MPC8533) - return (10); + switch (ver) { + case SVR_MPC8555: + case SVR_MPC8555E: + law_max = 8; + break; + case SVR_MPC8533: + case SVR_MPC8533E: + case SVR_MPC8548: + case SVR_MPC8548E: + law_max = 10; + break; + case SVR_P5020: + case SVR_P5020E: + law_max = 32; + break; + default: + law_max = 8; + } - return (12); + return (law_max); +} + +static inline void +law_write(uint32_t n, uint64_t bar, uint32_t sr) +{ +#if defined(QORIQ_DPAA) + ccsr_write4(OCP85XX_LAWBARH(n), bar >> 32); + ccsr_write4(OCP85XX_LAWBARL(n), bar); +#else + ccsr_write4(OCP85XX_LAWBAR(n), bar >> 12); +#endif + ccsr_write4(OCP85XX_LAWSR(n), sr); + + /* + * The last write to LAWAR should be followed by a read + * of LAWAR before any device try to use any of windows. + * What more the read of LAWAR should be followed by isync + * instruction. + */ + + ccsr_read4(OCP85XX_LAWSR(n)); + isync(); +} + +static inline void +law_read(uint32_t n, uint64_t *bar, uint32_t *sr) +{ +#if defined(QORIQ_DPAA) + *bar = (uint64_t)ccsr_read4(OCP85XX_LAWBARH(n)) << 32 | + ccsr_read4(OCP85XX_LAWBARL(n)); +#else + *bar = (uint64_t)ccsr_read4(OCP85XX_LAWBAR(n)) << 12; +#endif + *sr = ccsr_read4(OCP85XX_LAWSR(n)); +} + +static int +law_find_free(void) +{ + uint32_t i,sr; + uint64_t bar; + int law_max; + + law_max = law_getmax(); + /* Find free LAW */ + for (i = 0; i < law_max; i++) { + law_read(i, &bar, &sr); + if ((sr & 0x80000000) == 0) + break; + } + + return (i); } #define _LAW_SR(trgt,size) (0x80000000 | (trgt << 20) | (ffsl(size) - 2)) -#define _LAW_BAR(addr) (addr >> 12) int -law_enable(int trgt, u_long addr, u_long size) +law_enable(int trgt, uint64_t bar, uint32_t size) { - uint32_t bar, sr; + uint64_t bar_tmp; + uint32_t sr, sr_tmp; int i, law_max; if (size == 0) return (0); law_max = law_getmax(); - bar = _LAW_BAR(addr); sr = _LAW_SR(trgt, size); /* Bail if already programmed. */ - for (i = 0; i < law_max; i++) - if (sr == ccsr_read4(OCP85XX_LAWSR(i)) && - bar == ccsr_read4(OCP85XX_LAWBAR(i))) + for (i = 0; i < law_max; i++) { + law_read(i, &bar_tmp, &sr_tmp); + if (sr == sr_tmp && bar == bar_tmp) return (0); + } /* Find an unused access window. */ - for (i = 0; i < law_max; i++) - if ((ccsr_read4(OCP85XX_LAWSR(i)) & 0x80000000) == 0) - break; + i = law_find_free(); if (i == law_max) return (ENOSPC); - ccsr_write4(OCP85XX_LAWBAR(i), bar); - ccsr_write4(OCP85XX_LAWSR(i), sr); + law_write(i, bar, sr); return (0); } int -law_disable(int trgt, u_long addr, u_long size) +law_disable(int trgt, uint64_t bar, uint32_t size) { - uint32_t bar, sr; + uint64_t bar_tmp; + uint32_t sr, sr_tmp; int i, law_max; law_max = law_getmax(); - bar = _LAW_BAR(addr); sr = _LAW_SR(trgt, size); /* Find and disable requested LAW. */ - for (i = 0; i < law_max; i++) - if (sr == ccsr_read4(OCP85XX_LAWSR(i)) && - bar == ccsr_read4(OCP85XX_LAWBAR(i))) { - ccsr_write4(OCP85XX_LAWBAR(i), 0); - ccsr_write4(OCP85XX_LAWSR(i), 0); + for (i = 0; i < law_max; i++) { + law_read(i, &bar_tmp, &sr_tmp); + if (sr == sr_tmp && bar == bar_tmp) { + law_write(i, 0, 0); return (0); } + } return (ENOENT); } @@ -152,18 +217,22 @@ law_pci_target(struct resource *res, int rv = 0; trgt = -1; switch (start) { + case 0x0000: case 0x8000: trgt = 0; break; + case 0x1000: case 0x9000: trgt = 1; break; + case 0x2000: case 0xa000: if (ver == SVR_MPC8548E || ver == SVR_MPC8548) trgt = 3; else trgt = 2; break; + case 0x3000: case 0xb000: if (ver == SVR_MPC8548E || ver == SVR_MPC8548) rv = EINVAL; Modified: head/sys/powerpc/mpc85xx/mpc85xx.h ============================================================================== --- head/sys/powerpc/mpc85xx/mpc85xx.h Tue Nov 17 21:29:26 2015 (r291007) +++ head/sys/powerpc/mpc85xx/mpc85xx.h Wed Nov 18 01:54:19 2015 (r291008) @@ -48,14 +48,35 @@ extern vm_offset_t ccsrbar_va; /* * Local access registers */ -#define OCP85XX_LAWBAR(n) (CCSRBAR_VA + 0xc08 + 0x20 * (n)) -#define OCP85XX_LAWSR(n) (CCSRBAR_VA + 0xc10 + 0x20 * (n)) - -#define OCP85XX_TGTIF_LBC 4 -#define OCP85XX_TGTIF_RAM_INTL 11 -#define OCP85XX_TGTIF_RIO 12 -#define OCP85XX_TGTIF_RAM1 15 -#define OCP85XX_TGTIF_RAM2 22 +#if defined(QORIQ_DPAA) +/* Write order: OCP_LAWBARH -> OCP_LAWBARL -> OCP_LAWSR */ +#define OCP85XX_LAWBARH(n) (CCSRBAR_VA + 0xc00 + 0x10 * (n)) +#define OCP85XX_LAWBARL(n) (CCSRBAR_VA + 0xc04 + 0x10 * (n)) +#define OCP85XX_LAWSR(n) (CCSRBAR_VA + 0xc08 + 0x10 * (n)) +#else +#define OCP85XX_LAWBAR(n) (CCSRBAR_VA + 0xc08 + 0x10 * (n)) +#define OCP85XX_LAWSR(n) (CCSRBAR_VA + 0xc10 + 0x10 * (n)) +#endif + +/* Attribute register */ +#define OCP85XX_ENA_MASK 0x80000000 +#define OCP85XX_DIS_MASK 0x7fffffff + +#if defined(QORIQ_DPAA) +#define OCP85XX_TGTIF_LBC 0x1f +#define OCP85XX_TGTIF_RAM_INTL 0x14 +#define OCP85XX_TGTIF_RAM1 0x10 +#define OCP85XX_TGTIF_RAM2 0x11 +#define OCP85XX_TGTIF_BMAN 0x18 +#define OCP85XX_TGTIF_QMAN 0x3C +#define OCP85XX_TRGT_SHIFT 20 +#else +#define OCP85XX_TGTIF_LBC 0x04 +#define OCP85XX_TGTIF_RAM_INTL 0x0b +#define OCP85XX_TGTIF_RIO 0x0c +#define OCP85XX_TGTIF_RAM1 0x0f +#define OCP85XX_TGTIF_RAM2 0x16 +#endif /* * L2 cache registers @@ -81,8 +102,8 @@ extern vm_offset_t ccsrbar_va; */ uint32_t ccsr_read4(uintptr_t addr); void ccsr_write4(uintptr_t addr, uint32_t val); -int law_enable(int trgt, u_long addr, u_long size); -int law_disable(int trgt, u_long addr, u_long size); +int law_enable(int trgt, uint64_t bar, uint32_t size); +int law_disable(int trgt, uint64_t bar, uint32_t size); int law_getmax(void); int law_pci_target(struct resource *, int *, int *); From owner-svn-src-head@freebsd.org Wed Nov 18 02:18:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84583A2ECD2; Wed, 18 Nov 2015 02:18:15 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46E7A1E18; Wed, 18 Nov 2015 02:18:15 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAI2IEtW007106; Wed, 18 Nov 2015 02:18:14 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAI2IE8V007105; Wed, 18 Nov 2015 02:18:14 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201511180218.tAI2IE8V007105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Wed, 18 Nov 2015 02:18:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291009 - head/sys/powerpc/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.20 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, 18 Nov 2015 02:18:15 -0000 Author: jhibbits Date: Wed Nov 18 02:18:14 2015 New Revision: 291009 URL: https://svnweb.freebsd.org/changeset/base/291009 Log: Physical addresses for e500mc/e5500 are 36-bits, e6500 is 40-bits. Increase BUS_SPACE_MAXADDR to allow for this. Sponsored by: Alex Perez/Inertial Computing Modified: head/sys/powerpc/include/bus.h Modified: head/sys/powerpc/include/bus.h ============================================================================== --- head/sys/powerpc/include/bus.h Wed Nov 18 01:54:19 2015 (r291008) +++ head/sys/powerpc/include/bus.h Wed Nov 18 02:18:14 2015 (r291009) @@ -79,9 +79,14 @@ #define BUS_SPACE_MAXADDR 0xFFFFFFFFFFFFFFFFUL #define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFFUL #else +#ifdef BOOKE +#define BUS_SPACE_MAXADDR 0xFFFFFFFFFFULL +#define BUS_SPACE_MAXSIZE 0xFFFFFFFFUL +#else #define BUS_SPACE_MAXADDR 0xFFFFFFFFUL #define BUS_SPACE_MAXSIZE 0xFFFFFFFFUL #endif +#endif #define BUS_SPACE_MAP_CACHEABLE 0x01 #define BUS_SPACE_MAP_LINEAR 0x02 From owner-svn-src-head@freebsd.org Wed Nov 18 04:17:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06AB2A2FA7E; Wed, 18 Nov 2015 04:17:05 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E96251620; Wed, 18 Nov 2015 04:17:04 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id E7AEE1AB7; Wed, 18 Nov 2015 04:17:04 +0000 (UTC) Date: Wed, 18 Nov 2015 04:17:04 +0000 From: Alexey Dokuchaev To: Garrett Cooper Cc: Baptiste Daroussin , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r290976 - head Message-ID: <20151118041704.GA69581@FreeBSD.org> References: <201511171218.tAHCIwZJ091369@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 18 Nov 2015 04:17:05 -0000 On Tue, Nov 17, 2015 at 08:43:26AM -0800, Garrett Cooper wrote: > > On Nov 17, 2015, at 04:18, Baptiste Daroussin wrote: > > New Revision: 290976 > > URL: https://svnweb.freebsd.org/changeset/base/290976 > > > > + Due to a bug in install(1) it is recommanded to remove the ancient > > + locales before running make installworld > > *recommended *sigh* and missing full stop. Guys, please, when hunting for typos and grammar mistakes try to cover them all. ./danfe From owner-svn-src-head@freebsd.org Wed Nov 18 06:24:23 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C927A3130C; Wed, 18 Nov 2015 06:24:23 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EF1EE18D1; Wed, 18 Nov 2015 06:24:22 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAI6OLHn080769; Wed, 18 Nov 2015 06:24:21 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAI6OLB5080767; Wed, 18 Nov 2015 06:24:21 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201511180624.tAI6OLB5080767@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Wed, 18 Nov 2015 06:24:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291010 - in head/sys: conf dev/uart 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.20 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, 18 Nov 2015 06:24:23 -0000 Author: adrian Date: Wed Nov 18 06:24:21 2015 New Revision: 291010 URL: https://svnweb.freebsd.org/changeset/base/291010 Log: uart(4) - make the 8250 uart baudrate tolerance build time tweakable. It turns out on a 16550 w/ a 25MHz SoC reference clock you get a little over 3% error at 115200 baud, which causes this to fail. Just .. cope. Things cope these days. Default to 30 (3.0%) as before, but allow UART_DEV_TOLERANCE_PCT to be set at build time to change that. Modified: head/sys/conf/options head/sys/dev/uart/uart_dev_ns8250.c Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Wed Nov 18 02:18:14 2015 (r291009) +++ head/sys/conf/options Wed Nov 18 06:24:21 2015 (r291010) @@ -650,6 +650,7 @@ BKTR_NEW_MSP34XX_DRIVER opt_bktr.h # Options for uart(4) UART_PPS_ON_CTS opt_uart.h UART_POLL_FREQ opt_uart.h +UART_DEV_TOLERANCE_PCT opt_uart.h # options for bus/device framework BUS_DEBUG opt_bus.h Modified: head/sys/dev/uart/uart_dev_ns8250.c ============================================================================== --- head/sys/dev/uart/uart_dev_ns8250.c Wed Nov 18 02:18:14 2015 (r291009) +++ head/sys/dev/uart/uart_dev_ns8250.c Wed Nov 18 06:24:21 2015 (r291010) @@ -25,6 +25,7 @@ */ #include "opt_platform.h" +#include "opt_uart.h" #include __FBSDID("$FreeBSD$"); @@ -57,6 +58,16 @@ __FBSDID("$FreeBSD$"); #define DEFAULT_RCLK 1843200 +/* + * Set the default baudrate tolerance to 3.0%. + * + * Some embedded boards have odd reference clocks (eg 25MHz) + * and we need to handle higher variances in the target baud rate. + */ +#ifndef UART_DEV_TOLERANCE_PCT +#define UART_DEV_TOLERANCE_PCT 30 +#endif /* UART_DEV_TOLERANCE_PCT */ + static int broken_txfifo = 0; SYSCTL_INT(_hw, OID_AUTO, broken_txfifo, CTLFLAG_RWTUN, &broken_txfifo, 0, "UART FIFO has QEMU emulation bug"); @@ -123,8 +134,8 @@ ns8250_divisor(int rclk, int baudrate) /* 10 times error in percent: */ error = ((actual_baud - baudrate) * 2000 / baudrate + 1) >> 1; - /* 3.0% maximum error tolerance: */ - if (error < -30 || error > 30) + /* enforce maximum error tolerance: */ + if (error < -UART_DEV_TOLERANCE_PCT || error > UART_DEV_TOLERANCE_PCT) return (0); return (divisor); From owner-svn-src-head@freebsd.org Wed Nov 18 06:25:27 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 19037A31395; Wed, 18 Nov 2015 06:25:27 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E21891ACD; Wed, 18 Nov 2015 06:25:26 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAI6PPgS081050; Wed, 18 Nov 2015 06:25:25 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAI6PPLP081046; Wed, 18 Nov 2015 06:25:25 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201511180625.tAI6PPLP081046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Wed, 18 Nov 2015 06:25:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291011 - head/sys/mips/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.20 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, 18 Nov 2015 06:25:27 -0000 Author: adrian Date: Wed Nov 18 06:25:25 2015 New Revision: 291011 URL: https://svnweb.freebsd.org/changeset/base/291011 Log: Add the QCA9533 base configuration file and an example configuration for the AP143. Wifi doesn't work on the QCA9533 board, but basic ethernet/ethernet and ethernet switch support does work. The AP143 has 32MB RAM and 4MB flash, so this was tested with a USB rootfs. Tested: * QCA9533v2, AP143 reference design board. Added: head/sys/mips/conf/AP143 (contents, props changed) head/sys/mips/conf/AP143.hints (contents, props changed) head/sys/mips/conf/QCA953X_BASE (contents, props changed) head/sys/mips/conf/QCA953X_BASE.hints (contents, props changed) Added: head/sys/mips/conf/AP143 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/AP143 Wed Nov 18 06:25:25 2015 (r291011) @@ -0,0 +1,51 @@ +# +# AP143 - the AP143 reference board from Qualcomm Atheros includes: +# +# * AR9330 SoC +# * 32MB RAM +# * 4MB flash +# * Integrated 1x1 2GHz wifi and 10/100 bridge +# +# $FreeBSD$ +# + +# Include the default QCA953x parameters +include "QCA953X_BASE" + +ident AP143 + +# Override hints with board values +hints "AP143.hints" + +# Force the board memory - the base AP121 only has 16MB RAM +options AR71XX_REALMEM=(32*1024*1024) + +# i2c GPIO bus +#device gpioiic +#device iicbb +#device iicbus +#device iic + +# Options required for miiproxy and mdiobus +options ARGE_MDIO # Export an MDIO bus separate from arge +device miiproxy # MDIO bus <-> MII PHY rendezvous + +device etherswitch +device arswitch + +# read MSDOS formatted disks - USB +#options MSDOSFS + +# Enable the uboot environment stuff rather then the +# redboot stuff. +options AR71XX_ENV_UBOOT + +# uzip - to boot natively from flash +device geom_uncompress +options GEOM_UNCOMPRESS + +# Used for the static uboot partition map +device geom_map + +# Boot off of the rootfs, as defined in the geom_map setup. +options ROOTDEVNAME=\"ufs:map/rootfs.uncompress\" Added: head/sys/mips/conf/AP143.hints ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/AP143.hints Wed Nov 18 06:25:25 2015 (r291011) @@ -0,0 +1,105 @@ +# +# This file adds to the values in QCA953X_BASE.hints. +# +# $FreeBSD$ + +# Embedded Atheros Switch +hint.arswitch.0.at="mdio1" +hint.arswitch.0.is_7240=0 +hint.arswitch.0.is_9340=1 +hint.arswitch.0.numphys=4 +hint.arswitch.0.phy4cpu=1 # phy 4 is a "CPU" separate PHY +hint.arswitch.0.is_rgmii=0 +hint.arswitch.0.is_gmii=1 # arge1 <-> switch PHY is GMII + +# arge0 - MII, autoneg, phy(4) +# MAC for arge0 is the first 6 bytes of the ART +hint.arge.0.eeprommac=0x1fff0000 +hint.arge.0.phymask=0x10 # PHY4 +hint.arge.0.mdio=mdioproxy2 # .. off of the switch mdiobus + +# arge1 - GMII, 1000/full +hint.arge.1.eeprommac=0x1fff0006 +hint.arge.1.phymask=0x0 # No directly mapped PHYs +hint.arge.1.media=1000 +hint.arge.1.fduplex=1 + +# The AP121 4MB flash layout: +# +# bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs +# init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env), +# 2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART) +# +# So: +# 256k: uboot +# 64: uboot-env +# 2752k: rootfs +# 896k: kernel +# 64k: config +# 64k: ART + +hint.map.0.at="flash/spi0" +hint.map.0.start=0x00000000 +hint.map.0.end=0x000040000 +hint.map.0.name="uboot" +hint.map.0.readonly=1 + +hint.map.1.at="flash/spi0" +hint.map.1.start=0x00040000 +hint.map.1.end=0x00050000 +hint.map.1.name="uboot-env" +hint.map.1.readonly=0 + +hint.map.2.at="flash/spi0" +hint.map.2.start=0x00050000 +hint.map.2.end=0x00300000 +hint.map.2.name="rootfs" +hint.map.2.readonly=0 + +hint.map.3.at="flash/spi0" +hint.map.3.start=0x00300000 +hint.map.3.end=0x003e0000 +hint.map.3.name="kernel" +hint.map.3.readonly=0 + +hint.map.4.at="flash/spi0" +hint.map.4.start=0x003e0000 +hint.map.4.end=0x003f0000 +hint.map.4.name="cfg" +hint.map.4.readonly=0 + +# This is radio calibration section. It is (or should be!) unique +# for each board, to take into account thermal and electrical differences +# as well as the regulatory compliance data. +# +hint.map.5.at="flash/spi0" +hint.map.5.start=0x003f0000 +hint.map.5.end=0x00400000 +hint.map.5.name="art" +hint.map.5.readonly=1 + +# GPIO specific configuration block + +# Don't flip on anything that isn't already enabled. +# This includes leaving the SPI CS1/CS2 pins as GPIO pins as they're +# not used here. +hint.gpio.0.function_set=0x00000000 +hint.gpio.0.function_clear=0x00000000 + +# These are the GPIO LEDs and buttons which can be software controlled. +#hint.gpio.0.pinmask=0x001c02ae +# hint.gpio.0.pinmask=0x00001803 + +# gpio0 - WLAN LED +# gpio1 - USB LED +# gpio11 - Jumpstart button +# gpio12 - Reset button + +# LEDs are configured separately and driven by the LED device +#hint.gpioled.0.at="gpiobus0" +#hint.gpioled.0.name="wlan" +#hint.gpioled.0.pins=0x0001 + +#hint.gpioled.1.at="gpiobus0" +#hint.gpioled.1.name="usb" +#hint.gpioled.1.pins=0x0002 Added: head/sys/mips/conf/QCA953X_BASE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/QCA953X_BASE Wed Nov 18 06:25:25 2015 (r291011) @@ -0,0 +1,138 @@ +# +# QCA953x -- Kernel configuration base file for the Qualcomm Atheros QCA953x SoC. +# +# This file (and the hints file accompanying it) are not designed to be +# used by themselves. Instead, users of this file should create a kernel +# config file which includes this file (which gets the basic hints), then +# override the default options (adding devices as needed) and adding +# hints as needed (for example, the GPIO and LAN PHY.) +# +# $FreeBSD$ +# + +machine mips mips +ident QCA953X_BASE +cpu CPU_MIPS4KC +makeoptions KERNLOADADDR=0x80050000 +options HZ=1000 + +files "../atheros/files.ar71xx" +hints "QCA953X_BASE.hints" + +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +makeoptions MODULES_OVERRIDE="gpio ar71xx if_gif if_vlan if_gre if_bridge bridgestp usb wlan wlan_xauth wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_rssadapt wlan_amrr hwpmc ipfw" + +options DDB +options KDB +options ALQ +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER + +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +#options INET6 #InterNETworking +#options NFSCL #Network Filesystem Client +options PSEUDOFS #Pseudo-filesystem framework +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions + +# Don't include the SCSI/CAM strings in the default build +options SCSI_NO_SENSE_STRINGS +options SCSI_NO_OP_STRINGS + +# .. And no sysctl strings +options NO_SYSCTL_DESCR + +# For small memory footprints +options VM_KMEM_SIZE_SCALE=1 + +# Limit IO size +options NBUF=128 + +# Limit UMTX hash size +# options UMTX_NUM_CHAINS=64 + +#options UMA_DEBUG_ALLOC + +# PMC +options HWPMC_HOOKS +#options HWPMC_MIPS_BACKTRACE +device hwpmc +device hwpmc_mips24k + +options ARGE_DEBUG + +# options NFS_LEGACYRPC +# Debugging for use in -current +options INVARIANTS +options INVARIANT_SUPPORT +options WITNESS +options WITNESS_SKIPSPIN +options FFS #Berkeley Fast Filesystem +#options SOFTUPDATES #Enable FFS soft updates support +#options UFS_ACL #Support for access control lists +#options UFS_DIRHASH #Improve performance on big directories +options NO_FFS_SNAPSHOT # We don't require snapshot support + +options IPFIREWALL_DEFAULT_TO_ACCEPT + +# Wireless NIC cards +options IEEE80211_DEBUG +options IEEE80211_SUPPORT_MESH +options IEEE80211_SUPPORT_TDMA +options IEEE80211_SUPPORT_SUPERG +options IEEE80211_ALQ # 802.11 ALQ logging support +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_xauth # 802.11 hostap support + +# ath(4) +device ath # Atheros network device +device ath_rate_sample +device ath_ahb # Atheros host bus glue +options ATH_DEBUG +options ATH_DIAGAPI +option ATH_ENABLE_11N +option AH_DEBUG_ALQ + +#device ath_hal +device ath_ar9300 # AR9330 HAL; no need for the others +option AH_DEBUG +option AH_SUPPORT_AR5416 # 11n HAL support +option AH_SUPPORT_AR9330 # Chipset support +option AH_AR5416_INTERRUPT_MITIGATION + +device mii +device arge + +device usb +options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order +options USB_DEBUG +options USB_HOST_ALIGN=32 # AR71XX (MIPS in general?) requires this +device ehci + +device scbus +device umass +device da + +device spibus +device ar71xx_spi +device mx25l +device ar71xx_wdog + +# Handle 25MHz refclock by allowing a higher baudrate error tolerance. +device uart +device uart_ar71xx +options UART_DEV_TOLERANCE_PCT=50 + +device ar71xx_apb + +device loop +device ether +device md +device bpf +device random +device if_bridge +device gpio +device gpioled Added: head/sys/mips/conf/QCA953X_BASE.hints ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/QCA953X_BASE.hints Wed Nov 18 06:25:25 2015 (r291011) @@ -0,0 +1,75 @@ +# This file (and the kernel config file accompanying it) are not designed +# to be used by themselves. Instead, users of this file should create a +# kernel # config file which includes this file (which gets the basic hints), +# then override the default options (adding devices as needed) and adding +# hints as needed (for example, the GPIO and LAN PHY.) + +# $FreeBSD$ + +hint.apb.0.at="nexus0" +hint.apb.0.irq=4 + +# mdiobus on arge0 - required to bring up arge0 +hint.argemdio.0.at="nexus0" +hint.argemdio.0.maddr=0x19000000 +hint.argemdio.0.msize=0x1000 +hint.argemdio.0.order=0 + +# mdiobus on arge1 - this is what the internal switch is hooked into. +hint.argemdio.1.at="nexus0" +hint.argemdio.1.maddr=0x1a000000 +hint.argemdio.1.msize=0x1000 +hint.argemdio.1.order=0 + +# uart0 +hint.uart.0.at="apb0" +# see atheros/uart_cpu_ar71xx.c why +3 +hint.uart.0.maddr=0x18020003 +hint.uart.0.msize=0x18 +hint.uart.0.irq=3 + +# ehci - on IP3 +hint.ehci.0.at="nexus0" +hint.ehci.0.maddr=0x1b000100 +hint.ehci.0.msize=0x00ffff00 +hint.ehci.0.irq=1 + +hint.arge.0.at="nexus0" +hint.arge.0.maddr=0x19000000 +hint.arge.0.msize=0x1000 +hint.arge.0.irq=2 + +hint.arge.1.at="nexus0" +hint.arge.1.maddr=0x1a000000 +hint.arge.1.msize=0x1000 +hint.arge.1.irq=3 + +# XXX The ath device hangs off of the AHB, rather than the Nexus. +hint.ath.0.at="nexus0" +hint.ath.0.maddr=0x18100000 +hint.ath.0.msize=0x20000 +hint.ath.0.irq=0 +hint.ath.0.vendor_id=0x168c +# XXX for now this is 0x00ff because there's no HAL support +# yet for honeybee. +hint.ath.0.device_id=0x00ff +# Set this to define where the ath calibration data +# should be fetched from in physical memory. +# hint.ath.0.eepromaddr=0x1fff1000 + +# SPI flash +hint.spi.0.at="nexus0" +hint.spi.0.maddr=0x1f000000 +hint.spi.0.msize=0x10 + +hint.mx25l.0.at="spibus0" +hint.mx25l.0.cs=0 + +# Watchdog +hint.ar71xx_wdog.0.at="nexus0" + +# The GPIO function and pin mask is configured per-board +hint.gpio.0.at="apb0" +hint.gpio.0.maddr=0x18040000 +hint.gpio.0.msize=0x1000 +hint.gpio.0.irq=2 From owner-svn-src-head@freebsd.org Wed Nov 18 09:42:38 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36C5AA3185E; Wed, 18 Nov 2015 09:42:38 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01B271366; Wed, 18 Nov 2015 09:42:37 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAI9gbTH059577; Wed, 18 Nov 2015 09:42:37 GMT (envelope-from smh@FreeBSD.org) Received: (from smh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAI9gbsj059576; Wed, 18 Nov 2015 09:42:37 GMT (envelope-from smh@FreeBSD.org) Message-Id: <201511180942.tAI9gbsj059576@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: smh set sender to smh@FreeBSD.org using -f From: Steven Hartland Date: Wed, 18 Nov 2015 09:42:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291012 - head/sys/boot/common 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.20 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, 18 Nov 2015 09:42:38 -0000 Author: smh Date: Wed Nov 18 09:42:36 2015 New Revision: 291012 URL: https://svnweb.freebsd.org/changeset/base/291012 Log: Document loader(8) dumpdev option Add an entry for dumpdev environment variable to loader(8). MFC after: 1 week Sponsored by: Multiplay Modified: head/sys/boot/common/loader.8 Modified: head/sys/boot/common/loader.8 ============================================================================== --- head/sys/boot/common/loader.8 Wed Nov 18 06:25:25 2015 (r291011) +++ head/sys/boot/common/loader.8 Wed Nov 18 09:42:36 2015 (r291012) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 25, 2015 +.Dd November 18, 2015 .Dt LOADER 8 .Os .Sh NAME @@ -471,6 +471,14 @@ userland output (e.g.\& from .It Va currdev Selects the default device. Syntax for devices is odd. +.It Va dumpdev +Sets the device for kernel dumps. +This can be used to ensure that a device is configured before the corresponding +.Va dumpdev +directive from +.Xr rc.conf 5 +has been processed, allowing kernel panics that happen during the early stages +of boot to be captured. .It Va init_chroot If set to a valid directory in the root file system, it causes .Xr init 8 From owner-svn-src-head@freebsd.org Wed Nov 18 11:15:01 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6362FA313C7; Wed, 18 Nov 2015 11:15:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23E011CFB; Wed, 18 Nov 2015 11:15:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIBF0Wa089560; Wed, 18 Nov 2015 11:15:00 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIBExI4089547; Wed, 18 Nov 2015 11:14:59 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511181114.tAIBExI4089547@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 18 Nov 2015 11:14:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291013 - head/sys/dev/isp 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.20 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, 18 Nov 2015 11:15:01 -0000 Author: mav Date: Wed Nov 18 11:14:59 2015 New Revision: 291013 URL: https://svnweb.freebsd.org/changeset/base/291013 Log: Remove some confusions between loopid and nphdl. Modern cards in most cases operate abstract port handles, that have no any relation to real loop IDs. Leave loopid used only where it really goes about local loop IDs. While there, fix few more cases where LUNs were still printed in decimal. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_freebsd.c head/sys/dev/isp/isp_library.c head/sys/dev/isp/isp_library.h head/sys/dev/isp/isp_target.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Wed Nov 18 09:42:36 2015 (r291012) +++ head/sys/dev/isp/isp.c Wed Nov 18 11:14:59 2015 (r291013) @@ -70,7 +70,7 @@ __FBSDID("$FreeBSD$"); */ static const char fconf[] = "Chan %d PortDB[%d] changed:\n current =(0x%x@0x%06x 0x%08x%08x 0x%08x%08x)\n database=(0x%x@0x%06x 0x%08x%08x 0x%08x%08x)"; static const char notresp[] = "Not RESPONSE in RESPONSE Queue (type 0x%x) @ idx %d (next %d) nlooked %d"; -static const char topology[] = "Chan %d WWPN 0x%08x%08x PortID 0x%06x handle 0x%x, Connection '%s'"; +static const char topology[] = "Chan %d WWPN 0x%08x%08x PortID 0x%06x LoopID 0x%x Connection '%s'"; static const char bun[] = "bad underrun (count %d, resid %d, status %s)"; static const char lipd[] = "Chan %d LIP destroyed %d active commands"; static const char sacq[] = "unable to acquire scratch area"; @@ -2689,7 +2689,7 @@ static void isp_dump_chip_portdb(ispsoftc_t *isp, int chan, int dolock) { isp_pdb_t pdb; - int lim, loopid; + uint16_t lim, nphdl; isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGINFO, "Chan %d chip port dump", chan); if (ISP_CAP_2KLOGIN(isp)) { @@ -2697,20 +2697,20 @@ isp_dump_chip_portdb(ispsoftc_t *isp, in } else { lim = NPH_MAX; } - for (loopid = 0; loopid != lim; loopid++) { - if (isp_getpdb(isp, chan, loopid, &pdb, dolock)) { + for (nphdl = 0; nphdl != lim; nphdl++) { + if (isp_getpdb(isp, chan, nphdl, &pdb, dolock)) { continue; } - isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGINFO, "Chan %d Loopid 0x%04x " + isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGINFO, "Chan %d Handle 0x%04x " "PortID 0x%06x WWPN 0x%02x%02x%02x%02x%02x%02x%02x%02x", - chan, loopid, pdb.portid, pdb.portname[0], pdb.portname[1], + chan, nphdl, pdb.portid, pdb.portname[0], pdb.portname[1], pdb.portname[2], pdb.portname[3], pdb.portname[4], pdb.portname[5], pdb.portname[6], pdb.portname[7]); } } static uint64_t -isp_get_wwn(ispsoftc_t *isp, int chan, int loopid, int nodename) +isp_get_wwn(ispsoftc_t *isp, int chan, int nphdl, int nodename) { uint64_t wwn = INI_NONE; mbreg_t mbs; @@ -2718,14 +2718,14 @@ isp_get_wwn(ispsoftc_t *isp, int chan, i MBSINIT(&mbs, MBOX_GET_PORT_NAME, MBLOGALL & ~MBLOGMASK(MBOX_COMMAND_PARAM_ERROR), 500000); if (ISP_CAP_2KLOGIN(isp)) { - mbs.param[1] = loopid; + mbs.param[1] = nphdl; if (nodename) { mbs.param[10] = 1; } mbs.param[9] = chan; } else { mbs.ibitm = 3; - mbs.param[1] = loopid << 8; + mbs.param[1] = nphdl << 8; if (nodename) { mbs.param[1] |= 1; } @@ -2767,7 +2767,7 @@ isp_fclink_test(ispsoftc_t *isp, int cha { mbreg_t mbs; int check_for_fabric, r; - int loopid; + uint16_t nphdl; fcparam *fcp; fcportdb_t *lp; isp_pdb_t pdb; @@ -2880,12 +2880,12 @@ isp_fclink_test(ispsoftc_t *isp, int cha if (IS_24XX(isp)) { /* XXX SHOULDN'T THIS BE FOR 2K F/W? XXX */ - loopid = NPH_FL_ID; + nphdl = NPH_FL_ID; } else { - loopid = FL_ID; + nphdl = FL_ID; } if (check_for_fabric) { - r = isp_getpdb(isp, chan, loopid, &pdb, 1); + r = isp_getpdb(isp, chan, nphdl, &pdb, 1); if (r && (fcp->isp_topo == TOPO_F_PORT || fcp->isp_topo == TOPO_FL_PORT)) { isp_prt(isp, ISP_LOGWARN, "fabric topology but cannot get info about fabric controller (0x%x)", r); fcp->isp_topo = TOPO_PTP_STUB; @@ -3494,7 +3494,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha { fcparam *fcp = FCPARAM(isp, chan); uint32_t portid; - uint16_t handle, loopid; + uint16_t nphdl; isp_pdb_t pdb; int portidx, portlim, r; sns_gid_ft_rsp_t *rs0, *rs1; @@ -3533,11 +3533,11 @@ abort: * Make sure we still are logged into the fabric controller. */ if (IS_24XX(isp)) { /* XXX SHOULDN'T THIS BE TRUE FOR 2K F/W? XXX */ - loopid = NPH_FL_ID; + nphdl = NPH_FL_ID; } else { - loopid = FL_ID; + nphdl = FL_ID; } - r = isp_getpdb(isp, chan, loopid, &pdb, 0); + r = isp_getpdb(isp, chan, nphdl, &pdb, 0); if ((r & 0xffff) == MBOX_NOT_LOGGED_IN) { isp_dump_chip_portdb(isp, chan, 0); } @@ -3898,7 +3898,7 @@ abort: goto abort; } - handle = pdb.handle; + nphdl = pdb.handle; MAKE_WWN_FROM_NODE_NAME(wwnn, pdb.nodename); MAKE_WWN_FROM_NODE_NAME(wwpn, pdb.portname); nr = pdb.prli_word3; @@ -3921,7 +3921,7 @@ abort: if (dbidx == MAX_FC_TARG) { ISP_MEMZERO(lp, sizeof (fcportdb_t)); - lp->handle = handle; + lp->handle = nphdl; lp->node_wwn = wwnn; lp->port_wwn = wwpn; lp->new_portid = portid; @@ -3951,7 +3951,7 @@ abort: * are different, it maybe a changed device. */ lp = &fcp->portdb[dbidx]; - lp->handle = handle; + lp->handle = nphdl; lp->node_wwn = wwnn; lp->new_portid = portid; lp->new_prli_word3 = nr; @@ -4033,7 +4033,7 @@ isp_login_device(ispsoftc_t *isp, int ch i = lim; break; } else if ((r & 0xffff) == MBOX_LOOP_ID_USED) { - /* Try the next loop id. */ + /* Try the next handle. */ handle = isp_next_handle(isp, ohp); } else { /* Give up. */ Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Wed Nov 18 09:42:36 2015 (r291012) +++ head/sys/dev/isp/isp_freebsd.c Wed Nov 18 11:14:59 2015 (r291013) @@ -604,7 +604,7 @@ ispioctl(struct cdev *dev, u_long c, cad { int needmarker; struct isp_fc_tsk_mgmt *fct = (struct isp_fc_tsk_mgmt *) addr; - uint16_t loopid; + uint16_t nphdl; mbreg_t mbs; if (IS_SCSI(isp)) { @@ -618,7 +618,7 @@ ispioctl(struct cdev *dev, u_long c, cad } needmarker = retval = 0; - loopid = fct->loopid; + nphdl = fct->loopid; ISP_LOCK(isp); if (IS_24XX(isp)) { uint8_t local[QENTRY_LEN]; @@ -630,7 +630,7 @@ ispioctl(struct cdev *dev, u_long c, cad for (i = 0; i < MAX_FC_TARG; i++) { lp = &fcp->portdb[i]; - if (lp->handle == loopid) { + if (lp->handle == nphdl) { break; } } @@ -714,34 +714,34 @@ ispioctl(struct cdev *dev, u_long c, cad } else { MBSINIT(&mbs, 0, MBLOGALL, 0); if (ISP_CAP_2KLOGIN(isp) == 0) { - loopid <<= 8; + nphdl <<= 8; } switch (fct->action) { case IPT_CLEAR_ACA: mbs.param[0] = MBOX_CLEAR_ACA; - mbs.param[1] = loopid; + mbs.param[1] = nphdl; mbs.param[2] = fct->lun; break; case IPT_TARGET_RESET: mbs.param[0] = MBOX_TARGET_RESET; - mbs.param[1] = loopid; + mbs.param[1] = nphdl; needmarker = 1; break; case IPT_LUN_RESET: mbs.param[0] = MBOX_LUN_RESET; - mbs.param[1] = loopid; + mbs.param[1] = nphdl; mbs.param[2] = fct->lun; needmarker = 1; break; case IPT_CLEAR_TASK_SET: mbs.param[0] = MBOX_CLEAR_TASK_SET; - mbs.param[1] = loopid; + mbs.param[1] = nphdl; mbs.param[2] = fct->lun; needmarker = 1; break; case IPT_ABORT_TASK_SET: mbs.param[0] = MBOX_ABORT_TASK_SET; - mbs.param[1] = loopid; + mbs.param[1] = nphdl; mbs.param[2] = fct->lun; needmarker = 1; break; @@ -1107,7 +1107,7 @@ isp_dump_atpd(ispsoftc_t *isp, tstate_t const char *states[8] = { "Free", "ATIO", "CAM", "CTIO", "LAST_CTIO", "PDON", "?6", "7" }; for (atp = tptr->atpool; atp < &tptr->atpool[ATPDPSIZE]; atp++) { - xpt_print(tptr->owner, "ATP: [0x%x] origdlen %u bytes_xfrd %u lun %u nphdl 0x%04x s_id 0x%06x d_id 0x%06x oxid 0x%04x state %s\n", + xpt_print(tptr->owner, "ATP: [0x%x] origdlen %u bytes_xfrd %u lun %x nphdl 0x%04x s_id 0x%06x d_id 0x%06x oxid 0x%04x state %s\n", atp->tag, atp->orig_datalen, atp->bytes_xfered, atp->lun, atp->nphdl, atp->sid, atp->portid, atp->oxid, states[atp->state & 0x7]); } } @@ -2295,7 +2295,7 @@ isp_handle_platform_atio(ispsoftc_t *isp * should, in fact, get this, is in the case that we've * run out of ATIOS. */ - xpt_print(tptr->owner, "no %s for lun %d from initiator %d\n", (atp == NULL && atiop == NULL)? "ATIOs *or* ATPS" : + xpt_print(tptr->owner, "no %s for lun %x from initiator %d\n", (atp == NULL && atiop == NULL)? "ATIOs *or* ATPS" : ((atp == NULL)? "ATPs" : "ATIOs"), aep->at_lun, aep->at_iid); isp_endcmd(isp, aep, SCSI_STATUS_BUSY, 0); if (atp) { @@ -2347,7 +2347,7 @@ isp_handle_platform_atio(ispsoftc_t *isp atp->cdb0 = atiop->cdb_io.cdb_bytes[0]; atp->tattr = aep->at_tag_type; atp->state = ATPD_STATE_CAM; - isp_prt(isp, ISP_LOGTDEBUG0, "ATIO[0x%x] CDB=0x%x lun %d", aep->at_tag_val, atp->cdb0, atp->lun); + isp_prt(isp, ISP_LOGTDEBUG0, "ATIO[0x%x] CDB=0x%x lun %x", aep->at_tag_val, atp->cdb0, atp->lun); rls_lun_statep(isp, tptr); } @@ -3103,8 +3103,8 @@ isp_handle_platform_notify_fc(ispsoftc_t case IN_ABORT_TASK: { tstate_t *tptr; - uint16_t lun; - uint32_t loopid, sid; + uint16_t nphdl, lun; + uint32_t sid; uint64_t wwn; atio_private_data_t *atp; fcportdb_t *lp; @@ -3119,11 +3119,11 @@ isp_handle_platform_notify_fc(ispsoftc_t lun = inp->in_lun; } if (ISP_CAP_2KLOGIN(isp)) { - loopid = ((in_fcentry_e_t *)inp)->in_iid; + nphdl = ((in_fcentry_e_t *)inp)->in_iid; } else { - loopid = inp->in_iid; + nphdl = inp->in_iid; } - if (isp_find_pdb_by_handle(isp, 0, loopid, &lp)) { + if (isp_find_pdb_by_handle(isp, 0, nphdl, &lp)) { wwn = lp->port_wwn; sid = lp->portid; } else { @@ -3134,7 +3134,7 @@ isp_handle_platform_notify_fc(ispsoftc_t if (tptr == NULL) { tptr = get_lun_statep(isp, 0, CAM_LUN_WILDCARD); if (tptr == NULL) { - isp_prt(isp, ISP_LOGWARN, "ABORT TASK for lun %u- but no tstate", lun); + isp_prt(isp, ISP_LOGWARN, "ABORT TASK for lun %x, but no tstate", lun); return; } } @@ -3159,7 +3159,7 @@ isp_handle_platform_notify_fc(ispsoftc_t nt->nt_hba = isp; nt->nt_tgt = FCPARAM(isp, 0)->isp_wwpn; nt->nt_wwn = wwn; - nt->nt_nphdl = loopid; + nt->nt_nphdl = nphdl; nt->nt_sid = sid; nt->nt_did = PORT_ANY; nt->nt_lun = lun; Modified: head/sys/dev/isp/isp_library.c ============================================================================== --- head/sys/dev/isp/isp_library.c Wed Nov 18 09:42:36 2015 (r291012) +++ head/sys/dev/isp/isp_library.c Wed Nov 18 11:14:59 2015 (r291013) @@ -2483,7 +2483,7 @@ isp_find_pdb_by_wwn(ispsoftc_t *isp, int #ifdef ISP_TARGET_MODE int -isp_find_pdb_by_handle(ispsoftc_t *isp, int chan, uint32_t handle, fcportdb_t **lptr) +isp_find_pdb_by_handle(ispsoftc_t *isp, int chan, uint16_t handle, fcportdb_t **lptr) { fcparam *fcp; int i; Modified: head/sys/dev/isp/isp_library.h ============================================================================== --- head/sys/dev/isp/isp_library.h Wed Nov 18 09:42:36 2015 (r291012) +++ head/sys/dev/isp/isp_library.h Wed Nov 18 11:14:59 2015 (r291013) @@ -173,7 +173,7 @@ void isp_destroy_tgt_handle(ispsoftc_t * #endif int isp_find_pdb_by_wwn(ispsoftc_t *, int, uint64_t, fcportdb_t **); #ifdef ISP_TARGET_MODE -int isp_find_pdb_by_handle(ispsoftc_t *, int, uint32_t, fcportdb_t **); +int isp_find_pdb_by_handle(ispsoftc_t *, int, uint16_t, fcportdb_t **); int isp_find_pdb_by_sid(ispsoftc_t *, int, uint32_t, fcportdb_t **); void isp_find_chan_by_did(ispsoftc_t *, uint32_t, uint16_t *); void isp_add_wwn_entry(ispsoftc_t *, int, uint64_t, uint64_t, uint16_t, uint32_t, uint16_t); Modified: head/sys/dev/isp/isp_target.c ============================================================================== --- head/sys/dev/isp/isp_target.c Wed Nov 18 09:42:36 2015 (r291012) +++ head/sys/dev/isp/isp_target.c Wed Nov 18 11:14:59 2015 (r291013) @@ -52,8 +52,8 @@ __FBSDID("$FreeBSD$"); #endif #ifdef ISP_TARGET_MODE -static const char atiocope[] = "ATIO returned for lun %d because it was in the middle of Bus Device Reset on bus %d"; -static const char atior[] = "ATIO returned on for lun %d on from loopid %d because a Bus Reset occurred on bus %d"; +static const char atiocope[] = "ATIO returned for LUN %x because it was in the middle of Bus Device Reset on bus %d"; +static const char atior[] = "ATIO returned for LUN %x from handle 0x%x because a Bus Reset occurred on bus %d"; static const char rqo[] = "%s: Request Queue Overflow"; static void isp_got_msg(ispsoftc_t *, in_entry_t *); @@ -931,20 +931,20 @@ static void isp_got_msg_fc(ispsoftc_t *isp, in_fcentry_t *inp) { isp_notify_t notify; - static const char f1[] = "%s from N-port handle 0x%x lun %d seq 0x%x"; - static const char f2[] = "unknown %s 0x%x lun %d N-Port handle 0x%x task flags 0x%x seq 0x%x\n"; - uint16_t seqid, loopid; + static const char f1[] = "%s from N-port handle 0x%x lun %x seq 0x%x"; + static const char f2[] = "unknown %s 0x%x lun %x N-Port handle 0x%x task flags 0x%x seq 0x%x\n"; + uint16_t seqid, nphdl; ISP_MEMZERO(¬ify, sizeof (isp_notify_t)); notify.nt_hba = isp; notify.nt_wwn = INI_ANY; if (ISP_CAP_2KLOGIN(isp)) { notify.nt_nphdl = ((in_fcentry_e_t *)inp)->in_iid; - loopid = ((in_fcentry_e_t *)inp)->in_iid; + nphdl = ((in_fcentry_e_t *)inp)->in_iid; seqid = ((in_fcentry_e_t *)inp)->in_seqid; } else { notify.nt_nphdl = inp->in_iid; - loopid = inp->in_iid; + nphdl = inp->in_iid; seqid = inp->in_seqid; } notify.nt_sid = PORT_ANY; @@ -965,28 +965,28 @@ isp_got_msg_fc(ispsoftc_t *isp, in_fcent notify.nt_lreserved = inp; if (inp->in_status != IN_MSG_RECEIVED) { - isp_prt(isp, ISP_LOGINFO, f2, "immediate notify status", inp->in_status, notify.nt_lun, loopid, inp->in_task_flags, inp->in_seqid); + isp_prt(isp, ISP_LOGINFO, f2, "immediate notify status", inp->in_status, notify.nt_lun, nphdl, inp->in_task_flags, inp->in_seqid); isp_async(isp, ISPASYNC_TARGET_NOTIFY_ACK, inp); return; } if (inp->in_task_flags & TASK_FLAGS_ABORT_TASK_SET) { - isp_prt(isp, ISP_LOGINFO, f1, "ABORT TASK SET", loopid, notify.nt_lun, inp->in_seqid); + isp_prt(isp, ISP_LOGINFO, f1, "ABORT TASK SET", nphdl, notify.nt_lun, inp->in_seqid); notify.nt_ncode = NT_ABORT_TASK_SET; } else if (inp->in_task_flags & TASK_FLAGS_CLEAR_TASK_SET) { - isp_prt(isp, ISP_LOGINFO, f1, "CLEAR TASK SET", loopid, notify.nt_lun, inp->in_seqid); + isp_prt(isp, ISP_LOGINFO, f1, "CLEAR TASK SET", nphdl, notify.nt_lun, inp->in_seqid); notify.nt_ncode = NT_CLEAR_TASK_SET; } else if (inp->in_task_flags & TASK_FLAGS_LUN_RESET) { - isp_prt(isp, ISP_LOGINFO, f1, "LUN RESET", loopid, notify.nt_lun, inp->in_seqid); + isp_prt(isp, ISP_LOGINFO, f1, "LUN RESET", nphdl, notify.nt_lun, inp->in_seqid); notify.nt_ncode = NT_LUN_RESET; } else if (inp->in_task_flags & TASK_FLAGS_TARGET_RESET) { - isp_prt(isp, ISP_LOGINFO, f1, "TARGET RESET", loopid, notify.nt_lun, inp->in_seqid); + isp_prt(isp, ISP_LOGINFO, f1, "TARGET RESET", nphdl, notify.nt_lun, inp->in_seqid); notify.nt_ncode = NT_TARGET_RESET; } else if (inp->in_task_flags & TASK_FLAGS_CLEAR_ACA) { - isp_prt(isp, ISP_LOGINFO, f1, "CLEAR ACA", loopid, notify.nt_lun, inp->in_seqid); + isp_prt(isp, ISP_LOGINFO, f1, "CLEAR ACA", nphdl, notify.nt_lun, inp->in_seqid); notify.nt_ncode = NT_CLEAR_ACA; } else { - isp_prt(isp, ISP_LOGWARN, f2, "task flag", inp->in_status, notify.nt_lun, loopid, inp->in_task_flags, inp->in_seqid); + isp_prt(isp, ISP_LOGWARN, f2, "task flag", inp->in_status, notify.nt_lun, nphdl, inp->in_task_flags, inp->in_seqid); isp_async(isp, ISPASYNC_TARGET_NOTIFY_ACK, inp); return; } @@ -997,8 +997,8 @@ static void isp_got_tmf_24xx(ispsoftc_t *isp, at7_entry_t *aep) { isp_notify_t notify; - static const char f1[] = "%s from PortID 0x%06x lun %d seq 0x%08x"; - static const char f2[] = "unknown Task Flag 0x%x lun %d PortID 0x%x tag 0x%08x"; + static const char f1[] = "%s from PortID 0x%06x lun %x seq 0x%08x"; + static const char f2[] = "unknown Task Flag 0x%x lun %x PortID 0x%x tag 0x%08x"; uint16_t chan; uint32_t sid, did; @@ -1146,7 +1146,7 @@ isp_notify_ack(ispsoftc_t *isp, void *ar } else { isp_put_notify_ack_fc(isp, na, (na_fcentry_t *)outp); } - isp_prt(isp, ISP_LOGTDEBUG0, "notify ack loopid %u seqid %x flags %x tflags %x response %x", iid, na->na_seqid, + isp_prt(isp, ISP_LOGTDEBUG0, "notify ack handle %x seqid %x flags %x tflags %x response %x", iid, na->na_seqid, na->na_flags, na->na_task_flags, na->na_response); } else { na_entry_t *na = (na_entry_t *) storage; @@ -1166,7 +1166,7 @@ isp_notify_ack(ispsoftc_t *isp, void *ar na->na_header.rqs_entry_type = RQSTYPE_NOTIFY_ACK; na->na_header.rqs_entry_count = 1; isp_put_notify_ack(isp, na, (na_entry_t *)outp); - isp_prt(isp, ISP_LOGTDEBUG0, "notify ack loopid %u lun %u tgt %u seqid %x event %x", na->na_iid, na->na_lun, na->na_tgt, na->na_seqid, na->na_event); + isp_prt(isp, ISP_LOGTDEBUG0, "notify ack handle %x lun %x tgt %u seqid %x event %x", na->na_iid, na->na_lun, na->na_tgt, na->na_seqid, na->na_event); } ISP_TDQE(isp, "isp_notify_ack", isp->isp_reqidx, storage); ISP_SYNC_REQUEST(isp); @@ -1274,7 +1274,7 @@ isp_handle_atio(ispsoftc_t *isp, at_entr /* * ATIO rejected by the firmware due to disabled lun. */ - isp_prt(isp, ISP_LOGERR, "rejected ATIO for disabled lun %d", lun); + isp_prt(isp, ISP_LOGERR, "rejected ATIO for disabled lun %x", lun); break; case AT_NOCAP: /* @@ -1282,7 +1282,7 @@ isp_handle_atio(ispsoftc_t *isp, at_entr * We sent an ATIO that overflowed the firmware's * command resource count. */ - isp_prt(isp, ISP_LOGERR, "rejected ATIO for lun %d because of command count overflow", lun); + isp_prt(isp, ISP_LOGERR, "rejected ATIO for lun %x because of command count overflow", lun); break; case AT_BDR_MSG: @@ -1320,7 +1320,7 @@ isp_handle_atio(ispsoftc_t *isp, at_entr default: - isp_prt(isp, ISP_LOGERR, "Unknown ATIO status 0x%x from loopid %d for lun %d", aep->at_status, aep->at_iid, lun); + isp_prt(isp, ISP_LOGERR, "Unknown ATIO status 0x%x from handle %x for lun %x", aep->at_status, aep->at_iid, lun); (void) isp_target_put_atio(isp, aep); break; } @@ -1408,7 +1408,7 @@ isp_handle_atio2(ispsoftc_t *isp, at2_en default: - isp_prt(isp, ISP_LOGERR, "Unknown ATIO2 status 0x%x from loopid %d for lun %x", aep->at_status, iid, lun); + isp_prt(isp, ISP_LOGERR, "Unknown ATIO2 status 0x%x from handle %d for lun %x", aep->at_status, iid, lun); (void) isp_target_put_atio(isp, aep); break; } @@ -1483,7 +1483,7 @@ isp_handle_ctio(ispsoftc_t *isp, ct_entr * CTIO rejected by the firmware due to disabled lun. * "Cannot Happen". */ - isp_prt(isp, ISP_LOGERR, "Firmware rejected CTIO for disabled lun %d", ct->ct_lun); + isp_prt(isp, ISP_LOGERR, "Firmware rejected CTIO for disabled lun %x", ct->ct_lun); break; case CT_NOPATH: @@ -1493,7 +1493,7 @@ isp_handle_ctio(ispsoftc_t *isp, ct_entr * we tried to access the bus while a non-disconnecting * command is in process. */ - isp_prt(isp, ISP_LOGERR, "Firmware rejected CTIO for bad nexus %d/%d/%d", ct->ct_iid, ct->ct_tgt, ct->ct_lun); + isp_prt(isp, ISP_LOGERR, "Firmware rejected CTIO for bad nexus %d/%d/%x", ct->ct_iid, ct->ct_tgt, ct->ct_lun); break; case CT_RSELTMO: From owner-svn-src-head@freebsd.org Wed Nov 18 12:39:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 23FF7A32DB3; Wed, 18 Nov 2015 12:39:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D6A9B122F; Wed, 18 Nov 2015 12:39:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAICdKE2012757; Wed, 18 Nov 2015 12:39:20 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAICdKaH012756; Wed, 18 Nov 2015 12:39:20 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511181239.tAICdKaH012756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 18 Nov 2015 12:39:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291014 - head/sys/dev/isp 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.20 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, 18 Nov 2015 12:39:22 -0000 Author: mav Date: Wed Nov 18 12:39:20 2015 New Revision: 291014 URL: https://svnweb.freebsd.org/changeset/base/291014 Log: Simplify fabric tasting code. Except cosmetic changes this removes fabric ports from our port database. It is always firmware duty to manage them, so driver don't need to worry. Modified: head/sys/dev/isp/isp.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Wed Nov 18 11:14:59 2015 (r291013) +++ head/sys/dev/isp/isp.c Wed Nov 18 12:39:20 2015 (r291014) @@ -2766,10 +2766,9 @@ static int isp_fclink_test(ispsoftc_t *isp, int chan, int usdelay) { mbreg_t mbs; - int check_for_fabric, r; + int r; uint16_t nphdl; fcparam *fcp; - fcportdb_t *lp; isp_pdb_t pdb; NANOTIME_T hra, hrb; @@ -2826,7 +2825,14 @@ isp_fclink_test(ispsoftc_t *isp, int cha } if (IS_2100(isp)) { - fcp->isp_topo = TOPO_NL_PORT; + /* + * Don't bother with fabric if we are using really old + * 2100 firmware. It's just not worth it. + */ + if (ISP_FW_NEWER_THAN(isp, 1, 15, 37)) + fcp->isp_topo = TOPO_FL_PORT; + else + fcp->isp_topo = TOPO_NL_PORT; } else { int topo = (int) mbs.param[6]; if (topo < TOPO_NL_PORT || topo > TOPO_PTP_STUB) { @@ -2836,22 +2842,6 @@ isp_fclink_test(ispsoftc_t *isp, int cha } fcp->isp_portid = mbs.param[2] | (mbs.param[3] << 16); - if (IS_2100(isp)) { - /* - * Don't bother with fabric if we are using really old - * 2100 firmware. It's just not worth it. - */ - if (ISP_FW_NEWER_THAN(isp, 1, 15, 37)) { - check_for_fabric = 1; - } else { - check_for_fabric = 0; - } - } else if (fcp->isp_topo == TOPO_FL_PORT || fcp->isp_topo == TOPO_F_PORT) { - check_for_fabric = 1; - } else { - check_for_fabric = 0; - } - /* * Check to make sure we got a valid loopid * The 24XX seems to mess this up for multiple channels. @@ -2878,54 +2868,22 @@ isp_fclink_test(ispsoftc_t *isp, int cha } } - - if (IS_24XX(isp)) { /* XXX SHOULDN'T THIS BE FOR 2K F/W? XXX */ - nphdl = NPH_FL_ID; - } else { - nphdl = FL_ID; - } - if (check_for_fabric) { + if (fcp->isp_topo == TOPO_F_PORT || fcp->isp_topo == TOPO_FL_PORT) { + nphdl = IS_24XX(isp) ? NPH_FL_ID : FL_ID; r = isp_getpdb(isp, chan, nphdl, &pdb, 1); - if (r && (fcp->isp_topo == TOPO_F_PORT || fcp->isp_topo == TOPO_FL_PORT)) { - isp_prt(isp, ISP_LOGWARN, "fabric topology but cannot get info about fabric controller (0x%x)", r); - fcp->isp_topo = TOPO_PTP_STUB; - } - } else { - r = -1; - } - if (r == 0) { - if (IS_2100(isp)) { - fcp->isp_topo = TOPO_FL_PORT; - } - if (pdb.portid == 0) { - /* - * Crock. - */ - fcp->isp_topo = TOPO_NL_PORT; + if (r != 0 || pdb.portid == 0) { + if (IS_2100(isp)) { + fcp->isp_topo = TOPO_NL_PORT; + } else { + isp_prt(isp, ISP_LOGWARN, + "fabric topology, but cannot get info about fabric controller (0x%x)", r); + fcp->isp_topo = TOPO_PTP_STUB; + } goto not_on_fabric; } - /* - * Save the Fabric controller's port database entry. - */ - lp = &fcp->portdb[FL_ID]; - lp->state = FC_PORTDB_STATE_PENDING_VALID; - MAKE_WWN_FROM_NODE_NAME(lp->node_wwn, pdb.nodename); - MAKE_WWN_FROM_NODE_NAME(lp->port_wwn, pdb.portname); - lp->prli_word3 = pdb.prli_word3; - lp->portid = pdb.portid; - lp->handle = pdb.handle; - lp->new_portid = lp->portid; - lp->new_prli_word3 = lp->prli_word3; if (IS_24XX(isp)) { - if (check_for_fabric) { - /* - * The mbs is still hanging out from the MBOX_GET_LOOP_ID above. - */ - fcp->isp_fabric_params = mbs.param[7]; - } else { - fcp->isp_fabric_params = 0; - } + fcp->isp_fabric_params = mbs.param[7]; fcp->isp_sns_hdl = NPH_SNS_ID; r = isp_register_fc4_type_24xx(isp, chan); if (r == 0) @@ -2938,11 +2896,9 @@ isp_fclink_test(ispsoftc_t *isp, int cha isp_prt(isp, ISP_LOGWARN|ISP_LOG_SANCFG, "%s: register fc4 type failed", __func__); return (-1); } - } else { -not_on_fabric: - fcp->portdb[FL_ID].state = FC_PORTDB_STATE_NIL; } +not_on_fabric: fcp->isp_gbspeed = 1; if (IS_23XX(isp) || IS_24XX(isp)) { MBSINIT(&mbs, MBOX_GET_SET_DATA_RATE, MBLOGALL, 3000000); @@ -3054,10 +3010,6 @@ isp_pdb_sync(ispsoftc_t *isp, int chan) lp->prli_word3 = lp->new_prli_word3; lp->state = FC_PORTDB_STATE_VALID; isp_async(isp, ISPASYNC_DEV_STAYED, chan, lp); - if (dbidx != FL_ID) { - lp->new_prli_word3 = 0; - lp->new_portid = 0; - } break; case FC_PORTDB_STATE_ZOMBIE: break; @@ -3532,11 +3484,7 @@ abort: /* * Make sure we still are logged into the fabric controller. */ - if (IS_24XX(isp)) { /* XXX SHOULDN'T THIS BE TRUE FOR 2K F/W? XXX */ - nphdl = NPH_FL_ID; - } else { - nphdl = FL_ID; - } + nphdl = IS_24XX(isp) ? NPH_FL_ID : FL_ID; r = isp_getpdb(isp, chan, nphdl, &pdb, 0); if ((r & 0xffff) == MBOX_NOT_LOGGED_IN) { isp_dump_chip_portdb(isp, chan, 0); @@ -3590,12 +3538,6 @@ abort: return (0); } - - /* - * If we get this far, we certainly still have the fabric controller. - */ - fcp->portdb[FL_ID].state = FC_PORTDB_STATE_PENDING_VALID; - /* * Go through the list and remove duplicate port ids. */ @@ -3840,10 +3782,6 @@ abort: dbidx = MAX_FC_TARG; for (lp = fcp->portdb; lp < &fcp->portdb[MAX_FC_TARG]; lp++) { - if (lp >= &fcp->portdb[FL_ID] && - lp <= &fcp->portdb[SNS_ID]) { - continue; - } if (lp->state == FC_PORTDB_STATE_NIL) { if (dbidx == MAX_FC_TARG) { dbidx = lp - fcp->portdb; @@ -3909,9 +3847,6 @@ abort: * WWNN/WWPN duple */ for (dbidx = 0; dbidx < MAX_FC_TARG; dbidx++) { - if (dbidx >= FL_ID && dbidx <= SNS_ID) { - continue; - } if ((fcp->portdb[dbidx].node_wwn == wwnn || fcp->portdb[dbidx].node_wwn == 0) && fcp->portdb[dbidx].port_wwn == wwpn) { From owner-svn-src-head@freebsd.org Wed Nov 18 13:19:36 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1E8E5A304A9; Wed, 18 Nov 2015 13:19:36 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DE9F811FF; Wed, 18 Nov 2015 13:19:35 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIDJYpZ024223; Wed, 18 Nov 2015 13:19:34 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIDJY7j024222; Wed, 18 Nov 2015 13:19:34 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511181319.tAIDJY7j024222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Wed, 18 Nov 2015 13:19:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291015 - head/lib/libcrypt/tests 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.20 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, 18 Nov 2015 13:19:36 -0000 Author: rodrigc Date: Wed Nov 18 13:19:34 2015 New Revision: 291015 URL: https://svnweb.freebsd.org/changeset/base/291015 Log: Temporarily comment out the libcrypt tests. They are emitting characters which are triggering a kyua bug which causes kyua to emit invalid XML. This invalid XML is causing false failures in Jenkins. On a separate note, kyua needs to be fixed with this: https://github.com/jmmv/kyua/pull/148 or something similar. Modified: head/lib/libcrypt/tests/Makefile Modified: head/lib/libcrypt/tests/Makefile ============================================================================== --- head/lib/libcrypt/tests/Makefile Wed Nov 18 12:39:20 2015 (r291014) +++ head/lib/libcrypt/tests/Makefile Wed Nov 18 13:19:34 2015 (r291015) @@ -1,12 +1,12 @@ # $FreeBSD$ -ATF_TESTS_C+= crypt_tests - -NETBSD_ATF_TESTS_C+= crypt_test - -CFLAGS+= -I${.CURDIR:H} -LIBADD= crypt - +#ATF_TESTS_C+= crypt_tests +# +#NETBSD_ATF_TESTS_C+= crypt_test +# +#CFLAGS+= -I${.CURDIR:H} +#LIBADD= crypt +# .include .include From owner-svn-src-head@freebsd.org Wed Nov 18 14:30:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF48EA31335; Wed, 18 Nov 2015 14:30:48 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-ig0-x229.google.com (mail-ig0-x229.google.com [IPv6:2607:f8b0:4001:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A784A13E3; Wed, 18 Nov 2015 14:30:48 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by igbxm8 with SMTP id xm8so39444693igb.1; Wed, 18 Nov 2015 06:30:48 -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:from:date:message-id :subject:to:cc:content-type; bh=Bf4rTWxcVgVEhxttGMQ+AJtETQzI4i3HXWnIBsquYiQ=; b=mnlPq6MsoDp+ayhGIflwT2AFfxXksLixQZTaimt6KEJ1D/o3iCZqRgRYsoYet5Q92p 7KYrJddNmer+EFh3ljfaz4t2t7hca9WMopEz4VTrvfoDbMVQCMf6pg0hIqDuEmW5wxoq BodK+0wZkPUZj9sliakGyuWf86fV9ysQ9F3ACSkei+zhaEXUZeAPl9ydzMa1BjqG46nH i+ax4CXSJ33wpzKznx86Wxrfz7q35DYA4tHcH6kSOW1uB6xRPFgug6KVPS2imqow02TQ nY4ed1g0x9RPNZVsu2FSra7A9oAqod7HB20KEhmPvri9ILUh7GeQp4lYAndIyK0Iy0Q3 8zMg== X-Received: by 10.50.20.100 with SMTP id m4mr7453035ige.33.1447857047852; Wed, 18 Nov 2015 06:30:47 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.169.85 with HTTP; Wed, 18 Nov 2015 06:30:28 -0800 (PST) In-Reply-To: <201511180942.tAI9gbsj059576@repo.freebsd.org> References: <201511180942.tAI9gbsj059576@repo.freebsd.org> From: Ed Maste Date: Wed, 18 Nov 2015 09:30:28 -0500 X-Google-Sender-Auth: icgR3dVOT09wButFRI-1Bn95qcU Message-ID: Subject: Re: svn commit: r291012 - head/sys/boot/common To: Steven Hartland Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 18 Nov 2015 14:30:49 -0000 On 18 November 2015 at 04:42, Steven Hartland wrote: > Author: smh > Date: Wed Nov 18 09:42:36 2015 > New Revision: 291012 > URL: https://svnweb.freebsd.org/changeset/base/291012 > > Log: > Document loader(8) dumpdev option Thank you! From owner-svn-src-head@freebsd.org Wed Nov 18 14:52:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6F088A31700; Wed, 18 Nov 2015 14:52:03 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A7C31F9C; Wed, 18 Nov 2015 14:52:03 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIEq2sI053166; Wed, 18 Nov 2015 14:52:02 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIEq1VT053162; Wed, 18 Nov 2015 14:52:01 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201511181452.tAIEq1VT053162@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Wed, 18 Nov 2015 14:52:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291016 - head/usr.sbin/pmcstat 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.20 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, 18 Nov 2015 14:52:03 -0000 Author: jtl Date: Wed Nov 18 14:52:01 2015 New Revision: 291016 URL: https://svnweb.freebsd.org/changeset/base/291016 Log: Support a wider history counter in pmcstat(8) gmon output pmcstat(8) contains an option to output sampling data in a gmon format compatible with gprof(1). Currently, it uses the default histcounter, which is an (unsigned short). With large sets of sampling data, it is possible to overflow the maximum value provided by an (unsigned short). This change adds the -e argument to pmcstat. If -e and -g are both specified, pmcstat will use a histcounter type of uint64_t. Differential Revision: https://reviews.freebsd.org/D4151 Reviewed by: jhb, bjk Approved by: gnn (mentor) MFC after: 1 month Sponsored by: Juniper Networks Modified: head/usr.sbin/pmcstat/pmcpl_gprof.c head/usr.sbin/pmcstat/pmcstat.8 head/usr.sbin/pmcstat/pmcstat.c head/usr.sbin/pmcstat/pmcstat.h Modified: head/usr.sbin/pmcstat/pmcpl_gprof.c ============================================================================== --- head/usr.sbin/pmcstat/pmcpl_gprof.c Wed Nov 18 13:19:34 2015 (r291015) +++ head/usr.sbin/pmcstat/pmcpl_gprof.c Wed Nov 18 14:52:01 2015 (r291016) @@ -74,6 +74,14 @@ __FBSDID("$FreeBSD$"); #include "pmcpl_callgraph.h" #include "pmcpl_gprof.h" +typedef uint64_t WIDEHISTCOUNTER; + +#define WIDEHISTCOUNTER_MAX UINT64_MAX +#define HISTCOUNTER_MAX USHRT_MAX +#define WIDEHISTCOUNTER_GMONTYPE ((int) 64) +#define HISTCOUNTER_GMONTYPE ((int) 0) +static int hc_sz=0; + /* * struct pmcstat_gmonfile tracks a given 'gmon.out' file. These * files are mmap()'ed in as needed. @@ -126,11 +134,13 @@ pmcstat_gmon_create_file(struct pmcstat_ gm.lpc = image->pi_start; gm.hpc = image->pi_end; - gm.ncnt = (pgf->pgf_nbuckets * sizeof(HISTCOUNTER)) + - sizeof(struct gmonhdr); + gm.ncnt = (pgf->pgf_nbuckets * hc_sz) + sizeof(struct gmonhdr); gm.version = GMONVERSION; gm.profrate = 0; /* use ticks */ - gm.histcounter_type = 0; /* compatibility with moncontrol() */ + if (args.pa_flags & FLAG_DO_WIDE_GPROF_HC) + gm.histcounter_type = WIDEHISTCOUNTER_GMONTYPE; + else + gm.histcounter_type = HISTCOUNTER_GMONTYPE; gm.spare[0] = gm.spare[1] = 0; /* Write out the gmon header */ @@ -400,6 +410,7 @@ pmcpl_gmon_process(struct pmcstat_proces struct pmcstat_gmonfile *pgf; uintfptr_t bucket; HISTCOUNTER *hc; + WIDEHISTCOUNTER *whc; pmc_id_t pmcid; (void) nsamples; (void) usermode; (void) cpu; @@ -437,6 +448,14 @@ pmcpl_gmon_process(struct pmcstat_proces */ pgf = pmcstat_image_find_gmonfile(image, pmcid); if (pgf == NULL) { + if (hc_sz == 0) { + /* Determine the correct histcounter size. */ + if (args.pa_flags & FLAG_DO_WIDE_GPROF_HC) + hc_sz = sizeof(WIDEHISTCOUNTER); + else + hc_sz = sizeof(HISTCOUNTER); + } + if ((pgf = calloc(1, sizeof(*pgf))) == NULL) err(EX_OSERR, "ERROR:"); @@ -448,7 +467,7 @@ pmcpl_gmon_process(struct pmcstat_proces pgf->pgf_nbuckets = (image->pi_end - image->pi_start) / FUNCTION_ALIGNMENT; /* see */ pgf->pgf_ndatabytes = sizeof(struct gmonhdr) + - pgf->pgf_nbuckets * sizeof(HISTCOUNTER); + pgf->pgf_nbuckets * hc_sz; pgf->pgf_nsamples = 0; pgf->pgf_file = NULL; @@ -474,14 +493,25 @@ pmcpl_gmon_process(struct pmcstat_proces assert(bucket < pgf->pgf_nbuckets); - hc = (HISTCOUNTER *) ((uintptr_t) pgf->pgf_gmondata + - sizeof(struct gmonhdr)); - - /* saturating add */ - if (hc[bucket] < 0xFFFFU) /* XXX tie this to sizeof(HISTCOUNTER) */ - hc[bucket]++; - else /* mark that an overflow occurred */ - pgf->pgf_overflow = 1; + if (args.pa_flags & FLAG_DO_WIDE_GPROF_HC) { + whc = (WIDEHISTCOUNTER *) ((uintptr_t) pgf->pgf_gmondata + + sizeof(struct gmonhdr)); + + /* saturating add */ + if (whc[bucket] < WIDEHISTCOUNTER_MAX) + whc[bucket]++; + else /* mark that an overflow occurred */ + pgf->pgf_overflow = 1; + } else { + hc = (HISTCOUNTER *) ((uintptr_t) pgf->pgf_gmondata + + sizeof(struct gmonhdr)); + + /* saturating add */ + if (hc[bucket] < HISTCOUNTER_MAX) + hc[bucket]++; + else /* mark that an overflow occurred */ + pgf->pgf_overflow = 1; + } pgf->pgf_nsamples++; } Modified: head/usr.sbin/pmcstat/pmcstat.8 ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.8 Wed Nov 18 13:19:34 2015 (r291015) +++ head/usr.sbin/pmcstat/pmcstat.8 Wed Nov 18 14:52:01 2015 (r291016) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 27, 2015 +.Dd November 17, 2015 .Dt PMCSTAT 8 .Os .Sh NAME @@ -49,6 +49,7 @@ .Op Fl a Ar pathname .Op Fl c Ar cpu-spec .Op Fl d +.Op Fl e .Op Fl f Ar pluginopt .Op Fl g .Op Fl k Ar kerneldir @@ -260,6 +261,12 @@ The default is to measure events for the .Fl P , or .Fl S ) . +.It Fl e +Specify that the gprof profile files will use a wide history counter. +These files are produced in a format compatible with +.Xr gprof 1 . +However, other tools that cannot fully parse a BSD-style +gmon header might be unable to correctly parse these files. .It Fl f Ar pluginopt Pass option string to the active plugin. .br Modified: head/usr.sbin/pmcstat/pmcstat.c ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.c Wed Nov 18 13:19:34 2015 (r291015) +++ head/usr.sbin/pmcstat/pmcstat.c Wed Nov 18 14:52:01 2015 (r291016) @@ -506,6 +506,7 @@ pmcstat_show_usage(void) "\t -a file\t print sampled PCs and callgraph to \"file\"\n" "\t -c cpu-list\t set cpus for subsequent system-wide PMCs\n" "\t -d\t\t (toggle) track descendants\n" + "\t -e\t\t use wide history counter for gprof(1) output\n" "\t -f spec\t pass \"spec\" to as plugin option\n" "\t -g\t\t produce gprof(1) compatible profiles\n" "\t -k dir\t\t set the path to the kernel\n" @@ -627,7 +628,7 @@ main(int argc, char **argv) CPU_COPY(&rootmask, &cpumask); while ((option = getopt(argc, argv, - "CD:EF:G:M:NO:P:R:S:TWa:c:df:gk:l:m:n:o:p:qr:s:t:vw:z:")) != -1) + "CD:EF:G:M:NO:P:R:S:TWa:c:def:gk:l:m:n:o:p:qr:s:t:vw:z:")) != -1) switch (option) { case 'a': /* Annotate + callgraph */ args.pa_flags |= FLAG_DO_ANNOTATE; @@ -668,6 +669,10 @@ main(int argc, char **argv) args.pa_required |= FLAG_HAS_PROCESS_PMCS; break; + case 'e': /* wide gprof metrics */ + args.pa_flags |= FLAG_DO_WIDE_GPROF_HC; + break; + case 'F': /* produce a system-wide calltree */ args.pa_flags |= FLAG_DO_CALLGRAPHS; args.pa_plugin = PMCSTAT_PL_CALLTREE; @@ -1022,6 +1027,13 @@ main(int argc, char **argv) "ERROR: options -g/-G/-m/-T require sampling PMCs or -R to be specified." ); + /* check if -e was specified without -g */ + if ((args.pa_flags & FLAG_DO_WIDE_GPROF_HC) && + !(args.pa_flags & FLAG_DO_GPROF)) + errx(EX_USAGE, +"ERROR: option -e requires gprof mode to be specified." + ); + /* check if -O was spuriously specified */ if ((args.pa_flags & FLAG_HAS_OUTPUT_LOGFILE) && (args.pa_required & FLAG_HAS_OUTPUT_LOGFILE) == 0) Modified: head/usr.sbin/pmcstat/pmcstat.h ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.h Wed Nov 18 13:19:34 2015 (r291015) +++ head/usr.sbin/pmcstat/pmcstat.h Wed Nov 18 14:52:01 2015 (r291016) @@ -55,6 +55,7 @@ #define FLAG_DO_ANALYSIS 0x00020000 /* -g or -G or -m or -T */ #define FLAGS_HAS_CPUMASK 0x00040000 /* -c */ #define FLAG_HAS_DURATION 0x00080000 /* -l secs */ +#define FLAG_DO_WIDE_GPROF_HC 0x00100000 /* -e */ #define DEFAULT_SAMPLE_COUNT 65536 #define DEFAULT_WAIT_INTERVAL 5.0 From owner-svn-src-head@freebsd.org Wed Nov 18 15:12:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 89F65A31DAC; Wed, 18 Nov 2015 15:12:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4FFED1BE3; Wed, 18 Nov 2015 15:12:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIFCOtx057004; Wed, 18 Nov 2015 15:12:24 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIFCOHD056992; Wed, 18 Nov 2015 15:12:24 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201511181512.tAIFCOHD056992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Wed, 18 Nov 2015 15:12:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291017 - head/usr.sbin/pmcstat 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.20 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, 18 Nov 2015 15:12:25 -0000 Author: jtl Date: Wed Nov 18 15:12:24 2015 New Revision: 291017 URL: https://svnweb.freebsd.org/changeset/base/291017 Log: Fix the date on the pmcstat(8) man page from r291016. Approved by: gnn (mentor) MFC after: 1 month X-MFC with: r291016 Pointy hat to: jtl Modified: head/usr.sbin/pmcstat/pmcstat.8 Modified: head/usr.sbin/pmcstat/pmcstat.8 ============================================================================== --- head/usr.sbin/pmcstat/pmcstat.8 Wed Nov 18 14:52:01 2015 (r291016) +++ head/usr.sbin/pmcstat/pmcstat.8 Wed Nov 18 15:12:24 2015 (r291017) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 17, 2015 +.Dd November 18, 2015 .Dt PMCSTAT 8 .Os .Sh NAME From owner-svn-src-head@freebsd.org Wed Nov 18 16:07:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 432D3A2BCC9; Wed, 18 Nov 2015 16:07:03 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B2291A65; Wed, 18 Nov 2015 16:07:03 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIG72TZ073816; Wed, 18 Nov 2015 16:07:02 GMT (envelope-from mmel@FreeBSD.org) Received: (from mmel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIG72qu073815; Wed, 18 Nov 2015 16:07:02 GMT (envelope-from mmel@FreeBSD.org) Message-Id: <201511181607.tAIG72qu073815@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmel set sender to mmel@FreeBSD.org using -f From: Michal Meloun Date: Wed, 18 Nov 2015 16:07:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291018 - 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.20 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, 18 Nov 2015 16:07:03 -0000 Author: mmel Date: Wed Nov 18 16:07:01 2015 New Revision: 291018 URL: https://svnweb.freebsd.org/changeset/base/291018 Log: ARM: Fix dma_dcache_sync() for early allocated memory. Drivers can request DMA to buffers that are not in memory represented in the vm page arrays. Because of this, store KVA of already mapped buffer to synclist and use it in dma_dcache_sync(). Reviewed by: jah Approved by: kib (mentor) Differential Revision: https://reviews.freebsd.org/D4120 Modified: head/sys/arm/arm/busdma_machdep-v6.c Modified: head/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- head/sys/arm/arm/busdma_machdep-v6.c Wed Nov 18 15:12:24 2015 (r291017) +++ head/sys/arm/arm/busdma_machdep-v6.c Wed Nov 18 16:07:01 2015 (r291018) @@ -117,8 +117,8 @@ struct bounce_page { struct sync_list { vm_offset_t vaddr; /* kva of client data */ + bus_addr_t paddr; /* physical address */ vm_page_t pages; /* starting page of client data */ - vm_offset_t dataoffs; /* page offset of client data */ bus_size_t datacount; /* client data count */ }; @@ -1076,17 +1076,19 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat sgsize); } else { if (map->sync_count > 0) - sl_end = VM_PAGE_TO_PHYS(sl->pages) + - sl->dataoffs + sl->datacount; + sl_end = sl->paddr + sl->datacount; if (map->sync_count == 0 || curaddr != sl_end) { if (++map->sync_count > dmat->nsegments) break; sl++; sl->vaddr = 0; + sl->paddr = curaddr; sl->datacount = sgsize; sl->pages = PHYS_TO_VM_PAGE(curaddr); - sl->dataoffs = curaddr & PAGE_MASK; + KASSERT(sl->pages != NULL, + ("%s: page at PA:0x%08lx is not in " + "vm_page_array", __func__, curaddr)); } else sl->datacount += sgsize; } @@ -1188,8 +1190,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm sgsize); } else { if (map->sync_count > 0) { - sl_pend = VM_PAGE_TO_PHYS(sl->pages) + - sl->dataoffs + sl->datacount; + sl_pend = sl->paddr + sl->datacount; sl_vend = sl->vaddr + sl->datacount; } @@ -1201,9 +1202,17 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm goto cleanup; sl++; sl->vaddr = kvaddr; + sl->paddr = curaddr; + if (kvaddr != 0) { + sl->pages = NULL; + } else { + sl->pages = PHYS_TO_VM_PAGE(curaddr); + KASSERT(sl->pages != NULL, + ("%s: page at PA:0x%08lx is not " + "in vm_page_array", __func__, + curaddr)); + } sl->datacount = sgsize; - sl->pages = PHYS_TO_VM_PAGE(curaddr); - sl->dataoffs = curaddr & PAGE_MASK; } else sl->datacount += sgsize; } @@ -1299,10 +1308,10 @@ dma_dcache_sync(struct sync_list *sl, bu vm_offset_t va, tempva; bus_size_t size; - offset = sl->dataoffs; + offset = sl->paddr & PAGE_MASK; m = sl->pages; size = sl->datacount; - pa = VM_PAGE_TO_PHYS(m) | offset; + pa = sl->paddr; for ( ; size != 0; size -= len, pa += len, offset = 0, ++m) { tempva = 0; @@ -1310,13 +1319,13 @@ dma_dcache_sync(struct sync_list *sl, bu len = min(PAGE_SIZE - offset, size); tempva = pmap_quick_enter_page(m); va = tempva | offset; + KASSERT(pa == (VM_PAGE_TO_PHYS(m) | offset), + ("unexpected vm_page_t phys: 0x%08x != 0x%08x", + VM_PAGE_TO_PHYS(m) | offset, pa)); } else { len = sl->datacount; va = sl->vaddr; } - KASSERT(pa == (VM_PAGE_TO_PHYS(m) | offset), - ("unexpected vm_page_t phys: 0x%08x != 0x%08x", - VM_PAGE_TO_PHYS(m) | offset, pa)); switch (op) { case BUS_DMASYNC_PREWRITE: From owner-svn-src-head@freebsd.org Wed Nov 18 16:52:21 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2300AA329F6; Wed, 18 Nov 2015 16:52:21 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E2AC31C16; Wed, 18 Nov 2015 16:52:20 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIGqKmU089094; Wed, 18 Nov 2015 16:52:20 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIGqKvf089093; Wed, 18 Nov 2015 16:52:20 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511181652.tAIGqKvf089093@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Wed, 18 Nov 2015 16:52:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291019 - 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.20 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, 18 Nov 2015 16:52:21 -0000 Author: bapt Date: Wed Nov 18 16:52:19 2015 New Revision: 291019 URL: https://svnweb.freebsd.org/changeset/base/291019 Log: Recommend only to remove the content of /usr/share/locale/ and not the directory Add a missing full stop Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Nov 18 16:07:01 2015 (r291018) +++ head/UPDATING Wed Nov 18 16:52:19 2015 (r291019) @@ -40,9 +40,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 collation results will be different. Due to a bug in install(1) it is recommended to remove the ancient - locales before running make installworld + locales before running make installworld. - rm -rf /usr/share/locale + rm -rf /usr/share/locale/* 20151030: The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring From owner-svn-src-head@freebsd.org Wed Nov 18 17:03:23 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9C8ACA32C8C; Wed, 18 Nov 2015 17:03:23 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E6C71305; Wed, 18 Nov 2015 17:03:23 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIH3Mgn092090; Wed, 18 Nov 2015 17:03:22 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIH3MBu092089; Wed, 18 Nov 2015 17:03:22 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201511181703.tAIH3MBu092089@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Wed, 18 Nov 2015 17:03:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291020 - 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.20 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, 18 Nov 2015 17:03:23 -0000 Author: nwhitehorn Date: Wed Nov 18 17:03:22 2015 New Revision: 291020 URL: https://svnweb.freebsd.org/changeset/base/291020 Log: Extend r270123 to run the brand info's header_supported() routine for branded as well as unbranded binaries. This will be required to add support for the new ELFv2 ABI on powerpc64, which is distinguished from ELFv1 by the contents of the ELF header's flags field. Reviewed by: imp MFC after: 2 weeks Modified: head/sys/kern/imgact_elf.c Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Wed Nov 18 16:52:19 2015 (r291019) +++ head/sys/kern/imgact_elf.c Wed Nov 18 17:03:22 2015 (r291020) @@ -286,8 +286,11 @@ __elfN(get_brandinfo)(struct image_param if (hdr->e_machine == bi->machine && (hdr->e_ident[EI_OSABI] == bi->brand || strncmp((const char *)&hdr->e_ident[OLD_EI_BRAND], - bi->compat_3_brand, strlen(bi->compat_3_brand)) == 0)) - return (bi); + bi->compat_3_brand, strlen(bi->compat_3_brand)) == 0)) { + /* Looks good, but give brand a chance to veto */ + if (!bi->header_supported || bi->header_supported(imgp)) + return (bi); + } } /* No known brand, see if the header is recognized by any brand */ From owner-svn-src-head@freebsd.org Wed Nov 18 17:52:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 97948A3154B; Wed, 18 Nov 2015 17:52:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 706FD1B0A; Wed, 18 Nov 2015 17:52:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIHqcXh006757; Wed, 18 Nov 2015 17:52:38 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIHqcdF006755; Wed, 18 Nov 2015 17:52:38 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511181752.tAIHqcdF006755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 18 Nov 2015 17:52:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291021 - in head: sbin 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.20 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, 18 Nov 2015 17:52:39 -0000 Author: bdrewery Date: Wed Nov 18 17:52:38 2015 New Revision: 291021 URL: https://svnweb.freebsd.org/changeset/base/291021 Log: Convert to SUBDIR.yes format. Reviewed by: imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4182 Modified: head/sbin/Makefile head/usr.sbin/Makefile Modified: head/sbin/Makefile ============================================================================== --- head/sbin/Makefile Wed Nov 18 17:03:22 2015 (r291020) +++ head/sbin/Makefile Wed Nov 18 17:52:38 2015 (r291021) @@ -70,66 +70,26 @@ SUBDIR=adjkerntz \ tunefs \ umount -.if ${MK_ATM} != "no" -SUBDIR+= atm -.endif - -.if ${MK_CASPER} != "no" -SUBDIR+= casperd -.endif - -.if ${MK_CCD} != "no" -SUBDIR+= ccdconfig -.endif - -.if ${MK_CXX} != "no" -SUBDIR+= devd -.endif - -.if ${MK_HAST} != "no" -SUBDIR+= hastctl -SUBDIR+= hastd -.endif - -.if ${MK_INET6} != "no" -SUBDIR+= ping6 -SUBDIR+= rtsol -.endif - -.if ${MK_IPFILTER} != "no" -SUBDIR+= ipf -.endif - -.if ${MK_IPFW} != "no" -SUBDIR+= ipfw -SUBDIR+= natd -.endif - -.if ${MK_ISCSI} != "no" -SUBDIR+= iscontrol -.endif - -.if ${MK_NAND} != "no" -SUBDIR+= nandfs -SUBDIR+= newfs_nandfs -.endif - -.if ${MK_PF} != "no" -SUBDIR+= pfctl -SUBDIR+= pflogd -.endif - -.if ${MK_QUOTAS} != "no" -SUBDIR+= quotacheck -.endif - -.if ${MK_ROUTED} != "no" -SUBDIR+= routed -.endif - -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_ATM}+= atm +SUBDIR.${MK_CASPER}+= casperd +SUBDIR.${MK_CCD}+= ccdconfig +SUBDIR.${MK_CXX}+= devd +SUBDIR.${MK_HAST}+= hastctl +SUBDIR.${MK_HAST}+= hastd +SUBDIR.${MK_INET6}+= ping6 +SUBDIR.${MK_INET6}+= rtsol +SUBDIR.${MK_IPFILTER}+= ipf +SUBDIR.${MK_IPFW}+= ipfw +SUBDIR.${MK_IPFW}+= natd +SUBDIR.${MK_ISCSI}+= iscontrol +SUBDIR.${MK_NAND}+= nandfs +SUBDIR.${MK_NAND}+= newfs_nandfs +SUBDIR.${MK_PF}+= pfctl +SUBDIR.${MK_PF}+= pflogd +SUBDIR.${MK_QUOTAS}+= quotacheck +SUBDIR.${MK_ROUTED}+= routed + +SUBDIR.${MK_TESTS}+= tests .include Modified: head/usr.sbin/Makefile ============================================================================== --- head/usr.sbin/Makefile Wed Nov 18 17:03:22 2015 (r291020) +++ head/usr.sbin/Makefile Wed Nov 18 17:52:38 2015 (r291021) @@ -48,7 +48,6 @@ SUBDIR= adduser \ mpsutil \ mptutil \ mtest \ - ${_mtree} \ newsyslog \ nfscbd \ nfsd \ @@ -57,7 +56,6 @@ SUBDIR= adduser \ nfsuserd \ nmtree \ nologin \ - ${_pc_sysinstall} \ pciconf \ periodic \ powerd \ @@ -100,254 +98,111 @@ SUBDIR= adduser \ # NB: keep these sorted by MK_* knobs -.if ${MK_ACCT} != "no" -SUBDIR+= accton -SUBDIR+= sa -.endif - -.if ${MK_AMD} != "no" -SUBDIR+= amd -.endif - -.if ${MK_AUDIT} != "no" -SUBDIR+= audit -SUBDIR+= auditd +SUBDIR.${MK_ACCT}+= accton +SUBDIR.${MK_ACCT}+= sa +SUBDIR.${MK_AMD}+= amd +SUBDIR.${MK_AUDIT}+= audit +SUBDIR.${MK_AUDIT}+= auditd .if ${MK_OPENSSL} != "no" -SUBDIR+= auditdistd -.endif -SUBDIR+= auditreduce -SUBDIR+= praudit -.endif - -.if ${MK_AUTHPF} != "no" -SUBDIR+= authpf -.endif - -.if ${MK_AUTOFS} != "no" -SUBDIR+= autofs -.endif - -.if ${MK_BLUETOOTH} != "no" -SUBDIR+= bluetooth -.endif - -.if ${MK_BOOTPARAMD} != "no" -SUBDIR+= bootparamd -.endif - -.if ${MK_BSDINSTALL} != "no" -SUBDIR+= bsdinstall -.endif - -.if ${MK_BSNMP} != "no" -SUBDIR+= bsnmpd -.endif - -.if ${MK_CTM} != "no" -SUBDIR+= ctm -.endif - -.if ${MK_FLOPPY} != "no" -SUBDIR+= fdcontrol -SUBDIR+= fdformat -SUBDIR+= fdread -SUBDIR+= fdwrite +SUBDIR.${MK_AUDIT}+= auditdistd .endif - -.if ${MK_FMTREE} != "no" -SUBDIR+= fmtree -.endif - -.if ${MK_FREEBSD_UPDATE} != "no" -SUBDIR+= freebsd-update -.endif - -.if ${MK_GSSAPI} != "no" -SUBDIR+= gssd -.endif - -.if ${MK_GPIO} != "no" -SUBDIR+= gpioctl -.endif - -.if ${MK_INET6} != "no" -SUBDIR+= ip6addrctl -SUBDIR+= mld6query -SUBDIR+= ndp -SUBDIR+= rip6query -SUBDIR+= route6d -SUBDIR+= rrenumd -SUBDIR+= rtadvctl -SUBDIR+= rtadvd -SUBDIR+= rtsold -SUBDIR+= traceroute6 -.endif - -.if ${MK_INETD} != "no" -SUBDIR+= inetd -.endif - -.if ${MK_IPFW} != "no" -SUBDIR+= ipfwpcap -.endif - -.if ${MK_ISCSI} != "no" -SUBDIR+= iscsid -.endif - -.if ${MK_JAIL} != "no" -SUBDIR+= jail -SUBDIR+= jexec -SUBDIR+= jls -.endif - +SUBDIR.${MK_AUDIT}+= auditreduce +SUBDIR.${MK_AUDIT}+= praudit +SUBDIR.${MK_AUTHPF}+= authpf +SUBDIR.${MK_AUTOFS}+= autofs +SUBDIR.${MK_BLUETOOTH}+= bluetooth +SUBDIR.${MK_BOOTPARAMD}+= bootparamd +SUBDIR.${MK_BSDINSTALL}+= bsdinstall +SUBDIR.${MK_BSNMP}+= bsnmpd +SUBDIR.${MK_CTM}+= ctm +SUBDIR.${MK_FLOPPY}+= fdcontrol +SUBDIR.${MK_FLOPPY}+= fdformat +SUBDIR.${MK_FLOPPY}+= fdread +SUBDIR.${MK_FLOPPY}+= fdwrite +SUBDIR.${MK_FMTREE}+= fmtree +SUBDIR.${MK_FREEBSD_UPDATE}+= freebsd-update +SUBDIR.${MK_GSSAPI}+= gssd +SUBDIR.${MK_GPIO}+= gpioctl +SUBDIR.${MK_INET6}+= ip6addrctl +SUBDIR.${MK_INET6}+= mld6query +SUBDIR.${MK_INET6}+= ndp +SUBDIR.${MK_INET6}+= rip6query +SUBDIR.${MK_INET6}+= route6d +SUBDIR.${MK_INET6}+= rrenumd +SUBDIR.${MK_INET6}+= rtadvctl +SUBDIR.${MK_INET6}+= rtadvd +SUBDIR.${MK_INET6}+= rtsold +SUBDIR.${MK_INET6}+= traceroute6 +SUBDIR.${MK_INETD}+= inetd +SUBDIR.${MK_IPFW}+= ipfwpcap +SUBDIR.${MK_ISCSI}+= iscsid +SUBDIR.${MK_JAIL}+= jail +SUBDIR.${MK_JAIL}+= jexec +SUBDIR.${MK_JAIL}+= jls # XXX MK_SYSCONS -.if ${MK_LEGACY_CONSOLE} != "no" -SUBDIR+= kbdcontrol -SUBDIR+= kbdmap -SUBDIR+= moused -SUBDIR+= vidcontrol -.endif - +SUBDIR.${MK_LEGACY_CONSOLE}+= kbdcontrol +SUBDIR.${MK_LEGACY_CONSOLE}+= kbdmap +SUBDIR.${MK_LEGACY_CONSOLE}+= moused +SUBDIR.${MK_LEGACY_CONSOLE}+= vidcontrol .if ${MK_LIBTHR} != "no" || ${MK_LIBPTHREAD} != "no" -.if ${MK_PPP} != "no" -SUBDIR+= pppctl -.endif -.if ${MK_NS_CACHING} != "no" -SUBDIR+= nscd -.endif -.endif - -.if ${MK_LPR} != "no" -SUBDIR+= lpr -.endif - -.if ${MK_MAN_UTILS} != "no" -SUBDIR+= manctl -.endif - -.if ${MK_NAND} != "no" -SUBDIR+= nandsim -SUBDIR+= nandtool -.endif - -.if ${MK_NETGRAPH} != "no" -SUBDIR+= flowctl -SUBDIR+= lmcconfig -SUBDIR+= ngctl -SUBDIR+= nghook -.endif - -.if ${MK_NIS} != "no" -SUBDIR+= rpc.yppasswdd -SUBDIR+= rpc.ypupdated -SUBDIR+= rpc.ypxfrd -SUBDIR+= ypbind -SUBDIR+= yp_mkdb -SUBDIR+= yppoll -SUBDIR+= yppush -SUBDIR+= ypserv -SUBDIR+= ypset -.endif - -.if ${MK_NTP} != "no" -SUBDIR+= ntp -.endif - -.if ${MK_OPENSSL} != "no" -SUBDIR+= keyserv -.endif - -.if ${MK_PC_SYSINSTALL} != "no" -_pc_sysinstall= pc-sysinstall -.endif - -.if ${MK_PF} != "no" -SUBDIR+= ftp-proxy -.endif - -.if ${MK_PKGBOOTSTRAP} != "no" -SUBDIR+= pkg -.endif - -# XXX MK_TOOLCHAIN? -.if ${MK_PMC} != "no" -SUBDIR+= pmcannotate -SUBDIR+= pmccontrol -SUBDIR+= pmcstat -SUBDIR+= pmcstudy -.endif - -.if ${MK_PORTSNAP} != "no" -SUBDIR+= portsnap -.endif - -.if ${MK_PPP} != "no" -SUBDIR+= ppp +SUBDIR.${MK_PPP}+= pppctl +SUBDIR.${MK_NS_CACHING}+= nscd .endif +SUBDIR.${MK_LPR}+= lpr +SUBDIR.${MK_MAN_UTILS}+= manctl +SUBDIR.${MK_NAND}+= nandsim +SUBDIR.${MK_NAND}+= nandtool +SUBDIR.${MK_NETGRAPH}+= flowctl +SUBDIR.${MK_NETGRAPH}+= lmcconfig +SUBDIR.${MK_NETGRAPH}+= ngctl +SUBDIR.${MK_NETGRAPH}+= nghook +SUBDIR.${MK_NIS}+= rpc.yppasswdd +SUBDIR.${MK_NIS}+= rpc.ypupdated +SUBDIR.${MK_NIS}+= rpc.ypxfrd +SUBDIR.${MK_NIS}+= ypbind +SUBDIR.${MK_NIS}+= yp_mkdb +SUBDIR.${MK_NIS}+= yppoll +SUBDIR.${MK_NIS}+= yppush +SUBDIR.${MK_NIS}+= ypserv +SUBDIR.${MK_NIS}+= ypset +SUBDIR.${MK_NTP}+= ntp +SUBDIR.${MK_OPENSSL}+= keyserv +SUBDIR.${MK_PC_SYSINSTALL}+= pc-sysinstall +SUBDIR.${MK_PF}+= ftp-proxy +SUBDIR.${MK_PKGBOOTSTRAP}+= pkg +SUBDIR.${MK_PMC}+= pmcannotate +SUBDIR.${MK_PMC}+= pmccontrol +SUBDIR.${MK_PMC}+= pmcstat +SUBDIR.${MK_PORTSNAP}+= portsnap +SUBDIR.${MK_PPP}+= ppp +SUBDIR.${MK_QUOTAS}+= edquota +SUBDIR.${MK_QUOTAS}+= quotaon +SUBDIR.${MK_QUOTAS}+= repquota +SUBDIR.${MK_RCMDS}+= rwhod +SUBDIR.${MK_RCS}+= etcupdate +SUBDIR.${MK_SENDMAIL}+= editmap +SUBDIR.${MK_SENDMAIL}+= mailstats +SUBDIR.${MK_SENDMAIL}+= makemap +SUBDIR.${MK_SENDMAIL}+= praliases +SUBDIR.${MK_SENDMAIL}+= sendmail +SUBDIR.${MK_TCP_WRAPPERS}+= tcpdchk +SUBDIR.${MK_TCP_WRAPPERS}+= tcpdmatch +SUBDIR.${MK_TIMED}+= timed +SUBDIR.${MK_TOOLCHAIN}+= config +SUBDIR.${MK_TOOLCHAIN}+= crunch +SUBDIR.${MK_UNBOUND}+= unbound +SUBDIR.${MK_USB}+= uathload +SUBDIR.${MK_USB}+= uhsoctl +SUBDIR.${MK_USB}+= usbconfig +SUBDIR.${MK_USB}+= usbdump +SUBDIR.${MK_UTMPX}+= ac +SUBDIR.${MK_UTMPX}+= lastlogin +SUBDIR.${MK_UTMPX}+= utx +SUBDIR.${MK_WIRELESS}+= ancontrol +SUBDIR.${MK_WIRELESS}+= wlandebug +SUBDIR.${MK_WIRELESS}+= wpa -.if ${MK_QUOTAS} != "no" -SUBDIR+= edquota -SUBDIR+= quotaon -SUBDIR+= repquota -.endif - -.if ${MK_RCMDS} != "no" -SUBDIR+= rwhod -.endif - -.if ${MK_RCS} != "no" -SUBDIR+= etcupdate -.endif - -.if ${MK_SENDMAIL} != "no" -SUBDIR+= editmap -SUBDIR+= mailstats -SUBDIR+= makemap -SUBDIR+= praliases -SUBDIR+= sendmail -.endif - -.if ${MK_TCP_WRAPPERS} != "no" -SUBDIR+= tcpdchk -SUBDIR+= tcpdmatch -.endif - -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif - -.if ${MK_TIMED} != "no" -SUBDIR+= timed -.endif - -.if ${MK_TOOLCHAIN} != "no" -SUBDIR+= config -SUBDIR+= crunch -.endif - -.if ${MK_UNBOUND} != "no" -SUBDIR+= unbound -.endif - -.if ${MK_USB} != "no" -SUBDIR+= uathload -SUBDIR+= uhsoctl -SUBDIR+= usbconfig -SUBDIR+= usbdump -.endif - -.if ${MK_UTMPX} != "no" -SUBDIR+= ac -SUBDIR+= lastlogin -SUBDIR+= utx -.endif - -.if ${MK_WIRELESS} != "no" -SUBDIR+= ancontrol -SUBDIR+= wlandebug -SUBDIR+= wpa -.endif +SUBDIR.${MK_TESTS}+= tests .include From owner-svn-src-head@freebsd.org Wed Nov 18 18:09:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C02EA317D9; Wed, 18 Nov 2015 18:09:50 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4706F10C4; Wed, 18 Nov 2015 18:09:50 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAII9ndA009906; Wed, 18 Nov 2015 18:09:49 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAII9nHD009905; Wed, 18 Nov 2015 18:09:49 GMT (envelope-from royger@FreeBSD.org) Message-Id: <201511181809.tAII9nHD009905@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Date: Wed, 18 Nov 2015 18:09:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291022 - head/sys/x86/x86 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.20 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, 18 Nov 2015 18:09:50 -0000 Author: royger Date: Wed Nov 18 18:09:49 2015 New Revision: 291022 URL: https://svnweb.freebsd.org/changeset/base/291022 Log: x86/intr: allow mutex recursion in intr_remove_handler This is needed so interrupt handlers can be removed while the PIC is resuming, it was previously not possible due to intr_resume holding the intr_table_lock and intr_remove_handler recursing on it. Sponsored by: Citrix Systems R&D Reviewed by: kib (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D4114 Modified: head/sys/x86/x86/intr_machdep.c Modified: head/sys/x86/x86/intr_machdep.c ============================================================================== --- head/sys/x86/x86/intr_machdep.c Wed Nov 18 17:52:38 2015 (r291021) +++ head/sys/x86/x86/intr_machdep.c Wed Nov 18 18:09:49 2015 (r291022) @@ -197,19 +197,28 @@ int intr_remove_handler(void *cookie) { struct intsrc *isrc; - int error; + int error, mtx_owned; isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - mtx_lock(&intr_table_lock); + /* + * Recursion is needed here so PICs can remove interrupts + * while resuming. It was previously not possible due to + * intr_resume holding the intr_table_lock and + * intr_remove_handler recursing on it. + */ + mtx_owned = mtx_owned(&intr_table_lock); + if (mtx_owned == 0) + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - mtx_unlock(&intr_table_lock); + if (mtx_owned == 0) + mtx_unlock(&intr_table_lock); } return (error); } From owner-svn-src-head@freebsd.org Wed Nov 18 18:10:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6F590A31839; Wed, 18 Nov 2015 18:10:29 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 393C41298; Wed, 18 Nov 2015 18:10:29 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIIASGC009990; Wed, 18 Nov 2015 18:10:28 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIIASn4009989; Wed, 18 Nov 2015 18:10:28 GMT (envelope-from royger@FreeBSD.org) Message-Id: <201511181810.tAIIASn4009989@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Date: Wed, 18 Nov 2015 18:10:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291023 - head/sys/x86/xen 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.20 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, 18 Nov 2015 18:10:29 -0000 Author: royger Date: Wed Nov 18 18:10:28 2015 New Revision: 291023 URL: https://svnweb.freebsd.org/changeset/base/291023 Log: xen/intr: properly dispose event channels on resume All event channels are torn down when performing a migration on Xen, make sure all handlers are also removed and the event channel structure is properly disposed so it can be reused. Sponsored by: Citrix Systems R&D MFC after: 2 weeks Modified: head/sys/x86/xen/xen_intr.c Modified: head/sys/x86/xen/xen_intr.c ============================================================================== --- head/sys/x86/xen/xen_intr.c Wed Nov 18 18:09:49 2015 (r291022) +++ head/sys/x86/xen/xen_intr.c Wed Nov 18 18:10:28 2015 (r291023) @@ -780,7 +780,10 @@ xen_intr_resume(struct pic *unused, bool xen_rebind_virq(isrc); break; default: + intr_remove_handler(isrc->xi_cookie); isrc->xi_cpu = 0; + isrc->xi_type = EVTCHN_TYPE_UNBOUND; + isrc->xi_cookie = NULL; break; } } From owner-svn-src-head@freebsd.org Wed Nov 18 18:11:21 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1E17CA3196C; Wed, 18 Nov 2015 18:11:21 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CFCED14EF; Wed, 18 Nov 2015 18:11:20 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIIBJrh010691; Wed, 18 Nov 2015 18:11:19 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIIBJTP010689; Wed, 18 Nov 2015 18:11:19 GMT (envelope-from royger@FreeBSD.org) Message-Id: <201511181811.tAIIBJTP010689@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Date: Wed, 18 Nov 2015 18:11:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291024 - in head/sys: dev/xen/control x86/xen 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.20 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, 18 Nov 2015 18:11:21 -0000 Author: royger Date: Wed Nov 18 18:11:19 2015 New Revision: 291024 URL: https://svnweb.freebsd.org/changeset/base/291024 Log: xen: fix dropping bitmap IPIs during resume Current Xen resume code clears all pending bitmap IPIs on resume, which is not correct. Instead re-inject bitmap IPI vectors on resume to all CPUs in order to acknowledge any pending bitmap IPIs. Sponsored by: Citrix Systems R&D MFC after: 2 weeks Modified: head/sys/dev/xen/control/control.c head/sys/x86/xen/hvm.c Modified: head/sys/dev/xen/control/control.c ============================================================================== --- head/sys/dev/xen/control/control.c Wed Nov 18 18:10:28 2015 (r291023) +++ head/sys/dev/xen/control/control.c Wed Nov 18 18:11:19 2015 (r291024) @@ -128,6 +128,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #include #include @@ -256,6 +258,8 @@ xctrl_suspend() gnttab_resume(NULL); #ifdef SMP + /* Send an IPI_BITMAP in case there are pending bitmap IPIs. */ + lapic_ipi_vectored(IPI_BITMAP_VECTOR, APIC_IPI_DEST_ALL); if (smp_started && !CPU_EMPTY(&cpu_suspend_map)) { /* * Now that event channels have been initialized, Modified: head/sys/x86/xen/hvm.c ============================================================================== --- head/sys/x86/xen/hvm.c Wed Nov 18 18:10:28 2015 (r291023) +++ head/sys/x86/xen/hvm.c Wed Nov 18 18:11:19 2015 (r291024) @@ -58,15 +58,8 @@ __FBSDID("$FreeBSD$"); #include /*--------------------------- Forward Declarations ---------------------------*/ -#ifdef SMP -static void xen_hvm_cpu_resume(void); -#endif static void xen_hvm_cpu_init(void); -/*---------------------------- Extern Declarations ---------------------------*/ -/* Variables used by mp_machdep to perform the bitmap IPI */ -extern volatile u_int cpu_ipi_pending[MAXCPU]; - /*-------------------------------- Local Types -------------------------------*/ enum xen_hvm_init_type { XEN_HVM_INIT_COLD, @@ -80,7 +73,7 @@ enum xen_domain_type xen_domain_type = X #ifdef SMP struct cpu_ops xen_hvm_cpu_ops = { .cpu_init = xen_hvm_cpu_init, - .cpu_resume = xen_hvm_cpu_resume + .cpu_resume = xen_hvm_cpu_init }; #endif @@ -107,23 +100,6 @@ int xen_disable_pv_nics = 0; TUNABLE_INT("hw.xen.disable_pv_disks", &xen_disable_pv_disks); TUNABLE_INT("hw.xen.disable_pv_nics", &xen_disable_pv_nics); -#ifdef SMP -/*---------------------- XEN diverged cpu operations -------------------------*/ -static void -xen_hvm_cpu_resume(void) -{ - u_int cpuid = PCPU_GET(cpuid); - - /* - * Reset pending bitmap IPIs, because Xen doesn't preserve pending - * event channels on migration. - */ - cpu_ipi_pending[cpuid] = 0; - - /* register vcpu_info area */ - xen_hvm_cpu_init(); -} -#endif /*---------------------- XEN Hypervisor Probe and Setup ----------------------*/ static uint32_t xen_hvm_cpuid_base(void) From owner-svn-src-head@freebsd.org Wed Nov 18 21:09:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1D2CEA32C5A; Wed, 18 Nov 2015 21:09:05 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C3AA71A57; Wed, 18 Nov 2015 21:09:04 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIL932F062874; Wed, 18 Nov 2015 21:09:03 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIL93n7062872; Wed, 18 Nov 2015 21:09:03 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201511182109.tAIL93n7062872@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Wed, 18 Nov 2015 21:09:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291025 - in head/bin/sh: . tests/parameters 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.20 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, 18 Nov 2015 21:09:05 -0000 Author: jilles Date: Wed Nov 18 21:09:03 2015 New Revision: 291025 URL: https://svnweb.freebsd.org/changeset/base/291025 Log: sh: Fix ""$@, which should not use the special case for "$@". "$@" should expand to no words if there are no positional parameters, but ""$@ should always expand to at least an empty word. Added: head/bin/sh/tests/parameters/positional8.0 (contents, props changed) Modified: head/bin/sh/expand.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Wed Nov 18 18:11:19 2015 (r291024) +++ head/bin/sh/expand.c Wed Nov 18 21:09:03 2015 (r291025) @@ -249,7 +249,8 @@ argstr(char *p, int flag) case CTLQUOTEMARK: lit_quoted = 1; /* "$@" syntax adherence hack */ - if (p[0] == CTLVAR && p[2] == '@' && p[3] == '=') + if (p[0] == CTLVAR && (p[1] & VSQUOTE) != 0 && + p[2] == '@' && p[3] == '=') break; if ((flag & EXP_FULL) != 0) USTPUTC(c, expdest); Added: head/bin/sh/tests/parameters/positional8.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/parameters/positional8.0 Wed Nov 18 21:09:03 2015 (r291025) @@ -0,0 +1,31 @@ +# $FreeBSD$ + +failures='' +ok='' + +testcase() { + code="$1" + expected="$2" + oIFS="$IFS" + eval "$code" + IFS='|' + result="$#|$*" + IFS="$oIFS" + if [ "x$result" = "x$expected" ]; then + ok=x$ok + else + failures=x$failures + echo "For $code, expected $expected actual $result" + fi +} + +testcase 'shift $#; set -- ""$*' '1|' +testcase 'shift $#; set -- $*""' '1|' +testcase 'shift $#; set -- ""$@' '1|' +testcase 'shift $#; set -- $@""' '1|' +testcase 'shift $#; set -- """$*"' '1|' +testcase 'shift $#; set -- "$*"""' '1|' +testcase 'shift $#; set -- """$@"' '1|' +testcase 'shift $#; set -- "$@"""' '1|' + +test "x$failures" = x From owner-svn-src-head@freebsd.org Wed Nov 18 21:37:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6BA3A321D1; Wed, 18 Nov 2015 21:37:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 807501628; Wed, 18 Nov 2015 21:37:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAILbkkb071384; Wed, 18 Nov 2015 21:37:46 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAILbko6071382; Wed, 18 Nov 2015 21:37:46 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511182137.tAILbko6071382@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 18 Nov 2015 21:37:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291026 - in head: . usr.bin/xinstall 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.20 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, 18 Nov 2015 21:37:47 -0000 Author: bdrewery Date: Wed Nov 18 21:37:46 2015 New Revision: 291026 URL: https://svnweb.freebsd.org/changeset/base/291026 Log: Remove unneeded libmd from bootstrap-tools (reverting r246784). The bootstrap-tools are supposed to be host tools, which in most cases, use host headers and libraries. As such, directly including the src tree's headers for libmd here causes the need to link libmd in since it will be built with the new symbols (which /usr/lib/libmd.so) won't have unless it is new enough. During the target build in buildworld the target headers are staged into WORLDTMP and used via --sysroot, allowing the target xinstall to be built with the new/target libmd. The .PATH here was also not doing anything since xinstall does not use libmd source files. Sponsored by: EMC / Isilon Storage Division MFC after: 2 weeks Modified: head/Makefile.inc1 head/usr.bin/xinstall/Makefile Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Wed Nov 18 21:09:03 2015 (r291025) +++ head/Makefile.inc1 Wed Nov 18 21:37:46 2015 (r291026) @@ -1458,9 +1458,6 @@ ${_bt}-usr.bin/mandoc: ${_bt}-lib/libope _makewhatis=usr.bin/makewhatis .endif -# Rebuild up-to-date libmd for xinstall -${_bt}-usr.bin/xinstall: ${_bt}-lib/libmd - bootstrap-tools: .PHONY # Please document (add comment) why something is in 'bootstrap-tools'. @@ -1483,7 +1480,6 @@ bootstrap-tools: .PHONY ${_yacc} \ ${_m4} \ ${_lex} \ - lib/libmd \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ Modified: head/usr.bin/xinstall/Makefile ============================================================================== --- head/usr.bin/xinstall/Makefile Wed Nov 18 21:09:03 2015 (r291025) +++ head/usr.bin/xinstall/Makefile Wed Nov 18 21:37:46 2015 (r291026) @@ -7,10 +7,8 @@ SRCS= xinstall.c getid.c MAN= install.1 .PATH: ${.CURDIR}/../../contrib/mtree -.PATH: ${.CURDIR}/../../lib/libmd CFLAGS+= -I${.CURDIR}/../../contrib/mtree CFLAGS+= -I${.CURDIR}/../../lib/libnetbsd -CFLAGS+= -I${.CURDIR}/../../lib/libmd LIBADD= md From owner-svn-src-head@freebsd.org Wed Nov 18 21:39:59 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 83889A32271; Wed, 18 Nov 2015 21:39:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4EB4A196A; Wed, 18 Nov 2015 21:39:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAILdwDl071490; Wed, 18 Nov 2015 21:39:58 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAILdwGK071489; Wed, 18 Nov 2015 21:39:58 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511182139.tAILdwGK071489@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 18 Nov 2015 21:39:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291027 - head/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.20 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, 18 Nov 2015 21:39:59 -0000 Author: bdrewery Date: Wed Nov 18 21:39:58 2015 New Revision: 291027 URL: https://svnweb.freebsd.org/changeset/base/291027 Log: META MODE: Fix changing what "MACHINE=host" means when computing dirdeps for include/. The _SKIP_BUILD is used while computing DIRDEPS. If MACHINE=host is passed in then this logic was replacing 'MACHINE' with a literal value of the host arch, which then caused the dirdeps graph to be wrong since it no longer had the literal 'host' for any of include's dependencies. This is a NOP currently since include/ is not usually built with MACHINE=host. Sponsored by: EMC / Isilon Storage Division Modified: head/include/Makefile Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Wed Nov 18 21:37:46 2015 (r291026) +++ head/include/Makefile Wed Nov 18 21:39:58 2015 (r291027) @@ -376,7 +376,7 @@ symlinks: @touch ${.OBJDIR}/${.TARGET} .endif -.if ${MACHINE} == "host" +.if ${MACHINE} == "host" && !defined(_SKIP_BUILD) # we're here because we are building a sysroot... # we need MACHINE et al set correctly HOST_MACHINE!= uname -m From owner-svn-src-head@freebsd.org Wed Nov 18 22:19:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 971A7A329B0; Wed, 18 Nov 2015 22:19:56 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54FA71DDB; Wed, 18 Nov 2015 22:19:56 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMJtp2084089; Wed, 18 Nov 2015 22:19:55 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMJtJv084088; Wed, 18 Nov 2015 22:19:55 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182219.tAIMJtJv084088@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:19:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291028 - head/sys/dev/ntb/if_ntb 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.20 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, 18 Nov 2015 22:19:56 -0000 Author: cem Date: Wed Nov 18 22:19:55 2015 New Revision: 291028 URL: https://svnweb.freebsd.org/changeset/base/291028 Log: if_ntb: Diff reduce with Linux Use bus_space_write instead of (non-volatile) C pointer writes via an iowrite32() shim in the same places as the Dual BSD/GPL Linux driver. Update some types to fixed 32-bit sizes. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Wed Nov 18 21:39:58 2015 (r291027) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Wed Nov 18 22:19:55 2015 (r291028) @@ -116,7 +116,7 @@ SYSCTL_UINT(_hw_if_ntb, OID_AUTO, max_nu STAILQ_HEAD(ntb_queue_list, ntb_queue_entry); -typedef unsigned ntb_q_idx_t; +typedef uint32_t ntb_q_idx_t; struct ntb_queue_entry { /* ntb_queue list reference */ @@ -125,8 +125,8 @@ struct ntb_queue_entry { /* info on data to be transferred */ void *cb_data; void *buf; - unsigned len; - unsigned flags; + uint32_t len; + uint32_t flags; struct ntb_transport_qp *qp; struct ntb_payload_header *x_hdr; @@ -245,9 +245,9 @@ enum { }; struct ntb_payload_header { - uint64_t ver; - uint64_t len; - uint64_t flags; + ntb_q_idx_t ver; + uint32_t len; + uint32_t flags; }; enum { @@ -338,6 +338,14 @@ static const struct ntb_ctx_ops ntb_tran MALLOC_DEFINE(M_NTB_IF, "if_ntb", "ntb network driver"); +static inline void +iowrite32(uint32_t val, void *addr) +{ + + bus_space_write_4(X86_BUS_SPACE_MEM, 0/* HACK */, (uintptr_t)addr, + val); +} + /* Module setup and teardown */ static int ntb_handle_module_events(struct module *m, int what, void *arg) @@ -887,9 +895,9 @@ ntb_process_tx(struct ntb_transport_qp * { void *offset; - offset = (char *)qp->tx_mw + qp->tx_max_frame * qp->tx_index; + offset = qp->tx_mw + qp->tx_max_frame * qp->tx_index; CTR3(KTR_NTB, - "TX: process_tx: tx_pkts=%u, tx_index=%u, remote entry=%u", + "TX: process_tx: tx_pkts=%lu, tx_index=%u, remote entry=%u", qp->tx_pkts, qp->tx_index, qp->remote_rx_info->entry); if (qp->tx_index == qp->remote_rx_info->entry) { CTR0(KTR_NTB, "TX: ring full"); @@ -929,8 +937,8 @@ ntb_memcpy_tx(struct ntb_transport_qp *q hdr = (struct ntb_payload_header *)((char *)offset + qp->tx_max_frame - sizeof(struct ntb_payload_header)); entry->x_hdr = hdr; - hdr->len = entry->len; /* TODO: replace with bus_space_write */ - hdr->ver = qp->tx_pkts; /* TODO: replace with bus_space_write */ + iowrite32(entry->len, &hdr->len); + iowrite32(qp->tx_pkts, &hdr->ver); /* This piece is ntb_memcpy_tx() */ CTR2(KTR_NTB, "TX: copying %d bytes to offset %p", entry->len, offset); @@ -945,8 +953,8 @@ ntb_memcpy_tx(struct ntb_transport_qp *q } /* The rest is ntb_tx_copy_callback() */ - /* TODO: replace with bus_space_write */ - hdr->flags = entry->flags | IF_NTB_DESC_DONE_FLAG; + iowrite32(entry->flags | IF_NTB_DESC_DONE_FLAG, &hdr->flags); + CTR1(KTR_NTB, "TX: hdr %p set DESC_DONE", hdr); ntb_peer_db_set(qp->ntb, 1ull << qp->qp_num); @@ -963,9 +971,9 @@ ntb_memcpy_tx(struct ntb_transport_qp *q entry->len); } - CTR2(KTR_NTB, - "TX: entry %p sent. hdr->ver = %d, Returning to tx_free_q", entry, - hdr->ver); + CTR3(KTR_NTB, + "TX: entry %p sent. hdr->ver = %u, hdr->flags = 0x%x, Returning " + "to tx_free_q", entry, hdr->ver, hdr->flags); ntb_list_add(&qp->ntb_tx_free_q_lock, entry, &qp->tx_free_q); } @@ -1021,13 +1029,11 @@ ntb_process_rxc(struct ntb_transport_qp { struct ntb_payload_header *hdr; struct ntb_queue_entry *entry; - void *offset; + caddr_t offset; - offset = (void *) - ((char *)qp->rx_buff + qp->rx_max_frame * qp->rx_index); - hdr = (void *) - ((char *)offset + qp->rx_max_frame - - sizeof(struct ntb_payload_header)); + offset = qp->rx_buff + qp->rx_max_frame * qp->rx_index; + hdr = (void *)(offset + qp->rx_max_frame - + sizeof(struct ntb_payload_header)); CTR1(KTR_NTB, "RX: process_rxc rx_index = %u", qp->rx_index); if ((hdr->flags & IF_NTB_DESC_DONE_FLAG) == 0) { @@ -1045,7 +1051,7 @@ ntb_process_rxc(struct ntb_transport_qp if (hdr->ver != (uint32_t)qp->rx_pkts) { CTR2(KTR_NTB,"RX: ver != rx_pkts (%x != %lx). " - "Returning entry %p to rx_pend_q", hdr->ver, qp->rx_pkts); + "Returning entry to rx_pend_q", hdr->ver, qp->rx_pkts); qp->rx_err_ver++; return (EIO); } @@ -1136,8 +1142,7 @@ ntb_complete_rxc(void *arg, int pending) break; entry->x_hdr->flags = 0; - /* XXX bus_space_write */ - qp->rx_info->entry = entry->index; + iowrite32(entry->index, &qp->rx_info->entry); len = entry->len; m = entry->buf; From owner-svn-src-head@freebsd.org Wed Nov 18 22:20:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57B23A329E7; Wed, 18 Nov 2015 22:20:05 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 26D671F26; Wed, 18 Nov 2015 22:20:05 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMK4dZ084155; Wed, 18 Nov 2015 22:20:04 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMK4vM084154; Wed, 18 Nov 2015 22:20:04 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182220.tAIMK4vM084154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:20:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291029 - head/sys/dev/ntb/ntb_hw 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.20 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, 18 Nov 2015 22:20:05 -0000 Author: cem Date: Wed Nov 18 22:20:04 2015 New Revision: 291029 URL: https://svnweb.freebsd.org/changeset/base/291029 Log: NTB: Fix 32-bit BAR size validation Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:19:55 2015 (r291028) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:04 2015 (r291029) @@ -2575,9 +2575,9 @@ ntb_mw_set_trans(struct ntb_softc *ntb, } else { /* Configure 32-bit (split) BAR MW */ - if ((addr & ~UINT32_MAX) != 0) + if ((addr & UINT32_MAX) != addr) return (EINVAL); - if (((addr + size) & ~UINT32_MAX) != 0) + if (((addr + size) & UINT32_MAX) != (addr + size)) return (EINVAL); base = ntb_reg_read(4, base_reg); From owner-svn-src-head@freebsd.org Wed Nov 18 22:20:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5EB87A32A18; Wed, 18 Nov 2015 22:20:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 29FEC1086; Wed, 18 Nov 2015 22:20:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMKDwG084203; Wed, 18 Nov 2015 22:20:13 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMKD7o084202; Wed, 18 Nov 2015 22:20:13 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182220.tAIMKD7o084202@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:20:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291030 - head/sys/dev/ntb/ntb_hw 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.20 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, 18 Nov 2015 22:20:14 -0000 Author: cem Date: Wed Nov 18 22:20:13 2015 New Revision: 291030 URL: https://svnweb.freebsd.org/changeset/base/291030 Log: ntb_hw: Add tunable to disable write-combining The tunable 'hw.ntb.enable_writecombine' may be set to zero to administratively disable write combining the mapped NTB region. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:04 2015 (r291029) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:13 2015 (r291030) @@ -326,6 +326,10 @@ SYSCTL_UINT(_hw_ntb, OID_AUTO, debug_lev } \ } while (0) +static unsigned g_ntb_enable_wc = 1; +SYSCTL_UINT(_hw_ntb, OID_AUTO, enable_writecombine, CTLFLAG_RDTUN, + &g_ntb_enable_wc, 0, "Set to 1 to map memory windows write combining"); + static struct ntb_hw_info pci_ids[] = { /* XXX: PS/SS IDs left out until they are supported. */ { 0x0C4E8086, "BWD Atom Processor S1200 Non-Transparent Bridge B2B", @@ -766,10 +770,13 @@ map_memory_window_bar(struct ntb_softc * save_bar_parameters(bar); } + print_map_success(ntb, bar, "mw"); + if (g_ntb_enable_wc == 0) + return (0); + /* Mark bar region as write combining to improve performance. */ rc = pmap_change_attr((vm_offset_t)bar->vbase, bar->size, VM_MEMATTR_WRITE_COMBINING); - print_map_success(ntb, bar, "mw"); if (rc == 0) device_printf(ntb->device, "Marked BAR%d v:[%p-%p] p:[%p-%p] as " From owner-svn-src-head@freebsd.org Wed Nov 18 22:20:23 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54EADA32A4C; Wed, 18 Nov 2015 22:20:23 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2EBC71217; Wed, 18 Nov 2015 22:20:23 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMKMrJ084253; Wed, 18 Nov 2015 22:20:22 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMKMh7084251; Wed, 18 Nov 2015 22:20:22 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182220.tAIMKMh7084251@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:20:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291031 - head/sys/dev/ntb/ntb_hw 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.20 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, 18 Nov 2015 22:20:23 -0000 Author: cem Date: Wed Nov 18 22:20:21 2015 New Revision: 291031 URL: https://svnweb.freebsd.org/changeset/base/291031 Log: ntb_hw: Add programmatic interface to enable/disable WC Enable users to enable/disable WC on memory windows programmatically. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c head/sys/dev/ntb/ntb_hw/ntb_hw.h Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:13 2015 (r291030) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:21 2015 (r291031) @@ -113,6 +113,7 @@ struct ntb_pci_bar_info { vm_paddr_t pbase; caddr_t vbase; vm_size_t size; + bool mapped_wc : 1; /* Configuration register offsets */ uint32_t psz_off; @@ -777,14 +778,15 @@ map_memory_window_bar(struct ntb_softc * /* Mark bar region as write combining to improve performance. */ rc = pmap_change_attr((vm_offset_t)bar->vbase, bar->size, VM_MEMATTR_WRITE_COMBINING); - if (rc == 0) + if (rc == 0) { + bar->mapped_wc = true; device_printf(ntb->device, "Marked BAR%d v:[%p-%p] p:[%p-%p] as " "WRITE_COMBINING.\n", PCI_RID2BAR(bar->pci_resource_id), bar->vbase, (char *)bar->vbase + bar->size - 1, (void *)bar->pbase, (void *)(bar->pbase + bar->size - 1)); - else + } else device_printf(ntb->device, "Unable to mark BAR%d v:[%p-%p] p:[%p-%p] as " "WRITE_COMBINING: %d\n", @@ -2629,6 +2631,60 @@ ntb_mw_clear_trans(struct ntb_softc *ntb return (ntb_mw_set_trans(ntb, mw_idx, 0, 0)); } +/* + * ntb_mw_get_wc - Get the write-combine status of a memory window + * + * Returns: Zero on success, setting *wc; otherwise an error number (e.g. if + * idx is an invalid memory window). + */ +int +ntb_mw_get_wc(struct ntb_softc *ntb, unsigned idx, bool *wc) +{ + struct ntb_pci_bar_info *bar; + + if (idx >= ntb_mw_count(ntb)) + return (EINVAL); + + bar = &ntb->bar_info[ntb_mw_to_bar(ntb, idx)]; + *wc = bar->mapped_wc; + return (0); +} + +/* + * ntb_mw_set_wc - Set the write-combine status of a memory window + * + * If 'wc' matches the current status, this does nothing and succeeds. + * + * Returns: Zero on success, setting the caching attribute on the virtual + * mapping of the BAR; otherwise an error number (e.g. if idx is an invalid + * memory window, or if changing the caching attribute fails). + */ +int +ntb_mw_set_wc(struct ntb_softc *ntb, unsigned idx, bool wc) +{ + struct ntb_pci_bar_info *bar; + vm_memattr_t attr; + int rc; + + if (idx >= ntb_mw_count(ntb)) + return (EINVAL); + + bar = &ntb->bar_info[ntb_mw_to_bar(ntb, idx)]; + if (bar->mapped_wc == wc) + return (0); + + if (wc) + attr = VM_MEMATTR_WRITE_COMBINING; + else + attr = VM_MEMATTR_DEFAULT; + + rc = pmap_change_attr((vm_offset_t)bar->vbase, bar->size, attr); + if (rc == 0) + bar->mapped_wc = wc; + + return (rc); +} + /** * ntb_peer_db_set() - Set the doorbell on the secondary/external side * @ntb: pointer to ntb_softc instance Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.h Wed Nov 18 22:20:13 2015 (r291030) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.h Wed Nov 18 22:20:21 2015 (r291031) @@ -81,6 +81,9 @@ int ntb_mw_get_range(struct ntb_softc *, int ntb_mw_set_trans(struct ntb_softc *, unsigned mw_idx, bus_addr_t, size_t); int ntb_mw_clear_trans(struct ntb_softc *, unsigned mw_idx); +int ntb_mw_get_wc(struct ntb_softc *, unsigned mw_idx, bool *wc); +int ntb_mw_set_wc(struct ntb_softc *, unsigned mw_idx, bool wc); + uint8_t ntb_get_max_spads(struct ntb_softc *ntb); int ntb_spad_write(struct ntb_softc *ntb, unsigned int idx, uint32_t val); int ntb_spad_read(struct ntb_softc *ntb, unsigned int idx, uint32_t *val); From owner-svn-src-head@freebsd.org Wed Nov 18 22:20:32 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D400FA32AAA; Wed, 18 Nov 2015 22:20:32 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 87CBB137F; Wed, 18 Nov 2015 22:20:32 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMKVR6084419; Wed, 18 Nov 2015 22:20:31 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMKV7i084418; Wed, 18 Nov 2015 22:20:31 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182220.tAIMKV7i084418@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:20:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291032 - head/sys/dev/ntb/ntb_hw 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.20 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, 18 Nov 2015 22:20:32 -0000 Author: cem Date: Wed Nov 18 22:20:31 2015 New Revision: 291032 URL: https://svnweb.freebsd.org/changeset/base/291032 Log: NTB: Mask off the low 12 bits of address/range registers Sometimes they'll read spurious values (observed: 0xc on Broadwell-DE), failing link negotiation. Discussed with: Dave Jiang, Allen Hubbe Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:21 2015 (r291031) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:31 2015 (r291032) @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #define NTB_HB_TIMEOUT 1 /* second */ #define ATOM_LINK_RECOVERY_TIME 500 /* ms */ +#define BAR_HIGH_MASK (~((1ull << 12) - 1)) #define DEVICE2SOFTC(dev) ((struct ntb_softc *) device_get_softc(dev)) @@ -2560,14 +2561,14 @@ ntb_mw_set_trans(struct ntb_softc *ntb, limit = 0; if (bar_is_64bit(ntb, bar_num)) { - base = ntb_reg_read(8, base_reg); + base = ntb_reg_read(8, base_reg) & BAR_HIGH_MASK; if (limit_reg != 0 && size != mw_size) limit = base + size; /* Set and verify translation address */ ntb_reg_write(8, xlat_reg, addr); - reg_val = ntb_reg_read(8, xlat_reg); + reg_val = ntb_reg_read(8, xlat_reg) & BAR_HIGH_MASK; if (reg_val != addr) { ntb_reg_write(8, xlat_reg, 0); return (EIO); @@ -2575,7 +2576,7 @@ ntb_mw_set_trans(struct ntb_softc *ntb, /* Set and verify the limit */ ntb_reg_write(8, limit_reg, limit); - reg_val = ntb_reg_read(8, limit_reg); + reg_val = ntb_reg_read(8, limit_reg) & BAR_HIGH_MASK; if (reg_val != limit) { ntb_reg_write(8, limit_reg, base); ntb_reg_write(8, xlat_reg, 0); @@ -2589,14 +2590,14 @@ ntb_mw_set_trans(struct ntb_softc *ntb, if (((addr + size) & UINT32_MAX) != (addr + size)) return (EINVAL); - base = ntb_reg_read(4, base_reg); + base = ntb_reg_read(4, base_reg) & BAR_HIGH_MASK; if (limit_reg != 0 && size != mw_size) limit = base + size; /* Set and verify translation address */ ntb_reg_write(4, xlat_reg, addr); - reg_val = ntb_reg_read(4, xlat_reg); + reg_val = ntb_reg_read(4, xlat_reg) & BAR_HIGH_MASK; if (reg_val != addr) { ntb_reg_write(4, xlat_reg, 0); return (EIO); @@ -2604,7 +2605,7 @@ ntb_mw_set_trans(struct ntb_softc *ntb, /* Set and verify the limit */ ntb_reg_write(4, limit_reg, limit); - reg_val = ntb_reg_read(4, limit_reg); + reg_val = ntb_reg_read(4, limit_reg) & BAR_HIGH_MASK; if (reg_val != limit) { ntb_reg_write(4, limit_reg, base); ntb_reg_write(4, xlat_reg, 0); From owner-svn-src-head@freebsd.org Wed Nov 18 22:20:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06CBDA32AE8; Wed, 18 Nov 2015 22:20:42 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BAFDA162A; Wed, 18 Nov 2015 22:20:41 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMKePu084471; Wed, 18 Nov 2015 22:20:40 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMKepn084468; Wed, 18 Nov 2015 22:20:40 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182220.tAIMKepn084468@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:20:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291033 - in head/sys/dev/ntb: if_ntb ntb_hw 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.20 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, 18 Nov 2015 22:20:42 -0000 Author: cem Date: Wed Nov 18 22:20:40 2015 New Revision: 291033 URL: https://svnweb.freebsd.org/changeset/base/291033 Log: NTB: Expose 32-bit BAR limits to consumers 32-bit BARs can only address memory mapped in the low 32 bits of physical RAM. Expose this as a 'plimit' out parameter from ntb_mw_get_range(). Fix if_ntb to allocate memory within this limit. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c head/sys/dev/ntb/ntb_hw/ntb_hw.c head/sys/dev/ntb/ntb_hw/ntb_hw.h Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Wed Nov 18 22:20:31 2015 (r291032) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Wed Nov 18 22:20:40 2015 (r291033) @@ -207,6 +207,7 @@ struct ntb_transport_mw { size_t phys_size; size_t xlat_align; size_t xlat_align_size; + bus_addr_t addr_limit; /* Tx buff is off vbase / phys_addr */ caddr_t vbase; size_t xlat_size; @@ -576,7 +577,8 @@ ntb_transport_probe(struct ntb_softc *nt mw = &nt->mw_vec[i]; rc = ntb_mw_get_range(ntb, i, &mw->phys_addr, &mw->vbase, - &mw->phys_size, &mw->xlat_align, &mw->xlat_align_size); + &mw->phys_size, &mw->xlat_align, &mw->xlat_align_size, + &mw->addr_limit); if (rc != 0) goto err; @@ -1306,7 +1308,7 @@ ntb_set_mw(struct ntb_transport_ctx *nt, mw->buff_size = buff_size; mw->virt_addr = contigmalloc(mw->buff_size, M_NTB_IF, M_ZERO, 0, - BUS_SPACE_MAXADDR, mw->xlat_align, 0); + mw->addr_limit, mw->xlat_align, 0); if (mw->virt_addr == NULL) { mw->xlat_size = 0; mw->buff_size = 0; Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:31 2015 (r291032) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.c Wed Nov 18 22:20:40 2015 (r291033) @@ -2485,15 +2485,19 @@ ntb_peer_spad_read(struct ntb_softc *ntb */ int ntb_mw_get_range(struct ntb_softc *ntb, unsigned mw_idx, vm_paddr_t *base, - caddr_t *vbase, size_t *size, size_t *align, size_t *align_size) + caddr_t *vbase, size_t *size, size_t *align, size_t *align_size, + bus_addr_t *plimit) { struct ntb_pci_bar_info *bar; + bus_addr_t limit; size_t bar_b2b_off; + enum ntb_bar bar_num; if (mw_idx >= ntb_mw_count(ntb)) return (EINVAL); - bar = &ntb->bar_info[ntb_mw_to_bar(ntb, mw_idx)]; + bar_num = ntb_mw_to_bar(ntb, mw_idx); + bar = &ntb->bar_info[bar_num]; bar_b2b_off = 0; if (mw_idx == ntb->b2b_mw_idx) { KASSERT(ntb->b2b_off != 0, @@ -2501,6 +2505,11 @@ ntb_mw_get_range(struct ntb_softc *ntb, bar_b2b_off = ntb->b2b_off; } + if (bar_is_64bit(ntb, bar_num)) + limit = BUS_SPACE_MAXADDR; + else + limit = BUS_SPACE_MAXADDR_32BIT; + if (base != NULL) *base = bar->pbase + bar_b2b_off; if (vbase != NULL) @@ -2511,6 +2520,8 @@ ntb_mw_get_range(struct ntb_softc *ntb, *align = bar->size; if (align_size != NULL) *align_size = 1; + if (plimit != NULL) + *plimit = limit; return (0); } @@ -2524,7 +2535,9 @@ ntb_mw_get_range(struct ntb_softc *ntb, * Set the translation of a memory window. The peer may access local memory * through the window starting at the address, up to the size. The address * must be aligned to the alignment specified by ntb_mw_get_range(). The size - * must be aligned to the size alignment specified by ntb_mw_get_range(). + * must be aligned to the size alignment specified by ntb_mw_get_range(). The + * address must be below the plimit specified by ntb_mw_get_range() (i.e. for + * 32-bit BARs). * * Return: Zero on success, otherwise an error number. */ @@ -2586,9 +2599,9 @@ ntb_mw_set_trans(struct ntb_softc *ntb, /* Configure 32-bit (split) BAR MW */ if ((addr & UINT32_MAX) != addr) - return (EINVAL); + return (ERANGE); if (((addr + size) & UINT32_MAX) != (addr + size)) - return (EINVAL); + return (ERANGE); base = ntb_reg_read(4, base_reg) & BAR_HIGH_MASK; Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.h Wed Nov 18 22:20:31 2015 (r291032) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.h Wed Nov 18 22:20:40 2015 (r291033) @@ -77,7 +77,8 @@ void ntb_clear_ctx(struct ntb_softc *); uint8_t ntb_mw_count(struct ntb_softc *); int ntb_mw_get_range(struct ntb_softc *, unsigned mw_idx, vm_paddr_t *base, - caddr_t *vbase, size_t *size, size_t *align, size_t *align_size); + caddr_t *vbase, size_t *size, size_t *align, size_t *align_size, + bus_addr_t *plimit); int ntb_mw_set_trans(struct ntb_softc *, unsigned mw_idx, bus_addr_t, size_t); int ntb_mw_clear_trans(struct ntb_softc *, unsigned mw_idx); From owner-svn-src-head@freebsd.org Wed Nov 18 22:20:51 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC909A32B21; Wed, 18 Nov 2015 22:20:50 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C26EC18C7; Wed, 18 Nov 2015 22:20:50 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIMKnGo084519; Wed, 18 Nov 2015 22:20:49 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIMKn35084518; Wed, 18 Nov 2015 22:20:49 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182220.tAIMKn35084518@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 22:20:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291034 - head/sys/dev/ntb/if_ntb 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.20 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, 18 Nov 2015 22:20:51 -0000 Author: cem Date: Wed Nov 18 22:20:49 2015 New Revision: 291034 URL: https://svnweb.freebsd.org/changeset/base/291034 Log: if_ntb: Reuse receive buffers correctly Discard the unused rx_free_q. Instead, reuse inputed packets by putting them back on the *pend* queue after reinitialization. If tx or rx handlers are unavailable, free mbufs rather than leaking them. With this change, if_ntb can receive more than 100 (NTB_QP_DEF_NUM_ENTRIES) packets. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Wed Nov 18 22:20:40 2015 (r291033) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Wed Nov 18 22:20:49 2015 (r291034) @@ -164,7 +164,6 @@ struct ntb_transport_qp { void *data, int len); struct ntb_queue_list rx_post_q; struct ntb_queue_list rx_pend_q; - struct ntb_queue_list rx_free_q; /* ntb_rx_q_lock: synchronize access to rx_XXXX_q */ struct mtx ntb_rx_q_lock; struct task rx_completion_task; @@ -718,7 +717,6 @@ ntb_transport_init_queue(struct ntb_tran STAILQ_INIT(&qp->rx_post_q); STAILQ_INIT(&qp->rx_pend_q); - STAILQ_INIT(&qp->rx_free_q); STAILQ_INIT(&qp->tx_free_q); callout_reset(&qp->link_work, 0, ntb_qp_link_work, qp); @@ -743,9 +741,6 @@ ntb_transport_free_queue(struct ntb_tran qp->tx_handler = NULL; qp->event_handler = NULL; - while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q))) - free(entry, M_NTB_IF); - while ((entry = ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_pend_q))) free(entry, M_NTB_IF); @@ -910,8 +905,11 @@ ntb_process_tx(struct ntb_transport_qp * if (entry->len > qp->tx_max_frame - sizeof(struct ntb_payload_header)) { if (qp->tx_handler != NULL) qp->tx_handler(qp, qp->cb_data, entry->buf, - EIO); + EIO); + else + m_freem(entry->buf); + entry->buf = NULL; ntb_list_add(&qp->ntb_tx_free_q_lock, entry, &qp->tx_free_q); CTR1(KTR_NTB, "TX: frame too big. returning entry %p to tx_free_q", @@ -969,8 +967,11 @@ ntb_memcpy_tx(struct ntb_transport_qp *q qp->tx_bytes += entry->len; if (qp->tx_handler) - qp->tx_handler(qp, qp->cb_data, entry->cb_data, - entry->len); + qp->tx_handler(qp, qp->cb_data, entry->buf, + entry->len); + else + m_freem(entry->buf); + entry->buf = NULL; } CTR3(KTR_NTB, @@ -1146,17 +1147,28 @@ ntb_complete_rxc(void *arg, int pending) entry->x_hdr->flags = 0; iowrite32(entry->index, &qp->rx_info->entry); + STAILQ_REMOVE_HEAD(&qp->rx_post_q, entry); + len = entry->len; m = entry->buf; - STAILQ_REMOVE_HEAD(&qp->rx_post_q, entry); - STAILQ_INSERT_TAIL(&qp->rx_free_q, entry, entry); + /* + * Re-initialize queue_entry for reuse; rx_handler takes + * ownership of the mbuf. + */ + entry->buf = NULL; + entry->len = transport_mtu; + entry->cb_data = qp->transport->ifp; + + STAILQ_INSERT_TAIL(&qp->rx_pend_q, entry, entry); mtx_unlock_spin(&qp->ntb_rx_q_lock); CTR2(KTR_NTB, "RX: completing entry %p, mbuf %p", entry, m); if (qp->rx_handler != NULL && qp->client_ready) qp->rx_handler(qp, qp->cb_data, m, len); + else + m_freem(m); mtx_lock_spin(&qp->ntb_rx_q_lock); } From owner-svn-src-head@freebsd.org Wed Nov 18 23:04:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 01105A32705; Wed, 18 Nov 2015 23:04:02 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1E9F120E; Wed, 18 Nov 2015 23:04:02 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAIN41B7098694; Wed, 18 Nov 2015 23:04:01 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAIN41Xi098692; Wed, 18 Nov 2015 23:04:01 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201511182304.tAIN41Xi098692@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 18 Nov 2015 23:04:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291035 - head/sys/netsmb 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.20 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, 18 Nov 2015 23:04:03 -0000 Author: rmacklem Date: Wed Nov 18 23:04:01 2015 New Revision: 291035 URL: https://svnweb.freebsd.org/changeset/base/291035 Log: The problem report was for a crash that happened when smbfs was trying to do a mount. Given the backtrace, it appears that the crash occurred when smb_vc_create() failed and then called smb_vc_put() with vcp->vc_iod == NULL. smb_vc_put() subsequently called smb_vc_disconnect() with vcp->vc_iod == NULL, causing the crash. This patch adds a check for vcp->vc_iod != NULL in smb_vc_disconnect() to avoid the crash. It also fixes the case in smb_vc_create() where kproc_create() fails so that it destroys the mutexes and sets vcp->vc_iod == NULL before free()'ing the iod structure. The person who reported the PR tested the patch, but was not able to reproduce the crash with or without the patch. PR: 201912 Reviewed by: jhb MFC after: 2 weeks Modified: head/sys/netsmb/smb_conn.c head/sys/netsmb/smb_iod.c Modified: head/sys/netsmb/smb_conn.c ============================================================================== --- head/sys/netsmb/smb_conn.c Wed Nov 18 22:20:49 2015 (r291034) +++ head/sys/netsmb/smb_conn.c Wed Nov 18 23:04:01 2015 (r291035) @@ -683,7 +683,9 @@ int smb_vc_disconnect(struct smb_vc *vcp) { - smb_iod_request(vcp->vc_iod, SMBIOD_EV_DISCONNECT | SMBIOD_EV_SYNC, NULL); + if (vcp->vc_iod != NULL) + smb_iod_request(vcp->vc_iod, SMBIOD_EV_DISCONNECT | + SMBIOD_EV_SYNC, NULL); return 0; } Modified: head/sys/netsmb/smb_iod.c ============================================================================== --- head/sys/netsmb/smb_iod.c Wed Nov 18 22:20:49 2015 (r291034) +++ head/sys/netsmb/smb_iod.c Wed Nov 18 23:04:01 2015 (r291035) @@ -690,6 +690,9 @@ smb_iod_create(struct smb_vc *vcp) RFNOWAIT, 0, "smbiod%d", iod->iod_id); if (error) { SMBERROR("can't start smbiod: %d", error); + vcp->vc_iod = NULL; + smb_sl_destroy(&iod->iod_rqlock); + smb_sl_destroy(&iod->iod_evlock); free(iod, M_SMBIOD); return error; } From owner-svn-src-head@freebsd.org Wed Nov 18 23:32:30 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8A74A32B93; Wed, 18 Nov 2015 23:32:30 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 78E961D5C; Wed, 18 Nov 2015 23:32:30 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAINWT7O007411; Wed, 18 Nov 2015 23:32:29 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAINWTdV007409; Wed, 18 Nov 2015 23:32:29 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511182332.tAINWTdV007409@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Wed, 18 Nov 2015 23:32:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291036 - in head/tools: sched tools/shlib-compat 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.20 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, 18 Nov 2015 23:32:30 -0000 Author: rodrigc Date: Wed Nov 18 23:32:29 2015 New Revision: 291036 URL: https://svnweb.freebsd.org/changeset/base/291036 Log: Use 'in' instead of 'has_key()' for testing dictionary membership. In PEP 0290, has_key() was deprecated in Python 2.2 and higher: https://www.python.org/dev/peps/pep-0290/#testing-dictionary-membership https://docs.python.org/2.2/whatsnew/node4.html In Python 3, dict.has_key() was removed: https://docs.python.org/3.0/whatsnew/3.0.html#builtins Modified: head/tools/sched/schedgraph.py head/tools/tools/shlib-compat/shlib-compat.py Modified: head/tools/sched/schedgraph.py ============================================================================== --- head/tools/sched/schedgraph.py Wed Nov 18 23:04:01 2015 (r291035) +++ head/tools/sched/schedgraph.py Wed Nov 18 23:32:29 2015 (r291036) @@ -461,7 +461,7 @@ class SourceStats(Toplevel): if (event.type == "pad"): continue duration = event.duration - if (eventtypes.has_key(event.name)): + if (event.name in eventtypes): (c, d) = eventtypes[event.name] c += 1 d += duration @@ -1069,7 +1069,7 @@ class KTRFile: def makeid(self, group, id, type): tag = group + id - if (self.taghash.has_key(tag)): + if (tag in self.taghash): return self.taghash[tag] if (type == "counter"): source = Counter(group, id) Modified: head/tools/tools/shlib-compat/shlib-compat.py ============================================================================== --- head/tools/tools/shlib-compat/shlib-compat.py Wed Nov 18 23:04:01 2015 (r291035) +++ head/tools/tools/shlib-compat/shlib-compat.py Wed Nov 18 23:32:29 2015 (r291036) @@ -130,7 +130,7 @@ class Cache(object): self.stats = stats def get(self, id): - if self.enabled and self.items.has_key(id): + if self.enabled and id in self.items: self.stats.hit += 1 return self.items[id] else: @@ -139,7 +139,7 @@ class Cache(object): def put(self, id, obj): if self.enabled: - if self.items.has_key(id) and obj is not self.items[id]: + if id in self.items and obj is not self.items[id]: #raise ValueError("Item is already cached: %d (%s, %s)" % # (id, self.items[id], obj)) warn(Config.w_cached, "Item is already cached: %d (%s, %s)" % \ @@ -148,7 +148,7 @@ class Cache(object): def replace(self, id, obj): if self.enabled: - assert self.items.has_key(id) + assert id in self.items self.items[id] = obj class ListDiff(object): @@ -226,7 +226,7 @@ class VersionMap(object): self.symbols = {} def append(self, symbol): - if (self.symbols.has_key(symbol.name)): + if (symbol.name in self.symbols): raise ValueError("Symbol is already defined %s@%s" % (symbol.name, self.name)) self.symbols[symbol.name] = symbol @@ -250,7 +250,7 @@ class Def(object): self.attrs = kwargs def __getattr__(self, attr): - if not self.attrs.has_key(attr): + if attr not in self.attrs: raise AttributeError('%s in %s' % (attr, str(self))) return self.attrs[attr] @@ -645,7 +645,7 @@ class Shlib(object): if not Config.symbol_filter.match(p['symbol']): continue sym = Symbol(p['symbol'], p['offset'], vername, self) - if not self.versions.has_key(vername): + if vername not in self.versions: self.versions[vername] = VersionMap(vername) self.versions[vername].append(sym) if Config.alias_prefixes: @@ -655,7 +655,7 @@ class Shlib(object): if not p['symbol'].startswith(prefix): continue alias = SymbolAlias(p['symbol'], prefix, p['offset']) - if self.alias_syms.has_key(alias.name): + if alias.name in self.alias_syms: prevalias = self.alias_syms[alias.name] if alias.name != prevalias.name or \ alias.offset != prevalias.offset: @@ -676,7 +676,7 @@ class Shlib(object): localnames = self.local_offsetmap[sym.offset] localnames.sort(key=lambda x: -len(x)) for localname in localnames: - if not self.alias_syms.has_key(localname): + if localname not in self.alias_syms: continue alias = self.alias_syms[localname] raw = dwarfdump.offsetmap[alias.offset] @@ -753,7 +753,7 @@ class ObjdumpParser(Parser): return table.append(symbol) if offsetmap != None: - if not offsetmap.has_key(offset): + if offset not in offsetmap: offsetmap[offset] = [symbol['symbol']] else: offsetmap[offset].append(symbol['symbol']) @@ -921,9 +921,9 @@ class DwarfdumpParser(Parser): args = self.parse_arg(tag, args) tag.unit.tags[tag.id] = tag def parse_offset(tag): - if tag.args.has_key('DW_AT_low_pc'): + if 'DW_AT_low_pc' in tag.args: return int(tag.args['DW_AT_low_pc'], 16) - elif tag.args.has_key('DW_AT_location'): + elif 'DW_AT_location' in tag.args: location = tag.args['DW_AT_location'] if location.startswith('DW_OP_addr'): return int(location.replace('DW_OP_addr', ''), 16) @@ -931,9 +931,9 @@ class DwarfdumpParser(Parser): offset = parse_offset(tag) if offset is not None and \ (tag.tag not in DwarfdumpParser.skip_tags or \ - (tag.args.has_key('DW_AT_external') and \ + ('DW_AT_external' in tag.args and \ tag.tag in DwarfdumpParser.external_tags)): - if self.offsetmap.has_key(offset): + if offset in self.offsetmap: raise ValueError("Dwarf dump parse error: " + "symbol is aleady defined at offset 0x%x" % offset) self.offsetmap[offset] = tag From owner-svn-src-head@freebsd.org Wed Nov 18 23:42:46 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 324B3A32D9E; Wed, 18 Nov 2015 23:42:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3DF6133E; Wed, 18 Nov 2015 23:42:45 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAINgjNP010487; Wed, 18 Nov 2015 23:42:45 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAINgjlO010486; Wed, 18 Nov 2015 23:42:45 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511182342.tAINgjlO010486@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Wed, 18 Nov 2015 23:42:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291038 - head/lib/libc/tests/net 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.20 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, 18 Nov 2015 23:42:46 -0000 Author: ngie Date: Wed Nov 18 23:42:44 2015 New Revision: 291038 URL: https://svnweb.freebsd.org/changeset/base/291038 Log: Do not print out errno if the call succeeded unexpectedly; this was a mistake made in r290868 MFC after: 4 days X-MFC with: r290563, r290868 Reported by: jilles Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/net/ether_test.c Modified: head/lib/libc/tests/net/ether_test.c ============================================================================== --- head/lib/libc/tests/net/ether_test.c Wed Nov 18 23:38:09 2015 (r291037) +++ head/lib/libc/tests/net/ether_test.c Wed Nov 18 23:42:44 2015 (r291038) @@ -65,7 +65,7 @@ ATF_TC_BODY(ether_line_bad_1, tc) char hostname[256]; ATF_REQUIRE_MSG(ether_line(ether_line_bad_1_string, &e, hostname) != 0, - "ether_line succeeded unexpectedly; errno=%d", errno); + "ether_line succeeded unexpectedly"); } static const char *ether_line_bad_2_string = "x x"; @@ -77,7 +77,7 @@ ATF_TC_BODY(ether_line_bad_2, tc) char hostname[256]; ATF_REQUIRE_MSG(ether_line(ether_line_bad_2_string, &e, hostname) != 0, - "ether_line succeeded unexpectedly; errno=%d", errno); + "ether_line succeeded unexpectedly"); } static const char *ether_aton_string = "01:23:45:67:89:ab"; From owner-svn-src-head@freebsd.org Wed Nov 18 23:53:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98A8DA32045; Wed, 18 Nov 2015 23:53:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6046C1B0E; Wed, 18 Nov 2015 23:53:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAINrDZA013512; Wed, 18 Nov 2015 23:53:13 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAINrDD2013511; Wed, 18 Nov 2015 23:53:13 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511182353.tAINrDD2013511@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Wed, 18 Nov 2015 23:53:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291040 - 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.20 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, 18 Nov 2015 23:53:14 -0000 Author: cem Date: Wed Nov 18 23:53:13 2015 New Revision: 291040 URL: https://svnweb.freebsd.org/changeset/base/291040 Log: in_getmulti: Fix recursion on if_addr_lock on malloc failure When the M_NOWAIT allocation fails, we recurse the if_addr_lock trying to clean up. Reorder the cleanup after dropping the if_addr_lock. The obvious race is already possible between if_addmulti and IF_ADDR_WLOCK above, so it must be ok. Submitted by: Ryan Libby Reviewed by: jhb Found with: M_NOWAIT failure injection testing Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4138 Modified: head/sys/netinet/in_mcast.c Modified: head/sys/netinet/in_mcast.c ============================================================================== --- head/sys/netinet/in_mcast.c Wed Nov 18 23:45:09 2015 (r291039) +++ head/sys/netinet/in_mcast.c Wed Nov 18 23:53:13 2015 (r291040) @@ -515,8 +515,8 @@ in_getmulti(struct ifnet *ifp, const str */ inm = malloc(sizeof(*inm), M_IPMADDR, M_NOWAIT | M_ZERO); if (inm == NULL) { - if_delmulti_ifma(ifma); IF_ADDR_WUNLOCK(ifp); + if_delmulti_ifma(ifma); return (ENOMEM); } inm->inm_addr = *group; From owner-svn-src-head@freebsd.org Thu Nov 19 00:01:54 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 313A2A323B0; Thu, 19 Nov 2015 00:01:54 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E3E571E00; Thu, 19 Nov 2015 00:01:53 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ01qht016414; Thu, 19 Nov 2015 00:01:52 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ01qWR016409; Thu, 19 Nov 2015 00:01:52 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511190001.tAJ01qWR016409@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Thu, 19 Nov 2015 00:01:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291041 - in head: tools/debugscripts tools/regression/netinet/ip_id_period tools/sched tools/tools/shlib-compat usr.bin/fortune/tools 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.20 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, 19 Nov 2015 00:01:54 -0000 Author: rodrigc Date: Thu Nov 19 00:01:52 2015 New Revision: 291041 URL: https://svnweb.freebsd.org/changeset/base/291041 Log: Use print as a function for Python 3 [PEP 3105] Import print_function from the __future__ module to activate this for Python 2. This works as far back as Python 2.6.0a2: https://docs.python.org/2/library/__future__.html [PEP 3105] https://www.python.org/dev/peps/pep-3105/ Modified: head/tools/debugscripts/kld_deb.py head/tools/regression/netinet/ip_id_period/ip_id_period.py head/tools/sched/schedgraph.py head/tools/tools/shlib-compat/shlib-compat.py head/usr.bin/fortune/tools/do_uniq.py Modified: head/tools/debugscripts/kld_deb.py ============================================================================== --- head/tools/debugscripts/kld_deb.py Wed Nov 18 23:53:13 2015 (r291040) +++ head/tools/debugscripts/kld_deb.py Thu Nov 19 00:01:52 2015 (r291041) @@ -26,6 +26,7 @@ # # $FreeBSD$ +from __future__ import print_function import sys import os import popen2 @@ -42,7 +43,7 @@ printre = re.compile(r'\$\d+\s+=\s+') kld_debug_paths = [] if len(sys.argv[1:]) < 2: - print 'Usage: prog []' + print('Usage: prog []') sys.exit(1) #Get the base modules path @@ -129,7 +130,7 @@ for i in addr[1:]: #Tell our user that we couldn't find it. a = i[1] sys.stderr.write("Can't find module: %s (addr: %d + header)\n" % (i[0], a)) - print '#add-symbol-file ', a, '#add header' + print('#add-symbol-file ', a, '#add header') continue #j = popen2.popen4('objdump --section-headers /boot/kernel/%s | grep "\.text"' % i[0])[0].read().strip().split() @@ -137,6 +138,6 @@ for i in addr[1:]: j = popen2.popen4('objdump --section-headers "%s" | grep "\.text"' % p)[0].read().strip().split() try: a = int(j[5], 16) - print 'add-symbol-file', p, i[1] + a + print('add-symbol-file', p, i[1] + a) except IndexError: sys.stderr.write('Bad file: %s, address: %d\n' % (i[0], i[1])) Modified: head/tools/regression/netinet/ip_id_period/ip_id_period.py ============================================================================== --- head/tools/regression/netinet/ip_id_period/ip_id_period.py Wed Nov 18 23:53:13 2015 (r291040) +++ head/tools/regression/netinet/ip_id_period/ip_id_period.py Thu Nov 19 00:01:52 2015 (r291041) @@ -27,6 +27,7 @@ # code. It will push 200000 packets, then report back what the min and max # periods it saw for different IDs were. +from __future__ import print_function import os import signal import subprocess Modified: head/tools/sched/schedgraph.py ============================================================================== --- head/tools/sched/schedgraph.py Wed Nov 18 23:53:13 2015 (r291040) +++ head/tools/sched/schedgraph.py Thu Nov 19 00:01:52 2015 (r291041) @@ -26,6 +26,7 @@ # # $FreeBSD$ +from __future__ import print_function import sys import re import random @@ -142,7 +143,7 @@ class Colormap: color = self.map[name] except: color = colors[random.randrange(0, len(colors))] - print "Picking random color", color, "for", name + print("Picking random color", color, "for", name) self.map[name] = color self.table.append((name, color)) return (color) @@ -736,9 +737,9 @@ class StateEvent(Event): color = colormap.lookup(self.name) if (duration < 0): duration = 0 - print "Unsynchronized timestamp" - print self.cpu, self.timestamp - print next.cpu, next.timestamp + print("Unsynchronized timestamp") + print(self.cpu, self.timestamp) + print(next.cpu, next.timestamp) delta = duration / canvas.ratio l = canvas.create_rectangle(xpos, ypos, xpos + delta, ypos - 10, fill=color, width=0, @@ -762,9 +763,9 @@ class CountEvent(Event): self.duration = duration = next.timestamp - self.timestamp if (duration < 0): duration = 0 - print "Unsynchronized timestamp" - print self.cpu, self.timestamp - print next.cpu, next.timestamp + print("Unsynchronized timestamp") + print(self.cpu, self.timestamp) + print(next.cpu, next.timestamp) self.attrs.insert(0, ("count", self.count)) self.attrs.insert(1, ("duration", ticks2sec(duration))) delta = duration / canvas.ratio @@ -941,7 +942,7 @@ class KTRFile: try: ifp = open(file) except: - print "Can't open", file + print("Can't open", file) sys.exit(1) # quoteexp matches a quoted string, no escaping @@ -989,14 +990,14 @@ class KTRFile: status.startup("Parsing line " + str(lineno)) m = ktrre.match(line); if (m == None): - print "Can't parse", lineno, line, + print("Can't parse", lineno, line, end=' ') continue; (index, cpu, timestamp, group, id, type, dat, dat1, attrstring) = m.groups(); if (dat == None): dat = dat1 if (self.checkstamp(timestamp) == 0): - print "Bad timestamp at", lineno, ":", - print cpu, timestamp + print("Bad timestamp at", lineno, ":", end=' ') + print(cpu, timestamp) continue # # Build the table of optional attributes @@ -1032,7 +1033,7 @@ class KTRFile: args = (dat, cpu, timestamp, attrs) e = self.makeevent(group, id, type, args) if (e == None): - print "Unknown type", type, lineno, line, + print("Unknown type", type, lineno, line, end=' ') def makeevent(self, group, id, type, args): e = None @@ -1098,9 +1099,9 @@ class KTRFile: if (self.stathz != 0): return (self.timespan() / self.ticks[0]) * int(self.stathz) # Pretend we have a 1ns clock - print "WARNING: No clock discovered and no frequency ", - print "specified via the command line." - print "Using fake 1ghz clock" + print("WARNING: No clock discovered and no frequency ", end=' ') + print("specified via the command line.") + print("Using fake 1ghz clock") return (oneghz); def fixup(self): @@ -1624,7 +1625,7 @@ class SchedGraph(Frame): return self.display.getstate(tag) if (len(sys.argv) != 2 and len(sys.argv) != 3): - print "usage:", sys.argv[0], " [clock freq in ghz]" + print("usage:", sys.argv[0], " [clock freq in ghz]") sys.exit(1) if (len(sys.argv) > 2): Modified: head/tools/tools/shlib-compat/shlib-compat.py ============================================================================== --- head/tools/tools/shlib-compat/shlib-compat.py Wed Nov 18 23:53:13 2015 (r291040) +++ head/tools/tools/shlib-compat/shlib-compat.py Thu Nov 19 00:01:52 2015 (r291041) @@ -26,6 +26,7 @@ # # $FreeBSD$ +from __future__ import print_function import os import sys import re @@ -78,7 +79,7 @@ class App(object): def warn(cond, msg): if cond: - print >> sys.stderr, "WARN: " + msg + print("WARN: " + msg, file=sys.stderr) # {{{ misc @@ -694,12 +695,12 @@ class Shlib(object): (sym.name_ver, self.libfile, sym.offset)) continue if Config.verbose >= 3: - print "Parsing symbol %s (%s)" % (sym.name_ver, self.libfile) + print("Parsing symbol %s (%s)" % (sym.name_ver, self.libfile)) sym.definition = dwarf.build(raw) def parse(self): if not os.path.isfile(self.libfile): - print >> sys.stderr, ("No such file: %s" % self.libfile) + print("No such file: %s" % self.libfile, file=sys.stderr) sys.exit(1) self.parse_objdump() self.parse_dwarfdump() @@ -722,7 +723,7 @@ class Parser(object): self.parser(line) err = fd.close() if err: - print >> sys.stderr, ("Execution failed: %s" % self.proc) + print("Execution failed: %s" % self.proc, file=sys.stderr) sys.exit(2) def parse_begin(self, line): @@ -964,16 +965,16 @@ def common_symbols(origlib, newlib): result = [] verdiff = ListDiff(origlib.versions.keys(), newlib.versions.keys()) if Config.verbose >= 1: - print 'Original versions: ', list_str(verdiff.orig) - print 'New versions: ', list_str(verdiff.new) + print('Original versions: ', list_str(verdiff.orig)) + print('New versions: ', list_str(verdiff.new)) for vername in verdiff.added: - print 'Added version: ', vername - print ' Added symbols: ', \ - names_ver_str(vername, newlib.versions[vername].names()) + print('Added version: ', vername) + print(' Added symbols: ', \ + names_ver_str(vername, newlib.versions[vername].names())) for vername in verdiff.removed: - print 'Removed version: ', vername - print ' Removed symbols: ', \ - names_ver_str(vername, origlib.versions[vername].names()) + print('Removed version: ', vername) + print(' Removed symbols: ', \ + names_ver_str(vername, origlib.versions[vername].names())) added = [] removed = [] for vername in verdiff.common: @@ -990,13 +991,13 @@ def common_symbols(origlib, newlib): sym = CommonSymbol(origver.symbols[n], newver.symbols[n]) commonver.append(sym) if added: - print 'Added symbols:' + print('Added symbols:') for i in added: - print ' ', i + print(' ', i) if removed: - print 'Removed symbols:' + print('Removed symbols:') for i in removed: - print ' ', i + print(' ', i) return result def cmp_symbols(commonver): @@ -1011,27 +1012,27 @@ def cmp_symbols(commonver): App.result_code = 1 if Config.verbose >= 1 or not match: if missing: - print '%s: missing definition' % \ - (sym.origsym.name_ver,) + print('%s: missing definition' % \ + (sym.origsym.name_ver,)) continue - print '%s: definitions %smatch' % \ - (sym.origsym.name_ver, "" if match else "mis") + print('%s: definitions %smatch' % \ + (sym.origsym.name_ver, "" if match else "mis")) if Config.dump or (not match and not Config.no_dump): for x in [(sym.origsym, Config.origfile), (sym.newsym, Config.newfile)]: xsym = x[0] xout = x[1].out if not xsym.definition: - print >> xout, '\n// Definition not found: %s %s' % \ - (xsym.name_ver, xsym.lib.libfile) + print('\n// Definition not found: %s %s' % \ + (xsym.name_ver, xsym.lib.libfile), file=xout) continue - print >> xout, '\n// Definitions mismatch: %s %s' % \ - (xsym.name_ver, xsym.lib.libfile) + print('\n// Definitions mismatch: %s %s' % \ + (xsym.name_ver, xsym.lib.libfile), file=xout) pp = PrettyPrinter() pp.run(xsym.definition) for i in pp.nested(): - print >> xout, i - print >> xout, pp.result() + print(i, file=xout) + print(pp.result(), file=xout) def dump_symbols(commonver): class SymbolDump(object): @@ -1043,13 +1044,13 @@ def dump_symbols(commonver): r = self.pp.run(sym.definition) self.res.append('/* %s@%s */ %s' % (sym.name, sym.version, r)) def finish(self): - print >> self.io_conf.out, '\n// Symbol dump: version %s, library %s' % \ - (ver.name, self.io_conf.filename) + print('\n// Symbol dump: version %s, library %s' % \ + (ver.name, self.io_conf.filename), file=self.io_conf.out) for i in self.pp.nested(): - print >> self.io_conf.out, i - print >> self.io_conf.out, '' + print(i, file=self.io_conf.out) + print('', file=self.io_conf.out) for i in self.res: - print >> self.io_conf.out, i + print(i, file=self.io_conf.out) for ver in commonver: names = sorted(ver.names()); d_orig = SymbolDump(Config.origfile) @@ -1150,7 +1151,7 @@ if __name__ == '__main__': dump_symbols(commonver) cmp_symbols(commonver) if Config.verbose >= 4: - print Dwarf.cmpcache.stats.show('Cmp') - print DwarfdumpParser.tagcache_stats.show('Dwarf tag') + print(Dwarf.cmpcache.stats.show('Cmp')) + print(DwarfdumpParser.tagcache_stats.show('Dwarf tag')) sys.exit(App.result_code) Modified: head/usr.bin/fortune/tools/do_uniq.py ============================================================================== --- head/usr.bin/fortune/tools/do_uniq.py Wed Nov 18 23:53:13 2015 (r291040) +++ head/usr.bin/fortune/tools/do_uniq.py Thu Nov 19 00:01:52 2015 (r291041) @@ -3,7 +3,7 @@ # $FreeBSD$ # # an aggressive little script for trimming duplicate cookies - +from __future__ import print_function import argparse import re From owner-svn-src-head@freebsd.org Thu Nov 19 00:27:28 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D911A3290C; Thu, 19 Nov 2015 00:27:28 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 085251E64; Thu, 19 Nov 2015 00:27:27 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ0RRoU022737; Thu, 19 Nov 2015 00:27:27 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ0RRbv022736; Thu, 19 Nov 2015 00:27:27 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511190027.tAJ0RRbv022736@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Thu, 19 Nov 2015 00:27:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291045 - head/sys/netinet6 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.20 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, 19 Nov 2015 00:27:28 -0000 Author: cem Date: Thu Nov 19 00:27:26 2015 New Revision: 291045 URL: https://svnweb.freebsd.org/changeset/base/291045 Log: in6_mc_get: Fix recursion on if_addr_lock on malloc failure Analogously to r291040, in6_mc_get recurses on if_addr_lock if the M_NOWAIT allocation fails. The fix is the same. Suggested by: Andrey V. Elsukov Reviewed by: jhb (ip4 version) Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4138 (ip4 version) Modified: head/sys/netinet6/in6_mcast.c Modified: head/sys/netinet6/in6_mcast.c ============================================================================== --- head/sys/netinet6/in6_mcast.c Thu Nov 19 00:25:58 2015 (r291044) +++ head/sys/netinet6/in6_mcast.c Thu Nov 19 00:27:26 2015 (r291045) @@ -469,9 +469,9 @@ in6_mc_get(struct ifnet *ifp, const stru */ inm = malloc(sizeof(*inm), M_IP6MADDR, M_NOWAIT | M_ZERO); if (inm == NULL) { + IF_ADDR_WUNLOCK(ifp); if_delmulti_ifma(ifma); - error = ENOMEM; - goto out_locked; + return (ENOMEM); } inm->in6m_addr = *group; inm->in6m_ifp = ifp; From owner-svn-src-head@freebsd.org Thu Nov 19 00:45:37 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1A3FA32C46; Thu, 19 Nov 2015 00:45:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2D88162E; Thu, 19 Nov 2015 00:45:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ0jasV028353; Thu, 19 Nov 2015 00:45:36 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ0jaPd028352; Thu, 19 Nov 2015 00:45:36 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511190045.tAJ0jaPd028352@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 19 Nov 2015 00:45:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291046 - head/share/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.20 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, 19 Nov 2015 00:45:38 -0000 Author: bdrewery Date: Thu Nov 19 00:45:36 2015 New Revision: 291046 URL: https://svnweb.freebsd.org/changeset/base/291046 Log: FAST_DEPEND: Similar to r290629, do always depend on headers if 'make depend' has not ran yet. This fixes building objects directly, or skipping 'make depend', not generating required headers first. This case did work without FAST_DEPEND so there's no reason it should not work here as well. An example of this can be seen building in gnu/usr.bin/binutils/libbfd without running 'make depend' first to generate config.h. Sponsored by: EMC / Isilon Storage Division MFC after: 3 weeks X-MFC-With: r290433 Modified: head/share/mk/bsd.lib.mk Modified: head/share/mk/bsd.lib.mk ============================================================================== --- head/share/mk/bsd.lib.mk Thu Nov 19 00:27:26 2015 (r291045) +++ head/share/mk/bsd.lib.mk Thu Nov 19 00:45:36 2015 (r291046) @@ -419,7 +419,7 @@ lint: ${SRCS:M*.c} .if ${MK_FAST_DEPEND} == "yes" || !exists(${.OBJDIR}/${DEPENDFILE}) .if defined(LIB) && !empty(LIB) -.if ${MK_FAST_DEPEND} == "no" +.if !exists(${.OBJDIR}/${DEPENDFILE}) ${OBJS} ${STATICOBJS} ${POBJS}: ${SRCS:M*.h} .endif .for _S in ${SRCS:N*.[hly]} From owner-svn-src-head@freebsd.org Thu Nov 19 01:08:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55CCBA2F066; Thu, 19 Nov 2015 01:08:17 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B0D5109E; Thu, 19 Nov 2015 01:08:17 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ18GdN034277; Thu, 19 Nov 2015 01:08:16 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ18GBi034276; Thu, 19 Nov 2015 01:08:16 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511190108.tAJ18GBi034276@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Thu, 19 Nov 2015 01:08:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291047 - head/sys/ofed/drivers/net/mlx4 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.20 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, 19 Nov 2015 01:08:17 -0000 Author: ngie Date: Thu Nov 19 01:08:16 2015 New Revision: 291047 URL: https://svnweb.freebsd.org/changeset/base/291047 Log: Don't leak work if __mlx4_register_vlan(..) fails in mlx4_master_immediate_activate_vlan_qos(..) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D4203 Submitted by: Miles Olrich Sponsored by: EMC / Isilon Storage Division Modified: head/sys/ofed/drivers/net/mlx4/cmd.c Modified: head/sys/ofed/drivers/net/mlx4/cmd.c ============================================================================== --- head/sys/ofed/drivers/net/mlx4/cmd.c Thu Nov 19 00:45:36 2015 (r291046) +++ head/sys/ofed/drivers/net/mlx4/cmd.c Thu Nov 19 01:08:16 2015 (r291047) @@ -1784,6 +1784,7 @@ static int mlx4_master_immediate_activat mlx4_warn((&priv->dev), "No vlan resources slave %d, port %d\n", slave, port); + kfree(work); return err; } } else { From owner-svn-src-head@freebsd.org Thu Nov 19 01:45:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E3288A2F7BA; Thu, 19 Nov 2015 01:45:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id C5FDF111B; Thu, 19 Nov 2015 01:45:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id BA2C712B7; Thu, 19 Nov 2015 01:45:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1420616BB5; Thu, 19 Nov 2015 01:45:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 7CiGvc12c7UG; Thu, 19 Nov 2015 01:45:04 +0000 (UTC) Subject: Re: svn commit: r288966 - head/share/mk DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 9A96316BAF To: "Simon J. Gerraty" References: <201510070032.t970WYvU099368@repo.freebsd.org> <56146B4E.5040401@FreeBSD.org> <24053.1444240925@chaos> <56155FE0.7020809@FreeBSD.org> Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc X-Enigmail-Draft-Status: N1110 Organization: FreeBSD Message-ID: <564D29A0.6040000@FreeBSD.org> Date: Wed, 18 Nov 2015 17:45:04 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <56155FE0.7020809@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="dmpsXb8wNAdsRX9RoDdhIhIRBnD8fmou8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 01:45:12 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --dmpsXb8wNAdsRX9RoDdhIhIRBnD8fmou8 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 10/7/2015 11:09 AM, Bryan Drewery wrote: > On 10/7/2015 11:02 AM, Simon J. Gerraty wrote: >> Bryan Drewery wrote: >>>> +.for h in ${SRCS:M*.h} >>> >>> I think we can use DPSRCS as well for this. >> >> Not sure. >> usr.bin/truss/Makefile didn't use that. >> I only see it set in bsd.dep.mk - which we don't use in meta mode. >> >=20 > I'm less thinking about the usage in bsd.dep.mk and more these that > manually set it: >=20 > gnu/lib/libreadline/readline/Makefile:DPSRCS+=3D ${INSTALLED_HEADERS} > lib/libc/tests/rpc/Makefile:DPSRCS+=3D h_testbits.h > sbin/ipf/ipf/Makefile:DPSRCS+=3D ${GENHDRS} > sbin/ipf/ipftest/Makefile:DPSRCS+=3D ${GENHDRS} > sbin/ipf/ipmon/Makefile:DPSRCS+=3D ${GENHDRS} > sbin/ipf/ipnat/Makefile:DPSRCS+=3D ${GENHDRS} > sbin/ipf/ippool/Makefile:DPSRCS+=3D ${GENHDRS} > sys/modules/linux/Makefile:DPSRCS=3D linux${SFX}_genassym.c > sys/modules/linux64/Makefile:DPSRCS=3D linux_genassym.c > sys/modules/vmm/Makefile:DPSRCS=3D vmx_genassym.c svm_genassym.c= > usr.bin/kdump/Makefile:DPSRCS=3D kdump_subr.h > usr.bin/netstat/Makefile:DPSRCS=3D nl_defs.h > usr.bin/svn/svn/Makefile:DPSRCS+=3D freebsd-organization.h >=20 >=20 > I ran into at least one case, I think usr.bin/netstat, where the file i= n > DPSRCS was missing and Makefile.depend had to learn how to build it > before it would work. >=20 > I can test more to see if adding it has any effect. >=20 Actually, all but the sys/ ones here are wrongly using DPSRCS and should be SRCS. I have pending commits to fix that. DPSRCS is *only for files used to generate other files, not generated files*. Fixing these DPSRCS cases fixes the "clean build" in usr.bin/netstat for example (without the local deps in Makefile.depend). Really, anything that fails to build with "missing local dependencies" is broken outside of the meta build as well. As for the actual change in local.autodep.mk, I don't think it is needed or right since bsd.lib.mk and bsd.prog.mk already do exactly the same thing via ${OBJS}: ${SRCS:M*.h} if .depend is not yet generated. This does work in meta mode as I ran into a failure due to it before r291046 (I had removed the libbfd/Makefile.depend.host for other testing). It's also hooked in far too late and orthogonally to the OBJS in the graph that need the headers. --=20 Regards, Bryan Drewery --dmpsXb8wNAdsRX9RoDdhIhIRBnD8fmou8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJWTSmgAAoJEDXXcbtuRpfPBXUH/jn/unMhFx+h++hXUnjcvFyj f/ZaFI6+dHC9x15OYdqry8GFrcTADOkqcyOFMkRovVOlZIP3mlZ0WQeF4d2slPNU Q6tA3R6guSSYpKRZG/Ej3RlrjSXzy6JKP9FjkTZsJSEdH4DyEKAuTjX/pBEEWIFc 5YM0aSAiSU16WKVwbk4cOxJolBphx0qnPQlubae8l+zCCV7gr01egcxcth0nQAzx 64aWtK4Bk/VrxNJ2rZo3cB+Gkj2C2KVI5+SUw0ABh6maYvBmCmexYcJvRKtQNIUF vjiLSzIcHfO5uRSngxzMsmKHZqey9VsFxKfuEEocc7fdODl+JIC/LC4YzKtP888= =Remo -----END PGP SIGNATURE----- --dmpsXb8wNAdsRX9RoDdhIhIRBnD8fmou8-- From owner-svn-src-head@freebsd.org Thu Nov 19 01:57:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0EE45A2FC85; Thu, 19 Nov 2015 01:57:25 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D17F81887; Thu, 19 Nov 2015 01:57:24 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ1vN7f050281; Thu, 19 Nov 2015 01:57:23 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ1vN3K050280; Thu, 19 Nov 2015 01:57:23 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201511190157.tAJ1vN3K050280@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Thu, 19 Nov 2015 01:57:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291048 - head/sys/boot/powerpc/kboot 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.20 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, 19 Nov 2015 01:57:25 -0000 Author: nwhitehorn Date: Thu Nov 19 01:57:23 2015 New Revision: 291048 URL: https://svnweb.freebsd.org/changeset/base/291048 Log: The Linux kexec boot loader doesn't need a font built in to it. This got copied-and-pasted from the PS3 loader. Modified: head/sys/boot/powerpc/kboot/Makefile Modified: head/sys/boot/powerpc/kboot/Makefile ============================================================================== --- head/sys/boot/powerpc/kboot/Makefile Thu Nov 19 01:08:16 2015 (r291047) +++ head/sys/boot/powerpc/kboot/Makefile Thu Nov 19 01:57:23 2015 (r291048) @@ -102,11 +102,6 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/li DPADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} LDADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} -SC_DFLT_FONT=cp437 - -font.h: - uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h - vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} From owner-svn-src-head@freebsd.org Thu Nov 19 01:58:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B0D5A2FD03; Thu, 19 Nov 2015 01:58:17 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16C8D19EF; Thu, 19 Nov 2015 01:58:17 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ1wGsI050419; Thu, 19 Nov 2015 01:58:16 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ1wCZn050383; Thu, 19 Nov 2015 01:58:12 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511190158.tAJ1wCZn050383@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 19 Nov 2015 01:58:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291049 - head/sys/mips/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.20 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, 19 Nov 2015 01:58:17 -0000 Author: imp Date: Thu Nov 19 01:58:12 2015 New Revision: 291049 URL: https://svnweb.freebsd.org/changeset/base/291049 Log: Mark the mostly redundant kernels that just pull in something from _BASE as NO_UNIVERSE Differential Revision: https://reviews.freebsd.org/D4200 Modified: head/sys/mips/conf/ALFA_HORNET_UB head/sys/mips/conf/AP121 head/sys/mips/conf/AP135 head/sys/mips/conf/AP143 head/sys/mips/conf/AP91 head/sys/mips/conf/AP93 head/sys/mips/conf/AP94 head/sys/mips/conf/AP96 head/sys/mips/conf/BERI_DE4_MDROOT head/sys/mips/conf/BERI_DE4_SDROOT head/sys/mips/conf/BERI_SIM_MDROOT head/sys/mips/conf/BERI_SIM_SDROOT head/sys/mips/conf/BERI_SIM_VIRTIO head/sys/mips/conf/CARAMBOLA2 head/sys/mips/conf/DB120 head/sys/mips/conf/DIR-655A1 head/sys/mips/conf/DIR-825B1 head/sys/mips/conf/DIR-825C1 head/sys/mips/conf/ENH200 head/sys/mips/conf/ONIONOMEGA head/sys/mips/conf/PB47 head/sys/mips/conf/PICOSTATION_M2HP head/sys/mips/conf/ROUTERSTATION head/sys/mips/conf/ROUTERSTATION_MFS head/sys/mips/conf/RSPRO head/sys/mips/conf/RSPRO_MFS head/sys/mips/conf/TL-ARCHERC7V2 head/sys/mips/conf/TL-WDR4300 head/sys/mips/conf/TL-WR1043NDv2 head/sys/mips/conf/TL-WR740Nv4 head/sys/mips/conf/TP-MR3020 head/sys/mips/conf/TP-WN1043ND head/sys/mips/conf/WZR-300HP head/sys/mips/conf/WZR-HPAG300H Modified: head/sys/mips/conf/ALFA_HORNET_UB ============================================================================== --- head/sys/mips/conf/ALFA_HORNET_UB Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/ALFA_HORNET_UB Thu Nov 19 01:58:12 2015 (r291049) @@ -15,6 +15,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR933x parameters include "AR933X_BASE" Modified: head/sys/mips/conf/AP121 ============================================================================== --- head/sys/mips/conf/AP121 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP121 Thu Nov 19 01:58:12 2015 (r291049) @@ -9,6 +9,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR933x parameters include "AR933X_BASE" Modified: head/sys/mips/conf/AP135 ============================================================================== --- head/sys/mips/conf/AP135 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP135 Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default QCA955x parameters include "QCA955X_BASE" Modified: head/sys/mips/conf/AP143 ============================================================================== --- head/sys/mips/conf/AP143 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP143 Thu Nov 19 01:58:12 2015 (r291049) @@ -9,6 +9,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default QCA953x parameters include "QCA953X_BASE" Modified: head/sys/mips/conf/AP91 ============================================================================== --- head/sys/mips/conf/AP91 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP91 Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR724X_BASE" ident "AP91" hints "AP91.hints" Modified: head/sys/mips/conf/AP93 ============================================================================== --- head/sys/mips/conf/AP93 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP93 Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR724X_BASE" ident "AP93" hints "AP93.hints" Modified: head/sys/mips/conf/AP94 ============================================================================== --- head/sys/mips/conf/AP94 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP94 Thu Nov 19 01:58:12 2015 (r291049) @@ -13,6 +13,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR71XX_BASE" ident "AP94" hints "AP94.hints" Modified: head/sys/mips/conf/AP96 ============================================================================== --- head/sys/mips/conf/AP96 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/AP96 Thu Nov 19 01:58:12 2015 (r291049) @@ -13,6 +13,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR71XX_BASE" ident "AP96" hints "AP96.hints" Modified: head/sys/mips/conf/BERI_DE4_MDROOT ============================================================================== --- head/sys/mips/conf/BERI_DE4_MDROOT Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/BERI_DE4_MDROOT Thu Nov 19 01:58:12 2015 (r291049) @@ -6,6 +6,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "BERI_DE4_BASE" ident BERI_DE4_MDROOT Modified: head/sys/mips/conf/BERI_DE4_SDROOT ============================================================================== --- head/sys/mips/conf/BERI_DE4_SDROOT Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/BERI_DE4_SDROOT Thu Nov 19 01:58:12 2015 (r291049) @@ -6,6 +6,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "BERI_DE4_BASE" ident BERI_DE4_SDROOT Modified: head/sys/mips/conf/BERI_SIM_MDROOT ============================================================================== --- head/sys/mips/conf/BERI_SIM_MDROOT Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/BERI_SIM_MDROOT Thu Nov 19 01:58:12 2015 (r291049) @@ -5,6 +5,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "BERI_SIM_BASE" ident BERI_SIM_MDROOT Modified: head/sys/mips/conf/BERI_SIM_SDROOT ============================================================================== --- head/sys/mips/conf/BERI_SIM_SDROOT Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/BERI_SIM_SDROOT Thu Nov 19 01:58:12 2015 (r291049) @@ -5,6 +5,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "BERI_SIM_BASE" ident BERI_SIM_SDROOT Modified: head/sys/mips/conf/BERI_SIM_VIRTIO ============================================================================== --- head/sys/mips/conf/BERI_SIM_VIRTIO Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/BERI_SIM_VIRTIO Thu Nov 19 01:58:12 2015 (r291049) @@ -5,6 +5,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "BERI_SIM_BASE" ident BERI_SIM_VIRTIO Modified: head/sys/mips/conf/CARAMBOLA2 ============================================================================== --- head/sys/mips/conf/CARAMBOLA2 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/CARAMBOLA2 Thu Nov 19 01:58:12 2015 (r291049) @@ -11,6 +11,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR933x parameters include "AR933X_BASE" Modified: head/sys/mips/conf/DB120 ============================================================================== --- head/sys/mips/conf/DB120 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/DB120 Thu Nov 19 01:58:12 2015 (r291049) @@ -7,6 +7,8 @@ # Include the default AR934x parameters include "AR934X_BASE" +#NO_UNIVERSE + ident DB120 # Override hints with board values Modified: head/sys/mips/conf/DIR-655A1 ============================================================================== --- head/sys/mips/conf/DIR-655A1 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/DIR-655A1 Thu Nov 19 01:58:12 2015 (r291049) @@ -7,6 +7,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default QCA955x parameters include "QCA955X_BASE" Modified: head/sys/mips/conf/DIR-825B1 ============================================================================== --- head/sys/mips/conf/DIR-825B1 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/DIR-825B1 Thu Nov 19 01:58:12 2015 (r291049) @@ -13,6 +13,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR71XX_BASE" ident "DIR-825B1" hints "DIR-825B1.hints" Modified: head/sys/mips/conf/DIR-825C1 ============================================================================== --- head/sys/mips/conf/DIR-825C1 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/DIR-825C1 Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # + 128MB RAM # + uboot environment +#NO_UNIVERSE + # Include the default AR934x parameters include "AR934X_BASE" ident DIR825C1 Modified: head/sys/mips/conf/ENH200 ============================================================================== --- head/sys/mips/conf/ENH200 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/ENH200 Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR724X_BASE" ident "ENH200" hints "ENH200.hints" Modified: head/sys/mips/conf/ONIONOMEGA ============================================================================== --- head/sys/mips/conf/ONIONOMEGA Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/ONIONOMEGA Thu Nov 19 01:58:12 2015 (r291049) @@ -11,6 +11,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR933x parameters include "AR933X_BASE" Modified: head/sys/mips/conf/PB47 ============================================================================== --- head/sys/mips/conf/PB47 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/PB47 Thu Nov 19 01:58:12 2015 (r291049) @@ -13,6 +13,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "AR71XX_BASE" ident "PB47" hints "PB47.hints" Modified: head/sys/mips/conf/PICOSTATION_M2HP ============================================================================== --- head/sys/mips/conf/PICOSTATION_M2HP Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/PICOSTATION_M2HP Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR724X_BASE" ident "PICOSTATION_M2HP" hints "PICOSTATION_M2HP.hints" Modified: head/sys/mips/conf/ROUTERSTATION ============================================================================== --- head/sys/mips/conf/ROUTERSTATION Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/ROUTERSTATION Thu Nov 19 01:58:12 2015 (r291049) @@ -4,6 +4,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "AR71XX_BASE" ident "ROUTERSTATION" hints "ROUTERSTATION.hints" Modified: head/sys/mips/conf/ROUTERSTATION_MFS ============================================================================== --- head/sys/mips/conf/ROUTERSTATION_MFS Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/ROUTERSTATION_MFS Thu Nov 19 01:58:12 2015 (r291049) @@ -4,6 +4,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "AR71XX_BASE" ident "ROUTERSTATION_MFS" hints "ROUTERSTATION.hints" Modified: head/sys/mips/conf/RSPRO ============================================================================== --- head/sys/mips/conf/RSPRO Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/RSPRO Thu Nov 19 01:58:12 2015 (r291049) @@ -4,6 +4,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "AR71XX_BASE" ident "RSPRO" hints "RSPRO.hints" Modified: head/sys/mips/conf/RSPRO_MFS ============================================================================== --- head/sys/mips/conf/RSPRO_MFS Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/RSPRO_MFS Thu Nov 19 01:58:12 2015 (r291049) @@ -4,6 +4,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + include "AR71XX_BASE" ident "RSPRO_MFS" hints "RSPRO.hints" Modified: head/sys/mips/conf/TL-ARCHERC7V2 ============================================================================== --- head/sys/mips/conf/TL-ARCHERC7V2 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/TL-ARCHERC7V2 Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default QCA955x parameters include "QCA955X_BASE" Modified: head/sys/mips/conf/TL-WDR4300 ============================================================================== --- head/sys/mips/conf/TL-WDR4300 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/TL-WDR4300 Thu Nov 19 01:58:12 2015 (r291049) @@ -4,6 +4,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR934x parameters include "AR934X_BASE" Modified: head/sys/mips/conf/TL-WR1043NDv2 ============================================================================== --- head/sys/mips/conf/TL-WR1043NDv2 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/TL-WR1043NDv2 Thu Nov 19 01:58:12 2015 (r291049) @@ -7,6 +7,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default QCA955x parameters include "QCA955X_BASE" Modified: head/sys/mips/conf/TL-WR740Nv4 ============================================================================== --- head/sys/mips/conf/TL-WR740Nv4 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/TL-WR740Nv4 Thu Nov 19 01:58:12 2015 (r291049) @@ -9,6 +9,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR933x parameters include "AR933X_BASE" Modified: head/sys/mips/conf/TP-MR3020 ============================================================================== --- head/sys/mips/conf/TP-MR3020 Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/TP-MR3020 Thu Nov 19 01:58:12 2015 (r291049) @@ -16,6 +16,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR933x parameters include "AR933X_BASE" Modified: head/sys/mips/conf/TP-WN1043ND ============================================================================== --- head/sys/mips/conf/TP-WN1043ND Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/TP-WN1043ND Thu Nov 19 01:58:12 2015 (r291049) @@ -4,6 +4,8 @@ # $FreeBSD$ # +#NO_UNIVERSE + # Include the default AR913x parameters common to all AR913x SoC users. include "AR91XX_BASE" Modified: head/sys/mips/conf/WZR-300HP ============================================================================== --- head/sys/mips/conf/WZR-300HP Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/WZR-300HP Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR724X_BASE" ident "WZR-300HP" hints "WZR-300HP.hints" Modified: head/sys/mips/conf/WZR-HPAG300H ============================================================================== --- head/sys/mips/conf/WZR-HPAG300H Thu Nov 19 01:57:23 2015 (r291048) +++ head/sys/mips/conf/WZR-HPAG300H Thu Nov 19 01:58:12 2015 (r291049) @@ -12,6 +12,8 @@ # $FreeBSD$ +#NO_UNIVERSE + include "AR71XX_BASE" ident "WZR-HPAG300H" hints "WZR-HPAG300H.hints" From owner-svn-src-head@freebsd.org Thu Nov 19 02:39:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CFBF6A32856; Thu, 19 Nov 2015 02:39:47 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CB211D13; Thu, 19 Nov 2015 02:39:47 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ2dkdN062231; Thu, 19 Nov 2015 02:39:46 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ2dkJO062230; Thu, 19 Nov 2015 02:39:46 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201511190239.tAJ2dkJO062230@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 19 Nov 2015 02:39:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291052 - head/usr.sbin/makefs/ffs 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.20 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, 19 Nov 2015 02:39:47 -0000 Author: emaste Date: Thu Nov 19 02:39:46 2015 New Revision: 291052 URL: https://svnweb.freebsd.org/changeset/base/291052 Log: Remove clauses 3 and 4 from makefs newfs_extern.h Obtained from: NetBSD Modified: head/usr.sbin/makefs/ffs/newfs_extern.h Modified: head/usr.sbin/makefs/ffs/newfs_extern.h ============================================================================== --- head/usr.sbin/makefs/ffs/newfs_extern.h Thu Nov 19 02:38:53 2015 (r291051) +++ head/usr.sbin/makefs/ffs/newfs_extern.h Thu Nov 19 02:39:46 2015 (r291052) @@ -1,4 +1,4 @@ -/* $NetBSD: newfs_extern.h,v 1.2 2004/06/24 22:30:13 lukem Exp $ */ +/* $NetBSD: newfs_extern.h,v 1.3 2009/10/21 01:07:47 snj Exp $ */ /* From: NetBSD: extern.h,v 1.3 2000/12/01 12:03:27 simonb Exp $ */ /* @@ -12,11 +12,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christos Zoulas. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES From owner-svn-src-head@freebsd.org Thu Nov 19 03:11:21 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B19E5A30083; Thu, 19 Nov 2015 03:11:21 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BC891E11; Thu, 19 Nov 2015 03:11:21 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ3BKd2071135; Thu, 19 Nov 2015 03:11:20 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ3BKxC071134; Thu, 19 Nov 2015 03:11:20 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511190311.tAJ3BKxC071134@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 19 Nov 2015 03:11:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291053 - head/share/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.20 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, 19 Nov 2015 03:11:21 -0000 Author: imp Date: Thu Nov 19 03:11:20 2015 New Revision: 291053 URL: https://svnweb.freebsd.org/changeset/base/291053 Log: Fix mips CPUTYPE so that we can pass it through to gcc. Keep old CPUTYPEs around for compatibility. Also include a list of typical values for FreeBSD. # Split out from other changes in D4155 Differential Revision: https://reviews.freebsd.org/D4155 Modified: head/share/mk/bsd.cpu.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Thu Nov 19 02:39:46 2015 (r291052) +++ head/share/mk/bsd.cpu.mk Thu Nov 19 03:11:20 2015 (r291053) @@ -122,19 +122,18 @@ _CPUCFLAGS = -mcpu=${CPUTYPE} -mno-power . elif ${MACHINE_ARCH} == "powerpc64" _CPUCFLAGS = -mcpu=${CPUTYPE} . elif ${MACHINE_CPUARCH} == "mips" -. if ${CPUTYPE} == "mips32" -_CPUCFLAGS = -march=mips32 -. elif ${CPUTYPE} == "mips32r2" -_CPUCFLAGS = -march=mips32r2 -. elif ${CPUTYPE} == "mips64" -_CPUCFLAGS = -march=mips64 -. elif ${CPUTYPE} == "mips64r2" -_CPUCFLAGS = -march=mips64r2 -. elif ${CPUTYPE} == "mips4kc" -_CPUCFLAGS = -march=4kc -. elif ${CPUTYPE} == "mips24kc" -_CPUCFLAGS = -march=24kc -. endif +# mips[1234], mips32, mips64, and all later releases need to have mips +# preserved (releases later than r2 require external toolchain) +. if ${CPUTYPE:Mmips32*} != "" || ${CPUTYPE:Mmips64*} != "" || \ + ${CPUTYPE:Mmips[1234]} != "" +_CPUCFLAGS = -march=${CPUTYPE} +. else +# Default -march to the CPUTYPE passed in, with mips stripped off so we +# accept either mips4kc or 4kc, mostly for historical reasons +# Typical values for cores: +# 4kc, 24kc, 34kc, 74kc, 1004kc, octeon, octeon+, octeon2, octeon3, +# sb1, xlp, xlr +_CPUCFLAGS = -march=${CPUTYPE:S/^mips//} . elif ${MACHINE_ARCH} == "sparc64" . if ${CPUTYPE} == "v9" _CPUCFLAGS = -mcpu=v9 @@ -254,6 +253,9 @@ MACHINE_CPU = ssse3 sse3 MACHINE_CPU = sse3 . endif MACHINE_CPU += amd64 sse2 sse mmx +########## Mips +. elif ${MACHINE_CPUARCH} == "mips" +MACHINE_CPU = mips ########## powerpc . elif ${MACHINE_ARCH} == "powerpc" . if ${CPUTYPE} == "e500" From owner-svn-src-head@freebsd.org Thu Nov 19 03:53:32 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0FECAA31167; Thu, 19 Nov 2015 03:53:32 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0117.outbound.protection.outlook.com [207.46.100.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DB58E1784; Thu, 19 Nov 2015 03:53:30 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from BY2PR05CA055.namprd05.prod.outlook.com (10.141.250.45) by BL2PR05MB051.namprd05.prod.outlook.com (10.255.228.151) with Microsoft SMTP Server (TLS) id 15.1.331.20; Thu, 19 Nov 2015 03:53:24 +0000 Received: from BN1BFFO11FD035.protection.gbl (2a01:111:f400:7c10::1:192) by BY2PR05CA055.outlook.office365.com (2a01:111:e400:2c5f::45) with Microsoft SMTP Server (TLS) id 15.1.331.20 via Frontend Transport; Thu, 19 Nov 2015 03:53:23 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.17) smtp.mailfrom=juniper.net; FreeBSD.org; dkim=none (message not signed) header.d=none;FreeBSD.org; dmarc=none action=none header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.17 as permitted sender) Received: from p-emfe01a-sac.jnpr.net (66.129.239.17) by BN1BFFO11FD035.mail.protection.outlook.com (10.58.144.98) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Thu, 19 Nov 2015 03:53:22 +0000 Received: from magenta.juniper.net (172.17.27.123) by p-emfe01a-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Wed, 18 Nov 2015 19:53:21 -0800 Received: from chaos.jnpr.net (chaos.jnpr.net [172.21.16.28]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id tAJ3rKD44632; Wed, 18 Nov 2015 19:53:20 -0800 (PST) (envelope-from sjg@juniper.net) Received: from chaos (localhost [IPv6:::1]) by chaos.jnpr.net (Postfix) with ESMTP id BB93D580A9; Wed, 18 Nov 2015 19:53:19 -0800 (PST) To: Bryan Drewery CC: , , , Subject: Re: svn commit: r288966 - head/share/mk In-Reply-To: <564D29A0.6040000@FreeBSD.org> References: <201510070032.t970WYvU099368@repo.freebsd.org> <56146B4E.5040401@FreeBSD.org> <24053.1444240925@chaos> <56155FE0.7020809@FreeBSD.org> <564D29A0.6040000@FreeBSD.org> Comments: In-reply-to: Bryan Drewery message dated "Wed, 18 Nov 2015 17:45:04 -0800." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6; nmh 1.6; GNU Emacs 24.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <12768.1447905199.1@chaos> Date: Wed, 18 Nov 2015 19:53:19 -0800 Message-ID: <15117.1447905199@chaos> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD035; 1:VkC0lXg4EWOJade/vGXF3IqvQk2GLcIOkSj+4m2T329h+WkH7ARjZpFG/uoPWdt/WU/gCcHNOQX90+tDK7c5DB+rHfqSjVoyznP7T+/MAVmCxF0kRjOtL/w/7cZGpiZHkG7yLQ+fwuwlDf1N37JUh2+cOvzpWooG5hguqoufoeNtkrmIWRPDYF+aHyume/23fQ1aDg3PKkxvQZyi59SkQKU65zm7+vXHPEsh2Tq12nQNHY5uOL/uPdFyeNdw1lOy9KNMQm5sTWUpk4ylg+FBZg4mPuSuQpPyGSAinc2p6IWTR9clvWzq3uhYQtVXvxFWXuKaAhhwcWk4M+Kk+PczrJ8U6CF11MxTX4iNUxH0+SM= X-Forefront-Antispam-Report: CIP:66.129.239.17; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(24454002)(189002)(199003)(5007970100001)(19580395003)(107886002)(5001960100002)(106466001)(19580405001)(110136002)(189998001)(50986999)(46406003)(97756001)(450100001)(76176999)(5008740100001)(105596002)(87936001)(6806005)(86362001)(4001430100002)(47776003)(97736004)(50466002)(69596002)(117636001)(93886004)(57986006)(2950100001)(50226001)(77096005)(81156007)(76506005)(33716001)(586003)(92566002)(23726002)(42262002)(62816006); DIR:OUT; SFP:1102; SCL:1; SRVR:BL2PR05MB051; H:p-emfe01a-sac.jnpr.net; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2PR05MB051; 2:75aRZrByUWuchBS6I+h7QcYqh7gajWyEhVXQ7dVQv7fltZUQirSqkhYQ9v/w56YGip9fD3fFjOXP5gWCBExj2PtWVHJot2giETw06AMVi3lFHhYrt2MMjUngcf0LGC9u1HFK7snHcHPalnywN9xRRg==; 3:SIZMxLRFncGzKHdgCVLprQ6MwCaoAUdJ+ZvKhgmGrkGQj1yktTmuunWlwU7M8vKddcQ+pW4duWbA+gWS71L2rwEGRqjHH4thdsmgGIvcn9uW1YOVrwGpIW9Lmu+mx8PqVdnVYHc3ia2QoQoPnHXVoHtiTJv5bZnSqrpjUJhWG1XvkhraNGrC8NINfzBF2WCiv74FuQgBaYGIRJO2P2OD6Y3pN0JteO4Ca/Hia22c3PQ=; 25:pJCehgmcnpHmCLCCVME5cACVLQRXl7gsBwB/e68tPpE62Ep1ItW7LXlDvIuuyuTSla/EvVopuSzcUR0DE9FnU+va20RX7MtjZVdIY0vuwIURWC0uucTiBxhG3bMGUPl/evbGgGZ71tG6NNE6eFkd3sLpJhccesiWGdOKbrrQRkdB7cQEzoUCpld1qRcyTxEAg3KAQpf/5sEvZ2BBArXPPjY6HVFoC5I3giYu4djC2awY584iQWErAiWxahQOeIgg X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR05MB051; X-Microsoft-Exchange-Diagnostics: 1; BL2PR05MB051; 20:77GJ0yuNr5t/jCn1Yo/OYa7QyfvpxOxpoaUr6AH7xKz+CKKtIgtoTwL1uxujyOY9HwptIa5caGE2n3GtvuS2iRYJWNvDK5RlMt3WdzoACqqF8dAyNtdAnAIeP4pSWSQamEbhIyyyleXkCh0UNYvlp/C2SOacav5fCYZq10VST5fX2oIRIfwmTVvDqFCZIpOTTARp3u5q6t9f1jJb6mk+aJz5hLPiXMlDbGwRQgP60DVVcMuir9xYqJYjO0qJlokQKY36oVKQwEd97iqbayo2j1iSKAJ5sjTXFY7MaVVEYE/dq983Qz3z6XUbZi/LdLTi8fc/Lr+UyawVsygZgTvoJatw0HdxidwX8ZhCm9yto9zSDV9zywvQbeuI7yK4DV/+w2mCTDCR+vHoZKoBsxWySSTgHSFGfjjqMyrsDTPmT97Ci2wmLvvGdo4WOuKgzHGFIw1B+XGchJcHa8AMwHWeto0pMF9V0ArTV4CWPnAIEwdpo3LS31YI9uhqIjzNzGaD; 4:vQuIvaWbgZz2lSN9k7WP6lof5V5mgFEssHaweTM3TR2hjxcIC/1dSK5IH+btZSUSkiXZzN/tmAeKl9mqLWR7LGPwa5U8uVGwzR8+k5vqhZUfOBl1QY3Bi7Qf/CB03CcDi5/lUvRpivlFD0UUml9tlalONkWMaQijDvYaZqiKAL0pAPKdXufYSZhM6qDSCZVgMyzr3CTI7CImUEix68kSnf5RuIIuzf6cYo0eK45Or34ClSsQuY0OlWKQoAKGQjAUnbhRgYyF016LVqKRBObTJCnpk3SRwsfc2DKJuvtUotEuLkg+g27+XJim0o7aXaQPiLZCyCyXX3mYOjOZlKvC7vAxtUhQI+AstOGZSLiMhYOY8j6T/qqzYsXd0rqc8NrU X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001); SRVR:BL2PR05MB051; BCL:0; PCL:0; RULEID:; SRVR:BL2PR05MB051; X-Forefront-PRVS: 07658B8EA3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL2PR05MB051; 23:miimZyIY0xo8Gkzjq2Ygxf7Imkiv0wyJh+VoBcoU+V?= =?us-ascii?Q?jCPSaAfAohfvPbZBCm6jlg7iypfSJmjWiJ0O3dMsY3f6B+Bfagh7fKoBJ3w3?= =?us-ascii?Q?i2KLClc72BdjSiZbO/3/0PbGHHjD9eZk5g6sjQckRucw+CfeSR+EOcuMfOyZ?= =?us-ascii?Q?YedWifUcd/5Oh1QCqgQJem8iwQDJXN4OYnfgfX1a8UJc9WfcZwfWsRY3XJ3a?= =?us-ascii?Q?riGvxijCnPIo5Y2/o8vPW7GdJDpCMEEG8iNfK1Eg8NsPV0yI6ygpfKeG7U2n?= =?us-ascii?Q?LvFr0qIYzq1nDcmgOFAtDka9H3EKFC6q8NaqepW4eRSB2fHNFaXJQekAAJTi?= =?us-ascii?Q?zRCH65IEEL1Mp57uMRcLFkT6ryzcXPVv60om0O7uwlEMXMoBAu7zQXNjVLIV?= =?us-ascii?Q?kROkiSFB4Xt2pd99IGIhUNtpRoqrFiFbtMBdpF0u6slGK+b0021EvodPTcmp?= =?us-ascii?Q?G8HSlrTJNIkdw9PN3qBYg5bhtKotGC3kBefb9XP88jjxi4fXfapl+YYC/4Es?= =?us-ascii?Q?nTC5ns2IvQ1fr+zmMFz+vwLvLarX3Nc49ADQlAcZ/RmKiK8/05h/AxekxCbC?= =?us-ascii?Q?5TmQUpADww2ko9GaNpI6VUYlmkZtgviVZh8J/vcsU42etLryqsX0CgKXRL0/?= =?us-ascii?Q?gt4qKjqEG1yQc5hnu/NdC3pPMIkarT1hIMZ2BtDxZ10BeAdqQEX+R8jsNdjQ?= =?us-ascii?Q?hQcsr9mDgiP19oBB9r/kBQwcYASDqjPqJxrbTQ9lMBtUn38asufhCV965O4c?= =?us-ascii?Q?bzGOrt7OoCSccamKhRj5FoEMwKgtEBwHlEQW21sj1uDTv3YrUH/d1YMlGu/6?= =?us-ascii?Q?33EKxFWzhVaB9KOnSxuu/s0SdJa0JctYrVyEZGX/3P81GwBrAYbuQcdHxMEg?= =?us-ascii?Q?WN8jYSV1vd0G0XB5ib3hGMM8TlfUPS1BWdCrln4w3I//3jszArq8ALX7EZoS?= =?us-ascii?Q?u+FFk1stBORSA88mDRMhNK2YiTu91JX/y3+6+v4wO5xcJhQzCCJvsXN1jvwo?= =?us-ascii?Q?89JpRjPM17NHg9jFoqFlNmAh8092Wdef5J7zFbD7Fjg1MJrSObgI2llzQmUz?= =?us-ascii?Q?fzteaSMLGfDORiR4TKzOQl+EZX8eVmJEzjR82KL5n62/reb0xZQsbjfa8NII?= =?us-ascii?Q?svruyiSrA=3D?= X-Microsoft-Exchange-Diagnostics: 1; BL2PR05MB051; 5:SDgmvO/NSx+mCvRwkYl5Fi44Hsu2IC/Bu3FvOJt/13tIVSwCG7/R7ZJftqV4GJ3xJq7a9bKekaFZJO2jE1deLTv9r4fhzkRv4ovMRztu+yMkOPUOh1npc7LjuWWE6YGr3DKuLLeTxeiMrRyXz5K7WA==; 24:lgzc97F86AgW6oWwQWppr1iQwPM7hnoguFUOgtzhWqK0G0JN0aNBuWo6IyooqtBCiXdEWJkY6GAhkPtg6oTd0TkmnVcZ+mBa8MxIwtxbHsQ= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2015 03:53:22.7444 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.17]; Helo=[p-emfe01a-sac.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR05MB051 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 03:53:32 -0000 Bryan Drewery wrote: > As for the actual change in local.autodep.mk, I don't think it is needed > or right since bsd.lib.mk and bsd.prog.mk already do exactly the same > thing via ${OBJS}: ${SRCS:M*.h} if .depend is not yet generated. This > does work in meta mode as I ran into a failure due to it before r291046 > (I had removed the libbfd/Makefile.depend.host for other testing). It's > also hooked in far too late and orthogonally to the OBJS in the graph > that need the headers. Forgive me; what is "it" in the last sentence? It is never too late to add a dependency. It can easily be too late to add a value to a variable - to affect dependencies. Eg. goo: ${OBJS} echo OBJS=${OBJS} OBJS+= foo.c will not behave as 99% of readers assume. foo.c being newer than goo, will not cause the target to be updated because in goo: ${OBJS} OBJS is evaluated as the line is read. Whereas echo OBJS=${OBJS} is evaluated when the script is run which is much later in the game. OBJS+= foo.c goo: foo.c would be correct fwiw. From owner-svn-src-head@freebsd.org Thu Nov 19 03:55:45 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B54FAA31292; Thu, 19 Nov 2015 03:55:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7FC1C1AA5; Thu, 19 Nov 2015 03:55:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ3tics085827; Thu, 19 Nov 2015 03:55:44 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ3tiCm085826; Thu, 19 Nov 2015 03:55:44 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511190355.tAJ3tiCm085826@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 19 Nov 2015 03:55:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291055 - head/share/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.20 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, 19 Nov 2015 03:55:45 -0000 Author: imp Date: Thu Nov 19 03:55:44 2015 New Revision: 291055 URL: https://svnweb.freebsd.org/changeset/base/291055 Log: Fix missing endif. Modified: head/share/mk/bsd.cpu.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Thu Nov 19 03:53:31 2015 (r291054) +++ head/share/mk/bsd.cpu.mk Thu Nov 19 03:55:44 2015 (r291055) @@ -134,6 +134,7 @@ _CPUCFLAGS = -march=${CPUTYPE} # 4kc, 24kc, 34kc, 74kc, 1004kc, octeon, octeon+, octeon2, octeon3, # sb1, xlp, xlr _CPUCFLAGS = -march=${CPUTYPE:S/^mips//} +. endif . elif ${MACHINE_ARCH} == "sparc64" . if ${CPUTYPE} == "v9" _CPUCFLAGS = -mcpu=v9 From owner-svn-src-head@freebsd.org Thu Nov 19 03:56:24 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 814B4A31309; Thu, 19 Nov 2015 03:56:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 6C8DE1C39; Thu, 19 Nov 2015 03:56:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 65A281824; Thu, 19 Nov 2015 03:56:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1C42016E9D; Thu, 19 Nov 2015 03:56:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id QOqxrvag55qC; Thu, 19 Nov 2015 03:56:22 +0000 (UTC) Subject: Re: svn commit: r288966 - head/share/mk DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com CB4E216E94 To: "Simon J. Gerraty" References: <201510070032.t970WYvU099368@repo.freebsd.org> <56146B4E.5040401@FreeBSD.org> <24053.1444240925@chaos> <56155FE0.7020809@FreeBSD.org> <564D29A0.6040000@FreeBSD.org> <15117.1447905199@chaos> Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org From: Bryan Drewery Organization: FreeBSD Message-ID: <564D4865.4050702@FreeBSD.org> Date: Wed, 18 Nov 2015 19:56:21 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <15117.1447905199@chaos> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 03:56:24 -0000 On 11/18/15 7:53 PM, Simon J. Gerraty wrote: > Bryan Drewery wrote: >> > As for the actual change in local.autodep.mk, I don't think it is needed >> > or right since bsd.lib.mk and bsd.prog.mk already do exactly the same >> > thing via ${OBJS}: ${SRCS:M*.h} if .depend is not yet generated. This >> > does work in meta mode as I ran into a failure due to it before r291046 >> > (I had removed the libbfd/Makefile.depend.host for other testing). It's >> > also hooked in far too late and orthogonally to the OBJS in the graph >> > that need the headers. > Forgive me; what is "it" in the last sentence? > > It is never too late to add a dependency. > It can easily be too late to add a value to a variable - to affect > dependencies. "It" is the header dependency. buildfiles is too late. This would need to be on OBJS (which bsd.prog.mk/bsd.lib.mk already do, to ensure the header is part of the object's dependency tree) or beforebuild. Putting it on buildfiles is a separate part of the dependency tree than the objects are in. -- Regards, Bryan Drewery From owner-svn-src-head@freebsd.org Thu Nov 19 04:41:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4FAE1A31E7D; Thu, 19 Nov 2015 04:41:17 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1D2CF1CDE; Thu, 19 Nov 2015 04:41:17 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ4fGRk099224; Thu, 19 Nov 2015 04:41:16 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ4fGWq099223; Thu, 19 Nov 2015 04:41:16 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201511190441.tAJ4fGWq099223@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Thu, 19 Nov 2015 04:41:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291056 - head/sys/powerpc/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.20 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, 19 Nov 2015 04:41:17 -0000 Author: jhibbits Date: Thu Nov 19 04:41:16 2015 New Revision: 291056 URL: https://svnweb.freebsd.org/changeset/base/291056 Log: Revert r291009 until rman changes go in. Pointy-hat to: jhibbits Modified: head/sys/powerpc/include/bus.h Modified: head/sys/powerpc/include/bus.h ============================================================================== --- head/sys/powerpc/include/bus.h Thu Nov 19 03:55:44 2015 (r291055) +++ head/sys/powerpc/include/bus.h Thu Nov 19 04:41:16 2015 (r291056) @@ -79,14 +79,9 @@ #define BUS_SPACE_MAXADDR 0xFFFFFFFFFFFFFFFFUL #define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFFUL #else -#ifdef BOOKE -#define BUS_SPACE_MAXADDR 0xFFFFFFFFFFULL -#define BUS_SPACE_MAXSIZE 0xFFFFFFFFUL -#else #define BUS_SPACE_MAXADDR 0xFFFFFFFFUL #define BUS_SPACE_MAXSIZE 0xFFFFFFFFUL #endif -#endif #define BUS_SPACE_MAP_CACHEABLE 0x01 #define BUS_SPACE_MAP_LINEAR 0x02 From owner-svn-src-head@freebsd.org Thu Nov 19 05:33:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BEF8CA3277C; Thu, 19 Nov 2015 05:33:16 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8ABEF1EE6; Thu, 19 Nov 2015 05:33:16 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ5XFpY014417; Thu, 19 Nov 2015 05:33:15 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ5XFja014416; Thu, 19 Nov 2015 05:33:15 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201511190533.tAJ5XFja014416@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Nov 2015 05:33:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291057 - head/sys/cddl/dev/dtrace/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.20 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, 19 Nov 2015 05:33:16 -0000 Author: markj Date: Thu Nov 19 05:33:15 2015 New Revision: 291057 URL: https://svnweb.freebsd.org/changeset/base/291057 Log: Fix a bug in the amd64 dtrace_getarg() implementation: when unwinding the stack, take into account the copy of rsi pushed between the breakpoint trapframe and the dtrace_invop frame. Prior to r287644, this was covered by the fact that sizeof(struct amd64_frame) was 24 rather than 16. Reported by: smh Modified: head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c Modified: head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c ============================================================================== --- head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c Thu Nov 19 04:41:16 2015 (r291056) +++ head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c Thu Nov 19 05:33:15 2015 (r291057) @@ -385,8 +385,8 @@ dtrace_getarg(int arg, int aframes) * we're seeking is passed in regsiters, we can just * load it directly. */ - struct trapframe *tf = - (struct trapframe *)((uintptr_t)&fp[1]); + struct trapframe *tf = (struct trapframe *) + ((uintptr_t)&fp[1] + sizeof(uintptr_t)); if (arg <= inreg) { switch (arg) { From owner-svn-src-head@freebsd.org Thu Nov 19 05:50:24 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72A64A329D4; Thu, 19 Nov 2015 05:50:24 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23DE41357; Thu, 19 Nov 2015 05:50:24 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ5oNDt017551; Thu, 19 Nov 2015 05:50:23 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ5oNWx017548; Thu, 19 Nov 2015 05:50:23 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201511190550.tAJ5oNWx017548@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Nov 2015 05:50:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291058 - in head: share/man/man9 sys/kern 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.20 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, 19 Nov 2015 05:50:24 -0000 Author: markj Date: Thu Nov 19 05:50:22 2015 New Revision: 291058 URL: https://svnweb.freebsd.org/changeset/base/291058 Log: Add vlog(9). Reviewed by: cem, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4183 Modified: head/share/man/man9/printf.9 head/sys/kern/subr_prf.c head/sys/sys/systm.h Modified: head/share/man/man9/printf.9 ============================================================================== --- head/share/man/man9/printf.9 Thu Nov 19 05:33:15 2015 (r291057) +++ head/share/man/man9/printf.9 Thu Nov 19 05:50:22 2015 (r291058) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 8, 2006 +.Dd November 18, 2015 .Dt PRINTF 9 .Os .Sh NAME @@ -41,9 +41,13 @@ .Fn tprintf "struct proc *p" "int pri" "const char *fmt" ... .Ft int .Fn uprintf "const char *fmt" ... +.Ft int +.Fn vprintf "const char *fmt" "va_list ap" .In sys/syslog.h .Ft void .Fn log "int pri" "const char *fmt" ... +.Ft void +.Fn vlog "int pri" "const char *fmt" "va_list ap" .Sh DESCRIPTION The .Xr printf 9 Modified: head/sys/kern/subr_prf.c ============================================================================== --- head/sys/kern/subr_prf.c Thu Nov 19 05:33:15 2015 (r291057) +++ head/sys/kern/subr_prf.c Thu Nov 19 05:50:22 2015 (r291058) @@ -302,9 +302,15 @@ log(int level, const char *fmt, ...) va_list ap; va_start(ap, fmt); - (void)_vprintf(level, log_open ? TOLOG : TOCONS | TOLOG, fmt, ap); + vlog(level, fmt, ap); va_end(ap); +} + +void +vlog(int level, const char *fmt, va_list ap) +{ + (void)_vprintf(level, log_open ? TOLOG : TOCONS | TOLOG, fmt, ap); msgbuftrigger = 1; } Modified: head/sys/sys/systm.h ============================================================================== --- head/sys/sys/systm.h Thu Nov 19 05:33:15 2015 (r291057) +++ head/sys/sys/systm.h Thu Nov 19 05:50:22 2015 (r291058) @@ -207,6 +207,7 @@ int kvprintf(char const *, void (*)(int, __va_list) __printflike(1, 0); void log(int, const char *, ...) __printflike(2, 3); void log_console(struct uio *); +void vlog(int, const char *, __va_list) __printflike(2, 0); int asprintf(char **ret, struct malloc_type *mtp, const char *format, ...) __printflike(3, 4); int printf(const char *, ...) __printflike(1, 2); From owner-svn-src-head@freebsd.org Thu Nov 19 05:57:01 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0DF60A32B55; Thu, 19 Nov 2015 05:57:01 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C298718D4; Thu, 19 Nov 2015 05:57:00 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ5uxtT020364; Thu, 19 Nov 2015 05:56:59 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ5uxXa020361; Thu, 19 Nov 2015 05:56:59 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201511190556.tAJ5uxXa020361@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Nov 2015 05:56:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291059 - in head: share/man/man4 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.20 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, 19 Nov 2015 05:57:01 -0000 Author: markj Date: Thu Nov 19 05:56:59 2015 New Revision: 291059 URL: https://svnweb.freebsd.org/changeset/base/291059 Log: Add support for a configurable output channel to witness(4). This is useful in environments where system configuration is performed by automated interaction with the system console, since unexpected witness output makes such automation difficult. With this change, the new debug.witness.output_channel sysctl allows one to specify that witness output is to be printed to the kernel log (using log(9)) rather than the console. Reviewed by: cem, jhb MFC after: 2 weeks Relnotes: yes Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4183 Modified: head/share/man/man4/witness.4 head/sys/kern/subr_stack.c head/sys/kern/subr_witness.c Modified: head/share/man/man4/witness.4 ============================================================================== --- head/share/man/man4/witness.4 Thu Nov 19 05:50:22 2015 (r291058) +++ head/share/man/man4/witness.4 Thu Nov 19 05:56:59 2015 (r291059) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 24, 2015 +.Dd November 18, 2015 .Dt WITNESS 4 .Os .Sh NAME @@ -47,7 +47,8 @@ Each time a lock is acquired, uses these two lists to verify that a lock is not being acquired in the wrong order. If a lock order violation is detected, then a message is output to the -kernel console detailing the locks involved and the locations in question. +kernel console or log detailing the locks involved and the locations in +question. Witness can also be configured to drop into the kernel debugger when an order violation occurs. .Pp @@ -125,6 +126,21 @@ The sysctl can be set via .Xr loader 8 . .Pp +The sysctl +.Va debug.witness.output_channel +specifies the output channel used to display warnings emitted by +.Nm . +The possible values are +.Ql console , +indicating that warnings are to be printed to the system console, +.Ql log , +indicating that warnings are to be logged via +.Xr log 9 , +and +.Ql none . +This sysctl can be set via +.Xr loader 8 . +.Pp The .Nm code also provides three extra Modified: head/sys/kern/subr_stack.c ============================================================================== --- head/sys/kern/subr_stack.c Thu Nov 19 05:50:22 2015 (r291058) +++ head/sys/kern/subr_stack.c Thu Nov 19 05:56:59 2015 (r291059) @@ -141,7 +141,7 @@ stack_print_ddb(const struct stack *st) } } -#ifdef DDB +#if defined(DDB) || defined(WITNESS) void stack_print_short_ddb(const struct stack *st) { @@ -182,7 +182,7 @@ stack_sbuf_print(struct sbuf *sb, const } } -#ifdef DDB +#if defined(DDB) || defined(WITNESS) void stack_sbuf_print_ddb(struct sbuf *sb, const struct stack *st) { Modified: head/sys/kern/subr_witness.c ============================================================================== --- head/sys/kern/subr_witness.c Thu Nov 19 05:50:22 2015 (r291058) +++ head/sys/kern/subr_witness.c Thu Nov 19 05:56:59 2015 (r291059) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #ifdef DDB @@ -314,9 +315,6 @@ witness_lock_order_key_equal(const struc static int _isitmyx(struct witness *w1, struct witness *w2, int rmask, const char *fname); -#ifdef KDB -static void _witness_debugger(int cond, const char *msg); -#endif static void adopt(struct witness *parent, struct witness *child); #ifdef BLESSING static int blessed(struct witness *, struct witness *); @@ -332,6 +330,7 @@ static void itismychild(struct witness * static int sysctl_debug_witness_badstacks(SYSCTL_HANDLER_ARGS); static int sysctl_debug_witness_watch(SYSCTL_HANDLER_ARGS); static int sysctl_debug_witness_fullgraph(SYSCTL_HANDLER_ARGS); +static int sysctl_debug_witness_channel(SYSCTL_HANDLER_ARGS); static void witness_add_fullgraph(struct sbuf *sb, struct witness *parent); #ifdef DDB static void witness_ddb_compute_levels(void); @@ -343,6 +342,7 @@ static void witness_ddb_display_list(int static void witness_ddb_level_descendants(struct witness *parent, int l); static void witness_ddb_list(struct thread *td); #endif +static void witness_debugger(int cond, const char *msg); static void witness_free(struct witness *m); static struct witness *witness_get(void); static uint32_t witness_hash_djb2(const uint8_t *key, uint32_t size); @@ -361,14 +361,10 @@ static struct witness_lock_order_data *w struct witness *child); static void witness_list_lock(struct lock_instance *instance, int (*prnt)(const char *fmt, ...)); +static int witness_output(const char *fmt, ...) __printflike(1, 2); +static int witness_voutput(const char *fmt, va_list ap) __printflike(1, 0); static void witness_setflag(struct lock_object *lock, int flag, int set); -#ifdef KDB -#define witness_debugger(c) _witness_debugger(c, __func__) -#else -#define witness_debugger(c) -#endif - static SYSCTL_NODE(_debug, OID_AUTO, witness, CTLFLAG_RW, NULL, "Witness Locking"); @@ -396,16 +392,18 @@ int witness_kdb = 1; int witness_kdb = 0; #endif SYSCTL_INT(_debug_witness, OID_AUTO, kdb, CTLFLAG_RWTUN, &witness_kdb, 0, ""); +#endif /* KDB */ +#if defined(DDB) || defined(KDB) /* - * When KDB is enabled and witness_trace is 1, it will cause the system + * When DDB or KDB is enabled and witness_trace is 1, it will cause the system * to print a stack trace: * - a lock hierarchy violation occurs * - locks are held when going to sleep. */ int witness_trace = 1; SYSCTL_INT(_debug_witness, OID_AUTO, trace, CTLFLAG_RWTUN, &witness_trace, 0, ""); -#endif /* KDB */ +#endif /* DDB || KDB */ #ifdef WITNESS_SKIPSPIN int witness_skipspin = 1; @@ -421,6 +419,20 @@ SYSCTL_INT(_debug_witness, OID_AUTO, wit &witness_count, 0, ""); /* + * Output channel for witness messages. By default we print to the console. + */ +enum witness_channel { + WITNESS_CONSOLE, + WITNESS_LOG, + WITNESS_NONE, +}; + +static enum witness_channel witness_channel = WITNESS_CONSOLE; +SYSCTL_PROC(_debug_witness, OID_AUTO, output_channel, CTLTYPE_STRING | + CTLFLAG_RWTUN, NULL, 0, sysctl_debug_witness_channel, "A", + "Output channel for warnings"); + +/* * Call this to print out the relations between locks. */ SYSCTL_PROC(_debug_witness, OID_AUTO, fullgraph, CTLTYPE_STRING | CTLFLAG_RD, @@ -1117,19 +1129,19 @@ witness_checkorder(struct lock_object *l if (lock1 != NULL) { if ((lock1->li_flags & LI_EXCLUSIVE) != 0 && (flags & LOP_EXCLUSIVE) == 0) { - printf("shared lock of (%s) %s @ %s:%d\n", + witness_output("shared lock of (%s) %s @ %s:%d\n", class->lc_name, lock->lo_name, fixup_filename(file), line); - printf("while exclusively locked from %s:%d\n", + witness_output("while exclusively locked from %s:%d\n", fixup_filename(lock1->li_file), lock1->li_line); kassert_panic("excl->share"); } if ((lock1->li_flags & LI_EXCLUSIVE) == 0 && (flags & LOP_EXCLUSIVE) != 0) { - printf("exclusive lock of (%s) %s @ %s:%d\n", + witness_output("exclusive lock of (%s) %s @ %s:%d\n", class->lc_name, lock->lo_name, fixup_filename(file), line); - printf("while share locked from %s:%d\n", + witness_output("while share locked from %s:%d\n", fixup_filename(lock1->li_file), lock1->li_line); kassert_panic("share->excl"); } @@ -1199,14 +1211,14 @@ witness_checkorder(struct lock_object *l w_rmatrix[i][i] |= WITNESS_REVERSAL; w->w_reversed = 1; mtx_unlock_spin(&w_mtx); - printf( + witness_output( "acquiring duplicate lock of same type: \"%s\"\n", w->w_name); - printf(" 1st %s @ %s:%d\n", plock->li_lock->lo_name, + witness_output(" 1st %s @ %s:%d\n", plock->li_lock->lo_name, fixup_filename(plock->li_file), plock->li_line); - printf(" 2nd %s @ %s:%d\n", lock->lo_name, + witness_output(" 2nd %s @ %s:%d\n", lock->lo_name, fixup_filename(file), line); - witness_debugger(1); + witness_debugger(1, __func__); } else mtx_unlock_spin(&w_mtx); return; @@ -1328,14 +1340,14 @@ witness_checkorder(struct lock_object *l */ if (((lock->lo_flags & LO_SLEEPABLE) != 0 && (lock1->li_lock->lo_flags & LO_SLEEPABLE) == 0)) - printf( + witness_output( "lock order reversal: (sleepable after non-sleepable)\n"); else if ((lock1->li_lock->lo_flags & LO_SLEEPABLE) == 0 && lock == &Giant.lock_object) - printf( + witness_output( "lock order reversal: (Giant after non-sleepable)\n"); else - printf("lock order reversal:\n"); + witness_output("lock order reversal:\n"); /* * Try to locate an earlier lock with @@ -1354,28 +1366,28 @@ witness_checkorder(struct lock_object *l i--; } while (i >= 0); if (i < 0) { - printf(" 1st %p %s (%s) @ %s:%d\n", + witness_output(" 1st %p %s (%s) @ %s:%d\n", lock1->li_lock, lock1->li_lock->lo_name, w1->w_name, fixup_filename(lock1->li_file), lock1->li_line); - printf(" 2nd %p %s (%s) @ %s:%d\n", lock, + witness_output(" 2nd %p %s (%s) @ %s:%d\n", lock, lock->lo_name, w->w_name, fixup_filename(file), line); } else { - printf(" 1st %p %s (%s) @ %s:%d\n", + witness_output(" 1st %p %s (%s) @ %s:%d\n", lock2->li_lock, lock2->li_lock->lo_name, lock2->li_lock->lo_witness->w_name, fixup_filename(lock2->li_file), lock2->li_line); - printf(" 2nd %p %s (%s) @ %s:%d\n", + witness_output(" 2nd %p %s (%s) @ %s:%d\n", lock1->li_lock, lock1->li_lock->lo_name, w1->w_name, fixup_filename(lock1->li_file), lock1->li_line); - printf(" 3rd %p %s (%s) @ %s:%d\n", lock, + witness_output(" 3rd %p %s (%s) @ %s:%d\n", lock, lock->lo_name, w->w_name, fixup_filename(file), line); } - witness_debugger(1); + witness_debugger(1, __func__); return; } } @@ -1593,17 +1605,17 @@ found: /* First, check for shared/exclusive mismatches. */ if ((instance->li_flags & LI_EXCLUSIVE) != 0 && witness_watch > 0 && (flags & LOP_EXCLUSIVE) == 0) { - printf("shared unlock of (%s) %s @ %s:%d\n", class->lc_name, - lock->lo_name, fixup_filename(file), line); - printf("while exclusively locked from %s:%d\n", + witness_output("shared unlock of (%s) %s @ %s:%d\n", + class->lc_name, lock->lo_name, fixup_filename(file), line); + witness_output("while exclusively locked from %s:%d\n", fixup_filename(instance->li_file), instance->li_line); kassert_panic("excl->ushare"); } if ((instance->li_flags & LI_EXCLUSIVE) == 0 && witness_watch > 0 && (flags & LOP_EXCLUSIVE) != 0) { - printf("exclusive unlock of (%s) %s @ %s:%d\n", class->lc_name, - lock->lo_name, fixup_filename(file), line); - printf("while share locked from %s:%d\n", + witness_output("exclusive unlock of (%s) %s @ %s:%d\n", + class->lc_name, lock->lo_name, fixup_filename(file), line); + witness_output("while share locked from %s:%d\n", fixup_filename(instance->li_file), instance->li_line); kassert_panic("share->uexcl"); @@ -1618,8 +1630,8 @@ found: } /* The lock is now being dropped, check for NORELEASE flag */ if ((instance->li_flags & LI_NORELEASE) != 0 && witness_watch > 0) { - printf("forbidden unlock of (%s) %s @ %s:%d\n", class->lc_name, - lock->lo_name, fixup_filename(file), line); + witness_output("forbidden unlock of (%s) %s @ %s:%d\n", + class->lc_name, lock->lo_name, fixup_filename(file), line); kassert_panic("lock marked norelease"); } @@ -1669,10 +1681,11 @@ witness_thread_exit(struct thread *td) for (n = 0; lle != NULL; lle = lle->ll_next) for (i = lle->ll_count - 1; i >= 0; i--) { if (n == 0) - printf("Thread %p exiting with the following locks held:\n", - td); + witness_output( + "Thread %p exiting with the following locks held:\n", td); n++; - witness_list_lock(&lle->ll_children[i], printf); + witness_list_lock(&lle->ll_children[i], + witness_output); } kassert_panic( @@ -1685,7 +1698,7 @@ witness_thread_exit(struct thread *td) * Warn if any locks other than 'lock' are held. Flags can be passed in to * exempt Giant and sleepable locks from the checks as well. If any * non-exempt locks are held, then a supplied message is printed to the - * console along with a list of the offending locks. If indicated in the + * output channel along with a list of the offending locks. If indicated in the * flags then a failure results in a panic as well. */ int @@ -1714,15 +1727,15 @@ witness_warn(int flags, struct lock_obje continue; if (n == 0) { va_start(ap, fmt); - vprintf(fmt, ap); + witness_voutput(fmt, ap); va_end(ap); - printf(" with the following"); - if (flags & WARN_SLEEPOK) - printf(" non-sleepable"); - printf(" locks held:\n"); + witness_output( + " with the following %slocks held:\n", + (flags & WARN_SLEEPOK) != 0 ? + "non-sleepable " : ""); } n++; - witness_list_lock(lock1, printf); + witness_list_lock(lock1, witness_output); } /* @@ -1747,19 +1760,17 @@ witness_warn(int flags, struct lock_obje return (0); va_start(ap, fmt); - vprintf(fmt, ap); + witness_voutput(fmt, ap); va_end(ap); - printf(" with the following"); - if (flags & WARN_SLEEPOK) - printf(" non-sleepable"); - printf(" locks held:\n"); - n += witness_list_locks(&lock_list, printf); + witness_output(" with the following %slocks held:\n", + (flags & WARN_SLEEPOK) != 0 ? "non-sleepable " : ""); + n += witness_list_locks(&lock_list, witness_output); } else sched_unpin(); if (flags & WARN_PANIC && n) kassert_panic("%s", __func__); else - witness_debugger(n); + witness_debugger(n, __func__); return (n); } @@ -2167,6 +2178,37 @@ witness_list_lock(struct lock_instance * fixup_filename(instance->li_file), instance->li_line); } +static int +witness_output(const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = witness_voutput(fmt, ap); + va_end(ap); + return (ret); +} + +static int +witness_voutput(const char *fmt, va_list ap) +{ + int ret; + + ret = 0; + switch (witness_channel) { + case WITNESS_CONSOLE: + ret = vprintf(fmt, ap); + break; + case WITNESS_LOG: + vlog(LOG_NOTICE, fmt, ap); + break; + case WITNESS_NONE: + break; + } + return (ret); +} + #ifdef DDB static int witness_thread_has_locks(struct thread *td) @@ -2650,6 +2692,42 @@ restart: } static int +sysctl_debug_witness_channel(SYSCTL_HANDLER_ARGS) +{ + static const struct { + enum witness_channel channel; + const char *name; + } channels[] = { + { WITNESS_CONSOLE, "console" }, + { WITNESS_LOG, "log" }, + { WITNESS_NONE, "none" }, + }; + char buf[16]; + u_int i; + int error; + + buf[0] = '\0'; + for (i = 0; i < nitems(channels); i++) + if (witness_channel == channels[i].channel) { + snprintf(buf, sizeof(buf), "%s", channels[i].name); + break; + } + + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + if (error != 0 || req->newptr == NULL) + return (error); + + error = EINVAL; + for (i = 0; i < nitems(channels); i++) + if (strcmp(channels[i].name, buf) == 0) { + witness_channel = channels[i].channel; + error = 0; + break; + } + return (error); +} + +static int sysctl_debug_witness_fullgraph(SYSCTL_HANDLER_ARGS) { struct witness *w; @@ -2911,14 +2989,38 @@ witness_increment_graph_generation(void) w_generation++; } -#ifdef KDB +static int +witness_output_drain(void *arg __unused, const char *data, int len) +{ + + witness_output("%s", data); + return (len); +} + static void -_witness_debugger(int cond, const char *msg) +witness_debugger(int cond, const char *msg) { + char buf[32]; + struct sbuf sb; + struct stack st; - if (witness_trace && cond) - kdb_backtrace(); - if (witness_kdb && cond) + if (!cond) + return; + + if (witness_trace) { + sbuf_new(&sb, buf, sizeof(buf), SBUF_FIXEDLEN); + sbuf_set_drain(&sb, witness_output_drain, NULL); + + stack_zero(&st); + stack_save(&st); + witness_output("stack backtrace:\n"); + stack_sbuf_print_ddb(&sb, &st); + + sbuf_finish(&sb); + } + +#ifdef KDB + if (witness_kdb) kdb_enter(KDB_WHY_WITNESS, msg); -} #endif +} From owner-svn-src-head@freebsd.org Thu Nov 19 05:58:52 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E842A32BF7; Thu, 19 Nov 2015 05:58:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 393D71B13; Thu, 19 Nov 2015 05:58:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ5wpal020571; Thu, 19 Nov 2015 05:58:51 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ5wpss020570; Thu, 19 Nov 2015 05:58:51 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201511190558.tAJ5wpss020570@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 19 Nov 2015 05:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291060 - 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.20 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, 19 Nov 2015 05:58:52 -0000 Author: markj Date: Thu Nov 19 05:58:51 2015 New Revision: 291060 URL: https://svnweb.freebsd.org/changeset/base/291060 Log: Remove a commented-out debug print. MFC after: 1 week Modified: head/sys/kern/subr_witness.c Modified: head/sys/kern/subr_witness.c ============================================================================== --- head/sys/kern/subr_witness.c Thu Nov 19 05:56:59 2015 (r291059) +++ head/sys/kern/subr_witness.c Thu Nov 19 05:58:51 2015 (r291060) @@ -2640,12 +2640,6 @@ restart: "\nLock order reversal between \"%s\"(%s) and \"%s\"(%s)!\n", tmp_w1->w_name, tmp_w1->w_class->lc_name, tmp_w2->w_name, tmp_w2->w_class->lc_name); -#if 0 - sbuf_printf(sb, - "w_rmatrix[%s][%s] == %x, w_rmatrix[%s][%s] == %x\n", - tmp_w1->name, tmp_w2->w_name, w_rmatrix1, - tmp_w2->name, tmp_w1->w_name, w_rmatrix2); -#endif if (data1) { sbuf_printf(sb, "Lock order \"%s\"(%s) -> \"%s\"(%s) first seen at:\n", From owner-svn-src-head@freebsd.org Thu Nov 19 08:04:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99531A33631; Thu, 19 Nov 2015 08:04:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 648531CFF; Thu, 19 Nov 2015 08:04:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJ845Iv057881; Thu, 19 Nov 2015 08:04:05 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJ845cR057880; Thu, 19 Nov 2015 08:04:05 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511190804.tAJ845cR057880@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 19 Nov 2015 08:04:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291061 - head/sys/rpc 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.20 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, 19 Nov 2015 08:04:06 -0000 Author: mav Date: Thu Nov 19 08:04:05 2015 New Revision: 291061 URL: https://svnweb.freebsd.org/changeset/base/291061 Log: Improve locking of sg_threadcount. MFC after: 1 week Modified: head/sys/rpc/svc.c Modified: head/sys/rpc/svc.c ============================================================================== --- head/sys/rpc/svc.c Thu Nov 19 05:58:51 2015 (r291060) +++ head/sys/rpc/svc.c Thu Nov 19 08:04:05 2015 (r291061) @@ -1303,7 +1303,9 @@ svc_new_thread(SVCGROUP *grp) SVCPOOL *pool = grp->sg_pool; struct thread *td; + mtx_lock(&grp->sg_lock); grp->sg_threadcount++; + mtx_unlock(&grp->sg_lock); kthread_add(svc_thread_start, grp, pool->sp_proc, &td, 0, 0, "%s: service", pool->sp_name); } @@ -1336,12 +1338,12 @@ svc_run(SVCPOOL *pool) } /* Starting threads */ + pool->sp_groups[0].sg_threadcount++; for (g = 0; g < pool->sp_groupcount; g++) { grp = &pool->sp_groups[g]; for (i = ((g == 0) ? 1 : 0); i < grp->sg_minthreads; i++) svc_new_thread(grp); } - pool->sp_groups[0].sg_threadcount++; svc_run_internal(&pool->sp_groups[0], TRUE); /* Waiting for threads to stop. */ From owner-svn-src-head@freebsd.org Thu Nov 19 10:10:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDABEA33565; Thu, 19 Nov 2015 10:10:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 83CD51DE7; Thu, 19 Nov 2015 10:10:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJAAqOv093880; Thu, 19 Nov 2015 10:10:52 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJAAqhQ093879; Thu, 19 Nov 2015 10:10:52 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511191010.tAJAAqhQ093879@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Nov 2015 10:10:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291067 - head/sys/dev/mlx5/mlx5_en 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.20 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, 19 Nov 2015 10:10:53 -0000 Author: hselasky Date: Thu Nov 19 10:10:52 2015 New Revision: 291067 URL: https://svnweb.freebsd.org/changeset/base/291067 Log: Print cable name, if cable type is not recognized. Differential Revision: https://reviews.freebsd.org/D4180 Submitted by: Mark Bloch Sponsored by: Mellanox Technologies MFC after: 3 days Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Thu Nov 19 10:01:50 2015 (r291066) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Thu Nov 19 10:10:52 2015 (r291067) @@ -251,8 +251,9 @@ mlx5e_get_eeprom_info(struct mlx5e_priv eeprom->len = MLX5E_ETH_MODULE_SFF_8472_LEN; break; default: - if_printf(priv->ifp, "%s:%d: Not recognized cable type = 0x%x\n", - __func__, __LINE__, data & MLX5_EEPROM_IDENTIFIER_BYTE_MASK); + if_printf(priv->ifp, "%s:%d: Not recognized cable type = 0x%x(%s)\n", + __func__, __LINE__, data & MLX5_EEPROM_IDENTIFIER_BYTE_MASK, + sff_8024_id[data & MLX5_EEPROM_IDENTIFIER_BYTE_MASK]); return (EINVAL); } return (0); From owner-svn-src-head@freebsd.org Thu Nov 19 10:18:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0E8BEA3361A; Thu, 19 Nov 2015 10:18:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD75F11CF; Thu, 19 Nov 2015 10:18:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJAIDbo096595; Thu, 19 Nov 2015 10:18:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJAIDQS096594; Thu, 19 Nov 2015 10:18:13 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511191018.tAJAIDQS096594@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Nov 2015 10:18:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291068 - head/sys/dev/mlx5/mlx5_en 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.20 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, 19 Nov 2015 10:18:15 -0000 Author: hselasky Date: Thu Nov 19 10:18:13 2015 New Revision: 291068 URL: https://svnweb.freebsd.org/changeset/base/291068 Log: Maintain the "hw_lro" configuration variable correctly. Setting sysctl dev....conf.hw_lro may fail if the net device lro is turned off. Due to the nature of our sysctl handler we need to set the values back to 0 and issue an error. Differential Revision: https://reviews.freebsd.org/D4177 Submitted by: Shahar Klein Sponsored by: Mellanox Technologies MFC after: 3 days Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Thu Nov 19 10:10:52 2015 (r291067) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Thu Nov 19 10:18:13 2015 (r291068) @@ -184,6 +184,13 @@ mlx5e_ethtool_handler(SYSCTL_HANDLER_ARG } if (priv->ifp->if_capenable & IFCAP_LRO) priv->params.hw_lro_en = !!MLX5_CAP_ETH(priv->mdev, lro_cap); + else { + /* set the correct (0) value to params_ethtool.hw_lro, issue a warning and return error */ + priv->params_ethtool.hw_lro = 0; + error = EINVAL; + if_printf(priv->ifp, "Can't set HW_LRO to a device with LRO turned off"); + goto done; + } } else { priv->params.hw_lro_en = false; From owner-svn-src-head@freebsd.org Thu Nov 19 10:23:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA913A337A8; Thu, 19 Nov 2015 10:23:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A9D381783; Thu, 19 Nov 2015 10:23:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJANAht099233; Thu, 19 Nov 2015 10:23:10 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJANA9D099231; Thu, 19 Nov 2015 10:23:10 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511191023.tAJANA9D099231@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Nov 2015 10:23:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291069 - head/sys/dev/mlx5/mlx5_en 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.20 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, 19 Nov 2015 10:23:12 -0000 Author: hselasky Date: Thu Nov 19 10:23:10 2015 New Revision: 291069 URL: https://svnweb.freebsd.org/changeset/base/291069 Log: Accumulate out of RX buffers into a 64-bit value and subtract out of RX buffers from number of received packets. Differential Revision: https://reviews.freebsd.org/D4178 Submitted by: Drew Gallatin Sponsored by: Mellanox Technologies MFC after: 3 days Modified: head/sys/dev/mlx5/mlx5_en/en.h head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Modified: head/sys/dev/mlx5/mlx5_en/en.h ============================================================================== --- head/sys/dev/mlx5/mlx5_en/en.h Thu Nov 19 10:18:13 2015 (r291068) +++ head/sys/dev/mlx5/mlx5_en/en.h Thu Nov 19 10:23:10 2015 (r291069) @@ -141,6 +141,7 @@ typedef void (mlx5e_cq_comp_t)(struct ml m(+1, u64 rx_broadcast_bytes, "rx_broadcast_bytes", "Received broadcast bytes") \ m(+1, u64 tx_broadcast_packets, "tx_broadcast_packets", "Transmitted broadcast packets") \ m(+1, u64 tx_broadcast_bytes, "tx_broadcast_bytes", "Transmitted broadcast bytes") \ + m(+1, u64 rx_out_of_buffer, "rx_out_of_buffer", "Receive out of buffer, no recv wqes events") \ /* SW counters */ \ m(+1, u64 tso_packets, "tso_packets", "Transmitted TSO packets") \ m(+1, u64 tso_bytes, "tso_bytes", "Transmitted TSO bytes") \ @@ -161,6 +162,7 @@ struct mlx5e_vport_stats { struct sysctl_ctx_list ctx; u64 arg [0]; MLX5E_VPORT_STATS(MLX5E_STATS_VAR) + u32 rx_out_of_buffer_prev; }; #define MLX5E_PPORT_IEEE802_3_STATS(m) \ @@ -265,17 +267,13 @@ struct mlx5e_vport_stats { m(+1, u64 rs_corrected_symbols_lane3, "rs_corrected_symbols_lane3", \ "FEC corrected symbol counter lane 3") \ -#define MLX5E_PPORT_Q_CONTERS(m) \ - m(+1, u64 out_of_rx_buffer, "out_of_rx_buffer", "out of rx buffers aka no recv wqes events") - /* * Make sure to update mlx5e_update_pport_counters() * when adding a new MLX5E_PPORT_STATS block */ #define MLX5E_PPORT_STATS(m) \ MLX5E_PPORT_IEEE802_3_STATS(m) \ - MLX5E_PPORT_RFC2819_STATS(m) \ - MLX5E_PPORT_Q_CONTERS(m) + MLX5E_PPORT_RFC2819_STATS(m) #define MLX5E_PORT_STATS_DEBUG(m) \ MLX5E_PPORT_RFC2819_STATS_DEBUG(m) \ Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Thu Nov 19 10:18:13 2015 (r291068) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Thu Nov 19 10:23:10 2015 (r291069) @@ -378,7 +378,7 @@ mlx5e_update_stats_work(struct work_stru u64 sw_lro_flushed = 0; u64 rx_csum_none = 0; u64 rx_wqe_err = 0; - u32 out_of_rx_buffer = 0; + u32 rx_out_of_buffer = 0; int i; int j; @@ -440,6 +440,16 @@ mlx5e_update_stats_work(struct work_stru memset(out, 0, outlen); + /* get number of out-of-buffer drops first */ + if (mlx5_vport_query_out_of_rx_buffer(mdev, priv->counter_set_id, + &rx_out_of_buffer)) + goto free_out; + + /* accumulate difference into a 64-bit counter */ + s->rx_out_of_buffer += (u64)(u32)(rx_out_of_buffer - s->rx_out_of_buffer_prev); + s->rx_out_of_buffer_prev = rx_out_of_buffer; + + /* get port statistics */ if (mlx5_cmd_exec(mdev, in, sizeof(in), out, outlen)) goto free_out; @@ -485,7 +495,8 @@ mlx5e_update_stats_work(struct work_stru s->rx_packets = s->rx_unicast_packets + s->rx_multicast_packets + - s->rx_broadcast_packets; + s->rx_broadcast_packets - + s->rx_out_of_buffer; s->rx_bytes = s->rx_unicast_bytes + s->rx_multicast_bytes + @@ -503,10 +514,14 @@ mlx5e_update_stats_work(struct work_stru s->tx_csum_offload = s->tx_packets - tx_offload_none; s->rx_csum_good = s->rx_packets - s->rx_csum_none; + /* Update per port counters */ + mlx5e_update_pport_counters(priv); + #if (__FreeBSD_version < 1100000) /* no get_counters interface in fbsd 10 */ ifp->if_ipackets = s->rx_packets; ifp->if_ierrors = s->rx_error_packets; + ifp->if_iqdrops = s->rx_out_of_buffer; ifp->if_opackets = s->tx_packets; ifp->if_oerrors = s->tx_error_packets; ifp->if_snd.ifq_drops = s->tx_queue_dropped; @@ -514,12 +529,6 @@ mlx5e_update_stats_work(struct work_stru ifp->if_obytes = s->tx_bytes; #endif - mlx5_vport_query_out_of_rx_buffer(mdev, priv->counter_set_id, - &out_of_rx_buffer); - - /* Update per port counters */ - mlx5e_update_pport_counters(priv); - priv->stats.pport.out_of_rx_buffer = (u64)out_of_rx_buffer; free_out: kvfree(out); PRIV_UNLOCK(priv); @@ -2178,6 +2187,9 @@ mlx5e_get_counter(struct ifnet *ifp, ift case IFCOUNTER_IERRORS: retval = priv->stats.vport.rx_error_packets; break; + case IFCOUNTER_IQDROPS: + retval = priv->stats.vport.rx_out_of_buffer; + break; case IFCOUNTER_OPACKETS: retval = priv->stats.vport.tx_packets; break; From owner-svn-src-head@freebsd.org Thu Nov 19 10:28:53 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AC84AA33855; Thu, 19 Nov 2015 10:28:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7679A1A2E; Thu, 19 Nov 2015 10:28:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJASqAm099469; Thu, 19 Nov 2015 10:28:52 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJASqS8099461; Thu, 19 Nov 2015 10:28:52 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511191028.tAJASqS8099461@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Nov 2015 10:28:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291070 - head/sys/dev/mlx5/mlx5_en 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.20 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, 19 Nov 2015 10:28:53 -0000 Author: hselasky Date: Thu Nov 19 10:28:51 2015 New Revision: 291070 URL: https://svnweb.freebsd.org/changeset/base/291070 Log: Style changes, mostly automated. Differential Revision: https://reviews.freebsd.org/D4179 Submitted by: Daria Genzel Sponsored by: Mellanox Technologies MFC after: 3 days Modified: head/sys/dev/mlx5/mlx5_en/en.h head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c head/sys/dev/mlx5/mlx5_en/tcp_tlro.c head/sys/dev/mlx5/mlx5_en/tcp_tlro.h Modified: head/sys/dev/mlx5/mlx5_en/en.h ============================================================================== --- head/sys/dev/mlx5/mlx5_en/en.h Thu Nov 19 10:23:10 2015 (r291069) +++ head/sys/dev/mlx5/mlx5_en/en.h Thu Nov 19 10:28:51 2015 (r291070) @@ -74,9 +74,9 @@ #define MLX5E_PARAMS_MAXIMUM_LOG_RQ_SIZE 0xd /* freeBSD HW LRO is limited by 16KB - the size of max mbuf */ -#define MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ MJUM16BYTES +#define MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ MJUM16BYTES #define MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC 0x10 -#define MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC_FROM_CQE 0x3 +#define MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC_FROM_CQE 0x3 #define MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_PKTS 0x20 #define MLX5E_PARAMS_DEFAULT_TX_CQ_MODERATION_USEC 0x10 #define MLX5E_PARAMS_DEFAULT_TX_CQ_MODERATION_PKTS 0x20 @@ -89,13 +89,14 @@ ((swmtu) + (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + ETHER_CRC_LEN)) #define MLX5E_SW2MB_MTU(swmtu) \ (MLX5E_SW2HW_MTU(swmtu) + MLX5E_NET_IP_ALIGN) -#define MLX5E_MTU_MIN 72 /* Min MTU allowed by the kernel */ -#define MLX5E_MTU_MAX MIN(ETHERMTU_JUMBO, MJUM16BYTES) /* Max MTU of Ethernet jumbo frames */ +#define MLX5E_MTU_MIN 72 /* Min MTU allowed by the kernel */ +#define MLX5E_MTU_MAX MIN(ETHERMTU_JUMBO, MJUM16BYTES) /* Max MTU of Ethernet + * jumbo frames */ #define MLX5E_BUDGET_MAX 8192 /* RX and TX */ #define MLX5E_RX_BUDGET_MAX 256 #define MLX5E_SQ_BF_BUDGET 16 -#define MLX5E_SQ_TX_QUEUE_SIZE 4096 /* SQ drbr queue size */ +#define MLX5E_SQ_TX_QUEUE_SIZE 4096 /* SQ drbr queue size */ #define MLX5E_MAX_TX_NUM_TC 8 /* units */ #define MLX5E_MAX_TX_HEADER 128 /* bytes */ @@ -159,7 +160,7 @@ typedef void (mlx5e_cq_comp_t)(struct ml #define MLX5E_VPORT_STATS_NUM (0 MLX5E_VPORT_STATS(MLX5E_STATS_COUNT)) struct mlx5e_vport_stats { - struct sysctl_ctx_list ctx; + struct sysctl_ctx_list ctx; u64 arg [0]; MLX5E_VPORT_STATS(MLX5E_STATS_VAR) u32 rx_out_of_buffer_prev; @@ -226,7 +227,7 @@ struct mlx5e_vport_stats { m(+1, u64 out_multicast_pkts, "out_multicast_pkts", "Out multicast packets") \ m(+1, u64 out_broadcast_pkts, "out_broadcast_pkts", "Out broadcast packets") -#define MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG(m) \ +#define MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG(m) \ m(+1, u64 time_since_last_clear, "time_since_last_clear", \ "Time since the last counters clear event (msec)") \ m(+1, u64 symbol_errors, "symbol_errors", "Symbol errors") \ @@ -291,19 +292,19 @@ struct mlx5e_vport_stats { (0 MLX5E_PPORT_RFC2819_STATS_DEBUG(MLX5E_STATS_COUNT)) #define MLX5E_PPORT_RFC2863_STATS_DEBUG_NUM \ (0 MLX5E_PPORT_RFC2863_STATS_DEBUG(MLX5E_STATS_COUNT)) -#define MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG_NUM \ +#define MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG_NUM \ (0 MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG(MLX5E_STATS_COUNT)) #define MLX5E_PORT_STATS_DEBUG_NUM \ (0 MLX5E_PORT_STATS_DEBUG(MLX5E_STATS_COUNT)) struct mlx5e_pport_stats { - struct sysctl_ctx_list ctx; + struct sysctl_ctx_list ctx; u64 arg [0]; MLX5E_PPORT_STATS(MLX5E_STATS_VAR) }; struct mlx5e_port_stats_debug { - struct sysctl_ctx_list ctx; + struct sysctl_ctx_list ctx; u64 arg [0]; MLX5E_PORT_STATS_DEBUG(MLX5E_STATS_VAR) }; @@ -320,7 +321,7 @@ struct mlx5e_port_stats_debug { #define MLX5E_RQ_STATS_NUM (0 MLX5E_RQ_STATS(MLX5E_STATS_COUNT)) struct mlx5e_rq_stats { - struct sysctl_ctx_list ctx; + struct sysctl_ctx_list ctx; u64 arg [0]; MLX5E_RQ_STATS(MLX5E_STATS_VAR) }; @@ -337,7 +338,7 @@ struct mlx5e_rq_stats { #define MLX5E_SQ_STATS_NUM (0 MLX5E_SQ_STATS(MLX5E_STATS_COUNT)) struct mlx5e_sq_stats { - struct sysctl_ctx_list ctx; + struct sysctl_ctx_list ctx; u64 arg [0]; MLX5E_SQ_STATS(MLX5E_STATS_VAR) }; @@ -360,8 +361,8 @@ struct mlx5e_params { u16 tx_cq_moderation_usec; u16 tx_cq_moderation_pkts; u16 min_rx_wqes; - bool hw_lro_en; - u32 lro_wqe_sz; + bool hw_lro_en; + u32 lro_wqe_sz; u16 rx_hash_log_tbl_sz; }; @@ -391,31 +392,31 @@ struct mlx5e_params_ethtool { /* EEPROM Standards for plug in modules */ #ifndef MLX5E_ETH_MODULE_SFF_8472 -#define MLX5E_ETH_MODULE_SFF_8472 0x1 -#define MLX5E_ETH_MODULE_SFF_8472_LEN 128 +#define MLX5E_ETH_MODULE_SFF_8472 0x1 +#define MLX5E_ETH_MODULE_SFF_8472_LEN 128 #endif #ifndef MLX5E_ETH_MODULE_SFF_8636 -#define MLX5E_ETH_MODULE_SFF_8636 0x2 -#define MLX5E_ETH_MODULE_SFF_8636_LEN 256 +#define MLX5E_ETH_MODULE_SFF_8636 0x2 +#define MLX5E_ETH_MODULE_SFF_8636_LEN 256 #endif #ifndef MLX5E_ETH_MODULE_SFF_8436 -#define MLX5E_ETH_MODULE_SFF_8436 0x3 -#define MLX5E_ETH_MODULE_SFF_8436_LEN 256 +#define MLX5E_ETH_MODULE_SFF_8436 0x3 +#define MLX5E_ETH_MODULE_SFF_8436_LEN 256 #endif /* EEPROM I2C Addresses */ -#define MLX5E_I2C_ADDR_LOW 0x50 -#define MLX5E_I2C_ADDR_HIGH 0x51 +#define MLX5E_I2C_ADDR_LOW 0x50 +#define MLX5E_I2C_ADDR_HIGH 0x51 -#define MLX5E_EEPROM_LOW_PAGE 0x0 -#define MLX5E_EEPROM_HIGH_PAGE 0x3 +#define MLX5E_EEPROM_LOW_PAGE 0x0 +#define MLX5E_EEPROM_HIGH_PAGE 0x3 -#define MLX5E_EEPROM_HIGH_PAGE_OFFSET 128 -#define MLX5E_EEPROM_PAGE_LENGTH 256 +#define MLX5E_EEPROM_HIGH_PAGE_OFFSET 128 +#define MLX5E_EEPROM_PAGE_LENGTH 256 -#define MLX5E_EEPROM_INFO_BYTES 0x3 +#define MLX5E_EEPROM_INFO_BYTES 0x3 struct mlx5e_cq { /* data path - accessed per cqe */ @@ -430,9 +431,9 @@ struct mlx5e_cq { } __aligned(MLX5E_CACHELINE_SIZE); struct mlx5e_rq_mbuf { - bus_dmamap_t dma_map; - caddr_t data; - struct mbuf *mbuf; + bus_dmamap_t dma_map; + caddr_t data; + struct mbuf *mbuf; }; struct mlx5e_rq { @@ -474,9 +475,9 @@ enum { struct mlx5e_sq { /* data path */ - struct mtx lock; + struct mtx lock; bus_dma_tag_t dma_tag; - struct mtx comp_lock; + struct mtx comp_lock; /* dirtied @completion */ u16 cc; @@ -484,31 +485,31 @@ struct mlx5e_sq { /* dirtied @xmit */ u16 pc __aligned(MLX5E_CACHELINE_SIZE); u16 bf_offset; - struct mlx5e_sq_stats stats; + struct mlx5e_sq_stats stats; - struct mlx5e_cq cq; - struct task sq_task; - struct taskqueue *sq_tq; + struct mlx5e_cq cq; + struct task sq_task; + struct taskqueue *sq_tq; /* pointers to per packet info: write@xmit, read@completion */ - struct mlx5e_sq_mbuf *mbuf; - struct buf_ring *br; + struct mlx5e_sq_mbuf *mbuf; + struct buf_ring *br; /* read only */ - struct mlx5_wq_cyc wq; - void __iomem *uar_map; - void __iomem *uar_bf_map; + struct mlx5_wq_cyc wq; + void __iomem *uar_map; + void __iomem *uar_bf_map; u32 sqn; u32 bf_buf_size; - struct device *pdev; + struct device *pdev; u32 mkey_be; /* control path */ - struct mlx5_wq_ctrl wq_ctrl; - struct mlx5_uar uar; - struct mlx5e_channel *channel; + struct mlx5_wq_ctrl wq_ctrl; + struct mlx5_uar uar; + struct mlx5e_channel *channel; int tc; - unsigned int queue_state; + unsigned int queue_state; } __aligned(MLX5E_CACHELINE_SIZE); static inline bool @@ -616,7 +617,7 @@ struct mlx5e_priv { u32 tdn; struct mlx5_core_mr mr; - struct mlx5e_channel * volatile *channel; + struct mlx5e_channel *volatile *channel; u32 tisn[MLX5E_MAX_TX_NUM_TC]; u32 rqtn; u32 tirn[MLX5E_NUM_TT]; @@ -663,15 +664,15 @@ struct mlx5e_rx_wqe { }; struct mlx5e_eeprom { - int lock_bit; - int i2c_addr; - int page_num; - int device_addr; - int module_num; - int len; - int type; - int page_valid; - u32 *data; + int lock_bit; + int i2c_addr; + int page_num; + int device_addr; + int module_num; + int len; + int type; + int page_valid; + u32 *data; }; enum mlx5e_link_mode { @@ -715,7 +716,7 @@ int mlx5e_close_locked(struct ifnet *); void mlx5e_cq_error_event(struct mlx5_core_cq *mcq, int event); void mlx5e_rx_cq_comp(struct mlx5_core_cq *); void mlx5e_tx_cq_comp(struct mlx5_core_cq *); -struct mlx5_cqe64 *mlx5e_get_cqe(struct mlx5e_cq *cq); +struct mlx5_cqe64 *mlx5e_get_cqe(struct mlx5e_cq *cq); void mlx5e_tx_que(void *context, int pending); int mlx5e_open_flow_table(struct mlx5e_priv *priv); Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Thu Nov 19 10:23:10 2015 (r291069) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c Thu Nov 19 10:28:51 2015 (r291070) @@ -191,8 +191,7 @@ mlx5e_ethtool_handler(SYSCTL_HANDLER_ARG if_printf(priv->ifp, "Can't set HW_LRO to a device with LRO turned off"); goto done; } - } - else { + } else { priv->params.hw_lro_en = false; } @@ -243,7 +242,7 @@ mlx5e_get_eeprom_info(struct mlx5e_priv case SFF_8024_ID_QSFPPLUS: case SFF_8024_ID_QSFP28: if ((data & MLX5_EEPROM_IDENTIFIER_BYTE_MASK) == SFF_8024_ID_QSFP28 || - ((data & MLX5_EEPROM_REVISION_ID_BYTE_MASK) >> 8) >= 0x3) { + ((data & MLX5_EEPROM_REVISION_ID_BYTE_MASK) >> 8) >= 0x3) { eeprom->type = MLX5E_ETH_MODULE_SFF_8636; eeprom->len = MLX5E_ETH_MODULE_SFF_8636_LEN; } else { @@ -281,7 +280,7 @@ mlx5e_get_eeprom(struct mlx5e_priv *priv while (ee->device_addr < ee->len) { ret = mlx5_query_eeprom(dev, ee->i2c_addr, ee->page_num, ee->device_addr, ee->len - ee->device_addr, ee->module_num, - ee->data + (ee->device_addr/4), &size_read); + ee->data + (ee->device_addr / 4), &size_read); if (ret) { if_printf(priv->ifp, "%s:%d: Failed reading eeprom, " "error = 0x%02x\n", __func__, __LINE__, ret); @@ -298,8 +297,8 @@ mlx5e_get_eeprom(struct mlx5e_priv *priv while (ee->device_addr < MLX5E_EEPROM_PAGE_LENGTH) { ret = mlx5_query_eeprom(dev, ee->i2c_addr, ee->page_num, ee->device_addr, MLX5E_EEPROM_PAGE_LENGTH - ee->device_addr, - ee->module_num, ee->data + (ee->len/4) + - ((ee->device_addr - MLX5E_EEPROM_HIGH_PAGE_OFFSET)/4), + ee->module_num, ee->data + (ee->len / 4) + + ((ee->device_addr - MLX5E_EEPROM_HIGH_PAGE_OFFSET) / 4), &size_read); if (ret) { if_printf(priv->ifp, "%s:%d: Failed reading eeprom, " @@ -321,9 +320,9 @@ mlx5e_print_eeprom(struct mlx5e_eeprom * printf("\nOffset\t\tValues\n"); printf("------\t\t------\n"); while (row < eeprom->len) { - printf("0x%04x\t\t",row); + printf("0x%04x\t\t", row); for (i = 0; i < 16; i++) { - printf("%02x ", ((u8*)eeprom->data)[j]); + printf("%02x ", ((u8 *)eeprom->data)[j]); j++; row++; } @@ -336,9 +335,9 @@ mlx5e_print_eeprom(struct mlx5e_eeprom * printf("\nOffset\t\tValues\n"); printf("------\t\t------\n"); while (row < MLX5E_EEPROM_PAGE_LENGTH) { - printf("0x%04x\t\t",row); + printf("0x%04x\t\t", row); for (i = 0; i < 16; i++) { - printf("%02x ", ((u8*)eeprom->data)[j]); + printf("%02x ", ((u8 *)eeprom->data)[j]); j++; row++; } @@ -385,8 +384,10 @@ mlx5e_read_eeprom(SYSCTL_HANDLER_ARGS) error = 0; goto done; } - - /* Allocate needed length buffer and additional space for the 3rd */ + /* + * Allocate needed length buffer and additional space for + * page 0x03 + */ eeprom.data = malloc(eeprom.len + MLX5E_EEPROM_PAGE_LENGTH, M_MLX5EN, M_WAITOK | M_ZERO); @@ -396,9 +397,11 @@ mlx5e_read_eeprom(SYSCTL_HANDLER_ARGS) if_printf(priv->ifp, "%s:%d: Failed reading eeprom\n", __func__, __LINE__); error = 0; - /* Continue printing partial information in case of an error */ + /* + * Continue printing partial information in case of + * an error + */ } - mlx5e_print_eeprom(&eeprom); free(eeprom.data, M_MLX5EN); } @@ -498,4 +501,3 @@ mlx5e_create_ethtool(struct mlx5e_priv * CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, priv, 0, mlx5e_read_eeprom, "I", "EEPROM information"); } - Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c Thu Nov 19 10:23:10 2015 (r291069) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c Thu Nov 19 10:28:51 2015 (r291070) @@ -270,7 +270,6 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e } ai->tt_vec |= (1 << MLX5E_TT_ANY); } - match_criteria_enable = MLX5_MATCH_OUTER_HEADERS; MLX5_SET_TO_ONES(fte_match_param, match_criteria, outer_headers.ethertype); @@ -288,7 +287,6 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e } ai->tt_vec |= (1 << MLX5E_TT_IPV4); } - if (tt_vec & (1 << MLX5E_TT_IPV6)) { MLX5_SET(fte_match_param, match_value, outer_headers.ethertype, ETHERTYPE_IPV6); @@ -381,7 +379,6 @@ mlx5e_add_eth_addr_rule(struct mlx5e_pri err = -ENOMEM; goto add_eth_addr_rule_out; } - err = mlx5e_add_eth_addr_rule_sub(priv, ai, type, flow_context, match_criteria); if (err) @@ -423,12 +420,12 @@ mlx5e_add_vlan_rule(struct mlx5e_priv *p dest = MLX5_ADDR_OF(flow_context, flow_context, destination); MLX5_SET(flow_context, flow_context, action, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST); MLX5_SET(flow_context, flow_context, destination_list_size, 1); MLX5_SET(dest_format_struct, dest, destination_type, - MLX5_FLOW_CONTEXT_DEST_TYPE_FLOW_TABLE); + MLX5_FLOW_CONTEXT_DEST_TYPE_FLOW_TABLE); MLX5_SET(dest_format_struct, dest, destination_id, - mlx5_get_flow_table_id(priv->ft.main)); + mlx5_get_flow_table_id(priv->ft.main)); match_criteria_enable = MLX5_MATCH_OUTER_HEADERS; MLX5_SET_TO_ONES(fte_match_param, match_criteria, Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Thu Nov 19 10:23:10 2015 (r291069) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c Thu Nov 19 10:28:51 2015 (r291070) @@ -261,7 +261,6 @@ mlx5e_media_change(struct ifnet *dev) error = EINVAL; goto done; } - link_mode = mlx5e_find_link_mode(IFM_SUBTYPE(priv->media.ifm_media)); error = mlx5_query_port_proto_cap(mdev, ð_proto_cap, MLX5_PTYS_EN); @@ -279,7 +278,6 @@ mlx5e_media_change(struct ifnet *dev) error = EINVAL; goto done; } - mlx5_set_port_status(mdev, MLX5_PORT_DOWN); mlx5_set_port_proto(mdev, link_mode, MLX5_PTYS_EN); mlx5_set_port_status(mdev, MLX5_PORT_UP); @@ -315,7 +313,7 @@ mlx5e_update_pport_counters(struct mlx5e unsigned x; unsigned y; - in = mlx5_vzalloc(sz); + in = mlx5_vzalloc(sz); out = mlx5_vzalloc(sz); if (in == NULL || out == NULL) goto free_out; @@ -334,7 +332,7 @@ mlx5e_update_pport_counters(struct mlx5e for (x = 0; x != MLX5E_PPORT_RFC2819_STATS_NUM; x++, y++) s->arg[y] = be64toh(ptr[x]); for (y = 0; x != MLX5E_PPORT_RFC2819_STATS_NUM + - MLX5E_PPORT_RFC2819_STATS_DEBUG_NUM; x++, y++) + MLX5E_PPORT_RFC2819_STATS_DEBUG_NUM; x++, y++) s_debug->arg[y] = be64toh(ptr[x]); MLX5_SET(ppcnt_reg, in, grp, MLX5_RFC_2863_COUNTERS_GROUP); @@ -343,8 +341,8 @@ mlx5e_update_pport_counters(struct mlx5e s_debug->arg[y] = be64toh(ptr[x]); MLX5_SET(ppcnt_reg, in, grp, MLX5_PHYSICAL_LAYER_COUNTERS_GROUP); - mlx5_core_access_reg(mdev, in, sz, out, sz, MLX5_REG_PPCNT, 0, 0); - for (x = 0; x != MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG_NUM; x++, y++) + mlx5_core_access_reg(mdev, in, sz, out, sz, MLX5_REG_PPCNT, 0, 0); + for (x = 0; x != MLX5E_PPORT_PHYSICAL_LAYER_STATS_DEBUG_NUM; x++, y++) s_debug->arg[y] = be64toh(ptr[x]); free_out: kvfree(in); @@ -364,6 +362,7 @@ mlx5e_update_stats_work(struct work_stru #if (__FreeBSD_version < 1100000) struct ifnet *ifp = priv->ifp; #endif + u32 in[MLX5_ST_SZ_DW(query_vport_counter_in)]; u32 *out; int outlen = MLX5_ST_SZ_BYTES(query_vport_counter_out); @@ -520,7 +519,7 @@ mlx5e_update_stats_work(struct work_stru #if (__FreeBSD_version < 1100000) /* no get_counters interface in fbsd 10 */ ifp->if_ipackets = s->rx_packets; - ifp->if_ierrors = s->rx_error_packets; + ifp->if_ierrors = s->rx_error_packets; ifp->if_iqdrops = s->rx_out_of_buffer; ifp->if_opackets = s->tx_packets; ifp->if_oerrors = s->tx_error_packets; @@ -605,18 +604,18 @@ mlx5e_create_rq(struct mlx5e_channel *c, /* Create DMA descriptor TAG */ if ((err = -bus_dma_tag_create( - bus_get_dma_tag(mdev->pdev->dev.bsddev), - 1, /* any alignment */ - 0, /* no boundary */ - BUS_SPACE_MAXADDR, /* lowaddr */ - BUS_SPACE_MAXADDR, /* highaddr */ - NULL, NULL, /* filter, filterarg */ - MJUM16BYTES, /* maxsize */ - 1, /* nsegments */ - MJUM16BYTES, /* maxsegsize */ - 0, /* flags */ - NULL, NULL, /* lockfunc, lockfuncarg */ - &rq->dma_tag))) + bus_get_dma_tag(mdev->pdev->dev.bsddev), + 1, /* any alignment */ + 0, /* no boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + MJUM16BYTES, /* maxsize */ + 1, /* nsegments */ + MJUM16BYTES, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockfuncarg */ + &rq->dma_tag))) goto done; err = mlx5_wq_ll_create(mdev, ¶m->wq, rqc_wq, &rq->wq, @@ -626,10 +625,9 @@ mlx5e_create_rq(struct mlx5e_channel *c, rq->wq.db = &rq->wq.db[MLX5_RCV_DBR]; - if (priv->params.hw_lro_en) { + if (priv->params.hw_lro_en) { rq->wqe_sz = priv->params.lro_wqe_sz; - } - else { + } else { rq->wqe_sz = MLX5E_SW2MB_MTU(priv->ifp->if_mtu); } if (rq->wqe_sz > MJUM16BYTES) { @@ -651,7 +649,6 @@ mlx5e_create_rq(struct mlx5e_channel *c, err = -ENOMEM; goto err_rq_wq_destroy; } - for (i = 0; i != wq_sz; i++) { struct mlx5e_rx_wqe *wqe = mlx5_wq_ll_get_wqe(&rq->wq, i); uint32_t byte_count = rq->wqe_sz - MLX5E_NET_IP_ALIGN; @@ -753,7 +750,7 @@ mlx5e_enable_rq(struct mlx5e_rq *rq, str MLX5_SET(rqc, rqc, state, MLX5_RQC_STATE_RST); MLX5_SET(rqc, rqc, flush_in_error_en, 1); if (priv->counter_set_id >= 0) - MLX5_SET(rqc, rqc, counter_set_id, priv->counter_set_id); + MLX5_SET(rqc, rqc, counter_set_id, priv->counter_set_id); MLX5_SET(wq, wq, log_wq_pg_sz, rq->wq_ctrl.buf.page_shift - PAGE_SHIFT); MLX5_SET64(wq, wq, dbr_addr, rq->wq_ctrl.db.dma); @@ -938,18 +935,18 @@ mlx5e_create_sq(struct mlx5e_channel *c, /* Create DMA descriptor TAG */ if ((err = -bus_dma_tag_create( - bus_get_dma_tag(mdev->pdev->dev.bsddev), - 1, /* any alignment */ - 0, /* no boundary */ - BUS_SPACE_MAXADDR, /* lowaddr */ - BUS_SPACE_MAXADDR, /* highaddr */ - NULL, NULL, /* filter, filterarg */ - MLX5E_MAX_TX_PAYLOAD_SIZE, /* maxsize */ - MLX5E_MAX_TX_MBUF_FRAGS, /* nsegments */ - MLX5E_MAX_TX_MBUF_SIZE, /* maxsegsize */ - 0, /* flags */ - NULL, NULL, /* lockfunc, lockfuncarg */ - &sq->dma_tag))) + bus_get_dma_tag(mdev->pdev->dev.bsddev), + 1, /* any alignment */ + 0, /* no boundary */ + BUS_SPACE_MAXADDR, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + MLX5E_MAX_TX_PAYLOAD_SIZE, /* maxsize */ + MLX5E_MAX_TX_MBUF_FRAGS, /* nsegments */ + MLX5E_MAX_TX_MBUF_SIZE, /* maxsegsize */ + 0, /* flags */ + NULL, NULL, /* lockfunc, lockfuncarg */ + &sq->dma_tag))) goto done; err = mlx5_alloc_map_uar(mdev, &sq->uar); @@ -963,7 +960,7 @@ mlx5e_create_sq(struct mlx5e_channel *c, sq->wq.db = &sq->wq.db[MLX5_SND_DBR]; sq->uar_map = sq->uar.map; - sq->uar_bf_map = sq->uar.bf_map; + sq->uar_bf_map = sq->uar.bf_map; sq->bf_buf_size = (1 << MLX5_CAP_GEN(mdev, log_bf_reg_size)) / 2; err = mlx5e_alloc_sq_db(sq); @@ -992,10 +989,10 @@ mlx5e_create_sq(struct mlx5e_channel *c, err = -ENOMEM; goto err_free_drbr; } + TASK_INIT(&sq->sq_task, 0, mlx5e_tx_que, sq); taskqueue_start_threads(&sq->sq_tq, 1, PI_NET, "%s tx sq", - c->ifp->if_xname); - + c->ifp->if_xname); snprintf(buffer, sizeof(buffer), "txstat%dtc%d", c->ix, tc); mlx5e_create_stats(&sq->stats.ctx, SYSCTL_CHILDREN(priv->sysctl_ifnet), @@ -1427,7 +1424,7 @@ mlx5e_chan_mtx_destroy(struct mlx5e_chan static int mlx5e_open_channel(struct mlx5e_priv *priv, int ix, struct mlx5e_channel_param *cparam, - struct mlx5e_channel * volatile *cp) + struct mlx5e_channel *volatile *cp) { struct mlx5e_channel *c; u8 rx_moderation_mode; @@ -1505,7 +1502,7 @@ err_free: } static void -mlx5e_close_channel(struct mlx5e_channel * volatile *pp) +mlx5e_close_channel(struct mlx5e_channel *volatile *pp) { struct mlx5e_channel *c = *pp; @@ -1517,7 +1514,7 @@ mlx5e_close_channel(struct mlx5e_channel } static void -mlx5e_close_channel_wait(struct mlx5e_channel * volatile *pp) +mlx5e_close_channel_wait(struct mlx5e_channel *volatile *pp) { struct mlx5e_channel *c = *pp; @@ -1814,19 +1811,17 @@ mlx5e_build_tir_ctx(struct mlx5e_priv *p MLX5_HASH_FIELD_SEL_IPSEC_SPI) if (priv->params.hw_lro_en) { - MLX5_SET(tirc, tirc, lro_enable_mask, - MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO | - MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO); - MLX5_SET(tirc, tirc, lro_max_msg_sz, - (priv->params.lro_wqe_sz - - ROUGH_MAX_L2_L3_HDR_SZ) >> 8); + MLX5_SET(tirc, tirc, lro_enable_mask, + MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO | + MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO); + MLX5_SET(tirc, tirc, lro_max_msg_sz, + (priv->params.lro_wqe_sz - + ROUGH_MAX_L2_L3_HDR_SZ) >> 8); /* TODO: add the option to choose timer value dynamically */ - MLX5_SET(tirc, tirc, lro_timeout_period_usecs, - MLX5_CAP_ETH(priv->mdev, - lro_timer_supported_periods[2])); + MLX5_SET(tirc, tirc, lro_timeout_period_usecs, + MLX5_CAP_ETH(priv->mdev, + lro_timer_supported_periods[2])); } - - switch (tt) { case MLX5E_TT_ANY: MLX5_SET(tirc, tirc, disp_type, @@ -2020,6 +2015,7 @@ mlx5e_set_dev_port_mtu(struct ifnet *ifp err = mlx5_set_port_mtu(mdev, 0); if (err) return (err); + err = mlx5_query_port_oper_mtu(mdev, &min_mtu); if (err) { if_printf(ifp, "Query port minimal MTU failed\n"); @@ -2342,7 +2338,6 @@ mlx5e_ioctl(struct ifnet *ifp, u_long co ifp->if_capenable ^= IFCAP_RXCSUM; if (mask & IFCAP_RXCSUM_IPV6) ifp->if_capenable ^= IFCAP_RXCSUM_IPV6; - if (mask & IFCAP_TSO4) { if (!(IFCAP_TSO4 & ifp->if_capenable) && !(IFCAP_TXCSUM & ifp->if_capenable)) { @@ -2363,7 +2358,6 @@ mlx5e_ioctl(struct ifnet *ifp, u_long co ifp->if_capenable ^= IFCAP_TSO6; ifp->if_hwassist ^= CSUM_IP6_TSO; } - if (mask & IFCAP_VLAN_HWFILTER) { if (ifp->if_capenable & IFCAP_VLAN_HWFILTER) mlx5e_disable_vlan_filter(priv); @@ -2374,13 +2368,12 @@ mlx5e_ioctl(struct ifnet *ifp, u_long co } if (mask & IFCAP_VLAN_HWTAGGING) ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; - if (mask & IFCAP_WOL_MAGIC) ifp->if_capenable ^= IFCAP_WOL_MAGIC; VLAN_CAPABILITIES(ifp); /* turn off LRO means also turn of HW LRO - if it's on */ - if (mask & IFCAP_LRO ) { + if (mask & IFCAP_LRO) { int was_opened = test_bit(MLX5E_STATE_OPENED, &priv->state); bool need_restart = false; @@ -2390,7 +2383,7 @@ mlx5e_ioctl(struct ifnet *ifp, u_long co priv->params.hw_lro_en = false; need_restart = true; /* Not sure this is the correct way */ - priv->params_ethtool.hw_lro = priv->params.hw_lro_en; + priv->params_ethtool.hw_lro = priv->params.hw_lro_en; } } if (was_opened && need_restart) { @@ -2405,7 +2398,10 @@ out: case SIOCGI2C: ifr = (struct ifreq *)data; - /* Copy from the user-space address ifr_data to the kernel-space address i2c */ + /* + * Copy from the user-space address ifr_data to the + * kernel-space address i2c + */ error = copyin(ifr->ifr_data, &i2c, sizeof(i2c)); if (error) break; @@ -2515,11 +2511,10 @@ mlx5e_build_ifp_priv(struct mlx5_core_de priv->params.default_vlan_prio = 0; priv->counter_set_id = -1; - /* - * hw lro is currently defaulted to off. - * when it won't anymore we will consider the - * HW capability: "!!MLX5_CAP_ETH(mdev, lro_cap)" - */ + /* + * hw lro is currently defaulted to off. when it won't anymore we + * will consider the HW capability: "!!MLX5_CAP_ETH(mdev, lro_cap)" + */ priv->params.hw_lro_en = false; priv->params.lro_wqe_sz = MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ; @@ -2593,11 +2588,12 @@ mlx5e_priv_mtx_destroy(struct mlx5e_priv static int sysctl_firmware(SYSCTL_HANDLER_ARGS) { - /* %d.%d%.d the string format. + /* + * %d.%d%.d the string format. * fw_rev_{maj,min,sub} return u16, 2^16 = 65536. * We need at most 5 chars to store that. - * it also has: two "." and NULL at the end. - * Which means we need 18 (5*3 + 3) chars at most. + * It also has: two "." and NULL at the end, which means we need 18 + * (5*3 + 3) chars at most. */ char fw[18]; struct mlx5e_priv *priv = arg1; @@ -2702,6 +2698,7 @@ mlx5e_create_ifp(struct mlx5_core_dev *m mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); goto err_free_sysctl; } + /* HW sysctl tree */ child = SYSCTL_CHILDREN(device_get_sysctl_tree(mdev->pdev->dev.bsddev)); priv->sysctl_hw = SYSCTL_ADD_NODE(&priv->sysctl_ctx, child, @@ -2710,9 +2707,7 @@ mlx5e_create_ifp(struct mlx5_core_dev *m mlx5_core_err(mdev, "SYSCTL_ADD_NODE() failed\n"); goto err_free_sysctl; } - mlx5e_build_ifp_priv(mdev, priv, ncv); - err = mlx5_alloc_map_uar(mdev, &priv->cq_uar); if (err) { if_printf(ifp, "%s: mlx5_alloc_map_uar failed, %d\n", @@ -2725,15 +2720,12 @@ mlx5e_create_ifp(struct mlx5_core_dev *m __func__, err); goto err_unmap_free_uar; } - err = mlx5_alloc_transport_domain(mdev, &priv->tdn); - if (err) { if_printf(ifp, "%s: mlx5_alloc_transport_domain failed, %d\n", - __func__, err); + __func__, err); goto err_dealloc_pd; } - err = mlx5e_create_mkey(priv, priv->pdn, &priv->mr); if (err) { if_printf(ifp, "%s: mlx5e_create_mkey failed, %d\n", Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c Thu Nov 19 10:23:10 2015 (r291069) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c Thu Nov 19 10:28:51 2015 (r291070) @@ -95,7 +95,7 @@ mlx5e_post_rx_wqes(struct mlx5e_rq *rq) } static void -mlx5e_lro_update_hdr(struct mbuf* mb, struct mlx5_cqe64 *cqe) +mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) { /* TODO: consider vlans, ip options, ... */ struct ether_header *eh; @@ -109,8 +109,8 @@ mlx5e_lro_update_hdr(struct mbuf* mb, st eh_type = ntohs(eh->ether_type); u8 l4_hdr_type = get_cqe_l4_hdr_type(cqe); - int tcp_ack = ((CQE_L4_HDR_TYPE_TCP_ACK_NO_DATA == l4_hdr_type) || - (CQE_L4_HDR_TYPE_TCP_ACK_AND_DATA == l4_hdr_type)); + int tcp_ack = ((CQE_L4_HDR_TYPE_TCP_ACK_NO_DATA == l4_hdr_type) || + (CQE_L4_HDR_TYPE_TCP_ACK_AND_DATA == l4_hdr_type)); /* TODO: consider vlan */ u16 tot_len = be32_to_cpu(cqe->byte_cnt) - ETHER_HDR_LEN; @@ -131,15 +131,16 @@ mlx5e_lro_update_hdr(struct mbuf* mb, st ts_ptr = (uint32_t *)(th + 1); if (get_cqe_lro_tcppsh(cqe)) - th->th_flags |= TH_PUSH; + th->th_flags |= TH_PUSH; if (tcp_ack) { - th->th_flags |= TH_ACK; - th->th_ack = cqe->lro_ack_seq_num; - th->th_win = cqe->lro_tcp_win; - - /* FreeBSD handles only 32bit aligned timestamp - * right after the TCP hdr + th->th_flags |= TH_ACK; + th->th_ack = cqe->lro_ack_seq_num; + th->th_win = cqe->lro_tcp_win; + + /* + * FreeBSD handles only 32bit aligned timestamp right after + * the TCP hdr * +--------+--------+--------+--------+ * | NOP | NOP | TSopt | 10 | * +--------+--------+--------+--------+ @@ -152,7 +153,8 @@ mlx5e_lro_update_hdr(struct mbuf* mb, st (__predict_true(*ts_ptr) == ntohl(TCPOPT_NOP << 24 | TCPOPT_NOP << 16 | TCPOPT_TIMESTAMP << 8 | TCPOLEN_TIMESTAMP))) { - /* cqe->timestamp is 64bit long. + /* + * cqe->timestamp is 64bit long. * [0-31] - timestamp. * [32-64] - timestamp echo replay. */ @@ -160,15 +162,14 @@ mlx5e_lro_update_hdr(struct mbuf* mb, st ts_ptr[2] = *((uint32_t *)&cqe->timestamp + 1); } } - if (ip4) { - ip4->ip_ttl = cqe->lro_min_ttl; - ip4->ip_len = cpu_to_be16(tot_len); - ip4->ip_sum = 0; - ip4->ip_sum = in_cksum(mb, ip4->ip_hl << 2); + ip4->ip_ttl = cqe->lro_min_ttl; + ip4->ip_len = cpu_to_be16(tot_len); + ip4->ip_sum = 0; + ip4->ip_sum = in_cksum(mb, ip4->ip_hl << 2); } else { - ip6->ip6_hlim = cqe->lro_min_ttl; - ip6->ip6_plen = cpu_to_be16(tot_len - + ip6->ip6_hlim = cqe->lro_min_ttl; + ip6->ip6_plen = cpu_to_be16(tot_len - sizeof(struct ip6_hdr)); } /* TODO: handle tcp checksum */ @@ -180,7 +181,7 @@ mlx5e_build_rx_mbuf(struct mlx5_cqe64 *c u32 cqe_bcnt) { struct ifnet *ifp = rq->ifp; - int lro_num_seg; /* HW LRO session aggregated packets counter */ + int lro_num_seg; /* HW LRO session aggregated packets counter */ lro_num_seg = be32_to_cpu(cqe->srqn) >> 24; if (lro_num_seg > 1) { @@ -195,6 +196,7 @@ mlx5e_build_rx_mbuf(struct mlx5_cqe64 *c mb->m_pkthdr.flowid = be32_to_cpu(cqe->rss_hash_result); else mb->m_pkthdr.flowid = rq->ix; + M_HASHTYPE_SET(mb, M_HASHTYPE_OPAQUE); mb->m_pkthdr.rcvif = ifp; @@ -306,6 +308,7 @@ mlx5e_rx_cq_comp(struct mlx5_core_cq *mc #ifdef HAVE_PER_CQ_EVENT_PACKET struct mbuf *mb = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, rq->wqe_sz); + if (mb != NULL) { /* this code is used for debugging purpose only */ mb->m_pkthdr.len = mb->m_len = 15; Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Nov 19 10:23:10 2015 (r291069) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c Thu Nov 19 10:28:51 2015 (r291070) @@ -166,8 +166,10 @@ mlx5e_get_header_size(struct mbuf *mb) return (eth_hdr_len); } -/* The return value is not going back to the stack because of - * the drbr */ +/* + * The return value is not going back to the stack because of + * the drbr + */ static int mlx5e_sq_xmit(struct mlx5e_sq *sq, struct mbuf **mbp) { @@ -184,8 +186,10 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc u16 pi; u8 opcode; - /* Return ENOBUFS if the queue is full, this may trigger reinsertion - * of the mbuf into the drbr (see mlx5e_xmit_locked) */ + /* + * Return ENOBUFS if the queue is full, this may trigger reinsertion + * of the mbuf into the drbr (see mlx5e_xmit_locked) + */ if (unlikely(!mlx5e_sq_has_room_for(sq, 2 * MLX5_SEND_WQE_MAX_WQEBBS))) { return (ENOBUFS); } @@ -193,7 +197,7 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc /* Align SQ edge with NOPs to avoid WQE wrap around */ pi = ((~sq->pc) & sq->wq.sz_m1); if (pi < (MLX5_SEND_WQE_MAX_WQEBBS - 1)) { - /* send one multi NOP message instead of many */ + /* Send one multi NOP message instead of many */ mlx5e_send_nop(sq, (pi + 1) * MLX5_SEND_WQEBB_NUM_DS, false); pi = ((~sq->pc) & sq->wq.sz_m1); if (pi < (MLX5_SEND_WQE_MAX_WQEBBS - 1)) { @@ -209,7 +213,7 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc memset(wqe, 0, sizeof(*wqe)); - /* send a copy of the frame to the BPF listener, if any */ + /* Send a copy of the frame to the BPF listener, if any */ if (ifp != NULL && ifp->if_bpf != NULL) ETHER_BPF_MTAP(ifp, mb); @@ -219,10 +223,9 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc if (mb->m_pkthdr.csum_flags & (CSUM_TCP | CSUM_UDP | CSUM_UDP_IPV6 | CSUM_TCP_IPV6 | CSUM_TSO)) { wqe->eth.cs_flags |= MLX5_ETH_WQE_L4_CSUM; } - if ( wqe->eth.cs_flags == 0 ) { + if (wqe->eth.cs_flags == 0) { sq->stats.csum_offload_none++; } - if (mb->m_pkthdr.csum_flags & CSUM_TSO) { u32 payload_len; u32 mss = mb->m_pkthdr.tso_segsz; @@ -249,7 +252,8 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc if (mb->m_flags & M_VLANTAG) { struct ether_vlan_header *eh = (struct ether_vlan_header *)wqe->eth.inline_hdr_start; - /* range checks */ + + /* Range checks */ if (ihs > (MLX5E_MAX_TX_INLINE - ETHER_VLAN_ENCAP_LEN)) ihs = (MLX5E_MAX_TX_INLINE - ETHER_VLAN_ENCAP_LEN); else if (ihs < ETHER_HDR_LEN) { @@ -258,14 +262,14 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc } m_copydata(mb, 0, ETHER_HDR_LEN, (caddr_t)eh); m_adj(mb, ETHER_HDR_LEN); - /* insert 4 bytes VLAN tag into data stream */ + /* Insert 4 bytes VLAN tag into data stream */ eh->evl_proto = eh->evl_encap_proto; eh->evl_encap_proto = htons(ETHERTYPE_VLAN); eh->evl_tag = htons(mb->m_pkthdr.ether_vtag); - /* copy rest of header data, if any */ + /* Copy rest of header data, if any */ m_copydata(mb, 0, ihs - ETHER_HDR_LEN, (caddr_t)(eh + 1)); m_adj(mb, ihs - ETHER_HDR_LEN); - /* extend header by 4 bytes */ + /* Extend header by 4 bytes */ ihs += ETHER_VLAN_ENCAP_LEN; } else { m_copydata(mb, 0, ihs, wqe->eth.inline_hdr_start); @@ -281,10 +285,10 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc } dseg = ((struct mlx5_wqe_data_seg *)&wqe->ctrl) + ds_cnt; - /* trim off empty mbufs */ + /* Trim off empty mbufs */ while (mb->m_len == 0) { mb = m_free(mb); - /* check if all data has been inlined */ + /* Check if all data has been inlined */ if (mb == NULL) goto skip_dma; } @@ -292,7 +296,10 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc err = bus_dmamap_load_mbuf_sg(sq->dma_tag, sq->mbuf[pi].dma_map, mb, segs, &nsegs, BUS_DMA_NOWAIT); if (err == EFBIG) { - /* Update *mbp before defrag in case it was trimmed in the loop above */ + /* + * Update *mbp before defrag in case it was trimmed in the + * loop above + */ *mbp = mb; /* Update statistics */ sq->stats.defragged++; @@ -306,7 +313,7 @@ mlx5e_sq_xmit(struct mlx5e_sq *sq, struc err = bus_dmamap_load_mbuf_sg(sq->dma_tag, sq->mbuf[pi].dma_map, mb, segs, &nsegs, BUS_DMA_NOWAIT); } - /* catch errors */ + /* Catch errors */ if (err != 0) { goto tx_drop; } @@ -327,12 +334,12 @@ skip_dma: wqe->ctrl.qpn_ds = cpu_to_be32((sq->sqn << 8) | ds_cnt); wqe->ctrl.fm_ce_se = MLX5_WQE_CTRL_CQ_UPDATE; - /* store pointer to mbuf */ + /* Store pointer to mbuf */ sq->mbuf[pi].mbuf = mb; sq->mbuf[pi].num_wqebbs = DIV_ROUND_UP(ds_cnt, MLX5_SEND_WQEBB_NUM_DS); sq->pc += sq->mbuf[pi].num_wqebbs; - /* make sure all mbuf data is written to RAM */ + /* Make sure all mbuf data is written to RAM */ if (mb != NULL) bus_dmamap_sync(sq->dma_tag, sq->mbuf[pi].dma_map, BUS_DMASYNC_PREWRITE); @@ -370,7 +377,7 @@ mlx5e_poll_tx_cq(struct mlx5e_sq *sq, in *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Thu Nov 19 12:03:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 21511A3334E; Thu, 19 Nov 2015 12:03:13 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD44D1EFF; Thu, 19 Nov 2015 12:03:12 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJC3BZD029523; Thu, 19 Nov 2015 12:03:11 GMT (envelope-from smh@FreeBSD.org) Received: (from smh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJC3Bvk029522; Thu, 19 Nov 2015 12:03:11 GMT (envelope-from smh@FreeBSD.org) Message-Id: <201511191203.tAJC3Bvk029522@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: smh set sender to smh@FreeBSD.org using -f From: Steven Hartland Date: Thu, 19 Nov 2015 12:03:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291071 - head/cddl/contrib/opensolaris/cmd/zfs 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.20 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, 19 Nov 2015 12:03:13 -0000 Author: smh Date: Thu Nov 19 12:03:11 2015 New Revision: 291071 URL: https://svnweb.freebsd.org/changeset/base/291071 Log: Fix zfs(8) set options Fix zfs(8) not formatting due to wrong macro (Oc) in the syntax for the new zfs set multiple dataset properties option. PR: 204631 Submitted by: Thomas Eberhardt Sponsored by: Multiplay Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Nov 19 10:28:51 2015 (r291070) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Nov 19 12:03:11 2015 (r291071) @@ -117,7 +117,7 @@ .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm .Cm set -.Ar property Ns = Ns Ar value Oc ... +.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... .Nm .Cm get @@ -2123,7 +2123,7 @@ option, but sorts by property in descend .It Xo .Nm .Cm set -.Ar property Ns = Ns Ar value Oc ... +.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Xc .Pp From owner-svn-src-head@freebsd.org Thu Nov 19 12:55:45 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0BF6BA310C8; Thu, 19 Nov 2015 12:55:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0BB61024; Thu, 19 Nov 2015 12:55:44 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJCthKX044478; Thu, 19 Nov 2015 12:55:43 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJCthKI044473; Thu, 19 Nov 2015 12:55:43 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511191255.tAJCthKI044473@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 19 Nov 2015 12:55:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291072 - in head: share/man/man4 sys/conf sys/modules 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.20 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, 19 Nov 2015 12:55:45 -0000 Author: hselasky Date: Thu Nov 19 12:55:43 2015 New Revision: 291072 URL: https://svnweb.freebsd.org/changeset/base/291072 Log: Add the mlx5 and mlx5en modules to the i386 and amd64 kernel builds by default and add a manual page for mlx5en. The mlx5 module contains shared code for both infiniband and ethernet. The mlx5en module contains specific code for ethernet functionality only. A mlx5ib module is in the works for infiniband support. Supported hardware: - ConnectX-4: 10/20/25/40/50/56/100Gb/s speeds. - ConnectX-4 LX: 10/25/40/50Gb/s speeds (low power consumption) Refer to the mlx5en(4) manual page for a comprehensive list. The team porting the mlx5 driver(s) to FreeBSD: - Hans Petter Selasky - Oded Shanoon - Meny Yossefi - Shany Michaely - Shahar Klein - Daria Genzel - Mark Bloch Differential Revision: https://reviews.freebsd.org/D4163 Submitted by: Mark Block Sponsored by: Mellanox Technologies Reviewed by: gnn @ MFC after: 3 days Added: head/share/man/man4/mlx5en.4 (contents, props changed) Modified: head/share/man/man4/Makefile head/sys/conf/NOTES head/sys/conf/files head/sys/modules/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Thu Nov 19 12:03:11 2015 (r291071) +++ head/share/man/man4/Makefile Thu Nov 19 12:55:43 2015 (r291072) @@ -274,6 +274,7 @@ MAN= aac.4 \ mk48txx.4 \ mld.4 \ mlx.4 \ + mlx5en.4 \ mly.4 \ mmc.4 \ mmcsd.4 \ @@ -652,6 +653,7 @@ MLINKS+=lp.4 plip.4 MLINKS+=malo.4 if_malo.4 MLINKS+=md.4 vn.4 MLINKS+=mem.4 kmem.4 +MLINKS+=mlx5en.4 mce.4 MLINKS+=mn.4 if_mn.4 MLINKS+=mos.4 if_mos.4 MLINKS+=msk.4 if_msk.4 Added: head/share/man/man4/mlx5en.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/mlx5en.4 Thu Nov 19 12:55:43 2015 (r291072) @@ -0,0 +1,124 @@ +.\" Copyright (c) 2015 Mellanox Technologies +.\" 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 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 AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd November 15, 2015 +.Dt mlx5en 4 +.Os +.Sh NAME +.Nm mlx5en +.Nd "Mellanox ConnectX-4 and ConnectX-4 LX based 100Gb, 50Gb, 40Gb, 25Gb and 10Gb Ethernet adapter driver" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "options COMPAT_LINUXKPI" +.Cd "device mlx5" +.Cd "device mlx5en" +.Ed +.Pp +To load the driver as a +module at boot time, place the following lines in +.Xr loader.conf 5 : +.Bd -literal -offset indent +mlx5en_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for PCI Express Ethernet adapters based on +ConnectX-4 and ConnectX-4 LX. +The driver supports Jumbo Frames, Transmit/Receive checksum offload, +TCP segmentation offload (TSO), Large Receive Offload (LRO), +HW Large Receive Offload (HW LRO), VLAN tag insertion/extraction, +VLAN checksum offload, VLAN TSO, and Receive Side Steering (RSS). +.br +The network Interface is named mce. +.br +For further hardware information and questions related to hardware +requirements, see +.Pa http://www.mellanox.com/ . +.Pp +For more information on configuring this device, see +.Xr ifconfig 8 . +.Sh HARDWARE +The +.Nm +driver supports 100Gb, 50Gb, 40Gb, 25Gb and 10Gb Ethernet adapters. +ConnectX-4 supports:10/20/25/40/50/56/100Gb/s speeds. +ConnectX-4 LX supports:10/25/40/50Gb/s speeds (and reduced power consumption) : +.Pp +.Bl -bullet -compact +.It +Mellanox MCX455A-ECAT +.It +Mellanox MCX456A-ECAT +.It +Mellanox MCX415A-CCAT +.It +Mellanox MCX416A-CCAT +.It +Mellanox MCX455A-FCAT +.It +Mellanox MCX456A-FCAT +.It +Mellanox MCX415A-BCAT +.It +Mellanox MCX416A-BCAT +.It +Mellanox MCX4131A-GCAT +.It +Mellanox MCX4131A-BCAT +.It +Mellanox MCX4121A-ACAT +.It +Mellanox MCX4111A-ACAT +.It +Mellanox MCX4121A-XCAT +.It +Mellanox MCX4111A-XCAT +.El +.Sh SUPPORT +For general information and support, +go to the Mellanox support website at: +.Pa http://www.mellanox.com/ . +.Pp +If an issue is identified with this driver with a supported adapter, +email all the specific information related to the issue to +.Aq Mt freebsd-drivers@mellanox.com . +.Sh SEE ALSO +.Xr ifconfig 8 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 11.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Mellanox Technologies . Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Thu Nov 19 12:03:11 2015 (r291071) +++ head/sys/conf/NOTES Thu Nov 19 12:55:43 2015 (r291072) @@ -1963,6 +1963,8 @@ device xmphy # XaQti XMAC II # 88E8062, 88E8035, 88E8036, 88E8038, 88E8050, 88E8052, 88E8053, # 88E8055, 88E8056 and D-Link 560T/550SX. # lmc: Support for the LMC/SBE wide-area network interface cards. +# mlx5: Mellanox ConnectX-4 and ConnectX-4 LX IB and Eth shared code module. +# mlx5en:Mellanox ConnectX-4 and ConnectX-4 LX PCIe Ethernet adapters. # my: Myson Fast Ethernet (MTD80X, MTD89X) # nge: Support for PCI gigabit ethernet adapters based on the National # Semiconductor DP83820 and DP83821 chipset. This includes the @@ -2081,6 +2083,8 @@ device gem # Apple GMAC/Sun ERI/Sun GE device hme # Sun HME (Happy Meal Ethernet) device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet device lge # Level 1 LXT1001 gigabit Ethernet +device mlx5 # Shared code module between IB and Ethernet +device mlx5en # Mellanox ConnectX-4 and ConnectX-4 LX device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device my # Myson Fast Ethernet (MTD80X, MTD89X) device nge # NatSemi DP83820 gigabit Ethernet Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Nov 19 12:03:11 2015 (r291071) +++ head/sys/conf/files Thu Nov 19 12:55:43 2015 (r291072) @@ -4052,6 +4052,60 @@ ofed/drivers/net/mlx4/en_tx.c optional no-depend obj-prefix "mlx4_" \ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/" +dev/mlx5/mlx5_core/mlx5_alloc.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_cmd.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_cq.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_eq.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_flow_table.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_fw.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_health.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_mad.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_main.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_mcg.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_mr.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_pagealloc.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_pd.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_port.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_qp.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_srq.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_transobj.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_uar.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_vport.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_wq.c optional mlx5 pci \ + no-depend compile-with "${OFED_C}" + +dev/mlx5/mlx5_en/mlx5_en_ethtool.c optional mlx5en pci inet inet6 \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_en/mlx5_en_main.c optional mlx5en pci inet inet6 \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_en/mlx5_en_tx.c optional mlx5en pci inet inet6 \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_en/mlx5_en_flow_table.c optional mlx5en pci inet inet6 \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_en/mlx5_en_rx.c optional mlx5en pci inet inet6 \ + no-depend compile-with "${OFED_C}" +dev/mlx5/mlx5_en/mlx5_en_txrx.c optional mlx5en pci inet inet6 \ + no-depend compile-with "${OFED_C}" + ofed/drivers/infiniband/hw/mthca/mthca_allocator.c optional mthca \ no-depend compile-with "${OFED_C}" ofed/drivers/infiniband/hw/mthca/mthca_av.c optional mthca \ Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Thu Nov 19 12:03:11 2015 (r291071) +++ head/sys/modules/Makefile Thu Nov 19 12:55:43 2015 (r291072) @@ -226,6 +226,8 @@ SUBDIR= \ ${_mlx4} \ ${_mlx4ib} \ ${_mlxen} \ + ${_mlx5} \ + ${_mlx5en} \ ${_mly} \ mmc \ mmcsd \ @@ -608,6 +610,11 @@ _mlx4= mlx4 _mlx4ib= mlx4ib _mlxen= mlxen .endif +_mlx5= mlx5 +.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ + defined(ALL_MODULES) +_mlx5en= mlx5en +.endif _mly= mly .if ${MK_OFED} != "no" || defined(ALL_MODULES) _mthca= mthca From owner-svn-src-head@freebsd.org Thu Nov 19 13:36:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B080A318D6; Thu, 19 Nov 2015 13:36:55 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA34714C8; Thu, 19 Nov 2015 13:36:54 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJDarmk056296; Thu, 19 Nov 2015 13:36:53 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJDarqb056295; Thu, 19 Nov 2015 13:36:53 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201511191336.tAJDarqb056295@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Thu, 19 Nov 2015 13:36:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291073 - head/lib/libc/yp 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.20 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, 19 Nov 2015 13:36:55 -0000 Author: araujo Date: Thu Nov 19 13:36:53 2015 New Revision: 291073 URL: https://svnweb.freebsd.org/changeset/base/291073 Log: If a NIS server has long entries on its database that is bigger than 1024 specified on YPMAXRECORD the ypmatch can get in an infinite retry loop when is requesting the information from the NIS server. The ypmatch(1) will return an error until the command receives an kill(1). To avoid this problem, we check the MAX_RETRIES that is by default set to 20 and avoid get in infinet loop at the client side. NOTE: FreeBSD nis(8) server doesn't present this issue. Submitted by: Ravi Pokala , Lakshmi N. Sundararajan , Lewis, Fred , Pushkar Kothavade Approved by: bapt (mentor) MFC after: 1 month Differential Revision: D4095 Modified: head/lib/libc/yp/yplib.c Modified: head/lib/libc/yp/yplib.c ============================================================================== --- head/lib/libc/yp/yplib.c Thu Nov 19 12:55:43 2015 (r291072) +++ head/lib/libc/yp/yplib.c Thu Nov 19 13:36:53 2015 (r291073) @@ -655,7 +655,7 @@ yp_match(char *indomain, char *inmap, co struct timeval tv; struct ypreq_key yprk; int r; - + int retries = 0; *outval = NULL; *outvallen = 0; @@ -700,6 +700,11 @@ yp_match(char *indomain, char *inmap, co #endif again: + if (retries > MAX_RETRIES) { + YPUNLOCK(); + return (YPERR_RPC); + } + if (_yp_dobind(indomain, &ysd) != 0) { YPUNLOCK(); return (YPERR_DOMAIN); @@ -716,6 +721,7 @@ again: if (r != RPC_SUCCESS) { clnt_perror(ysd->dom_client, "yp_match: clnt_call"); _yp_unbind(ysd); + retries++; goto again; } @@ -772,7 +778,7 @@ yp_first(char *indomain, char *inmap, ch struct dom_binding *ysd; struct timeval tv; int r; - + int retries = 0; /* Sanity check */ if (indomain == NULL || !strlen(indomain) || @@ -784,6 +790,11 @@ yp_first(char *indomain, char *inmap, ch YPLOCK(); again: + if (retries > MAX_RETRIES) { + YPUNLOCK(); + return (YPERR_RPC); + } + if (_yp_dobind(indomain, &ysd) != 0) { YPUNLOCK(); return (YPERR_DOMAIN); @@ -802,6 +813,7 @@ again: if (r != RPC_SUCCESS) { clnt_perror(ysd->dom_client, "yp_first: clnt_call"); _yp_unbind(ysd); + retries++; goto again; } if (!(r = ypprot_err(yprkv.stat))) { @@ -844,7 +856,7 @@ yp_next(char *indomain, char *inmap, cha struct dom_binding *ysd; struct timeval tv; int r; - + int retries = 0; /* Sanity check */ if (inkey == NULL || !strlen(inkey) || inkeylen <= 0 || @@ -857,6 +869,11 @@ yp_next(char *indomain, char *inmap, cha YPLOCK(); again: + if (retries > MAX_RETRIES) { + YPUNLOCK(); + return (YPERR_RPC); + } + if (_yp_dobind(indomain, &ysd) != 0) { YPUNLOCK(); return (YPERR_DOMAIN); @@ -877,6 +894,7 @@ again: if (r != RPC_SUCCESS) { clnt_perror(ysd->dom_client, "yp_next: clnt_call"); _yp_unbind(ysd); + retries++; goto again; } if (!(r = ypprot_err(yprkv.stat))) { @@ -920,7 +938,7 @@ yp_all(char *indomain, char *inmap, stru CLIENT *clnt; u_long status, savstat; int clnt_sock; - + int retries = 0; /* Sanity check */ if (indomain == NULL || !strlen(indomain) || @@ -929,6 +947,10 @@ yp_all(char *indomain, char *inmap, stru YPLOCK(); again: + if (retries > MAX_RETRIES) { + YPUNLOCK(); + return (YPERR_RPC); + } if (_yp_dobind(indomain, &ysd) != 0) { YPUNLOCK(); @@ -958,9 +980,10 @@ again: if (clnt_call(clnt, YPPROC_ALL, (xdrproc_t)xdr_ypreq_nokey, &yprnk, (xdrproc_t)xdr_ypresp_all_seq, &status, tv) != RPC_SUCCESS) { - clnt_perror(ysd->dom_client, "yp_all: clnt_call"); + clnt_perror(clnt, "yp_all: clnt_call"); clnt_destroy(clnt); _yp_unbind(ysd); + retries++; goto again; } From owner-svn-src-head@freebsd.org Thu Nov 19 14:04:55 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B8C0A320D4; Thu, 19 Nov 2015 14:04:55 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 390CA14E9; Thu, 19 Nov 2015 14:04:55 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJE4s9C064782; Thu, 19 Nov 2015 14:04:54 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJE4reJ064779; Thu, 19 Nov 2015 14:04:53 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201511191404.tAJE4reJ064779@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Thu, 19 Nov 2015 14:04:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm 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.20 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, 19 Nov 2015 14:04:55 -0000 Author: jtl Date: Thu Nov 19 14:04:53 2015 New Revision: 291074 URL: https://svnweb.freebsd.org/changeset/base/291074 Log: Consistently enforce the restriction against calling malloc/free when in a critical section. uma_zalloc_arg()/uma_zalloc_free() may acquire a sleepable lock on the zone. The malloc() family of functions may call uma_zalloc_arg() or uma_zalloc_free(). The malloc(9) man page currently claims that free() will never sleep. It also implies that the malloc() family of functions will not sleep when called with M_NOWAIT. However, it is more correct to say that these functions will not sleep indefinitely. Indeed, they may acquire a sleepable lock. However, a developer may overlook this restriction because the WITNESS check that catches attempts to call the malloc() family of functions within a critical section is inconsistenly applied. This change clarifies the language of the malloc(9) man page to clarify the restriction against calling the malloc() family of functions while in a critical section or holding a spin lock. It also adds KASSERTs at appropriate points to make the enforcement of this restriction more consistent. PR: 204633 Differential Revision: https://reviews.freebsd.org/D4197 Reviewed by: markj Approved by: gnn (mentor) Sponsored by: Juniper Networks Modified: head/share/man/man9/malloc.9 head/sys/kern/kern_malloc.c head/sys/vm/uma_core.c Modified: head/share/man/man9/malloc.9 ============================================================================== --- head/share/man/man9/malloc.9 Thu Nov 19 13:36:53 2015 (r291073) +++ head/share/man/man9/malloc.9 Thu Nov 19 14:04:53 2015 (r291074) @@ -29,7 +29,7 @@ .\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $ .\" $FreeBSD$ .\" -.Dd January 16, 2014 +.Dd November 19, 2015 .Dt MALLOC 9 .Os .Sh NAME @@ -227,6 +227,13 @@ may sleep when called with .Dv M_WAITOK . .Fn free never sleeps. +However, +.Fn malloc , +.Fn realloc, +.Fn reallocf +and +.Fn free +may not be called in a critical section or while holding a spin lock. .Pp Any calls to .Fn malloc Modified: head/sys/kern/kern_malloc.c ============================================================================== --- head/sys/kern/kern_malloc.c Thu Nov 19 13:36:53 2015 (r291073) +++ head/sys/kern/kern_malloc.c Thu Nov 19 14:04:53 2015 (r291074) @@ -476,6 +476,9 @@ malloc(unsigned long size, struct malloc KASSERT(curthread->td_intr_nesting_level == 0, ("malloc(M_WAITOK) in interrupt context")); + KASSERT(curthread->td_critnest == 0, + ("malloc: called with spinlock or critical section held")); + #ifdef DEBUG_MEMGUARD if (memguard_cmp_mtp(mtp, size)) { va = memguard_alloc(size, flags); @@ -542,6 +545,9 @@ free(void *addr, struct malloc_type *mtp KASSERT(mtp->ks_magic == M_MAGIC, ("free: bad malloc type magic")); + KASSERT(curthread->td_critnest == 0, + ("free: called with spinlock or critical section held")); + /* free(NULL, ...) does nothing */ if (addr == NULL) return; @@ -605,6 +611,9 @@ realloc(void *addr, unsigned long size, KASSERT(mtp->ks_magic == M_MAGIC, ("realloc: bad malloc type magic")); + KASSERT(curthread->td_critnest == 0, + ("realloc: called with spinlock or critical section held")); + /* realloc(NULL, ...) is equivalent to malloc(...) */ if (addr == NULL) return (malloc(size, mtp, flags)); Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Thu Nov 19 13:36:53 2015 (r291073) +++ head/sys/vm/uma_core.c Thu Nov 19 14:04:53 2015 (r291074) @@ -2149,6 +2149,10 @@ uma_zalloc_arg(uma_zone_t zone, void *ud WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "uma_zalloc_arg: zone \"%s\"", zone->uz_name); } + + KASSERT(curthread->td_critnest == 0, + ("uma_zalloc_arg: called with spinlock or critical section held")); + #ifdef DEBUG_MEMGUARD if (memguard_cmp_zone(zone)) { item = memguard_alloc(zone->uz_size, flags); @@ -2686,6 +2690,9 @@ uma_zfree_arg(uma_zone_t zone, void *ite CTR2(KTR_UMA, "uma_zfree_arg thread %x zone %s", curthread, zone->uz_name); + KASSERT(curthread->td_critnest == 0, + ("uma_zfree_arg: called with spinlock or critical section held")); + /* uma_zfree(..., NULL) does nothing, to match free(9). */ if (item == NULL) return; From owner-svn-src-head@freebsd.org Thu Nov 19 16:46:02 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79110A32037; Thu, 19 Nov 2015 16:46:02 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 21CF51B3D; Thu, 19 Nov 2015 16:46:02 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJGk0st011887; Thu, 19 Nov 2015 16:46:00 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJGk0pV011886; Thu, 19 Nov 2015 16:46:00 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201511191646.tAJGk0pV011886@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 19 Nov 2015 16:46:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291078 - 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.20 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, 19 Nov 2015 16:46:02 -0000 Author: tuexen Date: Thu Nov 19 16:46:00 2015 New Revision: 291078 URL: https://svnweb.freebsd.org/changeset/base/291078 Log: Fix a bug where an SCTP association was moved back to SHUTDOWN_SENT state when the user issued a shutdown() call. MFC after: 1 week Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Thu Nov 19 16:36:20 2015 (r291077) +++ head/sys/netinet/sctp_usrreq.c Thu Nov 19 16:46:00 2015 (r291078) @@ -957,14 +957,15 @@ sctp_shutdown(struct socket *so) SCTP_INP_RUNLOCK(inp); SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EOPNOTSUPP); return (EOPNOTSUPP); - } - /* - * Ok if we reach here its the TCP model and it is either a SHUT_WR - * or SHUT_RDWR. This means we put the shutdown flag against it. - */ - { + } else { + /* + * Ok, if we reach here its the TCP model and it is either a + * SHUT_WR or SHUT_RDWR. This means we put the shutdown flag + * against it. + */ struct sctp_tcb *stcb; struct sctp_association *asoc; + struct sctp_nets *netp; if ((so->so_state & (SS_ISCONNECTED | SS_ISCONNECTING | SS_ISDISCONNECTING)) == 0) { @@ -976,7 +977,7 @@ sctp_shutdown(struct socket *so) stcb = LIST_FIRST(&inp->sctp_asoc_list); if (stcb == NULL) { /* - * Ok we hit the case that the shutdown call was + * Ok, we hit the case that the shutdown call was * made after an abort or something. Nothing to do * now. */ @@ -985,6 +986,27 @@ sctp_shutdown(struct socket *so) } SCTP_TCB_LOCK(stcb); asoc = &stcb->asoc; + if (asoc->state & SCTP_STATE_ABOUT_TO_BE_FREED) { + SCTP_TCB_UNLOCK(stcb); + SCTP_INP_RUNLOCK(inp); + return (0); + } + if ((SCTP_GET_STATE(asoc) != SCTP_STATE_COOKIE_WAIT) && + (SCTP_GET_STATE(asoc) != SCTP_STATE_COOKIE_ECHOED) && + (SCTP_GET_STATE(asoc) != SCTP_STATE_OPEN)) { + /* + * If we are not in or before ESTABLISHED, there is + * no protocol action required. + */ + SCTP_TCB_UNLOCK(stcb); + SCTP_INP_RUNLOCK(inp); + return (0); + } + if (stcb->asoc.alternate) { + netp = stcb->asoc.alternate; + } else { + netp = stcb->asoc.primary_destination; + } if (TAILQ_EMPTY(&asoc->send_queue) && TAILQ_EMPTY(&asoc->sent_queue) && (asoc->stream_queue_cnt == 0)) { @@ -992,46 +1014,21 @@ sctp_shutdown(struct socket *so) goto abort_anyway; } /* there is nothing queued to send, so I'm done... */ - if (SCTP_GET_STATE(asoc) != SCTP_STATE_SHUTDOWN_SENT) { - /* only send SHUTDOWN the first time through */ - struct sctp_nets *netp; - - if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) || - (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) { - SCTP_STAT_DECR_GAUGE32(sctps_currestab); - } - SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); - SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); - sctp_stop_timers_for_shutdown(stcb); - if (stcb->asoc.alternate) { - netp = stcb->asoc.alternate; - } else { - netp = stcb->asoc.primary_destination; - } - sctp_send_shutdown(stcb, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, - stcb->sctp_ep, stcb, netp); - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, - stcb->sctp_ep, stcb, netp); - sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_LOCKED); + if (SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) { + SCTP_STAT_DECR_GAUGE32(sctps_currestab); } + SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); + SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); + sctp_stop_timers_for_shutdown(stcb); + sctp_send_shutdown(stcb, netp); + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWN, + stcb->sctp_ep, stcb, netp); } else { /* - * we still got (or just got) data to send, so set - * SHUTDOWN_PENDING + * We still got (or just got) data to send, so set + * SHUTDOWN_PENDING. */ - struct sctp_nets *netp; - - if (stcb->asoc.alternate) { - netp = stcb->asoc.alternate; - } else { - netp = stcb->asoc.primary_destination; - } - - asoc->state |= SCTP_STATE_SHUTDOWN_PENDING; - sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, - netp); - + SCTP_ADD_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); if (asoc->locked_on_sending) { /* Locked to send out the data */ struct sctp_stream_queue_pending *sp; @@ -1042,7 +1039,7 @@ sctp_shutdown(struct socket *so) asoc->locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) { - asoc->state |= SCTP_STATE_PARTIAL_MSG_LEFT; + SCTP_ADD_SUBSTATE(asoc, SCTP_STATE_PARTIAL_MSG_LEFT); } } } @@ -1056,16 +1053,20 @@ sctp_shutdown(struct socket *so) stcb->sctp_ep->last_abort_code = SCTP_FROM_SCTP_USRREQ + SCTP_LOC_6; sctp_abort_an_association(stcb->sctp_ep, stcb, op_err, SCTP_SO_LOCKED); - goto skip_unlock; - } else { - sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_CLOSING, SCTP_SO_LOCKED); + SCTP_INP_RUNLOCK(inp); + return (0); } } + sctp_timer_start(SCTP_TIMER_TYPE_SHUTDOWNGUARD, stcb->sctp_ep, stcb, netp); + /* + * XXX: Why do this in the case where we have still data + * queued? + */ + sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_CLOSING, SCTP_SO_LOCKED); SCTP_TCB_UNLOCK(stcb); + SCTP_INP_RUNLOCK(inp); + return (0); } -skip_unlock: - SCTP_INP_RUNLOCK(inp); - return (0); } /* From owner-svn-src-head@freebsd.org Thu Nov 19 17:06:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 373EAA3252B; Thu, 19 Nov 2015 17:06:14 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCF23152A; Thu, 19 Nov 2015 17:06:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJH6C47018193; Thu, 19 Nov 2015 17:06:12 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJH6Cqn018192; Thu, 19 Nov 2015 17:06:12 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511191706.tAJH6Cqn018192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 19 Nov 2015 17:06:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291079 - head/share/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.20 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, 19 Nov 2015 17:06:14 -0000 Author: imp Date: Thu Nov 19 17:06:12 2015 New Revision: 291079 URL: https://svnweb.freebsd.org/changeset/base/291079 Log: Add arm CPUTYPE values typically used on FreeBSD. Modified: head/share/mk/bsd.cpu.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Thu Nov 19 16:46:00 2015 (r291078) +++ head/share/mk/bsd.cpu.mk Thu Nov 19 17:06:12 2015 (r291079) @@ -111,6 +111,14 @@ _CPUCFLAGS = -march=${CPUTYPE} -DARM_ARC . elif ${CPUTYPE} == "cortexa" _CPUCFLAGS = -march=armv7 -DARM_ARCH_6=1 -mfpu=vfp . else +# Common values for FreeBSD +# arm: +# arm920t, arm926ej-s, marvell-pj4, fa526, fa626, +# fa606te, fa626te, fa726te +# armv6: +# arm1176jzf-s, generic-armv7-a, cortex-a5, cortex-a7, cortex-a8, +# cortex-a9, cortex-a12, cortex-a15, cortex-a17, cortex-a53, cortex-a57, +# cortex-a72, exynos-m1 _CPUCFLAGS = -mcpu=${CPUTYPE} . endif . elif ${MACHINE_ARCH} == "powerpc" From owner-svn-src-head@freebsd.org Thu Nov 19 17:43:49 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5802AA32EA6; Thu, 19 Nov 2015 17:43:49 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D38831AB5; Thu, 19 Nov 2015 17:43:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJHhl5L029642; Thu, 19 Nov 2015 17:43:47 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJHhlDL029640; Thu, 19 Nov 2015 17:43:47 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511191743.tAJHhlDL029640@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 19 Nov 2015 17:43:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291080 - head/sys/dev/isp 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.20 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, 19 Nov 2015 17:43:49 -0000 Author: mav Date: Thu Nov 19 17:43:47 2015 New Revision: 291080 URL: https://svnweb.freebsd.org/changeset/base/291080 Log: Another round of port scanner rewrite. This change simplifies and unifies port adding/updating for loop and fabric scanners. It also fixes problems with scanning restarts due to concurrent port databases changes. It also fixes many cosmetic issues. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_freebsd.c head/sys/dev/isp/isp_library.c head/sys/dev/isp/isp_library.h head/sys/dev/isp/ispmbox.h head/sys/dev/isp/ispvar.h Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Thu Nov 19 17:06:12 2015 (r291079) +++ head/sys/dev/isp/isp.c Thu Nov 19 17:43:47 2015 (r291080) @@ -68,9 +68,7 @@ __FBSDID("$FreeBSD$"); /* * Local static data */ -static const char fconf[] = "Chan %d PortDB[%d] changed:\n current =(0x%x@0x%06x 0x%08x%08x 0x%08x%08x)\n database=(0x%x@0x%06x 0x%08x%08x 0x%08x%08x)"; static const char notresp[] = "Not RESPONSE in RESPONSE Queue (type 0x%x) @ idx %d (next %d) nlooked %d"; -static const char topology[] = "Chan %d WWPN 0x%08x%08x PortID 0x%06x LoopID 0x%x Connection '%s'"; static const char bun[] = "bad underrun (count %d, resid %d, status %s)"; static const char lipd[] = "Chan %d LIP destroyed %d active commands"; static const char sacq[] = "unable to acquire scratch area"; @@ -108,7 +106,8 @@ static void isp_scsi_init(ispsoftc_t *); static void isp_scsi_channel_init(ispsoftc_t *, int); static void isp_fibre_init(ispsoftc_t *); static void isp_fibre_init_2400(ispsoftc_t *); -static void isp_mark_portdb(ispsoftc_t *, int, int); +static void isp_clear_portdb(ispsoftc_t *, int); +static void isp_mark_portdb(ispsoftc_t *, int); static int isp_plogx(ispsoftc_t *, int, uint16_t, uint32_t, int, int); static int isp_port_login(ispsoftc_t *, uint16_t, uint32_t); static int isp_port_logout(ispsoftc_t *, uint16_t, uint32_t); @@ -2283,7 +2282,7 @@ isp_fibre_init_2400(ispsoftc_t *isp) } static void -isp_mark_portdb(ispsoftc_t *isp, int chan, int disposition) +isp_clear_portdb(ispsoftc_t *isp, int chan) { fcparam *fcp = FCPARAM(isp, chan); fcportdb_t *lp; @@ -2292,30 +2291,41 @@ isp_mark_portdb(ispsoftc_t *isp, int cha for (i = 0; i < MAX_FC_TARG; i++) { lp = &fcp->portdb[i]; switch (lp->state) { - case FC_PORTDB_STATE_PROBATIONAL: case FC_PORTDB_STATE_DEAD: case FC_PORTDB_STATE_CHANGED: - case FC_PORTDB_STATE_PENDING_VALID: case FC_PORTDB_STATE_VALID: - if (disposition > 0) - lp->state = FC_PORTDB_STATE_PROBATIONAL; - else { - lp->state = FC_PORTDB_STATE_NIL; - isp_async(isp, ISPASYNC_DEV_GONE, chan, lp); - } - break; - case FC_PORTDB_STATE_ZOMBIE: + lp->state = FC_PORTDB_STATE_NIL; + isp_async(isp, ISPASYNC_DEV_GONE, chan, lp); break; case FC_PORTDB_STATE_NIL: case FC_PORTDB_STATE_NEW: - default: - ISP_MEMZERO(lp, sizeof(*lp)); lp->state = FC_PORTDB_STATE_NIL; break; + case FC_PORTDB_STATE_ZOMBIE: + break; + default: + panic("Don't know how to clear state %d\n", lp->state); } } } +static void +isp_mark_portdb(ispsoftc_t *isp, int chan) +{ + fcparam *fcp = FCPARAM(isp, chan); + fcportdb_t *lp; + int i; + + for (i = 0; i < MAX_FC_TARG; i++) { + lp = &fcp->portdb[i]; + if (lp->state == FC_PORTDB_STATE_NIL) + continue; + if ((lp->portid & 0xfffc00) == 0xfffc00) + continue; + fcp->portdb[i].probational = 1; + } +} + /* * Perform an IOCB PLOGI or LOGO via EXECUTE IOCB A64 for 24XX cards * or via FABRIC LOGIN/FABRIC LOGOUT for other cards. @@ -2333,6 +2343,9 @@ isp_plogx(ispsoftc_t *isp, int chan, uin const char *msg; char buf[64]; + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d PLOGX %s PortID 0x%06x nphdl 0x%x", + chan, (flags & PLOGX_FLG_CMD_MASK) == PLOGX_FLG_CMD_PLOGI ? + "Login":"Logout", portid, handle); if (!IS_24XX(isp)) { int action = flags & PLOGX_FLG_CMD_MASK; if (action == PLOGX_FLG_CMD_PLOGI) { @@ -2766,7 +2779,7 @@ static int isp_fclink_test(ispsoftc_t *isp, int chan, int usdelay) { mbreg_t mbs; - int r; + int i, r; uint16_t nphdl; fcparam *fcp; isp_pdb_t pdb; @@ -2774,8 +2787,8 @@ isp_fclink_test(ispsoftc_t *isp, int cha fcp = FCPARAM(isp, chan); - /* Mark port database entries for following scan. */ - isp_mark_portdb(isp, chan, 1); + /* Mark port database entries probational for following scan. */ + isp_mark_portdb(isp, chan); if (fcp->isp_loopstate >= LOOP_LTEST_DONE) return (0); @@ -2818,12 +2831,6 @@ isp_fclink_test(ispsoftc_t *isp, int cha return (-1); } - if (ISP_CAP_2KLOGIN(isp)) { - fcp->isp_loopid = mbs.param[1]; - } else { - fcp->isp_loopid = mbs.param[1] & 0xff; - } - if (IS_2100(isp)) { /* * Don't bother with fabric if we are using really old @@ -2842,30 +2849,17 @@ isp_fclink_test(ispsoftc_t *isp, int cha } fcp->isp_portid = mbs.param[2] | (mbs.param[3] << 16); - /* - * Check to make sure we got a valid loopid - * The 24XX seems to mess this up for multiple channels. - */ - if (fcp->isp_topo == TOPO_FL_PORT || fcp->isp_topo == TOPO_NL_PORT) { + if (!TOPO_IS_FABRIC(fcp->isp_topo)) { + fcp->isp_loopid = mbs.param[1] & 0xff; + } else if (fcp->isp_topo != TOPO_F_PORT) { uint8_t alpa = fcp->isp_portid; - if (alpa == 0) { - /* "Cannot Happen" */ - isp_prt(isp, ISP_LOGWARN, "Zero AL_PA for Loop Topology?"); - } else { - int i; - for (i = 0; alpa_map[i]; i++) { - if (alpa_map[i] == alpa) { - break; - } - } - if (alpa_map[i] && fcp->isp_loopid != i) { - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Deriving loopid %d from AL_PA map (AL_PA 0x%x) and ignoring returned value %d (AL_PA 0x%x)", - chan, i, alpa_map[i], fcp->isp_loopid, alpa); - fcp->isp_loopid = i; - } + for (i = 0; alpa_map[i]; i++) { + if (alpa_map[i] == alpa) + break; } + if (alpa_map[i]) + fcp->isp_loopid = i; } if (fcp->isp_topo == TOPO_F_PORT || fcp->isp_topo == TOPO_FL_PORT) { @@ -2899,6 +2893,7 @@ isp_fclink_test(ispsoftc_t *isp, int cha } not_on_fabric: + /* Get link speed. */ fcp->isp_gbspeed = 1; if (IS_23XX(isp) || IS_24XX(isp)) { MBSINIT(&mbs, MBOX_GET_SET_DATA_RATE, MBLOGALL, 3000000); @@ -2906,27 +2901,29 @@ not_on_fabric: /* mbs.param[2] undefined if we're just getting rate */ isp_mboxcmd(isp, &mbs); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { - if (mbs.param[1] == MBGSD_EIGHTGB) { - isp_prt(isp, ISP_LOGINFO, "Chan %d 8Gb link speed", chan); + if (mbs.param[1] == MBGSD_10GB) + fcp->isp_gbspeed = 10; + else if (mbs.param[1] == MBGSD_16GB) + fcp->isp_gbspeed = 16; + else if (mbs.param[1] == MBGSD_8GB) fcp->isp_gbspeed = 8; - } else if (mbs.param[1] == MBGSD_FOURGB) { - isp_prt(isp, ISP_LOGINFO, "Chan %d 4Gb link speed", chan); + else if (mbs.param[1] == MBGSD_4GB) fcp->isp_gbspeed = 4; - } else if (mbs.param[1] == MBGSD_TWOGB) { - isp_prt(isp, ISP_LOGINFO, "Chan %d 2Gb link speed", chan); + else if (mbs.param[1] == MBGSD_2GB) fcp->isp_gbspeed = 2; - } else if (mbs.param[1] == MBGSD_ONEGB) { - isp_prt(isp, ISP_LOGINFO, "Chan %d 1Gb link speed", chan); + else if (mbs.param[1] == MBGSD_1GB) fcp->isp_gbspeed = 1; - } } } fcp->isp_loopstate = LOOP_LTEST_DONE; - /* - * Announce ourselves, too. - */ - isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGCONFIG, topology, chan, (uint32_t) (fcp->isp_wwpn >> 32), (uint32_t) fcp->isp_wwpn, fcp->isp_portid, fcp->isp_loopid, isp_fc_toponame(fcp)); + isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGCONFIG, + "Chan %d WWPN %016jx WWNN %016jx", + chan, (uintmax_t)fcp->isp_wwpn, (uintmax_t)fcp->isp_wwnn); + isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGCONFIG, + "Chan %d %dGb %s PortID 0x%06x LoopID 0x%02x", + chan, fcp->isp_gbspeed, isp_fc_toponame(fcp), fcp->isp_portid, + fcp->isp_loopid); isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC link test done", chan); return (0); } @@ -2963,13 +2960,11 @@ isp_pdb_sync(ispsoftc_t *isp, int chan) for (dbidx = 0; dbidx < MAX_FC_TARG; dbidx++) { lp = &fcp->portdb[dbidx]; - if (lp->state == FC_PORTDB_STATE_NIL || - lp->state == FC_PORTDB_STATE_VALID) { + if (lp->state == FC_PORTDB_STATE_NIL) continue; - } - + if (lp->probational && lp->state != FC_PORTDB_STATE_ZOMBIE) + lp->state = FC_PORTDB_STATE_DEAD; switch (lp->state) { - case FC_PORTDB_STATE_PROBATIONAL: case FC_PORTDB_STATE_DEAD: lp->state = FC_PORTDB_STATE_NIL; isp_async(isp, ISPASYNC_DEV_GONE, chan, lp); @@ -2979,36 +2974,23 @@ isp_pdb_sync(ispsoftc_t *isp, int chan) PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT | PLOGX_FLG_FREE_NPHDL, 0); - } else { - lp->autologin = 0; } - lp->new_prli_word3 = 0; - lp->new_portid = 0; /* * Note that we might come out of this with our state * set to FC_PORTDB_STATE_ZOMBIE. */ break; case FC_PORTDB_STATE_NEW: - lp->portid = lp->new_portid; - lp->prli_word3 = lp->new_prli_word3; lp->state = FC_PORTDB_STATE_VALID; isp_async(isp, ISPASYNC_DEV_ARRIVED, chan, lp); - lp->new_prli_word3 = 0; - lp->new_portid = 0; break; case FC_PORTDB_STATE_CHANGED: lp->state = FC_PORTDB_STATE_VALID; isp_async(isp, ISPASYNC_DEV_CHANGED, chan, lp); lp->portid = lp->new_portid; lp->prli_word3 = lp->new_prli_word3; - lp->new_prli_word3 = 0; - lp->new_portid = 0; break; - case FC_PORTDB_STATE_PENDING_VALID: - lp->portid = lp->new_portid; - lp->prli_word3 = lp->new_prli_word3; - lp->state = FC_PORTDB_STATE_VALID; + case FC_PORTDB_STATE_VALID: isp_async(isp, ISPASYNC_DEV_STAYED, chan, lp); break; case FC_PORTDB_STATE_ZOMBIE: @@ -3032,15 +3014,78 @@ isp_pdb_sync(ispsoftc_t *isp, int chan) return (0); } +static void +isp_pdb_add_update(ispsoftc_t *isp, int chan, isp_pdb_t *pdb) +{ + fcportdb_t *lp; + uint64_t wwnn, wwpn; + + MAKE_WWN_FROM_NODE_NAME(wwnn, pdb->nodename); + MAKE_WWN_FROM_NODE_NAME(wwpn, pdb->portname); + + /* Search port database for the same WWPN. */ + if (isp_find_pdb_by_wwpn(isp, chan, wwpn, &lp)) { + if (!lp->probational) { + isp_prt(isp, ISP_LOGERR, + "Chan %d Port 0x%06x@0x%04x [%d] is not probational (0x%x)", + chan, lp->portid, lp->handle, + FC_PORTDB_TGT(isp, chan, lp), lp->state); + isp_dump_portdb(isp, chan); + return; + } + lp->probational = 0; + lp->node_wwn = wwnn; + + /* Old device, nothing new. */ + if (lp->portid == pdb->portid && + lp->handle == pdb->handle && + lp->prli_word3 == pdb->prli_word3) { + if (lp->state != FC_PORTDB_STATE_NEW) + lp->state = FC_PORTDB_STATE_VALID; + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Port 0x%06x@0x%04x is valid", + chan, pdb->portid, pdb->handle); + return; + } + + /* Something has changed. */ + lp->state = FC_PORTDB_STATE_CHANGED; + lp->handle = pdb->handle; + lp->new_portid = pdb->portid; + lp->new_prli_word3 = pdb->prli_word3; + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Port 0x%06x@0x%04x is changed", + chan, pdb->portid, pdb->handle); + return; + } + + /* It seems like a new port. Find an empty slot for it. */ + if (!isp_find_pdb_empty(isp, chan, &lp)) { + isp_prt(isp, ISP_LOGERR, "Chan %d out of portdb entries", chan); + return; + } + + ISP_MEMZERO(lp, sizeof (fcportdb_t)); + lp->autologin = 1; + lp->probational = 0; + lp->state = FC_PORTDB_STATE_NEW; + lp->portid = lp->new_portid = pdb->portid; + lp->prli_word3 = lp->new_prli_word3 = pdb->prli_word3; + lp->handle = pdb->handle; + lp->port_wwn = wwpn; + lp->node_wwn = wwnn; + isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Port 0x%06x@0x%04x is new", + chan, pdb->portid, pdb->handle); +} + /* * Scan local loop for devices. */ static int isp_scan_loop(ispsoftc_t *isp, int chan) { - fcportdb_t *lp, tmp; fcparam *fcp = FCPARAM(isp, chan); - int i, idx, lim, r; + int idx, lim, r; isp_pdb_t pdb; uint16_t handles[LOCAL_LOOP_LIM]; uint16_t handle; @@ -3052,8 +3097,7 @@ isp_scan_loop(ispsoftc_t *isp, int chan) return (0); } isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan", chan); - if (fcp->isp_topo != TOPO_NL_PORT && fcp->isp_topo != TOPO_FL_PORT && - fcp->isp_topo != TOPO_N_PORT) { + if (TOPO_IS_FABRIC(fcp->isp_topo)) { isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan done (no loop)", chan); fcp->isp_loopstate = LOOP_LSCAN_DONE; @@ -3066,7 +3110,6 @@ isp_scan_loop(ispsoftc_t *isp, int chan) if (r != 0) { isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Getting list of handles failed with %x", chan, r); -fail: isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan done (bad)", chan); return (-1); @@ -3113,6 +3156,8 @@ abort: * Get the port database entity for this index. */ r = isp_getpdb(isp, chan, handle, &pdb, 1); + if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) + goto abort; if (r != 0) { isp_prt(isp, ISP_LOGDEBUG1, "Chan %d FC Scan Loop handle %d returned %x", @@ -3122,145 +3167,7 @@ abort: continue; } - if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) - goto abort; - - /* - * On *very* old 2100 firmware we would end up sometimes - * with the firmware returning the port database entry - * for something else. We used to restart this, but - * now we just punt. - */ - if (IS_2100(isp) && pdb.handle != handle) { - isp_prt(isp, ISP_LOGWARN, - "Chan %d getpdb() returned wrong handle %x != %x", - chan, pdb.handle, handle); - goto fail; - } - - /* - * Save the pertinent info locally. - */ - MAKE_WWN_FROM_NODE_NAME(tmp.node_wwn, pdb.nodename); - MAKE_WWN_FROM_NODE_NAME(tmp.port_wwn, pdb.portname); - tmp.prli_word3 = pdb.prli_word3; - tmp.portid = pdb.portid; - tmp.handle = pdb.handle; - - /* - * Check to make sure it's still a valid entry. The 24XX seems - * to return a portid but not a WWPN/WWNN or role for devices - * which shift on a loop. - */ - if (tmp.node_wwn == 0 || tmp.port_wwn == 0 || tmp.portid == 0) { - int a, b, c; - isp_prt(isp, ISP_LOGWARN, - "Chan %d bad pdb (WWNN %016jx, WWPN %016jx, PortID %06x, W3 0x%x, H 0x%x) @ handle 0x%x", - chan, tmp.node_wwn, tmp.port_wwn, tmp.portid, tmp.prli_word3, tmp.handle, handle); - a = (tmp.node_wwn == 0); - b = (tmp.port_wwn == 0); - c = (tmp.portid == 0); - if (a == 0 && b == 0) { - tmp.node_wwn = - isp_get_wwn(isp, chan, handle, 1); - tmp.port_wwn = - isp_get_wwn(isp, chan, handle, 0); - if (tmp.node_wwn && tmp.port_wwn) { - isp_prt(isp, ISP_LOGWARN, "DODGED!"); - goto cont; - } - } - isp_dump_portdb(isp, chan); - continue; - } - cont: - - /* - * Now search the entire port database - * for the same Port WWN. - */ - if (isp_find_pdb_by_wwn(isp, chan, tmp.port_wwn, &lp)) { - /* - * Okay- we've found a non-nil entry that matches. - * Check to make sure it's probational or a zombie. - */ - if (lp->state != FC_PORTDB_STATE_PROBATIONAL && - lp->state != FC_PORTDB_STATE_ZOMBIE && - lp->state != FC_PORTDB_STATE_VALID) { - isp_prt(isp, ISP_LOGERR, - "Chan %d [%d] not probational/zombie (0x%x)", - chan, FC_PORTDB_TGT(isp, chan, lp), lp->state); - isp_dump_portdb(isp, chan); - goto fail; - } - - /* - * Mark the device as something the f/w logs into - * automatically. - */ - lp->autologin = 1; - lp->node_wwn = tmp.node_wwn; - - /* - * Check to make see if really still the same - * device. If it is, we mark it pending valid. - */ - if (lp->portid == tmp.portid && lp->handle == tmp.handle && lp->prli_word3 == tmp.prli_word3) { - lp->new_portid = tmp.portid; - lp->new_prli_word3 = tmp.prli_word3; - lp->state = FC_PORTDB_STATE_PENDING_VALID; - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Loop port 0x%06x@0x%04x now pending valid", - chan, tmp.portid, tmp.handle); - continue; - } - - /* - * We can wipe out the old handle value - * here because it's no longer valid. - */ - lp->handle = tmp.handle; - - /* - * Claim that this has changed and let somebody else - * decide what to do. - */ - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Loop port 0x%06x@0x%04x changed", - chan, tmp.portid, tmp.handle); - lp->state = FC_PORTDB_STATE_CHANGED; - lp->new_portid = tmp.portid; - lp->new_prli_word3 = tmp.prli_word3; - continue; - } - - /* - * Ah. A new device entry. Find an empty slot - * for it and save info for later disposition. - */ - for (i = 0; i < MAX_FC_TARG; i++) { - if (fcp->portdb[i].state == FC_PORTDB_STATE_NIL) { - break; - } - } - if (i == MAX_FC_TARG) { - isp_prt(isp, ISP_LOGERR, - "Chan %d out of portdb entries", chan); - continue; - } - lp = &fcp->portdb[i]; - - ISP_MEMZERO(lp, sizeof (fcportdb_t)); - lp->autologin = 1; - lp->state = FC_PORTDB_STATE_NEW; - lp->new_portid = tmp.portid; - lp->new_prli_word3 = tmp.prli_word3; - lp->handle = tmp.handle; - lp->port_wwn = tmp.port_wwn; - lp->node_wwn = tmp.node_wwn; - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Loop port 0x%06x@0x%04x is a new entry", - chan, tmp.portid, tmp.handle); + isp_pdb_add_update(isp, chan, &pdb); } if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) goto abort; @@ -3359,10 +3266,6 @@ isp_gid_ft_ct_passthru(ispsoftc_t *isp, isp_prt(isp, ISP_LOGDEBUG0, "Chan %d scanning fabric (GID_FT) via CT", chan); - if (!IS_24XX(isp)) { - return (1); - } - /* * Build a Passthrough IOCB in memory. */ @@ -3445,6 +3348,7 @@ static int isp_scan_fabric(ispsoftc_t *isp, int chan) { fcparam *fcp = FCPARAM(isp, chan); + fcportdb_t *lp; uint32_t portid; uint16_t nphdl; isp_pdb_t pdb; @@ -3458,7 +3362,7 @@ isp_scan_fabric(ispsoftc_t *isp, int cha return (0); } isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan", chan); - if (fcp->isp_topo != TOPO_FL_PORT && fcp->isp_topo != TOPO_F_PORT) { + if (!TOPO_IS_FABRIC(fcp->isp_topo)) { fcp->isp_loopstate = LOOP_FSCAN_DONE; isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan done (no fabric)", chan); @@ -3495,16 +3399,13 @@ abort: goto fail; } - if (IS_24XX(isp)) { + /* Get list of port IDs from SNS. */ + if (IS_24XX(isp)) r = isp_gid_ft_ct_passthru(isp, chan); - } else { + else r = isp_gid_ft_sns(isp, chan); - } - - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) goto abort; - } - if (r > 0) { fcp->isp_loopstate = LOOP_FSCAN_DONE; FC_SCRATCH_RELEASE(isp, chan); @@ -3519,9 +3420,8 @@ abort: rs0 = (sns_gid_ft_rsp_t *) ((uint8_t *)fcp->isp_scratch+IGPOFF); rs1 = (sns_gid_ft_rsp_t *) ((uint8_t *)fcp->isp_scratch+OGPOFF); isp_get_gid_ft_response(isp, rs0, rs1, NGENT); - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) goto abort; - } if (rs1->snscb_cthdr.ct_cmd_resp != LS_ACC) { int level; if (rs1->snscb_cthdr.ct_reason == 9 && rs1->snscb_cthdr.ct_explanation == 7) { @@ -3538,21 +3438,11 @@ abort: return (0); } - /* - * Go through the list and remove duplicate port ids. - */ - - portlim = 0; - portidx = 0; + /* Check our buffer was big enough to get the full list. */ for (portidx = 0; portidx < NGENT-1; portidx++) { - if (rs1->snscb_ports[portidx].control & 0x80) { + if (rs1->snscb_ports[portidx].control & 0x80) break; - } } - - /* - * If we're not at the last entry, our list wasn't big enough. - */ if ((rs1->snscb_ports[portidx].control & 0x80) == 0) { isp_prt(isp, ISP_LOGWARN, "fabric too big for scratch area: increase ISP_FC_SCRLEN"); @@ -3561,6 +3451,7 @@ abort: isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Got %d ports back from name server", chan, portlim); + /* Go through the list and remove duplicate port ids. */ for (portidx = 0; portidx < portlim; portidx++) { int npidx; @@ -3603,55 +3494,34 @@ abort: */ for (portidx = 0; portidx < portlim; portidx++) { - fcportdb_t *lp; - uint64_t wwnn, wwpn; - int dbidx, nr; - - portid = - ((rs1->snscb_ports[portidx].portid[0]) << 16) | - ((rs1->snscb_ports[portidx].portid[1]) << 8) | - ((rs1->snscb_ports[portidx].portid[2])); - + portid = ((rs1->snscb_ports[portidx].portid[0]) << 16) | + ((rs1->snscb_ports[portidx].portid[1]) << 8) | + ((rs1->snscb_ports[portidx].portid[2])); + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Checking fabric port 0x%06x", chan, portid); if (portid == 0) { isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Skipping null PortID at idx %d", chan, portidx); continue; } - if (portid == fcp->isp_portid) { isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Skipping our PortID 0x%06x", chan, portid); continue; } - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Checking fabric port 0x%06x", chan, portid); - - /* - * We now search our Port Database for any - * probational entries with this PortID. We don't - * look for zombies here- only probational - * entries (we've already logged out of zombies). - */ - for (dbidx = 0; dbidx < MAX_FC_TARG; dbidx++) { - lp = &fcp->portdb[dbidx]; - - if (lp->state != FC_PORTDB_STATE_PROBATIONAL) { - continue; - } - if (lp->portid == portid) { - break; + /* Now search the entire port database for the same portid. */ + if (isp_find_pdb_by_portid(isp, chan, portid, &lp)) { + if (!lp->probational) { + isp_prt(isp, ISP_LOGERR, + "Chan %d Port 0x%06x@0x%04x [%d] is not probational (0x%x)", + chan, lp->portid, lp->handle, + FC_PORTDB_TGT(isp, chan, lp), lp->state); + FC_SCRATCH_RELEASE(isp, chan); + isp_dump_portdb(isp, chan); + goto fail; } - } - - /* - * We found a probational entry with this Port ID. - */ - if (dbidx < MAX_FC_TARG) { - int handle_changed = 0; - - lp = &fcp->portdb[dbidx]; /* * See if we're still logged into it. @@ -3667,241 +3537,38 @@ abort: * and leave the new portid and role in the * database entry for somebody further along to * decide what to do (policy choice). - * */ - r = isp_getpdb(isp, chan, lp->handle, &pdb, 0); - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) goto abort; - } if (r != 0) { - lp->new_portid = portid; lp->state = FC_PORTDB_STATE_DEAD; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Fabric PortID 0x%06x handle 0x%x is dead (%d)", chan, portid, lp->handle, r); - continue; - } - - - /* - * Check to make sure that handle, portid, WWPN and - * WWNN agree. If they don't, then the association - * between this PortID and the stated handle has been - * broken by the firmware. - */ - MAKE_WWN_FROM_NODE_NAME(wwnn, pdb.nodename); - MAKE_WWN_FROM_NODE_NAME(wwpn, pdb.portname); - if (pdb.handle != lp->handle || - pdb.portid != portid || - wwpn != lp->port_wwn || - (lp->node_wwn != 0 && wwnn != lp->node_wwn)) { isp_prt(isp, ISP_LOG_SANCFG, - fconf, chan, dbidx, pdb.handle, pdb.portid, - (uint32_t) (wwnn >> 32), (uint32_t) wwnn, - (uint32_t) (wwpn >> 32), (uint32_t) wwpn, - lp->handle, portid, - (uint32_t) (lp->node_wwn >> 32), - (uint32_t) lp->node_wwn, - (uint32_t) (lp->port_wwn >> 32), - (uint32_t) lp->port_wwn); - /* - * Try to re-login to this device using a - * new handle. If that fails, mark it dead. - * - * isp_login_device will check for handle and - * portid consistency after re-login. - * - */ - if ((fcp->role & ISP_ROLE_INITIATOR) == 0 || - isp_login_device(isp, chan, portid, &pdb, - &FCPARAM(isp, 0)->isp_lasthdl)) { - lp->new_portid = portid; - lp->state = FC_PORTDB_STATE_DEAD; - if (fcp->isp_loopstate < - LOOP_SCANNING_FABRIC) { - goto abort; - } - continue; - } - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { - goto abort; - } - MAKE_WWN_FROM_NODE_NAME(wwnn, pdb.nodename); - MAKE_WWN_FROM_NODE_NAME(wwpn, pdb.portname); - if (wwpn != lp->port_wwn || - (lp->node_wwn != 0 && wwnn != lp->node_wwn)) { - isp_prt(isp, ISP_LOGWARN, "changed WWN" - " after relogin"); - lp->new_portid = portid; - lp->state = FC_PORTDB_STATE_DEAD; - continue; - } - - lp->handle = pdb.handle; - handle_changed++; + "Chan %d Port 0x%06x handle 0x%x is dead (%d)", + chan, portid, lp->handle, r); + goto relogin; } - nr = pdb.prli_word3; - - /* - * Check to see whether the portid and roles have - * stayed the same. If they have stayed the same, - * we believe that this is the same device and it - * hasn't become disconnected and reconnected, so - * mark it as pending valid. - * - * If they aren't the same, mark the device as a - * changed device and save the new port id and role - * and let somebody else decide. - */ - - lp->new_portid = portid; - lp->new_prli_word3 = nr; - if (pdb.portid != lp->portid || nr != lp->prli_word3 || handle_changed) { - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Fabric port 0x%06x changed", - chan, portid); - lp->state = FC_PORTDB_STATE_CHANGED; - } else { - isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Fabric port 0x%06x now pending valid", - chan, portid); - lp->state = FC_PORTDB_STATE_PENDING_VALID; - } + isp_pdb_add_update(isp, chan, &pdb); continue; } +relogin: if ((fcp->role & ISP_ROLE_INITIATOR) == 0) continue; - /* - * Ah- a new entry. Search the database again for all non-NIL - * entries to make sure we never ever make a new database entry - * with the same port id. While we're at it, mark where the - * last free entry was. - */ - - dbidx = MAX_FC_TARG; - for (lp = fcp->portdb; lp < &fcp->portdb[MAX_FC_TARG]; lp++) { - if (lp->state == FC_PORTDB_STATE_NIL) { - if (dbidx == MAX_FC_TARG) { - dbidx = lp - fcp->portdb; - } - continue; - } - if (lp->state == FC_PORTDB_STATE_ZOMBIE) { - continue; - } - if (lp->portid == portid) { - break; - } - } - - if (lp < &fcp->portdb[MAX_FC_TARG]) { - isp_prt(isp, ISP_LOGWARN, "Chan %d PortID 0x%06x " - "already at %d handle %d state %d", - chan, portid, dbidx, lp->handle, lp->state); - continue; - } - - /* - * We should have the index of the first free entry seen. - */ - if (dbidx == MAX_FC_TARG) { - isp_prt(isp, ISP_LOGERR, - "port database too small to login PortID 0x%06x" - "- increase MAX_FC_TARG", portid); - continue; - } - - /* - * Otherwise, point to our new home. - */ - lp = &fcp->portdb[dbidx]; - - /* - * Try to see if we are logged into this device, - * and maybe log into it. - * - * isp_login_device will check for handle and - * portid consistency after login. - */ if (isp_login_device(isp, chan, portid, &pdb, &FCPARAM(isp, 0)->isp_lasthdl)) { - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) goto abort; - } - continue; - } - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { - goto abort; - } - - nphdl = pdb.handle; - MAKE_WWN_FROM_NODE_NAME(wwnn, pdb.nodename); - MAKE_WWN_FROM_NODE_NAME(wwpn, pdb.portname); - nr = pdb.prli_word3; - - /* - * And go through the database *one* more time to make sure - * that we do not make more than one entry that has the same - * WWNN/WWPN duple - */ - for (dbidx = 0; dbidx < MAX_FC_TARG; dbidx++) { - if ((fcp->portdb[dbidx].node_wwn == wwnn || - fcp->portdb[dbidx].node_wwn == 0) && - fcp->portdb[dbidx].port_wwn == wwpn) { - break; - } - } - - if (dbidx == MAX_FC_TARG) { - ISP_MEMZERO(lp, sizeof (fcportdb_t)); - lp->handle = nphdl; - lp->node_wwn = wwnn; - lp->port_wwn = wwpn; - lp->new_portid = portid; - lp->new_prli_word3 = nr; - lp->state = FC_PORTDB_STATE_NEW; - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Fabric port 0x%06x is a new entry", chan, portid); continue; } - if (fcp->portdb[dbidx].state != FC_PORTDB_STATE_ZOMBIE) { - isp_prt(isp, ISP_LOGWARN, - "Chan %d PortID 0x%x 0x%08x%08x/0x%08x%08x %ld " - "already at idx %d, state 0x%x", chan, portid, - (uint32_t) (wwnn >> 32), (uint32_t) wwnn, - (uint32_t) (wwpn >> 32), (uint32_t) wwpn, - (long) (lp - fcp->portdb), dbidx, - fcp->portdb[dbidx].state); - continue; - } - - /* - * We found a zombie entry that matches us. - * Revive it. We know that WWN and WWPN - * are the same. For fabric devices, we - * don't care that handle is different - * as we assign that. If role or portid - * are different, it maybe a changed device. - */ - lp = &fcp->portdb[dbidx]; - lp->handle = nphdl; - lp->node_wwn = wwnn; - lp->new_portid = portid; - lp->new_prli_word3 = nr; - if (lp->portid != portid || lp->prli_word3 != nr) { - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Zombie fabric port 0x%06x now changed", chan, portid); - lp->state = FC_PORTDB_STATE_CHANGED; - } else { - isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Zombie fabric port 0x%06x now pending valid", chan, portid); - lp->state = FC_PORTDB_STATE_PENDING_VALID; - } + isp_pdb_add_update(isp, chan, &pdb); } - if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) { + if (fcp->isp_loopstate < LOOP_SCANNING_FABRIC) goto abort; - } FC_SCRATCH_RELEASE(isp, chan); fcp->isp_loopstate = LOOP_FSCAN_DONE; isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan done", chan); @@ -3925,27 +3592,26 @@ isp_login_device(ispsoftc_t *isp, int ch handle = isp_next_handle(isp, ohp); for (i = 0; i < lim; i++) { - /* - * See if we're still logged into something with - * this handle and that something agrees with this - * port id. - */ + if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) + return (-1); + + /* Check if this handle is free. */ r = isp_getpdb(isp, chan, handle, p, 0); - if (r == 0 && p->portid != portid) { - (void) isp_plogx(isp, chan, handle, portid, PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT | PLOGX_FLG_FREE_NPHDL, 1); - } else if (r == 0) { + if (r == 0) { + if (p->portid != portid) { + /* This handle is busy, try next one. */ + handle = isp_next_handle(isp, ohp); + continue; + } break; } - if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) { + if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) return (-1); - } + /* * Now try and log into the device */ r = isp_plogx(isp, chan, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); - if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) { - return (-1); - } if (r == 0) { break; } else if ((r & 0xffff) == MBOX_PORT_ID_USED) { @@ -3957,13 +3623,9 @@ isp_login_device(ispsoftc_t *isp, int ch if (isp_plogx(isp, chan, r >> 16, portid, PLOGX_FLG_CMD_LOGO | PLOGX_FLG_IMPLICIT | PLOGX_FLG_FREE_NPHDL, 1)) { isp_prt(isp, ISP_LOGERR, "baw... logout of %x failed", r >> 16); } - if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) { + if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) return (-1); - } r = isp_plogx(isp, chan, handle, portid, PLOGX_FLG_CMD_PLOGI, 1); - if (FCPARAM(isp, chan)->isp_loopstate != LOOP_SCANNING_FABRIC) { - return (-1); - } if (r != 0) i = lim; break; @@ -3988,9 +3650,6 @@ isp_login_device(ispsoftc_t *isp, int ch * is and that we also have the role it plays */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Thu Nov 19 17:57:33 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E63AFA33062; Thu, 19 Nov 2015 17:57:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A9A2D1EF8; Thu, 19 Nov 2015 17:57:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJHvWox032543; Thu, 19 Nov 2015 17:57:32 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJHvWxG032541; Thu, 19 Nov 2015 17:57:32 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511191757.tAJHvWxG032541@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 19 Nov 2015 17:57:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291081 - head/usr.sbin/bsdconfig/includes 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.20 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, 19 Nov 2015 17:57:34 -0000 Author: bdrewery Date: Thu Nov 19 17:57:31 2015 New Revision: 291081 URL: https://svnweb.freebsd.org/changeset/base/291081 Log: Rename checked-in 'includes' to 'includes.sh' to avoid colliding with share/mk target 'make includes'. The file is still installed to /usr/libexec/bsdconfig/includes/includes. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Added: head/usr.sbin/bsdconfig/includes/includes.sh - copied unchanged from r291080, head/usr.sbin/bsdconfig/includes/includes Deleted: head/usr.sbin/bsdconfig/includes/includes Modified: head/usr.sbin/bsdconfig/includes/Makefile Modified: head/usr.sbin/bsdconfig/includes/Makefile ============================================================================== --- head/usr.sbin/bsdconfig/includes/Makefile Thu Nov 19 17:43:47 2015 (r291080) +++ head/usr.sbin/bsdconfig/includes/Makefile Thu Nov 19 17:57:31 2015 (r291081) @@ -8,6 +8,6 @@ FILESDIR= ${LIBEXECDIR}/bsdconfig/includ FILES= INDEX USAGE SCRIPTSDIR= ${FILESDIR} -SCRIPTS= includes +SCRIPTS= includes.sh .include Copied: head/usr.sbin/bsdconfig/includes/includes.sh (from r291080, head/usr.sbin/bsdconfig/includes/includes) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/bsdconfig/includes/includes.sh Thu Nov 19 17:57:31 2015 (r291081, copy of r291080, head/usr.sbin/bsdconfig/includes/includes) @@ -0,0 +1,205 @@ +#!/bin/sh +#- +# Copyright (c) 2013 Devin Teske +# 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$ +# +############################################################ INCLUDES + +# Prevent common.subr from auto initializing debugging (this is not an inter- +# active utility that requires debugging; also `-d' has been repurposed). +# +DEBUG_SELF_INITIALIZE=NO + +BSDCFG_SHARE="/usr/share/bsdconfig" +. $BSDCFG_SHARE/common.subr || exit 1 +f_dprintf "%s: loading includes..." "$0" + +BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="includes" +f_include_lang $BSDCFG_LIBE/include/messages.subr +f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr + +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" + +############################################################ GLOBALS + +# +# Options +# +USE_COLOR=1 +SHOW_DESC= +SHOW_FUNCS= +FUNC_PATTERN= + +############################################################ FUNCTIONS + +# show_functions $file +# +# Show the functions in the given include file. +# +show_include() +{ + local file="${1#./}" + + local pattern="${FUNC_PATTERN:-.*}" + output=$( awk \ + -v use_color=${USE_COLOR:-0} \ + -v re="$pattern" \ + -v show_desc=${SHOW_DESC:-0} ' + function _asorti(src, dest) + { + k = nitems = 0; + + # Copy src indices to dest and calculate array length + for (i in src) dest[++nitems] = i + + # Sort the array of indices (dest) using insertion sort method + for (i = 1; i <= nitems; k = i++) + { + idx = dest[i] + while ((k > 0) && (dest[k] > idx)) + { + dest[k+1] = dest[k] + k-- + } + dest[k+1] = idx + } + + return nitems + } + /^$/,/^#/ { + if ($0 ~ /^# f_/) { + if (!match($2, re)) next + fn = $2 + if (use_color) + syntax[fn] = sprintf("+%s%s%s\n", + substr($0, 2, RSTART), + substr($0, 2 + RSTART, RLENGTH), + substr($0, 2 + RSTART + RLENGTH)) + else + syntax[fn] = "+" substr($0, 2) "\n" + if (show_desc) + print_more = 1 + else + print_more = substr($0, length($0)) == "\\" + } + if (show_desc && print_more) { + getline + while ($0 ~ /^#/) { + syntax[fn] = syntax[fn] " " substr($0, 2) "\n" + getline + } + print_more = 0 + } else while (print_more) { + getline + syntax[fn] = syntax[fn] " " substr($0, 2) "\n" + print_more = substr($0, length($0)) == "\\" + } + } + END { + n = _asorti(syntax, sorted_indices) + for (i = 1; i <= n; i++) + printf "%s", syntax[sorted_indices[i]] + }' "$file" ) + if [ "$output" ]; then + if [ ! "$SHOW_FUNCS" ]; then + echo "$file" + return $SUCCESS + fi + if [ "$FUNC_PATTERN" ]; then + printf ">>> $msg_functions_in_matching\n" \ + "$file" "$FUNC_PATTERN" + else + printf ">>> $msg_functions_in\n" "$file" + fi + echo "$output" + echo # blank line to simplify awk(1)-based reparse + fi +} + +############################################################ MAIN + +# Incorporate rc-file if it exists +[ -f "$HOME/.bsdconfigrc" ] && f_include "$HOME/.bsdconfigrc" + +# Are we in a terminal? +[ -t 1 ] || USE_COLOR= + +# +# Process command-line arguments +# +while getopts adfF:hn flag; do + case "$flag" in + a) USE_COLOR=1 ;; + d) SHOW_DESC=1 SHOW_FUNCS=1 ;; + f) SHOW_FUNCS=1 ;; + F) FUNC_PATTERN="$OPTARG" ;; + n) USE_COLOR= ;; + h|\?) f_usage $BSDCFG_LIBE/$APP_DIR/USAGE "PROGRAM_NAME" "$pgm" ;; + esac +done +shift $(( $OPTIND - 1 )) + +# cd(1) to `share' dir so relative paths work for find and positional args +cd $BSDCFG_SHARE || f_die # Pedantic + +# +# If given an argument, operate on it specifically (implied `-f') and exit +# +[ $# -gt 0 ] && SHOW_FUNCS=1 +for include in "$@"; do + # See if they've just omitted the `*.subr' suffix + [ -f "$include.subr" -a ! -f "$include" ] && include="$include.subr" + if [ ! -f "$include" ]; then + printf "$msg_no_such_file_or_directory\n" "$0" "$include" + exit $FAILURE + elif [ ! -r "$include" ]; then + printf "$msg_permission_denied\n" "$0" "$include" + exit $FAILURE + fi + show_include "$include" || f_die +done + +# Exit if we processed some include arguments +[ $# -gt 0 ] && exit $SUCCESS + +# +# Operate an all known include files +# NB: If we get this far, we had no include arguments +# +find -s . -type f -and -iname '*.subr' | while read file; do + if [ "$SHOW_FUNCS" -o "$FUNC_PATTERN" ]; then + show_include "$file" + else + echo "${file#./}" + fi +done + +exit $SUCCESS + +################################################################################ +# END +################################################################################ From owner-svn-src-head@freebsd.org Thu Nov 19 18:06:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06419A33210 for ; Thu, 19 Nov 2015 18:06:25 +0000 (UTC) (envelope-from jbeich@vfemail.net) Received: from vfemail.net (fiveseven.neocoil.com [12.31.100.157]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B4E1814AE for ; Thu, 19 Nov 2015 18:06:24 +0000 (UTC) (envelope-from jbeich@vfemail.net) Received: (qmail 88348 invoked by uid 89); 19 Nov 2015 18:06:15 -0000 Received: from localhost (HELO freequeue.vfemail.net) (127.0.0.1) by localhost with (DHE-RSA-AES256-SHA encrypted) SMTP; 19 Nov 2015 18:06:14 -0000 Received: (qmail 88267 invoked by uid 89); 19 Nov 2015 18:05:57 -0000 Received: by simscan 1.3.1 ppid: 88259, pid: 88263, t: 0.1016s scanners:none Received: from unknown (HELO smtp102-2.vfemail.net) (172.16.100.62) by FreeQueue with SMTP; 19 Nov 2015 18:05:57 -0000 Received: (qmail 1124 invoked by uid 89); 19 Nov 2015 18:06:05 -0000 Received: by simscan 1.4.0 ppid: 1099, pid: 1121, t: 0.6038s scanners:none Received: from unknown (HELO nil) (amJlaWNoQHZmZW1haWwubmV0@172.16.100.27) by 172.16.100.62 with ESMTPA; 19 Nov 2015 18:06:05 -0000 From: Jan Beich To: Warner Losh Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291079 - head/share/mk In-Reply-To: <201511191706.tAJH6Cqn018192@repo.freebsd.org> (Warner Losh's message of "Thu, 19 Nov 2015 17:06:12 +0000 (UTC)") References: <201511191706.tAJH6Cqn018192@repo.freebsd.org> Date: Thu, 19 Nov 2015 19:05:50 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 18:06:25 -0000 --=-=-= Content-Type: text/plain Warner Losh writes: > Author: imp > Date: Thu Nov 19 17:06:12 2015 > New Revision: 291079 > URL: https://svnweb.freebsd.org/changeset/base/291079 > > Log: > Add arm CPUTYPE values typically used on FreeBSD. > > Modified: > head/share/mk/bsd.cpu.mk Why not put together with x86 examples? See /usr/share/examples/etc/make.conf --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQF8BAEBCgBmBQJWTg9+XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQjQ0MzY3NEM3RDIzNTc4NkUxNDkyQ0VF NEM3Nzg4MzQ3OURCRERCAAoJEOTHeINHnb3bL2wIAJL9x/WPicJThgY35zvqMpzM ehpoapSMEwTwQ4Xba0h5Rqqfnztnq5nFEccpqD+H0W8RjwZ2/4C7HsrAw7cF/6nV XkiSdMgedAKSntclG0kRyt0sVhDAMhqwpPtdK6x//YAs8Sm9q2BkOLMDUcM+N4VZ 5CULaxyOEvPJV4RoilYFP74yKADvuTU3aRpdJC8f0WH+o3EkMUHuQ1HyFQ5NE3+F y0K3/aMptf0iSSeWpAXXNt6PNUbSXMFwInto/HylwooLqSQJS6XXVSBgB61Yyk5x h4bHLE4nC1SH47yXa2iZTNgOAH9kCco95uBb34dStSJm8rBAtsZXfKfokkRG4m4= =CKbY -----END PGP SIGNATURE----- --=-=-=-- From owner-svn-src-head@freebsd.org Thu Nov 19 19:16:37 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 103EEA33FF2; Thu, 19 Nov 2015 19:16:37 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C8BB41A4A; Thu, 19 Nov 2015 19:16:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id DDE61B9C2; Thu, 19 Nov 2015 14:16:35 -0500 (EST) From: John Baldwin To: "Jonathan T. Looney" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm Date: Thu, 19 Nov 2015 09:58:45 -0800 Message-ID: <8452745.P4SYfkWpxv@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: <201511191404.tAJE4reJ064779@repo.freebsd.org> References: <201511191404.tAJE4reJ064779@repo.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 19 Nov 2015 14:16:36 -0500 (EST) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 19:16:37 -0000 On Thursday, November 19, 2015 02:04:53 PM Jonathan T. Looney wrote: > Author: jtl > Date: Thu Nov 19 14:04:53 2015 > New Revision: 291074 > URL: https://svnweb.freebsd.org/changeset/base/291074 > > Log: > Consistently enforce the restriction against calling malloc/free when in a > critical section. > > uma_zalloc_arg()/uma_zalloc_free() may acquire a sleepable lock on the > zone. The malloc() family of functions may call uma_zalloc_arg() or > uma_zalloc_free(). > > The malloc(9) man page currently claims that free() will never sleep. > It also implies that the malloc() family of functions will not sleep > when called with M_NOWAIT. However, it is more correct to say that > these functions will not sleep indefinitely. Indeed, they may acquire > a sleepable lock. However, a developer may overlook this restriction > because the WITNESS check that catches attempts to call the malloc() > family of functions within a critical section is inconsistenly > applied. Mutexes are not sleepable locks. sx(9) locks are sleepable locks. "sleep" in synchronization language in FreeBSD means "indefinite sleep", or at least any resource contention that cannot be alleviated purely by CPU execution (when you "block" on a mutex, you will get to run once the lock owner has sufficient CPU time to make progress and release the mutex, whereas waiting for a disk I/O to complete (and thus possibly for M_WAITOK malloc()) or a network packet to arrive is not purely dependent on CPU cycles). The locking(9) page expounds on this more and explicitly lists which locks are sleepable and which are not. > This change clarifies the language of the malloc(9) man page to clarify > the restriction against calling the malloc() family of functions > while in a critical section or holding a spin lock. It also adds > KASSERTs at appropriate points to make the enforcement of this > restriction more consistent. All of these KASSERTs are redundant. WITNESS will already warn for all of these in mtx_lock() itself. If your argument is that you want a panic when WITNESS is not present, then the better place to add assertions is in the locking primitives themselves (e.g. mtx_lock/rw_*lock). Note that if you are going to document in each section 9 manpage which APIs are not safe to call in a critical section, you will need to update just about every section 9 manpage. A more prudent approach would probably be to instead go the sigaction(2) route and instead document the subset of APIs which are permissible to call in critical_enter(9). The list is probably not very long. Off the top of my head I can think of sched_*, swi_sched, taskqueue_enqueue_fast, and little else. In summary, I would prefer you to revert this. If you want the assertions to fire even when WITNESS is disabled then I think we should move them into the the non-sleepable lock primitives themselves so that we catch 90+% of the problem APIs instead of just 1. Documenting the "safe" APIs in critical(9) is also more scalable than one-off notes in section 9 manpages for similar reasons. Longer term I think it would be nice to have a separate section for section 9 pages that indicates which contexts it can be called in, though I'd like that to have a consistent name and consistent language. Note though that we do not have this section currently for all of section 2/3 to indicate which are safe to call in signal context or not, in part because of the enormity of the task. Another question you might consider is why are you using spin mutexes in the first place (and then calling malloc())? Other OS's that I am familiar with do not permit you to malloc() while holding a spin lock (Linux, Solaris, OS X, etc.). This is fairly common and even folks who aren't familiar with FreeBSD and use MTX_SPIN in drivers because they are used to using spin locks in drivers on Linux (when they should use MTX_DEF instead) don't make this mistake. -- John Baldwin From owner-svn-src-head@freebsd.org Thu Nov 19 19:38:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F200A33530; Thu, 19 Nov 2015 19:38:05 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-yk0-x22e.google.com (mail-yk0-x22e.google.com [IPv6:2607:f8b0:4002:c07::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CEDC515CB; Thu, 19 Nov 2015 19:38:04 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by ykdr82 with SMTP id r82so122899105ykd.3; Thu, 19 Nov 2015 11:38:04 -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=/fiOIn/ICMjOSuATvi4msl9oxzmZR6XWdsFKIWRuqbo=; b=RdGI7x+NaHfmXXpD3iFIdSoiYWNS4v+L1IZpUKJu8UKEmehY+liciyC8Fz5MuSiPSk g5fdhSbLSquAdtoLQzRTj5AqcZcEVv3nqLxZdvj43wpMXf30IoPOg3fe0eCmASSjyEDI Be0D2N/nMH0B8AJ7kYvjl7dIMe3DUQ8nRPdP7cjLBOc9h9V5Kvf62Dk9EiANaq1/kY27 UHGaOWoEoF6zDZezklLMwApY844TPraZQrqnVw6+zyjpwdfgVeDzhYtAHCVmKrKsIk5K aFy6xA77teIfMpFSMi0bdoqLWsDo09eTbE7KNhtsI6qVmdWzT2WFrH4NkZdlbuKP88Ii diHA== X-Received: by 10.13.217.145 with SMTP id b139mr5294963ywe.289.1447961883904; Thu, 19 Nov 2015 11:38:03 -0800 (PST) Received: from wkstn-mjohnston.west.isilon.com (c-67-182-131-225.hsd1.wa.comcast.net. [67.182.131.225]) by smtp.gmail.com with ESMTPSA id f129sm1650697ywd.10.2015.11.19.11.38.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Nov 2015 11:38:03 -0800 (PST) Sender: Mark Johnston Date: Thu, 19 Nov 2015 11:39:18 -0800 From: Mark Johnston To: John Baldwin Cc: "Jonathan T. Looney" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm Message-ID: <20151119193918.GA60481@wkstn-mjohnston.west.isilon.com> References: <201511191404.tAJE4reJ064779@repo.freebsd.org> <8452745.P4SYfkWpxv@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8452745.P4SYfkWpxv@ralph.baldwin.cx> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 19:38:05 -0000 On Thu, Nov 19, 2015 at 09:58:45AM -0800, John Baldwin wrote: > On Thursday, November 19, 2015 02:04:53 PM Jonathan T. Looney wrote: > > Author: jtl > > Date: Thu Nov 19 14:04:53 2015 > > New Revision: 291074 > > URL: https://svnweb.freebsd.org/changeset/base/291074 > > > > Log: > > Consistently enforce the restriction against calling malloc/free when in a > > critical section. > > > > uma_zalloc_arg()/uma_zalloc_free() may acquire a sleepable lock on the > > zone. The malloc() family of functions may call uma_zalloc_arg() or > > uma_zalloc_free(). > > > > The malloc(9) man page currently claims that free() will never sleep. > > It also implies that the malloc() family of functions will not sleep > > when called with M_NOWAIT. However, it is more correct to say that > > these functions will not sleep indefinitely. Indeed, they may acquire > > a sleepable lock. However, a developer may overlook this restriction > > because the WITNESS check that catches attempts to call the malloc() > > family of functions within a critical section is inconsistenly > > applied. > > Mutexes are not sleepable locks. sx(9) locks are sleepable locks. "sleep" > in synchronization language in FreeBSD means "indefinite sleep", or at least > any resource contention that cannot be alleviated purely by CPU execution > (when you "block" on a mutex, you will get to run once the lock owner has > sufficient CPU time to make progress and release the mutex, whereas waiting > for a disk I/O to complete (and thus possibly for M_WAITOK malloc()) or a > network packet to arrive is not purely dependent on CPU cycles). > > The locking(9) page expounds on this more and explicitly lists which locks > are sleepable and which are not. > > > This change clarifies the language of the malloc(9) man page to clarify > > the restriction against calling the malloc() family of functions > > while in a critical section or holding a spin lock. It also adds > > KASSERTs at appropriate points to make the enforcement of this > > restriction more consistent. > > All of these KASSERTs are redundant. WITNESS will already warn for all of > these in mtx_lock() itself. If your argument is that you want a panic when > WITNESS is not present, then the better place to add assertions is in the > locking primitives themselves (e.g. mtx_lock/rw_*lock). I think the argument is that mtx_lock() is not called at all in the allocation/free path most of the time, so WITNESS will only catch this sort of bug if you happen to get lucky. But it's always incorrect to call uma_zalloc or umz_free with a critical section held. This is not needed in most APIs, but given that malloc/free and their UMA underpinnings are rather central, it seemed reasonable to me to add this extra checking. > > Note that if you are going to document in each section 9 manpage which APIs > are not safe to call in a critical section, you will need to update just > about every section 9 manpage. A more prudent approach would probably be to > instead go the sigaction(2) route and instead document the subset of APIs > which are permissible to call in critical_enter(9). The list is probably not > very long. Off the top of my head I can think of sched_*, swi_sched, > taskqueue_enqueue_fast, and little else. > > In summary, I would prefer you to revert this. If you want the assertions to > fire even when WITNESS is disabled then I think we should move them into the > the non-sleepable lock primitives themselves so that we catch 90+% of the > problem APIs instead of just 1. Documenting the "safe" APIs in critical(9) > is also more scalable than one-off notes in section 9 manpages for similar > reasons. > > Longer term I think it would be nice to have a separate section for section > 9 pages that indicates which contexts it can be called in, though I'd like > that to have a consistent name and consistent language. Note though that we > do not have this section currently for all of section 2/3 to indicate which > are safe to call in signal context or not, in part because of the enormity of > the task. > > Another question you might consider is why are you using spin mutexes in the > first place (and then calling malloc())? Other OS's that I am familiar with > do not permit you to malloc() while holding a spin lock (Linux, Solaris, OS X, > etc.). This is fairly common and even folks who aren't familiar with FreeBSD > and use MTX_SPIN in drivers because they are used to using spin locks in > drivers on Linux (when they should use MTX_DEF instead) don't make this > mistake. > > -- > John Baldwin > From owner-svn-src-head@freebsd.org Thu Nov 19 19:48:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 46091A337E6; Thu, 19 Nov 2015 19:48:20 +0000 (UTC) (envelope-from jtl@freebsd.org) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0111.outbound.protection.outlook.com [157.56.110.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7DF6B1E1A; Thu, 19 Nov 2015 19:48:18 +0000 (UTC) (envelope-from jtl@freebsd.org) Received: from SN1PR05CA0022.namprd05.prod.outlook.com (10.163.68.160) by BLUPR05MB054.namprd05.prod.outlook.com (10.255.210.149) with Microsoft SMTP Server (TLS) id 15.1.325.17; Thu, 19 Nov 2015 19:48:11 +0000 Received: from BN1AFFO11OLC003.protection.gbl (2a01:111:f400:7c10::176) by SN1PR05CA0022.outlook.office365.com (2a01:111:e400:5197::32) with Microsoft SMTP Server (TLS) id 15.1.331.20 via Frontend Transport; Thu, 19 Nov 2015 19:48:10 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.17) smtp.mailfrom=freebsd.org; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=none action=none header.from=freebsd.org; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning freebsd.org discourages use of 66.129.239.17 as permitted sender) Received: from p-emfe01a-sac.jnpr.net (66.129.239.17) by BN1AFFO11OLC003.mail.protection.outlook.com (10.58.53.74) with Microsoft SMTP Server (TLS) id 15.1.325.5 via Frontend Transport; Thu, 19 Nov 2015 19:48:09 +0000 Received: from magenta.juniper.net (172.17.27.123) by p-emfe01a-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Thu, 19 Nov 2015 11:48:03 -0800 Received: from [172.29.34.67] ([172.29.34.67]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id tAJJlxD66219; Thu, 19 Nov 2015 11:47:59 -0800 (PST) (envelope-from jtl@freebsd.org) User-Agent: Microsoft-MacOutlook/14.5.8.151023 Date: Thu, 19 Nov 2015 14:47:57 -0500 Subject: Re: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm From: "Jonathan T. Looney" Sender: Jonathan Looney To: John Baldwin CC: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-ID: Thread-Topic: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm References: <201511191404.tAJE4reJ064779@repo.freebsd.org> <8452745.P4SYfkWpxv@ralph.baldwin.cx> In-Reply-To: <8452745.P4SYfkWpxv@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11OLC003; 1:ZTQ2Dcp7+vgMaWGDZWFwjCn+ZfOao+nwKWO2+TDcaZ7pBzNspqw20hl4aRZQ7ev3qKjbRHMjbp7JUw+nX0un5HZXRQG7rsXsgLPvUFKLO8Y2mpgA/GTLYLmiXQfnEpiwL7fuux45Jrj0dm0QJdafiVCWXnaYKZANNKTz3PCGnmv9/t/SKcxs5UGGyMyFgO1fmK7m83aECHbMZFt7ayBG766/Dp2opljQ/bo+noR14ICxXcn9uE+OUKKaxBP/Svz0bpgcl0FYztxbCCpJX3dAc+fvhOkX8QGohkFrkybGJ9Hx6erVWyXSIsE9N2JXwG1agwcso7RJ7o9D+gGEovnmo7gPDWDa8Rn2kaC1nCs1tBs= X-Forefront-Antispam-Report: CIP:66.129.239.17; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(189002)(24454002)(479174004)(199003)(377454003)(586003)(97736004)(36756003)(230700001)(16796002)(86362001)(69596002)(77096005)(450100001)(6806005)(19580405001)(5007970100001)(83506001)(92566002)(2950100001)(23726002)(19580395003)(87936001)(105596002)(5001920100001)(5001960100002)(54356999)(46406003)(81156007)(4001350100001)(106466001)(50466002)(50986999)(47776003)(76176999)(110136002)(189998001)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR05MB054; H:p-emfe01a-sac.jnpr.net; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BLUPR05MB054; 2:bw4kq91XMVIPThHsiqraLhQLl3igDwc6bVFrhqmKjw7N65EyFMrYuplWuDZK4eUZFt16z7r8VmJe3lPcAv0L2pfHetLI7uTYGssb04mMr3kW3rYkhC2Z1F8TAi29q3D9f0lMbjJJSCmodrkVzXN0en4upm9uojEfVnxoJq9dneo=; 3:e9m1jLpkBpbVrLuYMxaOaiy6AxTnAr3ENjG075UnQPFkPf5V7Hwn0USJ/iT305fzJkrqAAe3OhaZA6mCEbDuA+6GM3FnYOSHuQ8ZBpi1Ir7OgQ3i4SfCl3jRmb386F6XRHQjSfxg4C1k9V2XagzQId2nXeZFVXF/oK5hdriHkKxjzpdfrPMGqM9lnQ36LHXwiJH65JuahcnugY/4bmXsGUCaTuGyiHdRZ1gTFWpXyIA=; 25:ctXmn1hcpnRh9ydWdYIbrkTh4a76ALJI2s7mQj4DQNzMS8uyodtS3/cSGwGAJsicjDRVtiEX8wVGVjAS55u/2r9Zq9BQC2x/67mXZY0Opc7ytSshoJtNqJURLJjghuGMeMZ0AO96AQkEspsKYgpUR7HSvtLgPg1bk3F+CIYFjttQAE6Wlvri+Vpdg5mJIEqeCWgL++Jxe89CBxE4I0R8/ie8HLUeMX8h8obfa04Zb12TWZakplXR/frl0HjTl+q6NROudnAtfFwCNVaALQA1uQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR05MB054; X-Microsoft-Exchange-Diagnostics: 1; BLUPR05MB054; 20:nCMA8S+NF5b+dn++k+CwpLzzkgrAT+nprpVz6NQ9JV87AEos84/kT2tIdjGym0r/BanisBAPWLKyy0oICIkEs9aVwB2t680KnTuR+FP3dcq/Ih2lp9d7qVHAyiaxdgx+AsRN8zZf8PezMyVJesY5YgjEc94RI/D7B+Zx6jbw2WvY3m4dFJT2VMd/XwyHGkJ06Zs86/uogaD89C+oJWAUJMMis5K3YQMgLqVBxhPP3TyYf5avD/7TYeZq33HpBrCZoaCs3kLx5IDQxn0GwLP0qw0WmdwUYO+/6h1R6ep8T6BticAbPYkReKsS+jUAdrJyY1x3I/FcxTUhvEuSe6Os3O/mBq/20qOT7g9rIdX0PwTwlCV7NsoY0GrIvqD8fm7ITOA+dx6u7UrAE25tBWfASo+AsZnKdXpGl4vmbwB9wsYKA4elNWLyYuz1FlaPBxJjMzuo8gOOyFEpXpAdN1PriFATVtjTkK0UXAjS5zW9Mu+AUgdGHQihndlKRij5kq8S; 4:LbvDvFGirey7PwHhADUmYfaDQJMdFZ5ZVmBEPvLs77yhZLTbvV5QAHCVLplfKQ1O+6Tuerj1vI46sGzs5g/9NdLYVx0oGcTguRJdbmVdT73C4SeINLbCXLJx0nphMRSgLHQhRQEr2TF7ilE2x1NqWDU3VXPBFimEK9h/V+zw7nqZUEAboayyoozuultLkpPMoK6OqGO3jvYZ9FMvtr/a6Lptb1oXTRodY1JrNDVOsUdA17n7ui7wLPP0qRJ3nZtfRzE7NxTRNDzH0v0t27qXzC9r2TadPYgSTiV79pvQ0m5cdn/3HxmLjSW97fLTANdSoLEUWs2Znnb2MEZZX6YegMZBzaRi7bSdxIlNiIalML7AIWb4psB4NtfQxD07w1k1 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(10201501046)(3002001); SRVR:BLUPR05MB054; BCL:0; PCL:0; RULEID:; SRVR:BLUPR05MB054; X-Forefront-PRVS: 07658B8EA3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR05MB054; 23:sQW9elS2WP+jo4VY1A9E51gGjZU7LnmtTiCkLBYccO?= =?us-ascii?Q?9xs9+muZQWDucXW7R3ZBxB/tQuFDB/yGGI+cuo6JtBmrq+6YADmcXE6XS9ux?= =?us-ascii?Q?x8p+wSWsiAIpoXbKq9tRi8m9d5H10vlee6asDReVur7AA2e9EQz/5tFvg9Uz?= =?us-ascii?Q?L/sZYyrcxv1c8gg5eOW1kQxMQygZFVSiXzrREKdIAClPDvQTiTLJwKOM+BSK?= =?us-ascii?Q?2LwwFyaDJlA1WvvVoS42wudTqeGoR2oXKSxAyo2/bWPTI9dU6NpZ+Xy2qCjD?= =?us-ascii?Q?8Ln+ZFv8Ds9DngrRHxOw16L0v4+DqK8qVfr11rTVrNL4pQC+WKKweCmGLNIP?= =?us-ascii?Q?2LOO0f23AKoloQpyexuY41qUuDm1EUNMoJmUWoB79jyq4HMEt2C0biGqtByx?= =?us-ascii?Q?LKeG7kl5BMfHYojblqbfczfCVyoAhGJzJSfX+1loy6dRcMdH6XQ2cAOqbz/x?= =?us-ascii?Q?itjQaG0nwPPSctcA4rQAVOKF0qh9D6UA2UZfNc+qsTySkhJ90LX4RzRt8L5s?= =?us-ascii?Q?IP354vjR0vPfR4GzPuNVIc4YU3XqxAyELR7jjiaAiMUK0HL9Wxwy6AlvUmWZ?= =?us-ascii?Q?zbdSq8JylilNRzPmAtTWNOR3F908C19AQPoG+XI2Llv92eHNGvt9FsGEUd8s?= =?us-ascii?Q?FdQKs/ZfXFo+m3wSJqb735OrmTYRndW1K5Z9WtfCtCpLswRXRxKx9cTudpPe?= =?us-ascii?Q?n+ai3sgKPizQGL7aaNSz45FWYbP1o1wm4BjpPI4W7JBXvIhgsFoBIkgokeOC?= =?us-ascii?Q?aBFF19bnLVlE0FqzLxoz8Mz7+zenR7Iyt+DkYtDicXTFB1A17wuigCSEojkJ?= =?us-ascii?Q?m6E7Cyy9SAc5lEiFs3hX3g+ccwNjjI1zKVDceRv/BoDcQmlBKMtOHZxQu8yU?= =?us-ascii?Q?fozSFDgC0buyMXoVxLseaX/nm4pBbm7AobPYj/tHqC3Qcrx3uhdWMupPP3YP?= =?us-ascii?Q?R9Ajg9DhzOVvsUv+XojKw5OXInE7RvWn/RyVgONvBEO/an5BSMsQm7UtK3dG?= =?us-ascii?Q?tQUNwxCSBHYU1JN7o0KGVbtVtT9+OygOSMFadYnDprBSI5UFJUjU3xThrqyf?= =?us-ascii?Q?ZJbTqaVio0Njx/ZbOEvkm6w6VG?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR05MB054; 5:h6+K5TBdic/QFtqCS4mrdVpseLCAiFvo2j6abukQCbhrpJ2BTDOyOWHeQPRY3auchTESQrY8zuD2ZcDyfmKXAhIF+7nDY8ptf0Im+P3YL6NcmkcBT36UDEyV/ywHxBWMtFe4daUFoPJX5pAB0r7YOA==; 24:gqNLfxeK0uWY2xiY55x+vLbCbPfnJ5bEDZBB6vnh4+6oKrD9vIoXw9b9tDaVn6xLdGmrR73D/G383Q7NvccTaH14gvRX7qh9JmhTmjy5cGU=; 20:oZypAzeQp0utHA1sErx+F8PBanLSnl9fWtcbDlKJ0sJf6u5NTnwjIwo3n6fbCmyYBlmJw5tDRGVefOJX9/Un7Q== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2015 19:48:09.6440 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.17]; Helo=[p-emfe01a-sac.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR05MB054 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 19 Nov 2015 19:48:20 -0000 On 11/19/15, 12:58 PM, "John Baldwin" wrote: >On Thursday, November 19, 2015 02:04:53 PM Jonathan T. Looney wrote: >> This change clarifies the language of the malloc(9) man page to >>clarify >> the restriction against calling the malloc() family of functions >> while in a critical section or holding a spin lock. It also adds >> KASSERTs at appropriate points to make the enforcement of this >> restriction more consistent. > >All of these KASSERTs are redundant. WITNESS will already warn for all of >these in mtx_lock() itself. If your argument is that you want a panic >when >WITNESS is not present, then the better place to add assertions is in the >locking primitives themselves (e.g. mtx_lock/rw_*lock). The problem is that we don't always acquire a lock when calling malloc or free. In fact, on a lightly-loaded system and tested at low scale, it is possible for a raft of malloc and free calls to be handled in the cache without acquiring a lock. Therefore, even with WITNESS enabled, you won't see any indication that you've just written bad code. >Note that if you are going to document in each section 9 manpage which >APIs >are not safe to call in a critical section, you will need to update just >about every section 9 manpage. A more prudent approach would probably be >to >instead go the sigaction(2) route and instead document the subset of APIs >which are permissible to call in critical_enter(9). The list is probably >not >very long. Off the top of my head I can think of sched_*, swi_sched, >taskqueue_enqueue_fast, and little else. Point taken. >In summary, I would prefer you to revert this. If you want the >assertions to >fire even when WITNESS is disabled then I think we should move them into >the >the non-sleepable lock primitives themselves so that we catch 90+% of the >problem APIs instead of just 1. As noted above, the point wasn't to enable checking when WITNESS was disabled; rather, the point was to make the existing checks more consistent. Basically, if you do something that engenders a panic at high scale, you should get consistent behavior at low scale, too. >Another question you might consider is why are you using spin mutexes in >the >first place (and then calling malloc())? Actually, it was accidental in this case. I hit this while testing some changes. I had accidentally added a malloc inside a critical section, but only realized it while testing at high scale where my free call couldn't be handled from the cache. Granted, that was a bug in my code. But, it would have been nice to have had WITNESS slap me in the face sooner than it did. Jonathan From owner-svn-src-head@freebsd.org Thu Nov 19 19:53:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B417A33920; Thu, 19 Nov 2015 19:53:11 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A8F211DF; Thu, 19 Nov 2015 19:53:11 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJJrAcL066865; Thu, 19 Nov 2015 19:53:10 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJJrAkV066862; Thu, 19 Nov 2015 19:53:10 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511191953.tAJJrAkV066862@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Thu, 19 Nov 2015 19:53:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291084 - in head/sys/dev/ntb: if_ntb ntb_hw 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.20 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, 19 Nov 2015 19:53:11 -0000 Author: cem Date: Thu Nov 19 19:53:09 2015 New Revision: 291084 URL: https://svnweb.freebsd.org/changeset/base/291084 Log: if_ntb: Add Xeon link watchdog register writes This feature is disabled by default. To enable it, tune hw.if_ntb.enable_xeon_watchdog to non-zero. If enabled, writes an unused NTB register every second to demonstrate to a hardware watchdog that the NTB device is still alive. Most machines with NTB will not need this -- you know who you are. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c head/sys/dev/ntb/ntb_hw/ntb_hw.h head/sys/dev/ntb/ntb_hw/ntb_regs.h Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Thu Nov 19 19:40:30 2015 (r291083) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Thu Nov 19 19:53:09 2015 (r291084) @@ -114,6 +114,11 @@ SYSCTL_UINT(_hw_if_ntb, OID_AUTO, max_nu "0 (default) - use all available NTB memory windows; " "positive integer N - Limit to N memory windows."); +static unsigned enable_xeon_watchdog; +SYSCTL_UINT(_hw_if_ntb, OID_AUTO, enable_xeon_watchdog, CTLFLAG_RDTUN, + &enable_xeon_watchdog, 0, "If non-zero, write a register every second to " + "keep a watchdog from tearing down the NTB link"); + STAILQ_HEAD(ntb_queue_list, ntb_queue_entry); typedef uint32_t ntb_q_idx_t; @@ -227,6 +232,7 @@ struct ntb_transport_ctx { unsigned qp_count; volatile bool link_is_up; struct callout link_work; + struct callout link_watchdog; struct task link_cleanup; uint64_t bufsize; u_char eaddr[ETHER_ADDR_LEN]; @@ -268,7 +274,17 @@ enum { IF_NTB_MW1_SZ_HIGH, IF_NTB_MW1_SZ_LOW, IF_NTB_MAX_SPAD, + + /* + * Some NTB-using hardware have a watchdog to work around NTB hangs; if + * a register or doorbell isn't written every few seconds, the link is + * torn down. Write an otherwise unused register every few seconds to + * work around this watchdog. + */ + IF_NTB_WATCHDOG_SPAD = 15 }; +CTASSERT(IF_NTB_WATCHDOG_SPAD < XEON_SPAD_COUNT && + IF_NTB_WATCHDOG_SPAD < ATOM_SPAD_COUNT); #define QP_TO_MW(nt, qp) ((qp) % nt->mw_count) #define NTB_QP_DEF_NUM_ENTRIES 100 @@ -330,6 +346,7 @@ static struct ntb_queue_entry *ntb_list_ struct ntb_queue_list *from, struct ntb_queue_list *to); static void create_random_local_eui48(u_char *eaddr); static unsigned int ntb_transport_max_size(struct ntb_transport_qp *qp); +static void xeon_link_watchdog_hb(void *); static const struct ntb_ctx_ops ntb_transport_ops = { .link_event = ntb_transport_event_callback, @@ -562,6 +579,16 @@ ntb_net_event_handler(void *data, enum n /* Transport Init and teardown */ +static void +xeon_link_watchdog_hb(void *arg) +{ + struct ntb_transport_ctx *nt; + + nt = arg; + ntb_spad_write(nt->ntb, IF_NTB_WATCHDOG_SPAD, 0); + callout_reset(&nt->link_watchdog, 1 * hz, xeon_link_watchdog_hb, nt); +} + static int ntb_transport_probe(struct ntb_softc *ntb) { @@ -611,6 +638,7 @@ ntb_transport_probe(struct ntb_softc *nt } callout_init(&nt->link_work, 0); + callout_init(&nt->link_watchdog, 0); TASK_INIT(&nt->link_cleanup, 0, ntb_transport_link_cleanup_work, nt); rc = ntb_set_ctx(ntb, nt, &ntb_transport_ops); @@ -622,6 +650,8 @@ ntb_transport_probe(struct ntb_softc *nt ntb_link_event(ntb); callout_reset(&nt->link_work, 0, ntb_transport_link_work, nt); + if (enable_xeon_watchdog != 0) + callout_reset(&nt->link_watchdog, 0, xeon_link_watchdog_hb, nt); return (0); err: @@ -640,6 +670,7 @@ ntb_transport_free(struct ntb_transport_ ntb_transport_link_cleanup(nt); taskqueue_drain(taskqueue_swi, &nt->link_cleanup); callout_drain(&nt->link_work); + callout_drain(&nt->link_watchdog); BIT_COPY(QP_SETSIZE, &nt->qp_bitmap, &qp_bitmap_alloc); BIT_NAND(QP_SETSIZE, &qp_bitmap_alloc, &nt->qp_bitmap_free); Modified: head/sys/dev/ntb/ntb_hw/ntb_hw.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw.h Thu Nov 19 19:40:30 2015 (r291083) +++ head/sys/dev/ntb/ntb_hw/ntb_hw.h Thu Nov 19 19:53:09 2015 (r291084) @@ -103,6 +103,9 @@ uint64_t ntb_db_read(struct ntb_softc *) void ntb_db_set_mask(struct ntb_softc *, uint64_t bits); void ntb_peer_db_set(struct ntb_softc *, uint64_t bits); +#define XEON_SPAD_COUNT 16 +#define ATOM_SPAD_COUNT 16 + /* Hardware owns the low 16 bits of features. */ #define NTB_BAR_SIZE_4K (1 << 0) #define NTB_SDOORBELL_LOCKUP (1 << 1) Modified: head/sys/dev/ntb/ntb_hw/ntb_regs.h ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_regs.h Thu Nov 19 19:40:30 2015 (r291083) +++ head/sys/dev/ntb/ntb_hw/ntb_regs.h Thu Nov 19 19:53:09 2015 (r291084) @@ -44,7 +44,6 @@ #define XEON_DB_MSIX_VECTOR_COUNT 4 #define XEON_DB_MSIX_VECTOR_SHIFT 5 #define XEON_DB_LINK_BIT (1 << XEON_DB_LINK) -#define XEON_SPAD_COUNT 16 #define XEON_SPCICMD_OFFSET 0x0504 #define XEON_DEVCTRL_OFFSET 0x0598 @@ -89,7 +88,6 @@ #define ATOM_DB_COUNT 34 #define ATOM_DB_MSIX_VECTOR_COUNT 34 #define ATOM_DB_MSIX_VECTOR_SHIFT 1 -#define ATOM_SPAD_COUNT 16 #define ATOM_SPCICMD_OFFSET 0xb004 #define ATOM_MBAR23_OFFSET 0xb018 From owner-svn-src-head@freebsd.org Thu Nov 19 19:53:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5BB08A33943; Thu, 19 Nov 2015 19:53:20 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2814E1310; Thu, 19 Nov 2015 19:53:20 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJJrJZZ066916; Thu, 19 Nov 2015 19:53:19 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJJrJRc066915; Thu, 19 Nov 2015 19:53:19 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201511191953.tAJJrJRc066915@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: "Conrad E. Meyer" Date: Thu, 19 Nov 2015 19:53:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291085 - head/sys/dev/ntb/if_ntb 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.20 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, 19 Nov 2015 19:53:20 -0000 Author: cem Date: Thu Nov 19 19:53:19 2015 New Revision: 291085 URL: https://svnweb.freebsd.org/changeset/base/291085 Log: if_ntb: Initialize if_mtu to the correct MTU Lower the payload data (IP) portion of the MTU from 0x10000 to IP_MAXPACKET (0xFFFF) to avoid panicing the IP stack. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ntb/if_ntb/if_ntb.c Modified: head/sys/dev/ntb/if_ntb/if_ntb.c ============================================================================== --- head/sys/dev/ntb/if_ntb/if_ntb.c Thu Nov 19 19:53:09 2015 (r291084) +++ head/sys/dev/ntb/if_ntb/if_ntb.c Thu Nov 19 19:53:19 2015 (r291085) @@ -59,6 +59,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + #include "../ntb_hw/ntb_hw.h" /* @@ -101,7 +104,7 @@ SYSCTL_UINT(_hw_if_ntb, OID_AUTO, debug_ } \ } while (0) -static unsigned transport_mtu = 0x10000 + ETHER_HDR_LEN + ETHER_CRC_LEN; +static unsigned transport_mtu = IP_MAXPACKET + ETHER_HDR_LEN + ETHER_CRC_LEN; static uint64_t max_mw_size; SYSCTL_UQUAD(_hw_if_ntb, OID_AUTO, max_mw_size, CTLFLAG_RDTUN, &max_mw_size, 0, @@ -435,6 +438,8 @@ ntb_setup_interface(void) ether_ifattach(ifp, net_softc.eaddr); ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_JUMBO_MTU; ifp->if_capenable = ifp->if_capabilities; + ifp->if_mtu = ntb_transport_max_size(net_softc.qp) - ETHER_HDR_LEN - + ETHER_CRC_LEN; ntb_transport_link_up(net_softc.qp); net_softc.bufsize = ntb_transport_max_size(net_softc.qp) + From owner-svn-src-head@freebsd.org Thu Nov 19 22:54:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61DDBA3225E; Thu, 19 Nov 2015 22:54:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 11F581BA8; Thu, 19 Nov 2015 22:54:38 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAJMsc28020439; Thu, 19 Nov 2015 22:54:38 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAJMsbmN020436; Thu, 19 Nov 2015 22:54:37 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511192254.tAJMsbmN020436@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 19 Nov 2015 22:54:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291086 - in head: share/mk targets/pseudo/userland targets/pseudo/userland/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.20 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, 19 Nov 2015 22:54:39 -0000 Author: bdrewery Date: Thu Nov 19 22:54:37 2015 New Revision: 291086 URL: https://svnweb.freebsd.org/changeset/base/291086 Log: Remove unsupported ia64. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk head/targets/pseudo/userland/Makefile.depend head/targets/pseudo/userland/misc/Makefile.depend Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Thu Nov 19 19:53:19 2015 (r291085) +++ head/share/mk/local.meta.sys.mk Thu Nov 19 22:54:37 2015 (r291086) @@ -54,7 +54,7 @@ BOOT_MACHINE_DIR.amd64 = boot/i386 MACHINE_ARCH.host = ${_HOST_ARCH} # the list of machines we support -ALL_MACHINE_LIST?= amd64 arm arm64 i386 ia64 mips pc98 powerpc sparc64 +ALL_MACHINE_LIST?= amd64 arm arm64 i386 mips pc98 powerpc sparc64 .for m in ${ALL_MACHINE_LIST:O:u} MACHINE_ARCH_LIST.$m?= ${TARGET_ARCHES_${m}:U$m} MACHINE_ARCH.$m?= ${MACHINE_ARCH_LIST.$m:[1]} Modified: head/targets/pseudo/userland/Makefile.depend ============================================================================== --- head/targets/pseudo/userland/Makefile.depend Thu Nov 19 19:53:19 2015 (r291085) +++ head/targets/pseudo/userland/Makefile.depend Thu Nov 19 22:54:37 2015 (r291086) @@ -759,12 +759,6 @@ DIRDEPS.i386= \ usr.sbin/boot0cfg \ usr.sbin/wlconfig -DIRDEPS.ia64= \ - sbin/mca \ - usr.sbin/acpi \ - usr.sbin/kgmon \ - usr.sbin/zzz - DIRDEPS.mips= \ sbin/bsdlabel \ sbin/fdisk Modified: head/targets/pseudo/userland/misc/Makefile.depend ============================================================================== --- head/targets/pseudo/userland/misc/Makefile.depend Thu Nov 19 19:53:19 2015 (r291085) +++ head/targets/pseudo/userland/misc/Makefile.depend Thu Nov 19 22:54:37 2015 (r291086) @@ -42,7 +42,6 @@ DIRDEPS.amd64= \ DIRDEPS.arm= sys/boot/fdt sys/boot/uboot DIRDEPS.i386= ${DIRDEPS.x86sys} sys/boot/efi/libefi sys/boot/zfs -DIRDEPS.ia64= sys/boot/efi/libefi sys/boot/zfs DIRDEPS.powerpc= sys/boot/fdt sys/boot/ofw sys/boot/uboot DIRDEPS.sparc64= sys/boot/ofw sys/boot/zfs From owner-svn-src-head@freebsd.org Fri Nov 20 00:22:57 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E43B8A3375B; Fri, 20 Nov 2015 00:22:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 95B561196; Fri, 20 Nov 2015 00:22:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK0MuJK050144; Fri, 20 Nov 2015 00:22:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK0MuAE050143; Fri, 20 Nov 2015 00:22:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511200022.tAK0MuAE050143@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 20 Nov 2015 00:22:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291087 - head/share/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.20 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, 20 Nov 2015 00:22:58 -0000 Author: bdrewery Date: Fri Nov 20 00:22:55 2015 New Revision: 291087 URL: https://svnweb.freebsd.org/changeset/base/291087 Log: META MODE: Don't stage INTERNALPROGs. This is only for sys/boot. INTERNALPROG is not a build tool, it is just a way to generate OBJS from a list of SRCS and use those objects elsewhere. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Thu Nov 19 22:54:37 2015 (r291086) +++ head/share/mk/bsd.sys.mk Fri Nov 20 00:22:55 2015 (r291087) @@ -194,13 +194,13 @@ staging stage_libs stage_files stage_as DESTDIR= ${STAGE_OBJTOP} .if commands(beforeinstall) -.if !empty(_LIBS) || ${MK_STAGING_PROG} != "no" +.if !empty(_LIBS) || (${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG)) staging: beforeinstall .endif .endif # normally only libs and includes are staged -.if ${MK_STAGING_PROG} != "no" +.if ${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG) STAGE_DIR.prog= ${STAGE_OBJTOP}${BINDIR} .if !empty(PROG) || !empty(PROGS) @@ -265,7 +265,7 @@ STAGE_TARGETS+= $t STAGE_TARGETS+= stage_as .endif -.if !empty(_LIBS) || ${MK_STAGING_PROG} != "no" +.if !empty(_LIBS) || (${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG)) .if !empty(LINKS) STAGE_TARGETS+= stage_links From owner-svn-src-head@freebsd.org Fri Nov 20 02:23:37 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 72F2AA32B5A; Fri, 20 Nov 2015 02:23:37 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3815D1E7D; Fri, 20 Nov 2015 02:23:37 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK2NaHr087976; Fri, 20 Nov 2015 02:23:36 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK2Nasl087974; Fri, 20 Nov 2015 02:23:36 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201511200223.tAK2Nasl087974@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Fri, 20 Nov 2015 02:23:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291088 - in head/sys: arm64/arm64 x86/x86 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.20 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, 20 Nov 2015 02:23:37 -0000 Author: marius Date: Fri Nov 20 02:23:35 2015 New Revision: 291088 URL: https://svnweb.freebsd.org/changeset/base/291088 Log: Avoid a NULL pointer dereference in bounce_bus_dmamap_sync() when the map has been created via bounce_bus_dmamem_alloc(). Even for coherent DMA - which bus_dmamem_alloc(9) typically is used for -, calling of bus_dmamap_sync(9) isn't optional. PR: 188899 (non-original problem) MFC after: 3 days Modified: head/sys/arm64/arm64/busdma_bounce.c head/sys/x86/x86/busdma_bounce.c Modified: head/sys/arm64/arm64/busdma_bounce.c ============================================================================== --- head/sys/arm64/arm64/busdma_bounce.c Fri Nov 20 00:22:55 2015 (r291087) +++ head/sys/arm64/arm64/busdma_bounce.c Fri Nov 20 02:23:35 2015 (r291088) @@ -767,7 +767,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dma struct bounce_page *bpage; vm_offset_t datavaddr, tempvaddr; - if ((bpage = STAILQ_FIRST(&map->bpages)) == NULL) + if (map == NULL || (bpage = STAILQ_FIRST(&map->bpages)) == NULL) return; /* Modified: head/sys/x86/x86/busdma_bounce.c ============================================================================== --- head/sys/x86/x86/busdma_bounce.c Fri Nov 20 00:22:55 2015 (r291087) +++ head/sys/x86/x86/busdma_bounce.c Fri Nov 20 02:23:35 2015 (r291088) @@ -892,7 +892,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dma vm_offset_t datavaddr, tempvaddr; bus_size_t datacount1, datacount2; - if ((bpage = STAILQ_FIRST(&map->bpages)) == NULL) + if (map == NULL || (bpage = STAILQ_FIRST(&map->bpages)) == NULL) return; /* From owner-svn-src-head@freebsd.org Fri Nov 20 03:24:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ADEDCA328A5; Fri, 20 Nov 2015 03:24:05 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 787FE1157; Fri, 20 Nov 2015 03:24:05 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK3O4Ls005789; Fri, 20 Nov 2015 03:24:04 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK3O4qT005787; Fri, 20 Nov 2015 03:24:04 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511200324.tAK3O4qT005787@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Fri, 20 Nov 2015 03:24:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291089 - head/tests 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.20 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, 20 Nov 2015 03:24:05 -0000 Author: rodrigc Date: Fri Nov 20 03:24:04 2015 New Revision: 291089 URL: https://svnweb.freebsd.org/changeset/base/291089 Log: Copy README into /usr/tests Add a few sentences describing how to run the tests. Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D4224 Modified: head/tests/Makefile head/tests/README Modified: head/tests/Makefile ============================================================================== --- head/tests/Makefile Fri Nov 20 02:23:35 2015 (r291088) +++ head/tests/Makefile Fri Nov 20 03:24:04 2015 (r291089) @@ -9,6 +9,9 @@ SUBDIR_PARALLEL= TESTSDIR= ${TESTSBASE} KYUAFILE= yes +FILES+= README +FILESDIR_README= ${TESTSDIR} + afterinstall: install-tests-local install-tests-local: .PHONY ${INSTALL_SYMLINK} ../local/tests ${DESTDIR}${TESTSDIR}/local Modified: head/tests/README ============================================================================== --- head/tests/README Fri Nov 20 02:23:35 2015 (r291088) +++ head/tests/README Fri Nov 20 03:24:04 2015 (r291089) @@ -1,10 +1,19 @@ src/tests: The FreeBSD test suite ================================= -This file describes the build infrastructure of the FreeBSD test suite. -If you are only interested in using the test suite itself, please refer -to tests(7) instead. +To run the FreeBSD test suite: +(1) Make sure that kyua is installed: + pkg install kyua +(2) To run the tests: + kyua test -k /usr/tests/Kyuafile +(3) To see the test results: + kyua report +For further information on using the test suite, read tests(7): + man tests + +Description of FreeBSD test suite +================================= The build of the test suite is organized in the following manner: * The build of all test artifacts is protected by the MK_TESTS knob. From owner-svn-src-head@freebsd.org Fri Nov 20 05:15:36 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 820AAA33DB2; Fri, 20 Nov 2015 05:15:36 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 148F91966; Fri, 20 Nov 2015 05:15:36 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK5FZ3b037266; Fri, 20 Nov 2015 05:15:35 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK5FZT8037263; Fri, 20 Nov 2015 05:15:35 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511200515.tAK5FZT8037263@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Fri, 20 Nov 2015 05:15:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291090 - head/usr.bin/vmstat 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.20 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, 20 Nov 2015 05:15:36 -0000 Author: rodrigc Date: Fri Nov 20 05:15:34 2015 New Revision: 291090 URL: https://svnweb.freebsd.org/changeset/base/291090 Log: Convert vmstat to use libxo. This patch was based on this patch: https://github.com/Juniper/libxo/blob/master/patches/vmstat.patch by Phil Shafer at Juniper Networks, but updated to the latest vmstat code. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D3935 Modified: head/usr.bin/vmstat/Makefile head/usr.bin/vmstat/vmstat.8 head/usr.bin/vmstat/vmstat.c Modified: head/usr.bin/vmstat/Makefile ============================================================================== --- head/usr.bin/vmstat/Makefile Fri Nov 20 03:24:04 2015 (r291089) +++ head/usr.bin/vmstat/Makefile Fri Nov 20 05:15:34 2015 (r291090) @@ -3,7 +3,7 @@ PROG= vmstat MAN= vmstat.8 -LIBADD= devstat kvm memstat util +LIBADD= devstat kvm memstat xo util WARNS?= 1 Modified: head/usr.bin/vmstat/vmstat.8 ============================================================================== --- head/usr.bin/vmstat/vmstat.8 Fri Nov 20 03:24:04 2015 (r291089) +++ head/usr.bin/vmstat/vmstat.8 Fri Nov 20 05:15:34 2015 (r291090) @@ -28,7 +28,7 @@ .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd August 8, 2014 +.Dd November 19, 2015 .Dt VMSTAT 8 .Os .Sh NAME @@ -37,6 +37,7 @@ .Sh SYNOPSIS .Nm .\" .Op Fl fimst +.Op Fl -libxo .Op Fl afHhimoPsz .Op Fl M Ar core Op Fl N Ar system .Op Fl c Ar count @@ -68,6 +69,13 @@ the default image). .Pp The options are as follows: .Bl -tag -width indent +.It Fl -libxo +Generate output via +.Xr libxo 3 +in a selection of different human and machine readable formats. +See +.Xr xo_parse_args 3 +for details on command line arguments. .It Fl a When used with .Fl i , @@ -361,6 +369,8 @@ statistics every second. .Xr ps 1 , .Xr systat 1 , .Xr libmemstat 3 , +.Xr libxo 3 , +.Xr xo_parse_args 3 , .Xr gstat 8 , .Xr iostat 8 , .Xr pstat 8 , Modified: head/usr.bin/vmstat/vmstat.c ============================================================================== --- head/usr.bin/vmstat/vmstat.c Fri Nov 20 03:24:04 2015 (r291089) +++ head/usr.bin/vmstat/vmstat.c Fri Nov 20 05:15:34 2015 (r291090) @@ -76,6 +76,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include + +#define VMSTAT_XO_VERSION "1" static char da[] = "da"; @@ -184,6 +187,11 @@ main(int argc, char *argv[]) interval = reps = todo = 0; maxshowdevs = 2; hflag = isatty(1); + + argc = xo_parse_args(argc, argv); + if (argc < 0) + return argc; + while ((c = getopt(argc, argv, "ac:fhHiM:mN:n:oPp:stw:z")) != -1) { switch (c) { case 'a': @@ -220,7 +228,7 @@ main(int argc, char *argv[]) nflag = 1; maxshowdevs = atoi(optarg); if (maxshowdevs < 0) - errx(1, "number of devices %d is < 0", + xo_errx(1, "number of devices %d is < 0", maxshowdevs); break; case 'o': @@ -228,7 +236,7 @@ main(int argc, char *argv[]) break; case 'p': if (devstat_buildmatch(optarg, &matches, &num_matches) != 0) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); break; case 's': todo |= SUMSTAT; @@ -237,7 +245,7 @@ main(int argc, char *argv[]) #ifdef notyet todo |= TIMESTAT; #else - errx(EX_USAGE, "sorry, -t is not (re)implemented yet"); + xo_errx(EX_USAGE, "sorry, -t is not (re)implemented yet"); #endif break; case 'w': @@ -256,18 +264,21 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; + xo_set_version(VMSTAT_XO_VERSION); if (todo == 0) todo = VMSTAT; if (memf != NULL) { kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf); if (kd == NULL) - errx(1, "kvm_openfiles: %s", errbuf); + xo_errx(1, "kvm_openfiles: %s", errbuf); } retry_nlist: if (kd != NULL && (c = kvm_nlist(kd, namelist)) != 0) { if (c > 0) { + int bufsize = 0, len = 0; + char *buf, *bp; /* * 'cnt' was renamed to 'vm_cnt'. If 'vm_cnt' is not * found try looking up older 'cnt' symbol. @@ -277,20 +288,34 @@ retry_nlist: namelist[X_SUM].n_name = "_cnt"; goto retry_nlist; } - warnx("undefined symbols:"); for (c = 0; c < (int)(sizeof(namelist)/sizeof(namelist[0])); c++) if (namelist[c].n_type == 0) - (void)fprintf(stderr, " %s", + bufsize += strlen(namelist[c].n_name) + 1; + bufsize += len + 1; + buf = bp = alloca(bufsize); + + for (c = 0; + c < (int)(sizeof(namelist)/sizeof(namelist[0])); + c++) + if (namelist[c].n_type == 0) { + xo_error(" %s", namelist[c].n_name); - (void)fputc('\n', stderr); + len = strlen(namelist[c].n_name); + *bp++ = ' '; + memcpy(bp, namelist[c].n_name, len); + bp += len; + } + *bp = '\0'; + xo_error("undefined symbols:\n", buf); } else - warnx("kvm_nlist: %s", kvm_geterr(kd)); + xo_warnx("kvm_nlist: %s", kvm_geterr(kd)); + xo_finish(); exit(1); } if (kd && Pflag) - errx(1, "Cannot use -P with crash dumps"); + xo_errx(1, "Cannot use -P with crash dumps"); if (todo & VMSTAT) { /* @@ -299,7 +324,7 @@ retry_nlist: * message informing the user of his mistake. */ if (devstat_checkversion(NULL) < 0) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); argv = getdrivedata(argv); @@ -336,6 +361,7 @@ retry_nlist: dointr(interval, reps); if (todo & VMSTAT) dovmstat(interval, reps); + xo_finish(); exit(0); } @@ -347,7 +373,7 @@ mysysctl(const char *name, void *oldp, s error = sysctlbyname(name, oldp, oldlenp, newp, newlen); if (error != 0 && errno != ENOMEM) - err(1, "sysctl(%s)", name); + xo_err(1, "sysctl(%s)", name); return (error); } @@ -355,13 +381,13 @@ static char ** getdrivedata(char **argv) { if ((num_devices = devstat_getnumdevs(NULL)) < 0) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); cur.dinfo = (struct devinfo *)calloc(1, sizeof(struct devinfo)); last.dinfo = (struct devinfo *)calloc(1, sizeof(struct devinfo)); if (devstat_getdevs(NULL, &cur) == -1) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); num_devices = cur.dinfo->numdevs; generation = cur.dinfo->generation; @@ -393,7 +419,7 @@ getdrivedata(char **argv) */ if ((num_devices_specified == 0) && (num_matches == 0)) { if (devstat_buildmatch(da, &matches, &num_matches) != 0) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); select_mode = DS_SELECT_ADD; } else @@ -409,7 +435,7 @@ getdrivedata(char **argv) num_devices, matches, num_matches, specified_devices, num_devices_specified, select_mode, maxshowdevs, 0) == -1) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); return(argv); } @@ -439,16 +465,16 @@ fill_pcpu(struct pcpu ***pcpup, int* max maxcpu = kvm_getmaxcpu(kd); if (maxcpu < 0) - errx(1, "kvm_getmaxcpu: %s", kvm_geterr(kd)); + xo_errx(1, "kvm_getmaxcpu: %s", kvm_geterr(kd)); pcpu = calloc(maxcpu, sizeof(struct pcpu *)); if (pcpu == NULL) - err(1, "calloc"); + xo_err(1, "calloc"); for (i = 0; i < maxcpu; i++) { pcpu[i] = kvm_getpcpu(kd, i); if (pcpu[i] == (struct pcpu *)-1) - errx(1, "kvm_getpcpu: %s", kvm_geterr(kd)); + xo_errx(1, "kvm_getpcpu: %s", kvm_geterr(kd)); } *maxcpup = maxcpu; @@ -576,12 +602,12 @@ fill_vmtotal(struct vmtotal *vmtp) { if (kd != NULL) { /* XXX fill vmtp */ - errx(1, "not implemented"); + xo_errx(1, "not implemented"); } else { size_t size = sizeof(*vmtp); mysysctl("vm.vmtotal", vmtp, &size, NULL, 0); if (size != sizeof(*vmtp)) - errx(1, "vm.total size mismatch"); + xo_errx(1, "vm.total size mismatch"); } } @@ -599,17 +625,17 @@ getcpuinfo(u_long *maskp, int *maxidp) u_long mask; if (kd != NULL) - errx(1, "not implemented"); + xo_errx(1, "not implemented"); mask = 0; ncpus = 0; size = sizeof(maxcpu); mysysctl("kern.smp.maxcpus", &maxcpu, &size, NULL, 0); if (size != sizeof(maxcpu)) - errx(1, "sysctl kern.smp.maxcpus"); + xo_errx(1, "sysctl kern.smp.maxcpus"); size = sizeof(long) * maxcpu * CPUSTATES; times = malloc(size); if (times == NULL) - err(1, "malloc %zd bytes", size); + xo_err(1, "malloc %zd bytes", size); mysysctl("kern.cp_times", times, &size, NULL, 0); maxid = (size / CPUSTATES / sizeof(long)) - 1; for (i = 0; i <= maxid; i++) { @@ -632,16 +658,20 @@ getcpuinfo(u_long *maskp, int *maxidp) static void -prthuman(u_int64_t val, int size) +prthuman(const char *name, u_int64_t val, int size) { char buf[10]; int flags; + char fmt[128]; + + snprintf(fmt, sizeof(fmt), "{:%s/%%*s}", name); if (size < 5 || size > 9) - errx(1, "doofus"); + xo_errx(1, "doofus"); flags = HN_B | HN_NOSPACE | HN_DECIMAL; humanize_number(buf, size, val, "", HN_AUTOSCALE, flags); - printf("%*s", size, buf); + xo_attr("value", "%ju", (uintmax_t) val); + xo_emit(fmt, size, buf); } static int hz, hdrcnt; @@ -699,7 +729,7 @@ dovmstat(unsigned int interval, int reps size = sizeof(clockrate); mysysctl("kern.clockrate", &clockrate, &size, NULL, 0); if (size != sizeof(clockrate)) - errx(1, "clockrate size mismatch"); + xo_errx(1, "clockrate size mismatch"); hz = clockrate.hz; } @@ -714,18 +744,18 @@ dovmstat(unsigned int interval, int reps printhdr(maxid, cpumask); if (kd != NULL) { if (kvm_getcptime(kd, cur.cp_time) < 0) - errx(1, "kvm_getcptime: %s", kvm_geterr(kd)); + xo_errx(1, "kvm_getcptime: %s", kvm_geterr(kd)); } else { size = sizeof(cur.cp_time); mysysctl("kern.cp_time", &cur.cp_time, &size, NULL, 0); if (size != sizeof(cur.cp_time)) - errx(1, "cp_time size mismatch"); + xo_errx(1, "cp_time size mismatch"); } if (Pflag) { size = size_cp_times; mysysctl("kern.cp_times", cur_cp_times, &size, NULL, 0); if (size != size_cp_times) - errx(1, "cp_times mismatch"); + xo_errx(1, "cp_times mismatch"); } tmp_dinfo = last.dinfo; @@ -742,7 +772,7 @@ dovmstat(unsigned int interval, int reps */ switch (devstat_getdevs(NULL, &cur)) { case -1: - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); break; case 1: { int retval; @@ -759,7 +789,7 @@ dovmstat(unsigned int interval, int reps maxshowdevs, 0); switch (retval) { case -1: - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); break; case 1: printhdr(maxid, cpumask); @@ -774,49 +804,64 @@ dovmstat(unsigned int interval, int reps fill_vmmeter(&sum); fill_vmtotal(&total); - (void)printf("%1d %1d %1d", + xo_open_container("processes"); + xo_emit("{:runnable/%1d} {:waiting/%ld} " + "{:swapped-out/%ld}", total.t_rq - 1, total.t_dw + total.t_pw, total.t_sw); + xo_close_container("processes"); + xo_open_container("memory"); #define vmstat_pgtok(a) ((a) * (sum.v_page_size >> 10)) #define rate(x) (((x) * rate_adj + halfuptime) / uptime) /* round */ if (hflag) { - printf(""); - prthuman(total.t_avm * (u_int64_t)sum.v_page_size, 5); - printf(" "); - prthuman(total.t_free * (u_int64_t)sum.v_page_size, 5); - printf(" "); - (void)printf("%5lu ", - (unsigned long)rate(sum.v_vm_faults - - osum.v_vm_faults)); + xo_emit(""); + prthuman("available-memory", + total.t_avm * (u_int64_t)sum.v_page_size, 5); + xo_emit(" "); + prthuman("free-memory", + total.t_free * (u_int64_t)sum.v_page_size, 5); + xo_emit(" "); } else { - printf(" %7d", vmstat_pgtok(total.t_avm)); - printf(" %7d ", vmstat_pgtok(total.t_free)); - (void)printf("%4lu ", - (unsigned long)rate(sum.v_vm_faults - - osum.v_vm_faults)); - } - (void)printf("%3lu ", + xo_emit(" "); + xo_emit("{:available-memory/%7d}", + vmstat_pgtok(total.t_avm)); + xo_emit(" "); + xo_emit("{:free-memory/%7d}", + vmstat_pgtok(total.t_free)); + } + xo_emit("{:total-page-faults/%5lu} ", + (unsigned long)rate(sum.v_vm_faults - + osum.v_vm_faults)); + xo_close_container("memory"); + + xo_open_container("paging-rates"); + xo_emit("{:page-reactivated/%3lu} ", (unsigned long)rate(sum.v_reactivated - osum.v_reactivated)); - (void)printf("%3lu ", + xo_emit("{:paged-in/%3lu} ", (unsigned long)rate(sum.v_swapin + sum.v_vnodein - (osum.v_swapin + osum.v_vnodein))); - (void)printf("%3lu ", + xo_emit("{:paged-out/%3lu} ", (unsigned long)rate(sum.v_swapout + sum.v_vnodeout - (osum.v_swapout + osum.v_vnodeout))); - (void)printf("%5lu ", + xo_emit("{:freed/%5lu} ", (unsigned long)rate(sum.v_tfree - osum.v_tfree)); - (void)printf("%4lu ", + xo_emit("{:scanned/%4lu} ", (unsigned long)rate(sum.v_pdpages - osum.v_pdpages)); + xo_close_container("paging-rates"); + devstats(); - (void)printf("%4lu %5lu %5lu", + xo_open_container("fault-rates"); + xo_emit("{:interrupts/%4lu} {:system-calls/%5lu} " + "{:context-switches/%5u}", (unsigned long)rate(sum.v_intr - osum.v_intr), (unsigned long)rate(sum.v_syscall - osum.v_syscall), (unsigned long)rate(sum.v_swtch - osum.v_swtch)); + xo_close_container("fault-rates"); if (Pflag) pcpustats(ncpus, cpumask, maxid); else cpustats(); - (void)printf("\n"); - (void)fflush(stdout); + xo_emit("\n"); + xo_flush(); if (reps >= 0 && --reps <= 0) break; osum = sum; @@ -841,43 +886,43 @@ printhdr(int maxid, u_long cpumask) num_shown = (num_selected < maxshowdevs) ? num_selected : maxshowdevs; if (hflag) { - (void)printf("procs memory page%*s ", 19, ""); + xo_emit("{T:procs} {T:memory} ${T:/page%*s}", 19, ""); } else { - (void)printf("procs memory page%*s ", 19, ""); + xo_emit("{T:procs} {T:memory} ${T:/page%*s}", 19, ""); } if (num_shown > 1) - (void)printf(" disks %*s", num_shown * 4 - 7, ""); + xo_emit(" {T:/disks %*s}", num_shown * 4 - 7, ""); else if (num_shown == 1) - (void)printf(" disk"); - (void)printf(" faults "); + xo_emit(" {T:disks}"); + xo_emit(" {T:faults} "); if (Pflag) { for (i = 0; i <= maxid; i++) { if (cpumask & (1ul << i)) - printf(" cpu%d ", i); + xo_emit(" {T:/cpu%d} ", i); } - printf("\n"); + xo_emit("\n"); } else - printf(" cpu\n"); + xo_emit(" {T:cpu}\n"); if (hflag) { - (void)printf("r b w avm fre flt re pi po fr sr "); + xo_emit("{T:r} {T:b} {T:w} {T:avm} {T:fre} {T:flt} {T:re} {T:pi} {T:po} {T:fr} {T:sr} "); } else { - (void)printf("r b w avm fre flt re pi po fr sr "); + xo_emit("{T:r} {T:b} {T:w} {T:avm} {T:fre} {T:flt} {T:re} {T:pi} {T:po} {T:fr} {T:sr} "); } for (i = 0; i < num_devices; i++) if ((dev_select[i].selected) && (dev_select[i].selected <= maxshowdevs)) - (void)printf("%c%c%d ", dev_select[i].device_name[0], + xo_emit("{T:/%c%c%d} ", dev_select[i].device_name[0], dev_select[i].device_name[1], dev_select[i].unit_number); - (void)printf(" in sy cs"); + xo_emit(" {T:in} {T:sy} {T:cs}"); if (Pflag) { for (i = 0; i <= maxid; i++) { if (cpumask & (1ul << i)) - printf(" us sy id"); + xo_emit(" {T:us} {T:sy} {T:id}"); } - printf("\n"); + xo_emit("\n"); } else - printf(" us sy id\n"); + xo_emit(" {T:us} {T:sy} {T:id}\n"); if (wresized != 0) doresize(); hdrcnt = winlines; @@ -920,7 +965,7 @@ doresize(void) if (status == -1 && errno == EINTR) continue; else if (status == -1) - err(1, "ioctl"); + xo_err(1, "ioctl"); if (w.ws_row > 3) winlines = w.ws_row - 3; else @@ -943,13 +988,16 @@ dotimes(void) kread(X_REC, &rectime, sizeof(rectime)); kread(X_PGIN, &pgintime, sizeof(pgintime)); kread(X_SUM, &sum, sizeof(sum)); - (void)printf("%u reclaims, %u total time (usec)\n", + xo_emit("{:page-reclaims/%u} {N:reclaims}, " + "{:reclaim-time/%u} {N:total time (usec)}\n", sum.v_pgrec, rectime); - (void)printf("average: %u usec / reclaim\n", rectime / sum.v_pgrec); - (void)printf("\n"); - (void)printf("%u page ins, %u total time (msec)\n", + xo_emit("{L:average}: {:reclaim-average/%u} {N:usec \\/ reclaim}\n", + rectime / sum.v_pgrec); + xo_emit("\n"); + xo_emit("{:page-ins/%u} {N:page ins}, " + "{:page-in-time/%u} {N:total time (msec)}\n", sum.v_pgin, pgintime / 10); - (void)printf("average: %8.1f msec / page in\n", + xo_emit("{L:average}: {:average/%8.1f} {N:msec \\/ page in}\n", pgintime / (sum.v_pgin * 10.0)); } #endif @@ -974,87 +1022,136 @@ dosum(void) long nchtotal; fill_vmmeter(&sum); - (void)printf("%9u cpu context switches\n", sum.v_swtch); - (void)printf("%9u device interrupts\n", sum.v_intr); - (void)printf("%9u software interrupts\n", sum.v_soft); - (void)printf("%9u traps\n", sum.v_trap); - (void)printf("%9u system calls\n", sum.v_syscall); - (void)printf("%9u kernel threads created\n", sum.v_kthreads); - (void)printf("%9u fork() calls\n", sum.v_forks); - (void)printf("%9u vfork() calls\n", sum.v_vforks); - (void)printf("%9u rfork() calls\n", sum.v_rforks); - (void)printf("%9u swap pager pageins\n", sum.v_swapin); - (void)printf("%9u swap pager pages paged in\n", sum.v_swappgsin); - (void)printf("%9u swap pager pageouts\n", sum.v_swapout); - (void)printf("%9u swap pager pages paged out\n", sum.v_swappgsout); - (void)printf("%9u vnode pager pageins\n", sum.v_vnodein); - (void)printf("%9u vnode pager pages paged in\n", sum.v_vnodepgsin); - (void)printf("%9u vnode pager pageouts\n", sum.v_vnodeout); - (void)printf("%9u vnode pager pages paged out\n", sum.v_vnodepgsout); - (void)printf("%9u page daemon wakeups\n", sum.v_pdwakeups); - (void)printf("%9u pages examined by the page daemon\n", sum.v_pdpages); - (void)printf("%9u pages reactivated\n", sum.v_reactivated); - (void)printf("%9u copy-on-write faults\n", sum.v_cow_faults); - (void)printf("%9u copy-on-write optimized faults\n", sum.v_cow_optim); - (void)printf("%9u zero fill pages zeroed\n", sum.v_zfod); - (void)printf("%9u zero fill pages prezeroed\n", sum.v_ozfod); - (void)printf("%9u intransit blocking page faults\n", sum.v_intrans); - (void)printf("%9u total VM faults taken\n", sum.v_vm_faults); - (void)printf("%9u page faults requiring I/O\n", sum.v_io_faults); - (void)printf("%9u pages affected by kernel thread creation\n", - sum.v_kthreadpages); - (void)printf("%9u pages affected by fork()\n", sum.v_forkpages); - (void)printf("%9u pages affected by vfork()\n", sum.v_vforkpages); - (void)printf("%9u pages affected by rfork()\n", sum.v_rforkpages); - (void)printf("%9u pages cached\n", sum.v_tcached); - (void)printf("%9u pages freed\n", sum.v_tfree); - (void)printf("%9u pages freed by daemon\n", sum.v_dfree); - (void)printf("%9u pages freed by exiting processes\n", sum.v_pfree); - (void)printf("%9u pages active\n", sum.v_active_count); - (void)printf("%9u pages inactive\n", sum.v_inactive_count); - (void)printf("%9u pages in VM cache\n", sum.v_cache_count); - (void)printf("%9u pages wired down\n", sum.v_wire_count); - (void)printf("%9u pages free\n", sum.v_free_count); - (void)printf("%9u bytes per page\n", sum.v_page_size); + xo_open_container("summary-statistics"); + xo_emit("{:context-switches/%9u} {N:cpu context switches}\n", + sum.v_swtch); + xo_emit("{:interrupts/%9u} {N:device interrupts}\n", + sum.v_intr); + xo_emit("{:software-interrupts/%9u} {N:software interrupts}\n", + sum.v_soft); + xo_emit("{:traps/%9u} {N:traps}\n", sum.v_trap); + xo_emit("{:system-calls/%9u} {N:system calls}\n", + sum.v_syscall); + xo_emit("{:kernel-threads/%9u} {N:kernel threads created}\n", + sum.v_kthreads); + xo_emit("{:forks/%9u} {N: fork() calls}\n", sum.v_forks); + xo_emit("{:vforks/%9u} {N:vfork() calls}\n", + sum.v_vforks); + xo_emit("{:rforks/%9u} {N:rfork() calls}\n", + sum.v_rforks); + xo_emit("{:swap-ins/%9u} {N:swap pager pageins}\n", + sum.v_swapin); + xo_emit("{:swap-in-pages/%9u} {N:swap pager pages paged in}\n", + sum.v_swappgsin); + xo_emit("{:swap-outs/%9u} {N:swap pager pageouts}\n", + sum.v_swapout); + xo_emit("{:swap-out-pages/%9u} {N:swap pager pages paged out}\n", + sum.v_swappgsout); + xo_emit("{:vnode-page-ins/%9u} {N:vnode pager pageins}\n", + sum.v_vnodein); + xo_emit("{:vnode-page-in-pages/%9u} {N:vnode pager pages paged in}\n", + sum.v_vnodepgsin); + xo_emit("{:vnode-page-outs/%9u} {N:vnode pager pageouts}\n", + sum.v_vnodeout); + xo_emit("{:vnode-page-outs/%9u} {N:vnode pager pages paged out}\n", + sum.v_vnodepgsout); + xo_emit("{:page-daemon-wakeups/%9u} {N:page daemon wakeups}\n", + sum.v_pdwakeups); + xo_emit("{:page-daemon-pages/%9u} {N:pages examined by the page daemon}\n", + sum.v_pdpages); + xo_emit("{:reactivated/%9u} {N:pages reactivated}\n", + sum.v_reactivated); + xo_emit("{:copy-on-write-faults/%9u} {N:copy-on-write faults}\n", + sum.v_cow_faults); + xo_emit("{:copy-on-write-optimized-faults/%9u} {N:copy-on-write optimized faults}\n", + sum.v_cow_optim); + xo_emit("{:zero-fill-pages/%9u} {N:zero fill pages zeroed}\n", + sum.v_zfod); + xo_emit("{:zero-fill-prezeroed/%9u} {N:zero fill pages prezeroed}\n", + sum.v_ozfod); + xo_emit("{:intransit-blocking/%9u} {N:intransit blocking page faults}\n", + sum.v_intrans); + xo_emit("{:total-faults/%9u} {N:total VM faults taken}\n", + sum.v_vm_faults); + xo_emit("{:faults-requiring-io/%9u} {N:page faults requiring I\\/O}\n", + sum.v_io_faults); + xo_emit("{:faults-from-thread-creation/%9u} {N:pages affected by kernel thread creation}\n", + sum.v_kthreadpages); + xo_emit("{:faults-from-fork/%9u} {N:pages affected by fork}()\n", + sum.v_forkpages); + xo_emit("{:faults-from-vfork/%9u} {N:pages affected by vfork}()\n", + sum.v_vforkpages); + xo_emit("{:pages-rfork/%9u} {N:pages affected by rfork}()\n", + sum.v_rforkpages); + xo_emit("{:pages-total-cached/%9u} {N:pages cached}\n", + sum.v_tcached); + xo_emit("{:pages-freed/%9u} {N:pages freed}\n", + sum.v_tfree); + xo_emit("{:pages-freed-by-daemon/%9u} {N:pages freed by daemon}\n", + sum.v_dfree); + xo_emit("{:pages-freed-on-exit/%9u} {N:pages freed by exiting processes}\n", + sum.v_pfree); + xo_emit("{:active-pages/%9u} {N:pages active}\n", + sum.v_active_count); + xo_emit("{:inactive-pages/%9u} {N:pages inactive}\n", + sum.v_inactive_count); + xo_emit("{:vm-cache/%9u} {N:pages in VM cache}\n", + sum.v_cache_count); + xo_emit("{:wired-pages/%9u} {N:pages wired down}\n", + sum.v_wire_count); + xo_emit("{:free-pages/%9u} {N:pages free}\n", + sum.v_free_count); + xo_emit("{:bytes-per-page/%9u} {N:bytes per page}\n", sum.v_page_size); if (kd != NULL) { kread(X_NCHSTATS, &lnchstats, sizeof(lnchstats)); } else { size_t size = sizeof(lnchstats); mysysctl("vfs.cache.nchstats", &lnchstats, &size, NULL, 0); if (size != sizeof(lnchstats)) - errx(1, "vfs.cache.nchstats size mismatch"); + xo_errx(1, "vfs.cache.nchstats size mismatch"); } nchtotal = lnchstats.ncs_goodhits + lnchstats.ncs_neghits + lnchstats.ncs_badhits + lnchstats.ncs_falsehits + lnchstats.ncs_miss + lnchstats.ncs_long; - (void)printf("%9ld total name lookups\n", nchtotal); - (void)printf( - "%9s cache hits (%ld%% pos + %ld%% neg) system %ld%% per-directory\n", + xo_emit(":total-name-lookups/%9ld} {N:total name lookups}\n", + nchtotal); + xo_emit("{P:/%9s} {N:cache hits} " + "({:positive-cache-hits/%ld}% pos + " + "{:negative-cache-hits/%ld}% {N:neg}) " + "system {:cache-hit-percent/%ld}% per-directory\n", "", PCT(lnchstats.ncs_goodhits, nchtotal), PCT(lnchstats.ncs_neghits, nchtotal), PCT(lnchstats.ncs_pass2, nchtotal)); - (void)printf("%9s deletions %ld%%, falsehits %ld%%, toolong %ld%%\n", "", + xo_emit("{P:/%9s} {L:deletions} {:deletions/%ld}%, " + "{L:falsehits} {:false-hits/%ld}%, " + "{L:toolong} {:too-long/%ld}%\n", "", PCT(lnchstats.ncs_badhits, nchtotal), PCT(lnchstats.ncs_falsehits, nchtotal), PCT(lnchstats.ncs_long, nchtotal)); + xo_close_container("summary-statistics"); } static void doforkst(void) { fill_vmmeter(&sum); - (void)printf("%u forks, %u pages, average %.2f\n", + xo_open_container("fork-statistics"); + xo_emit("{:fork/%u} {N:forks}, {:fork-pages/%u} {N:pages}, " + "{L:average} {:fork-average/%.2f}\n", sum.v_forks, sum.v_forkpages, sum.v_forks == 0 ? 0.0 : (double)sum.v_forkpages / sum.v_forks); - (void)printf("%u vforks, %u pages, average %.2f\n", + xo_emit("{:vfork/%u} {N:vforks}, {:vfork-pages/%u} {N:pages}, " + "{L:average} {:vfork-average/%.2f}\n", sum.v_vforks, sum.v_vforkpages, sum.v_vforks == 0 ? 0.0 : (double)sum.v_vforkpages / sum.v_vforks); - (void)printf("%u rforks, %u pages, average %.2f\n", + xo_emit("{:rfork/%u} {N:rforks}, {:rfork-pages/%u} {N:pages}, " + "{L:average} {:rfork-average/%.2f}\n", sum.v_rforks, sum.v_rforkpages, sum.v_rforks == 0 ? 0.0 : (double)sum.v_rforkpages / sum.v_rforks); + xo_close_container("fork-statistics"); } static void @@ -1073,6 +1170,7 @@ devstats(void) busy_seconds = cur.snap_time - last.snap_time; + xo_open_list("device"); for (dn = 0; dn < num_devices; dn++) { int di; @@ -1086,24 +1184,33 @@ devstats(void) &last.dinfo->devices[di], busy_seconds, DSM_TRANSFERS_PER_SECOND, &transfers_per_second, DSM_NONE) != 0) - errx(1, "%s", devstat_errbuf); + xo_errx(1, "%s", devstat_errbuf); - (void)printf("%3.0Lf ", transfers_per_second); + xo_open_instance("device"); + xo_emit("{ekq:name/%c%c%d}{:transfers/%3.0Lf} ", + dev_select[dn].device_name[0], + dev_select[dn].device_name[1], + dev_select[dn].unit_number, + transfers_per_second); + xo_close_instance("device"); } + xo_close_list("device"); } static void -percent(double pct, int *over) +percent(const char *name, double pct, int *over) { char buf[10]; + char fmt[128]; int l; + snprintf(fmt, sizeof(fmt), " {:%s/%%*s}", name); l = snprintf(buf, sizeof(buf), "%.0f", pct); if (l == 1 && *over) { - printf("%s", buf); + xo_emit(fmt, 1, buf); (*over)--; } else - printf("%2s", buf); + xo_emit(fmt, 2, buf); if (l > 2) (*over)++; } @@ -1122,12 +1229,11 @@ cpustats(void) else lpct = 0.0; over = 0; - printf(" "); - percent((cur.cp_time[CP_USER] + cur.cp_time[CP_NICE]) * lpct, &over); - printf(" "); - percent((cur.cp_time[CP_SYS] + cur.cp_time[CP_INTR]) * lpct, &over); - printf(" "); - percent(cur.cp_time[CP_IDLE] * lpct, &over); + xo_open_container("cpu-statistics"); + percent("user", (cur.cp_time[CP_USER] + cur.cp_time[CP_NICE]) * lpct, &over); + percent("system", (cur.cp_time[CP_SYS] + cur.cp_time[CP_INTR]) * lpct, &over); + percent("idle", cur.cp_time[CP_IDLE] * lpct, &over); + xo_close_container("cpu-statistics"); } static void @@ -1151,9 +1257,12 @@ pcpustats(int ncpus, u_long cpumask, int } over = 0; + xo_open_list("cpu"); for (i = 0; i <= maxid; i++) { if ((cpumask & (1ul << i)) == 0) continue; + xo_open_instance("cpu"); + xo_emit("{ke:name/%d}", i); total = 0; for (state = 0; state < CPUSTATES; ++state) total += cur_cp_times[i * CPUSTATES + state]; @@ -1161,15 +1270,15 @@ pcpustats(int ncpus, u_long cpumask, int lpct = 100.0 / total; else lpct = 0.0; - printf(" "); - percent((cur_cp_times[i * CPUSTATES + CP_USER] + + percent("user", (cur_cp_times[i * CPUSTATES + CP_USER] + cur_cp_times[i * CPUSTATES + CP_NICE]) * lpct, &over); - printf(" "); - percent((cur_cp_times[i * CPUSTATES + CP_SYS] + + percent("system", (cur_cp_times[i * CPUSTATES + CP_SYS] + cur_cp_times[i * CPUSTATES + CP_INTR]) * lpct, &over); - printf(" "); - percent(cur_cp_times[i * CPUSTATES + CP_IDLE] * lpct, &over); + percent("idle", cur_cp_times[i * CPUSTATES + CP_IDLE] * lpct, + &over); + xo_close_instance("cpu"); } + xo_close_list("cpu"); } static unsigned int @@ -1209,14 +1318,19 @@ print_intrcnts(unsigned long *intrcnts, inttotal = 0; old_inttotal = 0; intrname = intrnames; + xo_emit("{T:/%-*s} {T:/%20s} {T:/%10s}\n", + (int)istrnamlen, "interrupt", "total", "rate"); + xo_open_list("interrupt"); for (i = 0, intrcnt=intrcnts, old_intrcnt=old_intrcnts; i < nintr; i++) { if (intrname[0] != '\0' && (*intrcnt != 0 || aflag)) { unsigned long count, rate; count = *intrcnt - *old_intrcnt; rate = (count * 1000 + period_ms / 2) / period_ms; - (void)printf("%-*s %20lu %10lu\n", (int)istrnamlen, - intrname, count, rate); + xo_open_instance("interrupt"); + xo_emit("{k:name/%-*s} {:total/%20lu} {:rate/%10lu}\n", + (int)istrnamlen, intrname, count, rate); + xo_close_instance("interrupt"); } intrname += strlen(intrname) + 1; inttotal += *intrcnt++; @@ -1224,8 +1338,10 @@ print_intrcnts(unsigned long *intrcnts, } total_count = inttotal - old_inttotal; total_rate = (total_count * 1000 + period_ms / 2) / period_ms; - (void)printf("%-*s %20" PRIu64 " %10" PRIu64 "\n", (int)istrnamlen, - "Total", total_count, total_rate); + xo_close_list("interrupt"); + xo_emit("{L:/%-*s} {:total-interrupts/%20" PRIu64 "} " + "{:total-rate/%10" PRIu64 "}\n", (int)istrnamlen, + "Total", total_count, total_rate); } static void @@ -1243,12 +1359,12 @@ dointr(unsigned int interval, int reps) if (kd != NULL) { kread(X_SINTRNAMES, &inamlen, sizeof(inamlen)); if ((intrnames = malloc(inamlen)) == NULL) - err(1, "malloc()"); + xo_err(1, "malloc()"); kread(X_INTRNAMES, intrnames, inamlen); } else { for (intrnames = NULL, inamlen = 1024; ; inamlen *= 2) { if ((intrnames = reallocf(intrnames, inamlen)) == NULL) - err(1, "reallocf()"); + xo_err(1, "reallocf()"); if (mysysctl("hw.intrnames", intrnames, &inamlen, NULL, 0) == 0) break; @@ -1264,8 +1380,8 @@ dointr(unsigned int interval, int reps) istrnamlen = clen; intrname += strlen(intrname) + 1; } - (void)printf("%-*s %20s %10s\n", (int)istrnamlen, "interrupt", "total", - "rate"); + xo_emit("%{T:/%-%s} {T:/%20s} {T:/%10s\n", + (int)istrnamlen, "interrupt", "total", "rate"); /* * Loop reps times printing differential interrupt counts. If reps is @@ -1284,7 +1400,7 @@ dointr(unsigned int interval, int reps) if (old_intrcnts == NULL) { old_intrcnts = calloc(nintr, sizeof(unsigned long)); if (old_intrcnts == NULL) - err(1, "calloc()"); + xo_err(1, "calloc()"); } print_intrcnts(intrcnts, old_intrcnts, intrnames, nintr, @@ -1310,12 +1426,12 @@ domemstat_malloc(void) mtlp = memstat_mtl_alloc(); if (mtlp == NULL) { - warn("memstat_mtl_alloc"); + xo_warn("memstat_mtl_alloc"); return; } if (kd == NULL) { if (memstat_sysctl_malloc(mtlp, 0) < 0) { - warnx("memstat_sysctl_malloc: %s", + xo_warnx("memstat_sysctl_malloc: %s", memstat_strerror(memstat_mtl_geterror(mtlp))); return; } @@ -1323,35 +1439,43 @@ domemstat_malloc(void) if (memstat_kvm_malloc(mtlp, kd) < 0) { error = memstat_mtl_geterror(mtlp); if (error == MEMSTAT_ERROR_KVM) - warnx("memstat_kvm_malloc: %s", + xo_warnx("memstat_kvm_malloc: %s", kvm_geterr(kd)); else - warnx("memstat_kvm_malloc: %s", + xo_warnx("memstat_kvm_malloc: %s", memstat_strerror(error)); } } - printf("%13s %5s %6s %7s %8s Size(s)\n", "Type", "InUse", "MemUse", - "HighUse", "Requests"); + xo_emit("{T:/%13s} {T:/%5s} {T:/%6s} {T:/%7s} {T:/%8s} {T:Size(s)}\n", + "Type", "InUse", "MemUse", "HighUse", "Requests"); + xo_open_list("memory"); for (mtp = memstat_mtl_first(mtlp); mtp != NULL; mtp = memstat_mtl_next(mtp)) { if (memstat_get_numallocs(mtp) == 0 && memstat_get_count(mtp) == 0) continue; - printf("%13s %5" PRIu64 " %5" PRIu64 "K %7s %8" PRIu64 " ", + xo_open_instance("memory"); + xo_emit("{k:type/%13s} {:in-use/%5" PRIu64 "} " + "{:memory-use/%5" PRIu64 "}{U:K} {:high-use/%7s} " + "{:requests/%8" PRIu64 "} ", memstat_get_name(mtp), memstat_get_count(mtp), (memstat_get_bytes(mtp) + 1023) / 1024, "-", memstat_get_numallocs(mtp)); first = 1; + xo_open_list("size"); for (i = 0; i < 32; i++) { if (memstat_get_sizemask(mtp) & (1 << i)) { if (!first) - printf(","); - printf("%d", 1 << (i + 4)); + xo_emit(","); + xo_emit("{l:size/%d}", 1 << (i + 4)); first = 0; } } - printf("\n"); + xo_close_list("size"); + xo_close_instance("memory"); + xo_emit("\n"); } + xo_close_list("memory"); memstat_mtl_free(mtlp); } @@ -1365,12 +1489,12 @@ domemstat_zone(void) mtlp = memstat_mtl_alloc(); if (mtlp == NULL) { - warn("memstat_mtl_alloc"); + xo_warn("memstat_mtl_alloc"); return; } if (kd == NULL) { if (memstat_sysctl_uma(mtlp, 0) < 0) { - warnx("memstat_sysctl_uma: %s", + xo_warnx("memstat_sysctl_uma: %s", memstat_strerror(memstat_mtl_geterror(mtlp))); return; } @@ -1378,28 +1502,35 @@ domemstat_zone(void) if (memstat_kvm_uma(mtlp, kd) < 0) { error = memstat_mtl_geterror(mtlp); if (error == MEMSTAT_ERROR_KVM) - warnx("memstat_kvm_uma: %s", + xo_warnx("memstat_kvm_uma: %s", kvm_geterr(kd)); else - warnx("memstat_kvm_uma: %s", + xo_warnx("memstat_kvm_uma: %s", memstat_strerror(error)); } } - printf("%-20s %6s %6s %8s %8s %8s %4s %4s\n\n", "ITEM", "SIZE", - "LIMIT", "USED", "FREE", "REQ", "FAIL", "SLEEP"); + xo_emit("{T:/%-20s} {T:/%6s} {T:/%6s} {T:/%8s} {T:/%8s} {T:/%8s} " + "{T:/%4s} {T:/%4s}\n\n", "ITEM", "SIZE", + "LIMIT", "USED", "FREE", "REQ", "FAIL", "SLEEP"); + xo_open_list("zone"); for (mtp = memstat_mtl_first(mtlp); mtp != NULL; mtp = memstat_mtl_next(mtp)) { strlcpy(name, memstat_get_name(mtp), MEMTYPE_MAXNAME); strcat(name, ":"); - printf("%-20s %6" PRIu64 ", %6" PRIu64 ",%8" PRIu64 ",%8" PRIu64 - ",%8" PRIu64 ",%4" PRIu64 ",%4" PRIu64 "\n", name, - memstat_get_size(mtp), memstat_get_countlimit(mtp), - memstat_get_count(mtp), memstat_get_free(mtp), *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Fri Nov 20 07:53:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 895B7A33B79; Fri, 20 Nov 2015 07:53:26 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail106.syd.optusnet.com.au (mail106.syd.optusnet.com.au [211.29.132.42]) by mx1.freebsd.org (Postfix) with ESMTP id 48BCF1C07; Fri, 20 Nov 2015 07:53:25 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c211-30-166-197.carlnfd1.nsw.optusnet.com.au (c211-30-166-197.carlnfd1.nsw.optusnet.com.au [211.30.166.197]) by mail106.syd.optusnet.com.au (Postfix) with ESMTPS id CCCD13C335B; Fri, 20 Nov 2015 18:22:26 +1100 (AEDT) Date: Fri, 20 Nov 2015 18:22:22 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: "Jonathan T. Looney" cc: John Baldwin , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm In-Reply-To: Message-ID: <20151120171730.I2071@besplex.bde.org> References: <201511191404.tAJE4reJ064779@repo.freebsd.org> <8452745.P4SYfkWpxv@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=R4L+YolX c=1 sm=1 tr=0 a=KA6XNC2GZCFrdESI5ZmdjQ==:117 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=kj9zAlcOel0A:10 a=6I5d2MoRAAAA:8 a=Uc_2HgOp98-BiDlb7ikA:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 07:53:26 -0000 On Thu, 19 Nov 2015, Jonathan T. Looney wrote: > On 11/19/15, 12:58 PM, "John Baldwin" wrote: >> Note that if you are going to document in each section 9 manpage which >> APIs >> are not safe to call in a critical section, you will need to update just >> about every section 9 manpage. A more prudent approach would probably be >> to >> instead go the sigaction(2) route and instead document the subset of APIs >> which are permissible to call in critical_enter(9). The list is probably >> not >> very long. Off the top of my head I can think of sched_*, swi_sched, >> taskqueue_enqueue_fast, and little else. > > Point taken. Both the man page and the KASSERT()s with redundant (yet incomplete) "or" clause about spinlocks. The change also has some style bugs (extra blank lines). The above list is similar to the list of APIs that may be called by a "fast" interrupt handler. It is much smaller than the full list, but still unmanageably large. The closure of the list is difficult to determined, and the closure of the list of calls actually made is infinite due to bugs like console drivers calling kdb_alt_break() which calls everything via reboot() and panic() (also via kdb_enter(), but the only correct reason for existence of kdb_alt_break() is to enter kdb, and kdb is a little more careful about not calling everything). > As noted above, the point wasn't to enable checking when WITNESS was > disabled; rather, the point was to make the existing checks more > consistent. Basically, if you do something that engenders a panic at high > scale, you should get consistent behavior at low scale, too. Checking that is actually done is also likely to cause recursive panics when panic() is called with in a critical section or in another bad state. This may be considered as a feature. It limits the damage when panic() wanders into normal code does unsafe things for the bad state, and inhibits bugs like kdb_alt_break() calling panic(). Bruce From owner-svn-src-head@freebsd.org Fri Nov 20 08:46:00 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D4D6FA327F4; Fri, 20 Nov 2015 08:46:00 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 79D2311F3; Fri, 20 Nov 2015 08:46:00 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK8jxdX097271; Fri, 20 Nov 2015 08:45:59 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK8jxbx097270; Fri, 20 Nov 2015 08:45:59 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511200845.tAK8jxbx097270@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Fri, 20 Nov 2015 08:45:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291091 - head/usr.bin/xinstall 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.20 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, 20 Nov 2015 08:46:00 -0000 Author: bapt Date: Fri Nov 20 08:45:59 2015 New Revision: 291091 URL: https://svnweb.freebsd.org/changeset/base/291091 Log: install: do not follow symlinks In case the target of install is a dead symlink, install(1) used to not consider it as "existing" because of the usage of stat(2) instead of lstat(2). meaning the old file (the symlink) is not removed before the new file is created. The symlink is being followed and the new file becoming the target of the symlink instead of the target of install(1) Reviewed by: jhb, brooks MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D4191 Modified: head/usr.bin/xinstall/xinstall.c Modified: head/usr.bin/xinstall/xinstall.c ============================================================================== --- head/usr.bin/xinstall/xinstall.c Fri Nov 20 05:15:34 2015 (r291090) +++ head/usr.bin/xinstall/xinstall.c Fri Nov 20 08:45:59 2015 (r291091) @@ -754,10 +754,7 @@ install(const char *from_name, const cha devnull = 1; } - if (!dolink) - target = (stat(to_name, &to_sb) == 0); - else - target = (lstat(to_name, &to_sb) == 0); + target = (lstat(to_name, &to_sb) == 0); if (dolink) { if (target && !safecopy) { @@ -772,8 +769,7 @@ install(const char *from_name, const cha return; } - /* Only install to regular files. */ - if (target && !S_ISREG(to_sb.st_mode)) { + if (target && !S_ISREG(to_sb.st_mode) && !S_ISLNK(to_sb.st_mode)) { errno = EFTYPE; warn("%s", to_name); return; @@ -786,7 +782,7 @@ install(const char *from_name, const cha err(EX_OSERR, "%s", from_name); /* If we don't strip, we can compare first. */ - if (docompare && !dostrip && target) { + if (docompare && !dostrip && target && S_ISREG(to_sb.st_mode)) { if ((to_fd = open(to_name, O_RDONLY, 0)) < 0) err(EX_OSERR, "%s", to_name); if (devnull) @@ -838,7 +834,7 @@ install(const char *from_name, const cha /* * Compare the stripped temp file with the target. */ - if (docompare && dostrip && target) { + if (docompare && dostrip && target && S_ISREG(to_sb.st_mode)) { temp_fd = to_fd; /* Re-open to_fd using the real target name. */ @@ -872,9 +868,7 @@ install(const char *from_name, const cha } (void) close(temp_fd); } - } - - if (dostrip && (!docompare || !target)) + } else if (dostrip) digestresult = digest_file(tempfile); /* From owner-svn-src-head@freebsd.org Fri Nov 20 08:54:20 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6DD9CA32A70; Fri, 20 Nov 2015 08:54:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2DE79186C; Fri, 20 Nov 2015 08:54:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK8sJdW000224; Fri, 20 Nov 2015 08:54:19 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK8sJlL000223; Fri, 20 Nov 2015 08:54:19 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511200854.tAK8sJlL000223@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 20 Nov 2015 08:54:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291092 - head/sys/dev/isp 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.20 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, 20 Nov 2015 08:54:20 -0000 Author: mav Date: Fri Nov 20 08:54:19 2015 New Revision: 291092 URL: https://svnweb.freebsd.org/changeset/base/291092 Log: Optimize SNS_GID_FT request scratch memory usage. Now with present 4K of scratch we can fetch up to 508 ports (16 more). Modified: head/sys/dev/isp/isp.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Fri Nov 20 08:45:59 2015 (r291091) +++ head/sys/dev/isp/isp.c Fri Nov 20 08:54:19 2015 (r291092) @@ -3193,16 +3193,16 @@ abort: */ /* - * Take less than half of our scratch area to store Port IDs + * Take half of our scratch area to store Port IDs */ -#define GIDLEN ((ISP_FC_SCRLEN >> 1) - 16 - SNS_GID_FT_REQ_SIZE) +#define GIDLEN (ISP_FC_SCRLEN >> 1) #define NGENT ((GIDLEN - 16) >> 2) -#define IGPOFF (2 * QENTRY_LEN) +#define IGPOFF (0) #define OGPOFF (ISP_FC_SCRLEN >> 1) -#define ZTXOFF (ISP_FC_SCRLEN - (1 * QENTRY_LEN)) -#define CTXOFF (ISP_FC_SCRLEN - (2 * QENTRY_LEN)) -#define XTXOFF (ISP_FC_SCRLEN - (3 * QENTRY_LEN)) +#define XTXOFF (ISP_FC_SCRLEN - (3 * QENTRY_LEN)) /* CT request */ +#define CTXOFF (ISP_FC_SCRLEN - (2 * QENTRY_LEN)) /* Request IOCB */ +#define ZTXOFF (ISP_FC_SCRLEN - (1 * QENTRY_LEN)) /* Response IOCB */ static int isp_gid_ft_sns(ispsoftc_t *isp, int chan) @@ -3213,6 +3213,7 @@ isp_gid_ft_sns(ispsoftc_t *isp, int chan } un; fcparam *fcp = FCPARAM(isp, chan); sns_gid_ft_req_t *rq = &un._x; + uint8_t *scp = fcp->isp_scratch; mbreg_t mbs; isp_prt(isp, ISP_LOGDEBUG0, "Chan %d scanning fabric (GID_FT) via SNS", chan); @@ -3228,16 +3229,16 @@ isp_gid_ft_sns(ispsoftc_t *isp, int chan rq->snscb_mword_div_2 = NGENT; rq->snscb_fc4_type = FC4_SCSI; - isp_put_gid_ft_request(isp, rq, fcp->isp_scratch); + isp_put_gid_ft_request(isp, rq, (sns_gid_ft_req_t *)&scp[CTXOFF]); MEMORYBARRIER(isp, SYNC_SFORDEV, 0, SNS_GID_FT_REQ_SIZE, chan); MBSINIT(&mbs, MBOX_SEND_SNS, MBLOGALL, 10000000); mbs.param[0] = MBOX_SEND_SNS; mbs.param[1] = SNS_GID_FT_REQ_SIZE >> 1; - mbs.param[2] = DMA_WD1(fcp->isp_scdma); - mbs.param[3] = DMA_WD0(fcp->isp_scdma); - mbs.param[6] = DMA_WD3(fcp->isp_scdma); - mbs.param[7] = DMA_WD2(fcp->isp_scdma); + mbs.param[2] = DMA_WD1(fcp->isp_scdma + CTXOFF); + mbs.param[3] = DMA_WD0(fcp->isp_scdma + CTXOFF); + mbs.param[6] = DMA_WD3(fcp->isp_scdma + CTXOFF); + mbs.param[7] = DMA_WD2(fcp->isp_scdma + CTXOFF); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { if (mbs.param[0] == MBOX_INVALID_COMMAND) { @@ -3337,9 +3338,9 @@ isp_gid_ft_ct_passthru(ispsoftc_t *isp, chan, pt->ctp_status); return (-1); } - MEMORYBARRIER(isp, SYNC_SFORCPU, IGPOFF, GIDLEN + 16, chan); + MEMORYBARRIER(isp, SYNC_SFORCPU, IGPOFF, GIDLEN, chan); if (isp->isp_dblev & ISP_LOGDEBUG1) { - isp_print_bytes(isp, "CT response", GIDLEN+16, &scp[IGPOFF]); + isp_print_bytes(isp, "CT response", GIDLEN, &scp[IGPOFF]); } return (0); } From owner-svn-src-head@freebsd.org Fri Nov 20 09:33:23 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B50D4A330B2; Fri, 20 Nov 2015 09:33:23 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 78D281F6E; Fri, 20 Nov 2015 09:33:23 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK9XMd4019665; Fri, 20 Nov 2015 09:33:22 GMT (envelope-from skra@FreeBSD.org) Received: (from skra@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK9XMeA019664; Fri, 20 Nov 2015 09:33:22 GMT (envelope-from skra@FreeBSD.org) Message-Id: <201511200933.tAK9XMeA019664@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: skra set sender to skra@FreeBSD.org using -f From: Svatopluk Kraus Date: Fri, 20 Nov 2015 09:33:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291093 - 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.20 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, 20 Nov 2015 09:33:23 -0000 Author: skra Date: Fri Nov 20 09:33:22 2015 New Revision: 291093 URL: https://svnweb.freebsd.org/changeset/base/291093 Log: Fix style and argument count for KTR. Approved by: kib (mentor) Modified: head/sys/arm/arm/pmap-v6-new.c Modified: head/sys/arm/arm/pmap-v6-new.c ============================================================================== --- head/sys/arm/arm/pmap-v6-new.c Fri Nov 20 08:54:19 2015 (r291092) +++ head/sys/arm/arm/pmap-v6-new.c Fri Nov 20 09:33:22 2015 (r291093) @@ -5475,7 +5475,8 @@ pmap_page_set_memattr(vm_page_t m, vm_me oma = m->md.pat_mode; m->md.pat_mode = ma; - CTR5(KTR_PMAP, "%s: page %p - 0x%08X oma: %d, ma: %d, phys: 0x%08X", __func__, m, VM_PAGE_TO_PHYS(m), oma, ma); + CTR5(KTR_PMAP, "%s: page %p - 0x%08X oma: %d, ma: %d", __func__, m, + VM_PAGE_TO_PHYS(m), oma, ma); if ((m->flags & PG_FICTITIOUS) != 0) return; #if 0 From owner-svn-src-head@freebsd.org Fri Nov 20 09:35:00 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EEEDFA33186; Fri, 20 Nov 2015 09:35:00 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B957F1120; Fri, 20 Nov 2015 09:35:00 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK9Yx8p019761; Fri, 20 Nov 2015 09:34:59 GMT (envelope-from skra@FreeBSD.org) Received: (from skra@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK9YxI2019760; Fri, 20 Nov 2015 09:34:59 GMT (envelope-from skra@FreeBSD.org) Message-Id: <201511200934.tAK9YxI2019760@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: skra set sender to skra@FreeBSD.org using -f From: Svatopluk Kraus Date: Fri, 20 Nov 2015 09:34:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291094 - 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.20 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, 20 Nov 2015 09:35:01 -0000 Author: skra Date: Fri Nov 20 09:34:59 2015 New Revision: 291094 URL: https://svnweb.freebsd.org/changeset/base/291094 Log: Add usermode variable to KTR output. Fix style. Approved by: kib (mentor) Modified: head/sys/arm/arm/trap-v6.c Modified: head/sys/arm/arm/trap-v6.c ============================================================================== --- head/sys/arm/arm/trap-v6.c Fri Nov 20 09:33:22 2015 (r291093) +++ head/sys/arm/arm/trap-v6.c Fri Nov 20 09:34:59 2015 (r291094) @@ -302,8 +302,8 @@ abort_handler(struct trapframe *tf, int if (usermode) td->td_frame = tf; - CTR4(KTR_TRAP, "abort_handler: fsr %#x (idx %u) far %#x prefetch %u", - fsr, idx, far, prefetch); + CTR6(KTR_TRAP, "%s: fsr %#x (idx %u) far %#x prefetch %u usermode %d", + __func__, fsr, idx, far, prefetch, usermode); /* * Firstly, handle aborts that are not directly related to mapping. From owner-svn-src-head@freebsd.org Fri Nov 20 09:37:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 88919A33203; Fri, 20 Nov 2015 09:37:05 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 516B8129D; Fri, 20 Nov 2015 09:37:05 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAK9b4TT019879; Fri, 20 Nov 2015 09:37:04 GMT (envelope-from skra@FreeBSD.org) Received: (from skra@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAK9b4Jm019878; Fri, 20 Nov 2015 09:37:04 GMT (envelope-from skra@FreeBSD.org) Message-Id: <201511200937.tAK9b4Jm019878@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: skra set sender to skra@FreeBSD.org using -f From: Svatopluk Kraus Date: Fri, 20 Nov 2015 09:37:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291095 - head/sys/dev/de 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.20 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, 20 Nov 2015 09:37:05 -0000 Author: skra Date: Fri Nov 20 09:37:04 2015 New Revision: 291095 URL: https://svnweb.freebsd.org/changeset/base/291095 Log: Fix build when KTR is defined but not KTR_TULIP. Approved by: kib (mentor) Modified: head/sys/dev/de/if_de.c Modified: head/sys/dev/de/if_de.c ============================================================================== --- head/sys/dev/de/if_de.c Fri Nov 20 09:34:59 2015 (r291094) +++ head/sys/dev/de/if_de.c Fri Nov 20 09:37:04 2015 (r291095) @@ -3937,8 +3937,8 @@ tulip_txput(tulip_softc_t * const sc, st segcnt++; m0 = m0->m_next; } -#endif CTR2(KTR_TULIP, "tulip_txput: sending packet %p (%d chunks)", m, segcnt); +#endif d_status = 0; eop = nextout = ri->ri_nextout; segcnt = 0; From owner-svn-src-head@freebsd.org Fri Nov 20 11:01:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A8E7A33F66 for ; Fri, 20 Nov 2015 11:01:39 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: from mail-wm0-x22f.google.com (mail-wm0-x22f.google.com [IPv6:2a00:1450:400c:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B08991263 for ; Fri, 20 Nov 2015 11:01:38 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: by wmdw130 with SMTP id w130so14956121wmd.0 for ; Fri, 20 Nov 2015 03:01:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QlghX0mKpYB64D419YpltielYF/xYyi4sViIGTl2m1k=; b=hphms+oCnusukC4UiZDktV0KAd1+tDfRxGxqrm5k14rLBbW5oErmuue4RZ74lKR/oz HofjJ5+8f9X74IM0SwaqpYs3GxP5W+vl/KUeiVoIHfayY4LuQDKM85CNFGN9ilDhaenT ivfS3sOvUD7bTKkmVU1vxkNpfzGG5oMSduTQxUgyqzD8m14nVHaH19rhP6Ptf+xYLqWT olnPqfxIZwPVgL5LLixfL/KYAjS2PpSa68w3uf7aJZEQoNJvW8mwGE9vtwraFeBuJHKG sEpZKnhBAJMXXdig4LW15efQhSGjtMTV3mHZ+cyRHo91vDQZCvMhFuT4vHWhSKk30ZYy a0tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=QlghX0mKpYB64D419YpltielYF/xYyi4sViIGTl2m1k=; b=aLNDreO59CpMOjStunC/qMLl5hUQU09qh/lazzq8ikVGmeP1tAaInSih16n+gjIotd 7GPU8JDt8prmbd6gAIbYChdQsJDGZeQbKpQTA80io3aBiT4kiHCxD8cKtQogCZpTfDQa ZryjkrWNT9BbbbocwzgpbfHrjWmC+vIUgdLUtRPMkuzsZzMs+4dloWju8ZLoCeTsqppx IlRaaiaGxqAiGWR36op9W033xdSs3ULAXsZA2seJgEO/sMK3GbEtGS9yPjoIQJOW8GA/ u4ZNllKYrIg4IbEBrNdWU8m0DYZBVuZwhFfEzhRXQEdqBbFgQsfNVLciiXbBIrazgOV1 oSuA== X-Gm-Message-State: ALoCoQnPc43kofcGiDkLKfpOBj8QRjJgoug5CiXjRZOKK1ZymYZPTM7jRIfm/QPzcNGt5G5ieY/T MIME-Version: 1.0 X-Received: by 10.194.202.163 with SMTP id kj3mr13297006wjc.93.1448017296683; Fri, 20 Nov 2015 03:01:36 -0800 (PST) Received: by 10.194.158.225 with HTTP; Fri, 20 Nov 2015 03:01:36 -0800 (PST) In-Reply-To: <201511200515.tAK5FZT8037263@repo.freebsd.org> References: <201511200515.tAK5FZT8037263@repo.freebsd.org> Date: Fri, 20 Nov 2015 12:01:36 +0100 Message-ID: Subject: Re: svn commit: r291090 - head/usr.bin/vmstat From: Oliver Pinter To: Craig Rodrigues Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 11:01:39 -0000 On 11/20/15, Craig Rodrigues wrote: > Author: rodrigc > Date: Fri Nov 20 05:15:34 2015 > New Revision: 291090 > URL: https://svnweb.freebsd.org/changeset/base/291090 > > Log: > Convert vmstat to use libxo. > > This patch was based on this patch: > https://github.com/Juniper/libxo/blob/master/patches/vmstat.patch > > by Phil Shafer at Juniper Networks, but updated to the latest > vmstat code. > > Reviewed by: allanjude > Differential Revision: https://reviews.freebsd.org/D3935 > > Modified: > head/usr.bin/vmstat/Makefile > head/usr.bin/vmstat/vmstat.8 > head/usr.bin/vmstat/vmstat.c > > Modified: head/usr.bin/vmstat/Makefile > ============================================================================== > --- head/usr.bin/vmstat/Makefile Fri Nov 20 03:24:04 2015 (r291089) > +++ head/usr.bin/vmstat/Makefile Fri Nov 20 05:15:34 2015 (r291090) > @@ -3,7 +3,7 @@ > > PROG= vmstat > MAN= vmstat.8 > -LIBADD= devstat kvm memstat util > +LIBADD= devstat kvm memstat xo util > > WARNS?= 1 > > > Modified: head/usr.bin/vmstat/vmstat.8 > ============================================================================== > --- head/usr.bin/vmstat/vmstat.8 Fri Nov 20 03:24:04 2015 (r291089) > +++ head/usr.bin/vmstat/vmstat.8 Fri Nov 20 05:15:34 2015 (r291090) > @@ -28,7 +28,7 @@ > .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 > .\" $FreeBSD$ > .\" > -.Dd August 8, 2014 > +.Dd November 19, 2015 > .Dt VMSTAT 8 > .Os > .Sh NAME > @@ -37,6 +37,7 @@ > .Sh SYNOPSIS > .Nm > .\" .Op Fl fimst > +.Op Fl -libxo > .Op Fl afHhimoPsz > .Op Fl M Ar core Op Fl N Ar system > .Op Fl c Ar count > @@ -68,6 +69,13 @@ the default image). > .Pp > The options are as follows: > .Bl -tag -width indent > +.It Fl -libxo > +Generate output via > +.Xr libxo 3 > +in a selection of different human and machine readable formats. > +See > +.Xr xo_parse_args 3 > +for details on command line arguments. > .It Fl a > When used with > .Fl i , > @@ -361,6 +369,8 @@ statistics every second. > .Xr ps 1 , > .Xr systat 1 , > .Xr libmemstat 3 , > +.Xr libxo 3 , > +.Xr xo_parse_args 3 , > .Xr gstat 8 , > .Xr iostat 8 , > .Xr pstat 8 , > > Modified: head/usr.bin/vmstat/vmstat.c > ============================================================================== > --- head/usr.bin/vmstat/vmstat.c Fri Nov 20 03:24:04 2015 (r291089) > +++ head/usr.bin/vmstat/vmstat.c Fri Nov 20 05:15:34 2015 (r291090) > @@ -76,6 +76,9 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > + > +#define VMSTAT_XO_VERSION "1" > > static char da[] = "da"; > > @@ -184,6 +187,11 @@ main(int argc, char *argv[]) > interval = reps = todo = 0; > maxshowdevs = 2; > hflag = isatty(1); > + > + argc = xo_parse_args(argc, argv); > + if (argc < 0) > + return argc; > + > while ((c = getopt(argc, argv, "ac:fhHiM:mN:n:oPp:stw:z")) != -1) { > switch (c) { > case 'a': > @@ -220,7 +228,7 @@ main(int argc, char *argv[]) > nflag = 1; > maxshowdevs = atoi(optarg); > if (maxshowdevs < 0) > - errx(1, "number of devices %d is < 0", > + xo_errx(1, "number of devices %d is < 0", > maxshowdevs); > break; > case 'o': > @@ -228,7 +236,7 @@ main(int argc, char *argv[]) > break; > case 'p': > if (devstat_buildmatch(optarg, &matches, &num_matches) != 0) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > break; > case 's': > todo |= SUMSTAT; > @@ -237,7 +245,7 @@ main(int argc, char *argv[]) > #ifdef notyet > todo |= TIMESTAT; > #else > - errx(EX_USAGE, "sorry, -t is not (re)implemented yet"); > + xo_errx(EX_USAGE, "sorry, -t is not (re)implemented yet"); > #endif > break; > case 'w': > @@ -256,18 +264,21 @@ main(int argc, char *argv[]) > argc -= optind; > argv += optind; > > + xo_set_version(VMSTAT_XO_VERSION); > if (todo == 0) > todo = VMSTAT; > > if (memf != NULL) { > kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf); > if (kd == NULL) > - errx(1, "kvm_openfiles: %s", errbuf); > + xo_errx(1, "kvm_openfiles: %s", errbuf); > } > > retry_nlist: > if (kd != NULL && (c = kvm_nlist(kd, namelist)) != 0) { > if (c > 0) { > + int bufsize = 0, len = 0; > + char *buf, *bp; > /* > * 'cnt' was renamed to 'vm_cnt'. If 'vm_cnt' is not > * found try looking up older 'cnt' symbol. > @@ -277,20 +288,34 @@ retry_nlist: > namelist[X_SUM].n_name = "_cnt"; > goto retry_nlist; > } > - warnx("undefined symbols:"); > for (c = 0; > c < (int)(sizeof(namelist)/sizeof(namelist[0])); > c++) > if (namelist[c].n_type == 0) > - (void)fprintf(stderr, " %s", > + bufsize += strlen(namelist[c].n_name) + 1; > + bufsize += len + 1; > + buf = bp = alloca(bufsize); > + > + for (c = 0; > + c < (int)(sizeof(namelist)/sizeof(namelist[0])); > + c++) > + if (namelist[c].n_type == 0) { > + xo_error(" %s", > namelist[c].n_name); > - (void)fputc('\n', stderr); > + len = strlen(namelist[c].n_name); > + *bp++ = ' '; > + memcpy(bp, namelist[c].n_name, len); > + bp += len; > + } > + *bp = '\0'; > + xo_error("undefined symbols:\n", buf); > } else > - warnx("kvm_nlist: %s", kvm_geterr(kd)); > + xo_warnx("kvm_nlist: %s", kvm_geterr(kd)); > + xo_finish(); > exit(1); > } > if (kd && Pflag) > - errx(1, "Cannot use -P with crash dumps"); > + xo_errx(1, "Cannot use -P with crash dumps"); > > if (todo & VMSTAT) { > /* > @@ -299,7 +324,7 @@ retry_nlist: > * message informing the user of his mistake. > */ > if (devstat_checkversion(NULL) < 0) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > > > argv = getdrivedata(argv); > @@ -336,6 +361,7 @@ retry_nlist: > dointr(interval, reps); > if (todo & VMSTAT) > dovmstat(interval, reps); > + xo_finish(); > exit(0); > } > > @@ -347,7 +373,7 @@ mysysctl(const char *name, void *oldp, s > > error = sysctlbyname(name, oldp, oldlenp, newp, newlen); > if (error != 0 && errno != ENOMEM) > - err(1, "sysctl(%s)", name); > + xo_err(1, "sysctl(%s)", name); > return (error); > } > > @@ -355,13 +381,13 @@ static char ** > getdrivedata(char **argv) > { > if ((num_devices = devstat_getnumdevs(NULL)) < 0) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > > cur.dinfo = (struct devinfo *)calloc(1, sizeof(struct devinfo)); > last.dinfo = (struct devinfo *)calloc(1, sizeof(struct devinfo)); > > if (devstat_getdevs(NULL, &cur) == -1) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > > num_devices = cur.dinfo->numdevs; > generation = cur.dinfo->generation; > @@ -393,7 +419,7 @@ getdrivedata(char **argv) > */ > if ((num_devices_specified == 0) && (num_matches == 0)) { > if (devstat_buildmatch(da, &matches, &num_matches) != 0) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > > select_mode = DS_SELECT_ADD; > } else > @@ -409,7 +435,7 @@ getdrivedata(char **argv) > num_devices, matches, num_matches, specified_devices, > num_devices_specified, select_mode, > maxshowdevs, 0) == -1) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > > return(argv); > } > @@ -439,16 +465,16 @@ fill_pcpu(struct pcpu ***pcpup, int* max > > maxcpu = kvm_getmaxcpu(kd); > if (maxcpu < 0) > - errx(1, "kvm_getmaxcpu: %s", kvm_geterr(kd)); > + xo_errx(1, "kvm_getmaxcpu: %s", kvm_geterr(kd)); > > pcpu = calloc(maxcpu, sizeof(struct pcpu *)); > if (pcpu == NULL) > - err(1, "calloc"); > + xo_err(1, "calloc"); > > for (i = 0; i < maxcpu; i++) { > pcpu[i] = kvm_getpcpu(kd, i); > if (pcpu[i] == (struct pcpu *)-1) > - errx(1, "kvm_getpcpu: %s", kvm_geterr(kd)); > + xo_errx(1, "kvm_getpcpu: %s", kvm_geterr(kd)); > } > > *maxcpup = maxcpu; > @@ -576,12 +602,12 @@ fill_vmtotal(struct vmtotal *vmtp) > { > if (kd != NULL) { > /* XXX fill vmtp */ > - errx(1, "not implemented"); > + xo_errx(1, "not implemented"); > } else { > size_t size = sizeof(*vmtp); > mysysctl("vm.vmtotal", vmtp, &size, NULL, 0); > if (size != sizeof(*vmtp)) > - errx(1, "vm.total size mismatch"); > + xo_errx(1, "vm.total size mismatch"); > } > } > > @@ -599,17 +625,17 @@ getcpuinfo(u_long *maskp, int *maxidp) > u_long mask; > > if (kd != NULL) > - errx(1, "not implemented"); > + xo_errx(1, "not implemented"); > mask = 0; > ncpus = 0; > size = sizeof(maxcpu); > mysysctl("kern.smp.maxcpus", &maxcpu, &size, NULL, 0); > if (size != sizeof(maxcpu)) > - errx(1, "sysctl kern.smp.maxcpus"); > + xo_errx(1, "sysctl kern.smp.maxcpus"); > size = sizeof(long) * maxcpu * CPUSTATES; > times = malloc(size); > if (times == NULL) > - err(1, "malloc %zd bytes", size); > + xo_err(1, "malloc %zd bytes", size); > mysysctl("kern.cp_times", times, &size, NULL, 0); > maxid = (size / CPUSTATES / sizeof(long)) - 1; > for (i = 0; i <= maxid; i++) { > @@ -632,16 +658,20 @@ getcpuinfo(u_long *maskp, int *maxidp) > > > static void > -prthuman(u_int64_t val, int size) > +prthuman(const char *name, u_int64_t val, int size) > { > char buf[10]; > int flags; > + char fmt[128]; > + > + snprintf(fmt, sizeof(fmt), "{:%s/%%*s}", name); > > if (size < 5 || size > 9) > - errx(1, "doofus"); > + xo_errx(1, "doofus"); > flags = HN_B | HN_NOSPACE | HN_DECIMAL; > humanize_number(buf, size, val, "", HN_AUTOSCALE, flags); > - printf("%*s", size, buf); > + xo_attr("value", "%ju", (uintmax_t) val); > + xo_emit(fmt, size, buf); > } > > static int hz, hdrcnt; > @@ -699,7 +729,7 @@ dovmstat(unsigned int interval, int reps > size = sizeof(clockrate); > mysysctl("kern.clockrate", &clockrate, &size, NULL, 0); > if (size != sizeof(clockrate)) > - errx(1, "clockrate size mismatch"); > + xo_errx(1, "clockrate size mismatch"); > hz = clockrate.hz; > } > > @@ -714,18 +744,18 @@ dovmstat(unsigned int interval, int reps > printhdr(maxid, cpumask); > if (kd != NULL) { > if (kvm_getcptime(kd, cur.cp_time) < 0) > - errx(1, "kvm_getcptime: %s", kvm_geterr(kd)); > + xo_errx(1, "kvm_getcptime: %s", kvm_geterr(kd)); > } else { > size = sizeof(cur.cp_time); > mysysctl("kern.cp_time", &cur.cp_time, &size, NULL, 0); > if (size != sizeof(cur.cp_time)) > - errx(1, "cp_time size mismatch"); > + xo_errx(1, "cp_time size mismatch"); > } > if (Pflag) { > size = size_cp_times; > mysysctl("kern.cp_times", cur_cp_times, &size, NULL, 0); > if (size != size_cp_times) > - errx(1, "cp_times mismatch"); > + xo_errx(1, "cp_times mismatch"); > } > > tmp_dinfo = last.dinfo; > @@ -742,7 +772,7 @@ dovmstat(unsigned int interval, int reps > */ > switch (devstat_getdevs(NULL, &cur)) { > case -1: > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > break; > case 1: { > int retval; > @@ -759,7 +789,7 @@ dovmstat(unsigned int interval, int reps > maxshowdevs, 0); > switch (retval) { > case -1: > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > break; > case 1: > printhdr(maxid, cpumask); > @@ -774,49 +804,64 @@ dovmstat(unsigned int interval, int reps > > fill_vmmeter(&sum); > fill_vmtotal(&total); > - (void)printf("%1d %1d %1d", > + xo_open_container("processes"); > + xo_emit("{:runnable/%1d} {:waiting/%ld} " > + "{:swapped-out/%ld}", Are these %1d -> %ld conversions here intended or a typo? > total.t_rq - 1, total.t_dw + total.t_pw, total.t_sw); > + xo_close_container("processes"); > + xo_open_container("memory"); > #define vmstat_pgtok(a) ((a) * (sum.v_page_size >> 10)) > #define rate(x) (((x) * rate_adj + halfuptime) / uptime) /* round */ > if (hflag) { > - printf(""); > - prthuman(total.t_avm * (u_int64_t)sum.v_page_size, 5); > - printf(" "); > - prthuman(total.t_free * (u_int64_t)sum.v_page_size, 5); > - printf(" "); > - (void)printf("%5lu ", > - (unsigned long)rate(sum.v_vm_faults - > - osum.v_vm_faults)); > + xo_emit(""); > + prthuman("available-memory", > + total.t_avm * (u_int64_t)sum.v_page_size, 5); > + xo_emit(" "); > + prthuman("free-memory", > + total.t_free * (u_int64_t)sum.v_page_size, 5); > + xo_emit(" "); > } else { > - printf(" %7d", vmstat_pgtok(total.t_avm)); > - printf(" %7d ", vmstat_pgtok(total.t_free)); > - (void)printf("%4lu ", > - (unsigned long)rate(sum.v_vm_faults - > - osum.v_vm_faults)); > - } > - (void)printf("%3lu ", > + xo_emit(" "); > + xo_emit("{:available-memory/%7d}", > + vmstat_pgtok(total.t_avm)); > + xo_emit(" "); > + xo_emit("{:free-memory/%7d}", > + vmstat_pgtok(total.t_free)); > + } > + xo_emit("{:total-page-faults/%5lu} ", > + (unsigned long)rate(sum.v_vm_faults - > + osum.v_vm_faults)); > + xo_close_container("memory"); > + > + xo_open_container("paging-rates"); > + xo_emit("{:page-reactivated/%3lu} ", > (unsigned long)rate(sum.v_reactivated - osum.v_reactivated)); > - (void)printf("%3lu ", > + xo_emit("{:paged-in/%3lu} ", > (unsigned long)rate(sum.v_swapin + sum.v_vnodein - > (osum.v_swapin + osum.v_vnodein))); > - (void)printf("%3lu ", > + xo_emit("{:paged-out/%3lu} ", > (unsigned long)rate(sum.v_swapout + sum.v_vnodeout - > (osum.v_swapout + osum.v_vnodeout))); > - (void)printf("%5lu ", > + xo_emit("{:freed/%5lu} ", > (unsigned long)rate(sum.v_tfree - osum.v_tfree)); > - (void)printf("%4lu ", > + xo_emit("{:scanned/%4lu} ", > (unsigned long)rate(sum.v_pdpages - osum.v_pdpages)); > + xo_close_container("paging-rates"); > + > devstats(); > - (void)printf("%4lu %5lu %5lu", > + xo_open_container("fault-rates"); > + xo_emit("{:interrupts/%4lu} {:system-calls/%5lu} " > + "{:context-switches/%5u}", > (unsigned long)rate(sum.v_intr - osum.v_intr), > (unsigned long)rate(sum.v_syscall - osum.v_syscall), > (unsigned long)rate(sum.v_swtch - osum.v_swtch)); > + xo_close_container("fault-rates"); > if (Pflag) > pcpustats(ncpus, cpumask, maxid); > else > cpustats(); > - (void)printf("\n"); > - (void)fflush(stdout); > + xo_emit("\n"); > + xo_flush(); > if (reps >= 0 && --reps <= 0) > break; > osum = sum; > @@ -841,43 +886,43 @@ printhdr(int maxid, u_long cpumask) > > num_shown = (num_selected < maxshowdevs) ? num_selected : maxshowdevs; > if (hflag) { > - (void)printf("procs memory page%*s ", 19, ""); > + xo_emit("{T:procs} {T:memory} ${T:/page%*s}", 19, ""); > } else { > - (void)printf("procs memory page%*s ", 19, ""); > + xo_emit("{T:procs} {T:memory} ${T:/page%*s}", 19, ""); > } > if (num_shown > 1) > - (void)printf(" disks %*s", num_shown * 4 - 7, ""); > + xo_emit(" {T:/disks %*s}", num_shown * 4 - 7, ""); > else if (num_shown == 1) > - (void)printf(" disk"); > - (void)printf(" faults "); > + xo_emit(" {T:disks}"); > + xo_emit(" {T:faults} "); > if (Pflag) { > for (i = 0; i <= maxid; i++) { > if (cpumask & (1ul << i)) > - printf(" cpu%d ", i); > + xo_emit(" {T:/cpu%d} ", i); > } > - printf("\n"); > + xo_emit("\n"); > } else > - printf(" cpu\n"); > + xo_emit(" {T:cpu}\n"); > if (hflag) { > - (void)printf("r b w avm fre flt re pi po fr sr "); > + xo_emit("{T:r} {T:b} {T:w} {T:avm} {T:fre} {T:flt} {T:re} {T:pi} > {T:po} {T:fr} {T:sr} "); > } else { > - (void)printf("r b w avm fre flt re pi po fr sr "); > + xo_emit("{T:r} {T:b} {T:w} {T:avm} {T:fre} {T:flt} {T:re} > {T:pi} {T:po} {T:fr} {T:sr} "); > } > for (i = 0; i < num_devices; i++) > if ((dev_select[i].selected) > && (dev_select[i].selected <= maxshowdevs)) > - (void)printf("%c%c%d ", dev_select[i].device_name[0], > + xo_emit("{T:/%c%c%d} ", dev_select[i].device_name[0], > dev_select[i].device_name[1], > dev_select[i].unit_number); > - (void)printf(" in sy cs"); > + xo_emit(" {T:in} {T:sy} {T:cs}"); > if (Pflag) { > for (i = 0; i <= maxid; i++) { > if (cpumask & (1ul << i)) > - printf(" us sy id"); > + xo_emit(" {T:us} {T:sy} {T:id}"); > } > - printf("\n"); > + xo_emit("\n"); > } else > - printf(" us sy id\n"); > + xo_emit(" {T:us} {T:sy} {T:id}\n"); > if (wresized != 0) > doresize(); > hdrcnt = winlines; > @@ -920,7 +965,7 @@ doresize(void) > if (status == -1 && errno == EINTR) > continue; > else if (status == -1) > - err(1, "ioctl"); > + xo_err(1, "ioctl"); > if (w.ws_row > 3) > winlines = w.ws_row - 3; > else > @@ -943,13 +988,16 @@ dotimes(void) > kread(X_REC, &rectime, sizeof(rectime)); > kread(X_PGIN, &pgintime, sizeof(pgintime)); > kread(X_SUM, &sum, sizeof(sum)); > - (void)printf("%u reclaims, %u total time (usec)\n", > + xo_emit("{:page-reclaims/%u} {N:reclaims}, " > + "{:reclaim-time/%u} {N:total time (usec)}\n", > sum.v_pgrec, rectime); > - (void)printf("average: %u usec / reclaim\n", rectime / sum.v_pgrec); > - (void)printf("\n"); > - (void)printf("%u page ins, %u total time (msec)\n", > + xo_emit("{L:average}: {:reclaim-average/%u} {N:usec \\/ reclaim}\n", > + rectime / sum.v_pgrec); > + xo_emit("\n"); > + xo_emit("{:page-ins/%u} {N:page ins}, " > + "{:page-in-time/%u} {N:total time (msec)}\n", > sum.v_pgin, pgintime / 10); > - (void)printf("average: %8.1f msec / page in\n", > + xo_emit("{L:average}: {:average/%8.1f} {N:msec \\/ page in}\n", > pgintime / (sum.v_pgin * 10.0)); > } > #endif > @@ -974,87 +1022,136 @@ dosum(void) > long nchtotal; > > fill_vmmeter(&sum); > - (void)printf("%9u cpu context switches\n", sum.v_swtch); > - (void)printf("%9u device interrupts\n", sum.v_intr); > - (void)printf("%9u software interrupts\n", sum.v_soft); > - (void)printf("%9u traps\n", sum.v_trap); > - (void)printf("%9u system calls\n", sum.v_syscall); > - (void)printf("%9u kernel threads created\n", sum.v_kthreads); > - (void)printf("%9u fork() calls\n", sum.v_forks); > - (void)printf("%9u vfork() calls\n", sum.v_vforks); > - (void)printf("%9u rfork() calls\n", sum.v_rforks); > - (void)printf("%9u swap pager pageins\n", sum.v_swapin); > - (void)printf("%9u swap pager pages paged in\n", sum.v_swappgsin); > - (void)printf("%9u swap pager pageouts\n", sum.v_swapout); > - (void)printf("%9u swap pager pages paged out\n", sum.v_swappgsout); > - (void)printf("%9u vnode pager pageins\n", sum.v_vnodein); > - (void)printf("%9u vnode pager pages paged in\n", sum.v_vnodepgsin); > - (void)printf("%9u vnode pager pageouts\n", sum.v_vnodeout); > - (void)printf("%9u vnode pager pages paged out\n", sum.v_vnodepgsout); > - (void)printf("%9u page daemon wakeups\n", sum.v_pdwakeups); > - (void)printf("%9u pages examined by the page daemon\n", sum.v_pdpages); > - (void)printf("%9u pages reactivated\n", sum.v_reactivated); > - (void)printf("%9u copy-on-write faults\n", sum.v_cow_faults); > - (void)printf("%9u copy-on-write optimized faults\n", sum.v_cow_optim); > - (void)printf("%9u zero fill pages zeroed\n", sum.v_zfod); > - (void)printf("%9u zero fill pages prezeroed\n", sum.v_ozfod); > - (void)printf("%9u intransit blocking page faults\n", sum.v_intrans); > - (void)printf("%9u total VM faults taken\n", sum.v_vm_faults); > - (void)printf("%9u page faults requiring I/O\n", sum.v_io_faults); > - (void)printf("%9u pages affected by kernel thread creation\n", > - sum.v_kthreadpages); > - (void)printf("%9u pages affected by fork()\n", sum.v_forkpages); > - (void)printf("%9u pages affected by vfork()\n", sum.v_vforkpages); > - (void)printf("%9u pages affected by rfork()\n", sum.v_rforkpages); > - (void)printf("%9u pages cached\n", sum.v_tcached); > - (void)printf("%9u pages freed\n", sum.v_tfree); > - (void)printf("%9u pages freed by daemon\n", sum.v_dfree); > - (void)printf("%9u pages freed by exiting processes\n", sum.v_pfree); > - (void)printf("%9u pages active\n", sum.v_active_count); > - (void)printf("%9u pages inactive\n", sum.v_inactive_count); > - (void)printf("%9u pages in VM cache\n", sum.v_cache_count); > - (void)printf("%9u pages wired down\n", sum.v_wire_count); > - (void)printf("%9u pages free\n", sum.v_free_count); > - (void)printf("%9u bytes per page\n", sum.v_page_size); > + xo_open_container("summary-statistics"); > + xo_emit("{:context-switches/%9u} {N:cpu context switches}\n", > + sum.v_swtch); > + xo_emit("{:interrupts/%9u} {N:device interrupts}\n", > + sum.v_intr); > + xo_emit("{:software-interrupts/%9u} {N:software interrupts}\n", > + sum.v_soft); > + xo_emit("{:traps/%9u} {N:traps}\n", sum.v_trap); > + xo_emit("{:system-calls/%9u} {N:system calls}\n", > + sum.v_syscall); > + xo_emit("{:kernel-threads/%9u} {N:kernel threads created}\n", > + sum.v_kthreads); > + xo_emit("{:forks/%9u} {N: fork() calls}\n", sum.v_forks); > + xo_emit("{:vforks/%9u} {N:vfork() calls}\n", > + sum.v_vforks); > + xo_emit("{:rforks/%9u} {N:rfork() calls}\n", > + sum.v_rforks); > + xo_emit("{:swap-ins/%9u} {N:swap pager pageins}\n", > + sum.v_swapin); > + xo_emit("{:swap-in-pages/%9u} {N:swap pager pages paged in}\n", > + sum.v_swappgsin); > + xo_emit("{:swap-outs/%9u} {N:swap pager pageouts}\n", > + sum.v_swapout); > + xo_emit("{:swap-out-pages/%9u} {N:swap pager pages paged out}\n", > + sum.v_swappgsout); > + xo_emit("{:vnode-page-ins/%9u} {N:vnode pager pageins}\n", > + sum.v_vnodein); > + xo_emit("{:vnode-page-in-pages/%9u} {N:vnode pager pages paged in}\n", > + sum.v_vnodepgsin); > + xo_emit("{:vnode-page-outs/%9u} {N:vnode pager pageouts}\n", > + sum.v_vnodeout); > + xo_emit("{:vnode-page-outs/%9u} {N:vnode pager pages paged out}\n", > + sum.v_vnodepgsout); > + xo_emit("{:page-daemon-wakeups/%9u} {N:page daemon wakeups}\n", > + sum.v_pdwakeups); > + xo_emit("{:page-daemon-pages/%9u} {N:pages examined by the page > daemon}\n", > + sum.v_pdpages); > + xo_emit("{:reactivated/%9u} {N:pages reactivated}\n", > + sum.v_reactivated); > + xo_emit("{:copy-on-write-faults/%9u} {N:copy-on-write faults}\n", > + sum.v_cow_faults); > + xo_emit("{:copy-on-write-optimized-faults/%9u} {N:copy-on-write optimized > faults}\n", > + sum.v_cow_optim); > + xo_emit("{:zero-fill-pages/%9u} {N:zero fill pages zeroed}\n", > + sum.v_zfod); > + xo_emit("{:zero-fill-prezeroed/%9u} {N:zero fill pages prezeroed}\n", > + sum.v_ozfod); > + xo_emit("{:intransit-blocking/%9u} {N:intransit blocking page faults}\n", > + sum.v_intrans); > + xo_emit("{:total-faults/%9u} {N:total VM faults taken}\n", > + sum.v_vm_faults); > + xo_emit("{:faults-requiring-io/%9u} {N:page faults requiring I\\/O}\n", > + sum.v_io_faults); > + xo_emit("{:faults-from-thread-creation/%9u} {N:pages affected by kernel > thread creation}\n", > + sum.v_kthreadpages); > + xo_emit("{:faults-from-fork/%9u} {N:pages affected by fork}()\n", > + sum.v_forkpages); > + xo_emit("{:faults-from-vfork/%9u} {N:pages affected by vfork}()\n", > + sum.v_vforkpages); > + xo_emit("{:pages-rfork/%9u} {N:pages affected by rfork}()\n", > + sum.v_rforkpages); > + xo_emit("{:pages-total-cached/%9u} {N:pages cached}\n", > + sum.v_tcached); > + xo_emit("{:pages-freed/%9u} {N:pages freed}\n", > + sum.v_tfree); > + xo_emit("{:pages-freed-by-daemon/%9u} {N:pages freed by daemon}\n", > + sum.v_dfree); > + xo_emit("{:pages-freed-on-exit/%9u} {N:pages freed by exiting > processes}\n", > + sum.v_pfree); > + xo_emit("{:active-pages/%9u} {N:pages active}\n", > + sum.v_active_count); > + xo_emit("{:inactive-pages/%9u} {N:pages inactive}\n", > + sum.v_inactive_count); > + xo_emit("{:vm-cache/%9u} {N:pages in VM cache}\n", > + sum.v_cache_count); > + xo_emit("{:wired-pages/%9u} {N:pages wired down}\n", > + sum.v_wire_count); > + xo_emit("{:free-pages/%9u} {N:pages free}\n", > + sum.v_free_count); > + xo_emit("{:bytes-per-page/%9u} {N:bytes per page}\n", sum.v_page_size); > if (kd != NULL) { > kread(X_NCHSTATS, &lnchstats, sizeof(lnchstats)); > } else { > size_t size = sizeof(lnchstats); > mysysctl("vfs.cache.nchstats", &lnchstats, &size, NULL, 0); > if (size != sizeof(lnchstats)) > - errx(1, "vfs.cache.nchstats size mismatch"); > + xo_errx(1, "vfs.cache.nchstats size mismatch"); > } > nchtotal = lnchstats.ncs_goodhits + lnchstats.ncs_neghits + > lnchstats.ncs_badhits + lnchstats.ncs_falsehits + > lnchstats.ncs_miss + lnchstats.ncs_long; > - (void)printf("%9ld total name lookups\n", nchtotal); > - (void)printf( > - "%9s cache hits (%ld%% pos + %ld%% neg) system %ld%% > per-directory\n", > + xo_emit(":total-name-lookups/%9ld} {N:total name lookups}\n", > + nchtotal); > + xo_emit("{P:/%9s} {N:cache hits} " > + "({:positive-cache-hits/%ld}% pos + " > + "{:negative-cache-hits/%ld}% {N:neg}) " > + "system {:cache-hit-percent/%ld}% per-directory\n", > "", PCT(lnchstats.ncs_goodhits, nchtotal), > PCT(lnchstats.ncs_neghits, nchtotal), > PCT(lnchstats.ncs_pass2, nchtotal)); > - (void)printf("%9s deletions %ld%%, falsehits %ld%%, toolong %ld%%\n", "", > + xo_emit("{P:/%9s} {L:deletions} {:deletions/%ld}%, " > + "{L:falsehits} {:false-hits/%ld}%, " > + "{L:toolong} {:too-long/%ld}%\n", "", > PCT(lnchstats.ncs_badhits, nchtotal), > PCT(lnchstats.ncs_falsehits, nchtotal), > PCT(lnchstats.ncs_long, nchtotal)); > + xo_close_container("summary-statistics"); > } > > static void > doforkst(void) > { > fill_vmmeter(&sum); > - (void)printf("%u forks, %u pages, average %.2f\n", > + xo_open_container("fork-statistics"); > + xo_emit("{:fork/%u} {N:forks}, {:fork-pages/%u} {N:pages}, " > + "{L:average} {:fork-average/%.2f}\n", > sum.v_forks, sum.v_forkpages, > sum.v_forks == 0 ? 0.0 : > (double)sum.v_forkpages / sum.v_forks); > - (void)printf("%u vforks, %u pages, average %.2f\n", > + xo_emit("{:vfork/%u} {N:vforks}, {:vfork-pages/%u} {N:pages}, " > + "{L:average} {:vfork-average/%.2f}\n", > sum.v_vforks, sum.v_vforkpages, > sum.v_vforks == 0 ? 0.0 : > (double)sum.v_vforkpages / sum.v_vforks); > - (void)printf("%u rforks, %u pages, average %.2f\n", > + xo_emit("{:rfork/%u} {N:rforks}, {:rfork-pages/%u} {N:pages}, " > + "{L:average} {:rfork-average/%.2f}\n", > sum.v_rforks, sum.v_rforkpages, > sum.v_rforks == 0 ? 0.0 : > (double)sum.v_rforkpages / sum.v_rforks); > + xo_close_container("fork-statistics"); > } > > static void > @@ -1073,6 +1170,7 @@ devstats(void) > > busy_seconds = cur.snap_time - last.snap_time; > > + xo_open_list("device"); > for (dn = 0; dn < num_devices; dn++) { > int di; > > @@ -1086,24 +1184,33 @@ devstats(void) > &last.dinfo->devices[di], busy_seconds, > DSM_TRANSFERS_PER_SECOND, &transfers_per_second, > DSM_NONE) != 0) > - errx(1, "%s", devstat_errbuf); > + xo_errx(1, "%s", devstat_errbuf); > > - (void)printf("%3.0Lf ", transfers_per_second); > + xo_open_instance("device"); > + xo_emit("{ekq:name/%c%c%d}{:transfers/%3.0Lf} ", > + dev_select[dn].device_name[0], > + dev_select[dn].device_name[1], > + dev_select[dn].unit_number, > + transfers_per_second); > + xo_close_instance("device"); > } > + xo_close_list("device"); > } > > static void > -percent(double pct, int *over) > +percent(const char *name, double pct, int *over) > { > char buf[10]; > + char fmt[128]; > int l; > > + snprintf(fmt, sizeof(fmt), " {:%s/%%*s}", name); > l = snprintf(buf, sizeof(buf), "%.0f", pct); > if (l == 1 && *over) { > - printf("%s", buf); > + xo_emit(fmt, 1, buf); > (*over)--; > } else > - printf("%2s", buf); > + xo_emit(fmt, 2, buf); > if (l > 2) > (*over)++; > } > @@ -1122,12 +1229,11 @@ cpustats(void) > else > lpct = 0.0; > over = 0; > - printf(" "); > - percent((cur.cp_time[CP_USER] + cur.cp_time[CP_NICE]) * lpct, &over); > - printf(" "); > - percent((cur.cp_time[CP_SYS] + cur.cp_time[CP_INTR]) * lpct, &over); > - printf(" "); > - percent(cur.cp_time[CP_IDLE] * lpct, &over); > + xo_open_container("cpu-statistics"); > + percent("user", (cur.cp_time[CP_USER] + cur.cp_time[CP_NICE]) * lpct, > &over); > + percent("system", (cur.cp_time[CP_SYS] + cur.cp_time[CP_INTR]) * lpct, > &over); > + percent("idle", cur.cp_time[CP_IDLE] * lpct, &over); > + xo_close_container("cpu-statistics"); > } > > static void > @@ -1151,9 +1257,12 @@ pcpustats(int ncpus, u_long cpumask, int > } > > over = 0; > + xo_open_list("cpu"); > for (i = 0; i <= maxid; i++) { > if ((cpumask & (1ul << i)) == 0) > continue; > + xo_open_instance("cpu"); > + xo_emit("{ke:name/%d}", i); > total = 0; > for (state = 0; state < CPUSTATES; ++state) > total += cur_cp_times[i * CPUSTATES + state]; > @@ -1161,15 +1270,15 @@ pcpustats(int ncpus, u_long cpumask, int > lpct = 100.0 / total; > else > lpct = 0.0; > - printf(" "); > - percent((cur_cp_times[i * CPUSTATES + CP_USER] + > + percent("user", (cur_cp_times[i * CPUSTATES + CP_USER] + > cur_cp_times[i * CPUSTATES + CP_NICE]) * lpct, &over); > - printf(" "); > - percent((cur_cp_times[i * CPUSTATES + CP_SYS] + > + percent("system", (cur_cp_times[i * CPUSTATES + CP_SYS] + > cur_cp_times[i * CPUSTATES + CP_INTR]) * lpct, &over); > - printf(" "); > - percent(cur_cp_times[i * CPUSTATES + CP_IDLE] * lpct, &over); > + percent("idle", cur_cp_times[i * CPUSTATES + CP_IDLE] * lpct, > + &over); > + xo_close_instance("cpu"); > } > + xo_close_list("cpu"); > } > > static unsigned int > @@ -1209,14 +1318,19 @@ print_intrcnts(unsigned long *intrcnts, > inttotal = 0; > old_inttotal = 0; > intrname = intrnames; > + xo_emit("{T:/%-*s} {T:/%20s} {T:/%10s}\n", > + (int)istrnamlen, "interrupt", "total", "rate"); > + xo_open_list("interrupt"); > for (i = 0, intrcnt=intrcnts, old_intrcnt=old_intrcnts; i < nintr; i++) { > if (intrname[0] != '\0' && (*intrcnt != 0 || aflag)) { > unsigned long count, rate; > > count = *intrcnt - *old_intrcnt; > rate = (count * 1000 + period_ms / 2) / period_ms; > - (void)printf("%-*s %20lu %10lu\n", (int)istrnamlen, > - intrname, count, rate); > + xo_open_instance("interrupt"); > + xo_emit("{k:name/%-*s} {:total/%20lu} {:rate/%10lu}\n", > + (int)istrnamlen, intrname, count, rate); > + xo_close_instance("interrupt"); > } > intrname += strlen(intrname) + 1; > inttotal += *intrcnt++; > @@ -1224,8 +1338,10 @@ print_intrcnts(unsigned long *intrcnts, > } > total_count = inttotal - old_inttotal; > total_rate = (total_count * 1000 + period_ms / 2) / period_ms; > - (void)printf("%-*s %20" PRIu64 " %10" PRIu64 "\n", (int)istrnamlen, > - "Total", total_count, total_rate); > + xo_close_list("interrupt"); > + xo_emit("{L:/%-*s} {:total-interrupts/%20" PRIu64 "} " > + "{:total-rate/%10" PRIu64 "}\n", (int)istrnamlen, > + "Total", total_count, total_rate); > } > > static void > @@ -1243,12 +1359,12 @@ dointr(unsigned int interval, int reps) > if (kd != NULL) { > kread(X_SINTRNAMES, &inamlen, sizeof(inamlen)); > if ((intrnames = malloc(inamlen)) == NULL) > - err(1, "malloc()"); > + xo_err(1, "malloc()"); > kread(X_INTRNAMES, intrnames, inamlen); > } else { > for (intrnames = NULL, inamlen = 1024; ; inamlen *= 2) { > if ((intrnames = reallocf(intrnames, inamlen)) == NULL) > - err(1, "reallocf()"); > + xo_err(1, "reallocf()"); > if (mysysctl("hw.intrnames", > intrnames, &inamlen, NULL, 0) == 0) > break; > @@ -1264,8 +1380,8 @@ dointr(unsigned int interval, int reps) > istrnamlen = clen; > intrname += strlen(intrname) + 1; > } > - (void)printf("%-*s %20s %10s\n", (int)istrnamlen, "interrupt", "total", > - "rate"); > + xo_emit("%{T:/%-%s} {T:/%20s} {T:/%10s\n", > + (int)istrnamlen, "interrupt", "total", "rate"); > > /* > * Loop reps times printing differential interrupt counts. If reps is > @@ -1284,7 +1400,7 @@ dointr(unsigned int interval, int reps) > if (old_intrcnts == NULL) { > old_intrcnts = calloc(nintr, sizeof(unsigned long)); > if (old_intrcnts == NULL) > - err(1, "calloc()"); > + xo_err(1, "calloc()"); > } > > print_intrcnts(intrcnts, old_intrcnts, intrnames, nintr, > @@ -1310,12 +1426,12 @@ domemstat_malloc(void) > > mtlp = memstat_mtl_alloc(); > if (mtlp == NULL) { > - warn("memstat_mtl_alloc"); > + xo_warn("memstat_mtl_alloc"); > return; > } > if (kd == NULL) { > if (memstat_sysctl_malloc(mtlp, 0) < 0) { > - warnx("memstat_sysctl_malloc: %s", > + xo_warnx("memstat_sysctl_malloc: %s", > memstat_strerror(memstat_mtl_geterror(mtlp))); > return; > } > @@ -1323,35 +1439,43 @@ domemstat_malloc(void) > if (memstat_kvm_malloc(mtlp, kd) < 0) { > error = memstat_mtl_geterror(mtlp); > if (error == MEMSTAT_ERROR_KVM) > - warnx("memstat_kvm_malloc: %s", > + xo_warnx("memstat_kvm_malloc: %s", > kvm_geterr(kd)); > else > - warnx("memstat_kvm_malloc: %s", > + xo_warnx("memstat_kvm_malloc: %s", > memstat_strerror(error)); > } > } > - printf("%13s %5s %6s %7s %8s Size(s)\n", "Type", "InUse", "MemUse", > - "HighUse", "Requests"); > + xo_emit("{T:/%13s} {T:/%5s} {T:/%6s} {T:/%7s} {T:/%8s} {T:Size(s)}\n", > + "Type", "InUse", "MemUse", "HighUse", "Requests"); > + xo_open_list("memory"); > for (mtp = memstat_mtl_first(mtlp); mtp != NULL; > mtp = memstat_mtl_next(mtp)) { > if (memstat_get_numallocs(mtp) == 0 && > memstat_get_count(mtp) == 0) > continue; > - printf("%13s %5" PRIu64 " %5" PRIu64 "K %7s %8" PRIu64 " ", > + xo_open_instance("memory"); > + xo_emit("{k:type/%13s} {:in-use/%5" PRIu64 "} " > + "{:memory-use/%5" PRIu64 "}{U:K} {:high-use/%7s} " > + "{:requests/%8" PRIu64 "} ", > memstat_get_name(mtp), memstat_get_count(mtp), > (memstat_get_bytes(mtp) + 1023) / 1024, "-", > memstat_get_numallocs(mtp)); > first = 1; > + xo_open_list("size"); > for (i = 0; i < 32; i++) { > if (memstat_get_sizemask(mtp) & (1 << i)) { > if (!first) > - printf(","); > - printf("%d", 1 << (i + 4)); > + xo_emit(","); > + xo_emit("{l:size/%d}", 1 << (i + 4)); > first = 0; > } > } > - printf("\n"); > + xo_close_list("size"); > + xo_close_instance("memory"); > + xo_emit("\n"); > } > + xo_close_list("memory"); > memstat_mtl_free(mtlp); > } > > @@ -1365,12 +1489,12 @@ domemstat_zone(void) > > mtlp = memstat_mtl_alloc(); > if (mtlp == NULL) { > - warn("memstat_mtl_alloc"); > + xo_warn("memstat_mtl_alloc"); > return; > } > if (kd == NULL) { > if (memstat_sysctl_uma(mtlp, 0) < 0) { > - warnx("memstat_sysctl_uma: %s", > + xo_warnx("memstat_sysctl_uma: %s", > memstat_strerror(memstat_mtl_geterror(mtlp))); > return; > } > @@ -1378,28 +1502,35 @@ domemstat_zone(void) > if (memstat_kvm_uma(mtlp, kd) < 0) { > error = memstat_mtl_geterror(mtlp); > if (error == MEMSTAT_ERROR_KVM) > - warnx("memstat_kvm_uma: %s", > + xo_warnx("memstat_kvm_uma: %s", > kvm_geterr(kd)); > else > - warnx("memstat_kvm_uma: %s", > + xo_warnx("memstat_kvm_uma: %s", > memstat_strerror(error)); > } > } > - printf("%-20s %6s %6s %8s %8s %8s %4s %4s\n\n", "ITEM", "SIZE", > - "LIMIT", "USED", "FREE", "REQ", "FAIL", "SLEEP"); > + xo_emit("{T:/%-20s} {T:/%6s} {T:/%6s} {T:/%8s} {T:/%8s} {T:/%8s} " > + "{T:/%4s} {T:/%4s}\n\n", "ITEM", "SIZE", > + "LIMIT", "USED", "FREE", "REQ", "FAIL", "SLEEP"); > + xo_open_list("zone"); > for (mtp = memstat_mtl_first(mtlp); mtp != NULL; > mtp = memstat_mtl_next(mtp)) { > strlcpy(name, memstat_get_name(mtp), MEMTYPE_MAXNAME); > strcat(name, ":"); > - printf("%-20s %6" PRIu64 ", %6" PRIu64 ",%8" PRIu64 ",%8" PRIu64 > - ",%8" PRIu64 ",%4" PRIu64 ",%4" PRIu64 "\n", name, > - memstat_get_size(mtp), memstat_get_countlimit(mtp), > - memstat_get_count(mtp), memstat_get_free(mtp), > > *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-head@freebsd.org Fri Nov 20 11:12:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB0A8A332FF; Fri, 20 Nov 2015 11:12:42 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 9AF3B1A18; Fri, 20 Nov 2015 11:12:42 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 993A01CD2; Fri, 20 Nov 2015 11:12:42 +0000 (UTC) Date: Fri, 20 Nov 2015 11:12:42 +0000 From: Alexey Dokuchaev To: Oliver Pinter Cc: Craig Rodrigues , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r291090 - head/usr.bin/vmstat Message-ID: <20151120111242.GA47921@FreeBSD.org> References: <201511200515.tAK5FZT8037263@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 11:12:42 -0000 On Fri, Nov 20, 2015 at 12:01:36PM +0100, Oliver Pinter wrote: > On 11/20/15, Craig Rodrigues wrote: > > New Revision: 291090 > > URL: https://svnweb.freebsd.org/changeset/base/291090 > > > > Log: > > Convert vmstat to use libxo. > > > > [...] > > @@ -774,49 +804,64 @@ dovmstat(unsigned int interval, int reps > > > > fill_vmmeter(&sum); > > fill_vmtotal(&total); > > - (void)printf("%1d %1d %1d", > > + xo_open_container("processes"); > > + xo_emit("{:runnable/%1d} {:waiting/%ld} " > > + "{:swapped-out/%ld}", > > Are these %1d -> %ld conversions here intended or a typo? Oliver, please learn how to quote email when replying properly, thank you. ./danfe From owner-svn-src-head@freebsd.org Fri Nov 20 11:40:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8934A336AC; Fri, 20 Nov 2015 11:40:56 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22b.google.com (mail-qg0-x22b.google.com [IPv6:2607:f8b0:400d:c04::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 897E7133D; Fri, 20 Nov 2015 11:40:56 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by qgcc31 with SMTP id c31so27829761qgc.3; Fri, 20 Nov 2015 03:40:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=gawUUi57Q1OrKRPoQSmDyI+zJn4jNf28ZDayOIFKbVE=; b=XOcsJ6WO0qi/NiDmglk6c1YE/NWHoGGn2moISPNtjReJ9hc79jDyX/1OubpkkqYu/A bIQWexrWqLdZFn2XO9aZ9cHgTzveLCO0QpQFTb11oHs/O+wtdCRip3lrPR/S6YyRaA/u TWP3NrhL88LNngzHNNobxKgacQqMVm1eMUUvCtPs/kFCuuYT2KdgcEbJ6l6hsbjfyV+v pR4OHoh/O7I1JZ8P0m52f4wAnuviWWFy4/uMOUBadEQEpuQl4ai7Z9Ryu8OhDfPQfTSD 2m0sd4fdeZBR79rqg7Sk2hxFaLXdUVv2FOoMhltEHkPpTlQBjOeEolcgdAnTDxIiWnkI p7HQ== X-Received: by 10.140.217.138 with SMTP id n132mr13223931qhb.26.1448019655731; Fri, 20 Nov 2015 03:40:55 -0800 (PST) Received: from mbp.home ([186.249.148.143]) by smtp.gmail.com with ESMTPSA id m23sm3411125qkh.46.2015.11.20.03.40.53 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 20 Nov 2015 03:40:55 -0800 (PST) Sender: Renato Botelho Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\)) Subject: Re: svn commit: r286999 - in head/sys: dev/xen/blkfront dev/xen/netfront x86/xen xen From: Renato Botelho In-Reply-To: <201508211553.t7LFr9RB047233@repo.freebsd.org> Date: Fri, 20 Nov 2015 09:40:51 -0200 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <27E59D07-C394-4E0B-BF18-B31FF125C4F4@FreeBSD.org> References: <201508211553.t7LFr9RB047233@repo.freebsd.org> To: =?utf-8?Q?Roger_Pau_Monn=C3=A9?= X-Mailer: Apple Mail (2.3096.5) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 11:40:57 -0000 > On Aug 21, 2015, at 12:53, Roger Pau Monn=C3=A9 = wrote: >=20 > Author: royger > Date: Fri Aug 21 15:53:08 2015 > New Revision: 286999 > URL: https://svnweb.freebsd.org/changeset/base/286999 >=20 > Log: > xen: allow disabling PV disks and nics >=20 > Introduce two new loader tunnables that can be used to disable PV = disks and > PV nics at boot time. They default to 0 and should be set to 1 (or = any > number different than 0) in order to disable the PV devices: >=20 > hw.xen.disable_pv_disks=3D1 > hw.xen.disable_pv_nics=3D1 >=20 > In /boot/loader.conf will disable both PV disks and nics. >=20 > Sponsored by: Citrix Systems R&D > Tested by: Karl Pielorz > MFC after: 1 week Hello Roger, Do you still plan to MFC this one? Thanks -- Renato Botelho From owner-svn-src-head@freebsd.org Fri Nov 20 12:15:59 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CEF52A323B5; Fri, 20 Nov 2015 12:15:59 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9C36B1A55; Fri, 20 Nov 2015 12:15:59 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKCFwcF066271; Fri, 20 Nov 2015 12:15:58 GMT (envelope-from ume@FreeBSD.org) Received: (from ume@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKCFwnX066270; Fri, 20 Nov 2015 12:15:58 GMT (envelope-from ume@FreeBSD.org) Message-Id: <201511201215.tAKCFwnX066270@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ume set sender to ume@FreeBSD.org using -f From: Hajimu UMEMOTO Date: Fri, 20 Nov 2015 12:15:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291096 - head/usr.bin/netstat 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.20 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, 20 Nov 2015 12:15:59 -0000 Author: ume Date: Fri Nov 20 12:15:58 2015 New Revision: 291096 URL: https://svnweb.freebsd.org/changeset/base/291096 Log: Avoid core dump when output style is html. Modified: head/usr.bin/netstat/if.c Modified: head/usr.bin/netstat/if.c ============================================================================== --- head/usr.bin/netstat/if.c Fri Nov 20 09:37:04 2015 (r291095) +++ head/usr.bin/netstat/if.c Fri Nov 20 12:15:58 2015 (r291096) @@ -358,8 +358,8 @@ intpr(void (*pfunc)(char *), int af) } else xname = name; - xo_emit("{etk:name/%s}{eq:flags/0x%x}{d:/%-*.*s}", - name, ifa->ifa_flags, ifn_len_max, ifn_len_max, xname); + xo_emit("{d:/%-*.*s}{etk:name}{eq:flags/0x%x}", + ifn_len_max, ifn_len_max, xname, name, ifa->ifa_flags); #define IFA_MTU(ifa) (((struct if_data *)(ifa)->ifa_data)->ifi_mtu) show_stat("lu", 6, "mtu", IFA_MTU(ifa), IFA_MTU(ifa), 0); @@ -379,15 +379,13 @@ intpr(void (*pfunc)(char *), int af) nn = netname(ifa->ifa_addr, ifa->ifa_netmask); rn = routename(ifa->ifa_addr, numeric_addr); if (Wflag) { - xo_emit("{et:network/%s}{d:/%-*s} ", - nn, net_len, nn); - xo_emit("{et:address/%s}{d:/%-*s} ", - rn, addr_len, rn); + xo_emit("{t:network/%-*s} ", net_len, nn); + xo_emit("{t:address/%-*s} ", addr_len, rn); } else { - xo_emit("{et:network/%s}{d:/%-*.*s} ", - nn, net_len, net_len, nn); - xo_emit("{et:address/%s}{d:/%-*.*s} ", - rn, addr_len, addr_len, rn); + xo_emit("{d:network/%-*.*s}{et:network} ", + net_len, net_len, nn, nn); + xo_emit("{d:address/%-*.*s}{et:address} ", + addr_len, addr_len, rn, rn); } network = true; From owner-svn-src-head@freebsd.org Fri Nov 20 12:32:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A9DDA328B8; Fri, 20 Nov 2015 12:32:50 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4731913A0; Fri, 20 Nov 2015 12:32:50 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKCWn0b071938; Fri, 20 Nov 2015 12:32:49 GMT (envelope-from ume@FreeBSD.org) Received: (from ume@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKCWn1Y071937; Fri, 20 Nov 2015 12:32:49 GMT (envelope-from ume@FreeBSD.org) Message-Id: <201511201232.tAKCWn1Y071937@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ume set sender to ume@FreeBSD.org using -f From: Hajimu UMEMOTO Date: Fri, 20 Nov 2015 12:32:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291097 - head/usr.bin/netstat 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.20 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, 20 Nov 2015 12:32:50 -0000 Author: ume Date: Fri Nov 20 12:32:49 2015 New Revision: 291097 URL: https://svnweb.freebsd.org/changeset/base/291097 Log: Don't truncate an interface name when -W option is specified. Spotted by: Jim Thompson MFC after: 1 week Modified: head/usr.bin/netstat/route.c Modified: head/usr.bin/netstat/route.c ============================================================================== --- head/usr.bin/netstat/route.c Fri Nov 20 12:15:58 2015 (r291096) +++ head/usr.bin/netstat/route.c Fri Nov 20 12:32:49 2015 (r291097) @@ -385,7 +385,11 @@ p_rtentry_sysctl(const char *name, struc strlcpy(prettyname, "---", sizeof(prettyname)); } - xo_emit("{t:interface-name/%*.*s}", wid_if, wid_if, prettyname); + if (Wflag) + xo_emit("{t:interface-name/%*s}", wid_if, prettyname); + else + xo_emit("{t:interface-name/%*.*s}", wid_if, wid_if, + prettyname); if (rtm->rtm_rmx.rmx_expire) { time_t expire_time; From owner-svn-src-head@freebsd.org Fri Nov 20 14:08:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0EE18A33CFC; Fri, 20 Nov 2015 14:08:14 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C9EF51337; Fri, 20 Nov 2015 14:08:13 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKE8CMO098897; Fri, 20 Nov 2015 14:08:12 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKE8CHi098896; Fri, 20 Nov 2015 14:08:12 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201511201408.tAKE8CHi098896@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Fri, 20 Nov 2015 14:08:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291098 - 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.20 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, 20 Nov 2015 14:08:14 -0000 Author: trasz Date: Fri Nov 20 14:08:12 2015 New Revision: 291098 URL: https://svnweb.freebsd.org/changeset/base/291098 Log: The freebsd4_getfsstat() was broken in r281551 to always return 0 on success. All versions of getfsstat(3) are supposed to return the number of [o]statfs structs in the array that was copied out. Also fix missing bounds checking and signed comparison of unsigned types. Submitted by: bde@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Fri Nov 20 12:32:49 2015 (r291097) +++ head/sys/kern/vfs_syscalls.c Fri Nov 20 14:08:12 2015 (r291098) @@ -435,6 +435,8 @@ sys_getfsstat(td, uap) size_t count; int error; + if (uap->bufsize < 0 || uap->bufsize > SIZE_MAX) + return (EINVAL); error = kern_getfsstat(td, &uap->buf, uap->bufsize, &count, UIO_USERSPACE, uap->flags); if (error == 0) @@ -625,13 +627,18 @@ freebsd4_getfsstat(td, uap) size_t count, size; int error; + if (uap->bufsize < 0) + return (EINVAL); count = uap->bufsize / sizeof(struct ostatfs); + if (count > SIZE_MAX / sizeof(struct statfs)) + return (EINVAL); size = count * sizeof(struct statfs); error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE, uap->flags); - if (size > 0) { + td->td_retval[0] = count; + if (size != 0) { sp = buf; - while (count > 0 && error == 0) { + while (count != 0 && error == 0) { cvtstatfs(sp, &osb); error = copyout(&osb, uap->buf, sizeof(osb)); sp++; @@ -640,8 +647,6 @@ freebsd4_getfsstat(td, uap) } free(buf, M_TEMP); } - if (error == 0) - td->td_retval[0] = count; return (error); } From owner-svn-src-head@freebsd.org Fri Nov 20 14:20:28 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F705A33EAA; Fri, 20 Nov 2015 14:20:28 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from kif.fubar.geek.nz (kif.fubar.geek.nz [178.62.119.249]) by mx1.freebsd.org (Postfix) with ESMTP id 1DF411A06; Fri, 20 Nov 2015 14:20:27 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from bender (188.29.165.191.threembb.co.uk [188.29.165.191]) by kif.fubar.geek.nz (Postfix) with ESMTPSA id A0CABD78FE; Fri, 20 Nov 2015 14:19:55 +0000 (UTC) Date: Fri, 20 Nov 2015 14:19:51 +0000 From: Andrew Turner To: Bryan Drewery Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291021 - in head: sbin usr.sbin Message-ID: <20151120141951.3c666ba5@bender> In-Reply-To: <201511181752.tAIHqcdF006755@repo.freebsd.org> References: <201511181752.tAIHqcdF006755@repo.freebsd.org> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.28; amd64-portbld-freebsd10.1) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 14:20:28 -0000 On Wed, 18 Nov 2015 17:52:38 +0000 (UTC) Bryan Drewery wrote: > Author: bdrewery > Date: Wed Nov 18 17:52:38 2015 > New Revision: 291021 > URL: https://svnweb.freebsd.org/changeset/base/291021 > > Log: > Convert to SUBDIR.yes format. > > Reviewed by: imp > Sponsored by: EMC / Isilon Storage Division > Differential Revision: https://reviews.freebsd.org/D4182 > > Modified: > head/sbin/Makefile > head/usr.sbin/Makefile This broke some mips. In usr.sbin/Makefile.mips we exclude uathload for some variants of mips with "SUBDIR:= ${SUBDIR:Nuathload}", however this is now no longer in SUBDIR. Andrew From owner-svn-src-head@freebsd.org Fri Nov 20 14:20:25 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3463A33E81; Fri, 20 Nov 2015 14:20:25 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9BD8E19EF; Fri, 20 Nov 2015 14:20:25 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKEKOO3001997; Fri, 20 Nov 2015 14:20:24 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKEKOLX001996; Fri, 20 Nov 2015 14:20:24 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511201420.tAKEKOLX001996@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 20 Nov 2015 14:20:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291099 - head/sys/dev/isp 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.20 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, 20 Nov 2015 14:20:25 -0000 Author: mav Date: Fri Nov 20 14:20:24 2015 New Revision: 291099 URL: https://svnweb.freebsd.org/changeset/base/291099 Log: Some cosmetics for ancient cards. Modified: head/sys/dev/isp/isp.c Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Fri Nov 20 14:08:12 2015 (r291098) +++ head/sys/dev/isp/isp.c Fri Nov 20 14:20:24 2015 (r291099) @@ -2508,7 +2508,7 @@ isp_port_login(ispsoftc_t *isp, uint16_t switch (mbs.param[0]) { case MBOX_PORT_ID_USED: - isp_prt(isp, ISP_LOG_SANCFG|ISP_LOG_WARN1, "isp_port_login: portid 0x%06x already logged in as %u", portid, mbs.param[1]); + isp_prt(isp, ISP_LOG_SANCFG|ISP_LOG_WARN1, "isp_port_login: portid 0x%06x already logged in as 0x%x", portid, mbs.param[1]); return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); case MBOX_LOOP_ID_USED: @@ -5697,8 +5697,12 @@ isp_parse_async_fc(ispsoftc_t *isp, uint { int echan, nphdl, nlstate, reason; - nphdl = ISP_READ(isp, OUTMAILBOX1); - nlstate = ISP_READ(isp, OUTMAILBOX2); + if (IS_23XX(isp) || IS_24XX(isp)) { + nphdl = ISP_READ(isp, OUTMAILBOX1); + nlstate = ISP_READ(isp, OUTMAILBOX2); + } else { + nphdl = nlstate = 0xffff; + } if (IS_24XX(isp)) reason = ISP_READ(isp, OUTMAILBOX3) >> 8; else From owner-svn-src-head@freebsd.org Fri Nov 20 14:58:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58964A3451D; Fri, 20 Nov 2015 14:58:47 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1C7521E9B; Fri, 20 Nov 2015 14:58:47 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by ioir85 with SMTP id r85so125906246ioi.1; Fri, 20 Nov 2015 06:58:46 -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:from:date:message-id :subject:to:cc:content-type; bh=pMW2kXCBMFMX6LkgvNycVu8AMYBIYBheeOzIHW3vjLI=; b=vNnVzQn2qeTKmSKX6hV/cwPK9X2s09GAvG3PPD/2NleQ8M9fXogZ+eGp4sYWahJg0y C6fTsLKTovToy6tZrwQ1Se0vL7MsEqteA27X6OQFMbaDULWfhHeyn4Tn2sC4lNynJnu2 iqA0v9yVdO6kKu4vjEEz4S20EWc6pYORdLtMBEX67PCcjzocGtFXaF95HEBBiymiVNMv bdkwayS/gq/sPiFVDqYvZ9nVv315fj7qVRFaiwuFqhXKe+Nl9LMXvkKCJs8kQg5kIVzw CSV7zsnVxlqPRG2cMohK+LH8GCrnYr0BZEAAgKw1SzMImtmyTzqEV7+wA4yAZ6uOlaxp +i/w== X-Received: by 10.107.159.199 with SMTP id i190mr13281639ioe.29.1448031524988; Fri, 20 Nov 2015 06:58:44 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.169.85 with HTTP; Fri, 20 Nov 2015 06:58:25 -0800 (PST) In-Reply-To: <20151120141951.3c666ba5@bender> References: <201511181752.tAIHqcdF006755@repo.freebsd.org> <20151120141951.3c666ba5@bender> From: Ed Maste Date: Fri, 20 Nov 2015 09:58:25 -0500 X-Google-Sender-Auth: gmxFVsIir_BHZLZMnz1Fy3AhWXI Message-ID: Subject: Re: svn commit: r291021 - in head: sbin usr.sbin To: Andrew Turner Cc: Bryan Drewery , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 14:58:47 -0000 On 20 November 2015 at 09:19, Andrew Turner wrote: > On Wed, 18 Nov 2015 17:52:38 +0000 (UTC) > Bryan Drewery wrote: > >> Author: bdrewery >> Date: Wed Nov 18 17:52:38 2015 >> New Revision: 291021 >> URL: https://svnweb.freebsd.org/changeset/base/291021 >> >> Log: >> Convert to SUBDIR.yes format. >> >> Reviewed by: imp >> Sponsored by: EMC / Isilon Storage Division >> Differential Revision: https://reviews.freebsd.org/D4182 >> >> Modified: >> head/sbin/Makefile >> head/usr.sbin/Makefile > > This broke some mips. In usr.sbin/Makefile.mips we exclude uathload for > some variants of mips with "SUBDIR:= ${SUBDIR:Nuathload}", however this > is now no longer in SUBDIR. I also needed to disable uathload for my experimental builds using lld as the system linker. The :Nuathload feels a bit too magic to me; I'd welcome a change that makes disabling uathload more explicit. From owner-svn-src-head@freebsd.org Fri Nov 20 15:32:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0C7BA34CC0 for ; Fri, 20 Nov 2015 15:32:56 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qg0-x236.google.com (mail-qg0-x236.google.com [IPv6:2607:f8b0:400d:c04::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8F0C9183A for ; Fri, 20 Nov 2015 15:32:56 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by qgec40 with SMTP id c40so75255351qge.2 for ; Fri, 20 Nov 2015 07:32:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=k2Yv0RrzCRDlrpvlBjkzG0yrdqRU3oEYF65wMalU2aY=; b=jqH4wVi7gkIFYrmPPx348IHpa4zpTWlbJGvIHt3PCJTLY9Hj3y7OGf/I470phu3izs TaZ7RfXns7lYAN0m7WznzaZXr40cIdrQYgKcx13j8iJnDBN2Uix80XuBml+R5O91iSoy B2z3Bah/8gzxSwuB1KEH7xlOG/zvKtMeAmamYHHynhEvnQMVFw0j40jxu2qsMnz0aVbr Cbp/PiVD72ZL9MEPEn6lsmKyRQIFTVs2o8CncgP/HudRA06OM+IpYLJUsykUWdlIgIO8 d379LOIM8mkOViU2wobhluadfYDwHSOLyoE9+sNe+TWK9h+/ZjHB4ToMDWXUHtnTMesH 5m2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=k2Yv0RrzCRDlrpvlBjkzG0yrdqRU3oEYF65wMalU2aY=; b=m9RXwIHILQf+C4zApCUycIRlASLUvvAy7cEYi1L/zJWh3/aImJk+jatdTjPV+vVOIb 2VpX3QL01Lz7LxWlqp3ni/NdFQHo+xfK92gav5tQi3z33jcJ8VuBVVpkBozZfh6xGXf8 m1jiwUOuQKz5RfoyT2dy9yQOfh22xv3eWV9PgHtIeF6T5dUUySuMzFuzIrRGAjGYOfUf dOxDfKfPULOkBRFap5SYfhpdncpJhuVFPJjQq48F2SrRaOsvvkiiBR7VCzyOx+r6XIPP uSVf1tJkwbLI1NYmQrN6fXGMRTdIW3PXzJGNYGStYZMdTWrDI0I1VAZh/64G0OEAc5Jo tGSA== X-Gm-Message-State: ALoCoQn6vqaN31wtwg7pxjHhcPUpHFsPHo/r9AGvp9NG4xRh7UffDafgt06ZJzdtQUH3Ne1hX9IJ MIME-Version: 1.0 X-Received: by 10.140.40.38 with SMTP id w35mr13528216qgw.52.1448033575482; Fri, 20 Nov 2015 07:32:55 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.140.27.181 with HTTP; Fri, 20 Nov 2015 07:32:55 -0800 (PST) X-Originating-IP: [50.253.99.174] Received: by 10.140.27.181 with HTTP; Fri, 20 Nov 2015 07:32:55 -0800 (PST) In-Reply-To: <20151120141951.3c666ba5@bender> References: <201511181752.tAIHqcdF006755@repo.freebsd.org> <20151120141951.3c666ba5@bender> Date: Fri, 20 Nov 2015 08:32:55 -0700 X-Google-Sender-Auth: HxY7wj0s-JuyNHuy9I5r5MjQL4w Message-ID: Subject: Re: svn commit: r291021 - in head: sbin usr.sbin From: Warner Losh To: Andrew Turner Cc: src-committers , svn-src-head@freebsd.org, svn-src-all@freebsd.org, Bryan Drewery Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 15:32:56 -0000 On Nov 20, 2015 7:20 AM, "Andrew Turner" wrote: > > On Wed, 18 Nov 2015 17:52:38 +0000 (UTC) > Bryan Drewery wrote: > > > Author: bdrewery > > Date: Wed Nov 18 17:52:38 2015 > > New Revision: 291021 > > URL: https://svnweb.freebsd.org/changeset/base/291021 > > > > Log: > > Convert to SUBDIR.yes format. > > > > Reviewed by: imp > > Sponsored by: EMC / Isilon Storage Division > > Differential Revision: https://reviews.freebsd.org/D4182 > > > > Modified: > > head/sbin/Makefile > > head/usr.sbin/Makefile > > This broke some mips. In usr.sbin/Makefile.mips we exclude uathload for > some variants of mips with "SUBDIR:= ${SUBDIR:Nuathload}", however this > is now no longer in SUBDIR. > I'll take a look at this.... Warner > Andrew > From owner-svn-src-head@freebsd.org Fri Nov 20 16:12:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EB383A3168E; Fri, 20 Nov 2015 16:12:25 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C125D1E21; Fri, 20 Nov 2015 16:12:25 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKGCOjD037275; Fri, 20 Nov 2015 16:12:24 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKGCNHq037256; Fri, 20 Nov 2015 16:12:23 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511201612.tAKGCNHq037256@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 20 Nov 2015 16:12:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291102 - in head/sys/arm: allwinner allwinner/a20 altera/socfpga annapurna/alpine broadcom/bcm2835 conf freescale/imx freescale/vybrid mv/armadaxp rockchip samsung/exynos ti/am335x 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.20 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, 20 Nov 2015 16:12:26 -0000 Author: andrew Date: Fri Nov 20 16:12:22 2015 New Revision: 291102 URL: https://svnweb.freebsd.org/changeset/base/291102 Log: Stop setting {KERN,}PHYSADDR on armv6, it's unneeded. Sponsored by: ABT Systems Ltd Modified: head/sys/arm/allwinner/a20/std.a20 head/sys/arm/allwinner/std.a10 head/sys/arm/altera/socfpga/std.socfpga head/sys/arm/annapurna/alpine/std.alpine head/sys/arm/broadcom/bcm2835/std.rpi head/sys/arm/conf/VERSATILEPB 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/mv/armadaxp/std.armadaxp head/sys/arm/rockchip/std.rk30xx head/sys/arm/samsung/exynos/std.exynos5250 head/sys/arm/samsung/exynos/std.exynos5420 head/sys/arm/ti/am335x/std.am335x head/sys/arm/ti/omap4/std.omap4 head/sys/arm/xilinx/std.zynq7 Modified: head/sys/arm/allwinner/a20/std.a20 ============================================================================== --- head/sys/arm/allwinner/a20/std.a20 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/allwinner/a20/std.a20 Fri Nov 20 16:12:22 2015 (r291102) @@ -6,14 +6,6 @@ machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" makeoption ARM_LITTLE_ENDIAN -# Physical memory starts at 0x40200000. We assume images are loaded at -# 0x40200000, e.g. from u-boot with 'fatload mmc 0 0x40200000 kernel' -# -# -options PHYSADDR=0x40000000 - -makeoptions KERNPHYSADDR=0x40200000 -options KERNPHYSADDR=0x40200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/allwinner/std.a10 ============================================================================== --- head/sys/arm/allwinner/std.a10 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/allwinner/std.a10 Fri Nov 20 16:12:22 2015 (r291102) @@ -6,14 +6,6 @@ machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" makeoption ARM_LITTLE_ENDIAN -# Physical memory starts at 0x40200000. We assume images are loaded at -# 0x40200000, e.g. from u-boot with 'fatload mmc 0 0x40200000 kernel' -# -# -options PHYSADDR=0x40000000 - -makeoptions KERNPHYSADDR=0x40200000 -options KERNPHYSADDR=0x40200000 makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/altera/socfpga/std.socfpga ============================================================================== --- head/sys/arm/altera/socfpga/std.socfpga Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/altera/socfpga/std.socfpga Fri Nov 20 16:12:22 2015 (r291102) @@ -6,11 +6,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -options PHYSADDR=0x00000000 - -makeoptions KERNPHYSADDR=0x00f00000 -options KERNPHYSADDR=0x00f00000 - makeoptions KERNVIRTADDR=0xc0f00000 options KERNVIRTADDR=0xc0f00000 Modified: head/sys/arm/annapurna/alpine/std.alpine ============================================================================== --- head/sys/arm/annapurna/alpine/std.alpine Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/annapurna/alpine/std.alpine Fri Nov 20 16:12:22 2015 (r291102) @@ -6,9 +6,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a -DAL_HAVE_TYPES" -makeoptions KERNPHYSADDR=0x00200000 -options KERNPHYSADDR=0x00200000 - makeoptions KERNVIRTADDR=0xa0200000 options KERNVIRTADDR=0xa0200000 Modified: head/sys/arm/broadcom/bcm2835/std.rpi ============================================================================== --- head/sys/arm/broadcom/bcm2835/std.rpi Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/broadcom/bcm2835/std.rpi Fri Nov 20 16:12:22 2015 (r291102) @@ -2,8 +2,5 @@ options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 -options KERNPHYSADDR=0x00100000 -makeoptions KERNPHYSADDR=0x00100000 -options PHYSADDR=0x00000000 options FREEBSD_BOOT_LOADER options LINUX_BOOT_ABI Modified: head/sys/arm/conf/VERSATILEPB ============================================================================== --- head/sys/arm/conf/VERSATILEPB Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/conf/VERSATILEPB Fri Nov 20 16:12:22 2015 (r291102) @@ -28,9 +28,6 @@ makeoptions MODULES_OVERRIDE="" options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 -options KERNPHYSADDR=0x00100000 -makeoptions KERNPHYSADDR=0x00100000 -options PHYSADDR=0x00000000 options HZ=100 options SCHED_4BSD # 4BSD scheduler Modified: head/sys/arm/freescale/imx/std.imx51 ============================================================================== --- head/sys/arm/freescale/imx/std.imx51 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/freescale/imx/std.imx51 Fri Nov 20 16:12:22 2015 (r291102) @@ -7,9 +7,6 @@ options ARM_L2_PIPT options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 -options KERNPHYSADDR=0x90100000 -makeoptions KERNPHYSADDR=0x90100000 -options PHYSADDR=0x90000000 device fdt_pinctrl Modified: head/sys/arm/freescale/imx/std.imx53 ============================================================================== --- head/sys/arm/freescale/imx/std.imx53 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/freescale/imx/std.imx53 Fri Nov 20 16:12:22 2015 (r291102) @@ -7,9 +7,6 @@ options ARM_L2_PIPT options KERNVIRTADDR=0xc0100000 makeoptions KERNVIRTADDR=0xc0100000 -options KERNPHYSADDR=0x70100000 -makeoptions KERNPHYSADDR=0x70100000 -options PHYSADDR=0x70000000 device fdt_pinctrl Modified: head/sys/arm/freescale/imx/std.imx6 ============================================================================== --- head/sys/arm/freescale/imx/std.imx6 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/freescale/imx/std.imx6 Fri Nov 20 16:12:22 2015 (r291102) @@ -7,9 +7,6 @@ options ARM_L2_PIPT options KERNVIRTADDR = 0xc2000000 makeoptions KERNVIRTADDR = 0xc2000000 -options KERNPHYSADDR = 0x12000000 -makeoptions KERNPHYSADDR = 0x12000000 -options PHYSADDR = 0x10000000 options IPI_IRQ_START=0 options IPI_IRQ_END=15 Modified: head/sys/arm/freescale/vybrid/std.vybrid ============================================================================== --- head/sys/arm/freescale/vybrid/std.vybrid Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/freescale/vybrid/std.vybrid Fri Nov 20 16:12:22 2015 (r291102) @@ -6,11 +6,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -options PHYSADDR=0x80000000 - -makeoptions KERNPHYSADDR=0x80100000 -options KERNPHYSADDR=0x80100000 - makeoptions KERNVIRTADDR=0xc0100000 options KERNVIRTADDR=0xc0100000 Modified: head/sys/arm/mv/armadaxp/std.armadaxp ============================================================================== --- head/sys/arm/mv/armadaxp/std.armadaxp Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/mv/armadaxp/std.armadaxp Fri Nov 20 16:12:22 2015 (r291102) @@ -1,16 +1,6 @@ # $FreeBSD$ -# kernel gets loaded at 0x00200000 by the loader, but runs at virtual address -# 0xc0200000. RAM starts at 0. We put the pagetable at a reasonable place -# in memory, but may need to bounce it higher if there's a problem with this. -# We could paper over this by loading the kernel at 0xc0000000 virtual, but -# that leads to other complications, so we'll just reclaim the lower region of -# ram after we're loaded. Put the page tables for startup at 1MB. -makeoptions KERNPHYSADDR=0x00200000 makeoptions KERNVIRTADDR=0xc0200000 - -options KERNPHYSADDR=0x00200000 options KERNVIRTADDR=0xc0200000 -options PHYSADDR=0x00000000 options ARM_L2_PIPT Modified: head/sys/arm/rockchip/std.rk30xx ============================================================================== --- head/sys/arm/rockchip/std.rk30xx Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/rockchip/std.rk30xx Fri Nov 20 16:12:22 2015 (r291102) @@ -6,15 +6,6 @@ machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" makeoption ARM_LITTLE_ENDIAN -# Physical memory starts at 0x60400000. We assume images are loaded at -# 0x60400000. -# -# -options PHYSADDR=0x60000000 - -makeoptions KERNPHYSADDR=0x60400000 -options KERNPHYSADDR=0x60400000 - makeoptions KERNVIRTADDR=0xc0400000 options KERNVIRTADDR=0xc0400000 Modified: head/sys/arm/samsung/exynos/std.exynos5250 ============================================================================== --- head/sys/arm/samsung/exynos/std.exynos5250 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/samsung/exynos/std.exynos5250 Fri Nov 20 16:12:22 2015 (r291102) @@ -6,11 +6,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -options PHYSADDR=0x40000000 - -makeoptions KERNPHYSADDR=0x40f00000 -options KERNPHYSADDR=0x40f00000 - makeoptions KERNVIRTADDR=0xc0f00000 options KERNVIRTADDR=0xc0f00000 Modified: head/sys/arm/samsung/exynos/std.exynos5420 ============================================================================== --- head/sys/arm/samsung/exynos/std.exynos5420 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/samsung/exynos/std.exynos5420 Fri Nov 20 16:12:22 2015 (r291102) @@ -6,11 +6,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -options PHYSADDR=0x20000000 - -makeoptions KERNPHYSADDR=0x20f00000 -options KERNPHYSADDR=0x20f00000 - makeoptions KERNVIRTADDR=0xc0f00000 options KERNVIRTADDR=0xc0f00000 Modified: head/sys/arm/ti/am335x/std.am335x ============================================================================== --- head/sys/arm/ti/am335x/std.am335x Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/ti/am335x/std.am335x Fri Nov 20 16:12:22 2015 (r291102) @@ -4,13 +4,6 @@ files "../ti/am335x/files.am335x" include "../ti/std.ti" makeoption ARM_LITTLE_ENDIAN -# Physical memory starts at 0x80000000. We assume images are loaded at -# 0x80200000, e.g. from u-boot with 'fatload mmc 0 0x80200000 kernel.bin' -# -# -options PHYSADDR=0x80000000 -options KERNPHYSADDR=0x80200000 -makeoptions KERNPHYSADDR=0x80200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/ti/omap4/std.omap4 ============================================================================== --- head/sys/arm/ti/omap4/std.omap4 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/ti/omap4/std.omap4 Fri Nov 20 16:12:22 2015 (r291102) @@ -4,13 +4,6 @@ files "../ti/omap4/files.omap4" include "../ti/std.ti" makeoption ARM_LITTLE_ENDIAN -# Physical memory starts at 0x80000000. We assume images are loaded at -# 0x80200000, e.g. from u-boot with 'fatload mmc 0 0x80200000 kernel.bin' -# -# -options PHYSADDR=0x80000000 -options KERNPHYSADDR=0x80200000 -makeoptions KERNPHYSADDR=0x80200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/xilinx/std.zynq7 ============================================================================== --- head/sys/arm/xilinx/std.zynq7 Fri Nov 20 16:10:58 2015 (r291101) +++ head/sys/arm/xilinx/std.zynq7 Fri Nov 20 16:12:22 2015 (r291102) @@ -9,13 +9,6 @@ makeoptions CONF_CFLAGS="-march=armv7a" files "../xilinx/files.zynq7" -# Physical memory starts at 0x00000000. We assume images are loaded at -# 0x00100000, e.g. from u-boot with 'fatload mmc 0 0x100000 kernel.bin' -# -# -options PHYSADDR=0x00000000 -options KERNPHYSADDR=0x00100000 -makeoptions KERNPHYSADDR=0x00100000 options KERNVIRTADDR=0xc0100000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0100000 From owner-svn-src-head@freebsd.org Fri Nov 20 16:18:28 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D4B98A31704; Fri, 20 Nov 2015 16:18:28 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 95B62109C; Fri, 20 Nov 2015 16:18:28 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKGIRuv037498; Fri, 20 Nov 2015 16:18:27 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKGIRov037496; Fri, 20 Nov 2015 16:18:27 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511201618.tAKGIRov037496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 20 Nov 2015 16:18:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291103 - in head/sys: conf modules 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.20 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, 20 Nov 2015 16:18:28 -0000 Author: andrew Date: Fri Nov 20 16:18:27 2015 New Revision: 291103 URL: https://svnweb.freebsd.org/changeset/base/291103 Log: DTrace is known to work on armv6, enable building it as a module. Reviewed by: imp Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D4221 Modified: head/sys/conf/kern.opts.mk head/sys/modules/Makefile Modified: head/sys/conf/kern.opts.mk ============================================================================== --- head/sys/conf/kern.opts.mk Fri Nov 20 16:12:22 2015 (r291102) +++ head/sys/conf/kern.opts.mk Fri Nov 20 16:18:27 2015 (r291103) @@ -59,7 +59,10 @@ __DEFAULT_NO_OPTIONS = \ # Things that don't work based on the CPU .if ${MACHINE_CPUARCH} == "arm" -BROKEN_OPTIONS+= CDDL ZFS +BROKEN_OPTIONS+= ZFS +. if ${MACHINE_ARCH:Marmv6*} == "" +BROKEN_OPTIONS+= CDDL +. endif .endif .if ${MACHINE_CPUARCH} == "mips" Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Fri Nov 20 16:12:22 2015 (r291102) +++ head/sys/modules/Makefile Fri Nov 20 16:18:27 2015 (r291103) @@ -403,7 +403,8 @@ _autofs= autofs .endif .if ${MK_CDDL} != "no" || defined(ALL_MODULES) -.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \ +.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv6*} == "") && \ + ${MACHINE_CPUARCH} != "mips" && \ ${MACHINE_CPUARCH} != "sparc64" SUBDIR+= dtrace .endif From owner-svn-src-head@freebsd.org Fri Nov 20 16:43:23 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 71B77A31E45; Fri, 20 Nov 2015 16:43:23 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 480381FC2; Fri, 20 Nov 2015 16:43:23 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKGhM5R045853; Fri, 20 Nov 2015 16:43:22 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKGhLtJ045847; Fri, 20 Nov 2015 16:43:21 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511201643.tAKGhLtJ045847@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 20 Nov 2015 16:43:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291104 - in head/sys/arm: amlogic/aml8726 conf freescale/imx xilinx 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.20 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, 20 Nov 2015 16:43:23 -0000 Author: andrew Date: Fri Nov 20 16:43:21 2015 New Revision: 291104 URL: https://svnweb.freebsd.org/changeset/base/291104 Log: Remove pl310.c from the SoC std.* files, it's in files.arm Sponsored by: ABT Systems Ltd Modified: head/sys/arm/amlogic/aml8726/files.aml8726 head/sys/arm/conf/AML8726 head/sys/arm/conf/IMX6 head/sys/arm/conf/ZEDBOARD head/sys/arm/freescale/imx/files.imx6 head/sys/arm/xilinx/files.zynq7 Modified: head/sys/arm/amlogic/aml8726/files.aml8726 ============================================================================== --- head/sys/arm/amlogic/aml8726/files.aml8726 Fri Nov 20 16:18:27 2015 (r291103) +++ head/sys/arm/amlogic/aml8726/files.aml8726 Fri Nov 20 16:43:21 2015 (r291104) @@ -5,7 +5,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_base.c standard arm/arm/bus_space_generic.c standard -arm/arm/pl310.c standard arm/amlogic/aml8726/aml8726_l2cache.c standard arm/amlogic/aml8726/aml8726_machdep.c standard Modified: head/sys/arm/conf/AML8726 ============================================================================== --- head/sys/arm/conf/AML8726 Fri Nov 20 16:18:27 2015 (r291103) +++ head/sys/arm/conf/AML8726 Fri Nov 20 16:43:21 2015 (r291104) @@ -61,6 +61,8 @@ device mmcsd # mmc/sd flash cards # Boot device is 2nd slice on MMC/SD card options ROOTDEVNAME=\"ufs:mmcsd0s2\" +device pl310 # PL310 L2 cache controller + # GPIO device gpio device gpioled Modified: head/sys/arm/conf/IMX6 ============================================================================== --- head/sys/arm/conf/IMX6 Fri Nov 20 16:18:27 2015 (r291103) +++ head/sys/arm/conf/IMX6 Fri Nov 20 16:43:21 2015 (r291104) @@ -62,6 +62,8 @@ options ROOTDEVNAME=\"ufs:mmcsd0s2a\" # Interrupt controller device gic +# Cache controller +device pl310 # PL310 L2 cache controller # Pseudo devices. device loop # Network loopback Modified: head/sys/arm/conf/ZEDBOARD ============================================================================== --- head/sys/arm/conf/ZEDBOARD Fri Nov 20 16:18:27 2015 (r291103) +++ head/sys/arm/conf/ZEDBOARD Fri Nov 20 16:43:21 2015 (r291104) @@ -52,6 +52,8 @@ options ROOTDEVNAME=\"ufs:mmcsd0s2a\" # Interrupt controller device gic +# Cache controller +device pl310 # PL310 L2 cache controller device loop device random Modified: head/sys/arm/freescale/imx/files.imx6 ============================================================================== --- head/sys/arm/freescale/imx/files.imx6 Fri Nov 20 16:18:27 2015 (r291103) +++ head/sys/arm/freescale/imx/files.imx6 Fri Nov 20 16:43:21 2015 (r291104) @@ -10,7 +10,6 @@ kern/kern_clocksource.c standard # # Standard imx6 devices and support. # -arm/arm/pl310.c standard arm/arm/bus_space_base.c standard arm/arm/mpcore_timer.c standard arm/freescale/fsl_ocotp.c standard Modified: head/sys/arm/xilinx/files.zynq7 ============================================================================== --- head/sys/arm/xilinx/files.zynq7 Fri Nov 20 16:18:27 2015 (r291103) +++ head/sys/arm/xilinx/files.zynq7 Fri Nov 20 16:43:21 2015 (r291104) @@ -10,7 +10,6 @@ arm/arm/bus_space_generic.c standard arm/arm/bus_space_asm_generic.S standard arm/arm/mpcore_timer.c standard -arm/arm/pl310.c standard arm/xilinx/zy7_machdep.c standard arm/xilinx/zy7_l2cache.c standard From owner-svn-src-head@freebsd.org Fri Nov 20 17:28:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C746A337B8; Fri, 20 Nov 2015 17:28:47 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DA14A137F; Fri, 20 Nov 2015 17:28:46 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 2C4E8B95E; Fri, 20 Nov 2015 12:28:45 -0500 (EST) From: John Baldwin To: Mark Johnston Cc: "Jonathan T. Looney" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291074 - in head: share/man/man9 sys/kern sys/vm Date: Fri, 20 Nov 2015 08:35:33 -0800 Message-ID: <7664405.qsaSkmW6Va@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: <20151119193918.GA60481@wkstn-mjohnston.west.isilon.com> References: <201511191404.tAJE4reJ064779@repo.freebsd.org> <8452745.P4SYfkWpxv@ralph.baldwin.cx> <20151119193918.GA60481@wkstn-mjohnston.west.isilon.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 20 Nov 2015 12:28:45 -0500 (EST) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 17:28:47 -0000 On Thursday, November 19, 2015 11:39:18 AM Mark Johnston wrote: > On Thu, Nov 19, 2015 at 09:58:45AM -0800, John Baldwin wrote: > > On Thursday, November 19, 2015 02:04:53 PM Jonathan T. Looney wrote: > > All of these KASSERTs are redundant. WITNESS will already warn for all of > > these in mtx_lock() itself. If your argument is that you want a panic when > > WITNESS is not present, then the better place to add assertions is in the > > locking primitives themselves (e.g. mtx_lock/rw_*lock). > > I think the argument is that mtx_lock() is not called at all in the > allocation/free path most of the time, so WITNESS will only catch this > sort of bug if you happen to get lucky. But it's always incorrect to call > uma_zalloc or umz_free with a critical section held. > > This is not needed in most APIs, but given that malloc/free and their UMA > underpinnings are rather central, it seemed reasonable to me to add this > extra checking. My bad, I had forgotten that a cached allocation only uses critical_enter() and nothing more. We have an explicit WITNESS_WARN() for all M_WAITOK allocations for precisely the same reason (they don't always block), so the assertions are useful (and not entirely redundant). > > Note that if you are going to document in each section 9 manpage which APIs > > are not safe to call in a critical section, you will need to update just > > about every section 9 manpage. A more prudent approach would probably be to > > instead go the sigaction(2) route and instead document the subset of APIs > > which are permissible to call in critical_enter(9). The list is probably not > > very long. Off the top of my head I can think of sched_*, swi_sched, > > taskqueue_enqueue_fast, and little else. > > > > In summary, I would prefer you to revert this. If you want the assertions to > > fire even when WITNESS is disabled then I think we should move them into the > > the non-sleepable lock primitives themselves so that we catch 90+% of the > > problem APIs instead of just 1. Documenting the "safe" APIs in critical(9) > > is also more scalable than one-off notes in section 9 manpages for similar > > reasons. > > > > Longer term I think it would be nice to have a separate section for section > > 9 pages that indicates which contexts it can be called in, though I'd like > > that to have a consistent name and consistent language. Note though that we > > do not have this section currently for all of section 2/3 to indicate which > > are safe to call in signal context or not, in part because of the enormity of > > the task. Perhaps we can start this with malloc(9) and pull the newly added text into that. I'll try to write up something. I'll try to add something to critical_enter(9) as well. -- John Baldwin From owner-svn-src-head@freebsd.org Fri Nov 20 17:52:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68A4DA33F3E; Fri, 20 Nov 2015 17:52:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2BE68116E; Fri, 20 Nov 2015 17:52:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKHqlMJ065862; Fri, 20 Nov 2015 17:52:47 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKHqlco065861; Fri, 20 Nov 2015 17:52:47 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511201752.tAKHqlco065861@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 20 Nov 2015 17:52:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291105 - head/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.20 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, 20 Nov 2015 17:52:48 -0000 Author: bdrewery Date: Fri Nov 20 17:52:46 2015 New Revision: 291105 URL: https://svnweb.freebsd.org/changeset/base/291105 Log: Fix not skipping uathload for mips after r291021. Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/Makefile.mips Modified: head/usr.sbin/Makefile.mips ============================================================================== --- head/usr.sbin/Makefile.mips Fri Nov 20 16:43:21 2015 (r291104) +++ head/usr.sbin/Makefile.mips Fri Nov 20 17:52:46 2015 (r291105) @@ -3,5 +3,5 @@ SUBDIR+= ofwdump # uathload broken for n32 and n64 due to toolchain issues, only build for o32 .if ${MACHINE_ARCH} != "mips" && ${MACHINE_ARCH} != "mipsel" -SUBDIR:= ${SUBDIR:Nuathload} +SUBDIR.yes:= ${SUBDIR.yes:Nuathload} .endif From owner-svn-src-head@freebsd.org Fri Nov 20 17:53:11 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 03067A33F84; Fri, 20 Nov 2015 17:53:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id DFF4A12F2; Fri, 20 Nov 2015 17:53:10 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id DA8941F4A; Fri, 20 Nov 2015 17:53:10 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 9D488177F4; Fri, 20 Nov 2015 17:53:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id b9WUUhr4Skku; Fri, 20 Nov 2015 17:53:07 +0000 (UTC) Subject: Re: svn commit: r291021 - in head: sbin usr.sbin DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 7556E177EC To: Warner Losh , Andrew Turner References: <201511181752.tAIHqcdF006755@repo.freebsd.org> <20151120141951.3c666ba5@bender> Cc: src-committers , svn-src-head@freebsd.org, svn-src-all@freebsd.org From: Bryan Drewery Organization: FreeBSD Message-ID: <564F5E02.80008@FreeBSD.org> Date: Fri, 20 Nov 2015 09:53:06 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 17:53:11 -0000 On 11/20/15 7:32 AM, Warner Losh wrote: > > On Nov 20, 2015 7:20 AM, "Andrew Turner" > wrote: >> >> On Wed, 18 Nov 2015 17:52:38 +0000 (UTC) >> Bryan Drewery wrote: >> >> > Author: bdrewery >> > Date: Wed Nov 18 17:52:38 2015 >> > New Revision: 291021 >> > URL: https://svnweb.freebsd.org/changeset/base/291021 >> > >> > Log: >> > Convert to SUBDIR.yes format. >> > >> > Reviewed by: imp >> > Sponsored by: EMC / Isilon Storage Division >> > Differential Revision: https://reviews.freebsd.org/D4182 >> > >> > Modified: >> > head/sbin/Makefile >> > head/usr.sbin/Makefile >> >> This broke some mips. In usr.sbin/Makefile.mips we exclude uathload for >> some variants of mips with "SUBDIR:= ${SUBDIR:Nuathload}", however this >> is now no longer in SUBDIR. >> > > I'll take a look at this.... > Sorry about that. I put in a fix for now. -- Regards, Bryan Drewery From owner-svn-src-head@freebsd.org Fri Nov 20 17:55:07 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25F49A34011; Fri, 20 Nov 2015 17:55:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 0C57414D1; Fri, 20 Nov 2015 17:55:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 06CCC10AC; Fri, 20 Nov 2015 17:55:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id BCE551780A; Fri, 20 Nov 2015 17:55:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id jViRrYOe-VZU; Fri, 20 Nov 2015 17:55:04 +0000 (UTC) Subject: Re: svn commit: r291021 - in head: sbin usr.sbin DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com EF530177FF To: Warner Losh , Andrew Turner References: <201511181752.tAIHqcdF006755@repo.freebsd.org> <20151120141951.3c666ba5@bender> Cc: src-committers , svn-src-head@freebsd.org, svn-src-all@freebsd.org From: Bryan Drewery Organization: FreeBSD Message-ID: <564F5E77.60404@FreeBSD.org> Date: Fri, 20 Nov 2015 09:55:03 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 17:55:07 -0000 On 11/20/15 7:32 AM, Warner Losh wrote: > > On Nov 20, 2015 7:20 AM, "Andrew Turner" > wrote: >> >> On Wed, 18 Nov 2015 17:52:38 +0000 (UTC) >> Bryan Drewery wrote: >> >> > Author: bdrewery >> > Date: Wed Nov 18 17:52:38 2015 >> > New Revision: 291021 >> > URL: https://svnweb.freebsd.org/changeset/base/291021 >> > >> > Log: >> > Convert to SUBDIR.yes format. >> > >> > Reviewed by: imp >> > Sponsored by: EMC / Isilon Storage Division >> > Differential Revision: https://reviews.freebsd.org/D4182 >> > >> > Modified: >> > head/sbin/Makefile >> > head/usr.sbin/Makefile >> >> This broke some mips. In usr.sbin/Makefile.mips we exclude uathload for >> some variants of mips with "SUBDIR:= ${SUBDIR:Nuathload}", however this >> is now no longer in SUBDIR. >> > > I'll take a look at this.... > In the past I've added a SUBDIR_IGNORE list (I forget the specific name I used) to remove directories without the :N pattern directly in the Makefiles. Something like that in bsd.subdir.mk may be better to work with the .yes feature. -- Regards, Bryan Drewery From owner-svn-src-head@freebsd.org Fri Nov 20 18:10:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94812A342E9; Fri, 20 Nov 2015 18:10:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5A38A1D57; Fri, 20 Nov 2015 18:10:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKIA2PG069051; Fri, 20 Nov 2015 18:10:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKIA2X7069050; Fri, 20 Nov 2015 18:10:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201511201810.tAKIA2X7069050@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 20 Nov 2015 18:10:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291106 - in head/sys/boot/i386: boot0 boot0ext 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.20 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, 20 Nov 2015 18:10:03 -0000 Author: bdrewery Date: Fri Nov 20 18:10:02 2015 New Revision: 291106 URL: https://svnweb.freebsd.org/changeset/base/291106 Log: Remove disconnected boot0ext. This was [re-]added in r127458 (apparently with disconnected history as well) and never connected to the build. It is no longer relevant for modern systems from the past 20 years. Discussed with: jhb Sponsored by: EMC / Isilon Storage Division Deleted: head/sys/boot/i386/boot0/boot0ext.S head/sys/boot/i386/boot0ext/ Modified: head/sys/boot/i386/boot0/Makefile Modified: head/sys/boot/i386/boot0/Makefile ============================================================================== --- head/sys/boot/i386/boot0/Makefile Fri Nov 20 17:52:46 2015 (r291105) +++ head/sys/boot/i386/boot0/Makefile Fri Nov 20 18:10:02 2015 (r291106) @@ -80,5 +80,4 @@ LDFLAGS=-e start -Ttext ${BOOT_BOOT0_ORG # XXX: clang integrated-as doesn't grok .codeNN directives yet CFLAGS.boot0.S= ${CLANG_NO_IAS} -CFLAGS.boot0ext.S= ${CLANG_NO_IAS} CFLAGS+= ${CFLAGS.${.IMPSRC:T}} From owner-svn-src-head@freebsd.org Fri Nov 20 18:49:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9F98A34CB6; Fri, 20 Nov 2015 18:49:09 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9E4721624; Fri, 20 Nov 2015 18:49:09 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 8BD33B93C; Fri, 20 Nov 2015 13:49:08 -0500 (EST) From: John Baldwin To: Craig Rodrigues Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291090 - head/usr.bin/vmstat Date: Fri, 20 Nov 2015 10:48:16 -0800 Message-ID: <3730527.lGHZa1OL20@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: <201511200515.tAK5FZT8037263@repo.freebsd.org> References: <201511200515.tAK5FZT8037263@repo.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 20 Nov 2015 13:49:08 -0500 (EST) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 18:49:09 -0000 On Friday, November 20, 2015 05:15:35 AM Craig Rodrigues wrote: > Author: rodrigc > Date: Fri Nov 20 05:15:34 2015 > New Revision: 291090 > URL: https://svnweb.freebsd.org/changeset/base/291090 > > Log: > Convert vmstat to use libxo. > > This patch was based on this patch: > https://github.com/Juniper/libxo/blob/master/patches/vmstat.patch > > by Phil Shafer at Juniper Networks, but updated to the latest > vmstat code. > > Reviewed by: allanjude > Differential Revision: https://reviews.freebsd.org/D3935 > > ... > > Modified: head/usr.bin/vmstat/vmstat.c > ============================================================================== > --- head/usr.bin/vmstat/vmstat.c Fri Nov 20 03:24:04 2015 (r291089) > +++ head/usr.bin/vmstat/vmstat.c Fri Nov 20 05:15:34 2015 (r291090) > @@ -277,20 +288,34 @@ retry_nlist: > namelist[X_SUM].n_name = "_cnt"; > goto retry_nlist; > } > - warnx("undefined symbols:"); > for (c = 0; > c < (int)(sizeof(namelist)/sizeof(namelist[0])); > c++) > if (namelist[c].n_type == 0) > - (void)fprintf(stderr, " %s", > + bufsize += strlen(namelist[c].n_name) + 1; > + bufsize += len + 1; > + buf = bp = alloca(bufsize); > + > + for (c = 0; > + c < (int)(sizeof(namelist)/sizeof(namelist[0])); > + c++) > + if (namelist[c].n_type == 0) { > + xo_error(" %s", > namelist[c].n_name); > - (void)fputc('\n', stderr); > + len = strlen(namelist[c].n_name); > + *bp++ = ' '; > + memcpy(bp, namelist[c].n_name, len); > + bp += len; > + } > + *bp = '\0'; > + xo_error("undefined symbols:\n", buf); Please use some sort of string builder (sbuf or open_memstream()) instead of manual string assembly. The former is easier to read and the latter is more error-prone. Suggested replacement: FILE *fp; fp = open_memstream(&buf, &bufsize); for (c = 0; c < nitems(namelist); c++) { if (namelist[c].n_type == 0) { xo_error(" %s", namelist[c].n_name); (void)fprintf(fp, " %s", namelist[c].n_name); } } fclose(fp); xo_error("undefined symbols:\n", buf); free(buf); -- John Baldwin From owner-svn-src-head@freebsd.org Fri Nov 20 19:48:34 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6CB2FA32931; Fri, 20 Nov 2015 19:48:34 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4850C12A7; Fri, 20 Nov 2015 19:48:34 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKJmXcg098228; Fri, 20 Nov 2015 19:48:33 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKJmWWJ098216; Fri, 20 Nov 2015 19:48:32 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511201948.tAKJmWWJ098216@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 20 Nov 2015 19:48:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291108 - in head/sys/arm: allwinner altera/socfpga annapurna/alpine broadcom/bcm2835 freescale/imx freescale/vybrid rockchip samsung/exynos ti versatile xilinx 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.20 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, 20 Nov 2015 19:48:34 -0000 Author: andrew Date: Fri Nov 20 19:48:32 2015 New Revision: 291108 URL: https://svnweb.freebsd.org/changeset/base/291108 Log: Remove bus_space_asm_generic.S from the per-SoC files.* files, it's already in files.arm. Sponsored by: ABT Systems Ltd Modified: head/sys/arm/allwinner/files.allwinner head/sys/arm/altera/socfpga/files.socfpga head/sys/arm/annapurna/alpine/files.alpine head/sys/arm/broadcom/bcm2835/files.bcm283x head/sys/arm/freescale/imx/files.imx5 head/sys/arm/freescale/imx/files.imx6 head/sys/arm/freescale/vybrid/files.vybrid head/sys/arm/rockchip/files.rk30xx head/sys/arm/samsung/exynos/files.exynos5 head/sys/arm/ti/files.ti head/sys/arm/versatile/files.versatile head/sys/arm/xilinx/files.zynq7 Modified: head/sys/arm/allwinner/files.allwinner ============================================================================== --- head/sys/arm/allwinner/files.allwinner Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/allwinner/files.allwinner Fri Nov 20 19:48:32 2015 (r291108) @@ -2,7 +2,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_base.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_generic.c standard arm/allwinner/a10_ahci.c optional ahci Modified: head/sys/arm/altera/socfpga/files.socfpga ============================================================================== --- head/sys/arm/altera/socfpga/files.socfpga Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/altera/socfpga/files.socfpga Fri Nov 20 19:48:32 2015 (r291108) @@ -3,7 +3,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_base.c standard arm/arm/mpcore_timer.c standard Modified: head/sys/arm/annapurna/alpine/files.alpine ============================================================================== --- head/sys/arm/annapurna/alpine/files.alpine Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/annapurna/alpine/files.alpine Fri Nov 20 19:48:32 2015 (r291108) @@ -4,7 +4,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_base.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard arm/versatile/sp804.c standard arm/versatile/versatile_timer.c standard Modified: head/sys/arm/broadcom/bcm2835/files.bcm283x ============================================================================== --- head/sys/arm/broadcom/bcm2835/files.bcm283x Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/broadcom/bcm2835/files.bcm283x Fri Nov 20 19:48:32 2015 (r291108) @@ -18,7 +18,6 @@ arm/broadcom/bcm2835/bcm283x_dwc_fdt.c arm/arm/bus_space_base.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard kern/kern_clocksource.c standard Modified: head/sys/arm/freescale/imx/files.imx5 ============================================================================== --- head/sys/arm/freescale/imx/files.imx5 Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/freescale/imx/files.imx5 Fri Nov 20 19:48:32 2015 (r291108) @@ -1,5 +1,4 @@ # $FreeBSD$ -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_generic.c standard kern/kern_clocksource.c standard Modified: head/sys/arm/freescale/imx/files.imx6 ============================================================================== --- head/sys/arm/freescale/imx/files.imx6 Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/freescale/imx/files.imx6 Fri Nov 20 19:48:32 2015 (r291108) @@ -3,7 +3,6 @@ # # Standard ARM support. # -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_generic.c standard kern/kern_clocksource.c standard Modified: head/sys/arm/freescale/vybrid/files.vybrid ============================================================================== --- head/sys/arm/freescale/vybrid/files.vybrid Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/freescale/vybrid/files.vybrid Fri Nov 20 19:48:32 2015 (r291108) @@ -3,7 +3,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_base.c standard arm/arm/mpcore_timer.c standard Modified: head/sys/arm/rockchip/files.rk30xx ============================================================================== --- head/sys/arm/rockchip/files.rk30xx Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/rockchip/files.rk30xx Fri Nov 20 19:48:32 2015 (r291108) @@ -1,7 +1,6 @@ # $FreeBSD$ kern/kern_clocksource.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_generic.c standard arm/arm/mpcore_timer.c standard Modified: head/sys/arm/samsung/exynos/files.exynos5 ============================================================================== --- head/sys/arm/samsung/exynos/files.exynos5 Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/samsung/exynos/files.exynos5 Fri Nov 20 19:48:32 2015 (r291108) @@ -3,7 +3,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_base.c standard arm/arm/generic_timer.c standard Modified: head/sys/arm/ti/files.ti ============================================================================== --- head/sys/arm/ti/files.ti Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/ti/files.ti Fri Nov 20 19:48:32 2015 (r291108) @@ -4,7 +4,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_base.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard arm/ti/ti_common.c standard arm/ti/ti_cpuid.c standard Modified: head/sys/arm/versatile/files.versatile ============================================================================== --- head/sys/arm/versatile/files.versatile Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/versatile/files.versatile Fri Nov 20 19:48:32 2015 (r291108) @@ -1,7 +1,6 @@ # $FreeBSD$ arm/arm/bus_space_base.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_generic.c standard arm/versatile/pl050.c optional sc Modified: head/sys/arm/xilinx/files.zynq7 ============================================================================== --- head/sys/arm/xilinx/files.zynq7 Fri Nov 20 18:22:19 2015 (r291107) +++ head/sys/arm/xilinx/files.zynq7 Fri Nov 20 19:48:32 2015 (r291108) @@ -7,7 +7,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_base.c standard arm/arm/bus_space_generic.c standard -arm/arm/bus_space_asm_generic.S standard arm/arm/mpcore_timer.c standard From owner-svn-src-head@freebsd.org Fri Nov 20 21:03:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E864FA33955; Fri, 20 Nov 2015 21:03:05 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AF8D11885; Fri, 20 Nov 2015 21:03:05 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKL341O021762; Fri, 20 Nov 2015 21:03:04 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKL3454021761; Fri, 20 Nov 2015 21:03:04 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <201511202103.tAKL3454021761@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Fri, 20 Nov 2015 21:03:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291109 - 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.20 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, 20 Nov 2015 21:03:06 -0000 Author: rpokala Date: Fri Nov 20 21:03:04 2015 New Revision: 291109 URL: https://svnweb.freebsd.org/changeset/base/291109 Log: Add myself (rpokala) and my mentor (jhb) Approved by: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D4231 Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Fri Nov 20 19:48:32 2015 (r291108) +++ head/share/misc/committers-src.dot Fri Nov 20 21:03:04 2015 (r291109) @@ -271,6 +271,7 @@ roberto [label="Ollivier Robert\nroberto rodrigc [label="Craig Rodrigues\nrodrigc@FreeBSD.org\n2005/05/14"] royger [label="Roger Pau Monne\nroyger@FreeBSD.org\n2013/11/26"] rpaulo [label="Rui Paulo\nrpaulo@FreeBSD.org\n2007/09/25"] +rpokala [label="Ravi Pokala\nrpokala@FreeBSD.org\n2015/11/19"] rrs [label="Randall R Stewart\nrrs@FreeBSD.org\n2007/02/08"] rse [label="Ralf S. Engelschall\nrse@FreeBSD.org\n1997/07/31"] rstone [label="Ryan Stone\nrstone@FreeBSD.org\n2010/04/19"] @@ -519,6 +520,7 @@ jhb -> kbyanc jhb -> peterj jhb -> pfg jhb -> rnoland +jhb -> rpokala jimharris -> carl From owner-svn-src-head@freebsd.org Fri Nov 20 21:49:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E00EA340C6; Fri, 20 Nov 2015 21:49:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2ACF21B89; Fri, 20 Nov 2015 21:49:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKLnn3p033601; Fri, 20 Nov 2015 21:49:49 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKLnnFA033600; Fri, 20 Nov 2015 21:49:49 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511202149.tAKLnnFA033600@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Nov 2015 21:49:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291111 - head/share/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.20 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, 20 Nov 2015 21:49:50 -0000 Author: imp Date: Fri Nov 20 21:49:49 2015 New Revision: 291111 URL: https://svnweb.freebsd.org/changeset/base/291111 Log: Add aarch64 support to CPUTYPE Modified: head/share/mk/bsd.cpu.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Fri Nov 20 21:49:46 2015 (r291110) +++ head/share/mk/bsd.cpu.mk Fri Nov 20 21:49:49 2015 (r291111) @@ -151,6 +151,8 @@ _CPUCFLAGS = -mcpu=ultrasparc . elif ${CPUTYPE} == "ultrasparc3" _CPUCFLAGS = -mcpu=ultrasparc3 . endif +. elif ${MACHINE_CPUARCH} == "aarch64" +_CPUCFLAGS = -mcpu=${CPUTYPE} . endif # Set up the list of CPU features based on the CPU type. This is an From owner-svn-src-head@freebsd.org Fri Nov 20 21:49:49 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F179A340C1; Fri, 20 Nov 2015 21:49:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 26F611B88; Fri, 20 Nov 2015 21:49:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKLnmf6033557; Fri, 20 Nov 2015 21:49:48 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKLnkoR033543; Fri, 20 Nov 2015 21:49:46 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511202149.tAKLnkoR033543@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Nov 2015 21:49:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291110 - in head/sys/arm: allwinner allwinner/a20 altera/socfpga annapurna/alpine freescale/imx freescale/vybrid qemu rockchip samsung/exynos ti/am335x ti/omap4 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.20 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, 20 Nov 2015 21:49:49 -0000 Author: imp Date: Fri Nov 20 21:49:46 2015 New Revision: 291110 URL: https://svnweb.freebsd.org/changeset/base/291110 Log: Makeoption ARM_LITLE_ENDIAN does nothing. Remove it since it isn't consistently used. It was a carry over from NetBSD that FreeBSD doesn't use. Modified: head/sys/arm/allwinner/a20/std.a20 head/sys/arm/allwinner/std.a10 head/sys/arm/altera/socfpga/std.socfpga head/sys/arm/annapurna/alpine/std.alpine 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/qemu/std.virt head/sys/arm/rockchip/std.rk30xx head/sys/arm/samsung/exynos/std.exynos5250 head/sys/arm/samsung/exynos/std.exynos5420 head/sys/arm/ti/am335x/std.am335x head/sys/arm/ti/omap4/std.omap4 Modified: head/sys/arm/allwinner/a20/std.a20 ============================================================================== --- head/sys/arm/allwinner/a20/std.a20 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/allwinner/a20/std.a20 Fri Nov 20 21:49:46 2015 (r291110) @@ -4,7 +4,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -makeoption ARM_LITTLE_ENDIAN makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/allwinner/std.a10 ============================================================================== --- head/sys/arm/allwinner/std.a10 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/allwinner/std.a10 Fri Nov 20 21:49:46 2015 (r291110) @@ -4,7 +4,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -makeoption ARM_LITTLE_ENDIAN makeoptions KERNVIRTADDR=0xc0200000 options KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/altera/socfpga/std.socfpga ============================================================================== --- head/sys/arm/altera/socfpga/std.socfpga Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/altera/socfpga/std.socfpga Fri Nov 20 21:49:46 2015 (r291110) @@ -1,7 +1,5 @@ # $FreeBSD$ -makeoption ARM_LITTLE_ENDIAN - cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" Modified: head/sys/arm/annapurna/alpine/std.alpine ============================================================================== --- head/sys/arm/annapurna/alpine/std.alpine Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/annapurna/alpine/std.alpine Fri Nov 20 21:49:46 2015 (r291110) @@ -1,7 +1,5 @@ # $FreeBSD$ -makeoption ARM_LITTLE_ENDIAN - cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a -DAL_HAVE_TYPES" Modified: head/sys/arm/freescale/imx/std.imx51 ============================================================================== --- head/sys/arm/freescale/imx/std.imx51 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/freescale/imx/std.imx51 Fri Nov 20 21:49:46 2015 (r291110) @@ -2,7 +2,6 @@ machine arm armv6 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" -makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR=0xc0100000 Modified: head/sys/arm/freescale/imx/std.imx53 ============================================================================== --- head/sys/arm/freescale/imx/std.imx53 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/freescale/imx/std.imx53 Fri Nov 20 21:49:46 2015 (r291110) @@ -2,7 +2,6 @@ machine arm armv6 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" -makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR=0xc0100000 Modified: head/sys/arm/freescale/imx/std.imx6 ============================================================================== --- head/sys/arm/freescale/imx/std.imx6 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/freescale/imx/std.imx6 Fri Nov 20 21:49:46 2015 (r291110) @@ -2,7 +2,6 @@ machine arm armv6 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" -makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR = 0xc2000000 Modified: head/sys/arm/freescale/vybrid/std.vybrid ============================================================================== --- head/sys/arm/freescale/vybrid/std.vybrid Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/freescale/vybrid/std.vybrid Fri Nov 20 21:49:46 2015 (r291110) @@ -1,7 +1,5 @@ # $FreeBSD$ -makeoption ARM_LITTLE_ENDIAN - cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" Modified: head/sys/arm/qemu/std.virt ============================================================================== --- head/sys/arm/qemu/std.virt Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/qemu/std.virt Fri Nov 20 21:49:46 2015 (r291110) @@ -2,7 +2,6 @@ machine arm armv6 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" -makeoptions ARM_LITTLE_ENDIAN options ARM_L2_PIPT options KERNVIRTADDR = 0xc1000000 Modified: head/sys/arm/rockchip/std.rk30xx ============================================================================== --- head/sys/arm/rockchip/std.rk30xx Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/rockchip/std.rk30xx Fri Nov 20 21:49:46 2015 (r291110) @@ -4,7 +4,6 @@ cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -makeoption ARM_LITTLE_ENDIAN makeoptions KERNVIRTADDR=0xc0400000 options KERNVIRTADDR=0xc0400000 Modified: head/sys/arm/samsung/exynos/std.exynos5250 ============================================================================== --- head/sys/arm/samsung/exynos/std.exynos5250 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/samsung/exynos/std.exynos5250 Fri Nov 20 21:49:46 2015 (r291110) @@ -1,7 +1,5 @@ # $FreeBSD$ -makeoption ARM_LITTLE_ENDIAN - cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" Modified: head/sys/arm/samsung/exynos/std.exynos5420 ============================================================================== --- head/sys/arm/samsung/exynos/std.exynos5420 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/samsung/exynos/std.exynos5420 Fri Nov 20 21:49:46 2015 (r291110) @@ -1,7 +1,5 @@ # $FreeBSD$ -makeoption ARM_LITTLE_ENDIAN - cpu CPU_CORTEXA machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" Modified: head/sys/arm/ti/am335x/std.am335x ============================================================================== --- head/sys/arm/ti/am335x/std.am335x Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/ti/am335x/std.am335x Fri Nov 20 21:49:46 2015 (r291110) @@ -2,7 +2,6 @@ #$FreeBSD$ files "../ti/am335x/files.am335x" include "../ti/std.ti" -makeoption ARM_LITTLE_ENDIAN options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 Modified: head/sys/arm/ti/omap4/std.omap4 ============================================================================== --- head/sys/arm/ti/omap4/std.omap4 Fri Nov 20 21:03:04 2015 (r291109) +++ head/sys/arm/ti/omap4/std.omap4 Fri Nov 20 21:49:46 2015 (r291110) @@ -2,7 +2,6 @@ #$FreeBSD$ files "../ti/omap4/files.omap4" include "../ti/std.ti" -makeoption ARM_LITTLE_ENDIAN options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm makeoptions KERNVIRTADDR=0xc0200000 From owner-svn-src-head@freebsd.org Fri Nov 20 21:54:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BB272A342A8; Fri, 20 Nov 2015 21:54:06 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 966D811F1; Fri, 20 Nov 2015 21:54:06 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKLs5IZ036328; Fri, 20 Nov 2015 21:54:05 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKLs5N5036327; Fri, 20 Nov 2015 21:54:05 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511202154.tAKLs5N5036327@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 20 Nov 2015 21:54:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291112 - head/tools/tools/nanobsd 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.20 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, 20 Nov 2015 21:54:06 -0000 Author: imp Date: Fri Nov 20 21:54:05 2015 New Revision: 291112 URL: https://svnweb.freebsd.org/changeset/base/291112 Log: Add support for passing TARGET_CPUTYPE into the build. It's more important for arm and mips than for the more generic x86 systems. Modified: head/tools/tools/nanobsd/defaults.sh (contents, props changed) Modified: head/tools/tools/nanobsd/defaults.sh ============================================================================== --- head/tools/tools/nanobsd/defaults.sh Fri Nov 20 21:49:49 2015 (r291111) +++ head/tools/tools/nanobsd/defaults.sh Fri Nov 20 21:54:05 2015 (r291112) @@ -161,11 +161,16 @@ NANO_SLICE_DATA=s4 ####################################################################### # Architecture to build. Corresponds to TARGET_ARCH in a buildworld. # Unfortunately, there's no way to set TARGET at this time, and it -# conflates the two, so architectures where TARGET != TARGET_ARCH do -# not work. This defaults to the arch of the current machine. +# conflates the two, so architectures where TARGET != TARGET_ARCH and +# TARGET can't be guessed from TARGET_ARCH do not work. This defaults +# to the arch of the current machine. NANO_ARCH=`uname -p` +# CPUTYPE defaults to "" which is the default when CPUTYPE isn't +# defined. +NANO_CPUTYPE="" + # Directory to populate /cfg from NANO_CFGDIR="" @@ -235,7 +240,7 @@ build_world ( ) ( pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.bw" cd ${NANO_SRC} - env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} \ + env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} ${NANO_PMAKE} \ SRCCONF=${SRCCONF} \ __MAKE_CONF=${NANO_MAKE_CONF_BUILD} buildworld \ > ${MAKEOBJDIRPREFIX}/_.bw 2>&1 @@ -256,9 +261,6 @@ build_kernel ( ) ( fi cd ${NANO_SRC}; - # unset these just in case to avoid compiler complaints - # when cross-building - unset TARGET_CPUTYPE # Note: We intentionally build all modules, not only the ones in # NANO_MODULES so the built world can be reused by multiple images. eval "TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} buildkernel \ @@ -299,7 +301,7 @@ install_world ( ) ( pprint 3 "log: ${NANO_OBJ}/_.iw" cd ${NANO_SRC} - env TARGET_ARCH=${NANO_ARCH} \ + env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \ ${NANO_MAKE} SRCCONF=${SRCCONF} \ __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} installworld \ DESTDIR=${NANO_WORLDDIR} \ @@ -313,7 +315,7 @@ install_etc ( ) ( pprint 3 "log: ${NANO_OBJ}/_.etc" cd ${NANO_SRC} - env TARGET_ARCH=${NANO_ARCH} \ + env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \ ${NANO_MAKE} SRCCONF=${SRCCONF} \ __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} distribution \ DESTDIR=${NANO_WORLDDIR} \ @@ -344,7 +346,8 @@ install_kernel ( ) ( fi cd ${NANO_SRC} - eval "TARGET_ARCH=${NANO_ARCH} ${NANO_MAKE} installkernel \ + eval "TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \ + ${NANO_MAKE} installkernel \ DESTDIR='${NANO_WORLDDIR}' \ SRCCONF='${SRCCONF}' \ __MAKE_CONF='${NANO_MAKE_CONF_INSTALL}' \ @@ -358,7 +361,7 @@ native_xtools ( ) ( pprint 3 "log: ${NANO_OBJ}/_.native_xtools" cd ${NANO_SRC} - env TARGET_ARCH=${NANO_ARCH} \ + env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \ ${NANO_MAKE} SRCCONF=${SRCCONF} \ __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} native-xtools \ DESTDIR=${NANO_WORLDDIR} \ From owner-svn-src-head@freebsd.org Fri Nov 20 21:56:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2E1AEA34346; Fri, 20 Nov 2015 21:56:22 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E79EB141E; Fri, 20 Nov 2015 21:56:21 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKLuKYp036482; Fri, 20 Nov 2015 21:56:20 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKLuK3R036480; Fri, 20 Nov 2015 21:56:20 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201511202156.tAKLuK3R036480@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 20 Nov 2015 21:56:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291113 - in head: sys/boot/i386 targets/pseudo/userland/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.20 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, 20 Nov 2015 21:56:22 -0000 Author: emaste Date: Fri Nov 20 21:56:20 2015 New Revision: 291113 URL: https://svnweb.freebsd.org/changeset/base/291113 Log: Disconnect unused kgzldr from sys/boot/i386 Sponsored by: The FreeBSD Foundation Modified: head/sys/boot/i386/Makefile head/targets/pseudo/userland/misc/Makefile.depend Modified: head/sys/boot/i386/Makefile ============================================================================== --- head/sys/boot/i386/Makefile Fri Nov 20 21:54:05 2015 (r291112) +++ head/sys/boot/i386/Makefile Fri Nov 20 21:56:20 2015 (r291113) @@ -2,7 +2,7 @@ .include -SUBDIR= mbr pmbr boot0 boot0sio btx boot2 cdboot gptboot kgzldr \ +SUBDIR= mbr pmbr boot0 boot0sio btx boot2 cdboot gptboot \ libi386 libfirewire loader # special boot programs, 'self-extracting boot2+loader' Modified: head/targets/pseudo/userland/misc/Makefile.depend ============================================================================== --- head/targets/pseudo/userland/misc/Makefile.depend Fri Nov 20 21:54:05 2015 (r291112) +++ head/targets/pseudo/userland/misc/Makefile.depend Fri Nov 20 21:56:20 2015 (r291113) @@ -21,7 +21,6 @@ DIRDEPS.x86sys= \ sys/boot/i386/boot2 \ sys/boot/i386/cdboot \ sys/boot/i386/gptboot \ - sys/boot/i386/kgzldr \ sys/boot/i386/libi386 \ sys/boot/i386/libfirewire \ sys/boot/i386/loader \ From owner-svn-src-head@freebsd.org Fri Nov 20 22:36:43 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3EB16A34B7E; Fri, 20 Nov 2015 22:36:43 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E10911FE5; Fri, 20 Nov 2015 22:36:42 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKMaf9X048448; Fri, 20 Nov 2015 22:36:41 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKMaf06048447; Fri, 20 Nov 2015 22:36:41 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <201511202236.tAKMaf06048447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Fri, 20 Nov 2015 22:36:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291114 - head/lib/libc/gen 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.20 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, 20 Nov 2015 22:36:43 -0000 Author: rpokala Date: Fri Nov 20 22:36:41 2015 New Revision: 291114 URL: https://svnweb.freebsd.org/changeset/base/291114 Log: popen() requires check for fdopen() failure Move fdopen() up near other resource allocation like malloc(); do proper deallocation on failure later on in the function. Submitted by: Ramachandra Topannavar Reviewed by: jilles Approved by: jhb (mentor) MFC after: 2 weeks Sponsored by: Panasas, Inc. Differential Revision: https://reviews.freebsd.org/D4126 M lib/libc/gen/popen.c Modified: head/lib/libc/gen/popen.c Modified: head/lib/libc/gen/popen.c ============================================================================== --- head/lib/libc/gen/popen.c Fri Nov 20 21:56:20 2015 (r291113) +++ head/lib/libc/gen/popen.c Fri Nov 20 22:36:41 2015 (r291114) @@ -72,6 +72,7 @@ popen(const char *command, const char *t struct pid *cur; FILE *iop; int pdes[2], pid, twoway, cloexec; + int pdes_unused_in_parent; char *argv[4]; struct pid *p; @@ -98,6 +99,20 @@ popen(const char *command, const char *t return (NULL); } + if (*type == 'r') { + iop = fdopen(pdes[0], type); + pdes_unused_in_parent = pdes[1]; + } else { + iop = fdopen(pdes[1], type); + pdes_unused_in_parent = pdes[0]; + } + if (iop == NULL) { + (void)_close(pdes[0]); + (void)_close(pdes[1]); + free(cur); + return (NULL); + } + argv[0] = "sh"; argv[1] = "-c"; argv[2] = (char *)command; @@ -107,9 +122,14 @@ popen(const char *command, const char *t switch (pid = vfork()) { case -1: /* Error. */ THREAD_UNLOCK(); - (void)_close(pdes[0]); - (void)_close(pdes[1]); + /* + * The _close() closes the unused end of pdes[], while + * the fclose() closes the used end of pdes[], *and* cleans + * up iop. + */ + (void)_close(pdes_unused_in_parent); free(cur); + (void)fclose(iop); return (NULL); /* NOTREACHED */ case 0: /* Child. */ @@ -145,14 +165,8 @@ popen(const char *command, const char *t } THREAD_UNLOCK(); - /* Parent; assume fdopen can't fail. */ - if (*type == 'r') { - iop = fdopen(pdes[0], type); - (void)_close(pdes[1]); - } else { - iop = fdopen(pdes[1], type); - (void)_close(pdes[0]); - } + /* Parent. */ + (void)_close(pdes_unused_in_parent); /* Link into list of file descriptors. */ cur->fp = iop; From owner-svn-src-head@freebsd.org Fri Nov 20 23:15:07 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 768BCA3347B; Fri, 20 Nov 2015 23:15:07 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2510718BE; Fri, 20 Nov 2015 23:15:07 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKNF6U2060092; Fri, 20 Nov 2015 23:15:06 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKNF6oF060090; Fri, 20 Nov 2015 23:15:06 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511202315.tAKNF6oF060090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Fri, 20 Nov 2015 23:15:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291115 - in head/usr.bin: . colldef 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.20 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, 20 Nov 2015 23:15:07 -0000 Author: bapt Date: Fri Nov 20 23:15:05 2015 New Revision: 291115 URL: https://svnweb.freebsd.org/changeset/base/291115 Log: Reintegrate colldef(1) and mklocale(1) While those tools are not needed anymore they are necessary to build FreeBSD 9 and 10. it does not hurt to keep those tools around until both 9 and 10 branch become EOLed. Modify colldef(1) to build after the change in the collation header, and ensure it does produce the same collation definition it used to generate for 9 and 10 Reported by: Oliver Pinter Added: - copied from r290493, head/usr.bin/colldef/ - copied from r290493, head/usr.bin/mklocale/ Directory Properties: head/usr.bin/colldef/ (props changed) head/usr.bin/mklocale/ (props changed) Modified: head/usr.bin/Makefile head/usr.bin/colldef/parse.y Modified: head/usr.bin/Makefile ============================================================================== --- head/usr.bin/Makefile Fri Nov 20 22:36:41 2015 (r291114) +++ head/usr.bin/Makefile Fri Nov 20 23:15:05 2015 (r291115) @@ -25,6 +25,7 @@ SUBDIR= alias \ cksum \ cmp \ col \ + colldef \ colrm \ column \ comm \ @@ -96,6 +97,7 @@ SUBDIR= alias \ mkdep \ mkfifo \ mkimg \ + mklocale \ mktemp \ mkulzma \ mkuzip \ Modified: head/usr.bin/colldef/parse.y ============================================================================== --- head/usr.bin/colldef/parse.y Sat Nov 7 12:33:30 2015 (r290493) +++ head/usr.bin/colldef/parse.y Fri Nov 20 23:15:05 2015 (r291115) @@ -47,6 +47,24 @@ int yylex(void); static void usage(void); static void collate_print_tables(void); +#undef STR_LEN +#define STR_LEN 10 +#undef TABLE_SIZE +#define TABLE_SIZE 100 +#undef COLLATE_VERSION +#define COLLATE_VERSION "1.0\n" +#undef COLLATE_VERSION_2 +#define COLLATE_VERSION1_2 "1.2\n" + +struct __collate_st_char_pri { + int prim, sec; +}; + +struct __collate_st_chain_pri { + u_char str[STR_LEN]; + int prim, sec; +}; + char map_name[FILENAME_MAX] = "."; char curr_chain[STR_LEN]; From owner-svn-src-head@freebsd.org Fri Nov 20 23:20:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F194A334F3 for ; Fri, 20 Nov 2015 23:20:26 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lb0-f170.google.com (mail-lb0-f170.google.com [209.85.217.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 27C3D1A69 for ; Fri, 20 Nov 2015 23:20:25 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by lbblt2 with SMTP id lt2so70439043lbb.3 for ; Fri, 20 Nov 2015 15:20:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=n0p3mVY8VM823BwU+YyXnhmeCbuai0zQwayqqhAC3gs=; b=LpRqzCsM4MmeSeipMKY9xU+4IBwtAau/KWx5NyZzQN9X5r7TFUDwhL5vWh8j2j5KBi 1HJSWxcAh00MqIhp2eLnztNxgfVy+LtikBq/iDdk07gXvq8X3OFuLOVT5oMtYMMeEKCK jZVWP19cVDtFOJso2FQxbuSUqGZsTgLe1yQs8PfIIF+0FlVwZR/kYhJfJ/YvEeYkRRRq RLPSzjmQNr9DAmdNqhiDOFQir9hyiz1l311vFKQCuxMbe2+LKnG2Pq7QzanOkTsVgeSs DuciRNFTg+y/1vf+0XBylzjawxpk9mgOP9koCfA9H+7YMQeYyRyHL5xr/cqLP2z9VY9s 03/w== X-Gm-Message-State: ALoCoQko89OZ5FNvzFvvOfY+pNKr2GX2iAnTknzKxezmQS3P12nlw3FxnKxm9UbdP3K595XQVQ+V X-Received: by 10.112.134.169 with SMTP id pl9mr6746570lbb.145.1448061618269; Fri, 20 Nov 2015 15:20:18 -0800 (PST) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id li2sm204859lbc.37.2015.11.20.15.20.17 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 20 Nov 2015 15:20:17 -0800 (PST) Subject: Re: svn commit: r291114 - head/lib/libc/gen To: Ravi Pokala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201511202236.tAKMaf06048447@repo.freebsd.org> From: Andrey Chernov Message-ID: <564FAAB0.6000600@freebsd.org> Date: Sat, 21 Nov 2015 02:20:16 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <201511202236.tAKMaf06048447@repo.freebsd.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 23:20:26 -0000 On 21.11.2015 1:36, Ravi Pokala wrote: > Move fdopen() up near other resource allocation like malloc(); do proper > deallocation on failure later on in the function. Incorrect. Old code calls fdopen() only in the parent, new one calls fdopen() before fork(), so its results shared by both parent and child, which is wrong for child() case. -- http://ache.vniz.net/ From owner-svn-src-head@freebsd.org Fri Nov 20 23:52:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8447CA33BDA; Fri, 20 Nov 2015 23:52:29 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 377501AB5; Fri, 20 Nov 2015 23:52:29 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAKNqSKB071541; Fri, 20 Nov 2015 23:52:28 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAKNqSD2071538; Fri, 20 Nov 2015 23:52:28 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201511202352.tAKNqSD2071538@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 20 Nov 2015 23:52:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291116 - in head/sys: kern sys vm 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.20 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, 20 Nov 2015 23:52:29 -0000 Author: glebius Date: Fri Nov 20 23:52:27 2015 New Revision: 291116 URL: https://svnweb.freebsd.org/changeset/base/291116 Log: Remove remnants of the old NFS from vnode pager. Reviewed by: kib Sponsored by: Netflix Modified: head/sys/kern/vfs_subr.c head/sys/sys/mount.h head/sys/vm/vnode_pager.c Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Fri Nov 20 23:15:05 2015 (r291115) +++ head/sys/kern/vfs_subr.c Fri Nov 20 23:52:27 2015 (r291116) @@ -179,12 +179,6 @@ SYSCTL_ULONG(_vfs, OID_AUTO, free_owe_in "Number of times free vnodes kept on active list due to VFS " "owing inactivation"); -/* - * Cache for the mount type id assigned to NFS. This is used for - * special checks in nfs/nfs_nqlease.c and vm/vnode_pager.c. - */ -int nfs_mount_type = -1; - /* To keep more than one thread at a time from running vfs_getnewfsid */ static struct mtx mntid_mtx; Modified: head/sys/sys/mount.h ============================================================================== --- head/sys/sys/mount.h Fri Nov 20 23:15:05 2015 (r291115) +++ head/sys/sys/mount.h Fri Nov 20 23:52:27 2015 (r291116) @@ -590,7 +590,6 @@ struct uio; MALLOC_DECLARE(M_MOUNT); #endif extern int maxvfsconf; /* highest defined filesystem type */ -extern int nfs_mount_type; /* vfc_typenum for nfs, or -1 */ TAILQ_HEAD(vfsconfhead, vfsconf); extern struct vfsconfhead vfsconf; Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Fri Nov 20 23:15:05 2015 (r291115) +++ head/sys/vm/vnode_pager.c Fri Nov 20 23:52:27 2015 (r291116) @@ -822,12 +822,10 @@ vnode_pager_generic_getpages(struct vnod return (VM_PAGER_ERROR); /* - * if the blocksize is smaller than a page size, then use - * special small filesystem code. NFS sometimes has a small - * blocksize, but it can handle large reads itself. + * If the blocksize is smaller than a page size, then use + * special small filesystem code. */ - } else if ((PAGE_SIZE / bsize) > 1 && - (vp->v_mount->mnt_stat.f_type != nfs_mount_type)) { + } else if ((PAGE_SIZE / bsize) > 1) { relpbuf(bp, freecnt); vm_pager_free_nonreq(object, m, reqpage, count, FALSE); PCPU_INC(cnt.v_vnodein); From owner-svn-src-head@freebsd.org Fri Nov 20 23:55:38 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 69A2FA33CAA for ; Fri, 20 Nov 2015 23:55:38 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lb0-f169.google.com (mail-lb0-f169.google.com [209.85.217.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id ECE891C9E for ; Fri, 20 Nov 2015 23:55:37 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by lbbkw15 with SMTP id kw15so70543006lbb.0 for ; Fri, 20 Nov 2015 15:55:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=IDonGINNCxt7DZFxWdIEMXTENcuMJ50FChX0NMlT8f4=; b=BmLLqWpkHnkKszgSum91T7W5JJ74t3Fb1XLN88WERtry4hIP7xoDvpAWfOEr9x5wL9 M8BoLcJVEqHcB1QyDsjOSztAMjcK5Uw6QAX9r2T+vUkMqGr2LobDuCX9BmxiQipQWEOZ v9PmV8Y7UhFr92kD9MJjkG0ElrO8gZgk85efikoNHWSY80LkWbdFMQugSGPH2MPVNAHN GZS41Tc8DUdH2LPJgsiUwacEMIZILupIEArnSejciMHLskVPL5EdS9MeiTxTGN2R6PQ0 kikcViXItSPb0Arjp36vd9lzppl/fgHdRWRmeszXN2TFG/2XtOQB+R6dAR5ZgbWDWcRW eiSQ== X-Gm-Message-State: ALoCoQmzeKpB7nRNCpFKVngPhTURBbG2iYYkguqkpJST/vGn9JyFkc6QCc9cTwa6EmA5VU20j1YR X-Received: by 10.112.30.145 with SMTP id s17mr6768357lbh.75.1448063729737; Fri, 20 Nov 2015 15:55:29 -0800 (PST) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id 93sm236642lfx.1.2015.11.20.15.55.28 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 20 Nov 2015 15:55:28 -0800 (PST) Subject: Re: svn commit: r291114 - head/lib/libc/gen To: Ravi Pokala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201511202236.tAKMaf06048447@repo.freebsd.org> <564FAAB0.6000600@freebsd.org> From: Andrey Chernov X-Enigmail-Draft-Status: N1110 Message-ID: <564FB2EF.7020302@freebsd.org> Date: Sat, 21 Nov 2015 02:55:27 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <564FAAB0.6000600@freebsd.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 23:55:38 -0000 On 21.11.2015 2:20, Andrey Chernov wrote: > On 21.11.2015 1:36, Ravi Pokala wrote: >> Move fdopen() up near other resource allocation like malloc(); do proper >> deallocation on failure later on in the function. > > Incorrect. Old code calls fdopen() only in the parent, new one calls > fdopen() before fork(), so its results shared by both parent and child, > which is wrong for child() case. > To be specific, fdopen() may set FD_CLOEXEC for the _child_, for example. I don't have a time right now to check what happens in that case, but it looks suspicious. IMHO it will be better to add fdopen() error processing in the parent, leaving fdopen() where it was. -- http://ache.vniz.net/ From owner-svn-src-head@freebsd.org Fri Nov 20 23:57:54 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36A6DA33F1D; Fri, 20 Nov 2015 23:57:54 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from mr11p00im-asmtp003.me.com (mr11p00im-asmtp003.me.com [17.110.69.254]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1AFEC1E1B; Fri, 20 Nov 2015 23:57:51 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from [172.17.133.77] (dip-cali.panasas.com [64.80.217.3]) by mr11p00im-asmtp003.me.com (Oracle Communications Messaging Server 7.0.5.35.0 64bit (built Mar 31 2015)) with ESMTPSA id <0NY5005YD18BJA10@mr11p00im-asmtp003.me.com>; Fri, 20 Nov 2015 23:57:50 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2015-11-21_02:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 kscore.is_bulkscore=0 kscore.compositescore=1 compositescore=0.9 suspectscore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 rbsscore=0 spamscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1510090000 definitions=main-1511200418 User-Agent: Microsoft-MacOutlook/0.0.0.151105 Date: Fri, 20 Nov 2015 15:57:44 -0800 Subject: Re: svn commit: r291114 - head/lib/libc/gen From: Ravi Pokala Sender: "Pokala, Ravi" To: Andrey Chernov , Ravi Pokala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Cc: "Sanderson, David" Message-id: <28C3C55F-BF25-4DB2-AF05-B57F3F2CCAD5@panasas.com> Thread-topic: svn commit: r291114 - head/lib/libc/gen References: <201511202236.tAKMaf06048447@repo.freebsd.org> <564FAAB0.6000600@freebsd.org> In-reply-to: <564FAAB0.6000600@freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 20 Nov 2015 23:57:54 -0000 -----Original Message----- From: Andrey Chernov Date: 2015-11-20, Friday at 15:20 To: Ravi Pokala , , , Subject: Re: svn commit: r291114 - head/lib/libc/gen >On 21.11.2015 1:36, Ravi Pokala wrote: >> Move fdopen() up near other resource allocation like malloc(); do proper >> deallocation on failure later on in the function. > >Incorrect. Old code calls fdopen() only in the parent, new one calls >fdopen() before fork(), so its results shared by both parent and child, >which is wrong for child() case. There's two different things at play - userland resources and kernel resources. Both "FILE *iop" and "struct pid *cur" are userland, while the descriptors in "pdes" are kernel. We clean up the descriptors in "pdes" in call cases, so we're not leaking kernel resources. You're right that "iop" (and "cur", which you didn't mention) appear to be leaked in the child, in that they're not explicitly cleaned up. But they get wiped away by the _execve(), so it doesn't matter. -Ravi From owner-svn-src-head@freebsd.org Sat Nov 21 00:08:29 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8624FA2E159 for ; Sat, 21 Nov 2015 00:08:29 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lf0-f43.google.com (mail-lf0-f43.google.com [209.85.215.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3054012B4 for ; Sat, 21 Nov 2015 00:08:29 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by lfs39 with SMTP id 39so78830402lfs.3 for ; Fri, 20 Nov 2015 16:08:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=p37Ywhjwef/J6PPIkWOmpp4r78SEBPIiUbUvmSSir4A=; b=GjX2xO4V6MPDabv8KNjwUT9PNVN+JlppW2FHH6JjxAY1uKhbQzFZo8o3/zBZRytQwu MW6KdlK+7m7DcipUtit1rIldwb3wjpirbIaRHtzE/lVCOeBDwVxZLBqnV6wC/piQltQ6 rdvEaoRqpNcMP9ZZoXaBBJqlgXjZt3PxBn9xidch3+PIoQiY0PdSTvBcfggPvtnHqBB6 kZFwdYQEeD3UxjkmqvtjUdyYk1tAXZP4B8Sf5jPpPOAAM60oB9QTcprQYO0GVGHEVUS2 Oaz5ncx0FvhoKviyQFQCcykmhGtqFWXEur0z4+IOgsoFOB8COvmulmYpTt/EuXyht/s6 UAqw== X-Gm-Message-State: ALoCoQmAjgzE3SwCRcpIX66S0QzOAZk4OMqQL/iCwDGLeh+7yoH/Js+vBIadPe1PdoTBkIv5HwB1 X-Received: by 10.25.19.168 with SMTP id 40mr7101859lft.68.1448064500638; Fri, 20 Nov 2015 16:08:20 -0800 (PST) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id g5sm225550lbd.26.2015.11.20.16.08.19 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 20 Nov 2015 16:08:19 -0800 (PST) Subject: Re: svn commit: r291114 - head/lib/libc/gen To: Ravi Pokala , Ravi Pokala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201511202236.tAKMaf06048447@repo.freebsd.org> <564FAAB0.6000600@freebsd.org> <28C3C55F-BF25-4DB2-AF05-B57F3F2CCAD5@panasas.com> Cc: "Sanderson, David" From: Andrey Chernov Message-ID: <564FB5F3.1080301@freebsd.org> Date: Sat, 21 Nov 2015 03:08:19 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <28C3C55F-BF25-4DB2-AF05-B57F3F2CCAD5@panasas.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 21 Nov 2015 00:08:29 -0000 On 21.11.2015 2:57, Ravi Pokala wrote: > There's two different things at play - userland resources and kernel resources. Both "FILE *iop" and "struct pid *cur" are userland, while the descriptors in "pdes" are kernel. We clean up the descriptors in "pdes" in call cases, so we're not leaking kernel resources. You're right that "iop" (and "cur", which you didn't mention) appear to be leaked in the child, in that they're not explicitly cleaned up. But they get wiped away by the _execve(), so it doesn't matter. See my next reply. I care not about userland resources, but about fdopen() ability to set FD_CLOEXEC. -- http://ache.vniz.net/ From owner-svn-src-head@freebsd.org Sat Nov 21 00:15:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D69A0A2E3A7; Sat, 21 Nov 2015 00:15:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B0D5164E; Sat, 21 Nov 2015 00:15:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL0Ffxq077360; Sat, 21 Nov 2015 00:15:41 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL0Ffus077359; Sat, 21 Nov 2015 00:15:41 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201511210015.tAL0Ffus077359@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 21 Nov 2015 00:15:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291117 - head/sys/fs/nfsclient 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.20 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, 21 Nov 2015 00:15:42 -0000 Author: rmacklem Date: Sat Nov 21 00:15:41 2015 New Revision: 291117 URL: https://svnweb.freebsd.org/changeset/base/291117 Log: Revert r283330 since it broke directory caching in the client. At this time I cannot see a way to fix directory caching when it has partial blocks in the buffer cache, due to the fact that the syscall's uio_offset won't stay the same as the lblkno * NFS_DIRBLKSIZ offset. Reported by: bde MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clrpcops.c Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Fri Nov 20 23:52:27 2015 (r291116) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Sat Nov 21 00:15:41 2015 (r291117) @@ -3089,6 +3089,25 @@ nfsrpc_readdir(vnode_t vp, struct uio *u *eofp = eof; } + /* + * Add extra empty records to any remaining DIRBLKSIZ chunks. + */ + while (uio_uio_resid(uiop) > 0 && ((size_t)(uio_uio_resid(uiop))) != tresid) { + dp = (struct dirent *) CAST_DOWN(caddr_t, uio_iov_base(uiop)); + dp->d_type = DT_UNKNOWN; + dp->d_fileno = 0; + dp->d_namlen = 0; + dp->d_name[0] = '\0'; + tl = (u_int32_t *)&dp->d_name[4]; + *tl++ = cookie.lval[0]; + *tl = cookie.lval[1]; + dp->d_reclen = DIRBLKSIZ; + uio_iov_base_add(uiop, DIRBLKSIZ); + uio_iov_len_add(uiop, -(DIRBLKSIZ)); + uio_uio_resid_add(uiop, -(DIRBLKSIZ)); + uiop->uio_offset += DIRBLKSIZ; + } + nfsmout: if (nd->nd_mrep != NULL) mbuf_freem(nd->nd_mrep); @@ -3563,6 +3582,25 @@ nfsrpc_readdirplus(vnode_t vp, struct ui *eofp = eof; } + /* + * Add extra empty records to any remaining DIRBLKSIZ chunks. + */ + while (uio_uio_resid(uiop) > 0 && uio_uio_resid(uiop) != tresid) { + dp = (struct dirent *)uio_iov_base(uiop); + dp->d_type = DT_UNKNOWN; + dp->d_fileno = 0; + dp->d_namlen = 0; + dp->d_name[0] = '\0'; + tl = (u_int32_t *)&dp->d_name[4]; + *tl++ = cookie.lval[0]; + *tl = cookie.lval[1]; + dp->d_reclen = DIRBLKSIZ; + uio_iov_base_add(uiop, DIRBLKSIZ); + uio_iov_len_add(uiop, -(DIRBLKSIZ)); + uio_uio_resid_add(uiop, -(DIRBLKSIZ)); + uiop->uio_offset += DIRBLKSIZ; + } + nfsmout: if (nd->nd_mrep != NULL) mbuf_freem(nd->nd_mrep); From owner-svn-src-head@freebsd.org Sat Nov 21 00:22:49 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22DD0A2E5D9; Sat, 21 Nov 2015 00:22:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F1E2D1CB1; Sat, 21 Nov 2015 00:22:48 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL0MmcT080336; Sat, 21 Nov 2015 00:22:48 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL0MmIF080335; Sat, 21 Nov 2015 00:22:48 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201511210022.tAL0MmIF080335@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sat, 21 Nov 2015 00:22:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291118 - head/sys/mips/malta 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.20 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, 21 Nov 2015 00:22:49 -0000 Author: adrian Date: Sat Nov 21 00:22:47 2015 New Revision: 291118 URL: https://svnweb.freebsd.org/changeset/base/291118 Log: mips: teach the malta platform about extended memory. Extended memory here is "physical memory above 256MB". "memsize" in the environment only grows to 256MB; "ememsize" is the entire memory range. Extended memory shows up at physical address 0x90000000. This allows for malta64 VMs to be created with > 256MB RAM, all the way up to 2GB RAM. Tested: * qemu-devel package; qemu-system-mips64 -m 2048 (and -m 256 to test the no-ememsize case.) TODO: * testing mips32 with > 256MB RAM. Reviewed by: imp Modified: head/sys/mips/malta/malta_machdep.c Modified: head/sys/mips/malta/malta_machdep.c ============================================================================== --- head/sys/mips/malta/malta_machdep.c Sat Nov 21 00:15:41 2015 (r291117) +++ head/sys/mips/malta/malta_machdep.c Sat Nov 21 00:22:47 2015 (r291118) @@ -173,7 +173,7 @@ writertc(uint8_t addr, uint8_t val) #endif static void -mips_init(void) +mips_init(unsigned long memsize, uint64_t ememsize) { int i; @@ -181,13 +181,28 @@ mips_init(void) phys_avail[i] = 0; } + /* + * memsize is the amount of RAM available below 256MB. + * ememsize is the total amount of RAM available. + * + * The second bank starts at 0x90000000. + */ + /* phys_avail regions are in bytes */ phys_avail[0] = MIPS_KSEG0_TO_PHYS(kernel_kseg0_end); - phys_avail[1] = ctob(realmem); - + phys_avail[1] = memsize; dump_avail[0] = phys_avail[0]; dump_avail[1] = phys_avail[1]; + /* Only specify the extended region if it's set */ + if (ememsize > memsize) { + phys_avail[2] = 0x90000000; + phys_avail[3] = 0x90000000 + (ememsize - memsize); + dump_avail[2] = phys_avail[2]; + dump_avail[3] = phys_avail[3]; + } + + /* XXX realmem assigned in the caller of mips_init() */ physmem = realmem; init_param1(); @@ -272,6 +287,7 @@ platform_start(__register_t a0, __regist int32_t *argv = (int32_t*)a1; int32_t *envp = (int32_t*)a2; unsigned int memsize = a3; + uint64_t ememsize = 0; int i; /* clear the BSS and SBSS segments */ @@ -289,26 +305,54 @@ platform_start(__register_t a0, __regist printf("entry: platform_start()\n"); bootverbose = 1; + /* * YAMON uses 32bit pointers to strings so * convert them to proper type manually */ + if (bootverbose) { printf("cmd line: "); for (i = 0; i < argc; i++) printf("%s ", (char*)(intptr_t)argv[i]); printf("\n"); + } + if (bootverbose) printf("envp:\n"); - for (i = 0; envp[i]; i += 2) - printf("\t%s = %s\n", (char*)(intptr_t)envp[i], - (char*)(intptr_t)envp[i+1]); - printf("memsize = %08x\n", memsize); + /* + * Parse the environment for things like ememsize. + */ + for (i = 0; envp[i]; i += 2) { + const char *a, *v; + + a = (char *)(intptr_t)envp[i]; + v = (char *)(intptr_t)envp[i+1]; + + if (bootverbose) + printf("\t%s = %s\n", a, v); + + if (strcmp(a, "ememsize") == 0) { + ememsize = strtoul(v, NULL, 0); + } } - realmem = btoc(memsize); - mips_init(); + if (bootverbose) { + printf("memsize = %llu (0x%08x)\n", + (unsigned long long) memsize, memsize); + printf("ememsize = %llu\n", (unsigned long long) ememsize); + } + + /* + * For <= 256MB RAM amounts, ememsize should equal memsize. + * For > 256MB RAM amounts it's the total RAM available; + * split between two banks. + * + * XXX TODO: just push realmem assignment into mips_init() ? + */ + realmem = btoc(ememsize); + mips_init(memsize, ememsize); mips_timer_init_params(platform_counter_freq, 0); } From owner-svn-src-head@freebsd.org Sat Nov 21 00:35:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E4332A2E7E2; Sat, 21 Nov 2015 00:35:41 +0000 (UTC) (envelope-from brd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ADD1B112D; Sat, 21 Nov 2015 00:35:41 +0000 (UTC) (envelope-from brd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL0Zek2083337; Sat, 21 Nov 2015 00:35:40 GMT (envelope-from brd@FreeBSD.org) Received: (from brd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL0Zen6083336; Sat, 21 Nov 2015 00:35:40 GMT (envelope-from brd@FreeBSD.org) Message-Id: <201511210035.tAL0Zen6083336@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brd set sender to brd@FreeBSD.org using -f From: Brad Davis Date: Sat, 21 Nov 2015 00:35:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291119 - head/share/man/man7 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.20 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, 21 Nov 2015 00:35:42 -0000 Author: brd (doc,ports committer) Date: Sat Nov 21 00:35:40 2015 New Revision: 291119 URL: https://svnweb.freebsd.org/changeset/base/291119 Log: Remove a link to the now defunct "Release Engineering of Third Party Packages". PR: 202803 Submitted by: Tobias Kortkamp MFC after: 1 week Modified: head/share/man/man7/release.7 Modified: head/share/man/man7/release.7 ============================================================================== --- head/share/man/man7/release.7 Sat Nov 21 00:22:47 2015 (r291118) +++ head/share/man/man7/release.7 Sat Nov 21 00:35:40 2015 (r291119) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 20, 2015 +.Dd November 20, 2015 .Dt RELEASE 7 .Os .Sh NAME @@ -720,10 +720,6 @@ variable in .%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/ .Re .Rs -.%T "FreeBSD Release Engineering of Third Party Packages" -.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng-packages/ -.Re -.Rs .%T "FreeBSD Developers' Handbook" .%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/ .Re From owner-svn-src-head@freebsd.org Sat Nov 21 02:08:49 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6F374A32A7E; Sat, 21 Nov 2015 02:08:49 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 221451760; Sat, 21 Nov 2015 02:08:49 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL28mY9009134; Sat, 21 Nov 2015 02:08:48 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL28mVA009131; Sat, 21 Nov 2015 02:08:48 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201511210208.tAL28mVA009131@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Sat, 21 Nov 2015 02:08:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291120 - in head/sys: arm64/arm64 x86/x86 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.20 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, 21 Nov 2015 02:08:49 -0000 Author: marius Date: Sat Nov 21 02:08:47 2015 New Revision: 291120 URL: https://svnweb.freebsd.org/changeset/base/291120 Log: Avoid a NULL pointer dereference in bounce_bus_dmamap_unload() when the map has been created via bounce_bus_dmamem_alloc(). In that case bus_dmamap_unload(9) typically isn't called during normal operation but still should be during detach, cleanup from failed attach etc. Submitted by: yongari MFC after: 3 days Modified: head/sys/arm64/arm64/busdma_bounce.c head/sys/x86/x86/busdma_bounce.c Modified: head/sys/arm64/arm64/busdma_bounce.c ============================================================================== --- head/sys/arm64/arm64/busdma_bounce.c Sat Nov 21 00:35:40 2015 (r291119) +++ head/sys/arm64/arm64/busdma_bounce.c Sat Nov 21 02:08:47 2015 (r291120) @@ -754,6 +754,9 @@ bounce_bus_dmamap_unload(bus_dma_tag_t d { struct bounce_page *bpage; + if (map == NULL) + return; + while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) { STAILQ_REMOVE_HEAD(&map->bpages, links); free_bounce_page(dmat, bpage); @@ -836,12 +839,14 @@ SYSINIT(bpages, SI_SUB_LOCK, SI_ORDER_AN static struct sysctl_ctx_list * busdma_sysctl_tree(struct bounce_zone *bz) { + return (&bz->sysctl_tree); } static struct sysctl_oid * busdma_sysctl_tree_top(struct bounce_zone *bz) { + return (bz->sysctl_tree_top); } Modified: head/sys/x86/x86/busdma_bounce.c ============================================================================== --- head/sys/x86/x86/busdma_bounce.c Sat Nov 21 00:35:40 2015 (r291119) +++ head/sys/x86/x86/busdma_bounce.c Sat Nov 21 02:08:47 2015 (r291120) @@ -878,6 +878,9 @@ bounce_bus_dmamap_unload(bus_dma_tag_t d { struct bounce_page *bpage; + if (map == NULL) + return; + while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) { STAILQ_REMOVE_HEAD(&map->bpages, links); free_bounce_page(dmat, bpage); @@ -1000,12 +1003,14 @@ SYSINIT(bpages, SI_SUB_LOCK, SI_ORDER_AN static struct sysctl_ctx_list * busdma_sysctl_tree(struct bounce_zone *bz) { + return (&bz->sysctl_tree); } static struct sysctl_oid * busdma_sysctl_tree_top(struct bounce_zone *bz) { + return (bz->sysctl_tree_top); } From owner-svn-src-head@freebsd.org Sat Nov 21 02:29:39 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F13CA341C2; Sat, 21 Nov 2015 02:29:39 +0000 (UTC) (envelope-from yelliott@gmail.com) Received: from mail-oi0-x22a.google.com (mail-oi0-x22a.google.com [IPv6:2607:f8b0:4003:c06::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3C5141FCF; Sat, 21 Nov 2015 02:29:39 +0000 (UTC) (envelope-from yelliott@gmail.com) Received: by oiww189 with SMTP id w189so75292610oiw.3; Fri, 20 Nov 2015 18:29:38 -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=fncdJTmPOig3ETg9lqzDnQpV6V2Xd92QQHfoY0D1QZQ=; b=wS0/r7FDqYe6ZGKTQmrH16ciDD9qIrTPIER67gFm3QqXFEm1rVNrJJK0AReQreOv9W bbi3J95I9iRY8/0LIa9QJLAUGrqo3qRMD/hbmbHByjD2DAAr78nQNMvUg3kBCWFVikqv jliRGLIA65Gl60aEkdQRhMAZq6fHSoXyERQJdMccLSRWVha5qW4G2DpniSdDlDCvv67h ptYQLuSEGbYqGpv9+LFPP8r2DDYoOHO44KgYsK6oRKqsm4C1Fg6Rpy0ldQ3fzTvgKUT2 CEmAWS5UaL4KzeAJtW0xmj9T62x1ADh8nysxKQinDcja8khBSTRED4Wn5qjToFTvWKZN wxFQ== MIME-Version: 1.0 X-Received: by 10.202.80.204 with SMTP id e195mr10670978oib.75.1448072978638; Fri, 20 Nov 2015 18:29:38 -0800 (PST) Received: by 10.202.205.15 with HTTP; Fri, 20 Nov 2015 18:29:38 -0800 (PST) In-Reply-To: <564FB5F3.1080301@freebsd.org> References: <201511202236.tAKMaf06048447@repo.freebsd.org> <564FAAB0.6000600@freebsd.org> <28C3C55F-BF25-4DB2-AF05-B57F3F2CCAD5@panasas.com> <564FB5F3.1080301@freebsd.org> Date: Fri, 20 Nov 2015 21:29:38 -0500 Message-ID: Subject: Re: svn commit: r291114 - head/lib/libc/gen From: David Sanderson To: Andrey Chernov Cc: Ravi Pokala , Ravi Pokala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, "Sanderson, David" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 21 Nov 2015 02:29:39 -0000 On Fri, Nov 20, 2015 at 7:08 PM, Andrey Chernov wrote: > On 21.11.2015 2:57, Ravi Pokala wrote: > > There's two different things at play - userland resources and kernel > resources. Both "FILE *iop" and "struct pid *cur" are userland, while the > descriptors in "pdes" are kernel. We clean up the descriptors in "pdes" in > call cases, so we're not leaking kernel resources. You're right that "iop" > (and "cur", which you didn't mention) appear to be leaked in the child, in > that they're not explicitly cleaned up. But they get wiped away by the > _execve(), so it doesn't matter. > > See my next reply. I care not about userland resources, but about > fdopen() ability to set FD_CLOEXEC. Hi Andrey, I'll step into this discussion because Ravi submitted this change on my behalf. Thank you for pointing out the possibility of fdopen() setting FD_CLOEXEC on the parent's end of the pipe if the mode string contains an 'e'. This is indeed documented on popen(3). However, note that popen() uses pipe2(pdes, O_CLOEXEC) to create the pipe -- so both ends of the pipe start out with FD_CLOEXEC set. If the caller uses popen() with "re" or "we", the fdopen() code will simply set FD_CLOEXEC on the parent's end of the pipe _again_. So moving the fdopen() prior to the fork() doesn't have any net effect on the file descriptors the child process receives, even in the face of popen() with "re" or "we". Does this address your concerns? Thanks, David Sanderson From owner-svn-src-head@freebsd.org Sat Nov 21 02:49:35 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 157B9A344C6; Sat, 21 Nov 2015 02:49:35 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BE2E81987; Sat, 21 Nov 2015 02:49:34 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL2nXWk023059; Sat, 21 Nov 2015 02:49:33 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL2nXF7023056; Sat, 21 Nov 2015 02:49:33 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201511210249.tAL2nXF7023056@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Sat, 21 Nov 2015 02:49:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291121 - in head/sys/sparc64: include sparc64 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.20 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, 21 Nov 2015 02:49:35 -0000 Author: marius Date: Sat Nov 21 02:49:33 2015 New Revision: 291121 URL: https://svnweb.freebsd.org/changeset/base/291121 Log: Merge from r290547: Since r289279 bufinit() uses mp_ncpus so adapt to what x86 does and set this variable already in cpu_mp_setmaxid(). While at it, rename cpu_cpuid_prop() to cpu_portid_prop() as well as the MD cpuid variable to portid to avoid confusion with the MI use of "cpuid" and make some variable static/global in order to reduce stack usage. PR: 204685 Modified: head/sys/sparc64/include/md_var.h head/sys/sparc64/sparc64/machdep.c head/sys/sparc64/sparc64/mp_machdep.c Modified: head/sys/sparc64/include/md_var.h ============================================================================== --- head/sys/sparc64/include/md_var.h Sat Nov 21 02:08:47 2015 (r291120) +++ head/sys/sparc64/include/md_var.h Sat Nov 21 02:49:33 2015 (r291121) @@ -47,9 +47,9 @@ extern vm_paddr_t kstack0_phys; struct pcpu; struct md_utrap; -const char *cpu_cpuid_prop(u_int cpu_impl); uint32_t cpu_get_mid(u_int cpu_impl); void cpu_identify(u_long vers, u_int clock, u_int id); +const char *cpu_portid_prop(u_int cpu_impl); void cpu_setregs(struct pcpu *pc); int is_physical_memory(vm_paddr_t addr); struct md_utrap *utrap_alloc(void); Modified: head/sys/sparc64/sparc64/machdep.c ============================================================================== --- head/sys/sparc64/sparc64/machdep.c Sat Nov 21 02:08:47 2015 (r291120) +++ head/sys/sparc64/sparc64/machdep.c Sat Nov 21 02:49:33 2015 (r291121) @@ -245,7 +245,7 @@ find_bsp(phandle_t node, uint32_t bspid, { char type[sizeof("cpu")]; phandle_t child; - uint32_t cpuid; + uint32_t portid; for (; node != 0; node = OF_peer(node)) { child = OF_child(node); @@ -259,10 +259,10 @@ find_bsp(phandle_t node, uint32_t bspid, continue; if (strcmp(type, "cpu") != 0) continue; - if (OF_getprop(node, cpu_cpuid_prop(cpu_impl), &cpuid, - sizeof(cpuid)) <= 0) + if (OF_getprop(node, cpu_portid_prop(cpu_impl), + &portid, sizeof(portid)) <= 0) continue; - if (cpuid == bspid) + if (portid == bspid) return (node); } } @@ -270,7 +270,7 @@ find_bsp(phandle_t node, uint32_t bspid, } const char * -cpu_cpuid_prop(u_int cpu_impl) +cpu_portid_prop(u_int cpu_impl) { switch (cpu_impl) { Modified: head/sys/sparc64/sparc64/mp_machdep.c ============================================================================== --- head/sys/sparc64/sparc64/mp_machdep.c Sat Nov 21 02:08:47 2015 (r291120) +++ head/sys/sparc64/sparc64/mp_machdep.c Sat Nov 21 02:49:33 2015 (r291121) @@ -119,9 +119,11 @@ struct mtx ipi_mtx; cpu_ipi_selected_t *cpu_ipi_selected; cpu_ipi_single_t *cpu_ipi_single; -static vm_offset_t mp_tramp; static u_int cpuid_to_mid[MAXCPU]; +static u_int cpuids = 1; static volatile cpuset_t shutdown_cpus; +static char ipi_pbuf[CPUSETBUFSIZ]; +static vm_offset_t mp_tramp; static void ap_count(phandle_t node, u_int mid, u_int cpu_impl); static void ap_start(phandle_t node, u_int mid, u_int cpu_impl); @@ -165,13 +167,12 @@ static void foreach_ap(phandle_t node, void (*func)(phandle_t node, u_int mid, u_int cpu_impl)) { - char type[sizeof("cpu")]; + static char type[sizeof("cpu")]; phandle_t child; - u_int cpuid; - uint32_t cpu_impl; + uint32_t cpu_impl, portid; /* There's no need to traverse the whole OFW tree twice. */ - if (mp_maxid > 0 && mp_ncpus >= mp_maxid + 1) + if (mp_maxid > 0 && cpuids > mp_maxid) return; for (; node != 0; node = OF_peer(node)) { @@ -188,13 +189,13 @@ foreach_ap(phandle_t node, void (*func)( sizeof(cpu_impl)) <= 0) panic("%s: couldn't determine CPU " "implementation", __func__); - if (OF_getprop(node, cpu_cpuid_prop(cpu_impl), &cpuid, - sizeof(cpuid)) <= 0) - panic("%s: couldn't determine CPU module ID", + if (OF_getprop(node, cpu_portid_prop(cpu_impl), + &portid, sizeof(portid)) <= 0) + panic("%s: couldn't determine CPU port ID", __func__); - if (cpuid == PCPU_GET(mid)) + if (portid == PCPU_GET(mid)) continue; - (*func)(node, cpuid, cpu_impl); + (*func)(node, portid, cpu_impl); } } } @@ -208,16 +209,17 @@ cpu_mp_setmaxid(void) CPU_SETOF(curcpu, &all_cpus); mp_ncpus = 1; - mp_maxid = 0; foreach_ap(OF_child(OF_peer(0)), ap_count); + mp_ncpus = MIN(mp_ncpus, MAXCPU); + mp_maxid = mp_ncpus - 1; } static void ap_count(phandle_t node __unused, u_int mid __unused, u_int cpu_impl __unused) { - mp_maxid++; + mp_ncpus++; } int @@ -306,7 +308,7 @@ ap_start(phandle_t node, u_int mid, u_in u_int cpuid; uint32_t clock; - if (mp_ncpus > MAXCPU) + if (cpuids > mp_maxid) return; if (OF_getprop(node, "clock-frequency", &clock, sizeof(clock)) <= 0) @@ -334,7 +336,7 @@ ap_start(phandle_t node, u_int mid, u_in csa->csa_tick = csa->csa_stick = 0; intr_restore(s); - cpuid = mp_ncpus++; + cpuid = cpuids++; cpuid_to_mid[cpuid] = mid; cpu_identify(csa->csa_ver, clock, cpuid); @@ -659,7 +661,6 @@ cheetah_ipi_single(u_int cpu, u_long d0, static void cheetah_ipi_selected(cpuset_t cpus, u_long d0, u_long d1, u_long d2) { - char pbuf[CPUSETBUFSIZ]; register_t s; u_long ids; u_int bnp; @@ -675,14 +676,14 @@ cheetah_ipi_selected(cpuset_t cpus, u_lo ("%s: outstanding dispatch", __func__)); ids = 0; - for (i = 0; i < IPI_RETRIES * mp_ncpus; i++) { + for (i = 0; i < IPI_RETRIES * smp_cpus; i++) { s = intr_disable(); stxa(AA_SDB_INTR_D0, ASI_SDB_INTR_W, d0); stxa(AA_SDB_INTR_D1, ASI_SDB_INTR_W, d1); stxa(AA_SDB_INTR_D2, ASI_SDB_INTR_W, d2); membar(Sync); bnp = 0; - for (cpu = 0; cpu < mp_ncpus; cpu++) { + for (cpu = 0; cpu < smp_cpus; cpu++) { if (CPU_ISSET(cpu, &cpus)) { stxa(AA_INTR_SEND | (cpuid_to_mid[cpu] << IDC_ITID_SHIFT) | bnp << IDC_BN_SHIFT, @@ -698,7 +699,7 @@ cheetah_ipi_selected(cpuset_t cpus, u_lo ; intr_restore(s); bnp = 0; - for (cpu = 0; cpu < mp_ncpus; cpu++) { + for (cpu = 0; cpu < smp_cpus; cpu++) { if (CPU_ISSET(cpu, &cpus)) { if ((ids & (IDR_NACK << (2 * bnp))) == 0) CPU_CLR(cpu, &cpus); @@ -710,10 +711,10 @@ cheetah_ipi_selected(cpuset_t cpus, u_lo } if (kdb_active != 0 || panicstr != NULL) printf("%s: couldn't send IPI (cpus=%s ids=0x%lu)\n", - __func__, cpusetobj_strprint(pbuf, &cpus), ids); + __func__, cpusetobj_strprint(ipi_pbuf, &cpus), ids); else panic("%s: couldn't send IPI (cpus=%s ids=0x%lu)", - __func__, cpusetobj_strprint(pbuf, &cpus), ids); + __func__, cpusetobj_strprint(ipi_pbuf, &cpus), ids); } static void @@ -760,7 +761,6 @@ jalapeno_ipi_single(u_int cpu, u_long d0 static void jalapeno_ipi_selected(cpuset_t cpus, u_long d0, u_long d1, u_long d2) { - char pbuf[CPUSETBUFSIZ]; register_t s; u_long ids; u_int cpu; @@ -775,13 +775,13 @@ jalapeno_ipi_selected(cpuset_t cpus, u_l ("%s: outstanding dispatch", __func__)); ids = 0; - for (i = 0; i < IPI_RETRIES * mp_ncpus; i++) { + for (i = 0; i < IPI_RETRIES * smp_cpus; i++) { s = intr_disable(); stxa(AA_SDB_INTR_D0, ASI_SDB_INTR_W, d0); stxa(AA_SDB_INTR_D1, ASI_SDB_INTR_W, d1); stxa(AA_SDB_INTR_D2, ASI_SDB_INTR_W, d2); membar(Sync); - for (cpu = 0; cpu < mp_ncpus; cpu++) { + for (cpu = 0; cpu < smp_cpus; cpu++) { if (CPU_ISSET(cpu, &cpus)) { stxa(AA_INTR_SEND | (cpuid_to_mid[cpu] << IDC_ITID_SHIFT), ASI_SDB_INTR_W, 0); @@ -795,7 +795,7 @@ jalapeno_ipi_selected(cpuset_t cpus, u_l if ((ids & (IDR_CHEETAH_ALL_BUSY | IDR_CHEETAH_ALL_NACK)) == 0) return; - for (cpu = 0; cpu < mp_ncpus; cpu++) + for (cpu = 0; cpu < smp_cpus; cpu++) if (CPU_ISSET(cpu, &cpus)) if ((ids & (IDR_NACK << (2 * cpuid_to_mid[cpu]))) == 0) @@ -803,8 +803,8 @@ jalapeno_ipi_selected(cpuset_t cpus, u_l } if (kdb_active != 0 || panicstr != NULL) printf("%s: couldn't send IPI (cpus=%s ids=0x%lu)\n", - __func__, cpusetobj_strprint(pbuf, &cpus), ids); + __func__, cpusetobj_strprint(ipi_pbuf, &cpus), ids); else panic("%s: couldn't send IPI (cpus=%s ids=0x%lu)", - __func__, cpusetobj_strprint(pbuf, &cpus), ids); + __func__, cpusetobj_strprint(ipi_pbuf, &cpus), ids); } From owner-svn-src-head@freebsd.org Sat Nov 21 06:03:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 60F6BA345EB; Sat, 21 Nov 2015 06:03:48 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F4221828; Sat, 21 Nov 2015 06:03:48 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL63lb9085366; Sat, 21 Nov 2015 06:03:47 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL63loY085365; Sat, 21 Nov 2015 06:03:47 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201511210603.tAL63loY085365@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Sat, 21 Nov 2015 06:03:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291122 - 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.20 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, 21 Nov 2015 06:03:48 -0000 Author: jhibbits Date: Sat Nov 21 06:03:46 2015 New Revision: 291122 URL: https://svnweb.freebsd.org/changeset/base/291122 Log: trunc_page() goes through unsigned long, which is too short. sizeof(unsigned long) < sizeof(vm_paddr_t) on Book-E, which uses 36-bit addressing. With this, a CCSR with a physical address above 4GB successfully maps. Sponsored by: Alex Perez/Inertial Computing Modified: head/sys/powerpc/booke/pmap.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Sat Nov 21 02:49:33 2015 (r291121) +++ head/sys/powerpc/booke/pmap.c Sat Nov 21 06:03:46 2015 (r291122) @@ -3298,7 +3298,7 @@ pmap_early_io_map(vm_paddr_t pa, vm_size return (tlb1[i].virt + (pa - tlb1[i].phys)); } - pa_base = trunc_page(pa); + pa_base = rounddown(pa, PAGE_SIZE); size = roundup(size + (pa - pa_base), PAGE_SIZE); tlb1_map_base = roundup2(tlb1_map_base, 1 << (ilog2(size) & ~1)); va = tlb1_map_base + (pa - pa_base); From owner-svn-src-head@freebsd.org Sat Nov 21 09:09:28 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C3A4A34BE5; Sat, 21 Nov 2015 09:09:28 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 295491150; Sat, 21 Nov 2015 09:09:28 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAL99RU2039448; Sat, 21 Nov 2015 09:09:27 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAL99PM7039431; Sat, 21 Nov 2015 09:09:25 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201511210909.tAL99PM7039431@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sat, 21 Nov 2015 09:09:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291125 - in head: contrib/xz contrib/xz/src/common contrib/xz/src/liblzma/api contrib/xz/src/liblzma/api/lzma contrib/xz/src/liblzma/common contrib/xz/src/liblzma/lz contrib/xz/src/lib... 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.20 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, 21 Nov 2015 09:09:28 -0000 Author: delphij Date: Sat Nov 21 09:09:25 2015 New Revision: 291125 URL: https://svnweb.freebsd.org/changeset/base/291125 Log: MFV r291123: xz 5.2.2. MFC after: 1 month Relnotes: yes Modified: head/contrib/xz/ChangeLog head/contrib/xz/THANKS head/contrib/xz/src/common/tuklib_physmem.c head/contrib/xz/src/liblzma/api/lzma.h head/contrib/xz/src/liblzma/api/lzma/version.h head/contrib/xz/src/liblzma/common/index.c head/contrib/xz/src/liblzma/lz/lz_encoder.c head/contrib/xz/src/liblzma/lzma/lzma_encoder.c head/contrib/xz/src/xz/args.h head/contrib/xz/src/xz/file_io.c head/contrib/xz/src/xz/main.c head/contrib/xz/src/xz/message.c head/contrib/xz/src/xz/options.c head/contrib/xz/src/xz/xz.1 head/lib/liblzma/config.h Directory Properties: head/contrib/xz/ (props changed) Modified: head/contrib/xz/ChangeLog ============================================================================== --- head/contrib/xz/ChangeLog Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/ChangeLog Sat Nov 21 09:09:25 2015 (r291125) @@ -1,3 +1,313 @@ +commit 9815cdf6987ef91a85493bfcfd1ce2aaf3b47a0a +Author: Lasse Collin +Date: 2015-09-29 13:59:35 +0300 + + Bump version and soname for 5.2.2. + + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit cbe0cec8476bdd0416c7ca9bc83895c9bea1cf78 +Author: Lasse Collin +Date: 2015-09-29 13:57:28 +0300 + + Update NEWS for 5.2.2. + + NEWS | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit 49427ce7eececdd18bbd35dab23c81910d083e1c +Author: Andre Noll +Date: 2015-05-28 15:50:00 +0200 + + Fix typo in German translation. + + As pointed out by Robert Pollak, there's a typo in the German + translation of the compression preset option (-0 ... -9) help text. + "The compressor" translates to "der Komprimierer", and the genitive + form is "des Komprimierers". The old word makes no sense at all. + + po/de.po | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 608d6f06c940e7f28c25de005e8b99bdff42d27c +Author: Hauke Henningsen +Date: 2015-08-17 04:59:54 +0200 + + Update German translation, mostly wrt orthography + + Provide an update of the German translation. + * A lot of compound words were previously written with spaces, while + German orthography is relatively clear in that the components + should not be separated. + * When referring to the actual process of (de)compression rather than the + concept, replace “(De-)Kompression” with “(De-)Komprimierung”. + Previously, both forms were used in this context and are now used in a + manner consistent with “Komprimierung” being more likely to refer to + a process. + * Consistently translate “standard input”/“output” + * Use “Zeichen” instead of false friend “Charakter” for “character” + * Insert commas around relative clauses (as required in German) + * Some other minor corrections + * Capitalize “ß” as “ẞ” + * Consistently start option descriptions in --help with capital letters + + Acked-By: Andre Noll + + * Update after msgmerge + + po/de.po | 383 ++++++++++++++++++++++++++++++++------------------------------- + 1 file changed, 196 insertions(+), 187 deletions(-) + +commit c8988414e5b67b8ef2fe0ba7b1ccdd0ec73c60d3 +Author: Lasse Collin +Date: 2015-08-11 13:23:04 +0300 + + Build: Minor Cygwin cleanup. + + Some tests used "cygwin*" and some used "cygwin". I changed + them all to use "cygwin". Shouldn't affect anything in practice. + + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 85a6dfed53477906bfe9a7c0123dd412e391cb48 +Author: Lasse Collin +Date: 2015-08-11 13:21:52 +0300 + + Build: Support building of MSYS2 binaries. + + configure.ac | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +commit 77f270be8432df2e4516a0c48814b6976d6618c5 +Author: Lasse Collin +Date: 2015-08-09 21:06:26 +0300 + + Windows: Define DLL_EXPORT when building liblzma.dll with MSVC. + + src/liblzma/common/common.h uses it to set __declspec(dllexport) + for the API symbols. + + Thanks to Adam Walling. + + windows/liblzma_dll.vcxproj | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 8c975446c5903090a5a8493b5b96b71003056a88 +Author: Lasse Collin +Date: 2015-08-09 21:02:20 +0300 + + Windows: Omit unneeded header files from MSVC project files. + + windows/liblzma.vcxproj | 5 ----- + windows/liblzma_dll.vcxproj | 5 ----- + 2 files changed, 10 deletions(-) + +commit 119a00434954726ca58e4a578e6469f530fca30e +Author: Lasse Collin +Date: 2015-07-12 20:48:19 +0300 + + liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer. + + src/liblzma/api/lzma.h | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +commit d4e7c557fcab353539c9481a8d95cb04bcb15c7c +Author: Lasse Collin +Date: 2015-06-19 20:38:55 +0300 + + Update THANKS. + + THANKS | 2 ++ + 1 file changed, 2 insertions(+) + +commit 98001740ca56c894a7bd32eb47e9857a8a7d878d +Author: Lasse Collin +Date: 2015-06-19 20:21:30 +0300 + + Windows: Update the docs. + + INSTALL | 29 ++++++---- + windows/INSTALL-MSVC.txt | 47 +++++++++++++++ + windows/INSTALL-MinGW.txt | 138 ++++++++++++++++++++++++++++++++++++++++++++ + windows/INSTALL-Windows.txt | 138 -------------------------------------------- + 4 files changed, 204 insertions(+), 148 deletions(-) + +commit 28195e4c877007cc760ecea1d17f740693d66873 +Author: Lasse Collin +Date: 2015-06-19 17:25:31 +0300 + + Windows: Add MSVC project files for building liblzma. + + Thanks to Adam Walling for creating these files. + + windows/liblzma.vcxproj | 359 ++++++++++++++++++++++++++++++++++++++++ + windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++ + windows/xz_win.sln | 48 ++++++ + 3 files changed, 795 insertions(+) + +commit 960440f3230dc628f6966d9f7614fc1b28baf44e +Author: Lasse Collin +Date: 2015-05-13 20:57:55 +0300 + + Tests: Fix a memory leak in test_bcj_exact_size. + + Thanks to Cristian Rodríguez. + + tests/test_bcj_exact_size.c | 1 + + 1 file changed, 1 insertion(+) + +commit 68cd35acafbdcdf4e8ea8b5bb843c736939d6f8b +Author: Lasse Collin +Date: 2015-05-12 18:08:24 +0300 + + Fix NEWS about threading in 5.2.0. + + Thanks to Andy Hochhaus. + + NEWS | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ff96ed6d25786728356017a13baf8c14731b4f1e +Author: Lasse Collin +Date: 2015-05-11 21:26:16 +0300 + + xz: Document that threaded decompression hasn't been implemented yet. + + src/xz/xz.1 | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit 00d37b64a64ea8597fd2422d5187afd761ab9531 +Author: Lasse Collin +Date: 2015-04-20 20:20:29 +0300 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit db190a832c49ca3aed6d69cc992fa5583cae7b11 +Author: Lasse Collin +Date: 2015-04-20 19:59:18 +0300 + + Revert "xz: Use pipe2() if available." + + This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd. + It is a problem when libc has pipe2() but the kernel is too + old to have pipe2() and thus pipe2() fails. In xz it's pointless + to have a fallback for non-functioning pipe2(); it's better to + avoid pipe2() completely. + + Thanks to Michael Fox for the bug report. + + configure.ac | 4 ++-- + src/xz/file_io.c | 9 +-------- + 2 files changed, 3 insertions(+), 10 deletions(-) + +commit eccd8155e107c5ada03d13e7730675cdf1a44ddc +Author: Lasse Collin +Date: 2015-03-29 22:14:47 +0300 + + Update THANKS. + + THANKS | 1 + + 1 file changed, 1 insertion(+) + +commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00 +Author: Lasse Collin +Date: 2015-03-29 22:13:48 +0300 + + Fix the detection of installed RAM on QNX. + + The earlier version compiled but didn't actually work + since sysconf(_SC_PHYS_PAGES) always fails (or so I was told). + + Thanks to Ole André Vadla Ravnås for the patch and testing. + + m4/tuklib_physmem.m4 | 6 +++--- + src/common/tuklib_physmem.c | 14 +++++++++++++- + 2 files changed, 16 insertions(+), 4 deletions(-) + +commit 4c544d2410903d38402221cb783ed85585b6a007 +Author: Lasse Collin +Date: 2015-03-27 22:39:07 +0200 + + Fix CPU core count detection on QNX. + + It tried to use sysctl() on QNX but + - it broke the build because sysctl() needs -lsocket on QNX; + - sysctl() doesn't work for detecting the core count on QNX + even if it compiled. + + sysconf() works. An alternative would have been to use + QNX-specific SYSPAGE_ENTRY(num_cpu) from . + + Thanks to Ole André Vadla Ravnås. + + m4/tuklib_cpucores.m4 | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3 +Author: Lasse Collin +Date: 2015-03-07 22:05:57 +0200 + + xz: size_t/uint32_t cleanup in options.c. + + src/xz/options.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 8bcca29a65335fd679c13814b70b35b68fa5daed +Author: Lasse Collin +Date: 2015-03-07 22:04:23 +0200 + + xz: Fix a comment and silence a warning in message.c. + + src/xz/message.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b +Author: Lasse Collin +Date: 2015-03-07 22:01:00 +0200 + + liblzma: Silence more uint32_t vs. size_t warnings. + + src/liblzma/lz/lz_encoder.c | 2 +- + src/liblzma/lzma/lzma_encoder.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34 +Author: Lasse Collin +Date: 2015-03-07 19:54:00 +0200 + + xz: Make arg_count an unsigned int to silence a warning. + + Actually the value of arg_count cannot exceed INT_MAX + but it's nicer as an unsigned int. + + src/xz/args.h | 2 +- + src/xz/main.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit f6ec46801588b1be29c07c9db98558b521304002 +Author: Lasse Collin +Date: 2015-03-07 19:33:17 +0200 + + liblzma: Fix a warning in index.c. + + src/liblzma/common/index.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit a24518971cc621315af142dd3bb7614fab04ad27 +Author: Lasse Collin +Date: 2015-02-26 20:46:14 +0200 + + Build: Fix a CR+LF problem when running autoreconf -fi on OS/2. + + build-aux/version.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit dec11497a71518423b5ff0e759100cf8aadf6c7b Author: Lasse Collin Date: 2015-02-26 16:53:44 +0200 Modified: head/contrib/xz/THANKS ============================================================================== --- head/contrib/xz/THANKS Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/THANKS Sat Nov 21 09:09:25 2015 (r291125) @@ -21,6 +21,7 @@ has been important. :-) In alphabetical - Milo Casagrande - Marek Černocký - Tomer Chachamu + - Gabi Davar - Chris Donawa - Andrew Dudman - Markus Duft @@ -29,6 +30,7 @@ has been important. :-) In alphabetical - Gilles Espinasse - Denis Excoffier - Michael Felt + - Michael Fox - Mike Frysinger - Daniel Richard G. - Bill Glessner @@ -74,6 +76,7 @@ has been important. :-) In alphabetical - Mikko Pouru - Trần Ngọc Quân - Pavel Raiskup + - Ole André Vadla Ravnås - Robert Readman - Bernhard Reutner-Fischer - Eric S. Raymond @@ -95,6 +98,7 @@ has been important. :-) In alphabetical - Alexey Tourbin - Patrick J. Volkerding - Martin Väth + - Adam Walling - Christian Weisgerber - Bert Wesarg - Fredrik Wikstrom Modified: head/contrib/xz/src/common/tuklib_physmem.c ============================================================================== --- head/contrib/xz/src/common/tuklib_physmem.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/common/tuklib_physmem.c Sat Nov 21 09:09:25 2015 (r291125) @@ -37,7 +37,10 @@ # define __USE_INLINE__ # include -// AIX +#elif defined(__QNX__) +# include +# include + #elif defined(TUKLIB_PHYSMEM_AIX) # include @@ -126,6 +129,15 @@ tuklib_physmem(void) #elif defined(AMIGA) || defined(__AROS__) ret = AvailMem(MEMF_TOTAL); +#elif defined(__QNX__) + const struct asinfo_entry *entries = SYSPAGE_ENTRY(asinfo); + size_t count = SYSPAGE_ENTRY_SIZE(asinfo) / sizeof(struct asinfo_entry); + const char *strings = SYSPAGE_ENTRY(strings)->data; + + for (size_t i = 0; i < count; ++i) + if (strcmp(strings + entries[i].name, "ram") == 0) + ret += entries[i].end - entries[i].start + 1; + #elif defined(TUKLIB_PHYSMEM_AIX) ret = _system_configuration.physmem; Modified: head/contrib/xz/src/liblzma/api/lzma.h ============================================================================== --- head/contrib/xz/src/liblzma/api/lzma.h Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/liblzma/api/lzma.h Sat Nov 21 09:09:25 2015 (r291125) @@ -82,12 +82,20 @@ # if !defined(UINT32_C) || !defined(UINT64_C) \ || !defined(UINT32_MAX) || !defined(UINT64_MAX) /* - * MSVC has no C99 support, and thus it cannot be used to - * compile liblzma. The liblzma API has to still be usable - * from MSVC, so we need to define the required standard - * integer types here. + * MSVC versions older than 2013 have no C99 support, and + * thus they cannot be used to compile liblzma. Using an + * existing liblzma.dll with old MSVC can work though(*), + * but we need to define the required standard integer + * types here in a MSVC-specific way. + * + * (*) If you do this, the existing liblzma.dll probably uses + * a different runtime library than your MSVC-built + * application. Mixing runtimes is generally bad, but + * in this case it should work as long as you avoid + * the few rarely-needed liblzma functions that allocate + * memory and expect the caller to free it using free(). */ -# if defined(_WIN32) && defined(_MSC_VER) +# if defined(_WIN32) && defined(_MSC_VER) && _MSC_VER < 1800 typedef unsigned __int8 uint8_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; Modified: head/contrib/xz/src/liblzma/api/lzma/version.h ============================================================================== --- head/contrib/xz/src/liblzma/api/lzma/version.h Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/liblzma/api/lzma/version.h Sat Nov 21 09:09:25 2015 (r291125) @@ -22,7 +22,7 @@ */ #define LZMA_VERSION_MAJOR 5 #define LZMA_VERSION_MINOR 2 -#define LZMA_VERSION_PATCH 1 +#define LZMA_VERSION_PATCH 2 #define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE #ifndef LZMA_VERSION_COMMIT Modified: head/contrib/xz/src/liblzma/common/index.c ============================================================================== --- head/contrib/xz/src/liblzma/common/index.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/liblzma/common/index.c Sat Nov 21 09:09:25 2015 (r291125) @@ -339,7 +339,7 @@ index_tree_locate(const index_tree *tree /// Allocate and initialize a new Stream using the given base offsets. static index_stream * index_stream_init(lzma_vli compressed_base, lzma_vli uncompressed_base, - lzma_vli stream_number, lzma_vli block_number_base, + uint32_t stream_number, lzma_vli block_number_base, const lzma_allocator *allocator) { index_stream *s = lzma_alloc(sizeof(index_stream), allocator); @@ -1008,6 +1008,8 @@ iter_set_info(lzma_index_iter *iter) iter->internal[ITER_GROUP].p = NULL; } + // NOTE: lzma_index_iter.stream.number is lzma_vli but we use uint32_t + // internally. iter->stream.number = stream->number; iter->stream.block_count = stream->record_count; iter->stream.compressed_offset = stream->node.compressed_base; Modified: head/contrib/xz/src/liblzma/lz/lz_encoder.c ============================================================================== --- head/contrib/xz/src/liblzma/lz/lz_encoder.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/liblzma/lz/lz_encoder.c Sat Nov 21 09:09:25 2015 (r291125) @@ -139,7 +139,7 @@ fill_window(lzma_coder *coder, const lzm && coder->mf.read_pos < coder->mf.read_limit) { // Match finder may update coder->pending and expects it to // start from zero, so use a temporary variable. - const size_t pending = coder->mf.pending; + const uint32_t pending = coder->mf.pending; coder->mf.pending = 0; // Rewind read_pos so that the match finder can hash Modified: head/contrib/xz/src/liblzma/lzma/lzma_encoder.c ============================================================================== --- head/contrib/xz/src/liblzma/lzma/lzma_encoder.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/liblzma/lzma/lzma_encoder.c Sat Nov 21 09:09:25 2015 (r291125) @@ -464,7 +464,7 @@ length_encoder_reset(lzma_length_encoder bittree_reset(lencoder->high, LEN_HIGH_BITS); if (!fast_mode) - for (size_t pos_state = 0; pos_state < num_pos_states; + for (uint32_t pos_state = 0; pos_state < num_pos_states; ++pos_state) length_update_prices(lencoder, pos_state); Modified: head/contrib/xz/src/xz/args.h ============================================================================== --- head/contrib/xz/src/xz/args.h Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/xz/args.h Sat Nov 21 09:09:25 2015 (r291125) @@ -15,7 +15,7 @@ typedef struct { char **arg_names; /// Number of filenames from command line - size_t arg_count; + unsigned int arg_count; /// Name of the file from which to read filenames. This is NULL /// if --files or --files0 was not used. Modified: head/contrib/xz/src/xz/file_io.c ============================================================================== --- head/contrib/xz/src/xz/file_io.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/xz/file_io.c Sat Nov 21 09:09:25 2015 (r291125) @@ -82,13 +82,7 @@ io_init(void) // we are root. warn_fchown = geteuid() == 0; - // Create a pipe for the self-pipe trick. If pipe2() is available, - // we can avoid the fcntl() calls. -# ifdef HAVE_PIPE2 - if (pipe2(user_abort_pipe, O_NONBLOCK)) - message_fatal(_("Error creating a pipe: %s"), - strerror(errno)); -# else + // Create a pipe for the self-pipe trick. if (pipe(user_abort_pipe)) message_fatal(_("Error creating a pipe: %s"), strerror(errno)); @@ -101,7 +95,6 @@ io_init(void) message_fatal(_("Error creating a pipe: %s"), strerror(errno)); } -# endif #endif #ifdef __DJGPP__ Modified: head/contrib/xz/src/xz/main.c ============================================================================== --- head/contrib/xz/src/xz/main.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/xz/main.c Sat Nov 21 09:09:25 2015 (r291125) @@ -212,7 +212,7 @@ main(int argc, char **argv) // Process the files given on the command line. Note that if no names // were given, args_parse() gave us a fake "-" filename. - for (size_t i = 0; i < args.arg_count && !user_abort; ++i) { + for (unsigned i = 0; i < args.arg_count && !user_abort; ++i) { if (strcmp("-", args.arg_names[i]) == 0) { // Processing from stdin to stdout. Check that we // aren't writing compressed data to a terminal or Modified: head/contrib/xz/src/xz/message.c ============================================================================== --- head/contrib/xz/src/xz/message.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/xz/message.c Sat Nov 21 09:09:25 2015 (r291125) @@ -381,7 +381,7 @@ progress_speed(uint64_t uncompressed_pos } -/// Make a string indicating elapsed or remaining time. The format is either +/// Make a string indicating elapsed time. The format is either /// M:SS or H:MM:SS depending on if the time is an hour or more. static const char * progress_time(uint64_t mseconds) @@ -389,7 +389,8 @@ progress_time(uint64_t mseconds) // 9999 hours = 416 days static char buf[sizeof("9999:59:59")]; - uint32_t seconds = mseconds / 1000; + // 32-bit variable is enough for elapsed time (136 years). + uint32_t seconds = (uint32_t)(mseconds / 1000); // Don't show anything if the time is zero or ridiculously big. if (seconds == 0 || seconds > ((9999 * 60) + 59) * 60 + 59) Modified: head/contrib/xz/src/xz/options.c ============================================================================== --- head/contrib/xz/src/xz/options.c Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/xz/options.c Sat Nov 21 09:09:25 2015 (r291125) @@ -59,7 +59,7 @@ typedef struct { static void parse_options(const char *str, const option_map *opts, void (*set)(void *filter_options, - uint32_t key, uint64_t value, const char *valuestr), + unsigned key, uint64_t value, const char *valuestr), void *filter_options) { if (str == NULL || str[0] == '\0') @@ -87,7 +87,7 @@ parse_options(const char *str, const opt "pairs separated with commas"), str); // Look for the option name from the option map. - size_t i = 0; + unsigned i = 0; while (true) { if (opts[i].name == NULL) message_fatal(_("%s: Invalid option name"), @@ -103,7 +103,7 @@ parse_options(const char *str, const opt if (opts[i].map != NULL) { // value is a string which we should map // to an integer. - size_t j; + unsigned j; for (j = 0; opts[i].map[j].name != NULL; ++j) { if (strcmp(opts[i].map[j].name, value) == 0) break; @@ -149,7 +149,7 @@ enum { static void -set_delta(void *options, uint32_t key, uint64_t value, +set_delta(void *options, unsigned key, uint64_t value, const char *valuestr lzma_attribute((__unused__))) { lzma_options_delta *opt = options; @@ -193,7 +193,7 @@ enum { static void -set_bcj(void *options, uint32_t key, uint64_t value, +set_bcj(void *options, unsigned key, uint64_t value, const char *valuestr lzma_attribute((__unused__))) { lzma_options_bcj *opt = options; @@ -249,7 +249,7 @@ error_lzma_preset(const char *valuestr) static void -set_lzma(void *options, uint32_t key, uint64_t value, const char *valuestr) +set_lzma(void *options, unsigned key, uint64_t value, const char *valuestr) { lzma_options_lzma *opt = options; Modified: head/contrib/xz/src/xz/xz.1 ============================================================================== --- head/contrib/xz/src/xz/xz.1 Sat Nov 21 07:15:07 2015 (r291124) +++ head/contrib/xz/src/xz/xz.1 Sat Nov 21 09:09:25 2015 (r291125) @@ -5,7 +5,7 @@ .\" This file has been put into the public domain. .\" You can do whatever you want with this file. .\" -.TH XZ 1 "2014-12-16" "Tukaani" "XZ Utils" +.TH XZ 1 "2015-05-11" "Tukaani" "XZ Utils" . .SH NAME xz, unxz, xzcat, lzma, unlzma, lzcat \- Compress or decompress .xz and .lzma files @@ -1055,6 +1055,14 @@ The default block size depends on the co can be overriden with the .BI \-\-block\-size= size option. +.IP "" +Threaded decompression hasn't been implemented yet. +It will only work on files that contain multiple blocks +with size information in block headers. +All files compressed in multi-threaded mode meet this condition, +but files compressed in single-threaded mode don't even if +.BI \-\-block\-size= size +is used. . .SS "Custom compressor filter chains" A custom filter chain allows specifying Modified: head/lib/liblzma/config.h ============================================================================== --- head/lib/liblzma/config.h Sat Nov 21 07:15:07 2015 (r291124) +++ head/lib/liblzma/config.h Sat Nov 21 09:09:25 2015 (r291125) @@ -188,9 +188,6 @@ /* Define to 1 if getopt.h declares extern int optreset. */ #define HAVE_OPTRESET 1 -/* Define to 1 if you have the `pipe2' function. */ -#define HAVE_PIPE2 1 - /* Define to 1 if you have the `posix_fadvise' function. */ #define HAVE_POSIX_FADVISE 1 @@ -326,7 +323,7 @@ #define PACKAGE_NAME "XZ Utils" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "XZ Utils 5.2.1" +#define PACKAGE_STRING "XZ Utils 5.2.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "xz" @@ -335,7 +332,7 @@ #define PACKAGE_URL "http://tukaani.org/xz/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.2.1" +#define PACKAGE_VERSION "5.2.2" /* Define to necessary symbol if this constant uses a non-standard name on your system. */ @@ -419,7 +416,7 @@ /* Version number of package */ -#define VERSION "5.2.1" +#define VERSION "5.2.2" /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ From owner-svn-src-head@freebsd.org Sat Nov 21 10:22:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 47206A33A10; Sat, 21 Nov 2015 10:22:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1EF681E33; Sat, 21 Nov 2015 10:22:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALAM237068121; Sat, 21 Nov 2015 10:22:02 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALAM1wR068116; Sat, 21 Nov 2015 10:22:01 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511211022.tALAM1wR068116@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 21 Nov 2015 10:22:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291126 - in head: share/examples/ses/srcs sys/cam/scsi 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.20 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, 21 Nov 2015 10:22:03 -0000 Author: mav Date: Sat Nov 21 10:22:01 2015 New Revision: 291126 URL: https://svnweb.freebsd.org/changeset/base/291126 Log: Add API to obtain primary enclosure name and ID for /dev/sesX devices. sesX device number may change between reboots, so to properly identify the instance we need more data. Name and ID reported here may mach ones reported by SCSI device, but that is not really required by specs. MFC after: 1 week Sponsored by: iXsystems, Inc. Modified: head/share/examples/ses/srcs/getencstat.c head/sys/cam/scsi/scsi_enc.c head/sys/cam/scsi/scsi_enc.h head/sys/cam/scsi/scsi_enc_ses.c Modified: head/share/examples/ses/srcs/getencstat.c ============================================================================== --- head/share/examples/ses/srcs/getencstat.c Sat Nov 21 09:09:25 2015 (r291125) +++ head/share/examples/ses/srcs/getencstat.c Sat Nov 21 10:22:01 2015 (r291126) @@ -48,12 +48,14 @@ int main(int a, char **v) { + encioc_string_t stri; encioc_element_t *objp; encioc_elm_status_t ob; encioc_elm_desc_t objd; encioc_elm_devnames_t objdn; int fd, nobj, f, i, verbose, quiet, errors; u_char estat; + char str[32]; if (a < 2) { fprintf(stderr, "usage: %s [ -v ] device [ device ... ]\n", *v); @@ -78,6 +80,16 @@ main(int a, char **v) perror(*v); continue; } + if (verbose > 1) { + stri.bufsiz = sizeof(str); + stri.buf = &str[0]; + if (ioctl(fd, ENCIOC_GETENCNAME, (caddr_t) &stri) == 0) + printf("%s: Enclosure Name: %s\n", *v, stri.buf); + stri.bufsiz = sizeof(str); + stri.buf = &str[0]; + if (ioctl(fd, ENCIOC_GETENCID, (caddr_t) &stri) == 0) + printf("%s: Enclosure ID: %s\n", *v, stri.buf); + } if (ioctl(fd, ENCIOC_GETNELM, (caddr_t) &nobj) < 0) { perror("ENCIOC_GETNELM"); (void) close(fd); Modified: head/sys/cam/scsi/scsi_enc.c ============================================================================== --- head/sys/cam/scsi/scsi_enc.c Sat Nov 21 09:09:25 2015 (r291125) +++ head/sys/cam/scsi/scsi_enc.c Sat Nov 21 10:22:01 2015 (r291126) @@ -407,6 +407,8 @@ enc_ioctl(struct cdev *dev, u_long cmd, case ENCIOC_GETELMSTAT: case ENCIOC_GETELMDESC: case ENCIOC_GETELMDEVNAMES: + case ENCIOC_GETENCNAME: + case ENCIOC_GETENCID: break; default: if ((flag & FWRITE) == 0) { @@ -461,6 +463,8 @@ enc_ioctl(struct cdev *dev, u_long cmd, case ENCIOC_GETSTRING: case ENCIOC_SETSTRING: + case ENCIOC_GETENCNAME: + case ENCIOC_GETENCID: if (enc->enc_vec.handle_string == NULL) { error = EINVAL; break; Modified: head/sys/cam/scsi/scsi_enc.h ============================================================================== --- head/sys/cam/scsi/scsi_enc.h Sat Nov 21 09:09:25 2015 (r291125) +++ head/sys/cam/scsi/scsi_enc.h Sat Nov 21 10:22:01 2015 (r291126) @@ -46,6 +46,8 @@ #define ENCIOC_GETELMDEVNAMES _IO(ENCIOC, 10) #define ENCIOC_GETSTRING _IO(ENCIOC, 11) #define ENCIOC_SETSTRING _IO(ENCIOC, 12) +#define ENCIOC_GETENCNAME _IO(ENCIOC, 13) +#define ENCIOC_GETENCID _IO(ENCIOC, 14) /* * Platform Independent Definitions for enclosure devices. Modified: head/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- head/sys/cam/scsi/scsi_enc_ses.c Sat Nov 21 09:09:25 2015 (r291125) +++ head/sys/cam/scsi/scsi_enc_ses.c Sat Nov 21 10:22:01 2015 (r291126) @@ -345,8 +345,9 @@ typedef struct ses_cache { const struct ses_cfg_page *cfg_page; /* References into the config page. */ + int ses_nsubencs; const struct ses_enc_desc * const *subencs; - uint8_t ses_ntypes; + int ses_ntypes; const ses_type_t *ses_types; /* Source for all the status pointers */ @@ -1382,11 +1383,12 @@ ses_process_config(enc_softc_t *enc, str * The cast here is not required in C++ but C99 is not so * sophisticated (see C99 6.5.16.1(1)). */ + ses_cache->ses_nsubencs = ses_cfg_page_get_num_subenc(cfg_page); ses_cache->subencs = subencs; buf_subenc = cfg_page->subencs; cur_subenc = subencs; - last_subenc = &subencs[ses_cfg_page_get_num_subenc(cfg_page) - 1]; + last_subenc = &subencs[ses_cache->ses_nsubencs - 1]; ntype = 0; while (cur_subenc <= last_subenc) { @@ -1420,6 +1422,7 @@ ses_process_config(enc_softc_t *enc, str * Type data is const after construction (i.e. when accessed via * our cache object. */ + ses_cache->ses_ntypes = ntype; ses_cache->ses_types = ses_types; cur_buf_type = (const struct ses_elm_type_desc *) @@ -1456,7 +1459,6 @@ ses_process_config(enc_softc_t *enc, str err = ENOMEM; goto out; } - ses_cache->ses_ntypes = (uint8_t)ntype; enc_cache->nelms = nelm; ses_iter_init(enc, enc_cache, &iter); @@ -2709,9 +2711,22 @@ ses_get_elm_devnames(enc_softc_t *enc, e static int ses_handle_string(enc_softc_t *enc, encioc_string_t *sstr, int ioc) { + ses_softc_t *ses; + enc_cache_t *enc_cache; + ses_cache_t *ses_cache; + const struct ses_enc_desc *enc_desc; int amt, payload, ret; char cdb[6]; + char str[32]; + char vendor[9]; + char product[17]; + char rev[5]; uint8_t *buf; + size_t size, rsize; + + ses = enc->enc_private; + enc_cache = &enc->enc_daemon_cache; + ses_cache = enc_cache->private; /* Implement SES2r20 6.1.6 */ if (sstr->bufsiz > 0xffff) @@ -2736,6 +2751,40 @@ ses_handle_string(enc_softc_t *enc, enci amt = payload; ses_page_cdb(cdb, payload, SesStringIn, CAM_DIR_IN); buf = sstr->buf; + } else if (ioc == ENCIOC_GETENCNAME) { + if (ses_cache->ses_nsubencs < 1) + return (ENODEV); + enc_desc = ses_cache->subencs[0]; + cam_strvis(vendor, enc_desc->vendor_id, + sizeof(enc_desc->vendor_id), sizeof(vendor)); + cam_strvis(product, enc_desc->product_id, + sizeof(enc_desc->product_id), sizeof(product)); + cam_strvis(rev, enc_desc->product_rev, + sizeof(enc_desc->product_rev), sizeof(rev)); + rsize = snprintf(str, sizeof(str), "%s %s %s", + vendor, product, rev) + 1; + if (rsize > sizeof(str)) + rsize = sizeof(str); + copyout(&rsize, &sstr->bufsiz, sizeof(rsize)); + size = rsize; + if (size > sstr->bufsiz) + size = sstr->bufsiz; + copyout(str, sstr->buf, size); + return (size == rsize ? 0 : ENOMEM); + } else if (ioc == ENCIOC_GETENCID) { + if (ses_cache->ses_nsubencs < 1) + return (ENODEV); + enc_desc = ses_cache->subencs[0]; + rsize = snprintf(str, sizeof(str), "%16jx", + scsi_8btou64(enc_desc->logical_id)) + 1; + if (rsize > sizeof(str)) + rsize = sizeof(str); + copyout(&rsize, &sstr->bufsiz, sizeof(rsize)); + size = rsize; + if (size > sstr->bufsiz) + size = sstr->bufsiz; + copyout(str, sstr->buf, size); + return (size == rsize ? 0 : ENOMEM); } else return EINVAL; From owner-svn-src-head@freebsd.org Sat Nov 21 10:41:46 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A74CA33DBF; Sat, 21 Nov 2015 10:41:46 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wm0-x231.google.com (mail-wm0-x231.google.com [IPv6:2a00:1450:400c:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DF60813A8; Sat, 21 Nov 2015 10:41:45 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by wmuu63 with SMTP id u63so3794754wmu.0; Sat, 21 Nov 2015 02:41:44 -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=C9paENkY7xkOuiz5yS8tV/uBQSmWFKI/7SAqBRPVRBM=; b=AzsJSfKpQfkRs6QGRjgmMY5CJUrNAT6vpMDn8VxjswQHI8C9Qs+HxLEIAC/O+YBjxY PQXSGijcHqA7V8QOTTvLaNg8ApvOK/EoAB54a5gIitvUmLgT50kri33TjdlIrce3y2RI zAtwXaBvIrS1rLmeiEYPk1IOSi6cThNOGFe15zMDxJZC+4VdNtwazO04sZtTWzozGoTF QbWGXCCz6VSUF9KKkYYfYAOFdG7tzAVlqJImaSdCnTcOs1ryJjmZYEAMnYNxWwVbKref uEgO68irD+moSFUzHgqsmQN9mfmcqSRZkA2nK6f48j1u4+R55xrroNmuKhnXQzzWOkvr TH2g== X-Received: by 10.28.26.78 with SMTP id a75mr7472073wma.13.1448102504465; Sat, 21 Nov 2015 02:41:44 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id pc2sm3597284wjb.11.2015.11.21.02.41.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 21 Nov 2015 02:41:43 -0800 (PST) Sender: Baptiste Daroussin Date: Sat, 21 Nov 2015 11:41:42 +0100 From: Baptiste Daroussin To: Alexander Motin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291126 - in head: share/examples/ses/srcs sys/cam/scsi Message-ID: <20151121104141.GJ21071@ivaldir.etoilebsd.net> References: <201511211022.tALAM1wR068116@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ed/6oDxOLijJh8b0" Content-Disposition: inline In-Reply-To: <201511211022.tALAM1wR068116@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 21 Nov 2015 10:41:46 -0000 --ed/6oDxOLijJh8b0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Nov 21, 2015 at 10:22:01AM +0000, Alexander Motin wrote: > Author: mav > Date: Sat Nov 21 10:22:01 2015 > New Revision: 291126 > URL: https://svnweb.freebsd.org/changeset/base/291126 >=20 > Log: > Add API to obtain primary enclosure name and ID for /dev/sesX devices. > =20 > sesX device number may change between reboots, so to properly identify > the instance we need more data. Name and ID reported here may mach ones > reported by SCSI device, but that is not really required by specs. > =20 > MFC after: 1 week > Sponsored by: iXsystems, Inc. >=20 Any plan to add that to sesutil(8) :) Best regards, Bapt --ed/6oDxOLijJh8b0 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlZQSmUACgkQ8kTtMUmk6EyBFwCdGYFugygCV1m74lAHWW+FaSPJ HucAnjSp5FLDrTay5i3+vxyQdWqO3jYR =ACNA -----END PGP SIGNATURE----- --ed/6oDxOLijJh8b0-- From owner-svn-src-head@freebsd.org Sat Nov 21 10:45:18 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 21EC6A33ECE; Sat, 21 Nov 2015 10:45:18 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-lf0-x230.google.com (mail-lf0-x230.google.com [IPv6:2a00:1450:4010:c07::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9A83918DE; Sat, 21 Nov 2015 10:45:17 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: by lfs39 with SMTP id 39so83253332lfs.3; Sat, 21 Nov 2015 02:45:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=80BMmXgmKaeDmBT7ptcztWFIkeZiFflRLnxExi4FGjc=; b=qNjWzICeyOVHNsAu1PHfCWAGvlmLOV7ZeDCJNoeL5os+ae092v4x95a4sEwK6/0h6J BIPau3w67tmO3sregzoUzb1or9fk7KjgjvtYbqnErxq/wGlChkFbfrgAK7XlnU85N/PP CU13KhIpxVVNmB+uJa1mMGRUZNnxMUhBKU9lR+dKtP/LkhKYO1Lg+J209VBni8wO7yze 7d6KbXxOTgrIrRAWLcS7VNZ4b3x3xx+qVtuwHNh4otw4E8fOM2Eoy/lpr7+TCEN65vWJ 7M3nJG+dWZbKAuDWiAuH+h7XRAazvGpI54RbWZkag2TXV9P7MB08znH6uYq31CiAC98C BfIQ== X-Received: by 10.25.210.143 with SMTP id j137mr7688916lfg.86.1448102715623; Sat, 21 Nov 2015 02:45:15 -0800 (PST) Received: from mavbook.mavhome.dp.ua ([2a01:d0:c0a9:3:c685:8ff:fe11:1aa2]) by smtp.googlemail.com with ESMTPSA id k14sm477103lfb.49.2015.11.21.02.45.14 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 21 Nov 2015 02:45:14 -0800 (PST) Sender: Alexander Motin Message-ID: <56504B39.5050305@FreeBSD.org> Date: Sat, 21 Nov 2015 12:45:13 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Baptiste Daroussin CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291126 - in head: share/examples/ses/srcs sys/cam/scsi References: <201511211022.tALAM1wR068116@repo.freebsd.org> <20151121104141.GJ21071@ivaldir.etoilebsd.net> In-Reply-To: <20151121104141.GJ21071@ivaldir.etoilebsd.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 21 Nov 2015 10:45:18 -0000 On 21.11.2015 12:41, Baptiste Daroussin wrote: > On Sat, Nov 21, 2015 at 10:22:01AM +0000, Alexander Motin wrote: >> Author: mav >> Date: Sat Nov 21 10:22:01 2015 >> New Revision: 291126 >> URL: https://svnweb.freebsd.org/changeset/base/291126 >> >> Log: >> Add API to obtain primary enclosure name and ID for /dev/sesX devices. >> >> sesX device number may change between reboots, so to properly identify >> the instance we need more data. Name and ID reported here may mach ones >> reported by SCSI device, but that is not really required by specs. >> >> MFC after: 1 week >> Sponsored by: iXsystems, Inc. >> > Any plan to add that to sesutil(8) :) This patch was created long ago before sesutil appeared, just got lost in internal repo. So, while it indeed would be good, I haven't thought about it. If anybody wants to do it -- feel free. -- Alexander Motin From owner-svn-src-head@freebsd.org Sat Nov 21 10:52:33 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AC8BCA34030; Sat, 21 Nov 2015 10:52:33 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6D3551C63; Sat, 21 Nov 2015 10:52:33 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALAqWgA079194; Sat, 21 Nov 2015 10:52:32 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALAqWIr079192; Sat, 21 Nov 2015 10:52:32 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511211052.tALAqWIr079192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sat, 21 Nov 2015 10:52:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291127 - head/usr.bin/colldef 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.20 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, 21 Nov 2015 10:52:33 -0000 Author: bapt Date: Sat Nov 21 10:52:32 2015 New Revision: 291127 URL: https://svnweb.freebsd.org/changeset/base/291127 Log: colldef(1) does not need the libc's internal collate.h header anymore Modified: head/usr.bin/colldef/Makefile head/usr.bin/colldef/parse.y Modified: head/usr.bin/colldef/Makefile ============================================================================== --- head/usr.bin/colldef/Makefile Sat Nov 21 10:22:01 2015 (r291126) +++ head/usr.bin/colldef/Makefile Sat Nov 21 10:52:32 2015 (r291127) @@ -3,7 +3,7 @@ PROG= colldef SRCS= parse.y scan.l y.tab.h LFLAGS= -8 -i -CFLAGS+=-I. -I${.CURDIR} -I${.CURDIR}/../../lib/libc/locale +CFLAGS+=-I. -I${.CURDIR} CFLAGS+=-DCOLLATE_DEBUG -DYY_NO_UNPUT -DYY_NO_INPUT LIBADD= l Modified: head/usr.bin/colldef/parse.y ============================================================================== --- head/usr.bin/colldef/parse.y Sat Nov 21 10:22:01 2015 (r291126) +++ head/usr.bin/colldef/parse.y Sat Nov 21 10:52:32 2015 (r291127) @@ -32,12 +32,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include -#include "collate.h" #include "common.h" extern FILE *yyin; From owner-svn-src-head@freebsd.org Sat Nov 21 11:05:40 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 28844A34209; Sat, 21 Nov 2015 11:05:40 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCC5E1168; Sat, 21 Nov 2015 11:05:39 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALB5d1Y083475; Sat, 21 Nov 2015 11:05:39 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALB5c5d083468; Sat, 21 Nov 2015 11:05:38 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511211105.tALB5c5d083468@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sat, 21 Nov 2015 11:05:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291128 - head/usr.bin/m4 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.20 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, 21 Nov 2015 11:05:40 -0000 Author: bapt Date: Sat Nov 21 11:05:38 2015 New Revision: 291128 URL: https://svnweb.freebsd.org/changeset/base/291128 Log: Synchronize m4(1) with OpenBSD Modified: head/usr.bin/m4/eval.c head/usr.bin/m4/extern.h head/usr.bin/m4/m4.1 head/usr.bin/m4/main.c head/usr.bin/m4/mdef.h head/usr.bin/m4/pathnames.h Modified: head/usr.bin/m4/eval.c ============================================================================== --- head/usr.bin/m4/eval.c Sat Nov 21 10:52:32 2015 (r291127) +++ head/usr.bin/m4/eval.c Sat Nov 21 11:05:38 2015 (r291128) @@ -1,4 +1,4 @@ -/* $OpenBSD: eval.c,v 1.73 2014/07/11 21:04:17 espie Exp $ */ +/* $OpenBSD: eval.c,v 1.74 2015/02/05 12:59:57 millert Exp $ */ /* $NetBSD: eval.c,v 1.7 1996/11/10 21:21:29 pk Exp $ */ /* @@ -48,8 +48,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include +#include #include #include #include Modified: head/usr.bin/m4/extern.h ============================================================================== --- head/usr.bin/m4/extern.h Sat Nov 21 10:52:32 2015 (r291127) +++ head/usr.bin/m4/extern.h Sat Nov 21 11:05:38 2015 (r291128) @@ -1,4 +1,4 @@ -/* $OpenBSD: extern.h,v 1.54 2014/05/12 19:11:19 espie Exp $ */ +/* $OpenBSD: extern.h,v 1.54 2014/05/12 19:11:19 espie Exp $ */ /* $NetBSD: extern.h,v 1.3 1996/01/13 23:25:24 pk Exp $ */ /*- @@ -112,7 +112,7 @@ extern void usage(void); extern void resizedivs(int); extern size_t buffer_mark(void); extern void dump_buffer(FILE *, size_t); -extern void m4errx(int, const char *, ...); +extern void __dead m4errx(int, const char *, ...); extern int obtain_char(struct input_file *); extern void set_input(struct input_file *, FILE *, const char *); Modified: head/usr.bin/m4/m4.1 ============================================================================== --- head/usr.bin/m4/m4.1 Sat Nov 21 10:52:32 2015 (r291127) +++ head/usr.bin/m4/m4.1 Sat Nov 21 11:05:38 2015 (r291128) @@ -1,5 +1,5 @@ .\" $NetBSD: m4.1,v 1.23 2012/04/08 22:00:39 wiz Exp $ -.\" @(#) $OpenBSD: m4.1,v 1.62 2014/04/14 07:00:47 jmc Exp $ +.\" @(#) $OpenBSD: m4.1,v 1.63 2015/09/14 20:06:58 schwarze Exp $ .\" .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. @@ -33,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd $Mdocdate: April 14 2014 $ +.Dd $Mdocdate: September 14 2015 $ .Dt M4 1 .Os .Sh NAME @@ -98,9 +98,7 @@ recognized as special when not followed .Pp The options are as follows: .Bl -tag -width Ds -.It Fl D Ns Ar name Ns Oo -.Pf = Ns Ar value -.Oc +.It Fl D Ns Ar name Ns Op = Ns Ar value Define the symbol .Ar name to have some value (or Modified: head/usr.bin/m4/main.c ============================================================================== --- head/usr.bin/m4/main.c Sat Nov 21 10:52:32 2015 (r291127) +++ head/usr.bin/m4/main.c Sat Nov 21 11:05:38 2015 (r291128) @@ -1,4 +1,4 @@ -/* $OpenBSD: main.c,v 1.84 2014/12/21 09:33:12 espie Exp $ */ +/* $OpenBSD: main.c,v 1.86 2015/11/03 16:21:47 deraadt Exp $ */ /* $NetBSD: main.c,v 1.12 1997/02/08 23:54:49 cgd Exp $ */ /*- @@ -133,13 +133,7 @@ static struct keyblk keywrds[] = { /* m4 { "traceon", TRACEONTYPE | NOARGS }, { "traceoff", TRACEOFFTYPE | NOARGS }, -#if defined(unix) || defined(__unix__) { "unix", SELFTYPE | NOARGS }, -#else -#ifdef vms - { "vms", SELFTYPE | NOARGS }, -#endif -#endif }; #define MAXKEYS (sizeof(keywrds)/sizeof(struct keyblk)) @@ -477,14 +471,14 @@ macro(void) default: if (LOOK_AHEAD(t, scommt)) { - char *cp; - for (cp = scommt; *cp; cp++) - chrsave(*cp); + char *p; + for (p = scommt; *p; p++) + chrsave(*p); for(;;) { t = gpbc(); if (LOOK_AHEAD(t, ecommt)) { - for (cp = ecommt; *cp; cp++) - chrsave(*cp); + for (p = ecommt; *p; p++) + chrsave(*p); break; } if (t == EOF) Modified: head/usr.bin/m4/mdef.h ============================================================================== --- head/usr.bin/m4/mdef.h Sat Nov 21 10:52:32 2015 (r291127) +++ head/usr.bin/m4/mdef.h Sat Nov 21 11:05:38 2015 (r291128) @@ -1,4 +1,4 @@ -/* $OpenBSD: mdef.h,v 1.32 2014/12/21 09:33:12 espie Exp $ */ +/* $OpenBSD: mdef.h,v 1.33 2015/11/03 16:21:47 deraadt Exp $ */ /* $NetBSD: mdef.h,v 1.7 1996/01/13 23:25:27 pk Exp $ */ /* @@ -107,10 +107,6 @@ #define SCOMMT '#' #define ECOMMT '\n' -#ifdef msdos -#define system(str) (-1) -#endif - /* * other important constants */ Modified: head/usr.bin/m4/pathnames.h ============================================================================== --- head/usr.bin/m4/pathnames.h Sat Nov 21 10:52:32 2015 (r291127) +++ head/usr.bin/m4/pathnames.h Sat Nov 21 11:05:38 2015 (r291128) @@ -1,4 +1,4 @@ -/* $OpenBSD: pathnames.h,v 1.5 2003/06/03 02:56:10 millert Exp $ */ +/* $OpenBSD: pathnames.h,v 1.6 2015/11/03 16:21:47 deraadt Exp $ */ /* $NetBSD: pathnames.h,v 1.6 1995/09/29 00:27:55 cgd Exp $ */ /* @@ -36,22 +36,4 @@ * $FreeBSD$ */ -/* - * Definitions of diversion files. If the name of the file is changed, - * adjust UNIQUE to point to the wildcard (*) character in the filename. - */ - -#ifdef msdos -#define _PATH_DIVNAME "\\M4*XXXXXX" /* msdos diversion files */ -#define UNIQUE 3 /* unique char location */ -#endif - -#if defined(unix) || defined(__NetBSD__) || defined(__OpenBSD__) #define _PATH_DIVNAME "/tmp/m4.0XXXXXXXXXX" /* unix diversion files */ -#define UNIQUE 8 /* unique char location */ -#endif - -#ifdef vms -#define _PATH_DIVNAME "sys$login:m4*XXXXXX" /* vms diversion files */ -#define UNIQUE 12 /* unique char location */ -#endif From owner-svn-src-head@freebsd.org Sat Nov 21 11:06:21 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD7DBA34258; Sat, 21 Nov 2015 11:06:21 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9A78912C8; Sat, 21 Nov 2015 11:06:21 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALB6K3E083596; Sat, 21 Nov 2015 11:06:20 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALB6KxG083595; Sat, 21 Nov 2015 11:06:20 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511211106.tALB6KxG083595@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sat, 21 Nov 2015 11:06:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291129 - head/usr.bin/m4 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.20 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, 21 Nov 2015 11:06:21 -0000 Author: bapt Date: Sat Nov 21 11:06:20 2015 New Revision: 291129 URL: https://svnweb.freebsd.org/changeset/base/291129 Log: Revert a modification that crept in and should not Modified: head/usr.bin/m4/extern.h Modified: head/usr.bin/m4/extern.h ============================================================================== --- head/usr.bin/m4/extern.h Sat Nov 21 11:05:38 2015 (r291128) +++ head/usr.bin/m4/extern.h Sat Nov 21 11:06:20 2015 (r291129) @@ -112,7 +112,7 @@ extern void usage(void); extern void resizedivs(int); extern size_t buffer_mark(void); extern void dump_buffer(FILE *, size_t); -extern void __dead m4errx(int, const char *, ...); +extern void m4errx(int, const char *, ...); extern int obtain_char(struct input_file *); extern void set_input(struct input_file *, FILE *, const char *); From owner-svn-src-head@freebsd.org Sat Nov 21 12:53:45 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E45E5A33092; Sat, 21 Nov 2015 12:53:45 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD1851279; Sat, 21 Nov 2015 12:53:45 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALCriMK024153; Sat, 21 Nov 2015 12:53:44 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALCriYo024152; Sat, 21 Nov 2015 12:53:44 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511211253.tALCriYo024152@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 21 Nov 2015 12:53:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291130 - head/sys/modules 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.20 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, 21 Nov 2015 12:53:46 -0000 Author: andrew Date: Sat Nov 21 12:53:44 2015 New Revision: 291130 URL: https://svnweb.freebsd.org/changeset/base/291130 Log: Fix a logic inversion, we should build dtrace on armv6, not on arm and armeb. Modified: head/sys/modules/Makefile Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Sat Nov 21 11:06:20 2015 (r291129) +++ head/sys/modules/Makefile Sat Nov 21 12:53:44 2015 (r291130) @@ -403,7 +403,7 @@ _autofs= autofs .endif .if ${MK_CDDL} != "no" || defined(ALL_MODULES) -.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv6*} == "") && \ +.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv6*} != "") && \ ${MACHINE_CPUARCH} != "mips" && \ ${MACHINE_CPUARCH} != "sparc64" SUBDIR+= dtrace From owner-svn-src-head@freebsd.org Sat Nov 21 13:02:35 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB126A3325D; Sat, 21 Nov 2015 13:02:35 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8D7B817DC; Sat, 21 Nov 2015 13:02:35 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALD2Yr5027749; Sat, 21 Nov 2015 13:02:34 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALD2YbR027746; Sat, 21 Nov 2015 13:02:34 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511211302.tALD2YbR027746@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 21 Nov 2015 13:02:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291131 - in head/sys/arm: arm include versatile 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.20 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, 21 Nov 2015 13:02:36 -0000 Author: andrew Date: Sat Nov 21 13:02:34 2015 New Revision: 291131 URL: https://svnweb.freebsd.org/changeset/base/291131 Log: Limit arm_base_bs_tag to ARMv4 and ARMv5, we only used it in one place in armv6 and that can use fdtbus_bs_tag. Modified: head/sys/arm/arm/bus_space_base.c head/sys/arm/include/bus.h head/sys/arm/versatile/versatile_pci.c Modified: head/sys/arm/arm/bus_space_base.c ============================================================================== --- head/sys/arm/arm/bus_space_base.c Sat Nov 21 12:53:44 2015 (r291130) +++ head/sys/arm/arm/bus_space_base.c Sat Nov 21 13:02:34 2015 (r291131) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "opt_platform.h" @@ -156,4 +157,6 @@ static struct bus_space arm_base_bus_spa bus_space_tag_t fdtbus_bs_tag = &arm_base_bus_space; #endif +#if __ARM_ARCH < 6 bus_space_tag_t arm_base_bs_tag = &arm_base_bus_space; +#endif Modified: head/sys/arm/include/bus.h ============================================================================== --- head/sys/arm/include/bus.h Sat Nov 21 12:53:44 2015 (r291130) +++ head/sys/arm/include/bus.h Sat Nov 21 13:02:34 2015 (r291131) @@ -67,6 +67,7 @@ #define _MACHINE_BUS_H_ #include +#include /* * int bus_space_map (bus_space_tag_t t, bus_addr_t addr, @@ -252,7 +253,9 @@ struct bus_space { bus_size_t, const uint64_t *, bus_size_t); }; +#if __ARM_ARCH < 6 extern bus_space_tag_t arm_base_bs_tag; +#endif /* * Utility macros; INTERNAL USE ONLY. Modified: head/sys/arm/versatile/versatile_pci.c ============================================================================== --- head/sys/arm/versatile/versatile_pci.c Sat Nov 21 12:53:44 2015 (r291130) +++ head/sys/arm/versatile/versatile_pci.c Sat Nov 21 13:02:34 2015 (r291131) @@ -357,7 +357,7 @@ versatile_pci_activate_resource(device_t vaddr = (vm_offset_t)pmap_mapdev(rman_get_start(r), rman_get_size(r)); rman_set_bushandle(r, vaddr); - rman_set_bustag(r, arm_base_bs_tag); + rman_set_bustag(r, fdtbus_bs_tag); res = rman_activate_resource(r); break; case SYS_RES_IRQ: From owner-svn-src-head@freebsd.org Sat Nov 21 14:39:59 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DE7ADA34190; Sat, 21 Nov 2015 14:39:58 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B4D21BDE; Sat, 21 Nov 2015 14:39:58 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALEdvhD058096; Sat, 21 Nov 2015 14:39:57 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALEdvPV058095; Sat, 21 Nov 2015 14:39:57 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511211439.tALEdvPV058095@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 21 Nov 2015 14:39:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291132 - head/sys/dev/ispfw 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.20 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, 21 Nov 2015 14:39:59 -0000 Author: mav Date: Sat Nov 21 14:39:57 2015 New Revision: 291132 URL: https://svnweb.freebsd.org/changeset/base/291132 Log: Update firmware for QLogic 22xx from 2.02.06 to 2.02.08. Modified: head/sys/dev/ispfw/asm_2200.h Modified: head/sys/dev/ispfw/asm_2200.h ============================================================================== --- head/sys/dev/ispfw/asm_2200.h Sat Nov 21 13:02:34 2015 (r291131) +++ head/sys/dev/ispfw/asm_2200.h Sat Nov 21 14:39:57 2015 (r291132) @@ -29,3976 +29,4291 @@ * * * --- ISP2200 Initiator/Target Firmware --- * * with Fabric support (Public Loop) and * - * with expanded LUN addressing. * + * with expanded LUN addressing for FCTAPE. * * * ************************************************************************/ /* - * Firmware Version 2.02.06 (08:39 Jun 26, 2003) + * Firmware Version 2.02.08 */ -static const u_int16_t isp_2200_risc_code[] = { - 0x0470, 0x0000, 0x0000, 0x96cf, 0x0000, 0x0002, 0x0002, 0x0006, - 0x0007, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, +static const uint16_t isp_2200_risc_code[] = { + 0x0470, 0x0000, 0x0000, 0xa52b, 0x0000, 0x0002, 0x0002, 0x0008, + 0x0017, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3232, 0x3030, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, - 0x322e, 0x3032, 0x2e30, 0x3620, 0x2020, 0x2020, 0x2400, 0x20c1, - 0x0005, 0x2001, 0x017f, 0x2003, 0x0000, 0x20c9, 0xabff, 0x2091, - 0x2000, 0x2059, 0x0000, 0x2b78, 0x7823, 0x0004, 0x2089, 0x28ce, - 0x2051, 0xa700, 0x2a70, 0x2029, 0xc600, 0x2031, 0xffff, 0x2039, - 0xc5f5, 0x2021, 0x0200, 0x0804, 0x1468, 0x20a1, 0xa6cf, 0xa00e, - 0x20a9, 0x0731, 0x41a4, 0x3400, 0x7562, 0x7666, 0x775e, 0x746a, - 0x746e, 0x20a1, 0xae00, 0x7164, 0x810d, 0x810d, 0x810d, 0x810d, - 0xa18c, 0x000f, 0x2001, 0x000a, 0xa112, 0xa00e, 0x21a8, 0x41a4, + 0x322e, 0x3032, 0x2e30, 0x3820, 0x2020, 0x2020, 0x2400, 0x20c1, + 0x0005, 0x2001, 0x017f, 0x2003, 0x0000, 0x20c9, 0xbbff, 0x2091, + 0x2000, 0x2059, 0x0000, 0x2b78, 0x7823, 0x0004, 0x2089, 0x299f, + 0x2051, 0xb600, 0x2a70, 0x2029, 0xee00, 0x2031, 0xffff, 0x2039, + 0xede9, 0x2021, 0x0200, 0x0804, 0x146d, 0x20a1, 0xb52b, 0xa00e, + 0x20a9, 0x08d5, 0x41a4, 0x3400, 0x7562, 0x7666, 0x775e, 0x746a, + 0x746e, 0x20a1, 0xbe00, 0x7164, 0x810d, 0x810d, 0x810d, 0x810d, + 0xa18c, 0x000f, 0x2001, 0x000b, 0xa112, 0xa00e, 0x21a8, 0x41a4, 0x3400, 0x8211, 0x1dd8, 0x7164, 0x3400, 0xa102, 0x0120, 0x0218, - 0x20a8, 0xa00e, 0x41a4, 0x3800, 0xd08c, 0x01d8, 0x2009, 0xa700, + 0x20a8, 0xa00e, 0x41a4, 0x3800, 0xd08c, 0x01d8, 0x2009, 0xb600, 0x810d, 0x810d, 0x810d, 0x810d, 0xa18c, 0x000f, 0x2001, 0x0001, 0xa112, 0x20a1, 0x1000, 0xa00e, 0x21a8, 0x41a4, 0x8211, 0x1de0, - 0x2009, 0xa700, 0x3400, 0xa102, 0x0120, 0x0218, 0x20a8, 0xa00e, - 0x41a4, 0x080c, 0x1411, 0x080c, 0x1632, 0x080c, 0x17cf, 0x080c, - 0x1f20, 0x080c, 0x4b3f, 0x080c, 0x807c, 0x080c, 0x15bb, 0x080c, - 0x2e1a, 0x080c, 0x5c7a, 0x080c, 0x5235, 0x080c, 0x6675, 0x080c, - 0x248e, 0x080c, 0x68f6, 0x080c, 0x6273, 0x080c, 0x2348, 0x080c, - 0x245c, 0x2091, 0x3009, 0x7823, 0x0000, 0x1004, 0x10c5, 0x7820, + 0x2009, 0xb600, 0x3400, 0xa102, 0x0120, 0x0218, 0x20a8, 0xa00e, + 0x41a4, 0x080c, 0x1416, 0x080c, 0x1637, 0x080c, 0x17d4, 0x080c, + 0x1fbe, 0x080c, 0x4c72, 0x080c, 0x8646, 0x080c, 0x15c0, 0x080c, + 0x2ef9, 0x080c, 0x5dfc, 0x080c, 0x53b3, 0x080c, 0x6940, 0x080c, + 0x2545, 0x080c, 0x6bd3, 0x080c, 0x642d, 0x080c, 0x23ff, 0x080c, + 0x2513, 0x2091, 0x3009, 0x7823, 0x0000, 0x1004, 0x10c5, 0x7820, 0xa086, 0x0002, 0x1150, 0x7823, 0x4000, 0x0e04, 0x10bd, 0x781b, 0x0001, 0x2091, 0x5000, 0x2091, 0x4080, 0x2a70, 0x7003, 0x0000, - 0x2a70, 0x7000, 0xa08e, 0x0003, 0x1158, 0x080c, 0x3e49, 0x080c, - 0x2e41, 0x080c, 0x5cc8, 0x080c, 0x53e4, 0x080c, 0x66a0, 0x0c80, - 0x000b, 0x0c98, 0x10e4, 0x10e5, 0x1210, 0x10e2, 0x12dd, 0x140e, - 0x140f, 0x1410, 0x080c, 0x1515, 0x0005, 0x0126, 0x00f6, 0x2091, - 0x8000, 0x7000, 0xa086, 0x0001, 0x1904, 0x11ed, 0x080c, 0x1588, - 0x080c, 0x59c3, 0x0150, 0x080c, 0x59e9, 0x15c0, 0x2079, 0x0100, - 0x7828, 0xa085, 0x1800, 0x782a, 0x0488, 0x080c, 0x58fb, 0x7000, - 0xa086, 0x0001, 0x1904, 0x11ed, 0x708c, 0xa086, 0x0028, 0x1904, - 0x11ed, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, - 0xffff, 0x7a28, 0xa295, 0x1e2f, 0x7a2a, 0x2011, 0x5896, 0x080c, - 0x6743, 0x2011, 0x5889, 0x080c, 0x67fb, 0x2011, 0x58d8, 0x080c, - 0x6743, 0x2011, 0x4a1c, 0x080c, 0x6743, 0x2011, 0x8030, 0x2019, - 0x0000, 0x708b, 0x0000, 0x080c, 0x1d8f, 0x00e8, 0x080c, 0x43cf, - 0x2079, 0x0100, 0x7844, 0xa005, 0x1904, 0x11ed, 0x2011, 0x4a1c, - 0x080c, 0x6743, 0x2011, 0x58d8, 0x080c, 0x6743, 0x080c, 0x1d8f, - 0x2001, 0xa98d, 0x2004, 0x780e, 0x7840, 0xa084, 0xfffb, 0x7842, - 0x2011, 0x8010, 0x73cc, 0x080c, 0x3e0d, 0x723c, 0xc284, 0x723e, - 0x2001, 0xa70c, 0x200c, 0xc1ac, 0x2102, 0x080c, 0x7bc8, 0x2011, - 0x0004, 0x080c, 0x932d, 0x080c, 0x5149, 0x080c, 0x59c3, 0x0158, - 0x080c, 0x4b28, 0x0140, 0x708b, 0x0001, 0x70c7, 0x0000, 0x080c, - 0x456c, 0x0804, 0x11ed, 0x080c, 0x51fd, 0x0120, 0x7a0c, 0xc2b4, - 0x7a0e, 0x0060, 0x7073, 0x0000, 0x080c, 0x95fa, 0x70d4, 0xd09c, - 0x1128, 0x70a0, 0xa005, 0x0110, 0x080c, 0x4b06, 0x70df, 0x0000, - 0x70db, 0x0000, 0x72d4, 0x080c, 0x59c3, 0x1178, 0x2011, 0x0000, - 0x0016, 0x080c, 0x284f, 0x2019, 0xa98f, 0x211a, 0x001e, 0x7053, - 0xffff, 0x7057, 0x00ef, 0x7077, 0x0000, 0x2079, 0xa752, 0x7804, - 0xd0ac, 0x0108, 0xc295, 0x72d6, 0x080c, 0x59c3, 0x0118, 0xa296, - 0x0004, 0x0548, 0x2011, 0x0001, 0x080c, 0x932d, 0x709b, 0x0000, - 0x709f, 0xffff, 0x7003, 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, - 0x7828, 0xa085, 0x0003, 0x782a, 0x00fe, 0x080c, 0x2a1c, 0x2011, - 0x0005, 0x080c, 0x7d08, 0x080c, 0x6f08, 0x080c, 0x59c3, 0x0148, - 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x284f, 0x61e2, 0x001e, - 0x00ce, 0x012e, 0x0420, 0x709b, 0x0000, 0x709f, 0xffff, 0x7003, - 0x0002, 0x00f6, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0xa085, - 0x0003, 0x782a, 0x00fe, 0x2011, 0x0005, 0x080c, 0x7d08, 0x080c, - 0x6f08, 0x080c, 0x59c3, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, - 0x080c, 0x284f, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, - 0x00c6, 0x080c, 0x59c3, 0x1118, 0x20a9, 0x0100, 0x0010, 0x20a9, - 0x0082, 0x080c, 0x59c3, 0x1118, 0x2009, 0x0000, 0x0010, 0x2009, - 0x007e, 0x080c, 0x2ced, 0x8108, 0x1f04, 0x1201, 0x00ce, 0x7073, - 0x0000, 0x7074, 0xa084, 0x00ff, 0x7076, 0x70a3, 0x0000, 0x0005, - 0x0126, 0x2091, 0x8000, 0x7000, 0xa086, 0x0002, 0x1904, 0x12db, - 0x709c, 0xa086, 0xffff, 0x0130, 0x080c, 0x2a1c, 0x080c, 0x6f08, - 0x0804, 0x12db, 0x70d4, 0xd0ac, 0x1110, 0xd09c, 0x0540, 0xd084, - 0x0530, 0x0006, 0x0016, 0x2001, 0x0103, 0x2009, 0xa98d, 0x210c, - 0x2102, 0x001e, 0x000e, 0xd08c, 0x01d0, 0x70d8, 0xa086, 0xffff, - 0x0190, 0x080c, 0x2b6d, 0x080c, 0x6f08, 0x70d4, 0xd094, 0x1904, - 0x12db, 0x2011, 0x0001, 0x2019, 0x0000, 0x080c, 0x2ba5, 0x080c, - 0x6f08, 0x0804, 0x12db, 0x70dc, 0xa005, 0x1904, 0x12db, 0x7098, - 0xa005, 0x1904, 0x12db, 0x70d4, 0xd0a4, 0x0118, 0xd0b4, 0x0904, - 0x12db, 0x080c, 0x51fd, 0x1904, 0x12db, 0x2001, 0xa753, 0x2004, - 0xd0ac, 0x01c8, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, - 0x0016, 0x080c, 0x4eb8, 0x1118, 0x6000, 0xd0ec, 0x1138, 0x001e, - 0x8108, 0x1f04, 0x1268, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, - 0x015e, 0x0804, 0x12db, 0x0006, 0x0016, 0x2001, 0x0103, 0x2009, - 0xa98d, 0x210c, 0x2102, 0x001e, 0x000e, 0x71a8, 0x81ff, 0x11b0, - 0xa006, 0x2009, 0x0200, 0x20a9, 0x0002, 0x20a1, 0xa9dd, 0x40a1, - 0x2009, 0x0700, 0x20a9, 0x0002, 0x20a1, 0xa9cd, 0x40a1, 0x7070, - 0x8007, 0x7174, 0x810f, 0x20a9, 0x0002, 0x40a1, 0x20a1, 0xa9d1, - 0x2009, 0x0000, 0x080c, 0x14fb, 0x2001, 0x0000, 0x810f, 0x20a9, - 0x0002, 0x40a1, 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, 0x709f, - 0xffff, 0x080c, 0x1581, 0xa006, 0x080c, 0x2727, 0x080c, 0x3e7f, - 0x00f6, 0x2079, 0x0100, 0x080c, 0x59e9, 0x0150, 0x080c, 0x59c3, - 0x7828, 0x0118, 0xa084, 0xe1ff, 0x0010, 0xa084, 0xffdf, 0x782a, - 0x00fe, 0x2001, 0xa9e0, 0x2004, 0xa086, 0x0005, 0x1120, 0x2011, - 0x0000, 0x080c, 0x7d08, 0x2011, 0x0000, 0x080c, 0x7d12, 0x080c, - 0x6f08, 0x080c, 0x6fbb, 0x012e, 0x0005, 0x0016, 0x0046, 0x00f6, - 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x2009, 0xa734, 0x2104, - 0xa005, 0x1110, 0x080c, 0x287b, 0x2009, 0x00f7, 0x080c, 0x4aef, - 0x7940, 0xa18c, 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, - 0x0040, 0xd19c, 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, - 0x7954, 0xd1ac, 0x1904, 0x134b, 0x080c, 0x59d5, 0x0158, 0x080c, - 0x59e9, 0x1128, 0x2001, 0xa99e, 0x2003, 0x0000, 0x0070, 0x080c, - 0x59cb, 0x0dc0, 0x2001, 0xa99e, 0x2003, 0xaaaa, 0x2001, 0xa99f, - 0x2003, 0x0001, 0x080c, 0x58fb, 0x0058, 0x080c, 0x59c3, 0x0140, - 0x2009, 0x00f8, 0x080c, 0x4aef, 0x7843, 0x0090, 0x7843, 0x0010, - 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x59c3, 0x0138, - 0x7824, 0xd0ac, 0x1904, 0x13f5, 0x1f04, 0x132a, 0x0070, 0x7824, - 0x080c, 0x59df, 0x0118, 0xd0ac, 0x1904, 0x13f5, 0xa084, 0x1800, - 0x0d98, 0x7003, 0x0001, 0x0804, 0x13f5, 0x2001, 0x0001, 0x080c, - 0x2727, 0x0804, 0x1404, 0x7850, 0xa084, 0x0180, 0x7852, 0x782f, - 0x0020, 0x20a9, 0x0046, 0x1d04, 0x1353, 0x080c, 0x67e3, 0x1f04, - 0x1353, 0x7850, 0xa084, 0x0180, 0xa085, 0x0400, 0x7852, 0x782f, - 0x0000, 0x080c, 0x59d5, 0x0158, 0x080c, 0x59e9, 0x1128, 0x2001, - 0xa99e, 0x2003, 0x0000, 0x0070, 0x080c, 0x59cb, 0x0dc0, 0x2001, - 0xa99e, 0x2003, 0xaaaa, 0x2001, 0xa99f, 0x2003, 0x0001, 0x080c, - 0x58fb, 0x0020, 0x2009, 0x00f8, 0x080c, 0x4aef, 0x20a9, 0x000e, - 0xe000, 0x1f04, 0x1380, 0x7850, 0xa084, 0x0180, 0xa085, 0x1400, - 0x7852, 0x080c, 0x59c3, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, - 0x2021, 0xe678, 0x2019, 0xea60, 0x7820, 0xd09c, 0x1558, 0x080c, - 0x59c3, 0x05d8, 0x7824, 0xd0ac, 0x1904, 0x13f5, 0x080c, 0x59e9, - 0x1508, 0x0046, 0x2021, 0x0190, 0x8421, 0x1df0, 0x004e, 0x8421, - 0x11c8, 0x7827, 0x0048, 0x20a9, 0x01f4, 0x1d04, 0x13ad, 0x080c, - 0x67e3, 0x1f04, 0x13ad, 0x7824, 0xa084, 0x0068, 0x15c8, 0x2001, - 0xa99e, 0x2003, 0xaaaa, 0x2001, 0xa99f, 0x2003, 0x0001, 0x7003, - 0x0001, 0x0498, 0x1d04, 0x13c6, 0x080c, 0x67e3, 0x8319, 0x1960, - 0x2009, 0xa734, 0x2104, 0x8000, 0x200a, 0xa084, 0xfff0, 0x0120, - 0x200b, 0x0000, 0x080c, 0x287b, 0x00d8, 0x080c, 0x59d5, 0x1140, - 0xa4a2, 0x0064, 0x1128, 0x080c, 0x599a, 0x7003, 0x0001, 0x00a8, - 0x7827, 0x1800, 0xe000, 0xe000, 0x7824, 0x080c, 0x59df, 0x0110, - 0xd0ac, 0x1158, 0xa084, 0x1800, 0x09a8, 0x7003, 0x0001, 0x0028, - 0x2001, 0x0001, 0x080c, 0x2727, 0x0048, 0x2001, 0xa734, 0x2003, - 0x0000, 0x7827, 0x0048, 0x7828, 0xc09d, 0x782a, 0x7850, 0xa084, - 0x0180, 0xa085, 0x0400, 0x7852, 0x015e, 0x003e, 0x000e, 0x080c, - 0x1558, 0x012e, 0x00fe, 0x004e, 0x001e, 0x0005, 0x0005, 0x0005, - 0x0005, 0x2a70, 0x2061, 0xa9c0, 0x2063, 0x0002, 0x6007, 0x0002, - 0x600b, 0x0006, 0x600f, 0x0007, 0x2001, 0xa99e, 0x2003, 0x0000, - 0x708b, 0x0000, 0x2009, 0x0100, 0x2104, 0xa082, 0x0002, 0x0218, - 0x7053, 0xffff, 0x0010, 0x7053, 0x0000, 0x705b, 0xffff, 0x7073, - 0x0000, 0x7077, 0x0000, 0x080c, 0x95fa, 0x2061, 0xa98e, 0x6003, - 0x0909, 0x6007, 0x0000, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, - 0x00ff, 0x6017, 0x000f, 0x601b, 0x0000, 0x601f, 0x07d0, 0x2061, - 0xa996, 0x6003, 0x8000, 0x6007, 0x0000, 0x600b, 0x0000, 0x600f, - 0x0200, 0x6013, 0x00ff, 0x6017, 0x0000, 0x601b, 0x0001, 0x601f, - 0x0000, 0x2061, 0xa9b8, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, - 0x4943, 0x600f, 0x2020, 0x2001, 0xa728, 0x2003, 0x0000, 0x0005, - 0x04a0, 0x2011, 0x0000, 0x81ff, 0x0570, 0xa186, 0x0001, 0x1148, - 0x2031, 0x8fff, 0x2039, 0xba01, 0x2021, 0x0100, 0x2029, 0xba00, - 0x00e8, 0xa186, 0x0002, 0x1118, 0x2011, 0x0000, 0x00b8, 0xa186, - 0x0005, 0x1118, 0x2011, 0x0001, 0x0088, 0xa186, 0x0009, 0x1118, - 0x2011, 0x0002, 0x0058, 0xa186, 0x000a, 0x1118, 0x2011, 0x0002, - 0x0028, 0xa186, 0x0055, 0x1110, 0x2011, 0x0003, 0x3800, 0xa084, - 0xfffc, 0xa205, 0x20c0, 0x0804, 0x104d, 0xa00e, 0x2011, 0x0003, - 0x2019, 0x14a4, 0x0804, 0x14f5, 0x2019, 0xaaaa, 0x2061, 0xffff, - 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c04, 0xa306, 0x2262, 0x1110, - 0xc1b5, 0xc1a5, 0x2011, 0x0000, 0x2019, 0x14b7, 0x04f0, 0x2019, - 0xaaaa, 0x2061, 0xffff, 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c1c, - 0x2061, 0x7fff, 0xe000, 0xe000, 0x2c04, 0x2061, 0xffff, 0x2262, - 0xa306, 0x0110, 0xc18d, 0x0008, 0xc185, 0x2011, 0x0002, 0x2019, - 0x14d2, 0x0418, 0x2061, 0xffff, 0x2019, 0xaaaa, 0x2c14, 0x2362, - 0xe000, 0xe000, 0x2c04, 0x2262, 0xa306, 0x1180, 0x2c14, 0x2362, - 0xe000, 0xe000, 0x2c1c, 0x2061, 0x7fff, 0x2c04, 0x2061, 0xffff, - 0x2262, 0xa306, 0x1110, 0xc195, 0x0008, 0xc19d, 0x2011, 0x0001, - 0x2019, 0x14f3, 0x0010, 0x0804, 0x1469, 0x3800, 0xa084, 0xfffc, - 0xa205, 0x20c0, 0x0837, 0x2011, 0x0000, 0x080c, 0x4eb8, 0x1178, - 0x6004, 0xa0c4, 0x00ff, 0xa8c6, 0x0006, 0x0128, 0xa0c4, 0xff00, - 0xa8c6, 0x0600, 0x1120, 0xa186, 0x0080, 0x0108, 0x8210, 0x8108, - 0xa186, 0x0100, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, 0x0e04, - 0x1517, 0x0006, 0x0016, 0x2079, 0x0000, 0x7818, 0xd084, 0x1de8, - 0x001e, 0x792e, 0x000e, 0x782a, 0x000e, 0x7826, 0x3900, 0x783a, - 0x7823, 0x8002, 0x781b, 0x0001, 0x2091, 0x5000, 0x0126, 0x0156, - 0x0146, 0x20a9, 0x0010, 0x20a1, 0xaaff, 0x2091, 0x2000, 0x40a1, - 0x20a9, 0x0010, 0x2091, 0x2200, 0x40a1, 0x20a9, 0x0010, 0x2091, - 0x2400, 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2600, 0x40a1, 0x20a9, - 0x0010, 0x2091, 0x2800, 0x40a1, 0x014e, 0x015e, 0x012e, 0x2079, - 0xa700, 0x7803, 0x0005, 0x2091, 0x4080, 0x04c9, 0x0cf8, 0x0005, - 0x0006, 0x080c, 0x15a3, 0x1518, 0x00f6, 0x2079, 0xa724, 0x2f04, - 0x8000, 0x207a, 0xa082, 0x000f, 0x0258, 0xa006, 0x207a, 0x2079, - 0xa726, 0x2f04, 0xa084, 0x0001, 0xa086, 0x0001, 0x207a, 0x0070, - 0x2079, 0xa726, 0x2f7c, 0x8fff, 0x1128, 0x2001, 0x0c03, 0x2003, - 0x0040, 0x0020, 0x2001, 0x0c03, 0x2003, 0x00c0, 0x00fe, 0x000e, - 0x0005, 0x0409, 0x1120, 0x2001, 0x0c03, 0x2003, 0x0080, 0x0005, - 0x00d1, 0x1120, 0x2001, 0x0c03, 0x2003, 0x0040, 0x0005, 0x0006, - 0x0091, 0x1178, 0x2001, 0x0c03, 0x2003, 0x0040, 0x2009, 0x0fff, - 0x00a1, 0x2001, 0x0c03, 0x2003, 0x0080, 0x2009, 0x0fff, 0x0069, - 0x0c88, 0x000e, 0x0005, 0x00c6, 0x2061, 0x0c00, 0x2c04, 0xa084, - 0x00ff, 0xa086, 0x00aa, 0x00ce, 0x0005, 0x0156, 0x0126, 0xa18c, - 0x0fff, 0x21a8, 0x1d04, 0x15b2, 0x2091, 0x6000, 0x1f04, 0x15b2, - 0x012e, 0x015e, 0x0005, 0x2071, 0xa700, 0x7160, 0x712e, 0x2021, - 0x0001, 0xa190, 0x0030, 0xa298, 0x0030, 0x0240, 0x7064, 0xa302, - 0x1228, 0x220a, 0x2208, 0x2310, 0x8420, 0x0ca8, 0x3800, 0xd08c, - 0x0148, 0x7064, 0xa086, 0xa700, 0x0128, 0x7067, 0xa700, 0x2011, - 0x1000, 0x0c48, 0x200b, 0x0000, 0x74b2, 0x74b6, 0x0005, 0x00e6, - 0x0126, 0x2091, 0x8000, 0x2071, 0xa700, 0x70b4, 0xa0ea, 0x0010, - 0x0268, 0x8001, 0x70b6, 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, - 0x0000, 0x6807, 0x0000, 0x012e, 0x00ee, 0x0005, 0xa06e, 0x0cd8, - 0x00e6, 0x2071, 0xa700, 0x0126, 0x2091, 0x8000, 0x70b4, 0x8001, - 0x0260, 0x70b6, 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, - 0x6807, 0x0000, 0x012e, 0x00ee, 0x0005, 0xa06e, 0x0cd8, 0x00e6, - 0x0126, 0x2091, 0x8000, 0x2071, 0xa700, 0x702c, 0x206a, 0x2d00, - 0x702e, 0x70b4, 0x8000, 0x70b6, 0x012e, 0x00ee, 0x0005, 0x8dff, - 0x0138, 0x6804, 0x6807, 0x0000, 0x0006, 0x0c49, 0x00de, 0x0cb8, - 0x0005, 0x00e6, 0x2071, 0xa700, 0x70b4, 0xa08a, 0x0010, 0xa00d, - 0x00ee, 0x0005, 0x00e6, 0x2071, 0xaa11, 0x7007, 0x0000, 0x701b, - 0x0000, 0x701f, 0x0000, 0x2071, 0x0000, 0x7010, 0xa085, 0x8004, - 0x7012, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, 0x2270, - 0x700b, 0x0000, 0x2071, 0xaa11, 0x7018, 0xa088, 0xaa1a, 0x220a, - 0x8000, 0xa084, 0x0007, 0x701a, 0x7004, 0xa005, 0x1128, 0x00f6, - 0x2079, 0x0010, 0x0089, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x00e6, - 0x2071, 0xaa11, 0x7004, 0xa005, 0x1128, 0x00f6, 0x2079, 0x0010, - 0x0019, 0x00fe, 0x00ee, 0x0005, 0x7000, 0x0002, 0x1672, 0x16d6, - 0x16f3, 0x16f3, 0x7018, 0x711c, 0xa106, 0x1118, 0x7007, 0x0000, - 0x0005, 0x00d6, 0xa180, 0xaa1a, 0x2004, 0x700a, 0x2068, 0x8108, - 0xa18c, 0x0007, 0x711e, 0x7803, 0x0026, 0x6824, 0x7832, 0x6828, - 0x7836, 0x682c, 0x783a, 0x6830, 0x783e, 0x6810, 0x700e, 0x680c, - 0x7016, 0x6804, 0x00de, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, - 0x0005, 0x7007, 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, - 0x2011, 0x0040, 0xa182, 0x0040, 0x1210, 0x2110, 0xa006, 0x700e, - 0x7212, 0x8203, 0x7822, 0x7803, 0x0020, 0x7803, 0x0041, 0x002e, - 0x001e, 0x0005, 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, - 0x2098, 0x20a1, 0x0014, 0x7803, 0x0026, 0x710c, 0x2011, 0x0040, - 0xa182, 0x0040, 0x1210, 0x2110, 0xa006, 0x700e, 0x22a8, 0x53a6, - 0x8203, 0x7822, 0x7803, 0x0020, 0x3300, 0x7016, 0x7803, 0x0001, - 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, 0x0136, 0x0146, - 0x0156, 0x2099, 0xa7fa, 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, - 0x7803, 0x0020, 0x0126, 0x2091, 0x8000, 0x7803, 0x0041, 0x7007, - 0x0003, 0x7000, 0xc084, 0x7002, 0x700b, 0xa7f5, 0x012e, 0x015e, - 0x014e, 0x013e, 0x0005, 0x0136, 0x0146, 0x0156, 0x2001, 0xa829, - 0x209c, 0x20a1, 0x0014, 0x7803, 0x0026, 0x2001, 0xa82a, 0x20ac, - 0x53a6, 0x2099, 0xa82b, 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, - 0x7803, 0x0020, 0x0126, 0x2091, 0x8000, 0x7803, 0x0001, 0x7007, - 0x0004, 0x7000, 0xc08c, 0x7002, 0x700b, 0xa826, 0x012e, 0x015e, - 0x014e, 0x013e, 0x0005, 0x0016, 0x00e6, 0x2071, 0xaa11, 0x00f6, - 0x2079, 0x0010, 0x7904, 0x7803, 0x0002, 0xd1fc, 0x0120, 0xa18c, - 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x166c, - 0x1736, 0x1764, 0x178e, 0x17be, 0x1735, 0x0cf8, 0xa18c, 0x0700, - 0x1528, 0x0136, 0x0146, 0x0156, 0x7014, 0x20a0, 0x2099, 0x0014, - 0x7803, 0x0040, 0x7010, 0x20a8, 0x53a5, 0x3400, 0x7016, 0x015e, - 0x014e, 0x013e, 0x700c, 0xa005, 0x0570, 0x7830, 0x7832, 0x7834, - 0x7836, 0x080c, 0x169d, 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, - 0x0100, 0x7007, 0x0000, 0x080c, 0x166c, 0x0005, 0x7008, 0xa080, - 0x0002, 0x2003, 0x0200, 0x0ca8, 0xa18c, 0x0700, 0x1150, 0x700c, - 0xa005, 0x0188, 0x7830, 0x7832, 0x7834, 0x7836, 0x080c, 0x16b2, - 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, 0x0200, 0x7007, 0x0000, - 0x080c, 0x166c, 0x0005, 0x00d6, 0x7008, 0x2068, 0x7830, 0x6826, - 0x7834, 0x682a, 0x7838, 0x682e, 0x783c, 0x6832, 0x680b, 0x0100, - 0x00de, 0x7007, 0x0000, 0x080c, 0x166c, 0x0005, 0xa18c, 0x0700, - 0x1540, 0x0136, 0x0146, 0x0156, 0x2001, 0xa7f8, 0x2004, 0xa080, - 0x000d, 0x20a0, 0x2099, 0x0014, 0x7803, 0x0040, 0x20a9, 0x0020, - 0x53a5, 0x2001, 0xa7fa, 0x2004, 0xd0bc, 0x0148, 0x2001, 0xa803, - 0x2004, 0xa080, 0x000d, 0x20a0, 0x20a9, 0x0020, 0x53a5, 0x015e, - 0x014e, 0x013e, 0x7007, 0x0000, 0x080c, 0x5d5f, 0x080c, 0x166c, - 0x0005, 0x2011, 0x8003, 0x080c, 0x3e0d, 0x0cf8, 0xa18c, 0x0700, - 0x1148, 0x2001, 0xa828, 0x2003, 0x0100, 0x7007, 0x0000, 0x080c, - 0x166c, 0x0005, 0x2011, 0x8004, 0x080c, 0x3e0d, 0x0cf8, 0x0126, - 0x2091, 0x2200, 0x2079, 0x0030, 0x2071, 0xaa22, 0x7003, 0x0000, - 0x700f, 0xaa2e, 0x7013, 0xaa2e, 0x780f, 0x00f6, 0x7803, 0x0004, - 0x012e, 0x0005, 0x6934, 0xa184, 0x0007, 0x0002, 0x17ee, 0x182c, - 0x17ee, 0x17ee, 0x17ee, 0x1814, 0x17fb, 0x17f2, 0xa085, 0x0001, - 0x0804, 0x1846, 0x684c, 0xd0bc, 0x0dc8, 0x6860, 0x682e, 0x685c, - 0x682a, 0x6858, 0x04c8, 0xa18c, 0x00ff, 0xa186, 0x001e, 0x1d70, - 0x684c, 0xd0bc, 0x0d58, 0x6860, 0x682e, 0x685c, 0x682a, 0x6804, - 0x681a, 0xa080, 0x000d, 0x2004, 0xa084, 0x000f, 0xa080, 0x2263, - 0x2005, 0x6832, 0x6858, 0x0440, 0xa18c, 0x00ff, 0xa186, 0x0015, - 0x19a8, 0x684c, 0xd0ac, 0x0990, 0x6804, 0x681a, 0xa080, 0x000d, - 0x2004, 0xa084, 0x000f, 0xa080, 0x2263, 0x2005, 0x6832, 0xa006, - 0x682e, 0x682a, 0x6858, 0x0080, 0x684c, 0xd0ac, 0x0904, 0x17ee, - 0xa006, 0x682e, 0x682a, 0x6858, 0xa18c, 0x000f, 0xa188, 0x2263, - 0x210d, 0x6932, 0x2d08, 0x691a, 0x6826, 0x684c, 0xc0dd, 0x684e, - 0xa006, 0x680a, 0x697c, 0x6912, 0x6980, 0x6916, 0x0005, 0x684c, - 0xd0ac, 0x090c, 0x1515, 0x6833, 0x2260, 0x2d08, 0x691a, 0x6858, - 0x8001, 0x6826, 0x684c, 0xc0dd, 0x684e, 0xa006, 0x680a, 0x682e, - 0x682a, 0x697c, 0x6912, 0x6980, 0x6916, 0x0005, 0x20e1, 0x0007, - 0x20e1, 0x2000, 0x2001, 0x020a, 0x2004, 0x82ff, 0x01e8, 0xa280, - 0x0004, 0x00d6, 0x206c, 0x684c, 0xd0dc, 0x1190, 0xa280, 0x0007, - 0x2004, 0xa086, 0x000a, 0x1110, 0x0891, 0x0010, 0x080c, 0x17e2, - 0x0138, 0x00de, 0xa280, 0x0000, 0x2003, 0x0002, 0xa016, 0x0020, - 0x6808, 0x8000, 0x680a, 0x00de, 0x0126, 0x0046, 0x0036, 0x0026, - 0x2091, 0x2200, 0x002e, 0x003e, 0x004e, 0x7000, 0xa005, 0x01d0, - 0x710c, 0x220a, 0x8108, 0x230a, 0x8108, 0x240a, 0x8108, 0xa182, - 0xaa49, 0x0210, 0x2009, 0xaa2e, 0x710e, 0x7010, 0xa102, 0xa082, - 0x0009, 0x0118, 0xa080, 0x001b, 0x1118, 0x2009, 0x0138, 0x200a, - 0x012e, 0x0005, 0x7206, 0x2001, 0x18a8, 0x0006, 0x2260, 0x0804, - 0x19d4, 0x0126, 0x0026, 0x0036, 0x00c6, 0x0006, 0x2091, 0x2200, - 0x000e, 0x004e, 0x003e, 0x002e, 0x00d6, 0x00c6, 0x2460, 0x6110, - 0x2168, 0x6a62, 0x6b5e, 0xa005, 0x0904, 0x1909, 0x6808, 0xa005, - 0x0904, 0x1940, 0x7000, 0xa005, 0x1108, 0x0488, 0x700c, 0x7110, - 0xa106, 0x1904, 0x1948, 0x7004, 0xa406, 0x1548, 0x2001, 0x0005, - 0x2004, 0xd08c, 0x0168, 0x0046, 0x080c, 0x1ad8, 0x004e, 0x2460, - 0x6010, 0xa080, 0x0002, 0x2004, 0xa005, 0x0904, 0x1940, 0x0c10, - 0x2001, 0x0207, 0x2004, 0xd09c, 0x1d48, 0x7804, 0xa084, 0x6000, - 0x0120, 0xa086, 0x6000, 0x0108, 0x0c08, 0x7818, 0x6812, 0x781c, - 0x6816, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0x2060, 0x6100, - 0xa18e, 0x0004, 0x1904, 0x1948, 0x2009, 0x0048, 0x080c, 0x8101, - 0x04f8, 0x6808, 0xa005, 0x05a0, 0x7000, 0xa005, 0x0588, 0x700c, - 0x7110, 0xa106, 0x1118, 0x7004, 0xa406, 0x1550, 0x2001, 0x0005, - 0x2004, 0xd08c, 0x0160, 0x0046, 0x080c, 0x1ad8, 0x004e, 0x2460, - 0x6010, 0xa080, 0x0002, 0x2004, 0xa005, 0x01d0, 0x0c28, 0x2001, - 0x0207, 0x2004, 0xd09c, 0x1d50, 0x2001, 0x0005, 0x2004, 0xd08c, - 0x1d50, 0x7804, 0xa084, 0x6000, 0x0118, 0xa086, 0x6000, 0x19f0, - 0x7818, 0x6812, 0x781c, 0x6816, 0x7803, 0x0004, 0x7003, 0x0000, - 0x6100, 0xa18e, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0x8101, - 0x00ce, 0x00de, 0x012e, 0x0005, 0x00f6, 0x00e6, 0x0026, 0x0036, - 0x0046, 0x0056, 0x2071, 0xaa22, 0x7000, 0xa086, 0x0000, 0x0904, - 0x19b2, 0x7004, 0xac06, 0x1904, 0x19a4, 0x2079, 0x0030, 0x7000, - 0xa086, 0x0003, 0x0904, 0x19a4, 0x7804, 0xd0fc, 0x15c8, 0x20e1, - 0x6000, 0x2011, 0x0032, 0x2001, 0x0208, 0x200c, 0x2001, 0x0209, - 0x2004, 0xa106, 0x1d88, 0x8211, 0x1db0, 0x7804, 0xd0fc, 0x1540, - 0x080c, 0x1e14, 0x0026, 0x0056, 0x7803, 0x0004, 0x7804, 0xd0ac, - 0x1de8, 0x7803, 0x0002, 0x7803, 0x0009, 0x7003, 0x0003, 0x7007, - 0x0000, 0x005e, 0x002e, 0x2001, 0x015d, 0x2003, 0x0000, 0x080c, - 0x59c3, 0x1138, 0x0066, 0x2031, 0x0001, 0x080c, 0x5a45, 0x006e, - 0x0058, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0020, - 0x080c, 0x1ad8, 0x0804, 0x1954, 0x0156, 0x20a9, 0x0009, 0x2009, - 0xaa2e, 0x2104, 0xac06, 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, - 0x19a9, 0x015e, 0x005e, 0x004e, 0x003e, 0x002e, 0x00ee, 0x00fe, - 0x0005, 0x700c, 0x7110, 0xa106, 0x0904, 0x1a1b, 0x2104, 0x7006, - 0x2060, 0x8108, 0x211c, 0x8108, 0x2124, 0x8108, 0xa182, 0xaa49, - 0x0210, 0x2009, 0xaa2e, 0x7112, 0x700c, 0xa106, 0x1128, 0x080c, - 0x284f, 0x2001, 0x0138, 0x2102, 0x8cff, 0x0560, 0x6010, 0x2068, - 0x2d58, 0x6828, 0xa406, 0x1558, 0x682c, 0xa306, 0x1540, 0x684c, - 0xd0f4, 0x0128, 0x6817, 0xffff, 0x6813, 0xffff, 0x00d8, 0x6850, - 0xd0f4, 0x1130, 0x7803, 0x0004, 0x6810, 0x781a, 0x6814, 0x781e, - 0x6824, 0x2050, 0x6818, 0x2060, 0x6830, 0x2040, 0x6034, 0xa0cc, - 0x000f, 0x2009, 0x0011, 0x0411, 0x0118, 0x2009, 0x0001, 0x00f1, - 0x2d58, 0x0005, 0x080c, 0x1d83, 0x0904, 0x19b9, 0x0cd0, 0x601c, - 0xa08e, 0x0008, 0x09a0, 0xa08e, 0x000a, 0x0988, 0x2001, 0xa774, - 0x2004, 0xd0b4, 0x1120, 0x6817, 0x7fff, 0x6813, 0xffff, 0x080c, - 0x2283, 0x1d40, 0x0820, 0x7003, 0x0000, 0x0005, 0x8aff, 0x0904, - 0x1ab2, 0xa03e, 0x2730, 0xc9fc, 0x6850, 0xd0fc, 0x11b8, 0xd0f4, - 0x1528, 0x00d6, 0x2805, 0xac68, 0x2900, 0x0002, 0x1a70, 0x1a54, - 0x1a54, 0x1a70, 0x1a70, 0x1a68, 0x1a70, 0x1a54, 0x1a70, 0x1a59, - 0x1a59, 0x1a70, 0x1a70, 0x1a70, 0x1a60, 0x1a59, 0x7803, 0x0004, - 0xc0fc, 0x6852, 0x6b6c, 0x6a70, 0x6d1c, 0x6c20, 0x00d6, 0xd99c, - 0x0550, 0x2805, 0xac68, 0x6f08, 0x6e0c, 0x0430, 0xc0f4, 0x6852, - 0x6b6c, 0x6a70, 0x00d6, 0x0468, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, - 0x00d0, 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, 0x6e0c, 0x00a0, - 0x00de, 0x00d6, 0x6834, 0xa084, 0x00ff, 0xa086, 0x001e, 0x1140, - 0x00de, 0x080c, 0x2225, 0x1904, 0x1a1e, 0xa00e, 0x0804, 0x1ab2, - 0x00de, 0x080c, 0x1515, 0xc9fd, 0x7b22, 0x7a26, 0x7d32, 0x7c36, - 0x7f3a, 0x7e3e, 0x7316, 0x721a, 0x751e, 0x7422, 0x7726, 0x762a, - 0x7902, 0x7100, 0x8108, 0x7102, 0x00de, 0x6828, 0xa300, 0x682a, - 0x682c, 0xa201, 0x682e, 0x8109, 0x2d08, 0x1500, 0xd9fc, 0x0160, - 0xc9fc, 0x080c, 0x2225, 0x01e8, 0x2805, 0xac68, 0x6800, 0xa506, - 0x11c0, 0x6804, 0xa406, 0x00a8, 0xc9fc, 0x080c, 0x2225, 0x0188, - 0x2805, 0xac68, 0x6800, 0xa506, 0x1160, 0x6804, 0xa406, 0x1148, - 0x6808, 0xa706, 0x1130, 0x680c, 0xa606, 0x0018, 0xc9fc, 0x080c, - 0x2225, 0x2168, 0x0005, 0x080c, 0x1515, 0x080c, 0x1ed3, 0x7004, - 0x2060, 0x00d6, 0x6010, 0x2068, 0x7003, 0x0000, 0x080c, 0x1da4, - 0x080c, 0x9327, 0x0170, 0x6808, 0x8001, 0x680a, 0x697c, 0x6912, - 0x6980, 0x6916, 0x682b, 0xffff, 0x682f, 0xffff, 0x6850, 0xc0bd, - 0x6852, 0x00de, 0x080c, 0x9057, 0x0804, 0x1cd5, 0x080c, 0x1515, - 0x0126, 0x2091, 0x2200, 0x0006, 0x0016, 0x2b68, 0x6818, 0x2060, - 0x7904, 0x7803, 0x0002, 0xa184, 0x0700, 0x1978, 0xa184, 0x0003, - 0xa086, 0x0003, 0x0d58, 0x7000, 0x0002, 0x1af5, 0x1afb, 0x1bee, - 0x1cb0, 0x1cc4, 0x1af5, 0x1af5, 0x1af5, 0x7804, 0xd09c, 0x1904, - 0x1cd5, 0x080c, 0x1515, 0x8001, 0x7002, 0xd1bc, 0x11a0, 0xd19c, - 0x1904, 0x1b7d, 0xd1dc, 0x1178, 0x8aff, 0x0904, 0x1b7d, 0x2009, - 0x0001, 0x080c, 0x1a1e, 0x0904, 0x1cd5, 0x2009, 0x0001, 0x080c, - 0x1a1e, 0x0804, 0x1cd5, 0x7803, 0x0004, 0x7003, 0x0000, 0xd1bc, - 0x1904, 0x1b67, 0x0026, 0x0036, 0x7c20, 0x7d24, 0x7e30, 0x7f34, - 0x7818, 0x6812, 0x781c, 0x6816, 0x2001, 0x0201, 0x2004, 0xa005, - 0x0140, 0x7808, 0xd0ec, 0x1128, 0x7803, 0x0009, 0x7003, 0x0004, - 0x0010, 0x080c, 0x1cd9, 0x6b28, 0x6a2c, 0x2400, 0x686e, 0xa31a, - 0x2500, 0x6872, 0xa213, 0x6b2a, 0x6a2e, 0x003e, 0x002e, 0x6e1e, - 0x6f22, 0x2500, 0xa405, 0x0128, 0x080c, 0x223b, 0x6850, 0xc0fd, - 0x6852, 0x2a00, 0x6826, 0x2c00, 0x681a, 0x2800, 0x6832, 0x6808, - 0x8001, 0x680a, 0x1148, 0x684c, 0xd0e4, 0x0130, 0x7004, 0x2060, - 0x2009, 0x0048, 0x080c, 0x8101, 0x7000, 0xa086, 0x0004, 0x0904, - 0x1cd5, 0x7003, 0x0000, 0x080c, 0x19b9, 0x0804, 0x1cd5, 0x0056, - 0x7d0c, 0xd5bc, 0x1110, 0x080c, 0xa667, 0x005e, 0x080c, 0x1da4, - 0x682b, 0xffff, 0x682f, 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, - 0x791a, 0x6980, 0x791e, 0x0804, 0x1cd5, 0x7818, 0x6812, 0x7a1c, + 0x2a70, 0x7000, 0xa08e, 0x0003, 0x1158, 0x080c, 0x3f4f, 0x080c, + 0x2f20, 0x080c, 0x5e4a, 0x080c, 0x5562, 0x080c, 0x696b, 0x0c80, + 0x000b, 0x0c98, 0x10e4, 0x10e5, 0x1215, 0x10e2, 0x12e2, 0x1413, + 0x1414, 0x1415, 0x080c, 0x151a, 0x0005, 0x0126, 0x00f6, 0x2091, + 0x8000, 0x7000, 0xa086, 0x0001, 0x1904, 0x11f2, 0x080c, 0x158d, + 0x080c, 0x5b41, 0x0150, 0x080c, 0x5b67, 0x15c0, 0x2079, 0x0100, + 0x7828, 0xa085, 0x1800, 0x782a, 0x0488, 0x080c, 0x5a79, 0x7000, + 0xa086, 0x0001, 0x1904, 0x11f2, 0x708c, 0xa086, 0x0028, 0x1904, + 0x11f2, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, + 0xffff, 0x7a28, 0xa295, 0x1e2f, 0x7a2a, 0x2011, 0x5a14, 0x080c, + 0x6a0e, 0x2011, 0x5a07, 0x080c, 0x6ace, 0x2011, 0x5a56, 0x080c, + 0x6a0e, 0x2011, 0x4b23, 0x080c, 0x6a0e, 0x2011, 0x8030, 0x2019, + 0x0000, 0x708b, 0x0000, 0x080c, 0x1e05, 0x00e8, 0x080c, 0x44d6, + 0x2079, 0x0100, 0x7844, 0xa005, 0x1904, 0x11f2, 0x2011, 0x4b23, + 0x080c, 0x6a0e, 0x2011, 0x5a56, 0x080c, 0x6a0e, 0x080c, 0x1e05, + 0x2001, 0xb88d, 0x2004, 0x780e, 0x7840, 0xa084, 0xfffb, 0x7842, + 0x2011, 0x8010, 0x73cc, 0x080c, 0x3f13, 0x723c, 0xc284, 0x723e, + 0x2001, 0xb60c, 0x200c, 0xc1ac, 0x2102, 0x080c, 0x7fbc, 0x2011, + 0x0004, 0x080c, 0x9d1c, 0x080c, 0x52bf, 0x080c, 0x5b41, 0x0158, + 0x080c, 0x4c4a, 0x0140, 0x708b, 0x0001, 0x70c7, 0x0000, 0x080c, + 0x4673, 0x0804, 0x11f2, 0x080c, 0x537b, 0x0120, 0x7a0c, 0xc2b4, + 0x7a0e, 0x0060, 0x7073, 0x0000, 0x080c, 0xa0c4, 0x70d4, 0xd09c, + 0x1128, 0x70a0, 0xa005, 0x0110, 0x080c, 0x4c28, 0x70df, 0x0000, + 0x70db, 0x0000, 0x72d4, 0x080c, 0x5b41, 0x1180, 0x2011, 0x0000, + 0x0016, 0x080c, 0x2920, 0x2019, 0xb88f, 0x211a, 0x001e, 0x7053, + 0xffff, 0x7057, 0x00ef, 0x7077, 0x0000, 0x0020, 0x2019, 0xb88f, + 0x201b, 0x0000, 0x2079, 0xb652, 0x7804, 0xd0ac, 0x0108, 0xc295, + 0x72d6, 0x080c, 0x5b41, 0x0118, 0xa296, 0x0004, 0x0548, 0x2011, + 0x0001, 0x080c, 0x9d1c, 0x709b, 0x0000, 0x709f, 0xffff, 0x7003, + 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0xa085, 0x0003, + 0x782a, 0x00fe, 0x080c, 0x2aed, 0x2011, 0x0005, 0x080c, 0x80fc, + 0x080c, 0x71e5, 0x080c, 0x5b41, 0x0148, 0x00c6, 0x2061, 0x0100, + 0x0016, 0x080c, 0x2920, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, + 0x709b, 0x0000, 0x709f, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, + 0x0100, 0x7827, 0x0003, 0x7828, 0xa085, 0x0003, 0x782a, 0x00fe, + 0x2011, 0x0005, 0x080c, 0x80fc, 0x080c, 0x71e5, 0x080c, 0x5b41, + 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2920, 0x61e2, + 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x080c, 0x5b41, + 0x1118, 0x20a9, 0x0100, 0x0010, 0x20a9, 0x0082, 0x080c, 0x5b41, + 0x1118, 0x2009, 0x0000, 0x0010, 0x2009, 0x007e, 0x080c, 0x2dcc, + 0x8108, 0x1f04, 0x1206, 0x00ce, 0x7073, 0x0000, 0x7074, 0xa084, + 0x00ff, 0x7076, 0x70a3, 0x0000, 0x0005, 0x0126, 0x2091, 0x8000, + 0x7000, 0xa086, 0x0002, 0x1904, 0x12e0, 0x709c, 0xa086, 0xffff, + 0x0130, 0x080c, 0x2aed, 0x080c, 0x71e5, 0x0804, 0x12e0, 0x70d4, + 0xd0ac, 0x1110, 0xd09c, 0x0540, 0xd084, 0x0530, 0x0006, 0x0016, + 0x2001, 0x0103, 0x2009, 0xb88d, 0x210c, 0x2102, 0x001e, 0x000e, + 0xd08c, 0x01d0, 0x70d8, 0xa086, 0xffff, 0x0190, 0x080c, 0x2c4c, + 0x080c, 0x71e5, 0x70d4, 0xd094, 0x1904, 0x12e0, 0x2011, 0x0001, + 0x2019, 0x0000, 0x080c, 0x2c84, 0x080c, 0x71e5, 0x0804, 0x12e0, + 0x70dc, 0xa005, 0x1904, 0x12e0, 0x7098, 0xa005, 0x1904, 0x12e0, + 0x70d4, 0xd0a4, 0x0118, 0xd0b4, 0x0904, 0x12e0, 0x080c, 0x537b, + 0x1904, 0x12e0, 0x2001, 0xb653, 0x2004, 0xd0ac, 0x01c8, 0x0156, + 0x00c6, 0x20a9, 0x007f, 0x2009, 0x0000, 0x0016, 0x080c, 0x501b, + 0x1118, 0x6000, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x126d, + 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x12e0, + 0x0006, 0x0016, 0x2001, 0x0103, 0x2009, 0xb88d, 0x210c, 0x2102, + 0x001e, 0x000e, 0x71a8, 0x81ff, 0x11b0, 0xa006, 0x2009, 0x0200, + 0x20a9, 0x0002, 0x20a1, 0xb8df, 0x40a1, 0x2009, 0x0700, 0x20a9, + 0x0002, 0x20a1, 0xb8cf, 0x40a1, 0x7070, 0x8007, 0x7174, 0x810f, + 0x20a9, 0x0002, 0x40a1, 0x20a1, 0xb8d3, 0x2009, 0x0000, 0x080c, + 0x1500, 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x40a1, 0x7030, + 0xc08c, 0x7032, 0x7003, 0x0003, 0x709f, 0xffff, 0x080c, 0x1586, + 0xa006, 0x080c, 0x27f8, 0x080c, 0x3f85, 0x00f6, 0x2079, 0x0100, + 0x080c, 0x5b67, 0x0150, 0x080c, 0x5b41, 0x7828, 0x0118, 0xa084, + 0xe1ff, 0x0010, 0xa084, 0xffdf, 0x782a, 0x00fe, 0x2001, 0xb8e2, + 0x2004, 0xa086, 0x0005, 0x1120, 0x2011, 0x0000, 0x080c, 0x80fc, + 0x2011, 0x0000, 0x080c, 0x8106, 0x080c, 0x71e5, 0x080c, 0x72a2, + 0x012e, 0x0005, 0x0016, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, + 0x2079, 0x0100, 0x2009, 0xb634, 0x2104, 0xa005, 0x1110, 0x080c, + 0x294c, 0x2009, 0x00f7, 0x080c, 0x4c11, 0x7940, 0xa18c, 0x0010, + 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, 0xd19c, 0x0110, + 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, 0xd1ac, 0x1904, + 0x1350, 0x080c, 0x5b53, 0x0158, 0x080c, 0x5b67, 0x1128, 0x2001, + 0xb89e, 0x2003, 0x0000, 0x0070, 0x080c, 0x5b49, 0x0dc0, 0x2001, + 0xb89e, 0x2003, 0xaaaa, 0x2001, 0xb89f, 0x2003, 0x0001, 0x080c, + 0x5a79, 0x0058, 0x080c, 0x5b41, 0x0140, 0x2009, 0x00f8, 0x080c, + 0x4c11, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x09c4, 0x7820, + 0xd09c, 0x1138, 0x080c, 0x5b41, 0x0138, 0x7824, 0xd0ac, 0x1904, + 0x13fa, 0x1f04, 0x132f, 0x0070, 0x7824, 0x080c, 0x5b5d, 0x0118, + 0xd0ac, 0x1904, 0x13fa, 0xa084, 0x1800, 0x0d98, 0x7003, 0x0001, + 0x0804, 0x13fa, 0x2001, 0x0001, 0x080c, 0x27f8, 0x0804, 0x1409, + 0x7850, 0xa084, 0x0180, 0x7852, 0x782f, 0x0020, 0x20a9, 0x0046, + 0x1d04, 0x1358, 0x080c, 0x6ab6, 0x1f04, 0x1358, 0x7850, 0xa084, + 0x0180, 0xa085, 0x0400, 0x7852, 0x782f, 0x0000, 0x080c, 0x5b53, + 0x0158, 0x080c, 0x5b67, 0x1128, 0x2001, 0xb89e, 0x2003, 0x0000, + 0x0070, 0x080c, 0x5b49, 0x0dc0, 0x2001, 0xb89e, 0x2003, 0xaaaa, + 0x2001, 0xb89f, 0x2003, 0x0001, 0x080c, 0x5a79, 0x0020, 0x2009, + 0x00f8, 0x080c, 0x4c11, 0x20a9, 0x000e, 0xe000, 0x1f04, 0x1385, + 0x7850, 0xa084, 0x0180, 0xa085, 0x1400, 0x7852, 0x080c, 0x5b41, + 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, 0x2019, + 0xea60, 0x7820, 0xd09c, 0x1558, 0x080c, 0x5b41, 0x05d8, 0x7824, + 0xd0ac, 0x1904, 0x13fa, 0x080c, 0x5b67, 0x1508, 0x0046, 0x2021, + 0x0190, 0x8421, 0x1df0, 0x004e, 0x8421, 0x11c8, 0x7827, 0x0048, + 0x20a9, 0x01f4, 0x1d04, 0x13b2, 0x080c, 0x6ab6, 0x1f04, 0x13b2, + 0x7824, 0xa084, 0x0068, 0x15c8, 0x2001, 0xb89e, 0x2003, 0xaaaa, + 0x2001, 0xb89f, 0x2003, 0x0001, 0x7003, 0x0001, 0x0498, 0x1d04, + 0x13cb, 0x080c, 0x6ab6, 0x8319, 0x1960, 0x2009, 0xb634, 0x2104, + 0x8000, 0x200a, 0xa084, 0xfff0, 0x0120, 0x200b, 0x0000, 0x080c, + 0x294c, 0x00d8, 0x080c, 0x5b53, 0x1140, 0xa4a2, 0x0064, 0x1128, + 0x080c, 0x5b18, 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0xe000, + 0xe000, 0x7824, 0x080c, 0x5b5d, 0x0110, 0xd0ac, 0x1158, 0xa084, + 0x1800, 0x09a8, 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, + 0x27f8, 0x0048, 0x2001, 0xb634, 0x2003, 0x0000, 0x7827, 0x0048, + 0x7828, 0xc09d, 0x782a, 0x7850, 0xa084, 0x0180, 0xa085, 0x0400, + 0x7852, 0x015e, 0x003e, 0x000e, 0x080c, 0x155d, 0x012e, 0x00fe, + 0x004e, 0x001e, 0x0005, 0x0005, 0x0005, 0x0005, 0x2a70, 0x2061, + 0xb8c2, 0x2063, 0x0002, 0x6007, 0x0002, 0x600b, 0x0008, 0x600f, + 0x0017, 0x2001, 0xb89e, 0x2003, 0x0000, 0x708b, 0x0000, 0x2009, + 0x0100, 0x2104, 0xa082, 0x0002, 0x0218, 0x7053, 0xffff, 0x0010, + 0x7053, 0x0000, 0x705b, 0xffff, 0x7073, 0x0000, 0x7077, 0x0000, + 0x080c, 0xa0c4, 0x2061, 0xb88e, 0x6003, 0x0909, 0x6007, 0x0000, + 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x000f, + 0x601b, 0x0000, 0x601f, 0x07d0, 0x2061, 0xb896, 0x6003, 0x8000, + 0x6007, 0x0000, 0x600b, 0x0000, 0x600f, 0x0200, 0x6013, 0x00ff, + 0x6017, 0x0000, 0x601b, 0x0001, 0x601f, 0x0000, 0x2061, 0xb8b9, + 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, 0x2020, + 0x2001, 0xb628, 0x2003, 0x0000, 0x0005, 0x04a0, 0x2011, 0x0000, + 0x81ff, 0x0570, 0xa186, 0x0001, 0x1148, 0x2031, 0x8fff, 0x2039, + 0xd601, 0x2021, 0x0100, 0x2029, 0xd600, 0x00e8, 0xa186, 0x0002, + 0x1118, 0x2011, 0x0000, 0x00b8, 0xa186, 0x0005, 0x1118, 0x2011, + 0x0001, 0x0088, 0xa186, 0x0009, 0x1118, 0x2011, 0x0002, 0x0058, + 0xa186, 0x000a, 0x1118, 0x2011, 0x0002, 0x0028, 0xa186, 0x0055, + 0x1110, 0x2011, 0x0003, 0x3800, 0xa084, 0xfffc, 0xa205, 0x20c0, + 0x0804, 0x104d, 0xa00e, 0x2011, 0x0003, 0x2019, 0x14a9, 0x0804, + 0x14fa, 0x2019, 0xaaaa, 0x2061, 0xffff, 0x2c14, 0x2362, 0xe000, + 0xe000, 0x2c04, 0xa306, 0x2262, 0x1110, 0xc1b5, 0xc1a5, 0x2011, + 0x0000, 0x2019, 0x14bc, 0x04f0, 0x2019, 0xaaaa, 0x2061, 0xffff, + 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c1c, 0x2061, 0x7fff, 0xe000, + 0xe000, 0x2c04, 0x2061, 0xffff, 0x2262, 0xa306, 0x0110, 0xc18d, + 0x0008, 0xc185, 0x2011, 0x0002, 0x2019, 0x14d7, 0x0418, 0x2061, + 0xffff, 0x2019, 0xaaaa, 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c04, + 0x2262, 0xa306, 0x1180, 0x2c14, 0x2362, 0xe000, 0xe000, 0x2c1c, + 0x2061, 0x7fff, 0x2c04, 0x2061, 0xffff, 0x2262, 0xa306, 0x1110, + 0xc195, 0x0008, 0xc19d, 0x2011, 0x0001, 0x2019, 0x14f8, 0x0010, + 0x0804, 0x146e, 0x3800, 0xa084, 0xfffc, 0xa205, 0x20c0, 0x0837, + 0x2011, 0x0000, 0x080c, 0x501b, 0x1178, 0x6004, 0xa0c4, 0x00ff, + 0xa8c6, 0x0006, 0x0128, 0xa0c4, 0xff00, 0xa8c6, 0x0600, 0x1120, + 0xa186, 0x0080, 0x0108, 0x8210, 0x8108, 0xa186, 0x0100, 0x1d50, + 0x2208, 0x0005, 0x2091, 0x8000, 0x0e04, 0x151c, 0x0006, 0x0016, + 0x2079, 0x0000, 0x7818, 0xd084, 0x1de8, 0x001e, 0x792e, 0x000e, + 0x782a, 0x000e, 0x7826, 0x3900, 0x783a, 0x7823, 0x8002, 0x781b, + 0x0001, 0x2091, 0x5000, 0x0126, 0x0156, 0x0146, 0x20a9, 0x0010, + 0x20a1, 0xba0d, 0x2091, 0x2000, 0x40a1, 0x20a9, 0x0010, 0x2091, + 0x2200, 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2400, 0x40a1, 0x20a9, + 0x0010, 0x2091, 0x2600, 0x40a1, 0x20a9, 0x0010, 0x2091, 0x2800, + 0x40a1, 0x014e, 0x015e, 0x012e, 0x2079, 0xb600, 0x7803, 0x0005, + 0x2091, 0x4080, 0x04c9, 0x0cf8, 0x0005, 0x0006, 0x080c, 0x15a8, + 0x1518, 0x00f6, 0x2079, 0xb624, 0x2f04, 0x8000, 0x207a, 0xa082, + 0x000f, 0x0258, 0xa006, 0x207a, 0x2079, 0xb626, 0x2f04, 0xa084, + 0x0001, 0xa086, 0x0001, 0x207a, 0x0070, 0x2079, 0xb626, 0x2f7c, + 0x8fff, 0x1128, 0x2001, 0x0c03, 0x2003, 0x0040, 0x0020, 0x2001, + 0x0c03, 0x2003, 0x00c0, 0x00fe, 0x000e, 0x0005, 0x0409, 0x1120, + 0x2001, 0x0c03, 0x2003, 0x0080, 0x0005, 0x00d1, 0x1120, 0x2001, + 0x0c03, 0x2003, 0x0040, 0x0005, 0x0006, 0x0091, 0x1178, 0x2001, + 0x0c03, 0x2003, 0x0040, 0x2009, 0x0fff, 0x00a1, 0x2001, 0x0c03, + 0x2003, 0x0080, 0x2009, 0x0fff, 0x0069, 0x0c88, 0x000e, 0x0005, + 0x00c6, 0x2061, 0x0c00, 0x2c04, 0xa084, 0x00ff, 0xa086, 0x00aa, + 0x00ce, 0x0005, 0x0156, 0x0126, 0xa18c, 0x0fff, 0x21a8, 0x1d04, + 0x15b7, 0x2091, 0x6000, 0x1f04, 0x15b7, 0x012e, 0x015e, 0x0005, + 0x2071, 0xb600, 0x7160, 0x712e, 0x2021, 0x0001, 0xa190, 0x0030, + 0xa298, 0x0030, 0x0240, 0x7064, 0xa302, 0x1228, 0x220a, 0x2208, + 0x2310, 0x8420, 0x0ca8, 0x3800, 0xd08c, 0x0148, 0x7064, 0xa086, + 0xb600, 0x0128, 0x7067, 0xb600, 0x2011, 0x1000, 0x0c48, 0x200b, + 0x0000, 0x74b2, 0x74b6, 0x0005, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x2071, 0xb600, 0x70b4, 0xa0ea, 0x0010, 0x0268, 0x8001, 0x70b6, + 0x702c, 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, + 0x012e, 0x00ee, 0x0005, 0xa06e, 0x0cd8, 0x00e6, 0x2071, 0xb600, + 0x0126, 0x2091, 0x8000, 0x70b4, 0x8001, 0x0260, 0x70b6, 0x702c, + 0x2068, 0x2d04, 0x702e, 0x206b, 0x0000, 0x6807, 0x0000, 0x012e, + 0x00ee, 0x0005, 0xa06e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x2071, 0xb600, 0x702c, 0x206a, 0x2d00, 0x702e, 0x70b4, 0x8000, + 0x70b6, 0x012e, 0x00ee, 0x0005, 0x8dff, 0x0138, 0x6804, 0x6807, + 0x0000, 0x0006, 0x0c49, 0x00de, 0x0cb8, 0x0005, 0x00e6, 0x2071, + 0xb600, 0x70b4, 0xa08a, 0x0010, 0xa00d, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0xb913, 0x7007, 0x0000, 0x701b, 0x0000, 0x701f, 0x0000, + 0x2071, 0x0000, 0x7010, 0xa085, 0x8004, 0x7012, 0x00ee, 0x0005, + 0x0126, 0x2091, 0x8000, 0x00e6, 0x2270, 0x700b, 0x0000, 0x2071, + 0xb913, 0x7018, 0xa088, 0xb91c, 0x220a, 0x8000, 0xa084, 0x0007, + 0x701a, 0x7004, 0xa005, 0x1128, 0x00f6, 0x2079, 0x0010, 0x0089, + 0x00fe, 0x00ee, 0x012e, 0x0005, 0x00e6, 0x2071, 0xb913, 0x7004, + 0xa005, 0x1128, 0x00f6, 0x2079, 0x0010, 0x0019, 0x00fe, 0x00ee, + 0x0005, 0x7000, 0x0002, 0x1677, 0x16db, 0x16f8, 0x16f8, 0x7018, + 0x711c, 0xa106, 0x1118, 0x7007, 0x0000, 0x0005, 0x00d6, 0xa180, + 0xb91c, 0x2004, 0x700a, 0x2068, 0x8108, 0xa18c, 0x0007, 0x711e, + 0x7803, 0x0026, 0x6824, 0x7832, 0x6828, 0x7836, 0x682c, 0x783a, + 0x6830, 0x783e, 0x6810, 0x700e, 0x680c, 0x7016, 0x6804, 0x00de, + 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, 0x7007, 0x0002, + 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, 0x0040, 0xa182, + 0x0040, 0x1210, 0x2110, 0xa006, 0x700e, 0x7212, 0x8203, 0x7822, + 0x7803, 0x0020, 0x7803, 0x0041, 0x002e, 0x001e, 0x0005, 0x0016, + 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, 0x2098, 0x20a1, 0x0014, + 0x7803, 0x0026, 0x710c, 0x2011, 0x0040, 0xa182, 0x0040, 0x1210, + 0x2110, 0xa006, 0x700e, 0x22a8, 0x53a6, 0x8203, 0x7822, 0x7803, + 0x0020, 0x3300, 0x7016, 0x7803, 0x0001, 0x015e, 0x014e, 0x013e, + 0x002e, 0x001e, 0x0005, 0x0136, 0x0146, 0x0156, 0x2099, 0xb6fa, + 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, 0x7803, 0x0020, 0x0126, + 0x2091, 0x8000, 0x7803, 0x0041, 0x7007, 0x0003, 0x7000, 0xc084, + 0x7002, 0x700b, 0xb6f5, 0x012e, 0x015e, 0x014e, 0x013e, 0x0005, + 0x0136, 0x0146, 0x0156, 0x2001, 0xb729, 0x209c, 0x20a1, 0x0014, + 0x7803, 0x0026, 0x2001, 0xb72a, 0x20ac, 0x53a6, 0x2099, 0xb72b, + 0x20a1, 0x0018, 0x20a9, 0x0008, 0x53a3, 0x7803, 0x0020, 0x0126, + 0x2091, 0x8000, 0x7803, 0x0001, 0x7007, 0x0004, 0x7000, 0xc08c, + 0x7002, 0x700b, 0xb726, 0x012e, 0x015e, 0x014e, 0x013e, 0x0005, + 0x0016, 0x00e6, 0x2071, 0xb913, 0x00f6, 0x2079, 0x0010, 0x7904, + 0x7803, 0x0002, 0xd1fc, 0x0120, 0xa18c, 0x0700, 0x7004, 0x0023, + 0x00fe, 0x00ee, 0x001e, 0x0005, 0x1671, 0x173b, 0x1769, 0x1793, + 0x17c3, 0x173a, 0x0cf8, 0xa18c, 0x0700, 0x1528, 0x0136, 0x0146, + 0x0156, 0x7014, 0x20a0, 0x2099, 0x0014, 0x7803, 0x0040, 0x7010, + 0x20a8, 0x53a5, 0x3400, 0x7016, 0x015e, 0x014e, 0x013e, 0x700c, + 0xa005, 0x0570, 0x7830, 0x7832, 0x7834, 0x7836, 0x080c, 0x16a2, + 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, 0x0100, 0x7007, 0x0000, + 0x080c, 0x1671, 0x0005, 0x7008, 0xa080, 0x0002, 0x2003, 0x0200, + 0x0ca8, 0xa18c, 0x0700, 0x1150, 0x700c, 0xa005, 0x0188, 0x7830, + 0x7832, 0x7834, 0x7836, 0x080c, 0x16b7, 0x0005, 0x7008, 0xa080, + 0x0002, 0x2003, 0x0200, 0x7007, 0x0000, 0x080c, 0x1671, 0x0005, + 0x00d6, 0x7008, 0x2068, 0x7830, 0x6826, 0x7834, 0x682a, 0x7838, + 0x682e, 0x783c, 0x6832, 0x680b, 0x0100, 0x00de, 0x7007, 0x0000, + 0x080c, 0x1671, 0x0005, 0xa18c, 0x0700, 0x1540, 0x0136, 0x0146, + 0x0156, 0x2001, 0xb6f8, 0x2004, 0xa080, 0x000d, 0x20a0, 0x2099, + 0x0014, 0x7803, 0x0040, 0x20a9, 0x0020, 0x53a5, 0x2001, 0xb6fa, + 0x2004, 0xd0bc, 0x0148, 0x2001, 0xb703, 0x2004, 0xa080, 0x000d, + 0x20a0, 0x20a9, 0x0020, 0x53a5, 0x015e, 0x014e, 0x013e, 0x7007, + 0x0000, 0x080c, 0x5ee1, 0x080c, 0x1671, 0x0005, 0x2011, 0x8003, + 0x080c, 0x3f13, 0x0cf8, 0xa18c, 0x0700, 0x1148, 0x2001, 0xb728, + 0x2003, 0x0100, 0x7007, 0x0000, 0x080c, 0x1671, 0x0005, 0x2011, + 0x8004, 0x080c, 0x3f13, 0x0cf8, 0x0126, 0x2091, 0x2200, 0x2079, + 0x0030, 0x2071, 0xb924, 0x7003, 0x0000, 0x700f, 0xb930, 0x7013, + 0xb930, 0x780f, 0x00f6, 0x7803, 0x0004, 0x012e, 0x0005, 0x6934, + 0xa184, 0x0007, 0x0002, 0x17f3, 0x1831, 0x17f3, 0x17f3, 0x17f3, + 0x1819, 0x1800, 0x17f7, 0xa085, 0x0001, 0x0804, 0x184b, 0x684c, + 0xd0bc, 0x0dc8, 0x6860, 0x682e, 0x685c, 0x682a, 0x6858, 0x04c8, + 0xa18c, 0x00ff, 0xa186, 0x001e, 0x1d70, 0x684c, 0xd0bc, 0x0d58, + 0x6860, 0x682e, 0x685c, 0x682a, 0x6804, 0x681a, 0xa080, 0x000d, + 0x2004, 0xa084, 0x000f, 0xa080, 0x2308, 0x2005, 0x6832, 0x6858, + 0x0440, 0xa18c, 0x00ff, 0xa186, 0x0015, 0x19a8, 0x684c, 0xd0ac, + 0x0990, 0x6804, 0x681a, 0xa080, 0x000d, 0x2004, 0xa084, 0x000f, + 0xa080, 0x2308, 0x2005, 0x6832, 0xa006, 0x682e, 0x682a, 0x6858, + 0x0080, 0x684c, 0xd0ac, 0x0904, 0x17f3, 0xa006, 0x682e, 0x682a, + 0x6858, 0xa18c, 0x000f, 0xa188, 0x2308, 0x210d, 0x6932, 0x2d08, + 0x691a, 0x6826, 0x684c, 0xc0dd, 0x684e, 0xa006, 0x680a, 0x697c, + 0x6912, 0x6980, 0x6916, 0x0005, 0x684c, 0xd0ac, 0x090c, 0x151a, + 0x6833, 0x2305, 0x2d08, 0x691a, 0x6858, 0x8001, 0x6826, 0x684c, + 0xc0dd, 0x684e, 0xa006, 0x680a, 0x682e, 0x682a, 0x697c, 0x6912, + 0x6980, 0x6916, 0x0005, 0x20e1, 0x0007, 0x20e1, 0x2000, 0x2001, + 0x020a, 0x2004, 0x82ff, 0x01e8, 0xa280, 0x0004, 0x00d6, 0x206c, + 0x684c, 0xd0dc, 0x1190, 0xa280, 0x0007, 0x2004, 0xa086, 0x000a, + 0x1110, 0x0891, 0x0010, 0x080c, 0x17e7, 0x0138, 0x00de, 0xa280, + 0x0000, 0x2003, 0x0002, 0xa016, 0x0020, 0x6808, 0x8000, 0x680a, + 0x00de, 0x0126, 0x0046, 0x0036, 0x0026, 0x2091, 0x2200, 0x002e, + 0x003e, 0x004e, 0x7000, 0xa005, 0x01d0, 0x710c, 0x220a, 0x8108, + 0x230a, 0x8108, 0x240a, 0x8108, 0xa182, 0xb94b, 0x0210, 0x2009, + 0xb930, 0x710e, 0x7010, 0xa102, 0xa082, 0x0009, 0x0118, 0xa080, + 0x001b, 0x1118, 0x2009, 0x0138, 0x200a, 0x012e, 0x0005, 0x7206, + 0x2001, 0x18ad, 0x0006, 0x2260, 0x0804, 0x19da, 0x0126, 0x0026, + 0x0036, 0x00c6, 0x0006, 0x2091, 0x2200, 0x000e, 0x004e, 0x003e, + 0x002e, 0x00d6, 0x00c6, 0x2460, 0x6110, 0x2168, 0x6a62, 0x6b5e, + 0xa005, 0x0904, 0x190f, 0x6808, 0xa005, 0x0904, 0x1946, 0x7000, + 0xa005, 0x1108, 0x0488, 0x700c, 0x7110, 0xa106, 0x1904, 0x194e, + 0x7004, 0xa406, 0x1548, 0x2001, 0x0005, 0x2004, 0xd08c, 0x0168, + 0x0046, 0x080c, 0x1b22, 0x004e, 0x2460, 0x6010, 0xa080, 0x0002, + 0x2004, 0xa005, 0x0904, 0x1946, 0x0c10, 0x2001, 0x0207, 0x2004, + 0xd09c, 0x1d48, 0x7804, 0xa084, 0x6000, 0x0120, 0xa086, 0x6000, + 0x0108, 0x0c08, 0x7818, 0x6812, 0x781c, 0x6816, 0x7803, 0x0004, + 0x7003, 0x0000, 0x7004, 0x2060, 0x6100, 0xa18e, 0x0004, 0x1904, + 0x194e, 0x2009, 0x0048, 0x080c, 0x86d3, 0x0804, 0x194e, 0x6808, + 0xa005, 0x05a0, 0x7000, 0xa005, 0x0588, 0x700c, 0x7110, 0xa106, + 0x1118, 0x7004, 0xa406, 0x1550, 0x2001, 0x0005, 0x2004, 0xd08c, + 0x0160, 0x0046, 0x080c, 0x1b22, 0x004e, 0x2460, 0x6010, 0xa080, + 0x0002, 0x2004, 0xa005, 0x01d0, 0x0c28, 0x2001, 0x0207, 0x2004, + 0xd09c, 0x1d50, 0x2001, 0x0005, 0x2004, 0xd08c, 0x1d50, 0x7804, + 0xa084, 0x6000, 0x0118, 0xa086, 0x6000, 0x19f0, 0x7818, 0x6812, + 0x781c, 0x6816, 0x7803, 0x0004, 0x7003, 0x0000, 0x6100, 0xa18e, + 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0x86d3, 0x00ce, 0x00de, + 0x012e, 0x0005, 0x00f6, 0x00e6, 0x0026, 0x0036, 0x0046, 0x0056, + 0x2071, 0xb924, 0x7000, 0xa086, 0x0000, 0x0904, 0x19b8, 0x7004, + 0xac06, 0x1904, 0x19aa, 0x2079, 0x0030, 0x7000, 0xa086, 0x0003, + 0x0904, 0x19aa, 0x7804, 0xd0fc, 0x15c8, 0x20e1, 0x6000, 0x2011, + 0x0032, 0x2001, 0x0208, 0x200c, 0x2001, 0x0209, 0x2004, 0xa106, + 0x1d88, 0x8211, 0x1db0, 0x7804, 0xd0fc, 0x1540, 0x080c, 0x1e8a, + 0x0026, 0x0056, 0x7803, 0x0004, 0x7804, 0xd0ac, 0x1de8, 0x7803, + 0x0002, 0x7803, 0x0009, 0x7003, 0x0003, 0x7007, 0x0000, 0x005e, + 0x002e, 0x2001, 0x015d, 0x2003, 0x0000, 0x080c, 0x5b41, 0x1138, + 0x0066, 0x2031, 0x0001, 0x080c, 0x5bc3, 0x006e, 0x0058, 0x2001, + 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0020, 0x080c, 0x1b22, + 0x0804, 0x195a, 0x0156, 0x20a9, 0x0009, 0x2009, 0xb930, 0x2104, + 0xac06, 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, 0x19af, 0x015e, + 0x005e, 0x004e, 0x003e, 0x002e, 0x00ee, 0x00fe, 0x0005, 0x700c, + 0x7110, 0xa106, 0x0904, 0x1a4e, 0x2104, 0x7006, 0x2060, 0x8108, + 0x211c, 0x8108, 0x2124, 0x8108, 0xa182, 0xb94b, 0x0210, 0x2009, + 0xb930, 0x7112, 0x700c, 0xa106, 0x1128, 0x080c, 0x2920, 0x2001, + 0x0138, 0x2102, 0x8cff, 0x0598, 0x6010, 0x2068, 0x2d58, 0x6828, + 0xa406, 0x1590, 0x682c, 0xa306, 0x1578, 0x7004, 0x2060, 0x6020, + 0xc0d4, 0x6022, 0x684c, 0xd0f4, 0x0128, 0x6817, 0xffff, 0x6813, + 0xffff, 0x00e8, 0x6850, 0xd0f4, 0x1130, 0x7803, 0x0004, 0x6810, + 0x781a, 0x6814, 0x781e, 0x6824, 0x2050, 0x6818, 0x2060, 0x6830, + 0x2040, 0x6034, 0xa0cc, 0x000f, 0x2009, 0x0011, 0x080c, 0x1a51, + 0x0120, 0x2009, 0x0001, 0x080c, 0x1a51, 0x2d58, 0x0005, 0x080c, + 0x1df9, 0x0904, 0x19bf, 0x0cd0, 0x6020, 0xd0f4, 0x11e0, 0xd0d4, + 0x01b8, 0x6038, 0xa402, 0x6034, 0xa303, 0x0108, 0x1288, 0x643a, + 0x6336, 0x6c2a, 0x6b2e, 0x0046, 0x0036, 0x2400, 0x6c7c, 0xa402, + 0x6812, 0x2300, 0x6b80, 0xa303, 0x6816, 0x003e, 0x004e, 0x0018, + 0x080c, 0xa056, 0x09e0, 0x601c, 0xa08e, 0x0008, 0x0904, 0x19e5, + 0xa08e, 0x000a, 0x0904, 0x19e5, 0x2001, 0xb674, 0x2004, 0xd0b4, + 0x1140, 0x6018, 0x2004, 0xd0bc, 0x1120, 0x6817, 0x7fff, 0x6813, + 0xffff, 0x080c, 0x2328, 0x1918, 0x0804, 0x19e5, 0x7003, 0x0000, + 0x0005, 0x8aff, 0x0904, 0x1afc, 0xa03e, 0x2730, 0xc9fc, 0x6850, + 0xd0fc, 0x11b8, 0xd0f4, 0x1588, 0x00d6, 0x2805, 0xac68, 0x2900, + 0x0002, 0x1aba, 0x1a93, 0x1a93, 0x1aba, 0x1aba, 0x1ab2, 0x1aba, + 0x1a93, 0x1aba, 0x1a9b, 0x1a9b, 0x1aba, 0x1aba, 0x1aba, 0x1aaa, + 0x1a9b, 0x7803, 0x0004, 0xc0fc, 0x6852, 0x6b6c, 0x6a70, 0x6d1c, + 0x6c20, 0x00d6, 0xd99c, 0x0140, 0x2805, 0xac68, 0x6f08, 0x6e0c, + 0x080c, 0x23ed, 0x0120, 0x04d0, 0x080c, 0x23ed, 0x15b0, 0x6850, + 0xc0fd, 0x6852, 0x00de, 0xa006, 0x0005, 0xc0f4, 0x6852, 0x6b6c, + 0x6a70, 0x00d6, 0x04c0, 0x6b08, 0x6a0c, 0x6d00, 0x6c04, 0x080c, + 0x23ed, 0x0d80, 0x0410, 0x6b10, 0x6a14, 0x6d00, 0x6c04, 0x6f08, + 0x6e0c, 0x080c, 0x23ed, 0x0d30, 0x00c8, 0x6d00, 0x6c04, 0x6f08, + 0x6e0c, 0x00a0, 0x00de, 0x00d6, 0x6834, 0xa084, 0x00ff, 0xa086, + 0x001e, 0x1140, 0x00de, 0x080c, 0x22ca, 0x1904, 0x1a51, 0xa00e, + 0x0804, 0x1afc, 0x00de, 0x080c, 0x151a, 0xc9fd, 0x7b22, 0x7a26, + 0x7d32, 0x7c36, 0x7f3a, 0x7e3e, 0x7316, 0x721a, 0x751e, 0x7422, + 0x7726, 0x762a, 0x7902, 0x7100, 0x8108, 0x7102, 0x00de, 0x6828, + 0xa300, 0x682a, 0x682c, 0xa201, 0x682e, 0x8109, 0x2d08, 0x1500, + 0xd9fc, 0x0160, 0xc9fc, 0x080c, 0x22ca, 0x01e8, 0x2805, 0xac68, + 0x6800, 0xa506, 0x11c0, 0x6804, 0xa406, 0x00a8, 0xc9fc, 0x080c, + 0x22ca, 0x0188, 0x2805, 0xac68, 0x6800, 0xa506, 0x1160, 0x6804, + 0xa406, 0x1148, 0x6808, 0xa706, 0x1130, 0x680c, 0xa606, 0x0018, + 0xc9fc, 0x080c, 0x22ca, 0x2168, 0x0005, 0x080c, 0x151a, 0x080c, + 0x1f71, 0x7004, 0x2060, 0x00d6, 0x6010, 0x2068, 0x7003, 0x0000, + 0x080c, 0x1e1a, 0x080c, 0x9d16, 0x0170, 0x6808, 0x8001, 0x680a, + 0x697c, 0x6912, 0x6980, 0x6916, 0x682b, 0xffff, 0x682f, 0xffff, + 0x6850, 0xc0bd, 0x6852, 0x00de, 0x080c, 0x99e6, 0x0804, 0x1d47, + 0x080c, 0x151a, 0x0126, 0x2091, 0x2200, 0x0006, 0x0016, 0x2b68, + 0x6818, 0x2060, 0x7904, 0x7803, 0x0002, 0xa184, 0x0700, 0x1978, + 0xa184, 0x0003, 0xa086, 0x0003, 0x0d58, 0x7000, 0x0002, 0x1b3f, + 0x1b45, 0x1c56, 0x1d22, 0x1d36, 0x1b3f, 0x1b3f, 0x1b3f, 0x7804, + 0xd09c, 0x1904, 0x1d47, 0x080c, 0x151a, 0x8001, 0x7002, 0xd1bc, + 0x11a0, 0xd19c, 0x1904, 0x1bda, 0xd1dc, 0x1178, 0x8aff, 0x0904, + 0x1bda, 0x2009, 0x0001, 0x080c, 0x1a51, 0x0904, 0x1d47, 0x2009, + 0x0001, 0x080c, 0x1a51, 0x0804, 0x1d47, 0x7803, 0x0004, 0x7003, + 0x0000, 0xd1bc, 0x1904, 0x1bba, 0x0026, 0x0036, 0x7c20, 0x7d24, + 0x7e30, 0x7f34, 0x7818, 0x6812, 0x781c, 0x6816, 0x2001, 0x0201, + 0x2004, 0xa005, 0x0140, 0x7808, 0xd0ec, 0x1128, 0x7803, 0x0009, + 0x7003, 0x0004, 0x0010, 0x080c, 0x1d4b, 0x6b28, 0x6a2c, 0x2400, + 0x686e, 0xa31a, 0x2500, 0x6872, 0xa213, 0x6b2a, 0x6a2e, 0x00c6, + 0x7004, 0x2060, 0x6020, 0xd0f4, 0x1110, 0x633a, 0x6236, 0x00ce, + 0x003e, 0x002e, 0x6e1e, 0x6f22, 0x2500, 0xa405, 0x0128, 0x080c, + 0x22e0, 0x6850, 0xc0fd, 0x6852, 0x2a00, 0x6826, 0x2c00, 0x681a, + 0x2800, 0x6832, 0x6808, 0x8001, 0x680a, 0x1148, 0x684c, 0xd0e4, + 0x0130, 0x7004, 0x2060, 0x2009, 0x0048, 0x080c, 0x86d3, 0x7000, + 0xa086, 0x0004, 0x0904, 0x1d47, 0x7003, 0x0000, 0x080c, 0x19bf, + 0x0804, 0x1d47, 0x0056, 0x7d0c, 0xd5bc, 0x1110, 0x080c, 0xb4c3, + 0x005e, 0x080c, 0x1e1a, 0x00f6, 0x7004, 0x2078, 0x080c, 0x5377, + 0x0118, 0x7820, 0xc0f5, 0x7822, 0x00fe, 0x682b, 0xffff, 0x682f, + 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, 0x791a, 0x6980, 0x791e, + 0x0804, 0x1d47, 0x7004, 0x00c6, 0x2060, 0x6020, 0x00ce, 0xd0f4, + 0x0120, 0x6808, 0x8001, 0x680a, 0x04c0, 0x7818, 0x6812, 0x7a1c, 0x6a16, 0xd19c, 0x0160, 0xa205, 0x0150, 0x7004, 0xa080, 0x0007, - 0x2004, 0xa084, 0xfffd, 0xa086, 0x0008, 0x1904, 0x1b13, 0x684c, + 0x2004, 0xa084, 0xfffd, 0xa086, 0x0008, 0x1904, 0x1b5d, 0x684c, 0xc0f5, 0x684e, 0x7814, 0xa005, 0x1520, 0x7003, 0x0000, 0x6808, 0x8001, 0x680a, 0x01a0, 0x7004, 0x2060, 0x601c, 0xa086, 0x000a, - 0x11a0, 0x0156, 0x20a9, 0x0009, 0x2009, 0xaa2e, 0x2104, 0xac06, - 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, 0x1ba6, 0x015e, 0x7004, - 0x2060, 0x2009, 0x0048, 0x080c, 0x8101, 0x080c, 0x19b9, 0x0804, - 0x1cd5, 0x7818, 0x6812, 0x781c, 0x6816, 0x7814, 0x7908, 0xa18c, - 0x0fff, 0xa192, 0x0841, 0x1a04, 0x1ab5, 0xa188, 0x0007, 0x8114, + 0x11a0, 0x0156, 0x20a9, 0x0009, 0x2009, 0xb930, 0x2104, 0xac06, + 0x1108, 0x200a, 0xa188, 0x0003, 0x1f04, 0x1c0e, 0x015e, 0x7004, + 0x2060, 0x2009, 0x0048, 0x080c, 0x86d3, 0x080c, 0x19bf, 0x0804, + 0x1d47, 0x7818, 0x6812, 0x781c, 0x6816, 0x7814, 0x7908, 0xa18c, + 0x0fff, 0xa192, 0x0841, 0x1a04, 0x1aff, 0xa188, 0x0007, 0x8114, 0x8214, 0x8214, 0xa10a, 0x8104, 0x8004, 0x8004, 0xa20a, 0x810b, - 0x810b, 0x810b, 0x080c, 0x1e3f, 0x7803, 0x0004, 0x780f, 0xffff, + 0x810b, 0x810b, 0x080c, 0x1eb5, 0x7803, 0x0004, 0x780f, 0xffff, 0x7803, 0x0001, 0x7804, 0xd0fc, 0x0de8, 0x7803, 0x0002, 0x7803, 0x0004, 0x780f, 0x00f6, 0x7004, 0x7007, 0x0000, 0x2060, 0x2009, - 0x0048, 0x080c, 0x8101, 0x080c, 0x1e95, 0x0838, 0x8001, 0x7002, - 0xd194, 0x01b0, 0x7804, 0xd0fc, 0x1904, 0x1c80, 0xd09c, 0x0138, - 0x7804, 0xd0fc, 0x1904, 0x1c80, 0xd09c, 0x1904, 0x1c84, 0x8aff, - 0x0904, 0x1cd5, 0x2009, 0x0001, 0x080c, 0x1a1e, 0x0804, 0x1cd5, - 0xa184, 0x0888, 0x1148, 0x8aff, 0x0904, 0x1cd5, 0x2009, 0x0001, - 0x080c, 0x1a1e, 0x0804, 0x1cd5, 0x7818, 0x6812, 0x7a1c, 0x6a16, - 0xa205, 0x0904, 0x1b8f, 0x7803, 0x0004, 0x7003, 0x0000, 0xd1bc, - 0x1904, 0x1c6c, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0029, 0x1118, - 0xd19c, 0x1904, 0x1b8f, 0x0026, 0x0036, 0x7c20, 0x7d24, 0x7e30, + 0x0048, 0x080c, 0x86d3, 0x080c, 0x1f0b, 0x0838, 0x8001, 0x7002, + 0xd194, 0x01b0, 0x7804, 0xd0fc, 0x1904, 0x1cf2, 0xd09c, 0x0138, + 0x7804, 0xd0fc, 0x1904, 0x1cf2, 0xd09c, 0x1904, 0x1cf6, 0x8aff, + 0x0904, 0x1d47, 0x2009, 0x0001, 0x080c, 0x1a51, 0x0804, 0x1d47, + 0xa184, 0x0888, 0x1148, 0x8aff, 0x0904, 0x1d47, 0x2009, 0x0001, + 0x080c, 0x1a51, 0x0804, 0x1d47, 0x7818, 0x6812, 0x7a1c, 0x6a16, + 0xa205, 0x0904, 0x1bf7, 0x7803, 0x0004, 0x7003, 0x0000, 0xd1bc, + 0x1904, 0x1cd4, 0x6834, 0xa084, 0x00ff, 0xa086, 0x0029, 0x1118, + 0xd19c, 0x1904, 0x1bf7, 0x0026, 0x0036, 0x7c20, 0x7d24, 0x7e30, 0x7f34, 0x7818, 0x6812, 0x781c, 0x6816, 0x2001, 0x0201, 0x2004, 0xa005, 0x0140, 0x7808, 0xd0ec, 0x1128, 0x7803, 0x0009, 0x7003, - 0x0004, 0x0020, 0x0016, 0x080c, 0x1cd9, 0x001e, 0x6b28, 0x6a2c, - 0x080c, 0x223b, 0x00d6, 0x2805, 0xac68, 0x6034, 0xd09c, 0x1128, + 0x0004, 0x0020, 0x0016, 0x080c, 0x1d4b, 0x001e, 0x6b28, 0x6a2c, + 0x080c, 0x22e0, 0x00d6, 0x2805, 0xac68, 0x6034, 0xd09c, 0x1128, 0x6808, 0xa31a, 0x680c, 0xa213, 0x0020, 0x6810, 0xa31a, 0x6814, - 0xa213, 0x00de, 0xd194, 0x0904, 0x1b35, 0x2a00, 0x6826, 0x2c00, + 0xa213, 0x00de, 0xd194, 0x0904, 0x1b7f, 0x2a00, 0x6826, 0x2c00, 0x681a, 0x2800, 0x6832, 0x6808, 0x8001, 0x680a, 0x6b2a, 0x6a2e, - 0x003e, 0x002e, 0x0804, 0x1bb5, 0x0056, 0x7d0c, 0x080c, 0xa667, - 0x005e, 0x080c, 0x1da4, 0x682b, 0xffff, 0x682f, 0xffff, 0x6808, - 0x8001, 0x680a, 0x697c, 0x791a, 0x6980, 0x791e, 0x0804, 0x1cd5, - 0x7804, 0xd09c, 0x0904, 0x1ae0, 0x7c20, 0x7824, 0xa405, 0x1904, - 0x1ae0, 0x7818, 0x6812, 0x7c1c, 0x6c16, 0xa405, 0x1120, 0x7803, - 0x0002, 0x0804, 0x1b8f, 0x751c, 0x7420, 0x7724, 0x7628, 0x7014, - 0xa528, 0x7018, 0xa421, 0xa7b9, 0x0000, 0xa6b1, 0x0000, 0x7830, - 0xa506, 0x1150, 0x7834, 0xa406, 0x1138, 0x7838, 0xa706, 0x1120, - 0x783c, 0xa606, 0x0904, 0x1ae0, 0x7803, 0x0002, 0x0804, 0x1c1b, - 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0xa00d, 0x0150, 0x6808, - 0x8001, 0x680a, 0x1130, 0x7004, 0x2060, 0x2009, 0x0048, 0x080c, - 0x8101, 0x080c, 0x19b9, 0x0088, 0x7803, 0x0004, 0x7003, 0x0000, - 0x7004, 0x2060, 0x6010, 0xa005, 0x0da0, 0x2068, 0x6808, 0x8000, - 0x680a, 0x6c28, 0x6b2c, 0x080c, 0x19d4, 0x001e, 0x000e, 0x012e, - 0x0005, 0x700c, 0x7110, 0xa106, 0x0904, 0x1d77, 0x7004, 0x0016, - 0x210c, 0xa106, 0x001e, 0x0904, 0x1d77, 0x00d6, 0x00c6, 0x216c, - 0x2d00, 0xa005, 0x0904, 0x1d75, 0x681c, 0xa086, 0x0008, 0x0904, - 0x1d75, 0x6810, 0x2068, 0x6850, 0xd0fc, 0x05a8, 0x8108, 0x2104, - 0x6b2c, 0xa306, 0x1904, 0x1d75, 0x8108, 0x2104, 0x6a28, 0xa206, - 0x1904, 0x1d75, 0x6850, 0xc0fc, 0xc0f5, 0x6852, 0x686c, 0x7822, - 0x7016, 0x6870, 0x7826, 0x701a, 0x681c, 0x7832, 0x701e, 0x6820, - 0x7836, 0x7022, 0x6818, 0x2060, 0x6034, 0xd09c, 0x0168, 0x6830, - 0x2005, 0x00d6, 0xac68, 0x6808, 0x783a, 0x7026, 0x680c, 0x783e, - 0x702a, 0x00de, 0x0804, 0x1d6f, 0xa006, 0x783a, 0x783e, 0x7026, - 0x702a, 0x0804, 0x1d6f, 0x8108, 0x2104, 0xa005, 0x1904, 0x1d75, - 0x6b2c, 0xa306, 0x1904, 0x1d75, 0x8108, 0x2104, 0xa005, 0x15e8, - 0x6a28, 0xa206, 0x15d0, 0x6850, 0xc0f5, 0x6852, 0x6830, 0x2005, - 0x6918, 0xa160, 0xa180, 0x000d, 0x2004, 0xd09c, 0x11a0, 0x6008, - 0x7822, 0x7016, 0x686e, 0x600c, 0x7826, 0x701a, 0x6872, 0x6000, - 0x7832, 0x701e, 0x6004, 0x7836, 0x7022, 0xa006, 0x783a, 0x783e, - 0x7026, 0x702a, 0x00a0, 0x6010, 0x7822, 0x7016, 0x686e, 0x6014, - 0x7826, 0x701a, 0x6872, 0x6000, 0x7832, 0x701e, 0x6004, 0x7836, - 0x7022, 0x6008, 0x783a, 0x7026, 0x600c, 0x783e, 0x702a, 0x6810, - 0x781a, 0x6814, 0x781e, 0x7803, 0x0011, 0x00ce, 0x00de, 0x0005, - 0x2011, 0x0201, 0x2009, 0x003c, 0x2204, 0xa005, 0x1118, 0x8109, - 0x1dd8, 0x0005, 0x0005, 0x0ca1, 0x0118, 0x780c, 0xd0a4, 0x0120, - 0x00d9, 0xa085, 0x0001, 0x0010, 0x080c, 0x1e95, 0x0005, 0x0126, - 0x2091, 0x2200, 0x7000, 0xa086, 0x0003, 0x1160, 0x700c, 0x7110, - 0xa106, 0x0140, 0x080c, 0x28c0, 0x20e1, 0x9028, 0x700f, 0xaa2e, - 0x7013, 0xaa2e, 0x012e, 0x0005, 0x00c6, 0x080c, 0x59c3, 0x11b8, - 0x2001, 0x0160, 0x2003, 0x0000, 0x2001, 0x0138, 0x2003, 0x0000, - 0x2011, 0x00c8, 0xe000, 0xe000, 0x8211, 0x1de0, 0x04b1, 0x0066, - 0x2031, 0x0000, 0x080c, 0x5a45, 0x006e, 0x00ce, 0x0005, 0x080c, - 0x1e14, 0x080c, 0x28c0, 0x20e1, 0x9028, 0x700c, 0x7110, 0xa106, - 0x01c0, 0x2104, 0xa005, 0x0130, 0x2060, 0x6010, 0x2060, 0x6008, - 0x8001, 0x600a, 0xa188, 0x0003, 0xa182, 0xaa49, 0x0210, 0x2009, - 0xaa2e, 0x7112, 0x700c, 0xa106, 0x1d40, 0x080c, 0x284f, 0x2110, - 0x0c20, 0x2001, 0x015d, 0x2003, 0x0000, 0x2001, 0x0160, 0x2502, - 0x2001, 0x0138, 0x2202, 0x00ce, 0x0005, 0x080c, 0x28c0, 0x20e1, - 0x9028, 0x2001, 0x015d, 0x2003, 0x0000, 0x00e6, 0x00c6, 0x0016, - 0x2071, 0xaa22, 0x700c, 0x7110, 0xa106, 0x0190, 0x2104, 0xa005, - 0x0130, 0x2060, 0x6010, 0x2060, 0x6008, 0x8001, 0x600a, 0xa188, - 0x0003, 0xa182, 0xaa49, 0x0210, 0x2009, 0xaa2e, 0x7112, 0x0c50, - 0x001e, 0x00ce, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, - 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x59c3, - 0x1148, 0x2021, 0x0002, 0x1d04, 0x1e23, 0x2091, 0x6000, 0x8421, - 0x1dd0, 0x0005, 0x2021, 0xb015, 0x2001, 0x0141, 0x201c, 0xd3dc, - 0x1168, 0x2001, 0x0109, 0x201c, 0xa39c, 0x0048, 0x1138, 0x2001, - 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x0005, 0x00e6, - 0x2071, 0x0200, 0x7808, 0xa084, 0xf000, 0xa10d, 0x0869, 0x2001, - 0x0105, 0x2004, 0xa084, 0x0003, 0x1130, 0x2001, 0xaa49, 0x2004, - 0xa086, 0x0000, 0x0548, 0xa026, 0x2019, 0xf000, 0x8319, 0x1148, - 0x2001, 0x012b, 0x2003, 0x95f5, 0x2001, 0x0129, 0x2003, 0x95f5, - 0x00d8, 0x2001, 0x0105, 0x2004, 0xa084, 0x0003, 0x1130, 0x2001, - 0xaa49, 0x2004, 0xa086, 0x0000, 0x0178, 0x2001, 0x0132, 0x2004, - 0xa436, 0x0110, 0x2020, 0x0c00, 0x2001, 0x0021, 0x2004, 0xd0fc, - 0x09e8, 0x080c, 0x20c8, 0x08c0, 0x20e1, 0x7000, 0x7324, 0x7420, - 0x7028, 0x7028, 0x7426, 0x7037, 0x0001, 0x810f, 0x712e, 0x702f, - 0x0100, 0x7037, 0x0008, 0x7326, 0x7422, 0x2001, 0x0160, 0x2502, - 0x2001, 0x0138, 0x2202, 0x00ee, 0x0005, 0x0026, 0x2001, 0x015d, - 0x2003, 0x0000, 0x7908, 0xa18c, 0x0fff, 0xa182, 0x0ffd, 0x0210, - 0x2009, 0x0000, 0xa190, 0x0007, 0xa294, 0x1ff8, 0x8214, 0x8214, - 0x8214, 0x2001, 0x020a, 0x82ff, 0x0140, 0x20e1, 0x6000, 0x200c, - 0x200c, 0x200c, 0x200c, 0x8211, 0x1dd0, 0x20e1, 0x7000, 0x200c, - 0x200c, 0x7003, 0x0000, 0x20e1, 0x6000, 0x2001, 0x0208, 0x200c, - 0x2001, 0x0209, 0x2004, 0xa106, 0x0158, 0x080c, 0x1d78, 0x0130, - 0x7908, 0xd1ec, 0x1128, 0x790c, 0xd1a4, 0x0960, 0x080c, 0x1da4, - 0xa006, 0x002e, 0x0005, 0x7803, 0x0004, 0x2009, 0x0064, 0x7804, - 0xd0ac, 0x0904, 0x1f1f, 0x8109, 0x1dd0, 0x2009, 0x0100, 0x210c, - 0xa18a, 0x0003, 0x0a0c, 0x1515, 0x080c, 0x21cf, 0x00e6, 0x00f6, - 0x2071, 0xaa11, 0x2079, 0x0010, 0x7004, 0xa086, 0x0000, 0x0538, - 0x7800, 0x0006, 0x7820, 0x0006, 0x7830, 0x0006, 0x7834, 0x0006, - 0x7838, 0x0006, 0x783c, 0x0006, 0x7803, 0x0004, 0xe000, 0xe000, - 0x2079, 0x0030, 0x7804, 0xd0ac, 0x190c, 0x1515, 0x2079, 0x0010, - 0x000e, 0x783e, 0x000e, 0x783a, 0x000e, 0x7836, 0x000e, 0x7832, - 0x000e, 0x7822, 0x000e, 0x7802, 0x00fe, 0x00ee, 0x0030, 0x00fe, - 0x00ee, 0x7804, 0xd0ac, 0x190c, 0x1515, 0x080c, 0x6fbb, 0x0005, - 0x00e6, 0x2071, 0xaa49, 0x7003, 0x0000, 0x00ee, 0x0005, 0x00d6, - 0xa280, 0x0004, 0x206c, 0x694c, 0xd1dc, 0x1904, 0x1f9d, 0x6934, - 0xa184, 0x0007, 0x0002, 0x1f3b, 0x1f88, 0x1f3b, 0x1f3b, 0x1f3b, - 0x1f6f, 0x1f4e, 0x1f3d, 0x080c, 0x1515, 0x684c, 0xd0b4, 0x0904, - 0x2085, 0x6860, 0x682e, 0x6816, 0x685c, 0x682a, 0x6812, 0x687c, - 0x680a, 0x6880, 0x680e, 0x6958, 0x0804, 0x1f90, 0x6834, 0xa084, - 0x00ff, 0xa086, 0x001e, 0x1d38, 0x684c, 0xd0b4, 0x0904, 0x2085, - 0x6860, 0x682e, 0x6816, 0x685c, 0x682a, 0x6812, 0x687c, 0x680a, - 0x6880, 0x680e, 0x6804, 0x681a, 0xa080, 0x000d, 0x2004, 0xa084, - 0x000f, 0xa080, 0x2263, 0x2005, 0x6832, 0x6958, 0x0450, 0xa18c, - 0x00ff, 0xa186, 0x0015, 0x1548, 0x684c, 0xd0b4, 0x0904, 0x2085, + 0x003e, 0x002e, 0x0804, 0x1c1d, 0x0056, 0x7d0c, 0x080c, 0xb4c3, + 0x005e, 0x080c, 0x1e1a, 0x00f6, 0x7004, 0x2078, 0x080c, 0x5377, + 0x0118, 0x7820, 0xc0f5, 0x7822, 0x00fe, 0x682b, 0xffff, 0x682f, + 0xffff, 0x6808, 0x8001, 0x680a, 0x697c, 0x791a, 0x6980, 0x791e, + 0x0804, 0x1d47, 0x7804, 0xd09c, 0x0904, 0x1b2a, 0x7c20, 0x7824, + 0xa405, 0x1904, 0x1b2a, 0x7818, 0x6812, 0x7c1c, 0x6c16, 0xa405, + 0x1120, 0x7803, 0x0002, 0x0804, 0x1bf7, 0x751c, 0x7420, 0x7724, + 0x7628, 0x7014, 0xa528, 0x7018, 0xa421, 0xa7b9, 0x0000, 0xa6b1, + 0x0000, 0x7830, 0xa506, 0x1150, 0x7834, 0xa406, 0x1138, 0x7838, + 0xa706, 0x1120, 0x783c, 0xa606, 0x0904, 0x1b2a, 0x7803, 0x0002, + 0x0804, 0x1c83, 0x7803, 0x0004, 0x7003, 0x0000, 0x7004, 0xa00d, + 0x0150, 0x6808, 0x8001, 0x680a, 0x1130, 0x7004, 0x2060, 0x2009, + 0x0048, 0x080c, 0x86d3, 0x080c, 0x19bf, 0x0088, 0x7803, 0x0004, + 0x7003, 0x0000, 0x7004, 0x2060, 0x6010, 0xa005, 0x0da0, 0x2068, + 0x6808, 0x8000, 0x680a, 0x6c28, 0x6b2c, 0x080c, 0x19da, 0x001e, + 0x000e, 0x012e, 0x0005, 0x700c, 0x7110, 0xa106, 0x0904, 0x1ded, + 0x7004, 0x0016, 0x210c, 0xa106, 0x001e, 0x0904, 0x1ded, 0x00d6, + 0x00c6, 0x216c, 0x2d00, 0xa005, 0x0904, 0x1deb, 0x681c, 0xa086, + 0x0008, 0x0904, 0x1deb, 0x6820, 0xd0d4, 0x1904, 0x1deb, 0x6810, + 0x2068, 0x6850, 0xd0fc, 0x05a8, 0x8108, 0x2104, 0x6b2c, 0xa306, + 0x1904, 0x1deb, 0x8108, 0x2104, 0x6a28, 0xa206, 0x1904, 0x1deb, + 0x6850, 0xc0fc, 0xc0f5, 0x6852, 0x686c, 0x7822, 0x7016, 0x6870, + 0x7826, 0x701a, 0x681c, 0x7832, 0x701e, 0x6820, 0x7836, 0x7022, + 0x6818, 0x2060, 0x6034, 0xd09c, 0x0168, 0x6830, 0x2005, 0x00d6, + 0xac68, 0x6808, 0x783a, 0x7026, 0x680c, 0x783e, 0x702a, 0x00de, + 0x0804, 0x1de5, 0xa006, 0x783a, 0x783e, 0x7026, 0x702a, 0x0804, + 0x1de5, 0x8108, 0x2104, 0xa005, 0x1904, 0x1deb, 0x6b2c, 0xa306, + 0x1904, 0x1deb, 0x8108, 0x2104, 0xa005, 0x15e8, 0x6a28, 0xa206, + 0x15d0, 0x6850, 0xc0f5, 0x6852, 0x6830, 0x2005, 0x6918, 0xa160, + 0xa180, 0x000d, 0x2004, 0xd09c, 0x11a0, 0x6008, 0x7822, 0x7016, + 0x686e, 0x600c, 0x7826, 0x701a, 0x6872, 0x6000, 0x7832, 0x701e, + 0x6004, 0x7836, 0x7022, 0xa006, 0x783a, 0x783e, 0x7026, 0x702a, + 0x00a0, 0x6010, 0x7822, 0x7016, 0x686e, 0x6014, 0x7826, 0x701a, + 0x6872, 0x6000, 0x7832, 0x701e, 0x6004, 0x7836, 0x7022, 0x6008, + 0x783a, 0x7026, 0x600c, 0x783e, 0x702a, 0x6810, 0x781a, 0x6814, + 0x781e, 0x7803, 0x0011, 0x00ce, 0x00de, 0x0005, 0x2011, 0x0201, + 0x2009, 0x003c, 0x2204, 0xa005, 0x1118, 0x8109, 0x1dd8, 0x0005, + 0x0005, 0x0ca1, 0x0118, 0x780c, 0xd0a4, 0x0120, 0x00d9, 0xa085, + 0x0001, 0x0010, 0x080c, 0x1f0b, 0x0005, 0x0126, 0x2091, 0x2200, + 0x7000, 0xa086, 0x0003, 0x1160, 0x700c, 0x7110, 0xa106, 0x0140, + 0x080c, 0x2991, 0x20e1, 0x9028, 0x700f, 0xb930, 0x7013, 0xb930, + 0x012e, 0x0005, 0x00c6, 0x080c, 0x5b41, 0x11b8, 0x2001, 0x0160, + 0x2003, 0x0000, 0x2001, 0x0138, 0x2003, 0x0000, 0x2011, 0x00c8, + 0xe000, 0xe000, 0x8211, 0x1de0, 0x04b1, 0x0066, 0x2031, 0x0000, + 0x080c, 0x5bc3, 0x006e, 0x00ce, 0x0005, 0x080c, 0x1e8a, 0x080c, + 0x2991, 0x20e1, 0x9028, 0x700c, 0x7110, 0xa106, 0x01c0, 0x2104, + 0xa005, 0x0130, 0x2060, 0x6010, 0x2060, 0x6008, 0x8001, 0x600a, + 0xa188, 0x0003, 0xa182, 0xb94b, 0x0210, 0x2009, 0xb930, 0x7112, + 0x700c, 0xa106, 0x1d40, 0x080c, 0x2920, 0x2110, 0x0c20, 0x2001, + 0x015d, 0x2003, 0x0000, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, + 0x2202, 0x00ce, 0x0005, 0x080c, 0x2991, 0x20e1, 0x9028, 0x2001, + 0x015d, 0x2003, 0x0000, 0x00e6, 0x00c6, 0x0016, 0x2071, 0xb924, + 0x700c, 0x7110, 0xa106, 0x0190, 0x2104, 0xa005, 0x0130, 0x2060, + 0x6010, 0x2060, 0x6008, 0x8001, 0x600a, 0xa188, 0x0003, 0xa182, + 0xb94b, 0x0210, 0x2009, 0xb930, 0x7112, 0x0c50, 0x001e, 0x00ce, + 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, 0x0000, 0x2001, + 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x5b41, 0x1148, 0x2021, + 0x0002, 0x1d04, 0x1e99, 0x2091, 0x6000, 0x8421, 0x1dd0, 0x0005, + 0x2021, 0xb015, 0x2001, 0x0141, 0x201c, 0xd3dc, 0x1168, 0x2001, + 0x0109, 0x201c, 0xa39c, 0x0048, 0x1138, 0x2001, 0x0111, 0x201c, + 0x83ff, 0x1110, 0x8421, 0x1d70, 0x0005, 0x00e6, 0x2071, 0x0200, + 0x7808, 0xa084, 0xf000, 0xa10d, 0x0869, 0x2001, 0x0105, 0x2004, + 0xa084, 0x0003, 0x1130, 0x2001, 0xb94b, 0x2004, 0xa086, 0x0000, + 0x0548, 0xa026, 0x2019, 0xf000, 0x8319, 0x1148, 0x2001, 0x012b, + 0x2003, 0x95f5, 0x2001, 0x0129, 0x2003, 0x95f5, 0x00d8, 0x2001, + 0x0105, 0x2004, 0xa084, 0x0003, 0x1130, 0x2001, 0xb94b, 0x2004, + 0xa086, 0x0000, 0x0178, 0x2001, 0x0132, 0x2004, 0xa436, 0x0110, + 0x2020, 0x0c00, 0x2001, 0x0021, 0x2004, 0xd0fc, 0x09e8, 0x080c, + 0x216d, 0x08c0, 0x20e1, 0x7000, 0x7324, 0x7420, 0x7028, 0x7028, + 0x7426, 0x7037, 0x0001, 0x810f, 0x712e, 0x702f, 0x0100, 0x7037, + 0x0008, 0x7326, 0x7422, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, + 0x2202, 0x00ee, 0x0005, 0x0026, 0x2001, 0x015d, 0x2003, 0x0000, + 0x7908, 0xa18c, 0x0fff, 0xa182, 0x0ffd, 0x0210, 0x2009, 0x0000, + 0xa190, 0x0007, 0xa294, 0x1ff8, 0x8214, 0x8214, 0x8214, 0x2001, + 0x020a, 0x82ff, 0x0140, 0x20e1, 0x6000, 0x200c, 0x200c, 0x200c, + 0x200c, 0x8211, 0x1dd0, 0x20e1, 0x7000, 0x200c, 0x200c, 0x7003, + 0x0000, 0x20e1, 0x6000, 0x2001, 0x0208, 0x200c, 0x2001, 0x0209, + 0x2004, 0xa106, 0x0158, 0x080c, 0x1dee, 0x0130, 0x7908, 0xd1ec, + 0x1128, 0x790c, 0xd1a4, 0x0960, 0x080c, 0x1e1a, 0xa006, 0x002e, + 0x0005, 0x00f6, 0x00e6, 0x0016, 0x0026, 0x2071, 0xb924, 0x2079, + 0x0030, 0x2011, 0x0050, 0x7000, 0xa086, 0x0000, 0x01a8, 0x8211, + 0x0188, 0x2001, 0x0005, 0x2004, 0xd08c, 0x0dc8, 0x7904, 0xa18c, + 0x0780, 0x0016, 0x080c, 0x1b22, 0x001e, 0x81ff, 0x1118, 0x2011, + 0x0050, 0x0c48, 0xa085, 0x0001, 0x002e, 0x001e, 0x00ee, 0x00fe, + 0x0005, 0x7803, 0x0004, 0x2009, 0x0064, 0x7804, 0xd0ac, 0x0904, + 0x1fbd, 0x8109, 0x1dd0, 0x2009, 0x0100, 0x210c, 0xa18a, 0x0003, + 0x0a0c, 0x151a, 0x080c, 0x2274, 0x00e6, 0x00f6, 0x2071, 0xb913, + 0x2079, 0x0010, 0x7004, 0xa086, 0x0000, 0x0538, 0x7800, 0x0006, + 0x7820, 0x0006, 0x7830, 0x0006, 0x7834, 0x0006, 0x7838, 0x0006, + 0x783c, 0x0006, 0x7803, 0x0004, 0xe000, 0xe000, 0x2079, 0x0030, + 0x7804, 0xd0ac, 0x190c, 0x151a, 0x2079, 0x0010, 0x000e, 0x783e, + 0x000e, 0x783a, 0x000e, 0x7836, 0x000e, 0x7832, 0x000e, 0x7822, + 0x000e, 0x7802, 0x00fe, 0x00ee, 0x0030, 0x00fe, 0x00ee, 0x7804, + 0xd0ac, 0x190c, 0x151a, 0x080c, 0x72a2, 0x0005, 0x00e6, 0x2071, + 0xb94b, 0x7003, 0x0000, 0x00ee, 0x0005, 0x00d6, 0xa280, 0x0004, + 0x206c, 0x694c, 0xd1dc, 0x1904, 0x203b, 0x6934, 0xa184, 0x0007, + 0x0002, 0x1fd9, 0x2026, 0x1fd9, 0x1fd9, 0x1fd9, 0x200d, 0x1fec, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sat Nov 21 15:30:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AA962A34984; Sat, 21 Nov 2015 15:30:12 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7501D1D67; Sat, 21 Nov 2015 15:30:12 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALFUBar072411; Sat, 21 Nov 2015 15:30:11 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALFU9DB072386; Sat, 21 Nov 2015 15:30:09 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511211530.tALFU9DB072386@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 21 Nov 2015 15:30:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291133 - in head/sys: arm/allwinner arm/altera/socfpga arm/amlogic/aml8726 arm/annapurna/alpine arm/at91 arm/broadcom/bcm2835 arm/cavium/cns11xx arm/freescale/imx arm/freescale/vybrid ... 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.20 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, 21 Nov 2015 15:30:12 -0000 Author: andrew Date: Sat Nov 21 15:30:08 2015 New Revision: 291133 URL: https://svnweb.freebsd.org/changeset/base/291133 Log: Move more bus_space_* files to be built by files.arm. This leaves the definition in a file.* file under sys/arm/arm in the few cases we need it for non-fdt platforms. Sponsored by: ABT Systems Ltd Modified: head/sys/arm/allwinner/files.allwinner head/sys/arm/altera/socfpga/files.socfpga head/sys/arm/amlogic/aml8726/files.aml8726 head/sys/arm/annapurna/alpine/files.alpine head/sys/arm/at91/files.at91 head/sys/arm/broadcom/bcm2835/files.bcm283x head/sys/arm/cavium/cns11xx/files.econa head/sys/arm/freescale/imx/files.imx5 head/sys/arm/freescale/imx/files.imx6 head/sys/arm/freescale/vybrid/files.vybrid head/sys/arm/lpc/files.lpc head/sys/arm/mv/files.mv head/sys/arm/qemu/files.qemu head/sys/arm/rockchip/files.rk30xx head/sys/arm/samsung/exynos/files.exynos5 head/sys/arm/ti/files.ti head/sys/arm/versatile/files.versatile head/sys/arm/xilinx/files.zynq7 head/sys/arm/xscale/i80321/files.i80219 head/sys/arm/xscale/i80321/files.i80321 head/sys/arm/xscale/i8134x/files.i81342 head/sys/arm/xscale/ixp425/files.ixp425 head/sys/arm/xscale/pxa/files.pxa head/sys/conf/files.arm Modified: head/sys/arm/allwinner/files.allwinner ============================================================================== --- head/sys/arm/allwinner/files.allwinner Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/allwinner/files.allwinner Sat Nov 21 15:30:08 2015 (r291133) @@ -1,9 +1,6 @@ # $FreeBSD$ kern/kern_clocksource.c standard -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/allwinner/a10_ahci.c optional ahci arm/allwinner/a10_clk.c standard arm/allwinner/a10_common.c standard Modified: head/sys/arm/altera/socfpga/files.socfpga ============================================================================== --- head/sys/arm/altera/socfpga/files.socfpga Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/altera/socfpga/files.socfpga Sat Nov 21 15:30:08 2015 (r291133) @@ -2,9 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_generic.c standard - -arm/arm/bus_space_base.c standard arm/arm/mpcore_timer.c standard arm/altera/socfpga/socfpga_common.c standard Modified: head/sys/arm/amlogic/aml8726/files.aml8726 ============================================================================== --- head/sys/arm/amlogic/aml8726/files.aml8726 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/amlogic/aml8726/files.aml8726 Sat Nov 21 15:30:08 2015 (r291133) @@ -2,9 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/amlogic/aml8726/aml8726_l2cache.c standard arm/amlogic/aml8726/aml8726_machdep.c standard Modified: head/sys/arm/annapurna/alpine/files.alpine ============================================================================== --- head/sys/arm/annapurna/alpine/files.alpine Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/annapurna/alpine/files.alpine Sat Nov 21 15:30:08 2015 (r291133) @@ -2,9 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/versatile/sp804.c standard arm/versatile/versatile_timer.c standard dev/uart/uart_dev_ns8250.c optional uart Modified: head/sys/arm/at91/files.at91 ============================================================================== --- head/sys/arm/at91/files.at91 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/at91/files.at91 Sat Nov 21 15:30:08 2015 (r291133) @@ -1,5 +1,4 @@ # $FreeBSD$ -arm/arm/bus_space_generic.c standard arm/at91/at91_machdep.c standard arm/at91/at91_aic.c standard arm/at91/at91.c standard Modified: head/sys/arm/broadcom/bcm2835/files.bcm283x ============================================================================== --- head/sys/arm/broadcom/bcm2835/files.bcm283x Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/broadcom/bcm2835/files.bcm283x Sat Nov 21 15:30:08 2015 (r291133) @@ -16,9 +16,6 @@ arm/broadcom/bcm2835/bcm2835_vcio.c sta arm/broadcom/bcm2835/bcm2835_wdog.c standard arm/broadcom/bcm2835/bcm283x_dwc_fdt.c optional dwcotg fdt -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - kern/kern_clocksource.c standard dev/mbox/mbox_if.m standard Modified: head/sys/arm/cavium/cns11xx/files.econa ============================================================================== --- head/sys/arm/cavium/cns11xx/files.econa Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/cavium/cns11xx/files.econa Sat Nov 21 15:30:08 2015 (r291133) @@ -6,7 +6,6 @@ arm/cavium/cns11xx/uart_bus_ec.c option arm/cavium/cns11xx/uart_cpu_ec.c optional uart dev/uart/uart_dev_ns8250.c optional uart arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard arm/cavium/cns11xx/ehci_ebus.c optional ehci arm/cavium/cns11xx/ohci_ec.c optional ohci arm/cavium/cns11xx/if_ece.c standard Modified: head/sys/arm/freescale/imx/files.imx5 ============================================================================== --- head/sys/arm/freescale/imx/files.imx5 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/freescale/imx/files.imx5 Sat Nov 21 15:30:08 2015 (r291133) @@ -1,5 +1,4 @@ # $FreeBSD$ -arm/arm/bus_space_generic.c standard kern/kern_clocksource.c standard # Init @@ -7,7 +6,6 @@ arm/freescale/imx/imx_common.c standard arm/freescale/imx/imx_machdep.c standard arm/freescale/imx/imx51_machdep.c optional soc_imx51 arm/freescale/imx/imx53_machdep.c optional soc_imx53 -arm/arm/bus_space_base.c standard # Special serial console for debuging early boot code #arm/freescale/imx/console.c standard Modified: head/sys/arm/freescale/imx/files.imx6 ============================================================================== --- head/sys/arm/freescale/imx/files.imx6 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/freescale/imx/files.imx6 Sat Nov 21 15:30:08 2015 (r291133) @@ -3,13 +3,11 @@ # # Standard ARM support. # -arm/arm/bus_space_generic.c standard kern/kern_clocksource.c standard # # Standard imx6 devices and support. # -arm/arm/bus_space_base.c standard arm/arm/mpcore_timer.c standard arm/freescale/fsl_ocotp.c standard arm/freescale/imx/imx6_anatop.c standard Modified: head/sys/arm/freescale/vybrid/files.vybrid ============================================================================== --- head/sys/arm/freescale/vybrid/files.vybrid Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/freescale/vybrid/files.vybrid Sat Nov 21 15:30:08 2015 (r291133) @@ -2,9 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_generic.c standard - -arm/arm/bus_space_base.c standard arm/arm/mpcore_timer.c standard arm/freescale/vybrid/vf_machdep.c standard Modified: head/sys/arm/lpc/files.lpc ============================================================================== --- head/sys/arm/lpc/files.lpc Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/lpc/files.lpc Sat Nov 21 15:30:08 2015 (r291133) @@ -1,6 +1,4 @@ # $FreeBSD$ -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard arm/lpc/lpc_machdep.c standard arm/lpc/lpc_pwr.c standard arm/lpc/lpc_intc.c standard Modified: head/sys/arm/mv/files.mv ============================================================================== --- head/sys/arm/mv/files.mv Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/mv/files.mv Sat Nov 21 15:30:08 2015 (r291133) @@ -12,9 +12,6 @@ # - JTAG/ICE # - Vector Floating Point (VFP) unit # -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/mv/gpio.c standard arm/mv/mv_common.c standard arm/mv/mv_localbus.c standard Modified: head/sys/arm/qemu/files.qemu ============================================================================== --- head/sys/arm/qemu/files.qemu Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/qemu/files.qemu Sat Nov 21 15:30:08 2015 (r291133) @@ -3,8 +3,6 @@ # # Standard ARM support. # -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard kern/kern_clocksource.c standard # Modified: head/sys/arm/rockchip/files.rk30xx ============================================================================== --- head/sys/arm/rockchip/files.rk30xx Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/rockchip/files.rk30xx Sat Nov 21 15:30:08 2015 (r291133) @@ -1,11 +1,8 @@ # $FreeBSD$ kern/kern_clocksource.c standard -arm/arm/bus_space_generic.c standard - arm/arm/mpcore_timer.c standard -arm/arm/bus_space_base.c standard arm/rockchip/rk30xx_common.c standard arm/rockchip/rk30xx_machdep.c standard arm/rockchip/rk30xx_pmu.c standard Modified: head/sys/arm/samsung/exynos/files.exynos5 ============================================================================== --- head/sys/arm/samsung/exynos/files.exynos5 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/samsung/exynos/files.exynos5 Sat Nov 21 15:30:08 2015 (r291133) @@ -2,9 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_generic.c standard - -arm/arm/bus_space_base.c standard arm/arm/generic_timer.c standard arm/samsung/exynos/exynos5_mct.c standard Modified: head/sys/arm/ti/files.ti ============================================================================== --- head/sys/arm/ti/files.ti Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/ti/files.ti Sat Nov 21 15:30:08 2015 (r291133) @@ -2,9 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/ti/ti_common.c standard arm/ti/ti_cpuid.c standard arm/ti/ti_hwmods.c standard Modified: head/sys/arm/versatile/files.versatile ============================================================================== --- head/sys/arm/versatile/files.versatile Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/versatile/files.versatile Sat Nov 21 15:30:08 2015 (r291133) @@ -1,8 +1,5 @@ # $FreeBSD$ -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/versatile/pl050.c optional sc arm/versatile/sp804.c standard arm/versatile/versatile_machdep.c standard Modified: head/sys/arm/xilinx/files.zynq7 ============================================================================== --- head/sys/arm/xilinx/files.zynq7 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/xilinx/files.zynq7 Sat Nov 21 15:30:08 2015 (r291133) @@ -5,9 +5,6 @@ kern/kern_clocksource.c standard -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard - arm/arm/mpcore_timer.c standard arm/xilinx/zy7_machdep.c standard Modified: head/sys/arm/xscale/i80321/files.i80219 ============================================================================== --- head/sys/arm/xscale/i80321/files.i80219 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/xscale/i80321/files.i80219 Sat Nov 21 15:30:08 2015 (r291133) @@ -2,8 +2,6 @@ # # IOP Specific # -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard arm/xscale/i80321/i80321.c standard arm/xscale/i80321/i80321_dma.c optional dma arm/xscale/i80321/i80321_mcu.c standard Modified: head/sys/arm/xscale/i80321/files.i80321 ============================================================================== --- head/sys/arm/xscale/i80321/files.i80321 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/xscale/i80321/files.i80321 Sat Nov 21 15:30:08 2015 (r291133) @@ -1,6 +1,4 @@ #$FreeBSD$ -arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard arm/xscale/i80321/i80321.c standard arm/xscale/i80321/i80321_aau.c optional aau arm/xscale/i80321/i80321_dma.c optional dma Modified: head/sys/arm/xscale/i8134x/files.i81342 ============================================================================== --- head/sys/arm/xscale/i8134x/files.i81342 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/xscale/i8134x/files.i81342 Sat Nov 21 15:30:08 2015 (r291133) @@ -1,6 +1,5 @@ # $FreeBSD$ arm/arm/bus_space_base.c standard -arm/arm/bus_space_generic.c standard arm/xscale/i80321/i80321_timer.c standard arm/xscale/i80321/i80321_wdog.c optional iopwdog arm/xscale/i8134x/i81342.c standard Modified: head/sys/arm/xscale/ixp425/files.ixp425 ============================================================================== --- head/sys/arm/xscale/ixp425/files.ixp425 Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/xscale/ixp425/files.ixp425 Sat Nov 21 15:30:08 2015 (r291133) @@ -1,5 +1,4 @@ #$FreeBSD$ -arm/arm/bus_space_generic.c standard arm/xscale/ixp425/ixp425.c standard arm/xscale/ixp425/ixp425_mem.c standard arm/xscale/ixp425/ixp425_space.c standard Modified: head/sys/arm/xscale/pxa/files.pxa ============================================================================== --- head/sys/arm/xscale/pxa/files.pxa Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/arm/xscale/pxa/files.pxa Sat Nov 21 15:30:08 2015 (r291133) @@ -1,7 +1,5 @@ # $FreeBSD$ -arm/arm/bus_space_generic.c standard - arm/xscale/pxa/pxa_gpio.c standard arm/xscale/pxa/pxa_icu.c standard arm/xscale/pxa/pxa_machdep.c standard Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Sat Nov 21 14:39:57 2015 (r291132) +++ head/sys/conf/files.arm Sat Nov 21 15:30:08 2015 (r291133) @@ -4,6 +4,8 @@ arm/arm/bcopy_page.S standard arm/arm/bcopyinout.S standard arm/arm/blockio.S standard arm/arm/bus_space_asm_generic.S standard +arm/arm/bus_space_base.c optional fdt +arm/arm/bus_space_generic.c standard arm/arm/busdma_machdep.c optional !armv6 arm/arm/busdma_machdep-v6.c optional armv6 arm/arm/copystr.S standard From owner-svn-src-head@freebsd.org Sat Nov 21 16:23:59 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5189DA333FA; Sat, 21 Nov 2015 16:23:59 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 125A71252; Sat, 21 Nov 2015 16:23:59 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALGNw5L090001; Sat, 21 Nov 2015 16:23:58 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALGNuqw089981; Sat, 21 Nov 2015 16:23:56 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511211623.tALGNuqw089981@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 21 Nov 2015 16:23:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291135 - in head/sys: arm/altera/socfpga arm/broadcom/bcm2835 arm/conf arm/freescale/imx arm/freescale/vybrid arm/qemu arm/rockchip arm/samsung/exynos arm/ti/omap4 arm/xilinx 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.20 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, 21 Nov 2015 16:23:59 -0000 Author: andrew Date: Sat Nov 21 16:23:56 2015 New Revision: 291135 URL: https://svnweb.freebsd.org/changeset/base/291135 Log: Create device options for the two common ARM timers. Sponsored by: ABT Systems Ltd Modified: head/sys/arm/altera/socfpga/files.socfpga head/sys/arm/broadcom/bcm2835/files.bcm2836 head/sys/arm/conf/EXYNOS5.common head/sys/arm/conf/IMX6 head/sys/arm/conf/PANDABOARD head/sys/arm/conf/RK3188 head/sys/arm/conf/RPI2 head/sys/arm/conf/SOCKIT.common head/sys/arm/conf/VIRT head/sys/arm/conf/VYBRID head/sys/arm/conf/ZEDBOARD head/sys/arm/freescale/imx/files.imx6 head/sys/arm/freescale/vybrid/files.vybrid head/sys/arm/qemu/files.qemu head/sys/arm/rockchip/files.rk30xx head/sys/arm/samsung/exynos/files.exynos5 head/sys/arm/ti/omap4/files.omap4 head/sys/arm/xilinx/files.zynq7 head/sys/conf/files.arm Modified: head/sys/arm/altera/socfpga/files.socfpga ============================================================================== --- head/sys/arm/altera/socfpga/files.socfpga Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/altera/socfpga/files.socfpga Sat Nov 21 16:23:56 2015 (r291135) @@ -2,8 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/mpcore_timer.c standard - arm/altera/socfpga/socfpga_common.c standard arm/altera/socfpga/socfpga_machdep.c standard arm/altera/socfpga/socfpga_manager.c standard Modified: head/sys/arm/broadcom/bcm2835/files.bcm2836 ============================================================================== --- head/sys/arm/broadcom/bcm2835/files.bcm2836 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/broadcom/bcm2835/files.bcm2836 Sat Nov 21 16:23:56 2015 (r291135) @@ -1,6 +1,4 @@ # $FreeBSD$ -arm/arm/generic_timer.c standard - arm/broadcom/bcm2835/bcm2836.c standard arm/broadcom/bcm2835/bcm2836_mp.c optional smp Modified: head/sys/arm/conf/EXYNOS5.common ============================================================================== --- head/sys/arm/conf/EXYNOS5.common Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/EXYNOS5.common Sat Nov 21 16:23:56 2015 (r291135) @@ -87,6 +87,8 @@ device dwmmc # Interrupt controller device gic +# ARM Generic Timer +device generic_timer # Pseudo devices Modified: head/sys/arm/conf/IMX6 ============================================================================== --- head/sys/arm/conf/IMX6 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/IMX6 Sat Nov 21 16:23:56 2015 (r291135) @@ -64,6 +64,8 @@ options ROOTDEVNAME=\"ufs:mmcsd0s2a\" device gic # Cache controller device pl310 # PL310 L2 cache controller +# ARM MPCore timer +device mpcore_timer # Pseudo devices. device loop # Network loopback Modified: head/sys/arm/conf/PANDABOARD ============================================================================== --- head/sys/arm/conf/PANDABOARD Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/PANDABOARD Sat Nov 21 16:23:56 2015 (r291135) @@ -62,6 +62,8 @@ options DDB # Enable the kernel debug device fdt_pinctrl # Interrupt controller device gic +# ARM MPCore timer +device mpcore_timer # MMC/SD/SDIO Card slot support device mmc # mmc/sd bus Modified: head/sys/arm/conf/RK3188 ============================================================================== --- head/sys/arm/conf/RK3188 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/RK3188 Sat Nov 21 16:23:56 2015 (r291135) @@ -47,6 +47,8 @@ options ROOTDEVNAME=\"ufs:/dev/mmcsd0\" # Interrupt controller device gic +# ARM MPCore timer +device mpcore_timer # MMC/SD/SDIO Card slot support device mmc # mmc/sd bus Modified: head/sys/arm/conf/RPI2 ============================================================================== --- head/sys/arm/conf/RPI2 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/RPI2 Sat Nov 21 16:23:56 2015 (r291135) @@ -53,6 +53,9 @@ options INVARIANT_SUPPORT # Extra sanit options ROOTDEVNAME=\"ufs:mmcsd0s2\" +# ARM Generic Timer +device generic_timer + device bpf device loop device ether Modified: head/sys/arm/conf/SOCKIT.common ============================================================================== --- head/sys/arm/conf/SOCKIT.common Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/SOCKIT.common Sat Nov 21 16:23:56 2015 (r291135) @@ -53,6 +53,8 @@ options INVARIANT_SUPPORT # Extra sanit # Interrupt controller device gic +# ARM MPCore timer +device mpcore_timer # MMC/SD/SDIO Card slot support device mmc # mmc/sd bus Modified: head/sys/arm/conf/VIRT ============================================================================== --- head/sys/arm/conf/VIRT Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/VIRT Sat Nov 21 16:23:56 2015 (r291135) @@ -46,6 +46,8 @@ options INVARIANT_SUPPORT # Extra sanit # Interrupt controller device gic +# ARM Generic Timer +device generic_timer device bpf device loop Modified: head/sys/arm/conf/VYBRID ============================================================================== --- head/sys/arm/conf/VYBRID Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/VYBRID Sat Nov 21 16:23:56 2015 (r291135) @@ -62,6 +62,8 @@ options NO_SWAPPING # Interrupt controller device gic +# ARM MPCore timer +device mpcore_timer # MMC/SD/SDIO Card slot support device mmc # mmc/sd bus Modified: head/sys/arm/conf/ZEDBOARD ============================================================================== --- head/sys/arm/conf/ZEDBOARD Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/conf/ZEDBOARD Sat Nov 21 16:23:56 2015 (r291135) @@ -54,6 +54,8 @@ options ROOTDEVNAME=\"ufs:mmcsd0s2a\" device gic # Cache controller device pl310 # PL310 L2 cache controller +# ARM MPCore timer +device mpcore_timer device loop device random Modified: head/sys/arm/freescale/imx/files.imx6 ============================================================================== --- head/sys/arm/freescale/imx/files.imx6 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/freescale/imx/files.imx6 Sat Nov 21 16:23:56 2015 (r291135) @@ -8,7 +8,6 @@ kern/kern_clocksource.c standard # # Standard imx6 devices and support. # -arm/arm/mpcore_timer.c standard arm/freescale/fsl_ocotp.c standard arm/freescale/imx/imx6_anatop.c standard arm/freescale/imx/imx6_ccm.c standard Modified: head/sys/arm/freescale/vybrid/files.vybrid ============================================================================== --- head/sys/arm/freescale/vybrid/files.vybrid Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/freescale/vybrid/files.vybrid Sat Nov 21 16:23:56 2015 (r291135) @@ -2,8 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/mpcore_timer.c standard - arm/freescale/vybrid/vf_machdep.c standard arm/freescale/vybrid/vf_common.c standard arm/freescale/vybrid/vf_ccm.c standard Modified: head/sys/arm/qemu/files.qemu ============================================================================== --- head/sys/arm/qemu/files.qemu Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/qemu/files.qemu Sat Nov 21 16:23:56 2015 (r291135) @@ -8,7 +8,6 @@ kern/kern_clocksource.c standard # # Standard qemu virt devices and support. # -arm/arm/generic_timer.c standard arm/qemu/virt_common.c standard arm/qemu/virt_machdep.c standard arm/qemu/virt_mp.c optional smp Modified: head/sys/arm/rockchip/files.rk30xx ============================================================================== --- head/sys/arm/rockchip/files.rk30xx Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/rockchip/files.rk30xx Sat Nov 21 16:23:56 2015 (r291135) @@ -1,8 +1,6 @@ # $FreeBSD$ kern/kern_clocksource.c standard -arm/arm/mpcore_timer.c standard - arm/rockchip/rk30xx_common.c standard arm/rockchip/rk30xx_machdep.c standard arm/rockchip/rk30xx_pmu.c standard Modified: head/sys/arm/samsung/exynos/files.exynos5 ============================================================================== --- head/sys/arm/samsung/exynos/files.exynos5 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/samsung/exynos/files.exynos5 Sat Nov 21 16:23:56 2015 (r291135) @@ -2,8 +2,6 @@ kern/kern_clocksource.c standard -arm/arm/generic_timer.c standard - arm/samsung/exynos/exynos5_mct.c standard arm/samsung/exynos/exynos5_mp.c optional smp arm/samsung/exynos/exynos5_common.c standard Modified: head/sys/arm/ti/omap4/files.omap4 ============================================================================== --- head/sys/arm/ti/omap4/files.omap4 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/ti/omap4/files.omap4 Sat Nov 21 16:23:56 2015 (r291135) @@ -1,6 +1,5 @@ #$FreeBSD$ -arm/arm/mpcore_timer.c standard arm/ti/ti_smc.S standard arm/ti/usb/omap_ehci.c optional usb ehci Modified: head/sys/arm/xilinx/files.zynq7 ============================================================================== --- head/sys/arm/xilinx/files.zynq7 Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/arm/xilinx/files.zynq7 Sat Nov 21 16:23:56 2015 (r291135) @@ -5,8 +5,6 @@ kern/kern_clocksource.c standard -arm/arm/mpcore_timer.c standard - arm/xilinx/zy7_machdep.c standard arm/xilinx/zy7_l2cache.c standard arm/xilinx/zy7_slcr.c standard Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Sat Nov 21 16:21:27 2015 (r291134) +++ head/sys/conf/files.arm Sat Nov 21 16:23:56 2015 (r291135) @@ -39,6 +39,7 @@ arm/arm/fiq.c standard arm/arm/fiq_subr.S standard arm/arm/fusu.S standard arm/arm/gdb_machdep.c optional gdb +arm/arm/generic_timer.c optional generic_timer arm/arm/gic.c optional gic arm/arm/identcpu.c standard arm/arm/in_cksum.c optional inet | inet6 @@ -50,6 +51,7 @@ arm/arm/machdep.c standard arm/arm/mem.c optional mem arm/arm/minidump_machdep.c optional mem arm/arm/mp_machdep.c optional smp +arm/arm/mpcore_timer.c optional mpcore_timer arm/arm/nexus.c standard arm/arm/physmem.c standard arm/arm/pic_if.m optional arm_intrng From owner-svn-src-head@freebsd.org Sat Nov 21 16:25:04 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80D94A3345E; Sat, 21 Nov 2015 16:25:04 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 49FF813AF; Sat, 21 Nov 2015 16:25:04 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALGP3D8090085; Sat, 21 Nov 2015 16:25:03 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALGP3t2090083; Sat, 21 Nov 2015 16:25:03 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201511211625.tALGP3t2090083@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 21 Nov 2015 16:25:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291136 - in head/sys: arm/ti/am335x 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.20 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, 21 Nov 2015 16:25:04 -0000 Author: andrew Date: Sat Nov 21 16:25:03 2015 New Revision: 291136 URL: https://svnweb.freebsd.org/changeset/base/291136 Log: Move hdmi_if.m to files.arm so other kernel configs can use it. Modified: head/sys/arm/ti/am335x/files.am335x head/sys/conf/files.arm Modified: head/sys/arm/ti/am335x/files.am335x ============================================================================== --- head/sys/arm/ti/am335x/files.am335x Sat Nov 21 16:23:56 2015 (r291135) +++ head/sys/arm/ti/am335x/files.am335x Sat Nov 21 16:25:03 2015 (r291136) @@ -17,7 +17,6 @@ arm/ti/am335x/am335x_scm_padconf.c stand arm/ti/am335x/am335x_usbss.c optional musb fdt arm/ti/am335x/am335x_musb.c optional musb fdt -arm/arm/hdmi_if.m optional hdmi arm/ti/am335x/tda19988.c optional hdmi arm/ti/ti_edma3.c standard Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Sat Nov 21 16:23:56 2015 (r291135) +++ head/sys/conf/files.arm Sat Nov 21 16:25:03 2015 (r291136) @@ -41,6 +41,7 @@ arm/arm/fusu.S standard arm/arm/gdb_machdep.c optional gdb arm/arm/generic_timer.c optional generic_timer arm/arm/gic.c optional gic +arm/arm/hdmi_if.m optional hdmi arm/arm/identcpu.c standard arm/arm/in_cksum.c optional inet | inet6 arm/arm/in_cksum_arm.S optional inet | inet6 From owner-svn-src-head@freebsd.org Sat Nov 21 16:25:10 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2CC2A33481; Sat, 21 Nov 2015 16:25:10 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DF1A1507; Sat, 21 Nov 2015 16:25:10 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALGP9GP090140; Sat, 21 Nov 2015 16:25:09 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALGP9vJ090138; Sat, 21 Nov 2015 16:25:09 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201511211625.tALGP9vJ090138@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sat, 21 Nov 2015 16:25:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291137 - 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.20 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, 21 Nov 2015 16:25:10 -0000 Author: tuexen Date: Sat Nov 21 16:25:09 2015 New Revision: 291137 URL: https://svnweb.freebsd.org/changeset/base/291137 Log: Don't send SHUTDOWN chunk when the association is in a front state and the applications calls shutdown(..., SHUT_WR) or shutdown(..., SHUT_RDWR). MFC after: 1 week. Modified: head/sys/netinet/sctp_pcb.c head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Sat Nov 21 16:25:03 2015 (r291136) +++ head/sys/netinet/sctp_pcb.c Sat Nov 21 16:25:09 2015 (r291137) @@ -3640,13 +3640,11 @@ sctp_inpcb_free(struct sctp_inpcb *inp, * macro here since le_next will get freed as part of the * sctp_free_assoc() call. */ - if (so) { #ifdef IPSEC + if (ip_pcb->inp_sp != NULL) { ipsec_delete_pcbpolicy(ip_pcb); -#endif /* IPSEC */ - - /* Unlocks not needed since the socket is gone now */ } +#endif if (ip_pcb->inp_options) { (void)sctp_m_free(ip_pcb->inp_options); ip_pcb->inp_options = 0; Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Sat Nov 21 16:25:03 2015 (r291136) +++ head/sys/netinet/sctp_usrreq.c Sat Nov 21 16:25:09 2015 (r291137) @@ -1007,16 +1007,15 @@ sctp_shutdown(struct socket *so) } else { netp = stcb->asoc.primary_destination; } - if (TAILQ_EMPTY(&asoc->send_queue) && + if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) && + TAILQ_EMPTY(&asoc->send_queue) && TAILQ_EMPTY(&asoc->sent_queue) && (asoc->stream_queue_cnt == 0)) { if (asoc->locked_on_sending) { goto abort_anyway; } /* there is nothing queued to send, so I'm done... */ - if (SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) { - SCTP_STAT_DECR_GAUGE32(sctps_currestab); - } + SCTP_STAT_DECR_GAUGE32(sctps_currestab); SCTP_SET_STATE(asoc, SCTP_STATE_SHUTDOWN_SENT); SCTP_CLEAR_SUBSTATE(asoc, SCTP_STATE_SHUTDOWN_PENDING); sctp_stop_timers_for_shutdown(stcb); From owner-svn-src-head@freebsd.org Sat Nov 21 16:32:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A830DA33690; Sat, 21 Nov 2015 16:32:15 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 75C1119FE; Sat, 21 Nov 2015 16:32:15 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALGWEAg090402; Sat, 21 Nov 2015 16:32:14 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALGWE3H090401; Sat, 21 Nov 2015 16:32:14 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201511211632.tALGWE3H090401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sat, 21 Nov 2015 16:32:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291138 - 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.20 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, 21 Nov 2015 16:32:15 -0000 Author: tuexen Date: Sat Nov 21 16:32:14 2015 New Revision: 291138 URL: https://svnweb.freebsd.org/changeset/base/291138 Log: Clear the so_pcb pointer in case of ipsec_init_policy() fails. MFC after: 1 week Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Sat Nov 21 16:25:09 2015 (r291137) +++ head/sys/netinet/sctp_usrreq.c Sat Nov 21 16:32:14 2015 (r291138) @@ -537,9 +537,10 @@ try_again: SCTP_INP_WUNLOCK(inp); } } + so->so_pcb = NULL; return (error); } -#endif /* IPSEC */ +#endif SCTP_INP_WUNLOCK(inp); return (0); } From owner-svn-src-head@freebsd.org Sat Nov 21 16:37:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51799A3375C; Sat, 21 Nov 2015 16:37:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 04BC81C02; Sat, 21 Nov 2015 16:37:12 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALGbCCn093158; Sat, 21 Nov 2015 16:37:12 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALGbCO4093156; Sat, 21 Nov 2015 16:37:12 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201511211637.tALGbCO4093156@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 21 Nov 2015 16:37:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291139 - in head/usr.sbin: . uathload 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.20 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, 21 Nov 2015 16:37:13 -0000 Author: imp Date: Sat Nov 21 16:37:11 2015 New Revision: 291139 URL: https://svnweb.freebsd.org/changeset/base/291139 Log: Document why we use -z nonexecstack in the Makefile since it is so unusual. Turn off mis-match warnings for building uathload because the firmware .o file is produced in a way that we can't get to match exactly. This fixes the build on mips, so stop excluding it from the build. Modified: head/usr.sbin/Makefile.mips head/usr.sbin/uathload/Makefile Modified: head/usr.sbin/Makefile.mips ============================================================================== --- head/usr.sbin/Makefile.mips Sat Nov 21 16:32:14 2015 (r291138) +++ head/usr.sbin/Makefile.mips Sat Nov 21 16:37:11 2015 (r291139) @@ -1,7 +1,3 @@ # $FreeBSD$ SUBDIR+= ofwdump -# uathload broken for n32 and n64 due to toolchain issues, only build for o32 -.if ${MACHINE_ARCH} != "mips" && ${MACHINE_ARCH} != "mipsel" -SUBDIR.yes:= ${SUBDIR.yes:Nuathload} -.endif Modified: head/usr.sbin/uathload/Makefile ============================================================================== --- head/usr.sbin/uathload/Makefile Sat Nov 21 16:32:14 2015 (r291138) +++ head/usr.sbin/uathload/Makefile Sat Nov 21 16:37:11 2015 (r291139) @@ -7,10 +7,20 @@ SRCS= uathload.c ar5523.bin CLEANFILES= ar5523.bin +# It's hard to tag ar5523.o with the proper gnu note saying that it has a +# non-executable stack, so ld doesn't properly mark his executable as +# not having an executable stack. Mark it explicitly, but only for those +# platforms that support his feature (otherwise signals don't work). +# Note: Newer versions of ld than is in the tree ignore -z. .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" LDFLAGS+= -Wl,-z,noexecstack .endif +# The conversion from .bin to .o doesn't always produce a pedantically correct +# .o's. And it doesn't matter, so turn off the mismatch warnings since it is +# pure data. On mips64 here's no easy way to produce a proper .o. +LDFLAGS+= -Wl,--no-warn-mismatch + ar5523.bin: ${.CURDIR}/../../sys/contrib/dev/uath/ar5523.bin.uu uudecode -p ${.CURDIR}/../../sys/contrib/dev/uath/ar5523.bin.uu > ${.TARGET} From owner-svn-src-head@freebsd.org Sat Nov 21 16:47:00 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 64E23A33905; Sat, 21 Nov 2015 16:47:00 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 333161F84; Sat, 21 Nov 2015 16:47:00 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALGkxg5095961; Sat, 21 Nov 2015 16:46:59 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALGkxVh095960; Sat, 21 Nov 2015 16:46:59 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201511211646.tALGkxVh095960@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sat, 21 Nov 2015 16:46:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291140 - 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.20 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, 21 Nov 2015 16:47:00 -0000 Author: tuexen Date: Sat Nov 21 16:46:59 2015 New Revision: 291140 URL: https://svnweb.freebsd.org/changeset/base/291140 Log: Revert part of r291137 which seems correct, bit does not fix the resource problem I'm currently hunting down. MFC after: 1 week X-MFC with: 291137 Modified: head/sys/netinet/sctp_pcb.c Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Sat Nov 21 16:37:11 2015 (r291139) +++ head/sys/netinet/sctp_pcb.c Sat Nov 21 16:46:59 2015 (r291140) @@ -3640,11 +3640,13 @@ sctp_inpcb_free(struct sctp_inpcb *inp, * macro here since le_next will get freed as part of the * sctp_free_assoc() call. */ + if (so) { #ifdef IPSEC - if (ip_pcb->inp_sp != NULL) { ipsec_delete_pcbpolicy(ip_pcb); +#endif /* IPSEC */ + + /* Unlocks not needed since the socket is gone now */ } -#endif if (ip_pcb->inp_options) { (void)sctp_m_free(ip_pcb->inp_options); ip_pcb->inp_options = 0; From owner-svn-src-head@freebsd.org Sat Nov 21 18:21:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A759A34A22; Sat, 21 Nov 2015 18:21:17 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 388821BB8; Sat, 21 Nov 2015 18:21:17 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALILGPu024957; Sat, 21 Nov 2015 18:21:16 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALILGMr024955; Sat, 21 Nov 2015 18:21:16 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201511211821.tALILGMr024955@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sat, 21 Nov 2015 18:21:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291141 - 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.20 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, 21 Nov 2015 18:21:17 -0000 Author: tuexen Date: Sat Nov 21 18:21:16 2015 New Revision: 291141 URL: https://svnweb.freebsd.org/changeset/base/291141 Log: Fix the handling of IPSec policies in the SCTP stack. At least make sure they are not leaked... MFC after: 1 week Modified: head/sys/netinet/sctp_pcb.c head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_pcb.c ============================================================================== --- head/sys/netinet/sctp_pcb.c Sat Nov 21 16:46:59 2015 (r291140) +++ head/sys/netinet/sctp_pcb.c Sat Nov 21 18:21:16 2015 (r291141) @@ -2495,14 +2495,7 @@ sctp_inpcb_alloc(struct socket *so, uint return (ENOBUFS); } #ifdef IPSEC - { - struct inpcbpolicy *pcb_sp = NULL; - - error = ipsec_init_policy(so, &pcb_sp); - /* Arrange to share the policy */ - inp->ip_inp.inp.inp_sp = pcb_sp; - ((struct in6pcb *)(&inp->ip_inp.inp))->in6p_sp = pcb_sp; - } + error = ipsec_init_policy(so, &inp->ip_inp.inp.inp_sp); if (error != 0) { crfree(inp->ip_inp.inp.inp_cred); SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp); @@ -2536,6 +2529,9 @@ sctp_inpcb_alloc(struct socket *so, uint SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, EOPNOTSUPP); so->so_pcb = NULL; crfree(inp->ip_inp.inp.inp_cred); +#ifdef IPSEC + ipsec_delete_pcbpolicy(&inp->ip_inp.inp); +#endif SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp); return (EOPNOTSUPP); } @@ -2556,6 +2552,9 @@ sctp_inpcb_alloc(struct socket *so, uint SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_PCB, ENOBUFS); so->so_pcb = NULL; crfree(inp->ip_inp.inp.inp_cred); +#ifdef IPSEC + ipsec_delete_pcbpolicy(&inp->ip_inp.inp); +#endif SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_ep), inp); return (ENOBUFS); } @@ -3640,13 +3639,9 @@ sctp_inpcb_free(struct sctp_inpcb *inp, * macro here since le_next will get freed as part of the * sctp_free_assoc() call. */ - if (so) { #ifdef IPSEC - ipsec_delete_pcbpolicy(ip_pcb); -#endif /* IPSEC */ - - /* Unlocks not needed since the socket is gone now */ - } + ipsec_delete_pcbpolicy(ip_pcb); +#endif if (ip_pcb->inp_options) { (void)sctp_m_free(ip_pcb->inp_options); ip_pcb->inp_options = 0; Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Sat Nov 21 16:46:59 2015 (r291140) +++ head/sys/netinet/sctp_usrreq.c Sat Nov 21 18:21:16 2015 (r291141) @@ -487,11 +487,6 @@ sctp_attach(struct socket *so, int proto int error; uint32_t vrf_id = SCTP_DEFAULT_VRFID; -#ifdef IPSEC - uint32_t flags; - -#endif - inp = (struct sctp_inpcb *)so->so_pcb; if (inp != 0) { SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); @@ -513,34 +508,6 @@ sctp_attach(struct socket *so, int proto ip_inp = &inp->ip_inp.inp; ip_inp->inp_vflag |= INP_IPV4; ip_inp->inp_ip_ttl = MODULE_GLOBAL(ip_defttl); -#ifdef IPSEC - error = ipsec_init_policy(so, &ip_inp->inp_sp); -#ifdef SCTP_LOG_CLOSING - sctp_log_closing(inp, NULL, 17); -#endif - if (error != 0) { -try_again: - flags = inp->sctp_flags; - if (((flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) && - (atomic_cmpset_int(&inp->sctp_flags, flags, (flags | SCTP_PCB_FLAGS_SOCKET_GONE | SCTP_PCB_FLAGS_CLOSE_IP)))) { -#ifdef SCTP_LOG_CLOSING - sctp_log_closing(inp, NULL, 15); -#endif - SCTP_INP_WUNLOCK(inp); - sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT, - SCTP_CALLED_AFTER_CMPSET_OFCLOSE); - } else { - flags = inp->sctp_flags; - if ((flags & SCTP_PCB_FLAGS_SOCKET_GONE) == 0) { - goto try_again; - } else { - SCTP_INP_WUNLOCK(inp); - } - } - so->so_pcb = NULL; - return (error); - } -#endif SCTP_INP_WUNLOCK(inp); return (0); } From owner-svn-src-head@freebsd.org Sat Nov 21 19:55:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1AB01A33CDB; Sat, 21 Nov 2015 19:55:03 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CAA94179A; Sat, 21 Nov 2015 19:55:02 +0000 (UTC) (envelope-from skra@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALJt16w052571; Sat, 21 Nov 2015 19:55:01 GMT (envelope-from skra@FreeBSD.org) Received: (from skra@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALJt18a052565; Sat, 21 Nov 2015 19:55:01 GMT (envelope-from skra@FreeBSD.org) Message-Id: <201511211955.tALJt18a052565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: skra set sender to skra@FreeBSD.org using -f From: Svatopluk Kraus Date: Sat, 21 Nov 2015 19:55:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291142 - in head/sys: arm/arm arm64/arm64 mips/mips powerpc/powerpc x86/x86 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.20 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, 21 Nov 2015 19:55:03 -0000 Author: skra Date: Sat Nov 21 19:55:01 2015 New Revision: 291142 URL: https://svnweb.freebsd.org/changeset/base/291142 Log: Fix BUS_DMA_MIN_ALLOC_COMP flag logic. When bus_dmamap_t map is being created for bus_dma_tag_t tag, bounce pages should be allocated only if needed. Before the fix, they were allocated always if BUS_DMA_COULD_BOUNCE flag was set but BUS_DMA_MIN_ALLOC_COMP not. As bounce pages are never freed, it could cause memory exhaustion when a lot of such tags together with their maps were created. Note that there could be more maps in one tag by current design. However BUS_DMA_MIN_ALLOC_COMP flag is tag's flag. It's set after bounce pages are allocated. Thus, they are allocated only for first tag's map which needs them. Approved by: kib (mentor) Modified: head/sys/arm/arm/busdma_machdep-v6.c head/sys/arm/arm/busdma_machdep.c head/sys/arm64/arm64/busdma_bounce.c head/sys/mips/mips/busdma_machdep.c head/sys/powerpc/powerpc/busdma_machdep.c head/sys/x86/x86/busdma_bounce.c Modified: head/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- head/sys/arm/arm/busdma_machdep-v6.c Sat Nov 21 18:21:16 2015 (r291141) +++ head/sys/arm/arm/busdma_machdep-v6.c Sat Nov 21 19:55:01 2015 (r291142) @@ -654,8 +654,8 @@ allocate_bz_and_pages(bus_dma_tag_t dmat maxpages = MAX_BPAGES; else maxpages = 2 * bz->map_count; - if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 || - (bz->map_count > 0 && bz->total_bpages < maxpages)) { + if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 && + bz->map_count > 0 && bz->total_bpages < maxpages) { int pages; pages = atop(roundup2(dmat->maxsize, PAGE_SIZE)) + 1; Modified: head/sys/arm/arm/busdma_machdep.c ============================================================================== --- head/sys/arm/arm/busdma_machdep.c Sat Nov 21 18:21:16 2015 (r291141) +++ head/sys/arm/arm/busdma_machdep.c Sat Nov 21 19:55:01 2015 (r291142) @@ -569,8 +569,8 @@ allocate_bz_and_pages(bus_dma_tag_t dmat * basis up to a sane limit. */ maxpages = MAX_BPAGES; - if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 - || (bz->map_count > 0 && bz->total_bpages < maxpages)) { + if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 && + bz->map_count > 0 && bz->total_bpages < maxpages) { int pages; pages = MAX(atop(dmat->maxsize), 1); Modified: head/sys/arm64/arm64/busdma_bounce.c ============================================================================== --- head/sys/arm64/arm64/busdma_bounce.c Sat Nov 21 18:21:16 2015 (r291141) +++ head/sys/arm64/arm64/busdma_bounce.c Sat Nov 21 19:55:01 2015 (r291142) @@ -304,8 +304,8 @@ bounce_bus_dmamap_create(bus_dma_tag_t d else maxpages = MIN(MAX_BPAGES, Maxmem - atop(dmat->common.lowaddr)); - if ((dmat->bounce_flags & BUS_DMA_MIN_ALLOC_COMP) == 0 || - (bz->map_count > 0 && bz->total_bpages < maxpages)) { + if ((dmat->bounce_flags & BUS_DMA_MIN_ALLOC_COMP) == 0 && + bz->map_count > 0 && bz->total_bpages < maxpages) { pages = MAX(atop(dmat->common.maxsize), 1); pages = MIN(maxpages - bz->total_bpages, pages); pages = MAX(pages, 1); Modified: head/sys/mips/mips/busdma_machdep.c ============================================================================== --- head/sys/mips/mips/busdma_machdep.c Sat Nov 21 18:21:16 2015 (r291141) +++ head/sys/mips/mips/busdma_machdep.c Sat Nov 21 19:55:01 2015 (r291142) @@ -560,8 +560,8 @@ bus_dmamap_create(bus_dma_tag_t dmat, in * basis up to a sane limit. */ maxpages = MAX_BPAGES; - if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 - || (bz->map_count > 0 && bz->total_bpages < maxpages)) { + if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 && + bz->map_count > 0 && bz->total_bpages < maxpages) { int pages; pages = MAX(atop(dmat->maxsize), 1); Modified: head/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/busdma_machdep.c Sat Nov 21 18:21:16 2015 (r291141) +++ head/sys/powerpc/powerpc/busdma_machdep.c Sat Nov 21 19:55:01 2015 (r291142) @@ -423,8 +423,8 @@ bus_dmamap_create(bus_dma_tag_t dmat, in maxpages = MAX_BPAGES; else maxpages = MIN(MAX_BPAGES, Maxmem -atop(dmat->lowaddr)); - if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 - || (bz->map_count > 0 && bz->total_bpages < maxpages)) { + if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0 && + bz->map_count > 0 && bz->total_bpages < maxpages) { int pages; pages = MAX(atop(dmat->maxsize), 1); Modified: head/sys/x86/x86/busdma_bounce.c ============================================================================== --- head/sys/x86/x86/busdma_bounce.c Sat Nov 21 18:21:16 2015 (r291141) +++ head/sys/x86/x86/busdma_bounce.c Sat Nov 21 19:55:01 2015 (r291142) @@ -308,8 +308,8 @@ bounce_bus_dmamap_create(bus_dma_tag_t d else maxpages = MIN(MAX_BPAGES, Maxmem - atop(dmat->common.lowaddr)); - if ((dmat->bounce_flags & BUS_DMA_MIN_ALLOC_COMP) == 0 || - (bz->map_count > 0 && bz->total_bpages < maxpages)) { + if ((dmat->bounce_flags & BUS_DMA_MIN_ALLOC_COMP) == 0 && + bz->map_count > 0 && bz->total_bpages < maxpages) { pages = MAX(atop(dmat->common.maxsize), 1); pages = MIN(maxpages - bz->total_bpages, pages); pages = MAX(pages, 1); From owner-svn-src-head@freebsd.org Sat Nov 21 20:52:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B90AFA34A4A; Sat, 21 Nov 2015 20:52:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B0FA1989; Sat, 21 Nov 2015 20:52:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALKqeKl071014; Sat, 21 Nov 2015 20:52:40 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALKqevS071012; Sat, 21 Nov 2015 20:52:40 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511212052.tALKqevS071012@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 21 Nov 2015 20:52:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291143 - head/sys/dev/ispfw 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.20 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, 21 Nov 2015 20:52:41 -0000 Author: mav Date: Sat Nov 21 20:52:40 2015 New Revision: 291143 URL: https://svnweb.freebsd.org/changeset/base/291143 Log: Update Qlogic 23XX firmware from 3.03.26 to 3.03.28 Modified: head/sys/dev/ispfw/asm_2300.h head/sys/dev/ispfw/asm_2322.h Modified: head/sys/dev/ispfw/asm_2300.h ============================================================================== --- head/sys/dev/ispfw/asm_2300.h Sat Nov 21 19:55:01 2015 (r291142) +++ head/sys/dev/ispfw/asm_2300.h Sat Nov 21 20:52:40 2015 (r291143) @@ -27,21 +27,21 @@ /************************************************************************ * * - * --- ISP2300 Initiator/Target Firmware --- * - * with Fabric (Public Loop), Point-point, * - * expanded LUN addressing for FCTAPE, and 2K port logins * + * --- ISP2300 Initiator/Target Firmware --- * + * with Fabric (Public Loop), Point-point, * + * expanded LUN addressing for FCTAPE, and 2K port logins * * * ************************************************************************/ /* - * Firmware Version 3.03.26 (16:58 Aug 14, 2007) + * Firmware Version 3.03.28 */ static const uint16_t isp_2300_risc_code[] = { - 0x0470, 0x0000, 0x0000, 0xddef, 0x0000, 0x0003, 0x0003, 0x001a, - 0x0117, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, + 0x0470, 0x0000, 0x0000, 0xf4a2, 0x0000, 0x0003, 0x0003, 0x001c, + 0x0137, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, - 0x332e, 0x3033, 0x2e32, 0x3620, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x332e, 0x3033, 0x2e32, 0x3820, 0x2020, 0x2020, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, @@ -50,1007 +50,1067 @@ static const uint16_t isp_2300_risc_code 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, 0x0000, 0x20c1, 0x0004, 0x20c9, 0x1bff, 0x2059, 0x0000, 0x2b78, - 0x7883, 0x0004, 0x2089, 0x2c69, 0x2051, 0x1800, 0x2a70, 0x20e1, - 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e51, 0x2029, + 0x7883, 0x0004, 0x2089, 0x2e49, 0x2051, 0x1800, 0x2a70, 0x20e1, + 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e5a, 0x2029, 0x4d00, 0x2031, 0xffff, 0x2039, 0x4cd0, 0x2021, 0x0200, 0x20e9, 0x0001, 0x20a1, 0x0000, 0x20a9, 0x0800, 0x900e, 0x4104, 0x20e9, 0x0001, 0x20a1, 0x1000, 0x900e, 0x2001, 0x0cc0, 0x9084, 0x0fff, 0x20a8, 0x4104, 0x2001, 0x0000, 0x9086, 0x0000, 0x0120, 0x21a8, - 0x4104, 0x8001, 0x1de0, 0x756a, 0x766e, 0x7766, 0x7472, 0x7476, - 0x00e6, 0x2071, 0x1aac, 0x2472, 0x00ee, 0x20a1, 0x1cd0, 0x716c, + 0x4104, 0x8001, 0x1de0, 0x756e, 0x7672, 0x776a, 0x7476, 0x747a, + 0x00e6, 0x2071, 0x1ad4, 0x2472, 0x00ee, 0x20a1, 0x1cd0, 0x7170, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x000f, 0x2001, 0x0001, - 0x9112, 0x900e, 0x21a8, 0x4104, 0x8211, 0x1de0, 0x716c, 0x3400, + 0x9112, 0x900e, 0x21a8, 0x4104, 0x8211, 0x1de0, 0x7170, 0x3400, 0x8001, 0x9102, 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x2009, 0x1800, 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, - 0x20a9, 0x0800, 0x4104, 0x8211, 0x1dd8, 0x080c, 0x0f25, 0x080c, - 0x5fc1, 0x080c, 0xa333, 0x080c, 0x10dc, 0x080c, 0x12c4, 0x080c, - 0x1ae1, 0x080c, 0x0d55, 0x080c, 0x1061, 0x080c, 0x3368, 0x080c, - 0x7660, 0x080c, 0x695d, 0x080c, 0x83d5, 0x080c, 0x23a4, 0x080c, - 0x874c, 0x080c, 0x7cf9, 0x080c, 0x21d9, 0x080c, 0x230d, 0x080c, - 0x2399, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x091d, 0x7880, - 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, - 0x0010, 0x0e04, 0x0911, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x190c, 0x11a9, 0x2071, 0x1800, 0x7003, - 0x0000, 0x2071, 0x1800, 0x7000, 0x908e, 0x0003, 0x1168, 0x080c, - 0x4c32, 0x080c, 0x338f, 0x080c, 0x76d1, 0x080c, 0x6e62, 0x080c, - 0x8401, 0x080c, 0x2b72, 0x0c68, 0x000b, 0x0c88, 0x0940, 0x0941, - 0x0ade, 0x093e, 0x0b9e, 0x0d54, 0x0d54, 0x0d54, 0x080c, 0x0dc3, - 0x0005, 0x0126, 0x00f6, 0x2091, 0x8000, 0x7000, 0x9086, 0x0001, - 0x1904, 0x0ab1, 0x080c, 0x0e93, 0x080c, 0x7351, 0x0150, 0x080c, - 0x7374, 0x15b0, 0x2079, 0x0100, 0x7828, 0x9085, 0x1800, 0x782a, - 0x0478, 0x080c, 0x727e, 0x7000, 0x9086, 0x0001, 0x1904, 0x0ab1, - 0x7094, 0x9086, 0x0029, 0x1904, 0x0ab1, 0x080c, 0x83b5, 0x080c, - 0x83a7, 0x2079, 0x0100, 0x782f, 0x0008, 0x2001, 0x0161, 0x2003, - 0x0001, 0x7827, 0xffff, 0x7a28, 0x9295, 0x5e2f, 0x7a2a, 0x2011, - 0x71cd, 0x080c, 0x84c2, 0x2011, 0x71c0, 0x080c, 0x85e0, 0x2011, - 0x5e1c, 0x080c, 0x84c2, 0x2011, 0x8030, 0x901e, 0x7392, 0x04d0, - 0x080c, 0x56c4, 0x2079, 0x0100, 0x7844, 0x9005, 0x1904, 0x0ab1, - 0x2011, 0x5e1c, 0x080c, 0x84c2, 0x2011, 0x71cd, 0x080c, 0x84c2, - 0x2011, 0x71c0, 0x080c, 0x85e0, 0x2001, 0x0265, 0x2001, 0x0205, - 0x2003, 0x0000, 0x7840, 0x9084, 0xfffb, 0x7842, 0x2001, 0x1983, - 0x2004, 0x9005, 0x1140, 0x00c6, 0x2061, 0x0100, 0x080c, 0x5f69, - 0x00ce, 0x0804, 0x0ab1, 0x780f, 0x006b, 0x7a28, 0x080c, 0x7359, - 0x0118, 0x9295, 0x5e2f, 0x0010, 0x9295, 0x402f, 0x7a2a, 0x2011, - 0x8010, 0x73d4, 0x2001, 0x1984, 0x2003, 0x0001, 0x080c, 0x2a17, - 0x080c, 0x4b6d, 0x7244, 0xc284, 0x7246, 0x2001, 0x180c, 0x200c, - 0xc1ac, 0xc1cc, 0x2102, 0x080c, 0x9b9c, 0x2011, 0x0004, 0x080c, - 0xc1dd, 0x080c, 0x6758, 0x080c, 0x7351, 0x1120, 0x080c, 0x2a5b, - 0x02e0, 0x0400, 0x080c, 0x5f70, 0x0140, 0x7093, 0x0001, 0x70cf, - 0x0000, 0x080c, 0x5896, 0x0804, 0x0ab1, 0x080c, 0x5664, 0xd094, - 0x0188, 0x2011, 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, 0x5668, - 0xd0d4, 0x1118, 0x080c, 0x2a5b, 0x1270, 0x2011, 0x180c, 0x2204, - 0xc0bc, 0x00a8, 0x080c, 0x5668, 0xd0d4, 0x1db8, 0x2011, 0x180c, - 0x2204, 0xc0bd, 0x0060, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x2012, - 0x080c, 0x6865, 0x1128, 0xd0a4, 0x0118, 0x2204, 0xc0fd, 0x2012, - 0x080c, 0x682b, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x00a8, 0x707b, - 0x0000, 0x080c, 0x7351, 0x1130, 0x70ac, 0x9005, 0x1168, 0x080c, - 0xc617, 0x0050, 0x080c, 0xc617, 0x70d8, 0xd09c, 0x1128, 0x70ac, - 0x9005, 0x0110, 0x080c, 0x5f46, 0x70e3, 0x0000, 0x70df, 0x0000, - 0x70a3, 0x0000, 0x080c, 0x2a63, 0x0228, 0x2011, 0x0101, 0x2204, - 0xc0c4, 0x2012, 0x72d8, 0x080c, 0x7351, 0x1178, 0x9016, 0x0016, - 0x080c, 0x2820, 0x2019, 0x1949, 0x211a, 0x001e, 0x705b, 0xffff, - 0x705f, 0x00ef, 0x707f, 0x0000, 0x0020, 0x2019, 0x1949, 0x201b, - 0x0000, 0x2079, 0x185e, 0x7804, 0xd0ac, 0x0108, 0xc295, 0x72da, - 0x080c, 0x7351, 0x0118, 0x9296, 0x0004, 0x0548, 0x2011, 0x0001, - 0x080c, 0xc1dd, 0x70a7, 0x0000, 0x70ab, 0xffff, 0x7003, 0x0002, + 0x20a9, 0x0800, 0x4104, 0x8211, 0x1dd8, 0x080c, 0x0f2e, 0x080c, + 0x62c2, 0x080c, 0xb4d2, 0x080c, 0x10f9, 0x080c, 0x131b, 0x080c, + 0x1c33, 0x080c, 0x0d5e, 0x080c, 0x106a, 0x080c, 0x3571, 0x080c, + 0x7b0e, 0x080c, 0x6d4b, 0x080c, 0x8cdb, 0x080c, 0x8972, 0x080c, + 0x2515, 0x080c, 0x95d8, 0x080c, 0x822e, 0x080c, 0x2346, 0x080c, + 0x247a, 0x080c, 0x250a, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, + 0x091f, 0x7880, 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, + 0x4000, 0x7833, 0x0010, 0x0e04, 0x0913, 0x2091, 0x5000, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c6, 0x2071, + 0x1800, 0x7003, 0x0000, 0x2071, 0x1800, 0x7000, 0x908e, 0x0003, + 0x1178, 0x080c, 0x4e84, 0x080c, 0x3598, 0x080c, 0x7b7f, 0x080c, + 0x72ed, 0x080c, 0x8dc2, 0x080c, 0x899e, 0x080c, 0x2d52, 0x0c58, + 0x000b, 0x0c78, 0x0944, 0x0945, 0x0ae2, 0x0942, 0x0ba7, 0x0d5d, + 0x0d5d, 0x0d5d, 0x080c, 0x0dcc, 0x0005, 0x0126, 0x00f6, 0x2091, + 0x8000, 0x7000, 0x9086, 0x0001, 0x1904, 0x0ab3, 0x080c, 0x0e9c, + 0x080c, 0x77ff, 0x0150, 0x080c, 0x7822, 0x15b0, 0x2079, 0x0100, + 0x7828, 0x9085, 0x1800, 0x782a, 0x0478, 0x080c, 0x772c, 0x7000, + 0x9086, 0x0001, 0x1904, 0x0ab3, 0x7098, 0x9086, 0x0029, 0x1904, + 0x0ab3, 0x080c, 0x8952, 0x080c, 0x8944, 0x2079, 0x0100, 0x782f, + 0x0008, 0x2001, 0x0161, 0x2003, 0x0001, 0x7827, 0xffff, 0x7a28, + 0x9295, 0x5e2f, 0x7a2a, 0x2011, 0x767b, 0x080c, 0x8a65, 0x2011, + 0x766e, 0x080c, 0x8b89, 0x2011, 0x611b, 0x080c, 0x8a65, 0x2011, + 0x8030, 0x901e, 0x7396, 0x04c0, 0x080c, 0x59bf, 0x2079, 0x0100, + 0x7844, 0x9005, 0x1904, 0x0ab3, 0x2011, 0x611b, 0x080c, 0x8a65, + 0x2011, 0x767b, 0x080c, 0x8a65, 0x2011, 0x766e, 0x080c, 0x8b89, + 0x2001, 0x0205, 0x2003, 0x0000, 0x7840, 0x9084, 0xfffb, 0x7842, + 0x2001, 0x19aa, 0x2004, 0x9005, 0x1140, 0x00c6, 0x2061, 0x0100, + 0x080c, 0x626a, 0x00ce, 0x0804, 0x0ab3, 0x780f, 0x006b, 0x7a28, + 0x080c, 0x7807, 0x0118, 0x9295, 0x5e2f, 0x0010, 0x9295, 0x402f, + 0x7a2a, 0x2011, 0x8010, 0x73d8, 0x2001, 0x19ab, 0x2003, 0x0001, + 0x080c, 0x2bf7, 0x080c, 0x4dbf, 0x7248, 0xc284, 0x724a, 0x2001, + 0x180c, 0x200c, 0xc1ac, 0xc1cc, 0x2102, 0x080c, 0xabfd, 0x2011, + 0x0004, 0x080c, 0xd404, 0x080c, 0x6aef, 0x080c, 0x77ff, 0x1120, + 0x080c, 0x2c3b, 0x02e0, 0x0400, 0x080c, 0x6271, 0x0140, 0x7097, + 0x0001, 0x70d3, 0x0000, 0x080c, 0x5b91, 0x0804, 0x0ab3, 0x080c, + 0x595f, 0xd094, 0x0188, 0x2011, 0x180c, 0x2204, 0xc0cd, 0x2012, + 0x080c, 0x5963, 0xd0d4, 0x1118, 0x080c, 0x2c3b, 0x1270, 0x2011, + 0x180c, 0x2204, 0xc0bc, 0x00a8, 0x080c, 0x5963, 0xd0d4, 0x1db8, + 0x2011, 0x180c, 0x2204, 0xc0bd, 0x0060, 0x2011, 0x180c, 0x2204, + 0xc0bd, 0x2012, 0x080c, 0x6c53, 0x1128, 0xd0a4, 0x0118, 0x2204, + 0xc0fd, 0x2012, 0x080c, 0x6c19, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, + 0x00a8, 0x707f, 0x0000, 0x080c, 0x77ff, 0x1130, 0x70b0, 0x9005, + 0x1168, 0x080c, 0xd855, 0x0050, 0x080c, 0xd855, 0x70dc, 0xd09c, + 0x1128, 0x70b0, 0x9005, 0x0110, 0x080c, 0x6247, 0x70e7, 0x0000, + 0x70e3, 0x0000, 0x70a7, 0x0000, 0x080c, 0x2c43, 0x0228, 0x2011, + 0x0101, 0x2204, 0xc0c4, 0x2012, 0x72dc, 0x080c, 0x77ff, 0x1178, + 0x9016, 0x0016, 0x080c, 0x2a00, 0x2019, 0x1970, 0x211a, 0x001e, + 0x705f, 0xffff, 0x7063, 0x00ef, 0x7083, 0x0000, 0x0020, 0x2019, + 0x1970, 0x201b, 0x0000, 0x2079, 0x184a, 0x7804, 0xd0ac, 0x0108, + 0xc295, 0x72de, 0x080c, 0x77ff, 0x0118, 0x9296, 0x0004, 0x0548, + 0x2011, 0x0001, 0x080c, 0xd404, 0x70ab, 0x0000, 0x70af, 0xffff, + 0x7003, 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, + 0x0003, 0x782a, 0x00fe, 0x080c, 0x30b6, 0x2011, 0x0005, 0x080c, + 0xad0c, 0x080c, 0x9ce8, 0x080c, 0x77ff, 0x0148, 0x00c6, 0x2061, + 0x0100, 0x0016, 0x080c, 0x2a00, 0x61e2, 0x001e, 0x00ce, 0x012e, + 0x0420, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, 0x782a, - 0x00fe, 0x080c, 0x2ed6, 0x2011, 0x0005, 0x080c, 0x9ca7, 0x080c, - 0x8e38, 0x080c, 0x7351, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, - 0x080c, 0x2820, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, 0x70a7, - 0x0000, 0x70ab, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, 0x0100, - 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, 0x782a, 0x00fe, 0x2011, - 0x0005, 0x080c, 0x9ca7, 0x080c, 0x8e38, 0x080c, 0x7351, 0x0148, - 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2820, 0x61e2, 0x001e, - 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x00b6, 0x080c, 0x7351, - 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, 0x7351, - 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, 0x0138, 0x9180, - 0x1000, 0x2004, 0x905d, 0x0110, 0xb800, 0xd0bc, 0x090c, 0x31fe, - 0x8108, 0x1f04, 0x0ac5, 0x707b, 0x0000, 0x707c, 0x9084, 0x00ff, - 0x707e, 0x70af, 0x0000, 0x00be, 0x00ce, 0x0005, 0x00b6, 0x0126, - 0x2091, 0x8000, 0x7000, 0x9086, 0x0002, 0x1904, 0x0b9b, 0x70a8, - 0x9086, 0xffff, 0x0130, 0x080c, 0x2ed6, 0x080c, 0x8e38, 0x0804, - 0x0b9b, 0x70d8, 0xd0ac, 0x1110, 0xd09c, 0x0558, 0xd084, 0x0548, - 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0xd08c, 0x0508, - 0x080c, 0x3261, 0x11d0, 0x70dc, 0x9086, 0xffff, 0x01b0, 0x080c, - 0x306e, 0x080c, 0x8e38, 0x70d8, 0xd094, 0x1904, 0x0b9b, 0x2011, - 0x0001, 0x080c, 0xc8ce, 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, - 0x30a8, 0x080c, 0x8e38, 0x0804, 0x0b9b, 0x70e0, 0x9005, 0x1904, - 0x0b9b, 0x70a4, 0x9005, 0x1904, 0x0b9b, 0x70d8, 0xd0a4, 0x0118, - 0xd0b4, 0x0904, 0x0b9b, 0x080c, 0x682b, 0x1904, 0x0b9b, 0x080c, - 0x687e, 0x1904, 0x0b9b, 0x080c, 0x6865, 0x01c0, 0x0156, 0x00c6, - 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x64fc, 0x1118, 0xb800, - 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0b3b, 0x00ce, 0x015e, - 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0b9b, 0x0006, 0x2001, - 0x0103, 0x2003, 0x006b, 0x000e, 0x2011, 0x1990, 0x080c, 0x0f95, - 0x2011, 0x19aa, 0x080c, 0x0f95, 0x7030, 0xc08c, 0x7032, 0x7003, - 0x0003, 0x70ab, 0xffff, 0x080c, 0x0e75, 0x9006, 0x080c, 0x26b1, - 0x080c, 0x3261, 0x0118, 0x080c, 0x4d0a, 0x0050, 0x0036, 0x0046, - 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x4d24, 0x004e, 0x003e, - 0x00f6, 0x2079, 0x0100, 0x080c, 0x7374, 0x0150, 0x080c, 0x7351, - 0x7828, 0x0118, 0x9084, 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, - 0x00fe, 0x2001, 0x19c5, 0x2004, 0x9086, 0x0005, 0x1120, 0x2011, - 0x0000, 0x080c, 0x9ca7, 0x2011, 0x0000, 0x080c, 0x9cb1, 0x080c, - 0x8e38, 0x080c, 0x8f0e, 0x012e, 0x00be, 0x0005, 0x0016, 0x0046, - 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, 0x918c, - 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x5f2f, 0x7940, 0x918c, - 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, 0xd19c, - 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, 0xd1ac, - 0x1904, 0x0c2b, 0x2001, 0x1984, 0x2004, 0x9005, 0x1518, 0x080c, - 0x2ade, 0x1148, 0x2001, 0x0001, 0x080c, 0x2a46, 0x2001, 0x0001, - 0x080c, 0x2a29, 0x00b8, 0x080c, 0x2ae6, 0x1138, 0x9006, 0x080c, - 0x2a46, 0x9006, 0x080c, 0x2a29, 0x0068, 0x080c, 0x2aee, 0x1d50, - 0x2001, 0x1974, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x2854, - 0x0804, 0x0d0b, 0x080c, 0x7362, 0x0148, 0x080c, 0x7374, 0x1118, - 0x080c, 0x765b, 0x0050, 0x080c, 0x7359, 0x0dd0, 0x080c, 0x7656, - 0x080c, 0x764c, 0x080c, 0x727e, 0x0058, 0x080c, 0x7351, 0x0140, - 0x2009, 0x00f8, 0x080c, 0x5f2f, 0x7843, 0x0090, 0x7843, 0x0010, - 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x7351, 0x0138, - 0x7824, 0xd0ac, 0x1904, 0x0d10, 0x1f04, 0x0c0a, 0x0070, 0x7824, - 0x080c, 0x736b, 0x0118, 0xd0ac, 0x1904, 0x0d10, 0x9084, 0x1800, - 0x0d98, 0x7003, 0x0001, 0x0804, 0x0d10, 0x2001, 0x0001, 0x080c, - 0x26b1, 0x0804, 0x0d23, 0x2001, 0x1984, 0x2004, 0x9005, 0x1518, - 0x080c, 0x2ade, 0x1148, 0x2001, 0x0001, 0x080c, 0x2a46, 0x2001, - 0x0001, 0x080c, 0x2a29, 0x00b8, 0x080c, 0x2ae6, 0x1138, 0x9006, - 0x080c, 0x2a46, 0x9006, 0x080c, 0x2a29, 0x0068, 0x080c, 0x2aee, - 0x1d50, 0x2001, 0x1974, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, - 0x2854, 0x0804, 0x0d0b, 0x7850, 0x9085, 0x0040, 0x7852, 0x7938, - 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2af6, 0x9085, 0x2000, - 0x7852, 0x793a, 0x20a9, 0x0046, 0x1d04, 0x0c64, 0x080c, 0x85c0, - 0x1f04, 0x0c64, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x7852, - 0x793a, 0x080c, 0x7362, 0x0148, 0x080c, 0x7374, 0x1118, 0x080c, - 0x765b, 0x0050, 0x080c, 0x7359, 0x0dd0, 0x080c, 0x7656, 0x080c, - 0x764c, 0x080c, 0x727e, 0x0020, 0x2009, 0x00f8, 0x080c, 0x5f2f, - 0x20a9, 0x0028, 0xa001, 0x1f04, 0x0c8a, 0x7850, 0x9085, 0x1400, - 0x7852, 0x080c, 0x7351, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, - 0x2021, 0xe678, 0x2019, 0xea60, 0x0d0c, 0x85c0, 0x7820, 0xd09c, - 0x1588, 0x080c, 0x7351, 0x0904, 0x0cf0, 0x7824, 0xd0ac, 0x1904, - 0x0d10, 0x080c, 0x7374, 0x1530, 0x0046, 0x2021, 0x0320, 0x8421, - 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x2af6, 0x7824, 0x9084, - 0x1800, 0x1168, 0x9484, 0x0fff, 0x1140, 0x2001, 0x1810, 0x2004, - 0x9084, 0x9000, 0x0110, 0x080c, 0x0d31, 0x8421, 0x1158, 0x1d04, - 0x0ccb, 0x080c, 0x85c0, 0x080c, 0x7656, 0x080c, 0x764c, 0x7003, - 0x0001, 0x04f0, 0x8319, 0x1940, 0x1d04, 0x0cd8, 0x080c, 0x85c0, - 0x2009, 0x1977, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, 0x1178, - 0x200b, 0x000a, 0x7827, 0x0048, 0x20a9, 0x0002, 0x080c, 0x2ad7, - 0x7924, 0x080c, 0x2af6, 0xd19c, 0x0110, 0x080c, 0x2a17, 0x00d8, - 0x080c, 0x7362, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, 0x7329, - 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x2af6, 0x7824, - 0x080c, 0x736b, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, 0x0950, - 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x26b1, 0x0078, - 0x2009, 0x180c, 0x210c, 0xd19c, 0x1120, 0x7904, 0x918d, 0x0002, - 0x7906, 0x7827, 0x0048, 0x7828, 0x9085, 0x0028, 0x782a, 0x7850, - 0x9085, 0x0400, 0x7852, 0x2001, 0x1984, 0x2003, 0x0000, 0x9006, - 0x78f2, 0x015e, 0x003e, 0x000e, 0x012e, 0x00fe, 0x004e, 0x001e, - 0x0005, 0x0006, 0x0016, 0x0036, 0x0046, 0x00b6, 0x00c6, 0x00d6, - 0x00e6, 0x00f6, 0x0156, 0x0069, 0x0d0c, 0x85c0, 0x015e, 0x00fe, - 0x00ee, 0x00de, 0x00ce, 0x00be, 0x004e, 0x003e, 0x001e, 0x000e, - 0x0005, 0x00e6, 0x2071, 0x189f, 0x7004, 0x9086, 0x0001, 0x1110, - 0x080c, 0x338f, 0x00ee, 0x0005, 0x0005, 0x2a70, 0x2061, 0x1988, - 0x2063, 0x0003, 0x6007, 0x0003, 0x600b, 0x001a, 0x600f, 0x0117, - 0x2001, 0x1958, 0x900e, 0x2102, 0x7192, 0x2001, 0x0100, 0x2004, - 0x9082, 0x0002, 0x0218, 0x705b, 0xffff, 0x0008, 0x715a, 0x7063, - 0xffff, 0x717a, 0x717e, 0x080c, 0xc617, 0x70e7, 0x00c0, 0x2061, - 0x1948, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, 0x0200, - 0x6013, 0x00ff, 0x6017, 0x000f, 0x611a, 0x601f, 0x07d0, 0x2061, - 0x1950, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, 0x6013, - 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, 0x1965, 0x6003, - 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, 0x2020, 0x2001, - 0x182b, 0x2102, 0x0005, 0x9016, 0x080c, 0x64fc, 0x1178, 0xb804, - 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, 0x98c6, - 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, 0x9186, - 0x0800, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, 0x2079, 0x0000, - 0x000e, 0x00f6, 0x0010, 0x2091, 0x8000, 0x0e04, 0x0dc5, 0x0006, - 0x0016, 0x2001, 0x8002, 0x0006, 0x2079, 0x0000, 0x000e, 0x7882, - 0x7836, 0x001e, 0x798e, 0x000e, 0x788a, 0x000e, 0x7886, 0x3900, - 0x789a, 0x00d6, 0x2069, 0x0300, 0x6818, 0x78ae, 0x681c, 0x78b2, - 0x2001, 0x19e5, 0x2004, 0x78b6, 0x2001, 0x1a61, 0x2004, 0x78ba, - 0x6808, 0x78be, 0x00de, 0x7833, 0x0012, 0x2091, 0x5000, 0x0156, - 0x00d6, 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x1a84, 0x7a08, - 0x226a, 0x2069, 0x1a85, 0x7a18, 0x226a, 0x8d68, 0x7a1c, 0x226a, - 0x782c, 0x2019, 0x1a92, 0x201a, 0x2019, 0x1a95, 0x9016, 0x7808, - 0xd09c, 0x0168, 0x7820, 0x201a, 0x8210, 0x8318, 0x9386, 0x1aaa, - 0x0108, 0x0ca8, 0x7808, 0xd09c, 0x0110, 0x2011, 0xdead, 0x2019, - 0x1a93, 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, 0x2069, - 0x1a64, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, - 0x8318, 0x1f04, 0x0e24, 0x002e, 0x003e, 0x00de, 0x015e, 0x2079, - 0x1800, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x0188, 0x2001, 0x19f8, 0x2004, 0x9005, 0x0130, 0x2001, - 0x008b, 0x2004, 0x9084, 0x8004, 0x0dd0, 0x2001, 0x008a, 0x2003, - 0x0002, 0x2003, 0x1001, 0x080c, 0x5673, 0x1108, 0x0099, 0x0cd8, - 0x0005, 0x918c, 0x03ff, 0x2001, 0x0003, 0x2004, 0x9084, 0x0600, - 0x1118, 0x918d, 0x2800, 0x0010, 0x918d, 0x2000, 0x2001, 0x017f, - 0x2102, 0x0005, 0x0026, 0x0126, 0x2011, 0x0080, 0x080c, 0x0eed, - 0x20a9, 0x0900, 0x080c, 0x0f0e, 0x2011, 0x0040, 0x080c, 0x0eed, - 0x20a9, 0x0900, 0x080c, 0x0f0e, 0x0c78, 0x0026, 0x080c, 0x0efa, - 0x1118, 0x2011, 0x0040, 0x0098, 0x2011, 0x010e, 0x2214, 0x9294, - 0x0007, 0x9296, 0x0007, 0x0118, 0x2011, 0xa880, 0x0010, 0x2011, - 0x6840, 0xd0e4, 0x70eb, 0x0000, 0x1120, 0x70eb, 0x0fa0, 0x080c, - 0x0eff, 0x002e, 0x0005, 0x0026, 0x080c, 0x0efa, 0x0128, 0xd0a4, - 0x1138, 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, 0x080c, 0x0eff, - 0x002e, 0x0005, 0x0026, 0x70eb, 0x0000, 0x080c, 0x0efa, 0x1148, - 0x080c, 0x2aee, 0x1118, 0x2011, 0x8484, 0x0058, 0x2011, 0x8282, - 0x0040, 0x080c, 0x2aee, 0x1118, 0x2011, 0xcdc5, 0x0010, 0x2011, - 0xcac2, 0x080c, 0x0eff, 0x002e, 0x0005, 0x00e6, 0x0006, 0x2071, - 0x1800, 0xd0b4, 0x70e4, 0x1110, 0xc0e4, 0x0048, 0x0006, 0x3b00, - 0x9084, 0xff3f, 0x20d8, 0x000e, 0x70eb, 0x0000, 0xc0e5, 0x0079, - 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0xd0e4, 0x70e4, - 0x1110, 0xc0dc, 0x0008, 0xc0dd, 0x0011, 0x00ee, 0x0005, 0x70e6, - 0x7000, 0x9084, 0x0007, 0x000b, 0x0005, 0x0ebc, 0x0e93, 0x0e93, - 0x0e75, 0x0ea2, 0x0e93, 0x0e93, 0x0ea2, 0x0016, 0x3b08, 0x3a00, - 0x9104, 0x918d, 0x00c0, 0x21d8, 0x9084, 0xff3f, 0x9205, 0x20d0, - 0x001e, 0x0005, 0x2001, 0x1839, 0x2004, 0xd0dc, 0x0005, 0x9e86, - 0x1800, 0x190c, 0x0dc3, 0x70e4, 0xd0e4, 0x0108, 0xc2e5, 0x72e6, - 0xd0e4, 0x1118, 0x9294, 0x00c0, 0x0c01, 0x0005, 0x1d04, 0x0f0e, - 0x2091, 0x6000, 0x1f04, 0x0f0e, 0x0005, 0x890e, 0x810e, 0x810f, - 0x9194, 0x003f, 0x918c, 0xffc0, 0x0005, 0x0006, 0x2200, 0x914d, - 0x894f, 0x894d, 0x894d, 0x000e, 0x0005, 0x01d6, 0x0146, 0x0036, - 0x0096, 0x2061, 0x188e, 0x600b, 0x0000, 0x600f, 0x0000, 0x6003, - 0x0000, 0x6007, 0x0000, 0x2009, 0xffc0, 0x2105, 0x0006, 0x2001, - 0xaaaa, 0x200f, 0x2019, 0x5555, 0x9016, 0x2049, 0x0bff, 0xab02, - 0xa001, 0xa001, 0xa800, 0x9306, 0x1138, 0x2105, 0x9306, 0x0120, - 0x8210, 0x99c8, 0x0400, 0x0c98, 0x000e, 0x200f, 0x2001, 0x189e, - 0x928a, 0x000e, 0x1638, 0x928a, 0x0006, 0x2011, 0x0006, 0x1210, - 0x2011, 0x0000, 0x2202, 0x9006, 0x2008, 0x82ff, 0x01b0, 0x8200, - 0x600a, 0x600f, 0xffff, 0x6003, 0x0002, 0x6007, 0x0000, 0x0026, - 0x2019, 0x0010, 0x9280, 0x0001, 0x20e8, 0x21a0, 0x21a8, 0x4104, - 0x8319, 0x1de0, 0x8211, 0x1da0, 0x002e, 0x009e, 0x003e, 0x014e, - 0x01de, 0x0005, 0x2011, 0x000e, 0x08e8, 0x0016, 0x0026, 0x0096, - 0x3348, 0x080c, 0x0f15, 0x2100, 0x9300, 0x2098, 0x22e0, 0x009e, - 0x002e, 0x001e, 0x0036, 0x3518, 0x20a9, 0x0001, 0x4002, 0x8007, - 0x4004, 0x8319, 0x1dd8, 0x003e, 0x0005, 0x20e9, 0x0001, 0x71b4, - 0x81ff, 0x11c0, 0x9006, 0x2009, 0x0200, 0x20a9, 0x0002, 0x9298, - 0x0018, 0x23a0, 0x4001, 0x2009, 0x0700, 0x20a9, 0x0002, 0x9298, - 0x0008, 0x23a0, 0x4001, 0x7078, 0x8007, 0x717c, 0x810f, 0x20a9, - 0x0002, 0x4001, 0x9298, 0x000c, 0x23a0, 0x900e, 0x080c, 0x0da3, - 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x4001, 0x0005, 0x89ff, - 0x0140, 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x103f, 0x009e, - 0x0cb0, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, 0x10b8, 0x090c, - 0x0dc3, 0x00ee, 0x0005, 0x0086, 0x00e6, 0x0006, 0x0026, 0x0036, - 0x0126, 0x2091, 0x8000, 0x00c9, 0x2071, 0x1800, 0x73bc, 0x702c, - 0x9016, 0x9045, 0x0158, 0x8210, 0x9906, 0x090c, 0x0dc3, 0x2300, - 0x9202, 0x0120, 0x1a0c, 0x0dc3, 0xa000, 0x0c98, 0x012e, 0x003e, - 0x002e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x0086, 0x00e6, 0x0006, - 0x0126, 0x2091, 0x8000, 0x2071, 0x1911, 0x7010, 0x9005, 0x0140, - 0x7018, 0x9045, 0x0128, 0x9906, 0x090c, 0x0dc3, 0xa000, 0x0cc8, - 0x012e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x00e6, 0x2071, 0x1800, - 0x0126, 0x2091, 0x8000, 0x70bc, 0x8001, 0x0270, 0x70be, 0x702c, - 0x2048, 0x9085, 0x0001, 0xa800, 0x702e, 0xa803, 0x0000, 0xa807, - 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, 0x0cd8, 0x00e6, 0x0126, - 0x2091, 0x8000, 0x2071, 0x1800, 0x70bc, 0x90ca, 0x0040, 0x0268, - 0x8001, 0x70be, 0x702c, 0x2048, 0xa800, 0x702e, 0xa803, 0x0000, + 0x00fe, 0x2011, 0x0005, 0x080c, 0xad0c, 0x080c, 0x9ce8, 0x080c, + 0x77ff, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2a00, + 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x00f6, + 0x00b6, 0x080c, 0x77ff, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, + 0x0782, 0x080c, 0x77ff, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, + 0x86ff, 0x0138, 0x9180, 0x1000, 0x2004, 0x905d, 0x0110, 0xb800, + 0xd0bc, 0x090c, 0x3407, 0x8108, 0x1f04, 0x0ac8, 0x707f, 0x0000, + 0x7080, 0x9084, 0x00ff, 0x7082, 0x70b3, 0x0000, 0x00be, 0x00fe, + 0x00ce, 0x0005, 0x00b6, 0x0126, 0x2091, 0x8000, 0x7000, 0x9086, + 0x0002, 0x1904, 0x0ba4, 0x70ac, 0x9086, 0xffff, 0x0130, 0x080c, + 0x30b6, 0x080c, 0x9ce8, 0x0804, 0x0ba4, 0x70dc, 0xd0ac, 0x1110, + 0xd09c, 0x0580, 0xd084, 0x0570, 0x0006, 0x2001, 0x0103, 0x2003, + 0x002b, 0x000e, 0xd08c, 0x0530, 0x080c, 0x346a, 0x11d0, 0x70e0, + 0x9086, 0xffff, 0x01b0, 0x080c, 0x3272, 0x080c, 0x9ce8, 0x70dc, + 0xd094, 0x1904, 0x0ba4, 0x2011, 0x0001, 0x080c, 0xdb0c, 0x0110, + 0x2011, 0x0003, 0x901e, 0x080c, 0x32ac, 0x080c, 0x9ce8, 0x0804, + 0x0ba4, 0x70dc, 0xd0f4, 0x1110, 0xd094, 0x0d68, 0x70e4, 0x9005, + 0x1904, 0x0ba4, 0x70a8, 0x9005, 0x1904, 0x0ba4, 0x70dc, 0xd0a4, + 0x0118, 0xd0b4, 0x0904, 0x0ba4, 0x080c, 0x6c19, 0x1904, 0x0ba4, + 0x080c, 0x6c6c, 0x1904, 0x0ba4, 0x080c, 0x6c53, 0x01c0, 0x0156, + 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6890, 0x1118, + 0xb800, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0b44, 0x00ce, + 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0ba4, 0x0006, + 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0x2011, 0x19b7, 0x080c, + 0x0f9e, 0x2011, 0x19d1, 0x080c, 0x0f9e, 0x7030, 0xc08c, 0x7032, + 0x7003, 0x0003, 0x70af, 0xffff, 0x080c, 0x0e7e, 0x9006, 0x080c, + 0x2891, 0x080c, 0x346a, 0x0118, 0x080c, 0x4f5c, 0x0050, 0x0036, + 0x0046, 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x4f76, 0x004e, + 0x003e, 0x00f6, 0x2079, 0x0100, 0x080c, 0x7822, 0x0150, 0x080c, + 0x77ff, 0x7828, 0x0118, 0x9084, 0xe1ff, 0x0010, 0x9084, 0xffdf, + 0x782a, 0x00fe, 0x2001, 0x19ec, 0x2004, 0x9086, 0x0005, 0x1120, + 0x2011, 0x0000, 0x080c, 0xad0c, 0x2011, 0x0000, 0x080c, 0xad16, + 0x080c, 0x9ce8, 0x080c, 0x9e03, 0x012e, 0x00be, 0x0005, 0x0016, + 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, + 0x918c, 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x6230, 0x7940, + 0x918c, 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, + 0xd19c, 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, + 0xd1ac, 0x1904, 0x0c34, 0x2001, 0x19ab, 0x2004, 0x9005, 0x1518, + 0x080c, 0x2cbe, 0x1148, 0x2001, 0x0001, 0x080c, 0x2c26, 0x2001, + 0x0001, 0x080c, 0x2c09, 0x00b8, 0x080c, 0x2cc6, 0x1138, 0x9006, + 0x080c, 0x2c26, 0x9006, 0x080c, 0x2c09, 0x0068, 0x080c, 0x2cce, + 0x1d50, 0x2001, 0x199b, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, + 0x2a34, 0x0804, 0x0d14, 0x080c, 0x7810, 0x0148, 0x080c, 0x7822, + 0x1118, 0x080c, 0x7b09, 0x0050, 0x080c, 0x7807, 0x0dd0, 0x080c, + 0x7b04, 0x080c, 0x7afa, 0x080c, 0x772c, 0x0058, 0x080c, 0x77ff, + 0x0140, 0x2009, 0x00f8, 0x080c, 0x6230, 0x7843, 0x0090, 0x7843, + 0x0010, 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x77ff, + 0x0138, 0x7824, 0xd0ac, 0x1904, 0x0d19, 0x1f04, 0x0c13, 0x0070, + 0x7824, 0x080c, 0x7819, 0x0118, 0xd0ac, 0x1904, 0x0d19, 0x9084, + 0x1800, 0x0d98, 0x7003, 0x0001, 0x0804, 0x0d19, 0x2001, 0x0001, + 0x080c, 0x2891, 0x0804, 0x0d2c, 0x2001, 0x19ab, 0x2004, 0x9005, + 0x1518, 0x080c, 0x2cbe, 0x1148, 0x2001, 0x0001, 0x080c, 0x2c26, + 0x2001, 0x0001, 0x080c, 0x2c09, 0x00b8, 0x080c, 0x2cc6, 0x1138, + 0x9006, 0x080c, 0x2c26, 0x9006, 0x080c, 0x2c09, 0x0068, 0x080c, + 0x2cce, 0x1d50, 0x2001, 0x199b, 0x2004, 0xd0fc, 0x0108, 0x0020, + 0x080c, 0x2a34, 0x0804, 0x0d14, 0x7850, 0x9085, 0x0040, 0x7852, + 0x7938, 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2cd6, 0x9085, + 0x2000, 0x7852, 0x793a, 0x20a9, 0x0046, 0x1d04, 0x0c6d, 0x080c, + 0x8b69, 0x1f04, 0x0c6d, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, + 0x7852, 0x793a, 0x080c, 0x7810, 0x0148, 0x080c, 0x7822, 0x1118, + 0x080c, 0x7b09, 0x0050, 0x080c, 0x7807, 0x0dd0, 0x080c, 0x7b04, + 0x080c, 0x7afa, 0x080c, 0x772c, 0x0020, 0x2009, 0x00f8, 0x080c, + 0x6230, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x0c93, 0x7850, 0x9085, + 0x1400, 0x7852, 0x080c, 0x77ff, 0x0120, 0x7843, 0x0090, 0x7843, + 0x0010, 0x2021, 0xe678, 0x2019, 0xea60, 0x0d0c, 0x8b69, 0x7820, + 0xd09c, 0x1588, 0x080c, 0x77ff, 0x0904, 0x0cf9, 0x7824, 0xd0ac, + 0x1904, 0x0d19, 0x080c, 0x7822, 0x1530, 0x0046, 0x2021, 0x0320, + 0x8421, 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x2cd6, 0x7824, + 0x9084, 0x1800, 0x1168, 0x9484, 0x0fff, 0x1140, 0x2001, 0x1810, + 0x2004, 0x9084, 0x9000, 0x0110, 0x080c, 0x0d3a, 0x8421, 0x1158, + 0x1d04, 0x0cd4, 0x080c, 0x8b69, 0x080c, 0x7b04, 0x080c, 0x7afa, + 0x7003, 0x0001, 0x04f0, 0x8319, 0x1940, 0x1d04, 0x0ce1, 0x080c, + 0x8b69, 0x2009, 0x199e, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, + 0x1178, 0x200b, 0x000a, 0x7827, 0x0048, 0x20a9, 0x0002, 0x080c, + 0x2cb7, 0x7924, 0x080c, 0x2cd6, 0xd19c, 0x0110, 0x080c, 0x2bf7, + 0x00d8, 0x080c, 0x7810, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, + 0x77d7, 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x2cd6, + 0x7824, 0x080c, 0x7819, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, + 0x0950, 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x2891, + 0x0078, 0x2009, 0x180c, 0x210c, 0xd19c, 0x1120, 0x7904, 0x918d, + 0x0002, 0x7906, 0x7827, 0x0048, 0x7828, 0x9085, 0x0028, 0x782a, + 0x7850, 0x9085, 0x0400, 0x7852, 0x2001, 0x19ab, 0x2003, 0x0000, + 0x9006, 0x78f2, 0x015e, 0x003e, 0x000e, 0x012e, 0x00fe, 0x004e, + 0x001e, 0x0005, 0x0006, 0x0016, 0x0036, 0x0046, 0x00b6, 0x00c6, + 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0069, 0x0d0c, 0x8b69, 0x015e, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x004e, 0x003e, 0x001e, + 0x000e, 0x0005, 0x00e6, 0x2071, 0x18a1, 0x7004, 0x9086, 0x0001, + 0x1110, 0x080c, 0x3598, 0x00ee, 0x0005, 0x0005, 0x2a70, 0x2061, + 0x19af, 0x2063, 0x0003, 0x6007, 0x0003, 0x600b, 0x001c, 0x600f, + 0x0137, 0x2001, 0x197f, 0x900e, 0x2102, 0x7196, 0x2001, 0x0100, + 0x2004, 0x9082, 0x0002, 0x0218, 0x705f, 0xffff, 0x0008, 0x715e, + 0x7067, 0xffff, 0x717e, 0x7182, 0x080c, 0xd855, 0x70eb, 0x00c0, + 0x2061, 0x196f, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, + 0x0200, 0x6013, 0x00ff, 0x6017, 0x001f, 0x611a, 0x601f, 0x07d0, + 0x2061, 0x1977, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, + 0x6013, 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, 0x198c, + 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, 0x2020, + 0x2001, 0x182c, 0x2102, 0x0005, 0x9016, 0x080c, 0x6890, 0x1178, + 0xb804, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, + 0x98c6, 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, + 0x9186, 0x0800, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, 0x2079, + 0x0000, 0x000e, 0x00f6, 0x0010, 0x2091, 0x8000, 0x0e04, 0x0dce, + 0x0006, 0x0016, 0x2001, 0x8002, 0x0006, 0x2079, 0x0000, 0x000e, + 0x7882, 0x7836, 0x001e, 0x798e, 0x000e, 0x788a, 0x000e, 0x7886, + 0x3900, 0x789a, 0x00d6, 0x2069, 0x0300, 0x6818, 0x78ae, 0x681c, + 0x78b2, 0x2001, 0x1a0c, 0x2004, 0x78b6, 0x2001, 0x1a89, 0x2004, + 0x78ba, 0x6808, 0x78be, 0x00de, 0x7833, 0x0012, 0x2091, 0x5000, + 0x0156, 0x00d6, 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x1aac, + 0x7a08, 0x226a, 0x2069, 0x1aad, 0x7a18, 0x226a, 0x8d68, 0x7a1c, + 0x226a, 0x782c, 0x2019, 0x1aba, 0x201a, 0x2019, 0x1abd, 0x9016, + 0x7808, 0xd09c, 0x0168, 0x7820, 0x201a, 0x8210, 0x8318, 0x9386, + 0x1ad2, 0x0108, 0x0ca8, 0x7808, 0xd09c, 0x0110, 0x2011, 0xdead, + 0x2019, 0x1abb, 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, + 0x2069, 0x1a8c, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, + 0x8d68, 0x8318, 0x1f04, 0x0e2d, 0x002e, 0x003e, 0x00de, 0x015e, + 0x2079, 0x1800, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x0188, 0x2001, 0x1a1f, 0x2004, 0x9005, 0x0130, + 0x2001, 0x008b, 0x2004, 0x9084, 0x8004, 0x0dd0, 0x2001, 0x008a, + 0x2003, 0x0002, 0x2003, 0x1001, 0x080c, 0x596e, 0x1108, 0x0099, + 0x0cd8, 0x0005, 0x918c, 0x03ff, 0x2001, 0x0003, 0x2004, 0x9084, + 0x0600, 0x1118, 0x918d, 0x2800, 0x0010, 0x918d, 0x2000, 0x2001, + 0x017f, 0x2102, 0x0005, 0x0026, 0x0126, 0x2011, 0x0080, 0x080c, + 0x0ef6, 0x20a9, 0x0900, 0x080c, 0x0f17, 0x2011, 0x0040, 0x080c, + 0x0ef6, 0x20a9, 0x0900, 0x080c, 0x0f17, 0x0c78, 0x0026, 0x080c, + 0x0f03, 0x1118, 0x2011, 0x0040, 0x0098, 0x2011, 0x010e, 0x2214, + 0x9294, 0x0007, 0x9296, 0x0007, 0x0118, 0x2011, 0xa880, 0x0010, + 0x2011, 0x6840, 0xd0e4, 0x70ef, 0x0000, 0x1120, 0x70ef, 0x0fa0, + 0x080c, 0x0f08, 0x002e, 0x0005, 0x0026, 0x080c, 0x0f03, 0x0128, + 0xd0a4, 0x1138, 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, 0x080c, + 0x0f08, 0x002e, 0x0005, 0x0026, 0x70ef, 0x0000, 0x080c, 0x0f03, + 0x1148, 0x080c, 0x2cce, 0x1118, 0x2011, 0x8484, 0x0058, 0x2011, + 0x8282, 0x0040, 0x080c, 0x2cce, 0x1118, 0x2011, 0xcdc5, 0x0010, + 0x2011, 0xcac2, 0x080c, 0x0f08, 0x002e, 0x0005, 0x00e6, 0x0006, + 0x2071, 0x1800, 0xd0b4, 0x70e8, 0x1110, 0xc0e4, 0x0048, 0x0006, + 0x3b00, 0x9084, 0xff3f, 0x20d8, 0x000e, 0x70ef, 0x0000, 0xc0e5, + 0x0079, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0xd0e4, + 0x70e8, 0x1110, 0xc0dc, 0x0008, 0xc0dd, 0x0011, 0x00ee, 0x0005, + 0x70ea, 0x7000, 0x9084, 0x0007, 0x000b, 0x0005, 0x0ec5, 0x0e9c, + 0x0e9c, 0x0e7e, 0x0eab, 0x0e9c, 0x0e9c, 0x0eab, 0x0016, 0x3b08, + 0x3a00, 0x9104, 0x918d, 0x00c0, 0x21d8, 0x9084, 0xff3f, 0x9205, + 0x20d0, 0x001e, 0x0005, 0x2001, 0x183a, 0x2004, 0xd0dc, 0x0005, + 0x9e86, 0x1800, 0x190c, 0x0dcc, 0x70e8, 0xd0e4, 0x0108, 0xc2e5, + 0x72ea, 0xd0e4, 0x1118, 0x9294, 0x00c0, 0x0c01, 0x0005, 0x1d04, + 0x0f17, 0x2091, 0x6000, 0x1f04, 0x0f17, 0x0005, 0x890e, 0x810e, + 0x810f, 0x9194, 0x003f, 0x918c, 0xffc0, 0x0005, 0x0006, 0x2200, + 0x914d, 0x894f, 0x894d, 0x894d, 0x000e, 0x0005, 0x01d6, 0x0146, + 0x0036, 0x0096, 0x2061, 0x1890, 0x600b, 0x0000, 0x600f, 0x0000, + 0x6003, 0x0000, 0x6007, 0x0000, 0x2009, 0xffc0, 0x2105, 0x0006, + 0x2001, 0xaaaa, 0x200f, 0x2019, 0x5555, 0x9016, 0x2049, 0x0bff, + 0xab02, 0xa001, 0xa001, 0xa800, 0x9306, 0x1138, 0x2105, 0x9306, + 0x0120, 0x8210, 0x99c8, 0x0400, 0x0c98, 0x000e, 0x200f, 0x2001, + 0x18a0, 0x928a, 0x000e, 0x1638, 0x928a, 0x0006, 0x2011, 0x0006, + 0x1210, 0x2011, 0x0000, 0x2202, 0x9006, 0x2008, 0x82ff, 0x01b0, + 0x8200, 0x600a, 0x600f, 0xffff, 0x6003, 0x0002, 0x6007, 0x0000, + 0x0026, 0x2019, 0x0010, 0x9280, 0x0001, 0x20e8, 0x21a0, 0x21a8, + 0x4104, 0x8319, 0x1de0, 0x8211, 0x1da0, 0x002e, 0x009e, 0x003e, + 0x014e, 0x01de, 0x0005, 0x2011, 0x000e, 0x08e8, 0x0016, 0x0026, + 0x0096, 0x3348, 0x080c, 0x0f1e, 0x2100, 0x9300, 0x2098, 0x22e0, + 0x009e, 0x002e, 0x001e, 0x0036, 0x3518, 0x20a9, 0x0001, 0x4002, + 0x8007, 0x4004, 0x8319, 0x1dd8, 0x003e, 0x0005, 0x20e9, 0x0001, + 0x71b8, 0x81ff, 0x11c0, 0x9006, 0x2009, 0x0200, 0x20a9, 0x0002, + 0x9298, 0x0018, 0x23a0, 0x4001, 0x2009, 0x0700, 0x20a9, 0x0002, + 0x9298, 0x0008, 0x23a0, 0x4001, 0x707c, 0x8007, 0x7180, 0x810f, + 0x20a9, 0x0002, 0x4001, 0x9298, 0x000c, 0x23a0, 0x900e, 0x080c, + 0x0dac, 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x4001, 0x0005, + 0x89ff, 0x0140, 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x1048, + 0x009e, 0x0cb0, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, 0x10c1, + 0x090c, 0x0dcc, 0x00ee, 0x0005, 0x0086, 0x00e6, 0x0006, 0x0026, + 0x0036, 0x0126, 0x2091, 0x8000, 0x00c9, 0x2071, 0x1800, 0x73c0, + 0x702c, 0x9016, 0x9045, 0x0158, 0x8210, 0x9906, 0x090c, 0x0dcc, + 0x2300, 0x9202, 0x0120, 0x1a0c, 0x0dcc, 0xa000, 0x0c98, 0x012e, + 0x003e, 0x002e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x0086, 0x00e6, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x1913, 0x7010, 0x9005, + 0x0140, 0x7018, 0x9045, 0x0128, 0x9906, 0x090c, 0x0dcc, 0xa000, + 0x0cc8, 0x012e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x00e6, 0x2071, + 0x1800, 0x0126, 0x2091, 0x8000, 0x70c0, 0x8001, 0x0270, 0x70c2, + 0x702c, 0x2048, 0x9085, 0x0001, 0xa800, 0x702e, 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, 0x0cd8, 0x00e6, - 0x0126, 0x2091, 0x8000, 0x0016, 0x890e, 0x810e, 0x810f, 0x9184, - 0x003f, 0xa862, 0x9184, 0xffc0, 0xa85e, 0x001e, 0x0020, 0x00e6, - 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, - 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x83a7, 0x012e, 0x00ee, - 0x0005, 0x2071, 0x1800, 0x9026, 0x2009, 0x0000, 0x2049, 0x0400, - 0x2900, 0x702e, 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, - 0x8420, 0x9886, 0x0440, 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, - 0x2071, 0x188e, 0x7000, 0x9005, 0x11a0, 0x2001, 0x0534, 0xa802, - 0x2048, 0x2009, 0x4d00, 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, - 0x0001, 0x8420, 0x9886, 0x0800, 0x0120, 0x2848, 0x9188, 0x0040, - 0x0c90, 0x2071, 0x188e, 0x7104, 0x7200, 0x82ff, 0x01d0, 0x7308, - 0x8318, 0x831f, 0x831b, 0x831b, 0x7312, 0x8319, 0x2001, 0x0800, - 0xa802, 0x2048, 0x8900, 0xa802, 0x2040, 0xa95e, 0xaa62, 0x8420, - 0x2300, 0x9906, 0x0130, 0x2848, 0x9188, 0x0040, 0x9291, 0x0000, - 0x0c88, 0xa803, 0x0000, 0x2071, 0x1800, 0x74ba, 0x74be, 0x0005, - 0x00e6, 0x0016, 0x9984, 0xfc00, 0x01e8, 0x908c, 0xf800, 0x1168, - 0x9982, 0x0400, 0x02b8, 0x9982, 0x0440, 0x0278, 0x9982, 0x0534, - 0x0288, 0x9982, 0x0800, 0x1270, 0x0040, 0x9982, 0x0800, 0x0250, - 0x2071, 0x188e, 0x7010, 0x9902, 0x1228, 0x9085, 0x0001, 0x001e, - 0x00ee, 0x0005, 0x9006, 0x0cd8, 0x00e6, 0x2071, 0x19f7, 0x7007, - 0x0000, 0x9006, 0x701e, 0x7022, 0x7002, 0x2071, 0x0000, 0x7010, - 0x9085, 0x8044, 0x7012, 0x2071, 0x0080, 0x9006, 0x20a9, 0x0040, - 0x7022, 0x1f04, 0x10f0, 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, - 0x2091, 0x8000, 0x00e6, 0xa073, 0x0000, 0x2071, 0x19f7, 0x701c, - 0x9088, 0x1a01, 0x280a, 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, - 0x9106, 0x090c, 0x0dc3, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, - 0x0080, 0x00a9, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, - 0x8000, 0x00e6, 0x2071, 0x19f7, 0x7004, 0x9005, 0x1128, 0x00f6, - 0x2079, 0x0080, 0x0021, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, - 0x9086, 0x0000, 0x1110, 0x7007, 0x0006, 0x7000, 0x0002, 0x1139, - 0x1137, 0x1137, 0x1137, 0x12b3, 0x12b3, 0x12b3, 0x12b3, 0x080c, - 0x0dc3, 0x701c, 0x7120, 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, - 0x1120, 0xd1fc, 0x1110, 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, - 0x1a01, 0x2004, 0x700a, 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, - 0x782b, 0x0026, 0xa890, 0x7802, 0xa894, 0x7806, 0xa898, 0x780a, - 0xa89c, 0x780e, 0xa87c, 0x700e, 0xa874, 0x7016, 0xa878, 0x701a, - 0xa86c, 0x009e, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, - 0x7007, 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, - 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, - 0x8203, 0x7812, 0x782b, 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, - 0x0005, 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, - 0x7018, 0x2098, 0x20e9, 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, - 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, - 0x700e, 0x22a8, 0x4006, 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, - 0x701a, 0x782b, 0x0001, 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, - 0x0005, 0x0016, 0x2009, 0x19f7, 0x2104, 0xc095, 0x200a, 0x080c, - 0x1116, 0x001e, 0x0005, 0x0016, 0x00e6, 0x2071, 0x19f7, 0x00f6, - 0x2079, 0x0080, 0x792c, 0xd1bc, 0x190c, 0x0dbc, 0x782b, 0x0002, - 0xd1fc, 0x0120, 0x918c, 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, - 0x001e, 0x0005, 0x1127, 0x11d1, 0x1205, 0x0dc3, 0x0dc3, 0x12bf, - 0x0dc3, 0x918c, 0x0700, 0x1550, 0x0136, 0x0146, 0x0156, 0x7014, - 0x20e8, 0x7018, 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, - 0x0040, 0x7010, 0x20a8, 0x4005, 0x3400, 0x701a, 0x015e, 0x014e, - 0x013e, 0x700c, 0x9005, 0x0578, 0x7800, 0x7802, 0x7804, 0x7806, - 0x080c, 0x116c, 0x0005, 0x7008, 0x0096, 0x2048, 0xa873, 0x0100, - 0x009e, 0x7007, 0x0000, 0x080c, 0x1127, 0x0005, 0x7008, 0x0096, - 0x2048, 0xa873, 0x0200, 0x009e, 0x0ca0, 0x918c, 0x0700, 0x1150, - 0x700c, 0x9005, 0x0180, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, - 0x1181, 0x0005, 0x7008, 0x0096, 0x2048, 0xa873, 0x0200, 0x009e, - 0x7007, 0x0000, 0x0080, 0x0096, 0x7008, 0x2048, 0x7800, 0xa892, - 0x7804, 0xa896, 0x7808, 0xa89a, 0x780c, 0xa89e, 0xa873, 0x0100, - 0x009e, 0x7007, 0x0000, 0x0096, 0x00d6, 0x7008, 0x2048, 0x2001, - 0x18ba, 0x2004, 0x9906, 0x1128, 0xa8a0, 0x080f, 0x00de, 0x009e, - 0x00a0, 0x00de, 0x009e, 0x0096, 0x00d6, 0x7008, 0x2048, 0x0081, - 0x0150, 0xa8a0, 0x0086, 0x2940, 0x080f, 0x008e, 0x00de, 0x009e, - 0x080c, 0x1116, 0x0005, 0x00de, 0x009e, 0x080c, 0x1116, 0x0005, - 0xa8ac, 0xd08c, 0x0005, 0x0096, 0xa0a4, 0x904d, 0x090c, 0x0dc3, - 0xa070, 0x908e, 0x0100, 0x0130, 0xa87f, 0x0030, 0xa887, 0x0000, - 0xa89b, 0x4002, 0xa898, 0x908e, 0x006b, 0x090c, 0x4740, 0x080c, - 0x6bf5, 0xa0a3, 0x0000, 0xa0a7, 0x0000, 0x2848, 0x080c, 0x103f, - 0x009e, 0x0005, 0x00a6, 0xa0a4, 0x904d, 0x090c, 0x0dc3, 0xa070, - 0x908e, 0x0100, 0x0128, 0xa87f, 0x0001, 0xa887, 0x0000, 0x00c0, - 0xa80c, 0x2050, 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, 0x8006, - 0x8006, 0x8007, 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, - 0xa07a, 0xa176, 0xb000, 0xa07e, 0x2810, 0x080c, 0x10f7, 0x00c8, - 0xa980, 0xa898, 0x0016, 0x0006, 0x080c, 0x6bf5, 0x000e, 0x001e, - 0xd1a4, 0x0128, 0x00c6, 0x2060, 0x080c, 0xa39d, 0x00ce, 0x7008, - 0x2048, 0xa8a3, 0x0000, 0xa8a7, 0x0000, 0x080c, 0x103f, 0x080c, - 0x1116, 0x00ae, 0x0005, 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, - 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, 0x012e, 0x0005, 0x7007, - 0x0000, 0x080c, 0x1127, 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, - 0x0300, 0x2071, 0x1a41, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x781b, - 0x4800, 0x00c1, 0x7803, 0x0003, 0x780f, 0x0000, 0x20a9, 0x0266, - 0x2061, 0xe114, 0x2c0d, 0x7912, 0xe104, 0x9ce0, 0x0002, 0x7916, - 0x1f04, 0x12da, 0x7807, 0x0007, 0x7803, 0x0000, 0x7803, 0x0001, - 0x012e, 0x0005, 0x00c6, 0x7803, 0x0000, 0x7808, 0xd09c, 0x0110, - 0x7820, 0x0cd8, 0x2001, 0x1a42, 0x2003, 0x0000, 0x78ab, 0x0004, - 0x78ac, 0xd0ac, 0x1de8, 0x78ab, 0x0002, 0x7807, 0x0007, 0x7827, - 0x0030, 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, 0x1a64, 0x781f, - 0xff00, 0x781b, 0xb700, 0x2001, 0x0200, 0x2004, 0xd0dc, 0x0110, - 0x781f, 0x0303, 0x2061, 0x1a64, 0x602f, 0x1cd0, 0x2001, 0x1819, - 0x2004, 0x9082, 0x1cd0, 0x6032, 0x603b, 0x1fb8, 0x2001, 0x3268, - 0xd0fc, 0x190c, 0x0dc3, 0x2001, 0x1810, 0x2004, 0xd0c4, 0x1128, - 0x2001, 0x0003, 0x2004, 0xd0d4, 0x1118, 0x783f, 0x3268, 0x0020, - 0x9084, 0xc000, 0x783f, 0xb268, 0x00ce, 0x0005, 0x0126, 0x2091, - 0x2200, 0x7908, 0x9184, 0x0030, 0x190c, 0x0dbc, 0xd19c, 0x0158, - 0x7820, 0x908c, 0xf000, 0x15f0, 0x908a, 0x0024, 0x1a0c, 0x0dc3, - 0x0023, 0x012e, 0x0005, 0x012e, 0x0005, 0x1372, 0x1372, 0x1389, - 0x138e, 0x1392, 0x1397, 0x13bf, 0x13c3, 0x13d1, 0x13d5, 0x1372, - 0x1467, 0x146b, 0x14db, 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, - 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, - 0x1399, 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, 0x1372, 0x1376, - 0x1374, 0x1372, 0x080c, 0x0dc3, 0x080c, 0x0dbc, 0x080c, 0x14e2, - 0x2009, 0x1a59, 0x2104, 0x8000, 0x200a, 0x080c, 0x7dcd, 0x080c, - 0x19e3, 0x0005, 0x2009, 0x0048, 0x2060, 0x080c, 0xa419, 0x012e, - 0x0005, 0x7004, 0xc085, 0xc0b5, 0x7006, 0x0005, 0x7004, 0xc085, - 0x7006, 0x0005, 0x080c, 0x14e2, 0x080c, 0x164b, 0x0005, 0x080c, - 0x0dc3, 0x080c, 0x14e2, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, - 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0xa419, 0x2001, 0x015d, - 0x2003, 0x0000, 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, - 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, - 0x080c, 0x14e7, 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, - 0xc095, 0x7006, 0x0005, 0x080c, 0x14e2, 0x2060, 0x6014, 0x0096, - 0x2048, 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0xa419, - 0x0005, 0x080c, 0x14e2, 0x080c, 0x0dc3, 0x080c, 0x14e2, 0x080c, - 0x1452, 0x7827, 0x0018, 0x79ac, 0xd1dc, 0x0540, 0x7827, 0x0015, - 0x7828, 0x782b, 0x0000, 0x9065, 0x0138, 0x2001, 0x020d, 0x2003, - 0x0050, 0x2003, 0x0020, 0x0400, 0x7004, 0x9005, 0x1180, 0x78ab, - 0x0004, 0x7827, 0x0018, 0x782b, 0x0000, 0xd1bc, 0x090c, 0x0dc3, - 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x04c0, 0x78ab, - 0x0004, 0x7803, 0x0001, 0x080c, 0x146b, 0x0005, 0x7828, 0x782b, - 0x0000, 0x9065, 0x090c, 0x0dc3, 0x6014, 0x2048, 0x78ab, 0x0004, - 0x918c, 0x0700, 0x01d8, 0x080c, 0x7dcd, 0x080c, 0x19e3, 0x080c, - 0xc1cd, 0x0158, 0xa9b0, 0xa936, 0xa9b4, 0xa93a, 0xa83f, 0xffff, - 0xa843, 0xffff, 0xa884, 0xc0bd, 0xa886, 0xa984, 0x9184, 0x0020, - 0x1120, 0xc1ad, 0xa986, 0x080c, 0xbde5, 0x0005, 0x6010, 0x00b6, - 0x2058, 0xb800, 0x00be, 0xd0bc, 0x6024, 0x190c, 0xc5b0, 0x2029, - 0x00c8, 0x8529, 0x0128, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, - 0x7dbc, 0x080c, 0xe0a1, 0xd5a4, 0x1118, 0x080c, 0x14e7, 0x0005, - 0x080c, 0x7dcd, 0x080c, 0x19e3, 0x0005, 0x781f, 0x0300, 0x7803, + 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x70c0, 0x90ca, 0x0020, + 0x0268, 0x8001, 0x70c2, 0x702c, 0x2048, 0xa800, 0x702e, 0xa803, + 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, 0x0cd8, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x0016, 0x890e, 0x810e, 0x810f, + 0x9184, 0x003f, 0xa862, 0x9184, 0xffc0, 0xa85e, 0x001e, 0x0020, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x702c, 0xa802, + 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8944, 0x012e, + 0x00ee, 0x0005, 0x2071, 0x1800, 0x9026, 0x2009, 0x0000, 0x2049, + 0x0400, 0x2900, 0x702e, 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, + 0x0001, 0x8420, 0x9886, 0x0440, 0x0120, 0x2848, 0x9188, 0x0040, + 0x0c90, 0x2071, 0x1890, 0x7000, 0x9005, 0x11a0, 0x2001, 0x0534, + 0xa802, 0x2048, 0x2009, 0x4d00, 0x8940, 0x2800, 0xa802, 0xa95e, + 0xa863, 0x0001, 0x8420, 0x9886, 0x0800, 0x0120, 0x2848, 0x9188, + 0x0040, 0x0c90, 0x2071, 0x1890, 0x7104, 0x7200, 0x82ff, 0x01d0, + 0x7308, 0x8318, 0x831f, 0x831b, 0x831b, 0x7312, 0x8319, 0x2001, + 0x0800, 0xa802, 0x2048, 0x8900, 0xa802, 0x2040, 0xa95e, 0xaa62, + 0x8420, 0x2300, 0x9906, 0x0130, 0x2848, 0x9188, 0x0040, 0x9291, + 0x0000, 0x0c88, 0xa803, 0x0000, 0x2071, 0x1800, 0x74be, 0x74c2, + 0x0005, 0x00e6, 0x0016, 0x9984, 0xfc00, 0x01e8, 0x908c, 0xf800, + 0x1168, 0x9982, 0x0400, 0x02b8, 0x9982, 0x0440, 0x0278, 0x9982, + 0x0534, 0x0288, 0x9982, 0x0800, 0x1270, 0x0040, 0x9982, 0x0800, + 0x0250, 0x2071, 0x1890, 0x7010, 0x9902, 0x1228, 0x9085, 0x0001, + 0x001e, 0x00ee, 0x0005, 0x9006, 0x0cd8, 0x0156, 0x01d6, 0x0146, + 0x89ff, 0x090c, 0x0dcc, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001c, + 0x20a0, 0x20a9, 0x0024, 0x9006, 0x4004, 0x014e, 0x01de, 0x015e, + 0x0005, 0x00e6, 0x2071, 0x1a1e, 0x7007, 0x0000, 0x9006, 0x701e, + 0x7022, 0x7002, 0x2071, 0x0000, 0x7010, 0x9085, 0x8044, 0x7012, + 0x2071, 0x0080, 0x9006, 0x20a9, 0x0040, 0x7022, 0x1f04, 0x110d, + 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, + 0xa073, 0x0000, 0x2071, 0x1a1e, 0x701c, 0x9088, 0x1a28, 0x280a, + 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, 0x9106, 0x090c, 0x0dcc, + 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x00a9, 0x00fe, + 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, 0x2071, + 0x1a1e, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x0021, + 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, 0x9086, 0x0000, 0x1110, + 0x7007, 0x0006, 0x7000, 0x0002, 0x1156, 0x12dc, 0x1154, 0x1154, + 0x12d0, 0x12d0, 0x12d0, 0x12d0, 0x080c, 0x0dcc, 0x701c, 0x7120, + 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, 0x1120, 0xd1fc, 0x1110, + 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, 0x1a28, 0x2004, 0x700a, + 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, 0x782b, 0x0026, 0xa890, + 0x7802, 0xa894, 0x7806, 0xa898, 0x780a, 0xa89c, 0x780e, 0xa87c, + 0x700e, 0xa874, 0x7016, 0xa878, 0x701a, 0xa86c, 0x009e, 0xd084, + 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, 0x7007, 0x0002, 0x00b1, + 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, + 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, 0x8203, 0x7812, 0x782b, + 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, + 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, 0x7018, 0x2098, 0x20e9, + 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, 0x710c, 0x2011, 0x0040, + 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x22a8, 0x4006, + 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, 0x701a, 0x782b, 0x0001, + 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, 0x0016, 0x2009, + 0x1a1e, 0x2104, 0xc095, 0x200a, 0x080c, 0x1133, 0x001e, 0x0005, + 0x0016, 0x00e6, 0x2071, 0x1a1e, 0x00f6, 0x2079, 0x0080, 0x792c, + 0xd1bc, 0x190c, 0x0dc5, 0x782b, 0x0002, 0xd1fc, 0x0120, 0x918c, + 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x1144, + 0x11ee, 0x1222, 0x12fb, 0x0dcc, 0x1316, 0x0dcc, 0x918c, 0x0700, + 0x1550, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e8, 0x7018, 0x20a0, + 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, 0x0040, 0x7010, 0x20a8, + 0x4005, 0x3400, 0x701a, 0x015e, 0x014e, 0x013e, 0x700c, 0x9005, + 0x0578, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x1189, 0x0005, + 0x7008, 0x0096, 0x2048, 0xa873, 0x0100, 0x009e, 0x7007, 0x0000, + 0x080c, 0x1144, 0x0005, 0x7008, 0x0096, 0x2048, 0xa873, 0x0200, + 0x009e, 0x0ca0, 0x918c, 0x0700, 0x1150, 0x700c, 0x9005, 0x0180, + 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x119e, 0x0005, 0x7008, + 0x0096, 0x2048, 0xa873, 0x0200, 0x009e, 0x7007, 0x0000, 0x0080, + 0x0096, 0x7008, 0x2048, 0x7800, 0xa892, 0x7804, 0xa896, 0x7808, + 0xa89a, 0x780c, 0xa89e, 0xa873, 0x0100, 0x009e, 0x7007, 0x0000, + 0x0096, 0x00d6, 0x7008, 0x2048, 0x2001, 0x18bc, 0x2004, 0x9906, + 0x1128, 0xa8a0, 0x080f, 0x00de, 0x009e, 0x00a0, 0x00de, 0x009e, + 0x0096, 0x00d6, 0x7008, 0x2048, 0x0081, 0x0150, 0xa8a0, 0x0086, + 0x2940, 0x080f, 0x008e, 0x00de, 0x009e, 0x080c, 0x1133, 0x0005, + 0x00de, 0x009e, 0x080c, 0x1133, 0x0005, 0xa8ac, 0xd08c, 0x0005, + 0x0096, 0xa0a4, 0x904d, 0x090c, 0x0dcc, 0xa070, 0x908e, 0x0100, + 0x0130, 0xa87f, 0x0030, 0xa887, 0x0000, 0xa89b, 0x4002, 0xa898, + 0x908e, 0x006b, 0x090c, 0x4959, 0x080c, 0x7061, 0xa0a3, 0x0000, + 0xa0a7, 0x0000, 0x2848, 0x080c, 0x1048, 0x009e, 0x0005, 0x00a6, + 0xa0a4, 0x904d, 0x090c, 0x0dcc, 0xa070, 0x908e, 0x0100, 0x0128, + 0xa87f, 0x0001, 0xa887, 0x0000, 0x00c0, 0xa80c, 0x2050, 0xb004, + 0x9005, 0x0198, 0xa80e, 0x2050, 0x8006, 0x8006, 0x8007, 0x908c, + 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xa07a, 0xa176, 0xb000, + 0xa07e, 0x2810, 0x080c, 0x1114, 0x00c8, 0xa980, 0xa898, 0x0016, + 0x0006, 0x080c, 0x7061, 0x000e, 0x001e, 0xd1a4, 0x0128, 0x00c6, + 0x2060, 0x080c, 0xb53c, 0x00ce, 0x7008, 0x2048, 0xa8a3, 0x0000, + 0xa8a7, 0x0000, 0x080c, 0x1048, 0x080c, 0x1133, 0x00ae, 0x0005, + 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, + 0xc094, 0x7002, 0x012e, 0x0005, 0x0096, 0x2001, 0x1932, 0x204c, + 0xa880, 0x7812, 0xa890, 0x7802, 0xa894, 0x7806, 0xa898, 0x780a, + 0xa89c, 0x780e, 0x782b, 0x0020, 0x0126, 0x2091, 0x8000, 0x782b, + 0x0041, 0x7007, 0x0003, 0x7000, 0xc084, 0x7002, 0x2900, 0x700a, + 0x012e, 0x009e, 0x0005, 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, + 0x0040, 0x0096, 0x2001, 0x1932, 0x204c, 0xaa80, 0x009e, 0x080c, + 0x8ff3, 0x2009, 0x188f, 0x2104, 0x9084, 0xfffc, 0x200a, 0x080c, + 0x8e65, 0x7007, 0x0000, 0x080c, 0x1144, 0x0005, 0x7007, 0x0000, + 0x080c, 0x1144, 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, 0x0300, + 0x2071, 0x1a68, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x781b, 0x4800, + 0x00c1, 0x7803, 0x0003, 0x780f, 0x0000, 0x20a9, 0x03ee, 0x2061, + 0xf4b7, 0x2c0d, 0x7912, 0xe104, 0x9ce0, 0x0002, 0x7916, 0x1f04, + 0x1331, 0x7807, 0x0007, 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, + 0x0005, 0x00c6, 0x7803, 0x0000, 0x781b, 0x0400, 0x7808, 0xd09c, + 0x0120, 0x7820, 0x080c, 0x1397, 0x0cc8, 0x2001, 0x1a69, 0x2003, + 0x0000, 0x78ab, 0x0004, 0x78ac, 0xd0ac, 0x1de8, 0x78ab, 0x0002, + 0x7807, 0x0007, 0x7827, 0x0030, 0x782b, 0x0400, 0x7827, 0x0031, + 0x782b, 0x1a8c, 0x781f, 0xff00, 0x781b, 0xb700, 0x2001, 0x0200, + 0x2004, 0xd0dc, 0x0110, 0x781f, 0x0303, 0x2061, 0x1a8c, 0x602f, + 0x1cd0, 0x2001, 0x181a, 0x2004, 0x9082, 0x1cd0, 0x6032, 0x603b, + 0x2125, 0x2001, 0x3471, 0xd0fc, 0x190c, 0x0dcc, 0x2001, 0x1810, + 0x2004, 0xd0c4, 0x1128, 0x2001, 0x0003, 0x2004, 0xd0d4, 0x1118, + 0x783f, 0x3471, 0x0020, 0x9084, 0xc000, 0x783f, 0xb471, 0x604f, + 0x1940, 0x2001, 0x192b, 0x2004, 0x6042, 0x00ce, 0x0005, 0x9086, + 0x000d, 0x11d0, 0x7808, 0xd09c, 0x01b8, 0x7820, 0x0026, 0x2010, + 0x080c, 0xd3e3, 0x0180, 0x2260, 0x6000, 0x9086, 0x0004, 0x1158, + 0x0016, 0x6120, 0x9186, 0x0009, 0x0108, 0x0020, 0x2009, 0x004c, + 0x080c, 0xb5b9, 0x001e, 0x002e, 0x0005, 0x0126, 0x2091, 0x2200, + 0x7908, 0x9184, 0x0030, 0x190c, 0x0dc5, 0xd19c, 0x0158, 0x7820, + 0x908c, 0xf000, 0x15f0, 0x908a, 0x0024, 0x1a0c, 0x0dcc, 0x0023, + 0x012e, 0x0005, 0x012e, 0x0005, 0x13f1, 0x13f1, 0x1408, 0x140d, + 0x1411, 0x1416, 0x143e, 0x1442, 0x1450, 0x1454, 0x13f1, 0x1527, + 0x152b, 0x159d, 0x15a4, 0x13f1, 0x15a5, 0x15a6, 0x15b1, 0x15b8, + 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x1418, + 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x13f1, 0x13f5, 0x13f3, + 0x13f1, 0x080c, 0x0dcc, 0x080c, 0x0dc5, 0x080c, 0x15c3, 0x2009, + 0x1a81, 0x2104, 0x8000, 0x200a, 0x080c, 0x8302, 0x080c, 0x1b35, + 0x0005, 0x2009, 0x0048, 0x2060, 0x080c, 0xb5b9, 0x012e, 0x0005, + 0x7004, 0xc085, 0xc0b5, 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, + 0x0005, 0x080c, 0x15c3, 0x080c, 0x1733, 0x0005, 0x080c, 0x0dcc, + 0x080c, 0x15c3, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, + 0x009e, 0x2009, 0x0048, 0x080c, 0xb5b9, 0x2001, 0x015d, 0x2003, + 0x0000, 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, + 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, + 0x15c8, 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, + 0x7006, 0x0005, 0x080c, 0x15c3, 0x2060, 0x6014, 0x0096, 0x2048, + 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0xb5b9, 0x0005, + 0x080c, 0x15c3, 0x080c, 0x0dcc, 0x080c, 0x15c3, 0x080c, 0x1512, + 0x7827, 0x0018, 0x79ac, 0xd1dc, 0x0904, 0x14bd, 0x7827, 0x0015, + 0x7828, 0x782b, 0x0000, 0x9065, 0x0140, 0x2001, 0x020d, 0x2003, + 0x0050, 0x2003, 0x0020, 0x0804, 0x14c3, 0x7004, 0x9005, 0x01c8, + 0x1188, 0x78ab, 0x0004, 0x7827, 0x0018, 0x782b, 0x0000, 0xd1bc, + 0x090c, 0x0dcc, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, + 0x0804, 0x14fa, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x152b, + 0x0005, 0x7827, 0x0018, 0xa001, 0x7828, 0x7827, 0x0011, 0xa001, + 0x7928, 0x9106, 0x0110, 0x79ac, 0x08e0, 0x00e6, 0x2071, 0x0200, + 0x702c, 0xd0c4, 0x0140, 0x00ee, 0x080c, 0x1b35, 0x080c, 0x1341, + 0x7803, 0x0001, 0x0005, 0x7037, 0x0001, 0xa001, 0x7150, 0x00ee, + 0x918c, 0xff00, 0x9186, 0x0500, 0x0110, 0x79ac, 0x0810, 0x7004, + 0xc09d, 0x7006, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x152b, + 0x2001, 0x020d, 0x2003, 0x0020, 0x0005, 0x7828, 0x782b, 0x0000, + 0x9065, 0x090c, 0x0dcc, 0x6014, 0x2048, 0x78ab, 0x0004, 0x918c, + 0x0700, 0x01d8, 0x080c, 0x8302, 0x080c, 0x1b35, 0x080c, 0xd3f5, + 0x0188, 0xa9b0, 0xa936, 0xa9b4, 0xa93a, 0xa83f, 0xffff, 0xa843, + 0xffff, 0xa884, 0xc0bd, 0xa886, 0xa984, 0x9184, 0x0020, 0x1120, + 0xc1ad, 0xa986, 0x080c, 0xd00b, 0x0005, 0x6020, 0x9086, 0x0009, + 0x1128, 0x2009, 0x004c, 0x080c, 0xb5b9, 0x0060, 0x080c, 0xd3f5, + 0x0148, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x6024, + 0x190c, 0xd7ee, 0x2029, 0x00c8, 0x8529, 0x0128, 0x2001, 0x0201, + 0x2004, 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xf444, 0xd5a4, 0x0904, + 0x15c8, 0x080c, 0x8302, 0x0804, 0x1b35, 0x781f, 0x0300, 0x7803, 0x0001, 0x0005, 0x0016, 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, 0x7908, 0x918c, 0x0007, 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, - 0x080c, 0x1568, 0x00fe, 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, - 0xc09d, 0x7006, 0x0005, 0x7104, 0x9184, 0x0004, 0x190c, 0x0dc3, + 0x080c, 0x1649, 0x00fe, 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, + 0xc09d, 0x7006, 0x0005, 0x7104, 0x9184, 0x0004, 0x190c, 0x0dcc, 0xd184, 0x11b1, 0xd19c, 0x0180, 0xc19c, 0x7106, 0x0016, 0x080c, - 0x162e, 0x001e, 0x0148, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, - 0x0020, 0x080c, 0x14e7, 0x0005, 0x81ff, 0x190c, 0x0dc3, 0x0005, + 0x1716, 0x001e, 0x0148, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, + 0x0020, 0x080c, 0x15c8, 0x0005, 0x81ff, 0x190c, 0x0dcc, 0x0005, 0x2100, 0xc184, 0xc1b4, 0x7106, 0xd0b4, 0x0016, 0x00e6, 0x1904, - 0x14d0, 0x2071, 0x0200, 0x080c, 0x1622, 0x080c, 0x162e, 0x05a8, - 0x6014, 0x9005, 0x05a8, 0x0096, 0x2048, 0xa868, 0x009e, 0x9084, - 0x00ff, 0x908e, 0x0029, 0x0160, 0x908e, 0x0048, 0x1548, 0x601c, - 0xd084, 0x11d8, 0x00f6, 0x2c78, 0x080c, 0x16c1, 0x00fe, 0x00a8, - 0x00f6, 0x2c78, 0x080c, 0x1805, 0x00fe, 0x2009, 0x01f4, 0x8109, - 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, - 0x2004, 0xd0ec, 0x1110, 0x0419, 0x0040, 0x2001, 0x020d, 0x2003, - 0x0020, 0x080c, 0x12ea, 0x7803, 0x0001, 0x00ee, 0x001e, 0x0005, - 0x080c, 0x162e, 0x0dd0, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, - 0x0020, 0x0069, 0x0c90, 0x0031, 0x2060, 0x2009, 0x0053, 0x080c, - 0xa419, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, 0x080c, - 0x1452, 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, 0x0520, - 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, 0x2003, 0x0000, 0x79bc, - 0xd1a4, 0x1578, 0x79b8, 0x918c, 0x0fff, 0x0180, 0x9182, 0x0841, - 0x1268, 0x9188, 0x0007, 0x918c, 0x0ff8, 0x810c, 0x810c, 0x810c, - 0x080c, 0x1554, 0x6827, 0x0001, 0x8109, 0x1dd0, 0x080c, 0x1554, - 0x6827, 0x0002, 0x080c, 0x1554, 0x6804, 0x9005, 0x1170, 0x682c, - 0xd0e4, 0x1540, 0x691c, 0x9184, 0x0014, 0x0120, 0x6830, 0x9084, - 0x9554, 0x15b9, 0x6804, 0x9005, 0x0da8, 0x79b8, 0xd1ec, 0x1130, - 0x0870, 0x080c, 0x7dcd, 0x080c, 0x19e3, 0x0090, 0x7827, 0x0015, - 0x782b, 0x0000, 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, 0x020d, - 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, 0x0001, - 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, 0x0d30, - 0x7827, 0x0015, 0x782b, 0x0000, 0x7803, 0x0001, 0x6800, 0x9085, - 0x1800, 0x6802, 0x00de, 0x0005, 0x6824, 0x9084, 0x0003, 0x1de0, - 0x0005, 0x2079, 0x0001, 0x000e, 0x00f6, 0x0804, 0x0dc5, 0x2001, - 0x0030, 0x2c08, 0x621c, 0x0021, 0x7830, 0x9086, 0x0041, 0x0005, - 0x00f6, 0x2079, 0x0300, 0x0006, 0x7808, 0xd09c, 0x0140, 0x0016, - 0x0026, 0x00c6, 0x080c, 0x1336, 0x00ce, 0x002e, 0x001e, 0x000e, - 0x0006, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x0059, 0x1118, - 0x000e, 0x00fe, 0x0005, 0x000e, 0x792c, 0x3900, 0x8000, 0x2004, - 0x080c, 0x0dc3, 0x2009, 0x180c, 0x2104, 0xc0f4, 0x200a, 0x2009, - 0xff00, 0x8109, 0x0904, 0x15e6, 0x7a18, 0x9284, 0x0030, 0x0904, - 0x15e1, 0x9284, 0x0048, 0x9086, 0x0008, 0x1904, 0x15e1, 0x2001, - 0x0109, 0x2004, 0xd08c, 0x01f0, 0x0006, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x0126, 0x2091, 0x2800, 0x00f6, 0x0026, 0x0016, - 0x2009, 0x1a5c, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x885a, - 0x001e, 0x002e, 0x00fe, 0x012e, 0x015e, 0x014e, 0x013e, 0x01de, - 0x01ce, 0x000e, 0x2001, 0x009b, 0x2004, 0xd0fc, 0x01d0, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x00f6, 0x0016, - 0x2009, 0x1a5d, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x1ddc, - 0x001e, 0x00fe, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, - 0x000e, 0x7818, 0xd0bc, 0x1904, 0x1591, 0x0005, 0x2001, 0x180c, - 0x2004, 0xd0f4, 0x1528, 0x7a18, 0x9284, 0x0030, 0x0508, 0x9284, - 0x0048, 0x9086, 0x0008, 0x11e0, 0x2001, 0x19d3, 0x2004, 0x9005, - 0x01b8, 0x2001, 0x1a44, 0x2004, 0x9086, 0x0000, 0x0188, 0x2009, - 0x1a5b, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x994f, 0x2009, - 0x180c, 0x2104, 0xc0f5, 0x200a, 0x2009, 0xff00, 0x0804, 0x1591, - 0x9085, 0x0001, 0x0005, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, - 0x080c, 0x158a, 0x1108, 0x0005, 0x792c, 0x3900, 0x8000, 0x2004, - 0x080c, 0x0dc3, 0x7037, 0x0001, 0x7150, 0x7037, 0x0002, 0x7050, - 0x2060, 0xd1bc, 0x1110, 0x7054, 0x2060, 0x0005, 0x0006, 0x0046, + 0x1592, 0x2071, 0x0200, 0x080c, 0x1703, 0x05e0, 0x080c, 0x1716, + 0x05b0, 0x6014, 0x9005, 0x05b0, 0x0096, 0x2048, 0xa868, 0x009e, + 0x9084, 0x00ff, 0x908e, 0x0029, 0x0160, 0x908e, 0x0048, 0x1550, + 0x601c, 0xd084, 0x11e0, 0x00f6, 0x2c78, 0x080c, 0x17a9, 0x00fe, + 0x00b0, 0x00f6, 0x2c78, 0x080c, 0x193e, 0x00fe, 0x2009, 0x01f4, + 0x8109, 0x0168, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, + 0x0218, 0x2004, 0xd0ec, 0x1118, 0x080c, 0x15c8, 0x0040, 0x2001, + 0x020d, 0x2003, 0x0020, 0x080c, 0x1341, 0x7803, 0x0001, 0x00ee, + 0x001e, 0x0005, 0x080c, 0x1716, 0x0dd0, 0x2001, 0x020d, 0x2003, + 0x0050, 0x2003, 0x0020, 0x0461, 0x0c90, 0x0429, 0x2060, 0x2009, + 0x0053, 0x080c, 0xb5b9, 0x0005, 0x0005, 0x0005, 0x00e1, 0x2008, + 0x00d1, 0x0006, 0x7004, 0xc09d, 0x7006, 0x000e, 0x080c, 0x9336, + 0x0005, 0x0089, 0x9005, 0x0118, 0x080c, 0x8f59, 0x0cd0, 0x0005, + 0x2001, 0x0036, 0x2009, 0x1820, 0x210c, 0x2011, 0x181f, 0x2214, + 0x080c, 0x1649, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, + 0x080c, 0x1512, 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, + 0x0520, 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, 0x2003, 0x0000, + 0x79bc, 0xd1a4, 0x1578, 0x79b8, 0x918c, 0x0fff, 0x0180, 0x9182, + 0x0841, 0x1268, 0x9188, 0x0007, 0x918c, 0x0ff8, 0x810c, 0x810c, + 0x810c, 0x080c, 0x1635, 0x6827, 0x0001, 0x8109, 0x1dd0, 0x080c, + 0x1635, 0x6827, 0x0002, 0x080c, 0x1635, 0x6804, 0x9005, 0x1170, + 0x682c, 0xd0e4, 0x1540, 0x691c, 0x9184, 0x0014, 0x0120, 0x6830, + 0x9084, 0x9554, 0x15b9, 0x6804, 0x9005, 0x0da8, 0x79b8, 0xd1ec, + 0x1130, 0x0870, 0x080c, 0x8302, 0x080c, 0x1b35, 0x0090, 0x7827, + 0x0015, 0x782b, 0x0000, 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, + 0x020d, 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, + 0x0001, 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, + 0x0d30, 0x7827, 0x0015, 0x782b, 0x0000, 0x7803, 0x0001, 0x6800, + 0x9085, 0x1800, 0x6802, 0x00de, 0x0005, 0x6824, 0x9084, 0x0003, + 0x1de0, 0x0005, 0x2079, 0x0001, 0x000e, 0x00f6, 0x0804, 0x0dce, + 0x2001, 0x0030, 0x2c08, 0x621c, 0x0021, 0x7830, 0x9086, 0x0041, + 0x0005, 0x00f6, 0x2079, 0x0300, 0x0006, 0x7808, 0xd09c, 0x0140, + 0x0016, 0x0026, 0x00c6, 0x080c, 0x13b5, 0x00ce, 0x002e, 0x001e, + 0x000e, 0x0006, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x0059, + 0x1118, 0x000e, 0x00fe, 0x0005, 0x000e, 0x792c, 0x3900, 0x8000, + 0x2004, 0x080c, 0x0dcc, 0x2009, 0x180c, 0x2104, 0xc0f4, 0x200a, + 0x2009, 0xff00, 0x8109, 0x0904, 0x16c7, 0x7a18, 0x9284, 0x0030, + 0x0904, 0x16c2, 0x9284, 0x0048, 0x9086, 0x0008, 0x1904, 0x16c2, + 0x2001, 0x0109, 0x2004, 0xd08c, 0x01f0, 0x0006, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x0126, 0x2091, 0x2800, 0x00f6, 0x0026, + 0x0016, 0x2009, 0x1a84, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, + 0x96e6, 0x001e, 0x002e, 0x00fe, 0x012e, 0x015e, 0x014e, 0x013e, + 0x01de, 0x01ce, 0x000e, 0x2001, 0x009b, 0x2004, 0xd0fc, 0x01d0, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x00f6, + 0x0016, 0x2009, 0x1a85, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, + 0x1f49, 0x001e, 0x00fe, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, + 0x012e, 0x000e, 0x7818, 0xd0bc, 0x1904, 0x1672, 0x0005, 0x2001, + 0x180c, 0x2004, 0xd0f4, 0x1528, 0x7a18, 0x9284, 0x0030, 0x0508, + 0x9284, 0x0048, 0x9086, 0x0008, 0x11e0, 0x2001, 0x19fa, 0x2004, + 0x9005, 0x01b8, 0x2001, 0x1a6c, 0x2004, 0x9086, 0x0000, 0x0188, + 0x2009, 0x1a83, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0xa999, + 0x2009, 0x180c, 0x2104, 0xc0f5, 0x200a, 0x2009, 0xff00, 0x0804, + 0x1672, 0x9085, 0x0001, 0x0005, 0x7832, 0x7936, 0x7a3a, 0x781b, + 0x8080, 0x080c, 0x166b, 0x1108, 0x0005, 0x792c, 0x3900, 0x8000, + 0x2004, 0x080c, 0x0dcc, 0x7037, 0x0001, 0x7150, 0x7037, 0x0002, + 0x7050, 0x2060, 0xd1bc, 0x1110, 0x7054, 0x2060, 0x918c, 0xff00, + 0x9186, 0x0500, 0x0110, 0x9085, 0x0001, 0x0005, 0x0006, 0x0046, 0x00e6, 0x2071, 0x0200, 0x7037, 0x0002, 0x7058, 0x9084, 0xff00, - 0x8007, 0x9086, 0x00bc, 0x1158, 0x2021, 0x1a5a, 0x2404, 0x8000, - 0x0208, 0x2022, 0x080c, 0x7dcd, 0x080c, 0x19e3, 0x9006, 0x00ee, + 0x8007, 0x9086, 0x00bc, 0x1158, 0x2021, 0x1a82, 0x2404, 0x8000, + 0x0208, 0x2022, 0x080c, 0x8302, 0x080c, 0x1b35, 0x9006, 0x00ee, 0x004e, 0x000e, 0x0005, 0x0c11, 0x1108, 0x0005, 0x00e6, 0x0016, - 0x2071, 0x0200, 0x0879, 0x6120, 0x9186, 0x0000, 0x0904, 0x16b6, - 0x9186, 0x0002, 0x0904, 0x16b6, 0x6124, 0xd1dc, 0x01f8, 0x701c, - 0xd08c, 0x0904, 0x16b6, 0x7017, 0x0000, 0x2001, 0x0264, 0x2004, - 0xd0bc, 0x0904, 0x16b6, 0x2001, 0x0268, 0x00c6, 0x2064, 0x6104, - 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, 0x16b6, 0x9c06, 0x15f0, - 0x0126, 0x2091, 0x2600, 0x080c, 0x7d14, 0x012e, 0x7358, 0x745c, + 0x2071, 0x0200, 0x0841, 0x6120, 0x9186, 0x0000, 0x0904, 0x179e, + 0x9186, 0x0002, 0x0904, 0x179e, 0x6124, 0xd1dc, 0x01f8, 0x701c, + 0xd08c, 0x0904, 0x179e, 0x7017, 0x0000, 0x2001, 0x0264, 0x2004, + 0xd0bc, 0x0904, 0x179e, 0x2001, 0x0268, 0x00c6, 0x2064, 0x6104, + 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, 0x179e, 0x9c06, 0x15f0, + 0x0126, 0x2091, 0x2600, 0x080c, 0x8249, 0x012e, 0x7358, 0x745c, 0x6014, 0x905d, 0x0598, 0x2b48, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x190c, 0xc58b, 0xab42, 0xac3e, 0x2001, 0x1880, + 0x00be, 0xd0bc, 0x190c, 0xd7c9, 0xab42, 0xac3e, 0x2001, 0x186c, 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, 0x1158, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1120, 0xa83b, 0x7fff, 0xa837, - 0xffff, 0x080c, 0x1fd8, 0x1190, 0x080c, 0x1862, 0x2a00, 0xa816, + 0xffff, 0x080c, 0x2145, 0x1190, 0x080c, 0x19b6, 0x2a00, 0xa816, 0x0130, 0x2800, 0xa80e, 0x2c05, 0xa80a, 0x2c00, 0xa812, 0x7037, 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, 0x0005, 0x7037, 0x0050, - 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, 0x14e7, 0x0005, 0x080c, - 0x0dc3, 0x2001, 0x180d, 0x2004, 0xd08c, 0x190c, 0x693f, 0x2ff0, + 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, 0x15c8, 0x0005, 0x080c, + 0x0dcc, 0x2001, 0x180d, 0x2004, 0xd08c, 0x190c, 0x6d2d, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x0016, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0x903e, 0x2730, 0xa868, 0x2068, 0xa81a, 0x9d84, 0x000f, - 0x9088, 0x1fb8, 0x2165, 0x0002, 0x16f3, 0x1740, 0x16f3, 0x16f3, - 0x16f3, 0x1722, 0x16f3, 0x16f7, 0x16ec, 0x1737, 0x16f3, 0x16f3, - 0x16f3, 0x17fd, 0x170b, 0x1701, 0xa968, 0x918c, 0x00ff, 0x918e, - 0x0048, 0x0904, 0x1737, 0x9085, 0x0001, 0x0804, 0x17f3, 0xa880, - 0xd0bc, 0x0dc8, 0xa894, 0xa842, 0xa890, 0xa83e, 0xa88c, 0x0804, - 0x1747, 0xa880, 0xd0bc, 0x0d78, 0xa894, 0xa842, 0xa890, 0xa83e, - 0xa88c, 0x0804, 0x1796, 0xa880, 0xd0bc, 0x0d28, 0xa894, 0xa842, - 0xa890, 0xa83e, 0xa804, 0x9045, 0x090c, 0x0dc3, 0xa168, 0xa91a, - 0x91ec, 0x000f, 0x9d80, 0x1fb8, 0x2065, 0xa88c, 0xd19c, 0x1904, - 0x1796, 0x0428, 0xa880, 0xd0ac, 0x0970, 0xa804, 0x9045, 0x090c, - 0x0dc3, 0xa168, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x1fb8, 0x2065, - 0x9006, 0xa842, 0xa83e, 0xd19c, 0x1904, 0x1796, 0x0080, 0xa880, - 0xd0ac, 0x0904, 0x16f3, 0x9006, 0xa842, 0xa83e, 0x0804, 0x1796, - 0xa880, 0xd0ac, 0x0904, 0x16f3, 0x9006, 0xa842, 0xa83e, 0x2c05, - 0x908a, 0x0037, 0x1a0c, 0x0dc3, 0x9082, 0x001c, 0x0002, 0x176a, - 0x176a, 0x176c, 0x176a, 0x176a, 0x176a, 0x1772, 0x176a, 0x176a, - 0x176a, 0x1778, 0x176a, 0x176a, 0x176a, 0x177e, 0x176a, 0x176a, - 0x176a, 0x1784, 0x176a, 0x176a, 0x176a, 0x178a, 0x176a, 0x176a, - 0x176a, 0x1790, 0x080c, 0x0dc3, 0xa578, 0xa47c, 0xa380, 0xa284, - 0x0804, 0x17db, 0xa588, 0xa48c, 0xa390, 0xa294, 0x0804, 0x17db, - 0xa598, 0xa49c, 0xa3a0, 0xa2a4, 0x0804, 0x17db, 0xa5a8, 0xa4ac, - 0xa3b0, 0xa2b4, 0x0804, 0x17db, 0xa5b8, 0xa4bc, 0xa3c0, 0xa2c4, - 0x0804, 0x17db, 0xa5c8, 0xa4cc, 0xa3d0, 0xa2d4, 0x0804, 0x17db, - 0xa5d8, 0xa4dc, 0xa3e0, 0xa2e4, 0x0804, 0x17db, 0x2c05, 0x908a, - 0x0035, 0x1a0c, 0x0dc3, 0x9082, 0x001c, 0x0002, 0x17b9, 0x17b7, - 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17c0, 0x17b7, 0x17b7, 0x17b7, - 0x17b7, 0x17b7, 0x17c7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, - 0x17ce, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17d5, 0x080c, - 0x0dc3, 0xa570, 0xa474, 0xa778, 0xa67c, 0xa380, 0xa284, 0x00d8, - 0xa588, 0xa48c, 0xa790, 0xa694, 0xa398, 0xa29c, 0x00a0, 0xa5a0, - 0xa4a4, 0xa7a8, 0xa6ac, 0xa3b0, 0xa2b4, 0x0068, 0xa5b8, 0xa4bc, - 0xa7c0, 0xa6c4, 0xa3c8, 0xa2cc, 0x0030, 0xa5d0, 0xa4d4, 0xa7d8, - 0xa6dc, 0xa3e0, 0xa2e4, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, - 0xae2a, 0xa98c, 0x8c60, 0x2c1d, 0xa8b0, 0xaab4, 0xa836, 0xaa3a, - 0x8109, 0xa916, 0x1160, 0x3e60, 0x601c, 0xc085, 0x601e, 0xa880, - 0xc0dd, 0xa882, 0x9006, 0x00ce, 0x001e, 0x012e, 0x0005, 0x2800, - 0xa80e, 0xab0a, 0x2c00, 0xa812, 0x0c70, 0x0804, 0x16f3, 0x2001, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sat Nov 21 21:01:02 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48552A34C09; Sat, 21 Nov 2015 21:01:02 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0842F1D5F; Sat, 21 Nov 2015 21:01:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALL11aB071378; Sat, 21 Nov 2015 21:01:01 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALL10vv071373; Sat, 21 Nov 2015 21:01:00 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511212101.tALL10vv071373@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 21 Nov 2015 21:01:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291144 - head/sys/dev/isp 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.20 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, 21 Nov 2015 21:01:02 -0000 Author: mav Date: Sat Nov 21 21:01:00 2015 New Revision: 291144 URL: https://svnweb.freebsd.org/changeset/base/291144 Log: Fix target mode with fabric for pre-24xx chips. For those chips we are not receiving login events, adding initiators based on ATIO requests. But there is no port ID in that structure, so in fabric mode we have to explicitly fetch it from firmware to be able to do normal scan after that. Modified: head/sys/dev/isp/isp.c head/sys/dev/isp/isp_freebsd.c head/sys/dev/isp/isp_library.c head/sys/dev/isp/ispvar.h Modified: head/sys/dev/isp/isp.c ============================================================================== --- head/sys/dev/isp/isp.c Sat Nov 21 20:52:40 2015 (r291143) +++ head/sys/dev/isp/isp.c Sat Nov 21 21:01:00 2015 (r291144) @@ -2320,7 +2320,8 @@ isp_mark_portdb(ispsoftc_t *isp, int cha lp = &fcp->portdb[i]; if (lp->state == FC_PORTDB_STATE_NIL) continue; - if ((lp->portid & 0xfffc00) == 0xfffc00) + if (lp->portid >= DOMAIN_CONTROLLER_BASE && + lp->portid <= DOMAIN_CONTROLLER_END) continue; fcp->portdb[i].probational = 1; } @@ -2787,9 +2788,6 @@ isp_fclink_test(ispsoftc_t *isp, int cha fcp = FCPARAM(isp, chan); - /* Mark port database entries probational for following scan. */ - isp_mark_portdb(isp, chan); - if (fcp->isp_loopstate >= LOOP_LTEST_DONE) return (0); @@ -3079,6 +3077,48 @@ isp_pdb_add_update(ispsoftc_t *isp, int } /* + * Fix port IDs for logged-in initiators on pre-2400 chips. + * For those chips we are not receiving login events, adding initiators + * based on ATIO requests, but there is no port ID in that structure. + */ +static void +isp_fix_portids(ispsoftc_t *isp, int chan) +{ + fcparam *fcp = FCPARAM(isp, chan); + isp_pdb_t pdb; + uint64_t wwpn; + int i, r; + + for (i = 0; i < MAX_FC_TARG; i++) { + fcportdb_t *lp = &fcp->portdb[i]; + + if (lp->state == FC_PORTDB_STATE_NIL || + lp->state == FC_PORTDB_STATE_ZOMBIE) + continue; + if (VALID_PORT(lp->portid)) + continue; + + r = isp_getpdb(isp, chan, lp->handle, &pdb, 1); + if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) + return; + if (r != 0) { + isp_prt(isp, ISP_LOGDEBUG1, + "Chan %d FC Scan Loop handle %d returned %x", + chan, lp->handle, r); + continue; + } + + MAKE_WWN_FROM_NODE_NAME(wwpn, pdb.portname); + if (lp->port_wwn != wwpn) + continue; + lp->portid = lp->new_portid = pdb.portid; + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Port 0x%06x@0x%04x is fixed", + chan, pdb.portid, pdb.handle); + } +} + +/* * Scan local loop for devices. */ static int @@ -3097,13 +3137,18 @@ isp_scan_loop(ispsoftc_t *isp, int chan) return (0); } isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan", chan); + fcp->isp_loopstate = LOOP_SCANNING_LOOP; if (TOPO_IS_FABRIC(fcp->isp_topo)) { + if (!IS_24XX(isp)) { + isp_fix_portids(isp, chan); + if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) + goto abort; + } isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC loop scan done (no loop)", chan); fcp->isp_loopstate = LOOP_LSCAN_DONE; return (0); } - fcp->isp_loopstate = LOOP_SCANNING_LOOP; lim = LOCAL_LOOP_LIM; r = isp_gethandles(isp, chan, handles, &lim, 1, 1); @@ -3121,6 +3166,7 @@ isp_scan_loop(ispsoftc_t *isp, int chan) /* * Run through the list and get the port database info for each one. */ + isp_mark_portdb(isp, chan); for (idx = 0; idx < lim; idx++) { handle = handles[idx]; @@ -3162,8 +3208,6 @@ abort: isp_prt(isp, ISP_LOGDEBUG1, "Chan %d FC Scan Loop handle %d returned %x", chan, handle, r); - if (fcp->isp_loopstate < LOOP_SCANNING_LOOP) - goto abort; continue; } @@ -3363,13 +3407,13 @@ isp_scan_fabric(ispsoftc_t *isp, int cha return (0); } isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan", chan); + fcp->isp_loopstate = LOOP_SCANNING_FABRIC; if (!TOPO_IS_FABRIC(fcp->isp_topo)) { fcp->isp_loopstate = LOOP_FSCAN_DONE; isp_prt(isp, ISP_LOG_SANCFG, "Chan %d FC fabric scan done (no fabric)", chan); return (0); } - fcp->isp_loopstate = LOOP_SCANNING_FABRIC; if (FC_SCRATCH_ACQUIRE(isp, chan)) { isp_prt(isp, ISP_LOGERR, sacq); @@ -3493,7 +3537,7 @@ abort: * than one entry that has the same PortID or the same * WWNN/WWPN duple, we enter the device into our database. */ - + isp_mark_portdb(isp, chan); for (portidx = 0; portidx < portlim; portidx++) { portid = ((rs1->snscb_ports[portidx].portid[0]) << 16) | ((rs1->snscb_ports[portidx].portid[1]) << 8) | @@ -3502,13 +3546,13 @@ abort: "Chan %d Checking fabric port 0x%06x", chan, portid); if (portid == 0) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Skipping null PortID at idx %d", + "Chan %d Port at idx %d is zero", chan, portidx); continue; } if (portid == fcp->isp_portid) { isp_prt(isp, ISP_LOG_SANCFG, - "Chan %d Skipping our PortID 0x%06x", chan, portid); + "Chan %d Port 0x%06x is our", chan, portid); continue; } @@ -3555,8 +3599,11 @@ abort: } relogin: - if ((fcp->role & ISP_ROLE_INITIATOR) == 0) + if ((fcp->role & ISP_ROLE_INITIATOR) == 0) { + isp_prt(isp, ISP_LOG_SANCFG, + "Chan %d Port 0x%06x is not logged in", chan, portid); continue; + } if (isp_login_device(isp, chan, portid, &pdb, &FCPARAM(isp, 0)->isp_lasthdl)) { @@ -5850,11 +5897,14 @@ isp_handle_other_response(ispsoftc_t *is if (fcp->role == ISP_ROLE_NONE) continue; c = (chan == 0) ? 127 : (chan - 1); - if (rid.ridacq_map[c / 16] & (1 << (c % 16))) + if (rid.ridacq_map[c / 16] & (1 << (c % 16))) { + fcp->isp_loopstate = LOOP_NIL; isp_async(isp, ISPASYNC_CHANGE_NOTIFY, chan, ISPASYNC_CHANGE_OTHER); + } } } else { + FCPARAM(isp, rid.ridacq_vp_index)->isp_loopstate = LOOP_NIL; isp_async(isp, ISPASYNC_CHANGE_NOTIFY, rid.ridacq_vp_index, ISPASYNC_CHANGE_OTHER); } Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Sat Nov 21 20:52:40 2015 (r291143) +++ head/sys/dev/isp/isp_freebsd.c Sat Nov 21 21:01:00 2015 (r291144) @@ -2342,7 +2342,7 @@ isp_handle_platform_atio(ispsoftc_t *isp atp->bytes_xfered = 0; atp->lun = aep->at_lun; atp->nphdl = aep->at_iid; - atp->portid = PORT_NONE; + atp->portid = PORT_ANY; atp->oxid = 0; atp->cdb0 = atiop->cdb_io.cdb_bytes[0]; atp->tattr = aep->at_tag_type; Modified: head/sys/dev/isp/isp_library.c ============================================================================== --- head/sys/dev/isp/isp_library.c Sat Nov 21 20:52:40 2015 (r291143) +++ head/sys/dev/isp/isp_library.c Sat Nov 21 21:01:00 2015 (r291144) @@ -2580,12 +2580,12 @@ isp_add_wwn_entry(ispsoftc_t *isp, int c * so log them verbosely and dump the whole port database. */ if ((VALID_INI(wwpn) && isp_find_pdb_by_wwpn(isp, chan, wwpn, &lp)) || - (s_id != PORT_NONE && isp_find_pdb_by_portid(isp, chan, s_id, &lp))) { + (VALID_PORT(s_id) && isp_find_pdb_by_portid(isp, chan, s_id, &lp))) { change = 0; lp->new_portid = lp->portid; lp->new_prli_word3 = lp->prli_word3; - if (s_id != PORT_NONE && lp->portid != s_id) { - if (lp->portid == PORT_NONE) { + if (VALID_PORT(s_id) && lp->portid != s_id) { + if (!VALID_PORT(lp->portid)) { isp_prt(isp, ISP_LOGTINFO, "Chan %d WWPN 0x%016llx handle 0x%x " "gets PortID 0x%06x", @@ -2804,13 +2804,13 @@ isp_del_wwn_entries(ispsoftc_t *isp, isp return; } } - if (mp->nt_wwn != INI_ANY) { + if (VALID_INI(mp->nt_wwn)) { if (isp_find_pdb_by_wwpn(isp, mp->nt_channel, mp->nt_wwn, &lp)) { isp_del_wwn_entry(isp, mp->nt_channel, lp->port_wwn, lp->handle, lp->portid); return; } } - if (mp->nt_sid != PORT_ANY && mp->nt_sid != PORT_NONE) { + if (VALID_PORT(mp->nt_sid)) { if (isp_find_pdb_by_portid(isp, mp->nt_channel, mp->nt_sid, &lp)) { isp_del_wwn_entry(isp, mp->nt_channel, lp->port_wwn, lp->handle, lp->portid); return; Modified: head/sys/dev/isp/ispvar.h ============================================================================== --- head/sys/dev/isp/ispvar.h Sat Nov 21 20:52:40 2015 (r291143) +++ head/sys/dev/isp/ispvar.h Sat Nov 21 21:01:00 2015 (r291144) @@ -282,6 +282,7 @@ typedef struct { #define FABRIC_PORT_ID 0xFFFFFE #define PORT_ANY 0xFFFFFF #define PORT_NONE 0 +#define VALID_PORT(port) (port != PORT_NONE && port != PORT_ANY) #define DOMAIN_CONTROLLER_BASE 0xFFFC00 #define DOMAIN_CONTROLLER_END 0xFFFCFF From owner-svn-src-head@freebsd.org Sat Nov 21 21:14:17 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 634EBA34F6A; Sat, 21 Nov 2015 21:14:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2C7D01501; Sat, 21 Nov 2015 21:14:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALLEG4E076965; Sat, 21 Nov 2015 21:14:16 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALLEGfQ076964; Sat, 21 Nov 2015 21:14:16 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511212114.tALLEGfQ076964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sat, 21 Nov 2015 21:14:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291145 - head/usr.sbin/bluetooth/bthidd 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.20 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, 21 Nov 2015 21:14:17 -0000 Author: hselasky Date: Sat Nov 21 21:14:16 2015 New Revision: 291145 URL: https://svnweb.freebsd.org/changeset/base/291145 Log: Fix scancodes for Kana and Eisu keys. PR: 204709 Submitted by: naito.yuichiro@gmail.com MFC after: 3 days Modified: head/usr.sbin/bluetooth/bthidd/kbd.c Modified: head/usr.sbin/bluetooth/bthidd/kbd.c ============================================================================== --- head/usr.sbin/bluetooth/bthidd/kbd.c Sat Nov 21 21:01:00 2015 (r291144) +++ head/usr.sbin/bluetooth/bthidd/kbd.c Sat Nov 21 21:14:16 2015 (r291145) @@ -226,8 +226,8 @@ static int32_t const x[] = /* Keyboard Int'l 7 8D */ -1, /* Unassigned */ /* Keyboard Int'l 8 8E */ -1, /* Unassigned */ /* Keyboard Int'l 9 8F */ -1, /* Unassigned */ -/* Keyboard Lang 1 90 */ 0x71, /* eisu */ -/* Keyboard Lang 2 91 */ 0x72, /* kana */ +/* Keyboard Lang 1 90 */ 0x71, /* Kana */ +/* Keyboard Lang 2 91 */ 0x72, /* Eisu */ /* Keyboard Lang 3 92 */ 0x78, /* F8 */ /* Keyboard Lang 4 93 */ 0x77, /* F7 */ /* Keyboard Lang 5 94 */ 0x76, /* F6 */ From owner-svn-src-head@freebsd.org Sat Nov 21 21:18:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D91A5A34011; Sat, 21 Nov 2015 21:18:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C8A91819; Sat, 21 Nov 2015 21:18:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALLItKv077166; Sat, 21 Nov 2015 21:18:55 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALLItNh077165; Sat, 21 Nov 2015 21:18:55 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201511212118.tALLItNh077165@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sat, 21 Nov 2015 21:18:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291146 - 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.20 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, 21 Nov 2015 21:18:56 -0000 Author: hselasky Date: Sat Nov 21 21:18:55 2015 New Revision: 291146 URL: https://svnweb.freebsd.org/changeset/base/291146 Log: Add support for Kana and Eisu keys to the USB keyboard driver. PR: 204709 Submitted by: naito.yuichiro@gmail.com MFC after: 3 days Modified: head/sys/dev/usb/input/ukbd.c Modified: head/sys/dev/usb/input/ukbd.c ============================================================================== --- head/sys/dev/usb/input/ukbd.c Sat Nov 21 21:14:16 2015 (r291145) +++ head/sys/dev/usb/input/ukbd.c Sat Nov 21 21:18:55 2015 (r291146) @@ -299,6 +299,10 @@ static const struct ukbd_mods ukbd_mods[ * 0x68: F13 * 0x69: F14 * 0x6a: F15 + * + * USB Apple Keyboard JIS generates: + * 0x90: Kana + * 0x91: Eisu */ static const uint8_t ukbd_trtab[256] = { 0, 0, 0, 0, 30, 48, 46, 32, /* 00 - 07 */ @@ -319,7 +323,7 @@ static const uint8_t ukbd_trtab[256] = { 109, 110, 112, 118, 114, 116, 117, 119, /* 78 - 7F */ 121, 120, NN, NN, NN, NN, NN, 123, /* 80 - 87 */ 124, 125, 126, 127, 128, NN, NN, NN, /* 88 - 8F */ - NN, NN, NN, NN, NN, NN, NN, NN, /* 90 - 97 */ + 129, 130, NN, NN, NN, NN, NN, NN, /* 90 - 97 */ NN, NN, NN, NN, NN, NN, NN, NN, /* 98 - 9F */ NN, NN, NN, NN, NN, NN, NN, NN, /* A0 - A7 */ NN, NN, NN, NN, NN, NN, NN, NN, /* A8 - AF */ @@ -2067,7 +2071,7 @@ ukbd_key2scan(struct ukbd_softc *sc, int 0x166, /* Sun Type 6 Find */ 0x167, /* Sun Type 6 Cut */ 0x125, /* Sun Type 6 Mute */ - /* 120 - 128 */ + /* 120 - 130 */ 0x11f, /* Sun Type 6 VolumeDown */ 0x11e, /* Sun Type 6 VolumeUp */ 0x120, /* Sun Type 6 PowerDown */ @@ -2079,6 +2083,8 @@ ukbd_key2scan(struct ukbd_softc *sc, int 0x79, /* Keyboard Intl' 4 (Henkan) */ 0x7b, /* Keyboard Intl' 5 (Muhenkan) */ 0x5c, /* Keyboard Intl' 6 (Keypad ,) (For PC-9821 layout) */ + 0x71, /* Apple Keyboard JIS (Kana) */ + 0x72, /* Apple Keyboard JIS (Eisu) */ }; if ((code >= 89) && (code < (int)(89 + (sizeof(scan) / sizeof(scan[0]))))) { From owner-svn-src-head@freebsd.org Sat Nov 21 21:44:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9DD04A346D3; Sat, 21 Nov 2015 21:44:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 68BB013D1; Sat, 21 Nov 2015 21:44:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALLiBqE086073; Sat, 21 Nov 2015 21:44:11 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALLiBih086072; Sat, 21 Nov 2015 21:44:11 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201511212144.tALLiBih086072@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 21 Nov 2015 21:44:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291147 - head/sys/dev/isp 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.20 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, 21 Nov 2015 21:44:12 -0000 Author: mav Date: Sat Nov 21 21:44:11 2015 New Revision: 291147 URL: https://svnweb.freebsd.org/changeset/base/291147 Log: Increase maximal value of vports tunable to 254. I am not sure this value is really viable yet, but that is what chips officially support in NPIV mode (in loop mode maximum is 125). Modified: head/sys/dev/isp/isp_pci.c Modified: head/sys/dev/isp/isp_pci.c ============================================================================== --- head/sys/dev/isp/isp_pci.c Sat Nov 21 21:18:55 2015 (r291146) +++ head/sys/dev/isp/isp_pci.c Sat Nov 21 21:44:11 2015 (r291147) @@ -486,7 +486,7 @@ isp_get_generic_options(device_t dev, is } tval = -1; (void) resource_int_value(device_get_name(dev), device_get_unit(dev), "vports", &tval); - if (tval > 0 && tval < 127) { + if (tval > 0 && tval <= 254) { isp_nvports = tval; } tval = 7; From owner-svn-src-head@freebsd.org Sat Nov 21 22:11:12 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 01F7DA34C41 for ; Sat, 21 Nov 2015 22:11:12 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lb0-f175.google.com (mail-lb0-f175.google.com [209.85.217.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A76D11086 for ; Sat, 21 Nov 2015 22:11:11 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by lbbkw15 with SMTP id kw15so78980263lbb.0 for ; Sat, 21 Nov 2015 14:11:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=y25wfgcfrdJ5Sf0LLuC3/DtWpXAWZvc2DkP8HBdieXQ=; b=hhRdwpwC2B/MaRguWUL2056xaqNpgszm7fKKp7YX4O7pPmR1Ldk7EbF08gPqmOfMTf WSOwsb3x+b+BLqI5Cq0zraWShJIy9X1prnbbHpavxuhRcegprY7B08XvmaT9UAEktmBD FpHHlR7kP3m/+k3EgEGkJ5kfDZWgmjPUszd/KItwq3OMkgkfdwHmblBzUOmYuDpET9Wo cfxBQ3QklRJ/cgzDgNrzTyns3wkbgBlRkYHzjV9WQdGZ5lkQSfwAmDiOnMVMFqIyjwZE NlXXKZZukTZOvFl0Pjg8wurFNI6X2J3I05mKsizAnSr4kdO5F00av/D2huJub+n+14ew mUbw== X-Gm-Message-State: ALoCoQmf/fX0Ayqv/+/SoWlLsTliaFbSjBGbqYYQ+qIkccPIUbKZ8D+EsrqxjnrmO+/qv5ABeQu+ X-Received: by 10.112.161.33 with SMTP id xp1mr6953772lbb.141.1448143869229; Sat, 21 Nov 2015 14:11:09 -0800 (PST) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id xt2sm806935lbb.47.2015.11.21.14.11.07 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 21 Nov 2015 14:11:08 -0800 (PST) Subject: Re: svn commit: r291114 - head/lib/libc/gen To: David Sanderson References: <201511202236.tAKMaf06048447@repo.freebsd.org> <564FAAB0.6000600@freebsd.org> <28C3C55F-BF25-4DB2-AF05-B57F3F2CCAD5@panasas.com> <564FB5F3.1080301@freebsd.org> Cc: Ravi Pokala , Ravi Pokala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, "Sanderson, David" From: Andrey Chernov Message-ID: <5650EBF9.9060002@freebsd.org> Date: Sun, 22 Nov 2015 01:11:05 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 21 Nov 2015 22:11:12 -0000 On 21.11.2015 5:29, David Sanderson wrote: > Thank you for pointing out the possibility of fdopen() setting > FD_CLOEXEC on the parent's end of the pipe if the mode string contains > an 'e'. This is indeed documented on popen(3). > > However, note that popen() uses pipe2(pdes, O_CLOEXEC) to create the > pipe -- so both ends of the pipe start out with FD_CLOEXEC set. > > If the caller uses popen() with "re" or "we", the fdopen() code will > simply set FD_CLOEXEC on the parent's end of the pipe _again_. So > moving the fdopen() prior to the fork() doesn't have any net effect on > the file descriptors the child process receives, even in the face of > popen() with "re" or "we". > > Does this address your concerns? Yes, it is safe in this case. Thanx. -- http://ache.vniz.net/ From owner-svn-src-head@freebsd.org Sat Nov 21 23:04:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 23085A3489C; Sat, 21 Nov 2015 23:04:14 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E7C4019B6; Sat, 21 Nov 2015 23:04:13 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALN4D1k009852; Sat, 21 Nov 2015 23:04:13 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALN4D81009851; Sat, 21 Nov 2015 23:04:13 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201511212304.tALN4D81009851@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 21 Nov 2015 23:04:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291148 - head/usr.bin/vmstat 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.20 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, 21 Nov 2015 23:04:14 -0000 Author: markj Date: Sat Nov 21 23:04:12 2015 New Revision: 291148 URL: https://svnweb.freebsd.org/changeset/base/291148 Log: Add a missing brace to fix vmstat -s output. Modified: head/usr.bin/vmstat/vmstat.c Modified: head/usr.bin/vmstat/vmstat.c ============================================================================== --- head/usr.bin/vmstat/vmstat.c Sat Nov 21 21:44:11 2015 (r291147) +++ head/usr.bin/vmstat/vmstat.c Sat Nov 21 23:04:12 2015 (r291148) @@ -1113,7 +1113,7 @@ dosum(void) nchtotal = lnchstats.ncs_goodhits + lnchstats.ncs_neghits + lnchstats.ncs_badhits + lnchstats.ncs_falsehits + lnchstats.ncs_miss + lnchstats.ncs_long; - xo_emit(":total-name-lookups/%9ld} {N:total name lookups}\n", + xo_emit("{:total-name-lookups/%9ld} {N:total name lookups}\n", nchtotal); xo_emit("{P:/%9s} {N:cache hits} " "({:positive-cache-hits/%ld}% pos + " From owner-svn-src-head@freebsd.org Sat Nov 21 23:30:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2AD8A34EF2; Sat, 21 Nov 2015 23:30:48 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 740EF13D7; Sat, 21 Nov 2015 23:30:48 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALNUl6J016588; Sat, 21 Nov 2015 23:30:47 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALNUl4v016587; Sat, 21 Nov 2015 23:30:47 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201511212330.tALNUl4v016587@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 21 Nov 2015 23:30:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291149 - head/sys/arm/freescale/imx 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.20 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, 21 Nov 2015 23:30:48 -0000 Author: ian Date: Sat Nov 21 23:30:47 2015 New Revision: 291149 URL: https://svnweb.freebsd.org/changeset/base/291149 Log: Update the imx5/imx6 cpu_reset() implementation based on a new understanding of the SRS (software reset) bit in the watchdog control register. Despite what the manual seems to imply, this bit DOES trigger an immediate reset, as opposed to simply flagging the type of reset as software-triggered. Modified: head/sys/arm/freescale/imx/imx_machdep.c Modified: head/sys/arm/freescale/imx/imx_machdep.c ============================================================================== --- head/sys/arm/freescale/imx/imx_machdep.c Sat Nov 21 23:04:12 2015 (r291148) +++ head/sys/arm/freescale/imx/imx_machdep.c Sat Nov 21 23:30:47 2015 (r291149) @@ -72,16 +72,14 @@ imx_wdog_cpu_reset(vm_offset_t wdcr_phys volatile uint16_t * pcr; /* - * The deceptively simple write of WDOG_CR_WDE enables the watchdog, - * sets the timeout to its minimum value (half a second), and also - * clears the SRS bit which results in the SFTW (software-requested - * reset) bit being set in the watchdog status register after the reset. - * This is how software can distinguish a reset from a wdog timeout. + * Trigger an immediate reset by clearing the SRS bit in the watchdog + * control register. The reset happens on the next cycle of the wdog + * 32KHz clock, so hang out in a spin loop until the reset takes effect. */ if ((pcr = arm_devmap_ptov(wdcr_physaddr, sizeof(*pcr))) == NULL) { printf("cpu_reset() can't find its control register... locking up now."); } else { - *pcr = WDOG_CR_WDE; + *pcr &= ~WDOG_CR_SRS; } for (;;) continue; From owner-svn-src-head@freebsd.org Sat Nov 21 23:55:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04843A3446F; Sat, 21 Nov 2015 23:55:48 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B9AAF1F40; Sat, 21 Nov 2015 23:55:47 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tALNtkCw025183; Sat, 21 Nov 2015 23:55:46 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tALNtkOY025180; Sat, 21 Nov 2015 23:55:46 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201511212355.tALNtkOY025180@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 21 Nov 2015 23:55:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r291150 - in head/sys/fs: nfs nfsserver 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.20 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, 21 Nov 2015 23:55:48 -0000 Author: rmacklem Date: Sat Nov 21 23:55:46 2015 New Revision: 291150 URL: https://svnweb.freebsd.org/changeset/base/291150 Log: When the nfsd threads are terminated, the NFSv4 server state (opens, locks, etc) is retained, which I believe is correct behaviour. However, for NFSv4.1, the server also retained a reference to the xprt (RPC transport socket structure) for the backchannel. This caused svcpool_destroy() to not call SVC_DESTROY() for the xprt and allowed a socket upcall to occur after the mutexes in the svcpool were destroyed, causing a crash. This patch fixes the code so that the backchannel xprt structure is dereferenced just before svcpool_destroy() is called, so the code does do an SVC_DESTROY() on the xprt, which shuts down the socket upcall. Tested by: g_amanakis@yahoo.com PR: 204340 MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsserver/nfs_nfsdkrpc.c head/sys/fs/nfsserver/nfs_nfsdstate.c Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Sat Nov 21 23:30:47 2015 (r291149) +++ head/sys/fs/nfs/nfs_var.h Sat Nov 21 23:55:46 2015 (r291150) @@ -135,6 +135,7 @@ int nfsrv_checksequence(struct nfsrv_des uint32_t *, int, uint32_t *, NFSPROC_T *); int nfsrv_checkreclaimcomplete(struct nfsrv_descript *); void nfsrv_cache_session(uint8_t *, uint32_t, int, struct mbuf **); +void nfsrv_freeallbackchannel_xprts(void); /* nfs_nfsdserv.c */ int nfsrvd_access(struct nfsrv_descript *, int, Modified: head/sys/fs/nfsserver/nfs_nfsdkrpc.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdkrpc.c Sat Nov 21 23:30:47 2015 (r291149) +++ head/sys/fs/nfsserver/nfs_nfsdkrpc.c Sat Nov 21 23:55:46 2015 (r291150) @@ -544,6 +544,7 @@ nfsrvd_init(int terminating) if (terminating) { nfsd_master_proc = NULL; NFSD_UNLOCK(); + nfsrv_freeallbackchannel_xprts(); svcpool_destroy(nfsrvd_pool); nfsrvd_pool = NULL; NFSD_LOCK(); Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Nov 21 23:30:47 2015 (r291149) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Sat Nov 21 23:55:46 2015 (r291150) @@ -4191,10 +4191,23 @@ nfsrv_docallback(struct nfsclient *clp, if (!error) { if ((nd->nd_flag & ND_NFSV41) != 0) { KASSERT(sep != NULL, ("sep NULL")); - error = newnfs_request(nd, NULL, clp, &clp->lc_req, - NULL, NULL, cred, clp->lc_program, - clp->lc_req.nr_vers, NULL, 1, NULL, - &sep->sess_cbsess); + if (sep->sess_cbsess.nfsess_xprt != NULL) + error = newnfs_request(nd, NULL, clp, + &clp->lc_req, NULL, NULL, cred, + clp->lc_program, clp->lc_req.nr_vers, NULL, + 1, NULL, &sep->sess_cbsess); + else { + /* + * This should probably never occur, but if a + * client somehow does an RPC without a + * SequenceID Op that causes a callback just + * after the nfsd threads have been terminated + * and restared we could conceivably get here + * without a backchannel xprt. + */ + printf("nfsrv_docallback: no xprt\n"); + error = ECONNREFUSED; + } nfsrv_freesession(sep, NULL); } else error = newnfs_request(nd, NULL, clp, &clp->lc_req, @@ -5784,14 +5797,16 @@ nfsrv_checksequence(struct nfsrv_descrip * If this session handles the backchannel, save the nd_xprt for this * RPC, since this is the one being used. */ - if (sep->sess_cbsess.nfsess_xprt != NULL && + if (sep->sess_clp->lc_req.nr_client != NULL && (sep->sess_crflags & NFSV4CRSESS_CONNBACKCHAN) != 0) { savxprt = sep->sess_cbsess.nfsess_xprt; SVC_ACQUIRE(nd->nd_xprt); - nd->nd_xprt->xp_p2 = savxprt->xp_p2; + nd->nd_xprt->xp_p2 = + sep->sess_clp->lc_req.nr_client->cl_private; nd->nd_xprt->xp_idletimeout = 0; /* Disable timeout. */ sep->sess_cbsess.nfsess_xprt = nd->nd_xprt; - SVC_RELEASE(savxprt); + if (savxprt != NULL) + SVC_RELEASE(savxprt); } *sflagsp = 0; @@ -6050,3 +6065,29 @@ nfsv4_getcbsession(struct nfsclient *clp return (0); } +/* + * Free up all backchannel xprts. This needs to be done when the nfsd threads + * exit, since those transports will all be going away. + * This is only called after all the nfsd threads are done performing RPCs, + * so locking shouldn't be an issue. + */ +APPLESTATIC void +nfsrv_freeallbackchannel_xprts(void) +{ + struct nfsdsession *sep; + struct nfsclient *clp; + SVCXPRT *xprt; + int i; + + for (i = 0; i < nfsrv_clienthashsize; i++) { + LIST_FOREACH(clp, &nfsclienthash[i], lc_hash) { + LIST_FOREACH(sep, &clp->lc_session, sess_list) { + xprt = sep->sess_cbsess.nfsess_xprt; + sep->sess_cbsess.nfsess_xprt = NULL; + if (xprt != NULL) + SVC_RELEASE(xprt); + } + } + } +} +

;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sun Nov 15 16:02:24 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0E7A2A2F942; Sun, 15 Nov 2015 16:02:24 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DC2811978; Sun, 15 Nov 2015 16:02:23 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFG2MSF006098; Sun, 15 Nov 2015 16:02:22 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFG2Mv7006093; Sun, 15 Nov 2015 16:02:22 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201511151602.tAFG2Mv7006093@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 15 Nov 2015 16:02:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290867 - in head/sys: netinet6 netpfil/pf 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.20 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, 15 Nov 2015 16:02:24 -0000 Author: melifaro Date: Sun Nov 15 16:02:22 2015 New Revision: 290867 URL: https://svnweb.freebsd.org/changeset/base/290867 Log: Bring back the ability of passing cached route via nd6_output_ifp(). Modified: head/sys/netinet6/ip6_forward.c head/sys/netinet6/ip6_output.c head/sys/netinet6/nd6.c head/sys/netinet6/nd6.h head/sys/netpfil/pf/pf.c Modified: head/sys/netinet6/ip6_forward.c ============================================================================== --- head/sys/netinet6/ip6_forward.c Sun Nov 15 14:51:10 2015 (r290866) +++ head/sys/netinet6/ip6_forward.c Sun Nov 15 16:02:22 2015 (r290867) @@ -571,7 +571,7 @@ pass: goto bad; } - error = nd6_output_ifp(rt->rt_ifp, origifp, m, dst); + error = nd6_output_ifp(rt->rt_ifp, origifp, m, dst, NULL); if (error) { in6_ifstat_inc(rt->rt_ifp, ifs6_out_discard); IP6STAT_INC(ip6s_cantforward); Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Sun Nov 15 14:51:10 2015 (r290866) +++ head/sys/netinet6/ip6_output.c Sun Nov 15 16:02:22 2015 (r290867) @@ -935,7 +935,7 @@ passout: m->m_pkthdr.len); ifa_free(&ia6->ia_ifa); } - error = nd6_output_ifp(ifp, origifp, m, dst); + error = nd6_output_ifp(ifp, origifp, m, dst, NULL); goto done; } @@ -1034,7 +1034,7 @@ sendorfree: counter_u64_add(ia->ia_ifa.ifa_obytes, m->m_pkthdr.len); } - error = nd6_output_ifp(ifp, origifp, m, dst); + error = nd6_output_ifp(ifp, origifp, m, dst, NULL); } else m_freem(m); } Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Sun Nov 15 14:51:10 2015 (r290866) +++ head/sys/netinet6/nd6.c Sun Nov 15 16:02:22 2015 (r290867) @@ -1905,7 +1905,7 @@ nd6_grab_holdchain(struct llentry *ln, s int nd6_output_ifp(struct ifnet *ifp, struct ifnet *origifp, struct mbuf *m, - struct sockaddr_in6 *dst) + struct sockaddr_in6 *dst, struct route *ro) { int error; int ip6len; @@ -1944,7 +1944,7 @@ nd6_output_ifp(struct ifnet *ifp, struct if ((ifp->if_flags & IFF_LOOPBACK) == 0) origifp = ifp; - error = (*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL); + error = (*ifp->if_output)(origifp, m, (struct sockaddr *)dst, ro); return (error); } @@ -2192,7 +2192,7 @@ nd6_flush_holdchain(struct ifnet *ifp, s while (m_head) { m = m_head; m_head = m_head->m_nextpkt; - error = nd6_output_ifp(ifp, origifp, m, dst); + error = nd6_output_ifp(ifp, origifp, m, dst, NULL); } /* Modified: head/sys/netinet6/nd6.h ============================================================================== --- head/sys/netinet6/nd6.h Sun Nov 15 14:51:10 2015 (r290866) +++ head/sys/netinet6/nd6.h Sun Nov 15 16:02:22 2015 (r290867) @@ -422,7 +422,7 @@ int nd6_flush_holdchain(struct ifnet *, int nd6_add_ifa_lle(struct in6_ifaddr *); void nd6_rem_ifa_lle(struct in6_ifaddr *, int); int nd6_output_ifp(struct ifnet *, struct ifnet *, struct mbuf *, - struct sockaddr_in6 *); + struct sockaddr_in6 *, struct route *); /* nd6_nbr.c */ void nd6_na_input(struct mbuf *, int, int); Modified: head/sys/netpfil/pf/pf.c ============================================================================== --- head/sys/netpfil/pf/pf.c Sun Nov 15 14:51:10 2015 (r290866) +++ head/sys/netpfil/pf/pf.c Sun Nov 15 16:02:22 2015 (r290867) @@ -5588,7 +5588,7 @@ pf_route6(struct mbuf **m, struct pf_rul if (IN6_IS_SCOPE_EMBED(&dst.sin6_addr)) dst.sin6_addr.s6_addr16[1] = htons(ifp->if_index); if ((u_long)m0->m_pkthdr.len <= ifp->if_mtu) - nd6_output_ifp(ifp, ifp, m0, &dst); + nd6_output_ifp(ifp, ifp, m0, &dst, NULL); else { in6_ifstat_inc(ifp, ifs6_in_toobig); if (r->rt != PF_DUPTO) From owner-svn-src-head@freebsd.org Sun Nov 15 18:45:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99F44A302C6; Sun, 15 Nov 2015 18:45:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 60E021236; Sun, 15 Nov 2015 18:45:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFIj4gf056580; Sun, 15 Nov 2015 18:45:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFIj4ub056579; Sun, 15 Nov 2015 18:45:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511151845.tAFIj4ub056579@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 18:45:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290868 - head/lib/libc/tests/net 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.20 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, 15 Nov 2015 18:45:05 -0000 Author: ngie Date: Sun Nov 15 18:45:04 2015 New Revision: 290868 URL: https://svnweb.freebsd.org/changeset/base/290868 Log: Fix -Wformat issues X-MFC with: r290563 MFC after: 1 week Reported by: gcc Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/net/ether_test.c Modified: head/lib/libc/tests/net/ether_test.c ============================================================================== --- head/lib/libc/tests/net/ether_test.c Sun Nov 15 16:02:22 2015 (r290867) +++ head/lib/libc/tests/net/ether_test.c Sun Nov 15 18:45:04 2015 (r290868) @@ -65,7 +65,7 @@ ATF_TC_BODY(ether_line_bad_1, tc) char hostname[256]; ATF_REQUIRE_MSG(ether_line(ether_line_bad_1_string, &e, hostname) != 0, - "ether_line succeeded unexpectedly", errno); + "ether_line succeeded unexpectedly; errno=%d", errno); } static const char *ether_line_bad_2_string = "x x"; @@ -77,7 +77,7 @@ ATF_TC_BODY(ether_line_bad_2, tc) char hostname[256]; ATF_REQUIRE_MSG(ether_line(ether_line_bad_2_string, &e, hostname) != 0, - "ether_line succeeded unexpectedly", errno); + "ether_line succeeded unexpectedly; errno=%d", errno); } static const char *ether_aton_string = "01:23:45:67:89:ab"; @@ -92,7 +92,7 @@ ATF_TC_BODY(ether_aton_r, tc) ep = ether_aton_r(ether_aton_string, &e); - ATF_REQUIRE_MSG(ep != NULL, "ether_aton_r failed", errno); + ATF_REQUIRE_MSG(ep != NULL, "ether_aton_r failed; errno=%d", errno); ATF_REQUIRE_MSG(ep == &e, "ether_aton_r returned different pointers; %p != %p", ep, &e); } From owner-svn-src-head@freebsd.org Sun Nov 15 18:49:33 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15A51A30331; Sun, 15 Nov 2015 18:49:33 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7DE913C2; Sun, 15 Nov 2015 18:49:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFInVct056757; Sun, 15 Nov 2015 18:49:31 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFInVO7056756; Sun, 15 Nov 2015 18:49:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511151849.tAFInVO7056756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 18:49:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290869 - head/contrib/netbsd-tests/lib/libc/regex 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.20 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, 15 Nov 2015 18:49:33 -0000 Author: ngie Date: Sun Nov 15 18:49:31 2015 New Revision: 290869 URL: https://svnweb.freebsd.org/changeset/base/290869 Log: Redo r290847: use #ifdef __NetBSD__ on all the non-public APIs to mute -Wunused-but-set-variable warnings with gcc dealing with the function calls X-MFC with: r290847 MFC after: 1 week Reported by: gcc Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/lib/libc/regex/debug.c Modified: head/contrib/netbsd-tests/lib/libc/regex/debug.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/regex/debug.c Sun Nov 15 18:45:04 2015 (r290868) +++ head/contrib/netbsd-tests/lib/libc/regex/debug.c Sun Nov 15 18:49:31 2015 (r290869) @@ -45,16 +45,18 @@ #include "test_regex.h" +#ifdef __NetBSD__ static void s_print(struct re_guts *, FILE *); static char *regchar(int); +#endif +#ifdef __NetBSD__ /* * regprint - print a regexp for debugging */ void regprint(regex_t *r, FILE *d) { -#ifdef __NetBSD__ struct re_guts *g = r->re_g; int c; int last; @@ -116,7 +118,6 @@ regprint(regex_t *r, FILE *d) } fprintf(d, "\n"); } -#endif } /* @@ -126,15 +127,11 @@ static void s_print(struct re_guts *g, FILE *d) { sop *s; -#ifdef __NetBSD__ cset *cs; -#endif int done = 0; sop opnd; int col = 0; -#ifdef __NetBSD__ ssize_t last; -#endif sopno offset = 2; # define GAP() { if (offset % 5 == 0) { \ if (col > 40) { \ @@ -181,7 +178,6 @@ s_print(struct re_guts *g, FILE *d) break; case OANYOF: fprintf(d, "[(%ld)", (long)opnd); -#ifdef __NetBSD__ cs = &g->sets[opnd]; last = -1; for (size_t i = 0; i < g->csetsize+1; i++) /* +1 flushes */ @@ -198,7 +194,6 @@ s_print(struct re_guts *g, FILE *d) last = -1; } } -#endif fprintf(d, "]"); break; case OBACK_: @@ -254,11 +249,7 @@ s_print(struct re_guts *g, FILE *d) fprintf(d, ">"); break; default: -#ifdef __FreeBSD__ - fprintf(d, "!%ld(%ld)!", OP(*s), opnd); -#else fprintf(d, "!%d(%d)!", OP(*s), opnd); -#endif break; } if (!done) @@ -280,3 +271,10 @@ regchar(int ch) sprintf(buf, "\\%o", ch); return(buf); } +#else +void +regprint(regex_t *r, FILE *d) +{ + +} +#endif From owner-svn-src-head@freebsd.org Sun Nov 15 18:51:50 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C4AEA30457; Sun, 15 Nov 2015 18:51:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 132B7184A; Sun, 15 Nov 2015 18:51:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFIpnFv059316; Sun, 15 Nov 2015 18:51:49 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFIpnVJ059315; Sun, 15 Nov 2015 18:51:49 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511151851.tAFIpnVJ059315@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 18:51:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290870 - head/share/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.20 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, 15 Nov 2015 18:51:50 -0000 Author: ngie Date: Sun Nov 15 18:51:48 2015 New Revision: 290870 URL: https://svnweb.freebsd.org/changeset/base/290870 Log: Add NO_WERROR and WARNS to PROG_OVERRIDE_VARS for bsd.prog.mk compatibility MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.progs.mk Modified: head/share/mk/bsd.progs.mk ============================================================================== --- head/share/mk/bsd.progs.mk Sun Nov 15 18:49:31 2015 (r290869) +++ head/share/mk/bsd.progs.mk Sun Nov 15 18:51:48 2015 (r290870) @@ -41,8 +41,8 @@ PROG ?= $t .if defined(PROG) # just one of many -PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN PROGNAME \ - SRCS +PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN NO_WERROR \ + PROGNAME SRCS WARNS PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD LIBADD LINKS \ LDFLAGS MLINKS ${PROG_OVERRIDE_VARS} .for v in ${PROG_VARS:O:u} From owner-svn-src-head@freebsd.org Sun Nov 15 18:57:00 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 14F97A30512; Sun, 15 Nov 2015 18:57:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4D911BB1; Sun, 15 Nov 2015 18:56:59 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFIuwJI059637; Sun, 15 Nov 2015 18:56:58 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFIuwLh059636; Sun, 15 Nov 2015 18:56:58 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511151856.tAFIuwLh059636@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 15 Nov 2015 18:56:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290871 - head/lib/libc/tests/stdio 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.20 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, 15 Nov 2015 18:57:00 -0000 Author: ngie Date: Sun Nov 15 18:56:58 2015 New Revision: 290871 URL: https://svnweb.freebsd.org/changeset/base/290871 Log: Disable -Wformat with scanfloat_test when compiling with gcc to avoid a "use of assignment suppression and length modifier together in scanf format" warning on line 90 (it's intentional) MFC after: 1 week X-MFC with: r290537, r290856, r290860 Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc/tests/stdio/Makefile Modified: head/lib/libc/tests/stdio/Makefile ============================================================================== --- head/lib/libc/tests/stdio/Makefile Sun Nov 15 18:51:48 2015 (r290870) +++ head/lib/libc/tests/stdio/Makefile Sun Nov 15 18:56:58 2015 (r290871) @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + ATF_TESTS_C+= fdopen_test ATF_TESTS_C+= fmemopen2_test ATF_TESTS_C+= fopen2_test @@ -32,6 +34,12 @@ LDADD.printfloat_test+= -lm DPADD.scanfloat_test+= ${LIBM} LDADD.scanfloat_test+= -lm +.if ${COMPILER_TYPE} == "gcc" +# 90: use of assignment suppression and length modifier together in scanf format +PROG_OVERRIDE_VARS+= NO_WFORMAT +NO_WFORMAT.scanfloat_test= +.endif + .include "../Makefile.netbsd-tests" .include From owner-svn-src-head@freebsd.org Sun Nov 15 19:58:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CC0BBA30FA4; Sun, 15 Nov 2015 19:58:06 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8A80C1A0A; Sun, 15 Nov 2015 19:58:06 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFJw5DK077745; Sun, 15 Nov 2015 19:58:05 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFJw515077744; Sun, 15 Nov 2015 19:58:05 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511151958.tAFJw515077744@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 19:58:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290873 - head/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.20 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, 15 Nov 2015 19:58:06 -0000 Author: bapt Date: Sun Nov 15 19:58:05 2015 New Revision: 290873 URL: https://svnweb.freebsd.org/changeset/base/290873 Log: Update the list of files to be removed in case world is built WITHOUT_LOCALES Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Sun Nov 15 19:30:56 2015 (r290872) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sun Nov 15 19:58:05 2015 (r290873) @@ -4247,12 +4247,6 @@ OLD_FILES+=usr/share/locale/af_ZA.ISO885 OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/af_ZA.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/af_ZA.UTF-8/LC_MESSAGES @@ -4265,6 +4259,42 @@ OLD_FILES+=usr/share/locale/am_ET.UTF-8/ OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/am_ET.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ar_AE.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ar_AE.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ar_AE.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ar_AE.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ar_AE.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ar_AE.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ar_EG.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ar_EG.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ar_EG.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ar_EG.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ar_EG.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ar_EG.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ar_JO.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ar_JO.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ar_JO.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ar_JO.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ar_JO.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ar_JO.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ar_MA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ar_MA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ar_MA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ar_MA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ar_MA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ar_MA.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ar_QA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ar_QA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ar_QA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ar_QA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ar_QA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ar_QA.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ar_SA.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ar_SA.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ar_SA.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ar_SA.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ar_SA.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ar_SA.UTF-8/LC_TIME OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_COLLATE OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_CTYPE OLD_FILES+=usr/share/locale/be_BY.CP1131/LC_MESSAGES @@ -4475,12 +4505,6 @@ OLD_FILES+=usr/share/locale/en_AU.ISO885 OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/en_AU.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_COLLATE OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_CTYPE OLD_FILES+=usr/share/locale/en_AU.US-ASCII/LC_MESSAGES @@ -4499,12 +4523,6 @@ OLD_FILES+=usr/share/locale/en_CA.ISO885 OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/en_CA.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_COLLATE OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_CTYPE OLD_FILES+=usr/share/locale/en_CA.US-ASCII/LC_MESSAGES @@ -4553,6 +4571,18 @@ OLD_FILES+=usr/share/locale/en_HK.UTF-8/ OLD_FILES+=usr/share/locale/en_HK.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/en_HK.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/en_HK.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/en_IE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/en_IE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/en_IE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_IE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/en_IE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_IE.ISO8859-1/LC_TIME +OLD_FILES+=usr/share/locale/en_IE.ISO8859-15/LC_COLLATE +OLD_FILES+=usr/share/locale/en_IE.ISO8859-15/LC_CTYPE +OLD_FILES+=usr/share/locale/en_IE.ISO8859-15/LC_MESSAGES +OLD_FILES+=usr/share/locale/en_IE.ISO8859-15/LC_MONETARY +OLD_FILES+=usr/share/locale/en_IE.ISO8859-15/LC_NUMERIC +OLD_FILES+=usr/share/locale/en_IE.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/en_IE.UTF-8/LC_MESSAGES @@ -4565,12 +4595,6 @@ OLD_FILES+=usr/share/locale/en_NZ.ISO885 OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/en_NZ.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_COLLATE OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_CTYPE OLD_FILES+=usr/share/locale/en_NZ.US-ASCII/LC_MESSAGES @@ -4583,12 +4607,6 @@ OLD_FILES+=usr/share/locale/en_NZ.UTF-8/ OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/en_NZ.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/en_PH.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/en_PH.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/en_PH.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_PH.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/en_PH.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_PH.ISO8859-1/LC_TIME OLD_FILES+=usr/share/locale/en_PH.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/en_PH.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/en_PH.UTF-8/LC_MESSAGES @@ -4607,20 +4625,12 @@ OLD_FILES+=usr/share/locale/en_SG.UTF-8/ OLD_FILES+=usr/share/locale/en_SG.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/en_SG.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/en_SG.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/en_US.ISO-8859-1 -OLD_FILES+=usr/share/locale/en_US.ISO-8859-15 OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_COLLATE OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_CTYPE OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_MESSAGES OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/en_US.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_COLLATE OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_CTYPE OLD_FILES+=usr/share/locale/en_US.US-ASCII/LC_MESSAGES @@ -4639,12 +4649,6 @@ OLD_FILES+=usr/share/locale/en_ZA.ISO885 OLD_FILES+=usr/share/locale/en_ZA.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/en_ZA.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/en_ZA.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/en_ZA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_ZA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_ZA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_ZA.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_ZA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_ZA.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/en_ZA.US-ASCII/LC_COLLATE OLD_FILES+=usr/share/locale/en_ZA.US-ASCII/LC_CTYPE OLD_FILES+=usr/share/locale/en_ZA.US-ASCII/LC_MESSAGES @@ -4669,12 +4673,6 @@ OLD_FILES+=usr/share/locale/es_AR.UTF-8/ OLD_FILES+=usr/share/locale/es_AR.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/es_AR.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/es_AR.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/es_CR.ISO8859-1/LC_COLLATE -OLD_FILES+=usr/share/locale/es_CR.ISO8859-1/LC_CTYPE -OLD_FILES+=usr/share/locale/es_CR.ISO8859-1/LC_MESSAGES -OLD_FILES+=usr/share/locale/es_CR.ISO8859-1/LC_MONETARY -OLD_FILES+=usr/share/locale/es_CR.ISO8859-1/LC_NUMERIC -OLD_FILES+=usr/share/locale/es_CR.ISO8859-1/LC_TIME OLD_FILES+=usr/share/locale/es_CR.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/es_CR.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/es_CR.UTF-8/LC_MESSAGES @@ -4711,6 +4709,12 @@ OLD_FILES+=usr/share/locale/es_MX.UTF-8/ OLD_FILES+=usr/share/locale/es_MX.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/es_MX.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/es_MX.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/et_EE.ISO8859-1/LC_COLLATE +OLD_FILES+=usr/share/locale/et_EE.ISO8859-1/LC_CTYPE +OLD_FILES+=usr/share/locale/et_EE.ISO8859-1/LC_MESSAGES +OLD_FILES+=usr/share/locale/et_EE.ISO8859-1/LC_MONETARY +OLD_FILES+=usr/share/locale/et_EE.ISO8859-1/LC_NUMERIC +OLD_FILES+=usr/share/locale/et_EE.ISO8859-1/LC_TIME OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_COLLATE OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_CTYPE OLD_FILES+=usr/share/locale/et_EE.ISO8859-15/LC_MESSAGES @@ -4777,30 +4781,18 @@ OLD_FILES+=usr/share/locale/fr_BE.UTF-8/ OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/fr_BE.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/fr_BE.UTF8 -OLD_FILES+=usr/share/locale/fr_CA OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_COLLATE OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_CTYPE OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_MESSAGES OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/fr_CA.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_MESSAGES OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/fr_CA.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/fr_CA.UTF8 -OLD_FILES+=usr/share/locale/fr_CA@euro -OLD_FILES+=usr/share/locale/fr_CH -OLD_FILES+=usr/share/locale/fr_CH.ISO-8859-15@euro OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_COLLATE OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_CTYPE OLD_FILES+=usr/share/locale/fr_CH.ISO8859-1/LC_MESSAGES @@ -4945,6 +4937,12 @@ OLD_FILES+=usr/share/locale/it_IT.UTF-8/ OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/it_IT.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_COLLATE +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_CTYPE +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_MESSAGES +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_MONETARY +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_NUMERIC +OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_TIME OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_COLLATE OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_CTYPE OLD_FILES+=usr/share/locale/ja_JP.SJIS/LC_MESSAGES @@ -4957,12 +4955,6 @@ OLD_FILES+=usr/share/locale/ja_JP.UTF-8/ OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/ja_JP.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_COLLATE -OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_CTYPE -OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_MESSAGES -OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_MONETARY -OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_NUMERIC -OLD_FILES+=usr/share/locale/ja_JP.eucJP/LC_TIME OLD_FILES+=usr/share/locale/kk_Cyrl_KZ.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/kk_Cyrl_KZ.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/kk_Cyrl_KZ.UTF-8/LC_MESSAGES @@ -4975,30 +4967,24 @@ OLD_FILES+=usr/share/locale/ko_KR.CP949/ OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_MONETARY OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_NUMERIC OLD_FILES+=usr/share/locale/ko_KR.CP949/LC_TIME -OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_COLLATE -OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_CTYPE -OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_MESSAGES -OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_MONETARY -OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_NUMERIC -OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_TIME OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_COLLATE OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_CTYPE OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_MESSAGES OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_MONETARY OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_NUMERIC OLD_FILES+=usr/share/locale/ko_KR.eucKR/LC_TIME +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/ko_KR.UTF-8/LC_TIME OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_COLLATE OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_CTYPE OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_MESSAGES OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_MONETARY OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_NUMERIC OLD_FILES+=usr/share/locale/lt_LT.ISO8859-13/LC_TIME -OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_COLLATE -OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_CTYPE -OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MESSAGES -OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_MONETARY -OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_NUMERIC -OLD_FILES+=usr/share/locale/lt_LT.ISO8859-4/LC_TIME OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/lt_LT.UTF-8/LC_MESSAGES @@ -5113,12 +5099,6 @@ OLD_FILES+=usr/share/locale/pt_BR.ISO885 OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_MONETARY OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_NUMERIC OLD_FILES+=usr/share/locale/pt_BR.ISO8859-1/LC_TIME -OLD_FILES+=usr/share/locale/pt_BR.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/pt_BR.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/pt_BR.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/pt_BR.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/pt_BR.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/pt_BR.ISO8859-15/LC_TIME OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_COLLATE OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_CTYPE OLD_FILES+=usr/share/locale/pt_BR.UTF-8/LC_MESSAGES @@ -5317,13 +5297,42 @@ OLD_FILES+=usr/share/locale/uk_UA.UTF-8/ OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/uk_UA.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/zh_CN.GB18030/zh_Hans_CN.GB18030 -OLD_FILES+=usr/share/locale/zh_CN.GB2312/zh_Hans_CN.GB2312 -OLD_FILES+=usr/share/locale/zh_CN.GBK/zh_Hans_CN.GBK -OLD_FILES+=usr/share/locale/zh_CN.UTF-8/zh_Hans_CN.UTF-8 -OLD_FILES+=usr/share/locale/zh_CN.eucCN/zh_Hans_CN.eucCN -OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS -OLD_FILES+=usr/share/locale/zh_HK.UTF-8 +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.eucCN/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.GB18030/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.GB2312/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.GBK/LC_TIME +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_CN.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_TIME OLD_FILES+=usr/share/locale/zh_Hans_CN.GB18030/LC_COLLATE OLD_FILES+=usr/share/locale/zh_Hans_CN.GB18030/LC_CTYPE OLD_FILES+=usr/share/locale/zh_Hans_CN.GB18030/LC_MESSAGES @@ -5348,12 +5357,6 @@ OLD_FILES+=usr/share/locale/zh_Hans_CN.U OLD_FILES+=usr/share/locale/zh_Hans_CN.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/zh_Hans_CN.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/zh_Hans_CN.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_COLLATE -OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_CTYPE -OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_MESSAGES -OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_MONETARY -OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_NUMERIC -OLD_FILES+=usr/share/locale/zh_Hans_CN.eucCN/LC_TIME OLD_FILES+=usr/share/locale/zh_Hant_HK.Big5HKSCS/LC_COLLATE OLD_FILES+=usr/share/locale/zh_Hant_HK.Big5HKSCS/LC_CTYPE OLD_FILES+=usr/share/locale/zh_Hant_HK.Big5HKSCS/LC_MESSAGES @@ -5378,8 +5381,30 @@ OLD_FILES+=usr/share/locale/zh_Hant_TW.U OLD_FILES+=usr/share/locale/zh_Hant_TW.UTF-8/LC_MONETARY OLD_FILES+=usr/share/locale/zh_Hant_TW.UTF-8/LC_NUMERIC OLD_FILES+=usr/share/locale/zh_Hant_TW.UTF-8/LC_TIME -OLD_FILES+=usr/share/locale/zh_TW.Big5 -OLD_FILES+=usr/share/locale/zh_TW.UTF-8 +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_HK.Big5HKSCS/LC_TIME +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_HK.UTF-8/LC_TIME +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_TW.Big5/LC_TIME +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_COLLATE +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_CTYPE +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_MESSAGES +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_MONETARY +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_NUMERIC +OLD_FILES+=usr/share/locale/zh_TW.UTF-8/LC_TIME .endif .if ${MK_LOCATE} == no From owner-svn-src-head@freebsd.org Sun Nov 15 20:00:01 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F006BA30024; Sun, 15 Nov 2015 20:00:01 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B95B51B92; Sun, 15 Nov 2015 20:00:01 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFK00et077876; Sun, 15 Nov 2015 20:00:00 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFK00jp077875; Sun, 15 Nov 2015 20:00:00 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511152000.tAFK00jp077875@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 20:00:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290874 - head/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.20 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, 15 Nov 2015 20:00:02 -0000 Author: bapt Date: Sun Nov 15 20:00:00 2015 New Revision: 290874 URL: https://svnweb.freebsd.org/changeset/base/290874 Log: Remove trailing spaces at end of lines Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Sun Nov 15 19:58:05 2015 (r290873) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sun Nov 15 20:00:00 2015 (r290874) @@ -2774,15 +2774,15 @@ OLD_FILES+=usr/share/man/man1/iconv.1.gz OLD_FILES+=usr/share/man/man1/mkcsmapper.1.gz OLD_FILES+=usr/share/man/man1/mkesdb.1.gz OLD_FILES+=usr/share/man/man3/__iconv.3.gz -OLD_FILES+=usr/share/man/man3/__iconv_free_list.3.gz +OLD_FILES+=usr/share/man/man3/__iconv_free_list.3.gz OLD_FILES+=usr/share/man/man3/__iconv_get_list.3.gz OLD_FILES+=usr/share/man/man3/iconv.3.gz -OLD_FILES+=usr/share/man/man3/iconv_canonicalize.3.gz +OLD_FILES+=usr/share/man/man3/iconv_canonicalize.3.gz OLD_FILES+=usr/share/man/man3/iconv_close.3.gz OLD_FILES+=usr/share/man/man3/iconv_open.3.gz OLD_FILES+=usr/share/man/man3/iconv_open_into.3.gz OLD_FILES+=usr/share/man/man3/iconvctl.3.gz -OLD_FILES+=usr/share/man/man3/iconvlist.3.gz +OLD_FILES+=usr/share/man/man3/iconvlist.3.gz .endif .if ${MK_INET6} == no From owner-svn-src-head@freebsd.org Sun Nov 15 20:44:24 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 38204A30A78; Sun, 15 Nov 2015 20:44:24 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 03B0E1CB3; Sun, 15 Nov 2015 20:44:23 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAFKiN9G093763; Sun, 15 Nov 2015 20:44:23 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAFKiNGe093762; Sun, 15 Nov 2015 20:44:23 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511152044.tAFKiNGe093762@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 15 Nov 2015 20:44:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290883 - head/lib/libc/sparc64/fpu 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.20 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, 15 Nov 2015 20:44:24 -0000 Author: bapt Date: Sun Nov 15 20:44:22 2015 New Revision: 290883 URL: https://svnweb.freebsd.org/changeset/base/290883 Log: Fix unused-but-set-variable Spotted by: gcc 5.2 Modified: head/lib/libc/sparc64/fpu/fpu.c Modified: head/lib/libc/sparc64/fpu/fpu.c ============================================================================== --- head/lib/libc/sparc64/fpu/fpu.c Sun Nov 15 20:44:01 2015 (r290882) +++ head/lib/libc/sparc64/fpu/fpu.c Sun Nov 15 20:44:22 2015 (r290883) @@ -270,7 +270,7 @@ __fpu_execute(struct utrapframe *uf, str u_long tstate) { struct fpn *fp; - int opf, rs1, rs2, rd, type, mask, cx, cond; + int opf, rs1, rs2, rd, type, mask, cx, cond __unused; u_long reg, fsr; u_int space[4]; From owner-svn-src-head@freebsd.org Mon Nov 16 01:30:00 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A239A2F5EE; Mon, 16 Nov 2015 01:30:00 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 06E091965; Mon, 16 Nov 2015 01:29:59 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG1TxFr080630; Mon, 16 Nov 2015 01:29:59 GMT (envelope-from jmg@FreeBSD.org) Received: (from jmg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG1Tx0V080628; Mon, 16 Nov 2015 01:29:59 GMT (envelope-from jmg@FreeBSD.org) Message-Id: <201511160129.tAG1Tx0V080628@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jmg set sender to jmg@FreeBSD.org using -f From: John-Mark Gurney Date: Mon, 16 Nov 2015 01:29:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290900 - head/sbin/restore 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.20 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, 16 Nov 2015 01:30:00 -0000 Author: jmg Date: Mon Nov 16 01:29:58 2015 New Revision: 290900 URL: https://svnweb.freebsd.org/changeset/base/290900 Log: If you backup a large file that is mostly holes, previously we'd issue a seek for every block... For large (Exabyte sized files) this would issue lots of unneeded seeks, so combine them... Thanks for the work Jan, sorry took so long to commit... And an item completed off the IdeasPage! Submitted by: Jan Sucan Modified: head/sbin/restore/tape.c Modified: head/sbin/restore/tape.c ============================================================================== --- head/sbin/restore/tape.c Mon Nov 16 01:09:25 2015 (r290899) +++ head/sbin/restore/tape.c Mon Nov 16 01:29:58 2015 (r290900) @@ -107,6 +107,7 @@ static char *setupextattr(int); static void xtrattr(char *, long); static void set_extattr_link(char *, void *, int); static void set_extattr_fd(int, char *, void *, int); +static void skiphole(void (*)(char *, long), long *); static int gethead(struct s_spcl *); static void readtape(char *); static void setdumpnum(void); @@ -927,6 +928,20 @@ skipfile(void) } /* + * Skip a hole in an output file + */ +static void +skiphole(void (*skip)(char *, long), long *seekpos) +{ + char buf[MAXBSIZE]; + + if (*seekpos > 0) { + (*skip)(buf, *seekpos); + *seekpos = 0; + } +} + +/* * Extract a file from the tape. * When an allocated block is found it is passed to the fill function; * when an unallocated block (hole) is found, a zeroed buffer is passed @@ -938,14 +953,15 @@ getfile(void (*datafill)(char *, long), { int i; off_t size; + long seekpos; int curblk, attrsize; void (*fillit)(char *, long); - static char clearedbuf[MAXBSIZE]; char buf[MAXBSIZE / TP_BSIZE][TP_BSIZE]; char junk[TP_BSIZE]; curblk = 0; size = spcl.c_size; + seekpos = 0; attrsize = spcl.c_extsize; if (spcl.c_type == TS_END) panic("ran off end of tape\n"); @@ -974,22 +990,30 @@ loop: if (readmapflag || spcl.c_addr[i]) { readtape(&buf[curblk++][0]); if (curblk == fssize / TP_BSIZE) { + skiphole(skip, &seekpos); (*fillit)((char *)buf, (long)(size > TP_BSIZE ? fssize : (curblk - 1) * TP_BSIZE + size)); curblk = 0; } } else { if (curblk > 0) { + skiphole(skip, &seekpos); (*fillit)((char *)buf, (long)(size > TP_BSIZE ? curblk * TP_BSIZE : (curblk - 1) * TP_BSIZE + size)); curblk = 0; } - (*skip)(clearedbuf, (long)(size > TP_BSIZE ? - TP_BSIZE : size)); + /* + * We have a block of a hole. Don't skip it + * now, because there may be next adjacent + * block of the hole in the file. Postpone the + * seek until next file write. + */ + seekpos += (long)(size > TP_BSIZE ? TP_BSIZE : size); } if ((size -= TP_BSIZE) <= 0) { if (size > -TP_BSIZE && curblk > 0) { + skiphole(skip, &seekpos); (*fillit)((char *)buf, (long)((curblk * TP_BSIZE) + size)); curblk = 0; From owner-svn-src-head@freebsd.org Mon Nov 16 02:08:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DB73A2FE4A; Mon, 16 Nov 2015 02:08:42 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 5198E1B33; Mon, 16 Nov 2015 02:08:42 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 502801152; Mon, 16 Nov 2015 02:08:42 +0000 (UTC) Date: Mon, 16 Nov 2015 02:08:42 +0000 From: Alexey Dokuchaev To: John-Mark Gurney Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290900 - head/sbin/restore Message-ID: <20151116020842.GA5488@FreeBSD.org> References: <201511160129.tAG1Tx0V080628@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201511160129.tAG1Tx0V080628@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 16 Nov 2015 02:08:42 -0000 On Mon, Nov 16, 2015 at 01:29:59AM +0000, John-Mark Gurney wrote: > New Revision: 290900 > URL: https://svnweb.freebsd.org/changeset/base/290900 > > Log: > If you backup a large file that is mostly holes, previously we'd issue > a seek for every block... For large (Exabyte sized files) this would > issue lots of unneeded seeks, so combine them... > > [...] > @@ -938,14 +953,15 @@ getfile(void (*datafill)(char *, long), > { > int i; > off_t size; > + long seekpos; Briefly reading through tape.c, it looks like `long' is abused here (and in other places). IMHO we should try to fix these bugs, not add new misuses. ./danfe From owner-svn-src-head@freebsd.org Mon Nov 16 03:18:42 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2371DA3011F; Mon, 16 Nov 2015 03:18:42 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E4C5118AD; Mon, 16 Nov 2015 03:18:41 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG3Ifj1013856; Mon, 16 Nov 2015 03:18:41 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG3If8g013855; Mon, 16 Nov 2015 03:18:41 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201511160318.tAG3If8g013855@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Mon, 16 Nov 2015 03:18:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290903 - head/usr.sbin/ypbind 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.20 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, 16 Nov 2015 03:18:42 -0000 Author: araujo Date: Mon Nov 16 03:18:40 2015 New Revision: 290903 URL: https://svnweb.freebsd.org/changeset/base/290903 Log: Don't need cast malloc. Approved by: rodrigc (mentor) Differential Revision: D4117 Modified: head/usr.sbin/ypbind/ypbind.c Modified: head/usr.sbin/ypbind/ypbind.c ============================================================================== --- head/usr.sbin/ypbind/ypbind.c Mon Nov 16 02:27:38 2015 (r290902) +++ head/usr.sbin/ypbind/ypbind.c Mon Nov 16 03:18:40 2015 (r290903) @@ -199,7 +199,7 @@ rejecting.", *argp); res.ypbind_resp_u.ypbind_error = YPBIND_ERR_RESC; return (&res); } - ypdb = (struct _dom_binding *)malloc(sizeof *ypdb); + ypdb = malloc(sizeof *ypdb); if (ypdb == NULL) { syslog(LOG_WARNING, "malloc: %m"); res.ypbind_resp_u.ypbind_error = YPBIND_ERR_RESC; @@ -452,7 +452,7 @@ main(int argc, char *argv[]) errx(1, "unable to register (YPBINDPROG, YPBINDVERS, tcp)"); /* build initial domain binding, make it "unsuccessful" */ - ypbindlist = (struct _dom_binding *)malloc(sizeof *ypbindlist); + ypbindlist = malloc(sizeof *ypbindlist); if (ypbindlist == NULL) errx(1, "malloc"); bzero(ypbindlist, sizeof *ypbindlist); @@ -886,7 +886,7 @@ rpc_received(char *dom, struct sockaddr_ if (ypdb == NULL) { if (force == 0) return; - ypdb = (struct _dom_binding *)malloc(sizeof *ypdb); + ypdb = malloc(sizeof *ypdb); if (ypdb == NULL) { syslog(LOG_WARNING, "malloc: %m"); return; From owner-svn-src-head@freebsd.org Mon Nov 16 03:23:22 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 77067A30275; Mon, 16 Nov 2015 03:23:22 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "gold.funkthat.com", Issuer "gold.funkthat.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 57B791C9C; Mon, 16 Nov 2015 03:23:22 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.14.5/8.14.5) with ESMTP id tAG3NGP7089984 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 15 Nov 2015 19:23:16 -0800 (PST) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.14.5/8.14.5/Submit) id tAG3NGkQ089983; Sun, 15 Nov 2015 19:23:16 -0800 (PST) (envelope-from jmg) Date: Sun, 15 Nov 2015 19:23:16 -0800 From: John-Mark Gurney To: Alexey Dokuchaev Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290900 - head/sbin/restore Message-ID: <20151116032316.GJ65715@funkthat.com> References: <201511160129.tAG1Tx0V080628@repo.freebsd.org> <20151116020842.GA5488@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151116020842.GA5488@FreeBSD.org> X-Operating-System: FreeBSD 9.1-PRERELEASE amd64 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (gold.funkthat.com [127.0.0.1]); Sun, 15 Nov 2015 19:23:16 -0800 (PST) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 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, 16 Nov 2015 03:23:22 -0000 Alexey Dokuchaev wrote this message on Mon, Nov 16, 2015 at 02:08 +0000: > On Mon, Nov 16, 2015 at 01:29:59AM +0000, John-Mark Gurney wrote: > > New Revision: 290900 > > URL: https://svnweb.freebsd.org/changeset/base/290900 > > > > Log: > > If you backup a large file that is mostly holes, previously we'd issue > > a seek for every block... For large (Exabyte sized files) this would > > issue lots of unneeded seeks, so combine them... > > > > [...] > > @@ -938,14 +953,15 @@ getfile(void (*datafill)(char *, long), > > { > > int i; > > off_t size; > > + long seekpos; > > Briefly reading through tape.c, it looks like `long' is abused here (and in > other places). IMHO we should try to fix these bugs, not add new misuses. I agree... I'll ask if Jan is interested in fixing it, but it may need to be added to the IdeasPage... It'd also be good to have a test of regression tests for restore such that changes can be verified not to break things.. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-svn-src-head@freebsd.org Mon Nov 16 03:32:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 172E4A304F7; Mon, 16 Nov 2015 03:32:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D450B1213; Mon, 16 Nov 2015 03:32:13 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG3WCKI019088; Mon, 16 Nov 2015 03:32:12 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG3WCXf019086; Mon, 16 Nov 2015 03:32:12 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160332.tAG3WCXf019086@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 03:32:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290905 - in head: etc/mtree tests/sys/kern tests/sys/kern/acct 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.20 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, 16 Nov 2015 03:32:14 -0000 Author: ngie Date: Mon Nov 16 03:32:12 2015 New Revision: 290905 URL: https://svnweb.freebsd.org/changeset/base/290905 Log: Integrate acct(2) testcase in as tests/sys/kern/acct/acct_test The :encode_tv_random_million testcase fails the epsilon tests a few thousand times out of one million, so expect the testcase to fail MFC after: 1 week Submitted by: keramida Sponsored by: EMC / Isilon Storage Division Added: head/tests/sys/kern/acct/ - copied from r290904, user/ngie/more-tests2/tests/sys/kern/acct/ Modified: head/etc/mtree/BSD.tests.dist head/tests/sys/kern/Makefile Directory Properties: head/ (props changed) Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Mon Nov 16 03:28:28 2015 (r290904) +++ head/etc/mtree/BSD.tests.dist Mon Nov 16 03:32:12 2015 (r290905) @@ -373,6 +373,8 @@ file .. kern + acct + .. execve .. .. Modified: head/tests/sys/kern/Makefile ============================================================================== --- head/tests/sys/kern/Makefile Mon Nov 16 03:28:28 2015 (r290904) +++ head/tests/sys/kern/Makefile Mon Nov 16 03:32:12 2015 (r290905) @@ -13,6 +13,7 @@ LDADD.unix_seqpacket_test+= -lpthread WARNS?= 5 +TESTS_SUBDIRS+= acct TESTS_SUBDIRS+= execve .include From owner-svn-src-head@freebsd.org Mon Nov 16 04:02:26 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CC5FA309D1; Mon, 16 Nov 2015 04:02:26 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1506211E3; Mon, 16 Nov 2015 04:02:26 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG42Pu9028676; Mon, 16 Nov 2015 04:02:25 GMT (envelope-from rodrigc@FreeBSD.org) Received: (from rodrigc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG42PqE028675; Mon, 16 Nov 2015 04:02:25 GMT (envelope-from rodrigc@FreeBSD.org) Message-Id: <201511160402.tAG42PqE028675@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rodrigc set sender to rodrigc@FreeBSD.org using -f From: Craig Rodrigues Date: Mon, 16 Nov 2015 04:02:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290906 - head/share/locale-links 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.20 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, 16 Nov 2015 04:02:26 -0000 Author: rodrigc Date: Mon Nov 16 04:02:24 2015 New Revision: 290906 URL: https://svnweb.freebsd.org/changeset/base/290906 Log: Fix path for symlinks. Reviewed by: ngie Modified: head/share/locale-links/Makefile Modified: head/share/locale-links/Makefile ============================================================================== --- head/share/locale-links/Makefile Mon Nov 16 03:32:12 2015 (r290905) +++ head/share/locale-links/Makefile Mon Nov 16 04:02:24 2015 (r290906) @@ -15,7 +15,7 @@ ALIASES= zh_Hans_CN.GB18030 zh_CN.GB1803 .for from to in ${ALIASES} .for f in ${LC_FILES} -SYMLINKS+= ${from}/${f} ${LOCALEDIR}/${to}/${f} +SYMLINKS+= ../${from}/${f} ${LOCALEDIR}/${to}/${f} .endfor .endfor From owner-svn-src-head@freebsd.org Mon Nov 16 04:04:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C06F8A30A7C; Mon, 16 Nov 2015 04:04:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8BB501366; Mon, 16 Nov 2015 04:04:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG445dR028772; Mon, 16 Nov 2015 04:04:05 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG445gJ028771; Mon, 16 Nov 2015 04:04:05 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160404.tAG445gJ028771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 04:04:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290907 - head/contrib/netbsd-tests/lib/libcrypt 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.20 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, 16 Nov 2015 04:04:06 -0000 Author: ngie Date: Mon Nov 16 04:04:05 2015 New Revision: 290907 URL: https://svnweb.freebsd.org/changeset/base/290907 Log: Expect all testcases dealing with invalid salts to fail on FreeBSD MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/lib/libcrypt/t_crypt.c Modified: head/contrib/netbsd-tests/lib/libcrypt/t_crypt.c ============================================================================== --- head/contrib/netbsd-tests/lib/libcrypt/t_crypt.c Mon Nov 16 04:02:24 2015 (r290906) +++ head/contrib/netbsd-tests/lib/libcrypt/t_crypt.c Mon Nov 16 04:04:05 2015 (r290907) @@ -124,6 +124,10 @@ ATF_TC_HEAD(crypt_salts, tc) ATF_TC_BODY(crypt_salts, tc) { for (size_t i = 0; tests[i].hash; i++) { +#if defined(__FreeBSD__) + if (22 <= i) + atf_tc_expect_fail("Old-style/bad inputs fail on FreeBSD"); +#endif char *hash = crypt(tests[i].pw, tests[i].hash); if (!hash) { ATF_CHECK_MSG(0, "Test %zu NULL\n", i); From owner-svn-src-head@freebsd.org Mon Nov 16 04:06:16 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 69A2FA30B32; Mon, 16 Nov 2015 04:06:16 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 305711554; Mon, 16 Nov 2015 04:06:16 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG46FtD028891; Mon, 16 Nov 2015 04:06:15 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG46Fbw028890; Mon, 16 Nov 2015 04:06:15 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160406.tAG46Fbw028890@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 04:06:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290908 - head/lib/libcrypt/tests 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.20 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, 16 Nov 2015 04:06:16 -0000 Author: ngie Date: Mon Nov 16 04:06:14 2015 New Revision: 290908 URL: https://svnweb.freebsd.org/changeset/base/290908 Log: Integrate contrib/netbsd-tests/lib/libcrypt/t_crypt.c in to the FreeBSD test suite as lib/libcrypt/crypt_test MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libcrypt/tests/Makefile Modified: head/lib/libcrypt/tests/Makefile ============================================================================== --- head/lib/libcrypt/tests/Makefile Mon Nov 16 04:04:05 2015 (r290907) +++ head/lib/libcrypt/tests/Makefile Mon Nov 16 04:06:14 2015 (r290908) @@ -1,10 +1,12 @@ # $FreeBSD$ -# exercise libcrypt +ATF_TESTS_C+= crypt_tests -ATF_TESTS_C= crypt_tests +NETBSD_ATF_TESTS_C+= crypt_test CFLAGS+= -I${.CURDIR:H} LIBADD= crypt +.include + .include From owner-svn-src-head@freebsd.org Mon Nov 16 04:15:41 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 291C9A30D5C; Mon, 16 Nov 2015 04:15:41 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00CC21C3D; Mon, 16 Nov 2015 04:15:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG4Fe0Z032078; Mon, 16 Nov 2015 04:15:40 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG4FdIl032076; Mon, 16 Nov 2015 04:15:39 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160415.tAG4FdIl032076@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 04:15:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290909 - head/lib/libc/tests/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.20 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, 16 Nov 2015 04:15:41 -0000 Author: ngie Date: Mon Nov 16 04:15:39 2015 New Revision: 290909 URL: https://svnweb.freebsd.org/changeset/base/290909 Log: Add some initial tests for SLIST and STAILQ macros MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Added: head/lib/libc/tests/sys/queue_test.c (contents, props changed) Modified: head/lib/libc/tests/sys/Makefile Modified: head/lib/libc/tests/sys/Makefile ============================================================================== --- head/lib/libc/tests/sys/Makefile Mon Nov 16 04:06:14 2015 (r290908) +++ head/lib/libc/tests/sys/Makefile Mon Nov 16 04:15:39 2015 (r290909) @@ -2,6 +2,8 @@ .include +ATF_TESTS_C+= queue_test + # TODO: clone, lwp_create, lwp_ctl, posix_fadvise, recvmmsg, # swapcontext NETBSD_ATF_TESTS_C+= access_test Added: head/lib/libc/tests/sys/queue_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libc/tests/sys/queue_test.c Mon Nov 16 04:15:39 2015 (r290909) @@ -0,0 +1,237 @@ +/*- + * Copyright (c) 2015 EMC Corp. + * 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 + +ATF_TC(slist_test); +ATF_TC_HEAD(slist_test, tc) +{ + + atf_tc_set_md_var(tc, "descr", "SLIST macro feature tests"); +} + +ATF_TC_BODY(slist_test, tc) +{ + SLIST_HEAD(stailhead, entry) head = SLIST_HEAD_INITIALIZER(head); + struct entry { + SLIST_ENTRY(entry) entries; + int i; + } *n1, *n2, *n3, *np; + int i, j, length; + + SLIST_INIT(&head); + + printf("Ensuring SLIST_EMPTY works\n"); + + ATF_REQUIRE(SLIST_EMPTY(&head)); + + i = length = 0; + + SLIST_FOREACH(np, &head, entries) { + length++; + } + ATF_REQUIRE_EQ(length, 0); + + printf("Ensuring SLIST_INSERT_HEAD works\n"); + + n1 = malloc(sizeof(struct entry)); + ATF_REQUIRE(n1 != NULL); + n1->i = i++; + + SLIST_INSERT_HEAD(&head, n1, entries); + + printf("Ensuring SLIST_FIRST returns element 1\n"); + ATF_REQUIRE_EQ(SLIST_FIRST(&head), n1); + + j = length = 0; + SLIST_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 1); + + printf("Ensuring SLIST_INSERT_AFTER works\n"); + + n2 = malloc(sizeof(struct entry)); + ATF_REQUIRE(n2 != NULL); + n2->i = i++; + + SLIST_INSERT_AFTER(n1, n2, entries); + + n3 = malloc(sizeof(struct entry)); + ATF_REQUIRE(n3 != NULL); + n3->i = i++; + + SLIST_INSERT_AFTER(n2, n3, entries); + + j = length = 0; + SLIST_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 3); + + printf("Ensuring SLIST_REMOVE_HEAD works\n"); + + printf("Ensuring SLIST_FIRST returns element 1\n"); + ATF_REQUIRE_EQ(SLIST_FIRST(&head), n1); + + SLIST_REMOVE_HEAD(&head, entries); + + printf("Ensuring SLIST_FIRST now returns element 2\n"); + ATF_REQUIRE_EQ(SLIST_FIRST(&head), n2); + + j = 1; /* Starting point's 1 this time */ + length = 0; + SLIST_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 2); + + printf("Ensuring SLIST_REMOVE_AFTER works by removing the tail\n"); + + SLIST_REMOVE_AFTER(n2, entries); + + j = 1; /* Starting point's 1 this time */ + length = 0; + SLIST_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 1); + + printf("Ensuring SLIST_FIRST returns element 2\n"); + ATF_REQUIRE_EQ(SLIST_FIRST(&head), n2); + +} + +ATF_TC(stailq_test); +ATF_TC_HEAD(stailq_test, tc) +{ + + atf_tc_set_md_var(tc, "descr", "STAILQ macro feature tests"); +} + +ATF_TC_BODY(stailq_test, tc) +{ + STAILQ_HEAD(stailhead, entry) head = STAILQ_HEAD_INITIALIZER(head); + struct entry { + STAILQ_ENTRY(entry) entries; + int i; + } *n1, *n2, *n3, *np; + int i, j, length; + + printf("Ensuring empty STAILQs are treated properly\n"); + STAILQ_INIT(&head); + ATF_REQUIRE(STAILQ_EMPTY(&head)); + + i = length = 0; + + STAILQ_FOREACH(np, &head, entries) { + length++; + } + ATF_REQUIRE_EQ(length, 0); + + printf("Ensuring STAILQ_INSERT_HEAD works\n"); + + n1 = malloc(sizeof(struct entry)); + ATF_REQUIRE(n1 != NULL); + n1->i = i++; + + STAILQ_INSERT_HEAD(&head, n1, entries); + + j = length = 0; + STAILQ_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 1); + + printf("Ensuring STAILQ_INSERT_TAIL works\n"); + + n2 = malloc(sizeof(struct entry)); + ATF_REQUIRE(n2 != NULL); + n2->i = i++; + + STAILQ_INSERT_TAIL(&head, n2, entries); + + n3 = malloc(sizeof(struct entry)); + ATF_REQUIRE(n3 != NULL); + n3->i = i++; + + STAILQ_INSERT_TAIL(&head, n3, entries); + + j = length = 0; + STAILQ_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 3); + + printf("Ensuring STAILQ_REMOVE_HEAD works\n"); + + STAILQ_REMOVE_HEAD(&head, entries); + + j = 1; /* Starting point's 1 this time */ + length = 0; + STAILQ_FOREACH(np, &head, entries) { + ATF_REQUIRE_EQ_MSG(np->i, j, + "%d (entry counter) != %d (counter)", np->i, j); + j++; + length++; + } + ATF_REQUIRE_EQ(length, 2); + +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, slist_test); + ATF_TP_ADD_TC(tp, stailq_test); + + return (atf_no_error()); +} From owner-svn-src-head@freebsd.org Mon Nov 16 04:28:02 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B036A30EA3; Mon, 16 Nov 2015 04:28:02 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F19E01FDA; Mon, 16 Nov 2015 04:28:01 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG4S1DC034953; Mon, 16 Nov 2015 04:28:01 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG4S0Yn034943; Mon, 16 Nov 2015 04:28:00 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201511160428.tAG4S0Yn034943@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 16 Nov 2015 04:28:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290910 - head/sys/mips/atheros 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.20 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, 16 Nov 2015 04:28:02 -0000 Author: adrian Date: Mon Nov 16 04:28:00 2015 New Revision: 290910 URL: https://svnweb.freebsd.org/changeset/base/290910 Log: Add initial support for the QCA953x ("Honeybee") from Qualcomm Atheros. The QCA953x SoC is an integrated 2x2 2GHz 11n + MIPS24k core, with a 5 port FE switch, gige WAN port, and all the same stuff you'd find on its predecessor - the AR9331. However, buried deep in here somewhere is also a PCIe EP/RC for various applications and some other weird bits I don't yet know about. This is enough to get the reference board up and booting. I haven't yet had it pass lots of packets - I need to finalise the ethernet switch bits and the GMAC configuration (ie, how the ethernet ports and switch are wired up) and I'll bring that in when I commit the base configuration files to use the thing. The wifi stuff will come much later. I have to port that support from Linux ath9k and extend our vendor HAL to support it. The reference board (AP143) comes with 32MB RAM and 4MB flash, so in order to use it I need to get USB working fully so I can run root from there. Thankyou to Qualcomm Atheros for access to the reference design board. Details: * Add register definitions from openwrt; * It looks like a QCA955x but shrunk down to a QCA933x footprint, so use the QCA955x bits and fix up the clock detection code to do the QCA953x bits (they're very subtly different); * Teach GPIO about it; * Teach EHCI about it; * Teach if_arge about it; * Teach the CPU detection code about it. Tested: * AP143, QCA9533v2 SoC Obtained from: Linux, Linux OpenWRT Added: head/sys/mips/atheros/qca953x_chip.c (contents, props changed) head/sys/mips/atheros/qca953x_chip.h (contents, props changed) head/sys/mips/atheros/qca953xreg.h (contents, props changed) Modified: head/sys/mips/atheros/ar71xx_ehci.c head/sys/mips/atheros/ar71xx_gpio.c head/sys/mips/atheros/ar71xx_setup.c head/sys/mips/atheros/ar71xx_setup.h head/sys/mips/atheros/files.ar71xx head/sys/mips/atheros/if_arge.c Modified: head/sys/mips/atheros/ar71xx_ehci.c ============================================================================== --- head/sys/mips/atheros/ar71xx_ehci.c Mon Nov 16 04:15:39 2015 (r290909) +++ head/sys/mips/atheros/ar71xx_ehci.c Mon Nov 16 04:28:00 2015 (r290910) @@ -173,6 +173,8 @@ ar71xx_ehci_attach(device_t self) case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: sc->sc_flags |= EHCI_SCFLG_TT | EHCI_SCFLG_NORESTERM; Modified: head/sys/mips/atheros/ar71xx_gpio.c ============================================================================== --- head/sys/mips/atheros/ar71xx_gpio.c Mon Nov 16 04:15:39 2015 (r290909) +++ head/sys/mips/atheros/ar71xx_gpio.c Mon Nov 16 04:28:00 2015 (r290910) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include "gpio_if.h" @@ -102,9 +103,15 @@ static int ar71xx_gpio_pin_toggle(device static void ar71xx_gpio_function_enable(struct ar71xx_gpio_softc *sc, uint32_t mask) { + + /* + * XXX TODO: refactor this out into a per-chipset method. + */ if (ar71xx_soc == AR71XX_SOC_AR9341 || ar71xx_soc == AR71XX_SOC_AR9342 || ar71xx_soc == AR71XX_SOC_AR9344 || + ar71xx_soc == AR71XX_SOC_QCA9533 || + ar71xx_soc == AR71XX_SOC_QCA9533_V2 || ar71xx_soc == AR71XX_SOC_QCA9556 || ar71xx_soc == AR71XX_SOC_QCA9558) GPIO_SET_BITS(sc, AR934X_GPIO_REG_FUNC, mask); @@ -115,9 +122,15 @@ ar71xx_gpio_function_enable(struct ar71x static void ar71xx_gpio_function_disable(struct ar71xx_gpio_softc *sc, uint32_t mask) { + + /* + * XXX TODO: refactor this out into a per-chipset method. + */ if (ar71xx_soc == AR71XX_SOC_AR9341 || ar71xx_soc == AR71XX_SOC_AR9342 || ar71xx_soc == AR71XX_SOC_AR9344 || + ar71xx_soc == AR71XX_SOC_QCA9533 || + ar71xx_soc == AR71XX_SOC_QCA9533_V2 || ar71xx_soc == AR71XX_SOC_QCA9556 || ar71xx_soc == AR71XX_SOC_QCA9558) GPIO_CLEAR_BITS(sc, AR934X_GPIO_REG_FUNC, mask); @@ -182,6 +195,10 @@ ar71xx_gpio_pin_max(device_t dev, int *m case AR71XX_SOC_AR9344: *maxpin = AR934X_GPIO_COUNT - 1; break; + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: + *maxpin = QCA953X_GPIO_COUNT - 1; + break; case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: *maxpin = QCA955X_GPIO_COUNT - 1; Modified: head/sys/mips/atheros/ar71xx_setup.c ============================================================================== --- head/sys/mips/atheros/ar71xx_setup.c Mon Nov 16 04:15:39 2015 (r290909) +++ head/sys/mips/atheros/ar71xx_setup.c Mon Nov 16 04:28:00 2015 (r290910) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -65,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #define AR71XX_SYS_TYPE_LEN 128 @@ -186,6 +188,22 @@ ar71xx_detect_sys_type(void) ar71xx_cpu_ops = &ar934x_chip_def; break; + case REV_ID_MAJOR_QCA9533: + minor = 0; + rev = (id & QCA953X_REV_ID_REVISION_MASK); + chip = "9533"; + ar71xx_soc = AR71XX_SOC_QCA9533; + ar71xx_cpu_ops = &qca953x_chip_def; + break; + + case REV_ID_MAJOR_QCA9533_V2: + minor = 0; + rev = (id & QCA953X_REV_ID_REVISION_MASK); + chip = "9533v2"; + ar71xx_soc = AR71XX_SOC_QCA9533_V2; + ar71xx_cpu_ops = &qca953x_chip_def; + break; + case REV_ID_MAJOR_QCA9556: minor = 0; rev = (id & QCA955X_REV_ID_REVISION_MASK); Modified: head/sys/mips/atheros/ar71xx_setup.h ============================================================================== --- head/sys/mips/atheros/ar71xx_setup.h Mon Nov 16 04:15:39 2015 (r290909) +++ head/sys/mips/atheros/ar71xx_setup.h Mon Nov 16 04:28:00 2015 (r290910) @@ -46,6 +46,8 @@ enum ar71xx_soc_type { AR71XX_SOC_AR9344, AR71XX_SOC_QCA9556, AR71XX_SOC_QCA9558, + AR71XX_SOC_QCA9533, + AR71XX_SOC_QCA9533_V2, }; extern enum ar71xx_soc_type ar71xx_soc; Modified: head/sys/mips/atheros/files.ar71xx ============================================================================== --- head/sys/mips/atheros/files.ar71xx Mon Nov 16 04:15:39 2015 (r290909) +++ head/sys/mips/atheros/files.ar71xx Mon Nov 16 04:28:00 2015 (r290910) @@ -27,6 +27,7 @@ mips/atheros/ar724x_chip.c standard mips/atheros/ar91xx_chip.c standard mips/atheros/ar933x_chip.c standard mips/atheros/ar934x_chip.c standard +mips/atheros/qca953x_chip.c standard mips/atheros/qca955x_chip.c standard mips/atheros/ar71xx_fixup.c optional ar71xx_ath_eeprom mips/atheros/qca955x_apb.c optional qca955x_apb Modified: head/sys/mips/atheros/if_arge.c ============================================================================== --- head/sys/mips/atheros/if_arge.c Mon Nov 16 04:15:39 2015 (r290909) +++ head/sys/mips/atheros/if_arge.c Mon Nov 16 04:28:00 2015 (r290910) @@ -94,6 +94,7 @@ MODULE_VERSION(arge, 1); #include #include /* XXX tsk! */ +#include /* XXX tsk! */ #include /* XXX tsk! */ #include #include @@ -399,6 +400,16 @@ arge_reset_mac(struct arge_softc *sc) reset_reg |= QCA955X_RESET_GE1_MDIO; } } + + if (ar71xx_soc == AR71XX_SOC_QCA9533 || + ar71xx_soc == AR71XX_SOC_QCA9533_V2) { + if (sc->arge_mac_unit == 0) { + reset_reg |= QCA953X_RESET_GE0_MDIO; + } else { + reset_reg |= QCA953X_RESET_GE1_MDIO; + } + } + ar71xx_device_stop(reset_reg); DELAY(100); ar71xx_device_start(reset_reg); @@ -470,6 +481,8 @@ arge_mdio_get_divider(struct arge_softc case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: table = ar933x_mdio_div_table; @@ -561,6 +574,8 @@ arge_fetch_mdiobus_clock_rate(struct arg case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: return (MAC_MII_CFG_CLOCK_DIV_58); @@ -681,6 +696,8 @@ arge_attach(device_t dev) case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: /* Arbitrary alignment */ @@ -904,6 +921,8 @@ arge_attach(device_t dev) case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: ARGE_WRITE(sc, AR71XX_MAC_FIFO_CFG1, 0x0010ffff); @@ -1278,6 +1297,8 @@ arge_set_pll(struct arge_softc *sc, int case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: fifo_tx = 0x01f00140; Added: head/sys/mips/atheros/qca953x_chip.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/atheros/qca953x_chip.c Mon Nov 16 04:28:00 2015 (r290910) @@ -0,0 +1,393 @@ +/*- + * Copyright (c) 2015 Adrian Chadd + * 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 "opt_ddb.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +#include + +static void +qca953x_chip_detect_mem_size(void) +{ +} + +static void +qca953x_chip_detect_sys_frequency(void) +{ + unsigned long ref_rate; + unsigned long cpu_rate; + unsigned long ddr_rate; + unsigned long ahb_rate; + uint32_t pll, out_div, ref_div, nint, frac, clk_ctrl, postdiv; + uint32_t cpu_pll, ddr_pll; + uint32_t bootstrap; + + bootstrap = ATH_READ_REG(QCA953X_RESET_REG_BOOTSTRAP); + if (bootstrap & QCA953X_BOOTSTRAP_REF_CLK_40) + ref_rate = 40 * 1000 * 1000; + else + ref_rate = 25 * 1000 * 1000; + + pll = ATH_READ_REG(QCA953X_PLL_CPU_CONFIG_REG); + out_div = (pll >> QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT) & + QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK; + ref_div = (pll >> QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT) & + QCA953X_PLL_CPU_CONFIG_REFDIV_MASK; + nint = (pll >> QCA953X_PLL_CPU_CONFIG_NINT_SHIFT) & + QCA953X_PLL_CPU_CONFIG_NINT_MASK; + frac = (pll >> QCA953X_PLL_CPU_CONFIG_NFRAC_SHIFT) & + QCA953X_PLL_CPU_CONFIG_NFRAC_MASK; + + cpu_pll = nint * ref_rate / ref_div; + cpu_pll += frac * (ref_rate >> 6) / ref_div; + cpu_pll /= (1 << out_div); + + pll = ATH_READ_REG(QCA953X_PLL_DDR_CONFIG_REG); + out_div = (pll >> QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT) & + QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK; + ref_div = (pll >> QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT) & + QCA953X_PLL_DDR_CONFIG_REFDIV_MASK; + nint = (pll >> QCA953X_PLL_DDR_CONFIG_NINT_SHIFT) & + QCA953X_PLL_DDR_CONFIG_NINT_MASK; + frac = (pll >> QCA953X_PLL_DDR_CONFIG_NFRAC_SHIFT) & + QCA953X_PLL_DDR_CONFIG_NFRAC_MASK; + + ddr_pll = nint * ref_rate / ref_div; + ddr_pll += frac * (ref_rate >> 6) / (ref_div << 4); + ddr_pll /= (1 << out_div); + + clk_ctrl = ATH_READ_REG(QCA953X_PLL_CLK_CTRL_REG); + + postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT) & + QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK; + + if (clk_ctrl & QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS) + cpu_rate = ref_rate; + else if (clk_ctrl & QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL) + cpu_rate = cpu_pll / (postdiv + 1); + else + cpu_rate = ddr_pll / (postdiv + 1); + + postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT) & + QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK; + + if (clk_ctrl & QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS) + ddr_rate = ref_rate; + else if (clk_ctrl & QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL) + ddr_rate = ddr_pll / (postdiv + 1); + else + ddr_rate = cpu_pll / (postdiv + 1); + + postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT) & + QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK; + + if (clk_ctrl & QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS) + ahb_rate = ref_rate; + else if (clk_ctrl & QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL) + ahb_rate = ddr_pll / (postdiv + 1); + else + ahb_rate = cpu_pll / (postdiv + 1); + + u_ar71xx_ddr_freq = ddr_rate; + u_ar71xx_cpu_freq = cpu_rate; + u_ar71xx_ahb_freq = ahb_rate; + + u_ar71xx_wdt_freq = ref_rate; + u_ar71xx_uart_freq = ref_rate; + u_ar71xx_mdio_freq = ref_rate; + u_ar71xx_refclk = ref_rate; +} + +static void +qca953x_chip_device_stop(uint32_t mask) +{ + uint32_t reg; + + reg = ATH_READ_REG(QCA953X_RESET_REG_RESET_MODULE); + ATH_WRITE_REG(QCA953X_RESET_REG_RESET_MODULE, reg | mask); +} + +static void +qca953x_chip_device_start(uint32_t mask) +{ + uint32_t reg; + + reg = ATH_READ_REG(QCA953X_RESET_REG_RESET_MODULE); + ATH_WRITE_REG(QCA953X_RESET_REG_RESET_MODULE, reg & ~mask); +} + +static int +qca953x_chip_device_stopped(uint32_t mask) +{ + uint32_t reg; + + reg = ATH_READ_REG(QCA953X_RESET_REG_RESET_MODULE); + return ((reg & mask) == mask); +} + +static void +qca953x_chip_set_mii_speed(uint32_t unit, uint32_t speed) +{ + + /* XXX TODO */ + return; +} + +static void +qca953x_chip_set_pll_ge(int unit, int speed, uint32_t pll) +{ + switch (unit) { + case 0: + ATH_WRITE_REG(QCA953X_PLL_ETH_XMII_CONTROL_REG, pll); + break; + case 1: + ATH_WRITE_REG(QCA953X_PLL_ETH_SGMII_CONTROL_REG, pll); + break; + default: + printf("%s: invalid PLL set for arge unit: %d\n", + __func__, unit); + return; + } +} + +static void +qca953x_chip_ddr_flush(ar71xx_flush_ddr_id_t id) +{ + + switch (id) { + case AR71XX_CPU_DDR_FLUSH_GE0: + ar71xx_ddr_flush(QCA953X_DDR_REG_FLUSH_GE0); + break; + case AR71XX_CPU_DDR_FLUSH_GE1: + ar71xx_ddr_flush(QCA953X_DDR_REG_FLUSH_GE1); + break; + case AR71XX_CPU_DDR_FLUSH_USB: + ar71xx_ddr_flush(QCA953X_DDR_REG_FLUSH_USB); + break; + case AR71XX_CPU_DDR_FLUSH_PCIE: + ar71xx_ddr_flush(QCA953X_DDR_REG_FLUSH_PCIE); + break; + case AR71XX_CPU_DDR_FLUSH_WMAC: + ar71xx_ddr_flush(QCA953X_DDR_REG_FLUSH_WMAC); + break; + default: + printf("%s: invalid flush (%d)\n", __func__, id); + } +} + +static uint32_t +qca953x_chip_get_eth_pll(unsigned int mac, int speed) +{ + uint32_t pll; + + switch (speed) { + case 10: + pll = QCA953X_PLL_VAL_10; + break; + case 100: + pll = QCA953X_PLL_VAL_100; + break; + case 1000: + pll = QCA953X_PLL_VAL_1000; + break; + default: + printf("%s%d: invalid speed %d\n", __func__, mac, speed); + pll = 0; + } + return (pll); +} + +static void +qca953x_chip_reset_ethernet_switch(void) +{ +} + +static void +qca953x_configure_gmac(uint32_t gmac_cfg) +{ + uint32_t reg; + + reg = ATH_READ_REG(QCA953X_GMAC_REG_ETH_CFG); + printf("%s: ETH_CFG=0x%08x\n", __func__, reg); + reg &= ~(QCA953X_ETH_CFG_SW_ONLY_MODE | + QCA953X_ETH_CFG_SW_PHY_SWAP | + QCA953X_ETH_CFG_SW_APB_ACCESS | + QCA953X_ETH_CFG_SW_ACC_MSB_FIRST); + + reg |= gmac_cfg; + ATH_WRITE_REG(QCA953X_GMAC_REG_ETH_CFG, reg); +} + +static void +qca953x_chip_init_usb_peripheral(void) +{ + uint32_t bootstrap; + + bootstrap = ATH_READ_REG(QCA953X_RESET_REG_BOOTSTRAP); + + ar71xx_device_stop(QCA953X_RESET_USBSUS_OVERRIDE); + DELAY(1000); + + ar71xx_device_start(QCA953X_RESET_USB_PHY); + DELAY(1000); + + ar71xx_device_start(QCA953X_RESET_USB_PHY_ANALOG); + DELAY(1000); + + ar71xx_device_start(QCA953X_RESET_USB_HOST); + DELAY(1000); +} + +static void +qca953x_chip_set_mii_if(uint32_t unit, uint32_t mii_mode) +{ + + /* + * XXX ! + * + * Nothing to see here; although gmac0 can have its + * MII configuration changed, the register values + * are slightly different. + */ +} + +/* + * XXX TODO: fetch default MII divider configuration + */ + +static void +qca953x_chip_reset_wmac(void) +{ + + /* XXX TODO */ +} + +static void +qca953x_chip_init_gmac(void) +{ + long gmac_cfg; + + if (resource_long_value("qca953x_gmac", 0, "gmac_cfg", + &gmac_cfg) == 0) { + printf("%s: gmac_cfg=0x%08lx\n", + __func__, + (long) gmac_cfg); + qca953x_configure_gmac((uint32_t) gmac_cfg); + } +} + +/* + * Reset the NAND Flash Controller. + * + * + active=1 means "make it active". + * + active=0 means "make it inactive". + */ +static void +qca953x_chip_reset_nfc(int active) +{ +} + +/* + * Configure the GPIO output mux setup. + * + * The QCA953x has an output mux which allowed + * certain functions to be configured on any pin. + * Specifically, the switch PHY link LEDs and + * WMAC external RX LNA switches are not limited to + * a specific GPIO pin. + */ +static void +qca953x_chip_gpio_output_configure(int gpio, uint8_t func) +{ + uint32_t reg, s; + uint32_t t; + + if (gpio > QCA953X_GPIO_COUNT) + return; + + reg = QCA953X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4); + s = 8 * (gpio % 4); + + /* read-modify-write */ + t = ATH_READ_REG(AR71XX_GPIO_BASE + reg); + t &= ~(0xff << s); + t |= func << s; + ATH_WRITE_REG(AR71XX_GPIO_BASE + reg, t); + + /* flush write */ + ATH_READ_REG(AR71XX_GPIO_BASE + reg); +} + +struct ar71xx_cpu_def qca953x_chip_def = { + &qca953x_chip_detect_mem_size, + &qca953x_chip_detect_sys_frequency, + &qca953x_chip_device_stop, + &qca953x_chip_device_start, + &qca953x_chip_device_stopped, + &qca953x_chip_set_pll_ge, + &qca953x_chip_set_mii_speed, + &qca953x_chip_set_mii_if, + &qca953x_chip_get_eth_pll, + &qca953x_chip_ddr_flush, + &qca953x_chip_init_usb_peripheral, + &qca953x_chip_reset_ethernet_switch, + &qca953x_chip_reset_wmac, + &qca953x_chip_init_gmac, + &qca953x_chip_reset_nfc, + &qca953x_chip_gpio_output_configure, +}; Added: head/sys/mips/atheros/qca953x_chip.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/atheros/qca953x_chip.h Mon Nov 16 04:28:00 2015 (r290910) @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2015 Adrian Chadd + * 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 __QCA953X_CHIP_H__ +#define __QCA953X_CHIP_H__ + +extern struct ar71xx_cpu_def qca953x_chip_def; + +#endif Added: head/sys/mips/atheros/qca953xreg.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/atheros/qca953xreg.h Mon Nov 16 04:28:00 2015 (r290910) @@ -0,0 +1,195 @@ +/*- + * Copyright (c) 2015 Adrian Chadd + * 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 __QCA953XREG_H__ +#define __QCA953XREG_H__ + +#define BIT(x) (1 << (x)) + +/* Revision ID information */ +#define REV_ID_MAJOR_QCA9533 0x0140 +#define REV_ID_MAJOR_QCA9533_V2 0x0160 +#define QCA953X_REV_ID_REVISION_MASK 0xf + +/* Big enough to cover APB and SPI, and most peripherals */ +/* + * it needs to cover SPI because right now the if_ath_ahb + * code uses rman to map in the SPI address into memory + * to read data instead of us squirreling it away at early + * boot-time and using the firmware interface. + * + * if_ath_ahb.c should use the same firmware interface + * that if_ath_pci.c uses. + */ +#define QCA953X_GMAC_BASE (AR71XX_APB_BASE + 0x00070000) +#define QCA953X_GMAC_SIZE 0x14 +#define QCA953X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000) +#define QCA953X_WMAC_SIZE 0x20000 +#define QCA953X_EHCI_BASE 0x1b000000 +#define QCA953X_EHCI_SIZE 0x200 +#define QCA953X_SRIF_BASE (AR71XX_APB_BASE + 0x00116000) +#define QCA953X_SRIF_SIZE 0x1000 + +#define QCA953X_PCI_CFG_BASE0 0x14000000 +#define QCA953X_PCI_CTRL_BASE0 (AR71XX_APB_BASE + 0x000f0000) +#define QCA953X_PCI_CRP_BASE0 (AR71XX_APB_BASE + 0x000c0000) +#define QCA953X_PCI_MEM_BASE0 0x10000000 +#define QCA953X_PCI_MEM_SIZE 0x02000000 + +/* PLL Block */ +#define QCA953X_PLL_CPU_CONFIG_REG (AR71XX_PLL_CPU_BASE + 0x00) +#define QCA953X_PLL_DDR_CONFIG_REG (AR71XX_PLL_CPU_BASE + 0x04) +#define QCA953X_PLL_CLK_CTRL_REG (AR71XX_PLL_CPU_BASE + 0x08) + +#define QCA953X_PLL_ETH_XMII_CONTROL_REG (AR71XX_PLL_CPU_BASE + 0x2c) +#define QCA953X_PLL_ETH_SGMII_CONTROL_REG (AR71XX_PLL_CPU_BASE + 0x48) + +#define QCA953X_PLL_CPU_CONFIG_NFRAC_SHIFT 0 +#define QCA953X_PLL_CPU_CONFIG_NFRAC_MASK 0x3f +#define QCA953X_PLL_CPU_CONFIG_NINT_SHIFT 6 +#define QCA953X_PLL_CPU_CONFIG_NINT_MASK 0x3f +#define QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT 12 +#define QCA953X_PLL_CPU_CONFIG_REFDIV_MASK 0x1f +#define QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT 19 +#define QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK 0x3 + +#define QCA953X_PLL_DDR_CONFIG_NFRAC_SHIFT 0 +#define QCA953X_PLL_DDR_CONFIG_NFRAC_MASK 0x3ff +#define QCA953X_PLL_DDR_CONFIG_NINT_SHIFT 10 +#define QCA953X_PLL_DDR_CONFIG_NINT_MASK 0x3f +#define QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT 16 +#define QCA953X_PLL_DDR_CONFIG_REFDIV_MASK 0x1f +#define QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT 23 +#define QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK 0x7 + +#define QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS BIT(2) +#define QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS BIT(3) +#define QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS BIT(4) +#define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT 5 +#define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK 0x1f +#define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT 10 +#define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK 0x1f +#define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT 15 +#define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK 0x1f +#define QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL BIT(20) +#define QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL BIT(21) +#define QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL BIT(24) + +#define QCA953X_PLL_VAL_1000 0x16000000 +#define QCA953X_PLL_VAL_100 0x00000101 +#define QCA953X_PLL_VAL_10 0x00001616 + +/* Reset block */ + +#define QCA953X_RESET_REG_RESET_MODULE (AR71XX_RST_BLOCK_BASE + 0x1c) +#define QCA953X_RESET_USB_EXT_PWR BIT(29) +#define QCA953X_RESET_EXTERNAL BIT(28) +#define QCA953X_RESET_RTC BIT(27) +#define QCA953X_RESET_FULL_CHIP BIT(24) +#define QCA953X_RESET_GE1_MDIO BIT(23) +#define QCA953X_RESET_GE0_MDIO BIT(22) +#define QCA953X_RESET_CPU_NMI BIT(21) +#define QCA953X_RESET_CPU_COLD BIT(20) +#define QCA953X_RESET_DDR BIT(16) +#define QCA953X_RESET_USB_PHY_PLL_PWD_EXT BIT(15) +#define QCA953X_RESET_GE1_MAC BIT(13) +#define QCA953X_RESET_ETH_SWITCH_ANALOG BIT(12) +#define QCA953X_RESET_USB_PHY_ANALOG BIT(11) +#define QCA953X_RESET_GE0_MAC BIT(9) +#define QCA953X_RESET_ETH_SWITCH BIT(8) +#define QCA953X_RESET_PCIE_PHY BIT(7) +#define QCA953X_RESET_PCIE BIT(6) +#define QCA953X_RESET_USB_HOST BIT(5) +#define QCA953X_RESET_USB_PHY BIT(4) +#define QCA953X_RESET_USBSUS_OVERRIDE BIT(3) + +#define QCA953X_RESET_REG_BOOTSTRAP (AR71XX_RST_BLOCK_BASE + 0xb0) +#define QCA953X_BOOTSTRAP_SW_OPTION2 BIT(12) +#define QCA953X_BOOTSTRAP_SW_OPTION1 BIT(11) +#define QCA953X_BOOTSTRAP_EJTAG_MODE BIT(5) +#define QCA953X_BOOTSTRAP_REF_CLK_40 BIT(4) +#define QCA953X_BOOTSTRAP_SDRAM_DISABLED BIT(1) +#define QCA953X_BOOTSTRAP_DDR1 BIT(0) + +#define QCA953X_RESET_REG_EXT_INT_STATUS (AR71XX_RST_BLOCK_BASE + 0xac) + +#define QCA953X_DDR_REG_FLUSH_GE0 (AR71XX_APB_BASE + 0x9c) +#define QCA953X_DDR_REG_FLUSH_GE1 (AR71XX_APB_BASE + 0xa0) +#define QCA953X_DDR_REG_FLUSH_USB (AR71XX_APB_BASE + 0xa4) +#define QCA953X_DDR_REG_FLUSH_PCIE (AR71XX_APB_BASE + 0xa8) +#define QCA953X_DDR_REG_FLUSH_WMAC (AR71XX_APB_BASE + 0xac) + +/* GPIO block */ +#define QCA953X_GPIO_REG_OUT_FUNC0 0x2c +#define QCA953X_GPIO_REG_OUT_FUNC1 0x30 +#define QCA953X_GPIO_REG_OUT_FUNC2 0x34 +#define QCA953X_GPIO_REG_OUT_FUNC3 0x38 +#define QCA953X_GPIO_REG_OUT_FUNC4 0x3c +#define QCA953X_GPIO_REG_IN_ENABLE0 0x44 +#define QCA953X_GPIO_REG_FUNC 0x6c + +#define QCA953X_GPIO_OUT_MUX_SPI_CS1 10 +#define QCA953X_GPIO_OUT_MUX_SPI_CS2 11 +#define QCA953X_GPIO_OUT_MUX_SPI_CS0 9 +#define QCA953X_GPIO_OUT_MUX_SPI_CLK 8 +#define QCA953X_GPIO_OUT_MUX_SPI_MOSI 12 +#define QCA953X_GPIO_OUT_MUX_LED_LINK1 41 +#define QCA953X_GPIO_OUT_MUX_LED_LINK2 42 +#define QCA953X_GPIO_OUT_MUX_LED_LINK3 43 +#define QCA953X_GPIO_OUT_MUX_LED_LINK4 44 +#define QCA953X_GPIO_OUT_MUX_LED_LINK5 45 + +#define QCA953X_GPIO_COUNT 18 + +/* GMAC block */ +#define QCA953X_GMAC_REG_ETH_CFG (QCA953X_GMAC_BASE + 0x00) + +#define QCA953X_ETH_CFG_SW_ONLY_MODE BIT(6) +#define QCA953X_ETH_CFG_SW_PHY_SWAP BIT(7) +#define QCA953X_ETH_CFG_SW_APB_ACCESS BIT(9) +#define QCA953X_ETH_CFG_SW_ACC_MSB_FIRST BIT(13) + +/* SRIF block */ +#define QCA953X_SRIF_CPU_DPLL1_REG 0x1c0 +#define QCA953X_SRIF_CPU_DPLL2_REG 0x1c4 +#define QCA953X_SRIF_CPU_DPLL3_REG 0x1c8 + +#define QCA953X_SRIF_DDR_DPLL1_REG 0x240 +#define QCA953X_SRIF_DDR_DPLL2_REG 0x244 +#define QCA953X_SRIF_DDR_DPLL3_REG 0x248 + +#define QCA953X_SRIF_DPLL1_REFDIV_SHIFT 27 +#define QCA953X_SRIF_DPLL1_REFDIV_MASK 0x1f +#define QCA953X_SRIF_DPLL1_NINT_SHIFT 18 +#define QCA953X_SRIF_DPLL1_NINT_MASK 0x1ff +#define QCA953X_SRIF_DPLL1_NFRAC_MASK 0x0003ffff + +#define QCA953X_SRIF_DPLL2_LOCAL_PLL BIT(30) +#define QCA953X_SRIF_DPLL2_OUTDIV_SHIFT 13 +#define QCA953X_SRIF_DPLL2_OUTDIV_MASK 0x7 + +#endif /* __QCA953XREG_H__ */ From owner-svn-src-head@freebsd.org Mon Nov 16 04:53:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5D477A30644; Mon, 16 Nov 2015 04:53:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F4591AB0; Mon, 16 Nov 2015 04:53:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG4rD3B043589; Mon, 16 Nov 2015 04:53:13 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG4rDje043588; Mon, 16 Nov 2015 04:53:13 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160453.tAG4rDje043588@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 04:53:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290911 - head/contrib/netbsd-tests/kernel 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.20 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, 16 Nov 2015 04:53:14 -0000 Author: ngie Date: Mon Nov 16 04:53:13 2015 New Revision: 290911 URL: https://svnweb.freebsd.org/changeset/base/290911 Log: Ignore EINTR from usleep(3) in try_locks(..) NetBSD's usleep(3) only returns -1/sets errno=EINVAL when `microseconds` is one million or more MFC after: 3 days Submitted by: pho Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/kernel/t_lockf.c Modified: head/contrib/netbsd-tests/kernel/t_lockf.c ============================================================================== --- head/contrib/netbsd-tests/kernel/t_lockf.c Mon Nov 16 04:28:00 2015 (r290910) +++ head/contrib/netbsd-tests/kernel/t_lockf.c Mon Nov 16 04:53:13 2015 (r290911) @@ -102,6 +102,9 @@ trylocks(int id) (void)fcntl(fd, F_SETLKW, &fl); if (usleep(sleeptime) < 0) +#if defined(__FreeBSD__) + if (errno != EINTR) +#endif err(1, "usleep"); } printf("%d: done\n", id); From owner-svn-src-head@freebsd.org Mon Nov 16 04:56:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7923FA3069D; Mon, 16 Nov 2015 04:56:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B7411C36; Mon, 16 Nov 2015 04:56:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG4uEk2043752; Mon, 16 Nov 2015 04:56:14 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG4uEcs043751; Mon, 16 Nov 2015 04:56:14 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160456.tAG4uEcs043751@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 04:56:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290912 - head/tests/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.20 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, 16 Nov 2015 04:56:15 -0000 Author: ngie Date: Mon Nov 16 04:56:14 2015 New Revision: 290912 URL: https://svnweb.freebsd.org/changeset/base/290912 Log: Integrate contrib/netbsd-tests/kernel/t_lockf.c into the FreeBSD test suite as tests/sys/kern/lockf_test MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/tests/sys/kern/Makefile Modified: head/tests/sys/kern/Makefile ============================================================================== --- head/tests/sys/kern/Makefile Mon Nov 16 04:53:13 2015 (r290911) +++ head/tests/sys/kern/Makefile Mon Nov 16 04:56:14 2015 (r290912) @@ -1,5 +1,7 @@ # $FreeBSD$ +TESTSRC= ${SRCTOP}/contrib/netbsd-tests/kernel + TESTSDIR= ${TESTSBASE}/sys/kern ATF_TESTS_C+= kern_copyin @@ -11,9 +13,13 @@ TEST_METADATA.unix_seqpacket_test+= time LDADD.ptrace_test+= -lpthread LDADD.unix_seqpacket_test+= -lpthread +NETBSD_ATF_TESTS_C+= lockf_test + WARNS?= 5 TESTS_SUBDIRS+= acct TESTS_SUBDIRS+= execve +.include + .include From owner-svn-src-head@freebsd.org Mon Nov 16 05:28:15 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE5C1A30C1F; Mon, 16 Nov 2015 05:28:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 764D818BD; Mon, 16 Nov 2015 05:28:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG5SEN0052506; Mon, 16 Nov 2015 05:28:14 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG5SEKq052505; Mon, 16 Nov 2015 05:28:14 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160528.tAG5SEKq052505@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 05:28:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290913 - head/contrib/netbsd-tests/kernel 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.20 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, 16 Nov 2015 05:28:15 -0000 Author: ngie Date: Mon Nov 16 05:28:14 2015 New Revision: 290913 URL: https://svnweb.freebsd.org/changeset/base/290913 Log: Port contrib/netbsd-tests/kernel/t_mqueue.c to FreeBSD - Add missing headers - Ensure mqueuefs is loaded - Make sure the mqueuefs path is absolute and relative to / - Cast the result of mq_open returning -1 to (mqd_t) to mute a compiler warning MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/kernel/t_mqueue.c Modified: head/contrib/netbsd-tests/kernel/t_mqueue.c ============================================================================== --- head/contrib/netbsd-tests/kernel/t_mqueue.c Mon Nov 16 04:56:14 2015 (r290912) +++ head/contrib/netbsd-tests/kernel/t_mqueue.c Mon Nov 16 05:28:14 2015 (r290913) @@ -6,6 +6,13 @@ * This file is in the Public Domain. */ +#ifdef __FreeBSD__ +#include +#include + +#include "freebsd_test_suite/macros.h" +#endif + #include #include @@ -111,16 +118,28 @@ ATF_TC_BODY(mqueue, tc) char template[32]; char mq_name[64]; +#ifdef __FreeBSD__ + ATF_REQUIRE_KERNEL_MODULE("mqueuefs"); +#endif + strlcpy(template, "./t_mqueue.XXXXXX", sizeof(template)); tmpdir = mkdtemp(template); ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed: %d", errno); +#ifdef __FreeBSD__ + snprintf(mq_name, sizeof(mq_name), "/t_mqueue"); +#else snprintf(mq_name, sizeof(mq_name), "%s/mq", tmpdir); +#endif mqd_t mqfd; mqfd = mq_open(mq_name, O_RDWR | O_CREAT, S_IRUSR | S_IRWXG | S_IROTH, NULL); +#ifdef __FreeBSD__ + ATF_REQUIRE_MSG(mqfd != (mqd_t)-1, "mq_open failed: %d", errno); +#else ATF_REQUIRE_MSG(mqfd != -1, "mq_open failed: %d", errno); +#endif send_msgs(mqfd); receive_msgs(mqfd); From owner-svn-src-head@freebsd.org Mon Nov 16 05:38:43 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A8B8A30DC5; Mon, 16 Nov 2015 05:38:43 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F36291D3E; Mon, 16 Nov 2015 05:38:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG5cgEZ055738; Mon, 16 Nov 2015 05:38:42 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG5cffe055727; Mon, 16 Nov 2015 05:38:41 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160538.tAG5cffe055727@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 05:38:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290914 - in head: etc/mtree tests/sys/kern tests/sys/kern/pipe tools/regression/pipe 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.20 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, 16 Nov 2015 05:38:43 -0000 Author: ngie Date: Mon Nov 16 05:38:40 2015 New Revision: 290914 URL: https://svnweb.freebsd.org/changeset/base/290914 Log: Integrate tools/regression/pipe in to the FreeBSD test suite as tests/sys/kern/pipe - Fix style(9) bugs - Fix compiler warnings - Use `nitems(x)` instead of `sizeof(x) / sizeof(*x)` pattern The testcases will be converted over to ATF eventually, but for now will be integrated in as plain C tests MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Added: head/tests/sys/kern/pipe/ - copied from r290913, head/tools/regression/pipe/ head/tests/sys/kern/pipe/big_pipe_test.c - copied, changed from r290911, head/tools/regression/pipe/bigpipetest.c head/tests/sys/kern/pipe/pipe_fstat_bug_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-fstatbug.c head/tests/sys/kern/pipe/pipe_ino_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-ino.c head/tests/sys/kern/pipe/pipe_overcommit1_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-overcommit1.c head/tests/sys/kern/pipe/pipe_overcommit2_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-overcommit2.c head/tests/sys/kern/pipe/pipe_reverse2_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-reverse2.c head/tests/sys/kern/pipe/pipe_reverse_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-reverse.c head/tests/sys/kern/pipe/pipe_wraparound_test.c - copied, changed from r290911, head/tools/regression/pipe/pipe-wraparound.c Deleted: head/tests/sys/kern/pipe/bigpipetest.c head/tests/sys/kern/pipe/bigpipetest.t head/tests/sys/kern/pipe/pipe-fstatbug.c head/tests/sys/kern/pipe/pipe-ino.c head/tests/sys/kern/pipe/pipe-overcommit1.c head/tests/sys/kern/pipe/pipe-overcommit2.c head/tests/sys/kern/pipe/pipe-reverse.c head/tests/sys/kern/pipe/pipe-reverse2.c head/tests/sys/kern/pipe/pipe-wraparound.c head/tools/regression/pipe/ Modified: head/etc/mtree/BSD.tests.dist head/tests/sys/kern/Makefile head/tests/sys/kern/pipe/Makefile Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Mon Nov 16 05:28:14 2015 (r290913) +++ head/etc/mtree/BSD.tests.dist Mon Nov 16 05:38:40 2015 (r290914) @@ -377,6 +377,8 @@ .. execve .. + pipe + .. .. kqueue .. Modified: head/tests/sys/kern/Makefile ============================================================================== --- head/tests/sys/kern/Makefile Mon Nov 16 05:28:14 2015 (r290913) +++ head/tests/sys/kern/Makefile Mon Nov 16 05:38:40 2015 (r290914) @@ -19,6 +19,7 @@ WARNS?= 5 TESTS_SUBDIRS+= acct TESTS_SUBDIRS+= execve +TESTS_SUBDIRS+= pipe .include Modified: head/tests/sys/kern/pipe/Makefile ============================================================================== --- head/tools/regression/pipe/Makefile Mon Nov 16 05:28:14 2015 (r290913) +++ head/tests/sys/kern/pipe/Makefile Mon Nov 16 05:38:40 2015 (r290914) @@ -1,16 +1,16 @@ -# # $FreeBSD$ -# -# "make" then "make regress". -# -PROG= bigpipetest -MAN= -regress: - @if ./bigpipetest; then \ - echo "PASS"; \ - else \ - echo "FAIL"; \ - fi +TESTSDIR= ${TESTSBASE}/sys/kern/pipe -.include +PLAIN_TESTS_C+= big_pipe_test +PLAIN_TESTS_C+= pipe_fstat_bug_test +PLAIN_TESTS_C+= pipe_ino_test +PLAIN_TESTS_C+= pipe_overcommit1_test +PLAIN_TESTS_C+= pipe_overcommit2_test +PLAIN_TESTS_C+= pipe_reverse2_test +PLAIN_TESTS_C+= pipe_reverse_test +PLAIN_TESTS_C+= pipe_wraparound_test + +WARNS?= 6 + +.include Copied and modified: head/tests/sys/kern/pipe/big_pipe_test.c (from r290911, head/tools/regression/pipe/bigpipetest.c) ============================================================================== --- head/tools/regression/pipe/bigpipetest.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/big_pipe_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -1,10 +1,11 @@ -#include +#include +#include +#include #include -#include +#include #include -#include #include -#include +#include #define BIG_PIPE_SIZE 64*1024 /* From sys/pipe.h */ @@ -15,68 +16,73 @@ * $FreeBSD$ */ -void write_frame(int fd, char *buf, unsigned long buflen) +static void +write_frame(int fd, char *buf, unsigned long buflen) { - fd_set wfd; - int i; + fd_set wfd; + int i; - while (buflen) { - FD_ZERO(&wfd); - FD_SET(fd, &wfd); - i = select(fd+1, NULL, &wfd, NULL, NULL); - if (i < 0) { - perror("select"); - exit(1); + while (buflen) { + FD_ZERO(&wfd); + FD_SET(fd, &wfd); + i = select(fd+1, NULL, &wfd, NULL, NULL); + if (i < 0) + err(1, "select failed"); + if (i != 1) { + errx(1, "select returned unexpected value %d\n", i); + exit(1); + } + i = write(fd, buf, buflen); + if (i < 0) { + if (errno != EAGAIN) + warn("write failed"); + exit(1); + } + buf += i; + buflen -= i; } - if (i != 1) { - fprintf(stderr, "select returned unexpected value %d\n", i); - exit(1); - } - i = write(fd, buf, buflen); - if (i < 0) { - if (errno != EAGAIN) - perror("write"); - exit(1); - } - buf += i; - buflen -= i; - } } -int main() +int +main(void) { - char buf[BIG_PIPE_SIZE]; /* any value over PIPE_SIZE should do */ - int i, flags, fd[2]; - - printf("1..1\n"); - - if (pipe(fd) < 0) { perror("pipe"); exit(1); } - - flags = fcntl(fd[1], F_GETFL); - if (flags == -1 || fcntl(fd[1], F_SETFL, flags|O_NONBLOCK) == -1) { - perror("fcntl"); - exit(1); - } + /* any value over PIPE_SIZE should do */ + char buf[BIG_PIPE_SIZE]; + int i, flags, fd[2]; + + if (pipe(fd) < 0) + errx(1, "pipe failed"); + + flags = fcntl(fd[1], F_GETFL); + if (flags == -1 || fcntl(fd[1], F_SETFL, flags|O_NONBLOCK) == -1) { + printf("fcntl failed: %s\n", strerror(errno)); + exit(1); + } - switch (fork()) { + switch (fork()) { case -1: - perror("fork"); - exit(1); + err(1, "fork failed: %s\n", strerror(errno)); + break; case 0: - close(fd[1]); - for (;;) { - i = read(fd[0], buf, 256); /* any small size should do */ - if (i == 0) break; - if (i < 0) { perror("read"); exit(1); } - } - exit(0); + close(fd[1]); + for (;;) { + /* Any small size should do */ + i = read(fd[0], buf, 256); + if (i == 0) + break; + if (i < 0) + err(1, "read"); + } + exit(0); default: - break; - } + break; + } + + close(fd[0]); + memset(buf, 0, sizeof buf); + for (i = 0; i < 1000; i++) + write_frame(fd[1], buf, sizeof buf); - close(fd[0]); - memset(buf, 0, sizeof buf); - for (i = 0; i < 1000; i++) write_frame(fd[1], buf, sizeof buf); - printf("ok 1\n"); - exit(0); + printf("ok\n"); + exit(0); } Copied and modified: head/tests/sys/kern/pipe/pipe_fstat_bug_test.c (from r290911, head/tools/regression/pipe/pipe-fstatbug.c) ============================================================================== --- head/tools/regression/pipe/pipe-fstatbug.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_fstat_bug_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -23,9 +23,16 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF SUCH DAMAGE. */ +#include +#include +#include +#include +#include +#include +#include #include +#include #include -#include /* * $FreeBSD$ @@ -37,46 +44,95 @@ SUCH DAMAGE. * for comparison. */ -int main (void) +int +main(void) { -char buffer[32768], buffer2[32768]; -int desc[2]; -int error, successes = 0; -struct stat status; -pid_t new_pid; - -error = pipe(desc); - -if (error) - err(0, "Couldn't allocate fds\n"); - -new_pid = fork(); - -if (new_pid == 0) { - write(desc[1], &buffer, 145); - usleep(1000000); - write(desc[1], &buffer, 2048); - usleep(1000000); - write(desc[1], &buffer, 4096); - usleep(1000000); - write(desc[1], &buffer, 8191); - usleep(1000000); - write(desc[1], &buffer, 8192); - usleep(1000000); -} else { + char buffer[32768], buffer2[32768], go[] = "go", go2[] = "go2"; + int desc[2], ipc_coord[2]; + ssize_t error; + int successes = 0; + struct stat status; + pid_t new_pid; + + error = pipe(desc); + if (error == -1) + err(1, "Couldn't allocate data pipe"); + + error = pipe(ipc_coord); + if (error == -1) + err(1, "Couldn't allocate IPC coordination pipe"); + + new_pid = fork(); + assert(new_pid != -1); + + close(new_pid == 0 ? desc[0] : desc[1]); + +#define SYNC_R(i, _buf) do { \ + int _error = errno; \ + warnx("%d: waiting for synchronization", __LINE__); \ + if (read(ipc_coord[i], &_buf, sizeof(_buf)) != sizeof(_buf)) \ + err(1, "failed to synchronize (%s)", (i == 0 ? "parent" : "child")); \ + errno = _error; \ + } while(0) + +#define SYNC_W(i, _buf) do { \ + int _error = errno; \ + warnx("%d: sending synchronization", __LINE__); \ + if (write(ipc_coord[i], &_buf, sizeof(_buf)) != sizeof(_buf)) \ + err(1, "failed to synchronize (%s)", (i == 0 ? "child" : "parent")); \ + errno = _error; \ + } while(0) + +#define WRITE(s) do { \ + ssize_t _size; \ + if ((_size = write(desc[1], &buffer, s)) != s) \ + warn("short write; wrote %zd, expected %d", _size, s); \ + } while(0) + + if (new_pid == 0) { + + SYNC_R(0, go); + WRITE(145); + SYNC_W(0, go2); + + SYNC_R(0, go); + WRITE(2048); + SYNC_W(0, go2); + + SYNC_R(0, go); + WRITE(4096); + SYNC_W(0, go2); + + SYNC_R(0, go); + WRITE(8191); + SYNC_W(0, go2); + + SYNC_R(0, go); + SYNC_W(0, go2); /* XXX: why is this required? */ + WRITE(8192); + SYNC_W(0, go2); + + close(ipc_coord[0]); + close(ipc_coord[1]); + + _exit(0); + } + while (successes < 5) { - usleep(3000); + SYNC_W(1, go); + SYNC_R(1, go2); fstat(desc[0], &status); - error = read(desc[0], &buffer2, 32768); + error = read(desc[0], &buffer2, sizeof(buffer2)); + if (status.st_size != error) - err(0, "FAILURE: stat size %d read size %d\n", (int)status.st_size, error); + err(1, "FAILURE: stat size %jd read size %zd", + (intmax_t)status.st_size, error); if (error > 0) { - printf("SUCCESS at stat size %d read size %d\n", (int)status.st_size, error); + printf("SUCCESS at stat size %jd read size %zd\n", + (intmax_t)status.st_size, error); successes++; - /* Sleep to avoid the natural race in reading st_size. */ - usleep(1000000); } } -} + exit(0); } Copied and modified: head/tests/sys/kern/pipe/pipe_ino_test.c (from r290911, head/tools/regression/pipe/pipe-ino.c) ============================================================================== --- head/tools/regression/pipe/pipe-ino.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_ino_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -40,7 +40,7 @@ #include int -main(int argc, char **argv) +main(void) { int pipefd[2]; struct stat st1, st2; @@ -52,12 +52,11 @@ main(int argc, char **argv) err(1, "FAIL: fstat st1"); if (fstat(pipefd[1], &st2) == -1) err(1, "FAIL: fstat st2"); - if (st1.st_dev != st2.st_dev || st1.st_dev == 0 || st2.st_dev == 0) { - errx(1, "FAIL: wrong dev number %d %d", - st1.st_dev, st2.st_dev); - } + if (st1.st_dev != st2.st_dev || st1.st_dev == 0 || st2.st_dev == 0) + errx(1, "FAIL: wrong dev number %d %d", st1.st_dev, st2.st_dev); if (st1.st_ino == st2.st_ino) errx(1, "FAIL: inode numbers are equal: %d", st1.st_ino); + close(pipefd[0]); close(pipefd[1]); printf("PASS\n"); Copied and modified: head/tests/sys/kern/pipe/pipe_overcommit1_test.c (from r290911, head/tools/regression/pipe/pipe-overcommit1.c) ============================================================================== --- head/tools/regression/pipe/pipe-overcommit1.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_overcommit1_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -26,8 +26,10 @@ * DAMAGE. */ +#include #include #include +#include /* * $FreeBSD$ @@ -35,13 +37,16 @@ * that using up all pipe memory doesn't cause a panic. */ -int main (void) - +int +main(void) { - int i, returnval; - int pipes[10000]; - for (i = 0; i < 10000; i++) { + int pipes[10000], returnval; + unsigned int i; + + for (i = 0; i < nitems(pipes); i++) { returnval = pipe(&pipes[i]); } printf("PASS\n"); + + exit(0); } Copied and modified: head/tests/sys/kern/pipe/pipe_overcommit2_test.c (from r290911, head/tools/regression/pipe/pipe-overcommit2.c) ============================================================================== --- head/tools/regression/pipe/pipe-overcommit2.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_overcommit2_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -26,9 +26,13 @@ * DAMAGE. */ +#include +#include +#include +#include #include #include -#include +#include /* * $FreeBSD$ @@ -37,15 +41,21 @@ * limit for that user has been exceeded. */ -int main (int argc, void *argv[]) - +int +main(void) { - int i, returnval, lastfd; - int pipes[10000]; - - for (i = 0; i < 100000; i++) { - returnval = open(argv[0], O_RDONLY); - if (returnval < 1) + char template[] = "pipe.XXXXXXXXXX"; + int lastfd, pipes[10000], returnval; + unsigned int i; + + lastfd = -1; + + if (mkstemp(template) == -1) + err(1, "mkstemp failed"); + + for (i = 0; i < nitems(pipes); i++) { + returnval = open(template, O_RDONLY); + if (returnval == -1 && (errno == ENFILE || errno == EMFILE)) break; /* All descriptors exhausted. */ else lastfd = returnval; @@ -66,4 +76,8 @@ int main (int argc, void *argv[]) returnval = pipe(&pipes[i]); } printf("PASS\n"); + + unlink(template); + + exit(0); } Copied and modified: head/tests/sys/kern/pipe/pipe_reverse2_test.c (from r290911, head/tools/regression/pipe/pipe-reverse2.c) ============================================================================== --- head/tools/regression/pipe/pipe-reverse2.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_reverse2_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -26,17 +26,17 @@ * $FreeBSD$ */ -#include +#include -#include -#include -#include +#include +#include +#include /* * Check that pipes can be selected for writing in the reverse direction. */ int -main(int argc, char *argv[]) +main(void) { int pip[2]; fd_set set; Copied and modified: head/tests/sys/kern/pipe/pipe_reverse_test.c (from r290911, head/tools/regression/pipe/pipe-reverse.c) ============================================================================== --- head/tools/regression/pipe/pipe-reverse.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_reverse_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -23,9 +23,16 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF SUCH DAMAGE. */ +#include +#include +#include +#include +#include +#include #include +#include +#include #include -#include /* * $FreeBSD$ @@ -35,79 +42,108 @@ SUCH DAMAGE. * Linux.) */ -int main (void) +int +main(void) { -char buffer[65535], buffer2[65535]; -int desc[2]; -int buggy, error, i, successes, total; -struct stat status; -pid_t new_pid; - -buggy = 0; -total = 0; - -error = pipe(desc); - -if (error) - err(0, "Couldn't allocate fds\n"); - -buffer[0] = 'A'; - -for (i = 1; i < 65535; i++) { - buffer[i] = buffer[i - 1] + 1; - if (buffer[i] > 'Z') - buffer[i] = 'A'; + char buffer[65535], buffer2[65535], go[] = "go", go2[] = "go2"; + int desc[2], ipc_coord[2]; + size_t i; + ssize_t total; + int buggy, error; + pid_t new_pid; + + buggy = 0; + total = 0; + + error = pipe(desc); + if (error == -1) + err(1, "Couldn't allocate data pipe"); + + error = pipe(ipc_coord); + if (error == -1) + err(1, "Couldn't allocate IPC coordination pipe"); + + buffer[0] = 'A'; + + for (i = 1; i < (int)sizeof(buffer); i++) { + buffer[i] = buffer[i - 1] + 1; + if (buffer[i] > 'Z') + buffer[i] = 'A'; } -new_pid = fork(); + new_pid = fork(); + assert(new_pid != -1); -if (new_pid == 0) { - error = write(desc[0], &buffer, 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - printf("Wrote %d bytes, sleeping\n", total); - usleep(1000000); - error = write(desc[0], &buffer[total], 4096); - total += error; - error = write(desc[0], &buffer[total], 4096); - total += error; - printf("Wrote another 8192 bytes, %d total, done\n", total); -} else { - usleep(500000); - error = read(desc[1], &buffer2, 32768); +#define SYNC_R(i, _buf) do { \ + int _error = errno; \ + warnx("%d: waiting for synchronization", __LINE__); \ + if (read(ipc_coord[i], &_buf, sizeof(_buf)) != sizeof(_buf)) \ + err(1, "failed to synchronize (%s)", (i == 0 ? "parent" : "child")); \ + errno = _error; \ + } while(0) + +#define SYNC_W(i, _buf) do { \ + int _error = errno; \ + warnx("%d: sending synchronization", __LINE__); \ + if (write(ipc_coord[i], &_buf, sizeof(_buf)) != sizeof(_buf)) \ + err(1, "failed to synchronize (%s)", (i == 0 ? "child" : "parent")); \ + errno = _error; \ + } while(0) + +#define WRITE(s) do { \ + ssize_t _size; \ + if ((_size = write(desc[1], &buffer[total], s)) != s) \ + warn("short write; wrote %zd, expected %d", _size, s); \ + total += _size; \ + } while(0) + + if (new_pid == 0) { + SYNC_R(0, go); + for (i = 0; i < 8; i++) + WRITE(4096); + + SYNC_W(0, go2); + SYNC_R(0, go); + + for (i = 0; i < 2; i++) + WRITE(4096); + + SYNC_W(0, go2); + + _exit(0); + } + + SYNC_W(1, go); + SYNC_R(1, go2); + + error = read(desc[0], &buffer2, 8 * 4096); total += error; - printf("Read %d bytes, going back to sleep\n", error); - usleep(1000000); - error = read(desc[1], &buffer2[total], 8192); + printf("Read %d bytes\n", error); + + SYNC_W(1, go); + SYNC_R(1, go2); + + error = read(desc[0], &buffer2[total], 2 * 4096); total += error; printf("Read %d bytes, done\n", error); - for (i = 0; i < total; i++) { - if (buffer[i] != buffer2[i]) { - buggy = 1; - printf("Location %d input: %hhx output: %hhx\n", - i, buffer[i], buffer2[i]); + if (memcmp(buffer, buffer2, total) != 0) { + for (i = 0; i < (size_t)total; i++) { + if (buffer[i] != buffer2[i]) { + buggy = 1; + printf("Location %zu input: %hhx " + "output: %hhx\n", + i, buffer[i], buffer2[i]); + } } } -if ((buggy == 1) || (total != 40960)) - printf("FAILURE\n"); -else - printf("SUCCESS\n"); + waitpid(new_pid, NULL, 0); -} + if ((buggy == 1) || (total != 10 * 4096)) + errx(1, "FAILED"); + else + printf("SUCCESS\n"); + exit(0); } Copied and modified: head/tests/sys/kern/pipe/pipe_wraparound_test.c (from r290911, head/tools/regression/pipe/pipe-wraparound.c) ============================================================================== --- head/tools/regression/pipe/pipe-wraparound.c Mon Nov 16 04:53:13 2015 (r290911, copy source) +++ head/tests/sys/kern/pipe/pipe_wraparound_test.c Mon Nov 16 05:38:40 2015 (r290914) @@ -23,9 +23,16 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF SUCH DAMAGE. */ +#include +#include +#include +#include +#include +#include #include +#include +#include #include -#include /* * $FreeBSD$ @@ -37,67 +44,97 @@ SUCH DAMAGE. int main (void) { -char buffer[32768], buffer2[32768]; -int desc[2]; -int buggy, error, i, successes, total; -struct stat status; -pid_t new_pid; - -buggy = 0; -total = 0; - -error = pipe(desc); - -if (error) - err(0, "Couldn't allocate fds\n"); - -buffer[0] = 'A'; - -for (i = 1; i < 32768; i++) { - buffer[i] = buffer[i - 1] + 1; - if (buffer[i] > 'Z') - buffer[i] = 'A'; + char buffer[32768], buffer2[32768], go[] = "go", go2[] = "go2"; + int desc[2], ipc_coord[2]; + ssize_t error, total; + int buggy, i; + pid_t new_pid; + + buggy = 0; + total = 0; + + error = pipe(desc); + if (error == -1) + err(1, "Couldn't allocate data pipe"); + + error = pipe(ipc_coord); + if (error == -1) + err(1, "Couldn't allocate IPC coordination pipe"); + + buffer[0] = 'A'; + + for (i = 1; i < (int)sizeof(buffer); i++) { + buffer[i] = buffer[i - 1] + 1; + if (buffer[i] > 'Z') + buffer[i] = 'A'; } -new_pid = fork(); + new_pid = fork(); + assert(new_pid != -1); -if (new_pid == 0) { - error = write(desc[1], &buffer, 4096); - total += error; - error = write(desc[1], &buffer[total], 4096); - total += error; - error = write(desc[1], &buffer[total], 4000); - total += error; - printf("Wrote %d bytes, sleeping\n", total); - usleep(1000000); - error = write(desc[1], &buffer[total], 3000); - total += error; - error = write(desc[1], &buffer[total], 3000); - total += error; - printf("Wrote another 6000 bytes, %d total, done\n", total); -} else { - usleep(500000); +#define SYNC_R(i, _buf) do { \ + int _error = errno; \ + warnx("%d: waiting for synchronization", __LINE__); \ + if (read(ipc_coord[i], &_buf, sizeof(_buf)) != sizeof(_buf)) \ + err(1, "failed to synchronize (%s)", (i == 0 ? "parent" : "child")); \ + errno = _error; \ + } while(0) + +#define SYNC_W(i, _buf) do { \ + int _error = errno; \ + warnx("%d: sending synchronization", __LINE__); \ + if (write(ipc_coord[i], &_buf, sizeof(_buf)) != sizeof(_buf)) \ + err(1, "failed to synchronize (%s)", (i == 0 ? "child" : "parent")); \ + errno = _error; \ + } while(0) + +#define WRITE(s) do { \ + ssize_t _size; \ + if ((_size = write(desc[1], &buffer[total], s)) != s) \ + warn("short write; wrote %zd, expected %d", _size, s); \ + total += _size; \ + } while(0) + + if (new_pid == 0) { + WRITE(4096); + WRITE(4096); + WRITE(4000); + SYNC_W(0, go2); + + SYNC_R(0, go); + WRITE(3000); + WRITE(3000); + SYNC_W(0, go2); + + _exit(0); + } + + SYNC_R(1, go2); error = read(desc[0], &buffer2, 8192); total += error; - printf("Read %d bytes, going back to sleep\n", error); - usleep(1000000); + printf("Read %zd bytes\n", error); + SYNC_W(1, go); + SYNC_R(1, go2); error = read(desc[0], &buffer2[total], 16384); total += error; - printf("Read %d bytes, done\n", error); + printf("Read %zd bytes, done\n", error); - for (i = 0; i < total; i++) { - if (buffer[i] != buffer2[i]) { - buggy = 1; - printf("Location %d input: %hhx output: %hhx\n", - i, buffer[i], buffer2[i]); + if (memcmp(buffer, buffer2, total) != 0) { + for (i = 0; i < total; i++) { + if (buffer[i] != buffer2[i]) { + buggy = 1; + printf("Location %d input: %hhx output: %hhx\n", + i, buffer[i], buffer2[i]); + } } } -if (buggy) - printf("FAILURE\n"); -else - printf("SUCCESS\n"); -} + waitpid(new_pid, NULL, 0); + + if (buggy) + errx(1, "FAILURE"); + printf("SUCCESS\n"); + exit(0); } From owner-svn-src-head@freebsd.org Mon Nov 16 05:52:06 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2EC61A30F12; Mon, 16 Nov 2015 05:52:06 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E208512F9; Mon, 16 Nov 2015 05:52:05 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG5q4nb061066; Mon, 16 Nov 2015 05:52:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG5q4a5061065; Mon, 16 Nov 2015 05:52:04 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201511160552.tAG5q4a5061065@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 16 Nov 2015 05:52:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290915 - head/sys/vm 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.20 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, 16 Nov 2015 05:52:06 -0000 Author: kib Date: Mon Nov 16 05:52:04 2015 New Revision: 290915 URL: https://svnweb.freebsd.org/changeset/base/290915 Log: VM daemon works in parallel with the pagedaemon threads, and, among other actions, swaps out kernel stacks of the processes. On the other hand, currentl OOM logic which selects a process to kill in the critical condition, skips process with swapped-out thread. Under some loads, this results in the big(gest) process being ignored by OOM. Do not skip a process which has inhibited thread due to the swap-out, in the OOM selection loop. Note that killing such process requires the thread stack page-in, but sometimes this is the only way to recover. Reported and tested by: pho Reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Modified: head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Mon Nov 16 05:38:40 2015 (r290914) +++ head/sys/vm/vm_pageout.c Mon Nov 16 05:52:04 2015 (r290915) @@ -1554,7 +1554,8 @@ vm_pageout_oom(int shortage) if (!TD_ON_RUNQ(td) && !TD_IS_RUNNING(td) && !TD_IS_SLEEPING(td) && - !TD_IS_SUSPENDED(td)) { + !TD_IS_SUSPENDED(td) && + !TD_IS_SWAPPED(td)) { thread_unlock(td); breakout = 1; break; From owner-svn-src-head@freebsd.org Mon Nov 16 06:02:13 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 39B9CA30161; Mon, 16 Nov 2015 06:02:13 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1027A182E; Mon, 16 Nov 2015 06:02:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG62Csd064087; Mon, 16 Nov 2015 06:02:12 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG62CrZ064086; Mon, 16 Nov 2015 06:02:12 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201511160602.tAG62CrZ064086@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 16 Nov 2015 06:02:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290917 - head/sys/vm 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.20 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, 16 Nov 2015 06:02:13 -0000 Author: kib Date: Mon Nov 16 06:02:11 2015 New Revision: 290917 URL: https://svnweb.freebsd.org/changeset/base/290917 Log: Do not use vmspace_resident_count() for the OOM process selection. Residency count track the number of pte entries installed into the current pmap, which does not reflect the consumption of the physical memory by the address map. Due to several mechanisms like pv entries reclamation, copy on write etc. the resident pte entries count may be much less than the amount of physical memory kept by the process. Provide the OOM-specific vm_pageout_oom_pagecount() function which estimates the amount of reclamaible memory which could be stolen if the process is killed. Reported and tested by: pho Reviewed by: alc Comments text by: alc Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Modified: head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Mon Nov 16 06:02:09 2015 (r290916) +++ head/sys/vm/vm_pageout.c Mon Nov 16 06:02:11 2015 (r290917) @@ -1510,6 +1510,65 @@ vm_pageout_mightbe_oom(struct vm_domain atomic_subtract_int(&vm_pageout_oom_vote, 1); } +/* + * The OOM killer is the page daemon's action of last resort when + * memory allocation requests have been stalled for a prolonged period + * of time because it cannot reclaim memory. This function computes + * the approximate number of physical pages that could be reclaimed if + * the specified address space is destroyed. + * + * Private, anonymous memory owned by the address space is the + * principal resource that we expect to recover after an OOM kill. + * Since the physical pages mapped by the address space's COW entries + * are typically shared pages, they are unlikely to be released and so + * they are not counted. + * + * To get to the point where the page daemon runs the OOM killer, its + * efforts to write-back vnode-backed pages may have stalled. This + * could be caused by a memory allocation deadlock in the write path + * that might be resolved by an OOM kill. Therefore, physical pages + * belonging to vnode-backed objects are counted, because they might + * be freed without being written out first if the address space holds + * the last reference to an unlinked vnode. + * + * Similarly, physical pages belonging to OBJT_PHYS objects are + * counted because the address space might hold the last reference to + * the object. + */ +static long +vm_pageout_oom_pagecount(struct vmspace *vmspace) +{ + vm_map_t map; + vm_map_entry_t entry; + vm_object_t obj; + long res; + + map = &vmspace->vm_map; + KASSERT(!map->system_map, ("system map")); + sx_assert(&map->lock, SA_LOCKED); + res = 0; + for (entry = map->header.next; entry != &map->header; + entry = entry->next) { + if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) != 0) + continue; + obj = entry->object.vm_object; + if (obj == NULL) + continue; + if ((entry->eflags & MAP_ENTRY_NEEDS_COPY) != 0 && + obj->ref_count != 1) + continue; + switch (obj->type) { + case OBJT_DEFAULT: + case OBJT_SWAP: + case OBJT_PHYS: + case OBJT_VNODE: + res += obj->resident_page_count; + break; + } + } + return (res); +} + void vm_pageout_oom(int shortage) { @@ -1583,12 +1642,13 @@ vm_pageout_oom(int shortage) } PROC_UNLOCK(p); size = vmspace_swap_count(vm); - vm_map_unlock_read(&vm->vm_map); if (shortage == VM_OOM_MEM) - size += vmspace_resident_count(vm); + size += vm_pageout_oom_pagecount(vm); + vm_map_unlock_read(&vm->vm_map); vmspace_free(vm); + /* - * if the this process is bigger than the biggest one + * If this process is bigger than the biggest one, * remember it. */ if (size > bigsize) { From owner-svn-src-head@freebsd.org Mon Nov 16 06:15:03 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 24519A302F5; Mon, 16 Nov 2015 06:15:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D9AAF1D42; Mon, 16 Nov 2015 06:15:02 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG6F14T066989; Mon, 16 Nov 2015 06:15:01 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG6F1lY066988; Mon, 16 Nov 2015 06:15:01 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201511160615.tAG6F1lY066988@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 16 Nov 2015 06:15:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290918 - head/sys/mips/atheros 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.20 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, 16 Nov 2015 06:15:03 -0000 Author: adrian Date: Mon Nov 16 06:15:01 2015 New Revision: 290918 URL: https://svnweb.freebsd.org/changeset/base/290918 Log: Add QCA9533 to the list of SoCs that require IRQ's be ACKed. Modified: head/sys/mips/atheros/apb.c Modified: head/sys/mips/atheros/apb.c ============================================================================== --- head/sys/mips/atheros/apb.c Mon Nov 16 06:02:11 2015 (r290917) +++ head/sys/mips/atheros/apb.c Mon Nov 16 06:15:01 2015 (r290918) @@ -364,6 +364,8 @@ apb_filter(void *arg) case AR71XX_SOC_AR9341: case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: + case AR71XX_SOC_QCA9533: + case AR71XX_SOC_QCA9533_V2: case AR71XX_SOC_QCA9556: case AR71XX_SOC_QCA9558: /* ACK/clear the given interrupt */ From owner-svn-src-head@freebsd.org Mon Nov 16 06:17:14 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 629FBA3037A; Mon, 16 Nov 2015 06:17:14 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F05B1EE1; Mon, 16 Nov 2015 06:17:13 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG6HDfZ067099; Mon, 16 Nov 2015 06:17:13 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG6HC98067096; Mon, 16 Nov 2015 06:17:12 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201511160617.tAG6HC98067096@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Mon, 16 Nov 2015 06:17:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290919 - head/usr.sbin/ypserv 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.20 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, 16 Nov 2015 06:17:14 -0000 Author: araujo Date: Mon Nov 16 06:17:12 2015 New Revision: 290919 URL: https://svnweb.freebsd.org/changeset/base/290919 Log: Don't need cast malloc. Approved by: rodrigc (mentor) Differential Revision: D4175 Modified: head/usr.sbin/ypserv/yp_access.c head/usr.sbin/ypserv/yp_dblookup.c head/usr.sbin/ypserv/yp_dnslookup.c Modified: head/usr.sbin/ypserv/yp_access.c ============================================================================== --- head/usr.sbin/ypserv/yp_access.c Mon Nov 16 06:15:01 2015 (r290918) +++ head/usr.sbin/ypserv/yp_access.c Mon Nov 16 06:17:12 2015 (r290919) @@ -129,7 +129,7 @@ load_securenets(void) if ((fp = fopen(path, "r")) == NULL) { if (errno == ENOENT) { - securenets = (struct securenet *)malloc(sizeof(struct securenet)); + securenets = malloc(sizeof(struct securenet)); securenets->net.s_addr = INADDR_ANY; securenets->mask.s_addr = INADDR_ANY; securenets->next = NULL; @@ -154,7 +154,7 @@ load_securenets(void) continue; } - tmp = (struct securenet *)malloc(sizeof(struct securenet)); + tmp = malloc(sizeof(struct securenet)); if (!inet_aton((char *)&addr1, (struct in_addr *)&tmp->net)) { yp_error("badly formatted securenets entry: %s", addr1); Modified: head/usr.sbin/ypserv/yp_dblookup.c ============================================================================== --- head/usr.sbin/ypserv/yp_dblookup.c Mon Nov 16 06:15:01 2015 (r290918) +++ head/usr.sbin/ypserv/yp_dblookup.c Mon Nov 16 06:17:12 2015 (r290919) @@ -103,13 +103,13 @@ yp_malloc_qent(void) { register struct circleq_entry *q; - q = (struct circleq_entry *)malloc(sizeof(struct circleq_entry)); + q = malloc(sizeof(struct circleq_entry)); if (q == NULL) { yp_error("failed to malloc() circleq entry"); return(NULL); } bzero((char *)q, sizeof(struct circleq_entry)); - q->dbptr = (struct dbent *)malloc(sizeof(struct dbent)); + q->dbptr = malloc(sizeof(struct dbent)); if (q->dbptr == NULL) { yp_error("failed to malloc() circleq entry"); free(q); Modified: head/usr.sbin/ypserv/yp_dnslookup.c ============================================================================== --- head/usr.sbin/ypserv/yp_dnslookup.c Mon Nov 16 06:15:01 2015 (r290918) +++ head/usr.sbin/ypserv/yp_dnslookup.c Mon Nov 16 06:17:12 2015 (r290919) @@ -149,7 +149,7 @@ circleq_dnsentry *yp_malloc_dnsent(void) { register struct circleq_dnsentry *q; - q = (struct circleq_dnsentry *)malloc(sizeof(struct circleq_dnsentry)); + q = malloc(sizeof(struct circleq_dnsentry)); if (q == NULL) { yp_error("failed to malloc() circleq dns entry"); From owner-svn-src-head@freebsd.org Mon Nov 16 06:26:27 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79BC3A3055E; Mon, 16 Nov 2015 06:26:27 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B80F132A; Mon, 16 Nov 2015 06:26:27 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG6QQgC069986; Mon, 16 Nov 2015 06:26:26 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG6QQ6W069984; Mon, 16 Nov 2015 06:26:26 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201511160626.tAG6QQ6W069984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 16 Nov 2015 06:26:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290920 - head/sys/vm 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.20 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, 16 Nov 2015 06:26:27 -0000 Author: kib Date: Mon Nov 16 06:26:26 2015 New Revision: 290920 URL: https://svnweb.freebsd.org/changeset/base/290920 Log: Rework the test which raises OOM condition. Right now, the code checks for the swap space consumption plus checks that the amount of the free pages exceeds some limit, in case pagedeamon did not coped with the page shortage in one of the late passes. This is wrong because it does not account for the presence of the reclamaible pages in the queues which are not selectable for reclaim immediately. E.g., on the swap-less systems, large active queue easily triggered OOM. Instead, only raise OOM when pagedaemon is unable to produce a free page in several back-to-back passes. Track the failed passes per pagedaemon thread. The number of passes to trigger OOM was selected empirically and tested both on small (32M-64M i386 VM) and large (32G amd64) configurations. If the specifics of the load require tuning, sysctl vm.pageout_oom_seq sets the number of back-to-back passes which must fail before OOM is raised. Each pass takes 1/2 of seconds. Less the value, more sensible the pagedaemon is to the page shortage. In future, some heuristic to calculate the value of the tunable might be designed based on the system configuration and load. But before it can be done, the i/o system must be fixed to reliably time-out pagedaemon writes, even if waiting for the memory to proceed. Then, code can account for the in-flight page-outs and postpone OOM until all of them finished, which should reduce the need in tuning. Right now, ignoring the in-flight writes and the counter allows to break deadlocks due to write path doing sleepable memory allocations. Reported by: Dmitry Sivachenko, bde, many others Tested by: pho, bde, tuexen (arm) Reviewed by: alc Discussed with: bde, imp Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Modified: head/sys/vm/vm_page.h head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Mon Nov 16 06:17:12 2015 (r290919) +++ head/sys/vm/vm_page.h Mon Nov 16 06:26:26 2015 (r290920) @@ -227,6 +227,7 @@ struct vm_domain { long vmd_segs; /* bitmask of the segments */ boolean_t vmd_oom; int vmd_pass; /* local pagedaemon pass */ + int vmd_oom_seq; int vmd_last_active_scan; struct vm_page vmd_marker; /* marker for pagedaemon private use */ struct vm_page vmd_inacthead; /* marker for LRU-defeating insertions */ Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Mon Nov 16 06:17:12 2015 (r290919) +++ head/sys/vm/vm_pageout.c Mon Nov 16 06:26:26 2015 (r290920) @@ -122,7 +122,8 @@ static void vm_pageout_init(void); static int vm_pageout_clean(vm_page_t m); static int vm_pageout_cluster(vm_page_t m); static void vm_pageout_scan(struct vm_domain *vmd, int pass); -static void vm_pageout_mightbe_oom(struct vm_domain *vmd, int pass); +static void vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage, + int starting_page_shortage); SYSINIT(pagedaemon_init, SI_SUB_KTHREAD_PAGE, SI_ORDER_FIRST, vm_pageout_init, NULL); @@ -158,6 +159,7 @@ SYSINIT(vmdaemon, SI_SUB_KTHREAD_VM, SI_ int vm_pages_needed; /* Event on which pageout daemon sleeps */ int vm_pageout_deficit; /* Estimated number of pages deficit */ int vm_pageout_wakeup_thresh; +static int vm_pageout_oom_seq = 12; #if !defined(NO_SWAPPING) static int vm_pageout_req_swapout; /* XXX */ @@ -223,6 +225,10 @@ static int pageout_lock_miss; SYSCTL_INT(_vm, OID_AUTO, pageout_lock_miss, CTLFLAG_RD, &pageout_lock_miss, 0, "vget() lock misses during pageout"); +SYSCTL_INT(_vm, OID_AUTO, pageout_oom_seq, + CTLFLAG_RW, &vm_pageout_oom_seq, 0, + "back-to-back calls to oom detector to start OOM"); + #define VM_PAGEOUT_PAGE_COUNT 16 int vm_pageout_page_count = VM_PAGEOUT_PAGE_COUNT; @@ -1041,7 +1047,8 @@ vm_pageout_scan(struct vm_domain *vmd, i vm_object_t object; long min_scan; int act_delta, addl_page_shortage, deficit, error, maxlaunder, maxscan; - int page_shortage, scan_tick, scanned, vnodes_skipped; + int page_shortage, scan_tick, scanned, starting_page_shortage; + int vnodes_skipped; boolean_t pageout_ok, queues_locked; /* @@ -1080,6 +1087,7 @@ vm_pageout_scan(struct vm_domain *vmd, i page_shortage = vm_paging_target() + deficit; } else page_shortage = deficit = 0; + starting_page_shortage = page_shortage; /* * maxlaunder limits the number of dirty pages we flush per scan. @@ -1343,6 +1351,12 @@ relock_queues: (void)speedup_syncer(); /* + * If the inactive queue scan fails repeatedly to meet its + * target, kill the largest process. + */ + vm_pageout_mightbe_oom(vmd, page_shortage, starting_page_shortage); + + /* * Compute the number of pages we want to try to move from the * active queue to the inactive queue. */ @@ -1453,15 +1467,6 @@ relock_queues: } } #endif - - /* - * If we are critically low on one of RAM or swap and low on - * the other, kill the largest process. However, we avoid - * doing this on the first pass in order to give ourselves a - * chance to flush out dirty vnode-backed pages and to allow - * active pages to be moved to the inactive queue and reclaimed. - */ - vm_pageout_mightbe_oom(vmd, pass); } static int vm_pageout_oom_vote; @@ -1472,12 +1477,17 @@ static int vm_pageout_oom_vote; * failed to reach free target is premature. */ static void -vm_pageout_mightbe_oom(struct vm_domain *vmd, int pass) +vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage, + int starting_page_shortage) { int old_vote; - if (pass <= 1 || !((swap_pager_avail < 64 && vm_page_count_min()) || - (swap_pager_full && vm_paging_target() > 0))) { + if (starting_page_shortage <= 0 || starting_page_shortage != + page_shortage) + vmd->vmd_oom_seq = 0; + else + vmd->vmd_oom_seq++; + if (vmd->vmd_oom_seq < vm_pageout_oom_seq) { if (vmd->vmd_oom) { vmd->vmd_oom = FALSE; atomic_subtract_int(&vm_pageout_oom_vote, 1); @@ -1485,6 +1495,12 @@ vm_pageout_mightbe_oom(struct vm_domain return; } + /* + * Do not follow the call sequence until OOM condition is + * cleared. + */ + vmd->vmd_oom_seq = 0; + if (vmd->vmd_oom) return; From owner-svn-src-head@freebsd.org Mon Nov 16 06:56:47 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B2DAA30977; Mon, 16 Nov 2015 06:56:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D0FE1EFC; Mon, 16 Nov 2015 06:56:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG6ukar078687; Mon, 16 Nov 2015 06:56:46 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG6ukT1078686; Mon, 16 Nov 2015 06:56:46 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511160656.tAG6ukT1078686@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 16 Nov 2015 06:56:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290922 - head/tools/regression/acct 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.20 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, 16 Nov 2015 06:56:47 -0000 Author: ngie Date: Mon Nov 16 06:56:45 2015 New Revision: 290922 URL: https://svnweb.freebsd.org/changeset/base/290922 Log: Remove directory made obsolete by r290905 MFC after: 1 week X-MFC with: r290905 X-MFC note: stable/10 only Sponsored by: EMC / Isilon Storage Division Deleted: head/tools/regression/acct/ From owner-svn-src-head@freebsd.org Mon Nov 16 07:10:44 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 60FE5A30BEF; Mon, 16 Nov 2015 07:10:44 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0FC9B15B5; Mon, 16 Nov 2015 07:10:43 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG7Ahvm082298; Mon, 16 Nov 2015 07:10:43 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG7AgJO082295; Mon, 16 Nov 2015 07:10:42 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201511160710.tAG7AgJO082295@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 16 Nov 2015 07:10:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290924 - in head/sys: netipsec 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.20 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, 16 Nov 2015 07:10:44 -0000 Author: ae Date: Mon Nov 16 07:10:42 2015 New Revision: 290924 URL: https://svnweb.freebsd.org/changeset/base/290924 Log: Use explicitly specified ivsize instead of blocksize when we mean IV size. Set zero ivsize for enc_xform_null and remove special handling from xform_esp.c. Reviewed by: gnn Differential Revision: https://reviews.freebsd.org/D1503 Modified: head/sys/netipsec/key.c head/sys/netipsec/xform_esp.c head/sys/opencrypto/xform.c Modified: head/sys/netipsec/key.c ============================================================================== --- head/sys/netipsec/key.c Mon Nov 16 07:03:00 2015 (r290923) +++ head/sys/netipsec/key.c Mon Nov 16 07:10:42 2015 (r290924) @@ -6706,7 +6706,7 @@ key_register(struct socket *so, struct m continue; alg = (struct sadb_alg *)(mtod(n, caddr_t) + off); alg->sadb_alg_id = i; - alg->sadb_alg_ivlen = ealgo->blocksize; + alg->sadb_alg_ivlen = ealgo->ivsize; alg->sadb_alg_minbits = _BITS(ealgo->minkey); alg->sadb_alg_maxbits = _BITS(ealgo->maxkey); off += PFKEY_ALIGN8(sizeof(struct sadb_alg)); Modified: head/sys/netipsec/xform_esp.c ============================================================================== --- head/sys/netipsec/xform_esp.c Mon Nov 16 07:03:00 2015 (r290923) +++ head/sys/netipsec/xform_esp.c Mon Nov 16 07:10:42 2015 (r290924) @@ -200,16 +200,10 @@ esp_init(struct secasvar *sav, struct xf return EINVAL; } - /* - * NB: The null xform needs a non-zero blocksize to keep the - * crypto code happy but if we use it to set ivlen then - * the ESP header will be processed incorrectly. The - * compromise is to force it to zero here. - */ if (SAV_ISCTRORGCM(sav)) sav->ivlen = 8; /* RFC4106 3.1 and RFC3686 3.1 */ else - sav->ivlen = (txform == &enc_xform_null ? 0 : txform->ivsize); + sav->ivlen = txform->ivsize; /* * Setup AH-related state. Modified: head/sys/opencrypto/xform.c ============================================================================== --- head/sys/opencrypto/xform.c Mon Nov 16 07:03:00 2015 (r290923) +++ head/sys/opencrypto/xform.c Mon Nov 16 07:10:42 2015 (r290924) @@ -154,7 +154,7 @@ MALLOC_DEFINE(M_XDATA, "xform", "xform d struct enc_xform enc_xform_null = { CRYPTO_NULL_CBC, "NULL", /* NB: blocksize of 4 is to generate a properly aligned ESP header */ - NULL_BLOCK_LEN, NULL_BLOCK_LEN, NULL_MIN_KEY, NULL_MAX_KEY, + NULL_BLOCK_LEN, 0, NULL_MIN_KEY, NULL_MAX_KEY, null_encrypt, null_decrypt, null_setkey, From owner-svn-src-head@freebsd.org Mon Nov 16 09:48:10 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C23F6A2E659; Mon, 16 Nov 2015 09:48:10 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8E5A114D2; Mon, 16 Nov 2015 09:48:10 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAG9m9qQ027659; Mon, 16 Nov 2015 09:48:09 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAG9m9Qu027658; Mon, 16 Nov 2015 09:48:09 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511160948.tAG9m9Qu027658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Mon, 16 Nov 2015 09:48:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290926 - head/share/locale-links 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.20 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, 16 Nov 2015 09:48:10 -0000 Author: bapt Date: Mon Nov 16 09:48:09 2015 New Revision: 290926 URL: https://svnweb.freebsd.org/changeset/base/290926 Log: Add missing alias for zh_CN.UTF-8 Modified: head/share/locale-links/Makefile Modified: head/share/locale-links/Makefile ============================================================================== --- head/share/locale-links/Makefile Mon Nov 16 08:58:03 2015 (r290925) +++ head/share/locale-links/Makefile Mon Nov 16 09:48:09 2015 (r290926) @@ -8,6 +8,7 @@ ALIASES= zh_Hans_CN.GB18030 zh_CN.GB1803 zh_Hans_CN.GB2312 zh_CN.GB2312 \ zh_Hans_CN.GBK zh_CN.GBK \ zh_Hans_CN.eucCN zh_CN.eucCN \ + zh_Hans_CN.UTF-8 zh_CN.UTF-8 \ zh_Hant_HK.Big5HKSCS zh_HK.Big5HKSCS \ zh_Hant_HK.UTF-8 zh_HK.UTF-8 \ zh_Hant_TW.Big5 zh_TW.Big5 \ From owner-svn-src-head@freebsd.org Mon Nov 16 12:58:49 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 71B19A2E91D; Mon, 16 Nov 2015 12:58:49 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 35C1A125E; Mon, 16 Nov 2015 12:58:49 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tAGCwmPT083307; Mon, 16 Nov 2015 12:58:48 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tAGCwlbf083301; Mon, 16 Nov 2015 12:58:47 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201511161258.tAGCwlbf083301@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Mon, 16 Nov 2015 12:58:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290928 - in head: . etc/mtree share/colldef share/ctypedef share/monetdef share/msgdef share/numericdef share/timedef tools/build/mk tools/tools/locale/etc 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.20 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, 16 Nov 2015 12:58:49 -0000 Author: bapt Date: Mon Nov 16 12:58:47 2015 New Revision: 290928 URL: https://svnweb.freebsd.org/changeset/base/290928 Log: Bring back a couple of ISO8859-15 locales: - af_ZA.ISO8859-15 - en_AU.ISO8859-15 - en_CA.ISO8859-15 - en_NZ.ISO8859-15 - en_US.ISO8859-15 - fr_CA.ISO8859-15 Added: head/share/ctypedef/en_US.ISO8859-1.src - copied unchanged from r290927, head/share/ctypedef/en_GB.ISO8859-15.src head/share/monetdef/en_ZA.ISO8859-15.src - copied unchanged from r290927, head/share/monetdef/en_ZA.ISO8859-1.src head/share/monetdef/fr_CA.ISO8859-15.src - copied unchanged from r290927, head/share/monetdef/fr_CA.ISO8859-1.src head/share/timedef/fr_CA.ISO8859-15.src - copied unchanged from r290927, head/share/timedef/fr_CA.ISO8859-1.src Deleted: head/share/ctypedef/en_GB.ISO8859-15.src head/share/monetdef/en_ZA.ISO8859-1.src head/share/monetdef/fr_CA.ISO8859-1.src head/share/timedef/fr_CA.ISO8859-1.src Modified: head/ObsoleteFiles.inc head/etc/mtree/BSD.usr.dist head/share/colldef/Makefile head/share/ctypedef/Makefile head/share/monetdef/Makefile head/share/msgdef/Makefile head/share/numericdef/Makefile head/share/timedef/Makefile head/tools/build/mk/OptionalObsoleteFiles.inc head/tools/tools/locale/etc/charmaps.xml Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Mon Nov 16 10:20:19 2015 (r290927) +++ head/ObsoleteFiles.inc Mon Nov 16 12:58:47 2015 (r290928) @@ -49,41 +49,6 @@ OLD_FILES+=usr/share/locale/zh_TW.UTF-8/ # 20151107: String collation improvements OLD_FILES+=usr/share/locale/UTF-8/LC_CTYPE OLD_DIRS+=usr/share/locale/UTF-8 -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_TIME -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_CA.ISO8859-15/LC_MONETARY -OLD_DIRS+=usr/share/locale/en_CA.ISO8859-15 -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_TIME -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_AU.ISO8859-15/LC_MONETARY -OLD_DIRS+=usr/share/locale/en_AU.ISO8859-15 -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_TIME -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_US.ISO8859-15/LC_NUMERIC -OLD_DIRS+=usr/share/locale/en_US.ISO8859-15 -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_TIME -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_MONETARY -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/en_NZ.ISO8859-15/LC_CTYPE -OLD_DIRS+=usr/share/locale/en_NZ.ISO8859-15 -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_COLLATE -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MESSAGES -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_CTYPE -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_TIME -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_NUMERIC -OLD_FILES+=usr/share/locale/fr_CA.ISO8859-15/LC_MONETARY -OLD_DIRS+=usr/share/locale/fr_CA.ISO8859-15 OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_COLLATE OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_CTYPE OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MESSAGES Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Mon Nov 16 10:20:19 2015 (r290927) +++ head/etc/mtree/BSD.usr.dist Mon Nov 16 12:58:47 2015 (r290928) @@ -515,6 +515,8 @@ locale af_ZA.ISO8859-1 .. + af_ZA.ISO8859-15 + .. af_ZA.UTF-8 .. ar_AE.UTF-8 @@ -601,12 +603,16 @@ .. en_AU.ISO8859-1 .. + en_AU.ISO8859-15 + .. en_AU.US-ASCII .. en_AU.UTF-8 .. en_CA.ISO8859-1 .. + en_CA.ISO8859-15 + .. en_CA.US-ASCII .. en_CA.UTF-8 @@ -631,6 +637,8 @@ .. en_NZ.ISO8859-1 .. + en_NZ.ISO8859-15 + .. en_NZ.US-ASCII .. en_NZ.UTF-8 @@ -643,12 +651,16 @@ .. en_US.ISO8859-1 .. + en_US.ISO8859-15 + .. en_US.US-ASCII .. en_US.UTF-8 .. en_ZA.ISO8859-1 .. + en_ZA.ISO8859-15 + .. en_ZA.US-ASCII .. en_ZA.UTF-8 @@ -695,6 +707,8 @@ .. fr_CA.ISO8859-1 .. + fr_CA.ISO8859-15 + .. fr_CA.UTF-8 .. fr_CH.ISO8859-1 Modified: head/share/colldef/Makefile ============================================================================== --- head/share/colldef/Makefile Mon Nov 16 10:20:19 2015 (r290927) +++ head/share/colldef/Makefile Mon Nov 16 12:58:47 2015 (r290928) @@ -47,6 +47,7 @@ LOCALES+= uk_UA.UTF-8 LOCALES+= zh_Hans_CN.UTF-8 LOCALES+= zh_Hant_TW.UTF-8 +SAME+= af_ZA.UTF-8:af_ZA.ISO8859-15 SAME+= af_ZA.UTF-8:af_ZA.ISO8859-1 SAME+= ar_SA.UTF-8:ar_QA.UTF-8 SAME+= ar_SA.UTF-8:ar_MA.UTF-8 @@ -108,6 +109,7 @@ SAME+= en_US.UTF-8:fr_CH.UTF-8 SAME+= en_US.UTF-8:fr_CH.ISO8859-15 SAME+= en_US.UTF-8:fr_CH.ISO8859-1 SAME+= en_US.UTF-8:fr_CA.UTF-8 +SAME+= en_US.UTF-8:fr_CA.ISO8859-15 SAME+= en_US.UTF-8:fr_CA.ISO8859-1 SAME+= en_US.UTF-8:fr_BE.UTF-8 SAME+= en_US.UTF-8:fr_BE.ISO8859-15 @@ -117,14 +119,17 @@ SAME+= en_US.UTF-8:eu_ES.ISO8859-15 SAME+= en_US.UTF-8:eu_ES.ISO8859-1 SAME+= en_US.UTF-8:en_ZA.UTF-8 SAME+= en_US.UTF-8:en_ZA.US-ASCII +SAME+= en_US.UTF-8:en_ZA.ISO8859-15 SAME+= en_US.UTF-8:en_ZA.ISO8859-1 SAME+= en_US.UTF-8:en_US.US-ASCII +SAME+= en_US.UTF-8:en_US.ISO8859-15 SAME+= en_US.UTF-8:en_US.ISO8859-1 SAME+= en_US.UTF-8:en_SG.UTF-8 SAME+= en_US.UTF-8:en_SG.ISO8859-1 SAME+= en_US.UTF-8:en_PH.UTF-8 SAME+= en_US.UTF-8:en_NZ.UTF-8 SAME+= en_US.UTF-8:en_NZ.US-ASCII +SAME+= en_US.UTF-8:en_NZ.ISO8859-15 SAME+= en_US.UTF-8:en_NZ.ISO8859-1 SAME+= en_US.UTF-8:en_IE.UTF-8 SAME+= en_US.UTF-8:en_IE.ISO8859-15 @@ -137,9 +142,11 @@ SAME+= en_US.UTF-8:en_GB.ISO8859-15 SAME+= en_US.UTF-8:en_GB.ISO8859-1 SAME+= en_US.UTF-8:en_CA.UTF-8 SAME+= en_US.UTF-8:en_CA.US-ASCII +SAME+= en_US.UTF-8:en_CA.ISO8859-15 SAME+= en_US.UTF-8:en_CA.ISO8859-1 SAME+= en_US.UTF-8:en_AU.UTF-8 SAME+= en_US.UTF-8:en_AU.US-ASCII +SAME+= en_US.UTF-8:en_AU.ISO8859-15 SAME+= en_US.UTF-8:en_AU.ISO8859-1 SAME+= en_US.UTF-8:de_DE.UTF-8 SAME+= en_US.UTF-8:de_DE.ISO8859-15 Modified: head/share/ctypedef/Makefile ============================================================================== --- head/share/ctypedef/Makefile Mon Nov 16 10:20:19 2015 (r290927) +++ head/share/ctypedef/Makefile Mon Nov 16 12:58:47 2015 (r290928) @@ -16,8 +16,8 @@ LOCALES+= be_BY.CP1131 LOCALES+= ca_IT.ISO8859-1 LOCALES+= ca_IT.ISO8859-15 LOCALES+= el_GR.ISO8859-7 -LOCALES+= en_GB.ISO8859-15 LOCALES+= en_US.ISO8859-1 +LOCALES+= en_US.ISO8859-15 LOCALES+= en_US.US-ASCII LOCALES+= en_US.UTF-8 LOCALES+= hi_IN.ISCII-DEV @@ -152,6 +152,35 @@ SAME+= en_US.ISO8859-1:de_CH.ISO8859-1 SAME+= en_US.ISO8859-1:de_AT.ISO8859-1 SAME+= en_US.ISO8859-1:da_DK.ISO8859-1 SAME+= en_US.ISO8859-1:af_ZA.ISO8859-1 +SAME+= en_US.ISO8859-15:en_GB.ISO8859-15 +SAME+= en_US.ISO8859-15:sv_SE.ISO8859-15 +SAME+= en_US.ISO8859-15:sv_FI.ISO8859-15 +SAME+= en_US.ISO8859-15:pt_PT.ISO8859-15 +SAME+= en_US.ISO8859-15:nn_NO.ISO8859-15 +SAME+= en_US.ISO8859-15:nl_NL.ISO8859-15 +SAME+= en_US.ISO8859-15:nl_BE.ISO8859-15 +SAME+= en_US.ISO8859-15:nb_NO.ISO8859-15 +SAME+= en_US.ISO8859-15:it_IT.ISO8859-15 +SAME+= en_US.ISO8859-15:it_CH.ISO8859-15 +SAME+= en_US.ISO8859-15:is_IS.ISO8859-15 +SAME+= en_US.ISO8859-15:fr_FR.ISO8859-15 +SAME+= en_US.ISO8859-15:fr_CH.ISO8859-15 +SAME+= en_US.ISO8859-15:fr_CA.ISO8859-15 +SAME+= en_US.ISO8859-15:fr_BE.ISO8859-15 +SAME+= en_US.ISO8859-15:fi_FI.ISO8859-15 +SAME+= en_US.ISO8859-15:eu_ES.ISO8859-15 +SAME+= en_US.ISO8859-15:et_EE.ISO8859-15 +SAME+= en_US.ISO8859-15:es_ES.ISO8859-15 +SAME+= en_US.ISO8859-15:en_ZA.ISO8859-15 +SAME+= en_US.ISO8859-15:en_NZ.ISO8859-15 +SAME+= en_US.ISO8859-15:en_IE.ISO8859-15 +SAME+= en_US.ISO8859-15:en_CA.ISO8859-15 +SAME+= en_US.ISO8859-15:en_AU.ISO8859-15 +SAME+= en_US.ISO8859-15:de_DE.ISO8859-15 +SAME+= en_US.ISO8859-15:de_CH.ISO8859-15 +SAME+= en_US.ISO8859-15:de_AT.ISO8859-15 +SAME+= en_US.ISO8859-15:da_DK.ISO8859-15 +SAME+= en_US.ISO8859-15:af_ZA.ISO8859-15 SAME+= ru_RU.CP1251:bg_BG.CP1251 SAME+= ru_RU.CP1251:be_BY.CP1251 SAME+= ru_RU.ISO8859-5:sr_Cyrl_RS.ISO8859-5 @@ -169,28 +198,6 @@ SAME+= sr_Latn_RS.ISO8859-2:pl_PL.ISO88 SAME+= sr_Latn_RS.ISO8859-2:hu_HU.ISO8859-2 SAME+= sr_Latn_RS.ISO8859-2:hr_HR.ISO8859-2 SAME+= sr_Latn_RS.ISO8859-2:cs_CZ.ISO8859-2 -SAME+= en_GB.ISO8859-15:sv_SE.ISO8859-15 -SAME+= en_GB.ISO8859-15:sv_FI.ISO8859-15 -SAME+= en_GB.ISO8859-15:pt_PT.ISO8859-15 -SAME+= en_GB.ISO8859-15:nn_NO.ISO8859-15 -SAME+= en_GB.ISO8859-15:nl_NL.ISO8859-15 -SAME+= en_GB.ISO8859-15:nl_BE.ISO8859-15 -SAME+= en_GB.ISO8859-15:nb_NO.ISO8859-15 -SAME+= en_GB.ISO8859-15:it_IT.ISO8859-15 -SAME+= en_GB.ISO8859-15:it_CH.ISO8859-15 -SAME+= en_GB.ISO8859-15:is_IS.ISO8859-15 -SAME+= en_GB.ISO8859-15:fr_FR.ISO8859-15 -SAME+= en_GB.ISO8859-15:fr_CH.ISO8859-15 -SAME+= en_GB.ISO8859-15:fr_BE.ISO8859-15 -SAME+= en_GB.ISO8859-15:fi_FI.ISO8859-15 -SAME+= en_GB.ISO8859-15:eu_ES.ISO8859-15 -SAME+= en_GB.ISO8859-15:et_EE.ISO8859-15 -SAME+= en_GB.ISO8859-15:es_ES.ISO8859-15 -SAME+= en_GB.ISO8859-15:en_IE.ISO8859-15 -SAME+= en_GB.ISO8859-15:de_DE.ISO8859-15 -SAME+= en_GB.ISO8859-15:de_CH.ISO8859-15 -SAME+= en_GB.ISO8859-15:de_AT.ISO8859-15 -SAME+= en_GB.ISO8859-15:da_DK.ISO8859-15 SAME+= en_US.US-ASCII:en_ZA.US-ASCII SAME+= en_US.US-ASCII:en_NZ.US-ASCII SAME+= en_US.US-ASCII:en_GB.US-ASCII @@ -222,11 +229,11 @@ SYMPAIRS+= zh_Hans_CN.eucCN.src:zh_Hans_ SYMPAIRS+= zh_Hans_CN.eucCN.src:zh_Hans_CN.GB2312.src SYMPAIRS+= zh_Hans_CN.eucCN.src:zh_Hans_CN.GBK.src SYMPAIRS+= zh_Hant_HK.Big5HKSCS.src:zh_Hant_TW.Big5.src -SYMPAIRS+= en_GB.ISO8859-15.src:en_US.ISO8859-1.src -SYMPAIRS+= en_GB.ISO8859-15.src:en_US.US-ASCII.src -SYMPAIRS+= en_GB.ISO8859-15.src:lv_LV.ISO8859-13.src -SYMPAIRS+= en_GB.ISO8859-15.src:sr_Latn_RS.ISO8859-2.src -SYMPAIRS+= en_GB.ISO8859-15.src:tr_TR.ISO8859-9.src +SYMPAIRS+= en_US.ISO8859-1.src:en_US.ISO8859-15.src +SYMPAIRS+= en_US.ISO8859-1.src:en_US.US-ASCII.src +SYMPAIRS+= en_US.ISO8859-1.src:lv_LV.ISO8859-13.src +SYMPAIRS+= en_US.ISO8859-1.src:sr_Latn_RS.ISO8859-2.src +SYMPAIRS+= en_US.ISO8859-1.src:tr_TR.ISO8859-9.src SYMPAIRS+= ja_JP.eucJP.src:ja_JP.SJIS.src .for PAIR in ${SYMPAIRS} Copied: head/share/ctypedef/en_US.ISO8859-1.src (from r290927, head/share/ctypedef/en_GB.ISO8859-15.src) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/ctypedef/en_US.ISO8859-1.src Mon Nov 16 12:58:47 2015 (r290928, copy of r290927, head/share/ctypedef/en_GB.ISO8859-15.src) @@ -0,0 +1,5163 @@ +# Warning: Do not edit. This file is automatically extracted from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +comment_char * +escape_char / +LC_CTYPE +************* + +upper ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ +