From owner-p4-projects@FreeBSD.ORG Sun Apr 11 00:06:05 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18EFB106566C; Sun, 11 Apr 2010 00:06: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 D1387106564A for ; Sun, 11 Apr 2010 00:06:04 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BFB088FC08 for ; Sun, 11 Apr 2010 00:06:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3B0647Z031468 for ; Sun, 11 Apr 2010 00:06:04 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3B064Nb031466 for perforce@freebsd.org; Sun, 11 Apr 2010 00:06:04 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 00:06:04 GMT Message-Id: <201004110006.o3B064Nb031466@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176770 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 00:06:05 -0000 http://p4web.freebsd.org/@@176770?ac=10 Change 176770 by gcooper@gcooper-bayonetta on 2010/04/11 00:05:25 Yank an out-of-place sentence. Insert a note commenting about operation precedence with mtree files and @owner/@group . Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/functional_spec#2 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/functional_spec#2 (text+ko) ==== @@ -1,10 +1,11 @@ BASIC FLOW - - Packaging metadata is specified by a package list, as far as what - the payload will be, and the properties of the payloads contents, as - well as certain actions that will be acted upon at install time and - removal time. - All packages will install the appropriate files with the appropriate - permissions and ownership. + permissions and ownership, as defined by the package list metadata + and the mtree files. The mtree files take precedence over the + ownership and mode specified in the package list. + + XXX (gcooper): seems like the mtree vs ownership items are backwards. + - If the package contains a pre-install script, it will be run prior to the install. - If the package contains a post-install script, it will be run after From owner-p4-projects@FreeBSD.ORG Sun Apr 11 00:53:54 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D94D7106566C; Sun, 11 Apr 2010 00:53: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 9DA16106564A for ; Sun, 11 Apr 2010 00:53:53 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 55D988FC0A for ; Sun, 11 Apr 2010 00:53:53 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3B0rr85045641 for ; Sun, 11 Apr 2010 00:53:53 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3B0rri6045639 for perforce@freebsd.org; Sun, 11 Apr 2010 00:53:53 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 00:53:53 GMT Message-Id: <201004110053.o3B0rri6045639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176771 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 00:53:54 -0000 http://p4web.freebsd.org/@@176771?ac=10 Change 176771 by gcooper@gcooper-bayonetta on 2010/04/11 00:53:15 Fix backwards precedence noted so that it reflects reality. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/functional_spec#3 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/functional_spec#3 (text+ko) ==== @@ -1,8 +1,8 @@ BASIC FLOW - All packages will install the appropriate files with the appropriate permissions and ownership, as defined by the package list metadata - and the mtree files. The mtree files take precedence over the - ownership and mode specified in the package list. + and the mtree files. The the mode and ownership data in the package + list take precedence over the mtree files. XXX (gcooper): seems like the mtree vs ownership items are backwards. From owner-p4-projects@FreeBSD.ORG Sun Apr 11 06:03:03 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2C11106566C; Sun, 11 Apr 2010 06:03: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 975DF106564A for ; Sun, 11 Apr 2010 06:03:02 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 852868FC15 for ; Sun, 11 Apr 2010 06:03:02 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3B632dw084887 for ; Sun, 11 Apr 2010 06:03:02 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3B632kY084806 for perforce@freebsd.org; Sun, 11 Apr 2010 06:03:02 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 06:03:02 GMT Message-Id: <201004110603.o3B632kY084806@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176775 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 06:03:03 -0000 http://p4web.freebsd.org/@@176775?ac=10 Change 176775 by gcooper@gcooper-bayonetta on 2010/04/11 06:02:43 Remove broken -C [chroot] functionality. See bin/109334 for more details. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/futil.c#5 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/main.c#6 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#3 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/pkg_add.1#2 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/futil.c#5 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/main.c#6 (text+ko) ==== @@ -31,7 +31,6 @@ char *Prefix = NULL; Boolean PrefixRecursive = FALSE; -char *Chroot = NULL; Boolean NoInstall = FALSE; Boolean NoRecord = FALSE; Boolean Remote = FALSE; @@ -59,7 +58,6 @@ static char opts[] = "hviIRfFnrp:P:SMt:C:K"; static struct option longopts[] = { - { "chroot", required_argument, NULL, 'C' }, { "dry-run", no_argument, NULL, 'n' }, { "force", no_argument, NULL, 'f' }, { "help", no_argument, NULL, 'h' }, @@ -151,10 +149,6 @@ AddMode = MASTER; break; - case 'C': - Chroot = optarg; - break; - case 'i': IgnoreDeps = TRUE; break; @@ -232,11 +226,6 @@ warnx("only one package name may be specified with master mode"); usage(); } - /* Perform chroot if requested */ - if (Chroot != NULL) { - if (chroot(Chroot)) - errx(1, "chroot to %s failed", Chroot); - } /* Make sure the sub-execs we invoke get found */ setenv("PATH", "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin", @@ -309,7 +298,7 @@ usage(void) { fprintf(stderr, "%s\n%s\n", - "usage: pkg_add [-viInfFrRMSK] [-t template] [-p prefix] [-P prefix] [-C chrootdir]", + "usage: pkg_add [-viInfFrRMSK] [-t template] [-p prefix] [-P prefix]", " pkg-name [pkg-name ...]"); exit(1); } ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#3 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/pkg_add.1#2 (text+ko) ==== @@ -27,7 +27,6 @@ .Op Fl t Ar template .Op Fl p Ar prefix .Op Fl P Ar prefix -.Op Fl C Ar chrootdir .Ar pkg-name Op Ar pkg-name ... .Sh DESCRIPTION The @@ -223,32 +222,6 @@ from stdin. The complete packing list is also read from stdin, and the contents then acted on as normal. -.It Fl C , -chroot Ar chrootdir -Before doing any operations, -.Xr chroot 2 -to the -.Ar chrootdir -directory so that all package files, and the package database, are -installed to -.Ar chrootdir . -Note that -.Ar chrootdir -needs to be a fairly complete file system, including everything normally -needed by -.Nm -to run. -This flag was added to help support operations done by -.Xr sysinstall 8 -and is not expected to be useful for much else. -Be careful that -.Ar chrootdir -is properly configured and cannot be modified by normal users, -versions of commands like -.Xr fetch 1 -may be run inside -.Ar chrootdir -as a side effect. -.El .Pp One or more .Ar pkg-name From owner-p4-projects@FreeBSD.ORG Sun Apr 11 09:44:44 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70DBC1065675; Sun, 11 Apr 2010 09:44: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 35046106564A for ; Sun, 11 Apr 2010 09:44:44 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 205198FC19 for ; Sun, 11 Apr 2010 09:44:44 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3B9iiZU014931 for ; Sun, 11 Apr 2010 09:44:44 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3B9ih4Y014929 for perforce@freebsd.org; Sun, 11 Apr 2010 09:44:43 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 09:44:43 GMT Message-Id: <201004110944.o3B9ih4Y014929@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176778 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 09:44:44 -0000 http://p4web.freebsd.org/@@176778?ac=10 Change 176778 by gcooper@gcooper-bayonetta on 2010/04/11 09:43:48 Commit modified copy of bapt's patch to enable archive(3) support with pkg_install in unpack. Need to test. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/Makefile#2 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/create/Makefile#2 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/delete/Makefile#2 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/info/Makefile#2 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/Makefile#2 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#6 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/updating/Makefile#2 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/version/Makefile#2 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/Makefile#2 (text+ko) ==== @@ -8,7 +8,7 @@ WARNS?= 3 WFORMAT?= 1 -DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD} -LDADD= ${LIBINSTALL} -lfetch -lmd +DPADD= ${LIBINSTALL} ${LIBARCHIVE} ${LIBFETCH} ${LIBMD} +LDADD= ${LIBINSTALL} -larchive -lfetch -lmd .include ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/create/Makefile#2 (text+ko) ==== @@ -8,7 +8,7 @@ WARNS?= 3 WFORMAT?= 1 -DPADD= ${LIBINSTALL} ${LIBMD} -LDADD= ${LIBINSTALL} -lmd +DPADD= ${LIBINSTALL} ${LIBARCHIVE} ${LIBMD} +LDADD= ${LIBINSTALL} -larchive -lmd .include ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/delete/Makefile#2 (text+ko) ==== @@ -7,7 +7,7 @@ WFORMAT?= 1 -DPADD= ${LIBINSTALL} ${LIBMD} -LDADD= ${LIBINSTALL} -lmd +DPADD= ${LIBINSTALL} ${LIBARCHIVE} ${LIBMD} +LDADD= ${LIBINSTALL} -larchive -lmd .include ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/info/Makefile#2 (text+ko) ==== @@ -7,7 +7,7 @@ WFORMAT?= 1 -DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD} -LDADD= ${LIBINSTALL} -lfetch -lmd +DPADD= ${LIBINSTALL} ${LIBARCHIVE} ${LIBFETCH} ${LIBMD} +LDADD= ${LIBINSTALL} -larchive -lfetch -lmd .include ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/Makefile#2 (text+ko) ==== ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#6 (text+ko) ==== @@ -22,7 +22,10 @@ __FBSDID("$FreeBSD: src/usr.sbin/pkg_install/lib/file.c,v 1.70 2010/04/01 14:27:29 flz Exp $"); #include "lib.h" +#include +#include #include +#include #include #include #include @@ -334,37 +337,71 @@ } } +#define EXTRACT_ARCHIVE_FLAGS (ARCHIVE_EXTRACT_OWNER | ARCHIVE_EXTRACT_PERM | ARCHIVE_EXTRACT_TIME) + /* Unpack a tar file */ int -unpack(const char *pkg, const char *flist) +unpack(const char *pkg, const char *file_expr) { - const char *comp, *cp; - char suff[80]; + struct archive *archive; + struct archive_entry *archive_entry; + Boolean extract_whole_archive = FALSE; + const char *error = NULL; + const char *pkg_name_humanized; + int fn_ret = 0, r; + + if (file_expr == NULL || strcmp("*", file_expr) == 0) + extract_whole_archive = TRUE; + + pkg_name_humanized = strcmp(pkg, "-") == 0 ? "(stdin)" : pkg; + + archive_read_support_compression_all(archive); + archive_read_support_format_tar(archive); + + /* The initial open failed */ + if (archive_read_open_filename(archive, pkg, + ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) { + + error = archive_error_string(archive); + warnx("%s: unable to open the package from %s: %s", + __func__, pkg_name_humanized, error); - comp = ""; - /* - * Figure out by a crude heuristic whether this or not this is probably - * compressed and whichever compression utility was used (gzip or bzip2). - */ - if (strcmp(pkg, "-")) { - cp = strrchr(pkg, '.'); - if (cp) { - strcpy(suff, cp + 1); - if (strchr(suff, 'z') || strchr(suff, 'Z')) { - if (strchr(suff, 'b')) - comp = "-j"; - else - comp = "-z"; - } } - } - else - comp = "-j"; - if (vsystem("/usr/bin/tar -xp %s -f '%s' %s", comp, pkg, flist ? flist : "")) { - warnx("tar extract of %s failed!", pkg); - return 1; - } - return 0; + else + while (error == NULL && + (r = archive_read_next_header(archive, &archive_entry)) == + ARCHIVE_OK) { + + /* Let's extract the whole archive, or just a file. */ + if (extract_whole_archive == TRUE || + (fn_ret = fnmatch(file_expr, + archive_entry_pathname(archive_entry), + FNM_PATHNAME) == 0)) { + + r = archive_read_extract(archive, archive_entry, + EXTRACT_ARCHIVE_FLAGS); + if (r != ARCHIVE_OK) { + error = archive_error_string(archive); + warnx("%s: extraction for %s failed: " + "%s", __func__, pkg_name_humanized, + error); + } + + } + + /* + * Else let's skip the entry because we still haven't + * found what we're looking for. + */ + else if (fn_ret == FNM_NOMATCH) + archive_read_data_skip(archive); + + } + + archive_read_finish(archive); + + return (error == NULL ? 0 : 1); + } /* ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/updating/Makefile#2 (text+ko) ==== @@ -7,7 +7,7 @@ WFORMAT?= 1 -DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD} -LDADD= ${LIBINSTALL} -lfetch -lmd +DPADD= ${LIBINSTALL} ${LIBARCHIVE} ${LIBFETCH} ${LIBMD} +LDADD= ${LIBINSTALL} -larchive -lfetch -lmd .include ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/version/Makefile#2 (text+ko) ==== @@ -7,8 +7,8 @@ WFORMAT?= 1 -DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD} -LDADD= ${LIBINSTALL} -lfetch -lmd +DPADD= ${LIBINSTALL} ${LIBARCHIVE} ${LIBFETCH} ${LIBMD} +LDADD= ${LIBINSTALL} -larchive -lfetch -lmd test: sh ${.CURDIR}/test-pkg_version.sh From owner-p4-projects@FreeBSD.ORG Sun Apr 11 10:22:22 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D24C1065673; Sun, 11 Apr 2010 10:22: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 F24BD1065670 for ; Sun, 11 Apr 2010 10:22:21 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DCC608FC12 for ; Sun, 11 Apr 2010 10:22:21 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BAMLR5018675 for ; Sun, 11 Apr 2010 10:22:21 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BAMLDF018673 for perforce@freebsd.org; Sun, 11 Apr 2010 10:22:21 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 10:22:21 GMT Message-Id: <201004111022.o3BAMLDF018673@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176779 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 10:22:22 -0000 http://p4web.freebsd.org/@@176779?ac=10 Change 176779 by gcooper@gcooper-bayonetta on 2010/04/11 10:21:45 Checkpoint testplan. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/testplan#2 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/testplan#2 (text+ko) ==== @@ -1,40 +1,145 @@ -REQUIREMENTS: +Basic package installation. + + Local package install: + - Type: Positive + - Setup: Create basic package (no special metadata in package list). + - Test: Install predefined package. + - PF Criteria: The contents of the package must be installed in the + defined prefix and the permissions and the mode must match the + created package. + + Remote package install (FTP, absolute): + - Type: Positive + - Setup: Create basic package (no special metadata in package list). + Host said package on ftp server. + - Test: Install predefined package via fully qualified URI. + - PF Criteria: The package must be fetched. The contents of the + package must be installed in the defined prefix and the permissions + and the mode must match the created package. The package will be + deleted after the installation is complete. + + Remote package install (HTTP, absolute): + - Type: Positive + - Setup: Create basic package (no special metadata in package list). + Host said package on webserver. + - Test: Install predefined package via fully qualified URI. + - PF Criteria: The package must be fetched. The contents of the + package must be installed in the defined prefix and the permissions + and the mode must match the created package. The package will be + deleted after the installation is complete. + + Remote package install (FTP, package name): + - Type: Positive + - Setup: Create basic package (no special metadata in package list). + Host said package on webserver. + - Test: Install predefined package. + - PF Criteria: The package must be fetched. The contents of the + package must be installed in the defined prefix and the permissions + and the mode must match the created package. The package will be + deleted after the installation is complete. + + Remote package install (HTTP, package name): + - Type: Positive + - Setup: Create basic package (no special metadata in package list). + Host said package on webserver. + - Test: Install predefined package. + - PF Criteria: The package must be fetched. The contents of the + package must be installed in the defined prefix and the permissions + and the mode must match the created package. The package will be + deleted after the installation is complete. + + Remote package install (pre-existing package): + - Type: Positive + - Setup: Create basic package (no special metadata in package list). + - Test: Install pre-existing package. + - PF Criteria: The package will not be fetched. The contents of the + package must be installed in the defined prefix and the permissions + and the mode must match the created package. The package will be + deleted after the installation is complete. + + Remote package install (lacking space): + - Type: Negative + - Setup: Create a large package (or a small memory disk). + - Test: Attempt to install package. + - PF Criteria: The package will be partially fetched and fail. Thus, + the installation will fail as well. The package will be deleted. + + Remote package install (unsupported URI scheme): + - Type: Negative + - Setup: n/a + - Test: Attempt to install package via non-fetch(3) supported URI + (say, gopher:// ?) scheme. + - PF Criteria: The package fetch will fail and the install will fail + with the utility claiming that the URI isn't supported, or something + of the like. + + Already Installed package: + - Type: Negative + - Setup: Install a package. + - Test: Attempt to reinstall package. + - PF Criteria: The package will not be installed. + + Already Installed package: + - Type: Positive + - Setup: Install a package. + - Test: Attempt to reinstall package with force option. + - PF Criteria: The package will be installed. + + Local package install (package missing metadata): + - Type: Negative + - Setup: Create tarball missing required pieces (+CONTENTS, etc). + - Test: Attempt to install predefined package. + - PF Criteria: The payload contained in the package will not be + installed as the metadata is missing. + + Missing package: + - Type: Negative + - Setup: n/a + - Test: Attempt to install a non-existent package. + - PF Criteria: The installation will fail. + + Missing dependency: + - Type: Negative + - Setup: Create package A, dependent on missing package B + - Test: Attempt to install package A. + - PF Criteria: The installation will fail because of the unfulfilled + dependency requirement via package B. -Package List - - Packaging metadata is specified by a package list. It will contain - all of the details that at first glance describe a package, such as - what the payload will be and the properties of the payloads - contents (ownership, mode). Other pieces describing the install - process will exist outside of the package manifest. + Conflicting package: + - Type: Negative + - Setup: Create package A and package B, s.t. package A conflicts with + package B. + - Test: Install package B. Attempt to install package A. + - PF Criteria: package B will successfully install, but package A will + be rejected due to the conflict between package A and package B + noted in package A. -Installing packages (basic end-to-end) flow. - - Packaging metadata is specified by a package list, as far as what - the payload will be, and the properties of the payloads contents, as - well as certain actions that will be acted upon at install time and - removal time. - - All packages will install the appropriate files with the appropriate - permissions and ownership. - - If the package contains a pre-install script, it will be run prior to - the install. - - If the package contains a post-install script, it will be run after - the install. - - If the package is malformed, does not exist, or is incomplete, i.e. - i. missing metadata. - ii. has an incomplete or improperly specified packing list. - iii. is a corrupt archive. - iv. does not match the package checksum recorded . - it will not be installed. +Tertiary functionality -Tertiary functionality: + Keep remote package... + - Precondition: the specified package has a valid libfetch supported + URI (ftp://, http://), or a package origin / basename is specified + with remote fetch requested. -Fetching remote packages: + ... package exists: + - Setup: Create basic package (no special metadata in package list). + Host said package on webserver. + - Test: Install package; request that it be retained after the install. + - PF Criteria: package will be installed; package will be retained + after installation is complete. - If the specified package has a valid libfetch supported URI (ftp://, - http://), or a package origin / basename is specified with remote fetch - requested, then the package will be fetched remotely. + ... missing package on remote endpoint: + - Setup: n/a + - Test: Install package from non-existent URI. + - PF Criteria: package will not be installed; package will not exist + on the disk. - - If the package exists, it will be installed as dictated above. - - If the package doesn't exist or is installed, it . + ... unsupported URI scheme: + - Type: Negative + - Setup: n/a + - Test: Attempt to install package via non-fetch(3) supported URI + (say, gopher:// ?) scheme. + - PF Criteria: The package fetch will fail and the install will fail + with the utility claiming that the URI isn't supported, or something + of the like. Package will not exist on the disk. - Keep package: - - If the package From owner-p4-projects@FreeBSD.ORG Sun Apr 11 11:25:35 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53C6D1065670; Sun, 11 Apr 2010 11:25:35 +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 186DA106566B for ; Sun, 11 Apr 2010 11:25:35 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE4F48FC18 for ; Sun, 11 Apr 2010 11:25:34 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BBPY9e024365 for ; Sun, 11 Apr 2010 11:25:34 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BBPYN8024362 for perforce@freebsd.org; Sun, 11 Apr 2010 11:25:34 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 11:25:34 GMT Message-Id: <201004111125.o3BBPYN8024362@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176786 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 11:25:35 -0000 http://p4web.freebsd.org/@@176786?ac=10 Change 176786 by gcooper@gcooper-bayonetta on 2010/04/11 11:24:37 Checkpoint one more time for tonight. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/testplan#3 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/testplan#3 (text+ko) ==== @@ -114,8 +114,41 @@ be rejected due to the conflict between package A and package B noted in package A. + Incomplete payload: + - Type: Negative + - Setup: Create package, but modify +CONTENTS to add more entries than + are actually present in the package. + - Test: Attempt to install package. + - PF Criteria: package will fail to install because of missing payload + entries. All of the files staged or installed will be rolled back. + + Corrupt payload: + - Type: Negative + - Setup: Create package. Flip some bits in one of the files, + effectively changing the unique signature. Repackage. + - Test: Attempt to install package. + - PF Criteria: package will fail to install because of a checksum + mismatch. All of the files staged or installed will be rolled back. + Tertiary functionality + Install into prefix... + - Precondition: the user must request that the package be installed in + a non-standard location. + + ... package exists: + - Setup: Create package which would install in /usr/local by default. + Create a directory called /tmp/package . + - Test: Install package in /tmp/package . + - PF Criteria: package contents will be installed in a path rooted at + /tmp/package + + ... non-existent prefix: + - Setup: Create package which would install in /usr/local by default. + - Test: Attempt to install package in /i/dont/exist . + - PF Criteria: package will fail to install because /i/dont/exist + doesn't exist :). + Keep remote package... - Precondition: the specified package has a valid libfetch supported URI (ftp://, http://), or a package origin / basename is specified From owner-p4-projects@FreeBSD.ORG Sun Apr 11 18:05:24 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E8F31065678; Sun, 11 Apr 2010 18:05: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 C95EA106566C for ; Sun, 11 Apr 2010 18:05:23 +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 B56558FC1B for ; Sun, 11 Apr 2010 18:05:23 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BI5NZc082454 for ; Sun, 11 Apr 2010 18:05:23 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BI5Nit082452 for perforce@freebsd.org; Sun, 11 Apr 2010 18:05:23 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 11 Apr 2010 18:05:23 GMT Message-Id: <201004111805.o3BI5Nit082452@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 Precedence: bulk Cc: Subject: PERFORCE change 176805 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 18:05:24 -0000 http://p4web.freebsd.org/@@176805?ac=10 Change 176805 by rene@rene_eee on 2010/04/11 18:05:02 IFC Affected files ... .. //depot/projects/docproj_nl/share/sgml/mirrors.xml#15 integrate .. //depot/projects/docproj_nl/www/en/administration.sgml#13 integrate .. //depot/projects/docproj_nl/www/en/developers.sgml#33 integrate .. //depot/projects/docproj_nl/www/en/donations/donors.sgml#29 integrate .. //depot/projects/docproj_nl/www/en/portmgr/index.sgml#2 integrate .. //depot/projects/docproj_nl/www/en/projects/ideas/ideas.xml#11 integrate .. //depot/projects/docproj_nl/www/en/projects/summerofcode-2008.sgml#3 integrate .. //depot/projects/docproj_nl/www/en/projects/summerofcode.xsl#6 integrate .. //depot/projects/docproj_nl/www/share/sgml/libcommon.xsl#8 integrate .. //depot/projects/docproj_nl/www/share/sgml/news.xml#74 integrate Differences ... ==== //depot/projects/docproj_nl/share/sgml/mirrors.xml#15 (text+ko) ==== @@ -2,7 +2,7 @@ - $FreeBSD: doc/share/sgml/mirrors.xml,v 1.106 2010/03/21 21:12:37 pav Exp $ + $FreeBSD: doc/share/sgml/mirrors.xml,v 1.107 2010/04/08 21:00:28 pgj Exp $ @@ -1789,7 +1789,7 @@ - cvsup3.se.FreeBSD.org + cvsup2.se.FreeBSD.org hostmaster@se.FreeBSD.org ==== //depot/projects/docproj_nl/www/en/administration.sgml#13 (text+ko) ==== @@ -1,5 +1,5 @@ + %developers; @@ -429,6 +429,7 @@ machines should be directed to the cluster administrators.

    +
  • &a.brd; <brd@FreeBSD.org>
  • &a.billf; <billf@FreeBSD.org>
  • &a.simon; <simon@FreeBSD.org>
  • &a.ps; <ps@FreeBSD.org>
  • ==== //depot/projects/docproj_nl/www/en/developers.sgml#33 (text+ko) ==== @@ -6,7 +6,7 @@ us to update author names, or the representation of those names (such as adding email addresses), by just editing a single file. -$FreeBSD: www/en/developers.sgml,v 1.244 2010/04/05 17:13:23 jacula Exp $ +$FreeBSD: www/en/developers.sgml,v 1.246 2010/04/11 17:19:14 sahil Exp $ --> @@ -487,6 +487,7 @@ + @@ -609,7 +610,6 @@ - ==== //depot/projects/docproj_nl/www/en/donations/donors.sgml#29 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -2715,6 +2715,12 @@ Received + + Raymond Vetter + Sun Ultra 5 + gahr + Received + ==== //depot/projects/docproj_nl/www/en/portmgr/index.sgml#2 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -51,7 +51,7 @@

    portmgr@FreeBSD.org: &a.portmgr;

    -

    Secretary: &a.erwin; (Secretary: &a.tabthorpe; (portmgr-secretary@FreeBSD.org)

    Resources Of Interest To FreeBSD Contributors and Developers

    ==== //depot/projects/docproj_nl/www/en/projects/ideas/ideas.xml#11 (text+ko) ==== @@ -15,7 +15,7 @@ - $FreeBSD: www/en/projects/ideas/ideas.xml,v 1.162 2010/04/02 09:28:32 pav Exp $ + $FreeBSD: www/en/projects/ideas/ideas.xml,v 1.164 2010/04/09 20:05:38 jkois Exp $ @@ -205,6 +205,16 @@ + + Port Darwin's NTFS implementation + + +

    The Kernel + part of NTFS implementation on Mac OS X is dual licensed under both a + 3-clause BSD and GPL license, and supports writing.

    +
    +
    + Port NetBSD's UDF implementation @@ -1958,7 +1968,7 @@

    Technical info:: on J.R. Oldroyd's - Unicode Support on + Unicode Support on FreeBSD page

    Many base system utilities grew multibyte support in 2004. It would be nice to continue this trend by teaching vi(1) to display and edit ==== //depot/projects/docproj_nl/www/en/projects/summerofcode-2008.sgml#3 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -43,7 +43,7 @@

    MPLS is a networking protocol used for routing information quickly and efficiently. It is used extensively in the internet's backbone networks. Over the course of the program, - code has been ported to FreeBSD from the OpendBSD/NetBSD + code has been ported to FreeBSD from the OpenBSD/NetBSD operating systems. Basic functionality of sending and receiving packets was the main goal of the project, but unfortunately this was not acheived. It is very close to having this functionality, ==== //depot/projects/docproj_nl/www/en/projects/summerofcode.xsl#6 (text+ko) ==== @@ -7,7 +7,7 @@ %developers; ]> - + @@ -95,6 +95,8 @@

    For a complete list of student projects from previous years, visit:

      +
    • Summer of + Code 2009 FreeBSD Projects Wiki
    • Summer of Code 2008 FreeBSD Projects Summary
    • Summer of Code 2007 FreeBSD ==== //depot/projects/docproj_nl/www/share/sgml/libcommon.xsl#8 (text+ko) ==== @@ -1,7 +1,7 @@ - +

      For a detailed description of past, present, and future releases, - see the Release - Information page.

      + see the Release Information + page.

      -

      For FreeBSD Security Advisories, please refer to the - Security Information page.

      +

      For FreeBSD security information and a list of available + Security Advisories, please refer to the + Security Information page.

      ==== //depot/projects/docproj_nl/www/share/sgml/news.xml#74 (text+ko) ==== @@ -25,7 +25,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.308 2010/04/05 17:13:23 jacula Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.309 2010/04/11 17:19:14 sahil Exp $ @@ -36,6 +36,15 @@ 4 + 11 + + +

      New committer: Sahil Tandon (ports)

      +
      + +
      + + 5 From owner-p4-projects@FreeBSD.ORG Sun Apr 11 18:16:35 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B313F1065670; Sun, 11 Apr 2010 18:16:35 +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 5E889106566B for ; Sun, 11 Apr 2010 18:16:35 +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 4BD818FC0C for ; Sun, 11 Apr 2010 18:16:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BIGZsG083328 for ; Sun, 11 Apr 2010 18:16:35 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BIGZdn083326 for perforce@freebsd.org; Sun, 11 Apr 2010 18:16:35 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 11 Apr 2010 18:16:35 GMT Message-Id: <201004111816.o3BIGZdn083326@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 Precedence: bulk Cc: Subject: PERFORCE change 176807 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 18:16:35 -0000 http://p4web.freebsd.org/@@176807?ac=10 Change 176807 by rene@rene_eee on 2010/04/11 18:16:28 [website] MFen share/sgml/libcommon.sgml 1.30 -> 1.31 Affected files ... .. //depot/projects/docproj_nl/www/nl/share/sgml/libcommon.xsl#13 edit Differences ... ==== //depot/projects/docproj_nl/www/nl/share/sgml/libcommon.xsl#13 (text+ko) ==== @@ -3,19 +3,19 @@ "http://www.FreeBSD.org/XML/www/share/sgml/xslt10-freebsd.dtd"> + select="'%Y-%M-%D'" /> + select="'%Y %M'" /> + select="'%D %M'" /> + select="'%W, %D %m %Y 00:00:00 CET'" />

      De wijdverbreide populariteit van &os; heeft tot een aantal @@ -103,13 +103,14 @@

    • GNOME op &os;
    -

    Zie voor een gedetailleerde beschrijving van vroegere, huidige en - toekomstige uitgaven de pagina Uitgave-informatie.

    +

    Een gedetailleerde beschrijving van vroegere, huidige en toekomstige + uitgaven staat op de pagina Uitgave-informatie.

    Bekijk alstublieft de pagina Beveiligingsinformatie voor - beveiligingsadviezen voor &os;.

    + href="&enbase;/security/">Beveiligingsinformatie voor + beveiligingsinformatie voor &os; en een lijst van beschikbare + Beveiligingsadviezen.

    @@ -245,7 +246,7 @@ generate title for the security advisories rdf --> + xmlns="http://my.netscape.com/rdf/simple/0.9/"> &os; beveiligingsadviezen http://www.FreeBSD.org/security/ @@ -257,7 +258,7 @@ pulls in the 10 most recent security advisories --> + xmlns:atom="http://www.w3.org/2005/Atom"> &os; beveiligingsadviezen @@ -287,7 +288,7 @@ pulls in the 10 most recent errata notices --> + xmlns:atom="http://www.w3.org/2005/Atom"> &os; erratamededelingen @@ -328,8 +329,8 @@ + (not(country/@role) or country/@role != 'primary') and + host[@type = 'www']/url[@proto = 'httpv6']]"> @@ -348,8 +349,8 @@ + (not(country/@role) or country/@role != 'primary') and + host[@type = 'www']/url[@proto = 'http']]"> From owner-p4-projects@FreeBSD.ORG Sun Apr 11 18:45:04 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68CF51065679; Sun, 11 Apr 2010 18:45: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 2D8401065676 for ; Sun, 11 Apr 2010 18:45:04 +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 04D888FC15 for ; Sun, 11 Apr 2010 18:45:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BIj3ib085527 for ; Sun, 11 Apr 2010 18:45:03 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BIj3Kh085525 for perforce@freebsd.org; Sun, 11 Apr 2010 18:45:03 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 11 Apr 2010 18:45:03 GMT Message-Id: <201004111845.o3BIj3Kh085525@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 Precedence: bulk Cc: Subject: PERFORCE change 176809 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 18:45:04 -0000 http://p4web.freebsd.org/@@176809?ac=10 Change 176809 by rene@rene_eee on 2010/04/11 18:44:17 Announce my ports commit bit MFP4 after: approval from tabthorpe (mentor) Affected files ... .. //depot/projects/docproj_nl/www/share/sgml/news.xml#75 edit Differences ... ==== //depot/projects/docproj_nl/www/share/sgml/news.xml#75 (text+ko) ==== @@ -38,6 +38,12 @@ 11 + +

    Enhanced commit privileges: René Ladan + (doc-nl, ports)

    +
    +

    New committer: Sahil Tandon (ports)

    From owner-p4-projects@FreeBSD.ORG Sun Apr 11 20:57:17 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B38CA1065672; Sun, 11 Apr 2010 20:57: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 781F8106564A for ; Sun, 11 Apr 2010 20:57:17 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F7DC8FC15 for ; Sun, 11 Apr 2010 20:57:17 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BKvH2T007860 for ; Sun, 11 Apr 2010 20:57:17 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BKvH02007856 for perforce@freebsd.org; Sun, 11 Apr 2010 20:57:17 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 20:57:17 GMT Message-Id: <201004112057.o3BKvH02007856@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176817 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 20:57:18 -0000 http://p4web.freebsd.org/@@176817?ac=10 Change 176817 by gcooper@gcooper-bayonetta on 2010/04/11 20:57:00 Simplify code a bit. - archive_read_data_skip call is unneeded because we're doing an in-order traversal of the archive anyhow. - Thus, there's no reason why we should save the value of fnmatch(3) because we're not reusing it anywhere else. - Fix indentation on multiline branch statement. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#7 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#7 (text+ko) ==== @@ -348,7 +348,7 @@ Boolean extract_whole_archive = FALSE; const char *error = NULL; const char *pkg_name_humanized; - int fn_ret = 0, r; + int r; if (file_expr == NULL || strcmp("*", file_expr) == 0) extract_whole_archive = TRUE; @@ -374,8 +374,8 @@ /* Let's extract the whole archive, or just a file. */ if (extract_whole_archive == TRUE || - (fn_ret = fnmatch(file_expr, - archive_entry_pathname(archive_entry), + (fnmatch(file_expr, + archive_entry_pathname(archive_entry), FNM_PATHNAME) == 0)) { r = archive_read_extract(archive, archive_entry, @@ -389,13 +389,6 @@ } - /* - * Else let's skip the entry because we still haven't - * found what we're looking for. - */ - else if (fn_ret == FNM_NOMATCH) - archive_read_data_skip(archive); - } archive_read_finish(archive); From owner-p4-projects@FreeBSD.ORG Sun Apr 11 21:06:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D84E11065670; Sun, 11 Apr 2010 21:06:26 +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 84DB0106564A for ; Sun, 11 Apr 2010 21:06:26 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 725EF8FC16 for ; Sun, 11 Apr 2010 21:06:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BL6QOh009600 for ; Sun, 11 Apr 2010 21:06:26 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BL6QQ3009598 for perforce@freebsd.org; Sun, 11 Apr 2010 21:06:26 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 21:06:26 GMT Message-Id: <201004112106.o3BL6QQ3009598@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 21:06:27 -0000 http://p4web.freebsd.org/@@176818?ac=10 Change 176818 by gcooper@gcooper-bayonetta on 2010/04/11 21:06:17 We're no longer calling tar(1) from unpack on the command line, so there's no reason why the glob should be quoted. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/info/perform.c#2 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/info/perform.c#2 (text+ko) ==== @@ -137,7 +137,7 @@ goto bail; } make_playpen(PlayPen, sb.st_size / 2); - if (unpack(fname, "'+*'")) { + if (unpack(fname, "+*")) { warnx("error during unpacking, no info for '%s' available", pkg); code = 1; goto bail; From owner-p4-projects@FreeBSD.ORG Sun Apr 11 21:25:46 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 354701065672; Sun, 11 Apr 2010 21:25: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 EE17B106564A for ; Sun, 11 Apr 2010 21:25:45 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB6238FC1D for ; Sun, 11 Apr 2010 21:25:45 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3BLPjig011080 for ; Sun, 11 Apr 2010 21:25:45 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3BLPj7S011078 for perforce@freebsd.org; Sun, 11 Apr 2010 21:25:45 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 11 Apr 2010 21:25:45 GMT Message-Id: <201004112125.o3BLPj7S011078@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176819 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Apr 2010 21:25:46 -0000 http://p4web.freebsd.org/@@176819?ac=10 Change 176819 by gcooper@gcooper-bayonetta on 2010/04/11 21:24:55 tar -p also preserves ACLS, fflags, and xattrs; add the appropriate options to the archive(3) call. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#8 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#8 (text+ko) ==== @@ -337,7 +337,9 @@ } } -#define EXTRACT_ARCHIVE_FLAGS (ARCHIVE_EXTRACT_OWNER | ARCHIVE_EXTRACT_PERM | ARCHIVE_EXTRACT_TIME) +#define EXTRACT_ARCHIVE_FLAGS (ARCHIVE_EXTRACT_OWNER |ARCHIVE_EXTRACT_PERM| \ + ARCHIVE_EXTRACT_TIME |ARCHIVE_EXTRACT_ACL | \ + ARCHIVE_EXTRACT_FFLAGS|ARCHIVE_EXTRACT_XATTR) /* Unpack a tar file */ int From owner-p4-projects@FreeBSD.ORG Mon Apr 12 09:54:16 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D52F91065673; Mon, 12 Apr 2010 09:54: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 99FC0106564A for ; Mon, 12 Apr 2010 09:54:15 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6CEDC8FC0C for ; Mon, 12 Apr 2010 09:54:15 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3C9sFjb014871 for ; Mon, 12 Apr 2010 09:54:15 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3C9sFnl014869 for perforce@freebsd.org; Mon, 12 Apr 2010 09:54:15 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 12 Apr 2010 09:54:15 GMT Message-Id: <201004120954.o3C9sFnl014869@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176827 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 09:54:16 -0000 http://p4web.freebsd.org/@@176827?ac=10 Change 176827 by gcooper@gcooper-bayonetta on 2010/04/12 09:53:17 Fix two bugs and add debug code in unpack. 1. Forgot to add archive_read(3). 2. Didn't delete leftover arguments from previous tar(1) invocation. 3. Add psuedo-tar(1)-like printouts for determining what was extracted (X) and what was skipped (S). Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#4 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#9 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#4 (text+ko) ==== @@ -63,7 +63,6 @@ Package Plist; char pkg_fullname[FILENAME_MAX]; char playpen[FILENAME_MAX]; - char extract_contents[FILENAME_MAX]; char *extract; const char *where_to; FILE *cfile; @@ -129,8 +128,7 @@ warnx("can't stat package file '%s'", pkg_fullname); goto bomb; } - sprintf(extract_contents, "--fast-read %s", CONTENTS_FNAME); - extract = extract_contents; + extract = CONTENTS_FNAME; } else { extract = NULL; ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#9 (text+ko) ==== @@ -355,8 +355,17 @@ if (file_expr == NULL || strcmp("*", file_expr) == 0) extract_whole_archive = TRUE; + if (Verbose) { + if (extract_whole_archive) + printf("%s: will extract whole archive\n", __func__); + else + printf("%s: will extract files that match: %s\n", + __func__, file_expr); + } + pkg_name_humanized = strcmp(pkg, "-") == 0 ? "(stdin)" : pkg; + archive = archive_read_new(); archive_read_support_compression_all(archive); archive_read_support_format_tar(archive); @@ -388,7 +397,14 @@ "%s", __func__, pkg_name_humanized, error); } + if (Verbose) { + printf("X - %s\n", + archive_entry_pathname(archive_entry)); + } + } else if (Verbose) { + printf("S - %s\n", + archive_entry_pathname(archive_entry)); } } From owner-p4-projects@FreeBSD.ORG Mon Apr 12 10:26:48 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91DC3106568F; Mon, 12 Apr 2010 10:26: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 3D94D1065687 for ; Mon, 12 Apr 2010 10:26:48 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2A8F18FC2D for ; Mon, 12 Apr 2010 10:26:48 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3CAQm0B018256 for ; Mon, 12 Apr 2010 10:26:48 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3CAQliR018254 for perforce@freebsd.org; Mon, 12 Apr 2010 10:26:47 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 12 Apr 2010 10:26:47 GMT Message-Id: <201004121026.o3CAQliR018254@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 10:26:48 -0000 http://p4web.freebsd.org/@@176828?ac=10 Change 176828 by gcooper@gcooper-bayonetta on 2010/04/12 10:26:28 Convert fetch(3) call over to piped read via unpack and fix potential bug in interrupted or HUPed call during unpack where the file wasn't being deleted in the event of a failure. More signals need to be added to the signal handler. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#10 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/url.c#4 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#10 (text+ko) ==== @@ -363,7 +363,10 @@ __func__, file_expr); } - pkg_name_humanized = strcmp(pkg, "-") == 0 ? "(stdin)" : pkg; + if (pkg == NULL || strcmp(pkg, "-") == 0) + pkg_name_humanized = "(stdin)"; + else + pkg_name_humanized = pkg; archive = archive_read_new(); archive_read_support_compression_all(archive); ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/url.c#4 (text+ko) ==== @@ -22,11 +22,21 @@ __FBSDID("$FreeBSD: src/usr.sbin/pkg_install/lib/url.c,v 1.13 2010/04/01 14:27:29 flz Exp $"); #include "lib.h" +#include #include #include #include -#include #include +#include + +static char pkg[FILENAME_MAX]; + +static void +fetch_cleanup(int sig) +{ + unlink(pkg); + cleanup(sig); +} /* * Try and fetch a file by URL, returning the directory name for where @@ -39,7 +49,6 @@ char *cp, *tmp; char fname[FILENAME_MAX]; char pen[FILENAME_MAX]; - char pkg[FILENAME_MAX]; char buf[8192]; FILE *ftp; pid_t tpid; @@ -128,31 +137,40 @@ cleanup(0); exit(2); } - if ((tpid = fork()) == -1) { - warn("pipe()"); + switch((tpid = fork())) { + case -1: + warn("fork() failed"); cleanup(0); - exit(2); - } - if (!tpid) { + exit(EXIT_FAILURE); + break; + case 0: + /* Let the parent deal with the signals. */ + signal(SIGHUP, SIG_DFL); + signal(SIGINT, SIG_DFL); dup2(pfd[0], 0); for (fd = getdtablesize() - 1; fd >= 3; --fd) - close(fd); - execl("/usr/bin/tar", "tar", - Verbose ? "-xpjvf" : "-xpjf", - "-", (char *)0); - _exit(2); - } - close(pfd[0]); - for (;;) { - if ((r = fread(buf, 1, sizeof buf, ftp)) < 1) - break; - if ((w = write(pfd[1], buf, r)) != r) - break; - if (keep_package) { - if ((w = write(pkgfd, buf, r)) != r) + close(fd); + _exit(unpack(NULL, NULL)); + break; + default: + signal(SIGHUP, fetch_cleanup); + signal(SIGINT, fetch_cleanup); + close(pfd[0]); + for (;;) { + if ((r = fread(buf, 1, sizeof(buf), ftp)) < 1) + break; + if ((w = write(pfd[1], buf, r)) != r) break; - } + if (keep_package) { + if ((w = write(pkgfd, buf, r)) != r) + break; + } + + } + signal(SIGHUP, cleanup); + signal(SIGINT, cleanup); } + if (ferror(ftp)) warn("warning: error reading from server"); fclose(ftp); @@ -164,7 +182,7 @@ warn("warning: error writing to tar"); tpid = waitpid(tpid, &pstat, 0); if (Verbose) - printf("tar command returns %d status\n", WEXITSTATUS(pstat)); + printf("unpack returned status: %d\n", WEXITSTATUS(pstat)); if (rp && (isatty(0) || Verbose)) printf(" Done.\n"); return rp; From owner-p4-projects@FreeBSD.ORG Mon Apr 12 11:18:40 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF4B31065672; Mon, 12 Apr 2010 11:18: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 73488106566B for ; Mon, 12 Apr 2010 11:18:40 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5F9028FC14 for ; Mon, 12 Apr 2010 11:18:40 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3CBIeY2022952 for ; Mon, 12 Apr 2010 11:18:40 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3CBIdZs022950 for perforce@freebsd.org; Mon, 12 Apr 2010 11:18:39 GMT (envelope-from zec@fer.hr) Date: Mon, 12 Apr 2010 11:18:39 GMT Message-Id: <201004121118.o3CBIdZs022950@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 11:18:40 -0000 http://p4web.freebsd.org/@@176829?ac=10 Change 176829 by zec@zec_tpx32 on 2010/04/12 11:18:05 Remove a crude hack which once upon the time allowed one to directly connect a bpf tap to an ifnet in a remote vnet, but which stopped working a year ago due to some strange locking issues related to jail-vnet integration. This was never intended to be commited to head, and a patch has been commited to IMUNES which alows us to run wireshark in a remote vnet without this crap, so there's no point in keeping this dead code here any longer. Moreover, back out now obsolete V_irtualization patches for dummynet that anchie@ originally started developing back in September, but which were never fully completed, and which now collide with the new version of dummynet in the main tree. Affected files ... .. //depot/projects/vimage/src/sys/net/bpf.c#45 edit .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dummynet.c#6 edit Differences ... ==== //depot/projects/vimage/src/sys/net/bpf.c#45 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.219 2010/02/20 00:19:21 jkim Exp $"); +__FBSDID("$FreeBSD: head/sys/net/bpf.c 205858 2010-03-29 20:24:03Z jkim $"); #include "opt_bpf.h" #include "opt_netgraph.h" @@ -44,7 +44,6 @@ #include #include #include -#include #include #include #include @@ -615,6 +614,7 @@ mac_bpfdesc_destroy(d); #endif /* MAC */ knlist_destroy(&d->bd_sel.si_note); + callout_drain(&d->bd_callout); bpf_freed(d); free(d, M_BPF); } @@ -652,7 +652,7 @@ mac_bpfdesc_create(td->td_ucred, d); #endif mtx_init(&d->bd_mtx, devtoname(dev), "bpf cdev lock", MTX_DEF); - callout_init(&d->bd_callout, CALLOUT_MPSAFE); + callout_init_mtx(&d->bd_callout, &d->bd_mtx, 0); knlist_init_mtx(&d->bd_sel.si_note, &d->bd_mtx); return (0); @@ -808,13 +808,15 @@ { struct bpf_d *d = (struct bpf_d *)arg; - BPFD_LOCK(d); + BPFD_LOCK_ASSERT(d); + + if (callout_pending(&d->bd_callout) || !callout_active(&d->bd_callout)) + return; if (d->bd_state == BPF_WAITING) { d->bd_state = BPF_TIMED_OUT; if (d->bd_slen != 0) bpf_wakeup(d); } - BPFD_UNLOCK(d); } static int @@ -1448,34 +1450,9 @@ struct bpf_if *bp; struct ifnet *theywant; -#define XVNET_BPF_SNOOPING -#if defined(VIMAGE) && defined(XVNET_BPF_SNOOPING) - struct vnet *target_vnet = curvnet; - char *c; - - /* Attempt to attach to an ifnet in a foreign vnet, specified as @ */ - c = rindex(ifr->ifr_name, '@'); - if ( c != NULL ) { - struct prison *target_pr; - - *c++ = 0; - if (!isascii(*c) && !isdigit(*c)) - return ENXIO; - target_pr = prison_find_name(curthread->td_ucred->cr_prison, c); - if (target_pr == NULL) - return ENXIO; - target_vnet = target_pr->pr_vnet; - } - CURVNET_SET_QUIET(target_vnet); -#endif - theywant = ifunit(ifr->ifr_name); - if (theywant == NULL || theywant->if_bpf == NULL) { -#if defined(VIMAGE) && defined(XVNET_BPF_SNOOPING) - CURVNET_RESTORE(); -#endif + if (theywant == NULL || theywant->if_bpf == NULL) return (ENXIO); - } bp = theywant->if_bpf; @@ -1515,9 +1492,6 @@ BPFD_LOCK(d); reset_d(d); BPFD_UNLOCK(d); -#if defined(VIMAGE) && defined(XVNET_BPF_SNOOPING) - CURVNET_RESTORE(); -#endif return (0); } @@ -1606,8 +1580,7 @@ kn->kn_data = d->bd_slen; if (d->bd_hbuf) kn->kn_data += d->bd_hlen; - } - else if (d->bd_rtout > 0 && d->bd_state == BPF_IDLE) { + } else if (d->bd_rtout > 0 && d->bd_state == BPF_IDLE) { callout_reset(&d->bd_callout, d->bd_rtout, bpf_timed_out, d); d->bd_state = BPF_WAITING; @@ -1894,13 +1867,14 @@ * free. */ bpf_free(d); - if (d->bd_rfilter) { + if (d->bd_rfilter != NULL) { free((caddr_t)d->bd_rfilter, M_BPF); #ifdef BPF_JITTER - bpf_destroy_jit_filter(d->bd_bfilter); + if (d->bd_bfilter != NULL) + bpf_destroy_jit_filter(d->bd_bfilter); #endif } - if (d->bd_wfilter) + if (d->bd_wfilter != NULL) free((caddr_t)d->bd_wfilter, M_BPF); mtx_destroy(&d->bd_mtx); } ==== //depot/projects/vimage/src/sys/netinet/ipfw/ip_dummynet.c#6 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1998-2002 Luigi Rizzo, Universita` di Pisa + * Copyright (c) 1998-2002,2010 Luigi Rizzo, Universita` di Pisa * Portions Copyright (c) 2000 Akamba Corp. * All rights reserved * @@ -26,36 +26,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ipfw/ip_dummynet.c,v 1.5 2009/06/24 22:57:07 oleg Exp $"); +__FBSDID("$FreeBSD: head/sys/netinet/ipfw/ip_dummynet.c 206428 2010-04-09 18:02:19Z luigi $"); -#define DUMMYNET_DEBUG +/* + * Configuration and internal object management for dummynet. + */ #include "opt_inet6.h" -/* - * This module implements IP dummynet, a bandwidth limiter/delay emulator - * used in conjunction with the ipfw package. - * Description of the data structures used is in ip_dummynet.h - * Here you mainly find the following blocks of code: - * + variable declarations; - * + heap management functions; - * + scheduler and dummynet functions; - * + configuration and initialization. - * - * NOTA BENE: critical sections are protected by the "dummynet lock". - * - * Most important Changes: - * - * 011004: KLDable - * 010124: Fixed WF2Q behaviour - * 010122: Fixed spl protection. - * 000601: WF2Q support - * 000106: large rewrite, use heaps to handle very many pipes. - * 980513: initial release - * - * include files marked with XXX are probably not needed - */ - #include #include #include @@ -69,2258 +47,2147 @@ #include #include #include -#include #include #include /* IFNAMSIZ, struct ifaddr, ifq head, lock.h mutex.h */ -#include -#include #include -#include /* ip_len, ip_off */ +#include /* ip_output(), IP_FORWARDING */ #include +#include +#include #include -#include /* ip_output(), IP_FORWARDING */ +#include +#include -#include /* various ether_* routines */ +/* which objects to copy */ +#define DN_C_LINK 0x01 +#define DN_C_SCH 0x02 +#define DN_C_FLOW 0x04 +#define DN_C_FS 0x08 +#define DN_C_QUEUE 0x10 -#include /* for ip6_input, ip6_output prototypes */ -#include +/* we use this argument in case of a schk_new */ +struct schk_new_arg { + struct dn_alg *fp; + struct dn_sch *sch; +}; -/* - * We keep a private variable for the simulation time, but we could - * probably use an existing one ("softticks" in sys/kern/kern_timeout.c) - */ -static VNET_DEFINE(dn_key, curr_time) = 0 ; /* current simulation time */ -#define V_curr_time VNET(curr_time) +/*---- callout hooks. ----*/ +static struct callout dn_timeout; +static struct task dn_task; +static struct taskqueue *dn_tq = NULL; -static VNET_DEFINE(int, dn_hash_size) = 64 ; /* default hash size */ -#define V_dn_hash_size VNET(dn_hash_size) +static void +dummynet(void * __unused unused) +{ -/* statistics on number of queue searches and search steps */ -static VNET_DEFINE(long, searches); -static VNET_DEFINE(long, search_steps); -static VNET_DEFINE(int, pipe_expire) = 1 ; /* expire queue if empty */ -static VNET_DEFINE(int, dn_max_ratio) = 16 ; /* max queues/buckets ratio */ -#define V_searches VNET(searches) -#define V_search_steps VNET(search_steps) -#define V_pipe_expire VNET(pipe_expire) -#define V_dn_max_ratio VNET(dn_max_ratio) + taskqueue_enqueue(dn_tq, &dn_task); +} -static VNET_DEFINE(long, pipe_slot_limit) = 100; /* Foot shooting limit for pipe queues. */ -static VNET_DEFINE(long, pipe_byte_limit) = 1024 * 1024; -#define V_pipe_slot_limit VNET(pipe_slot_limit) -#define V_pipe_byte_limit VNET(pipe_byte_limit) +void +dn_reschedule(void) +{ + callout_reset(&dn_timeout, 1, dummynet, NULL); +} +/*----- end of callout hooks -----*/ -static VNET_DEFINE(int, red_lookup_depth) = 256; /* RED - default lookup table depth */ -static VNET_DEFINE(int, red_avg_pkt_size) = 512; /* RED - default medium packet size */ -static VNET_DEFINE(int, red_max_pkt_size) = 1500; /* RED - default max packet size */ -#define V_red_lookup_depth VNET(red_lookup_depth) -#define V_red_avg_pkt_size VNET(red_avg_pkt_size) -#define V_red_max_pkt_size VNET(red_max_pkt_size) +/* Return a scheduler descriptor given the type or name. */ +static struct dn_alg * +find_sched_type(int type, char *name) +{ + struct dn_alg *d; -static VNET_DEFINE(struct timeval, prev_t); -static VNET_DEFINE(struct timeval, t); -static VNET_DEFINE(long, tick_last); /* Last tick duration (usec). */ -static VNET_DEFINE(long, tick_delta); /* Last vs standard tick diff (usec). */ -static VNET_DEFINE(long, tick_delta_sum); /* Accumulated tick difference (usec).*/ -static VNET_DEFINE(long, tick_adjustment); /* Tick adjustments done. */ -static VNET_DEFINE(long, tick_lost); /* Lost(coalesced) ticks number. */ -/* Adjusted vs non-adjusted curr_time difference (ticks). */ -static VNET_DEFINE(long, tick_diff); -#define V_prev_t VNET(prev_t) -#define V_t VNET(t) -#define V_tick_last VNET(tick_last) -#define V_tick_delta VNET(tick_delta) -#define V_tick_delta_sum VNET(tick_delta_sum) -#define V_tick_adjustment VNET(tick_adjustment) -#define V_tick_lost VNET(tick_lost) -#define V_tick_diff VNET(tick_diff) + SLIST_FOREACH(d, &dn_cfg.schedlist, next) { + if (d->type == type || (name && !strcmp(d->name, name))) + return d; + } + return NULL; /* not found */ +} -static VNET_DEFINE(int, io_fast); -static VNET_DEFINE(unsigned long, io_pkt); -static VNET_DEFINE(unsigned long, io_pkt_fast); -static VNET_DEFINE(long, io_pkt_drop); -#define V_io_fast VNET(io_fast) -#define V_io_pkt VNET(io_pkt) -#define V_io_pkt_fast VNET(io_pkt_fast) -#define V_io_pkt_drop VNET(io_pkt_drop) +int +ipdn_bound_var(int *v, int dflt, int lo, int hi, const char *msg) +{ + int oldv = *v; + const char *op = NULL; + if (oldv < lo) { + *v = dflt; + op = "Bump"; + } else if (oldv > hi) { + *v = hi; + op = "Clamp"; + } else + return *v; + if (op && msg) + printf("%s %s to %d (was %d)\n", op, msg, *v, oldv); + return *v; +} +/*---- flow_id mask, hash and compare functions ---*/ /* - * Three heaps contain queues and pipes that the scheduler handles: - * - * ready_heap contains all dn_flow_queue related to fixed-rate pipes. - * - * wfq_ready_heap contains the pipes associated with WF2Q flows - * - * extract_heap contains pipes associated with delay lines. - * + * The flow_id includes the 5-tuple, the queue/pipe number + * which we store in the extra area in host order, + * and for ipv6 also the flow_id6. + * XXX see if we want the tos byte (can store in 'flags') */ +static struct ipfw_flow_id * +flow_id_mask(struct ipfw_flow_id *mask, struct ipfw_flow_id *id) +{ + int is_v6 = IS_IP6_FLOW_ID(id); -MALLOC_DEFINE(M_DUMMYNET, "dummynet", "dummynet heap"); + id->dst_port &= mask->dst_port; + id->src_port &= mask->src_port; + id->proto &= mask->proto; + id->extra &= mask->extra; + if (is_v6) { + APPLY_MASK(&id->dst_ip6, &mask->dst_ip6); + APPLY_MASK(&id->src_ip6, &mask->src_ip6); + id->flow_id6 &= mask->flow_id6; + } else { + id->dst_ip &= mask->dst_ip; + id->src_ip &= mask->src_ip; + } + return id; +} -static VNET_DEFINE(struct dn_heap, ready_heap); -static VNET_DEFINE(struct dn_heap, extract_heap); -static VNET_DEFINE(struct dn_heap, wfq_ready_heap); +/* computes an OR of two masks, result in dst and also returned */ +static struct ipfw_flow_id * +flow_id_or(struct ipfw_flow_id *src, struct ipfw_flow_id *dst) +{ + int is_v6 = IS_IP6_FLOW_ID(dst); -static int heap_init(struct dn_heap *h, int size); -static int heap_insert (struct dn_heap *h, dn_key key1, void *p); -static void heap_extract(struct dn_heap *h, void *obj); -static void transmit_event(struct dn_pipe *pipe, struct mbuf **head, - struct mbuf **tail); -static void ready_event(struct dn_flow_queue *q, struct mbuf **head, - struct mbuf **tail); -static void ready_event_wfq(struct dn_pipe *p, struct mbuf **head, - struct mbuf **tail); + dst->dst_port |= src->dst_port; + dst->src_port |= src->src_port; + dst->proto |= src->proto; + dst->extra |= src->extra; + if (is_v6) { +#define OR_MASK(_d, _s) \ + (_d)->__u6_addr.__u6_addr32[0] |= (_s)->__u6_addr.__u6_addr32[0]; \ + (_d)->__u6_addr.__u6_addr32[1] |= (_s)->__u6_addr.__u6_addr32[1]; \ + (_d)->__u6_addr.__u6_addr32[2] |= (_s)->__u6_addr.__u6_addr32[2]; \ + (_d)->__u6_addr.__u6_addr32[3] |= (_s)->__u6_addr.__u6_addr32[3]; + OR_MASK(&dst->dst_ip6, &src->dst_ip6); + OR_MASK(&dst->src_ip6, &src->src_ip6); +#undef OR_MASK + dst->flow_id6 |= src->flow_id6; + } else { + dst->dst_ip |= src->dst_ip; + dst->src_ip |= src->src_ip; + } + return dst; +} -#define HASHSIZE 16 -#define HASH(num) ((((num) >> 8) ^ ((num) >> 4) ^ (num)) & 0x0f) -static VNET_DEFINE(struct dn_pipe_head, pipehash[HASHSIZE]); /* all pipes */ -static VNET_DEFINE(struct dn_flow_set_head, flowsethash[HASHSIZE]); /* all flowsets */ +static int +nonzero_mask(struct ipfw_flow_id *m) +{ + if (m->dst_port || m->src_port || m->proto || m->extra) + return 1; + if (IS_IP6_FLOW_ID(m)) { + return + m->dst_ip6.__u6_addr.__u6_addr32[0] || + m->dst_ip6.__u6_addr.__u6_addr32[1] || + m->dst_ip6.__u6_addr.__u6_addr32[2] || + m->dst_ip6.__u6_addr.__u6_addr32[3] || + m->src_ip6.__u6_addr.__u6_addr32[0] || + m->src_ip6.__u6_addr.__u6_addr32[1] || + m->src_ip6.__u6_addr.__u6_addr32[2] || + m->src_ip6.__u6_addr.__u6_addr32[3] || + m->flow_id6; + } else { + return m->dst_ip || m->src_ip; + } +} -static VNET_DEFINE(struct callout, dn_timeout); +/* XXX we may want a better hash function */ +static uint32_t +flow_id_hash(struct ipfw_flow_id *id) +{ + uint32_t i; -extern void (*bridge_dn_p)(struct mbuf *, struct ifnet *); + if (IS_IP6_FLOW_ID(id)) { + uint32_t *d = (uint32_t *)&id->dst_ip6; + uint32_t *s = (uint32_t *)&id->src_ip6; + i = (d[0] ) ^ (d[1]) ^ + (d[2] ) ^ (d[3]) ^ + (d[0] >> 15) ^ (d[1] >> 15) ^ + (d[2] >> 15) ^ (d[3] >> 15) ^ + (s[0] << 1) ^ (s[1] << 1) ^ + (s[2] << 1) ^ (s[3] << 1) ^ + (s[0] << 16) ^ (s[1] << 16) ^ + (s[2] << 16) ^ (s[3] << 16) ^ + (id->dst_port << 1) ^ (id->src_port) ^ + (id->extra) ^ + (id->proto ) ^ (id->flow_id6); + } else { + i = (id->dst_ip) ^ (id->dst_ip >> 15) ^ + (id->src_ip << 1) ^ (id->src_ip >> 16) ^ + (id->extra) ^ + (id->dst_port << 1) ^ (id->src_port) ^ (id->proto); + } + return i; +} -#ifdef SYSCTL_NODE -SYSCTL_DECL(_net_inet); -SYSCTL_DECL(_net_inet_ip); +/* Like bcmp, returns 0 if ids match, 1 otherwise. */ +static int +flow_id_cmp(struct ipfw_flow_id *id1, struct ipfw_flow_id *id2) +{ + int is_v6 = IS_IP6_FLOW_ID(id1); -SYSCTL_NODE(_net_inet_ip, OID_AUTO, dummynet, CTLFLAG_RW, 0, "Dummynet"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, hash_size, - CTLFLAG_RW, &VNET_NAME(dn_hash_size), 0, "Default hash table size"); -#if 0 /* curr_time is 64 bit */ -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, curr_time, - CTLFLAG_RD, &VNET_NAME(curr_time), 0, "Current tick"); -#endif -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, ready_heap, - CTLFLAG_RD, &VNET_NAME(ready_heap).size, 0, "Size of ready heap"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, extract_heap, - CTLFLAG_RD, &VNET_NAME(extract_heap).size, 0, "Size of extract heap"); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, searches, - CTLFLAG_RD, &VNET_NAME(searches), 0, "Number of queue searches"); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, search_steps, - CTLFLAG_RD, &VNET_NAME(search_steps), 0, "Number of queue search steps"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, expire, - CTLFLAG_RW, &VNET_NAME(pipe_expire), 0, "Expire queue if empty"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, max_chain_len, - CTLFLAG_RW, &VNET_NAME(dn_max_ratio), 0, - "Max ratio between dynamic queues and buckets"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, red_lookup_depth, - CTLFLAG_RD, &VNET_NAME(red_lookup_depth), 0, "Depth of RED lookup table"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, red_avg_pkt_size, - CTLFLAG_RD, &VNET_NAME(red_avg_pkt_size), 0, "RED Medium packet size"); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, red_max_pkt_size, - CTLFLAG_RD, &VNET_NAME(red_max_pkt_size), 0, "RED Max packet size"); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, tick_delta, - CTLFLAG_RD, &VNET_NAME(tick_delta), 0, "Last vs standard tick difference (usec)."); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, tick_delta_sum, - CTLFLAG_RD, &VNET_NAME(tick_delta_sum), 0, "Accumulated tick difference (usec)."); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, tick_adjustment, - CTLFLAG_RD, &VNET_NAME(tick_adjustment), 0, "Tick adjustments done."); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, tick_diff, - CTLFLAG_RD, &VNET_NAME(tick_diff), 0, - "Adjusted vs non-adjusted curr_time difference (ticks)."); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, tick_lost, - CTLFLAG_RD, &VNET_NAME(tick_lost), 0, - "Number of ticks coalesced by dummynet taskqueue."); -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, io_fast, - CTLFLAG_RW, &VNET_NAME(io_fast), 0, "Enable fast dummynet io."); -SYSCTL_VNET_ULONG(_net_inet_ip_dummynet, OID_AUTO, io_pkt, - CTLFLAG_RD, &VNET_NAME(io_pkt), 0, - "Number of packets passed to dummynet."); -SYSCTL_VNET_ULONG(_net_inet_ip_dummynet, OID_AUTO, io_pkt_fast, - CTLFLAG_RD, &VNET_NAME(io_pkt_fast), 0, - "Number of packets bypassed dummynet scheduler."); -SYSCTL_VNET_ULONG(_net_inet_ip_dummynet, OID_AUTO, io_pkt_drop, - CTLFLAG_RD, &VNET_NAME(io_pkt_drop), 0, - "Number of packets dropped by dummynet."); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, pipe_slot_limit, - CTLFLAG_RW, &VNET_NAME(pipe_slot_limit), 0, "Upper limit in slots for pipe queue."); -SYSCTL_VNET_LONG(_net_inet_ip_dummynet, OID_AUTO, pipe_byte_limit, - CTLFLAG_RW, &VNET_NAME(pipe_byte_limit), 0, "Upper limit in bytes for pipe queue."); -#endif + if (!is_v6) { + if (IS_IP6_FLOW_ID(id2)) + return 1; /* different address families */ -#ifdef DUMMYNET_DEBUG -VNET_DEFINE(int, dummynet_debug) = 0; -#ifdef SYSCTL_NODE -SYSCTL_VNET_INT(_net_inet_ip_dummynet, OID_AUTO, debug, CTLFLAG_RW, &VNET_NAME(dummynet_debug), - 0, "control debugging printfs"); -#endif -#define DPRINTF(X) if (V_dummynet_debug) printf X -#else -#define DPRINTF(X) -#endif + return (id1->dst_ip == id2->dst_ip && + id1->src_ip == id2->src_ip && + id1->dst_port == id2->dst_port && + id1->src_port == id2->src_port && + id1->proto == id2->proto && + id1->extra == id2->extra) ? 0 : 1; + } + /* the ipv6 case */ + return ( + !bcmp(&id1->dst_ip6,&id2->dst_ip6, sizeof(id1->dst_ip6)) && + !bcmp(&id1->src_ip6,&id2->src_ip6, sizeof(id1->src_ip6)) && + id1->dst_port == id2->dst_port && + id1->src_port == id2->src_port && + id1->proto == id2->proto && + id1->extra == id2->extra && + id1->flow_id6 == id2->flow_id6) ? 0 : 1; +} +/*--------- end of flow-id mask, hash and compare ---------*/ -static VNET_DEFINE(struct task, dn_task); -static VNET_DEFINE(struct taskqueue *, dn_tq) = NULL; -static void dummynet_task(void *, int); +/*--- support functions for the qht hashtable ---- + * Entries are hashed by flow-id + */ +static uint32_t +q_hash(uintptr_t key, int flags, void *arg) +{ + /* compute the hash slot from the flow id */ + struct ipfw_flow_id *id = (flags & DNHT_KEY_IS_OBJ) ? + &((struct dn_queue *)key)->ni.fid : + (struct ipfw_flow_id *)key; -static struct mtx dummynet_mtx; -#define DUMMYNET_LOCK_INIT() \ - mtx_init(&dummynet_mtx, "dummynet", NULL, MTX_DEF) -#define DUMMYNET_LOCK_DESTROY() mtx_destroy(&dummynet_mtx) -#define DUMMYNET_LOCK() mtx_lock(&dummynet_mtx) -#define DUMMYNET_UNLOCK() mtx_unlock(&dummynet_mtx) -#define DUMMYNET_LOCK_ASSERT() mtx_assert(&dummynet_mtx, MA_OWNED) + return flow_id_hash(id); +} -static int config_pipe(struct dn_pipe *p); -static int ip_dn_ctl(struct sockopt *sopt); +static int +q_match(void *obj, uintptr_t key, int flags, void *arg) +{ + struct dn_queue *o = (struct dn_queue *)obj; + struct ipfw_flow_id *id2; -static void dummynet(void *); -static void dummynet_flush(void); -static void dummynet_send(struct mbuf *); -void dummynet_drain(void); -static int dummynet_io(struct mbuf **, int , struct ip_fw_args *); + if (flags & DNHT_KEY_IS_OBJ) { + /* compare pointers */ + id2 = &((struct dn_queue *)key)->ni.fid; + } else { + id2 = (struct ipfw_flow_id *)key; + } + return (0 == flow_id_cmp(&o->ni.fid, id2)); +} /* - * Heap management functions. - * - * In the heap, first node is element 0. Children of i are 2i+1 and 2i+2. - * Some macros help finding parent/children so we can optimize them. - * - * heap_init() is called to expand the heap when needed. - * Increment size in blocks of 16 entries. - * XXX failure to allocate a new element is a pretty bad failure - * as we basically stall a whole queue forever!! - * Returns 1 on error, 0 on success + * create a new queue instance for the given 'key'. */ -#define HEAP_FATHER(x) ( ( (x) - 1 ) / 2 ) -#define HEAP_LEFT(x) ( 2*(x) + 1 ) -#define HEAP_IS_LEFT(x) ( (x) & 1 ) -#define HEAP_RIGHT(x) ( 2*(x) + 2 ) -#define HEAP_SWAP(a, b, buffer) { buffer = a ; a = b ; b = buffer ; } -#define HEAP_INCREMENT 15 +static void * +q_new(uintptr_t key, int flags, void *arg) +{ + struct dn_queue *q, *template = arg; + struct dn_fsk *fs = template->fs; + int size = sizeof(*q) + fs->sched->fp->q_datalen; + + q = malloc(size, M_DUMMYNET, M_NOWAIT | M_ZERO); + if (q == NULL) { + D("no memory for new queue"); + return NULL; + } -static int -heap_init(struct dn_heap *h, int new_size) -{ - struct dn_heap_entry *p; + set_oid(&q->ni.oid, DN_QUEUE, size); + if (fs->fs.flags & DN_QHT_HASH) + q->ni.fid = *(struct ipfw_flow_id *)key; + q->fs = fs; + q->_si = template->_si; + q->_si->q_count++; - if (h->size >= new_size ) { - printf("dummynet: %s, Bogus call, have %d want %d\n", __func__, - h->size, new_size); - return 0 ; - } - new_size = (new_size + HEAP_INCREMENT ) & ~HEAP_INCREMENT ; - p = malloc(new_size * sizeof(*p), M_DUMMYNET, M_NOWAIT); - if (p == NULL) { - printf("dummynet: %s, resize %d failed\n", __func__, new_size ); - return 1 ; /* error */ - } - if (h->size > 0) { - bcopy(h->p, p, h->size * sizeof(*p) ); - free(h->p, M_DUMMYNET); - } - h->p = p ; - h->size = new_size ; - return 0 ; + if (fs->sched->fp->new_queue) + fs->sched->fp->new_queue(q); + dn_cfg.queue_count++; + return q; } /* - * Insert element in heap. Normally, p != NULL, we insert p in - * a new position and bubble up. If p == NULL, then the element is - * already in place, and key is the position where to start the - * bubble-up. - * Returns 1 on failure (cannot allocate new heap entry) - * - * If offset > 0 the position (index, int) of the element in the heap is - * also stored in the element itself at the given offset in bytes. + * Notify schedulers that a queue is going away. + * If (flags & DN_DESTROY), also free the packets. + * The version for callbacks is called q_delete_cb(). */ -#define SET_OFFSET(heap, node) \ - if (heap->offset > 0) \ - *((int *)((char *)(heap->p[node].object) + heap->offset)) = node ; -/* - * RESET_OFFSET is used for sanity checks. It sets offset to an invalid value. - */ -#define RESET_OFFSET(heap, node) \ - if (heap->offset > 0) \ - *((int *)((char *)(heap->p[node].object) + heap->offset)) = -1 ; -static int -heap_insert(struct dn_heap *h, dn_key key1, void *p) +static void +dn_delete_queue(struct dn_queue *q, int flags) { - int son = h->elements ; + struct dn_fsk *fs = q->fs; - if (p == NULL) /* data already there, set starting point */ - son = key1 ; - else { /* insert new element at the end, possibly resize */ - son = h->elements ; - if (son == h->size) /* need resize... */ - if (heap_init(h, h->elements+1) ) - return 1 ; /* failure... */ - h->p[son].object = p ; - h->p[son].key = key1 ; - h->elements++ ; - } - while (son > 0) { /* bubble up */ - int father = HEAP_FATHER(son) ; - struct dn_heap_entry tmp ; + // D("fs %p si %p\n", fs, q->_si); + /* notify the parent scheduler that the queue is going away */ + if (fs && fs->sched->fp->free_queue) + fs->sched->fp->free_queue(q); + q->_si->q_count--; + q->_si = NULL; + if (flags & DN_DESTROY) { + if (q->mq.head) + dn_free_pkts(q->mq.head); + bzero(q, sizeof(*q)); // safety + free(q, M_DUMMYNET); + dn_cfg.queue_count--; + } +} - if (DN_KEY_LT( h->p[father].key, h->p[son].key ) ) - break ; /* found right position */ - /* son smaller than father, swap and repeat */ - HEAP_SWAP(h->p[son], h->p[father], tmp) ; - SET_OFFSET(h, son); - son = father ; - } - SET_OFFSET(h, son); - return 0 ; +static int +q_delete_cb(void *q, void *arg) +{ + int flags = (int)(uintptr_t)arg; + dn_delete_queue(q, flags); + return (flags & DN_DESTROY) ? DNHT_SCAN_DEL : 0; } /* - * remove top element from heap, or obj if obj != NULL + * calls dn_delete_queue/q_delete_cb on all queues, + * which notifies the parent scheduler and possibly drains packets. + * flags & DN_DESTROY: drains queues and destroy qht; */ static void -heap_extract(struct dn_heap *h, void *obj) +qht_delete(struct dn_fsk *fs, int flags) { - int child, father, max = h->elements - 1 ; - - if (max < 0) { - printf("dummynet: warning, extract from empty heap 0x%p\n", h); - return ; - } - father = 0 ; /* default: move up smallest child */ - if (obj != NULL) { /* extract specific element, index is at offset */ - if (h->offset <= 0) - panic("dummynet: heap_extract from middle not supported on this heap!!!\n"); - father = *((int *)((char *)obj + h->offset)) ; - if (father < 0 || father >= h->elements) { - printf("dummynet: heap_extract, father %d out of bound 0..%d\n", - father, h->elements); - panic("dummynet: heap_extract"); + ND("fs %d start flags %d qht %p", + fs->fs.fs_nr, flags, fs->qht); + if (!fs->qht) + return; + if (fs->fs.flags & DN_QHT_HASH) { + dn_ht_scan(fs->qht, q_delete_cb, (void *)(uintptr_t)flags); + if (flags & DN_DESTROY) { + dn_ht_free(fs->qht, 0); + fs->qht = NULL; + } + } else { + dn_delete_queue((struct dn_queue *)(fs->qht), flags); + if (flags & DN_DESTROY) + fs->qht = NULL; } - } - RESET_OFFSET(h, father); - child = HEAP_LEFT(father) ; /* left child */ - while (child <= max) { /* valid entry */ - if (child != max && DN_KEY_LT(h->p[child+1].key, h->p[child].key) ) - child = child+1 ; /* take right child, otherwise left */ - h->p[father] = h->p[child] ; - SET_OFFSET(h, father); - father = child ; - child = HEAP_LEFT(child) ; /* left child for next loop */ - } - h->elements-- ; - if (father != max) { - /* - * Fill hole with last entry and bubble up, reusing the insert code - */ - h->p[father] = h->p[max] ; - heap_insert(h, father, NULL); /* this one cannot fail */ - } } -#if 0 /* - * change object position and update references - * XXX this one is never used! + * Find and possibly create the queue for a MULTIQUEUE scheduler. + * We never call it for !MULTIQUEUE (the queue is in the sch_inst). */ -static void -heap_move(struct dn_heap *h, dn_key new_key, void *object) +struct dn_queue * +ipdn_q_find(struct dn_fsk *fs, struct dn_sch_inst *si, + struct ipfw_flow_id *id) { - int temp; - int i ; - int max = h->elements-1 ; - struct dn_heap_entry buf ; + struct dn_queue template; - if (h->offset <= 0) - panic("cannot move items on this heap"); + template._si = si; + template.fs = fs; - i = *((int *)((char *)object + h->offset)); - if (DN_KEY_LT(new_key, h->p[i].key) ) { /* must move up */ - h->p[i].key = new_key ; - for (; i>0 && DN_KEY_LT(new_key, h->p[(temp = HEAP_FATHER(i))].key) ; - i = temp ) { /* bubble up */ - HEAP_SWAP(h->p[i], h->p[temp], buf) ; - SET_OFFSET(h, i); - } - } else { /* must move down */ - h->p[i].key = new_key ; - while ( (temp = HEAP_LEFT(i)) <= max ) { /* found left child */ - if ((temp != max) && DN_KEY_GT(h->p[temp].key, h->p[temp+1].key)) - temp++ ; /* select child with min key */ - if (DN_KEY_GT(new_key, h->p[temp].key)) { /* go down */ - HEAP_SWAP(h->p[i], h->p[temp], buf) ; - SET_OFFSET(h, i); - } else - break ; - i = temp ; + if (fs->fs.flags & DN_QHT_HASH) { + struct ipfw_flow_id masked_id; + if (fs->qht == NULL) { + fs->qht = dn_ht_init(NULL, fs->fs.buckets, + offsetof(struct dn_queue, q_next), + q_hash, q_match, q_new); + if (fs->qht == NULL) + return NULL; + } + masked_id = *id; + flow_id_mask(&fs->fsk_mask, &masked_id); + return dn_ht_find(fs->qht, (uintptr_t)&masked_id, + DNHT_INSERT, &template); + } else { + if (fs->qht == NULL) + fs->qht = q_new(0, 0, &template); + return (struct dn_queue *)fs->qht; } - } - SET_OFFSET(h, i); } -#endif /* heap_move, unused */ +/*--- end of queue hash table ---*/ -/* - * heapify() will reorganize data inside an array to maintain the - * heap property. It is needed when we delete a bunch of entries. +/*--- support functions for the sch_inst hashtable ---- + * + * These are hashed by flow-id */ -static void -heapify(struct dn_heap *h) +static uint32_t +si_hash(uintptr_t key, int flags, void *arg) { - int i ; + /* compute the hash slot from the flow id */ + struct ipfw_flow_id *id = (flags & DNHT_KEY_IS_OBJ) ? + &((struct dn_sch_inst *)key)->ni.fid : + (struct ipfw_flow_id *)key; - for (i = 0 ; i < h->elements ; i++ ) - heap_insert(h, i , NULL) ; + return flow_id_hash(id); } -/* - * cleanup the heap and free data structure - */ -static void -heap_free(struct dn_heap *h) +static int +si_match(void *obj, uintptr_t key, int flags, void *arg) { - if (h->size >0 ) - free(h->p, M_DUMMYNET); - bzero(h, sizeof(*h) ); -} + struct dn_sch_inst *o = obj; + struct ipfw_flow_id *id2; -/* - * --- end of heap management functions --- - */ - -/* - * Return the mbuf tag holding the dummynet state. As an optimization - * this is assumed to be the first tag on the list. If this turns out - * wrong we'll need to search the list. - */ -static struct dn_pkt_tag * -dn_tag_get(struct mbuf *m) -{ - struct m_tag *mtag = m_tag_first(m); - KASSERT(mtag != NULL && - mtag->m_tag_cookie == MTAG_ABI_COMPAT && - mtag->m_tag_id == PACKET_TAG_DUMMYNET, - ("packet on dummynet queue w/o dummynet tag!")); - return (struct dn_pkt_tag *)(mtag+1); + id2 = (flags & DNHT_KEY_IS_OBJ) ? + &((struct dn_sch_inst *)key)->ni.fid : + (struct ipfw_flow_id *)key; + return flow_id_cmp(&o->ni.fid, id2) == 0; } /* - * Scheduler functions: - * - * transmit_event() is called when the delay-line needs to enter - * the scheduler, either because of existing pkts getting ready, - * or new packets entering the queue. The event handled is the delivery - * time of the packet. - * - * ready_event() does something similar with fixed-rate queues, and the - * event handled is the finish time of the head pkt. - * - * wfq_ready_event() does something similar with WF2Q queues, and the - * event handled is the start time of the head pkt. - * - * In all cases, we make sure that the data structures are consistent - * before passing pkts out, because this might trigger recursive - * invocations of the procedures. + * create a new instance for the given 'key' + * Allocate memory for instance, delay line and scheduler private data. */ -static void -transmit_event(struct dn_pipe *pipe, struct mbuf **head, struct mbuf **tail) +static void * +si_new(uintptr_t key, int flags, void *arg) { - struct mbuf *m; - struct dn_pkt_tag *pkt; + struct dn_schk *s = arg; + struct dn_sch_inst *si; + int l = sizeof(*si) + s->fp->si_datalen; - DUMMYNET_LOCK_ASSERT(); + si = malloc(l, M_DUMMYNET, M_NOWAIT | M_ZERO); + if (si == NULL) + goto error; + /* Set length only for the part passed up to userland. */ + set_oid(&si->ni.oid, DN_SCH_I, sizeof(struct dn_flow)); + set_oid(&(si->dline.oid), DN_DELAY_LINE, + sizeof(struct delay_line)); + /* mark si and dline as outside the event queue */ + si->ni.oid.id = si->dline.oid.id = -1; - while ((m = pipe->head) != NULL) { - pkt = dn_tag_get(m); - if (!DN_KEY_LEQ(pkt->output_time, V_curr_time)) - break; + si->sched = s; + si->dline.si = si; - pipe->head = m->m_nextpkt; - if (*tail != NULL) - (*tail)->m_nextpkt = m; - else >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Apr 12 12:02:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CEBDA1065672; Mon, 12 Apr 2010 12:02:26 +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 9185B106566B for ; Mon, 12 Apr 2010 12:02:26 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7D64D8FC1C for ; Mon, 12 Apr 2010 12:02:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3CC2QQV026080 for ; Mon, 12 Apr 2010 12:02:26 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3CC2Oex026078 for perforce@freebsd.org; Mon, 12 Apr 2010 12:02:24 GMT (envelope-from zec@fer.hr) Date: Mon, 12 Apr 2010 12:02:24 GMT Message-Id: <201004121202.o3CC2Oex026078@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176830 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 12:02:27 -0000 http://p4web.freebsd.org/@@176830?ac=10 Change 176830 by zec@zec_tpx32 on 2010/04/12 12:01:50 IFC @ 176826 Affected files ... .. //depot/projects/vimage/src/share/man/man3/pthread_affinity_np.3#2 integrate .. //depot/projects/vimage/src/share/man/man4/acpi.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/acpi_wmi.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/altq.4#9 integrate .. //depot/projects/vimage/src/share/man/man4/amdtemp.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/ath.4#7 integrate .. //depot/projects/vimage/src/share/man/man4/cxgb.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/ddb.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/iscsi_initiator.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/ndis.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/splash.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/sysmouse.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/textdump.4#5 integrate .. //depot/projects/vimage/src/share/man/man4/uart.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/ufm.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/urio.4#3 integrate .. //depot/projects/vimage/src/share/man/man5/nsswitch.conf.5#3 integrate .. //depot/projects/vimage/src/share/man/man5/rc.conf.5#12 integrate .. //depot/projects/vimage/src/share/man/man5/services.5#2 integrate .. //depot/projects/vimage/src/share/man/man5/src.conf.5#6 integrate .. //depot/projects/vimage/src/share/man/man7/build.7#5 integrate .. //depot/projects/vimage/src/share/man/man9/fail.9#3 integrate .. //depot/projects/vimage/src/share/man/man9/ieee80211.9#4 integrate .. //depot/projects/vimage/src/share/man/man9/ieee80211_crypto.9#4 integrate .. //depot/projects/vimage/src/share/man/man9/ieee80211_node.9#4 integrate .. //depot/projects/vimage/src/share/man/man9/ieee80211_output.9#4 integrate .. //depot/projects/vimage/src/share/man/man9/ieee80211_scan.9#3 integrate .. //depot/projects/vimage/src/share/man/man9/stack.9#3 integrate .. //depot/projects/vimage/src/share/man/man9/uio.9#2 integrate .. //depot/projects/vimage/src/share/man/man9/vfs_mount.9#2 integrate .. //depot/projects/vimage/src/sys/amd64/acpica/acpi_machdep.c#6 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/apic_vector.S#5 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/db_trace.c#7 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/exception.S#13 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/identcpu.c#20 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#25 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/machdep.c#25 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/mca.c#3 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#37 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/trap.c#18 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/vm_machdep.c#13 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#37 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#23 integrate .. //depot/projects/vimage/src/sys/amd64/conf/XENHVM#6 integrate .. //depot/projects/vimage/src/sys/amd64/ia32/ia32_signal.c#10 integrate .. //depot/projects/vimage/src/sys/amd64/include/apicvar.h#11 integrate .. //depot/projects/vimage/src/sys/amd64/include/elf.h#5 integrate .. //depot/projects/vimage/src/sys/amd64/include/mca.h#3 integrate .. //depot/projects/vimage/src/sys/amd64/include/md_var.h#10 integrate .. //depot/projects/vimage/src/sys/amd64/include/pmc_mdep.h#8 integrate .. //depot/projects/vimage/src/sys/amd64/include/reg.h#3 integrate .. //depot/projects/vimage/src/sys/amd64/include/specialreg.h#18 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux.h#16 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#22 integrate .. //depot/projects/vimage/src/sys/arm/arm/busdma_machdep.c#19 integrate .. //depot/projects/vimage/src/sys/arm/arm/identcpu.c#8 integrate .. //depot/projects/vimage/src/sys/arm/arm/machdep.c#9 integrate .. //depot/projects/vimage/src/sys/arm/arm/pmap.c#25 integrate .. //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#15 integrate .. //depot/projects/vimage/src/sys/arm/conf/BWCT.hints#3 integrate .. //depot/projects/vimage/src/sys/arm/conf/KB920X#14 integrate .. //depot/projects/vimage/src/sys/arm/conf/LN2410SBC#1 branch .. //depot/projects/vimage/src/sys/arm/include/bus.h#3 integrate .. //depot/projects/vimage/src/sys/arm/mv/common.c#7 integrate .. //depot/projects/vimage/src/sys/arm/mv/kirkwood/kirkwood.c#6 integrate .. //depot/projects/vimage/src/sys/arm/mv/mv_sata.c#3 integrate .. //depot/projects/vimage/src/sys/arm/s3c2xx0/board_ln2410sbc.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/files.s3c2xx0#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2410reg.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2410var.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2440reg.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c24x0.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c24x0_clk.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c24x0_machdep.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c24x0reg.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c24x0var.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2xx0_space.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2xx0board.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2xx0reg.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/s3c2xx0var.h#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/std.ln2410sbc#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/std.s3c2410#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/uart_bus_s3c2410.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/uart_cpu_s3c2410.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/uart_dev_s3c2410.c#1 branch .. //depot/projects/vimage/src/sys/arm/s3c2xx0/uart_dev_s3c2410.h#1 branch .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/cambria_fled.c#3 integrate .. //depot/projects/vimage/src/sys/boot/arm/at91/boot2/bwct_board.c#3 integrate .. //depot/projects/vimage/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#4 integrate .. //depot/projects/vimage/src/sys/boot/i386/boot2/boot2.c#6 integrate .. //depot/projects/vimage/src/sys/boot/i386/efi/Makefile#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/autoload.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/bootinfo.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/conf.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/devicename.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/efimd.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/elf32_freebsd.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/exec.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/i386_copy.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/ldscript.amd64#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/ldscript.i386#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/main.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/reloc.c#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/start.S#1 branch .. //depot/projects/vimage/src/sys/boot/i386/efi/version#1 branch .. //depot/projects/vimage/src/sys/boot/i386/gptboot/gptboot.c#6 integrate .. //depot/projects/vimage/src/sys/boot/i386/zfsboot/zfsboot.c#5 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt.c#24 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_all.h#6 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#21 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_sg.c#8 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#9 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#6 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#5 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32.h#5 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_ipc.h#3 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#27 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#27 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#26 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#26 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#27 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_util.h#3 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#27 integrate .. //depot/projects/vimage/src/sys/compat/ia32/ia32_reg.h#2 integrate .. //depot/projects/vimage/src/sys/compat/ia32/ia32_signal.h#3 integrate .. //depot/projects/vimage/src/sys/compat/ia32/ia32_sysvec.c#13 integrate .. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#42 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_file.c#17 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#30 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_stats.c#15 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#11 integrate .. //depot/projects/vimage/src/sys/compat/x86bios/x86bios.c#2 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#64 integrate .. //depot/projects/vimage/src/sys/conf/files#81 integrate .. //depot/projects/vimage/src/sys/conf/files.amd64#28 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#36 integrate .. //depot/projects/vimage/src/sys/conf/files.ia64#13 integrate .. //depot/projects/vimage/src/sys/conf/files.pc98#23 integrate .. //depot/projects/vimage/src/sys/conf/files.sparc64#20 integrate .. //depot/projects/vimage/src/sys/conf/kern.mk#10 integrate .. //depot/projects/vimage/src/sys/conf/kern.post.mk#9 integrate .. //depot/projects/vimage/src/sys/conf/kern.pre.mk#17 integrate .. //depot/projects/vimage/src/sys/conf/kmod.mk#13 integrate .. //depot/projects/vimage/src/sys/conf/ldscript.mips.octeon1.32#2 integrate .. //depot/projects/vimage/src/sys/conf/ldscript.mips.octeon1.64#2 integrate .. //depot/projects/vimage/src/sys/conf/ldscript.mips.octeon1.n32#2 integrate .. //depot/projects/vimage/src/sys/conf/newvers.sh#13 integrate .. //depot/projects/vimage/src/sys/conf/options#60 integrate .. //depot/projects/vimage/src/sys/conf/options.amd64#10 integrate .. //depot/projects/vimage/src/sys/conf/options.i386#11 integrate .. //depot/projects/vimage/src/sys/conf/options.ia64#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/changes.txt#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/common/dmextern.c#2 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/common/dmtable.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/common/dmtbdump.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/common/dmtbinfo.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslanalyze.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslcompiler.h#6 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslglobal.h#6 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslmain.c#6 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslmap.c#6 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslpredef.c#1 branch .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/aslstubs.c#6 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/compiler/asltypes.h#6 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/debugger/dbdisply.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dsfield.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dsmethod.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dsobject.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dsopcode.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dswexec.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/dispatcher/dswstate.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/events/evevent.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/events/evgpe.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/events/evgpeblk.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/events/evmisc.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/events/evxface.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/events/evxfevnt.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exconvrt.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/excreate.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exdebug.c#1 branch .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exfield.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exfldio.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exmisc.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exmutex.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exnames.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exoparg1.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exoparg2.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exoparg3.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exoparg6.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exprep.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exregion.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exresnte.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exresolv.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exresop.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exstore.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/executer/exsystem.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/hardware/hwregs.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/hardware/hwsleep.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/hardware/hwvalid.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acdisasm.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acevents.h#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acexcep.h#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acglobal.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acinterp.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/aclocal.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acoutput.h#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/acpixf.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/actables.h#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/actbl2.h#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/actypes.h#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/include/platform/acfreebsd.h#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/namespace/nsaccess.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/namespace/nsdump.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/namespace/nsnames.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/namespace/nssearch.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/namespace/nsutils.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/parser/psargs.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/parser/psloop.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/parser/psxface.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/resources/rscreate.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/resources/rslist.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/resources/rsmisc.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/tables/tbfadt.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/tables/tbutils.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/tables/tbxface.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/tables/tbxfroot.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/utalloc.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/utdelete.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/uteval.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/utglobal.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/utmisc.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/utmutex.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/utobject.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/utilities/uttrack.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/iwn/LICENSE#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/iwn/iwlwifi-6000-9.176.4.1.fw.uu#2 delete .. //depot/projects/vimage/src/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu.c#3 integrate .. //depot/projects/vimage/src/sys/dev/aac/aac.c#15 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#27 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_button.c#4 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_ec.c#9 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_lid.c#4 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_video.c#4 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpivar.h#13 integrate .. //depot/projects/vimage/src/sys/dev/agp/agp_i810.c#11 integrate .. //depot/projects/vimage/src/sys/dev/ahci/ahci.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-all.h#18 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-raid.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ar5416/ar9285_attach.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#46 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#27 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcefw.h#10 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcereg.h#18 integrate .. //depot/projects/vimage/src/sys/dev/bge/if_bge.c#26 integrate .. //depot/projects/vimage/src/sys/dev/bktr/ioctl_bt848.h#2 integrate .. //depot/projects/vimage/src/sys/dev/bktr/ioctl_meteor.h#2 integrate .. //depot/projects/vimage/src/sys/dev/bwi/if_bwi.c#6 integrate .. //depot/projects/vimage/src/sys/dev/bwi/if_bwivar.h#4 integrate .. //depot/projects/vimage/src/sys/dev/bwn/if_bwn.c#2 integrate .. //depot/projects/vimage/src/sys/dev/bwn/if_bwnvar.h#2 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ael1002.c#14 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_common.h#14 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_hw.c#17 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#21 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#32 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#30 integrate .. //depot/projects/vimage/src/sys/dev/drm/drm_pciids.h#13 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_drv.h#10 integrate .. //depot/projects/vimage/src/sys/dev/drm/i915_reg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_80003es2lan.c#5 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82571.c#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.c#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_82575.h#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_defines.h#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_hw.h#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.c#7 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_ich8lan.h#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_mac.c#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_manage.c#4 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_phy.c#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/e1000_regs.h#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#19 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_em.h#7 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_igb.c#16 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_igb.h#6 integrate .. //depot/projects/vimage/src/sys/dev/e1000/if_lem.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_lem.h#1 branch .. //depot/projects/vimage/src/sys/dev/fb/vesa.c#3 integrate .. //depot/projects/vimage/src/sys/dev/fb/vga.c#6 integrate .. //depot/projects/vimage/src/sys/dev/firewire/sbp.c#10 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_core.c#8 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_core.h#2 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_intel.c#7 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_logging.c#12 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_mod.c#16 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_uncore.c#1 branch .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_uncore.h#1 branch .. //depot/projects/vimage/src/sys/dev/hwpmc/pmc_events.h#11 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp.c#14 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_freebsd.c#18 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_freebsd.h#11 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_library.c#6 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_pci.c#12 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_sbus.c#11 integrate .. //depot/projects/vimage/src/sys/dev/isp/ispvar.h#8 integrate .. //depot/projects/vimage/src/sys/dev/iwn/if_iwn.c#14 integrate .. //depot/projects/vimage/src/sys/dev/iwn/if_iwnreg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/iwn/if_iwnvar.h#5 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/LICENSE#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#14 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.h#10 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82598.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82599.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.h#9 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.h#9 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_type.h#9 integrate .. //depot/projects/vimage/src/sys/dev/malo/if_malo.c#7 integrate .. //depot/projects/vimage/src/sys/dev/mii/brgphy.c#15 integrate .. //depot/projects/vimage/src/sys/dev/mii/brgphyreg.h#5 integrate .. //depot/projects/vimage/src/sys/dev/mii/mii.c#6 integrate .. //depot/projects/vimage/src/sys/dev/mii/miidevs#22 integrate .. //depot/projects/vimage/src/sys/dev/mpt/mpt_cam.c#17 integrate .. //depot/projects/vimage/src/sys/dev/msk/if_msk.c#23 integrate .. //depot/projects/vimage/src/sys/dev/msk/if_mskreg.h#13 integrate .. //depot/projects/vimage/src/sys/dev/mxge/if_mxge.c#21 integrate .. //depot/projects/vimage/src/sys/dev/ofw/ofw_standard.c#5 integrate .. //depot/projects/vimage/src/sys/dev/pci/vga_pci.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ppc/ppc_pci.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2560.c#21 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2560var.h#8 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2661.c#18 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2661var.h#7 integrate .. //depot/projects/vimage/src/sys/dev/re/if_re.c#31 integrate .. //depot/projects/vimage/src/sys/dev/siba/siba.c#3 integrate .. //depot/projects/vimage/src/sys/dev/siba/siba_bwn.c#2 integrate .. //depot/projects/vimage/src/sys/dev/siba/siba_cc.c#2 integrate .. //depot/projects/vimage/src/sys/dev/siba/siba_core.c#2 integrate .. //depot/projects/vimage/src/sys/dev/siba/siba_pcib.c#3 integrate .. //depot/projects/vimage/src/sys/dev/siba/sibavar.h#3 integrate .. //depot/projects/vimage/src/sys/dev/siis/siis.c#4 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/envy24.c#11 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/envy24.h#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/envy24ht.c#11 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/envy24ht.h#4 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/es137x.c#9 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/es137x.h#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#41 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/spicds.c#6 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/spicds.h#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/dsp.c#12 integrate .. //depot/projects/vimage/src/sys/dev/syscons/logo/beastie.c#1 branch .. //depot/projects/vimage/src/sys/dev/syscons/logo/logo.c#2 integrate .. //depot/projects/vimage/src/sys/dev/syscons/logo/logo_saver.c#4 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scvgarndr.c#4 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scvidctl.c#6 integrate .. //depot/projects/vimage/src/sys/dev/syscons/syscons.c#19 integrate .. //depot/projects/vimage/src/sys/dev/uart/uart.h#5 integrate .. //depot/projects/vimage/src/sys/dev/uart/uart_cpu_sparc64.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ubsec/ubsec.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ehci_pci.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ohci_pci.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/ohci_s3c24x0.c#1 branch .. //depot/projects/vimage/src/sys/dev/usb/controller/usb_controller.c#15 integrate .. //depot/projects/vimage/src/sys/dev/usb/controller/uss820dci.c#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/input/ukbd.c#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/quirk/usb_quirk.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uftdi.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/serial/uvisor.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template.h#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/template/usb_template_mtp.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_compat_linux.c#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_device.c#19 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_device.h#16 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_generic.c#14 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_transfer.c#17 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#56 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rum.c#13 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rumvar.h#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_run.c#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_runreg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_runvar.h#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_ural.c#13 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_uralvar.h#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_urtw.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zyd.c#17 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zydreg.h#8 integrate .. //depot/projects/vimage/src/sys/dev/wpi/if_wpi.c#16 integrate .. //depot/projects/vimage/src/sys/dev/wpi/if_wpivar.h#6 integrate .. //depot/projects/vimage/src/sys/dev/xen/netback/netback.c#5 integrate .. //depot/projects/vimage/src/sys/fs/coda/cnode.h#4 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda.h#2 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_subr.c#4 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_subr.h#3 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_venus.c#5 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_venus.h#4 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_vfsops.c#8 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_vfsops.h#3 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_vnops.c#8 integrate .. //depot/projects/vimage/src/sys/fs/deadfs/dead_vnops.c#4 integrate .. //depot/projects/vimage/src/sys/fs/fdescfs/fdesc_vnops.c#13 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_vfsops.c#21 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonport.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonsubs.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs_var.h#6 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfsport.h#9 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfsrvstate.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdport.c#8 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdserv.c#6 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdstate.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_io.c#6 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_ioctl.c#2 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_mount.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_node.c#7 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_node.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_subr.c#4 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_subr.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_vfsops.c#6 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_vnops.c#8 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_dbregs.c#5 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_fpregs.c#4 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_ioctl.c#5 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_map.c#12 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_regs.c#4 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs.h#3 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_io.c#10 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_node.c#10 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_node.h#3 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_smb.c#4 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_subr.h#2 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_vfsops.c#9 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_vnops.c#9 integrate .. //depot/projects/vimage/src/sys/geom/gate/g_gate.c#3 integrate .. //depot/projects/vimage/src/sys/geom/geom_dump.c#3 integrate .. //depot/projects/vimage/src/sys/geom/geom_io.c#11 integrate .. //depot/projects/vimage/src/sys/geom/geom_vfs.c#7 integrate .. //depot/projects/vimage/src/sys/geom/multipath/g_multipath.c#5 integrate .. //depot/projects/vimage/src/sys/geom/vinum/geom_vinum.c#10 integrate .. //depot/projects/vimage/src/sys/i386/acpica/acpi_machdep.c#15 integrate .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#40 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#36 integrate .. //depot/projects/vimage/src/sys/i386/conf/XEN#10 integrate .. //depot/projects/vimage/src/sys/i386/i386/apic_vector.s#4 integrate .. //depot/projects/vimage/src/sys/i386/i386/identcpu.c#21 integrate .. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#25 integrate .. //depot/projects/vimage/src/sys/i386/i386/machdep.c#28 integrate .. //depot/projects/vimage/src/sys/i386/i386/mca.c#3 integrate .. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#25 integrate .. //depot/projects/vimage/src/sys/i386/i386/mpboot.s#2 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#35 integrate .. //depot/projects/vimage/src/sys/i386/i386/trap.c#19 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_stat.c#2 integrate .. //depot/projects/vimage/src/sys/i386/include/apicvar.h#14 integrate .. //depot/projects/vimage/src/sys/i386/include/bootinfo.h#3 integrate .. //depot/projects/vimage/src/sys/i386/include/mca.h#3 integrate .. //depot/projects/vimage/src/sys/i386/include/md_var.h#5 integrate .. //depot/projects/vimage/src/sys/i386/include/pmc_mdep.h#7 integrate .. //depot/projects/vimage/src/sys/i386/include/specialreg.h#18 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux.h#14 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_sysvec.c#17 integrate .. //depot/projects/vimage/src/sys/i386/xen/mp_machdep.c#16 integrate .. //depot/projects/vimage/src/sys/ia64/conf/GENERIC#17 integrate .. //depot/projects/vimage/src/sys/ia64/conf/NOTES#4 integrate .. //depot/projects/vimage/src/sys/ia64/ia32/ia32_signal.c#2 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/autoconf.c#2 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/clock.c#6 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/db_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/exception.S#8 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/genassym.c#4 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/highfp.c#2 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/interrupt.c#12 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/locore.S#5 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/machdep.c#19 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/mp_machdep.c#13 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/nexus.c#7 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/pmap.c#17 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/sal.c#4 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/sapic.c#5 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/trap.c#7 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/vm_machdep.c#6 integrate .. //depot/projects/vimage/src/sys/ia64/include/acpica_machdep.h#3 integrate .. //depot/projects/vimage/src/sys/ia64/include/clock.h#4 integrate .. //depot/projects/vimage/src/sys/ia64/include/cpufunc.h#4 integrate .. //depot/projects/vimage/src/sys/ia64/include/elf.h#5 integrate .. //depot/projects/vimage/src/sys/ia64/include/frame.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/intr.h#5 integrate .. //depot/projects/vimage/src/sys/ia64/include/intrcnt.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/nexusvar.h#2 delete .. //depot/projects/vimage/src/sys/ia64/include/pcb.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/vimage/src/sys/ia64/include/reg.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/smp.h#4 integrate .. //depot/projects/vimage/src/sys/ia64/pci/pci_cfgreg.c#3 integrate .. //depot/projects/vimage/src/sys/kern/imgact_elf.c#17 integrate .. //depot/projects/vimage/src/sys/kern/init_main.c#32 integrate .. //depot/projects/vimage/src/sys/kern/kern_alq.c#11 integrate .. //depot/projects/vimage/src/sys/kern/kern_clock.c#23 integrate .. //depot/projects/vimage/src/sys/kern/kern_event.c#15 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#28 integrate .. //depot/projects/vimage/src/sys/kern/kern_jail.c#39 integrate .. //depot/projects/vimage/src/sys/kern/kern_ktr.c#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_module.c#7 integrate .. //depot/projects/vimage/src/sys/kern/kern_rwlock.c#21 integrate .. //depot/projects/vimage/src/sys/kern/kern_sig.c#24 integrate .. //depot/projects/vimage/src/sys/kern/kern_syscalls.c#3 integrate .. //depot/projects/vimage/src/sys/kern/kern_thr.c#20 integrate .. //depot/projects/vimage/src/sys/kern/kern_umtx.c#14 integrate .. //depot/projects/vimage/src/sys/kern/subr_eventhandler.c#4 integrate .. //depot/projects/vimage/src/sys/kern/subr_firmware.c#8 integrate .. //depot/projects/vimage/src/sys/kern/sys_generic.c#19 integrate .. //depot/projects/vimage/src/sys/kern/sys_pipe.c#15 integrate .. //depot/projects/vimage/src/sys/kern/sys_process.c#15 integrate .. //depot/projects/vimage/src/sys/kern/sysv_ipc.c#6 integrate .. //depot/projects/vimage/src/sys/kern/sysv_msg.c#10 integrate .. //depot/projects/vimage/src/sys/kern/sysv_sem.c#11 integrate .. //depot/projects/vimage/src/sys/kern/sysv_shm.c#12 integrate .. //depot/projects/vimage/src/sys/kern/tty_pts.c#23 integrate .. //depot/projects/vimage/src/sys/kern/uipc_mqueue.c#16 integrate .. //depot/projects/vimage/src/sys/kern/uipc_sem.c#11 integrate .. //depot/projects/vimage/src/sys/kern/uipc_shm.c#9 integrate .. //depot/projects/vimage/src/sys/kern/uipc_socket.c#46 integrate .. //depot/projects/vimage/src/sys/kern/uipc_syscalls.c#34 integrate .. //depot/projects/vimage/src/sys/kern/vfs_aio.c#13 integrate .. //depot/projects/vimage/src/sys/kern/vfs_bio.c#28 integrate .. //depot/projects/vimage/src/sys/kern/vfs_default.c#15 integrate .. //depot/projects/vimage/src/sys/kern/vfs_lookup.c#33 integrate .. //depot/projects/vimage/src/sys/kern/vfs_subr.c#36 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#35 integrate .. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#31 integrate .. //depot/projects/vimage/src/sys/libkern/iconv.c#4 integrate .. //depot/projects/vimage/src/sys/libkern/iconv_converter_if.m#3 integrate .. //depot/projects/vimage/src/sys/libkern/iconv_xlat.c#2 integrate .. //depot/projects/vimage/src/sys/libkern/strcasecmp.c#2 integrate .. //depot/projects/vimage/src/sys/mips/atheros/if_arge.c#2 integrate .. //depot/projects/vimage/src/sys/mips/cavium/dev/rgmii/octeon_rgmx.c#2 integrate .. //depot/projects/vimage/src/sys/mips/cavium/octeon_ebt3000_cf.c#2 integrate .. //depot/projects/vimage/src/sys/mips/cavium/octeon_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/mips/cavium/octeon_pcmap_regs.h#2 integrate .. //depot/projects/vimage/src/sys/mips/conf/AR71XX#2 integrate .. //depot/projects/vimage/src/sys/mips/conf/OCTEON1#2 integrate .. //depot/projects/vimage/src/sys/mips/conf/OCTEON1-32#2 integrate .. //depot/projects/vimage/src/sys/mips/include/bus.h#4 integrate .. //depot/projects/vimage/src/sys/mips/include/clock.h#2 integrate .. //depot/projects/vimage/src/sys/mips/include/cpu.h#3 integrate .. //depot/projects/vimage/src/sys/mips/include/cpufunc.h#3 integrate .. //depot/projects/vimage/src/sys/mips/include/cpuregs.h#3 integrate .. //depot/projects/vimage/src/sys/mips/include/db_machdep.h#3 integrate .. //depot/projects/vimage/src/sys/mips/include/kdb.h#3 integrate .. //depot/projects/vimage/src/sys/mips/include/param.h#7 integrate .. //depot/projects/vimage/src/sys/mips/include/pmap.h#7 integrate .. //depot/projects/vimage/src/sys/mips/include/smp.h#5 integrate .. //depot/projects/vimage/src/sys/mips/include/trap.h#3 integrate .. //depot/projects/vimage/src/sys/mips/mips/busdma_machdep.c#6 integrate .. //depot/projects/vimage/src/sys/mips/mips/db_trace.c#3 integrate .. //depot/projects/vimage/src/sys/mips/mips/exception.S#3 integrate .. //depot/projects/vimage/src/sys/mips/mips/mp_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/mips/mips/nexus.c#4 integrate .. //depot/projects/vimage/src/sys/mips/mips/pm_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/mips/mips/pmap.c#17 integrate .. //depot/projects/vimage/src/sys/mips/mips/support.S#4 integrate .. //depot/projects/vimage/src/sys/mips/mips/swtch.S#3 integrate .. //depot/projects/vimage/src/sys/mips/mips/tick.c#4 integrate .. //depot/projects/vimage/src/sys/mips/mips/trap.c#5 integrate .. //depot/projects/vimage/src/sys/mips/mips/vm_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/mips/sibyte/sb_asm.S#2 integrate .. //depot/projects/vimage/src/sys/mips/sibyte/sb_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/mips/sibyte/sb_scd.c#2 integrate .. //depot/projects/vimage/src/sys/mips/sibyte/sb_scd.h#2 integrate .. //depot/projects/vimage/src/sys/modules/Makefile#57 integrate .. //depot/projects/vimage/src/sys/modules/acpi/acpi/Makefile#10 integrate .. //depot/projects/vimage/src/sys/modules/alq/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/dummynet/Makefile#3 integrate .. //depot/projects/vimage/src/sys/modules/em/Makefile#7 integrate .. //depot/projects/vimage/src/sys/modules/hwpmc/Makefile#5 integrate .. //depot/projects/vimage/src/sys/modules/iwnfw/iwn6000/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/ixgbe/Makefile#7 integrate .. //depot/projects/vimage/src/sys/modules/linux/Makefile#9 integrate .. //depot/projects/vimage/src/sys/modules/procfs/Makefile#3 integrate .. //depot/projects/vimage/src/sys/modules/syscons/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/syscons/beastie/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/wlan/Makefile#12 integrate .. //depot/projects/vimage/src/sys/modules/zfs/Makefile#12 integrate .. //depot/projects/vimage/src/sys/net/bpf.c#46 integrate .. //depot/projects/vimage/src/sys/net/flowtable.c#11 integrate .. //depot/projects/vimage/src/sys/net/flowtable.h#9 integrate .. //depot/projects/vimage/src/sys/net/if.c#95 integrate .. //depot/projects/vimage/src/sys/net/if.h#15 integrate .. //depot/projects/vimage/src/sys/net/if_clone.c#19 integrate .. //depot/projects/vimage/src/sys/net/if_epair.c#11 integrate .. //depot/projects/vimage/src/sys/net/if_lagg.c#24 integrate .. //depot/projects/vimage/src/sys/net/if_llatbl.c#12 integrate .. //depot/projects/vimage/src/sys/net/if_llatbl.h#7 integrate .. //depot/projects/vimage/src/sys/net/if_media.h#10 integrate .. //depot/projects/vimage/src/sys/net/if_tap.c#16 integrate .. //depot/projects/vimage/src/sys/net/if_tun.c#23 integrate .. //depot/projects/vimage/src/sys/net/if_var.h#49 integrate .. //depot/projects/vimage/src/sys/net/if_vlan.c#26 integrate .. //depot/projects/vimage/src/sys/net/radix.c#6 integrate .. //depot/projects/vimage/src/sys/net/radix.h#5 integrate .. //depot/projects/vimage/src/sys/net/radix_mpath.c#7 integrate .. //depot/projects/vimage/src/sys/net/route.c#59 integrate .. //depot/projects/vimage/src/sys/net/route.h#14 integrate .. //depot/projects/vimage/src/sys/net/vnet.c#7 integrate .. //depot/projects/vimage/src/sys/net/vnet.h#34 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211.c#43 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_adhoc.c#15 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_amrr.c#5 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_amrr.h#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_crypto_ccmp.c#9 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_crypto_tkip.c#10 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#21 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_hostap.c#18 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#19 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#23 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.c#31 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_mesh.c#4 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_node.c#28 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_node.h#20 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.c#22 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ratectl.c#1 branch .. //depot/projects/vimage/src/sys/net80211/ieee80211_ratectl.h#1 branch .. //depot/projects/vimage/src/sys/net80211/ieee80211_rssadapt.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_rssadapt.h#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_sta.c#19 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_tdma.c#9 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_var.h#35 integrate .. //depot/projects/vimage/src/sys/netgraph/netflow/ng_netflow.c#8 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_deflate.c#4 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ksocket.c#7 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_l2tp.c#10 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_mppc.c#8 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#12 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_pipe.h#5 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ppp.c#12 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_pptpgre.c#5 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_socket.c#8 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_socketvar.h#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_tcpmss.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.c#52 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#45 integrate .. //depot/projects/vimage/src/sys/netinet/in.h#14 integrate .. //depot/projects/vimage/src/sys/netinet/in_mcast.c#36 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#66 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.h#38 integrate .. //depot/projects/vimage/src/sys/netinet/ip_divert.c#41 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw.h#40 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#66 integrate .. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#28 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#47 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/dn_heap.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/dn_heap.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/dn_sched.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/dn_sched_prio.c#1 branch .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dn_glue.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dn_io.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dn_private.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_dummynet.c#7 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw2.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw_dynamic.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw_log.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw_private.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw_sockopt.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/ip_fw_table.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/test/Makefile#2 integrate .. //depot/projects/vimage/src/sys/netinet/ipfw/test/dn_test.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#55 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#23 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#30 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_crc32.c#15 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_crc32.h#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#39 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.h#11 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#38 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#44 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.h#17 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#42 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#25 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_structs.h#24 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.c#21 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#28 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#39 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_var.h#24 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#43 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.h#23 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#61 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_reass.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#91 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timer.c#32 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#38 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#41 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#41 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#61 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.c#48 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#37 integrate .. //depot/projects/vimage/src/sys/netinet6/mld6.c#34 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6.c#61 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#32 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#53 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#50 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_conn.c#6 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_conn.h#3 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_file.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_lib.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_login.c#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_ncp.c#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_ncp.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_nls.c#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_nls.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_rcfile.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_rq.c#4 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_rq.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_sock.c#7 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_sock.h#3 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_subr.c#3 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_subr.h#2 integrate .. //depot/projects/vimage/src/sys/netncp/ncp_user.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/netbios.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_conn.c#4 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_conn.h#4 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_dev.c#8 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_dev.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_iod.c#5 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_rq.c#4 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_rq.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_smb.c#3 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_subr.c#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_subr.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_tran.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_trantcp.c#7 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_trantcp.h#2 integrate .. //depot/projects/vimage/src/sys/netsmb/smb_usr.c#2 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_srvsubs.c#20 integrate .. //depot/projects/vimage/src/sys/pc98/cbus/clock.c#11 integrate .. //depot/projects/vimage/src/sys/pc98/conf/GENERIC#25 integrate .. //depot/projects/vimage/src/sys/pc98/pc98/machdep.c#16 integrate .. //depot/projects/vimage/src/sys/pci/if_rlreg.h#24 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/interrupt.c#3 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/machdep.c#16 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/mmu_oea64.c#6 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/nexus.c#4 integrate .. //depot/projects/vimage/src/sys/powerpc/aim/ofw_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/powerpc/booke/interrupt.c#3 integrate .. //depot/projects/vimage/src/sys/powerpc/booke/machdep.c#12 integrate .. //depot/projects/vimage/src/sys/powerpc/booke/trap_subr.S#5 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/GENERIC#29 integrate .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/ocpbus.c#8 integrate .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/ocpbus.h#4 integrate .. //depot/projects/vimage/src/sys/powerpc/mpc85xx/pci_ocp.c#4 integrate .. //depot/projects/vimage/src/sys/powerpc/ofw/ofw_real.c#3 integrate .. //depot/projects/vimage/src/sys/powerpc/ofw/ofw_syscons.c#8 integrate .. //depot/projects/vimage/src/sys/powerpc/powermac/cuda.c#6 integrate .. //depot/projects/vimage/src/sys/powerpc/powermac/cudavar.h#4 integrate .. //depot/projects/vimage/src/sys/powerpc/powermac/pmu.c#6 integrate .. //depot/projects/vimage/src/sys/powerpc/powermac/smu.c#3 integrate .. //depot/projects/vimage/src/sys/powerpc/powermac/uninorth.c#8 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/cpu.c#14 integrate .. //depot/projects/vimage/src/sys/rpc/svc.c#6 integrate .. //depot/projects/vimage/src/sys/sparc64/conf/GENERIC#28 integrate .. //depot/projects/vimage/src/sys/sparc64/conf/NOTES#5 integrate .. //depot/projects/vimage/src/sys/sparc64/fhc/fhc.c#9 integrate .. //depot/projects/vimage/src/sys/sparc64/include/dcr.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/include/lsu.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/include/tlb.h#5 integrate .. //depot/projects/vimage/src/sys/sparc64/include/tte.h#4 integrate .. //depot/projects/vimage/src/sys/sparc64/include/ver.h#5 integrate .. //depot/projects/vimage/src/sys/sparc64/include/wstate.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/apb.c#7 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/psycho.c#18 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/sbbc.c#1 branch .. //depot/projects/vimage/src/sys/sparc64/pci/schizo.c#8 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/schizovar.h#4 integrate .. //depot/projects/vimage/src/sys/sparc64/sbus/sbus.c#12 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/cheetah.c#7 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/exception.S#7 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/genassym.c#9 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/locore.S#6 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/machdep.c#20 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/ofw_machdep.c#5 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/pmap.c#17 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/support.S#7 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/swtch.S#6 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/trap.c#12 integrate .. //depot/projects/vimage/src/sys/sun4v/conf/GENERIC#22 integrate .. //depot/projects/vimage/src/sys/sun4v/sun4v/machdep.c#12 integrate .. //depot/projects/vimage/src/sys/sys/_timespec.h#2 integrate .. //depot/projects/vimage/src/sys/sys/eventhandler.h#10 integrate .. //depot/projects/vimage/src/sys/sys/iconv.h#3 integrate .. //depot/projects/vimage/src/sys/sys/imgact.h#6 integrate .. //depot/projects/vimage/src/sys/sys/ioccom.h#3 integrate .. //depot/projects/vimage/src/sys/sys/mchain.h#2 integrate .. //depot/projects/vimage/src/sys/sys/param.h#64 integrate .. //depot/projects/vimage/src/sys/sys/pcpu.h#16 integrate .. //depot/projects/vimage/src/sys/sys/pioctl.h#2 integrate .. //depot/projects/vimage/src/sys/sys/pmc.h#12 integrate .. //depot/projects/vimage/src/sys/sys/proc.h#40 integrate .. //depot/projects/vimage/src/sys/sys/ptrace.h#3 integrate .. //depot/projects/vimage/src/sys/sys/stat.h#5 integrate .. //depot/projects/vimage/src/sys/sys/sysent.h#12 integrate .. //depot/projects/vimage/src/sys/sys/timeb.h#3 integrate .. //depot/projects/vimage/src/sys/sys/timespec.h#2 integrate .. //depot/projects/vimage/src/sys/sys/vnode.h#28 integrate .. //depot/projects/vimage/src/sys/sys/vtoc.h#3 integrate .. //depot/projects/vimage/src/sys/teken/teken.c#4 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_vfsops.c#26 integrate .. //depot/projects/vimage/src/sys/vm/memguard.c#3 integrate .. //depot/projects/vimage/src/sys/vm/memguard.h#2 integrate .. //depot/projects/vimage/src/sys/vm/uma_int.h#5 integrate .. //depot/projects/vimage/src/sys/vm/vm_contig.c#14 integrate .. //depot/projects/vimage/src/sys/vm/vm_extern.h#11 integrate .. //depot/projects/vimage/src/sys/vm/vm_fault.c#22 integrate .. //depot/projects/vimage/src/sys/vm/vm_glue.c#14 integrate .. //depot/projects/vimage/src/sys/vm/vm_map.c#23 integrate .. //depot/projects/vimage/src/sys/vm/vm_map.h#11 integrate .. //depot/projects/vimage/src/sys/vm/vm_mmap.c#24 integrate .. //depot/projects/vimage/src/sys/vm/vm_page.c#27 integrate .. //depot/projects/vimage/src/sys/vm/vm_pageout.c#21 integrate .. //depot/projects/vimage/src/sys/x86/isa/clock.c#2 integrate .. //depot/projects/vimage/src/usr.bin/kdump/kdump.c#5 integrate Differences ... ==== //depot/projects/vimage/src/share/man/man3/pthread_affinity_np.3#2 (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/man3/pthread_affinity_np.3,v 1.2 2010/01/12 18:07:12 brueffer Exp $ +.\" $FreeBSD: src/share/man/man3/pthread_affinity_np.3,v 1.3 2010/03/23 18:00:50 delphij Exp $ .\" -.Dd January 12, 2010 +.Dd March 23, 2010 .Dt PTHREAD_AFFINITY_NP 3 .Os .Sh NAME @@ -125,8 +125,8 @@ .Xr cpuset_setid 2 , .Xr CPU_SET 3 , .Xr pthread 3 , -.Xr pthread_attr_get_affinity_np 3 , -.Xr pthread_attr_set_affinity_np 3 +.Xr pthread_attr_getaffinity_np 3 , +.Xr pthread_attr_setaffinity_np 3 .Sh STANDARDS The .Nm pthread_getaffinity_np ==== //depot/projects/vimage/src/share/man/man4/acpi.4#4 (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/acpi.4,v 1.63 2010/01/15 16:01:22 ru Exp $ +.\" $FreeBSD: src/share/man/man4/acpi.4,v 1.64 2010/03/09 19:19:07 jkim Exp $ .\" -.Dd June 8, 2009 +.Dd March 9, 2010 .Dt ACPI 4 .Os .Sh NAME @@ -62,6 +62,10 @@ .Nm behavior. .Bl -tag -width indent +.It Va debug.acpi.enable_debug_objects +Enable dumping Debug objects without +.Cd "options ACPI_DEBUG" . +Default is 0, ignore Debug objects. .It Va hw.acpi.acline AC line state (1 means online, 0 means on battery power). .It Va hw.acpi.cpu.cx_usage @@ -197,6 +201,9 @@ Name of the DSDT table to load, if loading is enabled. .It Va debug.acpi.disabled Selectively disables portions of ACPI for debugging purposes. +.It Va debug.acpi.interpreter_slack +Enable less strict ACPI implementations. +Default is 1, ignore common BIOS mistakes. .It Va debug.acpi.max_threads Specify the number of task threads that are started on boot. Limiting this to 1 may help work around various BIOSes that cannot ==== //depot/projects/vimage/src/share/man/man4/acpi_wmi.4#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.5 2010/02/08 21:01:41 gavin Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.6 2010/03/12 10:01:06 uqs Exp $ .\" .Dd February 8, 2010 .Dt ACPI_WMI 4 @@ -57,7 +57,7 @@ WMI status device. .El .Sh EXAMPLES -.Bd Literal +.Bd -literal # cat /dev/wmistat GUID INST EXPE METH STR EVENT OID {5FB7F034-2C63-45E9-BE91-3D44E2C707E4} 1 NO WMAA NO NO AA ==== //depot/projects/vimage/src/share/man/man4/altq.4#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/share/man/man4/altq.4,v 1.42 2009/07/26 12:20:07 bz Exp $ +.\" $FreeBSD: src/share/man/man4/altq.4,v 1.43 2010/03/12 10:01:06 uqs Exp $ .\" .Dd July 26, 2009 .Dt ALTQ 4 @@ -121,7 +121,7 @@ .Xr an 4 , .Xr ath 4 , .Xr aue 4 , -.Xt axe 4 , +.Xr axe 4 , .Xr bce 4 , .Xr bfe 4 , .Xr bge 4 , ==== //depot/projects/vimage/src/share/man/man4/amdtemp.4#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/share/man/man4/amdtemp.4,v 1.1 2009/03/13 16:42:24 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/amdtemp.4,v 1.2 2010/03/12 10:01:06 uqs Exp $ .\" .Dd April 8, 2008 .Dt AMDTEMP 4 @@ -75,6 +75,5 @@ driver first appeared in .Fx 7.1 . .Sh AUTHORS -.An .An Rui Paulo Aq rpaulo@FreeBSD.org .An Norikatsu Shigemura Aq nork@FreeBSD.org ==== //depot/projects/vimage/src/share/man/man4/ath.4#7 (text+ko) ==== @@ -26,9 +26,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGES. .\" -.\" $FreeBSD: src/share/man/man4/ath.4,v 1.51 2010/01/12 17:59:58 gavin Exp $ +.\" $FreeBSD: src/share/man/man4/ath.4,v 1.52 2010/03/21 17:53:54 sam Exp $ .\"/ -.Dd July 8, 2009 +.Dd March 21, 2010 .Dt ATH 4 .Os .Sh NAME @@ -145,15 +145,6 @@ A list of cards that are supported can be found at .Pa http://customerproducts.atheros.com/customerproducts/default.asp . .Sh EXAMPLES -Join an existing BSS network (ie: connect to an access point): -.Pp -.Dl "ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00" -.Pp -Join a specific BSS network with network name -.Dq Li my_net : -.Pp -.Dl "ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net" -.Pp Join a specific BSS network with WEP encryption: .Bd -literal -offset indent ifconfig wlan0 create wlandev ath0 ==== //depot/projects/vimage/src/share/man/man4/cxgb.4#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.\" $FreeBSD: src/share/man/man4/cxgb.4,v 1.9 2008/12/12 05:45:39 kmacy Exp $ +.\" $FreeBSD: src/share/man/man4/cxgb.4,v 1.10 2010/03/12 10:01:06 uqs Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Apr 12 12:30:55 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D5551065674; Mon, 12 Apr 2010 12:30: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 291261065670 for ; Mon, 12 Apr 2010 12:30:55 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 155FA8FC13 for ; Mon, 12 Apr 2010 12:30:55 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3CCUsru029148 for ; Mon, 12 Apr 2010 12:30:54 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3CCUsIX029146 for perforce@freebsd.org; Mon, 12 Apr 2010 12:30:54 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 12 Apr 2010 12:30:54 GMT Message-Id: <201004121230.o3CCUsIX029146@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176831 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 12:30:55 -0000 http://p4web.freebsd.org/@@176831?ac=10 Change 176831 by gcooper@gcooper-bayonetta on 2010/04/12 12:30:36 Introducing ... unpack_file_to_fd! A shortcut from the atypical unpack operation as extracting a single file from the beginning of a large tarfile is really braindead, so let's extract the file to disk and return a file descriptor instead :) (can't seem to find a file descriptor returning analog with libarchive... hrmmm...). Overall it could potentially stand to be aligned with the exit code convention from unpack, but for now it works just fine. bde@-ify headers and fields while I'm at it so things are properly ordered and aligned in memory a tad bit better. Sidenote: we'll need to implement similar logic with info/perform.c with a small user-defined loop of all potential metadata files so we don't get killed off performance-wise when reading large tarballs like we are today with unpack. Suggested-by: kientzle Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#5 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#11 edit .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/lib.h#5 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#5 (text+ko) ==== @@ -60,23 +60,23 @@ static int pkg_do(char *pkg) { + struct stat sb; Package Plist; + PackingList p; char pkg_fullname[FILENAME_MAX]; char playpen[FILENAME_MAX]; + char pre_script[FILENAME_MAX] = INSTALL_FNAME; + char post_script[FILENAME_MAX]; + char pre_arg[FILENAME_MAX], post_arg[FILENAME_MAX]; + char *conflict[2]; + char **matched; char *extract; const char *where_to; FILE *cfile; int code; - PackingList p; - struct stat sb; int inPlace, conflictsfound, errcode; /* support for separate pre/post install scripts */ int new_m = 0; - char pre_script[FILENAME_MAX] = INSTALL_FNAME; - char post_script[FILENAME_MAX]; - char pre_arg[FILENAME_MAX], post_arg[FILENAME_MAX]; - char *conflict[2]; - char **matched; int fd; conflictsfound = 0; @@ -107,7 +107,6 @@ warnx("unable to fetch '%s' by URL", pkg); return 1; } - strcpy(pkg_fullname, pkg); cfile = fopen(CONTENTS_FNAME, "r"); if (!cfile) { warnx( @@ -119,33 +118,38 @@ fclose(cfile); } else { - strcpy(pkg_fullname, pkg); /* - * Copy for sanity's sake, - * could remove pkg_fullname - */ - if (strcmp(pkg, "-")) { - if (stat(pkg_fullname, &sb) == FAIL) { - warnx("can't stat package file '%s'", pkg_fullname); + + /* + * If TRUE: We have to extract the whole thing to disk because + * this could be our one and only shot to do so... + */ + Boolean extract_whole_archive_from_stdin = FALSE; + + if (strcmp(pkg, "-") == 0) { + extract_whole_archive_from_stdin = TRUE; + sb.st_size = 100000; /* Make up a plausible average size */ + } else { + if (stat(pkg, &sb) == FAIL) { + warnx("can't stat package file '%s'", pkg); goto bomb; } - extract = CONTENTS_FNAME; - } - else { - extract = NULL; - sb.st_size = 100000; /* Make up a plausible average size */ } if (!(where_to = make_playpen(playpen, sb.st_size * 4))) errx(1, "unable to make playpen for %lld bytes", (long long)sb.st_size * 4); /* Since we can call ourselves recursively, keep notes on where we came from */ if (!getenv("_TOP")) setenv("_TOP", where_to, 1); - if (unpack(pkg_fullname, extract)) { - warnx( - "unable to extract table of contents file from '%s' - not a package?", - pkg_fullname); - goto bomb; - } - cfile = fopen(CONTENTS_FNAME, "r"); + if (extract_whole_archive_from_stdin == TRUE) { + if (unpack(NULL, NULL) == 0) + cfile = fopen(CONTENTS_FNAME, "r"); + else { + warnx("unable to extract table of contents file from '%s' " + "- not a package?", pkg); + goto bomb; + } + } else + cfile = unpack_file_to_fd(pkg, CONTENTS_FNAME); + if (!cfile) { warnx( "unable to open table of contents file '%s' - not a package?", @@ -158,7 +162,7 @@ /* Extract directly rather than moving? Oh goodie! */ if (find_plist_option(&Plist, "extract-in-place")) { if (Verbose) - printf("Doing in-place extraction for %s\n", pkg_fullname); + printf("Doing in-place extraction for %s\n", pkg); p = find_plist(&Plist, PLIST_CWD); if (p) { if (!isdir(p->name) && !Fake) { @@ -174,9 +178,8 @@ inPlace = 1; } else { - warnx( - "no prefix specified in '%s' - this is a bad package!", - pkg_fullname); + warnx("no prefix specified in '%s' - this is a bad " + "package!", pkg); goto bomb; } } @@ -192,7 +195,7 @@ "Please set your PKG_TMPDIR variable to point to a location with more\n" "free space and try again", (long long)sb.st_size * 4); warnx("not extracting %s\ninto %s, sorry!", - pkg_fullname, where_to); + pkg, where_to); goto bomb; } @@ -202,8 +205,8 @@ /* Finally unpack the whole mess. If extract is null we already + did so so don't bother doing it again. */ - if (extract && unpack(pkg_fullname, NULL)) { - warnx("unable to extract '%s'!", pkg_fullname); + if (extract && unpack(pkg, NULL)) { + warnx("unable to extract '%s'!", pkg); goto bomb; } } @@ -370,13 +373,13 @@ else if ((cp = fileGetURL(pkg, p->name, KeepPackage)) != NULL) { if (Verbose) printf("Finished loading %s via a URL\n", p->name); - if (!fexists("+CONTENTS")) { - warnx("autoloaded package %s has no +CONTENTS file?", - p->name); + if (!fexists(CONTENTS_FNAME)) { + warnx("autoloaded package %s has no %s file?", + p->name, CONTENTS_FNAME); if (!Force) ++code; } - else if (vsystem("(pwd; /bin/cat +CONTENTS) | %s %s %s %s -S", PkgAddCmd, Verbose ? "-v" : "", PrefixRecursive ? prefixArg : "", KeepPackage ? "-K" : "")) { + else if (vsystem("(pwd; /bin/cat " CONTENTS_FNAME ") | %s %s %s %s -S", PkgAddCmd, Verbose ? "-v" : "", PrefixRecursive ? prefixArg : "", KeepPackage ? "-K" : "")) { warnx("pkg_add of dependency '%s' failed%s", p->name, Force ? " (proceeding anyway)" : "!"); if (!Force) ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#11 (text+ko) ==== @@ -22,13 +22,13 @@ __FBSDID("$FreeBSD: src/usr.sbin/pkg_install/lib/file.c,v 1.70 2010/04/01 14:27:29 flz Exp $"); #include "lib.h" +#include #include #include #include #include #include #include -#include /* Quick check to see if a file exists */ Boolean @@ -341,13 +341,116 @@ ARCHIVE_EXTRACT_TIME |ARCHIVE_EXTRACT_ACL | \ ARCHIVE_EXTRACT_FFLAGS|ARCHIVE_EXTRACT_XATTR) -/* Unpack a tar file */ +/* + * Unpack a single file from a tar-file to a file descriptor; this is written + * like so as an optimization to abbreviate the extract to *open step, as well + * as to reduce the number of required steps needed when unpacking a tarball on + * disk, as the previous method employed with tar(1) used -q // --fast-read . + * + * Return NULL on failure, and non-NULL on success + * + * XXX (gcooper): this is currently implemented with FILE* / fopen(3) due to + * legacy issues that need to be sorted out over the next couple of weeks for + * 1) locking to function properly, and to gain the potential performance boost + * by using mmap(2), and read(2) (ugh). + * + * But first things first, we need a working solution with minimal changes; + * then we move on from there. + * + * [The return code info will eventually be...] + * + * Return -1 on failure, a value greater than 0 on success [in accordance with + * open(2)]. + */ +FILE* +unpack_file_to_fd(const char *pkg, const char *file) +{ + struct archive *archive; + struct archive_entry *archive_entry; + Boolean found_match = FALSE; + + const char *entry_pathname = NULL; + const char *error = NULL; + const char *pkg_name_humanized; + + FILE *fd = NULL; + /* int fd = -1; */ + int r; + + if (Verbose) + printf("%s: will extract %s from %s\n", __func__, file, pkg); + + archive = archive_read_new(); + archive_read_support_compression_all(archive); + archive_read_support_format_tar(archive); + + /* The initial open failed */ + if (archive_read_open_filename(archive, pkg, + ARCHIVE_DEFAULT_BYTES_PER_BLOCK) != ARCHIVE_OK) { + + error = archive_error_string(archive); + warnx("%s: unable to open the package from %s: %s", + __func__, pkg_name_humanized, error); + + } + else + while (error == NULL && found_match == FALSE && + (r = archive_read_next_header(archive, &archive_entry)) == + ARCHIVE_OK) { + + entry_pathname = archive_entry_pathname(archive_entry); + + if (strncmp(file, entry_pathname, PATH_MAX) == 0) { + + /* + * Regardless of whether or not extract passes, + * we found our target file so let's exit + * quickly because the underlying issue is most + * likely unrecoverable. + */ + found_match = TRUE; + + r = archive_read_extract(archive, archive_entry, + EXTRACT_ARCHIVE_FLAGS); + if (r == ARCHIVE_OK) { + if (Verbose) + printf("X - %s\n", + entry_pathname); + fd = fopen(entry_pathname, "r"); + } else { + error = archive_error_string(archive); + warnx("%s: extraction for %s failed: " + "%s", __func__, pkg_name_humanized, + error); + } + + } else + if (Verbose) + printf("S - %s\n", entry_pathname); + + } + + archive_read_finish(archive); + + return fd; + +} + +/* + * Unpack a tar file, or a subset of the contents. + * + * Return 0 on success, 1 on failure + * + * NOTE: the exit code is 0 / 1 so that this can be fed directly into exit + * when doing piped tar commands for copying hierarchies *hint*, *hint*. + */ int unpack(const char *pkg, const char *file_expr) { struct archive *archive; struct archive_entry *archive_entry; Boolean extract_whole_archive = FALSE; + const char *entry_pathname = NULL; const char *error = NULL; const char *pkg_name_humanized; int r; @@ -355,19 +458,21 @@ if (file_expr == NULL || strcmp("*", file_expr) == 0) extract_whole_archive = TRUE; + if (pkg == NULL || strcmp(pkg, "-") == 0) + pkg_name_humanized = "(stdin)"; + else + pkg_name_humanized = pkg; + if (Verbose) { if (extract_whole_archive) - printf("%s: will extract whole archive\n", __func__); + printf("%s: %s - will extract whole archive\n", + pkg_name_humanized, __func__); else - printf("%s: will extract files that match: %s\n", - __func__, file_expr); + printf("%s: %s - will extract files that match " + "expression: %s\n", + pkg_name_humanized, __func__, file_expr); } - if (pkg == NULL || strcmp(pkg, "-") == 0) - pkg_name_humanized = "(stdin)"; - else - pkg_name_humanized = pkg; - archive = archive_read_new(); archive_read_support_compression_all(archive); archive_read_support_format_tar(archive); @@ -386,29 +491,29 @@ (r = archive_read_next_header(archive, &archive_entry)) == ARCHIVE_OK) { + entry_pathname = archive_entry_pathname(archive_entry); + /* Let's extract the whole archive, or just a file. */ if (extract_whole_archive == TRUE || - (fnmatch(file_expr, - archive_entry_pathname(archive_entry), - FNM_PATHNAME) == 0)) { + (fnmatch(file_expr, entry_pathname, + FNM_PATHNAME)) == 0) { r = archive_read_extract(archive, archive_entry, EXTRACT_ARCHIVE_FLAGS); - if (r != ARCHIVE_OK) { + if (r == ARCHIVE_OK) { + if (Verbose) + printf("X - %s\n", + entry_pathname); + } else { error = archive_error_string(archive); warnx("%s: extraction for %s failed: " "%s", __func__, pkg_name_humanized, error); } - if (Verbose) { - printf("X - %s\n", - archive_entry_pathname(archive_entry)); - } - } else if (Verbose) { - printf("S - %s\n", - archive_entry_pathname(archive_entry)); - } + } else + if (Verbose) + printf("S - %s\n", entry_pathname); } ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/lib.h#5 (text+ko) ==== @@ -188,6 +188,7 @@ void copy_hierarchy(const char *, const char *, Boolean); int delete_hierarchy(const char *, Boolean, Boolean); int unpack(const char *, const char *); +FILE* unpack_file_to_fd(const char*, const char *); void format_cmd(char *, int, const char *, const char *, const char *); /* Msg */ From owner-p4-projects@FreeBSD.ORG Mon Apr 12 13:14:39 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D8AD1065672; Mon, 12 Apr 2010 13:14:39 +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 22301106566B for ; Mon, 12 Apr 2010 13:14:39 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0FF628FC0A for ; Mon, 12 Apr 2010 13:14:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3CDEcBh043983 for ; Mon, 12 Apr 2010 13:14:38 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3CDEcrG043981 for perforce@freebsd.org; Mon, 12 Apr 2010 13:14:38 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 12 Apr 2010 13:14:38 GMT Message-Id: <201004121314.o3CDEcrG043981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176833 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 13:14:39 -0000 http://p4web.freebsd.org/@@176833?ac=10 Change 176833 by gcooper@gcooper-bayonetta on 2010/04/12 13:13:57 Remove all leftover references to pkg_fullname; there's no reason why we need another copy of pkg hanging around. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#6 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/add/perform.c#6 (text+ko) ==== @@ -63,7 +63,6 @@ struct stat sb; Package Plist; PackingList p; - char pkg_fullname[FILENAME_MAX]; char playpen[FILENAME_MAX]; char pre_script[FILENAME_MAX] = INSTALL_FNAME; char post_script[FILENAME_MAX]; @@ -345,7 +344,7 @@ if (!isURL(pkg) && !getenv("PKG_ADD_BASE")) { const char *ext; - ext = strrchr(pkg_fullname, '.'); + ext = strrchr(pkg, '.'); if (ext == NULL) ext = ".tbz"; snprintf(path, FILENAME_MAX, "%s/%s%s", getenv("_TOP"), p->name, ext); @@ -417,7 +416,7 @@ if (Verbose) printf("Running requirements file first for %s..\n", Plist.name); if (!Fake && vsystem("./%s %s INSTALL", REQUIRE_FNAME, Plist.name)) { - warnx("package %s fails requirements %s", pkg_fullname, + warnx("package %s fails requirements %s", pkg, Force ? "installing anyway" : "- not installed"); if (!Force) { code = 1; From owner-p4-projects@FreeBSD.ORG Mon Apr 12 13:38:03 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DED6C1065679; Mon, 12 Apr 2010 13: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 A30F91065677 for ; Mon, 12 Apr 2010 13:38:02 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 912B38FC15 for ; Mon, 12 Apr 2010 13:38:02 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3CDc2VF045878 for ; Mon, 12 Apr 2010 13:38:02 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3CDc2Rr045876 for perforce@freebsd.org; Mon, 12 Apr 2010 13:38:02 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 12 Apr 2010 13:38:02 GMT Message-Id: <201004121338.o3CDc2Rr045876@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176834 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2010 13:38:03 -0000 http://p4web.freebsd.org/@@176834?ac=10 Change 176834 by gcooper@gcooper-bayonetta on 2010/04/12 13:37:24 Avoid a potential segfault because of uninitialized data. Affected files ... .. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#12 edit Differences ... ==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/lib/file.c#12 (text+ko) ==== @@ -377,8 +377,14 @@ /* int fd = -1; */ int r; + if (pkg == NULL || strcmp(pkg, "-") == 0) + pkg_name_humanized = "(stdin)"; + else + pkg_name_humanized = pkg; + if (Verbose) - printf("%s: will extract %s from %s\n", __func__, file, pkg); + printf("%s: will extract %s from %s\n", + __func__, file, pkg_name_humanized); archive = archive_read_new(); archive_read_support_compression_all(archive); From owner-p4-projects@FreeBSD.ORG Tue Apr 13 04:36:13 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 452341065676; Tue, 13 Apr 2010 04:36: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 043D81065670 for ; Tue, 13 Apr 2010 04:36:13 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id CA2B48FC13 for ; Tue, 13 Apr 2010 04:36:12 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.3/8.14.3) id o3D3uR9k029367; Tue, 13 Apr 2010 03:56:27 GMT (envelope-from kientzle@freebsd.org) Received: from horton.x.kientzle.com (fw2.kientzle.com [10.123.1.2]) by kientzle.com with SMTP id aexbfvexqniv4v8aj4wwe42iqs; Tue, 13 Apr 2010 03:56:27 +0000 (UTC) (envelope-from kientzle@freebsd.org) Message-ID: <4BC3EB5B.5070801@freebsd.org> Date: Mon, 12 Apr 2010 20:56:11 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.23) Gecko/20100314 SeaMonkey/1.1.18 MIME-Version: 1.0 To: Garrett Cooper References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> In-Reply-To: <201004121230.o3CCUsIX029146@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 176831 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, 13 Apr 2010 04:36:13 -0000 Garrett Cooper wrote: > +FILE* > +unpack_file_to_fd(const char *pkg, const char *file) > +{ .... > + r = archive_read_extract(archive, archive_entry, > + EXTRACT_ARCHIVE_FLAGS); > + if (r == ARCHIVE_OK) { > + if (Verbose) > + printf("X - %s\n", > + entry_pathname); > + fd = fopen(entry_pathname, "r"); This is potentially race-prone. I would suggest instead that you: int fd = open(entry_pathname, O_RDWR | O_CREAT, ...) archive_read_data_into_fd(a, fd); Then rewind the fd and return it. archive_read_extract() is handy but it's way overkill for this kind of simple operation. I would also put in a simple verification that the entry you found is a regular entry: archive_entry_filetype(entry) == AE_IFREG > + * NOTE: the exit code is 0 / 1 so that this can be fed directly into exit > + * when doing piped tar commands for copying hierarchies *hint*, *hint*. Why do you want to copy hierarchies? Seems a waste of disk bandwidth. *hint* *hint* ;-) > int > unpack(const char *pkg, const char *file_expr) > { Since this is only called with file_expr=="*" and file_expr=="+*", I don't think you need fnmatch(). You can get away with a simple int unpack(const char *pkg, int metadata_only) and then use if (!metadata_only || entry_pathname[0] == '+') > + (fnmatch(file_expr, entry_pathname, > + FNM_PATHNAME)) == 0) { > You might also consider passing in an fd to unpack and using archive_read_open_fd() to attach an archive handle to it instead of archive_read_open_filename(). (It doesn't make any performance difference, but it does avoid races and opens the door to other interesting games in the future.) From owner-p4-projects@FreeBSD.ORG Tue Apr 13 05:49:54 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88E081065674; Tue, 13 Apr 2010 05:49:54 +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 4CC24106564A; Tue, 13 Apr 2010 05:49:54 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-yw0-f193.google.com (mail-yw0-f193.google.com [209.85.211.193]) by mx1.freebsd.org (Postfix) with ESMTP id E4A3E8FC0C; Tue, 13 Apr 2010 05:49:53 +0000 (UTC) Received: by ywh31 with SMTP id 31so1801261ywh.3 for ; Mon, 12 Apr 2010 22:49:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=hTAQ2+x9bm3eMM3kFIuPC+rOCXmCp5s1DGsvTBKasBM=; b=aL2R7L+q9Go7V0Y6UubmfRfRDHXDEmsby5JoSNuRZoKRfTzhxcj/3qYayAfYjJ0EKU O4SQL+qwIEz+EkaUmm97oV/2SHe/pdZd/YOEmocqAsx2wYi5uJg3q0cpsZ6T+v7DS3Bx TpDPDL0PQvwdxbe6WxKMVrTKPSox5XmDOjqK8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=WTwP1cR1mZvv/Z/p8zIG82za0A2Adczb9D27MojyeHZ4+5Tq7z8CknxRnFcq9cRcw2 VIAs9yp/Wy3EiTf8G4m93oMnFU3c2TxBoaGK8MkkrMarmCM+6ktaLf6Hrs+Rolaicbmr CwLVR4FSd/VOweXHWuMQB8ivMqIAUezauUPv8= MIME-Version: 1.0 Sender: yanegomi@gmail.com Received: by 10.231.183.17 with HTTP; Mon, 12 Apr 2010 22:49:52 -0700 (PDT) In-Reply-To: <4BC3EB5B.5070801@freebsd.org> References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> Date: Mon, 12 Apr 2010 22:49:52 -0700 X-Google-Sender-Auth: 12f8679d5ba78e1c Received: by 10.101.152.22 with SMTP id e22mr8944675ano.89.1271137792805; Mon, 12 Apr 2010 22:49:52 -0700 (PDT) Message-ID: From: Garrett Cooper To: Tim Kientzle Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Perforce Change Reviews Subject: Re: PERFORCE change 176831 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, 13 Apr 2010 05:49:55 -0000 On Mon, Apr 12, 2010 at 8:56 PM, Tim Kientzle wrote: > Garrett Cooper wrote: >> >> +FILE* >> +unpack_file_to_fd(const char *pkg, const char *file) >> +{ > > .... >> >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 r =3D arch= ive_read_extract(archive, >> archive_entry, >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 EX= TRACT_ARCHIVE_FLAGS); >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (r =3D= =3D ARCHIVE_OK) { >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 if (Verbose) >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 printf("X - %s\n", >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 entry_pathname); >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 fd =3D fopen(entry_pathname, "r"); > > This is potentially race-prone. =A0I would suggest instead that > you: > > =A0 int fd =3D open(entry_pathname, O_RDWR | O_CREAT, ...) > =A0 archive_read_data_into_fd(a, fd); > > Then rewind the fd and return it. =A0archive_read_extract() > is handy but it's way overkill for this kind of simple > operation. =A0I would also put in a simple verification > that the entry you found is a regular entry: > =A0 archive_entry_filetype(entry) =3D=3D AE_IFREG Ok. What does a regular entry correspond to (I assume not a regular file)? >> + * NOTE: the exit code is 0 / 1 so that this can be fed directly into >> exit >> + * when doing piped tar commands for copying hierarchies *hint*, *hint*= From owner-p4-projects@FreeBSD.ORG Tue Apr 13 15:14:50 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4AA7C1065670; Tue, 13 Apr 2010 15:14:50 +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 079E2106564A for ; Tue, 13 Apr 2010 15:14:50 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E904A8FC13 for ; Tue, 13 Apr 2010 15:14:49 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DFEnIr050807 for ; Tue, 13 Apr 2010 15:14:49 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DFEntv050805 for perforce@freebsd.org; Tue, 13 Apr 2010 15:14:49 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 15:14:49 GMT Message-Id: <201004131514.o3DFEntv050805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176862 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 15:14:50 -0000 http://p4web.freebsd.org/@@176862?ac=10 Change 176862 by raj@raj_fdt on 2010/04/13 15:13:54 Clean up. Affected files ... .. //depot/projects/fdt/sys/arm/include/fdt.h#5 edit .. //depot/projects/fdt/sys/arm/mv/bus_space.c#2 edit .. //depot/projects/fdt/sys/arm/mv/discovery/discovery.c#4 edit .. //depot/projects/fdt/sys/arm/mv/kirkwood/kirkwood.c#10 edit .. //depot/projects/fdt/sys/arm/mv/mv_pci.c#3 edit .. //depot/projects/fdt/sys/arm/mv/mvvar.h#8 edit .. //depot/projects/fdt/sys/arm/mv/orion/orion.c#5 edit Differences ... ==== //depot/projects/fdt/sys/arm/include/fdt.h#5 (text+ko) ==== @@ -55,7 +55,7 @@ /* * Bus space tag. XXX endianess info needs to be derived from the blob. */ -#define fdtbus_bs_tag obio_tag +extern bus_space_tag_t fdtbus_bs_tag; struct mem_region { vm_offset_t mr_start; ==== //depot/projects/fdt/sys/arm/mv/bus_space.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ bs_protos(generic_armv4); /* - * The obio bus space tag. This is constant for all instances, so + * The bus space tag. This is constant for all instances, so * we never have to explicitly "create" it. */ static struct bus_space _base_tag = { @@ -159,4 +159,4 @@ NULL }; -bus_space_tag_t obio_tag = &_base_tag; +bus_space_tag_t fdtbus_bs_tag = &_base_tag; ==== //depot/projects/fdt/sys/arm/mv/discovery/discovery.c#4 (text+ko) ==== @@ -37,86 +37,12 @@ #include #include +#include #include #include #include -#define _MV_PCIE_MAX_PORT 8 - -#define _MV_PCIE_IO_SIZE (MV_PCIE_IO_SIZE / _MV_PCIE_MAX_PORT) -#define _MV_PCIE_MEM_SIZE (MV_PCIE_MEM_SIZE / _MV_PCIE_MAX_PORT) - -#define _MV_PCIE_IO(n) (MV_PCIE_IO_BASE + ((n) * _MV_PCIE_IO_SIZE)) -#define _MV_PCIE_MEM(n) (MV_PCIE_MEM_BASE + ((n) * _MV_PCIE_MEM_SIZE)) - -#define _MV_PCIE_IO_PHYS(n) (MV_PCIE_IO_PHYS_BASE + ((n) * _MV_PCIE_IO_SIZE)) -#define _MV_PCIE_MEM_PHYS(n) (MV_PCIE_MEM_PHYS_BASE + ((n) * _MV_PCIE_MEM_SIZE)) - -#if 0 -/* - * Note the 'pcib' devices are not declared in the obio_devices[]: due to the - * much more complex configuration schemes allowed, specifically of the - * PCI-Express (multiple lanes width per port configured dynamically etc.) it - * is better and flexible to instantiate the number of PCI bridge devices - * (known in run-time) in the pcib_mbus_identify() method. - */ -const struct obio_pci mv_pci_info[] = { - { MV_TYPE_PCIE, - MV_PCIE00_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(0), _MV_PCIE_IO_SIZE, 4, 0xE0, - _MV_PCIE_MEM(0), _MV_PCIE_MEM_SIZE, 4, 0xE8, - NULL, MV_INT_PEX00 }, - - { MV_TYPE_PCIE_AGGR_LANE, - MV_PCIE01_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(1), _MV_PCIE_IO_SIZE, 4, 0xD0, - _MV_PCIE_MEM(1), _MV_PCIE_MEM_SIZE, 4, 0xD8, - NULL, MV_INT_PEX01 }, -#if 0 - /* - * XXX Access to devices on this interface (PCIE 0.2) crashes the - * system. Could be a silicon defect as Marvell U-Boot has a 'Do not - * touch' precaution comment... - */ - { MV_TYPE_PCIE_AGGR_LANE, - MV_PCIE02_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(2), _MV_PCIE_IO_SIZE(2), 4, 0xB0, - _MV_PCIE_MEM(2), _MV_PCIE_MEM_SIZE(2), 4, 0xB8, - NULL, MV_INT_PEX02 }, -#endif - { MV_TYPE_PCIE_AGGR_LANE, - MV_PCIE03_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(3), _MV_PCIE_IO_SIZE, 4, 0x70, - _MV_PCIE_MEM(3), _MV_PCIE_MEM_SIZE, 4, 0x78, - NULL, MV_INT_PEX03 }, - - { MV_TYPE_PCIE, - MV_PCIE10_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(4), _MV_PCIE_IO_SIZE, 8, 0xE0, - _MV_PCIE_MEM(4), _MV_PCIE_MEM_SIZE, 8, 0xE8, - NULL, MV_INT_PEX10 }, - - { MV_TYPE_PCIE_AGGR_LANE, - MV_PCIE11_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(5), _MV_PCIE_IO_SIZE, 8, 0xD0, - _MV_PCIE_MEM(5), _MV_PCIE_MEM_SIZE, 8, 0xD8, - NULL, MV_INT_PEX11 }, - { MV_TYPE_PCIE_AGGR_LANE, - MV_PCIE12_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(6), _MV_PCIE_IO_SIZE, 8, 0xB0, - _MV_PCIE_MEM(6), _MV_PCIE_MEM_SIZE, 8, 0xB8, - NULL, MV_INT_PEX12 }, - { MV_TYPE_PCIE_AGGR_LANE, - MV_PCIE13_BASE, MV_PCIE_SIZE, - _MV_PCIE_IO(7), _MV_PCIE_IO_SIZE, 8, 0x70, - _MV_PCIE_MEM(7), _MV_PCIE_MEM_SIZE, 8, 0x78, - NULL, MV_INT_PEX13 }, - - { 0, 0, 0 } -}; -#endif - struct resource_spec mv_gpio_res[] = { { SYS_RES_MEMORY, 0, RF_ACTIVE }, { SYS_RES_IRQ, 0, RF_ACTIVE }, @@ -126,38 +52,17 @@ { -1, 0 } }; -struct resource_spec mv_xor_res[] = { - { SYS_RES_MEMORY, 0, RF_ACTIVE }, - { SYS_RES_IRQ, 0, RF_ACTIVE }, - { SYS_RES_IRQ, 1, RF_ACTIVE }, - { SYS_RES_IRQ, 2, RF_ACTIVE }, - { -1, 0 } -}; - -/* - * Note: the decode windows table for IDMA does not explicitly have DRAM - * entries, which are not statically defined: active DDR banks (== windows) - * are established in run time from actual DDR windows settings. All active - * DDR banks are mapped into IDMA decode windows, so at least one IDMA decode - * window is occupied by the DDR bank; in case when all (MV_WIN_DDR_MAX) - * DDR banks are active, the remaining available IDMA decode windows for other - * targets is only MV_WIN_IDMA_MAX - MV_WIN_DDR_MAX. - */ const struct decode_win idma_win_tbl[] = { - /* PCIE MEM */ - { 4, 0xE8, _MV_PCIE_MEM_PHYS(0), _MV_PCIE_MEM_SIZE, -1 }, - { 4, 0xD8, _MV_PCIE_MEM_PHYS(1), _MV_PCIE_MEM_SIZE, -1 }, + { 0 }, }; const struct decode_win *idma_wins = idma_win_tbl; -int idma_wins_no = sizeof(idma_win_tbl) / sizeof(struct decode_win); +int idma_wins_no = 0; const struct decode_win xor_win_tbl[] = { - /* PCIE MEM */ - { 4, 0xE8, _MV_PCIE_MEM_PHYS(0), _MV_PCIE_MEM_SIZE, -1}, - { 4, 0xD8, _MV_PCIE_MEM_PHYS(1), _MV_PCIE_MEM_SIZE, -1}, + { 0 }, }; const struct decode_win *xor_wins = xor_win_tbl; -int xor_wins_no = sizeof(xor_win_tbl) / sizeof(struct decode_win); +int xor_wins_no = 0; uint32_t get_tclk(void) @@ -168,7 +73,7 @@ * On Discovery TCLK is can be configured to 166 MHz or 200 MHz. * Current setting is read from Sample At Reset register. */ - sar = bus_space_read_4(obio_tag, MV_MPP_BASE, SAMPLE_AT_RESET_HI); + sar = bus_space_read_4(fdtbus_bs_tag, MV_MPP_BASE, SAMPLE_AT_RESET_HI); sar = (sar & TCLK_MASK) >> TCLK_SHIFT; switch (sar) { ==== //depot/projects/fdt/sys/arm/mv/kirkwood/kirkwood.c#10 (text+ko) ==== @@ -54,23 +54,11 @@ { -1, 0 } }; -struct resource_spec mv_xor_res[] = { - { SYS_RES_MEMORY, 0, RF_ACTIVE }, - { SYS_RES_IRQ, 0, RF_ACTIVE }, - { SYS_RES_IRQ, 1, RF_ACTIVE }, - { SYS_RES_IRQ, 2, RF_ACTIVE }, - { SYS_RES_IRQ, 3, RF_ACTIVE }, - { SYS_RES_IRQ, 4, RF_ACTIVE }, - { SYS_RES_IRQ, 5, RF_ACTIVE }, - { -1, 0 } -}; - const struct decode_win xor_win_tbl[] = { - /* PCIE MEM */ - { 4, 0xE8, MV_PCIE_MEM_PHYS_BASE, MV_PCIE_MEM_SIZE, -1 }, + { 0 }, }; const struct decode_win *xor_wins = xor_win_tbl; -int xor_wins_no = sizeof(xor_win_tbl) / sizeof(struct decode_win); +int xor_wins_no = 0; uint32_t get_tclk(void) ==== //depot/projects/fdt/sys/arm/mv/mv_pci.c#3 (text+ko) ==== @@ -545,7 +545,7 @@ return (NULL); rman_set_rid(res, *rid); - rman_set_bustag(res, obio_tag); + rman_set_bustag(res, fdtbus_bs_tag); rman_set_bushandle(res, start); if (flags & RF_ACTIVE) ==== //depot/projects/fdt/sys/arm/mv/mvvar.h#8 (text+ko) ==== @@ -48,7 +48,6 @@ #define MV_TYPE_PCI 0 #define MV_TYPE_PCIE 1 -#define MV_TYPE_PCIE_AGGR_LANE 2 /* Additional PCIE lane to aggregate */ struct gpio_config { int gc_gpio; /* GPIO number */ @@ -66,7 +65,6 @@ extern const struct pmap_devmap pmap_devmap[]; extern const struct gpio_config mv_gpio_config[]; -extern bus_space_tag_t obio_tag; extern const struct decode_win *idma_wins; extern const struct decode_win *xor_wins; extern int idma_wins_no; ==== //depot/projects/fdt/sys/arm/mv/orion/orion.c#5 (text+ko) ==== @@ -43,7 +43,6 @@ #include #include - #if 0 extern const struct obio_pci_irq_map pci_irq_map[]; const struct obio_pci mv_pci_info[] = { @@ -74,37 +73,11 @@ { -1, 0 } }; -/* TODO convert this to DT-derived approach. */ -/* - * Note: the decode windows table for IDMA does not explicitly have DRAM - * entries, which are not statically defined: active DDR banks (== windows) - * are established in run time from actual DDR windows settings. All active - * DDR banks are mapped into IDMA decode windows, so at least one IDMA decode - * window is occupied by the DDR bank; in case when all (MV_WIN_DDR_MAX) - * DDR banks are active, the remaining available IDMA decode windows for other - * targets is only MV_WIN_IDMA_MAX - MV_WIN_DDR_MAX. - */ const struct decode_win idma_win_tbl[] = { - /* PCIE MEM */ - { 4, 0x59, MV_PCIE_MEM_PHYS_BASE, MV_PCIE_MEM_SIZE, -1 }, - - /* PCI MEM */ - { 3, 0x59, MV_PCI_MEM_PHYS_BASE, MV_PCI_MEM_SIZE, -1 }, - - /* Device bus BOOT */ - { 1, 0x0f, MV_DEV_BOOT_PHYS_BASE, MV_DEV_BOOT_SIZE, -1 }, - - /* Device bus CS0 */ - { 1, 0x1e, MV_DEV_CS0_PHYS_BASE, MV_DEV_CS0_SIZE, -1 }, - - /* Device bus CS1 */ - { 1, 0x1d, MV_DEV_CS1_PHYS_BASE, MV_DEV_CS1_SIZE, -1 }, - - /* Device bus CS2 */ - { 1, 0x1b, MV_DEV_CS2_PHYS_BASE, MV_DEV_CS2_SIZE, -1 }, + { 0 }, }; const struct decode_win *idma_wins = idma_win_tbl; -int idma_wins_no = sizeof(idma_win_tbl) / sizeof(struct decode_win); +int idma_wins_no = 0; uint32_t get_tclk(void) From owner-p4-projects@FreeBSD.ORG Tue Apr 13 15:15:52 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 678051065670; Tue, 13 Apr 2010 15:15: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 2BBDB106564A for ; Tue, 13 Apr 2010 15:15:52 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1A7FA8FC15 for ; Tue, 13 Apr 2010 15:15:52 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DFFpZN050921 for ; Tue, 13 Apr 2010 15:15:51 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DFFo84050919 for perforce@freebsd.org; Tue, 13 Apr 2010 15:15:50 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 15:15:50 GMT Message-Id: <201004131515.o3DFFo84050919@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176863 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 15:15:52 -0000 http://p4web.freebsd.org/@@176863?ac=10 Change 176863 by raj@raj_fdt on 2010/04/13 15:15:11 Provide decoding handler for the legacy CHRP PIC (8259). Affected files ... .. //depot/projects/fdt/sys/dev/fdt/fdt_powerpc.c#4 edit Differences ... ==== //depot/projects/fdt/sys/dev/fdt/fdt_powerpc.c#4 (text+ko) ==== @@ -85,9 +85,37 @@ fdt_pic_decode_iic(phandle_t node, pcell_t *intr, int *interrupt, int *trig, int *pol) { + if (!fdt_is_compatible(node, "chrp,iic")) + return (ENXIO); + + *interrupt = intr[0]; - /* TODO */ - return (ENXIO); + switch (intr[1]) { + case 0: + /* Active L level */ + *trig = INTR_TRIGGER_LEVEL; + *pol = INTR_POLARITY_LOW; + break; + case 1: + /* Active H level */ + *trig = INTR_TRIGGER_LEVEL; + *pol = INTR_POLARITY_HIGH; + break; + case 2: + /* H to L edge */ + *trig = INTR_TRIGGER_EDGE; + *pol = INTR_POLARITY_LOW; + break; + case 3: + /* L to H edge */ + *trig = INTR_TRIGGER_EDGE; + *pol = INTR_POLARITY_HIGH; + break; + default: + *trig = INTR_TRIGGER_CONFORM; + *pol = INTR_POLARITY_CONFORM; + } + return (0); } static int From owner-p4-projects@FreeBSD.ORG Tue Apr 13 15:17:54 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 919CD106566C; Tue, 13 Apr 2010 15:17:54 +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 56507106564A for ; Tue, 13 Apr 2010 15:17:54 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 44FB68FC16 for ; Tue, 13 Apr 2010 15:17:54 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DFHs0B051042 for ; Tue, 13 Apr 2010 15:17:54 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DFHsHO051040 for perforce@freebsd.org; Tue, 13 Apr 2010 15:17:54 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 15:17:54 GMT Message-Id: <201004131517.o3DFHsHO051040@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176864 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 15:17:54 -0000 http://p4web.freebsd.org/@@176864?ac=10 Change 176864 by raj@raj_fdt on 2010/04/13 15:17:08 Retrieve interrupt routing info from the DT on MPC85XX PCI(E). This lets PCI(E) fully work off the device tree blob on these platforms as well. Affected files ... .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#2 edit Differences ... ==== //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#2 (text+ko) ==== @@ -282,7 +282,7 @@ #define PCI_INTRS 12 /* Configure PCI interrupt pins */ for (int i = 0; i < PCI_INTRS; i++) - powerpc_config_intr(i, INTR_TRIGGER_LEVEL, INTR_POLARITY_LOW); + powerpc_config_intr(PIC_IRQ_EXT(i), INTR_TRIGGER_LEVEL, INTR_POLARITY_LOW); node = ofw_bus_get_node(dev); /* @@ -568,9 +568,11 @@ fsl_pcib_route_int(struct fsl_pcib_softc *sc, u_int bus, u_int slot, u_int func, u_int intpin) { - int unit = device_get_unit(sc->sc_dev); + int err, unit; u_int devfn, intline; + unit = device_get_unit(sc->sc_dev); + devfn = DEVFN(bus, slot, func); if (devfn == sc->sc_devfn_via_ide) intline = 14; @@ -585,9 +587,12 @@ intline += (bus != sc->sc_busnr) ? slot : 0; intline = PIC_IRQ_EXT(intline & 3); #endif - intline = intpin - 1; - intline += (4 * unit); - intline = PIC_IRQ_EXT(intline & 0x0f); + err = fdt_pci_route_intr(bus, slot, func, intpin, + &sc->sc_intr_info, &intline); + if (err == 0) + intline = PIC_IRQ_EXT(intline & 0x0f); + else + intline = 0xff; } else intline = 0xff; } From owner-p4-projects@FreeBSD.ORG Tue Apr 13 20:47:25 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B0D3C1065676; Tue, 13 Apr 2010 20:47: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 75601106566B for ; Tue, 13 Apr 2010 20:47:25 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 638958FC14 for ; Tue, 13 Apr 2010 20:47:25 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DKlPYb001843 for ; Tue, 13 Apr 2010 20:47:25 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DKlP9r001841 for perforce@freebsd.org; Tue, 13 Apr 2010 20:47:25 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 20:47:25 GMT Message-Id: <201004132047.o3DKlP9r001841@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176876 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 20:47:25 -0000 http://p4web.freebsd.org/@@176876?ac=10 Change 176876 by raj@raj_fdt on 2010/04/13 20:47:13 Move MPC85XX PCI interrupt config to a better place. Clean up. Affected files ... .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#3 edit Differences ... ==== //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#3 (text+ko) ==== @@ -275,15 +275,6 @@ capptr = (cfgreg >> 8) & 0xff; } - /* - * XXX initializing PCI interrrupts should go elsewhere, platform_if - * maybe? - */ -#define PCI_INTRS 12 - /* Configure PCI interrupt pins */ - for (int i = 0; i < PCI_INTRS; i++) - powerpc_config_intr(PIC_IRQ_EXT(i), INTR_TRIGGER_LEVEL, INTR_POLARITY_LOW); - node = ofw_bus_get_node(dev); /* * Get PCI interrupt info. @@ -582,11 +573,6 @@ intline = 10; else { if (intpin != 0) { -#if 0 - intline = intpin - 1; - intline += (bus != sc->sc_busnr) ? slot : 0; - intline = PIC_IRQ_EXT(intline & 3); -#endif err = fdt_pci_route_intr(bus, slot, func, intpin, &sc->sc_intr_info, &intline); if (err == 0) @@ -601,6 +587,10 @@ printf("PCI %u:%u:%u:%u: intpin %u: intline=%u\n", unit, bus, slot, func, intpin, intline); + if (intline != 0xff) + powerpc_config_intr(intline, INTR_TRIGGER_LEVEL, + INTR_POLARITY_LOW); + return (intline); } @@ -832,12 +822,6 @@ bus_addr_t *vap, *allocp; int error; -#if 0 - error = bus_get_resource(sc->sc_dev, type, 1, &start, &size); - if (error) - return (error); -#endif - end = start + size - 1; switch (type) { From owner-p4-projects@FreeBSD.ORG Tue Apr 13 20:50:29 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 04CE6106566C; Tue, 13 Apr 2010 20:50:29 +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 BD5DD106564A for ; Tue, 13 Apr 2010 20:50:28 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA8638FC14 for ; Tue, 13 Apr 2010 20:50:28 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DKoSwo002116 for ; Tue, 13 Apr 2010 20:50:28 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DKoSBs002114 for perforce@freebsd.org; Tue, 13 Apr 2010 20:50:28 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 20:50:28 GMT Message-Id: <201004132050.o3DKoSBs002114@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176877 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 20:50:29 -0000 http://p4web.freebsd.org/@@176877?ac=10 Change 176877 by raj@raj_fdt on 2010/04/13 20:49:33 Eliminate bootinfo. This alters loader-kernel ABI. Bootinfo is not needed since we're fully DT-driven. Affected files ... .. //depot/projects/fdt/sys/arm/include/bootinfo.h#3 delete .. //depot/projects/fdt/sys/arm/include/metadata.h#4 edit .. //depot/projects/fdt/sys/arm/mv/mv_machdep.c#13 edit .. //depot/projects/fdt/sys/boot/uboot/common/metadata.c#7 edit .. //depot/projects/fdt/sys/powerpc/booke/locore.S#2 edit .. //depot/projects/fdt/sys/powerpc/booke/machdep.c#10 edit .. //depot/projects/fdt/sys/powerpc/include/bootinfo.h#4 delete .. //depot/projects/fdt/sys/powerpc/include/metadata.h#4 edit Differences ... ==== //depot/projects/fdt/sys/arm/include/metadata.h#4 (text+ko) ==== @@ -29,7 +29,6 @@ #ifndef _MACHINE_METADATA_H_ #define _MACHINE_METADATA_H_ -#define MODINFOMD_BOOTINFO 0x1001 -#define MODINFOMD_DTBP 0x1002 +#define MODINFOMD_DTBP 0x1001 #endif /* !_MACHINE_METADATA_H_ */ ==== //depot/projects/fdt/sys/arm/mv/mv_machdep.c#13 (text+ko) ==== @@ -87,7 +87,6 @@ #include #include #include -#include #include /* XXX */ #include /* XXX eventually this should be eliminated */ @@ -148,11 +147,8 @@ static struct mem_region availmem_regions[FDT_MEM_REGIONS]; static int availmem_regions_sz; -struct bootinfo *bootinfo; - static void print_kenv(void); static void print_kernel_section_addr(void); -static void print_bootinfo(void); static void physmap_init(int); static int platform_devmap_init(void); @@ -191,22 +187,6 @@ } static void -print_bootinfo(void) -{ - - debugf("bootinfo:\n"); - if (bootinfo == NULL) { - debugf(" no bootinfo, null ptr\n"); - return; - } - - debugf(" version = 0x%08x\n", bootinfo->bi_version); - debugf(" ccsrbar = 0x%08x\n", bootinfo->bi_bar_base); - debugf(" cpu_clk = 0x%08x\n", bootinfo->bi_cpu_clk); - debugf(" bus_clk = 0x%08x\n", bootinfo->bi_bus_clk); -} - -static void print_kernel_section_addr(void) { @@ -359,9 +339,6 @@ preload_metadata = mdp; kmdp = preload_search_by_type("elf kernel"); if (kmdp != NULL) { - bootinfo = (struct bootinfo *)preload_search_info(kmdp, - MODINFO_METADATA | MODINFOMD_BOOTINFO); - boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); @@ -557,7 +534,6 @@ debugf(" arg1 mdp = 0x%08x\n", (uint32_t)mdp); debugf(" boothowto = 0x%08x\n", boothowto); printf(" dtbp = 0x%08x\n", (uint32_t)dtbp); - print_bootinfo(); print_kernel_section_addr(); print_kenv(); ==== //depot/projects/fdt/sys/boot/uboot/common/metadata.c#7 (text+ko) ==== @@ -36,7 +36,6 @@ #include #include -#include #include "api_public.h" #include "bootstrap.h" @@ -258,35 +257,6 @@ } /* - * Prepare the bootinfo structure. Put a ptr to the allocated struct in addr, - * return size. - */ -static int -md_bootinfo(struct bootinfo **addr) -{ - struct bootinfo *bi; - struct sys_info *si; - int size; - - if ((si = ub_get_sys_info()) == NULL) - panic("can't retrieve U-Boot sysinfo"); - - size = sizeof(struct bootinfo); - - if ((bi = malloc(size)) == NULL) - panic("can't allocate mem for bootinfo"); - - bi->bi_version = BI_VERSION; - bi->bi_bar_base = si->bar; - bi->bi_cpu_clk = si->clk_cpu; - bi->bi_bus_clk = si->clk_bus; - - *addr = bi; - - return (size); -} - -/* * Load the information expected by a powerpc kernel. * * - The 'boothowto' argument is constructed @@ -300,7 +270,6 @@ struct preloaded_file *kfp, *bfp; struct preloaded_file *xp; struct file_metadata *md; - struct bootinfo *bip; vm_offset_t kernend; vm_offset_t addr; vm_offset_t envp; @@ -309,7 +278,6 @@ vm_offset_t dtbp; char *rootdevname; int howto; - int bisize; int i; /* @@ -350,9 +318,6 @@ /* Pad to a page boundary */ addr = roundup(addr, PAGE_SIZE); - /* Prepare bootinfo */ - bisize = md_bootinfo(&bip); - kernend = 0; kfp = file_findfile(NULL, "elf32 kernel"); if (kfp == NULL) @@ -360,7 +325,6 @@ if (kfp == NULL) panic("can't find kernel file"); file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof howto, &howto); - file_addmetadata(kfp, MODINFOMD_BOOTINFO, bisize, bip); file_addmetadata(kfp, MODINFOMD_ENVP, sizeof envp, &envp); #if defined(LOADER_FDT_SUPPORT) ==== //depot/projects/fdt/sys/powerpc/booke/locore.S#2 (text+ko) ==== @@ -39,7 +39,6 @@ #include #include #include -#include #define TMPSTACKSZ 16384 ==== //depot/projects/fdt/sys/powerpc/booke/machdep.c#10 (text+ko) ==== @@ -129,7 +129,6 @@ #include #include #include -#include #include #include @@ -170,8 +169,6 @@ long realmem = 0; long Maxmem = 0; -struct bootinfo *bootinfo; - char machine[] = "powerpc"; SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); @@ -186,7 +183,6 @@ SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_e500_startup, NULL); void print_kernel_section_addr(void); -void print_bootinfo(void); void print_kenv(void); u_int e500_init(u_int32_t, u_int32_t, void *); @@ -260,22 +256,6 @@ } void -print_bootinfo(void) -{ - - debugf("bootinfo:\n"); - if (bootinfo == NULL) { - debugf(" no bootinfo, null ptr\n"); - return; - } - - debugf(" version = 0x%08x\n", bootinfo->bi_version); - debugf(" ccsrbar = 0x%08x\n", bootinfo->bi_bar_base); - debugf(" cpu_clk = 0x%08x\n", bootinfo->bi_cpu_clk); - debugf(" bus_clk = 0x%08x\n", bootinfo->bi_bus_clk); -} - -void print_kernel_section_addr(void) { @@ -303,16 +283,12 @@ dtbp = (vm_offset_t)NULL; /* - * Parse metadata and fetch parameters. This must be done as the first - * step as we need bootinfo data to at least init the console + * Parse metadata and fetch parameters. */ if (mdp != NULL) { preload_metadata = mdp; kmdp = preload_search_by_type("elf kernel"); if (kmdp != NULL) { - bootinfo = (struct bootinfo *)preload_search_info(kmdp, - MODINFO_METADATA | MODINFOMD_BOOTINFO); - boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); dtbp = MD_FETCH(kmdp, MODINFOMD_DTBP, vm_offset_t); @@ -324,8 +300,7 @@ } } else { /* - * We should scream but how? - without CCSR bar (in bootinfo) - * cannot even output anything... + * We should scream but how? Cannot even output anything... */ /* @@ -349,7 +324,7 @@ OF_interpret("perform-fixup", 0); /* Initialize TLB1 handling */ - tlb1_init(bootinfo->bi_bar_base); + tlb1_init(fdt_immr_pa); /* Reset Time Base */ mttb(0); @@ -392,7 +367,6 @@ debugf(" dtbp = 0x%08x\n", (uint32_t)dtbp); - print_bootinfo(); print_kernel_section_addr(); print_kenv(); //tlb1_print_entries(); ==== //depot/projects/fdt/sys/powerpc/include/metadata.h#4 (text+ko) ==== @@ -32,7 +32,6 @@ #define MODINFOMD_ENVP 0x1001 #define MODINFOMD_HOWTO 0x1002 #define MODINFOMD_KERNEND 0x1003 -#define MODINFOMD_BOOTINFO 0x1004 -#define MODINFOMD_DTBP 0x1005 +#define MODINFOMD_DTBP 0x1004 #endif /* !_MACHINE_METADATA_H_ */ From owner-p4-projects@FreeBSD.ORG Tue Apr 13 21:25:04 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA4DB1065678; Tue, 13 Apr 2010 21:25: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 655EF1065673 for ; Tue, 13 Apr 2010 21:25:04 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5106A8FC2A for ; Tue, 13 Apr 2010 21:25:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3DLP4e0005718 for ; Tue, 13 Apr 2010 21:25:04 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3DLP3I6005691 for perforce@freebsd.org; Tue, 13 Apr 2010 21:25:03 GMT (envelope-from raj@freebsd.org) Date: Tue, 13 Apr 2010 21:25:03 GMT Message-Id: <201004132125.o3DLP3I6005691@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176879 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 21:25:05 -0000 http://p4web.freebsd.org/@@176879?ac=10 Change 176879 by raj@raj_fdt on 2010/04/13 21:24:41 IFC @176878 Affected files ... .. //depot/projects/fdt/MAINTAINERS#6 integrate .. //depot/projects/fdt/bin/ps/ps.1#4 integrate .. //depot/projects/fdt/bin/sh/mksyntax.c#4 integrate .. //depot/projects/fdt/bin/sh/parser.c#8 integrate .. //depot/projects/fdt/crypto/openssh/sshd.c#5 integrate .. //depot/projects/fdt/etc/defaults/rc.conf#9 integrate .. //depot/projects/fdt/etc/network.subr#4 integrate .. //depot/projects/fdt/etc/rc.d/ip6addrctl#2 integrate .. //depot/projects/fdt/etc/rc.d/netif#2 integrate .. //depot/projects/fdt/etc/rc.d/netoptions#2 integrate .. //depot/projects/fdt/etc/rc.d/ubthidhci#1 branch .. //depot/projects/fdt/etc/rc.firewall#6 integrate .. //depot/projects/fdt/gnu/usr.bin/gdb/Makefile#4 integrate .. //depot/projects/fdt/lib/libc/softfloat/softfloat-specialize#2 integrate .. //depot/projects/fdt/lib/libc/sys/sigaction.2#2 integrate .. //depot/projects/fdt/release/Makefile#3 integrate .. //depot/projects/fdt/release/Makefile.inc.docports#2 integrate .. //depot/projects/fdt/sbin/geom/class/Makefile#3 integrate .. //depot/projects/fdt/sbin/geom/class/sched/Makefile#1 branch .. //depot/projects/fdt/sbin/geom/class/sched/geom_sched.c#1 branch .. //depot/projects/fdt/sbin/geom/class/sched/gsched.8#1 branch .. //depot/projects/fdt/sbin/ipfw/main.c#3 integrate .. //depot/projects/fdt/share/man/man4/splash.4#2 integrate .. //depot/projects/fdt/share/man/man5/rc.conf.5#8 integrate .. //depot/projects/fdt/share/man/man9/stack.9#2 integrate .. //depot/projects/fdt/share/misc/committers-ports.dot#5 integrate .. //depot/projects/fdt/sys/amd64/amd64/exception.S#4 integrate .. //depot/projects/fdt/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/fdt/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/fdt/sys/amd64/ia32/ia32_signal.c#3 integrate .. //depot/projects/fdt/sys/amd64/include/md_var.h#4 integrate .. //depot/projects/fdt/sys/arm/include/bus.h#3 integrate .. //depot/projects/fdt/sys/boot/i386/efi/Makefile#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/autoload.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/bootinfo.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/conf.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/devicename.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/efimd.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/elf32_freebsd.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/exec.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/i386_copy.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/ldscript.amd64#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/ldscript.i386#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/main.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/reloc.c#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/start.S#1 branch .. //depot/projects/fdt/sys/boot/i386/efi/version#1 branch .. //depot/projects/fdt/sys/conf/files#23 integrate .. //depot/projects/fdt/sys/conf/files.sparc64#4 integrate .. //depot/projects/fdt/sys/contrib/dev/iwn/LICENSE#2 integrate .. //depot/projects/fdt/sys/contrib/dev/iwn/iwlwifi-6000-9.176.4.1.fw.uu#2 delete .. //depot/projects/fdt/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu#1 branch .. //depot/projects/fdt/sys/dev/aac/aac.c#7 integrate .. //depot/projects/fdt/sys/dev/aac/aac_cam.c#6 integrate .. //depot/projects/fdt/sys/dev/aac/aac_debug.c#2 integrate .. //depot/projects/fdt/sys/dev/aac/aac_disk.c#2 integrate .. //depot/projects/fdt/sys/dev/aac/aac_pci.c#3 integrate .. //depot/projects/fdt/sys/dev/aac/aac_tables.h#2 integrate .. //depot/projects/fdt/sys/dev/aac/aacreg.h#4 integrate .. //depot/projects/fdt/sys/dev/aac/aacvar.h#4 integrate .. //depot/projects/fdt/sys/dev/ath/ath_hal/ar5416/ar9285_attach.c#3 integrate .. //depot/projects/fdt/sys/dev/ath/if_ath.c#7 integrate .. //depot/projects/fdt/sys/dev/bwi/if_bwi.c#4 integrate .. //depot/projects/fdt/sys/dev/e1000/if_em.c#9 integrate .. //depot/projects/fdt/sys/dev/e1000/if_em.h#6 integrate .. //depot/projects/fdt/sys/dev/e1000/if_igb.c#10 integrate .. //depot/projects/fdt/sys/dev/fb/vesa.c#9 integrate .. //depot/projects/fdt/sys/dev/iwn/if_iwn.c#7 integrate .. //depot/projects/fdt/sys/dev/iwn/if_iwnreg.h#4 integrate .. //depot/projects/fdt/sys/dev/iwn/if_iwnvar.h#5 integrate .. //depot/projects/fdt/sys/dev/mii/miidevs#7 integrate .. //depot/projects/fdt/sys/dev/mii/truephy.c#2 integrate .. //depot/projects/fdt/sys/dev/msk/if_msk.c#8 integrate .. //depot/projects/fdt/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/fdt/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/fdt/sys/dev/re/if_re.c#6 integrate .. //depot/projects/fdt/sys/dev/syscons/logo/beastie.c#1 branch .. //depot/projects/fdt/sys/dev/syscons/logo/logo.c#2 integrate .. //depot/projects/fdt/sys/dev/syscons/logo/logo_saver.c#2 integrate .. //depot/projects/fdt/sys/dev/uart/uart.h#2 integrate .. //depot/projects/fdt/sys/dev/uart/uart_cpu_sparc64.c#3 integrate .. //depot/projects/fdt/sys/dev/usb/serial/u3g.c#9 integrate .. //depot/projects/fdt/sys/dev/usb/usbdevs#13 integrate .. //depot/projects/fdt/sys/dev/usb/wlan/if_run.c#4 integrate .. //depot/projects/fdt/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/fdt/sys/dev/wpi/if_wpi.c#5 integrate .. //depot/projects/fdt/sys/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/fdt/sys/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs.h#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_io.c#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_ioctl.c#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_mount.h#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_node.c#3 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_node.h#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_subr.h#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_vfsops.c#2 integrate .. //depot/projects/fdt/sys/fs/nwfs/nwfs_vnops.c#3 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_node.h#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_smb.c#3 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_subr.h#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/fdt/sys/fs/smbfs/smbfs_vnops.c#2 integrate .. //depot/projects/fdt/sys/geom/sched/README#1 branch .. //depot/projects/fdt/sys/geom/sched/g_sched.c#1 branch .. //depot/projects/fdt/sys/geom/sched/g_sched.h#1 branch .. //depot/projects/fdt/sys/geom/sched/gs_rr.c#1 branch .. //depot/projects/fdt/sys/geom/sched/gs_scheduler.h#1 branch .. //depot/projects/fdt/sys/geom/sched/subr_disk.c#1 branch .. //depot/projects/fdt/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/fdt/sys/i386/i386/mpboot.s#2 integrate .. //depot/projects/fdt/sys/i386/i386/trap.c#6 integrate .. //depot/projects/fdt/sys/i386/include/bootinfo.h#2 integrate .. //depot/projects/fdt/sys/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/fdt/sys/ia64/include/pal.h#2 integrate .. //depot/projects/fdt/sys/kern/init_main.c#3 integrate .. //depot/projects/fdt/sys/kern/kern_clock.c#3 integrate .. //depot/projects/fdt/sys/kern/tty_pts.c#5 integrate .. //depot/projects/fdt/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/fdt/sys/libkern/iconv.c#2 integrate .. //depot/projects/fdt/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/fdt/sys/libkern/iconv_xlat.c#2 integrate .. //depot/projects/fdt/sys/libkern/strcasecmp.c#2 integrate .. //depot/projects/fdt/sys/mips/atheros/if_arge.c#2 integrate .. //depot/projects/fdt/sys/mips/include/bus.h#4 integrate .. //depot/projects/fdt/sys/mips/mips/busdma_machdep.c#5 integrate .. //depot/projects/fdt/sys/modules/Makefile#9 integrate .. //depot/projects/fdt/sys/modules/geom/Makefile#3 integrate .. //depot/projects/fdt/sys/modules/geom/geom_sched/Makefile#1 branch .. //depot/projects/fdt/sys/modules/geom/geom_sched/Makefile.inc#1 branch .. //depot/projects/fdt/sys/modules/geom/geom_sched/gs_sched/Makefile#1 branch .. //depot/projects/fdt/sys/modules/geom/geom_sched/gsched_rr/Makefile#1 branch .. //depot/projects/fdt/sys/modules/iwnfw/iwn6000/Makefile#2 integrate .. //depot/projects/fdt/sys/modules/syscons/Makefile#2 integrate .. //depot/projects/fdt/sys/modules/syscons/beastie/Makefile#1 branch .. //depot/projects/fdt/sys/modules/wlan/Makefile#3 integrate .. //depot/projects/fdt/sys/net/if.c#8 integrate .. //depot/projects/fdt/sys/net/if_clone.c#2 integrate .. //depot/projects/fdt/sys/net/if_llatbl.c#5 integrate .. //depot/projects/fdt/sys/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/fdt/sys/net80211/ieee80211_crypto_ccmp.c#2 integrate .. //depot/projects/fdt/sys/net80211/ieee80211_crypto_tkip.c#3 integrate .. //depot/projects/fdt/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/fdt/sys/net80211/ieee80211_ratectl.h#2 integrate .. //depot/projects/fdt/sys/net80211/ieee80211_rssadapt.c#3 integrate .. //depot/projects/fdt/sys/netgraph/ng_pipe.c#2 integrate .. //depot/projects/fdt/sys/netgraph/ng_pipe.h#2 integrate .. //depot/projects/fdt/sys/netinet/if_ether.c#3 integrate .. //depot/projects/fdt/sys/netinet/in.c#6 integrate .. //depot/projects/fdt/sys/netinet/in_mcast.c#3 integrate .. //depot/projects/fdt/sys/netinet/ipfw/ip_dn_glue.c#3 integrate .. //depot/projects/fdt/sys/netinet/ipfw/ip_dn_io.c#4 integrate .. //depot/projects/fdt/sys/netinet/ipfw/ip_dn_private.h#3 integrate .. //depot/projects/fdt/sys/netinet/ipfw/ip_dummynet.c#10 integrate .. //depot/projects/fdt/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/fdt/sys/netinet6/in6.c#3 integrate .. //depot/projects/fdt/sys/netinet6/mld6.c#4 integrate .. //depot/projects/fdt/sys/netinet6/nd6.c#7 integrate .. //depot/projects/fdt/sys/netncp/ncp_conn.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_conn.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_file.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_lib.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_login.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_ncp.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_ncp.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_nls.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_nls.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_rcfile.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_rq.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_rq.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_sock.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_sock.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_subr.c#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_subr.h#2 integrate .. //depot/projects/fdt/sys/netncp/ncp_user.h#2 integrate .. //depot/projects/fdt/sys/netsmb/netbios.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_conn.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_dev.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_dev.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_iod.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_rq.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_rq.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_smb.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_subr.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_subr.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_tran.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_trantcp.c#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_trantcp.h#2 integrate .. //depot/projects/fdt/sys/netsmb/smb_usr.c#2 integrate .. //depot/projects/fdt/sys/pc98/cbus/clock.c#5 integrate .. //depot/projects/fdt/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/fdt/sys/sparc64/conf/GENERIC#8 integrate .. //depot/projects/fdt/sys/sparc64/conf/NOTES#4 integrate .. //depot/projects/fdt/sys/sparc64/include/dcr.h#3 integrate .. //depot/projects/fdt/sys/sparc64/include/lsu.h#2 integrate .. //depot/projects/fdt/sys/sparc64/pci/sbbc.c#1 branch .. //depot/projects/fdt/sys/sparc64/sparc64/ofw_machdep.c#3 integrate .. //depot/projects/fdt/sys/sparc64/sparc64/trap.c#8 integrate .. //depot/projects/fdt/sys/sys/iconv.h#2 integrate .. //depot/projects/fdt/sys/sys/mchain.h#2 integrate .. //depot/projects/fdt/sys/vm/memguard.c#2 integrate .. //depot/projects/fdt/sys/vm/memguard.h#2 integrate .. //depot/projects/fdt/sys/vm/vm_contig.c#2 integrate .. //depot/projects/fdt/sys/vm/vm_extern.h#3 integrate .. //depot/projects/fdt/sys/vm/vm_glue.c#2 integrate .. //depot/projects/fdt/sys/x86/isa/clock.c#3 integrate .. //depot/projects/fdt/tools/regression/bin/sh/parameters/pwd1.0#1 branch .. //depot/projects/fdt/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/fdt/usr.bin/gzip/gzip.c#3 integrate .. //depot/projects/fdt/usr.bin/gzip/unbzip2.c#4 integrate .. //depot/projects/fdt/usr.bin/tar/bsdtar.1#3 integrate .. //depot/projects/fdt/usr.bin/tar/bsdtar.c#3 integrate .. //depot/projects/fdt/usr.bin/tar/bsdtar_platform.h#3 integrate .. //depot/projects/fdt/usr.bin/tar/matching.c#3 integrate .. //depot/projects/fdt/usr.bin/tar/subst.c#3 integrate .. //depot/projects/fdt/usr.bin/tar/tree.h#2 integrate .. //depot/projects/fdt/usr.bin/tar/write.c#3 integrate .. //depot/projects/fdt/usr.bin/xlint/lint1/decl.c#2 integrate .. //depot/projects/fdt/usr.bin/xlint/lint1/lint1.h#2 integrate .. //depot/projects/fdt/usr.bin/xlint/lint1/mem1.c#2 integrate .. //depot/projects/fdt/usr.sbin/lastlogin/lastlogin.8#3 integrate .. //depot/projects/fdt/usr.sbin/lastlogin/lastlogin.c#7 integrate .. //depot/projects/fdt/usr.sbin/sysinstall/menus.c#3 integrate .. //depot/projects/fdt/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate .. //depot/projects/fdt/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/fdt/MAINTAINERS#6 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.160 2010/03/26 12:59:15 des Exp $ +$FreeBSD: src/MAINTAINERS,v 1.162 2010/04/10 12:29:09 bms Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -123,6 +123,9 @@ maintained by a third party source. lib/libc/stdtime edwin Heads-up appreciated, since parts of this code is maintained by a third party source. +sysinstall randi Please contact about any major changes so that + they can be co-ordinated. +sbin/routed bms Pre-commit review; notify vendor at rhyolite.com Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. ==== //depot/projects/fdt/bin/ps/ps.1#4 (text+ko) ==== @@ -27,9 +27,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.94 2010/03/17 22:57:58 jmallett Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.95 2010/04/13 08:54:53 kib Exp $ .\" -.Dd March 17, 2010 +.Dd April 13, 2010 .Dt PS 1 .Os .Sh NAME @@ -298,6 +298,7 @@ .It Dv "P_WAITED" Ta No "0x01000 Someone is waiting for us" .It Dv "P_WEXIT" Ta No "0x02000 Working on exiting" .It Dv "P_EXEC" Ta No "0x04000 Process called exec" +.It Dv "P_WKILLED" Ta No "0x08000 Killed, shall go to kernel/user boundary ASAP" .It Dv "P_CONTINUED" Ta No "0x10000 Proc has continued from a stopped state" .It Dv "P_STOPPED_SIG" Ta No "0x20000 Stopped due to SIGSTOP/SIGTSTP" .It Dv "P_STOPPED_TRACE" Ta No "0x40000 Stopped because of tracing" ==== //depot/projects/fdt/bin/sh/mksyntax.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/sh/mksyntax.c,v 1.28 2010/04/03 21:01:01 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/mksyntax.c,v 1.29 2010/04/11 12:24:47 jilles Exp $"); /* * This program creates syntax.h and syntax.c. @@ -232,6 +232,7 @@ add("\n", "CNL"); add("\\", "CBACK"); add("`", "CBQUOTE"); + add("\"", "CDQUOTE"); add("$", "CVAR"); add("}", "CENDVAR"); add("(", "CLP"); ==== //depot/projects/fdt/bin/sh/parser.c#8 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.77 2010/04/03 21:01:01 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.78 2010/04/11 12:24:47 jilles Exp $"); #include #include @@ -1223,7 +1223,10 @@ if (eofmark != NULL && newvarnest == 0) USTPUTC(c, out); else { - state[level].syntax = BASESYNTAX; + if (state[level].category == TSTATE_ARITH) + state[level].syntax = ARISYNTAX; + else + state[level].syntax = BASESYNTAX; quotef++; } break; ==== //depot/projects/fdt/crypto/openssh/sshd.c#5 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include "includes.h" -__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.52 2010/03/09 19:16:43 des Exp $"); +__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.53 2010/04/08 12:07:40 kib Exp $"); #include #include @@ -1330,10 +1330,6 @@ /* Initialize configuration options to their default values. */ initialize_server_options(&options); - /* Avoid killing the process in high-pressure swapping environments. */ - if (madvise(NULL, 0, MADV_PROTECT) != 0) - debug("madvise(): %.200s", strerror(errno)); - /* Parse command-line arguments. */ while ((opt = getopt(ac, av, "f:p:b:k:h:g:u:o:C:dDeiqrtQRT46")) != -1) { switch (opt) { @@ -1749,6 +1745,10 @@ /* Reinitialize the log (because of the fork above). */ log_init(__progname, options.log_level, options.log_facility, log_stderr); + /* Avoid killing the process in high-pressure swapping environments. */ + if (!inetd_flag && madvise(NULL, 0, MADV_PROTECT) != 0) + debug("madvise(): %.200s", strerror(errno)); + /* Initialize the random number generator. */ arc4random_stir(); ==== //depot/projects/fdt/etc/defaults/rc.conf#9 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.371 2010/03/05 14:34:33 netchild Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.373 2010/04/09 17:32:38 rpaulo Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -210,6 +210,7 @@ ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. #ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. #ifconfig_ed0_ipx="ipx 0x00010010" # Sample IPX address family entry. +#ifconfig_ed0_ipv6="RTADV" # Sample IPv6 entry for RA/rtsol(8) #ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64" # Sample IPv6 addr entry #ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64" # Sample IPv6 alias #ifconfig_fxp0_name="net0" # Change interface name from fxp0 to net0. @@ -435,12 +436,18 @@ #rfcomm_pppd_server_two_register_sp="NO" # Override SP and DUN register #rfcomm_pppd_server_two_register_dun="NO" # for 'two' +#ubthidhci_enable="YES" # Switch an USB BT controller present on +#ubthidhci_busnum="3" # bus 3 and addr 2 from HID mode to HCI mode. +#ubthidhci_addr="2" # Check usbconfig list to find the correct + # numbers for your system. + ### Miscellaneous network options: ### icmp_bmcastecho="NO" # respond to broadcast ping packets ### IPv6 options: ### -ipv6_network_interfaces="none" # List of IPv6 network interfaces - # (or "auto" or "none"). +ipv6_network_interfaces="AUTO" # List of IPv6 network interfaces +ipv6_prefer="YES" # Use IPv6 when both IPv4 and IPv6 can be used +ipv6_privacy="NO" # Use privacy addresses with RTADV (RFC 4193) ipv6_defaultrouter="NO" # Set to IPv6 default gateway (or NO). #ipv6_defaultrouter="2002:c058:6301::" # Use this for 6to4 (RFC 3068) ipv6_static_routes="" # Set to static route list (or leave empty). @@ -499,7 +506,6 @@ # for examples ip6addrctl_enable="YES" # Set to YES to enable default address selection ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages -ipv6_prefer="NO" # Use IPv6 when both IPv4 and IPv6 can be used ############################################################## ### System console options ################################# ==== //depot/projects/fdt/etc/network.subr#4 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.206 2010/02/03 16:18:42 ume Exp $ +# $FreeBSD: src/etc/network.subr,v 1.207 2010/04/09 01:35:09 dougb Exp $ # # @@ -96,45 +96,33 @@ # inet6 specific if afexists inet6; then if ipv6if $1; then - if checkyesno ipv6_gateway_enable; then - _ipv6_opts="-accept_rtadv" + # Implicitly handles ipv6_gateway_enable + _ipv6_opts='-ifdisabled -accept_rtadv' + + if ipv6_autoconfif $1; then + _ipv6_opts='-ifdisabled accept_rtadv' + fi + + ifconfig $1 inet6 $_ipv6_opts + + # ifconfig_IF_ipv6 + ifconfig_args=`ifconfig_getargs $1 ipv6` + + if [ -n "$ifconfig_args" ]; then + ifconfig $1 $ifconfig_args + _cfg=0 fi else - if checkyesno ipv6_prefer; then - _ipv6_opts="-ifdisabled" - else - _ipv6_opts="ifdisabled" - fi - - # backward compatibility: $ipv6_enable - case $ipv6_enable in - [Yy][Ee][Ss]) - _ipv6_opts="${_ipv6_opts} accept_rtadv" + # Remove in FreeBSD 10.x + # Explicit test is necessary here to avoid nonexistence error + case "$ipv6_enable" in + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) + warn "Interface $1 will NOT be configured for IPv6" ;; esac - fi - if [ -n "${_ipv6_opts}" ]; then - ifconfig $1 inet6 ${_ipv6_opts} + ifconfig $1 inet6 ifdisabled fi - - # ifconfig_IF_ipv6 - ifconfig_args=`ifconfig_getargs $1 ipv6` - if [ -n "${ifconfig_args}" ]; then - ifconfig $1 inet6 -ifdisabled - ifconfig $1 ${ifconfig_args} - _cfg=0 - fi - - # backward compatiblity: $ipv6_ifconfig_IF - ifconfig_args=`get_if_var $1 ipv6_ifconfig_IF` - if [ -n "${ifconfig_args}" ]; then - warn "\$ipv6_ifconfig_$1 is obsolete." \ - " Use ifconfig_$1_ipv6 instead." - ifconfig $1 inet6 -ifdisabled - ifconfig $1 inet6 ${ifconfig_args} - _cfg=0 - fi fi if [ ${_cfg} -eq 0 ]; then @@ -194,7 +182,7 @@ # $default if given. get_if_var() { - local _if _punct _var _default prefix suffix + local _if _punct _punct_c _var _default prefix suffix if [ $# -ne 2 -a $# -ne 3 ]; then err 3 'USAGE: get_if_var name var [default]' @@ -219,7 +207,7 @@ # outside this file. _ifconfig_getargs() { - local _ifn _af + local _ifn _af value _ifn=$1 _af=${2+_$2} @@ -227,7 +215,18 @@ return 1 fi - get_if_var $_ifn ifconfig_IF$_af "$ifconfig_DEFAULT" + value=`get_if_var $_ifn ifconfig_IF$_af "$ifconfig_DEFAULT"` + + # Remove in FreeBSD 10.x + if [ "$_af" = _ipv6 -a -z "$value" ]; then + value=`get_if_var $_ifn ipv6_ifconfig_IF "$ifconfig_DEFAULT"` + if [ -n "$value" ]; then + warn "\$ipv6_ifconfig_$1 is obsolete." \ + " Use ifconfig_$1_ipv6 instead." + fi + fi + + echo $value } # ifconfig_getargs if [af] @@ -249,6 +248,8 @@ [Nn][Oo][Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;; [Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;; [Ww][Pp][Aa]) ;; + [Rr][Tt][Aa][Dd][Vv]) ;; + [Nn][Oo][Rr][Tt][Aa][Dd][Vv]) ;; *) _args="$_args $_arg" ;; @@ -372,77 +373,45 @@ esac } -# noafif if -# Returns 0 if the interface has no af configuration and 1 otherwise. -noafif() -{ - local _if - _if=$1 - - case $_if in - pflog[0-9]*|\ - pfsync[0-9]*|\ - an[0-9]*|\ - ath[0-9]*|\ - ipw[0-9]*|\ - iwi[0-9]*|\ - iwn[0-9]*|\ - ral[0-9]*|\ - wi[0-9]*|\ - wl[0-9]*|\ - wpi[0-9]*) - return 0 - ;; - esac - - return 1 -} - # ipv6if if # Returns 0 if the interface should be configured for IPv6 and # 1 otherwise. ipv6if() { - local _if _tmpargs i - _if=$1 - if ! afexists inet6; then return 1 fi # lo0 is always IPv6-enabled - case $_if in + case $1 in lo0) return 0 ;; esac - # True if $ifconfig_IF_ipv6 is defined. - _tmpargs=`_ifconfig_getargs $_if ipv6` - if [ -n "${_tmpargs}" ]; then - return 0 - fi + local _if _tmpargs i + _if=$1 - # backward compatibility: True if $ipv6_ifconfig_IF is defined. - _tmpargs=`get_if_var $_if ipv6_ifconfig_IF` - if [ -n "${_tmpargs}" ]; then - return 0 - fi - - case "${ipv6_network_interfaces}" in - [Aa][Uu][Tt][Oo]) - return 0 - ;; + case "$ipv6_network_interfaces" in ''|[Nn][Oo][Nn][Ee]) return 1 ;; + $_if|"$_if "*|*" $_if"|*" $_if "*|[Aa][Uu][Tt][Oo]) + # True if $ifconfig_IF_ipv6 is defined. + _tmpargs=`_ifconfig_getargs $_if ipv6` + ;; esac - for i in ${ipv6_network_interfaces}; do - if [ "$i" = "$_if" ]; then - return 0 - fi - done + if [ -n "$_tmpargs" ]; then + # Remove in FreeBSD 10.x + # Explicit test is necessary here to avoid nonexistence error + case "$ipv6_enable" in + [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) + ;; + *) return 0 + ;; + esac + fi return 1 } @@ -452,15 +421,24 @@ # Stateless Address Configuration, 1 otherwise. ipv6_autoconfif() { + case $1 in + lo0|\ + stf[0-9]*|\ + faith[0-9]*|\ + lp[0-9]*|\ + sl[0-9]*|\ + pflog[0-9]*|\ + pfsync[0-9]*) + return 1 + ;; + esac + local _if _tmpargs _arg _if=$1 if ! ipv6if $_if; then return 1 fi - if noafif $_if; then - return 1 - fi if checkyesno ipv6_gateway_enable; then return 1 fi @@ -468,45 +446,24 @@ if [ -n "${_tmpargs}" ]; then return 1 fi + if ! is_wired_interface $_if; then + case $_if in + wlan[0-9]*) ;; # Allow test to continue + *) return 1 + ;; + esac + fi - case $_if in - lo0|\ - stf[0-9]*|\ - faith[0-9]*|\ - lp[0-9]*|\ - sl[0-9]*|\ - pflog[0-9]*|\ - pfsync[0-9]*) + _tmpargs=`_ifconfig_getargs $_if ipv6` + case "$_tmpargs" in + *inet6\ *|*[Nn][Oo][Rr][Tt][Aa][Dd][Vv]*|*-accept_rtadv*) return 1 ;; - esac - - # backward compatibility: $ipv6_enable - case $ipv6_enable in - [Yy][Ee][Ss]) + *[Rr][Tt][Aa][Dd][Vv]*|*accept_rtadv*) return 0 ;; esac - _tmpargs=`_ifconfig_getargs $_if ipv6` - for _arg in $_tmpargs; do - case $_arg in - accept_rtadv) - return 0 - ;; - esac - done - - # backward compatibility: $ipv6_ifconfig_IF - _tmpargs=`get_if_var $_if ipv6_ifconfig_IF` - for _arg in $_tmpargs; do - case $_arg in - accept_rtadv) - return 0 - ;; - esac - done - return 1 } ==== //depot/projects/fdt/etc/rc.d/ip6addrctl#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ip6addrctl,v 1.8 2009/10/02 02:24:25 hrs Exp $ +# $FreeBSD: src/etc/rc.d/ip6addrctl,v 1.9 2010/04/09 01:35:09 dougb Exp $ # # PROVIDE: ip6addrctl @@ -20,8 +20,6 @@ prefer_ipv6_cmd="ip6addrctl_prefer_ipv6" prefer_ipv4_cmd="ip6addrctl_prefer_ipv4" -set_rcvar_obsolete ipv6_enable ipv6_prefer - ip6addrctl_prefer_ipv6() { afexists inet6 || return 0 ==== //depot/projects/fdt/etc/rc.d/netif#2 (text+ko) ==== @@ -22,7 +22,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/etc/rc.d/netif,v 1.35 2009/10/10 22:17:03 dougb Exp $ +# $FreeBSD: src/etc/rc.d/netif,v 1.36 2010/04/09 01:35:09 dougb Exp $ # # PROVIDE: netif @@ -34,6 +34,7 @@ . /etc/network.subr name="network" +start_precmd="network_prestart" start_cmd="network_start" stop_cmd="network_stop" cloneup_cmd="clone_up" @@ -41,7 +42,13 @@ extra_commands="cloneup clonedown" cmdifn= -set_rcvar_obsolete ipv6_enable ipv6_prefer +network_prestart() +{ + if [ -n "$ipv6_enable" ]; then + warn 'The ipv6_enable option is deprecated.' + warn 'See rc.conf(5) for information on disabling IPv6.' + fi +} network_start() { ==== //depot/projects/fdt/etc/rc.d/netoptions#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/netoptions,v 1.151 2009/10/23 09:30:19 hrs Exp $ +# $FreeBSD: src/etc/rc.d/netoptions,v 1.152 2010/04/09 01:35:09 dougb Exp $ # # PROVIDE: netoptions @@ -99,6 +99,13 @@ else ${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null fi + + if checkyesno ipv6_privacy; then + netoptions_init + echo -n " IPv6 Privacy Addresses" + ${SYSCTL_W} net.inet6.ip6.use_tempaddr=1 >/dev/null + ${SYSCTL_W} net.inet6.ip6.prefer_tempaddr=1 >/dev/null + fi } load_rc_config $name ==== //depot/projects/fdt/etc/rc.firewall#6 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.firewall,v 1.65 2010/01/17 08:41:07 ume Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.68 2010/04/11 15:31:09 ume Exp $ # # @@ -424,24 +424,21 @@ # Configuration: # firewall_myservices: List of TCP ports on which this host # offers services. - # firewall_allowservices: List of IPs which has access to + # firewall_allowservices: List of IPv4 and/or IPv6 addresses + # that have access to # $firewall_myservices. - # firewall_trusted: List of IPv4s which has full access - # to this host. Be very carefull - # when setting this. This option can - # seriously degrade the level of - # protection provided by the firewall. + # firewall_trusted: List of IPv4 and/or IPv6 addresses + # that have full access to this host. + # Be very careful when setting this. + # This option can seriously degrade + # the level of protection provided by + # the firewall. # firewall_logdeny: Boolean (YES/NO) specifying if the # default denied packets should be # logged (in /var/log/security). # firewall_nologports: List of TCP/UDP ports for which # denied incomming packets are not # logged. - # firewall_trusted_ipv6: List of IPv6s which has full access - # to this host. Be very carefull - # when setting this. This option can - # seriously degrade the level of - # protection provided by the firewall. # Allow packets for which a state has been built. ${fwcmd} add check-state ==== //depot/projects/fdt/gnu/usr.bin/gdb/Makefile#4 (text+ko) ==== @@ -1,10 +1,9 @@ -# $FreeBSD: src/gnu/usr.bin/gdb/Makefile,v 1.16 2010/03/26 19:40:53 marcel Exp $ +# $FreeBSD: src/gnu/usr.bin/gdb/Makefile,v 1.17 2010/04/12 23:35:58 imp Exp $ SUBDIR= doc libgdb gdb gdbtui kgdb TARGET_ARCH?= ${MACHINE_ARCH} -.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "arm" || \ - ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "powerpc" +.if exists(${.CURDIR}/gdbserver/reg-${TARGET_ARCH}.c) SUBDIR+=gdbserver .endif ==== //depot/projects/fdt/lib/libc/softfloat/softfloat-specialize#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: softfloat-specialize,v 1.3 2002/05/12 13:12:45 bjh21 Exp $ */ -/* $FreeBSD: src/lib/libc/softfloat/softfloat-specialize,v 1.1 2004/05/14 12:13:04 cognet Exp $ */ +/* $FreeBSD: src/lib/libc/softfloat/softfloat-specialize,v 1.3 2010/04/11 21:22:02 marius Exp $ */ /* This is a derivative work. */ @@ -44,7 +44,11 @@ #ifdef SOFTFLOAT_FOR_GCC static #endif +#ifdef __sparc64__ +int8 float_detect_tininess = float_tininess_before_rounding; +#else int8 float_detect_tininess = float_tininess_after_rounding; +#endif /* ------------------------------------------------------------------------------- ==== //depot/projects/fdt/lib/libc/sys/sigaction.2#2 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94 -.\" $FreeBSD: src/lib/libc/sys/sigaction.2,v 1.58 2007/01/09 00:28:15 imp Exp $ +.\" $FreeBSD: src/lib/libc/sys/sigaction.2,v 1.59 2010/04/13 08:56:03 kib Exp $ .\" -.Dd June 7, 2004 +.Dd April 13, 2010 .Dt SIGACTION 2 .Os .Sh NAME @@ -42,7 +42,7 @@ struct sigaction { union { void (*__sa_handler)(int); - void (*__sa_sigaction)(int, struct __siginfo *, void *); + void (*__sa_sigaction)(int, siginfo_t *, void *); } __sigaction_u; /* signal handler */ int sa_flags; /* see signal options below */ sigset_t sa_mask; /* signal mask to apply */ ==== //depot/projects/fdt/release/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.951 2010/01/02 12:37:54 nyan Exp $ +# $FreeBSD: src/release/Makefile,v 1.953 2010/04/09 14:27:17 kensmith Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] [SVNROOT=svn://svn.freebsd.org/base] \ @@ -171,7 +171,7 @@ # # Doing 'make index' in /usr/ports requires Perl. -MAKEINDEXPORTS= lang/perl5.8 +MAKEINDEXPORTS= lang/perl5.10 DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by release procedures. .if defined(DOCDISTFILES) @@ -575,7 +575,7 @@ echo " for i in ${MAKEINDEXPORTS}" >> ${_MK} echo " do" >> ${_MK} echo " cd /usr/ports/\$${i}" >> ${_MK} - echo " env -i FTP_PASSIVE_MODE=$${FTP_PASSIVE_MODE:-no} PATH=$${PATH} \\" >> ${_MK} + echo " env -i HTTP_PROXY=$${HTTP_PROXY} FTP_PROXY=$${FTP_PROXY} FTP_PASSIVE_MODE=$${FTP_PASSIVE_MODE:-no} PATH=$${PATH} \\" >> ${_MK} echo " make all install clean BATCH=yes FORCE_PKG_REGISTER=yes" >> ${_MK} echo " done" >> ${_MK} echo " cd /usr/ports" >> ${_MK} ==== //depot/projects/fdt/release/Makefile.inc.docports#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile.inc.docports,v 1.28 2008/09/06 10:12:52 jhay Exp $ +# $FreeBSD: src/release/Makefile.inc.docports,v 1.29 2010/04/09 14:27:17 kensmith Exp $ # # List of (dependent) ports that are minimally required to be # checked out from CVS in order to get ${DOCPORTS} built and @@ -81,5 +81,5 @@ ports/textproc/p5-PodParser .else MINIMALDOCPORTS+= \ - ports/lang/perl5.8 + ports/lang/perl5.10 .endif ==== //depot/projects/fdt/sbin/geom/class/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sbin/geom/class/Makefile,v 1.17 2010/01/16 09:52:49 trasz Exp $ +# $FreeBSD: src/sbin/geom/class/Makefile,v 1.18 2010/04/12 16:37:45 luigi Exp $ .include @@ -15,6 +15,7 @@ SUBDIR+=nop SUBDIR+=part SUBDIR+=raid3 +SUBDIR+=sched SUBDIR+=shsec SUBDIR+=stripe SUBDIR+=virstor ==== //depot/projects/fdt/sbin/ipfw/main.c#3 (text+ko) ==== @@ -17,7 +17,7 @@ * * Command line interface for IP firewall facility * - * $FreeBSD: src/sbin/ipfw/main.c,v 1.5 2010/03/04 16:54:56 luigi Exp $ + * $FreeBSD: src/sbin/ipfw/main.c,v 1.6 2010/04/12 08:27:53 luigi Exp $ */ #include @@ -553,11 +553,11 @@ } while (fgets(buf, BUFSIZ, f)) { /* read commands */ - char linename[10]; + char linename[20]; char *args[2]; lineno++; - sprintf(linename, "Line %d", lineno); + snprintf(linename, sizeof(linename), "Line %d", lineno); setprogname(linename); /* XXX */ args[0] = progname; args[1] = buf; ==== //depot/projects/fdt/share/man/man4/splash.4#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" (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/share/man/man4/splash.4,v 1.28 2006/05/17 09:33:06 phk Exp $ +.\" $FreeBSD: src/share/man/man4/splash.4,v 1.29 2010/04/07 18:04:25 jkim Exp $ .\" -.Dd January 15, 2006 +.Dd April 7, 2010 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 14 03:31:39 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83BBD1065672; Wed, 14 Apr 2010 03:31:39 +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 4212D106564A; Wed, 14 Apr 2010 03:31:39 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id EF5438FC0C; Wed, 14 Apr 2010 03:31:38 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.3/8.14.3) id o3E3VmG0040487; Wed, 14 Apr 2010 03:31:48 GMT (envelope-from kientzle@freebsd.org) Received: from horton.x.kientzle.com (fw2.kientzle.com [10.123.1.2]) by kientzle.com with SMTP id wsfgyxjj528wxh59iwiw3wxite; Wed, 14 Apr 2010 03:31:47 +0000 (UTC) (envelope-from kientzle@freebsd.org) Message-ID: <4BC53714.80805@freebsd.org> Date: Tue, 13 Apr 2010 20:31:32 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.23) Gecko/20100314 SeaMonkey/1.1.18 MIME-Version: 1.0 To: Garrett Cooper References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , Florent Thoumie Subject: Re: PERFORCE change 176831 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, 14 Apr 2010 03:31:39 -0000 >> ... I would also put in a simple verification >> that the entry you found is a regular entry: >> archive_entry_filetype(entry) == AE_IFREG > > Ok. What does a regular entry correspond to (I assume not a regular file)? Sorry, "regular entry" == "regular file" (or at least, what will become a regular file once you write it to disk, if you want to be really pedantic about it ;-). Coincidentally, AE_IFREG == S_IFREG. The separate AE_IFxxx constants are there mostly portability shims (e.g., Windows doesn't have block devices, so doesn't define S_IFBLK, but AE_IFBLK is always available). >>> + * NOTE: the exit code is 0 / 1 so that this can be fed directly into >>> exit >>> + * when doing piped tar commands for copying hierarchies *hint*, *hint*. >> Why do you want to copy hierarchies? >> Seems a waste of disk bandwidth. *hint* *hint* ;-) > > There's a fair amount of tar cpf - -C . | tar xpf - -C > in libinstall . This is being done to preserve file attributes, > fflags, modes, ownership, permissions, etc. ... > Installing directly to hierarchies works in theory as well, but it's > considerably more dangerous unless you do an information transfer > between the pkg contents and the install base, and unfortunately that > is tough to achieve with 100% clarity from what I've seen. That's exactly what I was getting to: Someday, pkg_add should write the files directly to their final location and avoid the copy. (You're exactly right that you don't want to build a "copy tree" facility.) Clearly, direct install is not something you want to tackle in this stage of the rewrite. There's a lot of gains from exactly what you're doing. But I really do believe that single-pass direct install is feasible and is eventually where we want to be. The key insight for me was when Florent recently pointed out that you could just read the +CONTENTS, then do a verify pass, then extract everything. (Any conflict during the extraction pass would be a fatal error: delete everything extracted so far and scream loudly.) Dealing with dependent packages is still a little tricky but I think it's all doable. > I saw that in the original comments and while I think that you have a > point, I still am leery about someone specifying a package with > contents that start with + because it immediately breaks the > assumption. ... Unless I'm mistaken, pkg_add has used "+*" to identify metadata files for a long time, so I think your own argument from compatibility might be against you here. (Though I suspect that you're right in the long term that we should be obeying the +CONTENTS declarations instead of using filename conventions.) > unpack_file, blah with the appropriate metadata filenames considering > that it's a lot quicker than having to go through the entire tarball > end to end (especially if it's a large tarfile like openoffice), > unless someone unfortunately put the files at the end of the tarball > (in that case they do need to modify how the package is created). As for the speed argument: Do you really need to extract the metadata files before you extract everything else? Those files are going to a different place, but that's not an issue with a libarchive-driven extraction. At one point, I had convinced myself that you could do it all in one pass, just writing the files to different places depending on whether they were metadata files (however identified) or not. I recall, for example, that the +MTREE file needs to be used only at the end of the extraction (to fix-up permissions). > Thanks again for the comments :)... it would be helpful BTW if the > manpages linked together because archive_read(3) doesn't reference the > archive_read_disk(3) APIs, etc, so I kind of have to fish for the > right APIs to use, and I feel like I'm catching more boots than fish > sometimes... but it's a learning experience and I don't expect to get > it right the first time. Please let me know any doc shortcomings; the documentation could use a lot of work, I know. I also have a growing Examples page on the libarchive Wiki and conversations like this help me a lot to better understand what needs to go there. Cheers, Tim From owner-p4-projects@FreeBSD.ORG Wed Apr 14 07:53:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 27D3F1065675; Wed, 14 Apr 2010 07:53: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 DF5A2106566C; Wed, 14 Apr 2010 07:53:26 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id 6B3058FC08; Wed, 14 Apr 2010 07:53:26 +0000 (UTC) Received: by gyh20 with SMTP id 20so4307418gyh.13 for ; Wed, 14 Apr 2010 00:53:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=rQPF3W9HjT8EZun9YCsrQsSHWpmg732dXEPKJzW+LDQ=; b=ZQDQjIFTc0v98Hk2yVe8Cku9MyXDiJFl0r37sJ+qUINxR8KwxoSQ7Fxvz7jAO0OAVQ g5H6gdVzZgEQYDhIyF6k5HeCz6cAJH+yWxlBpcipXQDQqoC9GCLuE4kqWvXXSZcQarP/ +rDVwJad7kS6wxuUIJ+6DzpPq5Kw09U7pjCVE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=mxiwC2aKM4eAA7Qysvx/qnyolek+Zx3Xgi2hqDld9VasAK+EEXzatWF58CoZSRI12i oC64RQ040uYLvGskxlwEu+WwkOLOEOQT/AJuEu/oYSgFSqsjMLgOBdpB390EMztzye3i uV5IVHaUntJcWQgc4nofYRWq8B/H77L+rpMKM= MIME-Version: 1.0 Sender: yanegomi@gmail.com Received: by 10.231.183.17 with HTTP; Wed, 14 Apr 2010 00:53:25 -0700 (PDT) In-Reply-To: <4BC53714.80805@freebsd.org> References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> <4BC53714.80805@freebsd.org> Date: Wed, 14 Apr 2010 00:53:25 -0700 X-Google-Sender-Auth: 8e615d700fe31493 Received: by 10.150.236.15 with SMTP id j15mr6854976ybh.233.1271231605873; Wed, 14 Apr 2010 00:53:25 -0700 (PDT) Message-ID: From: Garrett Cooper To: Tim Kientzle Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: David Forsythe , Perforce Change Reviews , Florent Thoumie Subject: Re: PERFORCE change 176831 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, 14 Apr 2010 07:53:27 -0000 On Tue, Apr 13, 2010 at 8:31 PM, Tim Kientzle wrote: >>> ... I would also put in a simple verification >>> that the entry you found is a regular entry: >>> =A0archive_entry_filetype(entry) =3D=3D AE_IFREG >> >> Ok. What does a regular entry correspond to (I assume not a regular file= )? > > Sorry, "regular entry" =3D=3D "regular file" (or at least, what > will become a regular file once you write it to disk, if you > want to be really pedantic about it ;-). =A0Coincidentally, > AE_IFREG =3D=3D S_IFREG. =A0The separate AE_IFxxx constants > are there mostly portability shims (e.g., Windows doesn't > have block devices, so doesn't define S_IFBLK, > but AE_IFBLK is always available). Ok. I think I got everything you were trying to say before, but just to be clear: To prevent race conditions [with regular files only], I should use open(2). For all other files I would use the standard extract method (so I don't get too fancy?). It seems like the file creation times should be sufficiently fast with other file types that this kind of behavior of open(2), blah wouldn't be required. >>>> + * NOTE: the exit code is 0 / 1 so that this can be fed directly into >>>> exit >>>> + * when doing piped tar commands for copying hierarchies *hint*, >>>> *hint*. >>> >>> Why do you want to copy hierarchies? >>> Seems a waste of disk bandwidth. =A0*hint* *hint* ;-) >> >> There's a fair amount of tar cpf - -C . | tar xpf - -C >> in libinstall . This is being done to preserve file attributes, >> fflags, modes, ownership, permissions, etc. ... Installing directly to >> hierarchies works in theory as well, but it's >> considerably more dangerous unless you do an information transfer >> between the pkg contents and the install base, and unfortunately that >> is tough to achieve with 100% clarity from what I've seen. > > That's exactly what I was getting to: =A0Someday, pkg_add > should write the files directly to their final location > and avoid the copy. =A0(You're exactly right that you > don't want to build a "copy tree" facility.) > > Clearly, direct install is not something you want to > tackle in this stage of the rewrite. =A0There's a lot of > gains from exactly what you're doing. Yeah, I've been thinking about what you said... and there's ultimately nothing to be gained through a staged install (in fact there's a lot lost). So unless two files overwrite one another (which suggest broken or conflicting packages, or not so clever users), people shouldn't be installing conflicting packages or partially installing multiple versions of the same package unless they're using -f, and if they're doing that, they're basically damning the consequences of doing so. Until we have functional tests in place to actually test this though, I need to stick with a conservative, functional analog to piped tar(1)'ing though. > But I really do believe that single-pass direct > install is feasible and is eventually where we want > to be. =A0The key insight for me was when Florent recently > pointed out that you could just read the +CONTENTS, > then do a verify pass, then extract everything. > (Any conflict during the extraction pass > would be a fatal error: =A0delete everything > extracted so far and scream loudly.) Agreed on the final point. I'm kind of interested though about the first point -- the verify pass -- are you verifying that the contents are sane on the disk or in the tarball? If so, why not just verify the contents after the fact [with mtree -- it's has checksumming, mode and permissions checking, you name it... everything minus some special facilities like ACLs, fflags, etc -- I guess I'll need to add those], then roll everything back if it isn't? One the entire operation is atomic and exclusive -- only one package operation is allowed to run at any given time on a particular package, running into this problem with the packaging software will be a non-issue, but instead a problem with an external source (user, etc), or a bad package. > Dealing with dependent packages is still > a little tricky but I think it's all doable. Yeah, there's a crapload of overlap between multiple packages, like cad-salome, and with some packages where you're need to build up a hierarchy that's common between several packages, it becomes a royal pain in the ass, but it's required otherwise stuff won't get setup and torn down properly. So I'm guessing for right now we should just avoid squealing loudly except with regular files; maybe whining a bit with non-regular files would be a good idea though because it would force people to clean up packages, and then things could be completely fixed later on so that they're hard errors. >> I saw that in the original comments and while I think that you have a >> point, I still am leery about someone specifying a package with >> contents that start with + because it immediately breaks the >> assumption. ... > > Unless I'm mistaken, pkg_add has used "+*" to identify > metadata files for a long time, so I think your own > argument from compatibility might be against you here. > (Though I suspect that you're right in the long term that > we should be obeying the +CONTENTS declarations instead of > using filename conventions.) I still want to avoid this potential corner case. Users have an incapability to surprise developers, and I don't want to have to deal with this item in the future. A few less CPU cycles processing strings is worth sacrificing over trying to be clever and producing a broken program. >> unpack_file, blah with the appropriate metadata filenames considering >> that it's a lot quicker than having to go through the entire tarball >> end to end (especially if it's a large tarfile like openoffice), >> unless someone unfortunately put the files at the end of the tarball >> (in that case they do need to modify how the package is created). > > As for the speed argument: =A0Do you really need to > extract the metadata files before you extract > everything else? =A0Those files are going to a > different place, but that's not an issue with a > libarchive-driven extraction. =A0At one point, I had > convinced myself that you could do it all in one > pass, just writing the files to different places > depending on whether they were metadata files > (however identified) or not. =A0I recall, for example, > that the +MTREE file needs to be used only at the > end of the extraction (to fix-up permissions). Yes. pkg_info's primary uses (not -W) read the metadata if the metadata isn't on the disk already in $PKGDBDIR; it's an optimization, and I don't want to reduce performance in pkg_info. Other than that, pkg_install really doesn't care one iota about those files (minus +CONTENTS). >> Thanks again for the comments :)... it would be helpful BTW if the >> manpages linked together because archive_read(3) doesn't reference the >> archive_read_disk(3) APIs, etc, so I kind of have to fish for the >> right APIs to use, and I feel like I'm catching more boots than fish >> sometimes... but it's a learning experience and I don't expect to get >> it right the first time. > > Please let me know any doc shortcomings; the documentation > could use a lot of work, I know. =A0I also have a growing > Examples page on the libarchive Wiki and conversations > like this help me a lot to better understand what needs > to go there. Will definitely help whenever I can :). Also, getting back to a topic you mentioned earlier, the issue with creating the decompressor multiple times can be alleviated like so: Make the basic extract API follow a format like so: struct package_archive; struct package_archive { /* * File descriptor for the archive. Set to NULL if you don't want to reuse the * descriptor, i.e. want to only use the initializer once. */ int *pkg_fd; /* * Compare a package filename vs an expression. * * Could be a small wrapper above fnmatch (for simple glob expressions)= , * strncmp (for exact matches -- would be set to PATH_MAX), glob(3), or it could * always return 0 (for match all). Would return 0 if the files matched, non-zero * if they didn't match. * * This would help us avoid hardcoding and at the small cost of a stack * push, pop, the additional overhead would be fairly negligible I woul= d * think, and could potentially be optimized out using a smart compiler= From owner-p4-projects@FreeBSD.ORG Wed Apr 14 07:56:26 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 792751065676; Wed, 14 Apr 2010 07:56:26 +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 3BF281065670; Wed, 14 Apr 2010 07:56:26 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id A9B2D8FC0A; Wed, 14 Apr 2010 07:56:25 +0000 (UTC) Received: by gyh20 with SMTP id 20so4308425gyh.13 for ; Wed, 14 Apr 2010 00:56:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=QaEzGGRrJkhDuRoYAkoNBQzw7t3rzG0b81oSAP1RiRA=; b=RODBhp+X70zboqLTGZUVHBNNW5PmkMDJv+7P7sGTdL3nuoDeC8ZnZLNX6V4sbCR/oJ q+Uu0KiDDJVQWPOle55vquiigg7/4Ux10vdHrIrtqeNwop2vfh1G1E3aT8fLu7aj69VB R38RrWmi75Rh2vX9sP4ItlaNfhS+l6yhdSQOA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=KeOLlxnq38pJgADhK3P+X3wpGrJM5VPxy2Hwz+jtJBryLUN+7aU02rwtGvOklETCiJ L98pVOGDB7jKXSIvP+KVr2ZdIaVjFYnn983e27Oa1P5lupQm2EZGTXDjlxJkuJFXpAEN /iQYXPZr2NoOeA8PK9j8QvjpIndJNOyRHZh8A= MIME-Version: 1.0 Sender: yanegomi@gmail.com Received: by 10.231.183.17 with HTTP; Wed, 14 Apr 2010 00:56:22 -0700 (PDT) In-Reply-To: References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> <4BC53714.80805@freebsd.org> Date: Wed, 14 Apr 2010 00:56:22 -0700 X-Google-Sender-Auth: 9aca1ff85600f2b9 Received: by 10.101.183.23 with SMTP id k23mr12678219anp.160.1271231782739; Wed, 14 Apr 2010 00:56:22 -0700 (PDT) Message-ID: From: Garrett Cooper To: Garrett Cooper Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: David Forsythe , Florent Thoumie , Tim Kientzle , Perforce Change Reviews Subject: Re: PERFORCE change 176831 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, 14 Apr 2010 07:56:26 -0000 On Wed, Apr 14, 2010 at 12:53 AM, Garrett Cooper wrot= e: > On Tue, Apr 13, 2010 at 8:31 PM, Tim Kientzle wrot= e: >>>> ... I would also put in a simple verification >>>> that the entry you found is a regular entry: >>>> =A0archive_entry_filetype(entry) =3D=3D AE_IFREG >>> >>> Ok. What does a regular entry correspond to (I assume not a regular fil= e)? >> >> Sorry, "regular entry" =3D=3D "regular file" (or at least, what >> will become a regular file once you write it to disk, if you >> want to be really pedantic about it ;-). =A0Coincidentally, >> AE_IFREG =3D=3D S_IFREG. =A0The separate AE_IFxxx constants >> are there mostly portability shims (e.g., Windows doesn't >> have block devices, so doesn't define S_IFBLK, >> but AE_IFBLK is always available). > > Ok. I think I got everything you were trying to say before, but just > to be clear: > > To prevent race conditions [with regular files only], I should use > open(2). For all other files I would use the standard extract method > (so I don't get too fancy?). It seems like the file creation times > should be sufficiently fast with other file types that this kind of > behavior of open(2), blah wouldn't be required. > >>>>> + * NOTE: the exit code is 0 / 1 so that this can be fed directly int= o >>>>> exit >>>>> + * when doing piped tar commands for copying hierarchies *hint*, >>>>> *hint*. >>>> >>>> Why do you want to copy hierarchies? >>>> Seems a waste of disk bandwidth. =A0*hint* *hint* ;-) >>> >>> There's a fair amount of tar cpf - -C . | tar xpf - -C >>> in libinstall . This is being done to preserve file attributes, >>> fflags, modes, ownership, permissions, etc. ... Installing directly to >>> hierarchies works in theory as well, but it's >>> considerably more dangerous unless you do an information transfer >>> between the pkg contents and the install base, and unfortunately that >>> is tough to achieve with 100% clarity from what I've seen. >> >> That's exactly what I was getting to: =A0Someday, pkg_add >> should write the files directly to their final location >> and avoid the copy. =A0(You're exactly right that you >> don't want to build a "copy tree" facility.) >> >> Clearly, direct install is not something you want to >> tackle in this stage of the rewrite. =A0There's a lot of >> gains from exactly what you're doing. > > Yeah, I've been thinking about what you said... and there's ultimately > nothing to be gained through a staged install (in fact there's a lot > lost). So unless two files overwrite one another (which suggest broken > or conflicting packages, or not so clever users), people shouldn't be > installing conflicting packages or partially installing multiple > versions of the same package unless they're using -f, and if they're > doing that, they're basically damning the consequences of doing so. > > Until we have functional tests in place to actually test this though, > I need to stick with a conservative, functional analog to piped > tar(1)'ing though. > >> But I really do believe that single-pass direct >> install is feasible and is eventually where we want >> to be. =A0The key insight for me was when Florent recently >> pointed out that you could just read the +CONTENTS, >> then do a verify pass, then extract everything. >> (Any conflict during the extraction pass >> would be a fatal error: =A0delete everything >> extracted so far and scream loudly.) > > Agreed on the final point. I'm kind of interested though about the > first point -- the verify pass -- are you verifying that the contents > are sane on the disk or in the tarball? If so, why not just verify the > contents after the fact [with mtree -- it's has checksumming, mode and > permissions checking, you name it... everything minus some special > facilities like ACLs, fflags, etc -- I guess I'll need to add those], > then roll everything back if it isn't? > > One the entire operation is atomic and exclusive -- only one package > operation is allowed to run at any given time on a particular package, > running into this problem with the packaging software will be a > non-issue, but instead a problem with an external source (user, etc), > or a bad package. > >> Dealing with dependent packages is still >> a little tricky but I think it's all doable. > > Yeah, there's a crapload of overlap between multiple packages, like > cad-salome, and with some packages where you're need to build up a > hierarchy that's common between several packages, it becomes a royal > pain in the ass, but it's required otherwise stuff won't get setup and > torn down properly. > > So I'm guessing for right now we should just avoid squealing loudly > except with regular files; maybe whining a bit with non-regular files > would be a good idea though because it would force people to clean up > packages, and then things could be completely fixed later on so that > they're hard errors. > >>> I saw that in the original comments and while I think that you have a >>> point, I still am leery about someone specifying a package with >>> contents that start with + because it immediately breaks the >>> assumption. ... >> >> Unless I'm mistaken, pkg_add has used "+*" to identify >> metadata files for a long time, so I think your own >> argument from compatibility might be against you here. >> (Though I suspect that you're right in the long term that >> we should be obeying the +CONTENTS declarations instead of >> using filename conventions.) > > I still want to avoid this potential corner case. Users have an > incapability to surprise developers, and I don't want to have to deal s/in/unerring / > with this item in the future. A few less CPU cycles processing strings > is worth sacrificing over trying to be clever and producing a broken > program. > >>> unpack_file, blah with the appropriate metadata filenames considering >>> that it's a lot quicker than having to go through the entire tarball >>> end to end (especially if it's a large tarfile like openoffice), >>> unless someone unfortunately put the files at the end of the tarball >>> (in that case they do need to modify how the package is created). >> >> As for the speed argument: =A0Do you really need to >> extract the metadata files before you extract >> everything else? =A0Those files are going to a >> different place, but that's not an issue with a >> libarchive-driven extraction. =A0At one point, I had >> convinced myself that you could do it all in one >> pass, just writing the files to different places >> depending on whether they were metadata files >> (however identified) or not. =A0I recall, for example, >> that the +MTREE file needs to be used only at the >> end of the extraction (to fix-up permissions). > > Yes. pkg_info's primary uses (not -W) read the metadata if the > metadata isn't on the disk already in $PKGDBDIR; it's an optimization, > and I don't want to reduce performance in pkg_info. > > Other than that, pkg_install really doesn't care one iota about those > files (minus +CONTENTS). > >>> Thanks again for the comments :)... it would be helpful BTW if the >>> manpages linked together because archive_read(3) doesn't reference the >>> archive_read_disk(3) APIs, etc, so I kind of have to fish for the >>> right APIs to use, and I feel like I'm catching more boots than fish >>> sometimes... but it's a learning experience and I don't expect to get >>> it right the first time. >> >> Please let me know any doc shortcomings; the documentation >> could use a lot of work, I know. =A0I also have a growing >> Examples page on the libarchive Wiki and conversations >> like this help me a lot to better understand what needs >> to go there. > > Will definitely help whenever I can :). > > Also, getting back to a topic you mentioned earlier, the issue with > creating the decompressor multiple times can be alleviated like so: > > Make the basic extract API follow a format like so: > > struct package_archive; > > struct package_archive { > =A0 =A0/* > =A0 =A0 * File descriptor for the archive. Set to NULL if you don't want > to reuse the > =A0 =A0 * descriptor, i.e. want to only use the initializer once. > =A0 =A0 */ > =A0 =A0int *pkg_fd; > =A0 =A0/* > =A0 =A0 * Compare a package filename vs an expression. > =A0 =A0 * > =A0 =A0 * Could be a small wrapper above fnmatch (for simple glob express= ions), > =A0 =A0 * strncmp (for exact matches -- would be set to PATH_MAX), > glob(3), or it could > =A0 =A0 * always return 0 (for match all). Would return 0 if the files > matched, non-zero > =A0 =A0 * if they didn't match. > =A0 =A0 * > =A0 =A0 * This would help us avoid hardcoding and at the small cost of a = stack > =A0 =A0 * push, pop, the additional overhead would be fairly negligible I= would > =A0 =A0 * think, and could potentially be optimized out using a smart com= piler. > =A0 =A0 */ > =A0 =A0int (*pkg_file_comparator) (const struct *package_archive, const c= har *); > }; > > =A0 =A0I'd need to develop new and free `methods', but that's the general > idea I had in mind. > Thanks! > -Garrett > From owner-p4-projects@FreeBSD.ORG Wed Apr 14 08:00:20 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2386D1065678; Wed, 14 Apr 2010 08:00:20 +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 C2CD91065673; Wed, 14 Apr 2010 08:00:19 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-iw0-f171.google.com (mail-iw0-f171.google.com [209.85.223.171]) by mx1.freebsd.org (Postfix) with ESMTP id 5597C8FC1F; Wed, 14 Apr 2010 08:00:19 +0000 (UTC) Received: by iwn1 with SMTP id 1so3168131iwn.27 for ; Wed, 14 Apr 2010 01:00:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=u+BErZw6CTxCYLU3v4bff5Q4EwNLg0pqtNLpCOuibTM=; b=bTtvmkKC5Z7DX3FUcufv035o9WzQnHlfDX3am+jhhjv2WpIxbTtxkBrZtturOHNa+f EAwSLhP4VRAFiFlooooRJP8N1HZ7FiBq7Qpta2tht4NbDhbgKEKCni4hmiS276oQ2dmm UKHK+C15wAZRPWjj34hNUkxcjy7qZ4F2Dk1LE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=EEHfZVrFH6eYomiw5STTdeJZjofEhgSzTr+Sdwob7XUmKVkv1sbnDFwo3jEcr49o1p t7d28bKVqWxh8HJpDKNiIHkc9jOLo39QQIiIeMIZTEiLxs9W+cs33q2MeRHy5W9cbz7U LPrNX0Ugz3b8nz23VeSgdJmY+2XGBqyN1+uhQ= MIME-Version: 1.0 Sender: yanegomi@gmail.com Received: by 10.231.183.17 with HTTP; Wed, 14 Apr 2010 01:00:18 -0700 (PDT) In-Reply-To: References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> <4BC53714.80805@freebsd.org> Date: Wed, 14 Apr 2010 01:00:18 -0700 X-Google-Sender-Auth: 096e76fd92cc7a42 Received: by 10.231.151.129 with SMTP id c1mr3173584ibw.59.1271232018444; Wed, 14 Apr 2010 01:00:18 -0700 (PDT) Message-ID: From: Garrett Cooper To: Garrett Cooper Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: David Forsythe , Florent Thoumie , Tim Kientzle , Perforce Change Reviews Subject: Re: PERFORCE change 176831 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, 14 Apr 2010 08:00:20 -0000 And yet one more clerical error after I reread this... On Wed, Apr 14, 2010 at 12:56 AM, Garrett Cooper wrot= e: > On Wed, Apr 14, 2010 at 12:53 AM, Garrett Cooper wr= ote: >> On Tue, Apr 13, 2010 at 8:31 PM, Tim Kientzle wro= te: >>>>> ... I would also put in a simple verification >>>>> that the entry you found is a regular entry: >>>>> =A0archive_entry_filetype(entry) =3D=3D AE_IFREG >>>> >>>> Ok. What does a regular entry correspond to (I assume not a regular fi= le)? >>> >>> Sorry, "regular entry" =3D=3D "regular file" (or at least, what >>> will become a regular file once you write it to disk, if you >>> want to be really pedantic about it ;-). =A0Coincidentally, >>> AE_IFREG =3D=3D S_IFREG. =A0The separate AE_IFxxx constants >>> are there mostly portability shims (e.g., Windows doesn't >>> have block devices, so doesn't define S_IFBLK, >>> but AE_IFBLK is always available). >> >> Ok. I think I got everything you were trying to say before, but just >> to be clear: >> >> To prevent race conditions [with regular files only], I should use >> open(2). For all other files I would use the standard extract method >> (so I don't get too fancy?). It seems like the file creation times >> should be sufficiently fast with other file types that this kind of >> behavior of open(2), blah wouldn't be required. >> >>>>>> + * NOTE: the exit code is 0 / 1 so that this can be fed directly in= to >>>>>> exit >>>>>> + * when doing piped tar commands for copying hierarchies *hint*, >>>>>> *hint*. >>>>> >>>>> Why do you want to copy hierarchies? >>>>> Seems a waste of disk bandwidth. =A0*hint* *hint* ;-) >>>> >>>> There's a fair amount of tar cpf - -C . | tar xpf - -C >>>> in libinstall . This is being done to preserve file attributes, >>>> fflags, modes, ownership, permissions, etc. ... Installing directly to >>>> hierarchies works in theory as well, but it's >>>> considerably more dangerous unless you do an information transfer >>>> between the pkg contents and the install base, and unfortunately that >>>> is tough to achieve with 100% clarity from what I've seen. >>> >>> That's exactly what I was getting to: =A0Someday, pkg_add >>> should write the files directly to their final location >>> and avoid the copy. =A0(You're exactly right that you >>> don't want to build a "copy tree" facility.) >>> >>> Clearly, direct install is not something you want to >>> tackle in this stage of the rewrite. =A0There's a lot of >>> gains from exactly what you're doing. >> >> Yeah, I've been thinking about what you said... and there's ultimately >> nothing to be gained through a staged install (in fact there's a lot >> lost). So unless two files overwrite one another (which suggest broken >> or conflicting packages, or not so clever users), people shouldn't be >> installing conflicting packages or partially installing multiple >> versions of the same package unless they're using -f, and if they're >> doing that, they're basically damning the consequences of doing so. >> >> Until we have functional tests in place to actually test this though, >> I need to stick with a conservative, functional analog to piped >> tar(1)'ing though. >> >>> But I really do believe that single-pass direct >>> install is feasible and is eventually where we want >>> to be. =A0The key insight for me was when Florent recently >>> pointed out that you could just read the +CONTENTS, >>> then do a verify pass, then extract everything. >>> (Any conflict during the extraction pass >>> would be a fatal error: =A0delete everything >>> extracted so far and scream loudly.) >> >> Agreed on the final point. I'm kind of interested though about the >> first point -- the verify pass -- are you verifying that the contents >> are sane on the disk or in the tarball? If so, why not just verify the >> contents after the fact [with mtree -- it's has checksumming, mode and >> permissions checking, you name it... everything minus some special >> facilities like ACLs, fflags, etc -- I guess I'll need to add those], >> then roll everything back if it isn't? >> >> One the entire operation is atomic and exclusive -- only one package >> operation is allowed to run at any given time on a particular package, >> running into this problem with the packaging software will be a >> non-issue, but instead a problem with an external source (user, etc), >> or a bad package. >> >>> Dealing with dependent packages is still >>> a little tricky but I think it's all doable. >> >> Yeah, there's a crapload of overlap between multiple packages, like >> cad-salome, and with some packages where you're need to build up a >> hierarchy that's common between several packages, it becomes a royal >> pain in the ass, but it's required otherwise stuff won't get setup and >> torn down properly. >> >> So I'm guessing for right now we should just avoid squealing loudly >> except with regular files; maybe whining a bit with non-regular files >> would be a good idea though because it would force people to clean up >> packages, and then things could be completely fixed later on so that >> they're hard errors. >> >>>> I saw that in the original comments and while I think that you have a >>>> point, I still am leery about someone specifying a package with >>>> contents that start with + because it immediately breaks the >>>> assumption. ... >>> >>> Unless I'm mistaken, pkg_add has used "+*" to identify >>> metadata files for a long time, so I think your own >>> argument from compatibility might be against you here. >>> (Though I suspect that you're right in the long term that >>> we should be obeying the +CONTENTS declarations instead of >>> using filename conventions.) >> >> I still want to avoid this potential corner case. Users have an >> incapability to surprise developers, and I don't want to have to deal > > s/in/unerring / > >> with this item in the future. A few less CPU cycles processing strings >> is worth sacrificing over trying to be clever and producing a broken >> program. >> >>>> unpack_file, blah with the appropriate metadata filenames considering >>>> that it's a lot quicker than having to go through the entire tarball >>>> end to end (especially if it's a large tarfile like openoffice), >>>> unless someone unfortunately put the files at the end of the tarball >>>> (in that case they do need to modify how the package is created). >>> >>> As for the speed argument: =A0Do you really need to >>> extract the metadata files before you extract >>> everything else? =A0Those files are going to a >>> different place, but that's not an issue with a >>> libarchive-driven extraction. =A0At one point, I had >>> convinced myself that you could do it all in one >>> pass, just writing the files to different places >>> depending on whether they were metadata files >>> (however identified) or not. =A0I recall, for example, >>> that the +MTREE file needs to be used only at the >>> end of the extraction (to fix-up permissions). >> >> Yes. pkg_info's primary uses (not -W) read the metadata if the >> metadata isn't on the disk already in $PKGDBDIR; it's an optimization, >> and I don't want to reduce performance in pkg_info. >> >> Other than that, pkg_install really doesn't care one iota about those >> files (minus +CONTENTS). +CONTENTS, +REQUIRE, and +REQUIRED_BY; the other files are used at various times during the entire lifetime of installing a package (+INSTALL, +MTREE_DIRS, +POST-DEINSTALL, etc) or inspecting a package (+COMMENTS, +DESC, etc), but they're all fairly late in the process and not nearly as critical as +CONTENTS. If +CONTENTS is gone, game over... you're just dealing with a tarball. >>>> Thanks again for the comments :)... it would be helpful BTW if the >>>> manpages linked together because archive_read(3) doesn't reference the >>>> archive_read_disk(3) APIs, etc, so I kind of have to fish for the >>>> right APIs to use, and I feel like I'm catching more boots than fish >>>> sometimes... but it's a learning experience and I don't expect to get >>>> it right the first time. >>> >>> Please let me know any doc shortcomings; the documentation >>> could use a lot of work, I know. =A0I also have a growing >>> Examples page on the libarchive Wiki and conversations >>> like this help me a lot to better understand what needs >>> to go there. >> >> Will definitely help whenever I can :). >> >> Also, getting back to a topic you mentioned earlier, the issue with >> creating the decompressor multiple times can be alleviated like so: >> >> Make the basic extract API follow a format like so: >> >> struct package_archive; >> >> struct package_archive { >> =A0 =A0/* >> =A0 =A0 * File descriptor for the archive. Set to NULL if you don't want >> to reuse the >> =A0 =A0 * descriptor, i.e. want to only use the initializer once. >> =A0 =A0 */ >> =A0 =A0int *pkg_fd; >> =A0 =A0/* >> =A0 =A0 * Compare a package filename vs an expression. >> =A0 =A0 * >> =A0 =A0 * Could be a small wrapper above fnmatch (for simple glob expres= sions), >> =A0 =A0 * strncmp (for exact matches -- would be set to PATH_MAX), >> glob(3), or it could >> =A0 =A0 * always return 0 (for match all). Would return 0 if the files >> matched, non-zero >> =A0 =A0 * if they didn't match. >> =A0 =A0 * >> =A0 =A0 * This would help us avoid hardcoding and at the small cost of a= stack >> =A0 =A0 * push, pop, the additional overhead would be fairly negligible = I would >> =A0 =A0 * think, and could potentially be optimized out using a smart co= mpiler. >> =A0 =A0 */ >> =A0 =A0int (*pkg_file_comparator) (const struct *package_archive, const = char *); >> }; >> >> =A0 =A0I'd need to develop new and free `methods', but that's the genera= l >> idea I had in mind. >> Thanks! >> -Garrett >> > From owner-p4-projects@FreeBSD.ORG Wed Apr 14 11:24:05 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6568D1065675; Wed, 14 Apr 2010 11:24: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 10EA31065672 for ; Wed, 14 Apr 2010 11:24:05 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F2B5F8FC14 for ; Wed, 14 Apr 2010 11:24:04 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3EBO4o6013890 for ; Wed, 14 Apr 2010 11:24:04 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3EBO4CI013888 for perforce@freebsd.org; Wed, 14 Apr 2010 11:24:04 GMT (envelope-from raj@freebsd.org) Date: Wed, 14 Apr 2010 11:24:04 GMT Message-Id: <201004141124.o3EBO4CI013888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Apr 2010 11:24:05 -0000 http://p4web.freebsd.org/@@176892?ac=10 Change 176892 by raj@raj_fdt on 2010/04/14 11:23:50 Clean up PCI-Express regs definitions and usage. LTSSM is MPC85XX PCI-E specific, so make it local to the pcib back-end driver. Pointed out by: jhb Affected files ... .. //depot/projects/fdt/sys/dev/pci/pcireg.h#4 edit .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 edit Differences ... ==== //depot/projects/fdt/sys/dev/pci/pcireg.h#4 (text+ko) ==== @@ -218,17 +218,6 @@ #define PCIR_PCCARDIF_2 0x44 - -/* PCIE registers */ -#define PCIR_DCR 0x54 -#define PCIM_DCR_URR 0x0008 -#define PCIM_DCR_FER 0x0004 -#define PCIM_DCR_NFER 0x0002 -#define PCIR_DSR 0x56 -#define PCIR_LTSSM 0x404 -#define PCIM_LTSSM_L0 0x16 - - /* PCI device class, subclass and programming interface definitions */ #define PCIC_OLD 0x00 @@ -616,6 +605,9 @@ #define PCIR_EXPRESS_DEVICE_CAP 0x4 #define PCIM_EXP_CAP_MAX_PAYLOAD 0x0007 #define PCIR_EXPRESS_DEVICE_CTL 0x8 +#define PCIM_EXP_CTL_NFER_ENABLE 0x0002 +#define PCIM_EXP_CTL_FER_ENABLE 0x0004 +#define PCIM_EXP_CTL_URR_ENABLE 0x0008 #define PCIM_EXP_CTL_RELAXED_ORD_ENABLE 0x0010 #define PCIM_EXP_CTL_MAX_PAYLOAD 0x00e0 #define PCIM_EXP_CTL_NOSNOOP_ENABLE 0x0800 ==== //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 (text+ko) ==== @@ -90,6 +90,9 @@ #define REG_PEX_ERR_DR 0x0e00 #define REG_PEX_ERR_EN 0x0e08 +#define PCIR_LTSSM 0x404 +#define LTSSM_STAT_L0 0x16 + #define DEVFN(b, s, f) ((b << 16) | (s << 8) | f) struct fsl_pcib_softc { @@ -113,6 +116,7 @@ int sc_busnr; int sc_pcie; + uint8_t sc_pcie_capreg; /* PCI-E Capability Reg Set */ /* Devices that need special attention. */ int sc_devfn_tundra; @@ -236,8 +240,7 @@ phandle_t node; uint32_t cfgreg; int maxslot, subbus; - uint8_t ltssm; - uint8_t capptr; + uint8_t ltssm, capptr; sc = device_get_softc(dev); sc->sc_dev = dev; @@ -270,6 +273,7 @@ break; case PCIY_EXPRESS: sc->sc_pcie = 1; + sc->sc_pcie_capreg = capptr; break; } capptr = (cfgreg >> 8) & 0xff; @@ -318,7 +322,7 @@ if (sc->sc_pcie) { ltssm = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_LTSSM, 1); - if (ltssm < PCIM_LTSSM_L0) { + if (ltssm < LTSSM_STAT_L0) { if (bootverbose) printf("PCI %d: no PCIE link, skipping\n", device_get_unit(dev)); @@ -885,18 +889,25 @@ bus_space_write_4(sc->sc_bst, sc->sc_bsh, REG_PEX_ERR_DR, 0xffffffff); - dsr = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_DSR, 2); + dsr = fsl_pcib_cfgread(sc, 0, 0, 0, + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_STA, 2); if (dsr) - fsl_pcib_cfgwrite(sc, 0, 0, 0, PCIR_DSR, 0xffff, 2); + fsl_pcib_cfgwrite(sc, 0, 0, 0, + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_STA, + 0xffff, 2); /* Enable all errors reporting */ err_en = 0x00bfff00; - bus_space_write_4(sc->sc_bst, sc->sc_bsh, REG_PEX_ERR_EN, err_en); + bus_space_write_4(sc->sc_bst, sc->sc_bsh, REG_PEX_ERR_EN, + err_en); /* Enable error reporting: URR, FER, NFER */ - dcr = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_DCR, 4); - dcr |= PCIM_DCR_URR | PCIM_DCR_FER | PCIM_DCR_NFER; - fsl_pcib_cfgwrite(sc, 0, 0, 0, PCIR_DCR, dcr, 4); + dcr = fsl_pcib_cfgread(sc, 0, 0, 0, + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_CTL, 4); + dcr |= PCIM_EXP_CTL_URR_ENABLE | PCIM_EXP_CTL_FER_ENABLE | + PCIM_EXP_CTL_NFER_ENABLE; + fsl_pcib_cfgwrite(sc, 0, 0, 0, + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_CTL, dcr, 4); } } From owner-p4-projects@FreeBSD.ORG Wed Apr 14 13:28:30 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 679ED1065672; Wed, 14 Apr 2010 13:28: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 2A4EC106566B; Wed, 14 Apr 2010 13:28:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id F333C8FC1C; Wed, 14 Apr 2010 13:28:29 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 94F4846B85; Wed, 14 Apr 2010 09:28:29 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPA id 58D828A021; Wed, 14 Apr 2010 09:28:28 -0400 (EDT) From: John Baldwin To: Rafal Jaworowski Date: Wed, 14 Apr 2010 09:09:06 -0400 User-Agent: KMail/1.12.1 (FreeBSD/7.3-CBSD-20100217; KDE/4.3.1; amd64; ; ) References: <201004141124.o3EBO4CI013888@repoman.freebsd.org> In-Reply-To: <201004141124.o3EBO4CI013888@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201004140909.07013.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Wed, 14 Apr 2010 09:28:28 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.8 required=4.2 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 176892 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, 14 Apr 2010 13:28:30 -0000 On Wednesday 14 April 2010 7:24:04 am Rafal Jaworowski wrote: > http://p4web.freebsd.org/@@176892?ac=10 > > Change 176892 by raj@raj_fdt on 2010/04/14 11:23:50 > > Clean up PCI-Express regs definitions and usage. > > LTSSM is MPC85XX PCI-E specific, so make it local to the pcib back-end > driver. > > Pointed out by: jhb > > Affected files ... > > .. //depot/projects/fdt/sys/dev/pci/pcireg.h#4 edit > .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 edit > > Differences ... > > ==== //depot/projects/fdt/sys/dev/pci/pcireg.h#4 (text+ko) ==== > > @@ -218,17 +218,6 @@ > > #define PCIR_PCCARDIF_2 0x44 > > - > -/* PCIE registers */ > -#define PCIR_DCR 0x54 > -#define PCIM_DCR_URR 0x0008 > -#define PCIM_DCR_FER 0x0004 > -#define PCIM_DCR_NFER 0x0002 > -#define PCIR_DSR 0x56 > -#define PCIR_LTSSM 0x404 > -#define PCIM_LTSSM_L0 0x16 > - > - > /* PCI device class, subclass and programming interface definitions */ > > #define PCIC_OLD 0x00 > @@ -616,6 +605,9 @@ > #define PCIR_EXPRESS_DEVICE_CAP 0x4 > #define PCIM_EXP_CAP_MAX_PAYLOAD 0x0007 > #define PCIR_EXPRESS_DEVICE_CTL 0x8 > +#define PCIM_EXP_CTL_NFER_ENABLE 0x0002 > +#define PCIM_EXP_CTL_FER_ENABLE 0x0004 > +#define PCIM_EXP_CTL_URR_ENABLE 0x0008 > #define PCIM_EXP_CTL_RELAXED_ORD_ENABLE 0x0010 > #define PCIM_EXP_CTL_MAX_PAYLOAD 0x00e0 > #define PCIM_EXP_CTL_NOSNOOP_ENABLE 0x0800 > > ==== //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 (text+ko) ==== > > @@ -90,6 +90,9 @@ > #define REG_PEX_ERR_DR 0x0e00 > #define REG_PEX_ERR_EN 0x0e08 > > +#define PCIR_LTSSM 0x404 > +#define LTSSM_STAT_L0 0x16 I suspect that this is a PCI-e extended capability which we should properly support. I screwed up the name of pci_find_extcap(). It should probably be renamed to 'pci_find_cap()' and a new 'pci_find_extcap()' that handles PCI-e extended capabilities (which start at 0x400) should be added. > + > #define DEVFN(b, s, f) ((b << 16) | (s << 8) | f) > > struct fsl_pcib_softc { > @@ -113,6 +116,7 @@ > > int sc_busnr; > int sc_pcie; > + uint8_t sc_pcie_capreg; /* PCI-E Capability Reg Set */ > > /* Devices that need special attention. */ > int sc_devfn_tundra; > @@ -236,8 +240,7 @@ > phandle_t node; > uint32_t cfgreg; > int maxslot, subbus; > - uint8_t ltssm; > - uint8_t capptr; > + uint8_t ltssm, capptr; > > sc = device_get_softc(dev); > sc->sc_dev = dev; > @@ -270,6 +273,7 @@ > break; > case PCIY_EXPRESS: > sc->sc_pcie = 1; > + sc->sc_pcie_capreg = capptr; > break; > } > capptr = (cfgreg >> 8) & 0xff; > @@ -318,7 +322,7 @@ > > if (sc->sc_pcie) { > ltssm = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_LTSSM, 1); > - if (ltssm < PCIM_LTSSM_L0) { > + if (ltssm < LTSSM_STAT_L0) { > if (bootverbose) > printf("PCI %d: no PCIE link, skipping\n", > device_get_unit(dev)); > @@ -885,18 +889,25 @@ > bus_space_write_4(sc->sc_bst, sc->sc_bsh, REG_PEX_ERR_DR, > 0xffffffff); > > - dsr = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_DSR, 2); > + dsr = fsl_pcib_cfgread(sc, 0, 0, 0, > + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_STA, 2); > if (dsr) > - fsl_pcib_cfgwrite(sc, 0, 0, 0, PCIR_DSR, 0xffff, 2); > + fsl_pcib_cfgwrite(sc, 0, 0, 0, > + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_STA, > + 0xffff, 2); > > /* Enable all errors reporting */ > err_en = 0x00bfff00; > - bus_space_write_4(sc->sc_bst, sc->sc_bsh, REG_PEX_ERR_EN, err_en); > + bus_space_write_4(sc->sc_bst, sc->sc_bsh, REG_PEX_ERR_EN, > + err_en); > > /* Enable error reporting: URR, FER, NFER */ > - dcr = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_DCR, 4); > - dcr |= PCIM_DCR_URR | PCIM_DCR_FER | PCIM_DCR_NFER; > - fsl_pcib_cfgwrite(sc, 0, 0, 0, PCIR_DCR, dcr, 4); > + dcr = fsl_pcib_cfgread(sc, 0, 0, 0, > + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_CTL, 4); > + dcr |= PCIM_EXP_CTL_URR_ENABLE | PCIM_EXP_CTL_FER_ENABLE | > + PCIM_EXP_CTL_NFER_ENABLE; > + fsl_pcib_cfgwrite(sc, 0, 0, 0, > + sc->sc_pcie_capreg + PCIR_EXPRESS_DEVICE_CTL, dcr, 4); > } > } > > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Apr 14 13:38:27 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2847B1065670; Wed, 14 Apr 2010 13:38: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 DE4B7106564A; Wed, 14 Apr 2010 13:38:26 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id 818528FC12; Wed, 14 Apr 2010 13:38:22 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id D35EBC42D9; Wed, 14 Apr 2010 15:41:53 +0200 (CEST) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id 3Sc8uLc2iTlK; Wed, 14 Apr 2010 15:41:52 +0200 (CEST) Received: from [10.0.0.34] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id 8AA25C41E7; Wed, 14 Apr 2010 15:41:52 +0200 (CEST) Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: multipart/mixed; boundary=Apple-Mail-60-887323279 From: Rafal Jaworowski In-Reply-To: <201004140909.07013.jhb@freebsd.org> Date: Wed, 14 Apr 2010 15:38:19 +0200 Message-Id: <8198D10C-668B-40B4-8F3E-2022DDEE969C@semihalf.com> References: <201004141124.o3EBO4CI013888@repoman.freebsd.org> <201004140909.07013.jhb@freebsd.org> To: John Baldwin X-Mailer: Apple Mail (2.1078) X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 176892 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, 14 Apr 2010 13:38:27 -0000 --Apple-Mail-60-887323279 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 2010-04-14, at 15:09, John Baldwin wrote: > On Wednesday 14 April 2010 7:24:04 am Rafal Jaworowski wrote: >> http://p4web.freebsd.org/@@176892?ac=3D10 >>=20 >> Change 176892 by raj@raj_fdt on 2010/04/14 11:23:50 >>=20 >> Clean up PCI-Express regs definitions and usage. >> =09 >> LTSSM is MPC85XX PCI-E specific, so make it local to the pcib = back-end >> driver. >> =09 >> Pointed out by: jhb >>=20 >> Affected files ... >>=20 >> .. //depot/projects/fdt/sys/dev/pci/pcireg.h#4 edit >> .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 edit >>=20 >> Differences ... >>=20 >> =3D=3D=3D=3D //depot/projects/fdt/sys/dev/pci/pcireg.h#4 (text+ko) = =3D=3D=3D=3D >>=20 >> @@ -218,17 +218,6 @@ >>=20 >> #define PCIR_PCCARDIF_2 0x44 >>=20 >> - >> -/* PCIE registers */ >> -#define PCIR_DCR 0x54 >> -#define PCIM_DCR_URR 0x0008 >> -#define PCIM_DCR_FER 0x0004 >> -#define PCIM_DCR_NFER 0x0002 >> -#define PCIR_DSR 0x56 >> -#define PCIR_LTSSM 0x404 >> -#define PCIM_LTSSM_L0 0x16 >> - >> - >> /* PCI device class, subclass and programming interface definitions = */ >>=20 >> #define PCIC_OLD 0x00 >> @@ -616,6 +605,9 @@ >> #define PCIR_EXPRESS_DEVICE_CAP 0x4 >> #define PCIM_EXP_CAP_MAX_PAYLOAD 0x0007 >> #define PCIR_EXPRESS_DEVICE_CTL 0x8 >> +#define PCIM_EXP_CTL_NFER_ENABLE 0x0002 >> +#define PCIM_EXP_CTL_FER_ENABLE 0x0004 >> +#define PCIM_EXP_CTL_URR_ENABLE 0x0008 >> #define PCIM_EXP_CTL_RELAXED_ORD_ENABLE 0x0010 >> #define PCIM_EXP_CTL_MAX_PAYLOAD 0x00e0 >> #define PCIM_EXP_CTL_NOSNOOP_ENABLE 0x0800 >>=20 >> =3D=3D=3D=3D //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 = (text+ko) =3D=3D=3D=3D >>=20 >> @@ -90,6 +90,9 @@ >> #define REG_PEX_ERR_DR 0x0e00 >> #define REG_PEX_ERR_EN 0x0e08 >>=20 >> +#define PCIR_LTSSM 0x404 >> +#define LTSSM_STAT_L0 0x16 >=20 > I suspect that this is a PCI-e extended capability which we should = properly=20 > support. I screwed up the name of pci_find_extcap(). It should = probably be=20 > renamed to 'pci_find_cap()' and a new 'pci_find_extcap()' that handles = PCI-e=20 > extended capabilities (which start at 0x400) should be added. It doesn't look like. I was looking at pci_find_extcap() in the hope of = reusing the mechanism. The LTSSM one does not comply with PCI-E extended = capabilities format i.e. it doesn have the "header" with capid / = nextcap, so cannot be found in the extended cap chain starting at 0x100. = It just sticks at 0x404 offset: --Apple-Mail-60-887323279 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Rafal --Apple-Mail-60-887323279-- From owner-p4-projects@FreeBSD.ORG Wed Apr 14 13:47:04 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C924F1065674; Wed, 14 Apr 2010 13:47: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 75737106566C for ; Wed, 14 Apr 2010 13:47:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 32F028FC18 for ; Wed, 14 Apr 2010 13:47:03 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 8536846B89; Wed, 14 Apr 2010 09:47:02 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPA id B4B078A01F; Wed, 14 Apr 2010 09:47:01 -0400 (EDT) From: John Baldwin To: Rafal Jaworowski Date: Wed, 14 Apr 2010 09:46:56 -0400 User-Agent: KMail/1.12.1 (FreeBSD/7.3-CBSD-20100217; KDE/4.3.1; amd64; ; ) References: <201004141124.o3EBO4CI013888@repoman.freebsd.org> <201004140909.07013.jhb@freebsd.org> <8198D10C-668B-40B4-8F3E-2022DDEE969C@semihalf.com> In-Reply-To: <8198D10C-668B-40B4-8F3E-2022DDEE969C@semihalf.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201004140946.56425.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Wed, 14 Apr 2010 09:47:01 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.8 required=4.2 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 176892 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, 14 Apr 2010 13:47:04 -0000 On Wednesday 14 April 2010 9:38:19 am Rafal Jaworowski wrote: > > On 2010-04-14, at 15:09, John Baldwin wrote: > > > On Wednesday 14 April 2010 7:24:04 am Rafal Jaworowski wrote: > >> http://p4web.freebsd.org/@@176892?ac=10 > >> > >> Change 176892 by raj@raj_fdt on 2010/04/14 11:23:50 > >> > >> Clean up PCI-Express regs definitions and usage. > >> > >> LTSSM is MPC85XX PCI-E specific, so make it local to the pcib back-end > >> driver. > >> > >> Pointed out by: jhb > >> > >> Affected files ... > >> > >> .. //depot/projects/fdt/sys/dev/pci/pcireg.h#4 edit > >> .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 edit > >> > >> Differences ... > >> > >> ==== //depot/projects/fdt/sys/dev/pci/pcireg.h#4 (text+ko) ==== > >> > >> @@ -218,17 +218,6 @@ > >> > >> #define PCIR_PCCARDIF_2 0x44 > >> > >> - > >> -/* PCIE registers */ > >> -#define PCIR_DCR 0x54 > >> -#define PCIM_DCR_URR 0x0008 > >> -#define PCIM_DCR_FER 0x0004 > >> -#define PCIM_DCR_NFER 0x0002 > >> -#define PCIR_DSR 0x56 > >> -#define PCIR_LTSSM 0x404 > >> -#define PCIM_LTSSM_L0 0x16 > >> - > >> - > >> /* PCI device class, subclass and programming interface definitions */ > >> > >> #define PCIC_OLD 0x00 > >> @@ -616,6 +605,9 @@ > >> #define PCIR_EXPRESS_DEVICE_CAP 0x4 > >> #define PCIM_EXP_CAP_MAX_PAYLOAD 0x0007 > >> #define PCIR_EXPRESS_DEVICE_CTL 0x8 > >> +#define PCIM_EXP_CTL_NFER_ENABLE 0x0002 > >> +#define PCIM_EXP_CTL_FER_ENABLE 0x0004 > >> +#define PCIM_EXP_CTL_URR_ENABLE 0x0008 > >> #define PCIM_EXP_CTL_RELAXED_ORD_ENABLE 0x0010 > >> #define PCIM_EXP_CTL_MAX_PAYLOAD 0x00e0 > >> #define PCIM_EXP_CTL_NOSNOOP_ENABLE 0x0800 > >> > >> ==== //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 (text+ko) ==== > >> > >> @@ -90,6 +90,9 @@ > >> #define REG_PEX_ERR_DR 0x0e00 > >> #define REG_PEX_ERR_EN 0x0e08 > >> > >> +#define PCIR_LTSSM 0x404 > >> +#define LTSSM_STAT_L0 0x16 > > > > I suspect that this is a PCI-e extended capability which we should properly > > support. I screwed up the name of pci_find_extcap(). It should probably be > > renamed to 'pci_find_cap()' and a new 'pci_find_extcap()' that handles PCI-e > > extended capabilities (which start at 0x400) should be added. > > It doesn't look like. I was looking at pci_find_extcap() in the hope of reusing the mechanism. The LTSSM one does not comply with PCI-E extended capabilities format i.e. it doesn have the "header" with capid / nextcap, so cannot be found in the extended cap chain starting at 0x100. It just sticks at 0x404 offset: Oh, bah, my bad. I had thought that the extended caps started at 0x400 rather than 0x100. :) -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Apr 14 14:23:09 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9F711065670; Wed, 14 Apr 2010 14:23: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 97351106564A; Wed, 14 Apr 2010 14:23:08 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id 00A948FC24; Wed, 14 Apr 2010 14:23:07 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id 94215C42DD; Wed, 14 Apr 2010 16:26:39 +0200 (CEST) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id rl5sBdU-81Wa; Wed, 14 Apr 2010 16:26:38 +0200 (CEST) Received: from [10.0.0.34] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id CFC49C42DC; Wed, 14 Apr 2010 16:26:38 +0200 (CEST) Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: text/plain; charset=us-ascii From: Rafal Jaworowski In-Reply-To: <201004140946.56425.jhb@freebsd.org> Date: Wed, 14 Apr 2010 16:23:05 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <8607B86F-49F4-464D-9298-679A8B94A28C@semihalf.com> References: <201004141124.o3EBO4CI013888@repoman.freebsd.org> <201004140909.07013.jhb@freebsd.org> <8198D10C-668B-40B4-8F3E-2022DDEE969C@semihalf.com> <201004140946.56425.jhb@freebsd.org> To: John Baldwin X-Mailer: Apple Mail (2.1078) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 176892 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, 14 Apr 2010 14:23:09 -0000 On 2010-04-14, at 15:46, John Baldwin wrote: > On Wednesday 14 April 2010 9:38:19 am Rafal Jaworowski wrote: >>=20 >> On 2010-04-14, at 15:09, John Baldwin wrote: >>=20 >>> On Wednesday 14 April 2010 7:24:04 am Rafal Jaworowski wrote: >>>> http://p4web.freebsd.org/@@176892?ac=3D10 >>>>=20 >>>> Change 176892 by raj@raj_fdt on 2010/04/14 11:23:50 >>>>=20 >>>> Clean up PCI-Express regs definitions and usage. >>>> =09 >>>> LTSSM is MPC85XX PCI-E specific, so make it local to the pcib = back-end >>>> driver. >>>> =09 >>>> Pointed out by: jhb >>>>=20 >>>> Affected files ... >>>>=20 >>>> .. //depot/projects/fdt/sys/dev/pci/pcireg.h#4 edit >>>> .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 edit >>>>=20 >>>> Differences ... >>>>=20 >>>> =3D=3D=3D=3D //depot/projects/fdt/sys/dev/pci/pcireg.h#4 (text+ko) = =3D=3D=3D=3D >>>>=20 >>>> @@ -218,17 +218,6 @@ >>>>=20 >>>> #define PCIR_PCCARDIF_2 0x44 >>>>=20 >>>> - >>>> -/* PCIE registers */ >>>> -#define PCIR_DCR 0x54 >>>> -#define PCIM_DCR_URR 0x0008 >>>> -#define PCIM_DCR_FER 0x0004 >>>> -#define PCIM_DCR_NFER 0x0002 >>>> -#define PCIR_DSR 0x56 >>>> -#define PCIR_LTSSM 0x404 >>>> -#define PCIM_LTSSM_L0 0x16 >>>> - >>>> - >>>> /* PCI device class, subclass and programming interface definitions = */ >>>>=20 >>>> #define PCIC_OLD 0x00 >>>> @@ -616,6 +605,9 @@ >>>> #define PCIR_EXPRESS_DEVICE_CAP 0x4 >>>> #define PCIM_EXP_CAP_MAX_PAYLOAD 0x0007 >>>> #define PCIR_EXPRESS_DEVICE_CTL 0x8 >>>> +#define PCIM_EXP_CTL_NFER_ENABLE 0x0002 >>>> +#define PCIM_EXP_CTL_FER_ENABLE 0x0004 >>>> +#define PCIM_EXP_CTL_URR_ENABLE 0x0008 >>>> #define PCIM_EXP_CTL_RELAXED_ORD_ENABLE 0x0010 >>>> #define PCIM_EXP_CTL_MAX_PAYLOAD 0x00e0 >>>> #define PCIM_EXP_CTL_NOSNOOP_ENABLE 0x0800 >>>>=20 >>>> =3D=3D=3D=3D //depot/projects/fdt/sys/powerpc/mpc85xx/pci_fdt.c#4 = (text+ko) =3D=3D=3D=3D >>>>=20 >>>> @@ -90,6 +90,9 @@ >>>> #define REG_PEX_ERR_DR 0x0e00 >>>> #define REG_PEX_ERR_EN 0x0e08 >>>>=20 >>>> +#define PCIR_LTSSM 0x404 >>>> +#define LTSSM_STAT_L0 0x16 >>>=20 >>> I suspect that this is a PCI-e extended capability which we should=20= > properly=20 >>> support. I screwed up the name of pci_find_extcap(). It should = probably=20 > be=20 >>> renamed to 'pci_find_cap()' and a new 'pci_find_extcap()' that = handles=20 > PCI-e=20 >>> extended capabilities (which start at 0x400) should be added. >>=20 >> It doesn't look like. I was looking at pci_find_extcap() in the hope = of=20 > reusing the mechanism. The LTSSM one does not comply with PCI-E = extended=20 > capabilities format i.e. it doesn have the "header" with capid / = nextcap, so=20 > cannot be found in the extended cap chain starting at 0x100. It just = sticks at=20 > 0x404 offset: >=20 > Oh, bah, my bad. I had thought that the extended caps started at = 0x400 rather=20 > than 0x100. :) The config space of this controller is kinda messy wrt to PCI-E extended = capabilities, undocumented at least. There is just one entry for = advanced error reporting feature at 0x100, with all header content in = place (with null next entry), but there's also a range starting at 0x400 = called "internal", but nothing is documented besides the single reg at = 0x404 out of the blue. Rafal From owner-p4-projects@FreeBSD.ORG Wed Apr 14 14:30:11 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A7B01065673; Wed, 14 Apr 2010 14:30: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 26B78106566C for ; Wed, 14 Apr 2010 14:30:11 +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 1464F8FC0C for ; Wed, 14 Apr 2010 14:30:11 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3EEUA1T041370 for ; Wed, 14 Apr 2010 14:30:10 GMT (envelope-from attilio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3EEUAbX041368 for perforce@freebsd.org; Wed, 14 Apr 2010 14:30:10 GMT (envelope-from attilio@FreeBSD.org) Date: Wed, 14 Apr 2010 14:30:10 GMT Message-Id: <201004141430.o3EEUAbX041368@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 Precedence: bulk Cc: Subject: PERFORCE change 176894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Apr 2010 14:30:11 -0000 http://p4web.freebsd.org/@@176894?ac=10 Change 176894 by attilio@attilio_pavilion on 2010/04/14 14:30:04 Fix TLS handling within i386 by passing a correct LDT location for any thread rather than using always the same one. Submitted by: stass Affected files ... .. //depot/projects/valgrind/coregrind/m_syswrap/syswrap-x86-freebsd.c#17 edit Differences ... ==== //depot/projects/valgrind/coregrind/m_syswrap/syswrap-x86-freebsd.c#17 (text+ko) ==== @@ -409,10 +409,10 @@ } #endif - -static SysRes sys_set_thread_area ( ThreadId tid, Int idx, void* base ) +static SysRes sys_set_thread_area ( ThreadId tid, Int *idxptr, void *base) { VexGuestX86SegDescr* gdt; + Int idx; vg_assert(8 == sizeof(VexGuestX86SegDescr)); vg_assert(sizeof(HWord) == sizeof(VexGuestX86SegDescr*)); @@ -425,12 +425,31 @@ VG_(threads)[tid].arch.vex.guest_GDT = (HWord)gdt; } + idx = *idxptr; + if (idx == -1) { + /* Find and use the first free entry. Don't allocate entry + zero, because the hardware will never do that, and apparently + doing so confuses some code (perhaps stuff running on + Wine). */ + for (idx = 1; idx < VEX_GUEST_X86_GDT_NENT; idx++) { + if (gdt[idx].LdtEnt.Words.word1 == 0 + && gdt[idx].LdtEnt.Words.word2 == 0) + break; + } + + if (idx == VEX_GUEST_X86_GDT_NENT) + return VG_(mk_SysRes_Error)( VKI_ESRCH ); + } else if (idx < 0 || idx == 0 || idx >= VEX_GUEST_X86_GDT_NENT) { + /* Similarly, reject attempts to use GDT[0]. */ + return VG_(mk_SysRes_Error)( VKI_EINVAL ); + } + translate_to_hw_format(base, &gdt[idx]); + *idxptr = idx; return VG_(mk_SysRes_Success)( 0 ); } - static SysRes sys_get_thread_area ( ThreadId tid, Int idx, void ** basep ) { VexGuestX86SegDescr* gdt; @@ -532,6 +551,7 @@ SysRes res; vki_sigset_t blockall, savedmask; struct vki_thr_param tp; + Int idx = -1; Addr stk; PRINT("thr_new ( %#lx, %ld )",ARG1,ARG2); @@ -596,8 +616,8 @@ if (debug) VG_(printf)("clone child has SETTLS: tls at %#lx\n", (Addr)tp.tls_base); - sys_set_thread_area( ctid, 2, tp.tls_base ); - ctst->arch.vex.guest_GS = (2 << 3) | 3; /* GSEL(GUGS_SEL, SEL_UPL) */ + sys_set_thread_area( ctid, &idx, tp.tls_base ); + ctst->arch.vex.guest_GS = (idx << 3) | 3; /* GSEL(GUGS_SEL, SEL_UPL) */ tp.tls_base = 0; /* Don't have the kernel do it too */ /* start the thread with everything blocked */ @@ -908,6 +928,7 @@ PRE(sys_sysarch) { ThreadState *tst; + Int idx; void **p; PRINT("sys_sysarch ( %ld, %#lx )", ARG1, ARG2); @@ -921,9 +942,10 @@ /* On FreeBSD, the syscall loads the %gs selector for us, so do it now. */ tst = VG_(get_ThreadState)(tid); p = (void**)ARG2; - tst->arch.vex.guest_GS = (2 << 3) | 3; /* GSEL(GUGS_SEL, SEL_UPL) */ + tst->arch.vex.guest_GS = (1 << 3) | 3; /* GSEL(GUGS_SEL, SEL_UPL) */ /* "do" the syscall ourselves; the kernel never sees it */ - SET_STATUS_from_SysRes( sys_set_thread_area( tid, 2, *p ) ); + idx = 1; + SET_STATUS_from_SysRes( sys_set_thread_area( tid, &idx, *p ) ); break; case VKI_I386_GET_GSBASE: From owner-p4-projects@FreeBSD.ORG Wed Apr 14 15:01:00 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15ED010656B2; Wed, 14 Apr 2010 15:01: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 C7F551065698; Wed, 14 Apr 2010 15:00:59 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id 922238FC17; Wed, 14 Apr 2010 15:00:59 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.3/8.14.3) id o3EF19G3045713; Wed, 14 Apr 2010 15:01:09 GMT (envelope-from kientzle@freebsd.org) Received: from horton.x.kientzle.com (fw2.kientzle.com [10.123.1.2]) by kientzle.com with SMTP id vwwneqihqdppu2a8mrugsyk9fa; Wed, 14 Apr 2010 15:01:08 +0000 (UTC) (envelope-from kientzle@freebsd.org) Message-ID: <4BC5D8A5.7000004@freebsd.org> Date: Wed, 14 Apr 2010 08:00:53 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.23) Gecko/20100314 SeaMonkey/1.1.18 MIME-Version: 1.0 To: Garrett Cooper References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> <4BC53714.80805@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: David Forsythe , Perforce Change Reviews , Florent Thoumie Subject: Re: PERFORCE change 176831 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, 14 Apr 2010 15:01:00 -0000 Garrett Cooper wrote: > > To prevent race conditions [with regular files only], I should use > open(2). For all other files I would use the standard extract method > (so I don't get too fancy?). It seems like the file creation times > should be sufficiently fast with other file types that this kind of > behavior of open(2), blah wouldn't be required. No. This is only for a file that you're going to extract to disk and then turn around and read back again immediately. Rather than asking extract() to handle it and then opening it again yourself, you should open the file yourself, ask libarchive to write to the fd, then you can rewind and use the fd without reopening the file. Mostly, this is a small performance optimization since you avoid the close and re-open syscalls. Depending on the situation, it can also be a security improvement (it eliminates the window between libarchive closing the file and you re-opening it in which someone could conceivably replace the file with something else). The standard extract method is recommended if you're just pushing something out to disk, whether it's a regular file or a block device or hardlink. Libarchive knows a lot more about creating objects on disk than you want to teach pkg_install. As I said, this is just for the case where you want to pull something out of an archive into a file that you're going to immediately read back again. Tim From owner-p4-projects@FreeBSD.ORG Wed Apr 14 15:18:58 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C73611065677; Wed, 14 Apr 2010 15:18: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 8A79F106566C; Wed, 14 Apr 2010 15:18:58 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from monday.kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id 3A4688FC0A; Wed, 14 Apr 2010 15:18:57 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.3/8.14.3) id o3EFJ8J4045913; Wed, 14 Apr 2010 15:19:08 GMT (envelope-from kientzle@freebsd.org) Received: from horton.x.kientzle.com (fw2.kientzle.com [10.123.1.2]) by kientzle.com with SMTP id ueq3h9s2mnvdutqcg2dzmrgfh2; Wed, 14 Apr 2010 15:19:08 +0000 (UTC) (envelope-from kientzle@freebsd.org) Message-ID: <4BC5DCDD.2060902@freebsd.org> Date: Wed, 14 Apr 2010 08:18:53 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.23) Gecko/20100314 SeaMonkey/1.1.18 MIME-Version: 1.0 To: Garrett Cooper References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> <4BC53714.80805@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: David Forsythe , Perforce Change Reviews , Florent Thoumie Subject: Re: PERFORCE change 176831 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, 14 Apr 2010 15:18:59 -0000 >>>> But I really do believe that single-pass direct >>>> install is feasible and is eventually where we want >>>> to be. The key insight for me was when Florent recently >>>> pointed out that you could just read the +CONTENTS, >>>> then do a verify pass, then extract everything. >>>> (Any conflict during the extraction pass >>>> would be a fatal error: delete everything >>>> extracted so far and scream loudly.) >>> Agreed on the final point. I'm kind of interested though about the >>> first point -- the verify pass -- are you verifying that the contents >>> are sane on the disk or in the tarball? If so, why not just verify the >>> contents after the fact... That is: * Read and parse +CONTENTS * Check the package database to verify that dependent packages exist and that no conflicting packages exist. If there's a problem, ask the user what to do. (This gets complicated.) * Check the disk to verify that none of the files listed in +CONTENTS already exist on disk. If so, there's a conflict and we must ask the user what to do (this gets complicated). * Extract all of the files, failing if there is a file in the tarball that wasn't listed in +CONTENTS or if there is a file in the tarball that already exists on disk (which must have been created in the intervening window). From owner-p4-projects@FreeBSD.ORG Thu Apr 15 08:51:31 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C96B1065672; Thu, 15 Apr 2010 08:51: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 EC292106564A; Thu, 15 Apr 2010 08:51:30 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-gx0-f214.google.com (mail-gx0-f214.google.com [209.85.217.214]) by mx1.freebsd.org (Postfix) with ESMTP id 7699B8FC13; Thu, 15 Apr 2010 08:51:30 +0000 (UTC) Received: by gxk6 with SMTP id 6so668827gxk.14 for ; Thu, 15 Apr 2010 01:51:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=PMeGka+pbhBhBX49OFBFaf9Qdv1Sxtyd0hyPz6Gcb88=; b=b/U+QmieNtr/vUUcqKSC3P/V0i1q+wqQ7p1A6SR3j0BBewgq6BntDSx3KL68j82r/n JFIgILBoB/COCThcSJIyy+NJB7zx1qJLTX8gE3C3PuPogNzCLMaDDXSo7mvR5eNSPCmY h1sJkb/ZxM7I7++5y6G2CZkI3pqU1Vw/ULcyY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=ZVrKi2T1AHsctToCV5hqjA0uMNBA0IHdlFG7rRZkJSd3DDo2Kew8hLOHNfgXTybYVE BqP4LO1x6bj9mArXqrZrywFhKGNp2el4mTFTkrU72tSmY7VfBYUopf4AYdRRp8lryRnJ Winy6uLhi0rDwWsB/EPy/Rd7uFvCqp5SSEJpE= MIME-Version: 1.0 Sender: yanegomi@gmail.com Received: by 10.231.183.17 with HTTP; Thu, 15 Apr 2010 01:51:29 -0700 (PDT) In-Reply-To: <4BC5DCDD.2060902@freebsd.org> References: <201004121230.o3CCUsIX029146@repoman.freebsd.org> <4BC3EB5B.5070801@freebsd.org> <4BC53714.80805@freebsd.org> <4BC5DCDD.2060902@freebsd.org> Date: Thu, 15 Apr 2010 01:51:29 -0700 X-Google-Sender-Auth: 1d8a43f14689ceea Received: by 10.150.128.36 with SMTP id a36mr19434ybd.337.1271321489689; Thu, 15 Apr 2010 01:51:29 -0700 (PDT) Message-ID: From: Garrett Cooper To: Tim Kientzle Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: David Forsythe , Perforce Change Reviews , Florent Thoumie Subject: Re: PERFORCE change 176831 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, 15 Apr 2010 08:51:31 -0000 On Wed, Apr 14, 2010 at 8:18 AM, Tim Kientzle wrote: >>>>> But I really do believe that single-pass direct >>>>> install is feasible and is eventually where we want >>>>> to be. =A0The key insight for me was when Florent recently >>>>> pointed out that you could just read the +CONTENTS, >>>>> then do a verify pass, then extract everything. >>>>> (Any conflict during the extraction pass >>>>> would be a fatal error: =A0delete everything >>>>> extracted so far and scream loudly.) > >>>> Agreed on the final point. I'm kind of interested though about the >>>> first point -- the verify pass -- are you verifying that the contents >>>> are sane on the disk or in the tarball? If so, why not just verify the >>>> contents after the fact... > > That is: > =A0* Read and parse +CONTENTS Ok. > =A0* Check the package database to verify that > =A0 =A0dependent packages exist and that no conflicting > =A0 =A0packages exist. =A0If there's a problem, ask the > =A0 =A0user what to do. =A0(This gets complicated.) I'm not going to complicate this. If there's a conflict, I'll have the app exit like it always has so the user can consider his/her next move. User input will only serve to complicate the goal behind pkg_install, which is to install packages as functional and timely as possible. > =A0* Check the disk to verify that none of the files > =A0 =A0listed in +CONTENTS already exist on disk. =A0If so, > =A0 =A0there's a conflict and we must ask the user > =A0 =A0what to do (this gets complicated). Simple solution: the first file it comes across that already exists will fail the package install. Again, the user needs to get involved in whether or not the previous package needs to be fixed, whether or not they created a filename collision, etc. Prompts are bad and only block automated processes from completing their tasks properly. If someone wants to write another layer on top of pkg_install, that's fine though.. it really should be dealt with there as we're trying to be as functionally trimmed down as possible. > =A0* Extract all of the files, failing if there is a > =A0 =A0file in the tarball that wasn't listed in +CONTENTS > =A0 =A0or if there is a file in the tarball that already > =A0 =A0exists on disk (which must have been created in the > =A0 =A0intervening window). Ok. Thanks for a more concrete breakdown of what you had in mind. I'll implement it after some manual testing in a bit... Cheers, -Garrett From owner-p4-projects@FreeBSD.ORG Thu Apr 15 08:55:08 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0430D10656A5; Thu, 15 Apr 2010 08:55: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 BB8881065689 for ; Thu, 15 Apr 2010 08:55:07 +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 C73AF8FC20 for ; Thu, 15 Apr 2010 08:55:05 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3F8t5lX098599 for ; Thu, 15 Apr 2010 08:55:05 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3F8t5b5098597 for perforce@freebsd.org; Thu, 15 Apr 2010 08:55:05 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 15 Apr 2010 08:55:05 GMT Message-Id: <201004150855.o3F8t5b5098597@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 Precedence: bulk Cc: Subject: PERFORCE change 176929 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Apr 2010 08:55:08 -0000 http://p4web.freebsd.org/@@176929?ac=10 Change 176929 by pgj@Binturong on 2010/04/15 08:54:17 IFC Affected files ... .. //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#48 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/dougb.key#2 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#40 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#38 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/sahil.key#1 branch .. //depot/projects/docproj_hu/doc/share/sgml/mirrors.xml#18 integrate .. //depot/projects/docproj_hu/www/en/administration.sgml#13 integrate .. //depot/projects/docproj_hu/www/en/developers.sgml#44 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/libcommon.xsl#15 integrate .. //depot/projects/docproj_hu/www/share/sgml/commercial.consult.xml#25 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#93 integrate .. //depot/projects/docproj_hu/www/share/sgml/usergroups.xml#13 integrate Differences ... ==== //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#48 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.501 2010/04/05 17:09:49 jacula Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.502 2010/04/11 17:13:08 sahil Exp $ --> aaron@FreeBSD.org"> @@ -974,6 +974,8 @@ sah@FreeBSD.org"> +sahil@FreeBSD.org"> + sam@FreeBSD.org"> sanpei@FreeBSD.org"> ==== //depot/projects/docproj_hu/doc/share/pgpkeys/dougb.key#2 (text+ko) ==== @@ -1,305 +1,246 @@ - + - uid Doug Barton - uid Doug Barton - sub 4096g/2DBB3F89 2003-01-16 +pub 2048R/1A1ABC84 2010-03-23 + Key fingerprint = E352 0E14 9D05 3533 C33A 67DB 5CC6 86F1 1A1A BC84 +uid Douglas Barton +uid Douglas Barton +uid [jpeg image of size 6140] +sub 3072R/498795B4 2010-03-23 + Key fingerprint = C0BE C1E3 8DC8 D7F4 8E6C 732B 0C14 D9CF 4987 95B4 ]]> ==== //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#40 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1371,6 +1371,11 @@ &pgpkey.nyan; + + &a.sahil; + &pgpkey.sahil; + + &a.tota; &pgpkey.tota; ==== //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#38 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -265,6 +265,7 @@ + ==== //depot/projects/docproj_hu/doc/share/sgml/mirrors.xml#18 (text+ko) ==== @@ -2,7 +2,7 @@ - $FreeBSD: doc/share/sgml/mirrors.xml,v 1.107 2010/04/08 21:00:28 pgj Exp $ + $FreeBSD: doc/share/sgml/mirrors.xml,v 1.108 2010/04/11 18:23:02 jkois Exp $ @@ -1295,21 +1295,6 @@ Poland - - www.pl.FreeBSD.org - http://www.pl.FreeBSD.org/ - - - - www2.pl.FreeBSD.org - http://www2.pl.FreeBSD.org/ - http://www2.pl.FreeBSD.org/ - ftp://www2.pl.FreeBSD.org/pub/FreeBSD/ - ftp://www2.pl.FreeBSD.org/pub/FreeBSD/ - - - - ftp.pl.FreeBSD.org ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/ @@ -1324,17 +1309,12 @@ - + cvsup.pl.FreeBSD.org ==== //depot/projects/docproj_hu/www/en/administration.sgml#13 (text+ko) ==== @@ -1,5 +1,5 @@ + %developers; @@ -429,6 +429,7 @@ machines should be directed to the cluster administrators.

      +
    • &a.brd; <brd@FreeBSD.org>
    • &a.billf; <billf@FreeBSD.org>
    • &a.simon; <simon@FreeBSD.org>
    • &a.ps; <ps@FreeBSD.org>
    • ==== //depot/projects/docproj_hu/www/en/developers.sgml#44 (text+ko) ==== @@ -6,7 +6,7 @@ us to update author names, or the representation of those names (such as adding email addresses), by just editing a single file. -$FreeBSD: www/en/developers.sgml,v 1.245 2010/04/06 17:57:36 pgj Exp $ +$FreeBSD: www/en/developers.sgml,v 1.246 2010/04/11 17:19:14 sahil Exp $ --> @@ -487,6 +487,7 @@ + ==== //depot/projects/docproj_hu/www/hu/share/sgml/libcommon.xsl#15 (text+ko) ==== @@ -1,7 +1,7 @@ - + + - $FreeBSD: www/share/sgml/commercial.consult.xml,v 1.113 2010/03/28 12:02:35 jkois Exp $ + $FreeBSD: www/share/sgml/commercial.consult.xml,v 1.114 2010/04/11 17:52:09 jkois Exp $ @@ -92,6 +92,21 @@ + + Adminia Sistemas + http://www.adminia.es/ + + Adminia offers technological consulting and professional system + administration services, specializing in free software and virtualized + high-availability environments. We have over 15 years experience in + using and customizing FreeBSD systems in data processing centres, + small and medium-sized businesses and universities. We are located in + Madrid, Spain. Contact us for reliable and expert partnership via + email or visit our + website. + + + AnonBSD Inc. https://sites.google.com/site/anonbsd/ ==== //depot/projects/docproj_hu/www/share/sgml/news.xml#93 (text+ko) ==== @@ -25,7 +25,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.308 2010/04/05 17:13:23 jacula Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.310 2010/04/11 19:38:00 rene Exp $ @@ -36,6 +36,21 @@ 4 + 11 + + +

      Enhanced commit privileges: René Ladan + (doc-nl, ports)

      +
      + + +

      New committer: Sahil Tandon (ports)

      +
      + +
      + + 5 ==== //depot/projects/docproj_hu/www/share/sgml/usergroups.xml#13 (text+ko) ==== @@ -5,7 +5,7 @@ - $FreeBSD: www/share/sgml/usergroups.xml,v 1.88 2010/03/30 17:36:27 jkois Exp $ + $FreeBSD: www/share/sgml/usergroups.xml,v 1.91 2010/04/14 19:50:30 jkois Exp $ @@ -181,16 +181,6 @@
      - - The Cosmo-Project - http://www.cosmo-project.de/ - The Cosmo-Project is a User Group with a difference. - Instead of just meeting, they actively develop project such as - robots. Most users use FreeBSD, but it is not a specifically - FreeBSD-related group. Located in Germany, Duisburg. - - - BSD User Group Hamburg (BSDHH) http://www.bsdhh.org/bsdhh-de-index.html @@ -380,21 +370,6 @@ - - - The Dutch FreeBSD User Group (NLFUG) - http://www.nlfug.nl - - The Dutch FreeBSD User Group (NLFUG) has had our - first meeting on oct 2, 1999. On this day 30 years before - that, the second IMP was installed in Doug Englebart's lab at - SRI. This, as you all know, was the start of something that - grew to be the Internet (thanks to Edwin Kremer for bringing - this to our attention). Located in the Netherlands. - - - - The Norwegian BSD User Group (NOBUG) @@ -450,19 +425,6 @@ - - - The Hungarian BSD Group - http://www.bsd.hu - - The Hungarian BSD Group is a group of NetBSD, - FreeBSD and OpenBSD users located in Hungary. Their meetings - occur on the second Friday of the month. The website of the - group is http://www.bsd.hu. - - - - BSD Users Sweden (BUS) From owner-p4-projects@FreeBSD.ORG Thu Apr 15 13:55:15 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 406A81065709; Thu, 15 Apr 2010 13:55: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 0425F1065707 for ; Thu, 15 Apr 2010 13:55:15 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E4C048FC17 for ; Thu, 15 Apr 2010 13:55:14 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3FDtEob036702 for ; Thu, 15 Apr 2010 13:55:14 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3FDtD4K036696 for perforce@freebsd.org; Thu, 15 Apr 2010 13:55:13 GMT (envelope-from jhb@freebsd.org) Date: Thu, 15 Apr 2010 13:55:13 GMT Message-Id: <201004151355.o3FDtD4K036696@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 176937 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Apr 2010 13:55:15 -0000 http://p4web.freebsd.org/@@176937?ac=10 Change 176937 by jhb@jhb_jhbbsd on 2010/04/15 13:54:22 IFC @176936 Affected files ... .. //depot/projects/smpng/share/man/man9/CTASSERT.9#2 integrate .. //depot/projects/smpng/share/man/man9/DELAY.9#2 integrate .. //depot/projects/smpng/share/man/man9/KASSERT.9#2 integrate .. //depot/projects/smpng/share/man/man9/VFS.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_CHECKEXP.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_FHTOVP.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_MOUNT.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_QUOTACTL.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_ROOT.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_STATFS.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_SYNC.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_UNMOUNT.9#3 integrate .. //depot/projects/smpng/share/man/man9/VFS_VGET.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_ACCESS.9#4 integrate .. //depot/projects/smpng/share/man/man9/VOP_ACLCHECK.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_ADVLOCK.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_ATTRIB.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_BWRITE.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_CREATE.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_FSYNC.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_GETACL.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_GETEXTATTR.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_GETPAGES.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_GETVOBJECT.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_INACTIVE.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_IOCTL.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_LINK.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_LISTEXTATTR.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_LOCK.9#3 integrate .. //depot/projects/smpng/share/man/man9/VOP_LOOKUP.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_OPENCLOSE.9#3 integrate .. //depot/projects/smpng/share/man/man9/VOP_PATHCONF.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_PRINT.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_RDWR.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_READDIR.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_READLINK.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_REALLOCBLKS.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_REMOVE.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_RENAME.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_REVOKE.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_SETACL.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_SETEXTATTR.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_STRATEGY.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_VPTOCNP.9#2 integrate .. //depot/projects/smpng/share/man/man9/VOP_VPTOFH.9#2 integrate .. //depot/projects/smpng/share/man/man9/accept_filter.9#2 integrate .. //depot/projects/smpng/share/man/man9/accf_data.9#2 integrate .. //depot/projects/smpng/share/man/man9/accf_dns.9#2 integrate .. //depot/projects/smpng/share/man/man9/accf_http.9#2 integrate .. //depot/projects/smpng/share/man/man9/acl.9#4 integrate .. //depot/projects/smpng/share/man/man9/atomic.9#3 integrate .. //depot/projects/smpng/share/man/man9/cr_cansee.9#2 integrate .. //depot/projects/smpng/share/man/man9/cr_seeothergids.9#2 integrate .. //depot/projects/smpng/share/man/man9/cr_seeotheruids.9#2 integrate .. //depot/projects/smpng/share/man/man9/devfs_set_cdevpriv.9#3 integrate .. //depot/projects/smpng/share/man/man9/devtoname.9#2 integrate .. //depot/projects/smpng/share/man/man9/extattr.9#2 integrate .. //depot/projects/smpng/share/man/man9/firmware.9#2 integrate .. //depot/projects/smpng/share/man/man9/hexdump.9#2 integrate .. //depot/projects/smpng/share/man/man9/ieee80211.9#4 integrate .. //depot/projects/smpng/share/man/man9/ieee80211_crypto.9#4 integrate .. //depot/projects/smpng/share/man/man9/ieee80211_node.9#4 integrate .. //depot/projects/smpng/share/man/man9/ieee80211_output.9#4 integrate .. //depot/projects/smpng/share/man/man9/ieee80211_scan.9#4 integrate .. //depot/projects/smpng/share/man/man9/ifnet.9#4 integrate .. //depot/projects/smpng/share/man/man9/make_dev.9#2 integrate .. //depot/projects/smpng/share/man/man9/namei.9#3 integrate .. //depot/projects/smpng/share/man/man9/p_candebug.9#2 integrate .. //depot/projects/smpng/share/man/man9/p_cansee.9#2 integrate .. //depot/projects/smpng/share/man/man9/pfind.9#2 integrate .. //depot/projects/smpng/share/man/man9/pgfind.9#2 integrate .. //depot/projects/smpng/share/man/man9/prison_check.9#2 integrate .. //depot/projects/smpng/share/man/man9/random.9#2 integrate .. //depot/projects/smpng/share/man/man9/rijndael.9#2 integrate .. //depot/projects/smpng/share/man/man9/rtalloc.9#2 integrate .. //depot/projects/smpng/share/man/man9/rtentry.9#2 integrate .. //depot/projects/smpng/share/man/man9/sleep.9#3 integrate .. //depot/projects/smpng/share/man/man9/spl.9#2 integrate .. //depot/projects/smpng/share/man/man9/stack.9#3 integrate .. //depot/projects/smpng/share/man/man9/uio.9#3 integrate .. //depot/projects/smpng/share/man/man9/usbdi.9#4 integrate .. //depot/projects/smpng/share/man/man9/vaccess.9#3 integrate .. //depot/projects/smpng/share/man/man9/vaccess_acl_nfs4.9#2 integrate .. //depot/projects/smpng/share/man/man9/vaccess_acl_posix1e.9#2 integrate .. //depot/projects/smpng/share/man/man9/vcount.9#2 integrate .. //depot/projects/smpng/share/man/man9/vget.9#2 integrate .. //depot/projects/smpng/share/man/man9/vm_map_entry_resize_free.9#2 integrate .. //depot/projects/smpng/share/man/man9/vnode.9#3 integrate .. //depot/projects/smpng/share/man/man9/vput.9#2 integrate .. //depot/projects/smpng/share/man/man9/vref.9#2 integrate .. //depot/projects/smpng/share/man/man9/vrefcnt.9#2 integrate .. //depot/projects/smpng/share/man/man9/vrele.9#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/apic_vector.S#18 integrate .. //depot/projects/smpng/sys/amd64/amd64/exception.S#27 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#48 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#90 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#104 integrate .. //depot/projects/smpng/sys/amd64/amd64/trap.c#72 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#88 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_signal.c#26 integrate .. //depot/projects/smpng/sys/amd64/include/apicvar.h#26 integrate .. //depot/projects/smpng/sys/amd64/include/md_var.h#23 integrate .. //depot/projects/smpng/sys/amd64/include/pmc_mdep.h#9 integrate .. //depot/projects/smpng/sys/amd64/include/reg.h#11 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux.h#25 integrate .. //depot/projects/smpng/sys/arm/conf/KB920X#19 integrate .. //depot/projects/smpng/sys/arm/include/bus.h#10 integrate .. //depot/projects/smpng/sys/arm/mv/mv_sata.c#3 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/cambria_fled.c#3 integrate .. //depot/projects/smpng/sys/boot/forth/loader.conf#67 integrate .. //depot/projects/smpng/sys/boot/i386/efi/Makefile#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/autoload.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/bootinfo.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/conf.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/devicename.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/efimd.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/elf32_freebsd.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/exec.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/i386_copy.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/ldscript.amd64#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/ldscript.i386#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/main.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/reloc.c#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/start.S#1 branch .. //depot/projects/smpng/sys/boot/i386/efi/version#1 branch .. //depot/projects/smpng/sys/cam/cam_xpt.c#65 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_all.h#15 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#43 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#90 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32.h#9 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#66 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_signal.h#13 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#84 integrate .. //depot/projects/smpng/sys/compat/linux/linux_stats.c#46 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_stat.c#25 integrate .. //depot/projects/smpng/sys/conf/NOTES#183 integrate .. //depot/projects/smpng/sys/conf/files#258 integrate .. //depot/projects/smpng/sys/conf/files.amd64#74 integrate .. //depot/projects/smpng/sys/conf/files.i386#132 integrate .. //depot/projects/smpng/sys/conf/files.pc98#102 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#76 integrate .. //depot/projects/smpng/sys/conf/kern.mk#25 integrate .. //depot/projects/smpng/sys/conf/kern.post.mk#65 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#65 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#75 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/changes.txt#5 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/common/dmextern.c#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/compiler/aslanalyze.c#9 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/compiler/aslcompiler.h#9 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/compiler/aslpredef.c#2 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/compiler/aslstubs.c#9 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/compiler/asltypes.h#11 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/debugger/dbdisply.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/events/evgpe.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/events/evgpeblk.c#5 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/events/evxface.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/events/evxfevnt.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/executer/exdebug.c#2 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/executer/exmutex.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/executer/exoparg2.c#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/executer/exregion.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/acevents.h#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/acexcep.h#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/acglobal.h#5 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/aclocal.h#5 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/acpixf.h#5 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/actables.h#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/actypes.h#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/include/platform/acfreebsd.h#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/parser/psxface.c#5 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/tables/tbutils.c#4 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/tables/tbxface.c#3 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/utilities/utglobal.c#5 integrate .. //depot/projects/smpng/sys/contrib/dev/iwn/LICENSE#3 integrate .. //depot/projects/smpng/sys/contrib/dev/iwn/iwlwifi-6000-9.176.4.1.fw.uu#2 delete .. //depot/projects/smpng/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu#1 branch .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_compat.h#19 integrate .. //depot/projects/smpng/sys/ddb/db_sym.c#9 integrate .. //depot/projects/smpng/sys/dev/aac/aac.c#72 integrate .. //depot/projects/smpng/sys/dev/aac/aac_cam.c#27 integrate .. //depot/projects/smpng/sys/dev/aac/aac_debug.c#21 integrate .. //depot/projects/smpng/sys/dev/aac/aac_disk.c#27 integrate .. //depot/projects/smpng/sys/dev/aac/aac_pci.c#52 integrate .. //depot/projects/smpng/sys/dev/aac/aac_tables.h#6 integrate .. //depot/projects/smpng/sys/dev/aac/aacreg.h#24 integrate .. //depot/projects/smpng/sys/dev/aac/aacvar.h#34 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#120 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_button.c#21 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#50 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_lid.c#19 integrate .. //depot/projects/smpng/sys/dev/acpica/acpivar.h#74 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#68 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acerlabs.c#9 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar9285_attach.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#85 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#35 integrate .. //depot/projects/smpng/sys/dev/bce/if_bcereg.h#21 integrate .. //depot/projects/smpng/sys/dev/bktr/ioctl_bt848.h#3 integrate .. //depot/projects/smpng/sys/dev/bktr/ioctl_meteor.h#4 integrate .. //depot/projects/smpng/sys/dev/bwi/if_bwi.c#6 integrate .. //depot/projects/smpng/sys/dev/bwi/if_bwivar.h#4 integrate .. //depot/projects/smpng/sys/dev/bwn/if_bwn.c#3 integrate .. //depot/projects/smpng/sys/dev/bwn/if_bwnvar.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_ael1002.c#15 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_common.h#14 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_hw.c#15 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#19 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#29 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#25 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_80003es2lan.c#6 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82571.c#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82575.c#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_82575.h#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_defines.h#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_hw.h#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.c#8 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.h#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_mac.c#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_manage.c#5 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_phy.c#7 integrate .. //depot/projects/smpng/sys/dev/e1000/e1000_regs.h#7 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.c#17 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.h#8 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#19 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.h#7 integrate .. //depot/projects/smpng/sys/dev/e1000/if_lem.c#1 branch .. //depot/projects/smpng/sys/dev/e1000/if_lem.h#1 branch .. //depot/projects/smpng/sys/dev/fb/vesa.c#6 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#49 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#8 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.h#2 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_intel.c#7 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#34 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_uncore.c#1 branch .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_uncore.h#1 branch .. //depot/projects/smpng/sys/dev/hwpmc/pmc_events.h#9 integrate .. //depot/projects/smpng/sys/dev/isp/isp_library.c#15 integrate .. //depot/projects/smpng/sys/dev/iwn/if_iwn.c#13 integrate .. //depot/projects/smpng/sys/dev/iwn/if_iwnreg.h#4 integrate .. //depot/projects/smpng/sys/dev/iwn/if_iwnvar.h#6 integrate .. //depot/projects/smpng/sys/dev/ixgbe/LICENSE#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#15 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.h#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82598.c#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82599.c#4 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.c#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.h#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_common.c#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.c#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.h#8 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_type.h#8 integrate .. //depot/projects/smpng/sys/dev/malo/if_malo.c#8 integrate .. //depot/projects/smpng/sys/dev/mii/miidevs#40 integrate .. //depot/projects/smpng/sys/dev/mii/truephy.c#3 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#33 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#25 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_standard.c#6 integrate .. //depot/projects/smpng/sys/dev/ral/rt2560.c#18 integrate .. //depot/projects/smpng/sys/dev/ral/rt2560var.h#8 integrate .. //depot/projects/smpng/sys/dev/ral/rt2661.c#13 integrate .. //depot/projects/smpng/sys/dev/ral/rt2661var.h#7 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#81 integrate .. //depot/projects/smpng/sys/dev/sge/if_sge.c#1 branch .. //depot/projects/smpng/sys/dev/sge/if_sgereg.h#1 branch .. //depot/projects/smpng/sys/dev/siis/siis.c#7 integrate .. //depot/projects/smpng/sys/dev/sound/pci/envy24.c#16 integrate .. //depot/projects/smpng/sys/dev/sound/pci/envy24.h#3 integrate .. //depot/projects/smpng/sys/dev/sound/pci/envy24ht.c#13 integrate .. //depot/projects/smpng/sys/dev/sound/pci/envy24ht.h#4 integrate .. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#29 integrate .. //depot/projects/smpng/sys/dev/sound/pci/spicds.c#6 integrate .. //depot/projects/smpng/sys/dev/sound/pci/spicds.h#3 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#48 integrate .. //depot/projects/smpng/sys/dev/syscons/logo/beastie.c#1 branch .. //depot/projects/smpng/sys/dev/syscons/logo/logo.c#2 integrate .. //depot/projects/smpng/sys/dev/syscons/logo/logo_saver.c#7 integrate .. //depot/projects/smpng/sys/dev/syscons/scvidctl.c#17 integrate .. //depot/projects/smpng/sys/dev/syscons/syscons.c#76 integrate .. //depot/projects/smpng/sys/dev/uart/uart.h#8 integrate .. //depot/projects/smpng/sys/dev/uart/uart_cpu_sparc64.c#18 integrate .. //depot/projects/smpng/sys/dev/ubsec/ubsec.c#28 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_pci.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_pci.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/input/ukbd.c#16 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#16 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#151 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rumvar.h#7 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_run.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_runvar.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_ural.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_uralvar.h#7 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zydreg.h#6 integrate .. //depot/projects/smpng/sys/dev/wpi/if_wpi.c#14 integrate .. //depot/projects/smpng/sys/dev/wpi/if_wpivar.h#6 integrate .. //depot/projects/smpng/sys/fs/coda/cnode.h#5 integrate .. //depot/projects/smpng/sys/fs/coda/coda.h#2 integrate .. //depot/projects/smpng/sys/fs/coda/coda_subr.c#4 integrate .. //depot/projects/smpng/sys/fs/coda/coda_subr.h#3 integrate .. //depot/projects/smpng/sys/fs/coda/coda_venus.c#5 integrate .. //depot/projects/smpng/sys/fs/coda/coda_venus.h#4 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vfsops.c#7 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vfsops.h#3 integrate .. //depot/projects/smpng/sys/fs/coda/coda_vnops.c#9 integrate .. //depot/projects/smpng/sys/fs/deadfs/dead_vnops.c#18 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#33 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_int.h#6 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#65 integrate .. //depot/projects/smpng/sys/fs/nfs/nfs_commonport.c#6 integrate .. //depot/projects/smpng/sys/fs/nfs/nfs_commonsubs.c#5 integrate .. //depot/projects/smpng/sys/fs/nfs/nfs_var.h#7 integrate .. //depot/projects/smpng/sys/fs/nfs/nfsport.h#10 integrate .. //depot/projects/smpng/sys/fs/nfs/nfsrvstate.h#2 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdport.c#11 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdserv.c#7 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdstate.c#7 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs.h#7 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_io.c#26 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_ioctl.c#5 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_mount.h#4 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.c#25 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.h#4 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_subr.c#13 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_subr.h#4 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vfsops.c#29 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vnops.c#23 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs.h#12 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#34 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.c#34 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.h#9 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_smb.c#18 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_subr.c#10 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_subr.h#7 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vfsops.c#43 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vnops.c#44 integrate .. //depot/projects/smpng/sys/geom/geom_io.c#55 integrate .. //depot/projects/smpng/sys/geom/geom_vfs.c#11 integrate .. //depot/projects/smpng/sys/geom/multipath/g_multipath.c#6 integrate .. //depot/projects/smpng/sys/geom/sched/README#1 branch .. //depot/projects/smpng/sys/geom/sched/g_sched.c#1 branch .. //depot/projects/smpng/sys/geom/sched/g_sched.h#1 branch .. //depot/projects/smpng/sys/geom/sched/gs_rr.c#1 branch .. //depot/projects/smpng/sys/geom/sched/gs_scheduler.h#1 branch .. //depot/projects/smpng/sys/geom/sched/subr_disk.c#1 branch .. //depot/projects/smpng/sys/i386/conf/GENERIC#119 integrate .. //depot/projects/smpng/sys/i386/i386/apic_vector.s#25 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#70 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#151 integrate .. //depot/projects/smpng/sys/i386/i386/mpboot.s#6 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#143 integrate .. //depot/projects/smpng/sys/i386/i386/trap.c#122 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_stat.c#14 integrate .. //depot/projects/smpng/sys/i386/include/apicvar.h#38 integrate .. //depot/projects/smpng/sys/i386/include/bootinfo.h#4 integrate .. //depot/projects/smpng/sys/i386/include/pmc_mdep.h#8 integrate .. //depot/projects/smpng/sys/i386/linux/linux.h#29 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#71 integrate .. //depot/projects/smpng/sys/ia64/ia64/autoconf.c#16 integrate .. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#48 integrate .. //depot/projects/smpng/sys/ia64/ia64/mca.c#12 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#47 integrate .. //depot/projects/smpng/sys/ia64/ia64/nexus.c#22 integrate .. //depot/projects/smpng/sys/ia64/ia64/sapic.c#16 integrate .. //depot/projects/smpng/sys/ia64/ia64/trap.c#97 integrate .. //depot/projects/smpng/sys/ia64/include/acpica_machdep.h#6 integrate .. //depot/projects/smpng/sys/ia64/include/cpufunc.h#26 integrate .. //depot/projects/smpng/sys/ia64/include/intr.h#8 integrate .. //depot/projects/smpng/sys/ia64/include/mca.h#7 integrate .. //depot/projects/smpng/sys/ia64/include/nexusvar.h#3 delete .. //depot/projects/smpng/sys/ia64/include/pal.h#5 integrate .. //depot/projects/smpng/sys/kern/init_main.c#85 integrate .. //depot/projects/smpng/sys/kern/kern_alq.c#22 integrate .. //depot/projects/smpng/sys/kern/kern_clock.c#64 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#63 integrate .. //depot/projects/smpng/sys/kern/kern_ktr.c#39 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#155 integrate .. //depot/projects/smpng/sys/kern/sys_pipe.c#68 integrate .. //depot/projects/smpng/sys/kern/tty_pts.c#27 integrate .. //depot/projects/smpng/sys/kern/uipc_mqueue.c#25 integrate .. //depot/projects/smpng/sys/kern/uipc_sem.c#31 integrate .. //depot/projects/smpng/sys/kern/uipc_shm.c#8 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#126 integrate .. //depot/projects/smpng/sys/kern/vfs_default.c#67 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#176 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#159 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#103 integrate .. //depot/projects/smpng/sys/libkern/iconv.c#14 integrate .. //depot/projects/smpng/sys/libkern/iconv_converter_if.m#5 integrate .. //depot/projects/smpng/sys/libkern/iconv_xlat.c#5 integrate .. //depot/projects/smpng/sys/libkern/strcasecmp.c#2 integrate .. //depot/projects/smpng/sys/mips/atheros/if_arge.c#2 integrate .. //depot/projects/smpng/sys/mips/conf/AR71XX#3 integrate .. //depot/projects/smpng/sys/mips/include/bus.h#4 integrate .. //depot/projects/smpng/sys/mips/mips/busdma_machdep.c#7 integrate .. //depot/projects/smpng/sys/mips/mips/pmap.c#16 integrate .. //depot/projects/smpng/sys/mips/mips/vm_machdep.c#5 integrate .. //depot/projects/smpng/sys/modules/Makefile#171 integrate .. //depot/projects/smpng/sys/modules/alq/Makefile#1 branch .. //depot/projects/smpng/sys/modules/dummynet/Makefile#9 integrate .. //depot/projects/smpng/sys/modules/em/Makefile#13 integrate .. //depot/projects/smpng/sys/modules/geom/Makefile#20 integrate .. //depot/projects/smpng/sys/modules/geom/geom_sched/Makefile#1 branch .. //depot/projects/smpng/sys/modules/geom/geom_sched/Makefile.inc#1 branch .. //depot/projects/smpng/sys/modules/geom/geom_sched/gs_sched/Makefile#1 branch .. //depot/projects/smpng/sys/modules/geom/geom_sched/gsched_rr/Makefile#1 branch .. //depot/projects/smpng/sys/modules/hwpmc/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/iwnfw/iwn6000/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/ixgbe/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/sge/Makefile#1 branch .. //depot/projects/smpng/sys/modules/syscons/Makefile#5 integrate .. //depot/projects/smpng/sys/modules/syscons/beastie/Makefile#1 branch .. //depot/projects/smpng/sys/modules/uart/Makefile#12 integrate .. //depot/projects/smpng/sys/modules/wlan/Makefile#16 integrate .. //depot/projects/smpng/sys/net/bpf.c#95 integrate .. //depot/projects/smpng/sys/net/if.c#132 integrate .. //depot/projects/smpng/sys/net/if_clone.c#16 integrate .. //depot/projects/smpng/sys/net/if_llatbl.c#11 integrate .. //depot/projects/smpng/sys/net/vnet.c#6 integrate .. //depot/projects/smpng/sys/net/vnet.h#19 integrate .. //depot/projects/smpng/sys/net80211/ieee80211.c#50 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_amrr.c#5 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_amrr.h#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto_ccmp.c#12 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto_tkip.c#13 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_freebsd.h#22 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_hostap.c#17 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.c#51 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#51 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#53 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.h#33 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ratectl.c#1 branch .. //depot/projects/smpng/sys/net80211/ieee80211_ratectl.h#1 branch .. //depot/projects/smpng/sys/net80211/ieee80211_rssadapt.c#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_rssadapt.h#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_scan_sta.c#16 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_var.h#45 integrate .. //depot/projects/smpng/sys/netgraph/ng_deflate.c#4 integrate .. //depot/projects/smpng/sys/netgraph/ng_ksocket.c#36 integrate .. //depot/projects/smpng/sys/netgraph/ng_l2tp.c#20 integrate .. //depot/projects/smpng/sys/netgraph/ng_mppc.c#20 integrate .. //depot/projects/smpng/sys/netgraph/ng_pipe.c#4 integrate .. //depot/projects/smpng/sys/netgraph/ng_pipe.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_ppp.c#29 integrate .. //depot/projects/smpng/sys/netgraph/ng_pptpgre.c#21 integrate .. //depot/projects/smpng/sys/netgraph/ng_tcpmss.c#5 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#81 integrate .. //depot/projects/smpng/sys/netinet/in.c#66 integrate .. //depot/projects/smpng/sys/netinet/in.h#51 integrate .. //depot/projects/smpng/sys/netinet/in_mcast.c#21 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_dn_glue.c#2 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_dn_io.c#3 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_dn_private.h#3 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_dummynet.c#9 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_sockopt.c#4 integrate .. //depot/projects/smpng/sys/netinet/sctp_asconf.c#18 integrate .. //depot/projects/smpng/sys/netinet/sctp_constants.h#24 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#30 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.h#10 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#32 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#37 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.h#13 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#36 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.h#20 integrate .. //depot/projects/smpng/sys/netinet/sctp_structs.h#20 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#30 integrate .. //depot/projects/smpng/sys/netinet/sctp_var.h#14 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#37 integrate .. //depot/projects/smpng/sys/netinet/sctputil.h#19 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#134 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#70 integrate .. //depot/projects/smpng/sys/netinet6/mld6.c#37 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#65 integrate .. //depot/projects/smpng/sys/netinet6/sctp6_usrreq.c#19 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.c#40 integrate .. //depot/projects/smpng/sys/netipsec/key.c#46 integrate .. //depot/projects/smpng/sys/netncp/ncp_conn.c#20 integrate .. //depot/projects/smpng/sys/netncp/ncp_conn.h#6 integrate .. //depot/projects/smpng/sys/netncp/ncp_file.h#4 integrate .. //depot/projects/smpng/sys/netncp/ncp_lib.h#6 integrate .. //depot/projects/smpng/sys/netncp/ncp_login.c#4 integrate .. //depot/projects/smpng/sys/netncp/ncp_ncp.c#13 integrate .. //depot/projects/smpng/sys/netncp/ncp_ncp.h#5 integrate .. //depot/projects/smpng/sys/netncp/ncp_nls.c#5 integrate .. //depot/projects/smpng/sys/netncp/ncp_nls.h#4 integrate .. //depot/projects/smpng/sys/netncp/ncp_rcfile.h#3 integrate .. //depot/projects/smpng/sys/netncp/ncp_rq.c#11 integrate .. //depot/projects/smpng/sys/netncp/ncp_rq.h#6 integrate .. //depot/projects/smpng/sys/netncp/ncp_sock.c#14 integrate .. //depot/projects/smpng/sys/netncp/ncp_sock.h#5 integrate .. //depot/projects/smpng/sys/netncp/ncp_subr.c#9 integrate .. //depot/projects/smpng/sys/netncp/ncp_subr.h#8 integrate .. //depot/projects/smpng/sys/netncp/ncp_user.h#3 integrate .. //depot/projects/smpng/sys/netsmb/netbios.h#7 integrate .. //depot/projects/smpng/sys/netsmb/smb.h#9 integrate .. //depot/projects/smpng/sys/netsmb/smb_conn.c#21 integrate .. //depot/projects/smpng/sys/netsmb/smb_conn.h#12 integrate .. //depot/projects/smpng/sys/netsmb/smb_dev.c#28 integrate .. //depot/projects/smpng/sys/netsmb/smb_dev.h#4 integrate .. //depot/projects/smpng/sys/netsmb/smb_iod.c#19 integrate .. //depot/projects/smpng/sys/netsmb/smb_rq.c#18 integrate .. //depot/projects/smpng/sys/netsmb/smb_rq.h#6 integrate .. //depot/projects/smpng/sys/netsmb/smb_smb.c#13 integrate .. //depot/projects/smpng/sys/netsmb/smb_subr.c#18 integrate .. //depot/projects/smpng/sys/netsmb/smb_subr.h#16 integrate .. //depot/projects/smpng/sys/netsmb/smb_tran.h#5 integrate .. //depot/projects/smpng/sys/netsmb/smb_trantcp.c#25 integrate .. //depot/projects/smpng/sys/netsmb/smb_trantcp.h#5 integrate .. //depot/projects/smpng/sys/netsmb/smb_usr.c#6 integrate .. //depot/projects/smpng/sys/pc98/cbus/clock.c#15 integrate .. //depot/projects/smpng/sys/pci/if_rlreg.h#55 integrate .. //depot/projects/smpng/sys/powerpc/ofw/ofw_real.c#4 integrate .. //depot/projects/smpng/sys/powerpc/ofw/ofw_syscons.c#15 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#103 integrate .. //depot/projects/smpng/sys/sparc64/conf/NOTES#28 integrate .. //depot/projects/smpng/sys/sparc64/fhc/fhc.c#15 integrate .. //depot/projects/smpng/sys/sparc64/include/dcr.h#3 integrate .. //depot/projects/smpng/sys/sparc64/include/lsu.h#3 integrate .. //depot/projects/smpng/sys/sparc64/pci/apb.c#18 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#52 integrate .. //depot/projects/smpng/sys/sparc64/pci/sbbc.c#1 branch .. //depot/projects/smpng/sys/sparc64/pci/schizo.c#9 integrate .. //depot/projects/smpng/sys/sparc64/sbus/sbus.c#35 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/ofw_machdep.c#16 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#86 integrate .. //depot/projects/smpng/sys/sys/_timespec.h#6 integrate .. //depot/projects/smpng/sys/sys/iconv.h#13 integrate .. //depot/projects/smpng/sys/sys/ioccom.h#9 integrate .. //depot/projects/smpng/sys/sys/mchain.h#11 integrate .. //depot/projects/smpng/sys/sys/pcpu.h#31 integrate .. //depot/projects/smpng/sys/sys/pmc.h#20 integrate .. //depot/projects/smpng/sys/sys/proc.h#205 integrate .. //depot/projects/smpng/sys/sys/stat.h#23 integrate .. //depot/projects/smpng/sys/sys/timespec.h#6 integrate .. //depot/projects/smpng/sys/sys/vnode.h#107 integrate .. //depot/projects/smpng/sys/sys/vtoc.h#3 integrate .. //depot/projects/smpng/sys/teken/teken.c#5 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#118 integrate .. //depot/projects/smpng/sys/vm/memguard.c#5 integrate .. //depot/projects/smpng/sys/vm/memguard.h#4 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#52 integrate .. //depot/projects/smpng/sys/vm/vm_extern.h#40 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#81 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#71 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#106 integrate .. //depot/projects/smpng/sys/vm/vm_map.h#46 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#110 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#76 integrate .. //depot/projects/smpng/sys/x86/isa/clock.c#2 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/CTASSERT.9#2 (text+ko) ==== @@ -24,11 +24,11 @@ .\" (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/share/man/man9/CTASSERT.9,v 1.3 2008/09/05 15:24:54 emaste Exp $ +.\" $FreeBSD: src/share/man/man9/CTASSERT.9,v 1.4 2010/04/14 19:08:06 uqs Exp $ .\" .Dd September 5, 2008 +.Dt CTASSERT 9 .Os -.Dt CTASSERT 9 .Sh NAME .Nm CTASSERT .Nd compile time assertion macro ==== //depot/projects/smpng/share/man/man9/DELAY.9#2 (text+ko) ==== @@ -25,11 +25,11 @@ .\" (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/share/man/man9/DELAY.9,v 1.8 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/DELAY.9,v 1.9 2010/04/14 19:08:06 uqs Exp $ .\" .Dd November 21, 2000 +.Dt DELAY 9 .Os -.Dt DELAY 9 .Sh NAME .Nm DELAY .Nd busy loop for an interval ==== //depot/projects/smpng/share/man/man9/KASSERT.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/KASSERT.9,v 1.12 2003/05/16 19:54:20 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/KASSERT.9,v 1.13 2010/04/14 19:08:06 uqs Exp $ .\" .Dd January 14, 2000 +.Dt KASSERT 9 .Os -.Dt KASSERT 9 .Sh NAME .Nm KASSERT .Nd kernel expression verification macro ==== //depot/projects/smpng/share/man/man9/VFS.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS.9,v 1.14 2010/02/09 21:01:18 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VFS.9,v 1.15 2010/04/14 19:08:06 uqs Exp $ .\" .Dd February 9, 2010 +.Dt VFS 9 .Os -.Dt VFS 9 .Sh NAME .Nm VFS .Nd kernel interface to file systems ==== //depot/projects/smpng/share/man/man9/VFS_CHECKEXP.9#3 (text+ko) ==== @@ -22,11 +22,11 @@ .\" (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/share/man/man9/VFS_CHECKEXP.9,v 1.13 2010/01/04 22:22:00 brueffer Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_CHECKEXP.9,v 1.14 2010/04/14 19:08:06 uqs Exp $ .\" .Dd January 4, 2010 +.Dt VFS_CHECKEXP 9 .Os -.Dt VFS_CHECKEXP 9 .Sh NAME .Nm VFS_CHECKEXP .Nd check if a file system is exported to a client ==== //depot/projects/smpng/share/man/man9/VFS_FHTOVP.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_FHTOVP.9,v 1.18 2010/01/04 22:22:00 brueffer Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_FHTOVP.9,v 1.19 2010/04/14 19:08:06 uqs Exp $ .\" .Dd January 4, 2010 +.Dt VFS_FHTOVP 9 .Os -.Dt VFS_FHTOVP 9 .Sh NAME .Nm VFS_FHTOVP .Nd turn an NFS filehandle into a vnode ==== //depot/projects/smpng/share/man/man9/VFS_MOUNT.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_MOUNT.9,v 1.15 2009/05/24 18:34:54 tmclaugh Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_MOUNT.9,v 1.16 2010/04/14 19:08:06 uqs Exp $ .\" .Dd May 23, 2009 +.Dt VFS_MOUNT 9 .Os -.Dt VFS_MOUNT 9 .Sh NAME .Nm VFS_MOUNT .Nd mount a file system ==== //depot/projects/smpng/share/man/man9/VFS_QUOTACTL.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_QUOTACTL.9,v 1.11 2009/05/24 18:34:54 tmclaugh Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_QUOTACTL.9,v 1.12 2010/04/14 19:08:06 uqs Exp $ .\" .Dd May 23, 2009 +.Dt VFS_QUOTACTL 9 .Os -.Dt VFS_QUOTACTL 9 .Sh NAME .Nm VFS_QUOTACTL .Nd manipulate file system quotas ==== //depot/projects/smpng/share/man/man9/VFS_ROOT.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_ROOT.9,v 1.13 2009/05/24 18:34:54 tmclaugh Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_ROOT.9,v 1.14 2010/04/14 19:08:06 uqs Exp $ .\" .Dd May 23, 2009 +.Dt VFS_ROOT 9 .Os -.Dt VFS_ROOT 9 .Sh NAME .Nm VFS_ROOT .Nd return the root vnode of a file system ==== //depot/projects/smpng/share/man/man9/VFS_STATFS.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_STATFS.9,v 1.13 2009/05/24 18:34:54 tmclaugh Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_STATFS.9,v 1.14 2010/04/14 19:08:06 uqs Exp $ .\" .Dd May 23, 2009 +.Dt VFS_STATFS 9 .Os -.Dt VFS_STATFS 9 .Sh NAME .Nm VFS_STATFS .Nd return file system status ==== //depot/projects/smpng/share/man/man9/VFS_SYNC.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_SYNC.9,v 1.17 2009/05/24 18:34:54 tmclaugh Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_SYNC.9,v 1.18 2010/04/14 19:08:06 uqs Exp $ .\" .Dd May 23, 2009 +.Dt VFS_SYNC 9 .Os -.Dt VFS_SYNC 9 .Sh NAME .Nm VFS_SYNC .Nd flush unwritten data ==== //depot/projects/smpng/share/man/man9/VFS_UNMOUNT.9#3 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_UNMOUNT.9,v 1.12 2009/05/24 18:34:54 tmclaugh Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_UNMOUNT.9,v 1.13 2010/04/14 19:08:06 uqs Exp $ .\" .Dd May 23, 2009 +.Dt VFS_UNMOUNT 9 .Os -.Dt VFS_UNMOUNT 9 .Sh NAME .Nm VFS_UNMOUNT .Nd unmount a file system ==== //depot/projects/smpng/share/man/man9/VFS_VGET.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VFS_VGET.9,v 1.18 2005/06/15 13:31:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.19 2010/04/14 19:08:06 uqs Exp $ .\" .Dd January 7, 2005 +.Dt VFS_VGET 9 .Os -.Dt VFS_VGET 9 .Sh NAME .Nm VFS_VGET .Nd convert an inode number to a vnode ==== //depot/projects/smpng/share/man/man9/VOP_ACCESS.9#4 (text+ko) ==== @@ -27,11 +27,11 @@ .\" (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/share/man/man9/VOP_ACCESS.9,v 1.27 2009/09/22 15:15:03 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.28 2010/04/14 19:08:06 uqs Exp $ .\" .Dd September 18, 2009 +.Dt VOP_ACCESS 9 .Os -.Dt VOP_ACCESS 9 .Sh NAME .Nm VOP_ACCESS , .Nm VOP_ACCESSX ==== //depot/projects/smpng/share/man/man9/VOP_ACLCHECK.9#2 (text+ko) ==== @@ -23,11 +23,11 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.14 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.15 2010/04/14 19:08:06 uqs Exp $ .\" .Dd December 23, 1999 +.Dt VOP_ACLCHECK 9 .Os -.Dt VOP_ACLCHECK 9 .Sh NAME .Nm VOP_ACLCHECK .Nd check an access control list for a vnode ==== //depot/projects/smpng/share/man/man9/VOP_ADVLOCK.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_ADVLOCK.9,v 1.14 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_ADVLOCK.9,v 1.15 2010/04/14 19:08:06 uqs Exp $ .\" .Dd June 30, 1999 +.Dt VOP_ADVLOCK 9 .Os -.Dt VOP_ADVLOCK 9 .Sh NAME .Nm VOP_ADVLOCK .Nd advisory record locking ==== //depot/projects/smpng/share/man/man9/VOP_ATTRIB.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_ATTRIB.9,v 1.27 2009/03/30 20:56:37 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_ATTRIB.9,v 1.28 2010/04/14 19:08:06 uqs Exp $ .\" .Dd August 29, 2008 +.Dt VOP_ATTRIB 9 .Os -.Dt VOP_ATTRIB 9 .Sh NAME .Nm VOP_GETATTR , .Nm VOP_SETATTR ==== //depot/projects/smpng/share/man/man9/VOP_BWRITE.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_BWRITE.9,v 1.12 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_BWRITE.9,v 1.13 2010/04/14 19:08:06 uqs Exp $ .\" .Dd July 24, 1996 +.Dt VOP_BWRITE 9 .Os -.Dt VOP_BWRITE 9 .Sh NAME .Nm VOP_BWRITE .Nd write a file system buffer ==== //depot/projects/smpng/share/man/man9/VOP_CREATE.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_CREATE.9,v 1.19 2009/03/30 20:56:37 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_CREATE.9,v 1.20 2010/04/14 19:08:06 uqs Exp $ .\" .Dd July 24, 1996 +.Dt VOP_CREATE 9 .Os -.Dt VOP_CREATE 9 .Sh NAME .Nm VOP_CREATE , .Nm VOP_MKNOD , ==== //depot/projects/smpng/share/man/man9/VOP_FSYNC.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_FSYNC.9,v 1.17 2009/03/30 20:56:37 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_FSYNC.9,v 1.18 2010/04/14 19:08:06 uqs Exp $ .\" .Dd July 24, 1996 +.Dt VOP_FSYNC 9 .Os -.Dt VOP_FSYNC 9 .Sh NAME .Nm VOP_FSYNC .Nd flush file system buffers for a file ==== //depot/projects/smpng/share/man/man9/VOP_GETACL.9#2 (text+ko) ==== @@ -23,11 +23,11 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.15 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.16 2010/04/14 19:08:06 uqs Exp $ .\" .Dd December 23, 1999 +.Dt VOP_GETACL 9 .Os -.Dt VOP_GETACL 9 .Sh NAME .Nm VOP_GETACL .Nd retrieve access control list for a vnode ==== //depot/projects/smpng/share/man/man9/VOP_GETEXTATTR.9#2 (text+ko) ==== @@ -23,11 +23,11 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.22 2005/01/28 10:43:05 ru Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.23 2010/04/14 19:08:06 uqs Exp $ .\" .Dd December 23, 1999 +.Dt VOP_GETEXTATTR 9 .Os -.Dt VOP_GETEXTATTR 9 .Sh NAME .Nm VOP_GETEXTATTR .Nd retrieve named extended attribute from a vnode ==== //depot/projects/smpng/share/man/man9/VOP_GETPAGES.9#2 (text+ko) ==== @@ -27,11 +27,11 @@ .\" (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/share/man/man9/VOP_GETPAGES.9,v 1.12 2005/06/15 13:31:23 ru Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_GETPAGES.9,v 1.13 2010/04/14 19:08:06 uqs Exp $ .\" .Dd September 27, 2003 +.Dt VOP_GETPAGES 9 .Os -.Dt VOP_GETPAGES 9 .Sh NAME .Nm VOP_GETPAGES , .Nm VOP_PUTPAGES ==== //depot/projects/smpng/share/man/man9/VOP_GETVOBJECT.9#2 (text+ko) ==== @@ -22,11 +22,11 @@ .\" (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/share/man/man9/VOP_GETVOBJECT.9,v 1.8 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_GETVOBJECT.9,v 1.9 2010/04/14 19:08:06 uqs Exp $ .\" .Dd September 10, 2000 +.Dt VOP_CREATEVOBJECT 9 .Os -.Dt VOP_CREATEVOBJECT 9 .Sh NAME .Nm VOP_CREATEVOBJECT , .Nm VOP_DESTROYVOBJECT , ==== //depot/projects/smpng/share/man/man9/VOP_INACTIVE.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_INACTIVE.9,v 1.17 2009/03/30 20:56:37 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_INACTIVE.9,v 1.18 2010/04/14 19:08:06 uqs Exp $ .\" .Dd July 24, 1996 +.Dt VOP_INACTIVE 9 .Os -.Dt VOP_INACTIVE 9 .Sh NAME .Nm VOP_INACTIVE , .Nm VOP_RECLAIM ==== //depot/projects/smpng/share/man/man9/VOP_IOCTL.9#2 (text+ko) ==== @@ -26,11 +26,11 @@ .\" (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/share/man/man9/VOP_IOCTL.9,v 1.16 2009/03/30 20:56:37 trasz Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_IOCTL.9,v 1.17 2010/04/14 19:08:06 uqs Exp $ .\" .Dd July 24, 1996 +.Dt VOP_IOCTL 9 .Os -.Dt VOP_IOCTL 9 .Sh NAME >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 15 15:02:22 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C82241065672; Thu, 15 Apr 2010 15:02: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 8A6FD106566C for ; Thu, 15 Apr 2010 15:02:22 +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 77F2B8FC16 for ; Thu, 15 Apr 2010 15:02:22 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3FF2Mp0042664 for ; Thu, 15 Apr 2010 15:02:22 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3FF2MKb042660 for perforce@freebsd.org; Thu, 15 Apr 2010 15:02:22 GMT (envelope-from mav@freebsd.org) Date: Thu, 15 Apr 2010 15:02:22 GMT Message-Id: <201004151502.o3FF2MKb042660@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 Precedence: bulk Cc: Subject: PERFORCE change 176940 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Apr 2010 15:02:23 -0000 http://p4web.freebsd.org/@@176940?ac=10 Change 176940 by mav@mav_mavtest on 2010/04/15 15:01:39 First approach to Marvell SATA driver for CAM. Affected files ... .. //depot/projects/scottl-camlock/src/sys/conf/files#70 edit .. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#1 add .. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.h#1 add .. //depot/projects/scottl-camlock/src/sys/modules/mvs/Makefile#1 add Differences ... ==== //depot/projects/scottl-camlock/src/sys/conf/files#70 (text+ko) ==== @@ -1291,6 +1291,7 @@ dev/mpt/mpt_raid.c optional mpt dev/mpt/mpt_user.c optional mpt dev/msk/if_msk.c optional msk inet +dev/mvs/mvs.c optional mvs pci dev/mwl/if_mwl.c optional mwl dev/mwl/if_mwl_pci.c optional mwl pci dev/mwl/mwlhal.c optional mwl From owner-p4-projects@FreeBSD.ORG Thu Apr 15 19:32:07 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 679F01065679; Thu, 15 Apr 2010 19:32: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 2C440106566B for ; Thu, 15 Apr 2010 19:32:07 +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 015238FC17 for ; Thu, 15 Apr 2010 19:32:07 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3FJW6rT080487 for ; Thu, 15 Apr 2010 19:32:06 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3FJW6Cp080485 for perforce@freebsd.org; Thu, 15 Apr 2010 19:32:06 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 15 Apr 2010 19:32:06 GMT Message-Id: <201004151932.o3FJW6Cp080485@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 Precedence: bulk Cc: Subject: PERFORCE change 176951 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Apr 2010 19:32:07 -0000 http://p4web.freebsd.org/@@176951?ac=10 Change 176951 by pgj@Binturong on 2010/04/15 19:31:20 IFC Affected files ... .. //depot/projects/docproj_hu/www/hu/administration.sgml#31 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#99 integrate Differences ... ==== //depot/projects/docproj_hu/www/hu/administration.sgml#31 (text+ko) ==== @@ -1,5 +1,5 @@ + @@ -9,7 +9,7 @@ @@ -672,6 +672,10 @@ kérelmeket ennek a csoportnak kell címezni.

        +
      • &a.brd; <brd@FreeBSD.org> +
      • +
      • &a.billf; <billf@FreeBSD.org>
      • ==== //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#99 (text+ko) ==== @@ -5,13 +5,13 @@ - $FreeBSD: www/hu/share/sgml/news.xml,v 1.45 2010/04/08 21:14:36 pgj Exp $ + $FreeBSD: www/hu/share/sgml/news.xml,v 1.46 2010/04/15 11:22:51 pgj Exp $ @@ -22,6 +22,21 @@ 4 + 11 + + +

        Bõvebb commit jogosultság: René Ladan + (doc-nl, ports)

        +
        + + +

        Új tag: Sahil + Tandon (ports)

        +
        +
        + + 5 From owner-p4-projects@FreeBSD.ORG Thu Apr 15 20:48:32 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9CD321065673; Thu, 15 Apr 2010 20:48: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 4628C1065670 for ; Thu, 15 Apr 2010 20:48:32 +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 330D48FC13 for ; Thu, 15 Apr 2010 20:48:32 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3FKmWaY098010 for ; Thu, 15 Apr 2010 20:48:32 GMT (envelope-from peter@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3FKmOh7098004 for perforce@freebsd.org; Thu, 15 Apr 2010 20:48:24 GMT (envelope-from peter@wemm.org) Date: Thu, 15 Apr 2010 20:48:24 GMT Message-Id: <201004152048.o3FKmOh7098004@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 Precedence: bulk Cc: Subject: PERFORCE change 176956 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Apr 2010 20:48:32 -0000 http://p4web.freebsd.org/@@176956?ac=10 Change 176956 by peter@peter_daintree on 2010/04/15 20:47:48 IFC @176955 via sledgehammer Affected files ... .. //depot/projects/hammer/MAINTAINERS#55 integrate .. //depot/projects/hammer/Makefile#59 integrate .. //depot/projects/hammer/Makefile.inc1#153 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#78 integrate .. //depot/projects/hammer/UPDATING#143 integrate .. //depot/projects/hammer/bin/cp/utils.c#19 integrate .. //depot/projects/hammer/bin/ed/Makefile#13 integrate .. //depot/projects/hammer/bin/ed/main.c#7 integrate .. //depot/projects/hammer/bin/kill/kill.c#7 integrate .. //depot/projects/hammer/bin/ls/cmp.c#8 integrate .. //depot/projects/hammer/bin/pax/Makefile#6 integrate .. //depot/projects/hammer/bin/pax/cpio.1#5 delete .. //depot/projects/hammer/bin/pax/getoldopt.c#4 integrate .. //depot/projects/hammer/bin/pax/tar.1#8 delete .. //depot/projects/hammer/bin/pkill/pkill.1#5 integrate .. //depot/projects/hammer/bin/pkill/pkill.c#8 integrate .. //depot/projects/hammer/bin/ps/extern.h#13 integrate .. //depot/projects/hammer/bin/ps/keyword.c#21 integrate .. //depot/projects/hammer/bin/ps/print.c#24 integrate .. //depot/projects/hammer/bin/ps/ps.1#28 integrate .. //depot/projects/hammer/bin/pwait/pwait.1#2 integrate .. //depot/projects/hammer/bin/rcp/rcp.c#11 integrate .. //depot/projects/hammer/bin/rmail/Makefile#7 integrate .. //depot/projects/hammer/bin/setfacl/file.c#3 integrate .. //depot/projects/hammer/bin/setfacl/mask.c#4 integrate .. //depot/projects/hammer/bin/setfacl/merge.c#5 integrate .. //depot/projects/hammer/bin/setfacl/remove.c#5 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.1#13 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.c#11 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.h#6 integrate .. //depot/projects/hammer/bin/setfacl/util.c#4 integrate .. //depot/projects/hammer/bin/sh/eval.c#27 integrate .. //depot/projects/hammer/bin/sh/exec.c#18 integrate .. //depot/projects/hammer/bin/sh/exec.h#8 integrate .. //depot/projects/hammer/bin/sh/expand.c#20 integrate .. //depot/projects/hammer/bin/sh/mksyntax.c#9 integrate .. //depot/projects/hammer/bin/sh/options.c#10 integrate .. //depot/projects/hammer/bin/sh/parser.c#21 integrate .. //depot/projects/hammer/bin/sh/sh.1#35 integrate .. //depot/projects/hammer/bin/test/test.c#5 integrate .. //depot/projects/hammer/cddl/Makefile.inc#7 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/cmd/zfs/zfs.8#4 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c#3 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.h#3 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c#4 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/cmd/zpool/zpool.8#3 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h#4 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c#4 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h#3 integrate .. //depot/projects/hammer/cddl/lib/drti/Makefile#2 integrate .. //depot/projects/hammer/cddl/lib/libavl/Makefile#4 integrate .. //depot/projects/hammer/cddl/lib/libctf/Makefile#3 integrate .. //depot/projects/hammer/cddl/lib/libdtrace/Makefile#3 integrate .. //depot/projects/hammer/cddl/lib/libnvpair/Makefile#6 integrate .. //depot/projects/hammer/cddl/lib/libumem/Makefile#4 integrate .. //depot/projects/hammer/cddl/lib/libuutil/Makefile#4 integrate .. //depot/projects/hammer/cddl/lib/libzfs/Makefile#5 integrate .. //depot/projects/hammer/cddl/lib/libzpool/Makefile#8 integrate .. //depot/projects/hammer/cddl/sbin/zfs/Makefile#5 integrate .. //depot/projects/hammer/cddl/sbin/zpool/Makefile#6 integrate .. //depot/projects/hammer/cddl/usr.bin/ctfconvert/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.bin/ctfdump/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.bin/ctfmerge/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.bin/sgsmsg/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.bin/zinject/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.bin/ztest/Makefile#7 integrate .. //depot/projects/hammer/cddl/usr.sbin/dtrace/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.sbin/lockstat/Makefile#2 integrate .. //depot/projects/hammer/cddl/usr.sbin/zdb/Makefile#7 integrate .. //depot/projects/hammer/contrib/bc/AUTHORS#2 delete .. //depot/projects/hammer/contrib/bc/ChangeLog#2 delete .. //depot/projects/hammer/contrib/bc/Examples/ckbook.b#2 delete .. //depot/projects/hammer/contrib/bc/Examples/pi.b#2 delete .. //depot/projects/hammer/contrib/bc/Examples/primes.b#2 delete .. //depot/projects/hammer/contrib/bc/Examples/twins.b#2 delete .. //depot/projects/hammer/contrib/bc/FAQ#2 delete .. //depot/projects/hammer/contrib/bc/FREEBSD-upgrade#3 delete .. //depot/projects/hammer/contrib/bc/INSTALL#2 delete .. //depot/projects/hammer/contrib/bc/Makefile.am#2 delete .. //depot/projects/hammer/contrib/bc/Makefile.in#2 delete .. //depot/projects/hammer/contrib/bc/NEWS#2 delete .. //depot/projects/hammer/contrib/bc/README#2 delete .. //depot/projects/hammer/contrib/bc/Test/BUG.bc#2 delete .. //depot/projects/hammer/contrib/bc/Test/array.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/arrayp.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/aryprm.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/atan.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/checklib.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/div.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/exp.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/fact.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/jn.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/ln.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/mul.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/raise.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/signum#2 delete .. //depot/projects/hammer/contrib/bc/Test/sine.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/sqrt.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/sqrt1.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/sqrt2.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/testfn.b#2 delete .. //depot/projects/hammer/contrib/bc/Test/timetest#2 delete .. //depot/projects/hammer/contrib/bc/acconfig.h#2 delete .. //depot/projects/hammer/contrib/bc/aclocal.m4#2 delete .. //depot/projects/hammer/contrib/bc/bc/Makefile.am#2 delete .. //depot/projects/hammer/contrib/bc/bc/Makefile.in#2 delete .. //depot/projects/hammer/contrib/bc/bc/bc.y#2 delete .. //depot/projects/hammer/contrib/bc/bc/bcdefs.h#2 delete .. //depot/projects/hammer/contrib/bc/bc/const.h#2 delete .. //depot/projects/hammer/contrib/bc/bc/execute.c#2 delete .. //depot/projects/hammer/contrib/bc/bc/fix-libmath_h#2 delete .. //depot/projects/hammer/contrib/bc/bc/global.c#2 delete .. //depot/projects/hammer/contrib/bc/bc/global.h#2 delete .. //depot/projects/hammer/contrib/bc/bc/libmath.b#2 delete .. //depot/projects/hammer/contrib/bc/bc/libmath.h#2 delete .. //depot/projects/hammer/contrib/bc/bc/load.c#2 delete .. //depot/projects/hammer/contrib/bc/bc/main.c#5 delete .. //depot/projects/hammer/contrib/bc/bc/proto.h#2 delete .. //depot/projects/hammer/contrib/bc/bc/sbc.y#2 delete .. //depot/projects/hammer/contrib/bc/bc/scan.l#2 delete .. //depot/projects/hammer/contrib/bc/bc/storage.c#2 delete .. //depot/projects/hammer/contrib/bc/bc/util.c#2 delete .. //depot/projects/hammer/contrib/bc/config.h.in#2 delete .. //depot/projects/hammer/contrib/bc/configure#2 delete .. //depot/projects/hammer/contrib/bc/configure.in#2 delete .. //depot/projects/hammer/contrib/bc/dc/Makefile.am#2 delete .. //depot/projects/hammer/contrib/bc/dc/Makefile.in#2 delete .. //depot/projects/hammer/contrib/bc/dc/array.c#2 delete .. //depot/projects/hammer/contrib/bc/dc/dc-proto.h#2 delete .. //depot/projects/hammer/contrib/bc/dc/dc-regdef.h#2 delete .. //depot/projects/hammer/contrib/bc/dc/dc.c#2 delete .. //depot/projects/hammer/contrib/bc/dc/dc.h#2 delete .. //depot/projects/hammer/contrib/bc/dc/eval.c#2 delete .. //depot/projects/hammer/contrib/bc/dc/misc.c#2 delete .. //depot/projects/hammer/contrib/bc/dc/numeric.c#2 delete .. //depot/projects/hammer/contrib/bc/dc/stack.c#2 delete .. //depot/projects/hammer/contrib/bc/dc/string.c#2 delete .. //depot/projects/hammer/contrib/bc/doc/Makefile.am#2 delete .. //depot/projects/hammer/contrib/bc/doc/Makefile.in#2 delete .. //depot/projects/hammer/contrib/bc/doc/bc.1#2 delete .. //depot/projects/hammer/contrib/bc/doc/bc.texi#2 delete .. //depot/projects/hammer/contrib/bc/doc/dc.1#2 delete .. //depot/projects/hammer/contrib/bc/doc/dc.texi#2 delete .. //depot/projects/hammer/contrib/bc/h/number.h#2 delete .. //depot/projects/hammer/contrib/bc/install-sh#2 delete .. //depot/projects/hammer/contrib/bc/lib/Makefile.am#2 delete .. //depot/projects/hammer/contrib/bc/lib/Makefile.in#2 delete .. //depot/projects/hammer/contrib/bc/lib/number.c#2 delete .. //depot/projects/hammer/contrib/bc/lib/testmul.c#2 delete .. //depot/projects/hammer/contrib/bc/lib/vfprintf.c#2 delete .. //depot/projects/hammer/contrib/bc/missing#2 delete .. //depot/projects/hammer/contrib/bc/mkinstalldirs#2 delete .. //depot/projects/hammer/contrib/bc/stamp-h.in#2 delete .. //depot/projects/hammer/contrib/bind9/CHANGES#20 integrate .. //depot/projects/hammer/contrib/bind9/COPYRIGHT#9 integrate .. //depot/projects/hammer/contrib/bind9/FAQ#11 integrate .. //depot/projects/hammer/contrib/bind9/FAQ.xml#9 integrate .. //depot/projects/hammer/contrib/bind9/NSEC3-NOTES#2 integrate .. //depot/projects/hammer/contrib/bind9/README#11 integrate .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkconf.8#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkconf.html#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkzone.8#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkzone.c#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkzone.docbook#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkzone.html#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/dig.1#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/dig.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/dighost.c#11 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/host.1#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/host.c#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/host.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/nslookup.1#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/nslookup.c#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dig/nslookup.html#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c#2 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8#2 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c#2 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook#2 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html#2 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keygen.8#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keygen.c#5 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-keygen.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.8#10 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.c#10 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.html#10 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssectool.c#6 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssectool.h#4 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/control.c#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/include/named/server.h#5 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/lwresd.8#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/lwresd.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/named.8#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/named.conf.5#9 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/named.conf.html#9 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/named.docbook#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/named.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/query.c#10 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/server.c#12 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/statschannel.c#2 integrate .. //depot/projects/hammer/contrib/bind9/bin/named/update.c#10 integrate .. //depot/projects/hammer/contrib/bind9/bin/nsupdate/nsupdate.1#3 integrate .. //depot/projects/hammer/contrib/bind9/bin/nsupdate/nsupdate.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/rndc/rndc-confgen.8#6 integrate .. //depot/projects/hammer/contrib/bind9/bin/rndc/rndc-confgen.html#6 integrate .. //depot/projects/hammer/contrib/bind9/bin/rndc/rndc.8#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/rndc/rndc.conf.5#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/rndc/rndc.conf.html#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/rndc/rndc.html#8 integrate .. //depot/projects/hammer/contrib/bind9/config.h.in#3 integrate .. //depot/projects/hammer/contrib/bind9/configure.in#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM-book.xml#13 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch01.html#9 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch02.html#9 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch03.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch04.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch05.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch06.html#12 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch07.html#11 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch08.html#11 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch09.html#11 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch10.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.html#11 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.pdf#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dig.html#7 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#3 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#3 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keygen.html#7 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-signzone.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.host.html#7 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkconf.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkzone.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.nsupdate.html#4 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc-confgen.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.conf.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.html#8 integrate .. //depot/projects/hammer/contrib/bind9/doc/misc/Makefile.in#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/api#15 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/db.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dispatch.c#10 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dnssec.c#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dst_api.c#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dst_internal.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dst_parse.c#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/db.h#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/dnssec.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/journal.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/keyvalues.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/name.h#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/ncache.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/nsec3.h#2 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/rbt.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/rdataset.h#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/resolver.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/result.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/types.h#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/validator.h#8 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/zone.h#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dst/dst.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/journal.c#8 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/masterdump.c#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/message.c#8 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/ncache.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/nsec3.c#3 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/opensslrsa_link.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rbt.c#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rbtdb.c#10 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rcode.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c#3 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rdatalist.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rdataset.c#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/rdataslab.c#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/resolver.c#16 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/result.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/sdb.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/sdlz.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/spnego.c#2 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/validator.c#13 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/view.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/zone.c#9 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/api#10 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/base32.c#2 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/base64.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/heap.c#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/httpd.c#2 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/include/isc/entropy.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/include/isc/netscope.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/include/isc/portset.h#3 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/include/isc/sha2.h#3 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/include/isc/util.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/inet_ntop.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/random.c#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/sha2.c#3 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/unix/socket.c#11 integrate .. //depot/projects/hammer/contrib/bind9/lib/isccc/api#5 integrate .. //depot/projects/hammer/contrib/bind9/lib/isccfg/aclconf.c#3 integrate .. //depot/projects/hammer/contrib/bind9/lib/isccfg/api#9 integrate .. //depot/projects/hammer/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/api#9 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/context.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/getipnode.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_buffer.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_buffer.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_config.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_config.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_context.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_context.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gabn.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gabn.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gethostent.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gethostent.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getipnode.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getipnode.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getnameinfo.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gnba.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_gnba.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_hstrerror.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_hstrerror.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_inetntop.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_inetntop.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_noop.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_noop.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_packet.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_packet.html#7 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_resutil.3#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/lwres/man/lwres_resutil.html#7 integrate .. //depot/projects/hammer/contrib/bind9/version#20 integrate .. //depot/projects/hammer/contrib/binutils/bfd/config.bfd#6 integrate .. //depot/projects/hammer/contrib/bsnmp/gensnmpdef/gensnmpdef.c#4 integrate .. //depot/projects/hammer/contrib/bsnmp/gensnmptree/gensnmptree.1#8 integrate .. //depot/projects/hammer/contrib/bsnmp/snmpd/config.c#8 integrate .. //depot/projects/hammer/contrib/bsnmp/snmpd/snmpmod.3#9 integrate .. //depot/projects/hammer/contrib/com_err/compile_et.1#4 integrate .. //depot/projects/hammer/contrib/cpio/ABOUT-NLS#3 delete .. //depot/projects/hammer/contrib/cpio/AUTHORS#2 delete .. //depot/projects/hammer/contrib/cpio/COPYING#4 delete .. //depot/projects/hammer/contrib/cpio/ChangeLog#4 delete .. //depot/projects/hammer/contrib/cpio/FREEBSD-upgrade#4 delete .. //depot/projects/hammer/contrib/cpio/INSTALL#3 delete .. //depot/projects/hammer/contrib/cpio/NEWS#4 delete .. //depot/projects/hammer/contrib/cpio/README#3 delete .. //depot/projects/hammer/contrib/cpio/THANKS#3 delete .. //depot/projects/hammer/contrib/cpio/TODO#3 delete .. //depot/projects/hammer/contrib/cpio/doc/cpio.1#3 delete .. //depot/projects/hammer/contrib/cpio/doc/cpio.texi#4 delete .. //depot/projects/hammer/contrib/cpio/doc/version.texi#2 delete .. //depot/projects/hammer/contrib/cpio/lib/alloca_.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-ba.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-eexst.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-fmtstream.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-fmtstream.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-fs-xinl.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-help.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-namefrob.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-parse.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-pin.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-pv.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-pvh.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp-xinl.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/argp.h#4 delete .. //depot/projects/hammer/contrib/cpio/lib/basename.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/dirname.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/dirname.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/error.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/error.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/exitfail.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/exitfail.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/fatal.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/full-write.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/full-write.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/getopt.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/getopt1.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/getopt_.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/getopt_int.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/gettext.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/hash.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/hash.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/intprops.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/inttostr.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/inttostr.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/mempcpy.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/paxerror.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/paxexit.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/paxlib.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/paxnames.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/quote.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/quote.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/quotearg.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/quotearg.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/rmt-command.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/rmt.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/rtapelib.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/safe-read.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/safe-read.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/safe-write.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/safe-write.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/savedir.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/savedir.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/strchrnul.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/stripslash.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/strndup.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/strnlen.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/system-ioctl.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/system.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/umaxtostr.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/unlocked-io.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/utimens.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/utimens.h#2 delete .. //depot/projects/hammer/contrib/cpio/lib/xalloc-die.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/xalloc.h#3 delete .. //depot/projects/hammer/contrib/cpio/lib/xmalloc.c#3 delete .. //depot/projects/hammer/contrib/cpio/lib/xstrndup.c#2 delete .. //depot/projects/hammer/contrib/cpio/lib/xstrndup.h#2 delete .. //depot/projects/hammer/contrib/cpio/src/copyin.c#4 delete .. //depot/projects/hammer/contrib/cpio/src/copyout.c#4 delete .. //depot/projects/hammer/contrib/cpio/src/copypass.c#4 delete .. //depot/projects/hammer/contrib/cpio/src/cpio.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/cpiohdr.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/defer.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/defer.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/dstring.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/dstring.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/extern.h#4 delete .. //depot/projects/hammer/contrib/cpio/src/filemode.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/filetypes.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/global.c#4 delete .. //depot/projects/hammer/contrib/cpio/src/idcache.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/main.c#4 delete .. //depot/projects/hammer/contrib/cpio/src/makepath.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/safe-stat.h#2 delete .. //depot/projects/hammer/contrib/cpio/src/tar.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/tar.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/tarhdr.h#3 delete .. //depot/projects/hammer/contrib/cpio/src/userspec.c#3 delete .. //depot/projects/hammer/contrib/cpio/src/util.c#3 delete .. //depot/projects/hammer/contrib/csup/GNUmakefile#4 delete .. //depot/projects/hammer/contrib/csup/Makefile#5 delete .. //depot/projects/hammer/contrib/csup/README#2 delete .. //depot/projects/hammer/contrib/csup/TODO#5 delete .. //depot/projects/hammer/contrib/csup/attrstack.c#2 delete .. //depot/projects/hammer/contrib/csup/attrstack.h#2 delete .. //depot/projects/hammer/contrib/csup/auth.c#2 delete .. //depot/projects/hammer/contrib/csup/auth.h#2 delete .. //depot/projects/hammer/contrib/csup/config.c#4 delete .. //depot/projects/hammer/contrib/csup/config.h#4 delete .. //depot/projects/hammer/contrib/csup/cpasswd.1#2 delete .. //depot/projects/hammer/contrib/csup/cpasswd.sh#2 delete .. //depot/projects/hammer/contrib/csup/csup.1#5 delete .. //depot/projects/hammer/contrib/csup/detailer.c#3 delete .. //depot/projects/hammer/contrib/csup/detailer.h#2 delete .. //depot/projects/hammer/contrib/csup/diff.c#3 delete .. //depot/projects/hammer/contrib/csup/diff.h#3 delete .. //depot/projects/hammer/contrib/csup/fattr.c#4 delete .. //depot/projects/hammer/contrib/csup/fattr.h#3 delete .. //depot/projects/hammer/contrib/csup/fattr_bsd.h#2 delete .. //depot/projects/hammer/contrib/csup/fattr_posix.h#2 delete .. //depot/projects/hammer/contrib/csup/fixups.c#2 delete .. //depot/projects/hammer/contrib/csup/fixups.h#2 delete .. //depot/projects/hammer/contrib/csup/fnmatch.c#2 delete .. //depot/projects/hammer/contrib/csup/fnmatch.h#2 delete .. //depot/projects/hammer/contrib/csup/globtree.c#3 delete .. //depot/projects/hammer/contrib/csup/globtree.h#2 delete .. //depot/projects/hammer/contrib/csup/idcache.c#2 delete .. //depot/projects/hammer/contrib/csup/idcache.h#2 delete .. //depot/projects/hammer/contrib/csup/keyword.c#3 delete .. //depot/projects/hammer/contrib/csup/keyword.h#3 delete .. //depot/projects/hammer/contrib/csup/lex.rcs.c#2 delete .. //depot/projects/hammer/contrib/csup/lister.c#4 delete .. //depot/projects/hammer/contrib/csup/lister.h#2 delete .. //depot/projects/hammer/contrib/csup/main.c#4 delete .. //depot/projects/hammer/contrib/csup/main.h#2 delete .. //depot/projects/hammer/contrib/csup/misc.c#4 delete .. //depot/projects/hammer/contrib/csup/misc.h#4 delete .. //depot/projects/hammer/contrib/csup/mux.c#4 delete .. //depot/projects/hammer/contrib/csup/mux.h#2 delete .. //depot/projects/hammer/contrib/csup/parse.y#2 delete .. //depot/projects/hammer/contrib/csup/pathcomp.c#2 delete .. //depot/projects/hammer/contrib/csup/pathcomp.h#2 delete .. //depot/projects/hammer/contrib/csup/proto.c#6 delete .. //depot/projects/hammer/contrib/csup/proto.h#3 delete .. //depot/projects/hammer/contrib/csup/queue.h#3 delete .. //depot/projects/hammer/contrib/csup/rcsfile.c#4 delete .. //depot/projects/hammer/contrib/csup/rcsfile.h#3 delete .. //depot/projects/hammer/contrib/csup/rcsparse.c#3 delete .. //depot/projects/hammer/contrib/csup/rcsparse.h#2 delete .. //depot/projects/hammer/contrib/csup/rcstokenizer.h#2 delete .. //depot/projects/hammer/contrib/csup/rcstokenizer.l#2 delete .. //depot/projects/hammer/contrib/csup/rsyncfile.c#2 delete .. //depot/projects/hammer/contrib/csup/rsyncfile.h#2 delete .. //depot/projects/hammer/contrib/csup/status.c#3 delete .. //depot/projects/hammer/contrib/csup/status.h#2 delete .. //depot/projects/hammer/contrib/csup/stream.c#3 delete .. //depot/projects/hammer/contrib/csup/stream.h#3 delete .. //depot/projects/hammer/contrib/csup/threads.c#2 delete .. //depot/projects/hammer/contrib/csup/threads.h#2 delete .. //depot/projects/hammer/contrib/csup/token.h#3 delete .. //depot/projects/hammer/contrib/csup/token.l#3 delete .. //depot/projects/hammer/contrib/csup/updater.c#8 delete .. //depot/projects/hammer/contrib/csup/updater.h#2 delete .. //depot/projects/hammer/contrib/dtc/Documentation/dtc-paper.bib#1 branch .. //depot/projects/hammer/contrib/dtc/Documentation/dtc-paper.tex#1 branch .. //depot/projects/hammer/contrib/dtc/Documentation/dts-format.txt#1 branch .. //depot/projects/hammer/contrib/dtc/Documentation/manual.txt#1 branch .. //depot/projects/hammer/contrib/dtc/GPL#1 branch .. //depot/projects/hammer/contrib/dtc/Makefile#1 branch .. //depot/projects/hammer/contrib/dtc/Makefile.convert-dtsv0#1 branch .. //depot/projects/hammer/contrib/dtc/Makefile.ftdump#1 branch .. //depot/projects/hammer/contrib/dtc/README.license#1 branch .. //depot/projects/hammer/contrib/dtc/TODO#1 branch .. //depot/projects/hammer/contrib/dtc/checks.c#1 branch .. //depot/projects/hammer/contrib/dtc/convert-dtsv0-lexer.l#1 branch .. //depot/projects/hammer/contrib/dtc/data.c#1 branch .. //depot/projects/hammer/contrib/dtc/dtc-lexer.l#1 branch .. //depot/projects/hammer/contrib/dtc/dtc-parser.y#1 branch .. //depot/projects/hammer/contrib/dtc/dtc.c#1 branch .. //depot/projects/hammer/contrib/dtc/dtc.h#1 branch .. //depot/projects/hammer/contrib/dtc/flattree.c#1 branch .. //depot/projects/hammer/contrib/dtc/fstree.c#1 branch .. //depot/projects/hammer/contrib/dtc/ftdump.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/Makefile.libfdt#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/TODO#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt.h#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt_ro.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt_rw.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt_strerror.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt_sw.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/fdt_wip.c#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/libfdt.h#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/libfdt_env.h#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/libfdt_internal.h#1 branch .. //depot/projects/hammer/contrib/dtc/libfdt/version.lds#1 branch .. //depot/projects/hammer/contrib/dtc/livetree.c#1 branch .. //depot/projects/hammer/contrib/dtc/scripts/setlocalversion#1 branch .. //depot/projects/hammer/contrib/dtc/srcpos.c#1 branch .. //depot/projects/hammer/contrib/dtc/srcpos.h#1 branch .. //depot/projects/hammer/contrib/dtc/treesource.c#1 branch .. //depot/projects/hammer/contrib/dtc/util.c#1 branch .. //depot/projects/hammer/contrib/dtc/util.h#1 branch .. //depot/projects/hammer/contrib/gcc/config/mips/freebsd.h#3 integrate .. //depot/projects/hammer/contrib/gdb/gdb/config/mips/nm-fbsd.h#1 branch .. //depot/projects/hammer/contrib/gdb/gdb/config/mips/tm-fbsd.h#1 branch .. //depot/projects/hammer/contrib/gdb/gdb/mips-tdep.h#2 integrate .. //depot/projects/hammer/contrib/gdb/gdb/mipsfbsd-nat.c#1 branch .. //depot/projects/hammer/contrib/gdb/gdb/mipsfbsd-tdep.c#1 branch .. //depot/projects/hammer/contrib/gdb/gdb/mipsfbsd-tdep.h#1 branch .. //depot/projects/hammer/contrib/ipfilter/ipsend/sbpf.c#6 integrate .. //depot/projects/hammer/contrib/netcat/FREEBSD-upgrade#3 integrate .. //depot/projects/hammer/contrib/netcat/FREEBSD-vendor#6 integrate .. //depot/projects/hammer/contrib/netcat/nc.1#13 integrate .. //depot/projects/hammer/contrib/netcat/netcat.c#10 integrate .. //depot/projects/hammer/contrib/openpam/include/security/pam_appl.h#7 integrate .. //depot/projects/hammer/contrib/top/utils.c#2 integrate .. //depot/projects/hammer/contrib/top/utils.h#2 integrate .. //depot/projects/hammer/contrib/tzcode/stdtime/asctime.c#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/ctime.3#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/difftime.c#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/localtime.c#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/private.h#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/time2posix.3#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/tzfile.5#1 branch .. //depot/projects/hammer/contrib/tzcode/stdtime/tzfile.h#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/README#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/Theory#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/ialloc.c#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/private.h#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/scheck.c#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/zdump.8#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/zdump.c#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/zdump/Makefile#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/zic.8#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/zic.c#1 branch .. //depot/projects/hammer/contrib/tzcode/zic/zic/Makefile#1 branch .. //depot/projects/hammer/contrib/tzdata/africa#1 branch .. //depot/projects/hammer/contrib/tzdata/antarctica#1 branch .. //depot/projects/hammer/contrib/tzdata/asia#1 branch .. //depot/projects/hammer/contrib/tzdata/australasia#1 branch .. //depot/projects/hammer/contrib/tzdata/backward#1 branch .. //depot/projects/hammer/contrib/tzdata/etcetera#1 branch .. //depot/projects/hammer/contrib/tzdata/europe#1 branch .. //depot/projects/hammer/contrib/tzdata/factory#1 branch .. //depot/projects/hammer/contrib/tzdata/leapseconds#1 branch .. //depot/projects/hammer/contrib/tzdata/northamerica#1 branch .. //depot/projects/hammer/contrib/tzdata/pacificnew#1 branch .. //depot/projects/hammer/contrib/tzdata/southamerica#1 branch .. //depot/projects/hammer/contrib/tzdata/systemv#1 branch .. //depot/projects/hammer/contrib/tzdata/yearistype.sh#1 branch .. //depot/projects/hammer/contrib/tzdata/zone.tab#1 branch .. //depot/projects/hammer/crypto/openssh/ChangeLog#15 integrate .. //depot/projects/hammer/crypto/openssh/INSTALL#9 integrate .. //depot/projects/hammer/crypto/openssh/PROTOCOL#3 integrate .. //depot/projects/hammer/crypto/openssh/PROTOCOL.agent#2 integrate .. //depot/projects/hammer/crypto/openssh/PROTOCOL.certkeys#1 branch .. //depot/projects/hammer/crypto/openssh/PROTOCOL.mux#1 branch .. //depot/projects/hammer/crypto/openssh/README#13 integrate .. //depot/projects/hammer/crypto/openssh/README.smartcard#4 delete .. //depot/projects/hammer/crypto/openssh/addrmatch.c#3 integrate .. //depot/projects/hammer/crypto/openssh/auth-krb5.c#13 integrate .. //depot/projects/hammer/crypto/openssh/auth-options.c#9 integrate .. //depot/projects/hammer/crypto/openssh/auth-options.h#6 integrate .. //depot/projects/hammer/crypto/openssh/auth-rh-rsa.c#6 integrate .. //depot/projects/hammer/crypto/openssh/auth-rhosts.c#7 integrate .. //depot/projects/hammer/crypto/openssh/auth-rsa.c#9 integrate .. //depot/projects/hammer/crypto/openssh/auth.c#12 integrate .. //depot/projects/hammer/crypto/openssh/auth.h#13 integrate .. //depot/projects/hammer/crypto/openssh/auth2-hostbased.c#6 integrate .. //depot/projects/hammer/crypto/openssh/auth2-pubkey.c#9 integrate .. //depot/projects/hammer/crypto/openssh/authfd.c#10 integrate .. //depot/projects/hammer/crypto/openssh/authfd.h#7 integrate .. //depot/projects/hammer/crypto/openssh/authfile.c#10 integrate .. //depot/projects/hammer/crypto/openssh/authfile.h#3 integrate .. //depot/projects/hammer/crypto/openssh/bufaux.c#10 integrate .. //depot/projects/hammer/crypto/openssh/buffer.c#7 integrate .. //depot/projects/hammer/crypto/openssh/buffer.h#5 integrate .. //depot/projects/hammer/crypto/openssh/canohost.c#16 integrate .. //depot/projects/hammer/crypto/openssh/channels.c#16 integrate .. //depot/projects/hammer/crypto/openssh/channels.h#12 integrate .. //depot/projects/hammer/crypto/openssh/clientloop.c#14 integrate .. //depot/projects/hammer/crypto/openssh/clientloop.h#8 integrate .. //depot/projects/hammer/crypto/openssh/config.guess#9 integrate .. //depot/projects/hammer/crypto/openssh/config.h#19 integrate .. //depot/projects/hammer/crypto/openssh/config.h.in#4 integrate .. //depot/projects/hammer/crypto/openssh/defines.h#16 integrate .. //depot/projects/hammer/crypto/openssh/dh.c#10 integrate .. //depot/projects/hammer/crypto/openssh/dns.c#8 integrate .. //depot/projects/hammer/crypto/openssh/dns.h#5 integrate .. //depot/projects/hammer/crypto/openssh/hostfile.c#10 integrate .. //depot/projects/hammer/crypto/openssh/hostfile.h#7 integrate .. //depot/projects/hammer/crypto/openssh/kex.c#11 integrate .. //depot/projects/hammer/crypto/openssh/kex.h#10 integrate .. //depot/projects/hammer/crypto/openssh/kexdhs.c#6 integrate .. //depot/projects/hammer/crypto/openssh/kexgexs.c#6 integrate .. //depot/projects/hammer/crypto/openssh/key.c#13 integrate .. //depot/projects/hammer/crypto/openssh/key.h#7 integrate .. //depot/projects/hammer/crypto/openssh/loginrec.c#18 integrate .. //depot/projects/hammer/crypto/openssh/match.h#4 integrate .. //depot/projects/hammer/crypto/openssh/misc.c#13 integrate .. //depot/projects/hammer/crypto/openssh/misc.h#9 integrate .. //depot/projects/hammer/crypto/openssh/monitor.c#17 integrate .. //depot/projects/hammer/crypto/openssh/monitor_fdpass.c#8 integrate .. //depot/projects/hammer/crypto/openssh/monitor_wrap.c#15 integrate .. //depot/projects/hammer/crypto/openssh/mux.c#2 integrate .. //depot/projects/hammer/crypto/openssh/myproposal.h#8 integrate .. //depot/projects/hammer/crypto/openssh/nchan.c#7 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/bsd-cygwin_util.c#10 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/openbsd-compat.h#11 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/openssl-compat.c#5 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-aix.c#11 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-aix.h#12 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-linux.c#3 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/port-linux.h#3 integrate .. //depot/projects/hammer/crypto/openssh/openbsd-compat/pwcache.c#1 branch .. //depot/projects/hammer/crypto/openssh/openbsd-compat/readpassphrase.c#8 integrate .. //depot/projects/hammer/crypto/openssh/pathnames.h#7 integrate .. //depot/projects/hammer/crypto/openssh/pkcs11.h#1 branch .. //depot/projects/hammer/crypto/openssh/platform.c#2 integrate .. //depot/projects/hammer/crypto/openssh/platform.h#2 integrate .. //depot/projects/hammer/crypto/openssh/readconf.c#16 integrate .. //depot/projects/hammer/crypto/openssh/readconf.h#14 integrate .. //depot/projects/hammer/crypto/openssh/roaming.h#2 integrate .. //depot/projects/hammer/crypto/openssh/roaming_client.c#1 branch .. //depot/projects/hammer/crypto/openssh/roaming_common.c#2 integrate .. //depot/projects/hammer/crypto/openssh/roaming_serv.c#1 branch .. //depot/projects/hammer/crypto/openssh/scard-opensc.c#7 delete .. //depot/projects/hammer/crypto/openssh/scard.c#5 delete .. //depot/projects/hammer/crypto/openssh/scard.h#5 delete .. //depot/projects/hammer/crypto/openssh/scp.1#12 integrate .. //depot/projects/hammer/crypto/openssh/scp.c#14 integrate .. //depot/projects/hammer/crypto/openssh/servconf.c#15 integrate .. //depot/projects/hammer/crypto/openssh/servconf.h#12 integrate .. //depot/projects/hammer/crypto/openssh/session.c#18 integrate .. //depot/projects/hammer/crypto/openssh/sftp-client.c#14 integrate .. //depot/projects/hammer/crypto/openssh/sftp-client.h#7 integrate .. //depot/projects/hammer/crypto/openssh/sftp-common.c#7 integrate .. //depot/projects/hammer/crypto/openssh/sftp-common.h#6 integrate .. //depot/projects/hammer/crypto/openssh/sftp-server.8#8 integrate .. //depot/projects/hammer/crypto/openssh/sftp-server.c#12 integrate .. //depot/projects/hammer/crypto/openssh/sftp.1#13 integrate .. //depot/projects/hammer/crypto/openssh/sftp.c#14 integrate .. //depot/projects/hammer/crypto/openssh/ssh-add.1#9 integrate .. //depot/projects/hammer/crypto/openssh/ssh-add.c#13 integrate .. //depot/projects/hammer/crypto/openssh/ssh-agent.1#11 integrate .. //depot/projects/hammer/crypto/openssh/ssh-agent.c#16 integrate .. //depot/projects/hammer/crypto/openssh/ssh-dss.c#6 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keygen.1#12 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keygen.c#14 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keyscan.1#11 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keyscan.c#15 integrate .. //depot/projects/hammer/crypto/openssh/ssh-keysign.c#10 integrate .. //depot/projects/hammer/crypto/openssh/ssh-pkcs11-client.c#1 branch .. //depot/projects/hammer/crypto/openssh/ssh-pkcs11-helper.0#1 branch .. //depot/projects/hammer/crypto/openssh/ssh-pkcs11-helper.8#1 branch .. //depot/projects/hammer/crypto/openssh/ssh-pkcs11-helper.c#1 branch .. //depot/projects/hammer/crypto/openssh/ssh-pkcs11.c#1 branch .. //depot/projects/hammer/crypto/openssh/ssh-pkcs11.h#1 branch .. //depot/projects/hammer/crypto/openssh/ssh-rand-helper.c#11 integrate .. //depot/projects/hammer/crypto/openssh/ssh-rsa.c#8 integrate .. //depot/projects/hammer/crypto/openssh/ssh.1#16 integrate .. //depot/projects/hammer/crypto/openssh/ssh.c#15 integrate .. //depot/projects/hammer/crypto/openssh/ssh2.h#5 integrate .. //depot/projects/hammer/crypto/openssh/ssh_config#17 integrate .. //depot/projects/hammer/crypto/openssh/ssh_config.5#19 integrate .. //depot/projects/hammer/crypto/openssh/ssh_namespace.h#8 integrate .. //depot/projects/hammer/crypto/openssh/sshconnect.c#15 integrate .. //depot/projects/hammer/crypto/openssh/sshconnect2.c#16 integrate .. //depot/projects/hammer/crypto/openssh/sshd.8#16 integrate .. //depot/projects/hammer/crypto/openssh/sshd.c#21 integrate .. //depot/projects/hammer/crypto/openssh/sshd_config#18 integrate .. //depot/projects/hammer/crypto/openssh/sshd_config.5#21 integrate .. //depot/projects/hammer/crypto/openssh/sshpty.h#5 integrate .. //depot/projects/hammer/crypto/openssh/sshtty.c#7 integrate .. //depot/projects/hammer/crypto/openssh/version.h#18 integrate .. //depot/projects/hammer/crypto/openssl/CHANGES#9 integrate .. //depot/projects/hammer/crypto/openssl/Configure#9 integrate .. //depot/projects/hammer/crypto/openssl/FAQ#9 integrate .. //depot/projects/hammer/crypto/openssl/Makefile#5 integrate .. //depot/projects/hammer/crypto/openssl/Makefile.org#8 integrate .. //depot/projects/hammer/crypto/openssl/NEWS#9 integrate .. //depot/projects/hammer/crypto/openssl/README#9 integrate .. //depot/projects/hammer/crypto/openssl/apps/CA.sh#3 integrate .. //depot/projects/hammer/crypto/openssl/apps/Makefile#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/apps.c#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/ca.c#9 integrate .. //depot/projects/hammer/crypto/openssl/apps/dsa.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/dsaparam.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/enc.c#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/gendsa.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/genpkey.c#2 delete .. //depot/projects/hammer/crypto/openssl/apps/genrsa.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/openssl.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/openssl.cnf#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkcs12.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkey.c#2 delete .. //depot/projects/hammer/crypto/openssl/apps/pkeyparam.c#2 delete .. //depot/projects/hammer/crypto/openssl/apps/pkeyutl.c#2 delete .. //depot/projects/hammer/crypto/openssl/apps/req.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_apps.h#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_cb.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_client.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_server.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_socket.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/speed.c#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/ts.c#2 delete .. //depot/projects/hammer/crypto/openssl/apps/tsget#2 delete .. //depot/projects/hammer/crypto/openssl/apps/x509.c#9 integrate .. //depot/projects/hammer/crypto/openssl/config#9 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_cfb.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_x86core.c#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-armv4.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-ppc.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-s390x.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-x86_64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_mbstr.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_object.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/ameth_lib.c#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1.h#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_err.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_gen.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_locl.h#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_par.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/bio_asn1.c#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/asn1/bio_ndef.c#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_x509.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_nx509.c#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bio/bio.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_dgram.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_file.c#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/alpha-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/armv4-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/mips3-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc64-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/s390x-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/s390x.S#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/via-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/x86-mont.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/x86_64-gcc.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_div.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_exp.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_gf2m.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_mul.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bntest.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/asm/cmll-x86.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/cast/c_cfb64.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/c_ecb.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/c_enc.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/c_ofb64.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/cast.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_ess.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_lib.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/c_zlib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cryptlib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_asn1.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dso/dso_dlfcn.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec2_smpl.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/ecs_ossl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/ecs_sign.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_all.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_cnf.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_cryptodev.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_ctrl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_table.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/engine.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_all.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/c_allc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/c_alld.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/digest.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_locl.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/names.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/lhash/lhash.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md32_common.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-x86_64.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/o_init.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/o_str.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_mac.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_mac.num#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/objects.txt#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_prn.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslv.h#9 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_seal.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86_64-xlate.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_attr.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_key.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_utl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/pkcs12.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_mime.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ppccpuid.pl#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_win.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/randfile.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_eay.c#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_eng.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_oaep.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_pss.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_sign.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/s390xcpuid.S#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha512.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sparcv9cap.c#2 delete .. //depot/projects/hammer/crypto/openssl/crypto/stack/safestack.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/symhacks.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/ui_openssl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/by_dir.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509.h#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_lu.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vfy.c#9 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vfy.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vpm.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_tree.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_alt.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ocsp.c#5 integrate .. //depot/projects/hammer/crypto/openssl/demos/x509/mkcert.c#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/x509/mkreq.c#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/enc.pod#6 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/verify.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/EVP_DigestInit.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/PKCS12_parse.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/bn_internal.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/d2i_X509.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/d2i_X509_CRL.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/d2i_X509_REQ.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/hmac.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/pem.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod#6 integrate .. //depot/projects/hammer/crypto/openssl/engines/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/engines/alpha.opt#1 branch .. //depot/projects/hammer/crypto/openssl/engines/axp.opt#2 delete .. //depot/projects/hammer/crypto/openssl/engines/e_capi.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_capi_err.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_capi_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_chil.c#3 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_ubsec.c#3 integrate .. //depot/projects/hammer/crypto/openssl/engines/ia64.opt#1 branch .. //depot/projects/hammer/crypto/openssl/fips/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/aes/fips_aesavs.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/des/fips_desmovs.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_key.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_sign.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsatest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dssvs.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/fips_locl.h#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/fips_test_suite.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/fips_utl.h#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/fipsalgtest.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/fipsld#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmac.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmac_selftest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rngvs.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsagtest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsastest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsavtest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/sha/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_sha1_selftest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/openssl.spec#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_both.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_clnt.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_enc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_lib.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_pkt.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_srvr.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/dtls1.h#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/kssl.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s23_clnt.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s23_srvr.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s2_srvr.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_both.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_clnt.c#10 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_lib.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_pkt.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_srvr.c#12 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl.h#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl3.h#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_algs.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_asn1.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_cert.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_ciph.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_err.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_lib.c#10 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_locl.h#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_rsa.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_sess.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_stat.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_txt.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_enc.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_reneg.c#1 branch .. //depot/projects/hammer/crypto/openssl/ssl/tls1.h#5 integrate .. //depot/projects/hammer/crypto/openssl/test/Makefile#5 integrate .. //depot/projects/hammer/crypto/openssl/test/cms-test.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/util/domd#6 integrate .. //depot/projects/hammer/crypto/openssl/util/libeay.num#8 integrate .. //depot/projects/hammer/crypto/openssl/util/mk1mf.pl#9 integrate .. //depot/projects/hammer/crypto/openssl/util/mkdef.pl#9 integrate .. //depot/projects/hammer/crypto/openssl/util/mkerr.pl#8 integrate .. //depot/projects/hammer/crypto/openssl/util/pl/Mingw32.pl#6 integrate .. //depot/projects/hammer/crypto/openssl/util/pl/VC-32.pl#6 integrate .. //depot/projects/hammer/crypto/openssl/util/pod2man.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/util/shlib_wrap.sh#3 integrate .. //depot/projects/hammer/etc/Makefile#71 integrate .. //depot/projects/hammer/etc/defaults/periodic.conf#25 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#105 integrate .. //depot/projects/hammer/etc/inetd.conf#13 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#59 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#50 integrate .. //depot/projects/hammer/etc/network.subr#35 integrate .. //depot/projects/hammer/etc/ppp/ppp.conf#4 integrate .. //depot/projects/hammer/etc/rc.d/Makefile#72 integrate .. //depot/projects/hammer/etc/rc.d/hastd#1 branch .. //depot/projects/hammer/etc/rc.d/ip6addrctl#7 integrate .. //depot/projects/hammer/etc/rc.d/jail#30 integrate .. //depot/projects/hammer/etc/rc.d/netif#29 integrate .. //depot/projects/hammer/etc/rc.d/netoptions#10 integrate .. //depot/projects/hammer/etc/rc.d/rtsold#4 integrate .. //depot/projects/hammer/etc/rc.d/tmp#9 integrate .. //depot/projects/hammer/etc/rc.d/ubthidhci#1 branch .. //depot/projects/hammer/etc/rc.firewall#16 integrate .. //depot/projects/hammer/etc/rc.subr#50 integrate .. //depot/projects/hammer/etc/termcap.small#6 integrate .. //depot/projects/hammer/games/Makefile.inc#3 integrate .. //depot/projects/hammer/games/bcd/Makefile#3 integrate .. //depot/projects/hammer/games/bcd/bcd.c#3 integrate .. //depot/projects/hammer/games/caesar/Makefile#3 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 16 16:37:49 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D41A1065674; Fri, 16 Apr 2010 16:37: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 DD61A1065673 for ; Fri, 16 Apr 2010 16:37: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 C976E8FC15 for ; Fri, 16 Apr 2010 16:37:48 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3GGbmin049680 for ; Fri, 16 Apr 2010 16:37:48 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3GGbmTh049678 for perforce@freebsd.org; Fri, 16 Apr 2010 16:37:48 GMT (envelope-from mav@freebsd.org) Date: Fri, 16 Apr 2010 16:37:48 GMT Message-Id: <201004161637.o3GGbmTh049678@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 Precedence: bulk Cc: Subject: PERFORCE change 176973 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Apr 2010 16:37:49 -0000 http://p4web.freebsd.org/@@176973?ac=10 Change 176973 by mav@mav_mavtest on 2010/04/16 16:37:45 NCQ and PMP working, timeout handling compiles, error handling still missing. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#2 edit .. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.h#2 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#2 (text+ko) ==== @@ -85,9 +85,7 @@ static void mvs_crbq_intr(device_t dev); static void mvs_begin_transaction(device_t dev, union ccb *ccb); static void mvs_legacy_execute_transaction(struct mvs_slot *slot); -#if 0 static void mvs_timeout(struct mvs_slot *slot); -#endif static void mvs_dmasetprd(void *arg, bus_dma_segment_t *segs, int nsegs, int error); static void mvs_execute_transaction(struct mvs_slot *slot); static void mvs_end_transaction(struct mvs_slot *slot, enum mvs_err_type et); @@ -189,6 +187,16 @@ rman_fini(&ctlr->sc_iomem); return ENXIO; } + device_printf(dev, + "Gen-%s, %d %sGbps ports, Port Multiplier %s%s\n", + ((ctlr->quirks & MVS_Q_GENI) ? "I" : + ((ctlr->quirks & MVS_Q_GENII) ? "II" : "IIe")), + ctlr->channels, + ((ctlr->quirks & MVS_Q_GENI) ? "1.5" : "3"), + ((ctlr->quirks & MVS_Q_GENI) ? + "not supported" : "supported"), + ((ctlr->quirks & MVS_Q_GENIIE) ? + " with FBS" : "")); /* Attach all channels on this controller */ for (unit = 0; unit < ctlr->channels; unit++) { child = device_add_child(dev, "mvsch", -1); @@ -828,11 +836,18 @@ }; } ch->curr_mode = mode; + ch->fbs_enabled = 0; if (mode == MVS_EDMA_OFF) return; /* Configure new mode. */ -// reg = ATA_INL(ch->r_mem, EDMA_CFG); - reg = EDMA_CFG_RESERVED | EDMA_CFG_RESERVED2; + reg = EDMA_CFG_RESERVED | EDMA_CFG_RESERVED2 | EDMA_CFG_EHOSTQUEUECACHEEN; + if (ch->pm_present) { + reg |= EDMA_CFG_EMASKRXPM; + if (ch->quirks & MVS_Q_GENIIE) { + reg |= EDMA_CFG_EEDMAFBS | EDMA_CFG_EDMAFBS; + ch->fbs_enabled = 1; + } + } reg |= 1 << 24; // reg |= 1 << 22; reg &= ~(EDMA_CFG_ESATANATVCMDQUE | EDMA_CFG_EQUE); @@ -957,8 +972,8 @@ struct mvs_channel *ch = device_get_softc(dev); uint32_t iec, serr = 0, fisic = 0; -device_printf(dev, "irq cause %02x IEC %08x\n", - arg->cause, ATA_INL(ch->r_mem, EDMA_IEC)); +//device_printf(dev, "irq cause %02x IEC %08x\n", +// arg->cause, ATA_INL(ch->r_mem, EDMA_IEC)); if ((ch->numtslots != 0 || ch->numdslots != 0) && (arg->cause & 2)) mvs_crbq_intr(dev); if (arg->cause & 1) { @@ -1224,13 +1239,14 @@ (ch->dma.workrp + MVS_CRPB_OFFSET + (MVS_CRPB_SIZE * ch->in_idx)); slot = le16toh(crpb->id) & MVS_CRPB_TAG_MASK; if (ch->slot[slot].state >= MVS_SLOT_RUNNING) { +//device_printf(dev, "CRPB %d %d %04x\n", ch->in_idx, slot, le16toh(crpb->rspflg)); flags = le16toh(crpb->rspflg); ccb = ch->slot[slot].ccb; ccb->ataio.res.status = (flags & MVS_CRPB_ATASTS_MASK) >> MVS_CRPB_ATASTS_SHIFT; mvs_end_transaction(&ch->slot[slot], MVS_ERR_NONE); } else -device_printf(dev, "EMPTY CRPB %d %p %d %04x %04x\n", ch->in_idx, crpb, slot, le16toh(crpb->id), le16toh(crpb->rspflg)); +device_printf(dev, "EMPTY CRPB %d %d %04x\n", ch->in_idx, slot, le16toh(crpb->rspflg)); ch->in_idx = (ch->in_idx + 1) & (MVS_MAX_SLOTS - 1); } @@ -1253,7 +1269,7 @@ if (ch->numdslots != 0) return (1); /* Can't mix NCQ and PIO commands. */ - if (ch->numrslots != 0 && ch->numtslots == 0) + if (ch->numpslots != 0) return (1); /* If we have no FBS */ if (!ch->fbs_enabled) { @@ -1268,7 +1284,7 @@ if (ch->numtslots != 0) return (1); /* Can't mix non-NCQ DMA and PIO commands. */ - if (ch->numrslots != 0 && ch->numdslots == 0) + if (ch->numpslots != 0) return (1); /* PIO */ } else { @@ -1413,8 +1429,8 @@ union ccb *ccb = slot->ccb; int port = ccb->ccb_h.target_id & 0x0f; - device_printf(dev, "Legacy command %02x size %d\n", - ccb->ataio.cmd.command, ccb->ataio.dxfer_len); + device_printf(dev, "%d Legacy command %02x size %d\n", + port, ccb->ataio.cmd.command, ccb->ataio.dxfer_len); slot->state = MVS_SLOT_RUNNING; ch->rslots |= (1 << slot->slot); ATA_OUTB(ch->r_mem, SATA_SATAICTL, port << SATA_SATAICTL_PMPTX_SHIFT); @@ -1494,8 +1510,8 @@ int port = ccb->ccb_h.target_id & 0x0f; int i; - device_printf(dev, "EDMA command %02x size %d slot %d tag %d\n", - ccb->ataio.cmd.command, ccb->ataio.dxfer_len, slot->slot, slot->tag); +// device_printf(dev, "%d EDMA command %02x size %d (%p) slot %d tag %d\n", +// port, ccb->ataio.cmd.command, ccb->ataio.dxfer_len, ccb->ataio.data_ptr, slot->slot, slot->tag); /* Get address of the prepared EPRD */ eprd = ch->dma.workrq_bus + MVS_EPRD_OFFSET + (MVS_EPRD_SIZE * slot->slot); /* Prepare CRQB. Gen IIe uses different CRQB format. */ @@ -1588,12 +1604,11 @@ ATA_OUTL(ch->r_mem, EDMA_REQQIP, ch->dma.workrq_bus + MVS_CRQB_OFFSET + (MVS_CRQB_SIZE * ch->out_idx)); /* Start command execution timeout */ -// callout_reset(&slot->timeout, (int)ccb->ccb_h.timeout * hz / 2000, -// (timeout_t*)mvs_timeout, slot); + callout_reset(&slot->timeout, (int)ccb->ccb_h.timeout * hz / 2000, + (timeout_t*)mvs_timeout, slot); return; } -#if 0 /* Must be called with channel locked. */ static void mvs_process_timeout(device_t dev) @@ -1639,14 +1654,14 @@ { device_t dev = slot->dev; struct mvs_channel *ch = device_get_softc(dev); - uint32_t sstatus; - int ccs; +// uint32_t sstatus; +// int ccs; int i; /* Check for stale timeout. */ if (slot->state < MVS_SLOT_RUNNING) return; - +#if 0 /* Check if slot was not being executed last time we checked. */ if (slot->state < MVS_SLOT_EXECUTING) { /* Check if slot started executing. */ @@ -1662,12 +1677,12 @@ (timeout_t*)mvs_timeout, slot); return; } - +#endif device_printf(dev, "Timeout on slot %d\n", slot->slot); - device_printf(dev, "is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", - ATA_INL(ch->r_mem, MVS_P_IS), ATA_INL(ch->r_mem, MVS_P_CI), - ATA_INL(ch->r_mem, MVS_P_SACT), ch->rslots, - ATA_INL(ch->r_mem, ATA_ALTSTAT), ATA_INL(ch->r_mem, SATA_SE)); + device_printf(dev, "ic %08x iec %08x edma_s %08x dma_c %08x dma_s %08x rs %08x tfd %02x serr %08x\n", + ATA_INL(ch->r_mem, HC_IC), ATA_INL(ch->r_mem, EDMA_IEC), + ATA_INL(ch->r_mem, EDMA_S), ATA_INL(ch->r_mem, DMA_C), ATA_INL(ch->r_mem, DMA_S), ch->rslots, + ATA_INB(ch->r_mem, ATA_ALTSTAT), ATA_INL(ch->r_mem, SATA_SE)); /* Handle frozen command. */ if (ch->frozen) { @@ -1680,7 +1695,7 @@ } xpt_done(fccb); } - if (!ch->fbs_enabled) { + if (ch->fbs_enabled == 0 || ch->pm_present == 0) { /* Without FBS we know real timeout source. */ ch->fatalerr = 1; /* Handle command with timeout. */ @@ -1704,7 +1719,6 @@ ch->rslots & ~ch->toslots); } } -#endif /* Must be called with channel locked. */ static void @@ -1714,8 +1728,7 @@ struct mvs_channel *ch = device_get_softc(dev); union ccb *ccb = slot->ccb; -#if 0 - bus_dmamap_sync(ch->dma.work_tag, ch->dma.work_map, + bus_dmamap_sync(ch->dma.workrq_tag, ch->dma.workrq_map, BUS_DMASYNC_POSTWRITE); /* Read result registers to the result struct * May be incorrect if several commands finished same time, @@ -1726,33 +1739,10 @@ if ((et == MVS_ERR_TFE) || (ccb->ataio.cmd.flags & CAM_ATAIO_NEEDRESULT)) { - u_int8_t *fis = ch->dma.rfis + 0x40; - - bus_dmamap_sync(ch->dma.rfis_tag, ch->dma.rfis_map, - BUS_DMASYNC_POSTREAD); - if (ch->fbs_enabled) { - fis += ccb->ccb_h.target_id * 256; - res->status = fis[2]; - res->error = fis[3]; - } else { - uint16_t tfd = ATA_INL(ch->r_mem, ATA_ALTSTAT); - - res->status = tfd; - res->error = tfd >> 8; - } - res->lba_low = fis[4]; - res->lba_mid = fis[5]; - res->lba_high = fis[6]; - res->device = fis[7]; - res->lba_low_exp = fis[8]; - res->lba_mid_exp = fis[9]; - res->lba_high_exp = fis[10]; - res->sector_count = fis[12]; - res->sector_count_exp = fis[13]; + mvs_tfd_read(dev, ccb); } else bzero(res, sizeof(*res)); } -#endif if (ch->numpslots == 0) { if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { bus_dmamap_sync(ch->dma.data_tag, slot->dma.data_map, @@ -1871,9 +1861,9 @@ mvs_issue_read_log(dev); } /* If all the rest of commands are in timeout - give them chance. */ - }// else if ((ch->rslots & ~ch->toslots) == 0 && - // et != MVS_ERR_TIMEOUT) - // mvs_rearm_timeout(dev); + } else if ((ch->rslots & ~ch->toslots) == 0 && + et != MVS_ERR_TIMEOUT) + mvs_rearm_timeout(dev); /* Start PM timer. */ if (ch->numrslots == 0 && ch->pm_level > 3) { callout_schedule(&ch->pm_timer, @@ -2322,7 +2312,7 @@ cpi->version_num = 1; /* XXX??? */ cpi->hba_inquiry = PI_SDTR_ABLE; if (!(ch->quirks & MVS_Q_GENI)) - cpi->hba_inquiry |=/* PI_TAG_ABLE |*/ PI_SATAPM; + cpi->hba_inquiry |= PI_TAG_ABLE | PI_SATAPM; cpi->target_sprt = 0; cpi->hba_misc = PIM_SEQSCAN; cpi->hba_eng_cnt = 0; ==== //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.h#2 (text+ko) ==== @@ -350,6 +350,11 @@ #define MVS_MAX_PORTS 8 #define MVS_MAX_SLOTS 32 +/* Just to be sure, if building as module. */ +#if MAXPHYS < 512 * 1024 +#undef MAXPHYS +#define MAXPHYS 512 * 1024 +#endif /* Pessimistic prognosis on number of required S/G entries */ #define MVS_SG_ENTRIES (btoc(MAXPHYS) + 1) From owner-p4-projects@FreeBSD.ORG Sat Apr 17 17:06:32 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 157141065676; Sat, 17 Apr 2010 17:06: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 B569C1065673 for ; Sat, 17 Apr 2010 17:06: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 A1EC18FC08 for ; Sat, 17 Apr 2010 17:06:31 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o3HH6V58061035 for ; Sat, 17 Apr 2010 17:06:31 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o3HH6VMl061033 for perforce@freebsd.org; Sat, 17 Apr 2010 17:06:31 GMT (envelope-from mav@freebsd.org) Date: Sat, 17 Apr 2010 17:06:31 GMT Message-Id: <201004171706.o3HH6VMl061033@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 Precedence: bulk Cc: Subject: PERFORCE change 177029 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Apr 2010 17:06:32 -0000 http://p4web.freebsd.org/@@177029?ac=10 Change 177029 by mav@mav_mavtest on 2010/04/17 17:05:49 Make ATAPI work (in PIO mode for now). Fix 8-port adapters support. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.h#3 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.c#3 (text+ko) ==== @@ -162,6 +162,15 @@ ctlr->quirks = mvs_ids[i].quirks; resource_int_value(device_get_name(dev), device_get_unit(dev), "ccc", &ctlr->ccc); + ctlr->cccc = 8; + resource_int_value(device_get_name(dev), + device_get_unit(dev), "cccc", &ctlr->cccc); + if (ctlr->ccc == 0 || ctlr->cccc == 0) { + ctlr->ccc = 0; + ctlr->cccc = 0; + } + if (ctlr->ccc > 100) + ctlr->ccc = 100; /* We should have a memory BAR(0). */ ctlr->r_rid = PCIR_BAR(0); if (!(ctlr->r_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, @@ -253,24 +262,19 @@ for (i = 0; i < ctlr->channels / 4; i++) ATA_OUTL(ctlr->r_mem, HC_BASE(i) + HC_IC, 0x00000000); /* Configure CCC */ -/* +#if 0 if (ctlr->ccc) { - ATA_OUTL(ctlr->r_mem, MVS_CCCP, ATA_INL(ctlr->r_mem, MVS_PI)); - ATA_OUTL(ctlr->r_mem, MVS_CCCC, - (ctlr->ccc << MVS_CCCC_TV_SHIFT) | - (4 << MVS_CCCC_CC_SHIFT) | - MVS_CCCC_EN); - ctlr->cccv = (ATA_INL(ctlr->r_mem, MVS_CCCC) & - MVS_CCCC_INT_MASK) >> MVS_CCCC_INT_SHIFT; + ATA_OUTL(ctlr->r_mem, HC_ICT, ctlr->cccc & HC_ICT_SAICOALT_MASK); + ATA_OUTL(ctlr->r_mem, HC_ITT, (ctlr->ccc * 150000) & HC_ITT_SAITMTH_MASK); if (bootverbose) { device_printf(dev, - "CCC with %dms/4cmd enabled on vector %d\n", - ctlr->ccc, ctlr->cccv); + "CCC with %dms/%dcmd enabled\n", + ctlr->ccc, ctlr->cccc); } } -*/ +#endif /* Enable chip interrupts */ - ATA_OUTL(ctlr->r_mem, CHIP_MIM, IC_HC0 | IC_HC1 | IC_ALL_PORTS_COAL_DONE); + ATA_OUTL(ctlr->r_mem, CHIP_MIM, IC_HC0 | IC_HC1 /*| IC_ALL_PORTS_COAL_DONE*/); /* Enable PCI interrupts */ ATA_OUTL(ctlr->r_mem, CHIP_PCIIM, 0x007fffff); return (0); @@ -356,6 +360,7 @@ ic >>= 1; if ((ic & IC_HC0) == 0) { p += 3; + ic >>= 8; continue; } aic = 0; @@ -525,7 +530,7 @@ for (i = 0; i < 16; i++) { ch->user[i].revision = sata_rev; ch->user[i].mode = 0; - ch->user[i].bytecount = 8192; + ch->user[i].bytecount = (ch->quirks & MVS_Q_GENIIE) ? 8192 : 2048; ch->user[i].tags = MVS_MAX_SLOTS; ch->curr[i] = ch->user[i]; } @@ -837,6 +842,7 @@ } ch->curr_mode = mode; ch->fbs_enabled = 0; + ch->fake_busy = 0; if (mode == MVS_EDMA_OFF) return; /* Configure new mode. */ @@ -1141,77 +1147,196 @@ #endif } +static uint8_t +mvs_getstatus(device_t dev, int clear) +{ + struct mvs_channel *ch = device_get_softc(dev); + uint8_t status = ATA_INB(ch->r_mem, clear ? ATA_STATUS : ATA_ALTSTAT); + + if (ch->fake_busy) { + if (status & (ATA_S_BUSY | ATA_S_DRQ | ATA_S_ERROR)) + ch->fake_busy = 0; + else + status |= ATA_S_BUSY; + } + return (status); +} + static void mvs_legacy_intr(device_t dev) { struct mvs_channel *ch = device_get_softc(dev); union ccb *ccb = ch->slot[0].ccb; enum mvs_err_type et = MVS_ERR_NONE; - uint8_t status; + int port = ccb->ccb_h.target_id & 0x0f; + u_int length; + uint8_t status, ireason; /* clear interrupt and get status */ - status = ATA_INB(ch->r_mem, ATA_STATUS); - + status = mvs_getstatus(dev, 1); // device_printf(dev, "Legacy intr status %02x\n", -// ccb->ataio.res.status); - +// status); if (ch->slot[0].state < MVS_SLOT_RUNNING) { // device_printf(dev, "Stray irq\n"); return; } - ccb->ataio.res.status = status; - + /* Wait a bit for late !BUSY status update. */ + if (status & ATA_S_BUSY) { + DELAY(100); + if ((status = mvs_getstatus(dev, 1)) & ATA_S_BUSY) { + DELAY(200); + if ((status = mvs_getstatus(dev, 1)) & ATA_S_BUSY) { +device_printf(dev, "device busy on intr, Status %02x\n", status); + return; + } + } + } /* if we got an error we are done with the HW */ - if (ccb->ataio.res.status & ATA_S_ERROR) { + if (status & ATA_S_ERROR) { et = MVS_ERR_TFE; goto end_finished; } - - /* are we moving data ? */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - /* if read data get it */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { - if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { - device_printf(dev, "timeout waiting for read DRQ\n"); - et = MVS_ERR_TIMEOUT; - goto end_finished; - } - ATA_INSW_STRM(ch->r_mem, ATA_DATA, - (uint16_t *)(ccb->ataio.data_ptr + ch->donecount), - ch->transfersize / 2); -// device_printf(dev, "After read %d status %02x\n", -// ch->transfersize, ATA_INB(ch->r_mem, ATA_ALTSTAT)); - } - - /* update how far we've gotten */ - ch->donecount += ch->transfersize; - - /* do we need a scoop more ? */ - if (ccb->ataio.dxfer_len > ch->donecount) { - - /* set this transfer size according to HW capabilities */ - ch->transfersize = min(ccb->ataio.dxfer_len - ch->donecount, - ch->curr[ccb->ccb_h.target_id].bytecount); - - /* if data write command, output the data */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { + if (ccb->ccb_h.func_code == XPT_ATA_IO) { + ccb->ataio.res.status = status; + /* are we moving data ? */ + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { + /* if read data get it */ + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { - device_printf(dev, "timeout waiting for write DRQ\n"); + device_printf(dev, "timeout waiting for read DRQ\n"); et = MVS_ERR_TIMEOUT; goto end_finished; } - ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, + ATA_INSW_STRM(ch->r_mem, ATA_DATA, (uint16_t *)(ccb->ataio.data_ptr + ch->donecount), ch->transfersize / 2); -// device_printf(dev, "After write %d status %02x\n", +// device_printf(dev, "After read %d status %02x\n", // ch->transfersize, ATA_INB(ch->r_mem, ATA_ALTSTAT)); - return; + } + + /* update how far we've gotten */ + ch->donecount += ch->transfersize; + + /* do we need a scoop more ? */ + if (ccb->ataio.dxfer_len > ch->donecount) { + + /* set this transfer size according to HW capabilities */ + ch->transfersize = min(ccb->ataio.dxfer_len - ch->donecount, + ch->curr[ccb->ccb_h.target_id].bytecount); + + /* if data write command, output the data */ + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { + if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { + device_printf(dev, "timeout waiting for write DRQ\n"); + et = MVS_ERR_TIMEOUT; + goto end_finished; + } + ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)(ccb->ataio.data_ptr + ch->donecount), + ch->transfersize / 2); +// device_printf(dev, "After write %d status %02x\n", +// ch->transfersize, ATA_INB(ch->r_mem, ATA_ALTSTAT)); + return; + } + + /* if data read command, return & wait for interrupt */ + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) + return; + } } + } else { + length = ATA_INB(ch->r_mem,ATA_CYL_LSB) | (ATA_INB(ch->r_mem,ATA_CYL_MSB) << 8); + ireason = ATA_INB(ch->r_mem,ATA_IREASON); +//device_printf(dev, "status %02x, ireason %02x, length %d\n", status, ireason, length); + switch ((ireason & (ATA_I_CMD | ATA_I_IN)) | + (status & ATA_S_DRQ)) { + + case ATAPI_P_CMDOUT: +device_printf(dev, "ATAPI CMDOUT\n"); + /* this seems to be needed for some (slow) devices */ + DELAY(10); + + if (!(status & ATA_S_DRQ)) { + device_printf(dev, "command interrupt without DRQ\n"); + et = MVS_ERR_TFE; + goto end_finished; + } + ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)((ccb->ccb_h.flags & CAM_CDB_POINTER) ? + ccb->csio.cdb_io.cdb_ptr : ccb->csio.cdb_io.cdb_bytes), + ch->curr[port].atapi / 2); + /* return wait for interrupt */ + return; + + case ATAPI_P_WRITE: +//device_printf(dev, "ATAPI WRITE\n"); + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + device_printf(dev, "trying to write on read buffer\n"); + et = MVS_ERR_TFE; + goto end_finished; + break; + } + ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)(ccb->csio.data_ptr + ch->donecount), + length / 2); + ch->donecount += length; + + /* set next transfer size according to HW capabilities */ + ch->transfersize = min(ccb->csio.dxfer_len - ch->donecount, + ch->curr[ccb->ccb_h.target_id].bytecount); + /* return wait for interrupt */ + return; + + case ATAPI_P_READ: +//device_printf(dev, "ATAPI READ\n"); + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { + device_printf(dev, "trying to read on write buffer\n"); + et = MVS_ERR_TFE; + goto end_finished; + } + ATA_INSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)(ccb->csio.data_ptr + ch->donecount), + length / 2); + ch->donecount += length; + + /* set next transfer size according to HW capabilities */ + ch->transfersize = min(ccb->csio.dxfer_len - ch->donecount, + ch->curr[ccb->ccb_h.target_id].bytecount); + /* return wait for interrupt */ + return; + + case ATAPI_P_DONEDRQ: +device_printf(dev, "ATAPI DONEDRQ\n"); + device_printf(dev, + "WARNING - DONEDRQ non conformant device\n"); + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + ATA_INSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)(ccb->csio.data_ptr + ch->donecount), + length / 2); + ch->donecount += length; + } + else if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { + ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)(ccb->csio.data_ptr + ch->donecount), + length / 2); + ch->donecount += length; + } + else + et = MVS_ERR_TFE; + /* FALLTHROUGH */ + + case ATAPI_P_ABORT: + case ATAPI_P_DONE: +//device_printf(dev, "ATAPI ABORT/DONE\n"); + if (status & (ATA_S_ERROR | ATA_S_DWF)) + et = MVS_ERR_TFE; + goto end_finished; - /* if data read command, return & wait for interrupt */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) - return; - } + default: + device_printf(dev, "unknown transfer phase (status %02x, ireason %02x)\n", + status, ireason); + et = MVS_ERR_TFE; + } } end_finished: @@ -1297,6 +1422,10 @@ if (ch->numrslots != 0) return (1); } + } else { /* ATAPI */ + /* ATAPI goes without EDMA, so can't mix it with anything. */ + if (ch->numrslots != 0) + return (1); } /* We have some atomic command running. */ if (ch->aslots != 0) @@ -1399,6 +1528,8 @@ (CAM_ATAIO_CONTROL | CAM_ATAIO_NEEDRESULT)) { ch->aslots |= (1 << slot->slot); } + } else { + ch->numpslots++; } if (ch->numpslots == 0) { void *buf; @@ -1428,40 +1559,81 @@ struct mvs_channel *ch = device_get_softc(dev); union ccb *ccb = slot->ccb; int port = ccb->ccb_h.target_id & 0x0f; + int timeout; - device_printf(dev, "%d Legacy command %02x size %d\n", - port, ccb->ataio.cmd.command, ccb->ataio.dxfer_len); slot->state = MVS_SLOT_RUNNING; ch->rslots |= (1 << slot->slot); ATA_OUTB(ch->r_mem, SATA_SATAICTL, port << SATA_SATAICTL_PMPTX_SHIFT); - mvs_tfd_write(dev, ccb); - /* device reset doesn't interrupt */ - if (ccb->ataio.cmd.command == ATA_DEVICE_RESET) { - int timeout = 1000000; - do { - DELAY(10); - ccb->ataio.res.status = ATA_INB(ch->r_mem, ATA_STATUS); - } while (ccb->ataio.res.status & ATA_S_BUSY && timeout--); - mvs_legacy_intr(dev); - return; - } - ch->donecount = 0; - ch->transfersize = min(ccb->ataio.dxfer_len, - ch->curr[ccb->ccb_h.target_id].bytecount); -// device_printf(dev, "After command (status %02x)\n", -// ATA_INB(ch->r_mem, ATA_ALTSTAT)); - /* if write command output the data */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { - if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { - device_printf(dev, "timeout waiting for write DRQ\n"); -// request->result = EIO; -// goto begin_finished; + if (ccb->ccb_h.func_code == XPT_ATA_IO) { + device_printf(dev, "%d Legacy command %02x size %d\n", + port, ccb->ataio.cmd.command, ccb->ataio.dxfer_len); + mvs_tfd_write(dev, ccb); + /* device reset doesn't interrupt */ + if (ccb->ataio.cmd.command == ATA_DEVICE_RESET) { + int timeout = 1000000; + do { + DELAY(10); + ccb->ataio.res.status = ATA_INB(ch->r_mem, ATA_STATUS); + } while (ccb->ataio.res.status & ATA_S_BUSY && timeout--); + mvs_legacy_intr(dev); + return; + } + ch->donecount = 0; + ch->transfersize = min(ccb->ataio.dxfer_len, + ch->curr[port].bytecount); + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) + ch->fake_busy = 1; + /* if write command output the data */ + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_OUT) { + if (mvs_wait(dev, ATA_S_DRQ, ATA_S_BUSY, 1000) < 0) { + device_printf(dev, "timeout waiting for write DRQ\n"); + mvs_end_transaction(slot, MVS_ERR_TIMEOUT); + return; + } + ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, + (uint16_t *)(ccb->ataio.data_ptr + ch->donecount), + ch->transfersize / 2); + } + } else { + device_printf(dev, "%d ATAPI command %02x size %d\n", + port, ccb->csio.cdb_io.cdb_bytes[0], ccb->csio.dxfer_len); + ch->donecount = 0; + ch->transfersize = min(ccb->csio.dxfer_len, + ch->curr[port].bytecount); + ATA_OUTB(ch->r_mem, ATA_FEATURE, 0); + ATA_OUTB(ch->r_mem, ATA_CYL_LSB, ch->transfersize); + ATA_OUTB(ch->r_mem, ATA_CYL_MSB, ch->transfersize >> 8); + ATA_OUTB(ch->r_mem, ATA_COMMAND, ATA_PACKET_CMD); + ch->fake_busy = 1; + /* wait for ready to write ATAPI command block */ + if (mvs_wait(dev, 0, ATA_S_BUSY, 1000) < 0) { + device_printf(dev, "timeout waiting for ATAPI !BUSY\n"); + mvs_end_transaction(slot, MVS_ERR_TIMEOUT); + return; + } + timeout = 5000; + while (timeout--) { + int reason = ATA_INB(ch->r_mem, ATA_IREASON); + int status = ATA_INB(ch->r_mem, ATA_STATUS); + + if (((reason & (ATA_I_CMD | ATA_I_IN)) | + (status & (ATA_S_DRQ | ATA_S_BUSY))) == ATAPI_P_CMDOUT) + break; + DELAY(20); + } + if (timeout <= 0) { + device_printf(dev, "timeout waiting for ATAPI command ready\n"); + mvs_end_transaction(slot, MVS_ERR_TIMEOUT); + return; } + DELAY(20); ATA_OUTSW_STRM(ch->r_mem, ATA_DATA, - (uint16_t *)(ccb->ataio.data_ptr + ch->donecount), - ch->transfersize / 2); -// device_printf(dev, "After write %d status %02x\n", -// ch->transfersize, ATA_INB(ch->r_mem, ATA_ALTSTAT)); + (uint16_t *)((ccb->ccb_h.flags & CAM_CDB_POINTER) ? + ccb->csio.cdb_io.cdb_ptr : ccb->csio.cdb_io.cdb_bytes), + ch->curr[port].atapi / 2); + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) + ch->fake_busy = 1; + DELAY(10); } } @@ -1828,7 +2000,8 @@ } else { ch->numpslots--; } - } + } else + ch->numpslots--; /* If it was our READ LOG command - process it. */ if (ch->readlog) { mvs_process_read_log(dev, ccb); @@ -1973,18 +2146,17 @@ static int mvs_wait(device_t dev, u_int s, u_int c, int t) { - struct mvs_channel *ch = device_get_softc(dev); int timeout = 0; uint8_t st; - while (((st = ATA_INB(ch->r_mem, ATA_ALTSTAT)) & (s | c)) != s) { + while (((st = mvs_getstatus(dev, 0)) & (s | c)) != s) { DELAY(1000); if (timeout++ > t) { device_printf(dev, "Wait status %02x\n", st); return (-1); } } - device_printf(dev, "Wait status %02x\n", st); +// device_printf(dev, "Wait status %02x\n", st); return (timeout); } @@ -2208,8 +2380,10 @@ d->revision = cts->xport_specific.sata.revision; if (cts->xport_specific.sata.valid & CTS_SATA_VALID_MODE) d->mode = cts->xport_specific.sata.mode; - if (cts->xport_specific.sata.valid & CTS_SATA_VALID_BYTECOUNT) - d->bytecount = min(8192, cts->xport_specific.sata.bytecount); + if (cts->xport_specific.sata.valid & CTS_SATA_VALID_BYTECOUNT) { + d->bytecount = min((ch->quirks & MVS_Q_GENIIE) ? 8192 : 2048, + cts->xport_specific.sata.bytecount); + } if (cts->xport_specific.sata.valid & CTS_SATA_VALID_TAGS) d->tags = min(MVS_MAX_SLOTS, cts->xport_specific.sata.tags); if (cts->xport_specific.sata.valid & CTS_SATA_VALID_PM) ==== //depot/projects/scottl-camlock/src/sys/dev/mvs/mvs.h#3 (text+ko) ==== @@ -206,6 +206,12 @@ #define ATA_A_4BIT 0x08 /* 4 head bits */ #define ATA_A_HOB 0x80 /* High Order Byte enable */ #define ATA_ALTSTAT 0x120 /* (R) alternate status */ +#define ATAPI_P_READ (ATA_S_DRQ | ATA_I_IN) +#define ATAPI_P_WRITE (ATA_S_DRQ) +#define ATAPI_P_CMDOUT (ATA_S_DRQ | ATA_I_CMD) +#define ATAPI_P_DONEDRQ (ATA_S_DRQ | ATA_I_CMD | ATA_I_IN) +#define ATAPI_P_DONE (ATA_I_CMD | ATA_I_IN) +#define ATAPI_P_ABORT 0 /* Basic DMA Registers */ #define DMA_C 0x224 /* Basic DMA Command */ @@ -530,6 +536,7 @@ int in_idx; /* Next read CRPB */ u_int transfersize; /* PIO transfer size */ u_int donecount; /* PIO bytes sent/received */ + u_int fake_busy; /* Fake busy bit after command submission */ union ccb *frozen; /* Frozen command */ struct callout pm_timer; /* Power management events */ @@ -551,7 +558,7 @@ int quirks; int channels; int ccc; /* CCC timeout */ - int cccv; /* CCC vector */ + int cccc; /* CCC commands */ struct { void (*function)(void *); void *argument;