From owner-p4-projects@FreeBSD.ORG Sun Jul 5 07:26:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6D761065674; Sun, 5 Jul 2009 07:26:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66D8C1065672 for ; Sun, 5 Jul 2009 07:26:16 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 555C78FC19 for ; Sun, 5 Jul 2009 07:26:16 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n657QGUX016137 for ; Sun, 5 Jul 2009 07:26:16 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n657QGVv016135 for perforce@freebsd.org; Sun, 5 Jul 2009 07:26:16 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Sun, 5 Jul 2009 07:26:16 GMT Message-Id: <200907050726.n657QGVv016135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165618 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 07:26:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=165618 Change 165618 by zhaoshuai@zhaoshuai on 2009/07/05 07:25:15 test fifo status change after cloing one endpoint. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#8 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/hangup.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#8 (text+ko) ==== @@ -1,6 +1,6 @@ OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select poll \ - kqueue sigio pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ - pr_76525 + kqueue sigio hangup pr_74242_speak pr_74242_tick pr_76144 pr_94772 \ + pr_116770 pr_76525 all : $(OBJS) @@ -20,6 +20,7 @@ pr_94772 : pr_94772.c pr_116770 : pr_116770.c pr_76525 : pr_76525.c +hangup : hangup.c clean : -rm $(OBJS) From owner-p4-projects@FreeBSD.ORG Sun Jul 5 07:31:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71EF610656A3; Sun, 5 Jul 2009 07:31:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D4721065694 for ; Sun, 5 Jul 2009 07:31:22 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01C5C8FC19 for ; Sun, 5 Jul 2009 07:31:22 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n657VLre016514 for ; Sun, 5 Jul 2009 07:31:21 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n657VLJi016512 for perforce@freebsd.org; Sun, 5 Jul 2009 07:31:21 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Sun, 5 Jul 2009 07:31:21 GMT Message-Id: <200907050731.n657VLJi016512@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165619 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 07:31:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=165619 Change 165619 by zhaoshuai@zhaoshuai on 2009/07/05 07:30:21 add testing results. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/README#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 5 10:08:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 670501065676; Sun, 5 Jul 2009 10:08:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22D75106564A for ; Sun, 5 Jul 2009 10:08:13 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 10C7D8FC12 for ; Sun, 5 Jul 2009 10:08:13 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65A8CLq040987 for ; Sun, 5 Jul 2009 10:08:12 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65A8CV8040985 for perforce@freebsd.org; Sun, 5 Jul 2009 10:08:12 GMT (envelope-from trasz@freebsd.org) Date: Sun, 5 Jul 2009 10:08:12 GMT Message-Id: <200907051008.n65A8CV8040985@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165620 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 10:08:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=165620 Change 165620 by trasz@trasz_victim on 2009/07/05 10:07:20 Fix buildworld. There is userland code that needs to know 'struct proc' layout, and that requires 'struct hrl_usage'. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#18 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#18 (text+ko) ==== @@ -44,8 +44,6 @@ #define HRL_OP_GET_USAGE_GID 4 #define HRL_OP_GET_USAGE_JAILID 5 -#ifdef _KERNEL - /* * 'hrl_rule' describes a single limit configured by the system * administrator or a temporary limit set using setrlimit(2). @@ -113,6 +111,8 @@ int64_t hu_resources[HRL_RESOURCE_MAX + 1]; }; +#ifdef _KERNEL + struct proc; int hrl_alloc(int object, uint64_t amount); From owner-p4-projects@FreeBSD.ORG Sun Jul 5 11:28:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D47851065675; Sun, 5 Jul 2009 11:28:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 816D71065673 for ; Sun, 5 Jul 2009 11:28:41 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6D3878FC0C for ; Sun, 5 Jul 2009 11:28:41 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65BSf2G048143 for ; Sun, 5 Jul 2009 11:28:41 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65BSeGE048141 for perforce@freebsd.org; Sun, 5 Jul 2009 11:28:40 GMT (envelope-from gabor@freebsd.org) Date: Sun, 5 Jul 2009 11:28:40 GMT Message-Id: <200907051128.n65BSeGE048141@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165623 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 11:28:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165623 Change 165623 by gabor@gabor_aspire on 2009/07/05 11:28:35 MFHg: - Enable JIS_X0208, JISX0201-KANA and ISO-IR-165 as independent encodings - Add JIS_X0208 reference table to the regression test so that we can test JIS_X0208 independently, although it is normally used as part of other encodings - Nits in the test cases - UTF-8 nit: use uint8_t instead of int in the tail length lookup table (this saves 3 x 256 bytes supposing int is 32bit) - Improved encodings: CP1046, CP1125, CP1129, CP1162, CP864, CP874, CP922, CP1046, CP1124, CP1125, CP1131, CP1163, CP1258, Georgian-Academy, Georgian-PS, JISX021-KANA, KOI8-RU, MULELAO-1, HP-ROMAN8, TDS565, TCVN5712-1, VISCII - Checked some other encodings and found them ok - Added encodings: MacHebrew - Fix make clean in share/i18n/esdb - Add a bunch of aliases recognized by GNU libiconv Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MuleLao-1.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/NEXTSTEP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/PT154.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ASCII#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ISO-8859-1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RISCOS-LATIN1.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RK1048.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JIS.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JISX0213.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TDS565.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TIS-620.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ASCII#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ISO-8859-1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TranslitFail1.ISO-8859-1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/VISCII.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful.bat#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless.bat#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-subst#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit.bat#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translitfailure#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/gengb18030z.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/genutf8.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/uniq-u.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_iconv.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtol.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtoul.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_aliasname_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtol.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtoul.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_template.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_fix_grouping.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_namespace.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_region.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_template.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_types.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.3#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/netbsdism.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/MAC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/ARMSCII.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/charset.pivot.BIG5.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/mapper.dir.BIG5.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/charset.pivot.CNS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/mapper.dir.CNS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/CP.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/charset.pivot.CP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/mapper.dir.CP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/EBCDIC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/charset.pivot.GB.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/mapper.dir.GB.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/GEORGIAN.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/ISO-8859.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/ISO646.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/charset.pivot.JIS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/mapper.dir.JIS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/charset.pivot.KAZAKH.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/mapper.dir.KAZAKH.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/KOI8.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/charset.pivot.KOI.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/mapper.dir.KOI.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/charset.pivot.KS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/mapper.dir.KS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/charset.pivot.MISC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/mapper.dir.MISC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.inc#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/charset.pivot.TCVN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/mapper.dir.TCVN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/charset.pivot.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/mapper.dir.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII-7.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.variable#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50220.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50221.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50222.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP51932.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP932.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP936.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942C.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943C.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP949.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP950.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DECHanyu.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-CN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JIS-2004.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP-MS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-KR.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-TW.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB12345.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB18030.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GBK.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN-EXT.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2004.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-KR.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/KZ1048.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/PTCP154.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7-switched.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ATARIST.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/C99.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/CTEXT.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HP-ROMAN8.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ8.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JAVA.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JOHAB.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/MULELAO-1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/NEXTSTEP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/RISCOS-LATIN1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS-2004.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/TDS565.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ZW.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.inc#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/TCVN5712-1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VIQR.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VISCII.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/iconv.dir#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/ldef.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/lex.l#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/yacc.y#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/ldef.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/lex.l#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/yacc.y#2 edit Differences ... ==== //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#4 (text+ko) ==== @@ -78,17 +78,17 @@ -$(srcdir)/check-stateless $(srcdir) CP850 -$(srcdir)/check-stateless $(srcdir) CP862 -$(srcdir)/check-stateless $(srcdir) CP866 - -$(srcdir)/check-stateless $(srcdir) CP1131 +# -$(srcdir)/check-stateless $(srcdir) CP1131 # -$(srcdir)/check-stateless $(srcdir) MacRoman # -$(srcdir)/check-stateless $(srcdir) MacCentralEurope # -$(srcdir)/check-stateless $(srcdir) MacIceland # -$(srcdir)/check-stateless $(srcdir) MacCroatian - -$(srcdir)/check-stateless $(srcdir) MacRomania +# -$(srcdir)/check-stateless $(srcdir) MacRomania # -$(srcdir)/check-stateless $(srcdir) MacCyrillic # -$(srcdir)/check-stateless $(srcdir) MacUkraine # -$(srcdir)/check-stateless $(srcdir) MacGreek # -$(srcdir)/check-stateless $(srcdir) MacTurkish - -$(srcdir)/check-stateless $(srcdir) MacHebrew +# -$(srcdir)/check-stateless $(srcdir) MacHebrew -$(srcdir)/check-stateless $(srcdir) MacArabic # -$(srcdir)/check-stateless $(srcdir) MacThai # -$(srcdir)/check-stateless $(srcdir) HP-ROMAN8 @@ -97,11 +97,11 @@ # -$(srcdir)/check-stateless $(srcdir) Georgian-Academy # -$(srcdir)/check-stateless $(srcdir) Georgian-PS # -$(srcdir)/check-stateless $(srcdir) KOI8-T - -$(srcdir)/check-stateless $(srcdir) PT154 - -$(srcdir)/check-stateless $(srcdir) RK1048 +# -$(srcdir)/check-stateless $(srcdir) PT154 +# -$(srcdir)/check-stateless $(srcdir) RK1048 # -$(srcdir)/check-stateless $(srcdir) MuleLao-1 # -$(srcdir)/check-stateless $(srcdir) CP1133 - -$(srcdir)/check-stateless $(srcdir) TIS-620 +# -$(srcdir)/check-stateless $(srcdir) TIS-620 #-$(srcdir)/check-stateless $(srcdir) CP874 -$(srcdir)/check-stateless $(srcdir) VISCII -$(srcdir)/check-stateless $(srcdir) TCVN @@ -109,8 +109,8 @@ # /* CJK character sets */ -$(srcdir)/check-stateless $(srcdir) ISO646-JP -$(srcdir)/check-stateless $(srcdir) JIS_X0201 -# -$(srcdir)/check-stateless $(srcdir) JIS_X0208 # redundant, see EUC-JP -# -$(srcdir)/check-stateless $(srcdir) JIS_X0212 # redundant, see EUC-JP + -$(srcdir)/check-stateless $(srcdir) JIS_X0208 # redundant, see EUC-JP + -$(srcdir)/check-stateless $(srcdir) JIS_X0212 # redundant, see EUC-JP -$(srcdir)/check-stateless $(srcdir) ISO646-CN -$(srcdir)/check-stateless $(srcdir) GB_2312-80 # redundant, see EUC-CN -$(srcdir)/check-stateless $(srcdir) ISO-IR-165 @@ -144,7 +144,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 5 11:48:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2D881065678; Sun, 5 Jul 2009 11:48:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B28C9106564A for ; Sun, 5 Jul 2009 11:48:02 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FC418FC20 for ; Sun, 5 Jul 2009 11:48:02 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65Bm2tQ049552 for ; Sun, 5 Jul 2009 11:48:02 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65Bm2EI049550 for perforce@freebsd.org; Sun, 5 Jul 2009 11:48:02 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 5 Jul 2009 11:48:02 GMT Message-Id: <200907051148.n65Bm2EI049550@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165624 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 11:48:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165624 Change 165624 by pgj@beehive on 2009/07/05 11:47:55 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#7 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#28 integrate .. //depot/projects/docproj_hu/www/en/docproj/translations.sgml#8 integrate .. //depot/projects/docproj_hu/www/en/donations/donors.sgml#18 integrate .. //depot/projects/docproj_hu/www/en/search/search.sgml#4 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#7 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -129,6 +129,11 @@ &pgpkey.obraun; + + &a.makc; + &pgpkey.makc; + + &a.antoine; &pgpkey.antoine; ==== //depot/projects/docproj_hu/www/en/docproj/translations.sgml#8 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -34,23 +34,21 @@

The FreeBSD Brazilian Portuguese Documentation Project

Web: http://doc.fugspbr.org/
+ href="http://doc.fug.com.br/">http://doc.fug.com.br/
-E-Mail: lioux@FreeBSD.org
+E-Mail: ebrandi@fugspbr.org
Mailing lists available
Access the following URL - http://lists.fugspbr.org/listinfo.cgi/doc-fugspbr.org/ + href="https://www.fug.com.br/mailman/listinfo/doc/"> + https://www.fug.com.br/mailman/listinfo/doc/ for instructions on how to subscribe to the Brazilian Portuguese translation group's mailing list.
- Or, send an email to doc-request@fugspbr.org - with the word "subscribe" in the subject of the message.
Posting is allowed for the members at doc@fugspbr.org + href="mailto:doc@fug.com.br">doc@fug.com.br
Documents available
@@ -63,11 +61,7 @@
Documents currently being worked on
-
FreeBSD Documentation - Project Primer for New Contributors
- -
FreeBSD - Handbook
+
FreeBSD Documentation Project Primer for New Contributors
==== //depot/projects/docproj_hu/www/en/donations/donors.sgml#18 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -2593,6 +2593,13 @@ rpaulo Received + + + Alexis Megas <megas@alum.rpi.edu> + Sun Ultra Sparc 60 + glewis + Received + &footer; ==== //depot/projects/docproj_hu/www/en/search/search.sgml#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -24,11 +24,9 @@

List of FreeBSD OpenSearch Plugins

From owner-p4-projects@FreeBSD.ORG Sun Jul 5 11:59:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AB451065674; Sun, 5 Jul 2009 11:59:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE8421065672 for ; Sun, 5 Jul 2009 11:59:14 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA89E8FC12 for ; Sun, 5 Jul 2009 11:59:14 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65BxEpc050296 for ; Sun, 5 Jul 2009 11:59:14 GMT (envelope-from tatsianka@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65BxEke050294 for perforce@freebsd.org; Sun, 5 Jul 2009 11:59:14 GMT (envelope-from tatsianka@FreeBSD.org) Date: Sun, 5 Jul 2009 11:59:14 GMT Message-Id: <200907051159.n65BxEke050294@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tatsianka@FreeBSD.org using -f From: Tatsiana Severyna To: Perforce Change Reviews Cc: Subject: PERFORCE change 165625 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 11:59:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165625 Change 165625 by tatsianka@tatsianka_zonder on 2009/07/05 11:58:51 Fix message park reuse big in puffs_vnop_read and puffs_vnop_write Clean up sources Merge latest changes from NetBSD Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/Makefile#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/callcontext.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/framebuf.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/null.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/opdump.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/paths.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#4 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.h#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cc.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cred.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_flush.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_framebuf.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_node.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_ops.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_path.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_suspend.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffsdump.h#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/subr.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_msgif.c#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_msgif.h#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#6 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_subr.c#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_sys.h#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vfsops.c#6 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vnops.c#6 edit .. //depot/projects/soc2009/tatsianka_puffs/putter/putter.c#4 edit Differences ... ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/Makefile#3 (text+ko) ==== @@ -8,6 +8,6 @@ puffs_suspend.3 INCS= puffs.h puffsdump.h CFLAGS+= -g -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${.CURDIR} -I/usr/src/sbin/mount -#SHLIB_MAJOR= 0 +#SHLIB_MAJOR= 1 .include ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/callcontext.c#3 (text+ko) ==== @@ -81,7 +81,7 @@ pcc->pcc_flags &= ~PCC_BORROWED; /* romanes eunt domus */ - DPRINTF(("puffs_cc_yield: ")); + DPRINTF(("puffs_cc_yield: ")); if ((pcc->pcc_flags & PCC_MLCONT) == 0) { DPRINTF(("no mlcont, pcc %p\n", pcc)); swapcontext(&pcc->pcc_uc, &pcc->pcc_uc_ret); @@ -98,7 +98,7 @@ /* * Internal continue routine. This has slightly different semantics. - * We simply make our cc available in the freelist and jump to the + * We simply make our cc available in the freelist and jump to the * indicated pcc. */ void @@ -311,7 +311,6 @@ { struct puffs_cc *pcc; - printf("puffs__cc_exit\n"); while ((pcc = LIST_FIRST(&pu->pu_ccmagazin)) != NULL) { LIST_REMOVE(pcc, pcc_rope); cc_free(pcc); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/framebuf.c#3 (text+ko) ==== @@ -705,14 +705,14 @@ } continue; } - + puffs__framebuf_moveinfo(pufbuf, appbuf); puffs_framebuf_destroy(pufbuf); } else { appbuf = pufbuf; } appbuf->istat &= ~ISTAT_NODESTROY; - + if (appbuf->pcc) { puffs__cc_cont(appbuf->pcc); } else if (appbuf->fcb) { @@ -1062,7 +1062,6 @@ { struct puffs_fctrl_io *fio; - printf("puffs__framev_exit\n"); while ((fio = LIST_FIRST(&pu->pu_ios)) != NULL) removefio(pu, fio, ENXIO); free(pu->pu_evs); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/null.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: null.c,v 1.25 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: null.c,v 1.27 2009/01/08 02:19:48 lukem Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -27,7 +27,7 @@ #include #if !defined(lint) -__RCSID("$NetBSD: null.c,v 1.25 2008/08/12 19:44:39 pooka Exp $"); +__RCSID("$NetBSD: null.c,v 1.27 2009/01/08 02:19:48 lukem Exp $"); #endif /* !lint */ /* @@ -69,8 +69,8 @@ return errno; /* sloppy */ - if (va->va_atime.tv_sec != (unsigned)PUFFS_VNOVAL - || va->va_mtime.tv_sec != (unsigned)PUFFS_VNOVAL) { + if (va->va_atime.tv_sec != (time_t)PUFFS_VNOVAL + || va->va_mtime.tv_sec != (time_t)PUFFS_VNOVAL) { TIMESPEC_TO_TIMEVAL(&tv[0], &va->va_atime); TIMESPEC_TO_TIMEVAL(&tv[1], &va->va_mtime); @@ -167,6 +167,10 @@ PUFFSOP_SET(pops, puffs_null, fs, statvfs); PUFFSOP_SETFSNOP(pops, unmount); PUFFSOP_SETFSNOP(pops, sync); +#ifdef XXX_TS + PUFFSOP_SET(pops, puffs_null, fs, fhtonode); + PUFFSOP_SET(pops, puffs_null, fs, nodetofh); +#endif PUFFSOP_SET(pops, puffs_null, node, lookup); PUFFSOP_SET(pops, puffs_null, node, create); @@ -198,7 +202,102 @@ return 0; } +#ifdef XXX_TS +/* + * XXX: this is the stupidest crap ever, but: + * getfh() returns the fhandle type, when we are expected to deliver + * the fid type. Just adjust it a bit and stop whining. + * + * Yes, this really really needs fixing. Yes, *REALLY*. + */ +#define FHANDLE_HEADERLEN 8 +struct kernfid { + unsigned short fid_len; /* length of data in bytes */ + unsigned short fid_reserved; /* compat: historic align */ + char fid_data[0]; /* data (variable length) */ +}; + +/*ARGSUSED*/ +static void * +fhcmp(struct puffs_usermount *pu, struct puffs_node *pn, void *arg) +{ + struct kernfid *kf1, *kf2; + + if ((kf1 = pn->pn_data) == NULL) + return NULL; + kf2 = arg; + + if (kf1->fid_len != kf2->fid_len) + return NULL; + + /*LINTED*/ + if (memcmp(kf1, kf2, kf1->fid_len) == 0) + return pn; + return NULL; +} + +/* + * This routine only supports file handles which have been issued while + * the server was alive. Not really stable ones, that is. + */ +/*ARGSUSED*/ int +puffs_null_fs_fhtonode(struct puffs_usermount *pu, void *fid, size_t fidsize, + struct puffs_newinfo *pni) +{ + struct puffs_node *pn_res; + + pn_res = puffs_pn_nodewalk(pu, fhcmp, fid); + if (pn_res == NULL) + return ENOENT; + + puffs_newinfo_setcookie(pni, pn_res); + puffs_newinfo_setvtype(pni, pn_res->pn_va.va_type); + puffs_newinfo_setsize(pni, (off_t)pn_res->pn_va.va_size); + puffs_newinfo_setrdev(pni, pn_res->pn_va.va_rdev); + return 0; +} + +/*ARGSUSED*/ +int +puffs_null_fs_nodetofh(struct puffs_usermount *pu, puffs_cookie_t opc, + void *fid, size_t *fidsize) +{ + struct puffs_node *pn = opc; + struct kernfid *kfid; + void *bounce; + int rv; + + rv = 0; + bounce = NULL; + if (*fidsize) { + bounce = malloc(*fidsize + FHANDLE_HEADERLEN); + if (!bounce) + return ENOMEM; + *fidsize += FHANDLE_HEADERLEN; + } + if (getfh(PNPATH(pn), bounce, fidsize) == -1) + rv = errno; + else + memcpy(fid, (uint8_t *)bounce + FHANDLE_HEADERLEN, + *fidsize - FHANDLE_HEADERLEN); + kfid = fid; + if (rv == 0) { + *fidsize = kfid->fid_len; + pn->pn_data = malloc(*fidsize); + if (pn->pn_data == NULL) + abort(); /* lazy */ + memcpy(pn->pn_data, fid, *fidsize); + } else { + *fidsize -= FHANDLE_HEADERLEN; + } + free(bounce); + + return rv; +} +#endif + +int puffs_null_node_lookup(struct puffs_usermount *pu, puffs_cookie_t opc, struct puffs_newinfo *pni, const struct puffs_cn *pcn) { @@ -470,6 +569,7 @@ off_t i; int rv; + *ncookies = 0; dp = opendir(PNPATH(pn)); if (dp == NULL) return errno; @@ -492,8 +592,10 @@ if (rv != 0) goto out; - if (!result) + if (!result) { + *eofflag = 1; goto out; + } if (_DIRENT_SIZE(result) > *reslen) goto out; @@ -503,6 +605,7 @@ de = _DIRENT_NEXT(de); (*off)++; + PUFFS_STORE_DCOOKIE(cookies, ncookies, *off); } out: ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/opdump.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: opdump.c,v 1.24 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: opdump.c,v 1.27 2009/04/06 20:47:17 pooka Exp $ */ /* * Copyright (c) 2005, 2006 Antti Kantee. All Rights Reserved. @@ -35,12 +35,13 @@ #include #if !defined(lint) -__RCSID("$NetBSD: opdump.c,v 1.24 2008/08/12 19:44:39 pooka Exp $"); +__RCSID("$NetBSD: opdump.c,v 1.27 2009/04/06 20:47:17 pooka Exp $"); #endif /* !lint */ #include #include +#include #include #include #include @@ -166,9 +167,9 @@ break; } - printf("\treqid: %ju, opclass %d%s, optype: %s, " + printf("\treqid: %" PRIu64 ", opclass %d%s, optype: %s, " "cookie: %p,\n\t\taux: %p, auxlen: %zu, pid: %d, lwpid: %d\n", - (intmax_t) preq->preq_id, PUFFSOP_OPCLASS(preq->preq_opclass), + preq->preq_id, PUFFSOP_OPCLASS(preq->preq_opclass), PUFFSOP_WANTREPLY(preq->preq_opclass) ? "" : " (FAF)", map[preq->preq_optype], preq->preq_cookie, preq->preq_buf, preq->preq_buflen, @@ -191,15 +192,19 @@ case PUFFS_VN_LINK: puffsdump_targ(preq); break; + case PUFFS_VN_READDIR: + puffsdump_readdir(preq); + break; default: break; } } - + PU_LOCK(); gettimeofday(&tv_now, NULL); timersub(&tv_now, &tv_prev, &tv); - printf("\t\tsince previous call: %ld.%06ld\n", tv.tv_sec, tv.tv_usec); + printf("\t\tsince previous call: %lld.%06ld\n", + (long long)tv.tv_sec, (long)tv.tv_usec); gettimeofday(&tv_prev, NULL); PU_UNLOCK(); } @@ -208,10 +213,6 @@ puffsdump_rv(struct puffs_req *preq) { - printf("\tRV reqid: %ju, result: %d %s\n", - (intmax_t) preq->preq_id, preq->preq_rv, - preq->preq_rv ? strerror(preq->preq_rv) : ""); - if (PUFFSOP_OPCLASS(preq->preq_opclass) == PUFFSOP_VN) { switch (preq->preq_optype) { case PUFFS_VN_LOOKUP: @@ -227,16 +228,23 @@ case PUFFS_VN_WRITE: puffsdump_readwrite_rv(preq); break; + case PUFFS_VN_READDIR: + puffsdump_readdir_rv(preq); + break; default: break; } } + + printf("\tRV reqid: %" PRIu64 ", result: %d %s\n", + preq->preq_id, preq->preq_rv, + preq->preq_rv ? strerror(preq->preq_rv) : ""); } void puffsdump_cookie(puffs_cookie_t c, const char *cookiename) { - + printf("\t%scookie: at %p\n", cookiename, c); } @@ -273,9 +281,9 @@ { struct puffs_vnmsg_lookup *lookup_msg = (void *)preq; - printf("\t\tnew node %p, type 0x%x,\n\t\tsize 0x%ju, dev 0x%x\n", + printf("\t\tnew node %p, type 0x%x,\n\t\tsize 0x%"PRIu64", dev 0x%llx\n", lookup_msg->pvnr_newnode, lookup_msg->pvnr_vtype, - (intmax_t) lookup_msg->pvnr_size, lookup_msg->pvnr_rdev); + lookup_msg->pvnr_size, (unsigned long long)lookup_msg->pvnr_rdev); } void @@ -292,8 +300,8 @@ { struct puffs_vnmsg_rw *rw_msg = (void *)preq; - printf("\t\toffset: %jd, resid %zu, ioflag 0x%x\n", - (intmax_t) rw_msg->pvnr_offset, rw_msg->pvnr_resid, rw_msg->pvnr_ioflag); + printf("\t\toffset: %" PRId64 ", resid %zu, ioflag 0x%x\n", + rw_msg->pvnr_offset, rw_msg->pvnr_resid, rw_msg->pvnr_ioflag); } void @@ -305,6 +313,15 @@ } void +puffsdump_readdir_rv(struct puffs_req *preq) +{ + struct puffs_vnmsg_readdir *readdir_msg = (void *)preq; + + printf("\t\tresid after op: %zu, eofflag %d\n", + readdir_msg->pvnr_resid, readdir_msg->pvnr_eofflag); +} + +void puffsdump_open(struct puffs_req *preq) { struct puffs_vnmsg_open *open_msg = (void *)preq; @@ -321,6 +338,14 @@ } void +puffsdump_readdir(struct puffs_req *preq) +{ + struct puffs_vnmsg_readdir *readdir_msg = (void *)preq; + + printf("\t\tread offset: %" PRId64 "\n", readdir_msg->pvnr_offset); +} + +void /*ARGSUSED*/ puffsdump_creds(struct puffs_cred *pcr) { ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/paths.c#2 (text+ko) ==== @@ -254,7 +254,7 @@ if (isdotdot) { char *slash; /* sweet char of mine */ - + slash = strrchr(po_pre->po_path, '/'); assert(slash != NULL); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs.3,v 1.42 2008/09/06 12:39:49 pooka Exp $ +.\" $NetBSD: puffs.3,v 1.46 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2006, 2007, 2008 Antti Kantee. All rights reserved. .\" @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 6, 2008 +.Dd December 12, 2008 .Dt PUFFS 3 .Os .Sh NAME @@ -62,6 +62,8 @@ .Ft void * .Fn puffs_getspecific "struct puffs_usermount *pu" .Ft void +.Fn puffs_setspecific "struct puffs_usermount *pu" "void *private" +.Ft void .Fn puffs_setmaxreqlen "struct puffs_usermount *pu" "size_t maxreqlen" .Ft size_t .Fn puffs_getmaxreqlen "struct puffs_usermount *pu" @@ -85,17 +87,8 @@ .Fa "struct puffs_cc **pccp" .Fc .Ft int -.Fn puffs_dispatch_exec .Fa "struct puffs_cc *pcc" "struct puffs_framebuf **pbp" +.Fn puffs_dispatch_exec "struct puffs_cc *pcc" "struct puffs_framebuf **pbp" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp .Nm provides a framework for creating file systems as userspace servers. Operations are transported from the kernel virtual file system layer @@ -307,6 +300,9 @@ .Fa private argument of .Fn puffs_init . +.It Fn puffs_setspecific "pu" "private" +Can be used to set the specific data after the call to +.Fn puffs_init . .It Fn puffs_setmaxreqlen "pu" "maxreqlen" In case the file system desires a maximum buffer length different from the default, the amount @@ -430,6 +426,9 @@ .Fn puffs_mount and the foreground process does not exit before the file system mount call has returned from the kernel. +Since this routine internally calls fork, it has to be called +.Em before +.Fn puffs_mount . .It Fn puffs_mainloop pu flags Handle all requests automatically until the file system is unmounted. It returns 0 if the file system was successfully unmounted or \-1 if it @@ -540,7 +539,7 @@ .Nm first appeared in .Nx 4.0 . +A stable version appeared in +.Nx 5.0 . .Sh AUTHORS .An Antti Kantee Aq pooka@iki.fi -.Sh BUGS -Under construction. ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: puffs.c,v 1.92 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: puffs.c,v 1.98 2009/01/08 02:28:08 lukem Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -31,7 +31,7 @@ #include #if !defined(lint) -__RCSID("$NetBSD: puffs.c,v 1.92 2008/08/12 19:44:39 pooka Exp $"); +__RCSID("$NetBSD: puffs.c,v 1.98 2009/01/08 02:28:08 lukem Exp $"); #endif /* !lint */ #include @@ -193,13 +193,13 @@ psize = sysconf(_SC_PAGESIZE); minsize = 4*psize; - if (ss < minsize || ss == PUFFS_STACKSIZE_MIN) { + if (ss < (size_t)minsize || ss == PUFFS_STACKSIZE_MIN) { if (ss != PUFFS_STACKSIZE_MIN) fprintf(stderr, "puffs_setstacksize: adjusting " "stacksize to minimum %ld\n", minsize); ss = 4*psize; } - + stackshift = -1; bonus = 0; while (ss) { @@ -269,6 +269,13 @@ return pu->pu_privdata; } +void +puffs_setspecific(struct puffs_usermount *pu, void *privdata) +{ + + pu->pu_privdata = privdata; +} + size_t puffs_getmaxreqlen(struct puffs_usermount *pu) { @@ -403,7 +410,7 @@ int puffs_daemon(struct puffs_usermount *pu, int nochdir, int noclose) { - ssize_t n; + long int n; int parent, value, fd; if (pipe(pu->pu_dpipe) == -1) @@ -422,10 +429,12 @@ pu->pu_state |= PU_PUFFSDAEMON; if (parent) { + close(pu->pu_dpipe[1]); n = read(pu->pu_dpipe[0], &value, sizeof(int)); if (n == -1) err(1, "puffs_daemon"); - assert(n == sizeof(value)); + if (n != sizeof(value)) + errx(1, "puffs_daemon got %ld bytes", n); if (value) { errno = value; err(1, "puffs_daemon"); @@ -457,13 +466,24 @@ return -1; } +static void +shutdaemon(struct puffs_usermount *pu, int error) +{ + ssize_t n; + + n = write(pu->pu_dpipe[1], &error, sizeof(int)); + assert(n == 4); + close(pu->pu_dpipe[0]); + close(pu->pu_dpipe[1]); + pu->pu_state &= ~PU_PUFFSDAEMON; +} + int puffs_mount(struct puffs_usermount *pu, const char *dir, int mntflags, puffs_cookie_t cookie) { struct iovec iov[6]; char rp[MAXPATHLEN]; - ssize_t n; int rv, fd, sverrno; char *comfd; @@ -508,14 +528,14 @@ rv = -1; goto out; } - + len = strlen(dir)+1; #define allwrite(buf, len) \ do { \ ssize_t al_rv; \ al_rv = write(pu->pu_fd, buf, len); \ - if (al_rv != len) { \ + if ((size_t)al_rv != len) { \ if (al_rv != -1) \ errno = EIO; \ rv = -1; \ @@ -575,15 +595,10 @@ free(pu->pu_kargp); pu->pu_kargp = NULL; - if (pu->pu_state & PU_PUFFSDAEMON) { - n = write(pu->pu_dpipe[1], &sverrno, sizeof(int)); - assert(n == 4); - close(pu->pu_dpipe[0]); - close(pu->pu_dpipe[1]); - } + if (pu->pu_state & PU_PUFFSDAEMON) + shutdaemon(pu, sverrno); errno = sverrno; - printf("%s: mount return %d\n", __func__, rv); return rv; } @@ -668,6 +683,15 @@ return NULL; } +void +puffs_cancel(struct puffs_usermount *pu, int error) +{ + + assert(puffs_getstate(pu) < PUFFS_STATE_RUNNING); + shutdaemon(pu, error); + free(pu); +} + /* * XXX: there's currently no clean way to request unmount from * within the user server, so be very brutal about it. @@ -678,8 +702,8 @@ { struct puffs_node *pn; - printf("puffs_exit: enter\n"); force = 1; /* currently */ + assert((pu->pu_state & PU_PUFFSDAEMON) == 0); if (pu->pu_fd) close(pu->pu_fd); @@ -693,7 +717,6 @@ if (pu->pu_state & PU_HASKQ) close(pu->pu_kq); free(pu); - printf("puffs_exit: done\n"); return 0; /* always succesful for now, WILL CHANGE */ } ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: puffs.h,v 1.108 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: puffs.h,v 1.110 2008/12/12 19:45:16 pooka Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -423,6 +423,7 @@ const char *, void *, uint32_t); int puffs_mount(struct puffs_usermount *, const char *, int, void*); int puffs_exit(struct puffs_usermount *, int); +void puffs_cancel(struct puffs_usermount *, int); int puffs_mainloop(struct puffs_usermount *); int puffs_daemon(struct puffs_usermount *, int, int); @@ -442,6 +443,7 @@ enum vtype, size_t, dev_t); void *puffs_getspecific(struct puffs_usermount *); +void puffs_setspecific(struct puffs_usermount *, void *); void puffs_setmaxreqlen(struct puffs_usermount *, size_t); size_t puffs_getmaxreqlen(struct puffs_usermount *); void puffs_setfhsize(struct puffs_usermount *, size_t, int); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cc.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_cc.3,v 1.12 2008/05/25 19:38:21 wiz Exp $ +.\" $NetBSD: puffs_cc.3,v 1.14 2009/04/11 16:48:53 wiz Exp $ .\" .\" Copyright (c) 2007, 2008 Antti Kantee. All rights reserved. .\" @@ -42,15 +42,6 @@ .Ft struct puffs_cc * .Fn puffs_cc_getcc "struct puffs_usermount *pu" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp These routines are used for the cooperative multitasking suite present in puffs. .Pp @@ -92,7 +83,8 @@ This cookie should be hooked to the .Va pcc so that the correct continuation can be continued when the event it -was waiting for triggers. Alternatively, the +was waiting for triggers. +Alternatively, the .Xr puffs_framebuf 3 framework and .Fn puffs_mainloop ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cred.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_cred.3,v 1.3 2007/12/01 19:18:50 wiz Exp $ +.\" $NetBSD: puffs_cred.3,v 1.5 2009/04/11 15:36:22 joerg Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -34,7 +34,7 @@ .Sh SYNOPSIS .In puffs.h .Ft int -.Fn puffs_cred_getuid "const struct puffs_cred *pcr" "uid_t *uid +.Fn puffs_cred_getuid "const struct puffs_cred *pcr" "uid_t *uid" .Ft int .Fn puffs_cred_getgid "const struct puffs_cred *pcr" "gid_t *gid" .Ft int @@ -74,15 +74,6 @@ .Fa "const struct puffs_cred *pcr" .Fc .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp These functions can be used to check operation credentials and perform access control. The structure ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_flush.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_flush.3,v 1.7 2008/08/12 19:44:39 pooka Exp $ +.\" $NetBSD: puffs_flush.3,v 1.8 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -58,15 +58,6 @@ .Fa "off_t end" .Fc .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp These routines are used inform the kernel that any information it might have cached is no longer valid. .Fn puffs_inval_namecache_dir ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_framebuf.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_framebuf.3,v 1.25 2008/09/06 15:43:27 wiz Exp $ +.\" $NetBSD: puffs_framebuf.3,v 1.26 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -151,13 +151,6 @@ .Fa "struct puffs_usermount *pu" "int fd" "int what" .Fc .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -.Pp The .Nm routines provide buffering and an event loop structured around the ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_node.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_node.3,v 1.3 2007/12/01 19:18:50 wiz Exp $ +.\" $NetBSD: puffs_node.3,v 1.5 2009/05/13 22:42:31 wiz Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -48,21 +48,6 @@ .Ft void .Fn puffs_pn_put "struct puffs_node *pn" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp -.Em MORE IMPORTANT STUFF! -It should especially be noted, that it is yet completely unsure, how -much of the internals contents of -.Vt struct puffs_node -will be exposed to file systems in the end. -.Pp .Bl -tag -width xxxx .It Fn puffs_pn_new pu priv Create a new node and attach it to the mountpoint @@ -111,7 +96,6 @@ .Ar pn . This is typically called from .Fn puffs_node_reclaim . -.Pp .El .Sh SEE ALSO .Xr puffs 3 ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_ops.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_ops.3,v 1.21 2008/08/12 19:44:39 pooka Exp $ +.\" $NetBSD: puffs_ops.3,v 1.25 2009/04/11 16:48:53 wiz Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -35,7 +35,7 @@ .In puffs.h .Ft int .Fo puffs_fs_statvfs -.Fa "struct puffs_usermount *pu" "struct statvfs *sbp" +.Fa "struct puffs_usermount *pu" "struct statfs *sbp" .Fc .Ft int .Fo puffs_fs_sync @@ -48,7 +48,7 @@ .Fc .Ft int .Fo puffs_fs_nodetofh -.Fa "struct puffs_usermount *pu" "puffs_cooie_t cookie" "void *fid" +.Fa "struct puffs_usermount *pu" "puffs_cookie_t cookie" "void *fid" .Fa "size_t *fidsize" .Fc .Ft void @@ -194,15 +194,6 @@ .Ft void .Fn puffs_newinfo_setrdev "struct puffs_newinfo *pni" "dev_t rdev" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp The operations .Nm puffs requires to function can be divided into two categories: file system @@ -572,7 +563,7 @@ and .Fa pcn_targ , respectively. -.B If +.Em If the target node already exists, it is specified by .Fa targ and must be replaced atomically. @@ -707,8 +698,8 @@ .Dv PUFFS_IO_APPEND is specified, the data should be appended to the end of the file. .It Fn puffs_node_print "pu" "opc" -Print information about node. This is used only for kernel-initiated -diagnostic purposes. +Print information about node. +This is used only for kernel-initiated diagnostic purposes. .It Fn puffs_node_reclaim "pu" "opc" The kernel will no longer reference the cookie and resources associated with it may be freed. ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_path.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_path.3,v 1.3 2007/12/27 18:50:42 pooka Exp $ +.\" $NetBSD: puffs_path.3,v 1.4 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -59,15 +59,6 @@ .Ft struct puffs_pathobj * .Fn puffs_getrootpathobj "struct puffs_usermount *pu" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp The puffs library has the ability to provide full pathnames for backends which require them. Normal file systems should be constructed without the file system ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_suspend.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_suspend.3,v 1.2 2007/01/28 07:58:05 wiz Exp $ +.\" $NetBSD: puffs_suspend.3,v 1.3 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -36,15 +36,6 @@ .Ft int .Fn puffs_fs_suspend "struct puffs_usermount *pu" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp The function .Fn puffs_fs_suspend requests the kernel to suspend operations to the file system indicated by @@ -92,4 +83,3 @@ .Pp File system data and metadata are not always totally correctly synchronized at suspend. -This will be fixed soon. ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffsdump.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: puffsdump.h,v 1.10 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: puffsdump.h,v 1.12 2009/04/06 20:47:17 pooka Exp $ */ /* * Copyright (c) 2006 Antti Kantee. All Rights Reserved. @@ -41,6 +41,8 @@ void puffsdump_readwrite(struct puffs_req *); void puffsdump_readwrite_rv(struct puffs_req *); +void puffsdump_readdir(struct puffs_req *); +void puffsdump_readdir_rv(struct puffs_req *); void puffsdump_lookup(struct puffs_req *); void puffsdump_lookup_rv(struct puffs_req *); void puffsdump_create_rv(struct puffs_req *); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/subr.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: subr.c,v 1.23 2008/08/12 19:44:39 pooka Exp $ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 5 12:02:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 740C4106579A; Sun, 5 Jul 2009 12:02:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B119B1065786 for ; Sun, 5 Jul 2009 12:02:20 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 501888FC30 for ; Sun, 5 Jul 2009 12:02:18 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65C2Iu5050538 for ; Sun, 5 Jul 2009 12:02:18 GMT (envelope-from tatsianka@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65C2ISf050536 for perforce@freebsd.org; Sun, 5 Jul 2009 12:02:18 GMT (envelope-from tatsianka@FreeBSD.org) Date: Sun, 5 Jul 2009 12:02:18 GMT Message-Id: <200907051202.n65C2ISf050536@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tatsianka@FreeBSD.org using -f From: Tatsiana Severyna To: Perforce Change Reviews Cc: Subject: PERFORCE change 165626 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 12:02:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=165626 Change 165626 by tatsianka@tatsianka_zonder on 2009/07/05 12:01:42 Import mount_psshfs sources from NetBSD Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/Makefile#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/fs.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/mount_psshfs.8#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/node.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psbuf.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psshfs.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psshfs.h#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/sftp_proto.h#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/subr.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 5 12:07:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D4A21065679; Sun, 5 Jul 2009 12:07:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 108021065676 for ; Sun, 5 Jul 2009 12:07:24 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F0C978FC0C for ; Sun, 5 Jul 2009 12:07:23 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65C7Nso051866 for ; Sun, 5 Jul 2009 12:07:23 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65C7NHY051864 for perforce@freebsd.org; Sun, 5 Jul 2009 12:07:23 GMT (envelope-from trasz@freebsd.org) Date: Sun, 5 Jul 2009 12:07:23 GMT Message-Id: <200907051207.n65C7NHY051864@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165627 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 12:07:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165627 Change 165627 by trasz@trasz_victim on 2009/07/05 12:07:15 Add a tunable to disable per-group resource usage accounting, since it will probably be a reason for a major slowdown. Disable it by default, since it doesn't work. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#24 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#14 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#12 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#24 (text+ko) ==== @@ -52,6 +52,9 @@ #define HRF_DONT_INHERIT 1 #define HRF_DONT_ACCUMULATE 2 +int hrl_group_accounting = 0; +TUNABLE_INT("kern.hrl_group_accounting", &hrl_group_accounting); +SYSCTL_INT(_kern, OID_AUTO, hrl_group_accounting, CTLFLAG_RD, &hrl_group_accounting, 0, ""); struct hrl_node { struct hrl_rule hn_rule; @@ -174,9 +177,11 @@ KASSERT(cred->cr_ruidinfo->ui_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) KASSERT(pr->pr_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); - for (i = 0; i < cred->cr_ngroups; i++) { - for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) - KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) + KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); + } } #endif } @@ -291,18 +296,20 @@ /* * XXX: Slow. */ - for (i = 0; i < cred->cr_ngroups; i++) { - /* - * Make sure we don't account a group more than once if it appears - * in cr_groups[] more than once. - */ - for (j = 0; j < i; j++) { - if (cred->cr_groups[i] == cred->cr_groups[j]) - goto skip_group; + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += amount; +skip_group: + continue; } - cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += amount; -skip_group: - continue; } #ifdef INVARIANTS hrl_assert_proc(p); @@ -350,18 +357,20 @@ /* * XXX: Slow. */ - for (i = 0; i < cred->cr_ngroups; i++) { - /* - * Make sure we don't account a group more than once if it appears - * in cr_groups[] more than once. - */ - for (j = 0; j < i; j++) { - if (cred->cr_groups[i] == cred->cr_groups[j]) - goto skip_group; + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += diff; +skip_group: + continue; } - cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += diff; -skip_group: - continue; } #ifdef INVARIANTS hrl_assert_proc(p); @@ -401,18 +410,20 @@ /* * XXX: Slow. */ - for (i = 0; i < cred->cr_ngroups; i++) { - /* - * Make sure we don't account a group more than once if it appears - * in cr_groups[] more than once. - */ - for (j = 0; j < i; j++) { - if (cred->cr_groups[i] == cred->cr_groups[j]) - goto skip_group; + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] -= amount; +skip_group: + continue; } - cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] -= amount; -skip_group: - continue; } #ifdef INVARIANTS hrl_assert_proc(p); @@ -900,6 +911,9 @@ id_t gid; struct gidinfo *gip; + if (!hrl_group_accounting) + return (EOPNOTSUPP); + error = str2id(inputstr, &gid); if (error) return (error); ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#14 (text+ko) ==== @@ -79,6 +79,8 @@ #include #include +extern int hrl_group_accounting; + static MALLOC_DEFINE(M_CRED, "cred", "credentials"); SYSCTL_NODE(_security, OID_AUTO, bsd, CTLFLAG_RW, 0, "BSD security policy"); @@ -824,8 +826,11 @@ { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; +#if 0 struct gidinfo *gidinfos[NGROUPS], *oldgidinfos[NGROUPS]; - int i, error, oldngroups = 0; + int i, oldngroups = 0; +#endif + int error; if (ngrp > NGROUPS) return (EINVAL); @@ -856,9 +861,11 @@ * have the egid in the groups[0]). We risk security holes * when running non-BSD software if we do not do the same. */ +#if 0 oldngroups = newcred->cr_ngroups - 1; for (i = 0; i < oldngroups; i++) oldgidinfos[i] = newcred->cr_gidinfos[i + 1]; +#endif newcred->cr_ngroups = 1; } else { crsetgroups_locked(newcred, ngrp, groups); @@ -875,23 +882,31 @@ setsugid(p); change_cred(p, newcred); PROC_UNLOCK(p); +#if 0 for (i = 0; i < oldngroups; i++) gifree(oldgidinfos[i]); +#endif /* Don't free gidinfos[]. */ crfree(oldcred); +#if 0 for (i = 0; i < newcred->cr_ngroups; i++) KASSERT(newcred->cr_gidinfos[i]->gi_gid == newcred->cr_groups[i], ("Whoops.")); +#endif return (0); fail: PROC_UNLOCK(p); +#if 0 for (i = 0; i < oldngroups; i++) gifree(oldgidinfos[i]); for (i = 0; i < ngrp; i++) gifree(gidinfos[i]); +#endif crfree(newcred); +#if 0 for (i = 0; i < newcred->cr_ngroups; i++) KASSERT(newcred->cr_gidinfos[i]->gi_gid == newcred->cr_groups[i], ("Whoops.")); +#endif return (error); } @@ -1878,8 +1893,10 @@ uifree(cr->cr_uidinfo); if (cr->cr_ruidinfo != NULL) uifree(cr->cr_ruidinfo); - for (i = 0; i < cr->cr_ngroups; i++) - gifree(cr->cr_gidinfos[i]); + if (hrl_group_accounting) { + for (i = 0; i < cr->cr_ngroups; i++) + gifree(cr->cr_gidinfos[i]); + } /* * Free a prison, if any. */ @@ -1926,8 +1943,10 @@ crsetgroups(dest, src->cr_ngroups, src->cr_groups); uihold(dest->cr_uidinfo); uihold(dest->cr_ruidinfo); - for (i = 0; i < dest->cr_ngroups; i++) - gihold(dest->cr_gidinfos[i]); + if (hrl_group_accounting) { + for (i = 0; i < dest->cr_ngroups; i++) + gihold(dest->cr_gidinfos[i]); + } prison_hold(dest->cr_prison); #ifdef VIMAGE KASSERT(src->cr_vimage != NULL, ("cr_vimage == NULL")); @@ -2205,10 +2224,12 @@ /* * Fix up per-group resource consumption. */ - for (i = 0; i < p->p_ucred->cr_ngroups; i++) - hrl_usage_subtract(&p->p_ucred->cr_gidinfos[i]->gi_usage, &p->p_usage); - for (i = 0; i < newcred->cr_ngroups; i++) - hrl_usage_add(&newcred->cr_gidinfos[i]->gi_usage, &p->p_usage); + if (hrl_group_accounting) { + for (i = 0; i < p->p_ucred->cr_ngroups; i++) + hrl_usage_subtract(&p->p_ucred->cr_gidinfos[i]->gi_usage, &p->p_usage); + for (i = 0; i < newcred->cr_ngroups; i++) + hrl_usage_add(&newcred->cr_gidinfos[i]->gi_usage, &p->p_usage); + } p->p_ucred = newcred; } @@ -2240,9 +2261,11 @@ { newcred->cr_groups[0] = egip->gi_gid; - gihold(egip); - gifree(newcred->cr_gidinfos[0]); - newcred->cr_gidinfos[0] = egip; + if (hrl_group_accounting) { + gihold(egip); + gifree(newcred->cr_gidinfos[0]); + newcred->cr_gidinfos[0] = egip; + } } /*- ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#12 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Jul 5 14:52:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 074551065672; Sun, 5 Jul 2009 14:52:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD7AC106566C for ; Sun, 5 Jul 2009 14:52:24 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B4A78FC14 for ; Sun, 5 Jul 2009 14:52:24 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65EqOSM075694 for ; Sun, 5 Jul 2009 14:52:24 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65EqOVa075692 for perforce@freebsd.org; Sun, 5 Jul 2009 14:52:24 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 5 Jul 2009 14:52:24 GMT Message-Id: <200907051452.n65EqOVa075692@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165631 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 14:52:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=165631 Change 165631 by pgj@beehive on 2009/07/05 14:52:22 MFen (doc): 1.7 -> 1.8 hu_HU.ISO8859-2/articles/linux-users/article.sgml 1.46 -> 1.47 hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#12 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml#8 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#12 (text+ko) ==== @@ -3,7 +3,7 @@ %SOURCE% en_US.ISO8859-1/books/handbook/vinum/chapter.sgml - %SRCID% 1.46 + %SRCID% 1.47 --> @@ -94,9 +94,10 @@ vinum.ko-ról geom_vinum.ko-ra változott és a megfelelõ eszközleírók a - /dev/vinum könyvtár helyett a - /dev/gvinum könyvtárban - találhatóak. A &os; 6. + /dev/vinum + könyvtár helyett a /dev/gvinum + könyvtárban találhatóak. A &os; 6. verziójától pedig a régi Vinum implementáció többé már nem is része az alaprendszernek. @@ -541,8 +542,9 @@ Hogyan szervezzük az ereket? - A &os; &rel.current; verziójában két - fajta erezési megoldást találhatunk: + A &os; &rel.current; verziójában + két fajta erezési megoldást + találhatunk: @@ -994,13 +996,13 @@ akár 64 karakteresek is lehetnek, a meghajtók nevei pedig 32 karakteresek. - A Vinum objektumai a /dev/gvinum - könyvtáron belüli hierarchiában - helyezkednek el eszközleírókként. Az - imént említett - példakonfiguráció hatására a - következõ eszközleírók jönnek - létre: + A Vinum objektumai a /dev/gvinum könyvtáron + belüli hierarchiában helyezkednek el + eszközleírókként. Az imént + említett példakonfiguráció + hatására a következõ + eszközleírók jönnek létre: @@ -1009,9 +1011,10 @@ implementációjára vonatkozik. - A /dev/vinum/control és - /dev/vinum/controld nevû - vezérlõeszközök, melyeket a + A /dev/vinum/control és + /dev/vinum/controld + nevû vezérlõeszközök, melyeket a &man.gvinum.8; és a Vinum démon használ. @@ -1021,11 +1024,12 @@ tartozik. Ezek a Vinum számára a központi eszközök, ezért az elõbbi konfiguráció révén megjelennek a - /dev/gvinum/myvol, - /dev/gvinum/mirror, - /dev/gvinum/striped, - /dev/gvinum/raid5 és - /dev/gvinum/raid10 + /dev/gvinum/myvol, + /dev/gvinum/mirror, + /dev/gvinum/striped, + /dev/gvinum/raid5 + és /dev/gvinum/raid10 eszközök. @@ -1036,7 +1040,8 @@ Az egyes meghajtókhoz tartozó - leírók a /dev/vinum/drive + leírók a /dev/vinum/drive könyvtárban találhatóak. Ezek valójában szimbolikus linkek a megfelelõ lemezes eszközökre. @@ -1044,16 +1049,17 @@ Minden kötethez közvetlen leírók - tartoznak /dev/gvinum/ + tartoznak /dev/gvinum könyvtárban. Az egyes erek és allemezek eszközleírói a - /dev/gvinum/plex és - /dev/gvinum/sd könyvtárakban - jelennek meg. + /dev/gvinum/plex + és /dev/gvinum/sd + könyvtárakban jelennek meg. @@ -1075,7 +1081,8 @@ Az állomány feldolgozása után az eszközleírókat a &man.gvinum.8; az alábbi módon szervezi a - /dev/gvinum könyvtárban: + /dev/gvinum + könyvtárban: drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex @@ -1118,16 +1125,17 @@ Vinum-kötetek nevének utolsó betûit egy partíció azonosítójaként értelmezni. Például egy lemezes - meghajtó neve /dev/ad0a vagy - /dev/da2h alakú. Az elõbbi az - elsõ (0) IDE lemez elsõ (a) - partícióját, míg az utóbbi a - harmadik (2) SCSI lemez nyolcadik (h) - partícióját jelöli. Ezzel szemben - azonban a Vinum-kötetek neve - /dev/gvinum/concat alakú lesz, ahol - a név semmilyen kapcsolatban nem áll a - partíció nevével. + meghajtó neve /dev/ad0a vagy /dev/da2h alakú. Az + elõbbi az elsõ (0) IDE lemez elsõ + (a) partícióját, + míg az utóbbi a harmadik (2) SCSI lemez nyolcadik + (h) partícióját + jelöli. Ezzel szemben azonban a Vinum-kötetek neve + /dev/gvinum/concat + alakú lesz, ahol a név semmilyen kapcsolatban nem + áll a partíció nevével. Hétköznapi esetben a &man.newfs.8; megpróbálja a lemez nevét @@ -1148,10 +1156,9 @@ parancsnak a régi elnevezési séma használata mellett még át kell adni egy -v kapcsolót is: + + &prompt.root; newfs -v /dev/vinum/concat - - &prompt.root; newfs -v /dev/vinum/concat - @@ -1642,7 +1649,7 @@ Drive disk1 (/dev/da1h) at offset 135680 (132 kB) - Itt (a /dev/da0h + Itt (a /dev/da0h partícióhoz képesti) 135680-as eltoltás értékekre kell figyelnünk. Ez @@ -1653,7 +1660,7 @@ 245 760 darab 512 byte-os blokk lesz. A rendszerindító kötet másodpéldányát tartalmazó - /dev/da1h ugyanilyen + /dev/da1h ugyanilyen beállításokkal rendelkezik. Az említett eszközök valahogy így From owner-p4-projects@FreeBSD.ORG Sun Jul 5 15:06:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0B771065672; Sun, 5 Jul 2009 15:06:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B10AF106564A for ; Sun, 5 Jul 2009 15:06:40 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9F1608FC16 for ; Sun, 5 Jul 2009 15:06:40 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65F6eor077730 for ; Sun, 5 Jul 2009 15:06:40 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65F6eaV077728 for perforce@freebsd.org; Sun, 5 Jul 2009 15:06:40 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 5 Jul 2009 15:06:40 GMT Message-Id: <200907051506.n65F6eaV077728@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165633 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 15:06:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=165633 Change 165633 by pgj@beehive on 2009/07/05 15:05:56 MFen (www): 1.115 -> 1.116 hu/search/search.sgml Affected files ... .. //depot/projects/docproj_hu/www/hu/search/search.sgml#18 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/search/search.sgml#18 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -28,11 +28,9 @@

A &os; OpenSearch bõvítmények listája

From owner-p4-projects@FreeBSD.ORG Sun Jul 5 15:07:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 152261065673; Sun, 5 Jul 2009 15:07:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9A441065670 for ; Sun, 5 Jul 2009 15:07:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9DE688FC18 for ; Sun, 5 Jul 2009 15:07:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65F7f4s077797 for ; Sun, 5 Jul 2009 15:07:41 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65F7fwL077795 for perforce@freebsd.org; Sun, 5 Jul 2009 15:07:41 GMT (envelope-from trasz@freebsd.org) Date: Sun, 5 Jul 2009 15:07:41 GMT Message-Id: <200907051507.n65F7fwL077795@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165634 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 15:07:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=165634 Change 165634 by trasz@trasz_victim on 2009/07/05 15:07:21 Update TODO. Affected files ... .. //depot/projects/soc2009/trasz_limits/TODO#4 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/TODO#4 (text+ko) ==== @@ -8,6 +8,10 @@ - Some things need to be accounted for per-euid, and some per-egid. Geez. + - Add sorting to hrl(8). + + - Add resolving numeric IDs into names to hrl(8). + Limits to do: From owner-p4-projects@FreeBSD.ORG Sun Jul 5 15:13:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B791E1065675; Sun, 5 Jul 2009 15:13:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 775B71065673 for ; Sun, 5 Jul 2009 15:13:48 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 65EAE8FC16 for ; Sun, 5 Jul 2009 15:13:48 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65FDmEG078303 for ; Sun, 5 Jul 2009 15:13:48 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65FDmXI078301 for perforce@freebsd.org; Sun, 5 Jul 2009 15:13:48 GMT (envelope-from mav@freebsd.org) Date: Sun, 5 Jul 2009 15:13:48 GMT Message-Id: <200907051513.n65FDmXI078301@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165635 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 15:13:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165635 Change 165635 by mav@mav_mavbook on 2009/07/05 15:13:04 Fix user-level build. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#12 (text+ko) ==== @@ -41,6 +41,9 @@ #include #include #include +#ifndef min +#define min(a,b) (((a)<(b))?(a):(b)) +#endif #endif #include @@ -50,6 +53,7 @@ #include #include #include +#include int ata_version(int ver) @@ -183,7 +187,7 @@ u_int16_t *ptr = (u_int16_t*)(buf + len); while (--ptr >= (u_int16_t*)buf) - *ptr = ntohs(*ptr); + *ptr = be16toh(*ptr); } void From owner-p4-projects@FreeBSD.ORG Sun Jul 5 16:01:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 538731065673; Sun, 5 Jul 2009 16:01:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 136FE106566C for ; Sun, 5 Jul 2009 16:01:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01C748FC17 for ; Sun, 5 Jul 2009 16:01:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65G14WM081830 for ; Sun, 5 Jul 2009 16:01:04 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65G14aR081828 for perforce@freebsd.org; Sun, 5 Jul 2009 16:01:04 GMT (envelope-from trasz@freebsd.org) Date: Sun, 5 Jul 2009 16:01:04 GMT Message-Id: <200907051601.n65G14aR081828@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165639 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 16:01:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=165639 Change 165639 by trasz@trasz_victim on 2009/07/05 16:00:16 Make the kernel just a little more bootable. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#25 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#13 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#19 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#25 (text+ko) ==== @@ -86,6 +86,8 @@ { "filedescriptors", HRL_RESOURCE_FILEDESCRIPTORS }, { "sbsize", HRL_RESOURCE_SBSIZE }, { "vmemoryuse", HRL_RESOURCE_VMEMORYUSE }, + { "pty", HRL_RESOURCE_PTY }, + { "swap", HRL_RESOURCE_SWAP }, { NULL, -1 }}; struct dict actionnames[] = { ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#13 (text+ko) ==== @@ -707,8 +707,13 @@ subject = HRL_SUBJECT_USER; id = td->td_ucred->cr_uid; break; + case RLIMIT_SWAP: + resource = HRL_RESOURCE_SWAP; + subject = HRL_SUBJECT_USER; + id = td->td_ucred->cr_uid; + break; default: - panic("hrl_handle_setrlimit: unknown limit"); + panic("hrl_handle_setrlimit: unknown limit %d", which); } if (lim->rlim_cur != RLIM_INFINITY) { ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#19 (text+ko) ==== @@ -87,7 +87,8 @@ #define HRL_RESOURCE_SBSIZE 0x000a #define HRL_RESOURCE_VMEMORYUSE 0x000b #define HRL_RESOURCE_PTY 0x000c -#define HRL_RESOURCE_MAX HRL_RESOURCE_PTY +#define HRL_RESOURCE_SWAP 0x000d +#define HRL_RESOURCE_MAX HRL_RESOURCE_SWAP #define HRL_ACTION_UNDEFINED 0x0000 #define HRL_ACTION_DENY 0x0001 From owner-p4-projects@FreeBSD.ORG Sun Jul 5 19:22:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 859711065673; Sun, 5 Jul 2009 19:22:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42A0D106564A for ; Sun, 5 Jul 2009 19:22:46 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 30E2E8FC0A for ; Sun, 5 Jul 2009 19:22:46 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65JMkWc010807 for ; Sun, 5 Jul 2009 19:22:46 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65JMk1E010805 for perforce@freebsd.org; Sun, 5 Jul 2009 19:22:46 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 5 Jul 2009 19:22:46 GMT Message-Id: <200907051922.n65JMk1E010805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165652 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 19:22:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=165652 Change 165652 by syl@syl_atuin on 2009/07/05 19:22:31 Update test3 to show how many mb have been written. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#8 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#8 (text+ko) ==== @@ -97,12 +97,6 @@ } } - - if (csw.bCSWStatus != 0) { - printf("command (0x%02x) cursig=0x%08x failed\n", pcmd[0], cursig); - } else { - printf("command (0x%02x) cursig=0x%08x success\n", pcmd[0], cursig); - } } void @@ -133,6 +127,7 @@ int found = 0; int ret; int i; + int j; printf("this test read bytes of a memory stick\n"); if (libusb_init(&ctx) != 0) { @@ -190,11 +185,25 @@ do_msc_req(read_capacity, sizeof(read_capacity), 0x8); sranddev(); + j = 0; + printf("%iM", j); for (size = 0 ; ;) { random = rand() % 1024; do_read(random, 0x10000); size+=0x10000; - printf("read sector : 0x%x total read 0x%x\n", random, size); + if ((size % 0x100000) == 0) { + j++; + if (j < 10) + printf("\b\b%i", j); + else if (j < 100) + printf("\b\b\b%i", j); + else + printf("\b\b\b\b%i", j); + if (j==10 || j == 100) + printf("M"); + fflush(stdout); + } } + printf("\n"); return (EXIT_SUCCESS); } From owner-p4-projects@FreeBSD.ORG Sun Jul 5 19:47:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A44C91065673; Sun, 5 Jul 2009 19:47:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6176E1065672 for ; Sun, 5 Jul 2009 19:47:13 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 34BA58FC17 for ; Sun, 5 Jul 2009 19:47:13 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65JlCV8012572 for ; Sun, 5 Jul 2009 19:47:12 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65JlC9E012570 for perforce@freebsd.org; Sun, 5 Jul 2009 19:47:12 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 5 Jul 2009 19:47:12 GMT Message-Id: <200907051947.n65JlC9E012570@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165653 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 19:47:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165653 Change 165653 by syl@syl_atuin on 2009/07/05 19:46:41 Replace a malloc by alloca. Remove a possible uninitialized return value in libusb_get_buffsize. Remove 2 possible NULL dereference. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#57 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#19 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#23 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#57 (text+ko) ==== @@ -889,11 +889,10 @@ case LIBUSB20_SPEED_FULL: ret = 64; break ; - case LIBUSB20_SPEED_HIGH: + default: ret = 64; break ; } - /*add */ ret += 8; break ; default : ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#19 (text+ko) ==== ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#23 (text+ko) ==== @@ -254,7 +254,7 @@ TAILQ_FOREACH(ipollfd, &ctx->pollfds, list) nfds++; - fds = malloc(sizeof(*fds) * nfds); + fds = alloca(sizeof(*fds) * nfds); if (fds == NULL) return (LIBUSB_ERROR_NO_MEM); @@ -274,16 +274,12 @@ timeout++; ret = poll(fds, nfds, timeout); - if (ret == 0) { - free(fds); + if (ret == 0) return (handle_timeouts(ctx)); - } else if (ret == -1 && errno == EINTR) { - free(fds); + else if (ret == -1 && errno == EINTR) return (LIBUSB_ERROR_INTERRUPTED); - } else if (ret < 0) { - free(fds); + else if (ret < 0) return (LIBUSB_ERROR_IO); - } if (fds[0].revents) { if (ret == 1){ @@ -296,7 +292,7 @@ } pthread_mutex_lock(&ctx->open_devs_lock); - for (i = 0 ; i < nfds && ret > 0 ; i++) { + for (i = 0, devh = NULL ; i < nfds && ret > 0 ; i++) { tfds = &fds[i]; if (!tfds->revents) @@ -310,14 +306,16 @@ if (tfds->revents & POLLERR) { usb_remove_pollfd(ctx, libusb20_dev_get_fd(devh->os_priv)); - usb_handle_disconnect(devh); + if (devh != NULL) + usb_handle_disconnect(devh); continue ; } pthread_mutex_lock(&libusb20_lock); DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS"); - ret = libusb20_dev_process(devh->os_priv); + if (devh != NULL) + ret = libusb20_dev_process(devh->os_priv); pthread_mutex_unlock(&libusb20_lock); @@ -332,7 +330,6 @@ pthread_mutex_unlock(&ctx->open_devs_lock); handled: - free(fds); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events leave"); return ret; } From owner-p4-projects@FreeBSD.ORG Sun Jul 5 22:53:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 878761065676; Sun, 5 Jul 2009 22:53:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3FFE01065670 for ; Sun, 5 Jul 2009 22:53:49 +0000 (UTC) (envelope-from peter@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2ADE28FC15 for ; Sun, 5 Jul 2009 22:53:49 +0000 (UTC) (envelope-from peter@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65MrnMp041293 for ; Sun, 5 Jul 2009 22:53:49 GMT (envelope-from peter@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65Mraap041280 for perforce@freebsd.org; Sun, 5 Jul 2009 22:53:36 GMT (envelope-from peter@wemm.org) Date: Sun, 5 Jul 2009 22:53:36 GMT Message-Id: <200907052253.n65Mraap041280@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 165658 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 22:53:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=165658 Change 165658 by peter@peter_overcee on 2009/07/05 22:53:05 IFC @165657 Affected files ... .. //depot/projects/hammer/MAINTAINERS#51 integrate .. //depot/projects/hammer/Makefile.inc1#146 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#68 integrate .. //depot/projects/hammer/UPDATING#133 integrate .. //depot/projects/hammer/bin/chflags/chflags.c#10 integrate .. //depot/projects/hammer/bin/chmod/chmod.c#8 integrate .. //depot/projects/hammer/bin/df/df.1#14 integrate .. //depot/projects/hammer/bin/df/df.c#26 integrate .. //depot/projects/hammer/bin/hostname/hostname.c#6 integrate .. //depot/projects/hammer/bin/sh/eval.c#20 integrate .. //depot/projects/hammer/bin/sh/eval.h#5 integrate .. //depot/projects/hammer/bin/sh/exec.c#12 integrate .. //depot/projects/hammer/bin/sh/expand.c#16 integrate .. //depot/projects/hammer/bin/sh/histedit.c#8 integrate .. //depot/projects/hammer/bin/sh/input.c#6 integrate .. //depot/projects/hammer/bin/sh/input.h#3 integrate .. //depot/projects/hammer/bin/sh/main.c#8 integrate .. //depot/projects/hammer/bin/sh/miscbltin.c#12 integrate .. //depot/projects/hammer/bin/sh/output.c#6 integrate .. //depot/projects/hammer/bin/sh/parser.c#16 integrate .. //depot/projects/hammer/bin/sh/redir.c#6 integrate .. //depot/projects/hammer/bin/sh/sh.1#32 integrate .. //depot/projects/hammer/bin/sh/trap.c#9 integrate .. //depot/projects/hammer/bin/sh/trap.h#3 integrate .. //depot/projects/hammer/bin/sh/var.c#16 integrate .. //depot/projects/hammer/contrib/bind9/CHANGES#16 integrate .. //depot/projects/hammer/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkzone.c#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.8#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.c#9 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssectool.c#5 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM-book.xml#12 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch06.html#11 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch07.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch08.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch09.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dig.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keygen.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-signzone.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.host.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkconf.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkzone.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc-confgen.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.conf.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.html#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/bind9/api#9 integrate .. //depot/projects/hammer/contrib/bind9/lib/bind9/check.c#11 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/api#13 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dnssec.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/dnssec.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/keyvalues.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/resolver.c#13 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/hammer/contrib/bind9/version#16 integrate .. //depot/projects/hammer/contrib/csup/rcsfile.c#3 integrate .. //depot/projects/hammer/contrib/gdb/gdb/stack.c#3 integrate .. //depot/projects/hammer/contrib/ipfilter/tools/ipfcomp.c#5 integrate .. //depot/projects/hammer/contrib/ntp/ntpd/ntp_crypto.c#6 integrate .. //depot/projects/hammer/contrib/tcsh/sh.func.c#5 integrate .. //depot/projects/hammer/contrib/tcsh/tcsh.man#5 integrate .. //depot/projects/hammer/crypto/openssh/config.h#16 integrate .. //depot/projects/hammer/crypto/openssh/ssh_namespace.h#5 integrate .. //depot/projects/hammer/crypto/openssl/CHANGES#8 integrate .. //depot/projects/hammer/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head#2 delete .. //depot/projects/hammer/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head_FIPS#2 delete .. //depot/projects/hammer/crypto/openssl/Configure#8 integrate .. //depot/projects/hammer/crypto/openssl/FAQ#8 integrate .. //depot/projects/hammer/crypto/openssl/INSTALL#6 integrate .. //depot/projects/hammer/crypto/openssl/LICENSE#6 integrate .. //depot/projects/hammer/crypto/openssl/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/Makefile.org#7 integrate .. //depot/projects/hammer/crypto/openssl/Makefile.shared#2 integrate .. //depot/projects/hammer/crypto/openssl/NEWS#8 integrate .. //depot/projects/hammer/crypto/openssl/README#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/apps.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/apps.h#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/asn1pars.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/ca.c#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/cms.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/crl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/dgst.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/dsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/ec.c#3 integrate .. //depot/projects/hammer/crypto/openssl/apps/enc.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/engine.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/gendsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/genpkey.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/genrsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/md4.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/nseq.c#3 integrate .. //depot/projects/hammer/crypto/openssl/apps/ocsp.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/openssl.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkcs12.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkcs8.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkey.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/pkeyparam.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/pkeyutl.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/progs.h#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/progs.pl#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/rand.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/req.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/rsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/rsautl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_apps.h#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_cb.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_client.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_server.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/smime.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/speed.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/spkac.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/ts.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/tsget#1 branch .. //depot/projects/hammer/crypto/openssl/apps/version.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/x509.c#8 integrate .. //depot/projects/hammer/crypto/openssl/certs/README.RootCerts#1 branch .. //depot/projects/hammer/crypto/openssl/certs/RegTP-5R.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/RegTP-6R.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aol1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aol2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aoltw1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aoltw2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/argena.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/argeng.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/nortelCA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/timCA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/tjhCA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/vsigntca.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng3.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng4.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng5.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/ICE-CA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/ICE-root.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/ICE-user.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/RegTP-4R.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/factory.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/rsa-cca.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/rsa-ssca.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/vsign2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/vsign3.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/thawteCb.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/thawteCp.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/vsign1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/vsign3.pem#3 delete .. //depot/projects/hammer/crypto/openssl/certs/vsignss.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/wellsfgo.pem#2 delete .. //depot/projects/hammer/crypto/openssl/config#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_cbc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_core.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_ige.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_wrap.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_x86core.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-586.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-armv4.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-ia64.S#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-ppc.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-s390x.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_bytes.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_mbstr.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_object.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_sign.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_strex.c#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_strnid.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_type.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_verify.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/ameth_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_gen.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_locl.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_par.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1t.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn_mime.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn_moid.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn_pack.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/bio_asn1.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/bio_ndef.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/nsseq.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/p5_pbe.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/p5_pbev2.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/p8_pkey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_bitst.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_crl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_req.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_spki.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_x509.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_x509a.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_dec.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_enc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_fre.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_new.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_prn.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_typ.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_utl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_algor.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_bignum.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_crl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_exten.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_long.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_name.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_nx509.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_x509a.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bf/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bf/bf_skey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bf/blowfish.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/b_print.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/b_sock.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bio.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_bio.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_dgram.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_file.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_mem.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_sock.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/alpha-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/armv4-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ia64.S#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/mips3-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/mo-586.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc64-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/s390x-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/s390x.S#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/via-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/x86-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/x86_64-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_blind.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_div.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_exp.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_gcd.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_gf2m.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_lcl.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_mont.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_mul.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_nist.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_opt.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_prime.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_prime.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_prime.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_rand.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_shift.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_x931p.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/bntest.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/buffer/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/buffer/buf_str.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/buffer/buffer.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/asm/cmll-x86.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/camellia/camellia.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/cmll_misc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/c_skey.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/cast.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cms/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_asn1.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_att.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_cd.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_dd.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_enc.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_env.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_ess.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_io.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_lcl.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_sd.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_smime.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/comp/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/c_zlib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/comp.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/comp_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_api.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_mall.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_mod.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_sap.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cryptlib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cryptlib.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/crypto.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/asm/des_enc.m4#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des_enc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/des/des_old.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des_old.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/ecb_enc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/enc_read.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/enc_writ.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/set_key.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/times/usparc.cc#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/xcbc_enc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_asn1.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_check.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_gen.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_key.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_asn1.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_gen.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_key.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_ossl.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_sign.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_utl.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_vrf.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dso/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dyn_lck.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/ec/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec_err.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec_key.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec_mult.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ectest.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdh/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdh/ecdhtest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/ecdsatest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/ecs_ossl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_all.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_cnf.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_err.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_int.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_padlock.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_pkey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_table.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/engine.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/enginetest.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_all.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_bio.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/err/err_def.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/err/err_prn.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_str.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/err/openssl.ec#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/bio_md.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/c_allc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/dig_eng.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/digest.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_aes.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_camellia.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_des.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_des3.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_null.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_rc4.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_seed.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/enc_min.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_acnf.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_cnf.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_enc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_locl.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_pbe.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_pkey.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evptests.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_dss.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_dss1.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_md2.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_md4.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_md5.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_mdc2.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_sha.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_sha1.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/names.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p5_crpt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p5_crpt2.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p_sign.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p_verify.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ex_data.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/fips_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/fips_err.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/hmac/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/hmac/hmac.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/hmac/hmac.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/idea/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/idea/i_skey.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/idea/idea.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/jpake/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpake.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpake.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpake_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpaketest.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/krb5/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/lhash/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md2/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md2/md2.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md2/md2_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md32_common.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4_locl.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-586.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-sparcv9.S#4 delete .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-x86_64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5_locl.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mdc2/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mdc2/mdc2.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mdc2/mdc2dgst.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mem.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mem_clr.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mem_dbg.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/o_init.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/o_str.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_mac.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_mac.num#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/objects.txt#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_asn.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_err.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_ht.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_srv.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_vfy.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslconf.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslconf.h.in#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslv.h#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ossl_typ.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_all.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_info.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_x509.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_xaux.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86_64-xlate.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86ms.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86nasm.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86unix.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_add.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_asn.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_attr.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_crpt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_crt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_decr.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_init.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_key.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_kiss.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_mutl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_npas.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_p8d.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_p8e.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_utl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/pkcs12.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_asn1.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_attr.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_mime.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_smime.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ppccpuid.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/pqueue/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pqueue/pq_compat.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/md_rand.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_eng.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_lcl.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_nw.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_unix.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/randfile.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc2/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc2/rc2.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc2/rc2_skey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/asm/rc4-586.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/asm/rc4-ia64.S#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/rc4.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/rc4_fblk.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/rc4/rc4_skey.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc5/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc5/rc5.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc5/rc5_skey.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/README#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/asm/rmd-586.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/ripemd.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/rmd_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/rmd_locl.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/rmdtest.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_asn1.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_eay.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_eng.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_gen.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_null.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_oaep.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_pss.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_sign.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_ssl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_test.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_x931.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_x931g.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/s390xcpuid.S#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_cbc.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_cfb.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_ecb.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_locl.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_ofb.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/sha/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha1-586.pl#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha1-ia64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha512-ia64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha1_one.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha1dgst.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha1test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha256.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha512.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha_locl.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/shatest.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sparcv9cap.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/stack/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/stack/safestack.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/store/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/store/str_lib.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/symhacks.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/txt_db/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/ui_lib.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/ui_openssl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/by_dir.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_att.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_cmp.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_trs.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_txt.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vfy.c#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vpm.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509cset.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509spki.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/ext_dat.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_cache.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_data.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_int.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_lib.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_map.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_node.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_tree.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/tabtest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_addr.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_akey.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_akeya.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_alt.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_asid.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_bcons.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_bitst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_conf.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_cpols.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_crld.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_enum.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_extku.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_genn.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ia5.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_info.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_int.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ncons.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ocsp.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pci.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pcons.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pku.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pmaps.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_prn.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_purp.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_skey.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_sxnet.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_utl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3conf.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3prin.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/x509v3.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x86_64cpuid.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x86cpuid.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/asn1/ocsp.c#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/engines/zencod/hw_zencod_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/jpake/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/demos/jpake/jpakedemo.c#1 branch .. //depot/projects/hammer/crypto/openssl/doc/apps/ciphers.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/dgst.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/enc.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/ocsp.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/openssl.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/rand.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/rsautl.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/s_client.pod#7 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/s_server.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/verify.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/x509.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/c-indentation.el#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/DH_set_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/DSA_set_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/OPENSSL_ia32cap.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RAND_bytes.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RAND_egd.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RAND_set_rand_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RSA_set_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/X509_NAME_print_ex.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/des_modes.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/engine.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_SESSION_free.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_free.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_read.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssleay.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/standards.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/e_os.h#6 integrate .. //depot/projects/hammer/crypto/openssl/engines/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_4758cca_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_aep.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_aep_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_atalla_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_capi.c#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_capi.ec#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_capi_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_capi_err.h#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_chil.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_chil_err.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_chil_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_cswift_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_gmp.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_gmp_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_nuron_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_sureware_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_ubsec.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_ubsec_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/aes/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/aes/fips_aes_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/aes/fips_aesavs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/des/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/des/fips_des_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/des/fips_desmovs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/dh_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_check.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_key.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_key.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_ossl.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_sign.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dssvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips-nodiff.txt#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_canister.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_locl.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_premain.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_premain.c.sha1#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_test_suite.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_utl.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fipsalgtest.pl#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fipsld#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fipstests.sh#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmac.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmac_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmactest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/mkfipsscr.pl#1 branch .. //depot/projects/hammer/crypto/openssl/fips/openssl_fips_fingerprint#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_randtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rngvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_eay.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_sign.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_x931g.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsagtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsastest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsavtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_sha1_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_shatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_standalone_sha1.c#1 branch .. //depot/projects/hammer/crypto/openssl/openssl.spec#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_both.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_clnt.c#2 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_enc.c#2 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_lib.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_pkt.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_srvr.c#2 integrate .. //depot/projects/hammer/crypto/openssl/ssl/dtls1.h#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/kssl.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s23_clnt.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s23_srvr.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s2_clnt.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s2_srvr.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_clnt.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_enc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_pkt.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_srvr.c#10 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl.h#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl3.h#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_algs.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_asn1.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_cert.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_ciph.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_lib.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_locl.h#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_rsa.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_sess.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_stat.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_txt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssltest.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_enc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_lib.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/tls1.h#4 integrate .. //depot/projects/hammer/crypto/openssl/test/CAss.cnf#3 integrate .. //depot/projects/hammer/crypto/openssl/test/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/test/SHAmix.r#1 branch .. //depot/projects/hammer/crypto/openssl/test/SHAmix.x#1 branch .. //depot/projects/hammer/crypto/openssl/test/Uss.cnf#3 integrate .. //depot/projects/hammer/crypto/openssl/test/bftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/bntest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/casttest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/cms-examples.pl#1 branch .. //depot/projects/hammer/crypto/openssl/test/cms-test.pl#1 branch .. //depot/projects/hammer/crypto/openssl/test/destest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/dhtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/dsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ecdhtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ecdsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ectest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/enginetest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/evp_test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/evptests.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/test/exptest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_aesavs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_desmovs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_dsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_dssvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_hmactest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_randtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rngvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rsagtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rsastest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rsavtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_shatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_test_suite.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/hmactest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ideatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/igetest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/test/jpaketest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/md2test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/md4test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/md5test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/mdc2test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/randtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rc2test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rc4test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rc5test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rmdtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rsa_test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/sha1test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/sha256t.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/sha512t.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/shatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/smcont.txt#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsa1.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsa2.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsa3.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsap.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smroot.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smrsa1.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smrsa2.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smrsa3.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/ssltest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/testfipsssl#3 branch .. //depot/projects/hammer/crypto/openssl/test/times#2 integrate .. //depot/projects/hammer/crypto/openssl/util/arx.pl#1 branch .. //depot/projects/hammer/crypto/openssl/util/clean-depend.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/util/copy.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/util/domd#5 integrate .. //depot/projects/hammer/crypto/openssl/util/fipslink.pl#1 branch .. //depot/projects/hammer/crypto/openssl/util/libeay.num#7 integrate .. //depot/projects/hammer/crypto/openssl/util/mk1mf.pl#8 integrate .. //depot/projects/hammer/crypto/openssl/util/mkdef.pl#8 integrate .. //depot/projects/hammer/crypto/openssl/util/mkerr.pl#7 integrate .. //depot/projects/hammer/crypto/openssl/util/mkfiles.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/util/mklink.pl#4 integrate .. //depot/projects/hammer/crypto/openssl/util/mksdef.pl#1 branch .. //depot/projects/hammer/crypto/openssl/util/opensslwrap.sh#2 integrate .. //depot/projects/hammer/crypto/openssl/util/pl/VC-32.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/util/pl/netware.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/util/shlib_wrap.sh#2 integrate .. //depot/projects/hammer/crypto/openssl/util/ssleay.num#5 integrate .. //depot/projects/hammer/etc/Makefile#68 integrate .. //depot/projects/hammer/etc/crontab#3 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#97 integrate .. //depot/projects/hammer/etc/etc.amd64/ttys#10 integrate .. //depot/projects/hammer/etc/etc.arm/ttys#8 integrate .. //depot/projects/hammer/etc/etc.i386/ttys#8 integrate .. //depot/projects/hammer/etc/etc.ia64/ttys#9 integrate .. //depot/projects/hammer/etc/etc.mips/ttys#5 integrate .. //depot/projects/hammer/etc/etc.powerpc/ttys#9 integrate .. //depot/projects/hammer/etc/etc.sparc64/ttys#16 integrate .. //depot/projects/hammer/etc/login.conf#6 integrate .. //depot/projects/hammer/etc/mtree/BSD.local.dist#29 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#44 integrate .. //depot/projects/hammer/etc/network.subr#29 integrate .. //depot/projects/hammer/etc/ntp.conf#1 branch .. //depot/projects/hammer/etc/rc.d/Makefile#66 integrate .. //depot/projects/hammer/etc/rc.d/NETWORKING#16 integrate .. //depot/projects/hammer/etc/rc.d/fsck#10 integrate .. //depot/projects/hammer/etc/rc.d/ipfw#19 integrate .. //depot/projects/hammer/etc/rc.d/jail#28 integrate .. //depot/projects/hammer/etc/rc.d/mountd#13 integrate .. //depot/projects/hammer/etc/rc.d/netif#27 integrate .. //depot/projects/hammer/etc/rc.d/nfscbd#1 branch .. //depot/projects/hammer/etc/rc.d/nfsd#11 integrate .. //depot/projects/hammer/etc/rc.d/nfsuserd#1 branch .. //depot/projects/hammer/etc/rc.d/pf#17 integrate .. //depot/projects/hammer/etc/rc.d/pflog#12 integrate .. //depot/projects/hammer/etc/rc.d/pfsync#5 integrate .. //depot/projects/hammer/etc/syslog.conf#10 integrate .. //depot/projects/hammer/etc/termcap.small#3 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#87 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes-o.real#10 integrate .. //depot/projects/hammer/gnu/lib/libgcc/Makefile#21 integrate .. //depot/projects/hammer/gnu/lib/libgcov/Makefile#6 integrate .. //depot/projects/hammer/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/cc_tools/freebsd-native.h#11 integrate .. //depot/projects/hammer/gnu/usr.bin/groff/tmac/mdoc.local#34 integrate .. //depot/projects/hammer/gnu/usr.bin/man/apropos/apropos.sh#3 integrate .. //depot/projects/hammer/include/rpc/svc_dg.h#2 integrate .. //depot/projects/hammer/include/stdio.h#19 integrate .. //depot/projects/hammer/include/unistd.h#30 integrate .. //depot/projects/hammer/kerberos5/include/config.h#11 integrate .. //depot/projects/hammer/kerberos5/lib/libroken/Makefile#7 integrate .. //depot/projects/hammer/lib/Makefile#77 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.c#28 integrate .. //depot/projects/hammer/lib/libc/Makefile#33 integrate .. //depot/projects/hammer/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/arm/string/strncmp.S#4 integrate .. //depot/projects/hammer/lib/libc/db/btree/bt_split.c#8 integrate .. //depot/projects/hammer/lib/libc/db/mpool/mpool.c#7 integrate .. //depot/projects/hammer/lib/libc/gen/Symbol.map#15 integrate .. //depot/projects/hammer/lib/libc/gen/fmtcheck.c#6 integrate .. //depot/projects/hammer/lib/libc/gen/initgroups.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/initgroups.c#4 integrate .. //depot/projects/hammer/lib/libc/gen/msgctl.3#6 integrate .. //depot/projects/hammer/lib/libc/gen/semctl.c#4 integrate .. //depot/projects/hammer/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/hammer/lib/libc/i386/stdlib/abs.S#4 delete .. //depot/projects/hammer/lib/libc/i386/stdlib/div.S#5 integrate .. //depot/projects/hammer/lib/libc/i386/stdlib/labs.S#4 delete .. //depot/projects/hammer/lib/libc/i386/stdlib/ldiv.S#4 integrate .. //depot/projects/hammer/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/include/compat.h#1 branch .. //depot/projects/hammer/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/posix1e/Makefile.inc#14 integrate .. //depot/projects/hammer/lib/libc/posix1e/Symbol.map#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_add_perm.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_calc_mask.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_copy.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_create_entry.3#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_entry.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_entry.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_entry.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_from_text.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get.c#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_set.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set.c#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_set_tag_type.3#6 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_support.c#6 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support.h#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text.3#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_valid.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/auth_unix.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/getnetconfig.c#9 integrate .. //depot/projects/hammer/lib/libc/rpc/netname.c#3 integrate .. //depot/projects/hammer/lib/libc/rpc/netnamer.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_dg.c#7 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_generic.c#6 integrate .. //depot/projects/hammer/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/stdlib/Makefile.inc#20 integrate .. //depot/projects/hammer/lib/libc/stdtime/localtime.c#12 integrate .. //depot/projects/hammer/lib/libc/stdtime/strftime.c#7 integrate .. //depot/projects/hammer/lib/libc/stdtime/strptime.c#8 integrate .. //depot/projects/hammer/lib/libc/sys/Makefile.inc#38 integrate .. //depot/projects/hammer/lib/libc/sys/Symbol.map#17 integrate .. //depot/projects/hammer/lib/libc/sys/close.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/closefrom.2#1 branch .. //depot/projects/hammer/lib/libc/sys/execve.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/getgroups.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/getrlimit.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/getsockopt.2#14 integrate .. //depot/projects/hammer/lib/libc/sys/jail.2#13 integrate .. //depot/projects/hammer/lib/libc/sys/pathconf.2#9 integrate .. //depot/projects/hammer/lib/libc/sys/revoke.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/semctl.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/setgroups.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/shmctl.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/stack_protector.c#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 5 23:38:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D37321065675; Sun, 5 Jul 2009 23:38:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 934B7106564A for ; Sun, 5 Jul 2009 23:38:38 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7F3F28FC08 for ; Sun, 5 Jul 2009 23:38:38 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n65Ncc7f045647 for ; Sun, 5 Jul 2009 23:38:38 GMT (envelope-from antab@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n65NcccH045645 for perforce@freebsd.org; Sun, 5 Jul 2009 23:38:38 GMT (envelope-from antab@FreeBSD.org) Date: Sun, 5 Jul 2009 23:38:38 GMT Message-Id: <200907052338.n65NcccH045645@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to antab@FreeBSD.org using -f From: Arnar Mar Sig To: Perforce Change Reviews Cc: Subject: PERFORCE change 165661 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jul 2009 23:38:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=165661 Change 165661 by antab@antab_farm on 2009/07/05 23:37:54 * Add fault handling to copyin/out, fu- and su-byte/word * Add sigcode Affected files ... .. //depot/projects/avr32/src/sys/avr32/avr32/genassym.c#5 edit .. //depot/projects/avr32/src/sys/avr32/avr32/pmap.c#21 edit .. //depot/projects/avr32/src/sys/avr32/avr32/support.S#13 edit .. //depot/projects/avr32/src/sys/avr32/avr32/switch.S#15 edit .. //depot/projects/avr32/src/sys/avr32/avr32/trap.c#13 edit .. //depot/projects/avr32/src/sys/avr32/include/asm.h#8 edit .. //depot/projects/avr32/src/sys/avr32/include/pcb.h#6 edit Differences ... ==== //depot/projects/avr32/src/sys/avr32/avr32/genassym.c#5 (text+ko) ==== @@ -36,6 +36,8 @@ #include #include #include +#include +#include ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); @@ -49,3 +51,9 @@ ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); + +ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); +ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); + +ASSYM(VM_MAXUSER_ADDRESS,VM_MAXUSER_ADDRESS); + ==== //depot/projects/avr32/src/sys/avr32/avr32/pmap.c#21 (text+ko) ==== @@ -319,6 +319,7 @@ PMAP_LOCK(pmap); + pte = pmap_pte(pmap, va); if (wired && ((*pte & PTE_WIRED) == 0)) { pmap->pm_stats.wired_count++; } @@ -1331,8 +1332,6 @@ pmap_align_superpage(vm_object_t object, vm_ooffset_t offset, vm_offset_t *addr, vm_size_t size) { - // Not sure what to do here, unimplemented in ARM - avr32_debug("pmap_align_superpage: Needs implementing?\n"); } /* ==== //depot/projects/avr32/src/sys/avr32/avr32/support.S#13 (text+ko) ==== @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD: $"); .data - .globl intrcnt, eintrcnt intrcnt: .space IRQ_COUNT * 4 @@ -48,6 +47,9 @@ eintrnames: .text +curpcb: + .word _C_LABEL(__pcpu) + PC_CURPCB + /* * memcpy/bcopy and bzero use byte access, this is slow and needs rewriting * later on @@ -129,23 +131,24 @@ * r10: unsigned len; */ ENTRY(copyin) + /** + * r9: Temp for user/kernel memory split + * r8: Temp for from + len + */ stm --sp, r7,lr /* Create call frame */ mov r7, sp /* Set framepointer */ + PCB_SET_ONFAULT(copy_fault_addr) - lddpc r9, copyin_split /* Load max userspace address */ - cp.w r9, r12 /* Is to address within user space ? */ - brge copyin_fault /* No */ + add r8, r12, r10 /* from + len */ + lddpc r9, copy_split /* Load max userspace address */ + cp.w r9, r8 /* Is to address within user space ? */ + brge copy_fault /* No */ call bcopy /* bcopy does all the work */ + + PCB_CLEAR_ONFAULT() mov r12, 0 /* Return 0 */ ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyin_fault: - mov r12, EFAULT - ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyin_split: - .long 0x80000000 /* Max userspace address */ END(copyin) /** @@ -156,28 +159,26 @@ * r10: unsigned len; */ ENTRY(copyout) + /** + * r9: Temp for user/kernel memory split + * r8: Temp for to + len + */ stm --sp, r7,lr /* Create call frame */ mov r7, sp /* Set framepointer */ + PCB_SET_ONFAULT(copy_fault_addr) - lddpc r9, copyout_split /* Load max userspace address */ - cp.w r9, r11 /* Is to address within user space ? */ - brge copyout_fault /* No */ + add r8, r11, r10 /* to + len */ + lddpc r9, copy_split /* Load max userspace address */ + cp.w r9, r8 /* Is to address within user space ? */ + brge copy_fault /* No */ call bcopy /* bcopy does all the work */ + + PCB_CLEAR_ONFAULT() mov r12, 0 /* Return 0 */ ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyout_fault: - mov r12, EFAULT - ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyout_split: - .long 0x80000000 /* Max userspace address */ END(copyout) - - - /** * Copy a null terminated string from the kernel address space into * the user address space. @@ -228,19 +229,48 @@ 4: retal r9 /* Return r9, is 0 or ENAMETOOLONG */ END(copystr) +/** + * Onfault for copy functions + */ +copy_fault: + breakpoint + PCB_CLEAR_ONFAULT() + mov r12, EFAULT /* Return EFAULT */ + ldm sp++, r7,pc /* Restore framepointer and return */ +copy_fault_addr: + .long copy_fault -/* - * Fetch (load) a 32-bit word, a 16-bit word, or an 8-bit byte from user - * memory. All these functions are MPSAFE. +copy_split: + .long VM_MAXUSER_ADDRESS + +/** + * Fetch (load) a 8-bit byte from user memory + * r12: const void *base */ ENTRY(fubyte) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r11, fusubyte_split + cp.w r12, r11 + brgt fusu_fault + ld.ub r12, r12 + PCB_CLEAR_ONFAULT() retal r12 END(fubyte) +/** + * Fetch (load) a 32-bit word from user memory + * r12: const void *base + */ ENTRY(fuword) ENTRY(fuword32) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r11, fusuword32_split + cp.w r12, r11 + brgt fusu_fault + ld.w r12, r12 + PCB_CLEAR_ONFAULT() retal r12 END(fuword32) @@ -249,17 +279,35 @@ END(fuword64) /* - * Store a 32-bit word, a 16-bit word, or an 8-bit byte to user memory. - * All these functions are MPSAFE. + * Store a 8-bit byte to user memory. + * r12: void *base + * r11: int byte */ ENTRY(subyte) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r10, fusubyte_split + cp.w r12, r10 + brgt fusu_fault + st.b r12, r11 + PCB_CLEAR_ONFAULT() retal sp END(subyte) +/* + * Store a 32-bit word to user memory. + * r12: void *base + * r11: int word + */ ENTRY(suword) ENTRY(suword32) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r10, fusuword32_split + cp.w r12, r10 + brgt fusu_fault + st.w r12, r11 + PCB_CLEAR_ONFAULT() retal sp END(suword) @@ -280,7 +328,6 @@ breakpoint END(suswintr) - /* * casuword. Compare and set user word. Returns -1 or the current value. */ @@ -289,7 +336,24 @@ breakpoint END(casuword) +/** + * Fault hander for all su/fu/casu functions + */ +fusu_fault: + breakpoint + PCB_CLEAR_ONFAULT() + retal -1 +fusu_fault_addr: + .long fusu_fault +/* + * For testing if address is within userspace + */ +fusubyte_split: + .long VM_MAXUSER_ADDRESS - 1 +fusuword32_split: + .long VM_MAXUSER_ADDRESS - 4 + /** * Set jump buffer * r12: Pointer to jump buffer @@ -326,7 +390,7 @@ bfins r11, r12, 0, 8 /* Insert address into mfsr instruction */ st.w r10, r11 /* Store new */ - cache r10, 0x0C /* Clean DCache + cache r10, 0x0C /* Clean DCache */ sync 0 /* Flush write buffer */ cache r10, 0x01 /* Invalidate ICache */ mov pc, r10 /* Unpredictable jump, flushing the pipeline */ ==== //depot/projects/avr32/src/sys/avr32/avr32/switch.S#15 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include "opt_global.h" - +#include #include #include #include @@ -171,7 +171,9 @@ .text .global _C_LABEL(sigcode) _C_LABEL(sigcode): - breakpoint + mov r12, sp + SCALL(sigreturn) + SCALL(exit) _C_LABEL(esigcode): .data ==== //depot/projects/avr32/src/sys/avr32/avr32/trap.c#13 (text+ko) ==== @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -243,7 +244,7 @@ printf("Sending signal %d (%d) to process %d (trap: %d (%s), addr: 0x%x, pc: 0x%x, lr: 0x%x)\n", signo, ucode, p->p_pid, type, trap_name(type), addr, frame->regs.pc, frame->regs.lr); - trap_breakpoint(type, frame); +// trap_breakpoint(type, frame); ksiginfo_init_trap(&ksi); ksi.ksi_signo = signo; ksi.ksi_code = ucode; @@ -373,6 +374,11 @@ } if (!TRAPF_USERMODE(frame)) { + if (td->td_intr_nesting_level == 0 && + PCPU_GET(curpcb)->pcb_onfault != NULL) { + frame->regs.pc = (register_t)PCPU_GET(curpcb)->pcb_onfault; + return (KERN_SUCCESS); + } trap_fatal(type, frame); return (SIGSEGV); } ==== //depot/projects/avr32/src/sys/avr32/include/asm.h#8 (text+ko) ==== @@ -170,5 +170,16 @@ #define PIC_GOT(x) x #endif +#define PCB_SET_ONFAULT(addr) \ + lddpc r8, addr ;\ + lddpc r9, curpcb ;\ + ld.w r9, r9 ;\ + st.w r9[PCB_ONFAULT], r8 + +#define PCB_CLEAR_ONFAULT() \ + mov r8, 0 ;\ + lddpc r9, curpcb ;\ + ld.w r9, r9 ;\ + st.w r9[PCB_ONFAULT], r8 #endif /* !_MACHINE_ASM_H_ */ ==== //depot/projects/avr32/src/sys/avr32/include/pcb.h#6 (text+ko) ==== @@ -46,6 +46,8 @@ register_t r2; register_t r1; register_t r0; + + caddr_t pcb_onfault; /* On fault handler */ }; #ifdef _KERNEL From owner-p4-projects@FreeBSD.ORG Mon Jul 6 06:37:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D3791065674; Mon, 6 Jul 2009 06:37:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E127F1065670 for ; Mon, 6 Jul 2009 06:37:15 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CDBDB8FC12 for ; Mon, 6 Jul 2009 06:37:15 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n666bFxI003104 for ; Mon, 6 Jul 2009 06:37:15 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n666bF7k003102 for perforce@freebsd.org; Mon, 6 Jul 2009 06:37:15 GMT (envelope-from dforsyth@FreeBSD.org) Date: Mon, 6 Jul 2009 06:37:15 GMT Message-Id: <200907060637.n666bF7k003102@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165666 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 06:37:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=165666 Change 165666 by dforsyth@squirrel on 2009/07/06 06:36:57 Started reorganizing things and simplifying API. This wont compile. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#29 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#27 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#22 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#18 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#20 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#11 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#19 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#6 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#29 (text+ko) ==== @@ -25,12 +25,14 @@ char *mtree_dirs; char *required_by; - struct pkg_plist plist; + struct pkg_plist *plist; short dirty; /* Add an owner field? */ }; +/* Maybe I should add a pkg_init routine? */ + /* Create a new pkg. */ struct pkg * @@ -39,30 +41,227 @@ struct pkg *p; p = calloc(1, sizeof(*p)); + + /* Because I changed plist into a pointer, I need alloc it somewhere + * for now. Do it in here, but remember to get this out of here and + * add it to the parse check in the getters. */ + + p->plist = pkg_plist_new(); + if (p == NULL || p->plist == NULL) { + free(p); + free(p->plist); + return (NULL); + } + + p->ident = NULL; + p->comment = NULL; + p->contents = NULL; + p->description = NULL; + p->display = NULL; + p->mtree_dirs = NULL; + p->required_by = NULL; + p->plist = NULL; + p->dirty = 0; + + return (p); +} + +/* Clear and free an allocated pkg. */ + +void +pkg_delete(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + pkg_reset(p); + free(p->plist); + free(p); +} + +/* Reset a package, but do not free it. */ + +void +pkg_reset(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->ident); + free(p->comment); + free(p->contents); + free(p->description); + free(p->display); + free(p->mtree_dirs); + free(p->required_by); + p->ident = NULL; + p->comment = NULL; + p->contents = NULL; + p->description = NULL; + p->display = NULL; + p->mtree_dirs = NULL; + p->required_by = NULL; + p->dirty = 0; + /* Until plist allocation is done properly, we can't free this in + * here. */ + pkg_plist_reset(p->plist); +} + +/* Retrieve pkg identity. In hierdb, this is the directory containing the + * plist. This is a client set identifier, so conflict and dependendency + * checks should not rely on it. */ + +const char * +pkg_ident(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (p->ident); +} + +/* Retrieve pkg name. @name in plist. Conflict and dependency checks + * should rely on this string rather than ident. */ + +const char * +pkg_name(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (NULL); + + return (pkg_plist_name(p->plist)); +} + +/* Retrieve pkg cwd. @cwd in plist. All file paths are relative to this + * directory. */ + +const char * +pkg_cwd(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (p); + if (pkg_parse_plist(p) != OK) + return (NULL); + + return (pkg_plist_cwd(p->plist)); } -/* For now, copy all text into the package. Yes, it's storing information - * twice, but until I'm sure about what I'm going to do with all of the - * information, pkgs can have their own copies of the data. */ +/* Retrieve pkg origin. @origin in plist. The directory of the port that + * this pkg was create from. */ + +const char * +pkg_origin(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (NULL); + + return (pkg_plist_origin(p->plist)); +} /* Set the identity for this package (does not have to be the same as the * name from plist, but it generally is. This is the name used for the * directory in a hierdb. */ - -/* TODO: All of these assignments need mem checks. */ int pkg_set_ident(struct pkg *p, const char *ident) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (ident == NULL) + arg_rage_quit(__func__, "Not a valid identifier.", + RAGE_AT_CLIENT); free(p->ident); - p->ident = (ident != NULL) ? strdup(ident) : NULL; + p->ident = strdup(ident); + if (p->ident == NULL) + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + return (PKG_OK); +} + +/* Set the name for this package. @name in plist. */ + +int +pkg_set_name(struct pkg *p, const char *name) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (name == NULL) + arg_rage_quit(__func__, "Not a valid name.", RAGE_AT_CLIENT); + + return (pkg_plist_set_name(p->plist, name)); +} + +/* Set the cwd for this package. @cwd in plist. */ + +int +pkg_set_cwd(struct pkg *p, const char *cwd) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (cwd == NULL) + arg_rage_quit(__func__, "Not a valid cwd.", RAGE_AT_CLIENT); + + return (pkg_plist_set_cwd(p->plist, cwd)); +} + +/* Set the origin for this package. @origin in plist. */ + +int +pkg_set_origin(struct pkg *p, const char *origin) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (origin == NULL) + arg_rage_quit(__func__, "Not a valid origin.", RAGE_AT_CLIENT); + + return (pkg_plist_set_origin(p->plist, origin)); +} + +/* Maybe I should do these list retrievals in a fashion similar to + * scandir? */ + +/* Retrieve a list of file in this package. Return a list of strings + * terminated by NULL. */ + +const char ** +pkg_files(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_files(p->plist)); +} + +/* Retrieve a list of dependencies for this package (by name). Return a + * list of strings terminated by NULL. */ + +const char ** +pkg_depends(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_depends(p->plist)); +} + +/* Retrieve a list of conflicts for this package (by name). Return a list + * of strings terminated by NULL. */ + +const char ** +pkg_conflicts(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (OK); + return (pkg_plist_conflicts(p->plist)); } /* Set the short comment for this package */ @@ -159,28 +358,19 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_plist_parsed(&p->plist)) { + + if (pkg_plist_parsed(p->plist)) { /* For now, just jump ship if the package already has a plist. */ return (OK); } - pkg_plist_reset(&p->plist); - status = pkg_plist_parse_contents_from_text(&p->plist, p->contents); - + pkg_plist_reset(p->plist); + status = pkg_plist_parse_contents_from_text(p->plist, p->contents); return (status); } /* ident and name are different, even though they might be the same. */ -char * -pkg_ident(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (p->ident); -} - char * pkg_comment(struct pkg *p) { @@ -191,39 +381,8 @@ } /* Functions to access information stored in the pkg_plist. */ -char * -pkg_name(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - - return (pkg_plist_name(&p->plist)); -} -char * -pkg_cwd(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - return (pkg_plist_cwd(&p->plist)); -} -char * -pkg_origin(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - return (pkg_plist_origin(&p->plist)); -} char * pkg_mtree_file(struct pkg *p) @@ -233,7 +392,7 @@ if (pkg_parse_plist(p) != OK) return (NULL); - return (pkg_plist_mtree_file(&p->plist)); + return (pkg_plist_mtree_file(p->plist)); } /* Other properties. */ @@ -247,7 +406,7 @@ if (pkg_parse_plist(p) != OK) return (PKG_PARSE_NOT_OK); - return (pkg_plist_extract_in_place(&p->plist)); + return (pkg_plist_extract_in_place(p->plist)); } int @@ -259,7 +418,7 @@ if (pkg_parse_plist(p) != OK) return (PKG_PARSE_NOT_OK); - return (pkg_plist_preserve(&p->plist)); + return (pkg_plist_preserve(p->plist)); } int @@ -271,7 +430,7 @@ if (pkg_parse_plist(p) != OK) return (PKG_PARSE_NOT_OK); - return (pkg_plist_complete(&p->plist)); + return (pkg_plist_complete(p->plist)); } /* These need to be renamed. */ @@ -282,7 +441,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - pkg_plist_pkg_file_list_reset(&p->plist); + pkg_plist_pkg_file_list_reset(p->plist); } struct pkg_file * @@ -291,7 +450,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_file_list_next(&p->plist)); + return (pkg_plist_pkg_file_list_next(p->plist)); } void @@ -300,7 +459,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_dep_list_reset(&p->plist)); + return (pkg_plist_pkg_dep_list_reset(p->plist)); } struct pkg_dep * @@ -309,7 +468,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_dep_list_next(&p->plist)); + return (pkg_plist_pkg_dep_list_next(p->plist)); } void @@ -318,7 +477,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_cfl_list_reset(&p->plist)); + return (pkg_plist_pkg_cfl_list_reset(p->plist)); } struct pkg_cfl * @@ -326,42 +485,7 @@ { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_cfl_list_next(&p->plist)); -} - -void -pkg_reset(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - free(p->ident); - free(p->comment); - free(p->contents); - free(p->description); - free(p->display); - free(p->mtree_dirs); - free(p->required_by); - p->ident = NULL; - p->comment = NULL; - p->contents = NULL; - p->description = NULL; - p->display = NULL; - p->mtree_dirs = NULL; - p->required_by = NULL; - pkg_plist_reset(&p->plist); + return (pkg_plist_pkg_cfl_list_next(p->plist)); } -/* TODO: Make an note in the manual for libpkg that pkg_delete should not be - * called on pkgs that are not explicitly created by the client. */ - -void -pkg_delete(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - pkg_reset(p); - free(p); -} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#27 (text+ko) ==== @@ -50,11 +50,14 @@ #define PKG_NO_MTREE_DIRS 0x02000000 #define PKG_NO_REQUIRED_BY 0x04000000 #define PKG_CORRUPT 0x08000000 +#define PKG_MEMORY_ERR 0x00100000 /* Parse errors. */ #define PARSE_OK 0x00000000 #define PARSE_FAIL 0x10000000 +#define BAD_OR_UNKNOWN_VALUE "???" + /* TODO: All these explicit functions are great, but the client doesn't * need to make a "new" pkg_cfl, when all they really have to insert are a * sting and an integer (they dont even have to set the int). So write @@ -215,4 +218,80 @@ void pkgdb_db_delete(struct pkgdb *db); +/* Util (will probably dissapear). */ + +void pkg_dump(struct pkg *p, FILE *stream); + + +#if 0 + +/* pkg */ + +struct pkg *pkg_new(); +void pkg_delete(struct pkg *p); +int pkg_reset(struct pkg *p); + +const char *pkg_ident(struct pkg *p); +const char *pkg_name(struct pkg *p); +const char *pkg_cwd(struct pkg *p); +const char *pkg_origin(struct pkg *p); + +int pkg_set_ident(struct pkg *p, const char *ident); +int pkg_set_name(struct pkg *p, const char *name); +int pkg_set_cwd(struct pkg *p, const char *cwd); +int pkg_set_origin(struct pkg *p, const char *origin); + +const char **pkg_files(struct pkg *p); +const char **pkg_depends(struct pkg *p); +const char **pkg_conflicts(struct pkg *p); + +int pkg_add_file(struct pkg *p, const char *path, const char *md5, + const char *owner, const char *group, const char *mode); +int pkg_remove_file(struct pkg *p, const char *path); +const char *pkg_file_md5(struct pkg *p, const char *path); +const char *pkg_file_owner(struct pkg *p, const char *path); +const char *pkg_file_group(struct pkg *p, const char *path); +const char *pkg_file_mode(struct pkg *p, const char *mode); + +int pkg_add_depend(struct pkg *p, const char *name, const char *origin, + int version); +int pkg_remove_depend(struct pkg *p, const char *name); +const char *pkg_depend_origin(struct pkg *p, const char *name); +int pkg_depend_version(struct pkg *p, const char *name); + +int pkg_add_conflict(struct pkg *p, const char *name, int version); +int pkg_remove_conflict(struct pkg *p, const char *name); +const char *pkg_conflict_version(struct pkg *p, const char *name); + +/* TODO: Add installation/deinstallation routine modification... routines. */ + +/* pkgdb */ + +struct pkgdb *pkgdb_new(); +void pkgdb_delete(struct pkgdb *db); + +int pkgdb_open(struct pkgdb *db, const char *path, int db_type); +/* With the new design, is "init" even needed? */ +int pkgdb_init(struct pkgdb *db); + +/* Return a list of packages by _ident_. */ +const char *pkgdb_all_pkgs(struct pkgdb *db); +int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); + +int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); +int pkgdb_delete_pkg(struct pkgdb *db, const char *pkgident); +int pkgdb_update_pkg(struct pkgdb *db, const char *pkgident, struct pkg *p); + +/* pkgrepo */ + +struct pkgrepo *pkgrepo_new(); +void pkgrepo_delete(struct pkgrepo *pr); + +/* pkgarcv */ + +struct pkgarcv *pkgarcv_new(); +void pkgarcv_delete(struct pkgarcv *pa; + +#endif + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#7 (text+ko) ==== @@ -12,7 +12,7 @@ pkg_file_new() { struct pkg_file *pf; - + pf = calloc(1, sizeof(*pf)); return (pf); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#22 (text+ko) ==== @@ -76,6 +76,15 @@ /* TODO: Write this. */ + free(pl->pkg_file_list); + pl->pkg_file_cnt = 0; + + free(pl->pkg_dep_list); + pl->pkg_dep_cnt = 0; + + free(pl->pkg_cfl_list); + pl->pkg_cfl_cnt = 0; + pl->extract_in_place = 0; pl->preserve = 0; pl->complete = 0; @@ -119,7 +128,7 @@ if (textp == NULL) return (MEMORY_ERR); - pl->text = textp; + pl->text = textp; /* TODO: Use fgets(), and have the different lists have their own copy * of information so that packages can be freely manipulated without @@ -574,7 +583,7 @@ pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl) { struct pkg_cfl *pc; - + if (pl == NULL) arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#18 (text+ko) ==== @@ -77,7 +77,7 @@ char *mtree_file; short extract_in_place; short preserve; - short complete; + short complete; /* fat. */ char *text; /* The entire plist */ @@ -88,10 +88,20 @@ /* Use these lists here so that appending to our list doesnt need a * bunch of realloc procedures. This will be convenient for clients * that want to build plists on the fly, modify plists, etc. */ + /* No, screw them I hate them and hope they burn. */ TAILQ_HEAD(pkg_file_head, pkg_file) pkg_file_head; /* pkg_file list. */ TAILQ_HEAD(pkg_dep_head, pkg_dep) pkg_dep_head; /* pkg_dep list. */ TAILQ_HEAD(pkg_cfl_head, pkg_cfl) pkg_cfl_head; /* pkg_cfl list. */ + + unsigned int pkg_file_cnt; + struct pkg_file *pkg_file_list; + + unsigned int pkg_dep_cnt; + struct pkg_dep *pkg_dep_list; + + unsigned int pkg_cfl_cnt; + struct pkg_cfl *pkg_cfl_list; short parsed; }; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#4 (text+ko) ==== @@ -14,8 +14,14 @@ #include "pkg_sub.h" int -pkg_sub_cmp(struct pkg_sub *ps1, struct pkg_sub *ps2) +pkg_sub_cmp(const void *a, const void *b) { + const struct pkg_sub *ps1; + const struct pkg_sub *ps2; + + ps1 = a; + ps2 = b; + return (strcmp(ps1->ident, ps2->ident)); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#4 (text+ko) ==== @@ -43,7 +43,7 @@ struct pkg_sub; -int pkg_sub_cmp(struct pkg_sub *ps1, struct pkg_sub *ps2); +int pkg_sub_cmp(const void *a, const void *b); int pkg_sub_mark_read(struct pkg_sub *ps); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#8 (text+ko) ==== @@ -6,6 +6,7 @@ #include #include "pkg_util.h" +#include "pkg.h" int subdir_sel(struct dirent *ent) @@ -60,3 +61,86 @@ fprintf(stderr, "Bad argument in %s: %s\n", function, message); exit(ret); } + +void +pkg_dump(struct pkg *p, FILE *stream) +{ + struct pkg_dep *pd; + struct pkg_cfl *pc; + struct pkg_file *pf; + + const char *ident; + const char *comment; + const char *name; + const char *cwd; + const char *origin; + const char *mtree_file; + const char *path; + const char *md5; + const char *owner; + const char *group; + const char *mode; + + ident = pkg_ident(p); + comment = pkg_comment(p); + + name = pkg_name(p); + cwd = pkg_cwd(p); + origin = pkg_origin(p); + mtree_file = pkg_mtree_file(p); + + + fprintf(stream, "IDENT: %s\n\n", + (ident != NULL ? ident : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t%s\n\n", + (comment != NULL ? comment : BAD_OR_UNKNOWN_VALUE)); + + fprintf(stream, "\tname: %s\n", + (name != NULL ? name : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\tcwd: %s\n", + (cwd != NULL ? name : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\torigin: %s\n", + (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\tmtree file: %s\n", + (mtree_file != NULL ? mtree_file : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\textract in place: %s\n", + (pkg_extract_in_place(p) ? "YES" : "NO")); + fprintf(stream, "\tpreserve: %s\n", + (pkg_preserve(p) ? "YES" : "NO")); + fprintf(stream, "\tcomplete: %s\n", + (pkg_complete(p) ? "YES" : "NO")); + fprintf(stream, "\tfiles:\n"); + pkg_pkg_file_list_init(p); + while ((pf = pkg_pkg_file_list_next(p)) != NULL) { + path = pkg_file_path(pf); + md5 = pkg_file_md5(pf); + owner = pkg_file_owner(pf); + group = pkg_file_group(pf); + mode = pkg_file_mode(pf); + fprintf(stream, "\t\t%s\n", + (path != NULL ? path : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tMD5: %s\n", + (md5 != NULL ? md5 : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tOWNER: %s\n", + (owner != NULL ? owner : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tGROUP: %s\n", + (group != NULL ? group : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tMODE: %s\n", + (mode != NULL ? mode : BAD_OR_UNKNOWN_VALUE)); + } + + fprintf(stream, "\tdepends:\n"); + pkg_pkg_dep_list_init(p); + while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { + name = pkg_dep_name(pd); + origin = pkg_dep_origin(pd); + fprintf(stream, "\t\t%s : %s\n", name, origin); + } + + fprintf(stream, "\tconflicts:\n"); + pkg_pkg_cfl_list_init(p); + while ((pc = pkg_pkg_cfl_list_next(p)) != NULL) { + name = pkg_cfl_name(pc); + fprintf(stream, "\t\t%s\n", name); + } +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#20 (text+ko) ==== @@ -25,6 +25,7 @@ case (HIER_DB): db->pkgdb_db_open = pkgdb_hierdb_db_open; db->pkgdb_db_init = pkgdb_hierdb_db_init; + db->pkgdb_db_read_pkg_sub = pkgdb_hierdb_read_pkg_sub; /* db->pkgdb_db_close = pkgdb_hierdb_db_close; */ break; default: @@ -100,13 +101,15 @@ * can have multiple copies of a package which do not share a state. * Is this a terrible idea? Stay tuned to find out. */ + status = PKG_OK; pkg_reset(p); ps = pkgdb_pkg_sub_list_next(db); if (ps == NULL) { return (DB_NO_PKG); /* Already at the end. */ } - pkgdb_hierdb_read_pkg_sub(db, ps); - status = pkgdb_generate_pkg_from_pkg_sub(db, p, ps); + + status |= db->pkgdb_db_read_pkg_sub(db, ps); + status |= pkgdb_generate_pkg_from_pkg_sub(db, p, ps); return (status); } @@ -131,8 +134,8 @@ ps = pkgdb_pkg_sub_get(db, ident); if (ps == NULL) return (DB_NO_PKG); - status = pkg_sub_read_files(ps); - if (status == NOT_OK) { + status |= pkg_sub_read_files(ps); + if (status & NOT_OK) { /* might have to free some things in here. */ return (NOT_OK); } @@ -145,8 +148,10 @@ { struct pkg_sub *ps; - if (db || ident) - ;; + if (db == NULL) + arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); + if (ident == NULL) + arg_rage_quit(__func__, "Must pass identifier.", RAGE_AT_LIBPKG); ps = (struct pkg_sub *)bsearch(ident, db->ps_list, db->ps_count, sizeof(*ps), pkg_sub_cmp); @@ -177,7 +182,7 @@ status = PKG_OK; status |= pkg_set_ident(p, pkg_sub_ident(ps)); status |= pkg_set_comment(p, pkg_sub_comment(ps)); - status |= pkg_set_contents(p, pkg_sub_comment(ps)); + status |= pkg_set_contents(p, pkg_sub_contents(ps)); status |= pkg_set_description(p, pkg_sub_desc(ps)); status |= pkg_set_display(p, pkg_sub_display(ps)); status |= pkg_set_mtree_dirs(p, pkg_sub_mtree_dirs(ps)); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#11 (text+ko) ==== @@ -112,14 +112,7 @@ arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); status = OK; - // status |= pkg_sub_set_ident(ps, ident); - /* Directory is verified here. */ - // status |= pkgdb_sub_set_assign_db(db, ps); - if ((MEMORY_ERR & status) || (BAD_IDENT & status)) - return (status); - - /* Hope you have your reading glasses on... */ status = OK; status |= pkg_sub_read_file_to_text(ps, COMMENT_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_COMMENT : OK; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#5 (text+ko) ==== @@ -19,7 +19,7 @@ int (*pkgdb_db_open) (struct pkgdb *db, const char *db_root); int (*pkgdb_db_init) (struct pkgdb *db); - int (*pkgdb_db_read_sub) (struct pkgdb *db, struct pkg_sub *ps); + int (*pkgdb_db_read_pkg_sub) (struct pkgdb *db, struct pkg_sub *ps); int (*pkgdb_db_close) (struct pkgdb *db); int (*pkgdb_db_sync) (struct pkgdb *db); }; ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#19 (text+ko) ==== @@ -113,25 +113,14 @@ print_pkg_information(p); } } + pkg_delete(p); } void print_pkg_information(struct pkg *p) { - struct pkg_file *pf; - struct pkg_dep *pd; - struct pkg_cfl *pc; const char *ident; const char *comment; - const char *name; - const char *cwd; - const char *origin; - const char *mtree_file; - const char *path; - const char *md5; - const char *owner; - const char *group; - const char *mode; /* Just print the basic PKGNAME COMMENT scheme right now. Other * information isn't collected by the library yet. */ @@ -143,60 +132,7 @@ (ident != NULL ? ident : BAD_OR_UNKNOWN_VALUE), (comment != NULL ? comment : BAD_OR_UNKNOWN_VALUE)); } else { - /* Testing plist interaction. */ - name = pkg_name(p); - cwd = pkg_cwd(p); - origin = pkg_origin(p); - mtree_file = pkg_mtree_file(p); - - printf("%s:\n", - (name != NULL ? name : BAD_OR_UNKNOWN_VALUE)); - printf("\tcwd: %s\n", - (cwd != NULL ? name : BAD_OR_UNKNOWN_VALUE)); - printf("\torigin: %s\n", - (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); - printf("\tmtree file: %s\n", - (mtree_file != NULL ? mtree_file : BAD_OR_UNKNOWN_VALUE)); - printf("\textract in place: %s\n", - (pkg_extract_in_place(p) ? "YES" : "NO")); - printf("\tpreserve: %s\n", - (pkg_preserve(p) ? "YES" : "NO")); - printf("\tcomplete: %s\n", - (pkg_complete(p) ? "YES" : "NO")); - printf("\tfiles:\n"); - pkg_pkg_file_list_init(p); - while ((pf = pkg_pkg_file_list_next(p)) != NULL) { - path = pkg_file_path(pf); - md5 = pkg_file_md5(pf); - owner = pkg_file_owner(pf); - group = pkg_file_group(pf); - mode = pkg_file_mode(pf); - printf("\t\t%s\n", - (path != NULL ? path : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tMD5: %s\n", - (md5 != NULL ? md5 : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tOWNER: %s\n", - (owner != NULL ? owner : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tGROUP: %s\n", - (group != NULL ? group : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tMODE: %s\n", - (mode != NULL ? mode : BAD_OR_UNKNOWN_VALUE)); - } - - printf("\tdepends:\n"); - pkg_pkg_dep_list_init(p); - while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { - name = pkg_dep_name(pd); - origin = pkg_dep_origin(pd); - printf("\t\t%s : %s\n", name, origin); - } - - printf("\tconflicts:\n"); - pkg_pkg_cfl_list_init(p); - while ((pc = pkg_pkg_cfl_list_next(p)) != NULL) { - name = pkg_cfl_name(pc); - printf("\t\t%s\n", name); - } + pkg_dump(p, stdout); } } ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#6 (text+ko) ==== @@ -5,7 +5,6 @@ /* A goal should be to eliminate this directory, and instead store options * seamlessly in plists. */ #define PORTS_DBDIR_DEFAULT "/var/db/ports" -#define BAD_OR_UNKNOWN_VALUE "???" void perform_on_db(struct pkgdb *db); void print_pkg_information(struct pkg *p); From owner-p4-projects@FreeBSD.ORG Mon Jul 6 14:38:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACA801065672; Mon, 6 Jul 2009 14:38:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C0C4106566C for ; Mon, 6 Jul 2009 14:38:02 +0000 (UTC) (envelope-from fabio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 59B368FC1D for ; Mon, 6 Jul 2009 14:38:02 +0000 (UTC) (envelope-from fabio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n66Ec2VM067154 for ; Mon, 6 Jul 2009 14:38:02 GMT (envelope-from fabio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n66Ec2I8067152 for perforce@freebsd.org; Mon, 6 Jul 2009 14:38:02 GMT (envelope-from fabio@FreeBSD.org) Date: Mon, 6 Jul 2009 14:38:02 GMT Message-Id: <200907061438.n66Ec2I8067152@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fabio@FreeBSD.org using -f From: Fabio Checconi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165689 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 14:38:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=165689 Change 165689 by fabio@fabio_granpasso on 2009/07/06 14:37:41 Snapshot of private repo: add seekiness and thinktime heuristics, improve async writeout accounting, update the bio classification code to use the hooks committed in HEAD (when configured). Affected files ... .. //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/g_sched.c#2 edit .. //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_rr.c#2 edit .. //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_scheduler.h#2 edit Differences ... ==== //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/g_sched.c#2 (text+ko) ==== @@ -114,6 +114,7 @@ #include "gs_scheduler.h" #include "g_sched.h" /* geom hooks */ +#define HAVE_BIO_CLASSIFIER /* * Size of the per-geom hash table storing traffic classes. * We may decide to change it at a later time, it has no ABI @@ -178,14 +179,6 @@ .gs_expire_secs = 10, }; -/* - * What kind of classifier we want to use ? - * (not supported yet) - */ -#define G_CLASS_PID 0 - -static const int g_sched_classifier = G_CLASS_PID; - SYSCTL_DECL(_kern_geom); SYSCTL_NODE(_kern_geom, OID_AUTO, sched, CTLFLAG_RW, 0, "GEOM_SCHED stuff"); @@ -321,31 +314,24 @@ * so we do not make assumptions on the return value which for * us is just an opaque identifier. */ -static inline struct thread * -g_sched_issuer(struct bio *bp) +#ifndef HAVE_BIO_CLASSIFIER +static inline u_long +g_sched_classify(struct bio *bp) { while (bp->bio_parent != NULL) bp = bp->bio_parent; - return (bp->bio_caller1); + return ((u_long)bp->bio_caller1); } - -/* - * Fetch the actual field used for classification, among the - * ones available in the credentials associated with the bio. - * Not much to do so far. - */ -static u_long -g_sched_classify(struct thread *tp) +#else +static inline u_long +g_sched_classify(struct bio *bp) { - switch (g_sched_classifier) { - case G_CLASS_PID: - default: - return (tp->td_tid); - } + return ((u_long)bp->bio_classifier1); } +#endif /* Return the hash chain for the given key. */ static inline struct g_hash * @@ -369,12 +355,10 @@ struct g_sched_class *gsc; struct g_gsched *gsp; struct g_hash *bucket; - struct thread *tp; u_long key; sc = gp->softc; - tp = g_sched_issuer(bp); - key = g_sched_classify(tp); + key = g_sched_classify(bp); bucket = g_sched_hash(sc, key); LIST_FOREACH(gsc, bucket, gsc_clist) { if (key == gsc->gsc_key) { @@ -389,7 +373,7 @@ if (!gsc) return (NULL); - if (gsp->gs_init_class(sc->sc_data, gsc->gsc_priv, tp)) { + if (gsp->gs_init_class(sc->sc_data, gsc->gsc_priv)) { free(gsc, M_GEOM_SCHED); return (NULL); } @@ -1258,6 +1242,7 @@ * code in g_ioreq_patch() for the details. */ +#ifndef HAVE_BIO_CLASSIFIER #if defined(__i386__) #define CODE_SIZE 29 #define STORE_SIZE 5 @@ -1374,6 +1359,47 @@ } } +static inline void +g_classifier_ini(void) +{ + + g_ioreq_patch(); +} + +static inline void +g_classifier_fini(void) +{ + + g_ioreq_restore(); +} +#else /* !HAVE_BIO_CLASSIFIER */ +static int +g_sched_tag(void *arg, struct bio *bp) +{ + + bp->bio_classifier1 = curthread; + return (1); +} + +static struct g_classifier_hook g_sched_classifier = { + .func = g_sched_tag, +}; + +static inline void +g_classifier_ini(void) +{ + + g_register_classifier(&g_sched_classifier); +} + +static inline void +g_classifier_fini(void) +{ + + g_unregister_classifier(&g_sched_classifier); +} +#endif + static void g_sched_init(struct g_class *mp) { @@ -1384,14 +1410,14 @@ mp, &g_sched_class); /* Patch g_io_request to store classification info in the bio. */ - g_ioreq_patch(); + g_classifier_ini(); } static void g_sched_fini(struct g_class *mp) { - g_ioreq_restore(); + g_classifier_fini(); G_SCHED_DEBUG(0, "Unloading..."); ==== //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_rr.c#2 (text+ko) ==== @@ -65,6 +65,11 @@ G_QUEUE_IDLING /* Waiting for a new request. */ }; +/* possible queue flags */ +enum g_rr_flags { + G_FLAG_COMPLETED = 1, /* Completed a req. in the current budget. */ +}; + struct g_rr_softc; /* @@ -79,6 +84,7 @@ enum g_rr_state q_status; unsigned int q_service; /* service received so far */ int q_slice_end; /* actual slice end in ticks */ + enum g_rr_flags q_flags; /* queue flags */ struct bio_queue_head q_bioq; /* Scheduling parameters */ @@ -86,6 +92,13 @@ unsigned int q_slice_duration; /* slice size in ticks */ unsigned int q_wait_ticks; /* wait time for anticipation */ + /* Stats to drive the various heuristics. */ + struct g_savg q_thinktime; /* Thinktime average. */ + struct g_savg q_seekdist; /* Seek distance average. */ + + off_t q_lastoff; /* Last submitted req. offset. */ + int q_lastsub; /* Last submitted req. time. */ + /* Expiration deadline for an empty queue. */ int q_expire; @@ -289,7 +302,7 @@ } static int -g_rr_init_class(void *data, void *priv, struct thread *tp) +g_rr_init_class(void *data, void *priv) { struct g_rr_softc *sc = data; struct g_rr_queue *qp = priv; @@ -339,8 +352,33 @@ g_rr_queue_expired(struct g_rr_queue *qp) { - return (qp->q_service >= qp->q_budget || - ticks - qp->q_slice_end >= 0); + if (qp->q_service >= qp->q_budget) + return (1); + + if ((qp->q_flags & G_FLAG_COMPLETED) && + ticks - qp->q_slice_end >= 0) + return (1); + + return (0); +} + +static inline int +g_rr_should_anticipate(struct g_rr_queue *qp, struct bio *bp) +{ + int wait = get_bounded(&me.wait_ms, 2); + + if (!me.w_anticipate && (bp->bio_cmd & BIO_WRITE)) + return (0); + + if (g_savg_valid(&qp->q_thinktime) && + g_savg_read(&qp->q_thinktime) > wait) + return (0); + + if (g_savg_valid(&qp->q_seekdist) && + g_savg_read(&qp->q_seekdist) > 2048) + return (0); + + return (1); } /* @@ -389,9 +427,7 @@ TAILQ_REMOVE(&sc->sc_rr_tailq, qp, q_tailq); sc->sc_active = qp; qp->q_service = 0; - /* in case we want to make the slice adaptive */ - qp->q_slice_duration = get_bounded(&me.quantum_ms, 2); - qp->q_slice_end = ticks + qp->q_slice_duration; + qp->q_flags &= ~G_FLAG_COMPLETED; } bp = gs_bioq_takefirst(&qp->q_bioq); /* surely not NULL */ @@ -412,7 +448,7 @@ * on read or writes (e.g., anticipate only on reads). */ expired = g_rr_queue_expired(qp); /* are we expired ? */ - next = gs_bioq_first(&qp->q_bioq); /* do we have one more ? */ + next = gs_bioq_first(&qp->q_bioq); /* do we have one more ? */ if (expired) { sc->sc_active = NULL; /* Either requeue or release reference. */ @@ -423,7 +459,7 @@ } else if (next != NULL) { qp->q_status = G_QUEUE_READY; } else { - if (!force && (me.w_anticipate || bp->bio_cmd & BIO_READ)) { + if (!force && g_rr_should_anticipate(qp, bp)) { /* anticipate */ qp->q_status = G_QUEUE_BUSY; } else { @@ -439,6 +475,30 @@ return (bp); } +static inline void +g_rr_update_thinktime(struct g_rr_queue *qp) +{ + int delta = ticks - qp->q_lastsub, wait = get_bounded(&me.wait_ms, 2); + + qp->q_lastsub = ticks; + delta = (delta > 2 * wait) ? 2 * wait : delta; + g_savg_add_sample(&qp->q_thinktime, delta); +} + +static inline void +g_rr_update_seekdist(struct g_rr_queue *qp, struct bio *bp) +{ + off_t dist; + + if (qp->q_lastoff > bp->bio_offset) + dist = qp->q_lastoff - bp->bio_offset; + else + dist = bp->bio_offset - qp->q_lastoff; + + qp->q_lastoff = bp->bio_offset + bp->bio_length; + g_savg_add_sample(&qp->q_seekdist, qp->q_seekdist.gs_smpl ? dist : 0); +} + /* * Called when a real request for disk I/O arrives. * Locate the queue associated with the client. @@ -476,6 +536,9 @@ } } + g_rr_update_thinktime(qp); + g_rr_update_seekdist(qp, bp); + /* Inherit the reference returned by g_rr_queue_get(). */ bp->bio_caller1 = qp; gs_bioq_disksort(&qp->q_bioq, bp); @@ -559,6 +622,13 @@ qp = bp->bio_caller1; if (qp == sc->sc_active && qp->q_status == G_QUEUE_BUSY) { + if (!(qp->q_flags & G_FLAG_COMPLETED)) { + qp->q_flags |= G_FLAG_COMPLETED; + /* in case we want to make the slice adaptive */ + qp->q_slice_duration = get_bounded(&me.quantum_ms, 2); + qp->q_slice_end = ticks + qp->q_slice_duration; + } + /* The queue is trying anticipation, start the timer. */ qp->q_status = G_QUEUE_IDLING; /* may make this adaptive */ ==== //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_scheduler.h#2 (text+ko) ==== @@ -90,7 +90,7 @@ typedef int gs_start_t (void *data, struct bio *bio); typedef void gs_done_t (void *data, struct bio *bio); typedef struct bio *gs_next_t (void *data, int force); -typedef int gs_init_class_t (void *data, void *priv, struct thread *tp); +typedef int gs_init_class_t (void *data, void *priv); typedef void gs_fini_class_t (void *data, void *priv); struct g_gsched { @@ -175,6 +175,40 @@ void g_sched_dispatch(struct g_geom *geom); /* + * Simple gathering of statistical data, used by schedulers to collect + * info on process history. Just keep an exponential average of the + * samples, with some extra bits of precision. + */ +struct g_savg { + uint64_t gs_avg; + unsigned int gs_smpl; +}; + +static inline void +g_savg_add_sample(struct g_savg *ss, uint64_t sample) +{ + + /* EMA with alpha = 0.125, fixed point, 3 bits of precision. */ + ss->gs_avg = sample + ss->gs_avg - (ss->gs_avg >> 3); + ss->gs_smpl = 1 + ss->gs_smpl - (ss->gs_smpl >> 3); +} + +static inline int +g_savg_valid(struct g_savg *ss) +{ + + /* We want at least 8 samples to deem an average as valid. */ + return (ss->gs_smpl > 7); +} + +static inline uint64_t +g_savg_read(struct g_savg *ss) +{ + + return (ss->gs_avg / ss->gs_smpl); +} + +/* * Declaration of a scheduler module. */ int g_gsched_modevent(module_t mod, int cmd, void *arg); From owner-p4-projects@FreeBSD.ORG Mon Jul 6 16:41:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2EE061065672; Mon, 6 Jul 2009 16:41:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2FE4106566C for ; Mon, 6 Jul 2009 16:41:18 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B7BDC8FC1D for ; Mon, 6 Jul 2009 16:41:18 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n66GfI3t077947 for ; Mon, 6 Jul 2009 16:41:18 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n66GfIaC077945 for perforce@freebsd.org; Mon, 6 Jul 2009 16:41:18 GMT (envelope-from trasz@freebsd.org) Date: Mon, 6 Jul 2009 16:41:18 GMT Message-Id: <200907061641.n66GfIaC077945@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165707 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 16:41:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165707 Change 165707 by trasz@trasz_victim on 2009/07/06 16:40:29 Clean up maxprocesses accounting. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#7 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#7 (text+ko) ==== @@ -224,6 +224,10 @@ p1 = td->td_proc; + error = hrl_alloc_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); + if (error) + return (error); + /* * Here we don't create a new process, but we divorce * certain parts of a process from itself. @@ -234,6 +238,7 @@ PROC_LOCK(p1); if (thread_single(SINGLE_BOUNDARY)) { PROC_UNLOCK(p1); + hrl_free_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); return (ERESTART); } PROC_UNLOCK(p1); @@ -267,6 +272,8 @@ PROC_UNLOCK(p1); } *procp = NULL; + if (error) + hrl_free_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); return (error); } @@ -346,18 +353,14 @@ * XXXRW: Can we avoid privilege here if it's not needed? */ error = priv_check_cred(td->td_ucred, PRIV_PROC_LIMIT, 0); - if (error == 0) { + if (error == 0) ok = chgproccnt(td->td_ucred->cr_ruidinfo, 1, 0); - error = hrl_alloc_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); - } else { + else { PROC_LOCK(p1); ok = chgproccnt(td->td_ucred->cr_ruidinfo, 1, lim_cur(p1, RLIMIT_NPROC)); - error = hrl_alloc_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); PROC_UNLOCK(p1); } - if (ok != !error) - printf("fork1: ok = %d, error = %d\n", ok, error); if (!ok) { error = EAGAIN; goto fail; @@ -584,12 +587,6 @@ PROC_UNLOCK(p1); PROC_UNLOCK(p2); - /* - * Initialize HRL accounting information. - * XXX: Handle failure? - */ - hrl_proc_fork(p1, p2); - /* Bump references to the text vnode (for procfs) */ if (p2->p_textvp) vref(p2->p_textvp); @@ -808,6 +805,7 @@ vmspace_free(vm2); uma_zfree(proc_zone, newproc); pause("fork", hz / 2); + hrl_free_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); return (error); } From owner-p4-projects@FreeBSD.ORG Mon Jul 6 20:41:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB3741065672; Mon, 6 Jul 2009 20:41:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A53B106566C for ; Mon, 6 Jul 2009 20:41:42 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8831C8FC0C for ; Mon, 6 Jul 2009 20:41:42 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n66KfgJ1009755 for ; Mon, 6 Jul 2009 20:41:42 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n66Kfg8n009753 for perforce@freebsd.org; Mon, 6 Jul 2009 20:41:42 GMT (envelope-from anchie@FreeBSD.org) Date: Mon, 6 Jul 2009 20:41:42 GMT Message-Id: <200907062041.n66Kfg8n009753@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165719 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 20:41:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165719 Change 165719 by anchie@anchie_malimis on 2009/07/06 20:41:17 Processing of received routing message containing NS/NA/Redirect. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#14 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#6 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#14 (text+ko) ==== @@ -84,7 +84,7 @@ static DEFINE_LIST_HEAD(ifaces); /* Data packet meta data */ -struct input_hook_packet_info { +struct snd_packet_info { struct snd_ifinfo *ifinfo; int direction; }; @@ -135,22 +135,7 @@ return (0); } -#if 0 void -snd_dispatch_fds(fd_set *fds) -{ - struct snd_ifinfo *p; - - list_for_each_entry(p, &ifaces, list) { - if (FD_ISSET(p->icmps, fds)) { - /* Reuse the code from - snd_recv_pkt() and snd_icmp_sock_read() - */ - } -} -#endif - -void snd_put_buf(struct sbuff *b) { sbuff_free(b); @@ -196,29 +181,30 @@ { struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; - struct sbuff *b; + struct sbuff *b, *b1; + struct snd_packet_info *pi; int n, ifidx = -1; - + if ((b = snd_get_buf()) == NULL) { return; } - applog(LOG_ERR, "sndsock prije read = %d", sndsock); - n = read(sndsock, b, sizeof(b)); + pi = sbuff_data(b); + + n = recv(sndsock, b->data, b->rem, 0); if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); goto done; } else { - applog(LOG_ERR, "%s: %d bytes read on routing socket.", n, __FUNCTION__); + applog(LOG_ERR, "%s: %d bytes read on routing socket.", __FUNCTION__, n); } + b->len = n; - rtm = (struct rt_msghdr *) b; + rtm = sbuff_data(b); if (rtm->rtm_version != RTM_VERSION) { applog(LOG_ERR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; - } else { - applog(LOG_ERR, "%s RTM_VERSION", __FUNCTION__); } switch (rtm->rtm_type) { @@ -226,17 +212,23 @@ /* XXX: Do we need this? */ break; case RTM_SND: - ifan = (struct if_announcemsghdr *) rtm; + ifan = sbuff_data(b); switch (ifan->ifan_what) { case RTM_SND_IN: + applog(LOG_ERR, "RTM_SND_IN"); /* n = RTM hdr + m as passed to nd6_ns_input() */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ snd_recv_pkt(b, ifidx, SND_IN); break; case RTM_SND_OUT: - /* n = RTM hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ - b = (struct rt_msghdr *) &ifan[1]; + applog(LOG_ERR, "RTM_SND_OUT"); + /* n = RTM hdr + ip6_hdr + icmp6len */ + if (sbuff_pull(b, sizeof (struct rt_msghdr)) == NULL) { + DBG(&dbg_snd, "invalid pkt (not enough for rtm hedaer"); + goto done; + } + /* ToDo: Extract ifidx. */ snd_recv_pkt(b, ifidx, SND_OUT); break; ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#6 (text+ko) ==== @@ -654,7 +654,9 @@ } void -/* snd_recv_pkt(struct sbuff *b, int ifidx, int in, void *pkt) */ +#if 0 +snd_recv_pkt(struct sbuff *b, int ifidx, int in, void *pkt) +#endif snd_recv_pkt(struct sbuff *b, int ifidx, int in) { int tlen, drop = 0; @@ -664,19 +666,21 @@ enum snd_pkt_decision r; void *start; struct ip6_hdr *iph; -/* + +#if 0 if (!snd_iface_ok_(ifidx)) { return; } -*/ -/* +#endif +#if 0 if (!in) if (sbuff_pull(b, sizeof (struct ether_header)) == NULL) { DBG(&dbg_snd, "invalid pkt (not enough for ether header"); goto drop; } } -*/ +#endif + start = sbuff_data(b); DBG(&dbg, "%s", in ? "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" : @@ -699,6 +703,7 @@ DBG(&dbg_snd, "pkt too small (ip6 hdr)"); goto drop; } + pi->icmp = sbuff_data(b); if (b->len < sizeof (*(pi->icmp))) { DBG(&dbg_snd, "pkt too small (icmp6 hdr)"); @@ -796,6 +801,8 @@ return (-1); } #endif + applog(LOG_ERR, "snd_proto_init"); + if (snd_proto_nonce_init() < 0 || snd_proto_timestamp_init() < 0) { return (-1); From owner-p4-projects@FreeBSD.ORG Mon Jul 6 23:20:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8612E10656E3; Mon, 6 Jul 2009 23:20:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3ACA010656EC for ; Mon, 6 Jul 2009 23:20:37 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 276DC8FC18 for ; Mon, 6 Jul 2009 23:20:37 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n66NKbNk037812 for ; Mon, 6 Jul 2009 23:20:37 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n66NKb0Y037810 for perforce@freebsd.org; Mon, 6 Jul 2009 23:20:37 GMT (envelope-from dforsyth@FreeBSD.org) Date: Mon, 6 Jul 2009 23:20:37 GMT Message-Id: <200907062320.n66NKb0Y037810@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165726 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jul 2009 23:20:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=165726 Change 165726 by dforsyth@squirrel on 2009/07/06 23:20:07 Make changes for new design in pkg.h. Cannot be built. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#30 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#28 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#30 (text+ko) ==== @@ -264,6 +264,45 @@ return (pkg_plist_conflicts(p->plist)); } +int +pkg_add_file(struct pkg *p, const char *path, const char *md5, + const char *owner, const char *group, const char *mode) +{ + int status; + struct pkg_file *pf; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (path == NULL) + arg_rage_quit(__func__, "Not a valid path.", RAGE_AT_CLIENT); + if (md5 == NULL) + arg_rage_quit(__func__, "Not a valid md5.", RAGE_AT_CLIENT); + if (owner == NULL) + arg_rage_quit(__func__, "Not a valid owner.", RAGE_AT_CLIENT); + if (group == NULL) + arg_rage_quit(__func__, "Not a valid group.", RAGE_AT_CLIENT); + if (mode == NULL) + arg_rage_quit(__func__, "Not a valid mode.", RAGE_AT_CLIENT); + + pf = pkg_file_new(); + if (pf == NULL) { + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + status = PKG_OK; + + status |= pkg_file_set_path(pf, path); + status |= pkg_file_set_md5(pf, md5); + status |= pkg_file_set_owner(pf, owner); + status |= pkg_file_set_group(pf, group); + status |= pkg_file_set_mode(pf, mode); + + if (status != PKG_OK) + pkg_file_delete(pf); + + return (status); +} + /* Set the short comment for this package */ int pkg_set_comment(struct pkg *p, const char *comment) ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#28 (text+ko) ==== @@ -58,175 +58,8 @@ #define BAD_OR_UNKNOWN_VALUE "???" -/* TODO: All these explicit functions are great, but the client doesn't - * need to make a "new" pkg_cfl, when all they really have to insert are a - * sting and an integer (they dont even have to set the int). So write - * some functions that give them ways to make these entities with a single - * call. */ - -/* pkg_file */ - -struct pkg_file; - -struct pkg_file *pkg_file_new(void); - -const char *pkg_file_path(struct pkg_file *pf); - -const char *pkg_file_md5(struct pkg_file *pf); - -const char *pkg_file_owner(struct pkg_file *pf); - -const char *pkg_file_group(struct pkg_file *pf); - -const char *pkg_file_mode(struct pkg_file *pf); - -int pkg_file_set_path(struct pkg_file *pf, const char *path); - -int pkg_file_set_md5(struct pkg_file *pf, const char *md5); - -int pkg_file_set_owner(struct pkg_file *pf, const char *owner); - -int pkg_file_set_group(struct pkg_file *pf, const char *group); - -int pkg_file_set_mode(struct pkg_file *pf, const char *mode); - -/* pkg_dep */ - -struct pkg_dep; - -struct pkg_dep *pkg_dep_new(void); - -struct pkg_dep *pkg_dep_set_name(struct pkg_dep *pd, const char *name); - -struct pkg_dep *pkg_dep_set_origin(struct pkg_dep *pd, const char *origin); - -const char *pkg_dep_name(struct pkg_dep *pd); - -const char *pkg_dep_origin(struct pkg_dep *pd); - -/* pkg_cfl */ - -struct pkg_cfl; - -struct pkg_cfl *pkg_cfl_new(void); - -int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); - -const char *pkg_cfl_name(struct pkg_cfl *pc); - /* pkg */ -/* Add mtree stuff later. */ - -struct pkg; - -struct pkg *pkg_new(void); - -void pkg_reset(struct pkg *p); - -char *pkg_ident(struct pkg *p); - -char *pkg_name(struct pkg *p); - -char *pkg_cwd(struct pkg *p); - -char *pkg_origin(struct pkg *p); - -char *pkg_comment(struct pkg *p); - -char *pkg_description(struct pkg *p); - -char *pkg_display(struct pkg *p); - -char *pkg_mtree_file(struct pkg *p); - -int pkg_extract_in_place(struct pkg *p); - -int pkg_preserve(struct pkg *p); - -int pkg_complete(struct pkg *p); - -int pkg_set_ident(struct pkg *p, const char *ident); - -int pkg_set_name(struct pkg *p, const char *name); - -int pkg_set_cwd(struct pkg *p, const char *cwd); - -int pkg_set_orgin(struct pkg *p, const char *orgin); - -int pkg_set_comment(struct pkg *p, const char *comment); - -int pkg_set_contents(struct pkg *p, const char *contents); - -int pkg_set_description(struct pkg *p, const char *description); - -int pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs); - -int pkg_set_required_by(struct pkg *p, const char *required_by); - -int pkg_set_display(struct pkg *p, const char *display); - -#if 0 -int pkg_set_mtree_file(struct pkg *p, const char *mtree_file); -#endif - -int pkg_parse_plist(struct pkg *p); - -void pkg_pkg_file_list_init(struct pkg *p); - -struct pkg_file *pkg_pkg_file_list_next(struct pkg *p); - -int pkg_pkg_file_list_reset(struct pkg *p); - -int pkg_pkg_file_add(struct pkg *p, struct pkg_file *pf); - -int pkg_pkg_file_remove(struct pkg *p, struct pkg_file *pf); - -void pkg_pkg_dep_list_init(struct pkg *p); - -struct pkg_dep *pkg_pkg_dep_list_next(struct pkg *p); - -void pkg_pkg_cfl_list_init(struct pkg *p); - -struct pkg_cfl *pkg_pkg_cfl_list_next(struct pkg *p); - -void pkg_delete(struct pkg *p); - -/* pkgdb */ - -struct pkgdb; - -struct pkgdb *pkgdb_new(int type); - -int pkgdb_db_open(struct pkgdb *db, const char *db_root); - -int pkgdb_db_init(struct pkgdb *db); - -char *pkgdb_db_root(struct pkgdb *db); - -int pkgdb_db_close(struct pkgdb *db); - -int pkgdb_pkg_next(struct pkgdb *db, struct pkg *p); - -int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident); - -#if 0 -int pkgdb_pkg_put(struct pkgdb *db, struct pkg *p); - -int pkgdb_db_sync(struct pkgdb *db); -#endif - -void pkgdb_db_delete(struct pkgdb *db); - -/* Util (will probably dissapear). */ - -void pkg_dump(struct pkg *p, FILE *stream); - - -#if 0 - -/* pkg */ - struct pkg *pkg_new(); void pkg_delete(struct pkg *p); int pkg_reset(struct pkg *p); @@ -275,7 +108,7 @@ int pkgdb_init(struct pkgdb *db); /* Return a list of packages by _ident_. */ -const char *pkgdb_all_pkgs(struct pkgdb *db); +const char *pkgdb_all_pkgs(struct pkgdb *db); /* rename. this is lulz. */ int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); @@ -293,5 +126,3 @@ void pkgarcv_delete(struct pkgarcv *pa; #endif - -#endif From owner-p4-projects@FreeBSD.ORG Tue Jul 7 03:05:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BB631065676; Tue, 7 Jul 2009 03:05:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D334B1065674 for ; Tue, 7 Jul 2009 03:05:42 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B6C768FC15 for ; Tue, 7 Jul 2009 03:05:42 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6735g6d069151 for ; Tue, 7 Jul 2009 03:05:42 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6735gHR069149 for perforce@freebsd.org; Tue, 7 Jul 2009 03:05:42 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 7 Jul 2009 03:05:42 GMT Message-Id: <200907070305.n6735gHR069149@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165728 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 03:05:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=165728 Change 165728 by dforsyth@squirrel on 2009/07/07 03:05:23 Some changes to pkg_plist.h. Most of the code isn't written. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#31 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#29 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#23 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#19 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#31 (text+ko) ==== @@ -24,7 +24,8 @@ char *display; char *mtree_dirs; char *required_by; - + + struct pkg_sub *psub; struct pkg_plist *plist; short dirty; @@ -225,6 +226,74 @@ return (pkg_plist_set_origin(p->plist, origin)); } +/* Retreive the short comment for this package. (Maybe consider moving + * this into the plist? */ + +const char * +pkg_comment(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (p->comment); +} + +/* Retrieve the long description for this package. */ + +const char * +pkg_description(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (p->description); +} + +/* Set the short comment for this package */ + +int +pkg_set_comment(struct pkg *p, const char *comment) +{ + char *f; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->comment); + p->comment = (comment != NULL) ? strdup(comment) : NULL; + if (p->comment == NULL) + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + /* Blot out trailing \n, if it's there. */ + f = strrchr(p->comment, (int)'\n'); + if (f != NULL && *(f + 1) == '\0') + *f = '\0'; + + return (PKG_OK); +} + +/* Set the long description for this package. */ + +int +pkg_set_description(struct pkg *p, const char *description) +{ + char *f; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->description); + p->description = (description != NULL) ? strdup(description) : NULL; + if (p->description == NULL) + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + f = strrchr(p->description, (int)'\n'); + if (f != NULL && *(f + 1) == '\0') + *f = '\0'; + + return (PKG_OK); +} + /* Maybe I should do these list retrievals in a fashion similar to * scandir? */ @@ -264,6 +333,9 @@ return (pkg_plist_conflicts(p->plist)); } +/* Add a file to a package. This is fairly useless at this point + * because... well, there the hell is the file coming from? */ + int pkg_add_file(struct pkg *p, const char *path, const char *md5, const char *owner, const char *group, const char *mode) @@ -303,92 +375,7 @@ return (status); } -/* Set the short comment for this package */ -int -pkg_set_comment(struct pkg *p, const char *comment) -{ - int c; - char *f; - - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->comment); - p->comment = (comment != NULL) ? strdup(comment) : NULL; - if (p->comment != NULL) { - /* Blot out trailing \n, if it's there. */ - c = (int)'\n'; - f = strrchr(p->comment, c); - if (f != NULL && *(f + 1) == '\0') - *f = '\0'; - } - - return (OK); -} - -/* Set the contents for this package. */ - -int -pkg_set_contents(struct pkg *p, const char *contents) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - /* Yes this makes for 3 copies of the text in memory at once, but just - * until I decide how I want to handle 'dirty' packages. */ - free(p->contents); - p->contents = (contents != NULL) ? strdup(contents) : NULL; - - return (OK); -} - -int -pkg_set_description(struct pkg *p, const char *description) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->description); - p->description = (description != NULL) ? strdup(description) : NULL; - - return (OK); -} - -int -pkg_set_display(struct pkg *p, const char *display) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->display); - p->display = (display != NULL) ? strdup(display) : NULL; - - return (OK); -} - -int -pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->mtree_dirs); - p->mtree_dirs = (mtree_dirs != NULL) ? strdup(mtree_dirs) : NULL; - - return (OK); -} - -int -pkg_set_required_by(struct pkg *p, const char *required_by) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->required_by); - p->required_by = (required_by != NULL) ? strdup(required_by) : NULL; - - return (OK); -} +/* Parse the plist (contents) of a package. */ int pkg_parse_plist(struct pkg *p) @@ -407,124 +394,3 @@ status = pkg_plist_parse_contents_from_text(p->plist, p->contents); return (status); } - -/* ident and name are different, even though they might be the same. */ - -char * -pkg_comment(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (p->comment); -} - -/* Functions to access information stored in the pkg_plist. */ - - - -char * -pkg_mtree_file(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - return (pkg_plist_mtree_file(p->plist)); -} - -/* Other properties. */ - -int -pkg_extract_in_place(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (PKG_PARSE_NOT_OK); - - return (pkg_plist_extract_in_place(p->plist)); -} - -int -pkg_preserve(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (PKG_PARSE_NOT_OK); - - return (pkg_plist_preserve(p->plist)); -} - -int -pkg_complete(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (PKG_PARSE_NOT_OK); - - return (pkg_plist_complete(p->plist)); -} - -/* These need to be renamed. */ - -void -pkg_pkg_file_list_init(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - pkg_plist_pkg_file_list_reset(p->plist); -} - -struct pkg_file * -pkg_pkg_file_list_next(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_file_list_next(p->plist)); -} - -void -pkg_pkg_dep_list_init(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_dep_list_reset(p->plist)); -} - -struct pkg_dep * -pkg_pkg_dep_list_next(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_dep_list_next(p->plist)); -} - -void -pkg_pkg_cfl_list_init(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_cfl_list_reset(p->plist)); -} - -struct pkg_cfl * -pkg_pkg_cfl_list_next(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_cfl_list_next(p->plist)); -} - ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#29 (text+ko) ==== @@ -74,6 +74,13 @@ int pkg_set_cwd(struct pkg *p, const char *cwd); int pkg_set_origin(struct pkg *p, const char *origin); +const char *pkg_comment(struct pkg *p); +const char *pkg_description(struct pkg *p); + +int pkg_set_comment(struct pkg *p, const char *comment); +int pkg_set_description(struct pkg *p, const char *description); +/* Add mtree_dirs, display, etc, etc. */ + const char **pkg_files(struct pkg *p); const char **pkg_depends(struct pkg *p); const char **pkg_conflicts(struct pkg *p); @@ -96,6 +103,9 @@ int pkg_remove_conflict(struct pkg *p, const char *name); const char *pkg_conflict_version(struct pkg *p, const char *name); +/* TODO: Should I add a function to add names of pkgs that depend on a + * pkg? */ + /* TODO: Add installation/deinstallation routine modification... routines. */ /* pkgdb */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#23 (text+ko) ==== @@ -93,18 +93,6 @@ } int -pkg_plist_new_from_text(const char *text) -{ - int status; - struct pkg_plist *pl; - - pl = pkg_plist_new(); - status = pkg_plist_parse_contents_from_text(pl, text); - - return (status); -} - -int pkg_plist_parse_contents_from_text(struct pkg_plist *pl, const char *text) { int s; @@ -410,191 +398,3 @@ return (pl->complete); } -/* I should really just write a set of generic routine to handle this - * whole mess. */ - -/* Temporarily void. */ -void -pkg_plist_pkg_file_list_reset(struct pkg_plist *pl) -{ - /* If you init again, it clears the list. So don't. */ - pl->pkg_file_curr = NULL; -} - -struct pkg_file * -pkg_plist_pkg_file_list_next(struct pkg_plist *pl) -{ - struct pkg_file *pf; - - if (pl == NULL) - return (NULL); - - if (pl->pkg_file_curr == NULL) - pf = pkg_plist_pkg_file_list_first(pl); - else - pf = TAILQ_NEXT(pl->pkg_file_curr, next); - - if (pf != NULL) - pl->pkg_file_curr = pf; - - return (pf); -} - -void -pkg_plist_pkg_file_list_init(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - TAILQ_INIT(&pl->pkg_file_head); -} - -struct pkg_file * -pkg_plist_pkg_file_list_first(struct pkg_plist *pl) -{ - if (pl == NULL) - return (NULL); - - return (TAILQ_FIRST(&pl->pkg_file_head)); -} - -struct pkg_file * -pkg_plist_pkg_file_list_last(struct pkg_plist *pl) -{ - if (pl == NULL) - return (NULL); - - return (TAILQ_LAST(&pl->pkg_file_head, pkg_file_head)); -} - -void -pkg_plist_pkg_file_list_append(struct pkg_plist *pl, struct pkg_file *pf) -{ - if (pl == NULL || pf == NULL) - return; - - TAILQ_INSERT_TAIL(&pl->pkg_file_head, pf, next); -} - -/* pkg_dep list manipulation and access. */ -/* generalize plz. */ - -void -pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - pl->pkg_dep_curr = NULL; -} - -void -pkg_plist_pkg_dep_list_init(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - TAILQ_INIT(&pl->pkg_dep_head); -} - -struct pkg_dep * -pkg_plist_pkg_dep_list_last(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (TAILQ_LAST(&pl->pkg_dep_head, pkg_dep_head)); -} - -void -pkg_plist_pkg_dep_list_append(struct pkg_plist *pl, struct pkg_dep *pd) -{ - if (pl == NULL || pd == NULL) - return; - - TAILQ_INSERT_TAIL(&pl->pkg_dep_head, pd, next); -} - -struct pkg_dep * -pkg_plist_pkg_dep_list_next(struct pkg_plist *pl) -{ - struct pkg_dep *pd; - - if (pl == NULL) - return (NULL); - - if (pl->pkg_dep_curr == NULL) - pd = pkg_plist_pkg_dep_list_first(pl); - else - pd = TAILQ_NEXT(pl->pkg_dep_curr, next); - - if (pd != NULL) - pl->pkg_dep_curr = pd; - - return (pd); -} - -struct pkg_dep * -pkg_plist_pkg_dep_list_first(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (TAILQ_FIRST(&pl->pkg_dep_head)); -} - -void -pkg_plist_pkg_cfl_list_init(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - TAILQ_INIT(&pl->pkg_cfl_head); -} - -void -pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, struct pkg_cfl *pc) -{ - if (pl == NULL || pc == NULL) - return; - - TAILQ_INSERT_TAIL(&pl->pkg_cfl_head, pc, next); -} - -struct pkg_cfl * -pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (TAILQ_FIRST(&pl->pkg_cfl_head)); -} - -void -pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - pl->pkg_cfl_curr = NULL; -} - -struct pkg_cfl * -pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl) -{ - struct pkg_cfl *pc; - - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - if (pl->pkg_cfl_curr == NULL) - pc = pkg_plist_pkg_cfl_list_first(pl); - else - pc = TAILQ_NEXT(pl->pkg_cfl_curr, next); - - if (pc != NULL) - pl->pkg_cfl_curr = pc; - - return (pc); -} - ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#19 (text+ko) ==== @@ -81,19 +81,6 @@ char *text; /* The entire plist */ - struct pkg_file *pkg_file_curr; - struct pkg_dep *pkg_dep_curr; - struct pkg_cfl *pkg_cfl_curr; - - /* Use these lists here so that appending to our list doesnt need a - * bunch of realloc procedures. This will be convenient for clients - * that want to build plists on the fly, modify plists, etc. */ - /* No, screw them I hate them and hope they burn. */ - - TAILQ_HEAD(pkg_file_head, pkg_file) pkg_file_head; /* pkg_file list. */ - TAILQ_HEAD(pkg_dep_head, pkg_dep) pkg_dep_head; /* pkg_dep list. */ - TAILQ_HEAD(pkg_cfl_head, pkg_cfl) pkg_cfl_head; /* pkg_cfl list. */ - unsigned int pkg_file_cnt; struct pkg_file *pkg_file_list; @@ -107,22 +94,16 @@ }; struct pkg_plist *pkg_plist_new(void); +void pkg_plist_delete(struct pkg_plist *pl); +void pkg_plist_reset(struct pkg_plist *pl); int pkg_plist_parsed(struct pkg_plist *pl); - -void pkg_plist_reset(struct pkg_plist *pl); - -int pkg_plist_new_from_text(const char *text); int pkg_plist_parse_contents_from_text(struct pkg_plist *pl, const char *text); int pkg_plist_parse_line(struct pkg_plist *pl, char *line, struct parse_state *st); -void pkg_plist_pkg_file_list_reset(struct pkg_plist *pl); - -struct pkg_file *pkg_plist_pkg_file_list_next(struct pkg_plist *pl); - char *pkg_plist_name(struct pkg_plist *pl); char *pkg_plist_cwd(struct pkg_plist *pl); char *pkg_plist_origin(struct pkg_plist *pl); @@ -132,37 +113,27 @@ int pkg_plist_preserve(struct pkg_plist *pl); int pkg_plist_complete(struct pkg_plist *pl); -void pkg_plist_pkg_file_list_init(struct pkg_plist *pl); -struct pkg_file *pkg_plist_pkg_file_list_first(struct pkg_plist *pl); -struct pkg_file *pkg_plist_pkg_file_list_last(struct pkg_plist *pl); -void pkg_plist_pkg_file_list_append(struct pkg_plist *pl, - struct pkg_file *pf); +void set_parse_state_default(struct parse_state *st); -void set_parse_state_default(struct parse_state *st); +/* pkg_file */ -void pkg_plist_delete(struct pkg_plist *pl); +int pkg_plist_add_file(struct pkg_plist *pl, const char *path, + const char *md5, const char *owner, const char *group, + const char *mode); +int pkg_plist_remove_file(struct pkg_plist *pl, const char *path); +const char **pkg_plist_files(struct pkg_plist *pl); /* pkg_dep */ -void pkg_plist_pkg_dep_list_init(struct pkg_plist *pl); -struct pkg_dep *pkg_plist_pkg_dep_list_last(struct pkg_plist *pl); - -void pkg_plist_pkg_dep_list_append(struct pkg_plist *pl, - struct pkg_dep *pd); +int pkg_plist_add_depend(struct pkg_plist *pl, const char *name, + const char *origin); +int pkg_plist_remove_depend(struct pkg_plist *pl, const char *name); +const char **pkg_plist_depends(struct pkg_plist *pl); -void pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl); -struct pkg_dep *pkg_plist_pkg_dep_list_next(struct pkg_plist *pl); -struct pkg_dep *pkg_plist_pkg_dep_list_first(struct pkg_plist *pl); - /* pkg_cfl */ -void pkg_plist_pkg_cfl_list_init(struct pkg_plist *pl); - -void pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, - struct pkg_cfl *pc); - -void pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl); -struct pkg_cfl *pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl); -struct pkg_cfl *pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl); +int pkg_plist_add_conflict(struct pkg_plist *pl, const char *name); +int pkg_plist_remove_conflict(struct pkg_plist *pl, const char *name); +const char **pkg_plist_conflicts(struct pkg_plist *pl); #endif From owner-p4-projects@FreeBSD.ORG Tue Jul 7 05:32:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C0561065673; Tue, 7 Jul 2009 05:32:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42A921065672 for ; Tue, 7 Jul 2009 05:32:23 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F5668FC16 for ; Tue, 7 Jul 2009 05:32:23 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n675WMtY091912 for ; Tue, 7 Jul 2009 05:32:22 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n675WMAr091910 for perforce@freebsd.org; Tue, 7 Jul 2009 05:32:22 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 7 Jul 2009 05:32:22 GMT Message-Id: <200907070532.n675WMAr091910@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165729 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 05:32:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=165729 Change 165729 by dforsyth@squirrel on 2009/07/07 05:32:16 Renamed pkgdb to pkg_db and moved some things around. Pushed for backup. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#32 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#30 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.c#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.c#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_private.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#24 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#20 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#21 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#14 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#12 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#7 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#6 delete .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#20 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#32 (text+ko) ==== @@ -2,15 +2,13 @@ #include #include -#include - #include "pkg_util.h" #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_cfl.h" #include "pkg_plist.h" -#include "pkgdb_hierdb.h" -#include "pkgdb.h" +#include "pkg_db_hierdb.h" +#include "pkg_db.h" #include "pkg_private.h" #include "pkg_sub.h" #include "pkg.h" @@ -25,7 +23,6 @@ char *mtree_dirs; char *required_by; - struct pkg_sub *psub; struct pkg_plist *plist; short dirty; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#30 (text+ko) ==== @@ -108,31 +108,31 @@ /* TODO: Add installation/deinstallation routine modification... routines. */ -/* pkgdb */ +/* pkg_db */ -struct pkgdb *pkgdb_new(); -void pkgdb_delete(struct pkgdb *db); +struct pkg_db *pkg_db_new(); +void pkg_db_delete(struct pkg_db *db); -int pkgdb_open(struct pkgdb *db, const char *path, int db_type); +int pkg_db_open(struct pkg_db *db, const char *path, int db_type); /* With the new design, is "init" even needed? */ -int pkgdb_init(struct pkgdb *db); +int pkg_db_init(struct pkg_db *db); /* Return a list of packages by _ident_. */ -const char *pkgdb_all_pkgs(struct pkgdb *db); /* rename. this is lulz. */ -int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); +const char *pkg_db_all_pkgs(struct pkg_db *db); /* rename. this is lulz. */ +int pkg_db_select_pkg(struct pkg_db *db, struct pkg *p, const char *pkgident); -int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); -int pkgdb_delete_pkg(struct pkgdb *db, const char *pkgident); -int pkgdb_update_pkg(struct pkgdb *db, const char *pkgident, struct pkg *p); +int pkg_db_insert_pkg(struct pkg_db *db, struct pkg *p); +int pkg_db_delete_pkg(struct pkg_db *db, const char *pkgident); +int pkg_db_update_pkg(struct pkg_db *db, const char *pkgident, struct pkg *p); -/* pkgrepo */ +/* pkg_repo */ struct pkgrepo *pkgrepo_new(); void pkgrepo_delete(struct pkgrepo *pr); -/* pkgarcv */ +/* pkgarchive */ -struct pkgarcv *pkgarcv_new(); -void pkgarcv_delete(struct pkgarcv *pa; +struct pkgarchive *pkgarchive_new(); +void pkgarchive_delete(struct pkgarchive *pa; #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#4 (text+ko) ==== @@ -1,12 +1,9 @@ #ifndef __PKG_CFL_H__ #define __PKG_CFL_H__ -/* Yes, I'm that lazy. */ struct pkg_cfl { char *name; int version; - - TAILQ_ENTRY(pkg_cfl) next; }; #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#6 (text+ko) ==== @@ -10,8 +10,6 @@ char *origin; int version; - - TAILQ_ENTRY(pkg_dep) next; }; #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#6 (text+ko) ==== @@ -11,8 +11,6 @@ char *owner; char *group; char *mode; - - TAILQ_ENTRY(pkg_file) next; }; #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#24 (text+ko) ==== @@ -14,7 +14,7 @@ #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_plist.h" -#include "pkgdb.h" +#include "pkg_db.h" #include "pkg.h" /* TODO: Create plist setter functions for building packages. */ @@ -50,11 +50,7 @@ void pkg_plist_delete(struct pkg_plist *pl) { - /* TODO: Write this function. */ -#if 0 - pkg_plist_pkg_list_free(pl); - pkg_plist_pkg_dep_free(pl); -#endif + pkg_plist_reset(pl); free(pl); return; } @@ -74,16 +70,28 @@ if (pl == NULL) arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - /* TODO: Write this. */ + int c; + + free(pl->rev); + free(pl->cwd); + free(pl->name); + free(pl->origin); + free(pl->srcdir); + for (c = 0; c < pl->pkg_file_cnt; ++c) + pkg_file_reset(pl->pkg_file_list[c]); free(pl->pkg_file_list); pl->pkg_file_cnt = 0; - free(pl->pkg_dep_list); - pl->pkg_dep_cnt = 0; + for (c = 0; c < pl->pkg_depends_cnt; ++c) + pkg_depend_reset(pl->pkg_depends_list[c]); + free(pl->pkg_depend_list); + pl->pkg_depend_cnt = 0; - free(pl->pkg_cfl_list); - pl->pkg_cfl_cnt = 0; + for (c = 0; c < pl->pkg_conflicts_cnt; ++c) + pkg_conflict_reset(pl->pkg_conflicts_list[c]); + free(pl->pkg_conflict_list); + pl->pkg_conflict_cnt = 0; pl->extract_in_place = 0; pl->preserve = 0; @@ -333,8 +341,6 @@ return (s); } -/* pkg_file list manipulation and access. */ - char * pkg_plist_name(struct pkg_plist *pl) { @@ -362,15 +368,6 @@ return (pl->origin); } -char * -pkg_plist_mtree_file(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (pl->mtree_file); -} - int pkg_plist_extract_in_place(struct pkg_plist *pl) { ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#20 (text+ko) ==== @@ -70,11 +70,9 @@ struct pkg_plist { char *rev; char *cwd; - char *srcdir; char *name; char *origin; - char *display; - char *mtree_file; + char *srcdir; short extract_in_place; short preserve; short complete; /* fat. */ @@ -104,10 +102,13 @@ int pkg_plist_parse_line(struct pkg_plist *pl, char *line, struct parse_state *st); -char *pkg_plist_name(struct pkg_plist *pl); -char *pkg_plist_cwd(struct pkg_plist *pl); -char *pkg_plist_origin(struct pkg_plist *pl); -char *pkg_plist_mtree_file(struct pkg_plist *pl); +const char *pkg_plist_name(struct pkg_plist *pl); +const char *pkg_plist_cwd(struct pkg_plist *pl); +const char *pkg_plist_origin(struct pkg_plist *pl); + +int pkg_plist_set_name(struct pkg_plist *pl, const char *name); +int pkg_plist_set_cwd(struct pkg_plist *pl, const char *cwd); +int pkg_plist_set_origin(struct pkg_plist *pl, const char *origin); int pkg_plist_extract_in_place(struct pkg_plist *pl); int pkg_plist_preserve(struct pkg_plist *pl); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#5 (text+ko) ==== @@ -198,10 +198,10 @@ return (PKG_SUB_OK); } -/* Initialize a pkg_sub in a pkgdb. */ +/* Initialize a pkg_sub in a pkg_db. */ int -pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident) +pkg_sub_init(struct pkg_sub *ps, struct pkg_db *db, const char *ident) { char *pathp; @@ -210,7 +210,7 @@ pkg_sub_reset(ps); pkg_sub_set_ident(ps, ident); - pathp = path_build(pkgdb_db_root(db), ident); + pathp = path_build(pkg_db_db_root(db), ident); if (pathp == NULL) { free(ps->ident); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#5 (text+ko) ==== @@ -1,7 +1,7 @@ #ifndef __PKG_DIR_H__ #define __PKG_DIR_H__ -#include "pkgdb.h" +#include "pkg_db.h" #define PKG_SUB_MEM_ERR(x) x & SUB_MEMORY_ERR @@ -49,7 +49,7 @@ int pkg_sub_mark_unread(struct pkg_sub *ps); -int pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident); +int pkg_sub_init(struct pkg_sub *ps, struct pkg_db *db, const char *ident); int pkg_sub_reset(struct pkg_sub *ps); ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#20 (text+ko) ==== @@ -27,7 +27,7 @@ { int status; const char *db_root; - struct pkgdb *db; + struct pkg_db *db; if (argc == 1 && argv != NULL /* Giving argv something to do */) { opt_all = 1; @@ -40,16 +40,16 @@ if (db_root == NULL) db_root = PKG_DBDIR_DEFAULT; /* Default */ #if 0 - db = pkgdb_new(HIER_DB); + db = pkg_db_new(HIER_DB); if (db == NULL) { fprintf(stderr, "Could not attach to database \"%s\"\n", db_root); } #endif - db = pkgdb_new(HIER_DB); + db = pkg_db_new(HIER_DB); if (db == NULL) exit(EXIT_FAILURE); - status = pkgdb_db_open(db, db_root); + status = pkg_db_db_open(db, db_root); if (status) { fprintf(stderr, "Could not open database \"%s\"\n", db_root); exit(EXIT_FAILURE); @@ -57,7 +57,7 @@ perform_on_db(db); - // pkgdb_db_delete(db); + // pkg_db_db_delete(db); return (EXIT_SUCCESS); } @@ -85,7 +85,7 @@ } void -perform_on_db(struct pkgdb *db) +perform_on_db(struct pkg_db *db) { int status; /* char *target; */ @@ -98,14 +98,14 @@ if (p == NULL) exit(EXIT_FAILURE); - status = pkgdb_db_init(db); + status = pkg_db_db_init(db); if (status) { fprintf(stderr, "Could not initialize database \"%s\"\n", - pkgdb_db_root(db)); + pkg_db_db_root(db)); exit(EXIT_FAILURE); } - while ((status = pkgdb_pkg_next(db, p)) != DB_NO_PKG) { + while ((status = pkg_db_pkg_next(db, p)) != DB_NO_PKG) { if (!opt_all) { /* Wont happen at this point. */ /* Do some matching magic that I haven't written yet. */ print_pkg_information(p); From owner-p4-projects@FreeBSD.ORG Tue Jul 7 07:26:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B7EB21065675; Tue, 7 Jul 2009 07:26:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 733031065670 for ; Tue, 7 Jul 2009 07:26:27 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 604B88FC1E for ; Tue, 7 Jul 2009 07:26:27 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n677QRGk002695 for ; Tue, 7 Jul 2009 07:26:27 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n677QR18002693 for perforce@freebsd.org; Tue, 7 Jul 2009 07:26:27 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 7 Jul 2009 07:26:27 GMT Message-Id: <200907070726.n677QR18002693@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165730 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 07:26:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=165730 Change 165730 by rene@rene_self on 2009/07/07 07:26:08 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#27 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#12 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml#8 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#22 integrate .. //depot/projects/docproj_nl/www/en/docproj/translations.sgml#6 integrate .. //depot/projects/docproj_nl/www/en/donations/donors.sgml#17 integrate .. //depot/projects/docproj_nl/www/en/layout/css/iefixes.css#2 integrate .. //depot/projects/docproj_nl/www/en/layout/css/navigation.css#2 integrate .. //depot/projects/docproj_nl/www/en/search/search.sgml#5 integrate .. //depot/projects/docproj_nl/www/share/sgml/header.ent#4 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#27 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -129,6 +129,11 @@ &pgpkey.obraun; + + &a.makc; + &pgpkey.makc; + + &a.antoine; &pgpkey.antoine; ==== //depot/projects/docproj_nl/www/en/docproj/translations.sgml#6 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -34,23 +34,21 @@

The FreeBSD Brazilian Portuguese Documentation Project

Web: http://doc.fugspbr.org/
+ href="http://doc.fug.com.br/">http://doc.fug.com.br/
-E-Mail: lioux@FreeBSD.org
+E-Mail: ebrandi@fugspbr.org
Mailing lists available
Access the following URL - http://lists.fugspbr.org/listinfo.cgi/doc-fugspbr.org/ + href="https://www.fug.com.br/mailman/listinfo/doc/"> + https://www.fug.com.br/mailman/listinfo/doc/ for instructions on how to subscribe to the Brazilian Portuguese translation group's mailing list.
- Or, send an email to doc-request@fugspbr.org - with the word "subscribe" in the subject of the message.
Posting is allowed for the members at doc@fugspbr.org + href="mailto:doc@fug.com.br">doc@fug.com.br
Documents available
@@ -63,11 +61,7 @@
Documents currently being worked on
-
FreeBSD Documentation - Project Primer for New Contributors
- -
FreeBSD - Handbook
+
FreeBSD Documentation Project Primer for New Contributors
==== //depot/projects/docproj_nl/www/en/donations/donors.sgml#17 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -2593,6 +2593,13 @@ rpaulo Received + + + Alexis Megas <megas@alum.rpi.edu> + Sun Ultra Sparc 60 + glewis + Received + &footer; ==== //depot/projects/docproj_nl/www/en/layout/css/iefixes.css#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* * FreeBSD.org - Fixes for Internet Explorer - * $FreeBSD: www/en/layout/css/iefixes.css,v 1.3 2005/11/23 14:22:06 keramida Exp $ + * $FreeBSD: www/en/layout/css/iefixes.css,v 1.4 2009/07/06 22:09:22 danger Exp $ */ /*Win IE fix \*/ @@ -8,6 +8,9 @@ * html #TOPNAVLIST li { margin: 0 0.5em 0 -0.5em; } * html #topnavlist li { margin: 0 0.5em 0 -0.5em; } +* html #MENU ul.first { border-left: 0; } +* html #MENU li { margin: 0.2em 0 -1em 0; } + * html #languagenavlist li { padding: 0 0.1em 0 0.4em; } * html #languagenavlist li.last-child { padding: 0 0em 0 0.4em; } ==== //depot/projects/docproj_nl/www/en/layout/css/navigation.css#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD.org - Navigation (and List) Styles * - * $FreeBSD: www/en/layout/css/navigation.css,v 1.6 2008/01/16 02:10:22 murray Exp $ + * $FreeBSD: www/en/layout/css/navigation.css,v 1.7 2009/07/06 22:09:22 danger Exp $ */ /* Site Navigation */ @@ -71,6 +71,77 @@ padding-left: 0; } +/* New drop-down menu implementation */ + +#MENU { + width: 100%; + float: left; + height: 29px; + font-size: 0.9em; + margin: 5px 0 2px 0; + font-weight: bold; +} + +#MENU ul { + list-style: none; + margin: 0; + padding: 0px 10px 2px 10px; + float: left; + border-left: 1px solid #B4B4B4; +} + +#MENU ul:first-child { + padding-left: 0; + border: 0; +} + +#MENU a { + display: block; + padding: 0px 3px; + color: #666; + text-decoration: none; +} + +#MENU a:hover { + color: #990000; +} + +#MENU li { + position: relative; +} + +#MENU ul ul { + position: absolute; + background-color: #e5e5e5; + padding: 2px; + border: 0; + width: 10em; + z-index: 500; +} + +#MENU ul ul li { + border-top: 1px solid #B4B4B4; + padding: 4px 0 4px 0; +} + +#MENU ul ul ul { + top: 0; + left: 100%; + background: #e5e5e5; +} + +div#MENU ul ul, +div#MENU ul li:hover ul ul, +div#MENU ul ul li:hover ul ul { + display: none; +} + +div#MENU ul li:hover ul, +div#MENU ul ul li:hover ul, +div#MENU ul ul ul li:hover ul { + display: block; +} + /* Language selection */ #LANGUAGENAV, #languagenav { ==== //depot/projects/docproj_nl/www/en/search/search.sgml#5 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -24,11 +24,9 @@

List of FreeBSD OpenSearch Plugins

==== //depot/projects/docproj_nl/www/share/sgml/header.ent#4 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -137,18 +137,77 @@ Site Navigation - '> Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3DEE11065675; Tue, 7 Jul 2009 10:46:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F29C21065672 for ; Tue, 7 Jul 2009 10:46:06 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C66C58FC1E for ; Tue, 7 Jul 2009 10:46:06 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67Ak6rN031479 for ; Tue, 7 Jul 2009 10:46:06 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67Ak6RB031476 for perforce@freebsd.org; Tue, 7 Jul 2009 10:46:06 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 7 Jul 2009 10:46:06 GMT Message-Id: <200907071046.n67Ak6RB031476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165743 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 10:46:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=165743 Change 165743 by anchie@anchie_malimis on 2009/07/07 10:46:06 Minor bug fixes. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/net/route.h#6 edit .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#6 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#12 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/net/route.h#6 (text+ko) ==== @@ -257,7 +257,7 @@ #define RTM_DELMADDR 0x10 /* mcast group membership being deleted */ #define RTM_IFANNOUNCE 0x11 /* iface arrival/departure */ #define RTM_IEEE80211 0x12 /* IEEE80211 wireless event */ -#define RTM_SND 0x13 /* SeND event. */ +#define RTM_SND 0x13 /* SeND event */ /* * Bitmask values for rtm_inits and rmx_locks. @@ -379,7 +379,7 @@ struct ifmultiaddr; void rt_ieee80211msg(struct ifnet *, int, void *, size_t); -void rt_securendmsg(struct ifnet *, int, void *, size_t data_len); +void rt_securendmsg(struct ifnet *, int, void *, size_t); void rt_ifannouncemsg(struct ifnet *, int); void rt_ifmsg(struct ifnet *); void rt_missmsg(int, struct rt_addrinfo *, int, int); ==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#6 (text+ko) ==== @@ -1181,15 +1181,15 @@ void rt_securendmsg(struct ifnet *ifp, int direction, void *data, size_t data_len) { - struct mbuf *m; + struct mbuf *m = NULL; struct rt_addrinfo info; switch (direction) { - case SEND_IN: + case SND_IN: /* Incoming traffic sent to userspace for SeND validation. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_IN, &info); break; - case SEND_OUT: + case SND_OUT: /* Outgoing traffic sent to userspace for SeND protection. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_OUT, &info); break; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#12 (text+ko) ==== @@ -24,13 +24,13 @@ } static int -send_output(int in, struct ifnet *ifp, struct mbuf *m, int msglen) +send_output(struct mbuf *m, struct ifnet *ifp, int in, int msglen) { /* * Send incoming or outgoing traffic to the user space either to be * protected (outgoing) or validated (incoming) according to rfc3971. */ - rt_sndmsg(ifp, in, m, msglen); + rt_securendmsg(ifp, in, m, msglen); return (0); } From owner-p4-projects@FreeBSD.ORG Tue Jul 7 12:45:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84DAC106568E; Tue, 7 Jul 2009 12:45:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40E841065695 for ; Tue, 7 Jul 2009 12:45:17 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 13DFD8FC15 for ; Tue, 7 Jul 2009 12:45:17 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67CjGUf042097 for ; Tue, 7 Jul 2009 12:45:16 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67CjGJM042095 for perforce@freebsd.org; Tue, 7 Jul 2009 12:45:16 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Tue, 7 Jul 2009 12:45:16 GMT Message-Id: <200907071245.n67CjGJM042095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165746 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 12:45:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=165746 Change 165746 by zhaoshuai@zhaoshuai on 2009/07/07 12:44:38 replace the license, suggested by Joel. Affected files ... .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#16 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#16 (text+ko) ==== @@ -1,20 +1,28 @@ /*- - * Copyright (c) 1996 John S. Dyson + * Copyright (c) 2009 Zhao Shuai + * Google Summer of Code project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright - * notice immediately at the beginning of the file, without modification, - * this list of conditions, and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Absolutely no warranty of function or purpose is made by the author - * John S. Dyson. - * 4. Modifications may be freely made to this file if the above conditions - * are met. + * + * 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 From owner-p4-projects@FreeBSD.ORG Tue Jul 7 12:49:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ECBD01065677; Tue, 7 Jul 2009 12:49:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A95321065673 for ; Tue, 7 Jul 2009 12:49:21 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 978F98FC1C for ; Tue, 7 Jul 2009 12:49:21 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67CnLVk052418 for ; Tue, 7 Jul 2009 12:49:21 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67CnLLd052416 for perforce@freebsd.org; Tue, 7 Jul 2009 12:49:21 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 7 Jul 2009 12:49:21 GMT Message-Id: <200907071249.n67CnLLd052416@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165747 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 12:49:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=165747 Change 165747 by anchie@anchie_malimis on 2009/07/07 12:49:21 mtod ip6_hdr on mbuff before passing to the user space. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#13 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#13 (text+ko) ==== @@ -26,11 +26,14 @@ static int send_output(struct mbuf *m, struct ifnet *ifp, int in, int msglen) { + struct ip6_hdr *ip6; + + ip6 = mtod(m, struct ip6_hdr *); /* * Send incoming or outgoing traffic to the user space either to be * protected (outgoing) or validated (incoming) according to rfc3971. */ - rt_securendmsg(ifp, in, m, msglen); + rt_securendmsg(ifp, in, ip6, msglen); return (0); } From owner-p4-projects@FreeBSD.ORG Tue Jul 7 12:56:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 279E01065710; Tue, 7 Jul 2009 12:56:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D42DB1065716 for ; Tue, 7 Jul 2009 12:56:29 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C1CE18FC23 for ; Tue, 7 Jul 2009 12:56:29 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67CuTGe052999 for ; Tue, 7 Jul 2009 12:56:29 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67CuTKe052997 for perforce@freebsd.org; Tue, 7 Jul 2009 12:56:29 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Tue, 7 Jul 2009 12:56:29 GMT Message-Id: <200907071256.n67CuTKe052997@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165748 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 12:56:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=165748 Change 165748 by zhaoshuai@zhaoshuai on 2009/07/07 12:55:30 comment on pipe_stat() Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#19 edit .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#17 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#19 (text+ko) ==== @@ -613,6 +613,7 @@ error = pipe_stat(fip->fi_rpipe, sb, cred, td); if (error) return (error); + /* pipe_stat zeros all fields of *ub, following assignment should be done after it */ sb->st_uid = fp->f_cred->cr_uid; sb->st_gid = fp->f_cred->cr_gid; return (0); ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#17 (text+ko) ==== @@ -194,6 +194,7 @@ error = pipe_stat(pipe, ub, active_cred, td); if (error) return (error); + /* pipe_stat zeros all fields of *ub, following assignment should be done after it */ ub->st_uid = fp->f_cred->cr_uid; ub->st_gid = fp->f_cred->cr_gid; return (0); From owner-p4-projects@FreeBSD.ORG Tue Jul 7 12:59:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 835321065674; Tue, 7 Jul 2009 12:59:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40B551065670 for ; Tue, 7 Jul 2009 12:59:42 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2CE448FC17 for ; Tue, 7 Jul 2009 12:59:42 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67CxgY3053180 for ; Tue, 7 Jul 2009 12:59:42 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67CxWPq053169 for perforce@freebsd.org; Tue, 7 Jul 2009 12:59:32 GMT (envelope-from gk@FreeBSD.org) Date: Tue, 7 Jul 2009 12:59:32 GMT Message-Id: <200907071259.n67CxWPq053169@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 165749 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 12:59:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165749 Change 165749 by gk@gk_h1 on 2009/07/07 12:58:52 IFC Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/MAC#2 delete .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/param.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/vm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/locore.S#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/DB-78XXX#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/DB-88F5XXX#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/DB-88F6XXX#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/intr.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/param.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/vm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/common.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/files.mv#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/ic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mvreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/orion/orion.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/avila_led.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/common/boot.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/Makefile#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/cam.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/cam_periph.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/compat/opensolaris/kern/opensolaris.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/ndis/subr_ndis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_sysent.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/NOTES#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files.amd64#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files.i386#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files.powerpc#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/newvers.sh#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/options#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/CHANGES.txt#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acapps.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acconfig.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acdebug.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acdisasm.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acdispat.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acefi.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acenv.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acevents.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acexcep.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acfreebsd.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acgcc.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acglobal.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/achware.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acinterp.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/aclocal.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acmacros.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acnames.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acnamesp.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acobject.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acopcode.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acoutput.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acparser.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpi.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpiosxf.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpixf.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acresrc.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acstruct.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actables.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actbl.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actbl1.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actbl2.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actypes.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acutils.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/aecommon.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/amlcode.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/amlresrc.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/adfile.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/adwalk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmrestag.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmtable.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmtbdump.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmtbinfo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslanalyze.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompile.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompiler.y#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslfold.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asltree.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asltypes.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslutils.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbcmds.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbdisply.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbexec.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbfileio.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbhistry.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbinput.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbstats.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmbuffer.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmnames.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmopcode.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmresrc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmresrcl.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmresrcs.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmwalk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsfield.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsinit.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsmethod.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsmthdat.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsopcode.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswexec.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswload.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswscope.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswstate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evevent.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evgpe.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evgpeblk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evregion.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evrgnini.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evsci.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evxfevnt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evxfregn.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exconfig.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exconvrt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/excreate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exdump.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exfield.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exfldio.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exmutex.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exnames.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg1.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg2.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg3.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg6.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exprep.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exregion.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exresnte.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exresolv.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exresop.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exstore.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exstoren.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exstorob.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exsystem.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwacpi.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwgpe.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwregs.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwsleep.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwtimer.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsaccess.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsalloc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsdump.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsdumpdv.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nseval.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsinit.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsload.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsnames.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsparse.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nssearch.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nswalk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsxfeval.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsxfname.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsxfobj.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/osunixxf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psargs.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psloop.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psopcode.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psparse.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psscope.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/pstree.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/pswalk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsaddr.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rscalc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rscreate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsdump.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsinfo.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsio.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsirq.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rslist.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsmemory.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbfadt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbfind.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbinstal.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbxfroot.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utalloc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utcache.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utclib.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utcopy.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utdebug.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utdelete.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/uteval.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utglobal.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utinit.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utmath.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utmutex.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utresrc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utstate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/uttrack.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_panasonic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_smbat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/age/if_age.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_ali.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_amd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_ati.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_sis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/alc/if_alc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/alc/if_alcreg.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/alc/if_alcvar.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/asmc/asmc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-sata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-acard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-ahci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-intel.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-promise.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah_internal.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bwi/if_bwi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_multiq.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/dc/if_dc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_sysctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_em.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_igb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_igb.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/et/if_et.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fdc/fdc_acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fxp/if_fxp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis_usb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/iir/iir.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/iir/iir_ctrl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ipmi/ipmi_acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ksyms/ksyms.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/malo/if_malo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mca/mca_bus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/md/md.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mge/if_mge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/miidevs#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwl.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwl_pci.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwlioctl.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwlvar.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwldiag.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwlhal.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwlhal.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwlreg.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/my/if_my.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nge/if_nge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_bus_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_bus_subr.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/openfirm.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pci/pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/puc/pucdata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/re/if_re.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sec/sec.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sec/sec.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sf/if_sf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sis/if_sis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/smc/if_smc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/clone.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/driver.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/midi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/channel.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/fake.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_fmt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/g711.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sound.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/vchan.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/unit.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/version.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ste/if_ste.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/scterm-teken.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/teken/teken.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/uart/uart_cpu_mv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/at91dci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/atmegadci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/atmegadci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/musb_otg.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ohci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uhci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/usb_controller.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uss820dci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uss820dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/input/uhid.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/input/ukbd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/input/ums.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/misc/udbp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/misc/ufm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_aue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_auereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_axe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_axereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_cdce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_cue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_kue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_rue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_ruereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_udav.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_udavreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/usb_ethernet.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/usb_ethernet.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/quirk/usb_quirk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/u3g.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uark.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ubsa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ubser.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uchcom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ucycom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ufoma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uftdi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ugensa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uipaq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ulpt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/umct.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/umodem.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/umoscom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uplcom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/usb_serial.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/usb_serial.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uslcom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uvisor.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uvscom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/storage/umass.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/storage/urio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/storage/ustorage_fs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template_cdce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template_msc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template_mtp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_bus.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_busdma.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_compat_linux.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_compat_linux.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_controller.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 7 14:19:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24B1F1065673; Tue, 7 Jul 2009 14:19:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D74A6106564A for ; Tue, 7 Jul 2009 14:19:08 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C56788FC18 for ; Tue, 7 Jul 2009 14:19:08 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67EJ8jj061141 for ; Tue, 7 Jul 2009 14:19:08 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67EJ8p9061139 for perforce@freebsd.org; Tue, 7 Jul 2009 14:19:08 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 7 Jul 2009 14:19:08 GMT Message-Id: <200907071419.n67EJ8p9061139@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165750 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 14:19:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=165750 Change 165750 by anchie@anchie_malimis on 2009/07/07 14:18:27 mbuf.h include in netinet6/send.c. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#14 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#14 (text+ko) ==== @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -41,7 +42,6 @@ static int send_modevent(module_t mod, int type, void *unused) { - int error = 0; /* Add locking? icmp6.c and nd6.c are maybe using hooks.. */ From owner-p4-projects@FreeBSD.ORG Tue Jul 7 15:03:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB4B4106568D; Tue, 7 Jul 2009 15:03:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DF021065689 for ; Tue, 7 Jul 2009 15:03:58 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6A3528FC13 for ; Tue, 7 Jul 2009 15:03:58 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67F3wad065332 for ; Tue, 7 Jul 2009 15:03:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67F3wnG065330 for perforce@freebsd.org; Tue, 7 Jul 2009 15:03:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 7 Jul 2009 15:03:58 GMT Message-Id: <200907071503.n67F3wnG065330@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165757 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 15:04:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165757 Change 165757 by rwatson@rwatson_fledge on 2009/07/07 15:03:18 Add audit event identifiers for upcoming lpathconf(2) system all on FreeBSD. Requested by: trasz Affected files ... .. //depot/projects/trustedbsd/openbsm/etc/audit_event#40 edit .. //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/etc/audit_event#40 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#39 $ +# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#40 $ # # The mapping between event identifiers and values is also hard-coded in # audit_kevents.h and audit_uevents.h, so changes must occur in both places, @@ -555,6 +555,7 @@ 43193:AUE_PWRITE:pwrite(2):no 43194:AUE_FSCTL:fsctl():fm 43195:AUE_FFSCTL:ffsctl():fm +43196:AUE_LPATHCONF:lpathconf(2):fa # # Solaris userspace events. # ==== //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#7 (text+ko) ==== @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#6 $ + * $P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#7 $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -596,6 +596,7 @@ #define AUE_PWRITE 43193 /* Darwin/FreeBSD. */ #define AUE_FSCTL 43194 /* Darwin. */ #define AUE_FFSCTL 43195 /* Darwin. */ +#define AUE_LPATHCONF 43196 /* FreeBSD */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the From owner-p4-projects@FreeBSD.ORG Tue Jul 7 16:14:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC88B1065670; Tue, 7 Jul 2009 16:14:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7580D1065677 for ; Tue, 7 Jul 2009 16:14:15 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6362F8FC17 for ; Tue, 7 Jul 2009 16:14:15 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67GEF71071285 for ; Tue, 7 Jul 2009 16:14:15 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67GEFZU071283 for perforce@freebsd.org; Tue, 7 Jul 2009 16:14:15 GMT (envelope-from jona@FreeBSD.org) Date: Tue, 7 Jul 2009 16:14:15 GMT Message-Id: <200907071614.n67GEFZU071283@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165759 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 16:14:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165759 Change 165759 by jona@jona-trustedbsd-belle-vmware on 2009/07/07 16:13:58 __BEGIN_DECLS for libcapability Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#24 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#24 (text+ko) ==== @@ -30,12 +30,16 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#23 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#24 $ */ #ifndef _LIBCAPABILITY_H_ #define _LIBCAPABILITY_H_ +#include + +__BEGIN_DECLS + struct lc_sandbox; struct lc_host; @@ -154,4 +158,6 @@ */ int cap_main(int argc, char *argv[]); +__END_DECLS + #endif /* !_LIBCAPABILITY_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Jul 7 17:37:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EFCCF1065673; Tue, 7 Jul 2009 17:37:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE32B1065670 for ; Tue, 7 Jul 2009 17:37:46 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 816998FC14 for ; Tue, 7 Jul 2009 17:37:46 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67HbkHL088223 for ; Tue, 7 Jul 2009 17:37:46 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67Hbkqt088221 for perforce@freebsd.org; Tue, 7 Jul 2009 17:37:46 GMT (envelope-from trasz@freebsd.org) Date: Tue, 7 Jul 2009 17:37:46 GMT Message-Id: <200907071737.n67Hbkqt088221@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165761 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 17:37:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=165761 Change 165761 by trasz@trasz_victim on 2009/07/07 17:36:57 Revert the file descriptor accounting. There is no way it could work that way, as file descriptor tables might be shared between processes. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#11 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#11 (text+ko) ==== @@ -747,12 +747,6 @@ * out for a race. */ if (flags & DUP_FIXED) { - error = hrl_alloc_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); - if (error) { - FILEDESC_XUNLOCK(fdp); - fdrop(fp, td); - return (error); - } if (new >= fdp->fd_nfiles) fdgrowtable(fdp, new + 1); if (fdp->fd_ofiles[new] == NULL) @@ -775,7 +769,6 @@ if (fdp->fd_ofiles[new] == NULL) fdunused(fdp, new); FILEDESC_XUNLOCK(fdp); - hrl_free_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); fdrop(fp, td); return (EBADF); } @@ -820,7 +813,6 @@ */ if (delfp != NULL) { knote_fdclose(td, new); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (delfp->f_type == DTYPE_MQUEUE) mq_fdclose(td, new, delfp); FILEDESC_XUNLOCK(fdp); @@ -1119,7 +1111,6 @@ * added, and deleteing a knote for the new fd. */ knote_fdclose(td, fd); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (fp->f_type == DTYPE_MQUEUE) mq_fdclose(td, fd, fp); FILEDESC_XUNLOCK(fdp); @@ -1403,16 +1394,16 @@ { struct proc *p = td->td_proc; struct filedesc *fdp = p->p_fd; - int fd = -1, error; + int fd = -1, maxfd; FILEDESC_XLOCK_ASSERT(fdp); if (fdp->fd_freefile > minfd) minfd = fdp->fd_freefile; - error = hrl_alloc_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); - if (error) - return (EMFILE); + PROC_LOCK(p); + maxfd = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); + PROC_UNLOCK(p); /* * Search the bitmap for a free descriptor. If none is found, try @@ -1422,9 +1413,11 @@ */ for (;;) { fd = fd_first_free(fdp, minfd, fdp->fd_nfiles); + if (fd >= maxfd) + return (EMFILE); if (fd < fdp->fd_nfiles) break; - fdgrowtable(fdp, fdp->fd_nfiles * 2); + fdgrowtable(fdp, min(fdp->fd_nfiles * 2, maxfd)); } /* @@ -1701,8 +1694,6 @@ if (fdp == NULL) return; - hrl_allocated_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 0); - /* Check for special need to clear POSIX style locks */ fdtol = td->td_proc->p_fdtol; if (fdtol != NULL) { @@ -1879,7 +1870,6 @@ struct file *fp; knote_fdclose(td, i); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. @@ -1944,7 +1934,6 @@ struct file *fp; knote_fdclose(td, i); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. From owner-p4-projects@FreeBSD.ORG Tue Jul 7 17:48:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64F2F10656D1; Tue, 7 Jul 2009 17:48:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 16A2C10656C4 for ; Tue, 7 Jul 2009 17:48:59 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DD97F8FC2A for ; Tue, 7 Jul 2009 17:48:58 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67Hmw8E089019 for ; Tue, 7 Jul 2009 17:48:58 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67HmwCe089017 for perforce@freebsd.org; Tue, 7 Jul 2009 17:48:58 GMT (envelope-from trasz@freebsd.org) Date: Tue, 7 Jul 2009 17:48:58 GMT Message-Id: <200907071748.n67HmwCe089017@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165762 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 17:49:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=165762 Change 165762 by trasz@trasz_victim on 2009/07/07 17:48:09 Add some more debugging stuff, fix a KASSERT. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#26 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#26 (text+ko) ==== @@ -53,6 +53,7 @@ #define HRF_DONT_ACCUMULATE 2 int hrl_group_accounting = 0; + TUNABLE_INT("kern.hrl_group_accounting", &hrl_group_accounting); SYSCTL_INT(_kern, OID_AUTO, hrl_group_accounting, CTLFLAG_RD, &hrl_group_accounting, 0, ""); @@ -199,11 +200,11 @@ */ hrl_allocated_proc(p, HRL_RESOURCE_FILESIZE, 0); hrl_allocated_proc(p, HRL_RESOURCE_COREDUMPSIZE, 0); + hrl_allocated_proc(p, HRL_RESOURCE_PTY, 0); mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (p->p_usage.hu_resources[i] != 0) - KASSERT(p->p_usage.hu_resources == 0, + KASSERT(p->p_usage.hu_resources[i] == 0, ("dead process still holding resources")); } mtx_unlock(&hrl_lock); @@ -287,6 +288,10 @@ KASSERT(amount > 0, ("hrl_alloc_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); +#if 0 + printf("hrl_alloc_proc: allocating %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); +#endif + mtx_lock(&hrl_lock); p->p_usage.hu_resources[resource] += amount; cred = p->p_ucred; @@ -347,6 +352,10 @@ KASSERT(amount >= 0, ("hrl_allocated_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); +#if 0 + printf("hrl_allocated_proc: allocated %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); +#endif + mtx_lock(&hrl_lock); diff = amount - p->p_usage.hu_resources[resource]; p->p_usage.hu_resources[resource] = amount; @@ -395,14 +404,16 @@ KASSERT(amount > 0, ("hrl_free_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); +#if 0 + printf("hrl_free_proc: freeing %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); +#endif + mtx_lock(&hrl_lock); + KASSERT(amount <= p->p_usage.hu_resources[resource], + ("hrl_free_proc: freeing %lld of %s, which is more than allocated %lld " + "for %s (pid %d)", amount, hrl_resource_name(resource), p->p_usage.hu_resources[resource], + p->p_comm, p->p_pid)); p->p_usage.hu_resources[resource] -= amount; -#ifdef notyet - KASSERT(amount <= p->p_usage.hu_resources[resource], - ("hrl_free_proc: freeing %lld, which is more than allocated %lld " - "for %s", amount, p->p_usage.hu_resources[resource], - hrl_resource_name(resource))); -#endif cred = p->p_ucred; cred->cr_ruidinfo->ui_usage.hu_resources[resource] -= amount; if (cred->cr_ruidinfo != cred->cr_uidinfo) From owner-p4-projects@FreeBSD.ORG Tue Jul 7 17:49:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EAB5C1065676; Tue, 7 Jul 2009 17:49:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BAFF10657AA for ; Tue, 7 Jul 2009 17:49:00 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4F5F88FC2F for ; Tue, 7 Jul 2009 17:48:59 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67HmxGE089029 for ; Tue, 7 Jul 2009 17:48:59 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67Hmx4Z089027 for perforce@freebsd.org; Tue, 7 Jul 2009 17:48:59 GMT (envelope-from scottl@freebsd.org) Date: Tue, 7 Jul 2009 17:48:59 GMT Message-Id: <200907071748.n67Hmx4Z089027@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 165764 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 17:49:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165764 Change 165764 by scottl@scottl-y1 on 2009/07/07 17:48:54 Add a 'maxio' parameter to the XPT_PATH_INQ/cpi structure. It represents the max number of bytes that the SIM can handle for an i/o transaction, and is passed to the disk/block layer by the periphs. For legacy compatibility, not setting it, or setting it to 0, results in a default of 64k for the 'da' driver, just like it always has been. Eliminate the blind use of MAXPHYS throughout the driver tree, in preparation for MAXPHYS being increased. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#23 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#40 edit .. //depot/projects/scottl-camlock/src/sys/dev/advansys/advansys.c#12 edit .. //depot/projects/scottl-camlock/src/sys/dev/advansys/advlib.h#4 edit .. //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic79xx_osm.h#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic7xxx_osm.h#14 edit .. //depot/projects/scottl-camlock/src/sys/dev/amd/amd.h#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ciss/ciss.c#20 edit .. //depot/projects/scottl-camlock/src/sys/dev/ciss/cissvar.h#6 edit .. //depot/projects/scottl-camlock/src/sys/dev/firewire/sbp.c#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.h#18 edit .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi.c#16 edit .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfivar.h#8 edit .. //depot/projects/scottl-camlock/src/sys/dev/mlx/mlx.c#7 edit .. //depot/projects/scottl-camlock/src/sys/dev/mlx/mlxvar.h#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#22 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#23 edit .. //depot/projects/scottl-camlock/src/sys/dev/trm/trm.h#3 edit .. //depot/projects/scottl-camlock/src/sys/kern/subr_bus.c#26 integrate Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#23 (text+ko) ==== @@ -572,6 +572,7 @@ struct ccb_pathinq_settings_sas sas; char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE]; } xport_specific; + u_int maxio; /* Max supported I/O size, in bytes. */ }; /* Path Statistics CCB */ ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#40 (text+ko) ==== @@ -1198,6 +1198,7 @@ softc->quirks = DA_Q_NONE; /* Check if the SIM does not want 6 byte commands */ + bzero(&cpi, sizeof(cpi)); xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -1247,7 +1248,12 @@ softc->disk->d_dump = dadump; softc->disk->d_name = "da"; softc->disk->d_drv1 = periph; - softc->disk->d_maxsize = DFLTPHYS; /* XXX: probably not arbitrary */ + if (cpi.maxio == 0) + softc->disk->d_maxsize = DFLTPHYS; /* traditional default */ + else if (cpi.maxio > MAXPHYS) + softc->disk->d_maxsize = DFLTPHYS; /* for safety */ + else + softc->disk->d_maxsize = cpi.maxio; softc->disk->d_unit = periph->unit_number; softc->disk->d_flags = 0; if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) ==== //depot/projects/scottl-camlock/src/sys/dev/advansys/advansys.c#12 (text+ko) ==== @@ -1345,7 +1345,7 @@ /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, /* filterarg */ NULL, - /* maxsize */ MAXPHYS, + /* maxsize */ ADV_MAXPHYS, /* nsegments */ max_sg, /* maxsegsz */ BUS_SPACE_MAXSIZE_32BIT, /* flags */ BUS_DMA_ALLOCNOW, ==== //depot/projects/scottl-camlock/src/sys/dev/advansys/advlib.h#4 (text+ko) ==== @@ -58,6 +58,8 @@ #define ADV_MAX_TID 7 #define ADV_MAX_LUN 7 +#define ADV_MAXPHYS (128 * 1024) + /* Enumeration of board types */ typedef enum { ADV_NONE = 0x000, ==== //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic79xx_osm.h#13 (text+ko) ==== @@ -102,7 +102,8 @@ * The number of dma segments supported. The sequencer can handle any number * of physically contiguous S/G entrys. To reduce the driver's memory * consumption, we limit the number supported to be sufficient to handle - * the largest mapping supported by the kernel, MAXPHYS. Assuming the + * the largest mapping supported by the the legacy kernel MAXPHYS setting of + * 128K. This can be increased once some testing is done. Assuming the * transfer is as fragmented as possible and unaligned, this turns out to * be the number of paged sized transfers in MAXPHYS plus an extra element * to handle any unaligned residual. The sequencer fetches SG elements @@ -110,7 +111,8 @@ * multiple of 16 which should align us on even the largest of cacheline * boundaries. */ -#define AHD_NSEG (roundup(btoc(MAXPHYS) + 1, 16)) +#define AHD_MAXPHYS (128 * 1024) +#define AHD_NSEG (roundup(btoc(AHD_MAXPHYS) + 1, 16)) /* This driver supports target mode */ #ifdef NOT_YET ==== //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic7xxx_osm.h#14 (text+ko) ==== @@ -115,15 +115,16 @@ * The number of dma segments supported. The sequencer can handle any number * of physically contiguous S/G entrys. To reduce the driver's memory * consumption, we limit the number supported to be sufficient to handle - * the largest mapping supported by the kernel, MAXPHYS. Assuming the - * transfer is as fragmented as possible and unaligned, this turns out to + * the largest mapping supported by the the legacy kernel MAXPHYS setting of + * 128K. This can be increased once some testing is done. Assuming the * be the number of paged sized transfers in MAXPHYS plus an extra element * to handle any unaligned residual. The sequencer fetches SG elements * in cacheline sized chucks, so make the number per-transaction an even * multiple of 16 which should align us on even the largest of cacheline * boundaries. */ -#define AHC_NSEG (roundup(btoc(MAXPHYS) + 1, 16)) +#define AHC_MAXPHYS (128 * 1024) +#define AHC_NSEG (roundup(btoc(AHC_MAXPHYS) + 1, 16)) /* This driver supports target mode */ #define AHC_TARGET_MODE 1 ==== //depot/projects/scottl-camlock/src/sys/dev/amd/amd.h#3 (text+ko) ==== @@ -95,7 +95,8 @@ #define AMD_MAX_SYNC_OFFSET 15 #define AMD_TARGET_MAX 7 #define AMD_LUN_MAX 7 -#define AMD_NSEG (btoc(MAXPHYS) + 1) +#define AMD_MAXPHYS (128 * 1024) /* legacy MAXPHYS */ +#define AMD_NSEG (btoc(AMD_MAXPHYS) + 1) #define AMD_MAXTRANSFER_SIZE 0xFFFFFF /* restricted by 24 bit counter */ #define MAX_DEVICES 10 #define MAX_TAGS_CMD_QUEUE 256 ==== //depot/projects/scottl-camlock/src/sys/dev/ciss/ciss.c#20 (text+ko) ==== @@ -2976,6 +2976,7 @@ cpi->transport_version = 2; cpi->protocol = PROTO_SCSI; cpi->protocol_version = SCSI_REV_2; + cpi->maxio = (CISS_MAX_SG_ELEMENTS - 1) * PAGE_SIZE; ccb->ccb_h.status = CAM_REQ_CMP; break; } ==== //depot/projects/scottl-camlock/src/sys/dev/ciss/cissvar.h#6 (text+ko) ==== @@ -141,6 +141,9 @@ #define CISS_COMMAND_SG_LENGTH ((CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command)) \ / sizeof(struct ciss_sg_entry)) +/* XXX Prep for increasing max i/o */ +#define CISS_MAX_SG_ELEMENTS 33 + /* * Per-logical-drive data. */ ==== //depot/projects/scottl-camlock/src/sys/dev/firewire/sbp.c#13 (text+ko) ==== ==== //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.h#18 (text+ko) ==== @@ -561,7 +561,8 @@ #endif /* Should be BUS_SPACE_MAXSIZE, but MAXPHYS is larger than BUS_SPACE_MAXSIZE */ -#define ISP_NSEGS ((MAXPHYS / PAGE_SIZE) + 1) +#define ISP_MAXPHYS (128 * 1024) +#define ISP_NSEGS ((ISP_MAXPHYS / PAGE_SIZE) + 1) /* * Platform specific inline functions ==== //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi.c#16 (text) ==== @@ -341,7 +341,7 @@ status = sc->mfi_read_fw_status(sc); sc->mfi_max_fw_cmds = status & MFI_FWSTATE_MAXCMD_MASK; max_fw_sge = (status & MFI_FWSTATE_MAXSGL_MASK) >> 16; - sc->mfi_max_sge = min(max_fw_sge, ((MAXPHYS / PAGE_SIZE) + 1)); + sc->mfi_max_sge = min(max_fw_sge, ((MFI_MAXPHYS / PAGE_SIZE) + 1)); /* * Create the dma tag for data buffers. Used both for block I/O ==== //depot/projects/scottl-camlock/src/sys/dev/mfi/mfivar.h#8 (text) ==== @@ -379,6 +379,7 @@ MALLOC_DECLARE(M_MFIBUF); #define MFI_CMD_TIMEOUT 30 +#define MFI_MAXPHYS (128 * 1024) #ifdef MFI_DEBUG extern void mfi_print_cmd(struct mfi_command *cm); ==== //depot/projects/scottl-camlock/src/sys/dev/mlx/mlx.c#7 (text+ko) ==== @@ -1979,7 +1979,7 @@ * initial contents */ if (mu->mu_datasize > 0) { - if (mu->mu_datasize > MAXPHYS) { + if (mu->mu_datasize > MLX_MAXPHYS) { error = EINVAL; goto out; } ==== //depot/projects/scottl-camlock/src/sys/dev/mlx/mlxvar.h#3 (text+ko) ==== @@ -47,6 +47,7 @@ * making that fit cleanly without crossing page boundaries requires rounding up * to the next power of two. */ +#define MLX_MAXPHYS (128 * 124) #define MLX_NSEG 64 #define MLX_NSLOTS 256 /* max number of command slots */ ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#22 (text+ko) ==== @@ -986,6 +986,9 @@ /* Max MPT Reply we are willing to accept (must be power of 2) */ #define MPT_REPLY_SIZE 256 +/* Max i/o size, based on legacy MAXPHYS. Can be increased. */ +#define MPT_MAXPHYS (128 * 1024) + /* * Must be less than 16384 in order for target mode to work */ ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#23 (text+ko) ==== @@ -795,9 +795,9 @@ /* * XXX: we should say that nsegs is 'unrestricted, but that * XXX: tickles a horrible bug in the busdma code. Instead, - * XXX: we'll derive a reasonable segment limit from MAXPHYS + * XXX: we'll derive a reasonable segment limit from MPT_MAXPHYS */ - nsegs = (MAXPHYS / PAGE_SIZE) + 1; + nsegs = (MPT_MAXPHYS / PAGE_SIZE) + 1; if (mpt_dma_tag_create(mpt, mpt->parent_dmat, 1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, MAXBSIZE, nsegs, BUS_SPACE_MAXSIZE_32BIT, 0, ==== //depot/projects/scottl-camlock/src/sys/dev/trm/trm.h#3 (text+ko) ==== @@ -94,7 +94,8 @@ #define TRM_MAX_CMD_PER_LUN 32 #define TRM_MAX_SRB_CNT 256 #define TRM_MAX_START_JOB 256 -#define TRM_NSEG (btoc(MAXPHYS) + 1) +#define TRM_MAXPHYS (128 * 1024) +#define TRM_NSEG (btoc(TRM_MAXPHYS) + 1) #define TRM_MAXTRANSFER_SIZE 0xFFFFFF /* restricted by 24 bit counter */ #define PAGELEN 4096 ==== //depot/projects/scottl-camlock/src/sys/kern/subr_bus.c#26 (text+ko) ==== @@ -68,7 +68,6 @@ TAILQ_ENTRY(driverlink) link; /* list of drivers in devclass */ int pass; TAILQ_ENTRY(driverlink) passlink; - TAILQ_ENTRY(driverlink) probe_link; }; /* @@ -90,14 +89,8 @@ struct sysctl_ctx_list sysctl_ctx; struct sysctl_oid *sysctl_tree; - - int class_ref; - int class_busy; }; -#define DC_REF(dc) (dc)->class_ref++ -#define DC_UNREF(dc) (dc)->class_ref-- - /** * @brief Implementation of device. */ @@ -143,14 +136,8 @@ struct sysctl_ctx_list sysctl_ctx; /**< state for sysctl variables */ struct sysctl_oid *sysctl_tree; /**< state for sysctl variables */ - - int device_ref; - int device_busy; }; -#define DT_REF(dt) (dt)->device_ref++ -#define DT_UNREF(dt) (dt)->device_ref-- - static MALLOC_DEFINE(M_BUS, "bus", "Bus data structures"); static MALLOC_DEFINE(M_BUS_SC, "bus-sc", "Bus data structures, softc"); @@ -377,7 +364,7 @@ static struct cdevsw dev_cdevsw = { .d_version = D_VERSION, - .d_flags = 0, + .d_flags = D_NEEDGIANT, .d_open = devopen, .d_close = devclose, .d_read = devread, @@ -866,9 +853,6 @@ static devclass_list_t devclasses = TAILQ_HEAD_INITIALIZER(devclasses); -static struct mtx devclasses_mtx; -MTX_SYSINIT(devclasses, &devclasses_mtx, "devclass global mtx", MTX_DEF); - /** * @internal * @brief Find or create a device class @@ -885,13 +869,11 @@ * @param create non-zero to create a devclass */ static devclass_t -devclass_find_internal_locked(const char *classname, const char *parentname, - int create) +devclass_find_internal(const char *classname, const char *parentname, + int create) { devclass_t dc; - mtx_assert(&devclasses_mtx, MA_OWNED); - PDEBUG(("looking for %s", classname)); if (!classname) return (NULL); @@ -926,26 +908,13 @@ */ if (parentname && dc && !dc->parent && strcmp(classname, parentname) != 0) { - dc->parent = devclass_find_internal_locked(parentname, NULL, - TRUE); + dc->parent = devclass_find_internal(parentname, NULL, TRUE); dc->parent->flags |= DC_HAS_CHILDREN; } return (dc); } -static devclass_t -devclass_find_internal(const char *classname, const char *parentname, - int create) -{ - devclass_t dc; - - mtx_lock(&devclasses_mtx); - dc = devclass_find_internal_locked(classname, parentname, create); - mtx_unlock(&devclasses_mtx); - return (dc); -} - /** * @brief Create a device class * @@ -992,36 +961,16 @@ static void devclass_driver_added(devclass_t dc, driver_t *driver) { - device_t *devlist; devclass_t parent; - int i, maxunit = 0; - - mtx_assert(&devclasses_mtx, MA_OWNED); + int i; /* * Call BUS_DRIVER_ADDED for any existing busses in this class. */ - devlist = malloc(sizeof(device_t)*dc->maxunit, M_BUS, M_NOWAIT|M_ZERO); - if (devlist == NULL) - /* XXX error? */ - return; - - for (i = 0; i < dc->maxunit; i++) { - if (dc->devices[i]) { - DT_REF(dc->devices[i]); - devlist[maxunit++] = dc->devices[i]; - } - } - - mtx_unlock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) - BUS_DRIVER_ADDED(devlist[i], driver); + for (i = 0; i < dc->maxunit; i++) + if (dc->devices[i]) + BUS_DRIVER_ADDED(dc->devices[i], driver); - mtx_lock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) - DT_UNREF(devlist[i]); - free(devlist, M_BUS); - /* * Walk through the children classes. Since we only keep a * single parent pointer around, we walk the entire list of @@ -1034,11 +983,8 @@ return; parent = dc; TAILQ_FOREACH(dc, &devclasses, link) { - if (dc->parent == parent) { - DC_REF(dc); + if (dc->parent == parent) devclass_driver_added(dc, driver); - DC_UNREF(dc); - } } } @@ -1074,24 +1020,21 @@ * goes. This means we can safely use static methods and avoids a * double-free in devclass_delete_driver. */ - mtx_lock(&devclasses_mtx); kobj_class_compile((kobj_class_t) driver); /* * Make sure the devclass which the driver is implementing exists. */ - devclass_find_internal_locked(driver->name, NULL, TRUE); + devclass_find_internal(driver->name, NULL, TRUE); dl->driver = driver; TAILQ_INSERT_TAIL(&dc->drivers, dl, link); driver->refs++; /* XXX: kobj_mtx */ dl->pass = pass; driver_register_pass(dl); - DC_REF(dc); devclass_driver_added(dc, driver); bus_data_generation_update(); - mtx_unlock(&devclasses_mtx); return (0); } @@ -1114,8 +1057,8 @@ { devclass_t dc = devclass_find(driver->name); driverlink_t dl; - device_t *devlist, dev; - int i, maxunit = 0; + device_t dev; + int i; int error; PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); @@ -1126,7 +1069,6 @@ /* * Find the link structure in the bus' list of drivers. */ - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dl, &busclass->drivers, link) { if (dl->driver == driver) break; @@ -1135,7 +1077,6 @@ if (!dl) { PDEBUG(("%s not found in %s list", driver->name, busclass->name)); - mtx_unlock(&devclasses_mtx); return (ENOENT); } @@ -1149,59 +1090,27 @@ * should not detach devices which are not children of devices in * the affected devclass. */ - devlist = malloc(sizeof(device_t)*dc->maxunit, M_BUS, M_NOWAIT|M_ZERO); - if (devlist == NULL) { - mtx_unlock(&devclasses_mtx); - return (ENOMEM); - } - for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; if (dev->driver == driver && dev->parent && dev->parent->devclass == busclass) { - DT_REF(dev); - devlist[maxunit++] = dev; + if ((error = device_detach(dev)) != 0) + return (error); + device_set_driver(dev, NULL); } } } - mtx_unlock(&devclasses_mtx); - error = 0; - for (i = 0; i < maxunit; i++) { - dev = devlist[i]; - /* - * If device_detach() generates an error, the rest of the - * devices in the list still need to be deref'd. - */ - if ((error = device_detach(dev)) != 0) - break; - device_set_driver(dev, NULL); - } - - mtx_lock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) { - dev = devlist[i]; - DT_UNREF(dev); - } - - free(devlist, M_BUS); - if (error) { - mtx_unlock(&devclasses_mtx); - return (error); - } - TAILQ_REMOVE(&busclass->drivers, dl, link); free(dl, M_BUS); /* XXX: kobj_mtx */ - DC_UNREF(dc); driver->refs--; if (driver->refs == 0) - kobj_class_free((kobj_class_t) driver); + kobj_class_free((kobj_class_t) driver); bus_data_generation_update(); - mtx_unlock(&devclasses_mtx); return (0); } @@ -1223,8 +1132,8 @@ { devclass_t dc = devclass_find(driver->name); driverlink_t dl; - device_t *devlist, dev; - int i, maxunit = 0; + device_t dev; + int i; int error; PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); @@ -1235,7 +1144,6 @@ /* * Find the link structure in the bus' list of drivers. */ - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dl, &busclass->drivers, link) { if (dl->driver == driver) break; @@ -1244,7 +1152,6 @@ if (!dl) { PDEBUG(("%s not found in %s list", driver->name, busclass->name)); - mtx_unlock(&devclasses_mtx); return (ENOENT); } @@ -1258,38 +1165,18 @@ * should not quiesce devices which are not children of * devices in the affected devclass. */ - devlist = malloc(sizeof(device_t)*dc->maxunit, M_BUS, M_NOWAIT|M_ZERO); - if (devlist == NULL) { - mtx_unlock(&devclasses_mtx); - return (ENOMEM); - } - for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; if (dev->driver == driver && dev->parent && dev->parent->devclass == busclass) { - DT_REF(dev); - devlist[maxunit++] = dev; + if ((error = device_quiesce(dev)) != 0) + return (error); } } } - mtx_unlock(&devclasses_mtx); - error = 0; - for (i = 0; i < maxunit; i++) { - if ((error = device_quiesce(devlist[i])) != 0) - break; - } - - mtx_lock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) { - DT_UNREF(devlist[i]); - } - mtx_unlock(&devclasses_mtx); - - free(devlist, M_BUS); - return (error); + return (0); } /** @@ -1302,8 +1189,6 @@ PDEBUG(("%s in devclass %s", classname, DEVCLANAME(dc))); - mtx_assert(&devclasses_mtx, MA_OWNED); - TAILQ_FOREACH(dl, &dc->drivers, link) { if (!strcmp(dl->driver->name, classname)) return (dl); @@ -1334,17 +1219,9 @@ device_t devclass_get_device(devclass_t dc, int unit) { - device_t dev; - if (dc == NULL || unit < 0 || unit >= dc->maxunit) return (NULL); - - mtx_lock(&devclasses_mtx); - dev = dc->devices[unit]; - DT_REF(dev); - mtx_unlock(&devclasses_mtx); - - return (dev); + return (dc->devices[unit]); } /** @@ -1361,17 +1238,12 @@ devclass_get_softc(devclass_t dc, int unit) { device_t dev; - void *sc; dev = devclass_get_device(dc, unit); if (!dev) return (NULL); - sc = device_get_softc(dev); - mtx_lock(&devclasses_mtx); - DT_UNREF(dev); - mtx_unlock(&devclasses_mtx); - return (sc); + return (device_get_softc(dev)); } /** @@ -1394,27 +1266,20 @@ devclass_get_devices(devclass_t dc, device_t **devlistp, int *devcountp) { int count, i; - device_t dev; device_t *list; count = devclass_get_count(dc); list = malloc(count * sizeof(device_t), M_TEMP, M_NOWAIT|M_ZERO); - if (!list) { - mtx_unlock(&devclasses_mtx); + if (!list) return (ENOMEM); - } count = 0; - mtx_lock(&devclasses_mtx); for (i = 0; i < dc->maxunit; i++) { - dev = dc->devices[i]; - if (dev) { - DT_REF(dev); - list[count] = dev; + if (dc->devices[i]) { + list[count] = dc->devices[i]; count++; } } - mtx_unlock(&devclasses_mtx); *devlistp = list; *devcountp = count; @@ -1446,21 +1311,17 @@ int count; count = 0; - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dl, &dc->drivers, link) count++; list = malloc(count * sizeof(driver_t *), M_TEMP, M_NOWAIT); - if (list == NULL) { - mtx_unlock(&devclasses_mtx); + if (list == NULL) return (ENOMEM); - } count = 0; TAILQ_FOREACH(dl, &dc->drivers, link) { list[count] = dl->driver; count++; } - mtx_unlock(&devclasses_mtx); *listp = list; *countp = count; @@ -1478,11 +1339,9 @@ int count, i; count = 0; - mtx_lock(&devclasses_mtx); for (i = 0; i < dc->maxunit; i++) if (dc->devices[i]) count++; - mtx_unlock(&devclasses_mtx); return (count); } @@ -1590,14 +1449,12 @@ /* If we were given a wired unit number, check for existing device */ /* XXX imp XXX */ - mtx_lock(&devclasses_mtx); if (unit != -1) { if (unit >= 0 && unit < dc->maxunit && dc->devices[unit] != NULL) { if (bootverbose) printf("%s: %s%d already exists; skipping it\n", dc->name, dc->name, *unitp); - mtx_unlock(&devclasses_mtx); return (EEXIST); } } else { @@ -1640,10 +1497,8 @@ if (oldlist != NULL) free(oldlist, M_BUS); } - dc->devices[unit] = dev; - mtx_unlock(&devclasses_mtx); + PDEBUG(("now: unit %d in devclass %s", unit, DEVCLANAME(dc))); - PDEBUG(("now: unit %d in devclass %s", unit, DEVCLANAME(dc))); *unitp = unit; return (0); } @@ -1683,11 +1538,8 @@ dev->nameunit = NULL; return (error); } - mtx_lock(&devclasses_mtx); - DC_REF(dc); - DT_REF(dev); + dc->devices[dev->unit] = dev; dev->devclass = dc; - mtx_unlock(&devclasses_mtx); snprintf(dev->nameunit, buflen, "%s%d", dc->name, dev->unit); return (0); @@ -1713,18 +1565,14 @@ PDEBUG(("%s in devclass %s", DEVICENAME(dev), DEVCLANAME(dc))); - mtx_lock(&devclasses_mtx); if (dev->devclass != dc || dc->devices[dev->unit] != dev) panic("devclass_delete_device: inconsistent device class"); - DT_UNREF(dev); - DC_UNREF(dc); dc->devices[dev->unit] = NULL; if (dev->flags & DF_WILDCARD) dev->unit = -1; dev->devclass = NULL; free(dev->nameunit, M_BUS); dev->nameunit = NULL; - mtx_unlock(&devclasses_mtx); return (0); } @@ -1790,10 +1638,8 @@ dev->state = DS_NOTPRESENT; - mtx_lock(&devclasses_mtx); TAILQ_INSERT_TAIL(&bus_data_devices, dev, devlink); bus_data_generation_update(); - mtx_unlock(&devclasses_mtx); return (dev); } @@ -2008,7 +1854,6 @@ devclass_t dc; driverlink_t best = NULL; driverlink_t dl; - driver_list_t dllist; int result, pri = 0; int hasclass = (child->devclass != NULL); @@ -2025,8 +1870,6 @@ if (child->state == DS_ALIVE && (child->flags & DF_REBID) == 0) return (0); - mtx_lock(&devclasses_mtx); - TAILQ_INIT(&dllist); for (; dc; dc = dc->parent) { for (dl = first_matching_driver(dc, child); dl; @@ -2036,14 +1879,6 @@ if (dl->pass > bus_current_pass) continue; - TAILQ_INSERT_TAIL(&dllist, dl, probe_link); - } - } - mtx_unlock(&devclasses_mtx); - - while ((dl = TAILQ_FIRST(&dllist)) != NULL) { - TAILQ_REMOVE(&dllist, dl, probe_link); - { PDEBUG(("Trying %s", DRIVERNAME(dl->driver))); device_set_driver(child, dl->driver); if (!hasclass) { @@ -4455,11 +4290,9 @@ devclass_t dc; printf("Short listing of devclasses, drivers & devices:\n"); - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dc, &devclasses, link) { print_devclass_short(dc, 0); } - mtx_unlock(&devclasses_mtx); } void @@ -4468,11 +4301,9 @@ devclass_t dc; printf("Full listing of devclasses, drivers & devices:\n"); - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dc, &devclasses, link) { print_devclass(dc, 0); } - mtx_unlock(&devclasses_mtx); } #endif From owner-p4-projects@FreeBSD.ORG Tue Jul 7 18:35:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 185811065673; Tue, 7 Jul 2009 18:35:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA4A81065670 for ; Tue, 7 Jul 2009 18:35:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B7A098FC0A for ; Tue, 7 Jul 2009 18:35:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67IZpSf093690 for ; Tue, 7 Jul 2009 18:35:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67IZpI9093688 for perforce@freebsd.org; Tue, 7 Jul 2009 18:35:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 7 Jul 2009 18:35:51 GMT Message-Id: <200907071835.n67IZpI9093688@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165771 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 18:35:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=165771 Change 165771 by hselasky@hselasky_laptop001 on 2009/07/07 18:35:28 USB CORE: - add support for automatic defragging of written device data. - fix issue with CUPS and /dev/ulpt reported by Patrick Lamaiziere - a new device node, /dev/urlptX, has been created to preserve the old behaviour Affected files ... .. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/usb_dev.h#16 edit .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#11 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#16 (text+ko) ==== @@ -110,6 +110,7 @@ struct ulpt_softc { struct usb_fifo_sc sc_fifo; struct usb_fifo_sc sc_fifo_noreset; + struct usb_fifo_sc sc_fifo_raw; struct mtx sc_mtx; struct usb_callout sc_watchdog; @@ -147,6 +148,7 @@ static usb_fifo_ioctl_t ulpt_ioctl; static usb_fifo_open_t ulpt_open; static usb_fifo_open_t unlpt_open; +static usb_fifo_open_t urlpt_open; static struct usb_fifo_methods ulpt_fifo_methods = { .f_close = &ulpt_close, @@ -170,6 +172,17 @@ .basename[0] = "unlpt", }; +static struct usb_fifo_methods urlpt_fifo_methods = { + .f_close = &ulpt_close, + .f_ioctl = &ulpt_ioctl, + .f_open = &urlpt_open, + .f_start_read = &ulpt_start_read, + .f_start_write = &ulpt_start_write, + .f_stop_read = &ulpt_stop_read, + .f_stop_write = &ulpt_stop_write, + .basename[0] = "urlpt", +}; + static void ulpt_reset(struct ulpt_softc *sc) { @@ -419,6 +432,27 @@ } static int +urlpt_open(struct usb_fifo *fifo, int fflags) +{ + struct ulpt_softc *sc = usb_fifo_softc(fifo); + + /* we assume that open is a serial process */ + + if (sc->sc_fflags == 0) { + + /* reset USB paralell port */ + + ulpt_reset(sc); + } + /* set raw write mode */ + + if (fflags & FWRITE) { + usb_fifo_set_write_defrag(fifo, 0); + } + return (unlpt_open(fifo, fflags)); +} + +static int ulpt_open(struct usb_fifo *fifo, int fflags) { struct ulpt_softc *sc = usb_fifo_softc(fifo); @@ -426,8 +460,16 @@ /* we assume that open is a serial process */ if (sc->sc_fflags == 0) { + + /* reset USB paralell port */ + ulpt_reset(sc); } + /* set defrag write mode */ + + if (fflags & FWRITE) { + usb_fifo_set_write_defrag(fifo, 1); + } return (unlpt_open(fifo, fflags)); } @@ -633,6 +675,13 @@ if (error) { goto detach; } + error = usb_fifo_attach(uaa->device, sc, &sc->sc_mtx, + &urlpt_fifo_methods, &sc->sc_fifo_raw, + unit, 0 - 1, uaa->info.bIfaceIndex, + UID_ROOT, GID_OPERATOR, 0644); + if (error) { + goto detach; + } /* start reading of status */ mtx_lock(&sc->sc_mtx); @@ -654,6 +703,7 @@ usb_fifo_detach(&sc->sc_fifo); usb_fifo_detach(&sc->sc_fifo_noreset); + usb_fifo_detach(&sc->sc_fifo_raw); mtx_lock(&sc->sc_mtx); usb_callout_stop(&sc->sc_watchdog); ==== //depot/projects/usb/src/sys/dev/usb/usb_dev.c#31 (text+ko) ==== @@ -740,6 +740,8 @@ break; } } + /* reset have fragment flag */ + f->flag_have_fragment = 0; } /*------------------------------------------------------------------------* @@ -783,6 +785,16 @@ /* set flushing flag */ f->flag_flushing = 1; + /* get the last packet in */ + if (f->flag_have_fragment) { + struct usb_mbuf *m; + f->flag_have_fragment = 0; + USB_IF_DEQUEUE(&f->free_q, m); + if (m) { + USB_IF_ENQUEUE(&f->used_q, m); + } + } + /* start write transfer, if not already started */ (f->methods->f_start_write) (f); @@ -1303,6 +1315,7 @@ struct usb_cdev_privdata* cpd; struct usb_fifo *f; struct usb_mbuf *m; + uint8_t *pdata; int fflags; int resid; int io_len; @@ -1373,33 +1386,59 @@ } tr_data = 1; - USB_MBUF_RESET(m); - - io_len = MIN(m->cur_data_len, uio->uio_resid); - - m->cur_data_len = io_len; + if (f->flag_have_fragment == 0) { + USB_MBUF_RESET(m); + io_len = m->cur_data_len; + pdata = m->cur_data_ptr; + if (io_len > uio->uio_resid) + io_len = uio->uio_resid; + m->cur_data_len = io_len; + } else { + io_len = m->max_data_len - m->cur_data_len; + pdata = m->cur_data_ptr + io_len; + if (io_len > uio->uio_resid) + io_len = uio->uio_resid; + m->cur_data_len += io_len; + } DPRINTFN(2, "transfer %d bytes to %p\n", - io_len, m->cur_data_ptr); + io_len, pdata); - err = usb_fifo_uiomove(f, - m->cur_data_ptr, io_len, uio); + err = usb_fifo_uiomove(f, pdata, io_len, uio); if (err) { + f->flag_have_fragment = 0; USB_IF_ENQUEUE(&f->free_q, m); break; } - if (f->methods->f_filter_write) { + + /* check if the buffer is ready to be transmitted */ + + if ((f->flag_write_defrag == 0) || + (m->cur_data_len == m->max_data_len)) { + f->flag_have_fragment = 0; + /* - * Sometimes it is convenient to process data at the - * expense of a userland process instead of a kernel - * process. + * Check for write filter: + * + * Sometimes it is convenient to process data + * at the expense of a userland process + * instead of a kernel process. */ - (f->methods->f_filter_write) (f, m); + if (f->methods->f_filter_write) { + (f->methods->f_filter_write) (f, m); + } + + /* Put USB mbuf in the used queue */ + USB_IF_ENQUEUE(&f->used_q, m); + + /* Start writing data, if not already started */ + (f->methods->f_start_write) (f); + } else { + /* Wait for more data or close */ + f->flag_have_fragment = 1; + USB_IF_PREPEND(&f->free_q, m); } - USB_IF_ENQUEUE(&f->used_q, m); - - (f->methods->f_start_write) (f); } while (uio->uio_resid > 0); done: @@ -2220,6 +2259,18 @@ f->flag_short = onoff; } +void +usb_fifo_set_write_defrag(struct usb_fifo *f, uint8_t onoff) +{ + if (f == NULL) + return; + + /* defrag written data */ + f->flag_write_defrag = onoff; + /* reset defrag state */ + f->flag_have_fragment = 0; +} + void * usb_fifo_softc(struct usb_fifo *f) { ==== //depot/projects/usb/src/sys/dev/usb/usb_dev.h#16 (text+ko) ==== @@ -130,6 +130,8 @@ uint8_t flag_short; /* set if short_ok or force_short * transfer flags should be set */ uint8_t flag_stall; /* set if clear stall should be run */ + uint8_t flag_write_defrag; /* set to defrag written data */ + uint8_t flag_have_fragment; /* set if defragging */ uint8_t iface_index; /* set to the interface we belong to */ uint8_t fifo_index; /* set to the FIFO index in "struct * usb_device" */ @@ -144,11 +146,9 @@ int usb_fifo_wait(struct usb_fifo *fifo); void usb_fifo_signal(struct usb_fifo *fifo); uint8_t usb_fifo_opened(struct usb_fifo *fifo); -void usb_fifo_free(struct usb_fifo *f); struct usb_symlink *usb_alloc_symlink(const char *target); void usb_free_symlink(struct usb_symlink *ps); int usb_read_symlink(uint8_t *user_ptr, uint32_t startentry, uint32_t user_len); -void usb_fifo_set_close_zlp(struct usb_fifo *, uint8_t); #endif /* _USB_DEV_H_ */ ==== //depot/projects/usb/src/sys/dev/usb/usbdi.h#11 (text+ko) ==== @@ -531,5 +531,8 @@ void usb_fifo_wakeup(struct usb_fifo *f); void usb_fifo_get_data_error(struct usb_fifo *fifo); void *usb_fifo_softc(struct usb_fifo *fifo); +void usb_fifo_set_close_zlp(struct usb_fifo *, uint8_t); +void usb_fifo_set_write_defrag(struct usb_fifo *, uint8_t); +void usb_fifo_free(struct usb_fifo *f); #endif /* _KERNEL */ #endif /* _USB_USBDI_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Jul 7 18:36:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E66C11065674; Tue, 7 Jul 2009 18:36:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D50D1065673 for ; Tue, 7 Jul 2009 18:36:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7925E8FC22 for ; Tue, 7 Jul 2009 18:36:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67IarkW093755 for ; Tue, 7 Jul 2009 18:36:53 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67Iaqmc093753 for perforce@freebsd.org; Tue, 7 Jul 2009 18:36:52 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 7 Jul 2009 18:36:52 GMT Message-Id: <200907071836.n67Iaqmc093753@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165772 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 18:36:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165772 Change 165772 by hselasky@hselasky_laptop001 on 2009/07/07 18:36:28 IFC @ 165768 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/genassym.c#13 integrate .. //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#16 integrate .. //depot/projects/usb/src/sys/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/usb/src/sys/amd64/amd64/io_apic.c#8 integrate .. //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#18 integrate .. //depot/projects/usb/src/sys/amd64/amd64/machdep.c#21 integrate .. //depot/projects/usb/src/sys/amd64/amd64/msi.c#10 integrate .. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#24 integrate .. //depot/projects/usb/src/sys/amd64/conf/GENERIC#29 integrate .. //depot/projects/usb/src/sys/amd64/include/intr_machdep.h#9 integrate .. //depot/projects/usb/src/sys/amd64/include/param.h#8 integrate .. //depot/projects/usb/src/sys/amd64/isa/atpic.c#5 integrate .. //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/usb/src/sys/arm/include/param.h#4 integrate .. //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#6 integrate .. //depot/projects/usb/src/sys/arm/sa11x0/assabet_machdep.c#9 integrate .. //depot/projects/usb/src/sys/conf/files#72 integrate .. //depot/projects/usb/src/sys/conf/newvers.sh#9 integrate .. //depot/projects/usb/src/sys/conf/options#36 integrate .. //depot/projects/usb/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/usb/src/sys/dev/ale/if_ale.c#5 integrate .. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-nvidia.c#7 integrate .. //depot/projects/usb/src/sys/dev/ath/ah_osdep.c#9 integrate .. //depot/projects/usb/src/sys/dev/ath/ah_osdep.h#6 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#7 integrate .. //depot/projects/usb/src/sys/dev/cpuctl/cpuctl.c#5 integrate .. //depot/projects/usb/src/sys/dev/e1000/e1000_82542.c#3 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_em.c#10 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#9 integrate .. //depot/projects/usb/src/sys/dev/mpt/mpt_cam.c#11 integrate .. //depot/projects/usb/src/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/usb/src/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/usb/src/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/usb/src/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/usb/src/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/usb/src/sys/dev/sound/pcm/feeder_rate.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#7 integrate .. //depot/projects/usb/src/sys/fs/cd9660/cd9660_lookup.c#5 integrate .. //depot/projects/usb/src/sys/fs/fifofs/fifo_vnops.c#12 integrate .. //depot/projects/usb/src/sys/geom/geom.h#10 integrate .. //depot/projects/usb/src/sys/geom/geom_io.c#10 integrate .. //depot/projects/usb/src/sys/geom/geom_subr.c#14 integrate .. //depot/projects/usb/src/sys/geom/geom_vfs.c#6 integrate .. //depot/projects/usb/src/sys/geom/journal/g_journal.c#12 integrate .. //depot/projects/usb/src/sys/i386/conf/GENERIC#28 integrate .. //depot/projects/usb/src/sys/i386/i386/genassym.c#9 integrate .. //depot/projects/usb/src/sys/i386/i386/intr_machdep.c#12 integrate .. //depot/projects/usb/src/sys/i386/i386/io_apic.c#8 integrate .. //depot/projects/usb/src/sys/i386/i386/local_apic.c#18 integrate .. //depot/projects/usb/src/sys/i386/i386/msi.c#10 integrate .. //depot/projects/usb/src/sys/i386/i386/pmap.c#19 integrate .. //depot/projects/usb/src/sys/i386/include/intr_machdep.h#8 integrate .. //depot/projects/usb/src/sys/i386/include/param.h#7 integrate .. //depot/projects/usb/src/sys/i386/isa/atpic.c#5 integrate .. //depot/projects/usb/src/sys/i386/xen/pmap.c#8 integrate .. //depot/projects/usb/src/sys/ia64/conf/GENERIC#13 integrate .. //depot/projects/usb/src/sys/ia64/include/param.h#4 integrate .. //depot/projects/usb/src/sys/kern/kern_event.c#11 integrate .. //depot/projects/usb/src/sys/kern/kern_exit.c#20 integrate .. //depot/projects/usb/src/sys/kern/kern_intr.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_linker.c#17 integrate .. //depot/projects/usb/src/sys/kern/sys_generic.c#16 integrate .. //depot/projects/usb/src/sys/kern/sys_pipe.c#13 integrate .. //depot/projects/usb/src/sys/kern/sys_process.c#13 integrate .. //depot/projects/usb/src/sys/kern/sys_socket.c#12 integrate .. //depot/projects/usb/src/sys/kern/tty.c#28 integrate .. //depot/projects/usb/src/sys/kern/uipc_socket.c#23 integrate .. //depot/projects/usb/src/sys/kern/uipc_syscalls.c#17 integrate .. //depot/projects/usb/src/sys/kern/vfs_cluster.c#8 integrate .. //depot/projects/usb/src/sys/kern/vfs_export.c#11 integrate .. //depot/projects/usb/src/sys/kern/vfs_mount.c#27 integrate .. //depot/projects/usb/src/sys/kern/vfs_subr.c#24 integrate .. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#25 integrate .. //depot/projects/usb/src/sys/kern/vfs_vnops.c#21 integrate .. //depot/projects/usb/src/sys/mips/include/param.h#4 integrate .. //depot/projects/usb/src/sys/mips/malta/yamon.c#3 integrate .. //depot/projects/usb/src/sys/mips/mips/busdma_machdep.c#5 integrate .. //depot/projects/usb/src/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/usb/src/sys/mips/mips/intr_machdep.c#4 integrate .. //depot/projects/usb/src/sys/modules/Makefile#38 integrate .. //depot/projects/usb/src/sys/modules/geom/geom_label/Makefile#2 integrate .. //depot/projects/usb/src/sys/modules/nfsclient/Makefile#7 integrate .. //depot/projects/usb/src/sys/modules/nfsserver/Makefile#6 integrate .. //depot/projects/usb/src/sys/modules/wlan/Makefile#11 integrate .. //depot/projects/usb/src/sys/net/if.c#33 integrate .. //depot/projects/usb/src/sys/net/if_var.h#23 integrate .. //depot/projects/usb/src/sys/net/netisr.c#12 integrate .. //depot/projects/usb/src/sys/net/vnet.h#12 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.c#25 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_action.c#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_action.h#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_adhoc.c#10 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ageq.c#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_ageq.h#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.h#17 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_hostap.c#15 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ht.c#14 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ht.h#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_node.c#25 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_node.h#17 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#12 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_var.h#24 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#12 integrate .. //depot/projects/usb/src/sys/netgraph/ng_iface.c#14 integrate .. //depot/projects/usb/src/sys/netgraph/ng_ksocket.c#7 integrate .. //depot/projects/usb/src/sys/netinet6/in6_var.h#11 integrate .. //depot/projects/usb/src/sys/nfs/nfs_common.c#4 integrate .. //depot/projects/usb/src/sys/nfs/rpcv2.h#2 delete .. //depot/projects/usb/src/sys/nfsclient/bootp_subr.c#16 integrate .. //depot/projects/usb/src/sys/nfsclient/krpc_subr.c#6 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs.h#11 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_bio.c#18 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_diskless.c#12 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_krpc.c#6 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_lock.c#7 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_nfsiod.c#5 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_node.c#9 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_socket.c#13 delete .. //depot/projects/usb/src/sys/nfsclient/nfs_subs.c#11 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vfsops.c#19 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vnops.c#26 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsm_subs.h#4 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsmount.h#6 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs.h#11 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_fha.c#4 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_serv.c#15 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvcache.c#6 delete .. //depot/projects/usb/src/sys/nfsserver/nfs_srvkrpc.c#10 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsock.c#13 delete .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsubs.c#17 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_syscalls.c#14 delete .. //depot/projects/usb/src/sys/nfsserver/nfsrvcache.h#4 integrate .. //depot/projects/usb/src/sys/pc98/conf/GENERIC#20 integrate .. //depot/projects/usb/src/sys/powerpc/conf/GENERIC#22 integrate .. //depot/projects/usb/src/sys/powerpc/include/param.h#5 integrate .. //depot/projects/usb/src/sys/rpc/clnt_dg.c#6 integrate .. //depot/projects/usb/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/usb/src/sys/security/audit/audit.c#14 integrate .. //depot/projects/usb/src/sys/security/audit/audit.h#12 integrate .. //depot/projects/usb/src/sys/security/audit/audit_arg.c#12 integrate .. //depot/projects/usb/src/sys/security/audit/audit_bsm.c#15 integrate .. //depot/projects/usb/src/sys/security/audit/audit_private.h#11 integrate .. //depot/projects/usb/src/sys/sparc64/conf/GENERIC#22 integrate .. //depot/projects/usb/src/sys/sparc64/include/param.h#5 integrate .. //depot/projects/usb/src/sys/sparc64/include/pmap.h#3 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/machdep.c#16 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/pmap.c#12 integrate .. //depot/projects/usb/src/sys/sun4v/conf/GENERIC#15 integrate .. //depot/projects/usb/src/sys/sun4v/include/param.h#4 integrate .. //depot/projects/usb/src/sys/sys/cpuctl.h#2 integrate .. //depot/projects/usb/src/sys/sys/event.h#6 integrate .. //depot/projects/usb/src/sys/sys/filio.h#3 integrate .. //depot/projects/usb/src/sys/sys/mount.h#21 integrate .. //depot/projects/usb/src/sys/sys/param.h#39 integrate .. //depot/projects/usb/src/sys/sys/priv.h#20 integrate .. //depot/projects/usb/src/sys/sys/socketvar.h#12 integrate .. //depot/projects/usb/src/sys/sys/vnode.h#24 integrate .. //depot/projects/usb/src/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/usb/src/sys/ufs/ffs/ffs_softdep.c#13 integrate .. //depot/projects/usb/src/sys/ufs/ffs/ffs_vnops.c#14 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#19 integrate .. //depot/projects/usb/src/sys/vm/vm_extern.h#8 integrate .. //depot/projects/usb/src/sys/vm/vm_fault.c#16 integrate .. //depot/projects/usb/src/sys/vm/vm_map.c#17 integrate .. //depot/projects/usb/src/sys/vm/vm_object.c#19 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/genassym.c#13 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#16 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/usb/src/sys/amd64/amd64/intr_machdep.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); ==== //depot/projects/usb/src/sys/amd64/amd64/io_apic.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.35 2009/07/06 18:23:00 jhb Exp $"); #include "opt_isa.h" @@ -120,7 +120,7 @@ static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,12 +322,12 @@ mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; struct ioapic *io = (struct ioapic *)isrc->is_pic; - u_int old_vector; + u_int old_vector, new_vector; u_int old_id; /* @@ -342,14 +342,20 @@ old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once * we have a vector we program the interrupt pin. */ + new_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (new_vector == 0) + return (ENOSPC); + intpin->io_cpu = apic_id; - intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + intpin->io_vector = new_vector; + if (isrc->is_handlers > 0) + apic_enable_vector(intpin->io_cpu, intpin->io_vector); if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -362,8 +368,12 @@ * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ - if (old_vector) + if (old_vector) { + if (isrc->is_handlers > 0) + apic_disable_vector(old_id, old_vector); apic_free_vector(old_id, old_vector, intpin->io_irq); + } + return (0); } static void @@ -372,7 +382,9 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +508,7 @@ io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +742,7 @@ if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); ==== //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#18 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -139,7 +139,7 @@ }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { ==== //depot/projects/usb/src/sys/amd64/amd64/machdep.c#21 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.704 2009/07/06 18:10:27 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -100,8 +100,9 @@ #ifndef KDB #error KDB must be enabled in order for DDB to work! #endif +#include +#include #endif -#include #include @@ -1083,6 +1084,30 @@ IDTVEC(xmm), IDTVEC(dblfault), IDTVEC(fast_syscall), IDTVEC(fast_syscall32); +#ifdef DDB +/* + * Display the index and function name of any IDT entries that don't use + * the default 'rsvd' entry point. + */ +DB_SHOW_COMMAND(idt, db_show_idt) +{ + struct gate_descriptor *ip; + int idx; + uintptr_t func; + + ip = idt; + for (idx = 0; idx < NIDT && !db_pager_quit; idx++) { + func = ((long)ip->gd_hioffset << 16 | ip->gd_looffset); + if (func != (uintptr_t)&IDTVEC(rsvd)) { + db_printf("%3d\t", idx); + db_printsym(func, DB_STGY_PROC); + db_printf("\n"); + } + ip++; + } +} +#endif + void sdtossd(sd, ssd) struct user_segment_descriptor *sd; ==== //depot/projects/usb/src/sys/amd64/amd64/msi.c#10 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.14 2009/07/06 18:23:00 jhb Exp $"); #include #include @@ -113,6 +113,8 @@ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,39 +197,72 @@ return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; + if (msi->msi_intsrc.is_handlers > 0) + apic_enable_vector(msi->msi_cpu, msi->msi_vector); if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (sib->msi_intsrc.is_handlers > 0) + apic_enable_vector(sib->msi_cpu, sib->msi_vector); + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ + if (msi->msi_intsrc.is_handlers > 0) + apic_disable_vector(old_id, old_vector); apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + if (sib->msi_intsrc.is_handlers > 0) + apic_disable_vector(old_id, old_vector + i); + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + } + return (0); } void @@ -268,7 +303,7 @@ msi_last_irq++; mtx_unlock(&msi_lock); - msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); msi->msi_intsrc.is_pic = &msi_pic; msi->msi_irq = irq; intr_register_source(&msi->msi_intsrc); @@ -276,21 +311,22 @@ } /* - * Try to allocate 'count' interrupt sources with contiguous IDT values. If - * we allocate any new sources, then their IRQ values will be at the end of - * the irqs[] array, with *newirq being the index of the first new IRQ value - * and *newcount being the number of new IRQ values added. + * Try to allocate 'count' interrupt sources with contiguous IDT values. */ int msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; u_int cpu; - int cnt, i, vector; + int cnt, i, *mirqs, vector; if (!msi_enabled) return (ENXIO); + if (count > 1) + mirqs = malloc(count * sizeof(*mirqs), M_MSI, M_WAITOK); + else + mirqs = NULL; again: mtx_lock(&msi_lock); @@ -317,6 +353,7 @@ /* If we would exceed the max, give up. */ if (i + (count - cnt) > FIRST_MSI_INT + NUM_MSI_INTS) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENXIO); } mtx_unlock(&msi_lock); @@ -337,6 +374,7 @@ vector = apic_alloc_vectors(cpu, irqs, count, maxcount); if (vector == 0) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENOSPC); } @@ -356,6 +394,10 @@ ("dead MSI has handlers")); } fsrc->msi_count = count; + fsrc->msi_maxcount = maxcount; + if (count > 1) + bcopy(irqs, mirqs, count * sizeof(*mirqs)); + fsrc->msi_irqs = mirqs; mtx_unlock(&msi_lock); return (0); @@ -413,6 +455,9 @@ apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; + first->msi_maxcount = 0; + free(first->msi_irqs, M_MSI); + first->msi_irqs = NULL; mtx_unlock(&msi_lock); return (0); @@ -498,15 +543,23 @@ /* Allocate an IDT vector. */ cpu = intr_next_cpu(); vector = apic_alloc_vector(cpu, i); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } if (bootverbose) printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", msi->msi_irq, cpu, vector); - + /* Setup source. */ msi->msi_cpu = cpu; msi->msi_dev = dev; + msi->msi_first = msi; msi->msi_vector = vector; msi->msi_msix = 1; + msi->msi_count = 1; + msi->msi_maxcount = 1; + msi->msi_irqs = NULL; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); mtx_unlock(&msi_lock); @@ -536,10 +589,13 @@ KASSERT(msi->msi_dev != NULL, ("unowned message")); /* Clear out the message. */ + msi->msi_first = NULL; msi->msi_dev = NULL; apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; + msi->msi_count = 0; + msi->msi_maxcount = 0; mtx_unlock(&msi_lock); return (0); ==== //depot/projects/usb/src/sys/amd64/amd64/pmap.c#24 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.662 2009/07/06 18:43:42 alc Exp $"); /* * Manages physical address maps. @@ -2218,11 +2218,19 @@ /* * Invalidate the 2MB page mapping and return "failure" if the * mapping was never accessed or the allocation of the new - * page table page fails. + * page table page fails. If the 2MB page mapping belongs to + * the direct map region of the kernel's address space, then + * the page allocation request specifies the highest possible + * priority (VM_ALLOC_INTERRUPT). Otherwise, the priority is + * normal. Page table pages are preallocated for every other + * part of the kernel address space, so the direct map region + * is the only part of the kernel address space that must be + * handled here. */ if ((oldpde & PG_A) == 0 || (mpte = vm_page_alloc(NULL, - pmap_pde_pindex(va), VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL | - VM_ALLOC_WIRED)) == NULL) { + pmap_pde_pindex(va), (va >= DMAP_MIN_ADDRESS && va < + DMAP_MAX_ADDRESS ? VM_ALLOC_INTERRUPT : VM_ALLOC_NORMAL) | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { free = NULL; pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free); pmap_invalidate_page(pmap, trunc_2mpage(va)); ==== //depot/projects/usb/src/sys/amd64/conf/GENERIC#29 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.530 2009/07/02 18:24:37 ed Exp $ cpu HAMMER ident GENERIC @@ -65,6 +65,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev ==== //depot/projects/usb/src/sys/amd64/include/intr_machdep.h#9 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.24 2009/07/01 17:20:07 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -93,7 +93,7 @@ void (*pic_resume)(struct pic *); int (*pic_config_intr)(struct intsrc *, enum intr_trigger, enum intr_polarity); - void (*pic_assign_cpu)(struct intsrc *, u_int apic_id); + int (*pic_assign_cpu)(struct intsrc *, u_int apic_id); STAILQ_ENTRY(pic) pics; }; ==== //depot/projects/usb/src/sys/amd64/include/param.h#8 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.29 2009/06/08 16:43:40 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.30 2009/07/05 17:45:48 sam Exp $ */ /* @@ -47,12 +47,6 @@ * Round p (pointer or byte index) up to a correctly-aligned value * for all data types (int, long, ...). The result is u_long and * must be cast to any desired pointer type. - * - * ALIGNED_POINTER is a boolean macro that checks whether an address - * is valid to fetch data elements of type t from on this architecture. - * This does not reflect the optimal alignment, just the possibility - * (within reasonable limits). - * */ #ifndef _ALIGNBYTES #define _ALIGNBYTES (sizeof(long) - 1) @@ -60,9 +54,6 @@ #ifndef _ALIGN #define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) #endif -#ifndef _ALIGNED_POINTER -#define _ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0) -#endif #ifndef _NO_NAMESPACE_POLLUTION @@ -87,7 +78,13 @@ #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) -#define ALIGNED_POINTER(p,t) _ALIGNED_POINTER(p,t) +/* + * ALIGNED_POINTER is a boolean macro that checks whether an address + * is valid to fetch data elements of type t from on this architecture. + * This does not reflect the optimal alignment, just the possibility + * (within reasonable limits). + */ +#define ALIGNED_POINTER(p, t) 1 /* * CACHE_LINE_SIZE is the compile-time maximum cache line size for an ==== //depot/projects/usb/src/sys/amd64/isa/atpic.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.24 2008/03/20 21:53:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.25 2009/07/01 17:20:07 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -143,7 +143,7 @@ static int atpic_source_pending(struct intsrc *isrc); static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void i8259_init(struct atpic *pic, int slave); static struct atpic atpics[] = { @@ -357,7 +357,7 @@ return (0); } -static void +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id) { ==== //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#4 (text+ko) ==== @@ -46,7 +46,7 @@ #include "opt_msgbuf.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -301,6 +301,11 @@ /* Map the vector page. */ pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); ==== //depot/projects/usb/src/sys/arm/include/param.h#4 (text+ko) ==== @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.15 2009/04/20 12:59:23 rwatson Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.16 2009/07/05 17:45:48 sam Exp $ */ /* @@ -80,6 +80,13 @@ #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) +/* + * ALIGNED_POINTER is a boolean macro that checks whether an address + * is valid to fetch data elements of type t from on this architecture. + * This does not reflect the optimal alignment, just the possibility + * (within reasonable limits). + */ +#define ALIGNED_POINTER(p, t) ((((unsigned)(p)) & (sizeof(t)-1)) == 0) /* * CACHE_LINE_SIZE is the compile-time maximum cache line size for an ==== //depot/projects/usb/src/sys/arm/mv/mv_machdep.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -528,9 +528,9 @@ L2_TABLE_SIZE_REAL * l2size, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - /* Map allocated stacks and msgbuf */ - pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, - freemempos - irqstack.pv_va, + /* Map allocated DPCPU, stacks and msgbuf */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, + freemempos - dpcpu.pv_va, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Link and map the vector page */ ==== //depot/projects/usb/src/sys/arm/sa11x0/assabet_machdep.c#9 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.29 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.30 2009/07/01 20:07:44 raj Exp $"); #include "opt_md.h" @@ -313,6 +313,9 @@ pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, ((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); ==== //depot/projects/usb/src/sys/conf/files#72 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 7 18:50:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F0B81065672; Tue, 7 Jul 2009 18:50:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 273C3106564A for ; Tue, 7 Jul 2009 18:50:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 139BB8FC21 for ; Tue, 7 Jul 2009 18:50:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67Io8x4094773 for ; Tue, 7 Jul 2009 18:50:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67Io7pt094771 for perforce@freebsd.org; Tue, 7 Jul 2009 18:50:07 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 7 Jul 2009 18:50:07 GMT Message-Id: <200907071850.n67Io7pt094771@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165773 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 18:50:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165773 Change 165773 by hselasky@hselasky_laptop001 on 2009/07/07 18:49:07 LibUSB: - Integrate Sylvestre Gallon's latest version of LibUSB v1.0. Affected files ... .. //depot/projects/usb/src/lib/libusb/Makefile#5 integrate .. //depot/projects/usb/src/lib/libusb/libusb.3#17 integrate .. //depot/projects/usb/src/lib/libusb/libusb.h#5 integrate .. //depot/projects/usb/src/lib/libusb/libusb10.3#3 branch .. //depot/projects/usb/src/lib/libusb/libusb10.c#5 integrate .. //depot/projects/usb/src/lib/libusb/libusb10.h#2 integrate .. //depot/projects/usb/src/lib/libusb/libusb10_desc.c#4 integrate .. //depot/projects/usb/src/lib/libusb/libusb10_io.c#2 integrate .. //depot/projects/usb/src/lib/libusb/libusb20.3#2 integrate .. //depot/projects/usb/src/lib/libusb/libusb20.c#7 integrate .. //depot/projects/usb/src/lib/libusb/libusb20.h#7 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_compat01.c#5 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_desc.c#3 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_desc.h#3 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_int.h#6 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#7 integrate .. //depot/projects/usb/src/lib/libusb/usb.h#3 integrate Differences ... ==== //depot/projects/usb/src/lib/libusb/Makefile#5 (text+ko) ==== ==== //depot/projects/usb/src/lib/libusb/libusb.3#17 (text+ko) ==== ==== //depot/projects/usb/src/lib/libusb/libusb.h#5 (text+ko) ==== @@ -1,4 +1,3 @@ -/* $FreeBSD: src/lib/libusb/libusb.h,v 1.7 2009/06/23 01:04:58 thompsa Exp $ */ /*- * Copyright (c) 2009 Sylvestre Gallon. All rights reserved. * @@ -27,14 +26,16 @@ #ifndef __LIBUSB_H__ #define __LIBUSB_H__ +#include +#include +#include +#include + #include #include #include #include -#include -#include -#include #ifdef __cplusplus extern "C" { @@ -44,10 +45,6 @@ #endif -struct list_head { - struct list_head *prev, *next; -}; - /* libusb enums */ enum libusb_class_code { @@ -183,6 +180,33 @@ LIBUSB_DEBUG_TRANSFER=2, }; +/* internal structures */ + +typedef struct libusb_pollfd { + int fd; + short events; +} libusb_pollfd; + +struct usb_pollfd { + TAILQ_ENTRY(usb_pollfd) list; + struct libusb_pollfd pollfd; +}; + +struct usb_transfer { + TAILQ_ENTRY(usb_transfer) list; + int num_iso_packets; + struct timeval timeout; + int transferred; + uint8_t flags; +}; + +struct usb_ep_tr { + TAILQ_ENTRY(usb_ep_tr) list; + uint8_t addr; + uint8_t idx; + uint8_t flags; + void *os_priv; +}; /* libusb structures */ typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data); @@ -194,16 +218,16 @@ int ctrl_pipe[2]; - struct list_head usb_devs; + TAILQ_HEAD(usb_devs_list, libusb_device) usb_devs; pthread_mutex_t usb_devs_lock; - struct list_head open_devs; + TAILQ_HEAD(open_devs_list, libusb_device_handle) open_devs; pthread_mutex_t open_devs_lock; - struct list_head flying_transfers; + TAILQ_HEAD(flying_transfers_list, usb_transfer) flying_transfers; pthread_mutex_t flying_transfers_lock; - struct list_head pollfds; + TAILQ_HEAD(pollfds_list, usb_pollfd) pollfds; pthread_mutex_t pollfds_lock; unsigned int pollfd_modify; @@ -230,7 +254,7 @@ uint8_t device_address; uint8_t num_configurations; - struct list_head list; + TAILQ_ENTRY(libusb_device) list; unsigned long session_data; void *os_priv; } libusb_device; @@ -239,9 +263,10 @@ pthread_mutex_t lock; unsigned long claimed_interfaces; - struct list_head list; + TAILQ_ENTRY(libusb_device_handle) list; struct libusb_device *dev; void *os_priv; + TAILQ_HEAD(ep_list, usb_ep_tr) ep_list; } libusb_device_handle; typedef struct libusb_device_descriptor { @@ -343,11 +368,6 @@ struct libusb_iso_packet_descriptor iso_packet_desc[0]; } libusb_transfer __aligned(sizeof(void *)); -typedef struct libusb_pollfd { - int fd; - short events; -} libusb_pollfd; - /* Library initialisation */ void libusb_set_debug(libusb_context * ctx, int level); @@ -360,6 +380,7 @@ void libusb_free_device_list(libusb_device ** list, int unref_devices); uint8_t libusb_get_bus_number(libusb_device * dev); uint8_t libusb_get_device_address(libusb_device * dev); +int libusb_clear_halt(libusb_device_handle *devh, unsigned char endpoint); int libusb_get_max_packet_size(libusb_device * dev, unsigned char endpoint); libusb_device *libusb_ref_device(libusb_device * dev); void libusb_unref_device(libusb_device * dev); ==== //depot/projects/usb/src/lib/libusb/libusb10.c#5 (text+ko) ==== @@ -1,4 +1,3 @@ -/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.1 2009/06/23 01:04:58 thompsa Exp $ */ /*- * Copyright (c) 2009 Sylvestre Gallon. All rights reserved. * @@ -75,8 +74,8 @@ pthread_mutex_init(&ctx->usb_devs_lock, NULL); pthread_mutex_init(&ctx->open_devs_lock, NULL); - USB_LIST_INIT(&ctx->usb_devs); - USB_LIST_INIT(&ctx->open_devs); + TAILQ_INIT(&ctx->usb_devs); + TAILQ_INIT(&ctx->open_devs); pthread_mutex_init(&ctx->flying_transfers_lock, NULL); pthread_mutex_init(&ctx->pollfds_lock, NULL); @@ -85,8 +84,8 @@ pthread_mutex_init(&ctx->event_waiters_lock, NULL); pthread_cond_init(&ctx->event_waiters_cond, NULL); - USB_LIST_INIT(&ctx->flying_transfers); - USB_LIST_INIT(&ctx->pollfds); + TAILQ_INIT(&ctx->flying_transfers); + TAILQ_INIT(&ctx->pollfds); ret = pipe(ctx->ctrl_pipe); if (ret < 0) { @@ -123,7 +122,7 @@ { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); usb_remove_pollfd(ctx, ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[1]); @@ -135,7 +134,7 @@ pthread_mutex_unlock(&default_context_lock); free(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); } /* Device handling and initialisation. */ @@ -150,7 +149,7 @@ int i; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); usb_backend = libusb20_be_alloc_default(); if (usb_backend == NULL) @@ -178,6 +177,10 @@ ddesc = libusb20_dev_get_device_desc(pdev); dev = malloc(sizeof(*dev)); if (dev == NULL) { + while (i != 0) { + libusb_unref_device((*list)[i - 1]); + i--; + } free(*list); libusb20_be_free(usb_backend); return (LIBUSB_ERROR_NO_MEM); @@ -194,7 +197,7 @@ dev->os_priv = pdev; pthread_mutex_lock(&ctx->usb_devs_lock); - LIST_ADD(&dev->list, &ctx->usb_devs); + TAILQ_INSERT_HEAD(&ctx->usb_devs, dev, list); pthread_mutex_unlock(&ctx->usb_devs_lock); (*list)[i] = libusb_ref_device(dev); @@ -203,7 +206,7 @@ (*list)[i] = NULL; libusb20_be_free(usb_backend); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); return (i); } @@ -219,7 +222,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); if (list == NULL) return ; @@ -229,7 +232,7 @@ libusb_unref_device(list[i]); } free(list); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); } uint8_t @@ -239,11 +242,11 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); return (dev->bus_number); } @@ -254,11 +257,11 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); return (dev->device_address); } @@ -274,7 +277,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); @@ -299,7 +302,7 @@ out: libusb_free_config_descriptor(pdconf); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); return (ret); } @@ -310,7 +313,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); if (dev == NULL) return (NULL); @@ -319,7 +322,7 @@ dev->refcnt++; pthread_mutex_unlock(&dev->lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); return (dev); } @@ -330,7 +333,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); if (dev == NULL) return; @@ -341,13 +344,13 @@ if (dev->refcnt == 0) { pthread_mutex_lock(&dev->ctx->usb_devs_lock); - LIST_DEL(&dev->list); + TAILQ_REMOVE(&ctx->usb_devs, dev, list); pthread_mutex_unlock(&dev->ctx->usb_devs_lock); libusb20_dev_free(dev->os_priv); free(dev); } - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); } int @@ -360,7 +363,7 @@ int err; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); dummy = 1; if (devh == NULL) @@ -378,6 +381,7 @@ memset(hdl, 0, sizeof(*hdl)); pthread_mutex_init(&hdl->lock, NULL); + TAILQ_INIT(&hdl->ep_list); hdl->dev = libusb_ref_device(dev); hdl->claimed_interfaces = 0; hdl->os_priv = dev->os_priv; @@ -390,7 +394,7 @@ } pthread_mutex_lock(&ctx->open_devs_lock); - LIST_ADD(&hdl->list, &ctx->open_devs); + TAILQ_INSERT_HEAD(&ctx->open_devs, hdl, list); pthread_mutex_unlock(&ctx->open_devs_lock); *devh = hdl; @@ -414,7 +418,7 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); return (0); } @@ -429,7 +433,7 @@ int i, j; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); devh = NULL; @@ -440,13 +444,15 @@ pdev = (struct libusb20_device *)devs[j]->os_priv; pdesc = libusb20_dev_get_device_desc(pdev); if (pdesc->idVendor == vendor_id && - pdesc->idProduct == product_id) + pdesc->idProduct == product_id) { if (libusb_open(devs[j], &devh) < 0) devh = NULL; + break ; + } } libusb_free_device_list(devs, 1); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); return (devh); } @@ -455,6 +461,7 @@ { libusb_context *ctx; struct libusb20_device *pdev; + struct usb_ep_tr *eptr; unsigned char dummy = 1; int err; @@ -465,7 +472,7 @@ pdev = devh->os_priv; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); ctx->pollfd_modify++; @@ -475,12 +482,21 @@ if (err <= 0) { pthread_mutex_lock(&ctx->open_devs_lock); - LIST_DEL(&devh->list); + TAILQ_REMOVE(&ctx->open_devs, devh, list); pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); + libusb20_dev_close(pdev); libusb_unref_device(devh->dev); - libusb20_dev_close(pdev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + TAILQ_REMOVE(&devh->ep_list, eptr, list); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[0]); + if (eptr->flags) + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[1]); + free((struct libusb20_transfer **)eptr->os_priv); + } free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -492,12 +508,21 @@ read(ctx->ctrl_pipe[0], &dummy, sizeof(dummy)); pthread_mutex_lock(&ctx->open_devs_lock); - LIST_DEL(&devh->list); + TAILQ_REMOVE(&ctx->open_devs, devh, list); pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); + libusb20_dev_close(pdev); libusb_unref_device(devh->dev); - libusb20_dev_close(pdev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + TAILQ_REMOVE(&devh->ep_list, eptr, list); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[0]); + if (eptr->flags) + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[1]); + free((struct libusb20_transfer **)eptr->os_priv); + } free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -505,7 +530,7 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close leave"); } libusb_device * @@ -515,12 +540,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); if (devh == NULL) return (NULL); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device leave"); return (devh->dev); } @@ -531,7 +556,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); if (devh == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -539,14 +564,10 @@ *config = libusb20_dev_get_config_index((struct libusb20_device *) devh->dev->os_priv); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration leave"); return (0); } -/* - * XXX this code is wrong. need update. - */ - int libusb_set_configuration(libusb_device_handle * devh, int configuration) { @@ -555,16 +576,15 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); pdev = (struct libusb20_device *)devh->dev->os_priv; - libusb20_dev_set_alt_index(pdev, libusb20_dev_get_config_index(pdev), - configuration); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration leave"); + libusb20_dev_set_config_index(pdev, configuration); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration leave"); return (0); } @@ -576,7 +596,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -592,7 +612,7 @@ dev->claimed_interfaces |= (1 << interface_number); pthread_mutex_unlock(&(dev->lock)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface leave"); return (ret); } @@ -604,7 +624,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); ret = 0; if (dev == NULL) @@ -621,7 +641,7 @@ dev->claimed_interfaces &= ~(1 << interface_number); pthread_mutex_unlock(&(dev->lock)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface leave"); return (ret); } @@ -634,7 +654,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -653,7 +673,7 @@ alternate_setting) != 0) return (LIBUSB_ERROR_OTHER); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting leave"); return (0); } @@ -661,14 +681,19 @@ libusb_clear_halt(libusb_device_handle * devh, unsigned char endpoint) { struct libusb20_transfer *xfer; + struct libusb20_device *pdev; libusb_context *ctx; int ret; ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); - - GET_XFER(xfer, endpoint, devh->os_priv); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); + + pdev = devh->os_priv; + xfer = libusb20_tr_get_pointer(pdev, + ((endpoint / 0x40) | (endpoint * 4)) % (16 * 4)); + if (xfer == NULL) + return (LIBUSB_ERROR_NO_MEM); pthread_mutex_lock(&libusb20_lock); ret = libusb20_tr_open(xfer, 0, 0, endpoint); @@ -682,7 +707,7 @@ libusb20_tr_close(xfer); pthread_mutex_unlock(&libusb20_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt leave"); return (0); } @@ -693,13 +718,13 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); if (dev == NULL) return (LIBUSB20_ERROR_INVALID_PARAM); libusb20_dev_reset(dev->os_priv); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device leave"); return (0); } @@ -710,12 +735,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active leave"); return (libusb20_dev_kernel_driver_active(devh->os_priv, interface)); } @@ -727,7 +752,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -736,7 +761,7 @@ if (libusb20_dev_detach_kernel_driver(pdev, interface) == LIBUSB20_ERROR_OTHER) return (LIBUSB_ERROR_OTHER); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver leave"); return (0); } @@ -751,12 +776,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver leave"); return (0); } @@ -772,7 +797,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); len = sizeof(struct libusb_transfer) + sizeof(struct usb_transfer) + @@ -788,7 +813,7 @@ xfer = (struct libusb_transfer *) ((uint8_t *)bxfer + sizeof(struct usb_transfer)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer leave"); return (xfer); } @@ -800,7 +825,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); if (xfer == NULL) return ; @@ -809,10 +834,85 @@ sizeof(struct usb_transfer)); free(bxfer); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer leave"); return; } +static int +libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + case LIBUSB20_SPEED_FULL: + ret = 60 * 1; + break ; + default : + ret = 60 * 8; + break ; + } + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + ret = 2; + break ; + default: + ret = 1; + break ; + } + + return ret; +} + +static int +libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + ret = 0; + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 8; + break ; + case LIBUSB20_SPEED_FULL: + ret = 64; + break ; + default: + ret = 64; + break ; + } + ret += 8; + break ; + default : + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 256; + break ; + case LIBUSB20_SPEED_FULL: + ret = 4096; + break ; + default: + ret = 16384; + break ; + } + break ; + } + + return ret; +} + static void libusb10_proxy(struct libusb20_transfer *xfer) { @@ -820,6 +920,9 @@ struct libusb20_device *pdev; libusb_transfer *usb_xfer; libusb_context *ctx; + uint32_t pos; + uint32_t max; + uint32_t size; uint8_t status; uint32_t iso_packets; int i; @@ -834,172 +937,97 @@ switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); - usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); - usb_xfer->callback(usb_xfer); - - pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&usb_backend->list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); + usb_backend->transferred += libusb20_tr_get_actual_length(xfer); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 TRANSFER %i bytes", + usb_backend->transferred); + if (usb_backend->transferred != usb_xfer->length) + goto tr_start; + + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 TRANSFER COMPLETE"); + usb_handle_transfer_completion(usb_backend, LIBUSB_TRANSFER_COMPLETED); + break ; case LIBUSB20_TRANSFER_START: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); +tr_start: + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); + max = libusb_get_buffsize(pdev, usb_xfer); + pos = usb_backend->transferred; + size = (usb_xfer->length - pos); + size = (size > max) ? max : size; usb_xfer->actual_length = 0; switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); libusb20_tr_setup_control(xfer, usb_xfer->buffer, - (void *)(((uint8_t *) usb_xfer->buffer) + + (void *)(((uint8_t *) &usb_xfer->buffer[pos]) + sizeof(libusb_control_setup)), usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE ISO"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE ISO"); iso_packets = libusb20_tr_get_max_frames(xfer); if (usb_xfer->num_iso_packets > iso_packets) usb_xfer->num_iso_packets = iso_packets; for (i = 0 ; i < usb_xfer->num_iso_packets ; i++) { libusb20_tr_setup_isoc(xfer, - usb_xfer->buffer, usb_xfer->length, i); + &usb_xfer->buffer[pos], size, i); } libusb20_tr_set_total_frames(xfer, i); break ; case LIBUSB_TRANSFER_TYPE_BULK: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); - libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, - usb_xfer->length, usb_xfer->timeout); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); + libusb20_tr_setup_bulk(xfer, &usb_xfer->buffer[pos], + size, usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_INTERRUPT: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); - libusb20_tr_setup_intr(xfer, usb_xfer->buffer, - usb_xfer->length, usb_xfer->timeout); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); + libusb20_tr_setup_intr(xfer, &usb_xfer->buffer[pos], + size, usb_xfer->timeout); break ; } libusb20_tr_submit(xfer); - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); break ; default: - if (ctx->debug == LIBUSB_DEBUG_TRANSFER) - printf("LIBUSB TRANSFER DEFAULT 0x%x\n", status); - usb_xfer->actual_length = 0; - usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; - - pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&usb_backend->list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); - usb_xfer->callback(usb_xfer); - + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TRANSFER DEFAULT 0x%x\n", + status); + usb_backend->transferred = 0; + usb_handle_transfer_completion(usb_backend, LIBUSB_TRANSFER_CANCELLED); break ; } switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS COMPLETED"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS COMPLETED"); usb_xfer->status = LIBUSB_TRANSFER_COMPLETED; break ; case LIBUSB20_TRANSFER_OVERFLOW: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR OVERFLOW"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR OVERFLOW"); usb_xfer->status = LIBUSB_TRANSFER_OVERFLOW; break ; case LIBUSB20_TRANSFER_NO_DEVICE: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR NO DEVICE"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR NO DEVICE"); usb_xfer->status = LIBUSB_TRANSFER_NO_DEVICE; break ; case LIBUSB20_TRANSFER_STALL: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR STALL"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR STALL"); usb_xfer->status = LIBUSB_TRANSFER_STALL; break ; case LIBUSB20_TRANSFER_CANCELLED: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR CANCELLED"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR CANCELLED"); usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; break ; case LIBUSB20_TRANSFER_TIMED_OUT: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); usb_xfer->status = LIBUSB_TRANSFER_TIMED_OUT; break ; case LIBUSB20_TRANSFER_ERROR: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); usb_xfer->status = LIBUSB_TRANSFER_ERROR; break ; } } -static int -libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) -{ - int ret; - int usb_speed; - - usb_speed = libusb20_dev_get_speed(pdev); - - switch (xfer->type) { - case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - case LIBUSB20_SPEED_FULL: - ret = 60 * 1; - break ; - default : - ret = 60 * 8; - break ; - } - break ; - case LIBUSB_TRANSFER_TYPE_CONTROL: - ret = 2; - break ; - default: - ret = 1; - break ; - } - - return ret; -} - -static int -libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) -{ - int ret; - int usb_speed; - - usb_speed = libusb20_dev_get_speed(pdev); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 7 19:50:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD979106567E; Tue, 7 Jul 2009 19:50:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BBF5106564A for ; Tue, 7 Jul 2009 19:50:14 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 79C3D8FC1D for ; Tue, 7 Jul 2009 19:50:14 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67JoEs1000274 for ; Tue, 7 Jul 2009 19:50:14 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67JoErh000272 for perforce@freebsd.org; Tue, 7 Jul 2009 19:50:14 GMT (envelope-from mav@freebsd.org) Date: Tue, 7 Jul 2009 19:50:14 GMT Message-Id: <200907071950.n67JoErh000272@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165779 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 19:50:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165779 Change 165779 by mav@mav_mavbook on 2009/07/07 19:49:55 Allow SIM driver to announce maxio above MAXPHYS. It may be not error, so just limit it to not confuse above layers. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#41 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#41 (text+ko) ==== @@ -1251,7 +1251,7 @@ if (cpi.maxio == 0) softc->disk->d_maxsize = DFLTPHYS; /* traditional default */ else if (cpi.maxio > MAXPHYS) - softc->disk->d_maxsize = DFLTPHYS; /* for safety */ + softc->disk->d_maxsize = MAXPHYS; /* for safety */ else softc->disk->d_maxsize = cpi.maxio; softc->disk->d_unit = periph->unit_number; From owner-p4-projects@FreeBSD.ORG Tue Jul 7 20:15:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AEB91065673; Tue, 7 Jul 2009 20:15:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF64C1065670 for ; Tue, 7 Jul 2009 20:15:42 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BCE918FC1A for ; Tue, 7 Jul 2009 20:15:42 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67KFgY0003146 for ; Tue, 7 Jul 2009 20:15:42 GMT (envelope-from marinosi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67KFg8D003143 for perforce@freebsd.org; Tue, 7 Jul 2009 20:15:42 GMT (envelope-from marinosi@FreeBSD.org) Date: Tue, 7 Jul 2009 20:15:42 GMT Message-Id: <200907072015.n67KFg8D003143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marinosi@FreeBSD.org using -f From: Ilias Marinos To: Perforce Change Reviews Cc: Subject: PERFORCE change 165785 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 20:15:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=165785 Change 165785 by marinosi@marinosi_redrum on 2009/07/07 20:15:18 BSM record fetching from devices implemented.Needs test. Affected files ... .. //depot/projects/soc2009/marinosi_appaudit/src/sys/bsm/audit_internal.h#3 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#8 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_private.h#5 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.c#4 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#6 edit Differences ... ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/bsm/audit_internal.h#3 (text) ==== @@ -129,7 +129,7 @@ * seconds of time 4 bytes/8 bytes (32-bit/64-bit value) * milliseconds of time 4 bytes/8 bytes (32-bit/64-bit value) */ -struct bsm_record_header { +struct bsm_rec_hdr { u_char token_id; u_int32_t rec_byte_count; u_char version; @@ -143,7 +143,7 @@ * trailer magic number 2 bytes * record byte count 4 bytes */ -struct bsm_record_trailer { +truct bsm_rec_tlr { u_char token_id; u_int16_t trailer_num; u_int32_t rec_byte_count; ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#8 (text) ==== @@ -277,15 +277,18 @@ * pre_q space, suspending the system call until there is room? */ struct kaudit_record * -audit_new(int event, struct thread *td) +audit_new(int event, struct thread *td, struct audit_slice *as) { struct kaudit_record *ar; int no_record; - mtx_lock(&(audit_base_slice->audit_mtx)); - no_record = (&(audit_base_slice->audit_suspended) || - !(audit_base_slice->audit_enabled)); - mtx_unlock(&(audit_base_slice->audit_mtx)); + if (as == NULL) + return (NULL); + + mtx_lock(&(as->audit_mtx)); + no_record = (&(as->audit_suspended) || + !(as->audit_enabled)); + mtx_unlock(&(as->audit_mtx)); if (no_record) return (NULL); @@ -297,9 +300,9 @@ ar = uma_zalloc_arg(audit_record_zone, td, M_WAITOK); ar->k_ar.ar_event = event; - mtx_lock(&(audit_base_slice->audit_mtx)); - audit_base_slice->audit_pre_q_len++; - mtx_unlock(&(audit_base_slice->audit_mtx)); + mtx_lock(&(as->audit_mtx)); + as->audit_pre_q_len++; + mtx_unlock(&(as->audit_mtx)); return (ar); } @@ -478,11 +481,11 @@ &(audit_base_slice->audit_mtx)); panic("audit_failing_stop: thread continued"); } - td->td_ar = audit_new(event, td); + td->td_ar = audit_new(event, td, audit_base_slice); if (td->td_ar != NULL) td->td_pflags |= TDP_AUDITREC; } else if (audit_pipe_preselect(auid, event, class, AU_PRS_BOTH, 0)) { - td->td_ar = audit_new(event, td); + td->td_ar = audit_new(event, td, audit_base_slice); if (td->td_ar != NULL) td->td_pflags |= TDP_AUDITREC; } else @@ -612,7 +615,7 @@ * Where possible coredump records should contain a pathname and arg32 * (signal) tokens. */ - ar = audit_new(AUE_CORE, td); + ar = audit_new(AUE_CORE, td, audit_base_slice); if (path != NULL) { pathp = &ar->k_ar.ar_arg_upath1; *pathp = malloc(MAXPATHLEN, M_AUDITPATH, M_WAITOK); @@ -719,3 +722,67 @@ free(as, M_AUDITSLICE); } } + +/* + * audit_slice_commit_rec() is used to commit a BSM record that was fetched + * from a special device node, to the appropriate slice-owner. + */ +void +audit_slice_commit_rec(void *rec, struct audit_slice *as) +{ + struct kaudit_record *ar; + struct thread *td; + + + + /* struct thread uninitialized! */ + if (ar == NULL) { + + /* + * This is not very efficient; we're required to allocate a + * complete kernel audit record just so the user record can + * tag along. + * + * XXXAUDIT: Maybe AUE_AUDIT in the system call context and + * special pre-select handling? + */ + td->td_ar = audit_new(AUE_NULL, td); + if (td->td_ar == NULL) + return (ENOTSUP); + td->td_pflags |= TDP_AUDITREC; + ar = td->td_ar; + } + + /* Verify the record. */ + if (bsm_rec_verify(rec) == 0) + error = EINVAL; + + + /* + * Note: it could be that some records initiated while audit was + * enabled should still be committed? + */ + mtx_lock(&(as->audit_mtx)); + if (as->audit_suspended + || !as->audit_enabled) { + as->audit_pre_q_len--; + mtx_unlock(&(as->audit_mtx)); + audit_free(ar); + return; + } + + /* + * Constrain the number of committed audit records based on the + * configurable parameter. + */ + while (as->audit_q_len >= + as->audit_qctrl.aq_hiwater) + cv_wait(&(as->audit_watermark_cv), + &(as->audit_mtx)); + + TAILQ_INSERT_TAIL(&(as->audit_q), ar, k_q); + as->audit_q_len++; + as->audit_pre_q_len--; + cv_signal(&(as->audit_worker_cv)); + mtx_unlock(&(as->audit_mtx)); +} ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_private.h#5 (text) ==== @@ -303,7 +303,6 @@ void audit_abort(struct kaudit_record *ar); void audit_commit(struct kaudit_record *ar, int error, int retval); -struct kaudit_record *audit_new(int event, struct thread *td); /* * Functions relating to the conversion of internal kernel audit records to ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.c#4 (text+ko) ==== @@ -156,23 +156,49 @@ /* Actual work here */ int c, error = 0; - void *audit_slice_dev_buf; + u_int32_t recsz = 0; + int nbytes = 0; /*Remaining bytes */ + void *audit_slice_dev_buf, *as_rec; struct audit_slice *as; as = dev->si_drv1; /* Safe malloc the pagesz of the system.*/ - audit_slice_dev_buf = (void *)malloc(PAGE_SIZE, M_TEMP, M_WAITOK); + audit_slice_dev_buf = (void *)malloc(sizeof(struct bsm_rec_hdr), + M_TEMP, M_WAITOK); while (uio->uio_resid > 0) { - c = MIN((int)uio->uio_resid, PAGE_SIZE); + c = MIN((int)uio->uio_resid, sizeof(struct bsm_rec_hdr)); + if ( c == (int)uio->uio_resid ) + break; + + /* Fetch the bsm record's header */ error = uiomove(audit_slice_dev_buf, c, uio); if (error) break; - //(*random_systat.write)(random_buf, c); + + /* + * Store the actual record's size. Add some checks before + * this. + */ + recsz = be32dec (audit_slice_dev_buf->rec_byte_count); + as_rec = (void *)malloc((unsigned long)recsz, M_AUDITBSM, + M_WAITOK | M_ZERO); + + /* Copy the header at the start of record */ + memmove(as_rec, audit_slice_dev_buf, + sizeof(audit_slice_dev_buf)); + + nbytes = (int)recsz - sizeof(audit_slice_dev_buf); + error = uiomove(as_rec, nbytes, uio); + if (error) + break; + + audit_slice_commit_rec( as_rec, as); } free(audit_slice_dev_buf, M_TEMP); + free(as_rec, M_AUDITBSM); return (error); } ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#6 (text+ko) ==== @@ -177,6 +177,13 @@ /* + * Functions to manage the allocation, release, and commit of kernel audit + * records and require audit_slice struct as arguments. + */ +struct kaudit_record *audit_new(int event, struct thread *td, + struct audit_slice *as); + +/* * Audit related functions prototypes */ void audit_rotate_vnode(struct ucred *cred, From owner-p4-projects@FreeBSD.ORG Tue Jul 7 20:24:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5393C1065675; Tue, 7 Jul 2009 20:24:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E14C1065672 for ; Tue, 7 Jul 2009 20:24:53 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EE2B68FC21 for ; Tue, 7 Jul 2009 20:24:52 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67KOqmh003821 for ; Tue, 7 Jul 2009 20:24:52 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67KOqN6003819 for perforce@freebsd.org; Tue, 7 Jul 2009 20:24:52 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 7 Jul 2009 20:24:52 GMT Message-Id: <200907072024.n67KOqN6003819@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165786 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 20:24:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165786 Change 165786 by anchie@anchie_malimis on 2009/07/07 20:23:54 Process the information about the interface on which SeND message was received. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#15 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#7 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#10 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd_local.h#4 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#15 (text+ko) ==== @@ -89,6 +89,18 @@ int direction; }; +void +snd_dispatch_fds(fd_set *fds) +{ + struct snd_ifinfo *p; + + list_for_each_entry(p, &ifaces, list) { + if (FD_ISSET(sndsock, fds)) { + snd_sock_read(p); + } + } +} + int snd_handle_iface(const char *ifname, int ifidx) { @@ -177,13 +189,13 @@ } void -snd_sock_read() +snd_sock_read(struct snd_ifinfo *p) { struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; struct sbuff *b, *b1; struct snd_packet_info *pi; - int n, ifidx = -1; + int n; if ((b = snd_get_buf()) == NULL) { return; @@ -219,7 +231,7 @@ /* n = RTM hdr + m as passed to nd6_ns_input() */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ - snd_recv_pkt(b, ifidx, SND_IN); + snd_recv_pkt(b, p->ifidx, SND_IN); break; case RTM_SND_OUT: applog(LOG_ERR, "RTM_SND_OUT"); @@ -229,8 +241,7 @@ goto done; } - /* ToDo: Extract ifidx. */ - snd_recv_pkt(b, ifidx, SND_OUT); + snd_recv_pkt(b, p->ifidx, SND_OUT); break; } break; ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#7 (text+ko) ==== @@ -667,11 +667,10 @@ void *start; struct ip6_hdr *iph; -#if 0 - if (!snd_iface_ok_(ifidx)) { + if (!snd_iface_ok(ifidx)) { return; } -#endif + #if 0 if (!in) if (sbuff_pull(b, sizeof (struct ether_header)) == NULL) { ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#10 (text+ko) ==== @@ -95,7 +95,6 @@ FD_SET(icmps, fds); FD_SET(ctlfd, fds); /* Routing socket instead of using netgraph for ND/SeND */ - /* FD_SET(snds, fds); */ /* os_specific_add_fds(fds, &maxfd); */ snd_add_fds(fds, &maxfd, snds); DBG(&snd_dbg, "after snd_add_fds"); @@ -125,10 +124,10 @@ if (FD_ISSET(ctlfd, fds)) { snd_ctl_read(ctlfd); } - if (FD_ISSET(snds, fds)) { - snd_sock_read(); - } - /* os_specific_dispatch_fds(fds); */ +#if 0 + os_specific_dispatch_fds(fds); +#endif + snd_dispatch_fds(fds); snd_replace_non_cga_linklocals(); } } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd_local.h#4 (text+ko) ==== @@ -130,7 +130,6 @@ /* net.c */ extern void snd_icmp_sock_read(void); -extern void snd_sock_read(void); extern int snd_net_init(int *, int *); extern struct sbuff *snd_get_buf(void); extern void snd_put_buf(struct sbuff *); From owner-p4-projects@FreeBSD.ORG Tue Jul 7 20:33:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67F221065672; Tue, 7 Jul 2009 20:33:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27986106566C for ; Tue, 7 Jul 2009 20:33:02 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFD428FC14 for ; Tue, 7 Jul 2009 20:33:01 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67KX1oj004743 for ; Tue, 7 Jul 2009 20:33:01 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67KX19j004741 for perforce@freebsd.org; Tue, 7 Jul 2009 20:33:01 GMT (envelope-from mav@freebsd.org) Date: Tue, 7 Jul 2009 20:33:01 GMT Message-Id: <200907072033.n67KX19j004741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165787 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 20:33:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=165787 Change 165787 by mav@mav_mavbook on 2009/07/07 20:32:27 Add cpi.maxio support to ahci and atapicam modules. Teach ada driver to use it. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#18 edit .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#44 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#17 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#18 (text+ko) ==== @@ -632,6 +632,7 @@ char announce_buf[80]; struct disk_params *dp; caddr_t match; + u_int maxio; cgd = (struct ccb_getdev *)arg; if (periph == NULL) { @@ -684,6 +685,7 @@ softc->quirks = ADA_Q_NONE; /* Check if the SIM does not want queued commands */ + bzero(&cpi, sizeof(cpi)); xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -704,10 +706,16 @@ softc->disk->d_dump = adadump; softc->disk->d_name = "ada"; softc->disk->d_drv1 = periph; + maxio = cpi.maxio; /* Honor max I/O size of SIM */ + if (maxio == 0) + maxio = DFLTPHYS; /* traditional default */ + else if (maxio > MAXPHYS) + maxio = MAXPHYS; /* for safety */ if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) - softc->disk->d_maxsize = min(MAXPHYS, 65535 * 512); + maxio = min(maxio, 65535 * 512); else /* 28bit ATA command limit */ - softc->disk->d_maxsize = min(MAXPHYS, 255 * 512); + maxio = min(maxio, 255 * 512); + softc->disk->d_maxsize = maxio; softc->disk->d_unit = periph->unit_number; softc->disk->d_flags = 0; if (softc->flags & ADA_FLAG_CAN_FLUSHCACHE) ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#44 (text+ko) ==== @@ -1837,6 +1837,7 @@ cpi->transport_version = 2; cpi->protocol = PROTO_ATA; cpi->protocol_version = SCSI_REV_2; + cpi->maxio = MAXPHYS; cpi->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); break; ==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#17 (text+ko) ==== @@ -418,6 +418,8 @@ break; } } + cpi->maxio = softc->ata_ch->dma.max_iosize ? + softc->ata_ch->dma.max_iosize : DFLTPHYS; ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); return; From owner-p4-projects@FreeBSD.ORG Tue Jul 7 20:37:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8AB6106568C; Tue, 7 Jul 2009 20:37:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 941CE106568A for ; Tue, 7 Jul 2009 20:37:06 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 829CA8FC1C for ; Tue, 7 Jul 2009 20:37:06 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67Kb6rh005089 for ; Tue, 7 Jul 2009 20:37:06 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67Kb6Wf005087 for perforce@freebsd.org; Tue, 7 Jul 2009 20:37:06 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 7 Jul 2009 20:37:06 GMT Message-Id: <200907072037.n67Kb6Wf005087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165788 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 20:37:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=165788 Change 165788 by rene@rene_self on 2009/07/07 20:36:51 [website] localize comunity.xsl Affected files ... .. //depot/projects/docproj_nl/www/nl/community.xsl#6 edit Differences ... ==== //depot/projects/docproj_nl/www/nl/community.xsl#6 (text+ko) ==== @@ -79,10 +79,10 @@ (number($curdate.year) -1)) and (generate-id() = generate-id(key('last-year-event-by-country', location/country)[1]))])" /> verschillende landen. Een kalender en - RSS feed van aanstaande + href="&base;/events/events.ics">kalender en + RSS feed van aanstaande &os;-gerelateerde evenementen worden bijgehouden op onze - evenementenpagina. + evenementenpagina. Er zijn ook tientallen video's van voorgaande evenementen op het kanaal BSD From owner-p4-projects@FreeBSD.ORG Tue Jul 7 20:41:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85B291065670; Tue, 7 Jul 2009 20:41:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44D49106564A for ; Tue, 7 Jul 2009 20:41:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 328978FC16 for ; Tue, 7 Jul 2009 20:41:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67KfBIE005516 for ; Tue, 7 Jul 2009 20:41:11 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67KfBuF005514 for perforce@freebsd.org; Tue, 7 Jul 2009 20:41:11 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 7 Jul 2009 20:41:11 GMT Message-Id: <200907072041.n67KfBuF005514@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165790 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 20:41:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=165790 Change 165790 by hselasky@hselasky_laptop001 on 2009/07/07 20:40:23 LibUSB v1.0 improvements: - fix some range checks - checking for TAILQ_EMPTY() before TAILQ_FOREACH() is Linuxism and not required for the BSD platform. - libusb_control_transfer() can use already existing libusb20_dev_request_sync(). - fix some return values. - more to come ... Affected files ... .. //depot/projects/usb/src/lib/libusb/libusb10_io.c#3 edit Differences ... ==== //depot/projects/usb/src/lib/libusb/libusb10_io.c#3 (text+ko) ==== @@ -269,9 +269,7 @@ pthread_mutex_unlock(&ctx->pollfds_lock); - timeout = (tv->tv_sec * 1000) + (tv->tv_usec / 1000); - if (tv->tv_usec % 1000) - timeout++; + timeout = (tv->tv_sec * 1000) + ((tv->tv_usec + 999) / 1000); ret = poll(fds, nfds, timeout); if (ret == 0) @@ -471,7 +469,7 @@ ts.tv_sec = tv->tv_sec; ts.tv_nsec = tv->tv_usec * 1000; - if (ts.tv_nsec > 1000000000) { + if (ts.tv_nsec >= 1000000000) { ts.tv_nsec -= 1000000000; ts.tv_sec++; } @@ -577,11 +575,6 @@ found = 0; pthread_mutex_lock(&ctx->flying_transfers_lock); - if (TAILQ_EMPTY(&ctx->flying_transfers)) { - pthread_mutex_unlock(&ctx->flying_transfers_lock); - return (0); - } - TAILQ_FOREACH(xfer, &ctx->flying_transfers, list) { if (!(xfer->flags & USB_TIMED_OUT)) { found = 1; @@ -628,7 +621,7 @@ } struct libusb_pollfd ** -libusb_get_pollfds(libusb_context * ctx) +libusb_get_pollfds(libusb_context *ctx) { struct usb_pollfd *pollfd; libusb_pollfd **ret; @@ -660,106 +653,61 @@ /* Synchronous device I/O */ -static void ctrl_tr_cb(struct libusb_transfer *transfer) -{ - libusb_context *ctx; - int *complet; - - ctx = NULL; - GET_CONTEXT(ctx); - DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "CALLBACK ENTER"); - - complet = transfer->user_data; - *complet = 1; -} - int libusb_control_transfer(libusb_device_handle * devh, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout) { - struct libusb_transfer *xfer; - struct libusb_control_setup *ctr; - libusb_context *ctx; - unsigned char *buff; - int complet; - int ret; + struct LIBUSB20_CONTROL_SETUP_DECODED req; + int err; + uint16_t actlen; - ctx = devh->dev->ctx; - GET_CONTEXT(ctx); - DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_control_transfer enter"); + if (devh == NULL) + return (LIBUSB_ERROR_INVALID_PARAM); - if (devh == NULL || data == NULL) - return (LIBUSB_ERROR_NO_MEM); + if ((wLength != 0) && (data == NULL)) + return (LIBUSB_ERROR_INVALID_PARAM); - xfer = libusb_alloc_transfer(0); - if (xfer == NULL) - return (LIBUSB_ERROR_NO_MEM); + LIBUSB20_INIT(LIBUSB20_CONTROL_SETUP, &req); - buff = malloc(sizeof(libusb_control_setup) + wLength); - if (buff == NULL) { - libusb_free_transfer(xfer); - return (LIBUSB_ERROR_NO_MEM); - } + req.bmRequestType = bmRequestType; + req.bRequest = bRequest; + req.wValue = wValue; + req.wIndex = wIndex; + req.wLength = wLength; - ctr = (libusb_control_setup *)buff; - ctr->bmRequestType = bmRequestType; - ctr->bRequest = bRequest; - ctr->wValue = wValue; - ctr->wIndex = wIndex; - ctr->wLength = wLength; - if ((bmRequestType & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_OUT) - memcpy(buff + sizeof(libusb_control_setup), data, wLength); + err = libusb20_dev_request_sync(devh->os_priv, &req, data, + &actlen, timeout, 0); - xfer->dev_handle = devh; - xfer->endpoint = 0; - xfer->type = LIBUSB_TRANSFER_TYPE_CONTROL; - xfer->timeout = timeout; - xfer->buffer = buff; - xfer->length = sizeof(libusb_control_setup) + wLength; - xfer->user_data = &complet; - xfer->callback = ctrl_tr_cb; - xfer->flags = LIBUSB_TRANSFER_FREE_TRANSFER; - complet = 0; + if (err == LIBUSB20_ERROR_PIPE) + return (LIBUSB_ERROR_PIPE); + else if (err == LIBUSB20_ERROR_TIMEOUT) + return (LIBUSB_ERROR_TIMEOUT); + else if (err) + return (LIBUSB_ERROR_NO_DEVICE); - if ((ret = libusb_submit_transfer(xfer)) < 0) { - libusb_free_transfer(xfer); - return (ret); - } + return (actlen); +} - while (complet == 0) - if ((ret = libusb_handle_events(ctx)) < 0) { - libusb_cancel_transfer(xfer); - while (complet == 0) - if (libusb_handle_events(ctx) < 0) { - break; - } - libusb_free_transfer(xfer); - return (ret); - } +static void +do_transfer_cb(struct libusb_transfer *transfer) +{ + libusb_context *ctx; + int *pdone; + + ctx = NULL; + GET_CONTEXT(ctx); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "sync I/O done"); - if ((bmRequestType & LIBUSB_ENDPOINT_DIR_MASK) == LIBUSB_ENDPOINT_IN) - memcpy(data, buff + sizeof(libusb_control_setup), wLength); - - switch (xfer->status) { - case LIBUSB_TRANSFER_COMPLETED: - ret = xfer->actual_length; - break; - case LIBUSB_TRANSFER_TIMED_OUT: - case LIBUSB_TRANSFER_STALL: - case LIBUSB_TRANSFER_NO_DEVICE: - ret = xfer->status; - break; - default: - ret = LIBUSB_ERROR_OTHER; - } - libusb_free_transfer(xfer); - - DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_control_transfer leave"); - return (ret); + pdone = transfer->user_data; + *pdone = 1; } +/* + * TODO: Replace the following function. Allocating and freeing on a + * per-transfer basis is slow. --HPS + */ static int do_transfer(struct libusb_device_handle *devh, unsigned char endpoint, unsigned char *data, int length, @@ -767,11 +715,14 @@ { struct libusb_transfer *xfer; libusb_context *ctx; - int complet; + volatile int complet; int ret; - if (devh == NULL || data == NULL) - return (LIBUSB_ERROR_NO_MEM); + if (devh == NULL) + return (LIBUSB_ERROR_INVALID_PARAM); + + if ((length != 0) && (data == NULL)) + return (LIBUSB_ERROR_INVALID_PARAM); xfer = libusb_alloc_transfer(0); if (xfer == NULL) @@ -786,8 +737,8 @@ xfer->timeout = timeout; xfer->buffer = data; xfer->length = length; - xfer->user_data = &complet; - xfer->callback = ctrl_tr_cb; + xfer->user_data = (void *)&complet; + xfer->callback = do_transfer_cb; complet = 0; DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "SUBMIT_TRANSFER"); @@ -810,19 +761,28 @@ } *transferred = xfer->actual_length; + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "xfer->status %i", xfer->status); + switch (xfer->status) { case LIBUSB_TRANSFER_COMPLETED: - ret = xfer->actual_length; + ret = 0; break; case LIBUSB_TRANSFER_TIMED_OUT: + ret = LIBUSB_ERROR_TIMEOUT; + break; case LIBUSB_TRANSFER_OVERFLOW: + ret = LIBUSB_ERROR_OVERFLOW; + break; case LIBUSB_TRANSFER_STALL: + ret = LIBUSB_ERROR_PIPE; + break; case LIBUSB_TRANSFER_NO_DEVICE: - ret = xfer->status; + ret = LIBUSB_ERROR_NO_DEVICE; break; default: ret = LIBUSB_ERROR_OTHER; + break; } libusb_free_transfer(xfer); From owner-p4-projects@FreeBSD.ORG Tue Jul 7 21:21:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D7F91065674; Tue, 7 Jul 2009 21:21:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0A7C106566C for ; Tue, 7 Jul 2009 21:21:55 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE57B8FC08 for ; Tue, 7 Jul 2009 21:21:55 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67LLtrF019506 for ; Tue, 7 Jul 2009 21:21:55 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67LLt9v019504 for perforce@freebsd.org; Tue, 7 Jul 2009 21:21:55 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 7 Jul 2009 21:21:55 GMT Message-Id: <200907072121.n67LLt9v019504@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165792 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 21:21:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165792 Change 165792 by rene@rene_self on 2009/07/07 21:21:06 MFen header.l10n.ent 1.11 -> 1.12 Affected files ... .. //depot/projects/docproj_nl/www/nl/share/sgml/header.l10n.ent#11 edit Differences ... ==== //depot/projects/docproj_nl/www/nl/share/sgml/header.l10n.ent#11 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -140,18 +140,77 @@ Sitenavigatie - '> Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AA84106567D; Tue, 7 Jul 2009 23:32:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A20B91065670 for ; Tue, 7 Jul 2009 23:32:18 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 75C458FC13 for ; Tue, 7 Jul 2009 23:32:18 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n67NWIxs030945 for ; Tue, 7 Jul 2009 23:32:18 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n67NWIup030943 for perforce@freebsd.org; Tue, 7 Jul 2009 23:32:18 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 7 Jul 2009 23:32:18 GMT Message-Id: <200907072332.n67NWIup030943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165794 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jul 2009 23:32:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=165794 Change 165794 by anchie@anchie_malimis on 2009/07/07 23:32:11 Advance the pointer (snd_pkt_info) in case of outgoing packets. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#16 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#16 (text+ko) ==== @@ -202,6 +202,7 @@ } pi = sbuff_data(b); + sbuff_advance(b, sizeof (*pi)); n = recv(sndsock, b->data, b->rem, 0); if (n < 0) { From owner-p4-projects@FreeBSD.ORG Wed Jul 8 06:08:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E17C1065676; Wed, 8 Jul 2009 06:08:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1FE4106564A for ; Wed, 8 Jul 2009 06:08:31 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CE1A48FC17 for ; Wed, 8 Jul 2009 06:08:31 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6868V94087526 for ; Wed, 8 Jul 2009 06:08:31 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6868VJM087524 for perforce@freebsd.org; Wed, 8 Jul 2009 06:08:31 GMT (envelope-from mav@freebsd.org) Date: Wed, 8 Jul 2009 06:08:31 GMT Message-Id: <200907080608.n6868VJM087524@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165800 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 06:08:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=165800 Change 165800 by mav@mav_mavbook on 2009/07/08 06:07:59 IFC Affected files ... .. //depot/projects/scottl-camlock/src/MAINTAINERS#5 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/execve.2#3 integrate .. //depot/projects/scottl-camlock/src/lib/libthr/thread/thr_rtld.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libthr/thread/thr_rwlock.c#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/pcm.4#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/param.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/param.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#38 integrate .. //depot/projects/scottl-camlock/src/sys/conf/newvers.sh#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ah_osdep.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ah_osdep.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwlvar.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/feeder_rate.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/fs/fifofs/fifo_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_dev.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/geom/part/g_part.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/geom/part/g_part_if.m#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/io_apic.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/msi.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/pmap.c#28 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/param.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/xen/pmap.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/include/param.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_param.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_pipe.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_socket.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/mips/include/param.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/Makefile#30 integrate .. //depot/projects/scottl-camlock/src/sys/modules/geom/geom_label/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/wlan/Makefile#11 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_action.c#1 branch .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_action.h#1 branch .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_adhoc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ageq.c#1 branch .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ageq.h#1 branch .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_freebsd.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_hostap.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ht.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ht.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_node.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_node.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_sta.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_var.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_wds.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/include/param.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/param.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/include/param.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/disk.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/socketvar.h#19 integrate .. //depot/projects/scottl-camlock/src/sys/tools/sound/feeder_rate_mkfilter.awk#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/cpio/cmdline.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/cpio/test/test_owner_parse.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/add/perform.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/ppp/ppp.8.m4#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/tzsetup/tzsetup.8#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/tzsetup/tzsetup.c#3 integrate Differences ... ==== //depot/projects/scottl-camlock/src/MAINTAINERS#5 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.153 2009/06/24 17:23:10 imp Exp $ +$FreeBSD: src/MAINTAINERS,v 1.154 2009/07/06 11:46:18 flz Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -111,7 +111,7 @@ rpc alfred Pre-commit review requested. xfs kan@FreeBSD.org,rodrigc@FreeBSD.org,cattelan@xfs.org Pre-commit review preferred. -pkg_install krion Pre-commit review or approval from portmgr@ requested. +pkg_install portmgr Pre-commit review or approval from portmgr@ requested. linux emul emulation Please discuss changes here. bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. @@ -123,7 +123,6 @@ usr.bin/bluetooth emax Pre-commit review preferred. usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. -BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. ==== //depot/projects/scottl-camlock/src/lib/libc/sys/execve.2#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)execve.2 8.5 (Berkeley) 6/1/94 -.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.42 2008/08/26 10:53:32 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.43 2009/07/05 20:20:09 pjd Exp $ .\" .Dd April 10, 2008 .Dt EXECVE 2 @@ -220,13 +220,11 @@ .Fn fexecve , the file descriptor .Fa fd -need not have been -opened with the +need not have been opened with the .Dv O_EXEC flag. -However, if the file to be executed denies read and write -permission for the process preparing to do the exec, the only way to -provide the +However, if the file to be executed denies read permission for the process +preparing to do the exec, the only way to provide the .Fa fd to .Fn fexecve @@ -234,6 +232,7 @@ .Dv O_EXEC flag when opening .Fa fd . +Note that the file to be executed can not be open for writing. .Sh RETURN VALUES As the .Fn execve @@ -277,7 +276,7 @@ permission, but has an invalid magic number in its header. .It Bq Er ETXTBSY The new process file is a pure procedure (shared text) -file that is currently open for writing or reading by some process. +file that is currently open for writing by some process. .It Bq Er ENOMEM The new process requires more virtual memory than is allowed by the imposed maximum ==== //depot/projects/scottl-camlock/src/lib/libthr/thread/thr_rtld.c#3 (text) ==== @@ -23,7 +23,7 @@ * (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: src/lib/libthr/thread/thr_rtld.c,v 1.11 2009/04/19 23:02:50 rwatson Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.12 2009/07/06 09:31:04 attilio Exp $ * */ @@ -114,6 +114,7 @@ THR_CRITICAL_ENTER(curthread); while (_thr_rwlock_rdlock(&l->lock, 0, NULL) != 0) ; + curthread->rdlock_count++; RESTORE_ERRNO(); } @@ -148,6 +149,7 @@ state = l->lock.rw_state; if (_thr_rwlock_unlock(&l->lock) == 0) { + curthread->rdlock_count--; if ((state & URWLOCK_WRITE_OWNER) == 0) { THR_CRITICAL_LEAVE(curthread); } else { ==== //depot/projects/scottl-camlock/src/lib/libthr/thread/thr_rwlock.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.15 2008/04/14 08:08:40 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.16 2009/07/06 09:31:04 attilio Exp $ */ #include @@ -177,10 +177,11 @@ /* if interrupted, try to lock it in userland again. */ if (_thr_rwlock_tryrdlock(&prwlock->lock, flags) == 0) { ret = 0; - curthread->rdlock_count++; break; } } + if (ret == 0) + curthread->rdlock_count++; return (ret); } ==== //depot/projects/scottl-camlock/src/share/man/man4/pcm.4#6 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.56 2009/06/23 21:37:12 joel Exp $ +.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.58 2009/07/07 13:58:47 joel Exp $ .\" -.Dd June 23, 2009 +.Dd July 7, 2009 .Dt SOUND 4 .Os .Sh NAME @@ -141,6 +141,15 @@ set the channel to the preferred value using hints, e.g.: .Va hint.pcm.0.line Ns = Ns Qq Li 0 . This will mute the input channel per default. +.Ss EQ +The Parametric Software Equlizer (EQ) enables the use of +.Dq tone +controls (bass and treble). +Commonly used for ear-candy or frequency compensation due to the vast +difference in hardware quality. +EQ is disabled by default, but can be enabled with the +.Va hint.pcm. Ns Ao Ar X Ac Ns Va .eq +tunable. .Ss VCHANs Each device can optionally support more playback and recording channels than physical hardware provides by using @@ -151,15 +160,55 @@ options can be configured via the .Xr sysctl 8 interface but can only be manipulated while the device is inactive. +.Ss VPC +FreeBSD supports independent and individual volume controls for each active +application, without touching the master +.Nm +volume. +This is sometimes referred to as Volume Per Channel (VPC). +The +.Tn VPC +feature is enabled by default. +.Ss Loader Tunables +The following loader tunables are used to set driver configuration at the +.Xr loader 8 +prompt before booting the kernel, or they can be stored in +.Pa /boot/loader.conf +in order to automatically set them before booting the kernel. +It is also possible to use +.Xr kenv 1 +to change these tunables before loading the +.Nm +driver. +The following tunables can not be changed during runtime using +.Xr sysctl 8 . +.Bl -tag -width indent +.It Va hint.pcm. Ns Ao Ar X Ac Ns Va .eq +Set to 1 or 0 to explicitly enable (1) or disable (0) the equalizer. +Requires a driver reload if changed. +Enabling this will make bass and treble controls appear in mixer applications. +This tunable is undefined by default. +Equalizing is disabled by default. +.It Va hint.pcm. Ns Ao Ar X Ac Ns Va .vpc +Set to 1 or 0 to explicitly enable (1) or disable (0) the +.Tn VPC +feature. +This tunable is undefined by default. +.Tn VPC +is however enabled by default. +.El .Ss Runtime Configuration There are a number of .Xr sysctl 8 -variables available. +variables available which can be modified during runtime. +These values can also be stored in +.Pa /etc/sysctl.conf +in order to automatically set them during the boot process. .Va hw.snd.* -tunables are global settings and +are global settings and .Va dev.pcm.* are device specific. -.Bl -tag -width ".Va hw.snd.report_soft_formats" -offset indent +.Bl -tag -width indent .It Va hw.snd.compat_linux_mmap Enable to allow PROT_EXEC page mappings. All Linux applications using sound and @@ -188,19 +237,13 @@ Maximum allowable sample rate. .It Va hw.snd.feeder_rate_min Minimum allowable sample rate. -.It Va hw.snd.feeder_rate_round -Sample rate rounding threshold, to avoid large prime division at the -cost of accuracy. -All requested sample rates will be rounded to the nearest threshold value. -Possible values range between 0 (disabled) and 500. -Default is 25. -.It Va hw.snd.feeder_polyphase_max +.It Va hw.snd.feeder_rate_polyphase_max Adjust to set the maximum number of allowed polyphase entries during the process of building resampling filters. Only applicable when the SINC interpolator is used. Default value is 183040. Set to 0 to disable polyphase resampling. -.It Va hw.snd.feeder_quality +.It Va hw.snd.feeder_rate_quality Sample rate converter quality. Default value is 1, linear interpolation. Available options include: @@ -228,6 +271,12 @@ Continuation of the bandlimited SINC inteprolator, with 100dB stopband, 164 taps and 97% bandwidth as quality values. .El +.It Va hw.snd.feeder_rate_round +Sample rate rounding threshold, to avoid large prime division at the +cost of accuracy. +All requested sample rates will be rounded to the nearest threshold value. +Possible values range between 0 (disabled) and 500. +Default is 25. .It Va hw.snd.latency Configure the buffering latency. Only affects applications that do not explicitly request @@ -299,7 +348,9 @@ Enabling this will preserve the volume, at the cost of possible confusion when applications tries to re-open the same device. .It Va hw.snd.vpc_mixer_bypass -The recommended way to use the vpc feature is to teach applications to use +The recommended way to use the +.Tn VPC +feature is to teach applications to use the correct .Fn ioctl : .Dv SNDCTL_DSP_GETPLAYVOL, SNDCTL_DSP_SETPLAYVOL, ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#16 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.34 2009/07/01 17:20:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.35 2009/07/06 18:23:00 jhb Exp $"); #include "opt_isa.h" @@ -327,7 +327,7 @@ { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; struct ioapic *io = (struct ioapic *)isrc->is_pic; - u_int old_vector; + u_int old_vector, new_vector; u_int old_id; /* @@ -348,11 +348,14 @@ * Allocate an APIC vector for this interrupt pin. Once * we have a vector we program the interrupt pin. */ - intpin->io_cpu = apic_id; - intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); - if (intpin->io_vector == 0) + new_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (new_vector == 0) return (ENOSPC); + intpin->io_cpu = apic_id; + intpin->io_vector = new_vector; + if (isrc->is_handlers > 0) + apic_enable_vector(intpin->io_cpu, intpin->io_vector); if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -365,8 +368,11 @@ * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ - if (old_vector) + if (old_vector) { + if (isrc->is_handlers > 0) + apic_disable_vector(old_id, old_vector); apic_free_vector(old_id, old_vector, intpin->io_irq); + } return (0); } ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#23 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.704 2009/07/06 18:10:27 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -100,8 +100,9 @@ #ifndef KDB #error KDB must be enabled in order for DDB to work! #endif +#include +#include #endif -#include #include @@ -1083,6 +1084,30 @@ IDTVEC(xmm), IDTVEC(dblfault), IDTVEC(fast_syscall), IDTVEC(fast_syscall32); +#ifdef DDB +/* + * Display the index and function name of any IDT entries that don't use + * the default 'rsvd' entry point. + */ +DB_SHOW_COMMAND(idt, db_show_idt) +{ + struct gate_descriptor *ip; + int idx; + uintptr_t func; + + ip = idt; + for (idx = 0; idx < NIDT && !db_pager_quit; idx++) { + func = ((long)ip->gd_hioffset << 16 | ip->gd_looffset); + if (func != (uintptr_t)&IDTVEC(rsvd)) { + db_printf("%3d\t", idx); + db_printsym(func, DB_STGY_PROC); + db_printf("\n"); + } + ip++; + } +} +#endif + void sdtossd(sd, ssd) struct user_segment_descriptor *sd; ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#11 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.13 2009/07/01 17:20:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.14 2009/07/06 18:23:00 jhb Exp $"); #include #include @@ -230,6 +230,8 @@ msi->msi_cpu = apic_id; msi->msi_vector = vector; + if (msi->msi_intsrc.is_handlers > 0) + apic_enable_vector(msi->msi_cpu, msi->msi_vector); if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, @@ -238,6 +240,8 @@ sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); sib->msi_cpu = apic_id; sib->msi_vector = vector + i; + if (sib->msi_intsrc.is_handlers > 0) + apic_enable_vector(sib->msi_cpu, sib->msi_vector); if (bootverbose) printf( "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", @@ -249,9 +253,15 @@ * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ + if (msi->msi_intsrc.is_handlers > 0) + apic_disable_vector(old_id, old_vector); apic_free_vector(old_id, old_vector, msi->msi_irq); - for (i = 1; i < msi->msi_count; i++) + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + if (sib->msi_intsrc.is_handlers > 0) + apic_disable_vector(old_id, old_vector + i); apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + } return (0); } ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#27 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.662 2009/07/06 18:43:42 alc Exp $"); /* * Manages physical address maps. @@ -2218,11 +2218,19 @@ /* * Invalidate the 2MB page mapping and return "failure" if the * mapping was never accessed or the allocation of the new - * page table page fails. + * page table page fails. If the 2MB page mapping belongs to + * the direct map region of the kernel's address space, then + * the page allocation request specifies the highest possible + * priority (VM_ALLOC_INTERRUPT). Otherwise, the priority is + * normal. Page table pages are preallocated for every other + * part of the kernel address space, so the direct map region + * is the only part of the kernel address space that must be + * handled here. */ if ((oldpde & PG_A) == 0 || (mpte = vm_page_alloc(NULL, - pmap_pde_pindex(va), VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL | - VM_ALLOC_WIRED)) == NULL) { + pmap_pde_pindex(va), (va >= DMAP_MIN_ADDRESS && va < + DMAP_MAX_ADDRESS ? VM_ALLOC_INTERRUPT : VM_ALLOC_NORMAL) | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED)) == NULL) { free = NULL; pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free); pmap_invalidate_page(pmap, trunc_2mpage(va)); ==== //depot/projects/scottl-camlock/src/sys/amd64/include/param.h#12 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.29 2009/06/08 16:43:40 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.30 2009/07/05 17:45:48 sam Exp $ */ /* @@ -47,12 +47,6 @@ * Round p (pointer or byte index) up to a correctly-aligned value * for all data types (int, long, ...). The result is u_long and * must be cast to any desired pointer type. - * - * ALIGNED_POINTER is a boolean macro that checks whether an address - * is valid to fetch data elements of type t from on this architecture. - * This does not reflect the optimal alignment, just the possibility - * (within reasonable limits). - * */ #ifndef _ALIGNBYTES #define _ALIGNBYTES (sizeof(long) - 1) @@ -60,9 +54,6 @@ #ifndef _ALIGN #define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) #endif -#ifndef _ALIGNED_POINTER -#define _ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0) -#endif #ifndef _NO_NAMESPACE_POLLUTION @@ -87,7 +78,13 @@ #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) -#define ALIGNED_POINTER(p,t) _ALIGNED_POINTER(p,t) +/* + * ALIGNED_POINTER is a boolean macro that checks whether an address + * is valid to fetch data elements of type t from on this architecture. + * This does not reflect the optimal alignment, just the possibility + * (within reasonable limits). + */ +#define ALIGNED_POINTER(p, t) 1 /* * CACHE_LINE_SIZE is the compile-time maximum cache line size for an ==== //depot/projects/scottl-camlock/src/sys/arm/include/param.h#7 (text+ko) ==== @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.15 2009/04/20 12:59:23 rwatson Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.16 2009/07/05 17:45:48 sam Exp $ */ /* @@ -80,6 +80,13 @@ #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) +/* + * ALIGNED_POINTER is a boolean macro that checks whether an address + * is valid to fetch data elements of type t from on this architecture. + * This does not reflect the optimal alignment, just the possibility + * (within reasonable limits). + */ +#define ALIGNED_POINTER(p, t) ((((unsigned)(p)) & (sizeof(t)-1)) == 0) /* * CACHE_LINE_SIZE is the compile-time maximum cache line size for an ==== //depot/projects/scottl-camlock/src/sys/conf/files#38 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1447 2009/06/30 19:03:27 dfr Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1450 2009/07/05 20:44:50 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -503,7 +503,8 @@ dev/ata/ata-isa.c optional ata isa | ataisa dev/ata/ata-pci.c optional ata pci | atapci dev/ata/chipsets/ata-ahci.c optional ata pci | ataahci | ataacerlabs | \ - ataati | ataintel | atajmicron | atavia + ataati | ataintel | atajmicron | \ + atavia | atanvidia dev/ata/chipsets/ata-acard.c optional ata pci | ataacard dev/ata/chipsets/ata-acerlabs.c optional ata pci | ataacerlabs dev/ata/chipsets/ata-adaptec.c optional ata pci | ataadaptec @@ -2235,6 +2236,8 @@ ddb_ctf net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan wlan_acl +net80211/ieee80211_action.c optional wlan +net80211/ieee80211_ageq.c optional wlan net80211/ieee80211_adhoc.c optional wlan net80211/ieee80211_amrr.c optional wlan wlan_amrr net80211/ieee80211_crypto.c optional wlan ==== //depot/projects/scottl-camlock/src/sys/conf/newvers.sh#8 (text+ko) ==== @@ -28,11 +28,11 @@ # SUCH DAMAGE. # # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 -# $FreeBSD: src/sys/conf/newvers.sh,v 1.81 2009/03/28 23:17:18 bz Exp $ +# $FreeBSD: src/sys/conf/newvers.sh,v 1.82 2009/07/07 00:02:26 kensmith Exp $ TYPE="FreeBSD" REVISION="8.0" -BRANCH="CURRENT" +BRANCH="BETA1" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi ==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.205 2009/02/28 22:07:15 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.206 2009/07/08 05:56:14 marcel Exp $"); #include "opt_ata.h" #include @@ -219,10 +219,7 @@ case CDIOCRESET: acd_test_ready(dev); break; - - case DIOCGPROVIDERALIAS: - break; - + default: acd_read_toc(dev); acd_prevent_allow(dev, 1); ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-ahci.c,v 1.25 2009/06/01 21:42:26 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-ahci.c,v 1.26 2009/07/08 06:00:21 mav Exp $"); #include "opt_ata.h" #include @@ -914,7 +914,7 @@ ata_dmainit(dev); /* note start and stop are not used here */ ch->dma.setprd = ata_ahci_dmasetprd; - ch->dma.max_iosize = 8192 * DEV_BSIZE; + ch->dma.max_iosize = (ATA_AHCI_DMA_ENTRIES - 1) * PAGE_SIZE; if (ATA_INL(ctlr->r_res2, ATA_AHCI_CAP) & ATA_AHCI_CAP_64BIT) ch->dma.max_address = BUS_SPACE_MAXADDR; } ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-nvidia.c,v 1.8 2009/06/24 19:49:18 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/chipsets/ata-nvidia.c,v 1.9 2009/07/05 14:50:45 mav Exp $"); #include "opt_ata.h" #include @@ -287,3 +287,4 @@ } ATA_DECLARE_DRIVER(ata_nvidia); +MODULE_DEPEND(ata_nvidia, ata_ahci, 1, 1, 1); ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ah_osdep.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.9 2009/05/08 00:23:00 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.10 2009/07/06 20:51:54 sam Exp $ */ #include "opt_ah.h" @@ -254,7 +254,7 @@ } } #if _BYTE_ORDER == _BIG_ENDIAN - if (reg >= 0x4000 && reg < 0x5000) + if (OS_REG_UNSWAPPED(reg)) bus_space_write_4(tag, h, reg, val); else #endif @@ -269,7 +269,7 @@ u_int32_t val; #if _BYTE_ORDER == _BIG_ENDIAN - if (reg >= 0x4000 && reg < 0x5000) + if (OS_REG_UNSWAPPED(reg)) val = bus_space_read_4(tag, h, reg); else #endif @@ -320,7 +320,7 @@ bus_space_handle_t h = ah->ah_sh; #if _BYTE_ORDER == _BIG_ENDIAN - if (reg >= 0x4000 && reg < 0x5000) + if (OS_REG_UNSWAPPED(reg)) bus_space_write_4(tag, h, reg, val); else #endif @@ -335,7 +335,7 @@ u_int32_t val; #if _BYTE_ORDER == _BIG_ENDIAN - if (reg >= 0x4000 && reg < 0x5000) + if (OS_REG_UNSWAPPED(reg)) val = bus_space_read_4(tag, h, reg); else #endif ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ah_osdep.h#5 (text+ko) ==== @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/ah_osdep.h,v 1.7 2009/05/08 00:23:00 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ah_osdep.h,v 1.8 2009/07/06 20:51:54 sam Exp $ */ #ifndef _ATH_AH_OSDEP_H_ #define _ATH_AH_OSDEP_H_ @@ -69,14 +69,26 @@ struct ath_hal; /* + * The hardware registers are native little-endian byte order. + * Big-endian hosts are handled by enabling hardware byte-swap + * of register reads and writes at reset. But the PCI clock + * domain registers are not byte swapped! Thus, on big-endian + * platforms we have to explicitly byte-swap those registers. + * OS_REG_UNSWAPPED identifies the registers that need special handling. + */ +#if _BYTE_ORDER == _BIG_ENDIAN +#define OS_REG_UNSWAPPED(_reg) \ + (((_reg) >= 0x4000 && (_reg) < 0x5000) || \ + ((_reg) >= 0x7000 && (_reg) < 0x8000)) +#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ +#define OS_REG_UNSWAPPED(_reg) (0) +#endif /* _BYTE_ORDER */ + +/* * Register read/write operations are either handled through * platform-dependent routines (or when debugging is enabled * with AH_DEBUG); or they are inline expanded using the macros - * defined below. For public builds we inline expand only for - * platforms where it is certain what the requirements are to - * read/write registers--typically they are memory-mapped and - * no explicit synchronization or memory invalidation operations - * are required (e.g. i386). + * defined below. */ #if defined(AH_DEBUG) || defined(AH_REGOPS_FUNC) || defined(AH_DEBUG_ALQ) #define OS_REG_WRITE(_ah, _reg, _val) ath_hal_reg_write(_ah, _reg, _val) @@ -94,13 +106,7 @@ * Most of this code is collapsed at compile time because the * register values are constants. */ -#define AH_LITTLE_ENDIAN 1234 -#define AH_BIG_ENDIAN 4321 - #if _BYTE_ORDER == _BIG_ENDIAN -#define OS_REG_UNSWAPPED(_reg) \ - (((_reg) >= 0x4000 && (_reg) < 0x5000) || \ - ((_reg) >= 0x7000 && (_reg) < 0x8000)) #define OS_REG_WRITE(_ah, _reg, _val) do { \ if (OS_REG_UNSWAPPED(_reg)) \ bus_space_write_4((bus_space_tag_t)(_ah)->ah_st, \ @@ -116,7 +122,6 @@ bus_space_read_stream_4((bus_space_tag_t)(_ah)->ah_st, \ (bus_space_handle_t)(_ah)->ah_sh, (_reg))) #else /* _BYTE_ORDER == _LITTLE_ENDIAN */ -#define OS_REG_UNSWAPPED(_reg) (0) #define OS_REG_WRITE(_ah, _reg, _val) \ bus_space_write_4((bus_space_tag_t)(_ah)->ah_st, \ (bus_space_handle_t)(_ah)->ah_sh, (_reg), (_val)) ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c,v 1.10 2009/06/28 11:32:52 phk Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c,v 1.11 2009/07/07 18:11:05 sam Exp $ */ #include "opt_ah.h" @@ -1045,7 +1045,7 @@ static HAL_BOOL ar5416SetReset(struct ath_hal *ah, int type) { - uint32_t tmpReg; + uint32_t tmpReg, mask; /* * Force wake @@ -1091,23 +1091,22 @@ /* Clear AHB reset */ OS_REG_WRITE(ah, AR_RC, 0); - /* Set register and descriptor swapping on - * Bigendian platforms on cold reset - */ -#ifdef __BIG_ENDIAN__ - if (type == HAL_RESET_COLD) { - uint32_t mask; - - HALDEBUG(ah, HAL_DEBUG_RESET, - "%s Applying descriptor swap\n", __func__); - - mask = INIT_CONFIG_STATUS | AR_CFG_SWRD | AR_CFG_SWRG; + if (type == HAL_RESET_COLD) { + if (isBigEndian()) { + /* + * Set CFG, little-endian for register + * and descriptor accesses. + */ + mask = INIT_CONFIG_STATUS | AR_CFG_SWRD | AR_CFG_SWRG; #ifndef AH_NEED_DESC_SWAP - mask |= AR_CFG_SWTD; + mask |= AR_CFG_SWTD; #endif - OS_REG_WRITE(ah, AR_CFG, LE_READ_4(&mask)); + HALDEBUG(ah, HAL_DEBUG_RESET, + "%s Applying descriptor swap\n", __func__); + OS_REG_WRITE(ah, AR_CFG, LE_READ_4(&mask)); + } else + OS_REG_WRITE(ah, AR_CFG, INIT_CONFIG_STATUS); } -#endif ar5416InitPLL(ah, AH_NULL); ==== //depot/projects/scottl-camlock/src/sys/dev/e1000/e1000_82542.c#2 (text+ko) ==== @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2008, Intel Corporation + Copyright (c) 2001-2009, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ******************************************************************************/ -/*$FreeBSD: src/sys/dev/e1000/e1000_82542.c,v 1.2 2008/11/26 23:57:23 jfv Exp $*/ +/*$FreeBSD: src/sys/dev/e1000/e1000_82542.c,v 1.3 2009/07/06 17:23:48 jfv Exp $*/ /* * 82542 Gigabit Ethernet Controller @@ -49,7 +49,9 @@ static s32 e1000_led_off_82542(struct e1000_hw *hw); static void e1000_rar_set_82542(struct e1000_hw *hw, u8 *addr, u32 index); static void e1000_clear_hw_cntrs_82542(struct e1000_hw *hw); +static s32 e1000_read_mac_addr_82542(struct e1000_hw *hw); + /** * e1000_init_phy_params_82542 - Init PHY func ptrs. * @hw: pointer to the HW structure @@ -134,6 +136,8 @@ mac->ops.clear_vfta = e1000_clear_vfta_generic; /* setting MTA */ mac->ops.mta_set = e1000_mta_set_generic; + /* read mac address */ + mac->ops.read_mac_addr = e1000_read_mac_addr_82542; /* set RAR */ mac->ops.rar_set = e1000_rar_set_82542; /* turn on/off LED */ @@ -554,3 +558,34 @@ E1000_READ_REG(hw, E1000_PTC1023); E1000_READ_REG(hw, E1000_PTC1522); } + +/** + * e1000_read_mac_addr_82542 - Read device MAC address + * @hw: pointer to the HW structure + * + * Reads the device MAC address from the EEPROM and stores the value. + **/ +static s32 e1000_read_mac_addr_82542(struct e1000_hw *hw) +{ + s32 ret_val = E1000_SUCCESS; + u16 offset, nvm_data, i; + + DEBUGFUNC("e1000_read_mac_addr"); + + for (i = 0; i < ETH_ADDR_LEN; i += 2) { + offset = i >> 1; + ret_val = hw->nvm.ops.read(hw, offset, 1, &nvm_data); + if (ret_val) { + DEBUGOUT("NVM Read Error\n"); + goto out; + } + hw->mac.perm_addr[i] = (u8)(nvm_data & 0xFF); + hw->mac.perm_addr[i+1] = (u8)(nvm_data >> 8); + } + + for (i = 0; i < ETH_ADDR_LEN; i++) + hw->mac.addr[i] = hw->mac.perm_addr[i]; + +out: + return ret_val; +} ==== //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwl.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mwl/if_mwl.c,v 1.3 2009/06/29 18:42:54 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mwl/if_mwl.c,v 1.4 2009/07/05 17:59:19 sam Exp $"); /* * Driver for the Marvell 88W8363 Wireless LAN controller. @@ -144,7 +144,8 @@ static int mwl_chan_set(struct mwl_softc *, struct ieee80211_channel *); static void mwl_draintxq(struct mwl_softc *); static void mwl_cleartxq(struct mwl_softc *, struct ieee80211vap *); -static void mwl_recv_action(struct ieee80211_node *, +static int mwl_recv_action(struct ieee80211_node *, + const struct ieee80211_frame *, const uint8_t *, const uint8_t *); static int mwl_addba_request(struct ieee80211_node *, struct ieee80211_tx_ampdu *, int dialogtoken, @@ -3656,8 +3657,9 @@ } } -static void -mwl_recv_action(struct ieee80211_node *ni, const uint8_t *frm, const uint8_t *efrm) +static int +mwl_recv_action(struct ieee80211_node *ni, const struct ieee80211_frame *wh, + const uint8_t *frm, const uint8_t *efrm) { struct mwl_softc *sc = ni->ni_ic->ic_ifp->if_softc; const struct ieee80211_action *ia; @@ -3671,8 +3673,9 @@ mwl_hal_setmimops(sc->sc_mh, ni->ni_macaddr, mps->am_control & IEEE80211_A_HT_MIMOPWRSAVE_ENA, MS(mps->am_control, IEEE80211_A_HT_MIMOPWRSAVE_MODE)); + return 0; } else - sc->sc_recv_action(ni, frm, efrm); + return sc->sc_recv_action(ni, wh, frm, efrm); } static int ==== //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwlvar.h#3 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 8 09:00:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A0C110656B1; Wed, 8 Jul 2009 09:00:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B91F1065693 for ; Wed, 8 Jul 2009 09:00:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 167838FC18 for ; Wed, 8 Jul 2009 09:00:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6890dPn012330 for ; Wed, 8 Jul 2009 09:00:39 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6890dXQ012328 for perforce@freebsd.org; Wed, 8 Jul 2009 09:00:39 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 8 Jul 2009 09:00:39 GMT Message-Id: <200907080900.n6890dXQ012328@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165805 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 09:00:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=165805 Change 165805 by hselasky@hselasky_laptop001 on 2009/07/08 08:59:52 USB controller: - patch from Alexander Motin - add more ID's Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#9 (text+ko) ==== @@ -206,6 +206,8 @@ return "NVIDIA nForce3 250 USB 2.0 controller"; case 0x005b10de: return "NVIDIA nForce4 USB 2.0 controller"; + case 0x03f210de: + return "NVIDIA nForce MCP61 USB 2.0 controller"; case 0x15621131: return "Philips ISP156x USB 2.0 controller"; ==== //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#9 (text+ko) ==== @@ -172,6 +172,9 @@ case 0x00d710de: return ("nVidia nForce3 USB Controller"); + case 0x03f110de: + return ("nVidia nForce MCP61 USB Controller"); + case 0x70011039: return ("SiS 5571 USB controller"); ==== //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#9 (text+ko) ==== @@ -200,6 +200,15 @@ case 0x265b8086: return ("Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D"); + case 0x27c88086: + return ("Intel 82801G (ICH7) USB controller USB-A"); + case 0x27c98086: + return ("Intel 82801G (ICH7) USB controller USB-B"); + case 0x27ca8086: + return ("Intel 82801G (ICH7) USB controller USB-C"); + case 0x27cb8086: + return ("Intel 82801G (ICH7) USB controller USB-D"); + case 0x28308086: return ("Intel 82801H (ICH8) USB controller USB-A"); case 0x28318086: From owner-p4-projects@FreeBSD.ORG Wed Jul 8 09:06:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 712151065673; Wed, 8 Jul 2009 09:06:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E9C6106566C for ; Wed, 8 Jul 2009 09:06:47 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 142F98FC16 for ; Wed, 8 Jul 2009 09:06:47 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6896kwk013741 for ; Wed, 8 Jul 2009 09:06:46 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6896k4P013739 for perforce@freebsd.org; Wed, 8 Jul 2009 09:06:46 GMT (envelope-from rene@FreeBSD.org) Date: Wed, 8 Jul 2009 09:06:46 GMT Message-Id: <200907080906.n6896k4P013739@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165806 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 09:06:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165806 Change 165806 by rene@rene_self on 2009/07/08 09:05:49 IFC Affected files ... .. //depot/projects/docproj_nl/www/nl/share/sgml/header.l10n.ent#12 integrate .. //depot/projects/docproj_nl/www/share/sgml/news.xml#45 integrate Differences ... ==== //depot/projects/docproj_nl/www/nl/share/sgml/header.l10n.ent#12 (text+ko) ==== @@ -1,4 +1,4 @@ - @@ -169,7 +169,7 @@
  • Handboek
  • Porters Handboek
  • Ontwikkelaars Handboek
  • -
  • Handleidingpagina's
  • +
  • Handleiding-pagina's
  • @@ -178,7 +178,7 @@ @@ -197,7 +197,7 @@
  • Ondersteuning ==== //depot/projects/docproj_nl/www/share/sgml/news.xml#45 (text+ko) ==== @@ -25,7 +25,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.262 2009/06/08 16:03:29 np Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.263 2009/07/07 16:45:36 danger Exp $ @@ -33,6 +33,30 @@ 2009 + 7 + + + 7 + + + &os; 8.0-BETA1 Available + +

    The final stage of the &os;-8.0 Release cycle has begun + with the first public beta release. The &os; 8.0-BETA1 + ISO images for Tier-1 architectures are now available for + download on most of the + &os; mirror sites. We encourage our users to give + &os; 8.0-BETA1 a try and provide us with the feedback, + however please read the official + announcement carefully before starting to use this + release.

    +
    +
    +
    + + 6 From owner-p4-projects@FreeBSD.ORG Wed Jul 8 10:17:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B4771065675; Wed, 8 Jul 2009 10:17:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37EB61065673 for ; Wed, 8 Jul 2009 10:17:04 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 26D4A8FC16 for ; Wed, 8 Jul 2009 10:17:04 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68AH41t019903 for ; Wed, 8 Jul 2009 10:17:04 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68AH4el019901 for perforce@freebsd.org; Wed, 8 Jul 2009 10:17:04 GMT (envelope-from anchie@FreeBSD.org) Date: Wed, 8 Jul 2009 10:17:04 GMT Message-Id: <200907081017.n68AH4el019901@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165811 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 10:17:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=165811 Change 165811 by anchie@anchie_malimis on 2009/07/08 10:16:25 Call os_specific_init() and linux_rand_init() because they are used in the nonce computation. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#11 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#11 (text+ko) ==== @@ -260,9 +260,7 @@ snd_ra_init() < 0 || snd_certpath_init() < 0 || snd_addr_init() < 0 || -#if 0 os_specific_init() < 0 || -#endif snd_sigmeth_init() < 0 || snd_replace_non_cga_linklocals() < 0 || (ctlfd = snd_ctl_init()) < 0) { From owner-p4-projects@FreeBSD.ORG Wed Jul 8 11:09:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF93B1065678; Wed, 8 Jul 2009 11:09:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D2471065672 for ; Wed, 8 Jul 2009 11:09:01 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5ED288FC0C for ; Wed, 8 Jul 2009 11:09:01 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68B91TZ024635 for ; Wed, 8 Jul 2009 11:09:01 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68B9145024633 for perforce@freebsd.org; Wed, 8 Jul 2009 11:09:01 GMT (envelope-from anchie@FreeBSD.org) Date: Wed, 8 Jul 2009 11:09:01 GMT Message-Id: <200907081109.n68B9145024633@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165816 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 11:09:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=165816 Change 165816 by anchie@anchie_malimis on 2009/07/08 11:08:26 Reversed names for the input and output hook. Now, the input hook is used in the path that receives a packet from the wire and passes it up the stack to the user space. The output hook is used in the path where packets traverse from the user space to ND in kernel. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#16 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#14 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#15 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#14 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#16 (text+ko) ==== @@ -765,8 +765,8 @@ /* give up local */ /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) - send_output_hook(m, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(m, ifp, SND_IN, ip6len); else { /* give up local */ nd6_rs_input(m, off, icmp6len); @@ -774,8 +774,8 @@ m = NULL; goto freeit; } - if (send_output_hook != NULL) - send_output_hook(n, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(n, ifp, SND_IN, ip6len); else nd6_rs_input(n, off, icmp6len); /* m stays. */ @@ -790,15 +790,15 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) - send_output_hook(m, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(m, ifp, SND_IN, ip6len); else nd6_ra_input(m, off, icmp6len); m = NULL; goto freeit; } - if (send_output_hook != NULL) - send_output_hoo(n, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(n, ifp, SND_IN, ip6len); else nd6_ra_input(n, off, icmp6len); /* m stays. */ @@ -813,8 +813,8 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) - send_output_hook(m, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(m, ifp, SND_IN, ip6len); else { /* give up local */ nd6_ns_input(m, off, icmp6len); @@ -822,8 +822,8 @@ m = NULL; goto freeit; } - if (send_output_hook != NULL) - send_output_hook(n, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(n, ifp, SND_IN, ip6len); else nd6_ns_input(n, off, icmp6len); /* m stays. */ @@ -838,8 +838,8 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) - send_output_hook(m, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(m, ifp, SND_IN, ip6len); else { /* give up local */ nd6_na_input(m, off, icmp6len); @@ -847,8 +847,8 @@ m = NULL; goto freeit; } - if (send_output_hook != NULL) - send_output_hook(n, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(n, ifp, SND_IN, ip6len); else nd6_na_input(n, off, icmp6len); /* m stays. */ @@ -863,8 +863,8 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) - send_output_hook(m, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(m, ifp, SND_IN, ip6len); else { /* give up local */ icmp6_redirect_input(m, off); @@ -872,8 +872,8 @@ m = NULL; goto freeit; } - if (send_output_hook != NULL) - send_output_hook(n, ifp, SND_IN, ip6len); + if (send_input_hook != NULL) + send_input_hook(n, ifp, SND_IN, ip6len); else icmp6_redirect_input(n, off); /* m stays. */ @@ -2780,7 +2780,7 @@ nd_rd->nd_rd_cksum = in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), ntohs(ip6->ip6_plen)); - if (send_output_hook != NULL) { + if (send_input_hook != NULL) { mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); if (mtag == NULL) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#14 (text+ko) ==== @@ -113,8 +113,8 @@ static struct sockaddr_in6 all1_sa; -int (*send_output_hook)(struct mbuf*, struct ifnet *, int, int); -int (*send_input_hook)(void); +int (*send_input_hook)(struct mbuf*, struct ifnet *, int, int); +int (*send_output_hook)(void); static int nd6_is_new_addr_neighbor __P((struct sockaddr_in6 *, struct ifnet *)); @@ -1911,12 +1911,12 @@ #endif /* send outgoing NS/NA/REDIRECT packet to sendd. */ - if (send_output_hook != NULL) { + if (send_input_hook != NULL) { mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); if (mtag != NULL) { printf("%s: ND_OUTGOING tag found.\n", __FUNCTION__); nd_type = (unsigned short *)(mtag + 1); - send_output_hook(m, ifp, 0, ip6len); + send_input_hook(m, ifp, 0, ip6len); } else error = EOPNOTSUPP; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#5 (text+ko) ==== @@ -564,7 +564,7 @@ nd_ns->nd_ns_cksum = in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), icmp6len); - if (send_output_hook != NULL) { + if (send_input_hook != NULL) { mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); if (mtag == NULL) @@ -1080,7 +1080,7 @@ nd_na->nd_na_cksum = in6_cksum(m, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), icmp6len); - if (send_output_hook != NULL) { + if (send_input_hook != NULL) { mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); if (mtag == NULL) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#15 (text+ko) ==== @@ -12,7 +12,7 @@ #include static int -send_input(void) +send_output-ok(void) { /* @@ -25,7 +25,7 @@ } static int -send_output(struct mbuf *m, struct ifnet *ifp, int in, int msglen) +send_input(struct mbuf *m, struct ifnet *ifp, int in, int msglen) { struct ip6_hdr *ip6; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#14 (text+ko) ==== @@ -1,6 +1,6 @@ /* send.c */ -extern int (*send_output_hook)(struct mbuf *, struct ifnet *, int, int); -extern int (*send_input_hook)(void); +extern int (*send_input_hook)(struct mbuf *, struct ifnet *, int, int); +extern int (*send_output_hook)(void); /* Message formats for messages from ND to applications (i.e. sendd) via the * routing socket. These messages are appended to an if_announcemsghdr From owner-p4-projects@FreeBSD.ORG Wed Jul 8 13:18:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DCF31065673; Wed, 8 Jul 2009 13:18:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42D7F106564A for ; Wed, 8 Jul 2009 13:18:32 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2E3918FC19 for ; Wed, 8 Jul 2009 13:18:32 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68DIWmx045898 for ; Wed, 8 Jul 2009 13:18:32 GMT (envelope-from tsel@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68DIMk8045888 for perforce@freebsd.org; Wed, 8 Jul 2009 13:18:22 GMT (envelope-from tsel@FreeBSD.org) Date: Wed, 8 Jul 2009 13:18:22 GMT Message-Id: <200907081318.n68DIMk8045888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tsel@FreeBSD.org using -f From: Tatsiana Elavaya To: Perforce Change Reviews Cc: Subject: PERFORCE change 165818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 13:18:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=165818 Change 165818 by tsel@tsel_mz on 2009/07/08 13:17:34 integrate Affected files ... .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/Makefile#3 integrate .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/dummynet.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw.8#4 integrate .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#10 integrate .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.h#4 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/conf/MAC#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/include/param.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/include/vm.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/dump_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/locore.S#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/at91.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/at91/ohci_atmelarm.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/arm/conf/AVILA#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/conf/DB-78XXX#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/conf/DB-88F5XXX#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/conf/DB-88F6XXX#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/include/intr.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/include/param.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/include/vm.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/common.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/files.mv#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/ic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/mvreg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/orion/orion.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/avila_led.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/files.ixp425#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425_qmgr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425_qmgr.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/common/boot.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/common/ufsread.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/i386/libi386/Makefile#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/pc98/boot2/sys.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/boot/uboot/lib/net.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cam/cam.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cam/cam_periph.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/boot/zfs/zfssubr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/kern/opensolaris.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/sys/mutex.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/sys/rwlock.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/common/acl/acl_common.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/common/acl/acl_common.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/cddl/dev/lockstat/lockstat.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_mib.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/ndis/subr_ndis.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_ioctl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_resource.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_signal.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_socket.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_stream.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_sysconfig.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/compat/svr4/svr4_sysent.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/NOTES#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/files#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/files.amd64#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/files.i386#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/files.powerpc#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/newvers.sh#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/conf/options#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/CHANGES.txt#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acapps.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acconfig.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acdebug.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acdisasm.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acdispat.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acefi.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acenv.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acevents.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acexcep.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acfreebsd.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acgcc.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acglobal.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/achware.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acinterp.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/aclocal.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acmacros.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acnames.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acnamesp.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acobject.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acopcode.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acoutput.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acparser.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acpi.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acpiosxf.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acpixf.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acresrc.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acstruct.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/actables.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/actbl.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/actbl1.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/actbl2.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/actypes.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/acutils.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/aecommon.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/amlcode.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/amlresrc.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/adfile.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/adwalk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/dmrestag.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/dmtable.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/dmtbdump.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/dmtbinfo.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslanalyze.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslcompile.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslcompiler.y#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslfold.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asltree.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/asltypes.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/compiler/aslutils.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbcmds.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbdisply.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbexec.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbfileio.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbhistry.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbinput.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbstats.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dbxface.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmbuffer.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmnames.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmobject.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmopcode.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmresrc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmresrcl.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmresrcs.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dmwalk.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsfield.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsinit.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsmethod.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsmthdat.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsobject.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsopcode.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dsutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dswexec.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dswload.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dswscope.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/dswstate.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evevent.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evgpe.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evgpeblk.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evmisc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evregion.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evrgnini.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evsci.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evxface.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evxfevnt.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/evxfregn.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exconfig.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exconvrt.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/excreate.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exdump.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exfield.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exfldio.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exmisc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exmutex.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exnames.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exoparg1.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exoparg2.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exoparg3.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exoparg6.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exprep.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exregion.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exresnte.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exresolv.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exresop.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exstore.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exstoren.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exstorob.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exsystem.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/exutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hwacpi.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hwgpe.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hwregs.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hwsleep.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/hwtimer.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsaccess.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsalloc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsdump.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsdumpdv.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nseval.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsinit.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsload.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsnames.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsobject.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsparse.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nssearch.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nswalk.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsxfeval.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsxfname.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/nsxfobj.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/osunixxf.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psargs.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psloop.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psopcode.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psparse.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psscope.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/pstree.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/pswalk.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/psxface.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsaddr.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rscalc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rscreate.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsdump.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsinfo.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsio.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsirq.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rslist.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsmemory.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsmisc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/rsxface.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tbfadt.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tbfind.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tbinstal.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tbutils.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tbxface.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tbxfroot.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utalloc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utcache.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utclib.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utcopy.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utdebug.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utdelete.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/uteval.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utglobal.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utinit.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utmath.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utmisc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utmutex.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utobject.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utresrc.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utstate.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/uttrack.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/acpica/utxface.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/crypto/via/padlock_hash.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/ddb/db_textdump.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_panasonic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_smbat.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/age/if_age.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/agp/agp_ali.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/agp/agp_amd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/agp/agp_ati.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/agp/agp_sis.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/alc/if_alc.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/alc/if_alcreg.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/alc/if_alcvar.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/asmc/asmc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/ata-sata.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-acard.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-ahci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-intel.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-promise.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ah.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ah.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ah_internal.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bktr/bktr_os.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/bwi/if_bwi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cfe/cfe_console.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/cxgb_multiq.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/dc/if_dc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/dcons/dcons_os.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/drm_sysctl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/if_em.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/if_igb.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/e1000/if_igb.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/et/if_et.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/fdc/fdc_acpi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/firewire/if_fwe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/firewire/if_fwip.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/fxp/if_fxp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/if_ndis/if_ndis_usb.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/if_ndis/if_ndisvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/iir/iir.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/iir/iir_ctrl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ipmi/ipmi_acpi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/iwn/if_iwn.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ksyms/ksyms.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/lmc/if_lmc.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/malo/if_malo.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mca/mca_bus.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/md/md.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mge/if_mge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mii/miidevs#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/if_mwl.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/if_mwl_pci.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/if_mwlioctl.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/if_mwlvar.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/mwldiag.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/mwlhal.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/mwlhal.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mwl/mwlreg.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/my/if_my.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/nge/if_nge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_bus_subr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_bus_subr.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/openfirm.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pci/pci.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/puc/pucdata.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ral/rt2560.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/random/nehemiah.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/random/randomdev_soft.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/re/if_re.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/rp/rp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sec/sec.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sec/sec.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sf/if_sf.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/si/si.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sis/if_sis.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/smc/if_smc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/clone.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/driver.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/midi/midi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/channel.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/fake.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_fmt.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/g711.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/sound.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/pcm/vchan.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/unit.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/usb/uaudioreg.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/sound/version.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ste/if_ste.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/scterm-teken.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/syscons.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/teken/sequences#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/teken/teken.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/teken/teken.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/syscons/teken/teken_subr_compat.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/uart/uart_cpu_mv.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/uart/uart_tty.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/soc2009/tsel_ipfw/sys/dev/usb/bluetooth/TODO.TXT#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/usb/bluetooth/ng_ubt.c#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/usb/bluetooth/ng_ubt_var.h#2 delete .. //depot/projects/soc2009/tsel_ipfw/sys/dev/usb/bluetooth/ubtbcmfw.c#2 delete >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 8 13:19:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B54771065674; Wed, 8 Jul 2009 13:19:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 74B4C106566C for ; Wed, 8 Jul 2009 13:19:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 60F5F8FC16 for ; Wed, 8 Jul 2009 13:19:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68DJXq8045971 for ; Wed, 8 Jul 2009 13:19:33 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68DJX4D045969 for perforce@freebsd.org; Wed, 8 Jul 2009 13:19:33 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 8 Jul 2009 13:19:33 GMT Message-Id: <200907081319.n68DJX4D045969@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165819 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 13:19:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=165819 Change 165819 by pgj@beehive on 2009/07/08 13:19:13 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#13 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml#9 integrate .. //depot/projects/docproj_hu/www/en/cgi/cgi-style.pl#4 integrate .. //depot/projects/docproj_hu/www/en/layout/css/iefixes.css#2 integrate .. //depot/projects/docproj_hu/www/en/layout/css/navigation.css#2 integrate .. //depot/projects/docproj_hu/www/hu/search/search.sgml#19 integrate .. //depot/projects/docproj_hu/www/share/sgml/header.ent#4 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#62 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#13 (text+ko) ==== @@ -1,4 +1,4 @@ - +
    ==== //depot/projects/docproj_hu/www/en/layout/css/iefixes.css#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* * FreeBSD.org - Fixes for Internet Explorer - * $FreeBSD: www/en/layout/css/iefixes.css,v 1.3 2005/11/23 14:22:06 keramida Exp $ + * $FreeBSD: www/en/layout/css/iefixes.css,v 1.4 2009/07/06 22:09:22 danger Exp $ */ /*Win IE fix \*/ @@ -8,6 +8,9 @@ * html #TOPNAVLIST li { margin: 0 0.5em 0 -0.5em; } * html #topnavlist li { margin: 0 0.5em 0 -0.5em; } +* html #MENU ul.first { border-left: 0; } +* html #MENU li { margin: 0.2em 0 -1em 0; } + * html #languagenavlist li { padding: 0 0.1em 0 0.4em; } * html #languagenavlist li.last-child { padding: 0 0em 0 0.4em; } ==== //depot/projects/docproj_hu/www/en/layout/css/navigation.css#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD.org - Navigation (and List) Styles * - * $FreeBSD: www/en/layout/css/navigation.css,v 1.6 2008/01/16 02:10:22 murray Exp $ + * $FreeBSD: www/en/layout/css/navigation.css,v 1.7 2009/07/06 22:09:22 danger Exp $ */ /* Site Navigation */ @@ -71,6 +71,77 @@ padding-left: 0; } +/* New drop-down menu implementation */ + +#MENU { + width: 100%; + float: left; + height: 29px; + font-size: 0.9em; + margin: 5px 0 2px 0; + font-weight: bold; +} + +#MENU ul { + list-style: none; + margin: 0; + padding: 0px 10px 2px 10px; + float: left; + border-left: 1px solid #B4B4B4; +} + +#MENU ul:first-child { + padding-left: 0; + border: 0; +} + +#MENU a { + display: block; + padding: 0px 3px; + color: #666; + text-decoration: none; +} + +#MENU a:hover { + color: #990000; +} + +#MENU li { + position: relative; +} + +#MENU ul ul { + position: absolute; + background-color: #e5e5e5; + padding: 2px; + border: 0; + width: 10em; + z-index: 500; +} + +#MENU ul ul li { + border-top: 1px solid #B4B4B4; + padding: 4px 0 4px 0; +} + +#MENU ul ul ul { + top: 0; + left: 100%; + background: #e5e5e5; +} + +div#MENU ul ul, +div#MENU ul li:hover ul ul, +div#MENU ul ul li:hover ul ul { + display: none; +} + +div#MENU ul li:hover ul, +div#MENU ul ul li:hover ul, +div#MENU ul ul ul li:hover ul { + display: block; +} + /* Language selection */ #LANGUAGENAV, #languagenav { ==== //depot/projects/docproj_hu/www/hu/search/search.sgml#19 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> ==== //depot/projects/docproj_hu/www/share/sgml/header.ent#4 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -137,18 +137,77 @@ Site Navigation - '> - $FreeBSD: www/share/sgml/news.xml,v 1.262 2009/06/08 16:03:29 np Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.263 2009/07/07 16:45:36 danger Exp $ @@ -33,6 +33,30 @@ 2009 + 7 + + + 7 + + + &os; 8.0-BETA1 Available + +

    The final stage of the &os;-8.0 Release cycle has begun + with the first public beta release. The &os; 8.0-BETA1 + ISO images for Tier-1 architectures are now available for + download on most of the + &os; mirror sites. We encourage our users to give + &os; 8.0-BETA1 a try and provide us with the feedback, + however please read the official + announcement carefully before starting to use this + release.

    +
    +
    +
    + + 6 From owner-p4-projects@FreeBSD.ORG Wed Jul 8 13:29:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A03ED1065673; Wed, 8 Jul 2009 13:29:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F6AC1065670 for ; Wed, 8 Jul 2009 13:29:45 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B0098FC1C for ; Wed, 8 Jul 2009 13:29:45 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68DTj0e046741 for ; Wed, 8 Jul 2009 13:29:45 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68DTio7046736 for perforce@freebsd.org; Wed, 8 Jul 2009 13:29:44 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 8 Jul 2009 13:29:44 GMT Message-Id: <200907081329.n68DTio7046736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165820 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 13:29:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=165820 Change 165820 by syl@syl_pablo on 2009/07/08 13:29:06 MFC before USB Function improvment. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libc/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/Symbol.map#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/execve.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/getsockopt.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/shmctl.2#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libthr/thread/thr_rtld.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libthr/thread/thr_rwlock.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/msi.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/include/intr_machdep.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/include/param.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/include/param.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/files#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/newvers.sh#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/options#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ale/if_ale.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-ahci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-nvidia.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ah_osdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ah_osdep.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/if_em.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ixgbe/ixgbe.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_rate.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/at91dci.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/atmegadci.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/avr32dci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/musb_otg.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uss820dci.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_cdce.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/usb_serial.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/ustorage_fs.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_controller.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_handle_request.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_if.m#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdevs#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdi.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom_dev.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom_io.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom_subr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/part/g_part.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/part/g_part_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/local_apic.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/msi.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/intr_machdep.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/param.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/xen/pmap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/conf/GENERIC#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ia64/include/param.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_event.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_exec.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_exit.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_fork.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_intr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_linker.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_prot.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_sig.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_thr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/subr_param.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sys_generic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sys_pipe.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sys_process.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sys_socket.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/tty.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/tty_pts.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_export.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_extattr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_lookup.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_vnops.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/include/param.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/busdma_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/Makefile#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/geom/geom_label/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/nfsclient/Makefile#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/nfsserver/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/wlan/Makefile#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_var.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/netisr.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/vnet.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211.c#7 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_action.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_action.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_adhoc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ageq.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ageq.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_freebsd.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_hostap.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ht.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_node.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_node.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_sta.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_var.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_wds.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_iface.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_ksocket.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_var.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfs/nfs_common.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfs/rpcv2.h#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/krpc_subr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_krpc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_lock.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_nfsiod.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_socket.c#4 delete .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_vfsops.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_vnops.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvcache.c#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvkrpc.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvsock.c#5 delete .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvsubs.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_syscalls.c#3 delete .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/pc98/conf/GENERIC#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/pc98/include/vm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/include/param.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/clnt_dg.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit_bsm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/conf/GENERIC#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/include/param.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/sparc64/machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sparc64/sparc64/pmap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/conf/GENERIC#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sun4v/include/param.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/cpuctl.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/disk.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/event.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/filio.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/mount.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/param.h#8 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/priv.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/socketvar.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/vnode.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_extern.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_fault.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_map.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_object.c#5 integrate Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libc/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.75 2009/03/13 10:40:38 gabor Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.77 2009/06/29 01:33:59 kan Exp $ SHLIBDIR?= /lib ==== //depot/projects/soc2009/syl_usb/src/lib/libc/gen/msgctl.3#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" (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: src/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.22 2009/06/29 18:54:17 kib Exp $ .\"/ .Dd April 3, 2008 .Dt MSGCTL 3 @@ -71,12 +71,8 @@ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ - long msg_pad1; time_t msg_rtime; /* time of last msgrcv() */ - long msg_pad2; time_t msg_ctime; /* time of last msgctl() */ - long msg_pad3; - long msg_pad4[4]; }; .Ed .Pp @@ -89,11 +85,11 @@ and looks like this: .Bd -literal struct ipc_perm { - unsigned short cuid; /* creator user id */ - unsigned short cgid; /* creator group id */ - unsigned short uid; /* user id */ - unsigned short gid; /* group id */ - unsigned short mode; /* r/w permission */ + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ unsigned short seq; /* sequence # (to generate unique ipcid) */ key_t key; /* user specified msg/sem/shm key */ }; ==== //depot/projects/soc2009/syl_usb/src/lib/libc/sys/Symbol.map#4 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.24 2009/06/24 21:10:52 jhb Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $ */ /* ==== //depot/projects/soc2009/syl_usb/src/lib/libc/sys/execve.2#2 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)execve.2 8.5 (Berkeley) 6/1/94 -.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.42 2008/08/26 10:53:32 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.43 2009/07/05 20:20:09 pjd Exp $ .\" .Dd April 10, 2008 .Dt EXECVE 2 @@ -220,13 +220,11 @@ .Fn fexecve , the file descriptor .Fa fd -need not have been -opened with the +need not have been opened with the .Dv O_EXEC flag. -However, if the file to be executed denies read and write -permission for the process preparing to do the exec, the only way to -provide the +However, if the file to be executed denies read permission for the process +preparing to do the exec, the only way to provide the .Fa fd to .Fn fexecve @@ -234,6 +232,7 @@ .Dv O_EXEC flag when opening .Fa fd . +Note that the file to be executed can not be open for writing. .Sh RETURN VALUES As the .Fn execve @@ -277,7 +276,7 @@ permission, but has an invalid magic number in its header. .It Bq Er ETXTBSY The new process file is a pure procedure (shared text) -file that is currently open for writing or reading by some process. +file that is currently open for writing by some process. .It Bq Er ENOMEM The new process requires more virtual memory than is allowed by the imposed maximum ==== //depot/projects/soc2009/syl_usb/src/lib/libc/sys/getsockopt.2#2 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 -.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.40 2008/06/12 22:58:35 wkoszek Exp $ +.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.41 2009/06/30 20:53:56 trasz Exp $ .\" .Dd June 13, 2008 .Dt GETSOCKOPT 2 @@ -139,6 +139,11 @@ .In sys/time.h . .Pp The following options are recognized at the socket level. +For protocol-specific options, see protocol manual pages, +e.g. +.Xr ip 4 +or +.Xr tcp 4 . Except as noted, each may be examined with .Fn getsockopt and set with @@ -499,6 +504,10 @@ .Xr getprotoent 3 , .Xr mac 3 , .Xr sysctl 3 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr sctp 4 , +.Xr tcp 4 , .Xr protocols 5 , .Xr sysctl 8 , .Xr accept_filter 9 , ==== //depot/projects/soc2009/syl_usb/src/lib/libc/sys/semctl.2#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" (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: src/lib/libc/sys/semctl.2,v 1.20 2005/01/15 12:28:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/semctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd September 12, 1995 .Dt SEMCTL 2 @@ -148,12 +148,9 @@ struct sem *sem_base; /* pointer to first semaphore in set */ u_short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ - long sem_pad1; /* SVABI/386 says I need this here */ time_t sem_ctime; /* last change time */ /* Times measured in secs since */ /* 00:00:00 GMT, Jan. 1, 1970 */ - long sem_pad2; /* SVABI/386 says I need this here */ - long sem_pad3[4]; /* SVABI/386 says I need this here */ }; .Ed .Sh RETURN VALUES ==== //depot/projects/soc2009/syl_usb/src/lib/libc/sys/shmctl.2#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" (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: src/lib/libc/sys/shmctl.2,v 1.20 2009/03/05 12:04:42 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/shmctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd July 17, 1995 .Dt SHMCTL 2 @@ -100,14 +100,13 @@ .Bd -literal struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ - int shm_segsz; /* size of segment in bytes */ + size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ - short shm_nattch; /* number of current attaches */ + int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ - void *shm_internal; /* sysv stupidity */ }; .Ed .Sh RETURN VALUES @@ -133,16 +132,6 @@ Permission denied due to mismatch between operation and mode of shared memory segment. .El -.Sh "BUGS" -The segment size has size_t type. -The shm_segsz member of the -.Vt shmid_ds -structure has type int, which is too short to represent the full range -of values for a segment size. -If shared memory limits are raised to allow segments with size > 2 GB -to be created, be aware that IPC_STAT call may return a truncated value -for shm_segsz. -.El .Sh "SEE ALSO" .Xr shmat 2 , .Xr shmdt 2 , ==== //depot/projects/soc2009/syl_usb/src/lib/libc/sys/stack_protector.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $ */ +/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $ */ /* $NetBSD: stack_protector.c,v 1.4 2006/11/22 17:23:25 christos Exp $ */ /* $OpenBSD: stack_protector.c,v 1.10 2006/03/31 05:34:44 deraadt Exp $ */ /* @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $"); #include #include ==== //depot/projects/soc2009/syl_usb/src/lib/libthr/thread/thr_rtld.c#2 (text) ==== @@ -23,7 +23,7 @@ * (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: src/lib/libthr/thread/thr_rtld.c,v 1.11 2009/04/19 23:02:50 rwatson Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.12 2009/07/06 09:31:04 attilio Exp $ * */ @@ -114,6 +114,7 @@ THR_CRITICAL_ENTER(curthread); while (_thr_rwlock_rdlock(&l->lock, 0, NULL) != 0) ; + curthread->rdlock_count++; RESTORE_ERRNO(); } @@ -148,6 +149,7 @@ state = l->lock.rw_state; if (_thr_rwlock_unlock(&l->lock) == 0) { + curthread->rdlock_count--; if ((state & URWLOCK_WRITE_OWNER) == 0) { THR_CRITICAL_LEAVE(curthread); } else { ==== //depot/projects/soc2009/syl_usb/src/lib/libthr/thread/thr_rwlock.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.15 2008/04/14 08:08:40 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.16 2009/07/06 09:31:04 attilio Exp $ */ #include @@ -177,10 +177,11 @@ /* if interrupted, try to lock it in userland again. */ if (_thr_rwlock_tryrdlock(&prwlock->lock, flags) == 0) { ret = 0; - curthread->rdlock_count++; break; } } + if (ret == 0) + curthread->rdlock_count++; return (ret); } ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/identcpu.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/io_apic.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.35 2009/07/06 18:23:00 jhb Exp $"); #include "opt_isa.h" @@ -120,7 +120,7 @@ static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,12 +322,12 @@ mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; struct ioapic *io = (struct ioapic *)isrc->is_pic; - u_int old_vector; + u_int old_vector, new_vector; u_int old_id; /* @@ -342,14 +342,20 @@ old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once * we have a vector we program the interrupt pin. */ + new_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (new_vector == 0) + return (ENOSPC); + intpin->io_cpu = apic_id; - intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + intpin->io_vector = new_vector; + if (isrc->is_handlers > 0) + apic_enable_vector(intpin->io_cpu, intpin->io_vector); if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -362,8 +368,12 @@ * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ - if (old_vector) + if (old_vector) { + if (isrc->is_handlers > 0) + apic_disable_vector(old_id, old_vector); apic_free_vector(old_id, old_vector, intpin->io_irq); + } + return (0); } static void @@ -372,7 +382,9 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +508,7 @@ io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +742,7 @@ if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/local_apic.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -139,7 +139,7 @@ }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/machdep.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.703 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.704 2009/07/06 18:10:27 jhb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -100,8 +100,9 @@ #ifndef KDB #error KDB must be enabled in order for DDB to work! #endif +#include +#include #endif -#include #include @@ -1083,6 +1084,30 @@ IDTVEC(xmm), IDTVEC(dblfault), IDTVEC(fast_syscall), IDTVEC(fast_syscall32); +#ifdef DDB +/* + * Display the index and function name of any IDT entries that don't use + * the default 'rsvd' entry point. + */ +DB_SHOW_COMMAND(idt, db_show_idt) +{ + struct gate_descriptor *ip; + int idx; + uintptr_t func; + + ip = idt; + for (idx = 0; idx < NIDT && !db_pager_quit; idx++) { + func = ((long)ip->gd_hioffset << 16 | ip->gd_looffset); + if (func != (uintptr_t)&IDTVEC(rsvd)) { + db_printf("%3d\t", idx); + db_printsym(func, DB_STGY_PROC); + db_printf("\n"); + } + ip++; + } +} +#endif + void sdtossd(sd, ssd) struct user_segment_descriptor *sd; ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/msi.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.14 2009/07/06 18:23:00 jhb Exp $"); #include #include @@ -113,6 +113,8 @@ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,39 +197,72 @@ return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; + if (msi->msi_intsrc.is_handlers > 0) + apic_enable_vector(msi->msi_cpu, msi->msi_vector); if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (sib->msi_intsrc.is_handlers > 0) + apic_enable_vector(sib->msi_cpu, sib->msi_vector); + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ + if (msi->msi_intsrc.is_handlers > 0) + apic_disable_vector(old_id, old_vector); apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + if (sib->msi_intsrc.is_handlers > 0) + apic_disable_vector(old_id, old_vector + i); + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + } + return (0); } void @@ -268,7 +303,7 @@ msi_last_irq++; mtx_unlock(&msi_lock); - msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); msi->msi_intsrc.is_pic = &msi_pic; msi->msi_irq = irq; intr_register_source(&msi->msi_intsrc); @@ -276,21 +311,22 @@ } /* - * Try to allocate 'count' interrupt sources with contiguous IDT values. If - * we allocate any new sources, then their IRQ values will be at the end of - * the irqs[] array, with *newirq being the index of the first new IRQ value - * and *newcount being the number of new IRQ values added. + * Try to allocate 'count' interrupt sources with contiguous IDT values. */ int msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; u_int cpu; - int cnt, i, vector; + int cnt, i, *mirqs, vector; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 8 13:58:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE6751065673; Wed, 8 Jul 2009 13:58:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8CE99106566C for ; Wed, 8 Jul 2009 13:58:16 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7A4A48FC24 for ; Wed, 8 Jul 2009 13:58:16 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68DwGgT048879 for ; Wed, 8 Jul 2009 13:58:16 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68DwG1B048877 for perforce@freebsd.org; Wed, 8 Jul 2009 13:58:16 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 8 Jul 2009 13:58:16 GMT Message-Id: <200907081358.n68DwG1B048877@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 13:58:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=165821 Change 165821 by syl@syl_pablo on 2009/07/08 13:57:50 Remove unused variable. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#58 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#20 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#24 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#58 (text+ko) ==== @@ -650,7 +650,6 @@ int interface_number, int alternate_setting) { libusb_context *ctx; - int ret; ctx = NULL; GET_CONTEXT(ctx); @@ -1042,10 +1041,8 @@ libusb_context *ctx; int maxframe; int buffsize; - int num_frame; int ep_idx; int ret; - int i; if (xfer == NULL) return (LIBUSB_ERROR_NO_MEM); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#20 (text+ko) ==== @@ -281,7 +281,6 @@ { struct libusb20_device *pdev; libusb_context *ctx; - int ret; ctx = NULL; GET_CONTEXT(ctx); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#24 (text+ko) ==== @@ -165,11 +165,8 @@ get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out) { struct timeval timeout; - int ret; - ret = libusb_get_next_timeout(ctx, &timeout); - - if (ret) { + if (libusb_get_next_timeout(ctx, &timeout)) { if (timerisset(&timeout) == 0) return 1; if (timercmp(&timeout, tv, <) != 0) @@ -232,14 +229,10 @@ struct libusb_pollfd *tmppollfd; struct libusb_device_handle *devh; struct usb_pollfd *ipollfd; - struct usb_transfer *cur; - struct usb_transfer *cancel; - struct libusb_transfer *xfer; struct pollfd *fds; struct pollfd *tfds; nfds_t nfds; int tmpfd; - int tmp; int ret; int timeout; int i; @@ -489,7 +482,6 @@ int libusb_handle_events_timeout(libusb_context * ctx, struct timeval *tv) { - struct timeval timeout; struct timeval poll_timeout; int ret; From owner-p4-projects@FreeBSD.ORG Wed Jul 8 15:29:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18A391065673; Wed, 8 Jul 2009 15:29:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC4271065672 for ; Wed, 8 Jul 2009 15:29:56 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AE8D88FC1C for ; Wed, 8 Jul 2009 15:29:56 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68FTu8b057555 for ; Wed, 8 Jul 2009 15:29:56 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68FTuBH057553 for perforce@freebsd.org; Wed, 8 Jul 2009 15:29:56 GMT (envelope-from trasz@freebsd.org) Date: Wed, 8 Jul 2009 15:29:56 GMT Message-Id: <200907081529.n68FTuBH057553@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165824 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 15:29:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165824 Change 165824 by trasz@trasz_victim on 2009/07/08 15:29:43 Add a mechanism to get from the given process to the applicable resource limits. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#27 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#20 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#7 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#7 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#8 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#27 (text+ko) ==== @@ -148,9 +148,13 @@ static void hrl_init(void); SYSINIT(hrl, SI_SUB_CPU, SI_ORDER_FIRST, hrl_init, NULL); -static uma_zone_t hrl_zone; +static uma_zone_t hrl_node_zone; +static uma_zone_t hrl_limit_zone; static struct mtx hrl_lock; +static void hrl_rule_remove_limits(struct hrl_rule *rule); +static void hrl_rule_add_limits(struct hrl_rule *rule); + MALLOC_DEFINE(M_HRL, "hrl", "Hierarchical Resource Limits"); #if 0 @@ -267,10 +271,18 @@ int i; mtx_lock(&hrl_lock); + /* + * Inherit resources from the parent. + */ for (i = 0; i < HRL_RESOURCE_MAX; i++) { if (parent->p_usage.hu_resources[i] != 0 && hrl_resource_inheritable(i)) hrl_allocated_proc(child, i, parent->p_usage.hu_resources[i]); } + + /* + * Assign rules appropriate for the process. + */ + LIST_INIT(&child->p_limits); mtx_unlock(&hrl_lock); } @@ -485,15 +497,17 @@ KASSERT(node != NULL, ("hrl_adjust: node removal failed")); } mtx_unlock(&hrl_lock); - if (node != NULL) - uma_zfree(hrl_zone, node); + if (node != NULL) { + hrl_rule_remove_limits(&node->hn_rule); + uma_zfree(hrl_node_zone, node); + } return; } /* * Adding a new limit or changing existing one. */ - node = uma_zalloc(hrl_zone, M_WAITOK); + node = uma_zalloc(hrl_node_zone, M_WAITOK); *node = searched; mtx_lock(&hrl_lock); existing = RB_INSERT(hrl_tree, &hrls, node); @@ -503,7 +517,9 @@ node->hn_rule.hr_amount = amount; mtx_unlock(&hrl_lock); if (existing != NULL) - uma_zfree(hrl_zone, node); + uma_zfree(hrl_node_zone, node); + else + hrl_rule_add_limits(&node->hn_rule); } void @@ -629,12 +645,185 @@ return (0); } +/* + * Add a new limit for a rule, if it's not already there. + */ +static void +hrl_limit_add_if_needed(struct hrl_limits_head *limits_head, struct hrl_rule *rule) +{ + struct hrl_limit *limit, *new_limit; + + new_limit = uma_zalloc(hrl_limit_zone, M_WAITOK); + mtx_lock(&hrl_lock); + LIST_FOREACH(limit, limits_head, hl_next) { + if (limit->hl_rule == rule) { + mtx_unlock(&hrl_lock); + uma_zfree(hrl_limit_zone, new_limit); + return; + } + } + new_limit->hl_rule = rule; + LIST_INSERT_HEAD(limits_head, new_limit, hl_next); + mtx_unlock(&hrl_lock); +} + +/* + * Remove a limit for a rule. + */ +static void +hrl_limit_remove(struct hrl_limits_head *limits_head, struct hrl_rule *rule) +{ + struct hrl_limit *limit, *limittmp; + + mtx_lock(&hrl_lock); + LIST_FOREACH_SAFE(limit, limits_head, hl_next, limittmp) { + if (limit->hl_rule == rule) { + LIST_REMOVE(limit, hl_next); + mtx_unlock(&hrl_lock); + uma_zfree(hrl_limit_zone, limit); + return; + } + } + mtx_unlock(&hrl_lock); +} + +/* + * Bind a rule to subjects to which it applies. + */ +static void +hrl_rule_add_limits(struct hrl_rule *rule) +{ + struct proc *p; + struct uidinfo *uip; + struct gidinfo *gip; + struct prison *pr; + + switch (rule->hr_subject) { + case HRL_SUBJECT_PROCESS: + /* + * The sx lock is to keep the process from going away. + */ + sx_slock(&proctree_lock); + p = pfind(rule->hr_subject_id); + if (p == NULL) { + sx_sunlock(&proctree_lock); + return; + } + + PROC_UNLOCK(p); + hrl_limit_add_if_needed(&p->p_limits, rule); + sx_sunlock(&proctree_lock); + return; + + case HRL_SUBJECT_USER: + uip = uifind_existing(rule->hr_subject_id); + if (uip == NULL) + return; + hrl_limit_add_if_needed(&uip->ui_limits, rule); + uifree(uip); + return; + + case HRL_SUBJECT_GROUP: + gip = gifind_existing(rule->hr_subject_id); + if (gip == NULL) + return; + hrl_limit_add_if_needed(&gip->gi_limits, rule); + gifree(gip); + return; + + case HRL_SUBJECT_LOGINCLASS: + panic("hrl_rule_add_limits: HRL_SUBJECT_LOGINCLASS unimplemented"); + return; + + case HRL_SUBJECT_JAIL: + sx_xlock(&allprison_lock); + pr = prison_find(rule->hr_subject_id); + if (pr == NULL) { + sx_xunlock(&allprison_lock); + return; + } + hrl_limit_add_if_needed(&pr->pr_limits, rule); + prison_free(pr); + sx_xunlock(&allprison_lock); + return; + + default: + panic("hrl_rule_add_limits: unknown subject %d", rule->hr_subject); + } +} + +static void +hrl_rule_remove_limits(struct hrl_rule *rule) +{ + struct proc *p; + struct uidinfo *uip; + struct gidinfo *gip; + struct prison *pr; + + switch (rule->hr_subject) { + case HRL_SUBJECT_PROCESS: + /* + * The sx lock is to keep the process from going away. + */ + sx_slock(&proctree_lock); + p = pfind(rule->hr_subject_id); + if (p == NULL) { + sx_sunlock(&proctree_lock); + return; + } + + PROC_UNLOCK(p); + hrl_limit_remove(&p->p_limits, rule); + sx_sunlock(&proctree_lock); + return; + + case HRL_SUBJECT_USER: + uip = uifind_existing(rule->hr_subject_id); + if (uip == NULL) + return; + hrl_limit_remove(&uip->ui_limits, rule); + uifree(uip); + return; + + case HRL_SUBJECT_GROUP: + gip = gifind_existing(rule->hr_subject_id); + if (gip == NULL) + return; + hrl_limit_remove(&gip->gi_limits, rule); + gifree(gip); + return; + + case HRL_SUBJECT_LOGINCLASS: + panic("hrl_rule_remove: HRL_SUBJECT_LOGINCLASS unimplemented"); + return; + + case HRL_SUBJECT_JAIL: + sx_xlock(&allprison_lock); + pr = prison_find(rule->hr_subject_id); + if (pr == NULL) { + sx_xunlock(&allprison_lock); + return; + } + hrl_limit_remove(&pr->pr_limits, rule); + prison_free(pr); + sx_xunlock(&allprison_lock); + return; + + default: + panic("hrl_rule_remove: unknown subject %d", rule->hr_subject); + } +} + +/* + * Add a rule to the ruleset or change the 'hr_amount' of existing + * rule. + */ static int hrl_rule_add(struct hrl_rule *rule) { struct hrl_node *node, *existing; - node = uma_zalloc(hrl_zone, M_WAITOK); + node = uma_zalloc(hrl_node_zone, M_WAITOK); node->hn_rule = *rule; mtx_lock(&hrl_lock); @@ -644,7 +833,9 @@ mtx_unlock(&hrl_lock); if (existing != NULL) - uma_zfree(hrl_zone, node); + uma_zfree(hrl_node_zone, node); + else + hrl_rule_add_limits(rule); return (0); } @@ -816,6 +1007,9 @@ return (error); } +/* + * Remove a rule from the ruleset. + */ static int hrl_rule_remove(struct hrl_rule *rule) { @@ -830,10 +1024,11 @@ continue; found = 1; node = RB_REMOVE(hrl_tree, &hrls, node); - KASSERT(node != NULL, ("hrl_proc_exit: node removal failed")); + KASSERT(node != NULL, ("hrl_rule_remove: node removal failed")); mtx_unlock(&hrl_lock); - uma_zfree(hrl_zone, node); + hrl_rule_remove_limits(&node->hn_rule); + uma_zfree(hrl_node_zone, node); goto restart; } mtx_unlock(&hrl_lock); @@ -1029,6 +1224,7 @@ { int i; struct hrl_node *node, *next; + struct hrl_limit *limit; struct uidinfo *uip; uip = p->p_ucred->cr_ruidinfo; @@ -1057,17 +1253,33 @@ KASSERT(node != NULL, ("hrl_proc_exit: node removal failed")); mtx_unlock(&hrl_lock); - uma_zfree(hrl_zone, node); + uma_zfree(hrl_node_zone, node); goto restart; } mtx_unlock(&hrl_lock); + + /* + * Free the hrl_limit structures. + */ +restart2: + mtx_lock(&hrl_lock); + while (!LIST_EMPTY(&p->p_limits)) { + limit = LIST_FIRST(&p->p_limits); + LIST_REMOVE(limit, hl_next); + mtx_unlock(&hrl_lock); + uma_zfree(hrl_limit_zone, limit); + goto restart2; + } + mtx_unlock(&hrl_lock); } static void hrl_init(void) { - hrl_zone = uma_zcreate("hrl", sizeof(struct hrl_node), NULL, NULL, + hrl_node_zone = uma_zcreate("hrl", sizeof(struct hrl_node), NULL, NULL, + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); + hrl_limit_zone = uma_zcreate("hrl", sizeof(struct hrl_limit), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); mtx_init(&hrl_lock, "hrl lock", NULL, MTX_RECURSE); /* XXX: Make it non-recurseable later. */ EVENTHANDLER_REGISTER(process_exit, hrl_proc_exit, NULL, EVENTHANDLER_PRI_ANY); ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#20 (text+ko) ==== @@ -30,6 +30,7 @@ #define _HRL_H_ #include +#include #include /* @@ -112,6 +113,18 @@ int64_t hu_resources[HRL_RESOURCE_MAX + 1]; }; +/* + * 'hrl_limit' is used to link a subject with rules that apply + * to it. This way we don't have to search the whole HRL rules + * tree to enforce the limits. + */ +struct hrl_limit { + LIST_ENTRY(hrl_limit) hl_next; + struct hrl_rule *hl_rule; +}; + +LIST_HEAD(hrl_limits_head, hrl_limit); + #ifdef _KERNEL struct proc; ==== //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#7 (text+ko) ==== @@ -178,6 +178,7 @@ char pr_domainname[MAXHOSTNAMELEN]; /* (p) jail domainname */ char pr_hostuuid[HOSTUUIDLEN]; /* (p) jail hostuuid */ struct hrl_usage pr_usage; /* (*) HRL resource accounting */ + struct hrl_limits_head pr_limits; /* (*) HRL rules applicable to the prison */ }; #endif /* _KERNEL || _WANT_PRISON */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#7 (text+ko) ==== @@ -515,6 +515,7 @@ int p_pendingcnt; /* how many signals are pending */ struct itimers *p_itimers; /* (c) POSIX interval timers. */ struct hrl_usage p_usage; /* (*) HRL resource accounting */ + struct hrl_limits_head p_limits;/* (*) HRL rules applicable to the proccess */ /* End area that is zeroed on creation. */ #define p_endzero p_magic ==== //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#8 (text+ko) ==== @@ -99,6 +99,7 @@ uid_t ui_uid; /* (a) uid */ u_int ui_ref; /* (b) reference count */ struct hrl_usage ui_usage; /* (*) HRL resource accounting */ + struct hrl_limits_head ui_limits;/* (*) HRL rules applicable to the uid */ }; #define UIDINFO_VMSIZE_LOCK(ui) mtx_lock(&((ui)->ui_vmsize_mtx)) @@ -117,6 +118,7 @@ gid_t gi_gid; /* (a) gid */ u_int gi_ref; /* (b) reference count */ struct hrl_usage gi_usage; /* (*) HRL resource accounting */ + struct hrl_limits_head gi_limits;/* (*) HRL rules applicable to the gid */ }; struct proc; From owner-p4-projects@FreeBSD.ORG Wed Jul 8 20:07:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B30061065674; Wed, 8 Jul 2009 20:07:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72510106566C for ; Wed, 8 Jul 2009 20:07:00 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 60E588FC0C for ; Wed, 8 Jul 2009 20:07:00 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68K6x3x092433 for ; Wed, 8 Jul 2009 20:06:59 GMT (envelope-from tatsianka@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68K6xGU092431 for perforce@freebsd.org; Wed, 8 Jul 2009 20:06:59 GMT (envelope-from tatsianka@FreeBSD.org) Date: Wed, 8 Jul 2009 20:06:59 GMT Message-Id: <200907082006.n68K6xGU092431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tatsianka@FreeBSD.org using -f From: Tatsiana Severyna To: Perforce Change Reviews Cc: Subject: PERFORCE change 165836 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 20:07:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=165836 Change 165836 by tatsianka@tatsianka_zonder on 2009/07/08 20:06:06 psshfs port Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/Makefile#2 edit .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/fs.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psbuf.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psshfs.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/subr.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/util_compat.h#1 add Differences ... ==== //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/Makefile#2 (text+ko) ==== @@ -1,9 +1,13 @@ -# $NetBSD: Makefile,v 1.4 2009/04/22 15:23:07 lukem Exp $ - PROG= mount_psshfs -SRCS= psshfs.c fs.c node.c psbuf.c subr.c -LDADD+= -lpuffs -lutil +SRCS= psshfs.c fs.c node.c psbuf.c subr.c getmntopts.c +LDADD+= -lpuffs MAN= mount_psshfs.8 +MOUNT= /usr/src/sbin/mount +.PATH: ${MOUNT} + +CFLAGS+= -g -I${.CURDIR}/../libpuffs -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${MOUNT} +LDFLAGS+= -L${.OBJDIR}/../libpuffs + .include ==== //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/fs.c#2 (text+ko) ==== @@ -173,14 +173,18 @@ } int -psshfs_fs_statvfs(struct puffs_usermount *pu, struct statvfs *sbp) +psshfs_fs_statvfs(struct puffs_usermount *pu, struct statfs *sbp) { PSSHFSAUTOVAR(pu); uint64_t tmpval; uint8_t type; memset(sbp, 0, sizeof(*sbp)); +#ifdef XXX_TS sbp->f_bsize = sbp->f_frsize = sbp->f_iosize = 512; +#else + sbp->f_bsize = sbp->f_iosize = 512; +#endif if ((pctx->extensions & SFTP_EXT_STATVFS) == 0) goto out; @@ -198,13 +202,19 @@ psbuf_get_8(pb, &tmpval); sbp->f_bsize = tmpval; psbuf_get_8(pb, &tmpval); +#ifdef XXX_TS sbp->f_frsize = tmpval; +#endif psbuf_get_8(pb, &sbp->f_blocks); psbuf_get_8(pb, &sbp->f_bfree); psbuf_get_8(pb, &sbp->f_bavail); psbuf_get_8(pb, &sbp->f_files); psbuf_get_8(pb, &sbp->f_ffree); +#ifdef XXX_TS psbuf_get_8(pb, &sbp->f_favail); +#else + psbuf_get_8(pb, &tmpval); +#endif psbuf_get_8(pb, &tmpval); /* fsid */ psbuf_get_8(pb, &tmpval); /* flag */ ==== //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psbuf.c#2 (text+ko) ==== @@ -37,17 +37,19 @@ */ #include +#include #include +#include #include #include #include #include -#include #include #include "psshfs.h" #include "sftp_proto.h" +#include "util_compat.h" #define FAILRV(x) do { int rv; if ((rv=x)) return (rv); } while (/*CONSTCOND*/0) #define READSTATE_LENGTH(off) (off < 4) @@ -58,6 +60,22 @@ #define CHECK(v) if (!(v)) abort() +#ifndef HTOBE16 +#if BYTE_ORDER == BIG_ENDIAN +#define HTOBE16(x) (void) (x) +#define HTOBE32(x) (void) (x) +#define HTOBE64(x) (void) (x) +#else /* LITTLE_ENDIAN */ +#define HTOBE16(x) (x) = htobe16((uint16_t)(x)) +#define HTOBE32(x) (x) = htobe32((uint32_t)(x)) +#define HTOBE64(x) (x) = htobe64((uint64_t)(x)) +#endif + +#define BE16TOH(x) HTOBE16(x) +#define BE32TOH(x) HTOBE32(x) +#define BE64TOH(x) HTOBE64(x) +#endif + uint8_t psbuf_get_type(struct puffs_framebuf *pb) { @@ -265,7 +283,7 @@ flags |= SSH_FILEXFER_ATTR_SIZE; if (va->va_uid != PUFFS_VNOVAL) flags |= SSH_FILEXFER_ATTR_UIDGID; - if (va->va_mode != PUFFS_VNOVAL) + if (va->va_mode != (u_short) PUFFS_VNOVAL) flags |= SSH_FILEXFER_ATTR_PERMISSIONS; if (va->va_atime.tv_sec != PUFFS_VNOVAL) @@ -357,6 +375,7 @@ { uint32_t flags; uint32_t val; + uint32_t tmpval; puffs_vattr_null(vap); @@ -371,7 +390,8 @@ FAILRV(psbuf_get_4(pb, &vap->va_gid)); } if (flags & SSH_FILEXFER_ATTR_PERMISSIONS) { - FAILRV(psbuf_get_4(pb, &vap->va_mode)); + FAILRV(psbuf_get_4(pb, &tmpval)); + vap->va_mode = tmpval; vap->va_type = puffs_mode2vt(vap->va_mode); } if (flags & SSH_FILEXFER_ATTR_ACCESSTIME) { ==== //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psshfs.c#2 (text+ko) ==== @@ -46,17 +46,19 @@ #include #include +#include +#include +#include #include #include #include -#include #include #include #include #include #include -#include +#include #include #include "psshfs.h" @@ -111,7 +113,6 @@ struct puffs_node *pn_root; puffs_framev_fdnotify_fn notfn; struct vattr *rva; - mntoptparse_t mp; char **sshargs; char *userhost; char *hostpath; @@ -158,10 +159,7 @@ add_ssharg(&sshargs, &nargs, optarg); break; case 'o': - mp = getmntopts(optarg, puffsmopts, &mntflags, &pflags); - if (mp == NULL) - err(1, "getmntopts"); - freemntopts(mp); + getmntopts(optarg, puffsmopts, &mntflags, &pflags); break; case 'p': notfn = psshfs_notify; ==== //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/subr.c#2 (text+ko) ==== @@ -35,10 +35,11 @@ #include #include #include -#include +#include #include "psshfs.h" #include "sftp_proto.h" +#include "util_compat.h" static void freedircache(struct psshfs_dir *base, size_t count) From owner-p4-projects@FreeBSD.ORG Wed Jul 8 23:42:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1C521065672; Wed, 8 Jul 2009 23:42:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8148C106564A for ; Wed, 8 Jul 2009 23:42:55 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6ED478FC1F for ; Wed, 8 Jul 2009 23:42:55 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68Ngt2A021403 for ; Wed, 8 Jul 2009 23:42:55 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68NgtRD021401 for perforce@freebsd.org; Wed, 8 Jul 2009 23:42:55 GMT (envelope-from truncs@FreeBSD.org) Date: Wed, 8 Jul 2009 23:42:55 GMT Message-Id: <200907082342.n68NgtRD021401@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165839 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 23:42:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=165839 Change 165839 by truncs@aditya on 2009/07/08 23:41:57 Check whether the block group has a superblock if the sparse super feature is there. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#29 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_extern.h#6 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#29 (text+ko) ==== @@ -891,5 +891,18 @@ *bh = fs->e2fs_group_desc[group_desc]; return gdp + desc; } +int +cg_has_sb(int i) +{ + int a3, a5, a7; + if (i == 0 || i == 1) + return 1; + for (a3 = 3, a5 = 5, a7 = 7; + a3 <= i || a5 <= i || a7 <= i; + a3 *= 3, a5 *= 5, a7 *= 7) + if (i == a3 || i == a5 || i == a7) + return 1; + return 0; +} ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_extern.h#6 (text+ko) ==== @@ -80,8 +80,7 @@ int ext2_checkpath(struct inode *, struct inode *, struct ucred *); struct ext2_gd * get_group_desc(struct mount * , unsigned int , struct buf ** ); -int ext2_group_sparse(int group); -void ext2_discard_prealloc(struct inode *); +int cg_has_sb(int i); int ext2_inactive(struct vop_inactive_args *); int ext2_new_block(struct mount * mp, unsigned long goal, u_int32_t *prealloc_count, u_int32_t *prealloc_block); From owner-p4-projects@FreeBSD.ORG Wed Jul 8 23:44:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 358A71065672; Wed, 8 Jul 2009 23:44:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9F17106566B for ; Wed, 8 Jul 2009 23:44:57 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD7A08FC1E for ; Wed, 8 Jul 2009 23:44:57 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n68Niv65021533 for ; Wed, 8 Jul 2009 23:44:57 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n68NivCj021531 for perforce@freebsd.org; Wed, 8 Jul 2009 23:44:57 GMT (envelope-from truncs@FreeBSD.org) Date: Wed, 8 Jul 2009 23:44:57 GMT Message-Id: <200907082344.n68NivCj021531@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165840 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2009 23:44:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=165840 Change 165840 by truncs@aditya on 2009/07/08 23:44:14 The old GPL'd block allocation functions taken from linux are not required. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_balloc.c#8 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 9 03:01:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF21A1065673; Thu, 9 Jul 2009 03:01:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C806106566B for ; Thu, 9 Jul 2009 03:01:32 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 78A7D8FC22 for ; Thu, 9 Jul 2009 03:01:32 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6931WRm050426 for ; Thu, 9 Jul 2009 03:01:32 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6931WfW050424 for perforce@freebsd.org; Thu, 9 Jul 2009 03:01:32 GMT (envelope-from dforsyth@FreeBSD.org) Date: Thu, 9 Jul 2009 03:01:32 GMT Message-Id: <200907090301.n6931WfW050424@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 03:01:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=165842 Change 165842 by dforsyth@squirrel on 2009/07/09 03:01:31 Continue reorganizing around new design. Plist parser is commented out because it hasn't been modified yet, and should probably be written with undocumented commands in mind. This code will compile with warnings. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#10 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#33 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#31 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#5 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#5 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.c#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.c#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.c#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_private.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#6 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#7 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.c#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#25 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#21 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_private.h#12 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#21 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#7 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#10 (text+ko) ==== @@ -1,8 +1,8 @@ LIB= pkg INCS= pkg.h WARNS= 6 -SRCS= pkgdb.c pkgdb_hierdb.c pkg.c pkg_util.c pkg_file.c \ - pkg_dep.c pkg_cfl.c pkg_plist.c pkg_sub.c +SRCS= pkg_db.c pkg_db_hierdb.c pkg.c pkg_util.c pkg_file.c \ + pkg_depend.c pkg_conflict.c pkg_plist.c pkg_sub.c NO_MAN= yes .include ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#33 (text+ko) ==== @@ -3,9 +3,9 @@ #include #include "pkg_util.h" -#include "pkg_dep.h" +#include "pkg_depend.h" #include "pkg_file.h" -#include "pkg_cfl.h" +#include "pkg_conflict.h" #include "pkg_plist.h" #include "pkg_db_hierdb.h" #include "pkg_db.h" @@ -23,7 +23,7 @@ char *mtree_dirs; char *required_by; - struct pkg_plist *plist; + struct pkg_plist *pl; short dirty; /* Add an owner field? */ @@ -44,10 +44,10 @@ * for now. Do it in here, but remember to get this out of here and * add it to the parse check in the getters. */ - p->plist = pkg_plist_new(); - if (p == NULL || p->plist == NULL) { + p->pl = pkg_plist_new(); + if (p == NULL || p->pl == NULL) { free(p); - free(p->plist); + free(p->pl); return (NULL); } @@ -58,7 +58,7 @@ p->display = NULL; p->mtree_dirs = NULL; p->required_by = NULL; - p->plist = NULL; + p->pl = NULL; p->dirty = 0; return (p); @@ -73,7 +73,7 @@ arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); pkg_reset(p); - free(p->plist); + free(p->pl); free(p); } @@ -102,14 +102,14 @@ p->dirty = 0; /* Until plist allocation is done properly, we can't free this in * here. */ - pkg_plist_reset(p->plist); + pkg_plist_reset(p->pl); } /* Retrieve pkg identity. In hierdb, this is the directory containing the * plist. This is a client set identifier, so conflict and dependendency * checks should not rely on it. */ -const char * +char * pkg_ident(struct pkg *p) { if (p == NULL) @@ -121,7 +121,7 @@ /* Retrieve pkg name. @name in plist. Conflict and dependency checks * should rely on this string rather than ident. */ -const char * +char * pkg_name(struct pkg *p) { if (p == NULL) @@ -129,29 +129,14 @@ if (pkg_parse_plist(p) != OK) return (NULL); - - return (pkg_plist_name(p->plist)); -} - -/* Retrieve pkg cwd. @cwd in plist. All file paths are relative to this - * directory. */ - -const char * -pkg_cwd(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - if (pkg_parse_plist(p) != OK) - return (NULL); - - return (pkg_plist_cwd(p->plist)); + return (strdup(pkg_plist_name(p->pl))); } /* Retrieve pkg origin. @origin in plist. The directory of the port that * this pkg was create from. */ -const char * +char * pkg_origin(struct pkg *p) { if (p == NULL) @@ -160,7 +145,7 @@ if (pkg_parse_plist(p) != OK) return (NULL); - return (pkg_plist_origin(p->plist)); + return (strdup(pkg_plist_origin(p->pl))); } /* Set the identity for this package (does not have to be the same as the @@ -174,7 +159,7 @@ arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); if (ident == NULL) arg_rage_quit(__func__, "Not a valid identifier.", - RAGE_AT_CLIENT); + RAGE_AT_CLIENT); free(p->ident); p->ident = strdup(ident); @@ -194,20 +179,7 @@ if (name == NULL) arg_rage_quit(__func__, "Not a valid name.", RAGE_AT_CLIENT); - return (pkg_plist_set_name(p->plist, name)); -} - -/* Set the cwd for this package. @cwd in plist. */ - -int -pkg_set_cwd(struct pkg *p, const char *cwd) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - if (cwd == NULL) - arg_rage_quit(__func__, "Not a valid cwd.", RAGE_AT_CLIENT); - - return (pkg_plist_set_cwd(p->plist, cwd)); + return (pkg_plist_set_name(p->pl, name)); } /* Set the origin for this package. @origin in plist. */ @@ -220,13 +192,13 @@ if (origin == NULL) arg_rage_quit(__func__, "Not a valid origin.", RAGE_AT_CLIENT); - return (pkg_plist_set_origin(p->plist, origin)); + return (pkg_plist_set_origin(p->pl, origin)); } /* Retreive the short comment for this package. (Maybe consider moving * this into the plist? */ -const char * +char * pkg_comment(struct pkg *p) { if (p == NULL) @@ -237,7 +209,7 @@ /* Retrieve the long description for this package. */ -const char * +char * pkg_description(struct pkg *p) { if (p == NULL) @@ -297,48 +269,48 @@ /* Retrieve a list of file in this package. Return a list of strings * terminated by NULL. */ -const char ** +char ** pkg_files(struct pkg *p) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_files(p->plist)); + return (pkg_plist_files(p->pl)); } /* Retrieve a list of dependencies for this package (by name). Return a * list of strings terminated by NULL. */ -const char ** +char ** pkg_depends(struct pkg *p) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_depends(p->plist)); + return (pkg_plist_depends(p->pl)); } /* Retrieve a list of conflicts for this package (by name). Return a list * of strings terminated by NULL. */ -const char ** +char ** pkg_conflicts(struct pkg *p) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_conflicts(p->plist)); + return (pkg_plist_conflicts(p->pl)); } /* Add a file to a package. This is fairly useless at this point * because... well, there the hell is the file coming from? */ int -pkg_add_file(struct pkg *p, const char *path, const char *md5, - const char *owner, const char *group, const char *mode) +pkg_add_file(struct pkg *p, const char *path, const char *cwd, + const char *group, const char *md5, const char *mode, + const char *owner) { int status; - struct pkg_file *pf; if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); @@ -354,21 +326,11 @@ if (mode == NULL) arg_rage_quit(__func__, "Not a valid mode.", RAGE_AT_CLIENT); - pf = pkg_file_new(); - if (pf == NULL) { - return (PKG_MEMORY_ERR | PKG_NOT_OK); - - status = PKG_OK; + /* TODO: Add some sanity checks in here. */ - status |= pkg_file_set_path(pf, path); - status |= pkg_file_set_md5(pf, md5); - status |= pkg_file_set_owner(pf, owner); - status |= pkg_file_set_group(pf, group); - status |= pkg_file_set_mode(pf, mode); + status = pkg_plist_add_file(p->pl, path, cwd, group, md5, mode, + owner); - if (status != PKG_OK) - pkg_file_delete(pf); - return (status); } @@ -382,12 +344,12 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - if (pkg_plist_parsed(p->plist)) { + if (pkg_plist_parsed(p->pl)) { /* For now, just jump ship if the package already has a plist. */ return (OK); } - pkg_plist_reset(p->plist); - status = pkg_plist_parse_contents_from_text(p->plist, p->contents); + pkg_plist_reset(p->pl); + status = pkg_plist_parse_contents_from_text(p->pl, p->contents); return (status); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#31 (text+ko) ==== @@ -60,48 +60,50 @@ /* pkg */ -struct pkg *pkg_new(); +struct pkg *pkg_new(void); void pkg_delete(struct pkg *p); -int pkg_reset(struct pkg *p); +void pkg_reset(struct pkg *p); -const char *pkg_ident(struct pkg *p); -const char *pkg_name(struct pkg *p); -const char *pkg_cwd(struct pkg *p); -const char *pkg_origin(struct pkg *p); +char *pkg_ident(struct pkg *p); +char *pkg_name(struct pkg *p); +char *pkg_cwd(struct pkg *p); +char *pkg_origin(struct pkg *p); int pkg_set_ident(struct pkg *p, const char *ident); int pkg_set_name(struct pkg *p, const char *name); int pkg_set_cwd(struct pkg *p, const char *cwd); int pkg_set_origin(struct pkg *p, const char *origin); -const char *pkg_comment(struct pkg *p); -const char *pkg_description(struct pkg *p); +char *pkg_comment(struct pkg *p); +char *pkg_description(struct pkg *p); int pkg_set_comment(struct pkg *p, const char *comment); int pkg_set_description(struct pkg *p, const char *description); /* Add mtree_dirs, display, etc, etc. */ -const char **pkg_files(struct pkg *p); -const char **pkg_depends(struct pkg *p); -const char **pkg_conflicts(struct pkg *p); +char **pkg_files(struct pkg *p); +char **pkg_depends(struct pkg *p); +char **pkg_conflicts(struct pkg *p); -int pkg_add_file(struct pkg *p, const char *path, const char *md5, - const char *owner, const char *group, const char *mode); +int pkg_add_file(struct pkg *p, const char *path, const char *cwd, + const char *group, const char *md5, const char *mode, + const char *owner); int pkg_remove_file(struct pkg *p, const char *path); -const char *pkg_file_md5(struct pkg *p, const char *path); -const char *pkg_file_owner(struct pkg *p, const char *path); -const char *pkg_file_group(struct pkg *p, const char *path); -const char *pkg_file_mode(struct pkg *p, const char *mode); +char *pkg_file_get_cwd(struct pkg *p, const char *path); +char *pkg_file_get_group(struct pkg *p, const char *path); +char *pkg_file_get_md5(struct pkg *p, const char *path); +char *pkg_file_get_mode(struct pkg *p, const char *path); +char *pkg_file_get_owner(struct pkg *p, const char *path); int pkg_add_depend(struct pkg *p, const char *name, const char *origin, int version); int pkg_remove_depend(struct pkg *p, const char *name); -const char *pkg_depend_origin(struct pkg *p, const char *name); -int pkg_depend_version(struct pkg *p, const char *name); +const char *pkg_depend_get_origin(struct pkg *p, const char *name); +int pkg_depend_get_version(struct pkg *p, const char *name); int pkg_add_conflict(struct pkg *p, const char *name, int version); int pkg_remove_conflict(struct pkg *p, const char *name); -const char *pkg_conflict_version(struct pkg *p, const char *name); +const char *pkg_conflict_get_version(struct pkg *p, const char *name); /* TODO: Should I add a function to add names of pkgs that depend on a * pkg? */ @@ -110,15 +112,14 @@ /* pkg_db */ -struct pkg_db *pkg_db_new(); +struct pkg_db *pkg_db_new(void); void pkg_db_delete(struct pkg_db *db); -int pkg_db_open(struct pkg_db *db, const char *path, int db_type); -/* With the new design, is "init" even needed? */ -int pkg_db_init(struct pkg_db *db); +int pkg_db_open(struct pkg_db *db, const char *db_root, int db_type); +int pkg_db_close(struct pkg_db *db); /* Return a list of packages by _ident_. */ -const char *pkg_db_all_pkgs(struct pkg_db *db); /* rename. this is lulz. */ +char **pkg_db_all_pkgs(struct pkg_db *db); /* rename. this is lulz. */ int pkg_db_select_pkg(struct pkg_db *db, struct pkg *p, const char *pkgident); int pkg_db_insert_pkg(struct pkg_db *db, struct pkg *p); @@ -127,12 +128,12 @@ /* pkg_repo */ -struct pkgrepo *pkgrepo_new(); -void pkgrepo_delete(struct pkgrepo *pr); +struct pkg_repo *pkg_repo_new(void); +void pkg_repo_delete(struct pkg_repo *pr); -/* pkgarchive */ +/* pkg_archive */ -struct pkgarchive *pkgarchive_new(); -void pkgarchive_delete(struct pkgarchive *pa; +struct pkg_archive *pkg_archive_new(void); +void pkg_archive_delete(struct pkg_archive *pa); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.c#2 (text+ko) ==== @@ -1,64 +1,54 @@ #include #include - -#include +#include #include "pkg_util.h" #include "pkg_sub.h" -#include "pkgdb_hierdb.h" -#include "pkgdb_private.h" -#include "pkgdb.h" +#include "pkg_db_hierdb.h" +#include "pkg_db_private.h" +#include "pkg_db.h" #include "pkg.h" /* TODO: Add path length checks. */ -struct pkgdb * -pkgdb_new(int type) +struct pkg_db * +pkg_db_new() { - struct pkgdb *db; + struct pkg_db *db; db = calloc(1, sizeof(*db)); if (db == NULL) return (db); - switch (type) { - case (HIER_DB): - db->pkgdb_db_open = pkgdb_hierdb_db_open; - db->pkgdb_db_init = pkgdb_hierdb_db_init; - db->pkgdb_db_read_pkg_sub = pkgdb_hierdb_read_pkg_sub; - /* db->pkgdb_db_close = pkgdb_hierdb_db_close; */ - break; - default: - /* Bad type. */ - free(db); - return (NULL); - } - db->open = 0; return (db); } int -pkgdb_db_open(struct pkgdb *db, const char *db_root) +pkg_db_open(struct pkg_db *db, const char *db_root, int db_type) { if (db->open) return (DB_OPEN); + + switch (db_type) { + case (HIER_DB): + db->pkg_db_db_open = pkg_db_hierdb_db_open; + db->pkg_db_db_init = pkg_db_hierdb_db_init; + db->pkg_db_db_read_pkg_sub = pkg_db_hierdb_read_pkg_sub; + /* db->pkg_db_db_close = pkg_db_hierdb_db_close; */ + break; + default: + /* Bad type. */ + free(db); + return (DB_NOT_OK); + } - return (db->pkgdb_db_open(db, db_root)); + return (db->pkg_db_db_open(db, db_root)); } int -pkgdb_db_init(struct pkgdb *db) -{ - if (!db->open) - return (DB_NOT_OPEN); - - return (db->pkgdb_db_init(db)); -} - -int -pkgdb_db_close(struct pkgdb *db) +pkg_db_close(struct pkg_db *db) { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); @@ -66,7 +56,7 @@ if (!db->open) return (DB_NOT_OPEN); - pkgdb_pkg_sub_list_free(db); /* Should set sub_count to 0. */ + pkg_db_pkg_sub_list_free(db); /* Should set sub_count to 0. */ free(db->db_root); db->open = 0; @@ -75,47 +65,33 @@ } void -pkgdb_db_delete(struct pkgdb *db) +pkg_db_delete(struct pkg_db *db) { if (db == NULL) - arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); + return; if (db->open) - pkgdb_db_close(db); + pkg_db_close(db); free(db); } -int -pkgdb_pkg_next(struct pkgdb *db, struct pkg *p) +char ** +pkg_db_all_pkgs(struct pkg_db *db) { - int status; - struct pkg_sub *ps; + int i; + char **list; - if (db == NULL) - arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); - - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - /* Whenever a package is pulled from the db, we parse it again. User - * can have multiple copies of a package which do not share a state. - * Is this a terrible idea? Stay tuned to find out. */ - - status = PKG_OK; - pkg_reset(p); - ps = pkgdb_pkg_sub_list_next(db); - if (ps == NULL) { - return (DB_NO_PKG); /* Already at the end. */ + list = malloc(sizeof(*list) * (db->ps_count)); + for (i = 0; i < db->ps_count; ++i) { + list[i] = strdup(pkg_sub_ident(db->ps_list + i)); } + list[i] = NULL; - status |= db->pkgdb_db_read_pkg_sub(db, ps); - status |= pkgdb_generate_pkg_from_pkg_sub(db, p, ps); - - return (status); + return (list); } int -pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident) +pkg_db_select_pkg(struct pkg_db *db, struct pkg *p, const char *ident) { /* TODO: Write this function. */ int status; @@ -129,9 +105,10 @@ arg_rage_quit(__func__, "Not a valid identifier.", RAGE_AT_CLIENT); + pkg_set_ident(p, ident); + status = PKG_OK; - pkg_reset(p); - ps = pkgdb_pkg_sub_get(db, ident); + ps = pkg_db_pkg_sub_get(db, ident); if (ps == NULL) return (DB_NO_PKG); status |= pkg_sub_read_files(ps); @@ -144,7 +121,7 @@ } struct pkg_sub * -pkgdb_pkg_sub_get(struct pkgdb *db, const char *ident) +pkg_db_pkg_sub_get(struct pkg_db *db, const char *ident) { struct pkg_sub *ps; @@ -154,7 +131,7 @@ arg_rage_quit(__func__, "Must pass identifier.", RAGE_AT_LIBPKG); ps = (struct pkg_sub *)bsearch(ident, db->ps_list, db->ps_count, - sizeof(*ps), pkg_sub_cmp); + sizeof(struct pkg_sub), pkg_sub_cmp); return (ps); } @@ -162,10 +139,10 @@ /* Populate a package based on a pkg subdirectory in the db. */ int -pkgdb_generate_pkg_from_pkg_sub(struct pkgdb *db, struct pkg *p, +pkg_db_generate_pkg_from_pkg_sub(struct pkg_db *db, struct pkg *p, struct pkg_sub *ps) { - /* Does this need to be a pkgdb_ function? */ + /* Does this need to be a pkg_db_ function? */ int status; if (db == NULL) @@ -182,54 +159,24 @@ status = PKG_OK; status |= pkg_set_ident(p, pkg_sub_ident(ps)); status |= pkg_set_comment(p, pkg_sub_comment(ps)); - status |= pkg_set_contents(p, pkg_sub_contents(ps)); + /* status |= pkg_set_contents(p, pkg_sub_contents(ps)); */ status |= pkg_set_description(p, pkg_sub_desc(ps)); - status |= pkg_set_display(p, pkg_sub_display(ps)); - status |= pkg_set_mtree_dirs(p, pkg_sub_mtree_dirs(ps)); - status |= pkg_set_required_by(p, pkg_sub_required_by(ps)); + /* status |= pkg_set_display(p, pkg_sub_display(ps)); */ + /* status |= pkg_set_mtree_dirs(p, pkg_sub_mtree_dirs(ps)); */ + /* status |= pkg_set_required_by(p, pkg_sub_required_by(ps)); */ return (status); } void -pkgdb_pkg_sub_list_free(struct pkgdb *db) +pkg_db_pkg_sub_list_free(struct pkg_db *db) { if (db) return; return; } -struct pkg_sub * -pkgdb_pkg_sub_list_next(struct pkgdb *db) -{ - struct pkg_sub *ps; - - if (db == NULL) - arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - - if (db->ps_curr == NULL) - ps = db->ps_curr = db->ps_list; - else if (db->ps_curr < db->ps_last) - ps = ++db->ps_curr; - else - ps = NULL; - - return (ps); -} - -struct pkg_sub * -pkgdb_pkg_sub_list_first(struct pkgdb *db) -{ - struct pkg_sub *ps; - - if (db == NULL) - arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - - ps = db->ps_list + 0; - return (ps); -} - void -pkgdb_pkg_sub_list_append(struct pkgdb *db, struct pkg_sub *ps) +pkg_db_pkg_sub_list_append(struct pkg_db *db, struct pkg_sub *ps) { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); @@ -241,7 +188,7 @@ } void -pkgdb_pkg_sub_list_init(struct pkgdb *db) +pkg_db_pkg_sub_list_init(struct pkg_db *db) { if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); @@ -250,8 +197,8 @@ return; } -char * -pkgdb_db_root(struct pkgdb *db) +const char * +pkg_db_db_root(struct pkg_db *db) { return (db->db_root); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.h#2 (text+ko) ==== @@ -5,23 +5,25 @@ #include "pkg.h" -void pkgdb_pkg_sub_list_free(struct pkgdb *db); +void pkg_db_pkg_sub_list_free(struct pkg_db *db); -void pkgdb_pkg_sub_list_init(struct pkgdb *db); +void pkg_db_pkg_sub_list_init(struct pkg_db *db); -void pkgdb_pkg_sub_list_reset_iter(struct pkgdb *db); +void pkg_db_pkg_sub_list_reset_iter(struct pkg_db *db); -struct pkg_sub *pkgdb_pkg_sub_list_next(struct pkgdb *db); +struct pkg_sub *pkg_db_pkg_sub_list_next(struct pkg_db *db); -struct pkg_sub *pkgdb_pkg_sub_list_first(struct pkgdb *db); +struct pkg_sub *pkg_db_pkg_sub_list_first(struct pkg_db *db); -void pkgdb_pkg_sub_list_append(struct pkgdb *db, struct pkg_sub *sub); +void pkg_db_pkg_sub_list_append(struct pkg_db *db, struct pkg_sub *sub); -struct pkg_sub *pkgdb_pkg_sub_get(struct pkgdb *db, const char *ident); +struct pkg_sub *pkg_db_pkg_sub_get(struct pkg_db *db, const char *ident); -int pkgdb_pkg_sub_list_create(struct pkgdb *db, int size); +int pkg_db_pkg_sub_list_create(struct pkg_db *db, int size); -int pkgdb_generate_pkg_from_pkg_sub(struct pkgdb *db, struct pkg *p, +int pkg_db_generate_pkg_from_pkg_sub(struct pkg_db *db, struct pkg *p, struct pkg_sub *ps); +const char *pkg_db_db_root(struct pkg_db *db); + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.c#2 (text+ko) ==== @@ -9,13 +9,13 @@ #include "pkg_util.h" #include "pkg_private.h" #include "pkg.h" -#include "pkgdb.h" -#include "pkgdb_private.h" -#include "pkgdb_hierdb.h" +#include "pkg_db.h" +#include "pkg_db_private.h" +#include "pkg_db_hierdb.h" #include "pkg_sub.h" int -pkgdb_hierdb_db_open(struct pkgdb *db, const char *db_root) +pkg_db_hierdb_db_open(struct pkg_db *db, const char *db_root) { int s; struct stat sb; @@ -45,11 +45,11 @@ db->ps_curr = NULL; db->ps_count = 0; - return (OK); + return (pkg_db_hierdb_db_init(db)); } int -pkgdb_hierdb_db_init(struct pkgdb *db) +pkg_db_hierdb_db_init(struct pkg_db *db) { int i; int c; @@ -68,12 +68,11 @@ c = scandir(db->db_root, &ents, subdir_sel, alphasort); if (c < 1) return (NOT_OK | MEMORY_ERR); - + ps_list = calloc(c, sizeof(struct pkg_sub)); - if (status != OK) + if (ps_list == NULL) return (NOT_OK | MEMORY_ERR); - for (i = 0, cnt = 0; i < c; ++i, ++cnt) { if (ents[i]->d_type != DT_DIR) { --cnt; @@ -81,7 +80,7 @@ } status |= pkg_sub_init(ps_list + cnt, db, ents[i]->d_name); if (PKG_SUB_MEM_ERR(status)) { - pkgdb_pkg_sub_list_free(db); + pkg_db_pkg_sub_list_free(db); for (; i < c; ++i) free(ents[i]); free(ents); @@ -102,7 +101,7 @@ } int -pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps) +pkg_db_hierdb_read_pkg_sub(struct pkg_db *db, struct pkg_sub *ps) { int status; #if 0 /* The client doesn't know about the functions in this file. */ @@ -131,7 +130,7 @@ } int -pkgdb_hierdb_db_sync(struct pkgdb *db) +pkg_db_hierdb_db_sync(struct pkg_db *db) { int status; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.h#2 (text+ko) ==== @@ -4,14 +4,14 @@ #include "pkg.h" #include "pkg_sub.h" -int pkgdb_hierdb_db_open(struct pkgdb *db, const char *db_root); +int pkg_db_hierdb_db_open(struct pkg_db *db, const char *db_root); -int pkgdb_hierdb_db_init(struct pkgdb *db); +int pkg_db_hierdb_db_init(struct pkg_db *db); -int pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps); +int pkg_db_hierdb_read_pkg_sub(struct pkg_db *db, struct pkg_sub *ps); -/* int pkgdb_hierdb_db_close(struct pkgdb *db); */ +/* int pkg_db_hierdb_db_close(struct pkg_db *db); */ -int pkgdb_hierdb_db_sync(struct pkgdb *db); +int pkg_db_hierdb_db_sync(struct pkg_db *db); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_private.h#2 (text+ko) ==== @@ -3,7 +3,7 @@ #include -struct pkgdb { +struct pkg_db { int open; int type; int dirty; @@ -17,11 +17,11 @@ struct pkg_sub *ps_list; struct pkg_sub *ps_last; - int (*pkgdb_db_open) (struct pkgdb *db, const char *db_root); - int (*pkgdb_db_init) (struct pkgdb *db); - int (*pkgdb_db_read_pkg_sub) (struct pkgdb *db, struct pkg_sub *ps); - int (*pkgdb_db_close) (struct pkgdb *db); - int (*pkgdb_db_sync) (struct pkgdb *db); + int (*pkg_db_db_open) (struct pkg_db *db, const char *db_root); + int (*pkg_db_db_init) (struct pkg_db *db); + int (*pkg_db_db_read_pkg_sub) (struct pkg_db *db, struct pkg_sub *ps); + int (*pkg_db_db_close) (struct pkg_db *db); + int (*pkg_db_db_sync) (struct pkg_db *db); }; #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#8 (text+ko) ==== @@ -2,29 +2,78 @@ #include #include +#include "pkg_util.h" #include "pkg_file.h" #include "pkg.h" -/* TODO: Evolve these functions to check for the actual existance of - * users, groups, mode validity. Add md5 comparison functions, etc... */ - struct pkg_file * pkg_file_new() { struct pkg_file *pf; pf = calloc(1, sizeof(*pf)); + if (pf == NULL) + return (NULL); + + pf->cwd = NULL; + pf->group = NULL; + pf->md5 = NULL; + pf->mode = NULL; + pf->owner = NULL; + pf->path = NULL; return (pf); } +void +pkg_file_reset(struct pkg_file *pf) +{ + if (pf == NULL) + arg_rage_quit(__func__, "Not a valid package file.", + RAGE_AT_LIBPKG); + + free(pf->cwd); + free(pf->group); + free(pf->md5); + free(pf->mode); + free(pf->owner); + free(pf->path); + pf->cwd = NULL; + pf->group = NULL; + pf->md5 = NULL; + pf->mode = NULL; + pf->owner = NULL; + pf->path = NULL; +} + +void +pkg_file_delete(struct pkg_file *pf) +{ + if (pf == NULL) + arg_rage_quit(__func__, "Not a valid package file.", + RAGE_AT_LIBPKG); + + pkg_file_reset(pf); + free(pf); +} + const char * -pkg_file_path(struct pkg_file *pf) +pkg_file_cwd(struct pkg_file *pf) +{ + if (pf == NULL) + return (NULL); + + return (pf->cwd); + +} + +const char * +pkg_file_group(struct pkg_file *pf) { if (pf == NULL) return (NULL); - return (pf->path); + return (pf->group); } const char * @@ -45,9 +94,6 @@ return (pf->mode); } -/* If NULL is returned from pkg_file_owner or pkg_file_group, assume the - * default owner and group. */ - const char * pkg_file_owner(struct pkg_file *pf) { @@ -57,14 +103,7 @@ return (pf->owner); } -const char * -pkg_file_group(struct pkg_file *pf) -{ - if (pf == NULL) - return (NULL); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 9 03:51:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FC2810656BE; Thu, 9 Jul 2009 03:51:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E92E10656BB for ; Thu, 9 Jul 2009 03:51:32 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 129CA8FC1D for ; Thu, 9 Jul 2009 03:51:32 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n693pVmf055430 for ; Thu, 9 Jul 2009 03:51:31 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n693pVLQ055428 for perforce@freebsd.org; Thu, 9 Jul 2009 03:51:31 GMT (envelope-from dforsyth@FreeBSD.org) Date: Thu, 9 Jul 2009 03:51:31 GMT Message-Id: <200907090351.n693pVLQ055428@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165843 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 03:51:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=165843 Change 165843 by dforsyth@squirrel on 2009/07/09 03:51:28 fix some headers Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.c#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.h#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.c#2 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.h#2 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.c#2 (text+ko) ==== @@ -2,26 +2,30 @@ #include "stdlib.h" #include "string.h" -#include - #include "pkg_util.h" -#include "pkg_cfl.h" +#include "pkg_conflict.h" #include "pkg.h" /* Conflicts. */ -struct pkg_cfl * -pkg_cfl_new() +struct pkg_conflict * +pkg_conflict_new() { - struct pkg_cfl *pc; + struct pkg_conflict *pc; pc = calloc(1, sizeof(*pc)); return (pc); } +void +pkg_conflict_delete(struct pkg_conflict *pc) +{ + return; +} + int -pkg_cfl_set_name(struct pkg_cfl *pc, const char *name) +pkg_conflict_set_name(struct pkg_conflict *pc, const char *name) { if (pc == NULL) arg_rage_quit(__func__, "Not a valid conflict.", RAGE_AT_LIBPKG); @@ -33,7 +37,7 @@ } const char * -pkg_cfl_name(struct pkg_cfl *pc) +pkg_conflict_name(struct pkg_conflict *pc) { if (pc == NULL) arg_rage_quit(__func__, "Not a valid conflict.", RAGE_AT_LIBPKG); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.h#2 (text+ko) ==== @@ -1,17 +1,17 @@ -#ifndef __PKG_CFL_H__ -#define __PKG_CFL_H__ +#ifndef __PKG_CONFLICT_H__ +#define __PKG_CONFLICT_H__ -struct pkg_cfl { +struct pkg_conflict { char *name; int version; }; -#if 0 -struct pkg_cfl *pkg_cfl_new(void); +struct pkg_conflict *pkg_conflict_new(void); + +void pkg_conflict_delete(struct pkg_conflict *pc); -int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); +int pkg_conflict_set_name(struct pkg_conflict *pc, const char *name); -const char *pkg_cfl_name(struct pkg_cfl *pc); -#endif +const char *pkg_conflict_name(struct pkg_conflict *pc); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.c#2 (text+ko) ==== @@ -2,21 +2,27 @@ #include #include -#include "pkg_dep.h" +#include "pkg_depend.h" #include "pkg.h" -struct pkg_dep * -pkg_dep_new() +struct pkg_depend * +pkg_depend_new() { - struct pkg_dep *pd; + struct pkg_depend *pd; pd = calloc(1, sizeof(*pd)); return (pd); } -struct pkg_dep * -pkg_dep_set_name(struct pkg_dep *pd, const char *name) +void +pkg_depend_delete(struct pkg_depend *pd) +{ + return; +} + +struct pkg_depend * +pkg_depend_set_name(struct pkg_depend *pd, const char *name) { if (pd == NULL) return (NULL); @@ -27,8 +33,8 @@ return (pd); } -struct pkg_dep * -pkg_dep_set_origin(struct pkg_dep *pd, const char *origin) +struct pkg_depend * +pkg_depend_set_origin(struct pkg_depend *pd, const char *origin) { if (pd == NULL) return (NULL); @@ -40,7 +46,7 @@ } const char * -pkg_dep_name(struct pkg_dep *pd) +pkg_depend_name(struct pkg_depend *pd) { if (pd == NULL) return (NULL); @@ -49,7 +55,7 @@ } const char * -pkg_dep_origin(struct pkg_dep *pd) +pkg_depend_origin(struct pkg_depend *pd) { if (pd == NULL) return (NULL); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.h#2 (text+ko) ==== @@ -1,27 +1,25 @@ -#ifndef __PKG_DEP_H__ -#define __PKG_DEP_H__ +#ifndef __PKG_DEPEND_H__ +#define __PKG_DEPEND_H__ /* TODO: Clean up pkg_plist.c so I can get this into pkg_dep.c. */ -#include - -struct pkg_dep { +struct pkg_depend { char *name; char *origin; int version; }; -#if 0 -struct pkg_dep *pkg_dep_new(void); +struct pkg_depend *pkg_depend_new(void); + +void pkg_depend_delete(struct pkg_depend *pd); -struct pkg_dep *pkg_dep_set_name(struct pkg_dep *pd, const char *name); +struct pkg_depend *pkg_depend_set_name(struct pkg_depend *pd, const char *name); -struct pkg_dep *pkg_dep_set_origin(struct pkg_dep *pd, const char *origin); +struct pkg_depend *pkg_depend_set_origin(struct pkg_depend *pd, const char *origin); -const char *pkg_dep_name(struct pkg_dep *pd); +const char *pkg_depend_name(struct pkg_depend *pd); -const char *pkg_dep_origin(struct pkg_dep *pd); -#endif +const char *pkg_depend_origin(struct pkg_depend *pd); #endif From owner-p4-projects@FreeBSD.ORG Thu Jul 9 08:16:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 51EA41065670; Thu, 9 Jul 2009 08:16:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED867106564A for ; Thu, 9 Jul 2009 08:16:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D90F28FC2B for ; Thu, 9 Jul 2009 08:16:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n698Gkph089480 for ; Thu, 9 Jul 2009 08:16:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n698GkhQ089478 for perforce@freebsd.org; Thu, 9 Jul 2009 08:16:46 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 9 Jul 2009 08:16:46 GMT Message-Id: <200907090816.n698GkhQ089478@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165853 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 08:16:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165853 Change 165853 by hselasky@hselasky_laptop001 on 2009/07/09 08:16:15 LibUSB: - make GET_CONTEXT macro more obvious - fix compile warnings and a bug in libusb_get_config_descriptor() Affected files ... .. //depot/projects/usb/src/lib/libusb/libusb.h#6 edit .. //depot/projects/usb/src/lib/libusb/libusb10.c#6 edit .. //depot/projects/usb/src/lib/libusb/libusb10.h#3 edit .. //depot/projects/usb/src/lib/libusb/libusb10_desc.c#5 edit .. //depot/projects/usb/src/lib/libusb/libusb10_io.c#4 edit Differences ... ==== //depot/projects/usb/src/lib/libusb/libusb.h#6 (text+ko) ==== @@ -392,6 +392,7 @@ int libusb_set_configuration(libusb_device_handle * devh, int configuration); int libusb_claim_interface(libusb_device_handle * devh, int interface_number); int libusb_release_interface(libusb_device_handle * devh, int interface_number); +int libusb_reset_device(libusb_device_handle * dev); int libusb_kernel_driver_active(libusb_device_handle * devh, int interface); int libusb_detach_kernel_driver(libusb_device_handle * devh, int interface); int libusb_attach_kernel_driver(libusb_device_handle * devh, int interface); ==== //depot/projects/usb/src/lib/libusb/libusb10.c#6 (text+ko) ==== @@ -47,7 +47,7 @@ void libusb_set_debug(libusb_context * ctx, int level) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); if (ctx) ctx->debug = level; } @@ -120,7 +120,7 @@ void libusb_exit(libusb_context * ctx) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); usb_remove_pollfd(ctx, ctx->ctrl_pipe[0]); @@ -148,7 +148,7 @@ struct libusb20_backend *usb_backend; int i; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); usb_backend = libusb20_be_alloc_default(); @@ -220,8 +220,7 @@ int i; libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); if (list == NULL) @@ -240,8 +239,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); if (dev == NULL) @@ -255,8 +253,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); if (dev == NULL) @@ -275,8 +272,7 @@ libusb_context *ctx; int i, j, k, ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); if (dev == NULL) @@ -311,8 +307,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); if (dev == NULL) @@ -331,8 +326,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); if (dev == NULL) @@ -362,7 +356,7 @@ unsigned char dummy; int err; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); dummy = 1; @@ -432,7 +426,7 @@ struct LIBUSB20_DEVICE_DESC_DECODED *pdesc; int i, j; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); devh = NULL; @@ -471,7 +465,7 @@ ctx = devh->dev->ctx; pdev = devh->os_priv; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -538,8 +532,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); if (devh == NULL) @@ -554,8 +547,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); if (devh == NULL || config == NULL) @@ -574,8 +566,7 @@ struct libusb20_device *pdev; libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); if (devh == NULL) @@ -594,8 +585,7 @@ libusb_context *ctx; int ret = 0; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); if (dev == NULL) @@ -622,8 +612,7 @@ libusb_context *ctx; int ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); ret = 0; @@ -650,10 +639,8 @@ int interface_number, int alternate_setting) { libusb_context *ctx; - int ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); if (dev == NULL) @@ -685,8 +672,7 @@ libusb_context *ctx; int ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); pdev = devh->os_priv; @@ -716,8 +702,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); if (dev == NULL) @@ -733,8 +718,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); if (devh == NULL) @@ -750,8 +734,7 @@ struct libusb20_device *pdev; libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); if (devh == NULL) @@ -774,8 +757,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); if (devh == NULL) @@ -795,8 +777,7 @@ libusb_context *ctx; int len; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); len = sizeof(struct libusb_transfer) + @@ -823,8 +804,7 @@ struct usb_transfer *bxfer; libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); if (xfer == NULL) @@ -933,7 +913,7 @@ sizeof(struct usb_transfer)); pdev = usb_xfer->dev_handle->dev->os_priv; ctx = usb_xfer->dev_handle->dev->ctx; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); switch (status) { case LIBUSB20_TRANSFER_COMPLETED: @@ -1042,10 +1022,8 @@ libusb_context *ctx; int maxframe; int buffsize; - int num_frame; int ep_idx; int ret; - int i; if (xfer == NULL) return (LIBUSB_ERROR_NO_MEM); @@ -1167,8 +1145,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer enter"); if (xfer == NULL) ==== //depot/projects/usb/src/lib/libusb/libusb10.h#3 (text+ko) ==== @@ -26,22 +26,10 @@ #ifndef __LIBUSB10_H__ #define __LIBUSB10_H__ -/* - * The two following macros were taken from the original LibUSB v1.0 - * for sake of compatibility: - */ - -static int get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out); -static int handle_timeouts(struct libusb_context *ctx); -static int handle_events(struct libusb_context *ctx, struct timeval *tv); extern struct libusb_context *usbi_default_context; extern pthread_mutex_t libusb20_lock; -/* if ctx is NULL use default context*/ - -#define GET_CONTEXT(ctx) \ - if (ctx == NULL) ctx = usbi_default_context; - +#define GET_CONTEXT(ctx) (((ctx) == NULL) ? usbi_default_context : (ctx)) #define MAX(a,b) (((a)>(b))?(a):(b)) #define USB_TIMED_OUT (1<<0) #define UNEXPORTED __attribute__((__visibility__("hidden"))) ==== //depot/projects/usb/src/lib/libusb/libusb10_desc.c#5 (text+ko) ==== @@ -44,8 +44,7 @@ struct libusb20_device *pdev; libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor enter"); if ((dev == NULL) || (desc == NULL)) @@ -81,8 +80,7 @@ libusb_context *ctx; uint8_t idx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor enter"); pdev = dev->os_priv; @@ -110,8 +108,7 @@ uint8_t nif, nend, nalt, i, j, k; uint32_t if_idx, endp_idx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor enter"); if (dev == NULL || config == NULL) @@ -147,7 +144,7 @@ (*config)->interface = (libusb_interface *)(*config + sizeof(libusb_config_descriptor)); - for (i = if_idx = endp_idx = 0 ; i < nif ; if_idx, i++) { + for (i = if_idx = endp_idx = 0 ; i < nif ; if_idx++, i++) { (*config)->interface[i].altsetting = (libusb_interface_descriptor *) (*config + sizeof(libusb_config_descriptor) + (nif * sizeof(libusb_interface)) + @@ -238,8 +235,7 @@ libusb_context *ctx; int i; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value enter"); if (dev == NULL || config == NULL) @@ -267,8 +263,7 @@ { libusb_context *ctx; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor enter"); free(config); @@ -281,10 +276,8 @@ { struct libusb20_device *pdev; libusb_context *ctx; - int ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii enter"); if (dev == NULL || data == NULL) ==== //depot/projects/usb/src/lib/libusb/libusb10_io.c#4 (text+ko) ==== @@ -38,6 +38,10 @@ #include "libusb.h" #include "libusb10.h" +static int get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out); +static int handle_timeouts(struct libusb_context *ctx); +static int handle_events(struct libusb_context *ctx, struct timeval *tv); + UNEXPORTED int usb_add_pollfd(libusb_context *ctx, int fd, short events) { @@ -161,7 +165,7 @@ return ; } -UNEXPORTED int +static int get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out) { struct timeval timeout; @@ -183,7 +187,7 @@ return (0); } -UNEXPORTED int +static int handle_timeouts(struct libusb_context *ctx) { struct timespec sys_ts; @@ -193,7 +197,7 @@ struct libusb_transfer *uxfer; int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); ret = 0; pthread_mutex_lock(&ctx->flying_transfers_lock); @@ -226,25 +230,21 @@ return (ret); } -UNEXPORTED int +static int handle_events(struct libusb_context *ctx, struct timeval *tv) { struct libusb_pollfd *tmppollfd; struct libusb_device_handle *devh; struct usb_pollfd *ipollfd; - struct usb_transfer *cur; - struct usb_transfer *cancel; - struct libusb_transfer *xfer; struct pollfd *fds; struct pollfd *tfds; nfds_t nfds; int tmpfd; - int tmp; int ret; int timeout; int i; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events enter"); nfds = 0; @@ -339,7 +339,7 @@ { int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -363,7 +363,7 @@ void libusb_lock_events(libusb_context * ctx) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events enter"); pthread_mutex_lock(&ctx->events_lock); @@ -375,7 +375,7 @@ void libusb_unlock_events(libusb_context * ctx) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events enter"); ctx->event_handler_active = 0; @@ -393,7 +393,7 @@ { int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -412,7 +412,7 @@ { int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -429,7 +429,7 @@ void libusb_lock_event_waiters(libusb_context * ctx) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters enter"); pthread_mutex_lock(&ctx->event_waiters_lock); @@ -440,7 +440,7 @@ void libusb_unlock_event_waiters(libusb_context * ctx) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters enter"); pthread_mutex_unlock(&ctx->event_waiters_lock); @@ -454,7 +454,7 @@ int ret; struct timespec ts; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event enter"); if (tv == NULL) { @@ -487,11 +487,10 @@ int libusb_handle_events_timeout(libusb_context * ctx, struct timeval *tv) { - struct timeval timeout; struct timeval poll_timeout; int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout enter"); ret = get_next_timeout(ctx, tv, &poll_timeout); @@ -529,7 +528,7 @@ struct timeval tv; int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events enter"); tv.tv_sec = 2; @@ -546,7 +545,7 @@ int ret; struct timeval poll_tv; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_locked enter"); ret = get_next_timeout(ctx, tv, &poll_tv); @@ -570,7 +569,7 @@ int found; int ret; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_next_timeout enter"); found = 0; @@ -610,7 +609,7 @@ libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, void *user_data) { - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_pollfd_notifiers enter"); ctx->fd_added_cb = added_cb; @@ -627,7 +626,7 @@ libusb_pollfd **ret; int i; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_pollfds enter"); i = 0; @@ -695,8 +694,7 @@ libusb_context *ctx; int *pdone; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "sync I/O done"); @@ -729,7 +727,7 @@ return (LIBUSB_ERROR_NO_MEM); ctx = devh->dev->ctx; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(ctx); xfer->dev_handle = devh; xfer->endpoint = endpoint; @@ -797,8 +795,7 @@ libusb_context *ctx; int ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_bulk_transfer enter"); ret = do_transfer(devh, endpoint, data, length, transferred, @@ -819,8 +816,7 @@ libusb_context *ctx; int ret; - ctx = NULL; - GET_CONTEXT(ctx); + ctx = GET_CONTEXT(NULL); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_interrupt_transfer enter"); ret = do_transfer(devh, endpoint, data, length, transferred, From owner-p4-projects@FreeBSD.ORG Thu Jul 9 17:05:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 866471065674; Thu, 9 Jul 2009 17:05:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44F5C1065691 for ; Thu, 9 Jul 2009 17:05:25 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 196918FC28 for ; Thu, 9 Jul 2009 17:05:25 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n69H5OfF067508 for ; Thu, 9 Jul 2009 17:05:24 GMT (envelope-from attilio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n69H5O9C067506 for perforce@freebsd.org; Thu, 9 Jul 2009 17:05:24 GMT (envelope-from attilio@FreeBSD.org) Date: Thu, 9 Jul 2009 17:05:24 GMT Message-Id: <200907091705.n69H5O9C067506@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to attilio@FreeBSD.org using -f From: Attilio Rao To: Perforce Change Reviews Cc: Subject: PERFORCE change 165871 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 17:05:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165871 Change 165871 by attilio@attilio_valgrind on 2009/07/09 17:05:05 Add a new file for handling an hypotetical freebsd specific coredump. Currently, in particular due to the nature of libVEX on 64 bits, it is pretty similar to Linux, but it can be changed over the time. Sponsored by: Sandvine Incorporated Affected files ... .. //depot/projects/valgrind/coregrind/m_coredump/coredump-amd64-freebsd.c#4 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 9 17:10:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F3AA10656D4; Thu, 9 Jul 2009 17:10:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3049106568E for ; Thu, 9 Jul 2009 17:10:30 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C0ABE8FC19 for ; Thu, 9 Jul 2009 17:10:30 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n69HAUFW067851 for ; Thu, 9 Jul 2009 17:10:30 GMT (envelope-from attilio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n69HAU0B067849 for perforce@freebsd.org; Thu, 9 Jul 2009 17:10:30 GMT (envelope-from attilio@FreeBSD.org) Date: Thu, 9 Jul 2009 17:10:30 GMT Message-Id: <200907091710.n69HAU0B067849@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to attilio@FreeBSD.org using -f From: Attilio Rao To: Perforce Change Reviews Cc: Subject: PERFORCE change 165872 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 17:10:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=165872 Change 165872 by attilio@attilio_valgrind on 2009/07/09 17:10:09 - Link the new introduced coredump-amd64-freebsd.c to the build - Fix coredump creation on amd64. Currently structures used for .note feeding are not correct and lead to inconsistent .note state (they work on Linux, probabilly). Fix that by including a correct version of such structures. Note that the header structure need some more work (some things can be brought, for example, in the MI part and the signals part needs still to be reviewed). Affected files ... .. //depot/projects/valgrind/coregrind/Makefile.am#8 edit .. //depot/projects/valgrind/include/vki/vki-amd64-freebsd.h#7 edit Differences ... ==== //depot/projects/valgrind/coregrind/Makefile.am#8 (text+ko) ==== @@ -268,7 +268,7 @@ libcoregrind_amd64_freebsd_a_SOURCES = \ $(COREGRIND_SOURCES_COMMON) \ $(COREGRIND_FREEBSD_SOURCE) \ - m_coredump/coredump-amd64-linux.c \ + m_coredump/coredump-amd64-freebsd.c \ m_dispatch/dispatch-amd64-linux.S \ m_sigframe/sigframe-amd64-freebsd.c \ m_syswrap/syscall-amd64-freebsd.S \ ==== //depot/projects/valgrind/include/vki/vki-amd64-freebsd.h#7 (text+ko) ==== @@ -1,8 +1,3 @@ - -/*--------------------------------------------------------------------*/ -/*--- x86/Linux-specific kernel interface. vki-x86-linux.h ---*/ -/*--------------------------------------------------------------------*/ - /* This file is part of Valgrind, a dynamic binary instrumentation framework. @@ -28,27 +23,17 @@ The GNU General Public License is contained in the file COPYING. */ -#ifndef __VKI_AMD64_LINUX_H -#define __VKI_AMD64_LINUX_H +#ifndef __VKI_AMD64_FREEBSD_H +#define __VKI_AMD64_FREEBSD_H -// amd64 is little-endian. #define VKI_LITTLE_ENDIAN 1 - -//---------------------------------------------------------------------- -// From somewhere -//---------------------------------------------------------------------- - -/* PAGE_SHIFT determines the page size */ +/* PAGE_SHIFT determines the page size. */ #define VKI_PAGE_SHIFT 12 #define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT) #define VKI_MAX_PAGE_SHIFT VKI_PAGE_SHIFT #define VKI_MAX_PAGE_SIZE VKI_PAGE_SIZE -//---------------------------------------------------------------------- -// From sys/signal.h -//---------------------------------------------------------------------- - #define VKI_MINSIGSTKSZ 2048 #define VKI_SIG_BLOCK 1 /* for blocking signals */ @@ -134,10 +119,6 @@ int ss_flags; } vki_stack_t; -//---------------------------------------------------------------------- -// From linux-2.6.8.1/include/asm-i386/sigcontext.h -//---------------------------------------------------------------------- - struct _vki_fpstate { unsigned short cwd; unsigned short swd; @@ -186,86 +167,79 @@ long spare2[8]; }; -//---------------------------------------------------------------------- -// From linux-2.6.8.1/include/asm-i386/user.h -//---------------------------------------------------------------------- - -struct vki_user_i387_struct { - unsigned short cwd; - unsigned short swd; - unsigned short twd; - unsigned short fop; - unsigned long fip; - unsigned long fdp; - unsigned int mxcsr; - unsigned int mxcsr_mask; - unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ - unsigned int xmm_space[64]; /* 16*16 bytes for each XMM-reg = 128 bytes */ - unsigned int padding[24]; -}; - - -/* AAA check that this linux layout is appropriate */ +/* + * Retrieved from src/sys/amd64/include/reg.h + * Note that on 8.x trapno and err are no-more meaningful, but we + * don't set them anyway. + */ struct vki_user_regs_struct { - unsigned long r15,r14,r13,r12,rbp,rbx,r11,r10; - unsigned long r9,r8,rax,rcx,rdx,rsi,rdi,orig_rax; - unsigned long rip,cs,eflags; - unsigned long rsp,ss; - unsigned long fs_base, gs_base; - unsigned long ds,es,fs,gs; + vki_register_t r15; + vki_register_t r14; + vki_register_t r13; + vki_register_t r12; + vki_register_t r11; + vki_register_t r10; + vki_register_t r9; + vki_register_t r8; + vki_register_t rdi; + vki_register_t rsi; + vki_register_t rbp; + vki_register_t rbx; + vki_register_t rdx; + vki_register_t rcx; + vki_register_t rax; + vki_register_t trapno; + vki_register_t err; + vki_register_t rip; + vki_register_t cs; + vki_register_t rflags; + vki_register_t rsp; + vki_register_t ss; }; -//---------------------------------------------------------------------- -// From linux-2.6.8.1/include/asm-i386/elf.h -//---------------------------------------------------------------------- +typedef vki_register_t vki_elf_greg_t; +typedef struct _vki_fpstate vki_elf_fpregset_t; -typedef unsigned long vki_elf_greg_t; +#define VKI_AT_SYSINFO 32 +#define VKI_ELF_NGREG \ + (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t)) -#define VKI_ELF_NGREG (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t)) typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG]; -typedef struct vki_user_i387_struct vki_elf_fpregset_t; - -#define VKI_AT_SYSINFO 32 - -//---------------------------------------------------------------------- -// From linux-2.6.8.1/include/asm-i386/ucontext.h -//---------------------------------------------------------------------- - -/* AAA fix for 64 bit */ struct vki_mcontext { - long onstack; /* XXX - sigcontext compat. */ - long rdi; /* machine state (struct trapframe) */ - long rsi; - long rdx; - long rcx; - long r8; - long r9; - long rax; - long rbx; - long rbp; - long r10; - long r11; - long r12; - long r13; - long r14; - long r15; - long trapno; - long addr; - long flags; - long err; - long rip; - long cs; - long rflags; - long rsp; - long ss; + vki_register_t onstack; /* XXX - sigcontext compat. */ + vki_register_t rdi; /* machine state (struct trapframe) */ + vki_register_t rsi; + vki_register_t rdx; + vki_register_t rcx; + vki_register_t r8; + vki_register_t r9; + vki_register_t rax; + vki_register_t rbx; + vki_register_t rbp; + vki_register_t r10; + vki_register_t r11; + vki_register_t r12; + vki_register_t r13; + vki_register_t r14; + vki_register_t r15; + vki_register_t trapno; + vki_register_t addr; + vki_register_t flags; + vki_register_t err; + vki_register_t rip; + vki_register_t cs; + vki_register_t rflags; + vki_register_t rsp; + vki_register_t ss; - long len; - long fpformat; - long ownedfp; - struct _vki_fpstate fpstate; - long spare2[8]; + long len; + long fpformat; + long ownedfp; + struct _vki_fpstate fpstate; + long spare2[8]; }; + #define VKI_FPFMT_NODEV 0x10000 #define VKI_FPFMT_XMM 0x10002 @@ -283,12 +257,4 @@ unsigned int __spare__[4]; }; -//---------------------------------------------------------------------- -// And that's it! -//---------------------------------------------------------------------- - -#endif // __VKI_AMD64_LINUX_H - -/*--------------------------------------------------------------------*/ -/*--- end ---*/ -/*--------------------------------------------------------------------*/ +#endif /* __VKI_AMD64_FREEBSD_H */ From owner-p4-projects@FreeBSD.ORG Thu Jul 9 19:49:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BE84106566C; Thu, 9 Jul 2009 19:49:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C1031065672 for ; Thu, 9 Jul 2009 19:49:25 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E2F6D8FC1A for ; Thu, 9 Jul 2009 19:49:24 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n69JnOPB082447 for ; Thu, 9 Jul 2009 19:49:24 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n69JnOrQ082445 for perforce@freebsd.org; Thu, 9 Jul 2009 19:49:24 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 9 Jul 2009 19:49:24 GMT Message-Id: <200907091949.n69JnOrQ082445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165880 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 19:49:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165880 Change 165880 by pgj@beehive on 2009/07/09 19:49:02 MFen (www): 1.11 -> 1.12 hu/share/sgml/header.l10n.ent 1.262 -> 1.263 hu/share/sgml/news.xml Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#13 edit .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#38 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#13 (text+ko) ==== @@ -4,7 +4,7 @@ @@ -32,18 +32,91 @@ Oldalak közti navigáció - '> %SOURCE% share/sgml/news.xml - %SRCID% 1.262 + %SRCID% 1.263 --> @@ -19,6 +19,35 @@ 2009 + 7 + + + 7 + + + Megjelent a &os; 8.0-BETA1! + +

    Az elsõ publikus béta változat + megjelentetésével elérkeztünk a + &os;-8.0 kiadásának végsõ + állomásához. A &os; 8.0-BETA1 ISO + lemezképei az összes Tier 1 + architektúrára a legtöbb + &os; tükrözésrõl már + elérhetõek. Bátran ajánljuk + mindenkinek a &os; 8.0-BETA1 + kipróbálását, + véleményezését, azonban a + telepítés elõtt ne felejtsük el + tüzetesen átolvasni a + hivatalos bejelentést.

    +
    +
    +
    + + 6 From owner-p4-projects@FreeBSD.ORG Thu Jul 9 22:37:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78E101065675; Thu, 9 Jul 2009 22:37:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 368C0106566C for ; Thu, 9 Jul 2009 22:37:30 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0A3AF8FC28 for ; Thu, 9 Jul 2009 22:37:30 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n69MbSsc007801 for ; Thu, 9 Jul 2009 22:37:28 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n69MbSkR007799 for perforce@freebsd.org; Thu, 9 Jul 2009 22:37:28 GMT (envelope-from truncs@FreeBSD.org) Date: Thu, 9 Jul 2009 22:37:28 GMT Message-Id: <200907092237.n69MbSkR007799@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165886 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 22:37:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=165886 Change 165886 by truncs@aditya on 2009/07/09 22:36:40 statfs implementation taken from NetBSD with some changes. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#12 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#12 (text+ko) ==== @@ -781,50 +781,53 @@ error = vflush(mp, 0, flags, td); return (error); } - /* * Get file system statistics. - * taken from ext2/super.c ext2_statfs. */ -static int +int ext2_statfs(struct mount *mp, struct statfs *sbp) { struct ext2mount *ump; struct m_ext2fs *fs; - struct ext2fs *es; - unsigned long overhead; - int i, nsb; + uint32_t overhead, overhead_per_group, ngdb; + int i, ngroups; ump = VFSTOEXT2(mp); fs = ump->um_e2fs; - es = fs->e2fs; - - if (es->e2fs_magic != E2FS_MAGIC) - panic("ext2_statfs - magic number spoiled"); + if (fs->e2fs->e2fs_magic != E2FS_MAGIC) + panic("ext2fs_statvfs"); /* * Compute the overhead (FS structures) */ - if (es->e2fs_features_rocompat & EXT2F_ROCOMPAT_SPARSESUPER) { - nsb = 0; - for (i = 0 ; i < fs->e2fs_gcount; i++) - if (ext2_group_sparse(i)) - nsb++; - } else - nsb = fs->e2fs_gcount; - overhead = es->e2fs_first_dblock + - /* Superblocks and block group descriptors: */ - nsb * (1 + fs->e2fs_gdbcount) + - /* Inode bitmap, block bitmap, and inode table: */ - fs->e2fs_gcount * (1 + 1 + fs->e2fs_itpg); + overhead_per_group = + 1 /* block bitmap */ + + 1 /* inode bitmap */ + + fs->e2fs_itpg; + overhead = fs->e2fs->e2fs_first_dblock + + fs->e2fs_gcount * overhead_per_group; + if (fs->e2fs->e2fs_rev > E2FS_REV0 && + fs->e2fs->e2fs_features_rocompat & EXT2F_ROCOMPAT_SPARSESUPER) { + for (i = 0, ngroups = 0; i < fs->e2fs_gcount; i++) { + if (cg_has_sb(i)) + ngroups++; + } + } else { + ngroups = fs->e2fs_gcount; + } + ngdb = fs->e2fs_gdbcount; + if (fs->e2fs->e2fs_rev > E2FS_REV0 && + fs->e2fs->e2fs_features_compat & EXT2F_COMPAT_RESIZE) + ngdb += fs->e2fs->e2fs_reserved_ngdb; + overhead += ngroups * (1 /* superblock */ + ngdb); sbp->f_bsize = EXT2_FRAG_SIZE(fs); sbp->f_iosize = EXT2_BLOCK_SIZE(fs); - sbp->f_blocks = es->e2fs_bcount - overhead; - sbp->f_bfree = es->e2fs_fbcount; - sbp->f_bavail = sbp->f_bfree - es->e2fs_rbcount; - sbp->f_files = es->e2fs_icount; - sbp->f_ffree = es->e2fs_ficount; + sbp->f_blocks = fs->e2fs->e2fs_bcount - overhead; + sbp->f_bfree = fs->e2fs->e2fs_fbcount; + sbp->f_bavail = sbp->f_bfree - fs->e2fs->e2fs_rbcount; + sbp->f_files = fs->e2fs->e2fs_icount; + sbp->f_ffree = fs->e2fs->e2fs_ficount; return (0); } From owner-p4-projects@FreeBSD.ORG Fri Jul 10 01:29:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD0901065676; Fri, 10 Jul 2009 01:29:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A9121065674 for ; Fri, 10 Jul 2009 01:29:36 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6923C8FC08 for ; Fri, 10 Jul 2009 01:29:36 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A1Tanj033458 for ; Fri, 10 Jul 2009 01:29:36 GMT (envelope-from zjriggl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A1TaLb033456 for perforce@freebsd.org; Fri, 10 Jul 2009 01:29:36 GMT (envelope-from zjriggl@FreeBSD.org) Date: Fri, 10 Jul 2009 01:29:36 GMT Message-Id: <200907100129.n6A1TaLb033456@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zjriggl@FreeBSD.org using -f From: Zachariah Riggle To: Perforce Change Reviews Cc: Subject: PERFORCE change 165888 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 01:29:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=165888 Change 165888 by zjriggl@zjriggl_tcpregression on 2009/07/10 01:29:24 Just a random commit. Realized that I hadn't in a while... Affected files ... .. //depot/projects/soc2009/zjriggl_tcpregression/src/captures/FailedChecksums.pcap#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/captures/GoogleCaptureHTTP.pcap#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/StringField.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/checksum.py#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/checksum.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/decorators.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/field.py#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/field.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/hwAddress.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/networkPort.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/payload.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/pseudoipv4.pyc#1 add .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcprecvdaemon.py#1 add Differences ... ==== //depot/projects/soc2009/zjriggl_tcpregression/src/captures/FailedChecksums.pcap#2 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/captures/GoogleCaptureHTTP.pcap#2 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jul 10 01:33:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A65CF1065674; Fri, 10 Jul 2009 01:33:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 645C31065670 for ; Fri, 10 Jul 2009 01:33:41 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 38E118FC13 for ; Fri, 10 Jul 2009 01:33:41 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A1XeVr033789 for ; Fri, 10 Jul 2009 01:33:40 GMT (envelope-from zjriggl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A1Xe8t033787 for perforce@freebsd.org; Fri, 10 Jul 2009 01:33:40 GMT (envelope-from zjriggl@FreeBSD.org) Date: Fri, 10 Jul 2009 01:33:40 GMT Message-Id: <200907100133.n6A1Xe8t033787@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zjriggl@FreeBSD.org using -f From: Zachariah Riggle To: Perforce Change Reviews Cc: Subject: PERFORCE change 165889 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 01:33:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=165889 Change 165889 by zjriggl@zjriggl_tcpregression on 2009/07/10 01:32:58 123 Affected files ... .. //depot/projects/soc2009/zjriggl_tcpregression/Milestones#4 edit Differences ... ==== //depot/projects/soc2009/zjriggl_tcpregression/Milestones#4 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jul 10 01:34:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E9D51065672; Fri, 10 Jul 2009 01:34:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3EFA7106566C for ; Fri, 10 Jul 2009 01:34:42 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2DA998FC08 for ; Fri, 10 Jul 2009 01:34:42 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A1YgoV033851 for ; Fri, 10 Jul 2009 01:34:42 GMT (envelope-from zjriggl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A1Yg86033849 for perforce@freebsd.org; Fri, 10 Jul 2009 01:34:42 GMT (envelope-from zjriggl@FreeBSD.org) Date: Fri, 10 Jul 2009 01:34:42 GMT Message-Id: <200907100134.n6A1Yg86033849@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zjriggl@FreeBSD.org using -f From: Zachariah Riggle To: Perforce Change Reviews Cc: Subject: PERFORCE change 165890 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 01:34:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165890 Change 165890 by zjriggl@zjriggl_tcpregression on 2009/07/10 01:33:53 Updated Milestones Affected files ... .. //depot/projects/soc2009/zjriggl_tcpregression/Milestones#5 edit Differences ... ==== //depot/projects/soc2009/zjriggl_tcpregression/Milestones#5 (text+ko) ==== @@ -1,5 +1,29 @@ -Tentative Milestones -¥ Framework successfully tests and validates a standard TCP setup and tear-down. -¥ Framework successfully tests and validates standard TCP cases. -¥ Framework successfully tests and validates the ARP protocol, per RFC 826. -¥ Additional features and milestones TBD per project's progress.+Early May + +Become familiar with PCS +Download and set up +Run tests to ensure proper setup +Modify canned example case to do something new +Late May / June + +Get familiar with the TCP RFC. Very familiar. Uncomfortably familiar. +Start planning the test suite framework (this does not include any tests) +Start implementing framework +July + +Continue implementing framework +Implement first few tests (TCP setup/tear-down) using calls to TCP implementation to test it +Re-implement first few tests by hooking into the correct sections and manually executing the tested code segments. +Milestones + +Framework successfully tests and validates a standard TCP setup and tear-down. +Framework successfully tests and validates standard TCP cases. +LISTEN -> SYN-RECVD -> ESTABLISHED +SYN-SENT -> SYN-RECVD -> ESTABLISHED +FIN-WAIT-1 -> FIN-WAIT-2 vs. FIN-WAIT-1 -> CLOSING +Potential Milestones + +Time permitting: + +Framework successfully tests and validates the ARP protocol, per RFC 826. +Additional features and milestones TBD per project's progress. From owner-p4-projects@FreeBSD.ORG Fri Jul 10 01:35:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A46F81065674; Fri, 10 Jul 2009 01:35:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63D10106566B for ; Fri, 10 Jul 2009 01:35:43 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 504268FC0A for ; Fri, 10 Jul 2009 01:35:43 +0000 (UTC) (envelope-from zjriggl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A1Zh1f033993 for ; Fri, 10 Jul 2009 01:35:43 GMT (envelope-from zjriggl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A1Zh1W033991 for perforce@freebsd.org; Fri, 10 Jul 2009 01:35:43 GMT (envelope-from zjriggl@FreeBSD.org) Date: Fri, 10 Jul 2009 01:35:43 GMT Message-Id: <200907100135.n6A1Zh1W033991@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zjriggl@FreeBSD.org using -f From: Zachariah Riggle To: Perforce Change Reviews Cc: Subject: PERFORCE change 165891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 01:35:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=165891 Change 165891 by zjriggl@zjriggl_tcpregression on 2009/07/10 01:35:37 Just a random commit. Realized that I hadn't in a while... Affected files ... .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/echoServer.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/loggable.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/logging.conf#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/StringField.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.py#6 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/backup.tar#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/decorators.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/hwAddress.py#3 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/networkPort.py#3 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/payload.py#3 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/pseudoipv4.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/sniffLocalhost.py#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpConstructor.py#5 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpFilter.py#6 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpHandshake.py#4 delete .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstatemachine.py#5 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstates.py#2 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/test.html#4 edit .. //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/testconfig.py#6 edit Differences ... ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/echoServer.py#4 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/loggable.py#4 (text+ko) ==== @@ -1,7 +1,31 @@ import logging import pcsextension +import inspect + +# Configure logging +logging.config.fileConfig( "logging.conf" ) + +( logging.FIELD_CHANGE, + logging.RESPONSE_GENERATION, + logging.PACKET_TRANSMIT, + logging.PACKET_RECEIVED, + logging.PACKET_SENT, + logging.VALIDATE, + logging.STATE_CHANGE ) = range( logging.INFO - 7, logging.INFO ) + +logging.addLevelName( logging.FIELD_CHANGE, "FIELD" ) +logging.addLevelName( logging.RESPONSE_GENERATION, "\033[1;36mGENERATE\033[1;m" ) +logging.addLevelName( logging.PACKET_TRANSMIT, "XMIT" ) +logging.addLevelName( logging.PACKET_RECEIVED, "\033[1;31mRECVD\033[1;m" ) +logging.addLevelName( logging.PACKET_SENT, "\033[1;31mSENT\033[1;m" ) +logging.addLevelName( logging.VALIDATE, "VALIDATE" ) +logging.addLevelName( logging.STATE_CHANGE, "STATE" ) + +# print '\033[1;36mGENERATE\033[1;m' +# print '\033[1;36mCyan like Caribbean\033[1;m' +# '\033[1;31mRed like Radish\033[1;m' -class tcplog(object): +class tcplog( object ): ''' Provides rapid access to logging mechanisms for derived classes. @@ -36,22 +60,24 @@ >>> a.log.field('test') 2009-05-24 12:48:52,475 - __main__.A - FIELD_CHANGE - test ''' - - def __init__(self,parent): + + def __init__( self, parent ): # self._log = logging.getLogger(parent.__class__.__module__ + '.' + parent.__class__.__name__) - self._log = logging.getLogger(parent.__class__.__name__) - - debug = lambda self,x: self._log.debug(x) - info = lambda self,x: self._log.info(x) - error = lambda self,x: self._log.error(x) - critical = lambda self,x: self._log.critical(x) - fatal = lambda self,x: self._log.fatal(x) - warning = lambda self,x: self._log.warning(x) - warn = lambda self,x: self._log.warn(x) - state = lambda self,x: self._log.log(logging.STATE_CHANGE, x) - validate = lambda self,x: self._log.log(logging.VALIDATE, x) - pktsent = lambda self,x: self._log.log(logging.PACKET_SENT, x) - pktrecv = lambda self,x: self._log.log(logging.PACKET_RECEIVED, x) - generated = lambda self,x: self._log.log(logging.RESPONSE_GENERATION, x) - field = lambda self,x: self._log.log(logging.FIELD_CHANGE, x) - + self._log = logging.getLogger( parent.__class__.__name__ ) + + def caller( self ): + return inspect.stack()[2][3] + + debug = lambda self, x: self._log.debug( "%s - %s" % ( self.caller(), x ) ) + info = lambda self, x: self._log.info( x ) + error = lambda self, x: self._log.error( x ) + critical = lambda self, x: self._log.critical( x ) + fatal = lambda self, x: self._log.fatal( x ) + warning = lambda self, x: self._log.warning( x ) + warn = lambda self, x: self._log.warn( x ) + state = lambda self, x: self._log.log( logging.STATE_CHANGE, x ) + validate = lambda self, x: self._log.log( logging.VALIDATE, x ) + pktsent = lambda self, x: self._log.log( logging.PACKET_SENT, x ) + pktrecv = lambda self, x: self._log.log( logging.PACKET_RECEIVED, x ) + generated = lambda self, x: self._log.log( logging.RESPONSE_GENERATION, x ) + field = lambda self, x: self._log.log( logging.FIELD_CHANGE, x ) ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/logging.conf#4 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/StringField.py#2 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/__init__.py#6 (text+ko) ==== @@ -8,25 +8,6 @@ from pcs.packets.tcp import tcp from pcs.packets.tcpv6 import tcpv6 -# Configure logging -logging.config.fileConfig( "logging.conf" ) - -( logging.FIELD_CHANGE, - logging.RESPONSE_GENERATION, - logging.PACKET_TRANSMIT, - logging.PACKET_RECEIVED, - logging.PACKET_SENT, - logging.VALIDATE, - logging.STATE_CHANGE ) = range( logging.INFO - 7, logging.INFO ) - -logging.addLevelName( logging.FIELD_CHANGE, "FIELD" ) -logging.addLevelName( logging.RESPONSE_GENERATION, "GENERATE" ) -logging.addLevelName( logging.PACKET_TRANSMIT, "XMIT" ) -logging.addLevelName( logging.PACKET_RECEIVED, "RECEIVED" ) -logging.addLevelName( logging.PACKET_SENT, "SENT" ) -logging.addLevelName( logging.VALIDATE, "VALIDATE" ) -logging.addLevelName( logging.STATE_CHANGE, "STATE" ) - # Find the TCP layer in a packet. def findTcpLayer( packet ): return findPacketLayer( packet, tcp ) @@ -35,6 +16,11 @@ return findPacketLayer( packet, ipv4 ) def findPacketLayer( packet, _class ): + # Quick return if there's an exact match + if type( packet ) == _class: + return packet + + # Otherwise search through the layers p = packet while p is not None: if isinstance( p, _class ): ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/backup.tar#2 (binary) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/decorators.py#2 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/hwAddress.py#3 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/ipAddress.py#4 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/networkPort.py#3 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/payload.py#3 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/pcsextension/pseudoipv4.py#2 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/sniffLocalhost.py#4 (text+ko) ==== ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpConstructor.py#5 (text+ko) ==== @@ -10,10 +10,12 @@ from pcs.packets.ipv4 import ipv4 from pcs.packets.tcp import tcp from pcs.packets.ethernet import * +from pcs.packets.localhost import * from socket import IPPROTO_IPV4, IPPROTO_IPV6, IPPROTO_TCP from pcsextension.ipAddress import IpAddress from pcsextension.hwAddress import HwAddress -from pcsextension.checksum import * +from pcsextension.checksum import * +from loggable import tcplog class tcpConstructor: ''' @@ -23,7 +25,11 @@ - IPv4 TODO IPv6 ''' + + loopback = False + ipVersion = IPPROTO_IPV4 + localIP = IpAddress() remoteIP = IpAddress() @@ -31,6 +37,8 @@ remoteHw = HwAddress() def __init__( self ): + self.log = tcplog( self ) + self.localIP.setAscii( testconfig.localIP ) self.remoteIP.setAscii( testconfig.remoteIP ) @@ -81,10 +89,10 @@ ip = ipv4() ip.version = 4 ip.hlen = 5 - ip.tos = 0 # Normal + ip.tos = 0x10 # Normal ip.length = 20 ip.id = randint( 0, 65535 ) # See RFC4413, pp. 20 - ip.flags = 0x4 # 'Dont fragment' + ip.flags = 2 # 'Dont fragment' ip.ttl = 64 ip.protocol = IPPROTO_TCP ip.src = self.localIP.getPCS() @@ -121,6 +129,20 @@ ether.dst = self.remoteHw.getPCS() return ether + def generateLoopback( self ): + lb = localhost() + if self.ipVersion == IPPROTO_IPV6: + lb.type = socket.htonl( socket.AF_INET6 ) + else: + lb.type = socket.htonl( socket.AF_INET ) + return lb + + def generateHardware( self ): + if self.loopback: + return self.generateLoopback() + else: + return self.generateEthernet() + def generateChain( self, tcpPacket ): ''' Generates a pcs.Chain complete with Ethernet and IP levels, that uses the provided @@ -129,14 +151,17 @@ perform any validation of auto-generation of ANY TCP fields. The length of the TCP header + data is necessary to set the IP length field. ''' - ether = self.generateEthernet() + hw = self.generateHardware() ip = self.generateIP() - ether.data = ip + hw.data = ip ip.data = tcpPacket # Set the proper IP length and checksum ip.length = ip.length + len( tcpPacket.chain().bytes ) ip.checksum = ipChecksum( ip ) - return ether.chain() + chain = hw.chain() + self.log.generated( repr( chain ) ) + + return chain ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpFilter.py#6 (text+ko) ==== @@ -13,28 +13,45 @@ from pcsextension.ipAddress import IpAddress from pcsextension.networkPort import NetworkPort from pcsextension import findIpLayer, findTcpLayer - +import pprint class tcpFilter( object ): log = None pcapHandle = None doRead = False + @prop + def interface(): + return {'doc': 'Interface used with the TCP Filter. If this interface is different from the' + ' current interface, the current one is closed, and the new one is opened automatically.', + 'fset': lambda self, x: self.openInterface( x ) } + self._interface = None + def __init__( self, interfaceName ): self.log = tcplog( self ) - self.openInterface( interfaceName ) + self.interface = interfaceName def openInterface( self, interfaceName ): + # Is it already opened with this interface? + if self.interface is interfaceName: + log.info( 'Tried to re - open same interface: % s' % self.interface ) + return + else: + self._interface = interfaceName + + # Open the interface try: - self.pcapHandle = PcapConnector( interfaceName ) + self.pcapHandle = PcapConnector( self.interface ) + self.log.info( "Opened %s" % self.interface ) # self.pcapHandle = IP4Connector(); except: - self.log.error( "Could not open interface %s" % interfaceName ) + self.log.error( "Could not open interface %s" % self.interface ) def read( self ): return self.pcapHandle.readpkt() def write( self, bytes ): + self.log.pktsent( pprint.pformat( bytes ) ) self.pcapHandle.write( bytes, len( bytes ) ) def readFilteredByIP( self, ip ): @@ -55,9 +72,6 @@ tmp.setAscii( ip ) ip = tmp - srcIP = IpAddress() - dstIP = IpAddress() - while True: packet = self.read() @@ -66,11 +80,8 @@ if ipLayer == None: continue - srcIP.setPCS( ipLayer.src ) - dstIP.setPCS( ipLayer.dst ) - - print "Saw %s" % str( srcIP ) - print "Saw %s" % str( dstIP ) + # srcIP.setPCS( ipLayer.src ) + # dstIP.setPCS( ipLayer.dst ) if ipLayer.src == ip.getPCS() or ipLayer.dst == ip.getPCS(): return packet @@ -90,13 +101,6 @@ while True: packet = self.readFilteredByIP( ipAddress ) - tcpLayer = findTcpLayer( packet ) - if tcpLayer == None: - continue - - print tcpLayer.sport - print port.getNetworkInteger() - - if tcpLayer.sport == port.getInteger() or tcpLayer.dport == port.getInteger(): + if tcpLayer and ( tcpLayer.sport == port.getInteger() or tcpLayer.dport == port.getInteger() ): return packet ==== //depot/projects/soc2009/zjriggl_tcpregression/src/tcpregression/tcpstatemachine.py#5 (text+ko) ==== @@ -12,6 +12,7 @@ from pcsextension.networkPort import NetworkPort from pcsextension.pseudoipv4 import pseudoipv4, ipv4_cksum from pcsextension.checksum import tcpChecksum +from multiprocessing import Process, Queue from random import randint from socket import IPPROTO_TCP from tcpFilter import tcpFilter @@ -22,6 +23,8 @@ import binhex import pcs import testconfig +import time +from tcprecvdaemon import TcpRecvDaemon # Valid state transitions, as defined by the diagram on RFC 793 pp. 23: # September 1981 @@ -110,11 +113,9 @@ 3 ''' - _constructor = tcpConstructor() - _connector = tcpFilter( testconfig.interface ) - - def generateInitialSequence( self ): - return 0 + __constructor = tcpConstructor() + __connector = tcpFilter( testconfig.interface ) + __recvThread = None snd_nxt = 0 # Next available send sequence # snd_una = 0 # Unacknowledge send sequence # @@ -129,17 +130,19 @@ irs = 0 # Initial receive sequence number rcv_nxt = irs # Expected next recv sequence # - ack_nxt = 0 # Next ACK number to send. - ack_lst = 0 # Last ACK number sent. - msl = 2 * 60 # Maximum Segment Lifetime. Arbitrarily defined in the RFC to 2 minutes timeout = 2 * msl # Timeout + # Flag used to stop the recv'er thread from processing additional packets. + processPackets = True + # Ethernet stuff + @prop def localEthernet(): return {'doc': 'Local hardware ethernet address'} _localEthernet = HwAddress( default = testconfig.localMAC ) + @prop def remoteEthernet(): return {'doc': 'Remote hardware ethernet address'} remoteEthernet = HwAddress( default = testconfig.remoteMAC ) @@ -164,6 +167,27 @@ return {'doc': 'Remote port.'} _remotePort = NetworkPort( default = testconfig.remotePort ) + def setLoopback( self, lb = True ): + ''' + Call with lb=True to omit the ethernet layer with a loopback layer in its place. + This should be done when using lo0 instead of eth0, or the source and destination + IP address are the same. + ''' + self.__constructor.loopback = lb + + # Override the interface + if lb and self.interface not in self.loopbackInterfaces: + self.log.warn( 'Overriding interface to be %s' % self.loopbackInterfaces[0] ) + self.interface = self.loopbackInterfaces[0] + + # If the connector is already active AND it is not on the loopback interface, + # re-open it on the loopback interface. + if self.__connector is not None and self.__connector.interface is not self.interface: + self.__connector = tcpFilter( self.interface ) + + # Used by setLoopback + loopbackInterfaces = ['lo0', 'lo'] + @prop def mtu(): return {'doc': 'Maximum Tranmission Unit'} @@ -171,26 +195,35 @@ @prop def generate(): - return {'doc': 'What fields of outgoing TCP packets should be auto-generated.'} - _generate = {'cksum': True, - 'off': True, - 'sequence': True, - 'ack_number': True, - 'sport': True, - 'dport': True, - 'window': True, - 'urg_pointer': True } + return {'doc': 'What fields of outgoing TCP packets should be auto-generated,' + ' and various packet-generation toggles. Accepted Values:\n' + '%s - Outgoing packet TCP Checksum\n' + '%s - } + _generate = {tcp.f_checksum: True, + tcp.f_offset: True, + tcp.f_sequence: True, + tcp.f_ack_number: True, + tcp.f_sport: True, + tcp.f_dport: True, + tcp.f_window: True, + tcp.f_urg_pointer: True } @prop def validate(): - return {'doc': 'What fields of incoming TCP packets should be validated.'} - _validate = { 'cksum': True, - 'sequence': True, - 'ack_number': True, - 'sport': True, - 'dport': True, + return {'doc': 'Fields to be validated. Non - valid packets are dropped, non - valid' + 'settings throw an error. Accepted Values:\n' + ' % s - Incoming packet TCP Checksum\n' + ' % s - Incoming packet TCP Sequence Number\n' + ' % s - Incoming packet TCP Ack number\n' + ' % s - TCP State Machine transition\n'} + _validate = { tcp.f_checksum: True, + tcp.f_sequence: True, + tcp.f_ack_number: True, + #tcp.f_sport: True, + #tcp.f_dport: True, 'transition': True } + @prop def packetsToSend(): return {'doc': 'List of all packets to be sent.' } @@ -213,6 +246,7 @@ 'Upon receiving, a packet will be put into this buffer. If its sequence number is rcv_nxt, ' 'it is moved to packetsRecvdAcked, and rcv_next is updated.'} _packetsRecvd = [] + _packetsRecvdOffset = 0 @prop def packetsRecvdAcked(): @@ -240,7 +274,7 @@ number of buffers pending receipt, urgent state, precedence, - security/compartment, + security / compartment, and transmission timeout ) ''' localSocket = self.localIP.getAscii() + ':' + self.localPort.getAscii() @@ -262,7 +296,7 @@ def __str__( self ): ''' Prints out the annotated status. - + ''' statusNames = ['local socket', 'foreign socket', @@ -287,23 +321,15 @@ ''' Sets the current state of the state machine. ''' + self.log.debug( state ) # Quick bail-out if self.state == state: return validateTypes( {state:TcpState} ) - if ( state == LISTEN or - state == SYN_SENT or - state == SYN_RECEIVED or - state == ESTABLISHED or - state == FIN_WAIT_1 or - state == FIN_WAIT_2 or - state == CLOSE_WAIT or - state == CLOSING or - state == CLOSED or - state == TIME_WAIT or - state == LAST_ACK ): + # Is the state a valid state? + if state in tcpStates: if ( not self.validate['transition'] ) or ( state in self.state.next ): # if ( not validateTransition ) or ( state in self.state.next ): @@ -312,42 +338,35 @@ action = "Advancing" self.log.state( "%s state from %s to %s" % ( action, self.state, state ) ) - self._state = state + self.__state = state else: self.log.state( "Attempted invalid state transition from %s to %s" % ( self.state, state ) ) - -# -# def advanceState(self, state): -# ''' -# Sets the currents state of the state machine, checking to make -# sure that the provided state is a valid state to transition to, -# given the current state. -# ''' -# validateTypes({state:TcpState}) -# # validateTypes(state,TcpState) -# -# if state in self.state.next: -# self.state = state -# else: -# self.log.state("Attempted invalid state transition from %s to %s" % -# (self.state.name, state.name)) -# -# return self.state == state + else: + self.log.error( 'Attempted to change to invalid state %s' % state ) def open( self ): ''' Open the socket connection. This is synonymous with the 'connect' function used by normal UNIX sockets. - S ''' if self.state == CLOSED or self.state == LISTEN: - # Reset the connection state + # "Create a new transmission control block (TCB) to hold connection + # state information. Fill in local socket identifier, foreign + # socket, precedence, security/compartment, and user timeout + # information." + # Layman's Terms: Reset the connection state self.reset() - # Send the SYN packet. - synPacket = self.newPacket( {'syn':1} ) - self.log.generated( "Sending generated SYN packet to initiate connection: %s" % synPacket ) + # "if active and the foreign socket is + # specified, issue a SYN segment. An initial send sequence number + # (ISS) is selected. A SYN segment of the form + # is sent. Set SND.UNA to ISS, SND.NXT to ISS+1, enter SYN-SENT + # state, and return." + # Layman's Terms: Send the SYN packet. The snd.una and snd.nxt bits + # are handled by the above reset() call. + synPacket = self.newPacket( {tcp.f_syn:1} ) + self.log.generated( "Sending generated SYN packet to initiate connection: %s" % repr( synPacket ) ) self.packetsToSend.append( synPacket ) self.sendQueuedPackets() self.state = SYN_SENT @@ -355,18 +374,25 @@ # Recv the SYN-ACK packet. start = time() while self.state == SYN_SENT: - synAck = self.recv() + synAck = findTcpLayer( self.recv() ) + + self.log.debug( 'received packet %s' % repr( synAck ) ) - if synAck.ack and synAck.syn and synAck.ack_number == synPacket.sequence: - state = ESTABLISHED + if synAck.ack and synAck.syn and synAck.ack_number == ( synPacket.sequence + 1 ): + self.log.info( 'received SYN/ACK packet' ) + self.state = ESTABLISHED - elif time() < ( start + testconfig.timeout ): + elif time() > ( start + testconfig.timeout ): self.log.info( 'open() timeout after %s seconds' % testconfig.timeout ) return False # Send the ACK packet. - ackPacket = self.newPacket( {'ack':1} ) - self.log.generated( "Sending generated ACK packet in response to SYN/ACK: %s" % ackPacket ) + ackPacket = self.newPacket( {tcp.f_ack:1, 'seq': synPacket.sequence + 1, tcp.f_ack_number: synAck.ack_number + 1} ) + + self.snd_nxt = synPacket.sequence + 1 + self.rcv_nxt = synAck.ack_number + 1 + + self.log.generated( "Sending generated ACK packet in response to SYN/ACK: %s" % repr( ackPacket ) ) self.packetsToSend.append( appPacket ) self.sendQueuedPackets() self.state = ESTABLISHED @@ -401,9 +427,9 @@ self.snd_una = self.iss self.snd_nxt = self.iss + 1 self.snd_up = 0 - self.snd_wl1 = 0 self.snd_wl2 = 0 self.snd_wnd = 0xffff + self.snd_wl1 = self.snd_wnd self.rcv_nxt = 0 self.rcv_up = 0 @@ -411,18 +437,18 @@ self.state = CLOSED - def recv( self ): - self._connector.readFilteredByTuple( self.localIP, self.localPort ) - def send( self, packet ): ''' Inform the TCP State Machine about packets that have been transmitted. - This is necessary to keep the state up-to-date. + This is necessary to keep the state up - to - date. @param packet pcs.Packet object to send. Must be, or contain, a TCP packet. ''' # Check the arg type validateTypes( {packet:pcs.Packet} ) + # Log + self.log.debug( repr( packet ) ) + # Get the TCP layer tcpLayer = findTcpLayer( packet ) if tcpLayer == None: @@ -452,7 +478,7 @@ # acknowledgment (acknowledgment value = RCV.NXT). If there is # insufficient space to remember this buffer, simply return "error: # insufficient resources". - if self.generate['ack_number']: + if self.generate.get( tcp.f_ack_number ): packet.ack_number = self.rcv_nxt # If the urgent flag is set, then SND.UP <- SND.NXT-1 and set the @@ -470,61 +496,99 @@ # Send all queued packets self.sendQueuedPackets() + def recvRawTcp( self ): + return findTcpLayer( self.__connector.readFilteredByTuple( self.remoteIP, self.remotePort ) ) + def sendRawTcp( self, tcpLayer ): + self.log.debug( repr( tcpLayer ) ) + if not validateTypes( {tcpLayer:tcp.tcp} ): return - # self._socket.sendto(tcpLayer.chain().bytes, (self.remoteIP().getAscii(),self.remotePort().getAscii())) - packet = self._constructor - self._connector.send( tcpLayer.chain().bytes ) + # self.__socket.sendto(tcpLayer.chain().bytes, (self.remoteIP().getAscii(),self.remotePort().getAscii())) + packet = self.__constructor.generateChain( tcpLayer ) + self.log.pktsent( repr ( packet ) ) + self.__connector.write( packet.bytes ) pass def sendQueuedPackets( self ): + ''' + Sends all packets in the queue. + ''' + self.log.debug( "called" ) for tcpLayer in self.packetsToSend: send = False # If the packet is the next packet that we are supposed to send, send it. - if self.snd_una == tcpLayer.sequence: + if self.snd_una < tcpLayer.sequence or not self.generate.get( tcp.f_sequence ): # Make sure we are allowed to send it (i.e. smaller than rcv window) - # Set the ACK to acknowledge any packets that we've received - if self.generate['ack_number'] and self.ack_nxt > self.ack_lst: - # if self.isAutomaticAckEnabled() and self.ack_nxt > self.ack_lst: - tcpLayer.ack_number = self.rcv_nxt - tcpLayer.ack = 1 +# # Set the ACK to acknowledge any packets that we've received +# if self.generate[tcp.f_ack_number] and self.ack_nxt > self.ack_lst: +# # if self.isAutomaticAckEnabled() and self.ack_nxt > self.ack_lst: +# tcpLayer.ack_number = self.rcv_nxt +# tcpLayer.ack = 1 +# +# # Set the correct checksum +# if self.generate[tcp.f_checksum]: +# # if self.isChecksumValidationEnabled(): +# tcpLayer.cksum = tcpChecksum( tcpLayer, src = self.localIP, dst = self.remoteIP ) + #self.generateChecksum( tcpLayer ) - # Set the correct checksum - if self.generate['checksum']: - # if self.isChecksumValidationEnabled(): - tcpLayer.cksum = tcpChecksum( tcpLayer, src = self.localIP, dst = self.remoteIP ) #self.generateChecksum( tcpLayer ) + self.sendRawTcp( tcpLayer ) + # Update internal stuff. +# length = 0 # TODO TODO TODO TODO +# if self.snd_nxt + else: + self.log.error( "Did not send packet because sequence (%s) > snd_una (%s): %s" + % ( tcpLayer.sequence, self.snd_una, repr( tcpLayer ) ) ) - self.sendRawTcp( tcpLayer ) + def logGenerated( self, packet = None, fieldname = None ): + ''' + Helper method to log generated field data. + ''' + # If a packet was specified, print the packet. + if packet: + self.log.generated( "Automatically set field %s to %s" % ( fieldname, hex( getattr( packet, fieldname ) ) ) ) - def logGenerated( self, packet, fieldname ): - self.log.generated( "Automatically set field %s to %s" % ( fieldname, hex( getattr( packet, fieldname ) ) ) ) + # Otherwise, assume it was some internal setting to the state, i.e. ISS, rcv_nxt, et. al + else: + self.log.generated( "Automatically set %s to %s" % ( fieldname, hex( getattr( self, fieldname ) ) ) ) def logField( self, packet, fieldname ): - self.log.field( "Set field %s to %s" % ( fieldname, hex( getattr( packet, fieldname ) ) ) ) + ''' + Helper method to log user - specified field changes. + ''' + self.log.field( "Set field % s to % s" % ( fieldname, hex( getattr( packet, fieldname ) ) ) ) def fieldsToGenerate( self ): - return [k for k in self.generate.keys() if self.generate[k]] + ''' + Returns an array of fields that need to be generated for a TCP packet. + ''' + return [k for k in self.generate.iterkeys() if hasattr( self, k ) and self.generate.get( k )] + + def tcpFieldsToGenerate( self ): + ''' + Returns an array of fields that need to be generated for a TCP packet. + ''' + return [k for k in self.generate.iterkeys() if hasattr( tcp, k ) and self.generate.get( k )] def newPacket( self, fields = None ): ''' Creates a new packet with the specified fields. Any fields that - are not specified are auto-generated if auto-generation is turned + are not specified are auto - generated if auto - generation is turned on for that field. @see #generate ''' + self.log.debug( " % s" % fields ) t = tcp.tcp() # Generate all the fields that are set up... t.syn = t.fin = t.rst = t.push = t.ack = t.urgent = 0 # set the defaults. don't generate the checksum yet. - for field in [k for k in self.fieldsToGenerate() if k != 'cksum']: + for field in self.tcpFieldsToGenerate(): setattr( t, field, self.generateField( t, field ) ) - self.logGenerated( t, field ) # setattr( t, field, value ) # set the user-provided values @@ -534,49 +598,407 @@ self.logField( t, field ) # Do the checksum after user-provided values - if 'cksum' in self.generate: - t.cksum = tcpChecksum( t, src = self.localIP, dst = self.remoteIP ) - self.logGenerated( t, 'cksum' ) + if self.generate.get( tcp.f_checksum ): + t.checksum = self.generateField( t, tcp.f_checksum ) + #t.checksum = tcpChecksum( t, src = self.localIP, dst = self.remoteIP ) + #self.logGenerated( t, tcp.f_checksum ) return t def generateField( self, packet, fieldname ): - if fieldname == 'cksum': - return tcpChecksum( packet, src = self.localIP, dst = self.remoteIP ) - if fieldname == 'window': - return self.snd_wl1 - if fieldname == 'dport': - return self.remotePort.getInteger() - if fieldname == 'sport': - return self.localPort.getInteger() - if fieldname == 'sequence': - return self.snd_nxt - if fieldname == 'ack_number': - return self.rcv_nxt - if fieldname == 'off': - return 5 - if fieldname == 'urg_pointer': + # self.log.debug( " % s % s" % ( fieldname, repr( packet ) ) ) + rv = None + if fieldname == tcp.f_checksum: + rv = tcpChecksum( packet, src = self.localIP, dst = self.remoteIP ) + elif fieldname == tcp.f_window: + rv = self.snd_wl1 + elif fieldname == tcp.f_dport: + rv = self.remotePort.getInteger() + elif fieldname == tcp.f_sport: + rv = self.localPort.getInteger() + elif fieldname == tcp.f_sequence: + rv = self.snd_nxt + elif fieldname == tcp.f_ack_number: + rv = self.rcv_nxt + elif fieldname == tcp.f_offset: + rv = 5 + elif fieldname == tcp.f_urg_pointer: # TODO + rv = 0 + else: + self.log.warn( 'generateField not defined for %s' % fieldname ) + + self.log.generated( '{%s: %s}' % ( fieldname, rv ) ) + return rv + + def getAckNum( self, packet ): + ''' + Returns the ack_number that should be used to ACK the successful + receipt of the provided packet. + ''' + p = findTcpLayer( packet ) + if p is None: return 0 + sequence = p.sequence + headerLength = len( p.getbytes() ) + data = p.chain().bytes + dataLength = len( data ) + + return sequence + ( dataLength - headerLength ) + 1 + + def ack( self, sequence ): + ''' + Modify the internal state to consider the provided sequence number + as having been successfully acknowledged. + ''' + self.snd_una = sequence + 1 + + def recv( self, packet = None, timeout = None ): + ''' + Get the next packet that has been received. Packets are guaranteed + to be valid, in - order, and non - duplicated. - def recv( self, packet = None ): + @param packet Specify a packet to 'simulate' the receipt of. + @param timeout Optionally, specify a timeout for receiving a packet. + @return + - If param 'packet' specified, the packet or None if an error occurred. + - Otherwise, the next packet or None if there were none available in + the timeout period. + ''' + + # If the user provides a packet, we are 'simulating' receipt of + # a packet. Pass it off to the packet-receipt handler. Return + # the packet if it is processed successfully. + if packet: + self.log.debug( repr( packet ) ) + if self._handleRecvdPacket( packet ) == packet: + return packet + else: + return None + + # Otherwise, pull the packet off of the front of the packetsRecvd list. + else: + start = time.time() + + # Wait until there is a 'new' packet available. + while self.packetsRecvd.size() <= self._packetsRecvdOffset: + time.sleep( 0.05 ) + + # Check the timeout + if timeout and time.time() > start + timeout: + return None + + # Return the next packet. + self._packetsRecvdOffset += 1 + return self.packetsRecvd[self._packetsRecvdOffset] + + # Return 'None' + return None + + def _handleRecvdPacket( self, packet = None ): ''' Inform the TCP State Machine about packets that have been received. - This is necessary to keep the state up-to-date. + This is necessary to keep the state up - to - date. ''' - if packet == None: - packet = self._connector.readFilteredByTuple( self.remoteIP, self.remotePort ) + # Make sure that there is TCP data in the packet. + seg = findTcpLayer( packet ) + + if seg is None: + return None + + # Set to 'True' to queue the packet in 'self.packetsRecvd' at the end of the method. + queuePacket = False + + # If the state is CLOSED (i.e., TCB does not exist) then + # all data in the incoming segment is discarded. An incoming + # segment containing a RST is discarded. An incoming segment not + # containing a RST causes a RST to be sent in response. The + # acknowledgment and sequence field values are selected to make the + # reset sequence acceptable to the TCP that sent the offending + # segment. + if self.state == CLOSED and not seg.reset: + + log.warn( 'Called recv with state == %s' % CLOSED ) + + # If the ACK bit is off, sequence number zero is used, + # + if seg.ack: + pkt = self.newPacket( {tcp.f_sequence: seg.sequence, 'reset': 1} ) + + # If the ACK bit is on, + # + else: + pkt = self.newPacket( {tcp.f_sequence:0, tcp.f_ack: 1, 'reset': 1, tcp.f_ack_number: seg.ack_number} ) + + self.sendRawTcp( pkt ) + return None + + # If the state is LISTEN then first check for an RST + + elif self.state == LISTEN: + # An incoming RST should be ignored. Return. + if seg.reset: + return None + + # second check for an ACK + # Any acknowledgment is bad if it arrives on a connection still in + # the LISTEN state. An acceptable reset segment should be formed + # for any arriving ACK-bearing segment. The RST should be + # formatted as follows: + # + # Return. + if seg.ack: + pkt = self.newPacket( {tcp.f_sequence:seg.ack_number, 'reset': 1} ) + self.sendRawTcp( pkt ) + return None + + # third check for a SYN + # + # If the SYN bit is set, check the security. If the + # security/compartment on the incoming segment does not exactly + # match the security/compartment in the TCB then send a reset and + # return. + # + # >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 10 01:36:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC28F1065673; Fri, 10 Jul 2009 01:36:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C028106566B for ; Fri, 10 Jul 2009 01:36:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8A6C88FC16 for ; Fri, 10 Jul 2009 01:36:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A1airP034056 for ; Fri, 10 Jul 2009 01:36:44 GMT (envelope-from attilio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A1aile034054 for perforce@freebsd.org; Fri, 10 Jul 2009 01:36:44 GMT (envelope-from attilio@FreeBSD.org) Date: Fri, 10 Jul 2009 01:36:44 GMT Message-Id: <200907100136.n6A1aile034054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to attilio@FreeBSD.org using -f From: Attilio Rao To: Perforce Change Reviews Cc: Subject: PERFORCE change 165892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 01:36:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165892 Change 165892 by attilio@attilio_valgrind on 2009/07/10 01:35:51 - Move the signal handling from the MD includes to the MI part. - Move the ucontext handling from the MD includes to the MI part. Sponsored by: Sandvine Incorporated Affected files ... .. //depot/projects/valgrind/include/vki/vki-amd64-freebsd.h#8 edit .. //depot/projects/valgrind/include/vki/vki-freebsd.h#14 edit .. //depot/projects/valgrind/include/vki/vki-x86-freebsd.h#6 edit Differences ... ==== //depot/projects/valgrind/include/vki/vki-amd64-freebsd.h#8 (text+ko) ==== @@ -26,99 +26,22 @@ #ifndef __VKI_AMD64_FREEBSD_H #define __VKI_AMD64_FREEBSD_H -#define VKI_LITTLE_ENDIAN 1 - /* PAGE_SHIFT determines the page size. */ #define VKI_PAGE_SHIFT 12 #define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT) #define VKI_MAX_PAGE_SHIFT VKI_PAGE_SHIFT #define VKI_MAX_PAGE_SIZE VKI_PAGE_SIZE -#define VKI_MINSIGSTKSZ 2048 - -#define VKI_SIG_BLOCK 1 /* for blocking signals */ -#define VKI_SIG_UNBLOCK 2 /* for unblocking signals */ -#define VKI_SIG_SETMASK 3 /* for setting the signal mask */ - -/* Type of a signal handler. */ -typedef void __vki_signalfn_t(int); -typedef __vki_signalfn_t *__vki_sighandler_t; +#define VKI_MINSIGSTKSZ 2048 -#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */ -#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */ - #define _VKI_NSIG 128 #define _VKI_NSIG_BPW 64 #define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW) -/* Beware, not longword aligned in struct sigaction */ typedef struct { - vki_uint64_t sig[_VKI_NSIG_WORDS]; + vki_uint64_t sig[_VKI_NSIG_WORDS]; } vki_sigset_t; -#define VKI_SIGHUP 1 -#define VKI_SIGINT 2 -#define VKI_SIGQUIT 3 -#define VKI_SIGILL 4 -#define VKI_SIGTRAP 5 -#define VKI_SIGABRT 6 -#define VKI_SIGEMT 7 -#define VKI_SIGFPE 8 -#define VKI_SIGKILL 9 -#define VKI_SIGBUS 10 -#define VKI_SIGSEGV 11 -#define VKI_SIGSYS 12 -#define VKI_SIGPIPE 13 -#define VKI_SIGALRM 14 -#define VKI_SIGTERM 15 -#define VKI_SIGURG 16 -#define VKI_SIGSTOP 17 -#define VKI_SIGTSTP 18 -#define VKI_SIGCONT 19 -#define VKI_SIGCHLD 20 -#define VKI_SIGTTIN 21 -#define VKI_SIGTTOU 22 -#define VKI_SIGIO 23 -#define VKI_SIGXCPU 24 -#define VKI_SIGXFSZ 25 -#define VKI_SIGVTALRM 26 -#define VKI_SIGPROF 27 -#define VKI_SIGWINCH 28 -#define VKI_SIGINFO 29 -#define VKI_SIGUSR1 30 -#define VKI_SIGUSR2 31 -#define VKI_SIGTHR 32 - -#define VKI_SIGRTMIN 65 -#define VKI_SIGRTMAX 126 - -#define VKI_SA_ONSTACK 0x0001 -#define VKI_SA_RESTART 0x0002 -#define VKI_SA_RESETHAND 0x0004 -#define VKI_SA_NOCLDSTOP 0x0008 -#define VKI_SA_NODEFER 0x0010 -#define VKI_SA_NOCLDWAIT 0x0020 -#define VKI_SA_SIGINFO 0x0040 - -#define VKI_SS_ONSTACK 0x0001 -#define VKI_SS_DISABLE 0x0004 - -#define VKI_SA_ONESHOT VKI_SA_RESETHAND -#define VKI_SA_NOMASK VKI_SA_NODEFER - -struct vki_sigaction { - __vki_sighandler_t ksa_handler; - unsigned int sa_flags; - vki_sigset_t sa_mask __attribute__((__packed__)); - unsigned int __sa_pad; -}; - -typedef struct vki_sigaltstack { - void *ss_sp; - vki_size_t ss_size; - int ss_flags; -} vki_stack_t; - struct _vki_fpstate { unsigned short cwd; unsigned short swd; @@ -247,14 +170,4 @@ #define VKI_FPOWNED_FPU 0x20001 #define VKI_FPOWNED_PCB 0x20002 -struct vki_ucontext { - vki_sigset_t uc_sigmask; - struct vki_mcontext uc_mcontext; - struct vki_ucontext *uc_link; - vki_stack_t uc_stack; - int uc_flags; -#define VKI_UCF_SWAPPED 1 - unsigned int __spare__[4]; -}; - #endif /* __VKI_AMD64_FREEBSD_H */ ==== //depot/projects/valgrind/include/vki/vki-freebsd.h#14 (text+ko) ==== @@ -377,6 +377,79 @@ // From sys/signal.h //---------------------------------------------------------------------- +#define VKI_SIG_BLOCK 1 /* block specified signal set */ +#define VKI_SIG_UNBLOCK 2 /* unblock specified signal set */ +#define VKI_SIG_SETMASK 3 /* set specified signal set */ + +#define VKI_SIG_DFL ((__vki_sighandler_t)0) +#define VKI_SIG_IGN ((__vki_sighandler_t)1) +#define VKI_SIG_ERR ((__vki_sighandler_t)-1) + +typedef void __vki_signalfn_t(int); +typedef __vki_signalfn_t *__vki_sighandler_t; + +#define VKI_SIGHUP 1 +#define VKI_SIGINT 2 +#define VKI_SIGQUIT 3 +#define VKI_SIGILL 4 +#define VKI_SIGTRAP 5 +#define VKI_SIGABRT 6 +#define VKI_SIGEMT 7 +#define VKI_SIGFPE 8 +#define VKI_SIGKILL 9 +#define VKI_SIGBUS 10 +#define VKI_SIGSEGV 11 +#define VKI_SIGSYS 12 +#define VKI_SIGPIPE 13 +#define VKI_SIGALRM 14 +#define VKI_SIGTERM 15 +#define VKI_SIGURG 16 +#define VKI_SIGSTOP 17 +#define VKI_SIGTSTP 18 +#define VKI_SIGCONT 19 +#define VKI_SIGCHLD 20 +#define VKI_SIGTTIN 21 +#define VKI_SIGTTOU 22 +#define VKI_SIGIO 23 +#define VKI_SIGXCPU 24 +#define VKI_SIGXFSZ 25 +#define VKI_SIGVTALRM 26 +#define VKI_SIGPROF 27 +#define VKI_SIGWINCH 28 +#define VKI_SIGINFO 29 +#define VKI_SIGUSR1 30 +#define VKI_SIGUSR2 31 +#define VKI_SIGTHR 32 + +#define VKI_SIGRTMIN 65 +#define VKI_SIGRTMAX 126 + +#define VKI_SA_ONSTACK 0x0001 +#define VKI_SA_RESTART 0x0002 +#define VKI_SA_RESETHAND 0x0004 +#define VKI_SA_NOCLDSTOP 0x0008 +#define VKI_SA_NODEFER 0x0010 +#define VKI_SA_NOCLDWAIT 0x0020 +#define VKI_SA_SIGINFO 0x0040 + +#define VKI_SS_ONSTACK 0x0001 +#define VKI_SS_DISABLE 0x0004 + +#define VKI_SA_ONESHOT VKI_SA_RESETHAND +#define VKI_SA_NOMASK VKI_SA_NODEFER + +struct vki_sigaction { + __vki_sighandler_t ksa_handler; + int sa_flags; + vki_sigset_t sa_mask; +}; + +typedef struct vki_sigaltstack { + void *ss_sp; + vki_size_t ss_size; + int ss_flags; +} vki_stack_t; + typedef union vki_sigval { int sival_int; void *sival_ptr; @@ -1130,6 +1203,20 @@ long mq_curmsgs; /* number of messages currently queued */ }; +//---------------------------------------------------------------------- +// From sys/ucontext.h +//---------------------------------------------------------------------- + +#define VKI_UCF_SWAPPED 1 + +struct vki_ucontext { + vki_sigset_t uc_sigmask; + struct vki_mcontext uc_mcontext; + struct vki_ucontext *uc_link; + vki_stack_t uc_stack; + int uc_flags; + unsigned int __spare__[4]; +}; //---------------------------------------------------------------------- // From sys/utsname.h ==== //depot/projects/valgrind/include/vki/vki-x86-freebsd.h#6 (text+ko) ==== @@ -31,10 +31,6 @@ #ifndef __VKI_X86_LINUX_H #define __VKI_X86_LINUX_H -// x86 is little-endian. -#define VKI_LITTLE_ENDIAN 1 - - //---------------------------------------------------------------------- // From somewhere //---------------------------------------------------------------------- @@ -49,89 +45,16 @@ // From sys/signal.h //---------------------------------------------------------------------- -#define VKI_MINSIGSTKSZ 2048 +#define VKI_MINSIGSTKSZ 2048 -#define VKI_SIG_BLOCK 1 /* for blocking signals */ -#define VKI_SIG_UNBLOCK 2 /* for unblocking signals */ -#define VKI_SIG_SETMASK 3 /* for setting the signal mask */ - -/* Type of a signal handler. */ -typedef void __vki_signalfn_t(int); -typedef __vki_signalfn_t *__vki_sighandler_t; - -#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */ -#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */ - #define _VKI_NSIG 128 #define _VKI_NSIG_BPW 32 #define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW) typedef struct { - vki_uint32_t sig[_VKI_NSIG_WORDS]; + vki_uint32_t sig[_VKI_NSIG_WORDS]; } vki_sigset_t; -#define VKI_SIGHUP 1 -#define VKI_SIGINT 2 -#define VKI_SIGQUIT 3 -#define VKI_SIGILL 4 -#define VKI_SIGTRAP 5 -#define VKI_SIGABRT 6 -#define VKI_SIGEMT 7 -#define VKI_SIGFPE 8 -#define VKI_SIGKILL 9 -#define VKI_SIGBUS 10 -#define VKI_SIGSEGV 11 -#define VKI_SIGSYS 12 -#define VKI_SIGPIPE 13 -#define VKI_SIGALRM 14 -#define VKI_SIGTERM 15 -#define VKI_SIGURG 16 -#define VKI_SIGSTOP 17 -#define VKI_SIGTSTP 18 -#define VKI_SIGCONT 19 -#define VKI_SIGCHLD 20 -#define VKI_SIGTTIN 21 -#define VKI_SIGTTOU 22 -#define VKI_SIGIO 23 -#define VKI_SIGXCPU 24 -#define VKI_SIGXFSZ 25 -#define VKI_SIGVTALRM 26 -#define VKI_SIGPROF 27 -#define VKI_SIGWINCH 28 -#define VKI_SIGINFO 29 -#define VKI_SIGUSR1 30 -#define VKI_SIGUSR2 31 -#define VKI_SIGTHR 32 - -#define VKI_SIGRTMIN 65 -#define VKI_SIGRTMAX 126 - -#define VKI_SA_ONSTACK 0x0001 -#define VKI_SA_RESTART 0x0002 -#define VKI_SA_RESETHAND 0x0004 -#define VKI_SA_NOCLDSTOP 0x0008 -#define VKI_SA_NODEFER 0x0010 -#define VKI_SA_NOCLDWAIT 0x0020 -#define VKI_SA_SIGINFO 0x0040 - -#define VKI_SS_ONSTACK 0x0001 -#define VKI_SS_DISABLE 0x0004 - -#define VKI_SA_ONESHOT VKI_SA_RESETHAND -#define VKI_SA_NOMASK VKI_SA_NODEFER - -struct vki_sigaction { - __vki_sighandler_t ksa_handler; - unsigned int sa_flags; - vki_sigset_t sa_mask; /* mask last for extensibility */ -}; - -typedef struct vki_sigaltstack { - void *ss_sp; - vki_size_t ss_size; - int ss_flags; -} vki_stack_t; - //---------------------------------------------------------------------- // From linux-2.6.8.1/include/asm-i386/sigcontext.h //---------------------------------------------------------------------- @@ -354,24 +277,6 @@ int spare[17]; }; -struct vki_ucontext6 { - vki_sigset_t uc_sigmask; - struct vki_mcontext6 uc_mcontext; - struct vki_ucontext6 *uc_link; - vki_stack_t uc_stack; - int uc_flags; -#define VKI_UCF_SWAPPED 1 - unsigned int __spare__[4]; -}; - -struct vki_ucontext { - vki_sigset_t uc_sigmask; - struct vki_mcontext uc_mcontext; - struct vki_ucontext *uc_link; - vki_stack_t uc_stack; - unsigned int __spare__[8]; -}; - #if 0 //---------------------------------------------------------------------- From owner-p4-projects@FreeBSD.ORG Fri Jul 10 03:56:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9893D106567C; Fri, 10 Jul 2009 03:56:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A49A1065674 for ; Fri, 10 Jul 2009 03:56:17 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 36D1B8FC12 for ; Fri, 10 Jul 2009 03:56:17 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A3uHhb046418 for ; Fri, 10 Jul 2009 03:56:17 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A3uH1I046416 for perforce@freebsd.org; Fri, 10 Jul 2009 03:56:17 GMT (envelope-from scottl@freebsd.org) Date: Fri, 10 Jul 2009 03:56:17 GMT Message-Id: <200907100356.n6A3uH1I046416@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 165895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 03:56:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=165895 Change 165895 by scottl@scottl-y1 on 2009/07/10 03:55:29 IFC Affected files ... .. //depot/projects/scottl-camlock/src/bin/ps/ps.1#3 integrate .. //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/head/thread.h#2 integrate .. //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#2 integrate .. //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 integrate .. //depot/projects/scottl-camlock/src/include/unistd.h#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/Makefile.inc#5 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/Symbol.map#7 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/pathconf.2#4 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/pcm.4#7 integrate .. //depot/projects/scottl-camlock/src/share/man/man5/procfs.5#2 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/cpu_switch.S#11 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/exception.S#10 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/genassym.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/sys_machdep.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/vm_machdep.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_exception.S#5 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_reg.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_signal.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/pcb.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_sysvec.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/bsm/audit_kevents.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#22 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#22 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#24 integrate .. //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_stat.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_sge.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/drm_pciids.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/r600_cp.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/drm/radeon_drv.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/feeder_rate.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/xl/if_xl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfs/nfs_var.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clrpcops.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clstate.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_misc.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/init_sysent.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_prot.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.master#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/systrace_args.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty_pts.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#26 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ageq.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/sys/namei.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.h#19 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.mk#19 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscallsubr.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysproto.h#19 integrate .. //depot/projects/scottl-camlock/src/tools/regression/usr.bin/jot/regress.dddd.out#1 branch .. //depot/projects/scottl-camlock/src/tools/regression/usr.bin/jot/regress.sh#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/fstat/fstat.1#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/jot/jot.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/netstat/netstat.1#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/sockstat/sockstat.1#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jail/jail.8#6 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jls/jls.8#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/jls/jls.c#6 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/dispatch.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/install.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/menus.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/sysinstall.h#5 integrate Differences ... ==== //depot/projects/scottl-camlock/src/bin/ps/ps.1#3 (text+ko) ==== @@ -27,9 +27,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.91 2009/05/17 04:00:43 brian Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.92 2009/07/09 16:40:00 trasz Exp $ .\" -.Dd May 16, 2009 +.Dd July 9, 2009 .Dt PS 1 .Os .Sh NAME @@ -637,6 +637,7 @@ .Xr kill 1 , .Xr pgrep 1 , .Xr pkill 1 , +.Xr procstat 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , ==== //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/head/thread.h#2 (text+ko) ==== @@ -53,7 +53,6 @@ #define mutex_lock(l) pthread_mutex_lock(l) #define mutex_trylock(l) pthread_mutex_trylock(l) #define mutex_unlock(l) pthread_mutex_unlock(l) -#define mutex_owned(l) pthread_mutex_isowned_np(l) #define rwlock_init(l,f,a) pthread_rwlock_init(l,NULL) #define rwlock_destroy(l) pthread_rwlock_destroy(l) #define rw_rdlock(l) pthread_rwlock_rdlock(l) ==== //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#2 (text+ko) ==== @@ -115,6 +115,14 @@ mp->initialized = B_FALSE; } +int +zmutex_owned(kmutex_t *mp) +{ + ASSERT(mp->initialized == B_TRUE); + + return (mp->m_owner == curthread); +} + void mutex_enter(kmutex_t *mp) { ==== //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 (text+ko) ==== @@ -237,9 +237,11 @@ #define mutex_init(mp, b, c, d) zmutex_init((kmutex_t *)(mp)) #define mutex_destroy(mp) zmutex_destroy((kmutex_t *)(mp)) +#define mutex_owned(mp) zmutex_owned((kmutex_t *)(mp)) extern void zmutex_init(kmutex_t *mp); extern void zmutex_destroy(kmutex_t *mp); +extern int zmutex_owned(kmutex_t *mp); extern void mutex_enter(kmutex_t *mp); extern void mutex_exit(kmutex_t *mp); extern int mutex_tryenter(kmutex_t *mp); ==== //depot/projects/scottl-camlock/src/include/unistd.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * $FreeBSD: src/include/unistd.h,v 1.94 2009/06/15 20:38:55 jhb Exp $ + * $FreeBSD: src/include/unistd.h,v 1.95 2009/07/08 15:23:18 trasz Exp $ */ #ifndef _UNISTD_H_ @@ -513,6 +513,7 @@ int iruserok(unsigned long, int, const char *, const char *); int iruserok_sa(const void *, int, int, const char *, const char *); int issetugid(void); +long lpathconf(const char *, int); #ifndef _MKDTEMP_DECLARED char *mkdtemp(char *); #define _MKDTEMP_DECLARED ==== //depot/projects/scottl-camlock/src/lib/libc/sys/Makefile.inc#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 10/24/94 -# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.140 2009/06/24 21:10:52 jhb Exp $ +# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.141 2009/07/08 15:23:18 trasz Exp $ # sys sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/sys ${.CURDIR}/sys @@ -159,6 +159,7 @@ MLINKS+=ntp_adjtime.2 ntp_gettime.2 MLINKS+=open.2 openat.2 MLINKS+=pathconf.2 fpathconf.2 +MLINKS+=pathconf.2 lpathconf.2 MLINKS+=read.2 pread.2 read.2 preadv.2 read.2 readv.2 MLINKS+=readlink.2 readlinkat.2 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 ==== //depot/projects/scottl-camlock/src/lib/libc/sys/Symbol.map#7 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.27 2009/07/08 15:23:18 trasz Exp $ */ /* @@ -346,6 +346,7 @@ jail_set; jail_remove; linkat; + lpathconf; mkdirat; mkfifoat; mknodat; ==== //depot/projects/scottl-camlock/src/lib/libc/sys/pathconf.2#4 (text+ko) ==== @@ -26,13 +26,14 @@ .\" SUCH DAMAGE. .\" .\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.23 2009/06/25 12:53:50 trasz Exp $ +.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.24 2009/07/08 15:23:18 trasz Exp $ .\" -.Dd June 25, 2009 +.Dd July 7, 2009 .Dt PATHCONF 2 .Os .Sh NAME .Nm pathconf , +.Nm lpathconf , .Nm fpathconf .Nd get configurable pathname variables .Sh LIBRARY @@ -42,10 +43,13 @@ .Ft long .Fn pathconf "const char *path" "int name" .Ft long +.Fn lpathconf "const char *path" "int name" +.Ft long .Fn fpathconf "int fd" "int name" .Sh DESCRIPTION The -.Fn pathconf +.Fn pathconf , +.Fn lpathconf and .Fn fpathconf system calls provide a method for applications to determine the current @@ -53,7 +57,9 @@ with a pathname or file descriptor. .Pp For -.Fn pathconf , +.Fn pathconf +and +.Fn lpathconf , the .Fa path argument is the name of a file or directory. @@ -68,6 +74,18 @@ Symbolic constants for each name value are found in the include file .Li . .Pp +The +.Fn lpathconf +system call is like +.Fn pathconf +except in the case where the named file is a symbolic link, +in which case +.Fn lpathconf +returns information about the link, +while +.Fn pathconf +returns information about the file the link references. +.Pp The available values are as follows: .Pp .Bl -tag -width 6n @@ -239,3 +257,7 @@ .Fn fpathconf system calls first appeared in .Bx 4.4 . +The +.Fn lpathconf +system call first appeared in +.Fx 8.0 . ==== //depot/projects/scottl-camlock/src/share/man/man4/pcm.4#7 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.58 2009/07/07 13:58:47 joel Exp $ +.\" $FreeBSD: src/share/man/man4/pcm.4,v 1.59 2009/07/09 16:59:29 joel Exp $ .\" -.Dd July 7, 2009 +.Dd July 9, 2009 .Dt SOUND 4 .Os .Sh NAME @@ -210,10 +210,22 @@ are device specific. .Bl -tag -width indent .It Va hw.snd.compat_linux_mmap -Enable to allow PROT_EXEC page mappings. -All Linux applications using sound and +Linux +.Xr mmap 2 +compability. +The following values are supported (default is 0): +.Bl -tag -width 2n +.It -1 +Force disabling/denying PROT_EXEC +.Xr mmap 2 +requests. +.It 0 +Auto detect proc/ABI type, allow .Xr mmap 2 -require this. +for Linux applications, and deny for everything else. +.It 1 +Always allow PROT_EXEC page mappings. +.El .It Va hw.snd.default_auto Enable to automatically assign default sound unit to the most recent attached device. @@ -240,6 +252,8 @@ .It Va hw.snd.feeder_rate_polyphase_max Adjust to set the maximum number of allowed polyphase entries during the process of building resampling filters. +Disabling polyphase resampling has the benefit of reducing memory usage, at +the expense of slower and lower quality conversion. Only applicable when the SINC interpolator is used. Default value is 183040. Set to 0 to disable polyphase resampling. ==== //depot/projects/scottl-camlock/src/share/man/man5/procfs.5#2 (text+ko) ==== @@ -1,8 +1,8 @@ -.\" $FreeBSD: src/share/man/man5/procfs.5,v 1.33 2006/05/19 00:23:29 rodrigc Exp $ +.\" $FreeBSD: src/share/man/man5/procfs.5,v 1.34 2009/07/09 16:40:00 trasz Exp $ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" -.Dd September 3, 2004 +.Dd July 9, 2009 .Dt PROCFS 5 .Os .Sh NAME @@ -252,6 +252,7 @@ .Pp .Dl "mount -t procfs proc /proc" .Sh SEE ALSO +.Xr procstat 1 , .Xr mount 2 , .Xr sigaction 2 , .Xr unmount 2 , ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/cpu_switch.S#11 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.168 2009/04/01 13:09:26 kib Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.169 2009/07/09 09:34:11 kib Exp $ */ #include @@ -97,6 +97,7 @@ ENTRY(cpu_switch) /* Switch to new thread. First, save context. */ movq TD_PCB(%rdi),%r8 + movb $1,PCB_FULL_IRET(%r8) movq (%rsp),%rax /* Hardware registers */ movq %r15,PCB_R15(%r8) ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/exception.S#10 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.138 2009/04/01 13:09:26 kib Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.139 2009/07/09 09:34:11 kib Exp $ */ #include "opt_atpic.h" @@ -162,19 +162,20 @@ .globl alltraps .type alltraps,@function alltraps: + movq %rdi,TF_RDI(%rsp) testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz alltraps_testi /* already running with kernel GS.base */ swapgs + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) alltraps_testi: testl $PSL_I,TF_RFLAGS(%rsp) - jz alltraps_pushregs + jz alltraps_pushregs_no_rdi sti -alltraps_pushregs: - movq %rdi,TF_RDI(%rsp) alltraps_pushregs_no_rdi: movq %rsi,TF_RSI(%rsp) movq %rdx,TF_RDX(%rsp) @@ -233,14 +234,17 @@ .globl alltraps_noen .type alltraps_noen,@function alltraps_noen: + movq %rdi,TF_RDI(%rsp) testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) 1: movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) - jmp alltraps_pushregs + jmp alltraps_pushregs_no_rdi IDTVEC(dblfault) subq $TF_ERR,%rsp @@ -278,12 +282,13 @@ IDTVEC(page) subq $TF_ERR,%rsp movl $T_PAGEFLT,TF_TRAPNO(%rsp) + movq %rdi,TF_RDI(%rsp) /* free up a GP register */ testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs -1: - movq %rdi,TF_RDI(%rsp) /* free up a GP register */ - movq %cr2,%rdi /* preserve %cr2 before .. */ + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) +1: movq %cr2,%rdi /* preserve %cr2 before .. */ movq %rdi,TF_ADDR(%rsp) /* enabling interrupts. */ movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) @@ -311,7 +316,9 @@ testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 2f /* already running with kernel GS.base */ 1: swapgs -2: movw %fs,TF_FS(%rsp) +2: movq PCPU(CURPCB),%rdi + movb $1,PCB_FULL_IRET(%rdi) /* always full iret from GPF */ + movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) @@ -341,6 +348,8 @@ movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) + movq PCPU(CURPCB),%r11 + movb $0,PCB_FULL_IRET(%r11) sti movq $KUDSEL,TF_SS(%rsp) movq $KUCSEL,TF_CS(%rsp) @@ -644,7 +653,8 @@ */ testb $SEL_RPL_MASK,TF_CS(%rsp) jz ld_regs - + cmpb $0,PCB_FULL_IRET(%r8) + je ld_regs testl $TF_HASSEGS,TF_FLAGS(%rsp) je set_segs ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/genassym.c#13 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.177 2009/07/09 09:34:11 kib Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -141,6 +141,7 @@ ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp)); +ASSYM(PCB_FULL_IRET, offsetof(struct pcb, pcb_full_iret)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_GS32BIT, PCB_GS32BIT); ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.704 2009/07/06 18:10:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.705 2009/07/09 09:34:11 kib Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -382,6 +382,7 @@ regs->tf_fs = _ufssel; regs->tf_gs = _ugssel; regs->tf_flags = TF_HASSEGS; + td->td_pcb->pcb_full_iret = 1; PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -483,6 +484,7 @@ signotify(td); PROC_UNLOCK(p); td->td_pcb->pcb_flags |= PCB_FULLCTX; + td->td_pcb->pcb_full_iret = 1; return (EJUSTRETURN); } @@ -853,6 +855,7 @@ pcb->pcb_gsbase = 0; pcb->pcb_flags &= ~(PCB_32BIT | PCB_GS32BIT); pcb->pcb_initial_fpucw = __INITIAL_FPUCW__; + pcb->pcb_full_iret = 1; bzero((char *)regs, sizeof(struct trapframe)); regs->tf_rip = entry; @@ -2031,6 +2034,7 @@ td->td_pcb->pcb_gsbase = mcp->mc_gsbase; } td->td_pcb->pcb_flags |= PCB_FULLCTX; + td->td_pcb->pcb_full_iret = 1; return (0); } ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/sys_machdep.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.93 2009/06/27 15:03:50 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.94 2009/07/09 09:34:11 kib Exp $"); #include #include @@ -103,6 +103,7 @@ error = amd64_get_ldt(td, largs); break; case I386_SET_LDT: + td->td_pcb->pcb_full_iret = 1; if (largs->descs != NULL) { lp = (struct user_segment_descriptor *) kmem_alloc(kernel_map, largs->num * @@ -132,6 +133,7 @@ if (td != curthread) return; + td->td_pcb->pcb_full_iret = 1; critical_enter(); sd = PCPU_GET(gs32p); sd->sd_lobase = base & 0xffffff; @@ -146,6 +148,7 @@ if (td != curthread) return; + td->td_pcb->pcb_full_iret = 1; critical_enter(); sd = PCPU_GET(fs32p); sd->sd_lobase = base & 0xffffff; @@ -201,6 +204,7 @@ if (!error) { pcb->pcb_fsbase = i386base; td->td_frame->tf_fs = _ufssel; + pcb->pcb_full_iret = 1; update_gdt_fsbase(td, i386base); } break; @@ -212,6 +216,7 @@ error = copyin(uap->parms, &i386base, sizeof(i386base)); if (!error) { pcb->pcb_gsbase = i386base; + pcb->pcb_full_iret = 1; td->td_frame->tf_gs = _ugssel; update_gdt_gsbase(td, i386base); } @@ -225,6 +230,7 @@ if (!error) { if (a64base < VM_MAXUSER_ADDRESS) { pcb->pcb_fsbase = a64base; + pcb->pcb_full_iret = 1; td->td_frame->tf_fs = _ufssel; } else error = EINVAL; @@ -240,6 +246,7 @@ if (!error) { if (a64base < VM_MAXUSER_ADDRESS) { pcb->pcb_gsbase = a64base; + pcb->pcb_full_iret = 1; td->td_frame->tf_gs = _ugssel; } else error = EINVAL; @@ -525,6 +532,7 @@ uap->start, uap->num, (void *)uap->descs); #endif + td->td_pcb->pcb_full_iret = 1; p = td->td_proc; if (descs == NULL) { /* Free descriptors */ ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/vm_machdep.c#13 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.263 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.264 2009/07/09 09:34:11 kib Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -186,6 +186,9 @@ /* As an i386, do not copy io permission bitmap. */ pcb2->pcb_tssp = NULL; + /* New segment registers. */ + pcb2->pcb_full_iret = 1; + /* Copy the LDT, if necessary. */ mdp1 = &td1->td_proc->p_md; mdp2 = &p2->p_md; @@ -336,6 +339,7 @@ */ bcopy(td0->td_pcb, pcb2, sizeof(*pcb2)); pcb2->pcb_flags &= ~PCB_FPUINITDONE; + pcb2->pcb_full_iret = 1; /* * Create a new fresh stack for the new thread. @@ -450,6 +454,7 @@ } #endif td->td_pcb->pcb_fsbase = (register_t)tls_base; + td->td_pcb->pcb_full_iret = 1; return (0); } ==== //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_exception.S#5 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/ia32/ia32_exception.S,v 1.6 2009/04/01 13:09:26 kib Exp $ + * $FreeBSD: src/sys/amd64/ia32/ia32_exception.S,v 1.7 2009/07/09 09:34:11 kib Exp $ */ #include @@ -42,10 +42,16 @@ SUPERALIGN_TEXT IDTVEC(int0x80_syscall) swapgs - sti pushq $2 /* sizeof "int 0x80" */ subq $TF_ERR,%rsp /* skip over tf_trapno */ movq %rdi,TF_RDI(%rsp) + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) + movw %fs,TF_FS(%rsp) + movw %gs,TF_GS(%rsp) + movw %es,TF_ES(%rsp) + movw %ds,TF_DS(%rsp) + sti movq %rsi,TF_RSI(%rsp) movq %rdx,TF_RDX(%rsp) movq %rcx,TF_RCX(%rsp) @@ -60,10 +66,6 @@ movq %r13,TF_R13(%rsp) movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) - movw %fs,TF_FS(%rsp) - movw %gs,TF_GS(%rsp) - movw %es,TF_ES(%rsp) - movw %ds,TF_DS(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) FAKE_MCOUNT(TF_RIP(%rsp)) movq %rsp, %rdi ==== //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_reg.c#4 (text+ko) ==== @@ -23,11 +23,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.4 2009/04/01 13:09:26 kib Exp $ + * $FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.5 2009/07/09 09:34:11 kib Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.4 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.5 2009/07/09 09:34:11 kib Exp $"); #include "opt_compat.h" @@ -125,6 +125,7 @@ tp->tf_fs = regs->r_fs; tp->tf_es = regs->r_es; tp->tf_ds = regs->r_ds; + td->td_pcb->pcb_full_iret = 1; tp->tf_flags = TF_HASSEGS; tp->tf_rdi = regs->r_edi; tp->tf_rsi = regs->r_esi; ==== //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_signal.c#8 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.22 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.23 2009/07/09 09:34:11 kib Exp $"); #include "opt_compat.h" @@ -159,6 +159,7 @@ ia32_get_fpcontext(td, mcp); mcp->mc_fsbase = td->td_pcb->pcb_fsbase; mcp->mc_gsbase = td->td_pcb->pcb_gsbase; + td->td_pcb->pcb_full_iret = 1; return (0); } @@ -201,6 +202,7 @@ tp->tf_rsp = mcp->mc_esp; tp->tf_ss = mcp->mc_ss; td->td_pcb->pcb_flags |= PCB_FULLCTX; + td->td_pcb->pcb_full_iret = 1; return (0); } @@ -394,6 +396,7 @@ regs->tf_ss = _udatasel; regs->tf_ds = _udatasel; regs->tf_es = _udatasel; + td->td_pcb->pcb_full_iret = 1; /* leave user %fs and %gs untouched */ PROC_LOCK(p); mtx_lock(&psp->ps_mtx); @@ -514,6 +517,7 @@ regs->tf_ss = _udatasel; regs->tf_ds = _udatasel; regs->tf_es = _udatasel; + td->td_pcb->pcb_full_iret = 1; /* XXXKIB leave user %fs and %gs untouched */ PROC_LOCK(p); mtx_lock(&psp->ps_mtx); @@ -611,6 +615,7 @@ SIG_CANTMASK(td->td_sigmask); signotify(td); PROC_UNLOCK(p); + td->td_pcb->pcb_full_iret = 1; return (EJUSTRETURN); } #endif /* COMPAT_FREEBSD4 */ @@ -702,6 +707,7 @@ SIG_CANTMASK(td->td_sigmask); signotify(td); PROC_UNLOCK(p); + td->td_pcb->pcb_full_iret = 1; return (EJUSTRETURN); } @@ -747,5 +753,6 @@ /* Return via doreti so that we can change to a different %cs */ pcb->pcb_flags |= PCB_FULLCTX | PCB_32BIT; pcb->pcb_flags &= ~PCB_GS32BIT; + td->td_pcb->pcb_full_iret = 1; td->td_retval[1] = 0; } ==== //depot/projects/scottl-camlock/src/sys/amd64/include/pcb.h#9 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.71 2009/04/01 16:24:24 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.72 2009/07/09 09:34:11 kib Exp $ */ #ifndef _AMD64_PCB_H_ @@ -72,12 +72,13 @@ struct savefpu pcb_save; uint16_t pcb_initial_fpucw; - caddr_t pcb_onfault; /* copyin/out fault recovery */ + caddr_t pcb_onfault; /* copyin/out fault recovery */ /* 32-bit segment descriptor */ struct user_segment_descriptor pcb_gs32sd; /* local tss, with i/o bitmap; NULL for common */ struct amd64tss *pcb_tssp; + char pcb_full_iret; }; struct xpcb { ==== //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_sysvec.c#16 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.51 2009/05/10 18:43:43 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.52 2009/07/09 09:34:11 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -423,6 +423,7 @@ regs->tf_fs = _ufssel; regs->tf_gs = _ugssel; regs->tf_flags = TF_HASSEGS; + td->td_pcb->pcb_full_iret = 1; PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -545,6 +546,7 @@ regs->tf_fs = _ufssel; regs->tf_gs = _ugssel; regs->tf_flags = TF_HASSEGS; + td->td_pcb->pcb_full_iret = 1; PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -645,6 +647,7 @@ regs->tf_rflags = eflags; regs->tf_rsp = frame.sf_sc.sc_esp_at_signal; regs->tf_ss = frame.sf_sc.sc_ss; + td->td_pcb->pcb_full_iret = 1; return (EJUSTRETURN); } @@ -746,6 +749,7 @@ regs->tf_rflags = eflags; regs->tf_rsp = context->sc_esp_at_signal; regs->tf_ss = context->sc_ss; + td->td_pcb->pcb_full_iret = 1; /* * call sigaltstack & ignore results.. @@ -864,6 +868,7 @@ regs->tf_flags = TF_HASSEGS; regs->tf_cs = _ucode32sel; regs->tf_rbx = ps_strings; + td->td_pcb->pcb_full_iret = 1; load_cr0(rcr0() | CR0_MP | CR0_TS); fpstate_drop(td); ==== //depot/projects/scottl-camlock/src/sys/bsm/audit_kevents.h#12 (text+ko) ==== @@ -27,7 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#6 - * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.20 2009/04/19 14:53:17 rwatson Exp $ + * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.21 2009/07/08 15:23:18 trasz Exp $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -597,6 +597,7 @@ #define AUE_PWRITE 43193 /* Darwin/FreeBSD. */ #define AUE_FSCTL 43194 /* Darwin. */ #define AUE_FFSCTL 43195 /* Darwin. */ +#define AUE_LPATHCONF 43196 /* FreeBSD. */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.105 2009/06/24 21:54:08 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.106 2009/07/08 16:30:34 trasz Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.104 2009/06/24 21:54:08 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.105 2009/07/08 16:30:34 trasz Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz */ #define FREEBSD32_SYS_syscall 0 @@ -381,4 +381,5 @@ #define FREEBSD32_SYS_freebsd32_semctl 510 #define FREEBSD32_SYS_freebsd32_msgctl 511 #define FREEBSD32_SYS_freebsd32_shmctl 512 -#define FREEBSD32_SYS_MAXSYSCALL 513 +#define FREEBSD32_SYS_lpathconf 513 +#define FREEBSD32_SYS_MAXSYSCALL 514 ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.95 2009/06/24 21:54:08 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.96 2009/07/08 16:30:34 trasz Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz */ const char *freebsd32_syscallnames[] = { @@ -520,4 +520,5 @@ "freebsd32_semctl", /* 510 = freebsd32_semctl */ "freebsd32_msgctl", /* 511 = freebsd32_msgctl */ "freebsd32_shmctl", /* 512 = freebsd32_shmctl */ + "lpathconf", /* 513 = lpathconf */ }; ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#22 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.106 2009/06/24 21:54:08 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.107 2009/07/08 16:30:34 trasz Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 195468 2009-07-08 16:26:43Z trasz */ #include "opt_compat.h" @@ -557,4 +557,5 @@ { AS(freebsd32_semctl_args), (sy_call_t *)freebsd32_semctl, AUE_SEMCTL, NULL, 0, 0, 0 }, /* 510 = freebsd32_semctl */ { AS(freebsd32_msgctl_args), (sy_call_t *)freebsd32_msgctl, AUE_MSGCTL, NULL, 0, 0, 0 }, /* 511 = freebsd32_msgctl */ { AS(freebsd32_shmctl_args), (sy_call_t *)freebsd32_shmctl, AUE_SHMCTL, NULL, 0, 0, 0 }, /* 512 = freebsd32_shmctl */ + { AS(lpathconf_args), (sy_call_t *)lpathconf, AUE_LPATHCONF, NULL, 0, 0, 0 }, /* 513 = lpathconf */ }; ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#24 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.121 2009/06/24 21:10:52 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.123 2009/07/08 16:26:43 trasz Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -900,3 +900,4 @@ struct msqid_ds32 *buf); } 512 AUE_SHMCTL STD { int freebsd32_shmctl(int shmid, int cmd, \ struct shmid_ds32 *buf); } +513 AUE_LPATHCONF NOPROTO { int lpathconf(char *path, int name); } ==== //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_stat.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.32 2009/06/13 00:12:02 jamie Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.33 2009/07/08 15:23:18 trasz Exp $"); #include #include @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -669,7 +670,7 @@ return (0); default: CHECKALTEXIST(td, uap->path, &path); - error = kern_pathconf(td, path, UIO_SYSSPACE, name); + error = kern_pathconf(td, path, UIO_SYSSPACE, name, FOLLOW); free(path, M_TEMP); return (error); } ==== //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_sge.c#15 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_sge.c,v 1.76 2009/06/25 21:50:15 np Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 10 14:58:38 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 471661065672; Fri, 10 Jul 2009 14:58:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03720106566B for ; Fri, 10 Jul 2009 14:58:38 +0000 (UTC) (envelope-from alepulver@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E4FA78FC0C for ; Fri, 10 Jul 2009 14:58:37 +0000 (UTC) (envelope-from alepulver@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6AEwbWh034946 for ; Fri, 10 Jul 2009 14:58:37 GMT (envelope-from alepulver@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6AEwbPo034944 for perforce@freebsd.org; Fri, 10 Jul 2009 14:58:37 GMT (envelope-from alepulver@freebsd.org) Date: Fri, 10 Jul 2009 14:58:37 GMT Message-Id: <200907101458.n6AEwbPo034944@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to alepulver@freebsd.org using -f From: Alejandro Pulver To: Perforce Change Reviews Cc: Subject: PERFORCE change 165904 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 14:58:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=165904 Change 165904 by alepulver@alepulver_deimos on 2009/07/10 14:57:39 - Fix problem with configuration files. - Add php-posix dependency. - Fix incompatibility with FreeBSD's postgresql naming conventions. - Replace nonexistent "\w" pattern in grep with equivalent. - Fix post-installation script. Affected files ... .. //depot/projects/soc2008/alepulver-portslicense/ports/devel/fossology/Makefile#4 edit .. //depot/projects/soc2008/alepulver-portslicense/ports/devel/fossology/files/patch-common__fo-postinstall.in#1 add .. //depot/projects/soc2008/alepulver-portslicense/ports/devel/fossology/files/patch-db__dbcreate.in#1 add .. //depot/projects/soc2008/alepulver-portslicense/ports/devel/fossology/files/patch-scheduler__lockfs.c#2 delete .. //depot/projects/soc2008/alepulver-portslicense/ports/devel/fossology/files/patch-scheduler__selftest.c#1 add Differences ... ==== //depot/projects/soc2008/alepulver-portslicense/ports/devel/fossology/Makefile#4 (text+ko) ==== @@ -43,7 +43,7 @@ USE_PERL5= yes USE_PGSQL= yes IGNORE_WITH_PGSQL= 73 74 80 -USE_PHP= pgsql session +USE_PHP= pgsql session posix IGNORE_WITH_PHP=4 WANT_PHP_CLI= yes USE_RC_SUBR= fossology @@ -82,6 +82,9 @@ # Fix PostgreSQL user name (postgres -> pgsql) @${REINPLACE_CMD} -e 's|su postgres|su pgsql|' \ ${WRKSRC}/db/dbcreate.in +# Fix shm file path + @${REINPLACE_CMD} -Ee 's|"(fossology-scheduler)"|"/var/tmp/\1"|' \ + ${WRKSRC}/scheduler/lockfs.c pre-install: @${MKDIR} ${PREFIX}/lib/fossology/agents ${DATADIR}/php @@ -91,6 +94,10 @@ ${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/INSTALL* ${DOCSDIR} .endif +.for f in Db Depth Hosts Proxy RepPath + @cd ${PREFIX}/etc/fossology && test -f ${f}.conf || \ + ${CP} ${f}.conf.sample ${f}.conf +.endfor @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD} .include From owner-p4-projects@FreeBSD.ORG Fri Jul 10 15:01:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DC761065673; Fri, 10 Jul 2009 15:01:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DD74106566B for ; Fri, 10 Jul 2009 15:01:41 +0000 (UTC) (envelope-from alepulver@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A69C8FC17 for ; Fri, 10 Jul 2009 15:01:41 +0000 (UTC) (envelope-from alepulver@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6AF1fcB035185 for ; Fri, 10 Jul 2009 15:01:41 GMT (envelope-from alepulver@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6AF1fau035183 for perforce@freebsd.org; Fri, 10 Jul 2009 15:01:41 GMT (envelope-from alepulver@freebsd.org) Date: Fri, 10 Jul 2009 15:01:41 GMT Message-Id: <200907101501.n6AF1fau035183@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to alepulver@freebsd.org using -f From: Alejandro Pulver To: Perforce Change Reviews Cc: Subject: PERFORCE change 165905 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 15:01:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=165905 Change 165905 by alepulver@alepulver_deimos on 2009/07/10 15:01:09 - Integrate latest CVS changes. Affected files ... .. //depot/projects/soc2008/alepulver-portslicense/ports/GIDs#3 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.database.mk#4 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.emacs.mk#3 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.gcc.mk#5 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.linux-apps.mk#3 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.linux-rpm.mk#5 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.php.mk#4 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.port.mk#7 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.python.mk#5 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.ruby.mk#6 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.tcl.mk#3 integrate .. //depot/projects/soc2008/alepulver-portslicense/ports/UIDs#3 integrate Differences ... ==== //depot/projects/soc2008/alepulver-portslicense/ports/GIDs#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: ports/GIDs,v 1.71 2009/04/07 11:49:11 rafan Exp $ +# $FreeBSD: ports/GIDs,v 1.74 2009/06/19 17:16:01 mezz Exp $ # Please keep this file sorted by GID! smmsp:*:25: bind:*:53: @@ -140,3 +140,6 @@ ssmtp:*:916: prayer:*:917: nefu:*:918: +couchdb:*:919: +vboxusers:*:920: +transmission:*:921: ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.database.mk#4 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.database.mk,v 1.35 2009/03/31 05:18:22 danfe Exp $ +# $FreeBSD: ports/Mk/bsd.database.mk,v 1.36 2009/07/08 06:54:19 girgen Exp $ # .if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include) @@ -173,6 +173,7 @@ PGSQL81_LIBVER= 4 PGSQL82_LIBVER= 5 PGSQL83_LIBVER= 5 +PGSQL84_LIBVER= 5 # Setting/finding PostgreSQL version we want. .if exists(${LOCALBASE}/bin/pg_config) ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.emacs.mk#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: ports/Mk/bsd.emacs.mk,v 1.78 2009/04/02 21:37:31 pav Exp $ +# $FreeBSD: ports/Mk/bsd.emacs.mk,v 1.81 2009/06/23 15:05:31 pgollucci Exp $ # # bsd.emacs.mk - 19990829 Shigeyuki Fukushima. # @@ -100,7 +100,7 @@ # Emacs-23.x (development version) .elif (${EMACS_PORT_NAME} == "emacs-devel") EMACS_NAME= emacs -EMACS_VER= 23.0.92 +EMACS_VER= 23.0.95 EMACS_MAJOR_VER= 23 EMACS_LIBDIR?= share/${EMACS_NAME} EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER} ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.gcc.mk#5 (text+ko) ==== @@ -30,7 +30,7 @@ # If you are wondering what your port exactly does, use "make test-gcc" # to see some debugging. # -# $FreeBSD: ports/Mk/bsd.gcc.mk,v 1.29 2009/03/28 23:57:56 gerald Exp $ +# $FreeBSD: ports/Mk/bsd.gcc.mk,v 1.30 2009/06/19 17:48:47 gerald Exp $ # GCC_Include_MAINTAINER= gerald@FreeBSD.org @@ -39,7 +39,7 @@ # All GCC versions supported by the ports framework. # Please keep them in ascending order. # -GCCVERSIONS= 029500 030402 040200 040300 040400 +GCCVERSIONS= 030402 040200 040300 040400 # # Versions of GCC shipped. @@ -48,7 +48,6 @@ # the base system. # The third field is the version as USE_GCC would use. # -GCCVERSION_029500= 400012 500035 2.95 GCCVERSION_030402= 502126 700042 3.4 GCCVERSION_040200= 700042 999999 4.2 GCCVERSION_040300= 999999 999999 4.3 ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.linux-apps.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.linux-apps.mk,v 1.22 2009/06/12 18:03:43 bsam Exp $ +# $FreeBSD: ports/Mk/bsd.linux-apps.mk,v 1.24 2009/07/03 20:58:54 nox Exp $ # # Please view me with 4 column tabs! @@ -48,8 +48,12 @@ . else IGNORE= valid values for OVERRIDE_LINUX_NONBASE_PORTS are \"f8\", \"f10\" . endif +. elif ${OSVERSION} < 800076 +# default for OSVERSION < 800076 +LINUX_DIST_SUFFIX= . else -LINUX_DIST_SUFFIX= +# default for OSVERSION >= 800076 +LINUX_DIST_SUFFIX= -f10 . endif # I'm not sure if kompozer is better for linux-f8 ports, so use nvu @@ -66,7 +70,8 @@ _LINUX_APPS_ALL+= # 2.6.16 components -_LINUX_26_APPS= libidn libssh2 nspr nss sqlite3 tcl84 tk84 +_LINUX_26_APPS= cyrus-sasl2 libidn libssh2 nspr nss openldap \ + sqlite3 tcl84 tk84 _LINUX_APPS_ALL+= ${_LINUX_26_APPS} @@ -132,6 +137,14 @@ curl_f10_FILE= ${LINUXBASE}/usr/lib/libcurl.so.4.1.1 curl_DETECT= ${curl${LINUX_DIST_SUFFIX:S/-/_/}_FILE} curl_PORT= ${PORTSDIR}/ftp/linux${LINUX_DIST_SUFFIX}-curl +. if ${LINUX_DIST_SUFFIX} == "-f10" +curl_DEPENDS= cyrus-sasl2 openldap +. endif + +# no cyrus-sasl2_FILE, cyrus-sasl2_f8_FILE +cyrus-sasl2_f10_FILE= ${LINUXBASE}/usr/lib/libsasl2.so.2.0.22 +cyrus-sasl2_DETECT= ${cyrus-sasl2${LINUX_DIST_SUFFIX:S/-/_/}_FILE} +cyrus-sasl2_PORT= ${PORTSDIR}/security/linux${LINUX_DIST_SUFFIX}-cyrus-sasl2 dri_FILE= ${LINUXBASE}/usr/X11R6/lib/libGL.so.1 dri_f8_FILE= ${LINUXBASE}/usr/lib/libGL.so.1 @@ -303,6 +316,11 @@ mikmod_DETECT= ${mikmod${LINUX_DIST_SUFFIX:S/-/_/}_FILE} mikmod_PORT= ${PORTSDIR}/audio/linux${LINUX_DIST_SUFFIX}-mikmod +# no openldap_FILE, openldap_f8_FILE +openldap_f10_FILE= ${LINUXBASE}/usr/lib/libldap-2.4.so.2.2.0 +openldap_DETECT= ${openldap${LINUX_DIST_SUFFIX:S/-/_/}_FILE} +openldap_PORT= ${PORTSDIR}/net/linux${LINUX_DIST_SUFFIX}-openldap + openmotif_FILE= ${LINUXBASE}/usr/X11R6/lib/libXm.so.3.0.3 openmotif_f8_FILE= ${LINUXBASE}/usr/lib/libXm.so.4.0.2 openmotif_f10_FILE= ${LINUXBASE}/usr/X11R6/lib/libXm.so.3.0.3 ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.linux-rpm.mk#5 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.linux-rpm.mk,v 1.19 2009/06/01 17:26:07 bsam Exp $ +# $FreeBSD: ports/Mk/bsd.linux-rpm.mk,v 1.22 2009/07/01 20:35:34 bsam Exp $ # # Variables: @@ -63,7 +63,15 @@ Linux_RPM_Post_Include= bsd.linux-rpm.mk LINUX_DIST?= fedora -LINUX_DIST_VER?= 3 +. if ${OSVERSION} < 800076 +LINUX_DIST_VER?= 4 +. else +LINUX_DIST_VER?= 10 +. if !defined(OVERRIDE_LINUX_NONBASE_PORTS) && \ + ${LINUX_DIST_VER} != 10 +IGNORE= bsd.linux-rpm.mk test failed: default package building at OSVERSION>=800076 was changed to linux-f10 ports, please define OVERRIDE_LINUX_NONBASE_PORTS to build other linux infrastructure ports +. endif +. endif # linux Fedora 8 infrastructure ports should be used with compat.linux.osrelease=2.6.16, # linux_base-f8 (or greater) port @@ -72,14 +80,19 @@ . if (${LINUX_OSRELEASE} != "2.6.16") IGNORE= bsd.linux-rpm.mk test failed: the port should be used with compat.linux.osrelease=2.6.16, which is supported at 8-CURRENT and has a limitted support at 7-STABLE . endif +# the default for OSVERSION < 800076 +. if ${OSVERSION} < 800076 # let's check if an apropriate linux base port is used -. if ${USE_LINUX} != f8 && ${USE_LINUX} != f9 && ${USE_LINUX} != f10 +. if ${USE_LINUX} != f8 && ${USE_LINUX} != f9 && ${USE_LINUX} != f10 IGNORE= bsd.linux-rpm.mk test failed: the port should be used with at least linux_base-f8, please read /usr/ports/UPDATING -. endif +. endif # let's check if OVERRIDE_LINUX_NONBASE_PORTS is defined -. ifndef(OVERRIDE_LINUX_NONBASE_PORTS) +. ifndef(OVERRIDE_LINUX_NONBASE_PORTS) IGNORE= bsd.linux-rpm.mk test failed: the port should be used with defined OVERRIDE_LINUX_NONBASE_PORTS, please read /usr/ports/UPDATING -. endif +. endif +# the default for OSVERSION >= 800076 +#. else +. endif # ${OSVERSION} < 800076 . endif . if defined(LINUX_DIST) ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.php.mk#4 (text+ko) ==== @@ -7,7 +7,7 @@ # Please send all suggested changes to the maintainer instead of committing # them to CVS yourself. # -# $FreeBSD: ports/Mk/bsd.php.mk,v 1.50 2009/03/06 10:08:32 ale Exp $ +# $FreeBSD: ports/Mk/bsd.php.mk,v 1.51 2009/06/15 09:22:34 ale Exp $ # # Adding 'USE_PHP=yes' to a port includes this Makefile after bsd.ports.pre.mk. # If the port requires a predefined set of PHP extensions, they can be @@ -244,7 +244,7 @@ tokenizer wddx xml xmlrpc yaz zip zlib # version specific components _USE_PHP_VER4= ${_USE_PHP_ALL} crack dbx dio domxml filepro mcal mcve \ - mnogosearch oracle overload pfpro xslt yp + oracle overload pfpro xslt yp _USE_PHP_VER5= ${_USE_PHP_ALL} dom filter ming mysqli oci8 pdo \ pdo_mysql pdo_sqlite \ simplexml soap spl sqlite tidy xmlreader xmlwriter xsl @@ -283,7 +283,6 @@ memcache_DEPENDS= databases/pecl-memcache mhash_DEPENDS= security/php${PHP_VER}-mhash ming_DEPENDS= graphics/php${PHP_VER}-ming -mnogosearch_DEPENDS= www/php${PHP_VER}-mnogosearch mssql_DEPENDS= databases/php${PHP_VER}-mssql mysql_DEPENDS= databases/php${PHP_VER}-mysql mysqli_DEPENDS= databases/php${PHP_VER}-mysqli ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.port.mk#7 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.623 2009/06/11 09:09:29 erwin Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.624 2009/06/26 17:03:48 bsam Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -1836,7 +1836,11 @@ LINUX_BASE_PORT= ${LINUXBASE}/bin/sh:${PORTSDIR}/emulators/linux_base-${USE_LINUX} . else . if ${USE_LINUX:L} == "yes" +. if ${OSVERSION} < 800076 LINUX_BASE_PORT= ${LINUXBASE}/etc/fedora-release:${PORTSDIR}/emulators/linux_base-fc4 +. else +LINUX_BASE_PORT= ${LINUXBASE}/etc/fedora-release:${PORTSDIR}/emulators/linux_base-f10 +. endif . else IGNORE= cannot be built: there is no emulators/linux_base-${USE_LINUX}, perhaps wrong use of USE_LINUX or OVERRIDE_LINUX_BASE_PORT . endif ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.python.mk#5 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.python.mk,v 1.113 2009/06/08 22:30:45 miwi Exp $ +# $FreeBSD: ports/Mk/bsd.python.mk,v 1.114 2009/07/06 20:30:29 lwhsu Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include) @@ -214,7 +214,7 @@ # _PYTHON_PORTBRANCH= 2.6 -_PYTHON_ALLBRANCHES= 2.6 2.5 2.4 2.3 3.0 # preferred first +_PYTHON_ALLBRANCHES= 2.6 2.5 2.4 2.3 3.1 3.0 # preferred first _ZOPE_PORTBRANCH= 2.7 _ZOPE_ALLBRANCHES= 2.7 2.8 2.9 2.10 3.2 @@ -369,8 +369,16 @@ # Propagate the chosen python version to submakes. .MAKEFLAGS: PYTHON_VERSION=python${_PYTHON_VERSION} +# Python-3.1 +.if ${PYTHON_VERSION} == "python3.1" +PYTHON_PORTVERSION?=3.1 +PYTHON_PORTSDIR= ${PORTSDIR}/lang/python31 +PYTHON_REL= 310 +PYTHON_SUFFIX= 31 +PYTHON_VER= 3.1 + # Python-3.0 -.if ${PYTHON_VERSION} == "python3.0" +.elif ${PYTHON_VERSION} == "python3.0" PYTHON_PORTVERSION?=3.0.1 PYTHON_PORTSDIR= ${PORTSDIR}/lang/python30 PYTHON_REL= 301 @@ -428,6 +436,7 @@ @${ECHO} " python2.5" @${ECHO} " python2.6 (default)" @${ECHO} " python3.0" + @${ECHO} " python3.1" @${FALSE} .endif ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.ruby.mk#6 (text+ko) ==== @@ -3,7 +3,7 @@ # # Created by: Akinori MUSHA # -# $FreeBSD: ports/Mk/bsd.ruby.mk,v 1.182 2009/06/12 22:44:56 stas Exp $ +# $FreeBSD: ports/Mk/bsd.ruby.mk,v 1.185 2009/06/19 12:42:44 stas Exp $ # .if !defined(Ruby_Include) @@ -170,7 +170,7 @@ # Ruby 1.8 # RUBY_RELVERSION= 1.8.7 -RUBY_PORTREVISION= 1 +RUBY_PORTREVISION= 3 RUBY_PORTEPOCH= 1 RUBY_PATCHLEVEL= 160 @@ -198,7 +198,7 @@ # Ruby 1.9 # RUBY_RELVERSION= 1.9.1 -RUBY_PORTREVISION= 0 +RUBY_PORTREVISION= 1 RUBY_PORTEPOCH= 1 RUBY_PATCHLEVEL= 129 ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.tcl.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.tcl.mk,v 1.10 2009/02/23 14:46:22 mm Exp $ +# $FreeBSD: ports/Mk/bsd.tcl.mk,v 1.11 2009/07/07 07:34:31 mm Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Tcl_Pre_Include) @@ -12,7 +12,7 @@ # USE_TCL - Add library dependency on Tcl. If no version is given by the maintainer # via the port or by the user via defined variable try to find the highest # stable installed version. -# Available values: yes 86+ 85+ 84+ 83+ 82+ 80+ 85 84 83 82 80 +# Available values: yes 86+ 85+ 84+ 83+ 82+ 85 84 83 82 # NOTE: - default value 85 is used in case of USE_TCL=yes # # USE_TCL_BUILD - Add buildtime dependency on Tcl (tclsh). @@ -51,7 +51,7 @@ # USE_TK - Add library dependency on Tk. If no version is given by the maintainer # via the port or by the user via defined variable try to find the highest # stable installed version. -# Avaliable values: yes 86+ 85+ 84+ 83+ 82+ 80+ 85 84 83 82 80 +# Avaliable values: yes 86+ 85+ 84+ 83+ 82+ 85 84 83 82 # NOTE: - overrides USE_TCL # - default value 85 is used in case of USE_TK=yes # @@ -191,13 +191,12 @@ . if defined(USE_TCL) _TCL_DEFAULT_VERSION= 85 -_TCL_VERSIONS= 86 85 84 83 82 80 +_TCL_VERSIONS= 86 85 84 83 82 _TCL_THREADS_VERSIONS= 86 85 84 -_TCL_RANGE_VERSIONS= 86+ 85+ 84+ 83+ 82+ 80+ +_TCL_RANGE_VERSIONS= 86+ 85+ 84+ 83+ 82+ _TCL_THREADS_RANGE_VERSIONS= 86+ 85+ 84+ # For specifying [85, 84, ..]+ -_TCL_80P= 80 82 83 84 85 86 _TCL_82P= 82 83 84 85 86 _TCL_83P= 83 84 85 86 _TCL_84P= 84 85 86 ==== //depot/projects/soc2008/alepulver-portslicense/ports/UIDs#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: ports/UIDs,v 1.82 2009/04/07 11:49:11 rafan Exp $ +# $FreeBSD: ports/UIDs,v 1.85 2009/06/19 17:16:01 mezz Exp $ # Please keep this file sorted by UID! smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin bind:*:53:53::0:0:Bind Sandbox:/:/usr/sbin/nologin @@ -33,7 +33,7 @@ vpopmail:*:89:89::0:0:VPop Mail User:/usr/local/vpopmail:/nonexistent firebird:*:90:90::0:0:Firebird Database Administrator:/var/db/firebird:/bin/sh mailman:*:91:91::0:0:Mailman User:/usr/local/mailman:/usr/sbin/nologin -gdm:*:92:92::0:0:GDM Sandbox:/:/usr/sbin/nologin +gdm:*:92:92::0:0:GNOME Display Manager:/usr/local/etc/gdm/home:/sbin/nologin jabber:*:93:93::0:0:Jabber Daemon:/nonexistent:/nonexistent p4admin:*:94:94::0:0:Perforce admin:/usr/local/perforce:/usr/sbin/nologin interch:*:95:95::0:0:Interchange user:/usr/local/interchange:/usr/sbin/nologin @@ -150,3 +150,6 @@ logcheck:*:915:915::0:0:Logcheck system account:/var/lib/logcheck:/usr/local/bin/bash _prayer:*:917:917:daemon:0:0:Prayer Account:/nonexistent:/sbin/nologin nefu:*:918:918::0:0:Nefu daemon:/var/db/nefu:/sbin/nologin +couchdb:*:919:919:daemon:0:0:CouchDB Account:/var/empty:/usr/sbin/nologin +vboxusers:*:920:920::0:0:Virtualbox user:/nonexistent:/sbin/nologin +transmission:*:921:921::0:0:Transmission Daemon User:/usr/local/etc/transmission/home:/usr/sbin/nologin From owner-p4-projects@FreeBSD.ORG Fri Jul 10 17:49:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 768A110656A9; Fri, 10 Jul 2009 17:49:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3657C106566C for ; Fri, 10 Jul 2009 17:49:45 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 195958FC0C for ; Fri, 10 Jul 2009 17:49:45 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6AHnisQ060155 for ; Fri, 10 Jul 2009 17:49:44 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6AHniXI060153 for perforce@freebsd.org; Fri, 10 Jul 2009 17:49:44 GMT (envelope-from trasz@freebsd.org) Date: Fri, 10 Jul 2009 17:49:44 GMT Message-Id: <200907101749.n6AHniXI060153@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165909 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 17:49:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=165909 Change 165909 by trasz@trasz_victim on 2009/07/10 17:48:54 Make it possible to query for all the limits for a particular process. It's another step towards actual limit enforcement. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#28 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#21 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#14 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#28 (text+ko) ==== @@ -986,6 +986,107 @@ } static int +hrl_get_rules_pid(struct thread *td, char *inputstr, struct sbuf **outputsbuf) +{ + int error = 0, copied = 0; + id_t pid; + struct proc *p; + struct ucred *cred; + struct hrl_rule *buf; + struct hrl_limit *limit; + struct prison *pr; + + error = str2id(inputstr, &pid); + if (error) + return (error); + + buf = malloc(HRL_MAX_RULES * sizeof(struct hrl_rule), M_HRL, M_WAITOK); + + if ((p = pfind(pid)) == NULL) { + if ((p = zpfind(pid)) == NULL) { + free(buf, M_HRL); + return (ESRCH); + } + } + + cred = p->p_ucred; + pr = cred->cr_prison; + + /* + * Copy the limits to the temporary buffer. We cannot + * copy it directly to the userland because of the mutex. + */ + mtx_lock(&hrl_lock); + LIST_FOREACH(limit, &p->p_limits, hl_next) { + if (copied >= HRL_MAX_RULES) { + /* + * XXX: Hey, what to do now? + */ + error = EDOOFUS; + break; + } + + *(buf + copied) = *(limit->hl_rule); + copied++; + } + LIST_FOREACH(limit, &cred->cr_uidinfo->ui_limits, hl_next) { + if (copied >= HRL_MAX_RULES) { + /* + * XXX: Hey, what to do now? + */ + error = EDOOFUS; + break; + } + + *(buf + copied) = *(limit->hl_rule); + copied++; + } + if (cred->cr_uidinfo != cred->cr_ruidinfo) { + LIST_FOREACH(limit, &cred->cr_ruidinfo->ui_limits, hl_next) { + if (copied >= HRL_MAX_RULES) { + /* + * XXX: Hey, what to do now? + */ + error = EDOOFUS; + break; + } + + *(buf + copied) = *(limit->hl_rule); + copied++; + } + } + + /* + * XXX: Groups. + */ + + for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) { + LIST_FOREACH(limit, &pr->pr_limits, hl_next) { + if (copied >= HRL_MAX_RULES) { + /* + * XXX: Hey, what to do now? + */ + error = EDOOFUS; + break; + } + + *(buf + copied) = *(limit->hl_rule); + copied++; + } + } + mtx_unlock(&hrl_lock); + PROC_UNLOCK(p); + if (error) + goto out; + + *outputsbuf = hrl_rules_to_sbuf(buf, copied); +out: + free(buf, M_HRL); + + return (error); +} + +static int hrl_add_rule(struct thread *td, char *inputstr) { int error; @@ -1179,6 +1280,9 @@ case HRL_OP_GET_RULES: error = hrl_get_rules(td, inputstr, &outputsbuf); break; + case HRL_OP_GET_RULES_PID: + error = hrl_get_rules_pid(td, inputstr, &outputsbuf); + break; case HRL_OP_ADD_RULE: error = hrl_add_rule(td, inputstr); break; ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#21 (text+ko) ==== @@ -38,6 +38,7 @@ */ #define HRL_OP_GET_RULES 1 +#define HRL_OP_GET_RULES_PID 8 #define HRL_OP_ADD_RULE 6 #define HRL_OP_REMOVE_RULE 7 #define HRL_OP_GET_USAGE_PID 2 ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#14 (text+ko) ==== @@ -143,6 +143,10 @@ char *outbuf = NULL, *tmp; size_t outbuflen = BUFLEN_DEFAULT / 4; + /* + * XXX: We should resolve user/group names here. + */ + do { outbuflen *= 4; outbuf = realloc(outbuf, outbuflen); @@ -173,6 +177,46 @@ free(outbuf); } +static void +print_rules_pid(id_t pid) +{ + int error; + char *outbuf = NULL, *inbuf = NULL, *tmp; + size_t outbuflen = BUFLEN_DEFAULT / 4; + + asprintf(&inbuf, "%d", (int)pid); + if (inbuf == NULL) + err(1, "asprintf"); + + /* + * XXX: We should resolve user/group names here. + */ + + do { + outbuflen *= 4; + outbuf = realloc(outbuf, outbuflen); + if (outbuf == NULL) + err(1, "realloc"); + + error = hrl(HRL_OP_GET_RULES, inbuf, strlen(inbuf) + 1, outbuf, outbuflen); + if (error && errno != EFBIG) + err(1, "hrl"); + } while (error && errno == EFBIG); + + for (tmp = outbuf; *tmp != '\0'; tmp++) + if (*tmp == ',') + *tmp = '\n'; + + printf("Defined resource limits for process %d:\n%s\n", (int)pid, outbuf); + + /* + * XXX: Resolve numeric ID-s back to names. + */ + + free(inbuf); + free(outbuf); +} + /* * Query the kernel about a resource usage and print it out. */ @@ -203,6 +247,7 @@ *tmp = '\n'; printf("Resource utilisation:\n%s\n", outbuf); + free(inbuf); free(outbuf); } @@ -254,20 +299,20 @@ usage(void) { - fprintf(stderr, "usage: hrl [-a rule | -r rule | -u user | -g group | -p pid | -j jailid] [rule]\n"); + fprintf(stderr, "usage: hrl [-a rule | -r rule | -u user | -g group | -p pid | -j jailid -P pid] [rule]\n"); exit(1); } int main(int argc __unused, char **argv __unused) { - int ch, op, aflag = 0, gflag = 0, jflag = 0, pflag = 0, rflag = 0, uflag = 0; + int ch, op, aflag = 0, gflag = 0, jflag = 0, pflag = 0, rflag = 0, uflag = 0, Pflag = 0; id_t id = 0; char *rule = NULL; op = HRL_OP_GET_RULES; - while ((ch = getopt(argc, argv, "a:g:j:p:r:u:")) != -1) { + while ((ch = getopt(argc, argv, "a:g:j:p:r:u:P:")) != -1) { switch (ch) { case 'a': aflag = 1; @@ -299,6 +344,13 @@ op = HRL_OP_GET_USAGE_UID; id = parse_user(optarg); break; + + case 'P': + Pflag = 1; + op = HRL_OP_GET_RULES_PID; + id = parse_pid(optarg); + break; + case '?': default: usage(); @@ -314,7 +366,7 @@ if (argc == 1) rule = strdup(argv[0]); - if (aflag + gflag + jflag + pflag + rflag + uflag > 1) + if (aflag + gflag + jflag + pflag + rflag + uflag + Pflag > 1) errx(1, "only one flag may be specified " "at the same time"); @@ -337,6 +389,10 @@ add_or_remove_rule(op, rule); free(rule); break; + + case HRL_OP_GET_RULES_PID: + print_rules_pid(id); + break; } return (0); From owner-p4-projects@FreeBSD.ORG Fri Jul 10 19:12:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2590E1065673; Fri, 10 Jul 2009 19:12:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8925106564A for ; Fri, 10 Jul 2009 19:12:15 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C49768FC18 for ; Fri, 10 Jul 2009 19:12:15 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6AJCFFm068056 for ; Fri, 10 Jul 2009 19:12:15 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6AJCF0l068054 for perforce@freebsd.org; Fri, 10 Jul 2009 19:12:15 GMT (envelope-from trasz@freebsd.org) Date: Fri, 10 Jul 2009 19:12:15 GMT Message-Id: <200907101912.n6AJCF0l068054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165911 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 19:12:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=165911 Change 165911 by trasz@trasz_victim on 2009/07/10 19:12:12 IFC. Affected files ... .. //depot/projects/soc2009/trasz_limits/MAINTAINERS#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/ps/ps.1#3 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/head/thread.h#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.include.dist#4 integrate .. //depot/projects/soc2009/trasz_limits/include/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/include/unistd.h#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#6 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/execve.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/pathconf.2#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcam/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rtld.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rwlock.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_desc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_io.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.c#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/Makefile#6 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ahci.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/pcm.4#4 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/procfs.5#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/genassym.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/msi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/ia32/ia32_reg.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/param.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pcb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/param.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_all.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_all.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_da.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_xpt.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cam/cam.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_ccb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_periph.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt_internal.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt_periph.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_ch.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_pass.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_pt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_sa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_ses.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_sg.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_xpt.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_proto.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_stat.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/newvers.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/advansys/advlib.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/amd/amd.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/atapi-cam.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-ahci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-nvidia.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ciss/cissvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/r600_cp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_drv.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/isp/isp_freebsd.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/iwi/if_iwi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/iwn/if_iwn.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfivar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mlx/mlx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mlx/mlxvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mpt/mpt.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwlvar.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pcm/feeder_rate.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/trm/trm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wpi/if_wpi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xl/if_xl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs_var.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clrpcops.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clstate.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_dev.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/part/g_part.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/part/g_part_if.m#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/msi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/ibcs2/ibcs2_misc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/param.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/xen/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/param.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/init_sysent.c#7 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_param.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_pipe.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.c#6 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.master#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/systrace_args.c#6 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/tty.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/param.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/Makefile#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/ahci/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/cam/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/geom/geom_label/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/wlan/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_action.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_action.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_adhoc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ageq.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ageq.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_hostap.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ht.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_node.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_node.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_sta.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_var.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_wds.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/param.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/param.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/param.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/disk.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#22 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/namei.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/socketvar.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/syscall.h#6 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/syscall.mk#6 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/syscallsubr.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/sysproto.h#6 edit .. //depot/projects/soc2009/trasz_limits/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/regression/usr.bin/jot/regress.dddd.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/usr.bin/jot/regress.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/cpio/cmdline.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/cpio/test/test_owner_parse.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/fstat/fstat.1#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/jot/jot.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/netstat/netstat.1#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/sockstat/sockstat.1#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/jail/jail.8#5 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/jls/jls.8#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/jls/jls.c#5 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pkg_install/add/perform.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/ppp.8.m4#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/dispatch.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/install.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/menus.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/sysinstall.h#3 integrate Differences ... ==== //depot/projects/soc2009/trasz_limits/MAINTAINERS#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.153 2009/06/24 17:23:10 imp Exp $ +$FreeBSD: src/MAINTAINERS,v 1.154 2009/07/06 11:46:18 flz Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -111,7 +111,7 @@ rpc alfred Pre-commit review requested. xfs kan@FreeBSD.org,rodrigc@FreeBSD.org,cattelan@xfs.org Pre-commit review preferred. -pkg_install krion Pre-commit review or approval from portmgr@ requested. +pkg_install portmgr Pre-commit review or approval from portmgr@ requested. linux emul emulation Please discuss changes here. bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. @@ -123,7 +123,6 @@ usr.bin/bluetooth emax Pre-commit review preferred. usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. -BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. ==== //depot/projects/soc2009/trasz_limits/bin/ps/ps.1#3 (text+ko) ==== @@ -27,9 +27,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.91 2009/05/17 04:00:43 brian Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.92 2009/07/09 16:40:00 trasz Exp $ .\" -.Dd May 16, 2009 +.Dd July 9, 2009 .Dt PS 1 .Os .Sh NAME @@ -637,6 +637,7 @@ .Xr kill 1 , .Xr pgrep 1 , .Xr pkill 1 , +.Xr procstat 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/head/thread.h#2 (text+ko) ==== @@ -53,7 +53,6 @@ #define mutex_lock(l) pthread_mutex_lock(l) #define mutex_trylock(l) pthread_mutex_trylock(l) #define mutex_unlock(l) pthread_mutex_unlock(l) -#define mutex_owned(l) pthread_mutex_isowned_np(l) #define rwlock_init(l,f,a) pthread_rwlock_init(l,NULL) #define rwlock_destroy(l) pthread_rwlock_destroy(l) #define rw_rdlock(l) pthread_rwlock_rdlock(l) ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#2 (text+ko) ==== @@ -115,6 +115,14 @@ mp->initialized = B_FALSE; } +int +zmutex_owned(kmutex_t *mp) +{ + ASSERT(mp->initialized == B_TRUE); + + return (mp->m_owner == curthread); +} + void mutex_enter(kmutex_t *mp) { ==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 (text+ko) ==== @@ -237,9 +237,11 @@ #define mutex_init(mp, b, c, d) zmutex_init((kmutex_t *)(mp)) #define mutex_destroy(mp) zmutex_destroy((kmutex_t *)(mp)) +#define mutex_owned(mp) zmutex_owned((kmutex_t *)(mp)) extern void zmutex_init(kmutex_t *mp); extern void zmutex_destroy(kmutex_t *mp); +extern int zmutex_owned(kmutex_t *mp); extern void mutex_enter(kmutex_t *mp); extern void mutex_exit(kmutex_t *mp); extern int mutex_tryenter(kmutex_t *mp); ==== //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.include.dist#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.130 2009/05/27 16:16:56 thompsa Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.131 2009/07/10 08:18:08 scottl Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -78,6 +78,8 @@ .. .. cam + ata + .. scsi .. .. ==== //depot/projects/soc2009/trasz_limits/include/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.289 2009/05/27 16:16:56 thompsa Exp $ +# $FreeBSD: src/include/Makefile,v 1.290 2009/07/10 08:18:08 scottl Exp $ # # Doing a "make install" builds /usr/include. @@ -38,7 +38,7 @@ nfs nfsclient nfsserver \ sys vm -LSUBDIRS= cam/scsi \ +LSUBDIRS= cam/ata cam/scsi \ dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \ dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \ dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \ ==== //depot/projects/soc2009/trasz_limits/include/unistd.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unistd.h 8.12 (Berkeley) 4/27/95 - * $FreeBSD: src/include/unistd.h,v 1.94 2009/06/15 20:38:55 jhb Exp $ + * $FreeBSD: src/include/unistd.h,v 1.95 2009/07/08 15:23:18 trasz Exp $ */ #ifndef _UNISTD_H_ @@ -513,6 +513,7 @@ int iruserok(unsigned long, int, const char *, const char *); int iruserok_sa(const void *, int, int, const char *, const char *); int issetugid(void); +long lpathconf(const char *, int); #ifndef _MKDTEMP_DECLARED char *mkdtemp(char *); #define _MKDTEMP_DECLARED ==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 10/24/94 -# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.140 2009/06/24 21:10:52 jhb Exp $ +# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.141 2009/07/08 15:23:18 trasz Exp $ # sys sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/sys ${.CURDIR}/sys @@ -159,6 +159,7 @@ MLINKS+=ntp_adjtime.2 ntp_gettime.2 MLINKS+=open.2 openat.2 MLINKS+=pathconf.2 fpathconf.2 +MLINKS+=pathconf.2 lpathconf.2 MLINKS+=read.2 pread.2 read.2 preadv.2 read.2 readv.2 MLINKS+=readlink.2 readlinkat.2 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 ==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#6 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.27 2009/07/08 15:23:18 trasz Exp $ */ /* @@ -346,6 +346,7 @@ jail_set; jail_remove; linkat; + lpathconf; mkdirat; mkfifoat; mknodat; ==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/execve.2#2 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)execve.2 8.5 (Berkeley) 6/1/94 -.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.42 2008/08/26 10:53:32 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.43 2009/07/05 20:20:09 pjd Exp $ .\" .Dd April 10, 2008 .Dt EXECVE 2 @@ -220,13 +220,11 @@ .Fn fexecve , the file descriptor .Fa fd -need not have been -opened with the +need not have been opened with the .Dv O_EXEC flag. -However, if the file to be executed denies read and write -permission for the process preparing to do the exec, the only way to -provide the +However, if the file to be executed denies read permission for the process +preparing to do the exec, the only way to provide the .Fa fd to .Fn fexecve @@ -234,6 +232,7 @@ .Dv O_EXEC flag when opening .Fa fd . +Note that the file to be executed can not be open for writing. .Sh RETURN VALUES As the .Fn execve @@ -277,7 +276,7 @@ permission, but has an invalid magic number in its header. .It Bq Er ETXTBSY The new process file is a pure procedure (shared text) -file that is currently open for writing or reading by some process. +file that is currently open for writing by some process. .It Bq Er ENOMEM The new process requires more virtual memory than is allowed by the imposed maximum ==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/pathconf.2#3 (text+ko) ==== @@ -26,13 +26,14 @@ .\" SUCH DAMAGE. .\" .\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.23 2009/06/25 12:53:50 trasz Exp $ +.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.24 2009/07/08 15:23:18 trasz Exp $ .\" -.Dd June 25, 2009 +.Dd July 7, 2009 .Dt PATHCONF 2 .Os .Sh NAME .Nm pathconf , +.Nm lpathconf , .Nm fpathconf .Nd get configurable pathname variables .Sh LIBRARY @@ -42,10 +43,13 @@ .Ft long .Fn pathconf "const char *path" "int name" .Ft long +.Fn lpathconf "const char *path" "int name" +.Ft long .Fn fpathconf "int fd" "int name" .Sh DESCRIPTION The -.Fn pathconf +.Fn pathconf , +.Fn lpathconf and .Fn fpathconf system calls provide a method for applications to determine the current @@ -53,7 +57,9 @@ with a pathname or file descriptor. .Pp For -.Fn pathconf , +.Fn pathconf +and +.Fn lpathconf , the .Fa path argument is the name of a file or directory. @@ -68,6 +74,18 @@ Symbolic constants for each name value are found in the include file .Li . .Pp +The +.Fn lpathconf +system call is like +.Fn pathconf +except in the case where the named file is a symbolic link, +in which case +.Fn lpathconf +returns information about the link, +while +.Fn pathconf +returns information about the file the link references. +.Pp The available values are as follows: .Pp .Bl -tag -width 6n @@ -239,3 +257,7 @@ .Fn fpathconf system calls first appeared in .Bx 4.4 . +The +.Fn lpathconf +system call first appeared in +.Fx 8.0 . ==== //depot/projects/soc2009/trasz_limits/lib/libcam/Makefile#2 (text+ko) ==== @@ -1,8 +1,9 @@ -# $FreeBSD: src/lib/libcam/Makefile,v 1.12 2004/02/05 22:44:22 ru Exp $ +# $FreeBSD: src/lib/libcam/Makefile,v 1.13 2009/07/10 08:18:08 scottl Exp $ LIB= cam SHLIBDIR?= /lib -SRCS= camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c +SRCS= camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c \ + ata_all.c INCS= camlib.h DPADD= ${LIBSBUF} @@ -34,7 +35,8 @@ cam_cdbparse.3 csio_encode_visit.3 \ cam_cdbparse.3 buff_encode_visit.3 -.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam +.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam/ata \ + ${.CURDIR}/../../sys/cam SDIR= ${.CURDIR}/../../sys CFLAGS+= -I${.CURDIR} -I${SDIR} ==== //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rtld.c#2 (text) ==== @@ -23,7 +23,7 @@ * (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: src/lib/libthr/thread/thr_rtld.c,v 1.11 2009/04/19 23:02:50 rwatson Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.12 2009/07/06 09:31:04 attilio Exp $ * */ @@ -114,6 +114,7 @@ THR_CRITICAL_ENTER(curthread); while (_thr_rwlock_rdlock(&l->lock, 0, NULL) != 0) ; + curthread->rdlock_count++; RESTORE_ERRNO(); } @@ -148,6 +149,7 @@ state = l->lock.rw_state; if (_thr_rwlock_unlock(&l->lock) == 0) { + curthread->rdlock_count--; if ((state & URWLOCK_WRITE_OWNER) == 0) { THR_CRITICAL_LEAVE(curthread); } else { ==== //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rwlock.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.15 2008/04/14 08:08:40 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.16 2009/07/06 09:31:04 attilio Exp $ */ #include @@ -177,10 +177,11 @@ /* if interrupted, try to lock it in userland again. */ if (_thr_rwlock_tryrdlock(&prwlock->lock, flags) == 0) { ret = 0; - curthread->rdlock_count++; break; } } + if (ret == 0) + curthread->rdlock_count++; return (ret); } ==== //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb.h,v 1.7 2009/06/23 01:04:58 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb.h,v 1.8 2009/07/10 14:15:53 thompsa Exp $ */ /*- * Copyright (c) 2009 Sylvestre Gallon. All rights reserved. * @@ -27,14 +27,16 @@ #ifndef __LIBUSB_H__ #define __LIBUSB_H__ +#include +#include +#include +#include + #include #include #include #include -#include -#include -#include #ifdef __cplusplus extern "C" { @@ -44,10 +46,6 @@ #endif -struct list_head { - struct list_head *prev, *next; -}; - /* libusb enums */ enum libusb_class_code { @@ -183,6 +181,33 @@ LIBUSB_DEBUG_TRANSFER=2, }; +/* internal structures */ + +typedef struct libusb_pollfd { + int fd; + short events; +} libusb_pollfd; + +struct usb_pollfd { + TAILQ_ENTRY(usb_pollfd) list; + struct libusb_pollfd pollfd; +}; + +struct usb_transfer { + TAILQ_ENTRY(usb_transfer) list; + int num_iso_packets; + struct timeval timeout; + int transferred; + uint8_t flags; +}; + +struct usb_ep_tr { + TAILQ_ENTRY(usb_ep_tr) list; + uint8_t addr; + uint8_t idx; + uint8_t flags; + void *os_priv; +}; /* libusb structures */ typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data); @@ -194,16 +219,16 @@ int ctrl_pipe[2]; - struct list_head usb_devs; + TAILQ_HEAD(usb_devs_list, libusb_device) usb_devs; pthread_mutex_t usb_devs_lock; - struct list_head open_devs; + TAILQ_HEAD(open_devs_list, libusb_device_handle) open_devs; pthread_mutex_t open_devs_lock; - struct list_head flying_transfers; + TAILQ_HEAD(flying_transfers_list, usb_transfer) flying_transfers; pthread_mutex_t flying_transfers_lock; - struct list_head pollfds; + TAILQ_HEAD(pollfds_list, usb_pollfd) pollfds; pthread_mutex_t pollfds_lock; unsigned int pollfd_modify; @@ -230,7 +255,7 @@ uint8_t device_address; uint8_t num_configurations; - struct list_head list; + TAILQ_ENTRY(libusb_device) list; unsigned long session_data; void *os_priv; } libusb_device; @@ -239,9 +264,10 @@ pthread_mutex_t lock; unsigned long claimed_interfaces; - struct list_head list; + TAILQ_ENTRY(libusb_device_handle) list; struct libusb_device *dev; void *os_priv; + TAILQ_HEAD(ep_list, usb_ep_tr) ep_list; } libusb_device_handle; typedef struct libusb_device_descriptor { @@ -343,11 +369,6 @@ struct libusb_iso_packet_descriptor iso_packet_desc[0]; } libusb_transfer __aligned(sizeof(void *)); -typedef struct libusb_pollfd { - int fd; - short events; -} libusb_pollfd; - /* Library initialisation */ void libusb_set_debug(libusb_context * ctx, int level); @@ -360,6 +381,7 @@ void libusb_free_device_list(libusb_device ** list, int unref_devices); uint8_t libusb_get_bus_number(libusb_device * dev); uint8_t libusb_get_device_address(libusb_device * dev); +int libusb_clear_halt(libusb_device_handle *devh, unsigned char endpoint); int libusb_get_max_packet_size(libusb_device * dev, unsigned char endpoint); libusb_device *libusb_ref_device(libusb_device * dev); void libusb_unref_device(libusb_device * dev); ==== //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.1 2009/06/23 01:04:58 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.2 2009/07/10 14:15:53 thompsa Exp $ */ /*- * Copyright (c) 2009 Sylvestre Gallon. All rights reserved. * @@ -75,8 +75,8 @@ pthread_mutex_init(&ctx->usb_devs_lock, NULL); pthread_mutex_init(&ctx->open_devs_lock, NULL); - USB_LIST_INIT(&ctx->usb_devs); - USB_LIST_INIT(&ctx->open_devs); + TAILQ_INIT(&ctx->usb_devs); + TAILQ_INIT(&ctx->open_devs); pthread_mutex_init(&ctx->flying_transfers_lock, NULL); pthread_mutex_init(&ctx->pollfds_lock, NULL); @@ -85,8 +85,8 @@ pthread_mutex_init(&ctx->event_waiters_lock, NULL); pthread_cond_init(&ctx->event_waiters_cond, NULL); - USB_LIST_INIT(&ctx->flying_transfers); - USB_LIST_INIT(&ctx->pollfds); + TAILQ_INIT(&ctx->flying_transfers); + TAILQ_INIT(&ctx->pollfds); ret = pipe(ctx->ctrl_pipe); if (ret < 0) { @@ -123,7 +123,7 @@ { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); usb_remove_pollfd(ctx, ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[1]); @@ -135,7 +135,7 @@ pthread_mutex_unlock(&default_context_lock); free(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); } /* Device handling and initialisation. */ @@ -150,7 +150,7 @@ int i; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); usb_backend = libusb20_be_alloc_default(); if (usb_backend == NULL) @@ -178,6 +178,10 @@ ddesc = libusb20_dev_get_device_desc(pdev); dev = malloc(sizeof(*dev)); if (dev == NULL) { + while (i != 0) { + libusb_unref_device((*list)[i - 1]); + i--; + } free(*list); libusb20_be_free(usb_backend); return (LIBUSB_ERROR_NO_MEM); @@ -194,7 +198,7 @@ dev->os_priv = pdev; pthread_mutex_lock(&ctx->usb_devs_lock); - LIST_ADD(&dev->list, &ctx->usb_devs); + TAILQ_INSERT_HEAD(&ctx->usb_devs, dev, list); pthread_mutex_unlock(&ctx->usb_devs_lock); (*list)[i] = libusb_ref_device(dev); @@ -203,7 +207,7 @@ (*list)[i] = NULL; libusb20_be_free(usb_backend); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); return (i); } @@ -219,7 +223,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); if (list == NULL) return ; @@ -229,7 +233,7 @@ libusb_unref_device(list[i]); } free(list); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); } uint8_t @@ -239,11 +243,11 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); return (dev->bus_number); } @@ -254,11 +258,11 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); return (dev->device_address); } @@ -274,7 +278,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); @@ -299,7 +303,7 @@ out: libusb_free_config_descriptor(pdconf); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); return (ret); } @@ -310,7 +314,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); if (dev == NULL) return (NULL); @@ -319,7 +323,7 @@ dev->refcnt++; pthread_mutex_unlock(&dev->lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); return (dev); } @@ -330,7 +334,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); if (dev == NULL) return; @@ -341,13 +345,13 @@ if (dev->refcnt == 0) { pthread_mutex_lock(&dev->ctx->usb_devs_lock); - LIST_DEL(&dev->list); + TAILQ_REMOVE(&ctx->usb_devs, dev, list); pthread_mutex_unlock(&dev->ctx->usb_devs_lock); libusb20_dev_free(dev->os_priv); free(dev); } - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); } int @@ -360,7 +364,7 @@ int err; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); dummy = 1; if (devh == NULL) @@ -378,6 +382,7 @@ memset(hdl, 0, sizeof(*hdl)); pthread_mutex_init(&hdl->lock, NULL); + TAILQ_INIT(&hdl->ep_list); hdl->dev = libusb_ref_device(dev); hdl->claimed_interfaces = 0; hdl->os_priv = dev->os_priv; @@ -390,7 +395,7 @@ } pthread_mutex_lock(&ctx->open_devs_lock); - LIST_ADD(&hdl->list, &ctx->open_devs); + TAILQ_INSERT_HEAD(&ctx->open_devs, hdl, list); pthread_mutex_unlock(&ctx->open_devs_lock); *devh = hdl; @@ -414,7 +419,7 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); return (0); } @@ -429,7 +434,7 @@ int i, j; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); devh = NULL; @@ -440,13 +445,15 @@ pdev = (struct libusb20_device *)devs[j]->os_priv; pdesc = libusb20_dev_get_device_desc(pdev); if (pdesc->idVendor == vendor_id && - pdesc->idProduct == product_id) + pdesc->idProduct == product_id) { if (libusb_open(devs[j], &devh) < 0) devh = NULL; + break ; + } } libusb_free_device_list(devs, 1); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); return (devh); } @@ -455,6 +462,7 @@ { libusb_context *ctx; struct libusb20_device *pdev; + struct usb_ep_tr *eptr; unsigned char dummy = 1; int err; @@ -465,7 +473,7 @@ pdev = devh->os_priv; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); ctx->pollfd_modify++; @@ -475,12 +483,21 @@ if (err <= 0) { pthread_mutex_lock(&ctx->open_devs_lock); - LIST_DEL(&devh->list); + TAILQ_REMOVE(&ctx->open_devs, devh, list); pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); + libusb20_dev_close(pdev); libusb_unref_device(devh->dev); - libusb20_dev_close(pdev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 11 10:34:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F19921065673; Sat, 11 Jul 2009 10:34:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9638A106566C for ; Sat, 11 Jul 2009 10:34:03 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 823E18FC14 for ; Sat, 11 Jul 2009 10:34:03 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6BAY3na089267 for ; Sat, 11 Jul 2009 10:34:03 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6BAY3Gg089265 for perforce@freebsd.org; Sat, 11 Jul 2009 10:34:03 GMT (envelope-from andre@freebsd.org) Date: Sat, 11 Jul 2009 10:34:03 GMT Message-Id: <200907111034.n6BAY3Gg089265@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165925 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2009 10:34:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165925 Change 165925 by andre@andre_t61 on 2009/07/11 10:33:34 Try a different approach to the SACK scoreboard using a ranged RB-tree instead of a TAILQ. The maintenance of the scoreboard is much simpler. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_sack.c#3 edit .. //depot/projects/tcp_new/netinet/tcp_subr.c#6 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#11 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_sack.c#3 (text+ko) ==== @@ -1,6 +1,6 @@ /*- - * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994, 1995 - * The Regents of the University of California. + * Copyright (c) 2009 + * Andre Oppermann, Internet Business Solutions AG. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -11,7 +11,7 @@ * 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. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -30,46 +30,6 @@ * @(#)tcp_sack.c 8.12 (Berkeley) 5/24/95 */ -/*- - * @@(#)COPYRIGHT 1.1 (NRL) 17 January 1995 - * - * NRL grants permission for redistribution and use in source and binary - * forms, with or without modification, of the software and documentation - * created at NRL provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgements: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * This product includes software developed at the Information - * Technology Division, US Naval Research Laboratory. - * 4. Neither the name of the NRL nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THE SOFTWARE PROVIDED BY NRL IS PROVIDED BY NRL 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 NRL 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. - * - * The views and conclusions contained in the software and documentation - * are those of the authors and should not be interpreted as representing - * official policies, either expressed or implied, of the US Naval - * Research Laboratory (NRL). - */ - #include __FBSDID("$FreeBSD: src/sys/netinet/tcp_sack.c,v 1.40 2007/05/11 11:21:43 rwatson Exp $"); @@ -119,11 +79,12 @@ #include #endif /* TCPDEBUG */ -#include +/* + * Store all SACK blocks of the scoreboard in a ranged red-black tree. + */ -extern struct uma_zone *sack_hole_zone; +SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW, 0, "TCP SACK"); -SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW, 0, "TCP SACK"); int tcp_do_sack = 1; SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, enable, CTLFLAG_RW, &tcp_do_sack, 0, "Enable/Disable TCP SACK support"); @@ -139,544 +100,168 @@ &tcp_sack_globalmaxholes, 0, "Global maximum number of TCP SACK holes"); -static int tcp_sack_globalholes = 0; -SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, globalholes, CTLFLAG_RD, - &tcp_sack_globalholes, 0, - "Global number of TCP SACK holes currently allocated"); +static uma_zone_t tcp_sackblock_zone; -/* - * This function is called upon receipt of new valid data (while not in - * header prediction mode), and it updates the ordered list of sacks. - */ void -tcp_update_sack_list(struct tcpcb *tp, tcp_seq rcv_start, tcp_seq rcv_end) +tcp_sack_init(void) { - /* - * First reported block MUST be the most recent one. Subsequent - * blocks SHOULD be in the order in which they arrived at the - * receiver. These two conditions make the implementation fully - * compliant with RFC 2018. - */ - struct sackblk head_blk, saved_blks[MAX_SACK_BLKS]; - int num_head, num_saved, i; - - INP_LOCK_ASSERT(tp->t_inpcb); - - /* Check arguments. */ - KASSERT(SEQ_LT(rcv_start, rcv_end), ("rcv_start < rcv_end")); - - /* SACK block for the received segment. */ - head_blk.start = rcv_start; - head_blk.end = rcv_end; - - /* - * Merge updated SACK blocks into head_blk, and save unchanged SACK - * blocks into saved_blks[]. num_saved will have the number of the - * saved SACK blocks. - */ - num_saved = 0; - for (i = 0; i < tp->rcv_numsacks; i++) { - tcp_seq start = tp->sackblks[i].start; - tcp_seq end = tp->sackblks[i].end; - if (SEQ_GEQ(start, end) || SEQ_LEQ(start, tp->rcv_nxt)) { - /* - * Discard this SACK block. - */ - } else if (SEQ_LEQ(head_blk.start, end) && - SEQ_GEQ(head_blk.end, start)) { - /* - * Merge this SACK block into head_blk. This SACK - * block itself will be discarded. - */ - if (SEQ_GT(head_blk.start, start)) - head_blk.start = start; - if (SEQ_LT(head_blk.end, end)) - head_blk.end = end; - } else { - /* - * Save this SACK block. - */ - saved_blks[num_saved].start = start; - saved_blks[num_saved].end = end; - num_saved++; - } - } - - /* - * Update SACK list in tp->sackblks[]. - */ - num_head = 0; - if (SEQ_GT(head_blk.start, tp->rcv_nxt)) { - /* - * The received data segment is an out-of-order segment. Put - * head_blk at the top of SACK list. - */ - tp->sackblks[0] = head_blk; - num_head = 1; - /* - * If the number of saved SACK blocks exceeds its limit, - * discard the last SACK block. - */ - if (num_saved >= MAX_SACK_BLKS) - num_saved--; - } - if (num_saved > 0) { - /* - * Copy the saved SACK blocks back. - */ - bcopy(saved_blks, &tp->sackblks[num_head], - sizeof(struct sackblk) * num_saved); - } - - /* Save the number of SACK blocks. */ - tp->rcv_numsacks = num_head + num_saved; + tcp_sackblock_zone = uma_zcreate("tcpsackblk", sizeof(struct tcp_sack_block), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); + uma_zone_set_max(tcp_sackblock_zone, tcp_sack_globalmaxholes); } -/* - * Delete all receiver-side SACK information. - */ -void -tcp_clean_sackreport(struct tcpcb *tp) +static __inline int +tcp_sack_cmp(struct tcp_sack_block *a, struct tcp_sack_block *b) { - int i; - - INP_LOCK_ASSERT(tp->t_inpcb); - tp->rcv_numsacks = 0; - for (i = 0; i < MAX_SACK_BLKS; i++) - tp->sackblks[i].start = tp->sackblks[i].end=0; + if (SEQ_LT(a->tsb_blk.end, b->tsb_blk.start)) + return (-1); + else if (SEQ_GT(a->tsb_blk.start, b->tsb_blk.end)) + return (1); + else + return (0); } -/* - * Allocate struct sackhole. - */ -static struct sackhole * -tcp_sackhole_alloc(struct tcpcb *tp, tcp_seq start, tcp_seq end) -{ - struct sackhole *hole; - - if (tp->snd_numholes >= tcp_sack_maxholes || - tcp_sack_globalholes >= tcp_sack_globalmaxholes) { - tcpstat.tcps_sack_sboverflow++; - return NULL; - } - - hole = (struct sackhole *)uma_zalloc(sack_hole_zone, M_NOWAIT); - if (hole == NULL) - return NULL; - - hole->start = start; - hole->end = end; - hole->rxmit = start; +RB_PROTOTYPE(tcp_sackblocks, tcp_sack_block, tsb_rb, tcp_sack_cmp); +RB_GENERATE(tcp_sackblocks, tcp_sack_block, tsb_rb, tcp_sack_cmp); - tp->snd_numholes++; - tcp_sack_globalholes++; - - return hole; -} - -/* - * Free struct sackhole. - */ static void -tcp_sackhole_free(struct tcpcb *tp, struct sackhole *hole) +tcp_sack_free(struct tcp_sack_block *tps, struct tcp_sack_block *tsb) { + struct tcp_sack_block *sb; - uma_zfree(sack_hole_zone, hole); - - tp->snd_numholes--; - tcp_sack_globalholes--; - - KASSERT(tp->snd_numholes >= 0, ("tp->snd_numholes >= 0")); - KASSERT(tcp_sack_globalholes >= 0, ("tcp_sack_globalholes >= 0")); + sb = RB_REMOVE(tcp_sackholes, tps, tsb); + KASSERT(sb != NULL, ("%s: RB_REMOVE failed", __func__)); + uma_zfree(tcp_sackblock_zone, tsb); } -/* - * Insert new SACK hole into scoreboard. - */ -static struct sackhole * -tcp_sackhole_insert(struct tcpcb *tp, tcp_seq start, tcp_seq end, - struct sackhole *after) +#ifdef INVARIANTS +static int +tcp_sack_verify(struct tcpcb *tp) { - struct sackhole *hole; + struct tcp_sack_block *tsb, *tsbn; - /* Allocate a new SACK hole. */ - hole = tcp_sackhole_alloc(tp, start, end); - if (hole == NULL) - return NULL; - - /* Insert the new SACK hole into scoreboard. */ - if (after != NULL) - TAILQ_INSERT_AFTER(&tp->snd_holes, after, hole, scblink); - else - TAILQ_INSERT_TAIL(&tp->snd_holes, hole, scblink); - - /* Update SACK hint. */ - if (tp->sackhint.nexthole == NULL) - tp->sackhint.nexthole = hole; - - return hole; + RB_FOREACH_SAFE(tsb, tcp_sackblocks, &tp->snd_sackblocks, tsbn) { + if (SEQ_GEQ(tsb->tsb_blk.start, tsb->tsb_blk.end) || + SEQ_LEQ(tsb->tsb_blk.start, tp->snd_una) || + SEQ_GT(tsb->tsb_blk.end, tp->snd_nxt) || + (tsbn != NULL && SEQ_GEQ(tsb->tsb_blk.end, tsbn->tsb_blk.start))) + return (0) + } + return (1); } - -/* - * Remove SACK hole from scoreboard. - */ -static void -tcp_sackhole_remove(struct tcpcb *tp, struct sackhole *hole) -{ +#endif - /* Update SACK hint. */ - if (tp->sackhint.nexthole == hole) - tp->sackhint.nexthole = TAILQ_NEXT(hole, scblink); - - /* Remove this SACK hole. */ - TAILQ_REMOVE(&tp->snd_holes, hole, scblink); - - /* Free this SACK hole. */ - tcp_sackhole_free(tp, hole); -} - -/* - * Process cumulative ACK and the TCP SACK option to update the scoreboard. - * tp->snd_holes is an ordered list of holes (oldest to newest, in terms of - * the sequence space). - */ int tcp_sack_doack(struct tcpcb *tp, struct tcpopt *to, tcp_seq th_ack) { - struct sackhole *cur, *temp; - struct sackblk sack, sack_blocks[TCP_MAX_SACK + 1], *sblkp; - int i, j, num_sack_blks; + int i; + int sacked = 0; /* the amount of newly sacked data */ + struct tcp_sack_block *tsb, *tsbn; + struct tcp_sack_block sack; - INP_LOCK_ASSERT(tp->t_inpcb); + /* Remove any blocks from the scoreboard when full acked. */ + RB_FOREACH_SAFE(tsb, tcp_sackblocks, &tp->snd_sackblocks, tsbn) { + if (SEQ_LT(th_ack, tqe->tsb_blk.start)) + break; + else + RB_REMOVE(tcp_sackblocks, &tp->snd_sackblocks, tsb); + } - num_sack_blks = 0; - /* - * If SND.UNA will be advanced by SEG.ACK, and if SACK holes exist, - * treat [SND.UNA, SEG.ACK) as if it is a SACK block. - */ - if (SEQ_LT(tp->snd_una, th_ack) && !TAILQ_EMPTY(&tp->snd_holes)) { - sack_blocks[num_sack_blks].start = tp->snd_una; - sack_blocks[num_sack_blks++].end = th_ack; - } - /* - * Append received valid SACK blocks to sack_blocks[], but only if we - * received new blocks from the other side. - */ - if (to->to_flags & TOF_SACK) { - for (i = 0; i < to->to_nsacks; i++) { - bcopy((to->to_sacks + i * TCPOLEN_SACK), - &sack, sizeof(sack)); - sack.start = ntohl(sack.start); - sack.end = ntohl(sack.end); - if (SEQ_GT(sack.end, sack.start) && - SEQ_GT(sack.start, tp->snd_una) && - SEQ_GT(sack.start, th_ack) && - SEQ_LT(sack.start, tp->snd_nxt) && - SEQ_GT(sack.end, tp->snd_una) && - SEQ_LEQ(sack.end, tp->snd_nxt)) - sack_blocks[num_sack_blks++] = sack; - } - } - /* - * Return if SND.UNA is not advanced and no valid SACK block is - * received. - */ - if (num_sack_blks == 0) + if ((to->t_flags & TOF_SACK) && to->to_nsacks == 0) { + /* remove all sack blocks, strange reneg */ + tcp_sack_flush(tp); + return (0); + } else if (!(to->t_flags & TOF_SACK)) return (0); - /* - * Sort the SACK blocks so we can update the scoreboard with just one - * pass. The overhead of sorting upto 4+1 elements is less than - * making upto 4+1 passes over the scoreboard. - */ - for (i = 0; i < num_sack_blks; i++) { - for (j = i + 1; j < num_sack_blks; j++) { - if (SEQ_GT(sack_blocks[i].end, sack_blocks[j].end)) { - sack = sack_blocks[i]; - sack_blocks[i] = sack_blocks[j]; - sack_blocks[j] = sack; - } - } - } - if (TAILQ_EMPTY(&tp->snd_holes)) - /* - * Empty scoreboard. Need to initialize snd_fack (it may be - * uninitialized or have a bogus value). Scoreboard holes - * (from the sack blocks received) are created later below - * (in the logic that adds holes to the tail of the - * scoreboard). - */ - tp->snd_fack = SEQ_MAX(tp->snd_una, th_ack); - /* - * In the while-loop below, incoming SACK blocks (sack_blocks[]) and - * SACK holes (snd_holes) are traversed from their tails with just - * one pass in order to reduce the number of compares especially when - * the bandwidth-delay product is large. - * - * Note: Typically, in the first RTT of SACK recovery, the highest - * three or four SACK blocks with the same ack number are received. - * In the second RTT, if retransmitted data segments are not lost, - * the highest three or four SACK blocks with ack number advancing - * are received. - */ - sblkp = &sack_blocks[num_sack_blks - 1]; /* Last SACK block */ - if (SEQ_LT(tp->snd_fack, sblkp->start)) { - /* - * The highest SACK block is beyond fack. Append new SACK - * hole at the tail. If the second or later highest SACK - * blocks are also beyond the current fack, they will be - * inserted by way of hole splitting in the while-loop below. - */ - temp = tcp_sackhole_insert(tp, tp->snd_fack,sblkp->start,NULL); - if (temp != NULL) { - tp->snd_fack = sblkp->end; - /* Go to the previous sack block. */ - sblkp--; - } else { - /* - * We failed to add a new hole based on the current - * sack block. Skip over all the sack blocks that - * fall completely to the right of snd_fack and - * proceed to trim the scoreboard based on the - * remaining sack blocks. This also trims the - * scoreboard for th_ack (which is sack_blocks[0]). - */ - while (sblkp >= sack_blocks && - SEQ_LT(tp->snd_fack, sblkp->start)) - sblkp--; - if (sblkp >= sack_blocks && - SEQ_LT(tp->snd_fack, sblkp->end)) - tp->snd_fack = sblkp->end; - } - } else if (SEQ_LT(tp->snd_fack, sblkp->end)) - /* fack is advanced. */ - tp->snd_fack = sblkp->end; - /* We must have at least one SACK hole in scoreboard. */ - KASSERT(!TAILQ_EMPTY(&tp->snd_holes), - ("SACK scoreboard must not be empty")); - cur = TAILQ_LAST(&tp->snd_holes, sackhole_head); /* Last SACK hole. */ - /* - * Since the incoming sack blocks are sorted, we can process them - * making one sweep of the scoreboard. - */ - while (sblkp >= sack_blocks && cur != NULL) { - if (SEQ_GEQ(sblkp->start, cur->end)) { - /* - * SACKs data beyond the current hole. Go to the - * previous sack block. - */ - sblkp--; + /* Integrate SACK blocks from segment. */ + for (i = 0; i < to->to_nsacks; i++) { + /* Copy SACK blocks from options section of TCP header. */ + bcopy((to->to_sacks + i * TCPOLEN_SACK), + &sack.tsb_blk, sizeof(sack.tsb_blk)); + sack.tsb_blk.start = ntohl(sack.tsb_blk.start); + sack.tsb_blk.end = ntohl(sack.tsb_blk.end); + + /* Validity checks on SACK blocks as received from sender. */ + if (SEQ_GT(sack.tsb_blk.start, sack.tsb_blk.end) || + SEQ_LEQ(sack.tsb_blk.start, th_ack) || + SEQ_GT(sack.tsb_blk.end, tp->snd_nxt)) continue; - } - if (SEQ_LEQ(sblkp->end, cur->start)) { - /* - * SACKs data before the current hole. Go to the - * previous hole. - */ - cur = TAILQ_PREV(cur, sackhole_head, scblink); + + /* XXXAO: Implicit-explicit reneg. */ + if (sack.start == sack.end) { + /* Remove all sackblocks. */ + tcp_sack_flush(tp); continue; } - tp->sackhint.sack_bytes_rexmit -= (cur->rxmit - cur->start); - KASSERT(tp->sackhint.sack_bytes_rexmit >= 0, - ("sackhint bytes rtx >= 0")); - if (SEQ_LEQ(sblkp->start, cur->start)) { - /* Data acks at least the beginning of hole. */ - if (SEQ_GEQ(sblkp->end, cur->end)) { - /* Acks entire hole, so delete hole. */ - temp = cur; - cur = TAILQ_PREV(cur, sackhole_head, scblink); - tcp_sackhole_remove(tp, temp); - /* - * The sack block may ack all or part of the - * next hole too, so continue onto the next - * hole. - */ + + /* Return match that has at least partial overlap to either side. */ + if ((tsb = RB_FIND(tcp_sackblocks, &tp->snd_sackblocks, &sack)) != NULL) { + /* within a block, was a duplicate retransmit, D-SACK */ + if (SEQ_GEQ(sack.tsb_blk.start, tsb->tsb_blk.start) && + SEQ_LEQ(sack.tsb_blk.end, tsb->tsb_blk.end)) { continue; - } else { - /* Move start of hole forward. */ - cur->start = sblkp->end; - cur->rxmit = SEQ_MAX(cur->rxmit, cur->start); + } + /* Extends the end, common case. */ + if (SEQ_GT(sack.tsb_blk.end, tsb->tsb_blk.end)) { + sacked += SEQ_DELTA(tsb->tsb_blk.end, sack.tsb_blk.end); + tsb->tsb_blk.end = sack.tsb_blk.end; + while ((tsbn = RB_NEXT(tcp_sackblocks, &tp->snd_sackblocks, tsb)) != NULL && + SEQ_GEQ(tsbn->tsb_blk.start, tsb->tsb_blk.end)) { + //sacked -= SEQ_DELTA(sack.tsb_blk.start, tsbn->tsb_blk.start); + if (SEQ_GT(tsbn->tsb_blk.end, tsb->tsb_blk.end)) + tsb->tsb_blk.end = tsbn->tsb_blk.end; + tcp_sack_free(&tp->snd_sackblocks, tsbn); + } } - } else { - /* Data acks at least the end of hole. */ - if (SEQ_GEQ(sblkp->end, cur->end)) { - /* Move end of hole backward. */ - cur->end = sblkp->start; - cur->rxmit = SEQ_MIN(cur->rxmit, cur->end); - } else { - /* - * ACKs some data in middle of a hole; need - * to split current hole - */ - temp = tcp_sackhole_insert(tp, sblkp->end, - cur->end, cur); - if (temp != NULL) { - if (SEQ_GT(cur->rxmit, temp->rxmit)) { - temp->rxmit = cur->rxmit; - tp->sackhint.sack_bytes_rexmit - += (temp->rxmit - - temp->start); - } - cur->end = sblkp->start; - cur->rxmit = SEQ_MIN(cur->rxmit, - cur->end); + /* Extends the start. */ + if (SEQ_LT(sack.tsb_blk.start, tsb->tsb_blk.start)) { + sacked += SEQ_DELTA(sack.tsb_blk.start, tsb->tsb_blk.start); + tsb->tsb_blk.start = sack.tsb_blk.start; + while ((tsbn = RB_PREV(tcp_sackblocks, &tp->snd_sackblocks, tsb)) != NULL && + SEQ_GEQ(tsbn->tsb_blk.end, tsb->tsb_blk.start)) { + //sacked -= SEQ_DELTA(); + if (SEQ_LT(tsbn->tsb_blk.start, tsb->tsb_blk.start)) + tsb->tsb_blk.start = tsbn->tsb_blk.start; + tcp_sack_free(&tp->snd_sackblocks, tsbn); } } - } - tp->sackhint.sack_bytes_rexmit += (cur->rxmit - cur->start); - /* - * Testing sblkp->start against cur->start tells us whether - * we're done with the sack block or the sack hole. - * Accordingly, we advance one or the other. - */ - if (SEQ_LEQ(sblkp->start, cur->start)) - cur = TAILQ_PREV(cur, sackhole_head, scblink); - else - sblkp--; + } else if ((tsb = (struct sackblocks *)uma_zalloc(tcp_sackblock_zone, M_NOWAIT))) != NULL) { + sacked += SEQ_DELTA(sack.tsb_blk.start, sack.tsb_blk.end); + tsb->tsb_blk.start = sack.tsb_blk.start; + tsb->tsb_blk.end = sack.tsb_blk.end; + tsbn = RB_INSERT(tcp_sackblocks, &tp->snd_sackblocks, tsb); + KASSERT(tsbn == NULL, ("%s: RB_INSERT failed", __func__)); + } else + TCPSTAT_INC(); /* failed to allocate sackblock */ } - return (0); -} -/* - * Free all SACK holes to clear the scoreboard. - */ -void -tcp_free_sackholes(struct tcpcb *tp) -{ - struct sackhole *q; + KASSERT(tcp_sack_verify(tp), + ("%s: snd_sackblocks RB tree inconsistent", __func__)); - INP_LOCK_ASSERT(tp->t_inpcb); - while ((q = TAILQ_FIRST(&tp->snd_holes)) != NULL) - tcp_sackhole_remove(tp, q); - tp->sackhint.sack_bytes_rexmit = 0; - - KASSERT(tp->snd_numholes == 0, ("tp->snd_numholes == 0")); - KASSERT(tp->sackhint.nexthole == NULL, - ("tp->sackhint.nexthole == NULL")); + return (sacked); } -/* - * Partial ack handling within a sack recovery episode. Keeping this very - * simple for now. When a partial ack is received, force snd_cwnd to a value - * that will allow the sender to transmit no more than 2 segments. If - * necessary, a better scheme can be adopted at a later point, but for now, - * the goal is to prevent the sender from bursting a large amount of data in - * the midst of sack recovery. - */ void -tcp_sack_partialack(struct tcpcb *tp, struct tcphdr *th) +tcp_sack_flush(struct tcpcb *tp) { - int num_segs = 1; + struct tcp_sack_block *tsb, *tsbn; - INP_LOCK_ASSERT(tp->t_inpcb); - tcp_timer_activate(tp, TT_REXMT, 0); - //tp->t_rtttime = 0; - /* Send one or 2 segments based on how much new data was acked. */ - if (((th->th_ack - tp->snd_una) / tp->snd_mss) > 2) - num_segs = 2; - tp->snd_cwnd = (tp->sackhint.sack_bytes_rexmit + - (tp->snd_nxt - tp->sack_newdata) + num_segs * tp->snd_mss); - if (tp->snd_cwnd > tp->snd_ssthresh) - tp->snd_cwnd = tp->snd_ssthresh; - tp->t_flags |= TF_ACKNOW; - (void) tcp_output(tp); -} - -#if 0 -/* - * Debug version of tcp_sack_output() that walks the scoreboard. Used for - * now to sanity check the hint. - */ -static struct sackhole * -tcp_sack_output_debug(struct tcpcb *tp, int *sack_bytes_rexmt) -{ - struct sackhole *p; - - INP_LOCK_ASSERT(tp->t_inpcb); - *sack_bytes_rexmt = 0; - TAILQ_FOREACH(p, &tp->snd_holes, scblink) { - if (SEQ_LT(p->rxmit, p->end)) { - if (SEQ_LT(p->rxmit, tp->snd_una)) {/* old SACK hole */ - continue; - } - *sack_bytes_rexmt += (p->rxmit - p->start); - break; - } - *sack_bytes_rexmt += (p->rxmit - p->start); + RB_FOREACH_SAFE(tsb, tcp_sackholes, &tp->snd_sackholes, tsbn) { + RB_REMOVE(tcp_sackholes, &tp->snd_sackholes, tsb); + uma_zfree(tcp_sackbock_zone, tsb); } - return (p); } -#endif -/* - * Returns the next hole to retransmit and the number of retransmitted bytes - * from the scoreboard. We store both the next hole and the number of - * retransmitted bytes as hints (and recompute these on the fly upon SACK/ACK - * reception). This avoids scoreboard traversals completely. - * - * The loop here will traverse *at most* one link. Here's the argument. For - * the loop to traverse more than 1 link before finding the next hole to - * retransmit, we would need to have at least 1 node following the current - * hint with (rxmit == end). But, for all holes following the current hint, - * (start == rxmit), since we have not yet retransmitted from them. - * Therefore, in order to traverse more 1 link in the loop below, we need to - * have at least one node following the current hint with (start == rxmit == - * end). But that can't happen, (start == end) means that all the data in - * that hole has been sacked, in which case, the hole would have been removed - * from the scoreboard. - */ -struct sackhole * -tcp_sack_output(struct tcpcb *tp, int *sack_bytes_rexmt) +#ifdef DDB +static void +db_print_sackblocks(struct tcpcb *tp) { - struct sackhole *hole = NULL; + struct tcp_sack_block *tsb; - INP_LOCK_ASSERT(tp->t_inpcb); - *sack_bytes_rexmt = tp->sackhint.sack_bytes_rexmit; - hole = tp->sackhint.nexthole; - if (hole == NULL || SEQ_LT(hole->rxmit, hole->end)) - goto out; - while ((hole = TAILQ_NEXT(hole, scblink)) != NULL) { - if (SEQ_LT(hole->rxmit, hole->end)) { - tp->sackhint.nexthole = hole; - break; - } + RB_FOREACH(tsb, tcp_sackblocks, &tp->snd_sackblocks) { + db_printf(" sack block 0x%08x - 0x%08x\n", + tsb->tsb_blk.start, tsb->tsb_blk.end) } -out: - return (hole); } - -/* - * After a timeout, the SACK list may be rebuilt. This SACK information - * should be used to avoid retransmitting SACKed data. This function - * traverses the SACK list to see if snd_nxt should be moved forward. - */ -void -tcp_sack_adjust(struct tcpcb *tp) -{ - struct sackhole *p, *cur = TAILQ_FIRST(&tp->snd_holes); - - INP_LOCK_ASSERT(tp->t_inpcb); - if (cur == NULL) - return; /* No holes */ - if (SEQ_GEQ(tp->snd_nxt, tp->snd_fack)) - return; /* We're already beyond any SACKed blocks */ - /*- - * Two cases for which we want to advance snd_nxt: - * i) snd_nxt lies between end of one hole and beginning of another - * ii) snd_nxt lies between end of last hole and snd_fack - */ - while ((p = TAILQ_NEXT(cur, scblink)) != NULL) { - if (SEQ_LT(tp->snd_nxt, cur->end)) - return; - if (SEQ_GEQ(tp->snd_nxt, p->start)) - cur = p; - else { - tp->snd_nxt = p->start; - return; - } - } - if (SEQ_LT(tp->snd_nxt, cur->end)) - return; - tp->snd_nxt = tp->snd_fack; - return; -} +#endif ==== //depot/projects/tcp_new/netinet/tcp_subr.c#6 (text+ko) ==== @@ -161,8 +161,6 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, isn_reseed_interval, CTLFLAG_RW, &tcp_isn_reseed_interval, 0, "Seconds between reseeding of ISN secret"); -uma_zone_t sack_hole_zone; - static struct inpcb *tcp_notify(struct inpcb *, int); static void tcp_isn_tick(void *); @@ -270,13 +268,12 @@ syncache_init(); tcp_hc_init(); tcp_reass_init(); + tcp_sack_init(); ISN_LOCK_INIT(); callout_init(&isn_callout, CALLOUT_MPSAFE); tcp_isn_tick(NULL); EVENTHANDLER_REGISTER(shutdown_pre_sync, tcp_fini, NULL, SHUTDOWN_PRI_DEFAULT); - sack_hole_zone = uma_zcreate("sackhole", sizeof(struct sackhole), - NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); EVENTHANDLER_REGISTER(maxsockets_change, tcp_zone_change, NULL, EVENTHANDLER_PRI_ANY); } @@ -722,7 +719,7 @@ /* Disconnect offload device, if any. */ tcp_offload_detach(tp); - tcp_free_sackholes(tp); + tcp_sack_flush(tp); inp->inp_ppcb = NULL; tp->t_inpcb = NULL; uma_zfree(tcpcb_zone, tp); @@ -794,7 +791,7 @@ tcpb->t_segqlen--; tcp_reass_qsize--; } - tcp_clean_sackreport(tcpb); + tcp_sack_flush(tcpb); } INP_UNLOCK(inpb); } @@ -1530,7 +1527,7 @@ tcpstat.tcps_mturesent++; //tp->t_rtttime = 0; tp->snd_nxt = tp->snd_una; - tcp_free_sackholes(tp); + tcp_sack_flush(tp); tp->snd_recover = tp->snd_nxt; //if (tp->t_flags & TF_SACK_PERMIT) // EXIT_FASTRECOVERY(tp); ==== //depot/projects/tcp_new/netinet/tcp_var.h#11 (text+ko) ==== @@ -96,15 +96,13 @@ extern struct uma_zone *tcp_reass_zone; struct sackblk { - tcp_seq start; /* start seq no. of sack block */ - tcp_seq end; /* end seq no. */ + tcp_seq start; /* left */ + tcp_seq end; /* right */ }; -struct sackhole { - tcp_seq start; /* start seq no. of hole */ - tcp_seq end; /* end seq no. */ - tcp_seq rxmit; /* next seq. no in hole to be retransmitted */ - TAILQ_ENTRY(sackhole) scblink; /* scoreboard linkage */ +struct tcp_sack_block { + RB_ENTRY(tcp_sackblocks) tsb_rb; /* scoreboard linkage */ + struct sackblk tsb_blk; }; struct sackhint { @@ -252,15 +250,8 @@ #define TCPOOB_HADDATA 0x02 /* SACK related state */ + RB_HEAD(tcp_sackblocks, tcp_sack_block) snd_sackblocks; int snd_numholes; /* number of holes seen by sender */ - TAILQ_HEAD(sackhole_head, sackhole) snd_holes; - /* SACK scoreboard (sorted) */ - tcp_seq snd_fack; /* last seq number(+1) sack'd by rcv'r */ - int rcv_numsacks; /* XXXAO */ - struct sackblk sackblks[MAX_SACK_BLKS]; /* seq nos. of sack blocks */ - tcp_seq sack_newdata; /* New data xmitted in this recovery - episode starts at this seq number */ - struct sackhint sackhint; /* SACK scoreboard hint */ int snd_sacked; /* data currently ack'ed through SACK */ /* Congestion control algorithms */ @@ -651,12 +642,9 @@ tcp_seq tcp_new_isn(struct tcpcb *); int tcp_sack_doack(struct tcpcb *, struct tcpopt *, tcp_seq); -void tcp_update_sack_list(struct tcpcb *tp, tcp_seq rcv_laststart, tcp_seq rcv_lastend); -void tcp_clean_sackreport(struct tcpcb *tp); -void tcp_sack_adjust(struct tcpcb *tp); -struct sackhole *tcp_sack_output(struct tcpcb *tp, int *sack_bytes_rexmt); -void tcp_sack_partialack(struct tcpcb *, struct tcphdr *); -void tcp_free_sackholes(struct tcpcb *tp); +void tcp_sack_flush(struct tcpcb *tp); +void tcp_sack_init(void); + int tcp_newreno(struct tcpcb *, struct tcphdr *); u_long tcp_seq_subtract(u_long, u_long ); From owner-p4-projects@FreeBSD.ORG Sat Jul 11 10:41:12 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3FAA1065672; Sat, 11 Jul 2009 10:41:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7402F1065670 for ; Sat, 11 Jul 2009 10:41:11 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 61BE68FC08 for ; Sat, 11 Jul 2009 10:41:11 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6BAfBT5089830 for ; Sat, 11 Jul 2009 10:41:11 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6BAfBRK089828 for perforce@freebsd.org; Sat, 11 Jul 2009 10:41:11 GMT (envelope-from andre@freebsd.org) Date: Sat, 11 Jul 2009 10:41:11 GMT Message-Id: <200907111041.n6BAfBRK089828@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165926 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2009 10:41:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=165926 Change 165926 by andre@andre_t61 on 2009/07/11 10:41:06 Remove unneeded includes. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_sack.c#4 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_sack.c#4 (text+ko) ==== @@ -41,39 +41,22 @@ #include #include #include -#include -#include #include /* for proc0 declaration */ -#include -#include -#include -#include #include -#include /* before tcp_seq.h, for tcp_random18() */ - #include -#include -#include - #include #include #include #include #include #include -#include -#include -#include -#include -#include #include #include #include #include #include -#include #include #ifdef TCPDEBUG #include From owner-p4-projects@FreeBSD.ORG Sat Jul 11 15:30:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9060E1065677; Sat, 11 Jul 2009 15:30:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4401C1065675 for ; Sat, 11 Jul 2009 15:30:27 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 31C438FC16 for ; Sat, 11 Jul 2009 15:30:27 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6BFURmJ025605 for ; Sat, 11 Jul 2009 15:30:27 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6BFURel025603 for perforce@freebsd.org; Sat, 11 Jul 2009 15:30:27 GMT (envelope-from andre@freebsd.org) Date: Sat, 11 Jul 2009 15:30:27 GMT Message-Id: <200907111530.n6BFURel025603@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165932 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2009 15:30:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=165932 Change 165932 by andre@andre_flirtbox on 2009/07/11 15:29:45 Add svn#186479 and svn#189204 by bms. Affected files ... .. //depot/projects/tcp_new/sys/tree.h#2 edit Differences ... ==== //depot/projects/tcp_new/sys/tree.h#2 (text+ko) ==== @@ -737,9 +737,29 @@ (x) != NULL; \ (x) = name##_RB_NEXT(x)) +#define RB_FOREACH_FROM(x, name, y) \ + for ((x) = (y); \ + ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_SAFE(x, name, head, y) \ + for ((x) = RB_MIN(name, head); \ + ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \ + (x) = (y)) + #define RB_FOREACH_REVERSE(x, name, head) \ for ((x) = RB_MAX(name, head); \ (x) != NULL; \ (x) = name##_RB_PREV(x)) +#define RB_FOREACH_REVERSE_FROM(x, name, y) \ + for ((x) = (y); \ + ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_REVERSE_SAFE(x, name, head, y) \ + for ((x) = RB_MAX(name, head); \ + ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \ + (x) = (y)) + #endif /* _SYS_TREE_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Jul 11 16:01:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37F8110656C5; Sat, 11 Jul 2009 16:01:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E905C10656C0 for ; Sat, 11 Jul 2009 16:01:00 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CCD348FC14 for ; Sat, 11 Jul 2009 16:01:00 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6BG101m028388 for ; Sat, 11 Jul 2009 16:01:00 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6BG10i4028386 for perforce@freebsd.org; Sat, 11 Jul 2009 16:01:00 GMT (envelope-from andre@freebsd.org) Date: Sat, 11 Jul 2009 16:01:00 GMT Message-Id: <200907111601.n6BG10i4028386@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165934 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2009 16:01:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165934 Change 165934 by andre@andre_flirtbox on 2009/07/11 16:00:34 Fixups for RB based SACK scoreboard. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_input.c#13 edit .. //depot/projects/tcp_new/netinet/tcp_output.c#11 edit .. //depot/projects/tcp_new/netinet/tcp_sack.c#5 edit .. //depot/projects/tcp_new/netinet/tcp_subr.c#7 edit .. //depot/projects/tcp_new/netinet/tcp_timer.c#4 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#12 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_input.c#13 (text+ko) ==== @@ -1734,7 +1734,7 @@ * Update send SACK information and tell us how much more * data has left the network (relative to last SACK we got). */ - if ((to.to_flags & TOF_SACK) || !TAILQ_EMPTY(&tp->snd_holes)) + if ((to.to_flags & TOF_SACK) || !RB_EMPTY(&tp->snd_sackblocks)) sacked = tcp_sack_doack(tp, &to, th->th_ack); else sacked = 0; ==== //depot/projects/tcp_new/netinet/tcp_output.c#11 (text+ko) ==== ==== //depot/projects/tcp_new/netinet/tcp_sack.c#5 (text+ko) ==== @@ -42,10 +42,14 @@ #include #include #include /* for proc0 declaration */ +#include +#include #include #include +#include + #include #include #include @@ -104,15 +108,15 @@ return (0); } -RB_PROTOTYPE(tcp_sackblocks, tcp_sack_block, tsb_rb, tcp_sack_cmp); -RB_GENERATE(tcp_sackblocks, tcp_sack_block, tsb_rb, tcp_sack_cmp); +RB_PROTOTYPE_STATIC(tcp_sackblocks, tcp_sack_block, tsb_rb, tcp_sack_cmp); +RB_GENERATE_STATIC(tcp_sackblocks, tcp_sack_block, tsb_rb, tcp_sack_cmp); static void -tcp_sack_free(struct tcp_sack_block *tps, struct tcp_sack_block *tsb) +tcp_sack_free(struct tcpcb *tp, struct tcp_sack_block *tsb) { struct tcp_sack_block *sb; - sb = RB_REMOVE(tcp_sackholes, tps, tsb); + sb = RB_REMOVE(tcp_sackblocks, &tp->snd_sackblocks, tsb); KASSERT(sb != NULL, ("%s: RB_REMOVE failed", __func__)); uma_zfree(tcp_sackblock_zone, tsb); } @@ -128,7 +132,7 @@ SEQ_LEQ(tsb->tsb_blk.start, tp->snd_una) || SEQ_GT(tsb->tsb_blk.end, tp->snd_nxt) || (tsbn != NULL && SEQ_GEQ(tsb->tsb_blk.end, tsbn->tsb_blk.start))) - return (0) + return (0); } return (1); } @@ -144,17 +148,17 @@ /* Remove any blocks from the scoreboard when full acked. */ RB_FOREACH_SAFE(tsb, tcp_sackblocks, &tp->snd_sackblocks, tsbn) { - if (SEQ_LT(th_ack, tqe->tsb_blk.start)) + if (SEQ_LT(th_ack, tsb->tsb_blk.start)) break; else RB_REMOVE(tcp_sackblocks, &tp->snd_sackblocks, tsb); } - if ((to->t_flags & TOF_SACK) && to->to_nsacks == 0) { + if ((to->to_flags & TOF_SACK) && to->to_nsacks == 0) { /* remove all sack blocks, strange reneg */ tcp_sack_flush(tp); return (0); - } else if (!(to->t_flags & TOF_SACK)) + } else if (!(to->to_flags & TOF_SACK)) return (0); /* Integrate SACK blocks from segment. */ @@ -172,7 +176,7 @@ continue; /* XXXAO: Implicit-explicit reneg. */ - if (sack.start == sack.end) { + if (sack.tsb_blk.start == sack.tsb_blk.end) { /* Remove all sackblocks. */ tcp_sack_flush(tp); continue; @@ -194,7 +198,7 @@ //sacked -= SEQ_DELTA(sack.tsb_blk.start, tsbn->tsb_blk.start); if (SEQ_GT(tsbn->tsb_blk.end, tsb->tsb_blk.end)) tsb->tsb_blk.end = tsbn->tsb_blk.end; - tcp_sack_free(&tp->snd_sackblocks, tsbn); + tcp_sack_free(tp, tsbn); } } /* Extends the start. */ @@ -206,17 +210,17 @@ //sacked -= SEQ_DELTA(); if (SEQ_LT(tsbn->tsb_blk.start, tsb->tsb_blk.start)) tsb->tsb_blk.start = tsbn->tsb_blk.start; - tcp_sack_free(&tp->snd_sackblocks, tsbn); + tcp_sack_free(tp, tsbn); } } - } else if ((tsb = (struct sackblocks *)uma_zalloc(tcp_sackblock_zone, M_NOWAIT))) != NULL) { + } else if ((tsb = (struct tcp_sack_block *)uma_zalloc(tcp_sackblock_zone, M_NOWAIT)) != NULL) { sacked += SEQ_DELTA(sack.tsb_blk.start, sack.tsb_blk.end); tsb->tsb_blk.start = sack.tsb_blk.start; tsb->tsb_blk.end = sack.tsb_blk.end; tsbn = RB_INSERT(tcp_sackblocks, &tp->snd_sackblocks, tsb); KASSERT(tsbn == NULL, ("%s: RB_INSERT failed", __func__)); - } else - TCPSTAT_INC(); /* failed to allocate sackblock */ + } /*else + TCPSTAT_INC(); */ /* failed to allocate sackblock */ } KASSERT(tcp_sack_verify(tp), @@ -230,9 +234,9 @@ { struct tcp_sack_block *tsb, *tsbn; - RB_FOREACH_SAFE(tsb, tcp_sackholes, &tp->snd_sackholes, tsbn) { - RB_REMOVE(tcp_sackholes, &tp->snd_sackholes, tsb); - uma_zfree(tcp_sackbock_zone, tsb); + RB_FOREACH_SAFE(tsb, tcp_sackblocks, &tp->snd_sackblocks, tsbn) { + RB_REMOVE(tcp_sackblocks, &tp->snd_sackblocks, tsb); + uma_zfree(tcp_sackblock_zone, tsb); } } @@ -247,4 +251,4 @@ tsb->tsb_blk.start, tsb->tsb_blk.end) } } -#endif+#endif ==== //depot/projects/tcp_new/netinet/tcp_subr.c#7 (text+ko) ==== @@ -579,7 +579,7 @@ // tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP); if (tcp_do_sack) tp->t_flags |= TF_SACK_PERMIT; - TAILQ_INIT(&tp->snd_holes); + RB_INIT(&tp->snd_sackblocks); tp->t_inpcb = inp; /* XXX */ /* * Init srtt to TCPTV_SRTTBASE (0), so we can tell that we have no ==== //depot/projects/tcp_new/netinet/tcp_timer.c#4 (text+ko) ==== @@ -205,7 +205,7 @@ return; } INP_LOCK(inp); - tcp_free_sackholes(tp); + tcp_sack_flush(tp); if ((inp->inp_vflag & INP_DROPPED) || callout_pending(&tp->t_timers->tt_2msl) || !callout_active(&tp->t_timers->tt_2msl)) { INP_UNLOCK(tp->t_inpcb); @@ -408,7 +408,7 @@ return; } callout_deactivate(&tp->t_timers->tt_rexmt); - tcp_free_sackholes(tp); + tcp_sack_flush(tp); /* * Retransmission timer went off. Message has not * been acked within retransmit interval. Back off ==== //depot/projects/tcp_new/netinet/tcp_var.h#12 (text+ko) ==== @@ -34,6 +34,7 @@ #define _NETINET_TCP_VAR_H_ #include +#include /* * Kernel variables for tcp. @@ -101,7 +102,7 @@ }; struct tcp_sack_block { - RB_ENTRY(tcp_sackblocks) tsb_rb; /* scoreboard linkage */ + RB_ENTRY(tcp_sack_block) tsb_rb; /* scoreboard linkage */ struct sackblk tsb_blk; }; @@ -253,6 +254,7 @@ RB_HEAD(tcp_sackblocks, tcp_sack_block) snd_sackblocks; int snd_numholes; /* number of holes seen by sender */ int snd_sacked; /* data currently ack'ed through SACK */ + int rcv_numsacks; /* Congestion control algorithms */ tcp_win snd_cwnd_prev; /* cwnd prior to retransmit */ From owner-p4-projects@FreeBSD.ORG Sat Jul 11 23:16:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F1CD1065674; Sat, 11 Jul 2009 23:16:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E7D91065672 for ; Sat, 11 Jul 2009 23:16:57 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B9C28FC1E for ; Sat, 11 Jul 2009 23:16:57 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6BNGuAl087533 for ; Sat, 11 Jul 2009 23:16:56 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6BNGuk4087531 for perforce@freebsd.org; Sat, 11 Jul 2009 23:16:56 GMT (envelope-from rene@FreeBSD.org) Date: Sat, 11 Jul 2009 23:16:56 GMT Message-Id: <200907112316.n6BNGuk4087531@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165945 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jul 2009 23:16:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=165945 Change 165945 by rene@rene_self on 2009/07/11 23:16:19 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#28 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#13 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#17 integrate .. //depot/projects/docproj_nl/www/en/cgi/cgi-style.pl#4 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#28 (text+ko) ==== @@ -1,4 +1,4 @@ - + ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#4 (text+ko) ==== @@ -27,7 +27,7 @@ ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - $FreeBSD: doc/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml,v 1.77 2008/12/07 22:03:48 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml,v 1.78 2009/07/08 12:16:32 blackend Exp $ --> @@ -670,8 +670,8 @@ DocBook was originally developed by HaL Computer Systems and O'Reilly & Associates to be a DTD for writing technical documentation A short history can be found under - http://www.oasis-open.org/committees/docbook/intro.shtml. + url="http://www.oasis-open.org/docbook/intro.shtml#d0e41"> + http://www.oasis-open.org/docbook/intro.shtml#d0e41. . Since 1998 it is maintained by the DocBook Technical Committee. As such, and unlike LinuxDoc ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#17 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4440,22 +4440,63 @@ machine. + + + boot loader + configuration + + + Boot Loader Configuration + + The kernel features for network address translation with + &man.natd.8; are not enabled in the GENERIC + kernel, but they can be preloaded at boot time, by adding a couple of + options to /boot/loader.conf: + + ipfw_load="YES" +ipdivert_load="YES" + + Additionally, + the net.inet.ip.fw.default_to_accept tunable + option may be set to 1: + + net.inet.ip.fw.default_to_accept="1" + + + It is a very good idea to set this option during the first + attempts to setup a firewall and NAT gateway. This way the default + policy of &man.ipfw.8; will be allow ip from any to + any instead of the less permissive deny ip from + any to any, and it will be slightly more difficult to get + locked out of the system right after a reboot. + + + + Kernel Configuration + kernel configuration - Configuration - The following options must be in the kernel configuration + When modules are not an option or if it is preferrable to + build all the required features into the running kernel, the + following options must be in the kernel configuration file: + options IPFIREWALL options IPDIVERT Additionally, at choice, the following may also be suitable: options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE + - The following must be in /etc/rc.conf: + + System Startup Configuration + + To enable firewall and NAT support at boot time, the + following must be in /etc/rc.conf: gateway_enable="YES" firewall_enable="YES" ==== //depot/projects/docproj_nl/www/en/cgi/cgi-style.pl#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: www/en/cgi/cgi-style.pl,v 1.38 2009/02/14 21:14:27 miwi Exp $ +# $FreeBSD: www/en/cgi/cgi-style.pl,v 1.39 2009/07/08 08:22:51 danger Exp $ # # Perl routines to encapsulate various elements of HTML page style. @@ -100,29 +100,77 @@

    Site Navigation

    - +