From owner-svn-src-projects@FreeBSD.ORG Mon Oct 8 17:25:12 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B3244106566B; Mon, 8 Oct 2012 17:25:12 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9EA628FC1E; Mon, 8 Oct 2012 17:25:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q98HPCxp041389; Mon, 8 Oct 2012 17:25:12 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q98HPCme041387; Mon, 8 Oct 2012 17:25:12 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201210081725.q98HPCme041387@svn.freebsd.org> From: Brooks Davis Date: Mon, 8 Oct 2012 17:25:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r241354 - projects/mtree/usr.sbin/makefs/compat X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Oct 2012 17:25:12 -0000 Author: brooks Date: Mon Oct 8 17:25:12 2012 New Revision: 241354 URL: http://svn.freebsd.org/changeset/base/241354 Log: We've imported NetBSD's pwcache so we don't been a compat copy. Deleted: projects/mtree/usr.sbin/makefs/compat/pwcache.c projects/mtree/usr.sbin/makefs/compat/pwcache.h Modified: projects/mtree/usr.sbin/makefs/compat/Makefile.inc Modified: projects/mtree/usr.sbin/makefs/compat/Makefile.inc ============================================================================== --- projects/mtree/usr.sbin/makefs/compat/Makefile.inc Mon Oct 8 16:57:05 2012 (r241353) +++ projects/mtree/usr.sbin/makefs/compat/Makefile.inc Mon Oct 8 17:25:12 2012 (r241354) @@ -5,4 +5,4 @@ CFLAGS+= -I${.CURDIR}/compat -SRCS+= pwcache.c strsuftoll.c +SRCS+= strsuftoll.c From owner-svn-src-projects@FreeBSD.ORG Mon Oct 8 17:27:55 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 551DE106567C; Mon, 8 Oct 2012 17:27:55 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4055E8FC08; Mon, 8 Oct 2012 17:27:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q98HRtiA041766; Mon, 8 Oct 2012 17:27:55 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q98HRtJY041764; Mon, 8 Oct 2012 17:27:55 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201210081727.q98HRtJY041764@svn.freebsd.org> From: Brooks Davis Date: Mon, 8 Oct 2012 17:27:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r241355 - projects/mtree/usr.sbin/makefs X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Oct 2012 17:27:55 -0000 Author: brooks Date: Mon Oct 8 17:27:54 2012 New Revision: 241355 URL: http://svn.freebsd.org/changeset/base/241355 Log: Remove definitions forgotten in r241354. Modified: projects/mtree/usr.sbin/makefs/makefs.h Modified: projects/mtree/usr.sbin/makefs/makefs.h ============================================================================== --- projects/mtree/usr.sbin/makefs/makefs.h Mon Oct 8 17:25:12 2012 (r241354) +++ projects/mtree/usr.sbin/makefs/makefs.h Mon Oct 8 17:27:54 2012 (r241355) @@ -286,15 +286,6 @@ long long strsuftoll(const char *, const long long strsuftollx(const char *, const char *, long long, long long, char *, size_t); -struct passwd; -int uid_from_user(const char *, uid_t *); -int pwcache_userdb(int (*)(int), void (*)(void), - struct passwd * (*)(const char *), struct passwd * (*)(uid_t)); -struct group; -int gid_from_group(const char *, gid_t *); -int pwcache_groupdb(int (*)(int), void (*)(void), - struct group * (*)(const char *), struct group * (*)(gid_t)); - int setup_getid(const char *dir); #endif /* _MAKEFS_H */ From owner-svn-src-projects@FreeBSD.ORG Tue Oct 9 06:29:14 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B5DA3E4; Tue, 9 Oct 2012 06:29:14 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F00F9901FD; Mon, 8 Oct 2012 22:22:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q98MM5WO079949; Mon, 8 Oct 2012 22:22:05 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q98MM5nT079939; Mon, 8 Oct 2012 22:22:05 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201210082222.q98MM5nT079939@svn.freebsd.org> From: Brooks Davis Date: Mon, 8 Oct 2012 22:22:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241357 - in projects/mtree: lib lib/libnetbsd lib/libnetbsd/sys usr.bin/install usr.sbin/makefs usr.sbin/nmtree usr.sbin/nmtree/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Oct 2012 06:29:14 -0000 Author: brooks Date: Mon Oct 8 22:22:05 2012 New Revision: 241357 URL: http://svn.freebsd.org/changeset/base/241357 Log: Add a new internal library libnetbsd which contains the shims required to build NetBSD's makefs, mtree, and install. I've not yet moved strsuftoll() from makefs. Added: projects/mtree/lib/libnetbsd/ projects/mtree/lib/libnetbsd/Makefile (contents, props changed) projects/mtree/lib/libnetbsd/rmd160.h - copied unchanged from r241356, projects/mtree/usr.sbin/nmtree/rmd160.h projects/mtree/lib/libnetbsd/sha1.h - copied unchanged from r241356, projects/mtree/usr.sbin/nmtree/sha1.h projects/mtree/lib/libnetbsd/sha2.h - copied unchanged from r241356, projects/mtree/usr.sbin/nmtree/sha2.h projects/mtree/lib/libnetbsd/sys/ - copied from r241356, projects/mtree/usr.sbin/nmtree/sys/ projects/mtree/lib/libnetbsd/util.c - copied unchanged from r241356, projects/mtree/usr.sbin/nmtree/util.c projects/mtree/lib/libnetbsd/util.h - copied unchanged from r241356, projects/mtree/usr.sbin/nmtree/util.h Deleted: projects/mtree/usr.sbin/nmtree/rmd160.h projects/mtree/usr.sbin/nmtree/sha1.h projects/mtree/usr.sbin/nmtree/sha2.h projects/mtree/usr.sbin/nmtree/sys/ projects/mtree/usr.sbin/nmtree/util.c projects/mtree/usr.sbin/nmtree/util.h Modified: projects/mtree/lib/Makefile projects/mtree/usr.bin/install/Makefile projects/mtree/usr.sbin/makefs/Makefile projects/mtree/usr.sbin/nmtree/Makefile Modified: projects/mtree/lib/Makefile ============================================================================== --- projects/mtree/lib/Makefile Mon Oct 8 18:33:08 2012 (r241356) +++ projects/mtree/lib/Makefile Mon Oct 8 22:22:05 2012 (r241357) @@ -90,6 +90,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ ${_libmp} \ ${_libnandfs} \ ${_libncp} \ + libnetbsd \ ${_libngatm} \ libopie \ libpam \ Added: projects/mtree/lib/libnetbsd/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libnetbsd/Makefile Mon Oct 8 22:22:05 2012 (r241357) @@ -0,0 +1,13 @@ +# $FreeBSD$ + +.include + +LIB= netbsd + +CFLAGS+= -I${.CURDIR} + +SRCS+= util.c util.h + +INTERNALLIB= + +.include Copied: projects/mtree/lib/libnetbsd/rmd160.h (from r241356, projects/mtree/usr.sbin/nmtree/rmd160.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libnetbsd/rmd160.h Mon Oct 8 22:22:05 2012 (r241357, copy of r241356, projects/mtree/usr.sbin/nmtree/rmd160.h) @@ -0,0 +1,9 @@ +/* $FreeBSD$ */ + +#include + +#define RMD160_CTX RIPEMD160_CTX +#define RMD160End RIPEMD160_End +#define RMD160File RIPEMD160_File +#define RMD160Init RIPEMD160_Init +#define RMD160Update RIPEMD160_Update Copied: projects/mtree/lib/libnetbsd/sha1.h (from r241356, projects/mtree/usr.sbin/nmtree/sha1.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libnetbsd/sha1.h Mon Oct 8 22:22:05 2012 (r241357, copy of r241356, projects/mtree/usr.sbin/nmtree/sha1.h) @@ -0,0 +1,8 @@ +/* $FreeBSD$ */ + +#include + +#define SHA1End SHA1_End +#define SHA1File SHA1_File +#define SHA1Init SHA1_Init +#define SHA1Update SHA1_Update Copied: projects/mtree/lib/libnetbsd/sha2.h (from r241356, projects/mtree/usr.sbin/nmtree/sha2.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libnetbsd/sha2.h Mon Oct 8 22:22:05 2012 (r241357, copy of r241356, projects/mtree/usr.sbin/nmtree/sha2.h) @@ -0,0 +1,4 @@ +/* $FreeBSD$ */ + +#include +#include Copied: projects/mtree/lib/libnetbsd/util.c (from r241356, projects/mtree/usr.sbin/nmtree/util.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libnetbsd/util.c Mon Oct 8 22:22:05 2012 (r241357, copy of r241356, projects/mtree/usr.sbin/nmtree/util.c) @@ -0,0 +1,59 @@ +/*- + * Copyright (c) 2012 SRI International + * All rights reserved. + * + * This software was developed by SRI International and the University of + * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) + * ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include + +#include +#include +#include +#include + +char * +flags_to_string(u_long flags, const char *def) +{ + char *str; + + str = fflagstostr(flags); + if (*str == '\0') { + free(str); + str = strdup(def); + } + return (str); +} + +int +string_to_flags(char **stringp, u_long *setp, u_long *clrp) +{ + + return strtofflags(stringp, setp, clrp); +} Copied: projects/mtree/lib/libnetbsd/util.h (from r241356, projects/mtree/usr.sbin/nmtree/util.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libnetbsd/util.h Mon Oct 8 22:22:05 2012 (r241357, copy of r241356, projects/mtree/usr.sbin/nmtree/util.h) @@ -0,0 +1,11 @@ +/* $FreeBSD$ */ + +#ifndef _UTIL_H_ +#define _UTIL_H_ + +#include + +char *flags_to_string(u_long flags, const char *def); +int string_to_flags(char **stringp, u_long *setp, u_long *clrp); + +#endif /* _UTIL_H_ */ Modified: projects/mtree/usr.bin/install/Makefile ============================================================================== --- projects/mtree/usr.bin/install/Makefile Mon Oct 8 18:33:08 2012 (r241356) +++ projects/mtree/usr.bin/install/Makefile Mon Oct 8 22:22:05 2012 (r241357) @@ -3,15 +3,19 @@ .include PROG= ninstall -SRCS= xinstall.c getid.c util.c +SRCS= xinstall.c getid.c MAN= .PATH: ${.CURDIR}/../../contrib/install .PATH: ${.CURDIR}/../../contrib/mtree .PATH: ${.CURDIR}/../../usr.sbin/nmtree CFLAGS+= -I${.CURDIR}/../../contrib/mtree \ - -I${.CURDIR}/../../usr.sbin/nmtree \ + -I${.CURDIR}/../../lib/libnetbsd \ -DNO_SHA384 -LDADD+= -lmd + +LIBNETBSDDIR= ${.OBJDIR}/../../lib/libnetbsd +LIBNETBSD= ${LIBNETBSDDIR}/libnetbsd.a +DPADD+= ${LIBNETBSD} +LDADD+= -lmd ${LIBNETBSD} .include Modified: projects/mtree/usr.sbin/makefs/Makefile ============================================================================== --- projects/mtree/usr.sbin/makefs/Makefile Mon Oct 8 18:33:08 2012 (r241356) +++ projects/mtree/usr.sbin/makefs/Makefile Mon Oct 8 22:22:05 2012 (r241357) @@ -24,10 +24,6 @@ CFLAGS+=-DHAVE_STRUCT_STAT_ST_GEN=1 CFLAGS+=-I${.CURDIR}/../../contrib/mtree SRCS+= misc.c spec.c -.PATH: ${.CURDIR}/../nmtree -CFLAGS+=-I${.CURDIR}/../nmtree -SRCS+= util.c - .PATH: ${.CURDIR}/../../contrib/mknod CFLAGS+=-I${.CURDIR}/../../contrib/mknod SRCS+= pack_dev.c @@ -35,7 +31,13 @@ SRCS+= pack_dev.c .PATH: ${.CURDIR}/../../sys/ufs/ffs SRCS+= ffs_tables.c +CFLAGS+=-I${.CURDIR}/../../lib/libnetbsd DPADD= ${LIBSBUF} LDADD= -lsbuf -lutil +LIBNETBSDDIR= ${.OBJDIR}/../../lib/libnetbsd +LIBNETBSD= ${LIBNETBSDDIR}/libnetbsd.a +DPADD+= ${LIBNETBSD} +LDADD+= ${LIBNETBSD} + .include Modified: projects/mtree/usr.sbin/nmtree/Makefile ============================================================================== --- projects/mtree/usr.sbin/nmtree/Makefile Mon Oct 8 18:33:08 2012 (r241356) +++ projects/mtree/usr.sbin/nmtree/Makefile Mon Oct 8 22:22:05 2012 (r241357) @@ -15,9 +15,15 @@ SRCS= compare.c crc.c create.c exclude verify.c \ getid.c pack_dev.c -SRCS+= sha1.h sha2.h util.c util.h +CFLAGS+= -I${.CURDIR}/../../lib/libnetbsd CFLAGS+= -I${.CURDIR}/../../contrib/mknod .PATH: ${.CURDIR}/../../contrib/mknod +LIBNETBSDDIR= ${.OBJDIR}/../../lib/libnetbsd +LIBNETBSD= ${LIBNETBSDDIR}/libnetbsd.a +DPADD+= ${LIBNETBSD} +LDADD+= ${LIBNETBSD} + + .include From owner-svn-src-projects@FreeBSD.ORG Wed Oct 10 00:11:07 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 728D8D90; Wed, 10 Oct 2012 00:11:07 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5C40B8FC12; Wed, 10 Oct 2012 00:11:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9A0B7gN014013; Wed, 10 Oct 2012 00:11:07 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9A0B7Yo014011; Wed, 10 Oct 2012 00:11:07 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210100011.q9A0B7Yo014011@svn.freebsd.org> From: Neel Natu Date: Wed, 10 Oct 2012 00:11:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241387 - projects/bhyve/sys/dev/acpica X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Oct 2012 00:11:07 -0000 Author: neel Date: Wed Oct 10 00:11:06 2012 New Revision: 241387 URL: http://svn.freebsd.org/changeset/base/241387 Log: Grab the softc from the ACPI host-pci bridge device instead of from the pci endpoint device. Reviewed by: jhb Modified: projects/bhyve/sys/dev/acpica/acpi_pcib_acpi.c Modified: projects/bhyve/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- projects/bhyve/sys/dev/acpica/acpi_pcib_acpi.c Wed Oct 10 00:06:31 2012 (r241386) +++ projects/bhyve/sys/dev/acpica/acpi_pcib_acpi.c Wed Oct 10 00:11:06 2012 (r241387) @@ -502,7 +502,7 @@ acpi_pcib_map_msi(device_t pcib, device_ if (error) return (error); - sc = device_get_softc(dev); + sc = device_get_softc(pcib); if (sc->ap_addr == -1) return (0); /* XXX: Assumes all bridges are on bus 0. */ From owner-svn-src-projects@FreeBSD.ORG Wed Oct 10 16:49:16 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C231D2C2; Wed, 10 Oct 2012 16:49:16 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-la0-f54.google.com (mail-la0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 230278FC08; Wed, 10 Oct 2012 16:49:14 +0000 (UTC) Received: by mail-la0-f54.google.com with SMTP id e12so668155lag.13 for ; Wed, 10 Oct 2012 09:49:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=UuqEr05qFzD9lUOG2xIR9bGCDNaEP40Eo2mYzcDPzCE=; b=OhDO2rFrqtTW8VyrwoCRcx2CKgv6OlB/DAviK2F/O6A9IQNw1caXdZugLhL1+VyJez FIs19SDxcdOBvZ2GivZjDp7wukVSp6C9x/fbY9jHPj3pnY+asmtGRt5f2Dt1LdmO18/k QWw9FUNkh2YMleHtAVYLUP7AYqJ1JR+mLbq+VY7kHXKd4NPA+4NdzKHJJCVs9jMd/RQr A0EOzfahHmSdr9h+NuuQvqXY9Y4OXeaH7p9v3C3APRRlOnvQ3MnUsZXsbwTd1hr8UeAZ CPkKDJJFLkFIR5+mx6EvS0rOuz/wURijSKUNEoQrDPb+Hdmdy/ERPsOTd8oeylTltuKW pNUA== MIME-Version: 1.0 Received: by 10.112.51.205 with SMTP id m13mr9234722lbo.75.1349887753931; Wed, 10 Oct 2012 09:49:13 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.101.234 with HTTP; Wed, 10 Oct 2012 09:49:13 -0700 (PDT) In-Reply-To: References: <201207301350.q6UDobCI099069@svn.freebsd.org> <201207301732.33474.jhb@freebsd.org> Date: Wed, 10 Oct 2012 17:49:13 +0100 X-Google-Sender-Auth: DjoyqutlGnwQbzo8QK1wtszGr2s Message-ID: Subject: Re: svn commit: r238907 - projects/calloutng/sys/kern From: Attilio Rao To: John Baldwin Content-Type: text/plain; charset=UTF-8 Cc: Davide Italiano , src-committers@freebsd.org, Jeff Roberson , Dimitry Andric , svn-src-projects@freebsd.org, Konstantin Belousov X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: attilio@FreeBSD.org List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Oct 2012 16:49:16 -0000 On Tue, Sep 18, 2012 at 1:13 AM, Attilio Rao wrote: > On Thu, Aug 2, 2012 at 9:56 PM, Attilio Rao wrote: >> On 7/30/12, John Baldwin wrote: > > [ trimm ] > >>> --- //depot/projects/smpng/sys/kern/kern_rmlock.c 2012-03-25 >>> 18:45:29.000000000 0000 >>> +++ //depot/user/jhb/lock/kern/kern_rmlock.c 2012-06-18 21:20:58.000000000 >>> 0000 >>> @@ -70,6 +70,9 @@ >>> } >>> >>> static void assert_rm(const struct lock_object *lock, int what); >>> +#ifdef DDB >>> +static void db_show_rm(const struct lock_object *lock); >>> +#endif >>> static void lock_rm(struct lock_object *lock, int how); >>> #ifdef KDTRACE_HOOKS >>> static int owner_rm(const struct lock_object *lock, struct thread >>> **owner); >> >> While here, did you consider also: >> - Abstracting compiler_memory_barrier() into a MI, compiler dependent function? > > So what do you think about this patch? (Please double-check the GIT log). The real reason why I wanted an abstract __compiler_membar() was to cleanly fix a bug that I think affects sched_pin()/sched_unpin() right now. Infact, I think the compiler can reorder operations around them making their usage completely bogus. In addition, td_pinned field is not even marked as volatile, thus I think currently the compiler can decide to do stupid things like caching the value of td_pinned in CPU registers or other optimizations which invalidate scheduler pinning. I reviewed all the possible races involved here with Jeff and John and after some discussion I think that in order to prevent these side effects the usage of compiler memory barriers in the operations is both due and effective (see the attached patch). However, please note that the presence of the compiler membar should not really change the code, assuming current compilers don't screw something up. I verified this is not the case with this very simple environment: - amd64 CURRENT configuration, without the kernel debugging options (in order to increase chances of optimizations) - kernel compared are pre- and post- patch - gcc is default FreeBSD: gcc version 4.2.1 20070831 patched [FreeBSD] [root@netboot-amd64 ~]# ls -al kernel.nopatch.md5 kernel.patch-novolatile.md5 -rwxr-xr-x 1 root wheel 19807568 Oct 10 16:04 kernel.nopatch.md5 -rwxr-xr-x 1 root wheel 19807568 Oct 10 16:41 kernel.patch-novolatile.md5 [root@netboot-amd64 ~]# md5 kernel.nopatch.md5 MD5 (kernel.nopatch.md5) = 7c5c5e33f2547a5e5bc701a3b124f0d9 [root@netboot-amd64 ~]# md5 kernel.patch-novolatile.md5 MD5 (kernel.patch-novolatile.md5) = 91c51afb4cc4ad229cc28da2024d8f54 So as you can see the size of the kernel is not changed but the md5 CRC actually is. This should point in the direction that code actually might have changed (unless someone has a good explanation for this already) and then there could be some code reshuffling due to the use of compiler membars. I also tried a version using volatile for td_pinned. I don't see why this would be needed, but maybe someone would use this for consistency. The following kernel.patch.md5 contains basically the membars and the volatile marker for td_pinned: [root@netboot-amd64 ~]# ls -al kernel.nopatch.md5 kernel.patch.md5 -rwxr-xr-x 1 root wheel 19807568 Oct 10 16:04 kernel.nopatch.md5 -rwxr-xr-x 1 root wheel 19807824 Oct 10 16:09 kernel.patch.md5 As you can see the size of the kernel actually increased. I think that gcc should probabilly produce very unoptimized code for volatile operands, at least that is also what I understood by reading the arguments behind atomic_t type in Linux (not using volatile by default). Considering this, I think I should prevent to be using volatile for td_pinned and possibly we should think carefully when introducing new volatile members in the future. Thanks, Attilio Index: sys/sys/sched.h =================================================================== --- sys/sys/sched.h (revision 241395) +++ sys/sys/sched.h (working copy) @@ -146,11 +146,13 @@ static __inline void sched_pin(void) { curthread->td_pinned++; + __compiler_membar(); } static __inline void sched_unpin(void) { + __compiler_membar(); curthread->td_pinned--; } From owner-svn-src-projects@FreeBSD.ORG Thu Oct 11 17:32:04 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0B8EABEC; Thu, 11 Oct 2012 17:32:04 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E68B08FC14; Thu, 11 Oct 2012 17:32:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9BHW3Ne059029; Thu, 11 Oct 2012 17:32:03 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9BHW3Dq059027; Thu, 11 Oct 2012 17:32:03 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201210111732.q9BHW3Dq059027@svn.freebsd.org> From: Attilio Rao Date: Thu, 11 Oct 2012 17:32:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241447 - projects/fuse/sbin/mount_fusefs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Oct 2012 17:32:04 -0000 Author: attilio Date: Thu Oct 11 17:32:03 2012 New Revision: 241447 URL: http://svn.freebsd.org/changeset/base/241447 Log: - Fix grammar [1]. - Remove /dev/fuseN occurrences and use correct /dev/fuse one. [1] Submitted by: Kevin Oberman Reviewed by: gjb (partially) Modified: projects/fuse/sbin/mount_fusefs/mount_fusefs.8 Modified: projects/fuse/sbin/mount_fusefs/mount_fusefs.8 ============================================================================== --- projects/fuse/sbin/mount_fusefs/mount_fusefs.8 Thu Oct 11 16:15:18 2012 (r241446) +++ projects/fuse/sbin/mount_fusefs/mount_fusefs.8 Thu Oct 11 17:32:03 2012 (r241447) @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 13, 2006 +.Dd October 11, 2012 .Dt MOUNT_FUSEFS 8 .Os .Sh NAME @@ -48,41 +48,35 @@ .Ar special node .Op Ar fuse_daemon ... .Sh DESCRIPTION -The most basic way of usage is as follows: before calling -.Nm , -one starts a fuse daemon on the given +Basic usage is to start a fuse daemon on the given .Ar special -(in practice, the daemon gets one automatically, which can then be indentified -via -.Xr fstat 1 ) , -and that special file can then be mounted by +file. In practice, the daemon is assigned a +.Ar special +file automatically, which can then be indentified via +.Xr fstat 1 . +That special file can then be mounted by .Nm . .Pp -However, the procedure of spawning a daemon can be automated so that it's -also performed by +However, the procedure of spawning a daemon will usually be automated +so that it is performed by .Nm . If the command invoking a given .Ar fuse_daemon is appended to the list of arguments, .Nm -will call then +will call the .Ar fuse_daemon -via that command, in a way that +via that command. In that way the .Ar fuse_daemon will be instructed to attach itself to .Ar special . -From that on mounting goes as in the simple case. (See also +From that on mounting goes as in the simple case. (See .Sx DAEMON MOUNTS . ) .Pp The .Ar special -argument can be utilized by -.Nm -in the following ways: -.Bl -bullet -offset indent -.It -Basicly, it will be treated as the path of the special file to mount. -.It +argument normally will be treated as the path of the special file to mount. +.Pp However, if .Pa auto is passed as @@ -90,47 +84,46 @@ is passed as then .Nm will look for a suitable free fuse device by itself. -.It -Moreover, if +.Pp +Finally, if .Ar special -is an integer, then it will be interpreted as the number +is an integer it will be interpreted as the number of the file descriptor of an already open fuse device (used when the Fuse library invokes -.Nm , -cf. +.Nm . +(See .Sx DAEMON MOUNTS ) . -.El .Pp The options are as follows: .Bl -tag -width indent .It Fl A , Ic --reject-allow_other Prohibit the .Cm allow_other -mount flag. Intended for to be used in scripts and the +mount flag. Intended for use in scripts and the .Xr sudoers 5 file. .It Fl S , Ic --safe -Run in safe mode, that is, reject invoking a filesystem daemon. +Run in safe mode (i.e. reject invoking a filesystem daemon) .It Fl v -Be verbose. +Be verbose .It Fl D, Ic --daemon Ar daemon Call the specified -.Ar daemon . +.Ar daemon .It Fl O, Ic --daemon_opts Ar opts Add .Ar opts -to the daemon's command line. +to the daemon's command line .It Fl s, Ic --special Ar special Use .Ar special -as special. +as special .It Fl m, Ic --mountpath Ar node Mount on -.Ar node . +.Ar node .It Fl h, Ic --help -Show help. +Show help .It Fl V, Ic --version -Show version information. +Show version information .It Fl o Mount options are specified via .Fl o . @@ -139,22 +132,22 @@ by prefixing them with .Dq no ) : .Bl -tag -width indent .It Cm default_permissions -Enable traditional (file mode based) permission checking in kernel. +Enable traditional (file mode based) permission checking in kernel .It Cm allow_other Do not apply .Sx STRICT ACCESS POLICY . -Only root can use this option. +Only root can use this option .It Cm max_read Ns = Ns Ar n -Limit size of read requests with -.Ar n . +Limit size of read requests to +.Ar n .It Cm private Refuse shared mounting of the daemon. This is the default behaviour, -to allow sharing, use expicitly -.Fl o Cm noprivate . +to allow sharing, expicitly use +.Fl o Cm noprivate .It Cm neglect_shares -Don't refuse unmounting if there are secondary mounts. +Don't refuse unmounting if there are secondary mounts .It Cm push_symlinks_in -Prefix absolute symlinks with mountpoint. +Prefix absolute symlinks with the mountpoint .El .Pp .El @@ -165,88 +158,90 @@ are supported by the Fuse library. One c to a Fuse daemon. Most of these options have effect only on the behaviour of the daemon (that is, their scope is limited to userspace). However, there are some which do require in-kernel support. -Currently the following ones are supported by the kernel: +Currently the options supported by the kernel are: .Bl -tag -width indent .It Cm direct_io -Bypass the buffer cache system. +Bypass the buffer cache system .It Cm kernel_cache -By default, cached buffers of a given file are flushed at each +By default cached buffers of a given file are flushed at each .Xr open 2 . -This option disables this behaviour. +This option disables this behaviour .El .Sh DAEMON MOUNTS Usually users don't need to use .Nm directly, as the Fuse library enables Fuse daemons to invoke -.Nm -by themselves. That is, +.Nm . +That is, .Pp -.Dl fuse_daemon mountpoint +.Dl fuse_daemon device mountpoint .Pp has the same effect as .Pp .Dl mount_fusefs auto mountpoint fuse_daemon .Pp -This is the recommended way of usage, unless you want to go beyond basic usage -(eg, run daemon on a low privilege level, but mount it as root). +This is the recommended usage when you want basic usage +(eg, run the daemon at a low privilege level but mount it as root). .Sh STRICT ACCESS POLICY The strict access policy for Fuse filesystems lets one to use the filesystem only if the filesystem daemon has the same credentials (uid, real uid, gid, real gid) as the user. .Pp -This is applied for Fuse mounts by default, and only root can mount without -the strict access policy (cf. the +This is applied for Fuse mounts by default and only root can mount without +the strict access policy (ie. the .Cm allow_other mount option). .Pp -The reason is to shield users from the daemon +This is to shield users from the daemon .Dq spying on their I/O activities. .Pp -Users might opt for willingly relax strict access policy (as far they -are concerned) by doing their own secondary mount (cf. +Users might opt to willingly relax strict access policy (as far they +are concerned) by doing their own secondary mount (See .Sx SHARED MOUNTS ) . .Sh SHARED MOUNTS -A Fuse daemon can be shared, ie. mounted multiple times. +A Fuse daemon can be shared (ie. mounted multiple times). When doing the first (primary) mount, the spawner and the mounter of the daemon must have the same uid, or the mounter should be the superuser. .Pp After the primary mount is in place, secondary mounts can be done by anyone -(unless this feature is disabled by -.Cm private ) . +unless this feature is disabled by +.Cm private . The behaviour of a secondary mount is analogous to that of symbolic links: they redirect all filesystem operations to the primary mount. .Pp Doing a secondary mount is like signing an agreement: by this action, the mounter -agrees that the Fuse daemon can trace her I/O activities. From that on, she is not -banned from using the filesystem (either via her own mount or via the primary mount), -regardless whether +agrees that the Fuse daemon can trace her I/O activities. From then on +she is not banned from using the filesystem (either via her own mount or +via the primary mount), regardless whether .Cm allow_other is used or not. .Pp -The device name of a secondary mount is the device name of the corresponding primary -mount, followed by a '#' character and the index of the secondary mount, like +The device name of a secondary mount is the device name of the corresponding +primary mount, followed by a '#' character and the index of the secondary +mount; e.g. .Pa /dev/fuse0#3 . .Sh SECURITY -System administratos might want to use a custom mount policy (ie., one going beyond the +System administrators might want to use a custom mount policy (ie., one going +beyond the .Va vfs.usermount sysctl). The primary tool for such purposes is .Xr sudo 8 . However, given that .Nm -is capable of invoking an arbitrary program, one must be careful about this. +is capable of invoking an arbitrary program, one must be careful when doing this. .Nm is designed in a way such that it makes that easy. For this purpose, -there are options which disable certain risky features (cf. +there are options which disable certain risky features (ie. .Fl S and .Fl A ) , and command line parsing is done in a flexible way: mixing options and -non-options allowed, but processing them stops at the third non-option argument -(after the first two has been utilized as device and mountpoint). The rest of -the command line specifies the daemon and its arguments. (Alternatively, the -daemon, the special and the mount path can be specified using the respective -options.) Note that +non-options is allowed, but processing them stops at the third non-option +argument (after the first two has been utilized as device and mountpoint). +The rest of the command line specifies the daemon and its arguments. +(Alternatively, the daemon, the special and the mount path can be +specified using the respective options.) Note that .Nm ignores the environment variable .Ev POSIXLY_CORRECT @@ -256,54 +251,55 @@ In general, to be as scripting / .Xr sudoers 5 friendly as possible, no information has a fixed position in the command line, but once a given piece of information is -provided, subsequent arguments/options cannot override it (maybe with the +provided, subsequent arguments/options cannot override it (with the exception of some non-critical ones). .Sh ENVIRONMENT .Bl -tag -width ".Ev MOUNT_FUSEFS_SAFE" .It Ev MOUNT_FUSEFS_SAFE -Setting this has the same effect as the +This has the same effect as the .Fl S option. .It Ev MOUNT_FUSEFS_VERBOSE -Setting this has the same effect as the +This has the same effect as the .Fl v option. .It Ev MOUNT_FUSEFS_IGNORE_UNKNOWN -If this is set, +If set, .Nm will ignore uknown mount options. .It Ev MOUNT_FUSEFS_CALL_BY_LIB -Adjust behaviour to the needs of the FUSE library. Currently it has effect -on help output. +Adjust behaviour to the needs of the FUSE library. Currently it effects +help output. .El .Pp -Although the following variables don't have effect on +Although the following variables don't have any effect on .Nm itself, they affect the behaviour of fuse daemons: .Bl -tag -width ".Ev FUSE_DEV_NAME" .It Ev FUSE_DEV_NAME -Device to get attached to. If not set, the multiplexer path +Device to attach. If not set, the multiplexer path .Ar /dev/fuse is used. .It Ev FUSE_DEV_FD File desciptor of an opened Fuse device to use. Overrides .Ev FUSE_DEV_NAME . .It Ev FUSE_NO_MOUNT -If this is set, the library won't attempt to mount the filesystem, even +If set, the library won't attempt to mount the filesystem, even if a mountpoint argument is supplied. .El .Sh FILES -.Bl -tag -width /dev/fuseN -.It Pa /dev/fuseN -Fuse devices by which the kernel and Fuse daemons can communicate. +.Bl -tag -width /dev/fuse +.It Pa /dev/fuse +Fuse device with which the kernel and Fuse daemons can communicate. .It Pa /dev/fuse The multiplexer path. An .Xr open 2 -performed on it automatically gets passed to a free Fuse device by the kernel (which might be -just created for this puprose). +performed on it automatically is passed to a free Fuse device by the kernel +(which might be created just for this puprose). .El .Sh EXAMPLES -Mounting the example filesystem of the Fuse distribution (from its directory): either +Mount the example filesystem in the Fuse distribution (from its directory): +either .Pp .Dl ./fusexmp /mnt/fuse .Pp @@ -314,8 +310,8 @@ or Doing the same in two steps, using .Pa /dev/fuse0 : .Pp -.Dl FUSE_DEV_NAME=/dev/fuse0 ./fusexmp && -.Dl mount_fusefs /dev/fuse0 /mnt/fuse +.Dl FUSE_DEV_NAME=/dev/fuse ./fusexmp && +.Dl mount_fusefs /dev/fuse /mnt/fuse .Pp A script wrapper for fusexmp which ensures that .Nm @@ -324,25 +320,17 @@ doesn't call any external utility and al .Pp .Dl #!/bin/sh -e .Pp -.Dl n=`ls /dev/fuse* | awk 'END{ print FNR }'` -.Dl FUSE_DEV_NAME=/dev/fuse$n fusexmp -.Dl mount_fusefs -S /dev/fuse$n /mnt/fuse \(lq$@\(rq -.Pp -A better (race-free) script wrapper: -.Pp -.Dl #!/bin/sh -e -.Pp -.Dl exec 3<>/dev/fuse -.Dl FUSE_DEV_FD=3 fusexmp -.Dl mount_fusefs -S 3 /mnt/fuse \(lq$@\(rq +.Dl FUSE_DEV_NAME=/dev/fuse fusexmp +.Dl mount_fusefs -S /dev/fuse /mnt/fuse \(lq$@\(rq .Sh SEE ALSO .Xr fstat 1 , .Xr mount 8 , .Xr umount 8 , .Xr sudo 8 .Sh CAVEATS -Secondary mounts are to be unmounted via their device name. If they attempted to be unmounted via -their filesystem root path, the unmount request will be forwarded to the primary mount path. +Secondary mounts should be unmounted via their device name. If an attempt is +made to be unmount them via their filesystem root path, the unmount request +will be forwarded to the primary mount path. In general, unmounting by device name is less error-prone than by mount path (although the latter will also work under normal circumstances). .Pp @@ -352,17 +340,17 @@ and .Fl O options, it will be invoked via .Xr system 3 , -and the daemon's command line will be also appended a +and the daemon's command line will also have an .Dq & -sygill, so that we don't have to wait for its termination. That is, you'd better -use a simple command line when invoking the daemon via these options. +control operator appended, so that we don't have to wait for its termination. +You should use a simple command line when invoking the daemon via these options. .Sh HISTORY .Nm appears as the part of the FreeBSD implementation of the Fuse userspace filesystem framework (see http://fuse.sourceforge.net). This user interface is FreeBSD specific. .Sh BUGS .Ar special -is treated as a multiplexer if and only if it's literally the same as +is treated as a multiplexer if and only if it is literally the same as .Pa auto or .Pa /dev/fuse . From owner-svn-src-projects@FreeBSD.ORG Thu Oct 11 19:28:08 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9B8FF565; Thu, 11 Oct 2012 19:28:08 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 854D08FC17; Thu, 11 Oct 2012 19:28:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9BJS8Mo073251; Thu, 11 Oct 2012 19:28:08 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9BJS8p5073249; Thu, 11 Oct 2012 19:28:08 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210111928.q9BJS8p5073249@svn.freebsd.org> From: Neel Natu Date: Thu, 11 Oct 2012 19:28:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241452 - projects/bhyve/sys/amd64/vmm/io X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Oct 2012 19:28:08 -0000 Author: neel Date: Thu Oct 11 19:28:07 2012 New Revision: 241452 URL: http://svn.freebsd.org/changeset/base/241452 Log: Deliver the MSI to the correct guest virtual cpu. Prior to this change the MSI was being delivered unconditionally to vcpu 0 regardless of how the guest programmed the MSI delivery. Modified: projects/bhyve/sys/amd64/vmm/io/ppt.c Modified: projects/bhyve/sys/amd64/vmm/io/ppt.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/io/ppt.c Thu Oct 11 18:41:32 2012 (r241451) +++ projects/bhyve/sys/amd64/vmm/io/ppt.c Thu Oct 11 19:28:07 2012 (r241452) @@ -71,8 +71,6 @@ static struct pptdev { struct vm_memory_segment mmio[MAX_MMIOSEGS]; struct { int num_msgs; /* guest state */ - int vector; - int vcpu; int startrid; /* host state */ struct resource *res[MAX_MSIMSGS]; @@ -478,8 +476,6 @@ ppt_setup_msi(struct vm *vm, int vcpu, i } } - ppt->msi.vector = vector; - ppt->msi.vcpu = destcpu; ppt->msi.startrid = startrid; /* @@ -497,6 +493,7 @@ ppt_setup_msi(struct vm *vm, int vcpu, i ppt->msi.arg[i].pptdev = ppt; ppt->msi.arg[i].vec = vector + i; + ppt->msi.arg[i].vcpu = destcpu; error = bus_setup_intr(ppt->dev, ppt->msi.res[i], INTR_TYPE_NET | INTR_MPSAFE, From owner-svn-src-projects@FreeBSD.ORG Thu Oct 11 19:39:47 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 484BE8C9; Thu, 11 Oct 2012 19:39:47 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2AD278FC0C; Thu, 11 Oct 2012 19:39:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9BJdlk5074805; Thu, 11 Oct 2012 19:39:47 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9BJdkis074778; Thu, 11 Oct 2012 19:39:46 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201210111939.q9BJdkis074778@svn.freebsd.org> From: Attilio Rao Date: Thu, 11 Oct 2012 19:39:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241453 - in projects/fuse: . bin/ls bin/rm cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libzfs/common cddl/lib/libzpool c... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Oct 2012 19:39:47 -0000 Author: attilio Date: Thu Oct 11 19:39:45 2012 New Revision: 241453 URL: http://svn.freebsd.org/changeset/base/241453 Log: MFC @ r238400 Added: projects/fuse/contrib/bmake/ - copied from r241451, head/contrib/bmake/ projects/fuse/contrib/libpcap/pcap-canusb-linux.c - copied unchanged from r241451, head/contrib/libpcap/pcap-canusb-linux.c projects/fuse/contrib/libpcap/pcap-canusb-linux.h - copied unchanged from r241451, head/contrib/libpcap/pcap-canusb-linux.h projects/fuse/contrib/libpcap/tests/ - copied from r241451, head/contrib/libpcap/tests/ projects/fuse/contrib/tcpdump/print-pfsync.c - copied unchanged from r241451, head/contrib/tcpdump/print-pfsync.c projects/fuse/contrib/tcpdump/print-tipc.c - copied unchanged from r241451, head/contrib/tcpdump/print-tipc.c projects/fuse/release/doc/de_DE.ISO8859-1/early-adopter/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/early-adopter/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/errata/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/errata/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/alpha/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/alpha/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/alpha/proc-alpha.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/alpha/proc-alpha.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/artheader.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/common/artheader.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/dev.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/common/dev.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/intro.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/common/intro.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/i386/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/i386/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/i386/proc-i386.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/i386/proc-i386.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/ia64/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/ia64/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/ia64/proc-ia64.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/ia64/proc-ia64.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/pc98/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/pc98/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/pc98/proc-pc98.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/pc98/proc-pc98.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/sparc64/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/dev-sparc64.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/sparc64/dev-sparc64.xml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/proc-sparc64.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/hardware/sparc64/proc-sparc64.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/alpha/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/alpha/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/abstract.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/common/abstract.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/artheader.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/common/artheader.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/install.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/common/install.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/layout.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/common/layout.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/trouble.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/common/trouble.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/upgrade.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/common/upgrade.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/i386/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/i386/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/ia64/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/ia64/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/pc98/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/pc98/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/sparc64/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/sparc64/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/installation/sparc64/install.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/installation/sparc64/install.xml projects/fuse/release/doc/de_DE.ISO8859-1/readme/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/readme/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/alpha/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/relnotes/alpha/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/common/new.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/relnotes/common/new.xml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/i386/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/relnotes/i386/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/ia64/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/relnotes/ia64/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/pc98/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/relnotes/pc98/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/sparc64/article.xml - copied unchanged from r241451, head/release/doc/de_DE.ISO8859-1/relnotes/sparc64/article.xml projects/fuse/release/doc/de_DE.ISO8859-1/share/xml/ - copied from r241451, head/release/doc/de_DE.ISO8859-1/share/xml/ projects/fuse/release/doc/en_US.ISO8859-1/errata/article.xml - copied unchanged from r241451, head/release/doc/en_US.ISO8859-1/errata/article.xml projects/fuse/release/doc/en_US.ISO8859-1/hardware/article.xml - copied unchanged from r241451, head/release/doc/en_US.ISO8859-1/hardware/article.xml projects/fuse/release/doc/en_US.ISO8859-1/readme/article.xml - copied unchanged from r241451, head/release/doc/en_US.ISO8859-1/readme/article.xml projects/fuse/release/doc/en_US.ISO8859-1/relnotes/article.xml - copied unchanged from r241451, head/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/fuse/release/doc/en_US.ISO8859-1/share/xml/ - copied from r241451, head/release/doc/en_US.ISO8859-1/share/xml/ projects/fuse/release/doc/fr_FR.ISO8859-1/early-adopter/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/early-adopter/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/errata/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/errata/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/alpha/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/alpha/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/alpha/proc-alpha.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/alpha/proc-alpha.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/artheader.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/common/artheader.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/dev.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/common/dev.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/intro.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/common/intro.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/i386/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/i386/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/i386/proc-i386.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/i386/proc-i386.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/ia64/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/ia64/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/ia64/proc-ia64.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/ia64/proc-ia64.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/pc98/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/pc98/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/pc98/proc-pc98.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/pc98/proc-pc98.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/sparc64/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/dev-sparc64.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/sparc64/dev-sparc64.xml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/proc-sparc64.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/hardware/sparc64/proc-sparc64.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/alpha/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/alpha/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/abstract.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/common/abstract.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/artheader.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/common/artheader.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/install.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/common/install.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/layout.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/common/layout.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/trouble.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/common/trouble.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/upgrade.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/common/upgrade.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/i386/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/i386/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/pc98/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/pc98/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/sparc64/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/install.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/installation/sparc64/install.xml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/alpha/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/relnotes/alpha/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/common/new.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/relnotes/common/new.xml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/i386/article.xml - copied unchanged from r241451, head/release/doc/fr_FR.ISO8859-1/relnotes/i386/article.xml projects/fuse/release/doc/fr_FR.ISO8859-1/share/xml/ - copied from r241451, head/release/doc/fr_FR.ISO8859-1/share/xml/ projects/fuse/release/doc/ja_JP.eucJP/errata/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/errata/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/alpha/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/alpha/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/amd64/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/amd64/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/amd64/proc-amd64.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/amd64/proc-amd64.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/common/artheader.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/common/artheader.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/common/dev.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/common/dev.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/common/intro.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/common/intro.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/i386/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/i386/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/i386/proc-i386.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/i386/proc-i386.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/ia64/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/ia64/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/ia64/proc-ia64.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/ia64/proc-ia64.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/pc98/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/pc98/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/pc98/proc-pc98.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/pc98/proc-pc98.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/sparc64/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/sparc64/article.xml projects/fuse/release/doc/ja_JP.eucJP/hardware/sparc64/proc-sparc64.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/hardware/sparc64/proc-sparc64.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/alpha/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/alpha/article.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/amd64/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/amd64/article.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/common/new.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/common/new.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/i386/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/i386/article.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/ia64/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/ia64/article.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/pc98/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/pc98/article.xml projects/fuse/release/doc/ja_JP.eucJP/relnotes/sparc64/article.xml - copied unchanged from r241451, head/release/doc/ja_JP.eucJP/relnotes/sparc64/article.xml projects/fuse/release/doc/ja_JP.eucJP/share/xml/ - copied from r241451, head/release/doc/ja_JP.eucJP/share/xml/ projects/fuse/release/doc/ru_RU.KOI8-R/errata/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/errata/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/alpha/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/alpha/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/amd64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/amd64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/amd64/proc-amd64.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/amd64/proc-amd64.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/artheader.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/common/artheader.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/dev.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/common/dev.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/intro.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/common/intro.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/i386/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/i386/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/i386/proc-i386.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/i386/proc-i386.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/ia64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/ia64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/ia64/proc-ia64.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/ia64/proc-ia64.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/pc98/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/pc98/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/pc98/proc-pc98.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/pc98/proc-pc98.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/sparc64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/sparc64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/sparc64/proc-sparc64.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/hardware/sparc64/proc-sparc64.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/alpha/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/alpha/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/amd64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/amd64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/abstract.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/common/abstract.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/artheader.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/common/artheader.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/install.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/common/install.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/layout.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/common/layout.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/trouble.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/common/trouble.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/upgrade.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/common/upgrade.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/i386/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/i386/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/ia64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/ia64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/pc98/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/pc98/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/installation/sparc64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/installation/sparc64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/readme/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/readme/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/alpha/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/alpha/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/amd64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/amd64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/common/new.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/common/new.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/i386/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/i386/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/ia64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/ia64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/pc98/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/pc98/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/sparc64/article.xml - copied unchanged from r241451, head/release/doc/ru_RU.KOI8-R/relnotes/sparc64/article.xml projects/fuse/release/doc/ru_RU.KOI8-R/share/xml/ - copied from r241451, head/release/doc/ru_RU.KOI8-R/share/xml/ projects/fuse/release/doc/share/xml/ - copied from r241451, head/release/doc/share/xml/ projects/fuse/release/doc/zh_CN.GB2312/errata/article.xml - copied unchanged from r241451, head/release/doc/zh_CN.GB2312/errata/article.xml projects/fuse/release/doc/zh_CN.GB2312/hardware/article.xml - copied unchanged from r241451, head/release/doc/zh_CN.GB2312/hardware/article.xml projects/fuse/release/doc/zh_CN.GB2312/readme/article.xml - copied unchanged from r241451, head/release/doc/zh_CN.GB2312/readme/article.xml projects/fuse/release/doc/zh_CN.GB2312/relnotes/article.xml - copied unchanged from r241451, head/release/doc/zh_CN.GB2312/relnotes/article.xml projects/fuse/release/doc/zh_CN.GB2312/share/xml/ - copied from r241451, head/release/doc/zh_CN.GB2312/share/xml/ projects/fuse/share/man/man4/nvd.4 - copied unchanged from r241451, head/share/man/man4/nvd.4 projects/fuse/share/man/man4/nvme.4 - copied unchanged from r241451, head/share/man/man4/nvme.4 projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/trim_map.h - copied unchanged from r241451, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/trim_map.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c - copied unchanged from r241451, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c projects/fuse/tools/build/options/WITH_BMAKE - copied unchanged from r241451, head/tools/build/options/WITH_BMAKE projects/fuse/tools/regression/bin/sh/parser/alias7.0 - copied unchanged from r241451, head/tools/regression/bin/sh/parser/alias7.0 projects/fuse/tools/regression/bin/sh/parser/alias8.0 - copied unchanged from r241451, head/tools/regression/bin/sh/parser/alias8.0 projects/fuse/tools/regression/net/ - copied from r241451, head/tools/regression/net/ projects/fuse/usr.bin/bmake/ - copied from r241451, head/usr.bin/bmake/ projects/fuse/usr.sbin/sysrc/ - copied from r241451, head/usr.sbin/sysrc/ Deleted: projects/fuse/contrib/libpcap/net/ projects/fuse/contrib/libpcap/test/ projects/fuse/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/errata/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/alpha/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/alpha/proc-alpha.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/artheader.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/dev.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/intro.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/i386/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/i386/proc-i386.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/ia64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/ia64/proc-ia64.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/pc98/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/pc98/proc-pc98.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/dev-sparc64.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/proc-sparc64.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/alpha/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/abstract.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/artheader.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/install.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/layout.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/trouble.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/upgrade.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/i386/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/ia64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/pc98/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/sparc64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/sparc64/install.sgml projects/fuse/release/doc/de_DE.ISO8859-1/readme/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/alpha/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/common/new.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/i386/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/ia64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/pc98/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/sparc64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/share/sgml/ projects/fuse/release/doc/en_US.ISO8859-1/errata/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/hardware/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/readme/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/relnotes/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/share/sgml/ projects/fuse/release/doc/fr_FR.ISO8859-1/early-adopter/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/errata/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/alpha/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/alpha/proc-alpha.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/artheader.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/dev.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/intro.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/i386/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/i386/proc-i386.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/ia64/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/ia64/proc-ia64.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/pc98/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/pc98/proc-pc98.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/dev-sparc64.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/proc-sparc64.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/alpha/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/abstract.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/artheader.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/install.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/layout.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/trouble.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/upgrade.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/i386/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/pc98/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/install.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/alpha/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/common/new.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/i386/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/share/sgml/ projects/fuse/release/doc/ja_JP.eucJP/errata/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/alpha/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/amd64/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/amd64/proc-amd64.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/common/artheader.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/common/dev.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/common/intro.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/i386/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/i386/proc-i386.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/ia64/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/ia64/proc-ia64.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/pc98/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/pc98/proc-pc98.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/sparc64/article.sgml projects/fuse/release/doc/ja_JP.eucJP/hardware/sparc64/proc-sparc64.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/alpha/article.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/amd64/article.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/common/new.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/i386/article.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/ia64/article.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/pc98/article.sgml projects/fuse/release/doc/ja_JP.eucJP/relnotes/sparc64/article.sgml projects/fuse/release/doc/ja_JP.eucJP/share/sgml/ projects/fuse/release/doc/ru_RU.KOI8-R/errata/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/alpha/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/amd64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/amd64/proc-amd64.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/artheader.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/dev.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/intro.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/i386/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/i386/proc-i386.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/ia64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/ia64/proc-ia64.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/pc98/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/pc98/proc-pc98.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/sparc64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/hardware/sparc64/proc-sparc64.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/alpha/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/amd64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/abstract.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/artheader.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/install.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/layout.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/trouble.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/upgrade.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/i386/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/ia64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/pc98/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/installation/sparc64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/readme/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/alpha/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/amd64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/i386/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/ia64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/pc98/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/sparc64/article.sgml projects/fuse/release/doc/ru_RU.KOI8-R/share/sgml/ projects/fuse/release/doc/share/sgml/ projects/fuse/release/doc/zh_CN.GB2312/errata/article.sgml projects/fuse/release/doc/zh_CN.GB2312/hardware/article.sgml projects/fuse/release/doc/zh_CN.GB2312/readme/article.sgml projects/fuse/release/doc/zh_CN.GB2312/relnotes/article.sgml projects/fuse/release/doc/zh_CN.GB2312/share/sgml/ projects/fuse/sys/dev/mlx/mlx_compat.h Modified: projects/fuse/MAINTAINERS (contents, props changed) projects/fuse/Makefile projects/fuse/Makefile.inc1 projects/fuse/ObsoleteFiles.inc projects/fuse/UPDATING projects/fuse/bin/ls/ls.c projects/fuse/bin/ls/print.c projects/fuse/bin/rm/rm.c projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c projects/fuse/cddl/lib/libzpool/Makefile projects/fuse/contrib/bind9/CHANGES projects/fuse/contrib/bind9/bin/named/query.c projects/fuse/contrib/bind9/version projects/fuse/contrib/groff/tmac/doc-syms projects/fuse/contrib/libpcap/CHANGES projects/fuse/contrib/libpcap/CREDITS projects/fuse/contrib/libpcap/Makefile.in projects/fuse/contrib/libpcap/VERSION projects/fuse/contrib/libpcap/config.h.in projects/fuse/contrib/libpcap/configure projects/fuse/contrib/libpcap/configure.in projects/fuse/contrib/libpcap/gencode.c projects/fuse/contrib/libpcap/gencode.h projects/fuse/contrib/libpcap/optimize.c projects/fuse/contrib/libpcap/packaging/pcap.spec.in projects/fuse/contrib/libpcap/pcap-bpf.c projects/fuse/contrib/libpcap/pcap-common.c projects/fuse/contrib/libpcap/pcap-linux.c projects/fuse/contrib/libpcap/pcap-netfilter-linux.c projects/fuse/contrib/libpcap/pcap.c projects/fuse/contrib/libpcap/pcap/bpf.h projects/fuse/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/fuse/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/fuse/contrib/llvm/lib/Support/Host.cpp projects/fuse/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/fuse/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h projects/fuse/contrib/llvm/lib/Target/MBlaze/MCTargetDesc/MBlazeAsmBackend.cpp projects/fuse/contrib/llvm/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.h projects/fuse/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/fuse/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h projects/fuse/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp projects/fuse/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h projects/fuse/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/fuse/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/fuse/contrib/llvm/lib/Target/X86/X86.td projects/fuse/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/fuse/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/fuse/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/fuse/contrib/tcpdump/CHANGES projects/fuse/contrib/tcpdump/CREDITS projects/fuse/contrib/tcpdump/Makefile.in projects/fuse/contrib/tcpdump/VERSION projects/fuse/contrib/tcpdump/configure projects/fuse/contrib/tcpdump/configure.in projects/fuse/contrib/tcpdump/decode_prefix.h projects/fuse/contrib/tcpdump/ethertype.h projects/fuse/contrib/tcpdump/forces.h projects/fuse/contrib/tcpdump/interface.h projects/fuse/contrib/tcpdump/ipproto.c projects/fuse/contrib/tcpdump/netdissect.h projects/fuse/contrib/tcpdump/print-802_11.c projects/fuse/contrib/tcpdump/print-bgp.c projects/fuse/contrib/tcpdump/print-ether.c projects/fuse/contrib/tcpdump/print-forces.c projects/fuse/contrib/tcpdump/print-icmp6.c projects/fuse/contrib/tcpdump/print-igmp.c projects/fuse/contrib/tcpdump/print-ip.c projects/fuse/contrib/tcpdump/print-ip6opts.c projects/fuse/contrib/tcpdump/print-ldp.c projects/fuse/contrib/tcpdump/print-lldp.c projects/fuse/contrib/tcpdump/print-lwapp.c projects/fuse/contrib/tcpdump/print-ospf6.c projects/fuse/contrib/tcpdump/print-pim.c projects/fuse/contrib/tcpdump/print-pppoe.c projects/fuse/contrib/tcpdump/print-rrcp.c projects/fuse/contrib/tcpdump/tcpdump.1.in projects/fuse/contrib/tcpdump/tcpdump.c projects/fuse/contrib/telnet/telnetd/state.c projects/fuse/etc/devd.conf projects/fuse/etc/devd/usb.conf projects/fuse/games/fortune/datfiles/freebsd-tips projects/fuse/gnu/usr.bin/cc/cc_int/Makefile projects/fuse/gnu/usr.bin/cc/include/Makefile projects/fuse/include/rpc/auth.h projects/fuse/include/rpc/auth_unix.h projects/fuse/include/stdatomic.h projects/fuse/kerberos5/Makefile projects/fuse/kerberos5/tools/asn1_compile/Makefile projects/fuse/kerberos5/tools/slc/Makefile projects/fuse/lib/clang/include/Makefile projects/fuse/lib/libc/gen/arc4random.c projects/fuse/lib/libc/gen/fstab.c projects/fuse/lib/libc/gen/fts-compat.c projects/fuse/lib/libc/gen/fts.c projects/fuse/lib/libc/gen/getcap.c projects/fuse/lib/libc/gen/getcwd.c projects/fuse/lib/libc/gen/nlist.c projects/fuse/lib/libc/gen/opendir.c projects/fuse/lib/libc/gen/pututxline.c projects/fuse/lib/libc/gen/readpassphrase.c projects/fuse/lib/libc/gen/sem_new.c projects/fuse/lib/libc/gen/syslog.c projects/fuse/lib/libc/locale/ldpart.c projects/fuse/lib/libc/nls/msgcat.c projects/fuse/lib/libc/rpc/auth_unix.c projects/fuse/lib/libc/rpc/authunix_prot.c projects/fuse/lib/libc/rpc/clnt_perror.c projects/fuse/lib/libc/rpc/rpc_generic.c projects/fuse/lib/libc/rpc/rpc_soc.3 projects/fuse/lib/libc/rpc/rpcb_clnt.c projects/fuse/lib/libc/rpc/svc_auth_unix.c projects/fuse/lib/libc/rpc/svc_run.c projects/fuse/lib/libc/stdlib/getenv.c projects/fuse/lib/libc/stdlib/rand.c projects/fuse/lib/libc/stdlib/random.c projects/fuse/lib/libc/string/ffs.3 projects/fuse/lib/libc/sys/sigaction.2 projects/fuse/lib/libc/sys/sigwait.2 projects/fuse/lib/libc/sys/sigwaitinfo.2 projects/fuse/lib/libc/yp/yplib.c projects/fuse/lib/libedit/read.c projects/fuse/lib/libjail/jail.c projects/fuse/lib/libkvm/kvm_proc.c projects/fuse/lib/libpam/modules/pam_radius/pam_radius.c projects/fuse/lib/libpcap/config.h projects/fuse/lib/libpmc/Makefile projects/fuse/lib/libprocstat/libprocstat.c projects/fuse/lib/libstand/nandfs.c projects/fuse/lib/libstand/nfs.c projects/fuse/lib/libusbhid/descr.c projects/fuse/lib/libusbhid/parse.c projects/fuse/lib/libusbhid/usbhid.3 projects/fuse/lib/msun/ld128/s_expl.c projects/fuse/lib/msun/ld80/s_expl.c projects/fuse/lib/msun/src/math_private.h projects/fuse/lib/msun/src/s_cosl.c projects/fuse/lib/msun/src/s_sinl.c projects/fuse/lib/msun/src/s_tanl.c projects/fuse/libexec/atrun/atrun.c projects/fuse/release/Makefile projects/fuse/release/doc/Makefile projects/fuse/release/doc/README projects/fuse/release/doc/de_DE.ISO8859-1/early-adopter/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/errata/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/hardware/alpha/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/hardware/common/hw.ent projects/fuse/release/doc/de_DE.ISO8859-1/hardware/i386/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/hardware/ia64/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/hardware/pc98/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/installation/alpha/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/install.ent projects/fuse/release/doc/de_DE.ISO8859-1/installation/i386/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/installation/ia64/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/installation/pc98/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/installation/sparc64/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/readme/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/alpha/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/common/relnotes.ent projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/i386/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/ia64/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/pc98/Makefile projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/sparc64/Makefile projects/fuse/release/doc/en_US.ISO8859-1/errata/Makefile projects/fuse/release/doc/en_US.ISO8859-1/hardware/Makefile projects/fuse/release/doc/en_US.ISO8859-1/readme/Makefile projects/fuse/release/doc/en_US.ISO8859-1/relnotes/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/early-adopter/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/errata/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/alpha/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/hw.ent projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/i386/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/ia64/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/pc98/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/installation/alpha/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/install.ent projects/fuse/release/doc/fr_FR.ISO8859-1/installation/i386/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/installation/pc98/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/alpha/Makefile projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/common/relnotes.ent projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/i386/Makefile projects/fuse/release/doc/ja_JP.eucJP/errata/Makefile projects/fuse/release/doc/ja_JP.eucJP/hardware/alpha/Makefile projects/fuse/release/doc/ja_JP.eucJP/hardware/amd64/Makefile projects/fuse/release/doc/ja_JP.eucJP/hardware/common/hw.ent projects/fuse/release/doc/ja_JP.eucJP/hardware/i386/Makefile projects/fuse/release/doc/ja_JP.eucJP/hardware/ia64/Makefile projects/fuse/release/doc/ja_JP.eucJP/hardware/pc98/Makefile projects/fuse/release/doc/ja_JP.eucJP/hardware/sparc64/Makefile projects/fuse/release/doc/ja_JP.eucJP/relnotes/alpha/Makefile projects/fuse/release/doc/ja_JP.eucJP/relnotes/amd64/Makefile projects/fuse/release/doc/ja_JP.eucJP/relnotes/common/relnotes.ent projects/fuse/release/doc/ja_JP.eucJP/relnotes/i386/Makefile projects/fuse/release/doc/ja_JP.eucJP/relnotes/ia64/Makefile projects/fuse/release/doc/ja_JP.eucJP/relnotes/pc98/Makefile projects/fuse/release/doc/ja_JP.eucJP/relnotes/sparc64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/errata/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/hardware/alpha/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/hardware/amd64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/hardware/common/hw.ent projects/fuse/release/doc/ru_RU.KOI8-R/hardware/i386/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/hardware/ia64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/hardware/pc98/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/hardware/sparc64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/installation/alpha/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/installation/amd64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/installation/common/install.ent projects/fuse/release/doc/ru_RU.KOI8-R/installation/i386/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/installation/ia64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/installation/pc98/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/installation/sparc64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/readme/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/alpha/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/amd64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/common/relnotes.ent projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/i386/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/ia64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/pc98/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/relnotes/sparc64/Makefile projects/fuse/release/doc/ru_RU.KOI8-R/share/examples/dev-auto-translate.pl projects/fuse/release/doc/share/mk/doc.relnotes.mk projects/fuse/release/doc/zh_CN.GB2312/errata/Makefile projects/fuse/release/doc/zh_CN.GB2312/hardware/Makefile projects/fuse/release/doc/zh_CN.GB2312/readme/Makefile projects/fuse/release/doc/zh_CN.GB2312/relnotes/Makefile projects/fuse/release/generate-release.sh projects/fuse/sbin/devd/devd.cc projects/fuse/sbin/dump/traverse.c projects/fuse/sbin/fsck_ffs/fsutil.c projects/fuse/sbin/fsck_ffs/gjournal.c projects/fuse/sbin/fsck_ffs/inode.c projects/fuse/sbin/fsck_ffs/main.c projects/fuse/sbin/fsck_ffs/pass1.c projects/fuse/sbin/fsck_ffs/pass2.c projects/fuse/sbin/fsck_ffs/pass4.c projects/fuse/sbin/fsck_ffs/suj.c projects/fuse/sbin/fsdb/fsdb.c projects/fuse/sbin/fsdb/fsdbutil.c projects/fuse/sbin/fsirand/fsirand.c projects/fuse/sbin/growfs/growfs.c projects/fuse/sbin/ipfw/ipv6.c projects/fuse/sbin/newfs/mkfs.c projects/fuse/sbin/pfctl/pf_print_state.c projects/fuse/sbin/quotacheck/quotacheck.c projects/fuse/sbin/restore/dirs.c projects/fuse/sbin/restore/interactive.c projects/fuse/sbin/restore/restore.c projects/fuse/sbin/restore/symtab.c projects/fuse/sbin/restore/tape.c projects/fuse/sbin/tunefs/tunefs.c projects/fuse/share/examples/cvsup/ports-supfile projects/fuse/share/man/man4/Makefile projects/fuse/share/man/man4/ata.4 projects/fuse/share/man/man4/carp.4 projects/fuse/share/man/man4/ip6.4 projects/fuse/share/man/man4/ng_ppp.4 projects/fuse/share/man/man4/vale.4 projects/fuse/share/man/man5/fstab.5 projects/fuse/share/man/man5/src.conf.5 projects/fuse/share/man/man7/build.7 projects/fuse/share/man/man7/development.7 projects/fuse/share/man/man9/buf_ring.9 projects/fuse/share/man/man9/drbr.9 projects/fuse/share/man/man9/pfil.9 projects/fuse/share/mk/bsd.compiler.mk projects/fuse/share/mk/bsd.crunchgen.mk projects/fuse/share/mk/bsd.dep.mk projects/fuse/share/mk/bsd.obj.mk projects/fuse/share/mk/bsd.own.mk projects/fuse/share/mk/bsd.subdir.mk projects/fuse/share/mk/bsd.sys.mk projects/fuse/share/mk/sys.mk projects/fuse/sys/amd64/amd64/identcpu.c projects/fuse/sys/amd64/amd64/machdep.c projects/fuse/sys/amd64/amd64/mp_machdep.c projects/fuse/sys/amd64/amd64/pmap.c projects/fuse/sys/amd64/include/atomic.h projects/fuse/sys/amd64/include/intr_machdep.h projects/fuse/sys/amd64/include/pc/bios.h projects/fuse/sys/arm/arm/machdep.c projects/fuse/sys/arm/arm/pmap-v6.c projects/fuse/sys/arm/arm/pmap.c projects/fuse/sys/arm/at91/at91_machdep.c projects/fuse/sys/arm/at91/at91_rtc.c projects/fuse/sys/arm/at91/at91_rtcreg.h projects/fuse/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/fuse/sys/arm/conf/BEAGLEBONE projects/fuse/sys/arm/econa/econa_machdep.c projects/fuse/sys/arm/include/atomic.h projects/fuse/sys/arm/include/machdep.h projects/fuse/sys/arm/include/pmap.h projects/fuse/sys/arm/lpc/lpc_machdep.c projects/fuse/sys/arm/mv/mv_machdep.c projects/fuse/sys/arm/s3c2xx0/s3c24x0_machdep.c projects/fuse/sys/arm/sa11x0/assabet_machdep.c projects/fuse/sys/arm/tegra/tegra2_machdep.c projects/fuse/sys/arm/ti/ti_machdep.c projects/fuse/sys/arm/ti/usb/omap_ehci.c projects/fuse/sys/arm/xscale/i80321/ep80219_machdep.c projects/fuse/sys/arm/xscale/i80321/iq31244_machdep.c projects/fuse/sys/arm/xscale/i8134x/crb_machdep.c projects/fuse/sys/arm/xscale/ixp425/avila_machdep.c projects/fuse/sys/arm/xscale/pxa/pxa_machdep.c projects/fuse/sys/boot/common/bootstrap.h projects/fuse/sys/boot/common/console.c projects/fuse/sys/boot/common/disk.c projects/fuse/sys/boot/common/disk.h projects/fuse/sys/boot/common/module.c projects/fuse/sys/boot/common/reloc_elf.c projects/fuse/sys/boot/forth/beastie.4th projects/fuse/sys/boot/forth/color.4th.8 projects/fuse/sys/boot/forth/loader.4th projects/fuse/sys/boot/forth/menu-commands.4th projects/fuse/sys/boot/forth/menu.4th projects/fuse/sys/boot/i386/boot2/boot2.c projects/fuse/sys/boot/i386/boot2/lib.h projects/fuse/sys/boot/i386/boot2/sio.S projects/fuse/sys/boot/i386/btx/btx/btx.S projects/fuse/sys/boot/i386/gptboot/gptboot.c projects/fuse/sys/boot/i386/libi386/biosdisk.c projects/fuse/sys/boot/i386/libi386/comconsole.c projects/fuse/sys/boot/i386/loader/Makefile projects/fuse/sys/boot/i386/loader/conf.c projects/fuse/sys/boot/i386/loader/main.c projects/fuse/sys/boot/i386/zfsboot/zfsboot.c projects/fuse/sys/boot/pc98/loader/main.c projects/fuse/sys/boot/uboot/lib/disk.c projects/fuse/sys/boot/userboot/test/test.c projects/fuse/sys/boot/userboot/userboot.h projects/fuse/sys/boot/userboot/userboot/libuserboot.h projects/fuse/sys/boot/userboot/userboot/main.c projects/fuse/sys/boot/userboot/userboot/userboot_disk.c projects/fuse/sys/boot/zfs/libzfs.h projects/fuse/sys/boot/zfs/zfs.c projects/fuse/sys/boot/zfs/zfsimpl.c projects/fuse/sys/cam/ata/ata_da.c projects/fuse/sys/cam/ata/ata_pmp.c projects/fuse/sys/cam/ata/ata_xpt.c projects/fuse/sys/cam/cam_queue.c projects/fuse/sys/cam/cam_xpt.c projects/fuse/sys/cam/ctl/ctl.c projects/fuse/sys/cam/ctl/ctl_backend_block.c projects/fuse/sys/cam/ctl/ctl_backend_ramdisk.c projects/fuse/sys/cam/ctl/scsi_ctl.c projects/fuse/sys/cam/scsi/scsi_cd.c projects/fuse/sys/cam/scsi/scsi_ch.c projects/fuse/sys/cam/scsi/scsi_da.c projects/fuse/sys/cam/scsi/scsi_pass.c projects/fuse/sys/cam/scsi/scsi_sa.c projects/fuse/sys/cam/scsi/scsi_sg.c projects/fuse/sys/cam/scsi/scsi_xpt.c projects/fuse/sys/cddl/compat/opensolaris/sys/dkio.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa_impl.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/fuse/sys/compat/linux/linux_misc.c projects/fuse/sys/conf/newvers.sh projects/fuse/sys/contrib/altq/altq/altq_priq.c projects/fuse/sys/contrib/altq/altq/altq_red.c projects/fuse/sys/contrib/altq/altq/altq_rio.c projects/fuse/sys/contrib/altq/altq/altq_rmclass.c projects/fuse/sys/contrib/ipfilter/netinet/fil.c projects/fuse/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c projects/fuse/sys/contrib/rdma/rdma_addr.c projects/fuse/sys/dev/aac/aac_cam.c projects/fuse/sys/dev/acpica/acpi_pcib_acpi.c projects/fuse/sys/dev/ale/if_ale.c projects/fuse/sys/dev/amr/amr.c projects/fuse/sys/dev/arcmsr/arcmsr.c projects/fuse/sys/dev/ata/ata-all.c projects/fuse/sys/dev/ata/ata-all.h projects/fuse/sys/dev/ata/ata-sata.c projects/fuse/sys/dev/ath/ath_hal/ar5416/ar2133.c projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c projects/fuse/sys/dev/ath/ath_hal/ar9002/ar9280.c projects/fuse/sys/dev/ath/if_ath.c projects/fuse/sys/dev/ath/if_ath_debug.c projects/fuse/sys/dev/ath/if_ath_debug.h projects/fuse/sys/dev/ath/if_ath_rx.c projects/fuse/sys/dev/ath/if_ath_rx_edma.c projects/fuse/sys/dev/ath/if_ath_sysctl.c projects/fuse/sys/dev/ath/if_ath_tx.c projects/fuse/sys/dev/ath/if_ath_tx.h projects/fuse/sys/dev/ath/if_ath_tx_ht.c projects/fuse/sys/dev/ath/if_athvar.h projects/fuse/sys/dev/bge/if_bge.c projects/fuse/sys/dev/bge/if_bgereg.h projects/fuse/sys/dev/bxe/if_bxe.c projects/fuse/sys/dev/cxgbe/adapter.h projects/fuse/sys/dev/cxgbe/common/common.h projects/fuse/sys/dev/cxgbe/common/t4_hw.c projects/fuse/sys/dev/cxgbe/t4_ioctl.h projects/fuse/sys/dev/cxgbe/t4_main.c projects/fuse/sys/dev/cxgbe/t4_sge.c projects/fuse/sys/dev/drm2/i915/i915_drv.c projects/fuse/sys/dev/e1000/if_em.c projects/fuse/sys/dev/e1000/if_igb.c projects/fuse/sys/dev/e1000/if_igb.h projects/fuse/sys/dev/e1000/if_lem.c projects/fuse/sys/dev/flash/mx25l.c projects/fuse/sys/dev/ie/if_ie_isa.c projects/fuse/sys/dev/iicbus/s35390a.c projects/fuse/sys/dev/ipmi/ipmi_smbios.c projects/fuse/sys/dev/isci/isci.c projects/fuse/sys/dev/isci/isci.h projects/fuse/sys/dev/isci/isci_controller.c projects/fuse/sys/dev/ixgbe/ixgbe.c projects/fuse/sys/dev/ixgbe/ixgbe.h projects/fuse/sys/dev/ixgbe/ixv.c projects/fuse/sys/dev/mfi/mfi.c projects/fuse/sys/dev/mii/brgphy.c projects/fuse/sys/dev/mii/smscphy.c projects/fuse/sys/dev/mlx/mlx.c projects/fuse/sys/dev/mlx/mlx_disk.c projects/fuse/sys/dev/mlx/mlx_pci.c projects/fuse/sys/dev/mlx/mlxvar.h projects/fuse/sys/dev/mmc/mmc.c projects/fuse/sys/dev/mps/mps_sas.c projects/fuse/sys/dev/mxge/if_mxge.c projects/fuse/sys/dev/nvme/nvme_private.h projects/fuse/sys/dev/nvme/nvme_qpair.c projects/fuse/sys/dev/nvme/nvme_sysctl.c projects/fuse/sys/dev/oce/oce_if.c projects/fuse/sys/dev/pci/pci_user.c projects/fuse/sys/dev/sound/pci/hda/hdaa.c projects/fuse/sys/dev/sound/pci/hda/hdaa_patches.c projects/fuse/sys/dev/sound/pci/hdspe-pcm.c projects/fuse/sys/dev/sound/pci/hdspe.c projects/fuse/sys/dev/tws/tws.c projects/fuse/sys/dev/tws/tws_cam.c projects/fuse/sys/dev/usb/controller/at91dci.c projects/fuse/sys/dev/usb/controller/atmegadci.c projects/fuse/sys/dev/usb/controller/avr32dci.c projects/fuse/sys/dev/usb/controller/dwc_otg.c projects/fuse/sys/dev/usb/controller/dwc_otg.h projects/fuse/sys/dev/usb/controller/dwc_otgreg.h projects/fuse/sys/dev/usb/controller/ehci.c projects/fuse/sys/dev/usb/controller/musb_otg.c projects/fuse/sys/dev/usb/controller/ohci.c projects/fuse/sys/dev/usb/controller/uhci.c projects/fuse/sys/dev/usb/controller/uss820dci.c projects/fuse/sys/dev/usb/controller/xhci.c projects/fuse/sys/dev/usb/net/if_smsc.c projects/fuse/sys/dev/usb/serial/uchcom.c projects/fuse/sys/dev/usb/storage/umass.c projects/fuse/sys/dev/usb/usb_hub.c projects/fuse/sys/dev/usb/usb_pf.c projects/fuse/sys/dev/vxge/vxge.c projects/fuse/sys/fs/coda/coda_subr.c projects/fuse/sys/fs/ext2fs/ext2_alloc.c projects/fuse/sys/fs/ext2fs/ext2_inode_cnv.c projects/fuse/sys/fs/hpfs/hpfs_vfsops.c projects/fuse/sys/fs/nfsserver/nfs_nfsdport.c projects/fuse/sys/fs/ntfs/ntfs_subr.c projects/fuse/sys/fs/ntfs/ntfs_vfsops.c projects/fuse/sys/fs/ntfs/ntfs_vnops.c projects/fuse/sys/fs/tmpfs/tmpfs_vfsops.c projects/fuse/sys/geom/geom_disk.c projects/fuse/sys/geom/part/g_part.c projects/fuse/sys/geom/raid/g_raid_ctl.c projects/fuse/sys/geom/raid/md_ddf.c projects/fuse/sys/geom/raid/md_intel.c projects/fuse/sys/geom/raid/md_promise.c projects/fuse/sys/gnu/fs/xfs/FreeBSD/xfs_compat.h projects/fuse/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd.h projects/fuse/sys/i386/bios/smapi.c projects/fuse/sys/i386/conf/GENERIC projects/fuse/sys/i386/i386/identcpu.c projects/fuse/sys/i386/i386/machdep.c projects/fuse/sys/i386/i386/mp_machdep.c projects/fuse/sys/i386/i386/pmap.c projects/fuse/sys/i386/include/atomic.h projects/fuse/sys/i386/include/intr_machdep.h projects/fuse/sys/i386/include/pc/bios.h projects/fuse/sys/i386/xen/pmap.c projects/fuse/sys/ia64/ia64/pmap.c projects/fuse/sys/kern/dtio_kdtrace.c projects/fuse/sys/kern/imgact_elf.c projects/fuse/sys/kern/kern_clocksource.c projects/fuse/sys/kern/kern_cons.c projects/fuse/sys/kern/kern_exec.c projects/fuse/sys/kern/kern_intr.c projects/fuse/sys/kern/kern_rmlock.c projects/fuse/sys/kern/kern_thread.c projects/fuse/sys/kern/link_elf.c projects/fuse/sys/kern/subr_bus.c projects/fuse/sys/kern/tty_ttydisc.c projects/fuse/sys/kern/uipc_mqueue.c projects/fuse/sys/kern/uipc_socket.c projects/fuse/sys/kern/uipc_usrreq.c projects/fuse/sys/kern/vfs_default.c projects/fuse/sys/kern/vfs_syscalls.c projects/fuse/sys/kern/vfs_vnops.c projects/fuse/sys/kern/vnode_if.src projects/fuse/sys/mips/cavium/usb/octusb.c projects/fuse/sys/mips/include/cpufunc.h projects/fuse/sys/mips/include/tlb.h projects/fuse/sys/mips/mips/pmap.c projects/fuse/sys/mips/mips/tlb.c projects/fuse/sys/modules/Makefile projects/fuse/sys/modules/zfs/Makefile projects/fuse/sys/net/bpf.h projects/fuse/sys/net/if_bridge.c projects/fuse/sys/net/if_enc.c projects/fuse/sys/net/if_tap.c projects/fuse/sys/net/if_tun.c projects/fuse/sys/net/if_var.h projects/fuse/sys/net/netmap_user.h projects/fuse/sys/net80211/ieee80211_adhoc.c projects/fuse/sys/net80211/ieee80211_hostap.c projects/fuse/sys/net80211/ieee80211_hostap.h projects/fuse/sys/net80211/ieee80211_power.c projects/fuse/sys/net80211/ieee80211_power.h projects/fuse/sys/net80211/ieee80211_scan.c projects/fuse/sys/net80211/ieee80211_sta.c projects/fuse/sys/net80211/ieee80211_var.h projects/fuse/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/fuse/sys/netgraph/netflow/netflow_v9.c projects/fuse/sys/netgraph/netflow/ng_netflow.c projects/fuse/sys/netgraph/netflow/ng_netflow.h projects/fuse/sys/netgraph/ng_base.c projects/fuse/sys/netgraph/ng_nat.c projects/fuse/sys/netinet/in_pcb.c projects/fuse/sys/netinet/in_pcb.h projects/fuse/sys/netinet/in_rmx.c projects/fuse/sys/netinet/in_var.h projects/fuse/sys/netinet/ip_carp.c projects/fuse/sys/netinet/ip_divert.c projects/fuse/sys/netinet/ip_fastfwd.c projects/fuse/sys/netinet/ip_icmp.c projects/fuse/sys/netinet/ip_input.c projects/fuse/sys/netinet/ip_ipsec.c projects/fuse/sys/netinet/ip_mroute.c projects/fuse/sys/netinet/ip_output.c projects/fuse/sys/netinet/ip_var.h projects/fuse/sys/netinet/sctp_input.c projects/fuse/sys/netinet/sctp_output.c projects/fuse/sys/netinet/sctp_output.h projects/fuse/sys/netinet/sctp_pcb.c projects/fuse/sys/netinet/tcp_usrreq.c projects/fuse/sys/netinet6/ip6_ipsec.c projects/fuse/sys/netpfil/ipfw/ip_dn_glue.c projects/fuse/sys/netpfil/ipfw/ip_fw_nat.c projects/fuse/sys/netpfil/ipfw/ip_fw_pfil.c projects/fuse/sys/netpfil/pf/if_pfsync.c projects/fuse/sys/netpfil/pf/pf.c projects/fuse/sys/netpfil/pf/pf_ioctl.c projects/fuse/sys/netpfil/pf/pf_table.c projects/fuse/sys/nfsserver/nfs_serv.c projects/fuse/sys/ofed/drivers/net/mlx4/en_tx.c projects/fuse/sys/pc98/include/bus.h projects/fuse/sys/pc98/pc98/machdep.c projects/fuse/sys/powerpc/aim/mmu_oea.c projects/fuse/sys/powerpc/aim/mmu_oea64.c projects/fuse/sys/powerpc/include/cpu.h projects/fuse/sys/powerpc/include/pcb.h projects/fuse/sys/powerpc/ofw/ofw_real.c projects/fuse/sys/rpc/auth.h projects/fuse/sys/rpc/rpcb_clnt.c projects/fuse/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c projects/fuse/sys/sparc64/include/atomic.h projects/fuse/sys/sparc64/include/intr_machdep.h projects/fuse/sys/sparc64/sparc64/intr_machdep.c projects/fuse/sys/sparc64/sparc64/machdep.c projects/fuse/sys/sparc64/sparc64/pmap.c projects/fuse/sys/sys/buf_ring.h projects/fuse/sys/sys/capability.h projects/fuse/sys/sys/cdefs.h projects/fuse/sys/sys/mount.h projects/fuse/sys/sys/param.h projects/fuse/sys/ufs/ffs/ffs_alloc.c projects/fuse/sys/ufs/ffs/ffs_snapshot.c projects/fuse/sys/ufs/ffs/ffs_softdep.c projects/fuse/sys/ufs/ufs/inode.h projects/fuse/sys/ufs/ufs/ufs_acl.c projects/fuse/sys/ufs/ufs/ufs_lookup.c projects/fuse/sys/ufs/ufs/ufs_vnops.c projects/fuse/sys/vm/vm_object.c projects/fuse/sys/vm/vm_page.c projects/fuse/sys/vm/vm_pageout.c projects/fuse/sys/vm/vnode_pager.c projects/fuse/sys/x86/bios/smbios.c projects/fuse/sys/x86/include/bus.h projects/fuse/sys/x86/x86/intr_machdep.c projects/fuse/tools/build/make_check/Makefile projects/fuse/tools/tools/cxgbetool/cxgbetool.c projects/fuse/tools/tools/netmap/pcap.c projects/fuse/usr.bin/Makefile projects/fuse/usr.bin/at/parsetime.c projects/fuse/usr.bin/calendar/calendar.1 projects/fuse/usr.bin/csup/proto.c projects/fuse/usr.bin/find/ls.c projects/fuse/usr.bin/find/main.c projects/fuse/usr.bin/getent/getent.c projects/fuse/usr.bin/kdump/kdump.c projects/fuse/usr.bin/kdump/mksubr projects/fuse/usr.bin/m4/lib/ohash_init.3 projects/fuse/usr.bin/m4/m4.1 projects/fuse/usr.bin/make/var.c projects/fuse/usr.bin/mktemp/mktemp.1 projects/fuse/usr.bin/mktemp/mktemp.c projects/fuse/usr.bin/procstat/procstat.1 projects/fuse/usr.bin/script/script.1 projects/fuse/usr.bin/unzip/unzip.1 projects/fuse/usr.bin/who/who.1 projects/fuse/usr.sbin/Makefile projects/fuse/usr.sbin/acpi/acpidump/acpi.c projects/fuse/usr.sbin/bsdconfig/bsdconfig projects/fuse/usr.sbin/bsdconfig/bsdconfig.8 projects/fuse/usr.sbin/bsdconfig/console/console projects/fuse/usr.sbin/bsdconfig/console/font projects/fuse/usr.sbin/bsdconfig/console/keymap projects/fuse/usr.sbin/bsdconfig/console/repeat projects/fuse/usr.sbin/bsdconfig/console/saver projects/fuse/usr.sbin/bsdconfig/console/screenmap projects/fuse/usr.sbin/bsdconfig/console/ttys projects/fuse/usr.sbin/bsdconfig/include/messages.subr projects/fuse/usr.sbin/bsdconfig/mouse/flags projects/fuse/usr.sbin/bsdconfig/mouse/mouse projects/fuse/usr.sbin/bsdconfig/mouse/port projects/fuse/usr.sbin/bsdconfig/mouse/type projects/fuse/usr.sbin/bsdconfig/networking/networking projects/fuse/usr.sbin/bsdconfig/networking/share/device.subr projects/fuse/usr.sbin/bsdconfig/networking/share/hostname.subr projects/fuse/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/fuse/usr.sbin/bsdconfig/networking/share/media.subr projects/fuse/usr.sbin/bsdconfig/networking/share/netmask.subr projects/fuse/usr.sbin/bsdconfig/networking/share/resolv.subr projects/fuse/usr.sbin/bsdconfig/networking/share/routing.subr projects/fuse/usr.sbin/bsdconfig/password/share/password.subr projects/fuse/usr.sbin/bsdconfig/security/kern_securelevel projects/fuse/usr.sbin/bsdconfig/security/security projects/fuse/usr.sbin/bsdconfig/share/common.subr projects/fuse/usr.sbin/bsdconfig/share/dialog.subr projects/fuse/usr.sbin/bsdconfig/share/mustberoot.subr projects/fuse/usr.sbin/bsdconfig/share/sysrc.subr projects/fuse/usr.sbin/bsdconfig/startup/misc projects/fuse/usr.sbin/bsdconfig/startup/rcadd projects/fuse/usr.sbin/bsdconfig/startup/rcconf projects/fuse/usr.sbin/bsdconfig/startup/rcdelete projects/fuse/usr.sbin/bsdconfig/startup/rcvar projects/fuse/usr.sbin/bsdconfig/startup/share/rcconf.subr projects/fuse/usr.sbin/bsdconfig/startup/share/rcedit.subr projects/fuse/usr.sbin/bsdconfig/startup/startup projects/fuse/usr.sbin/bsdconfig/timezone/share/zones.subr projects/fuse/usr.sbin/bsdconfig/timezone/timezone projects/fuse/usr.sbin/bsdconfig/usermgmt/groupinput projects/fuse/usr.sbin/bsdconfig/usermgmt/share/group_input.subr projects/fuse/usr.sbin/bsdconfig/usermgmt/share/user_input.subr projects/fuse/usr.sbin/bsdconfig/usermgmt/userinput projects/fuse/usr.sbin/bsdconfig/usermgmt/usermgmt projects/fuse/usr.sbin/chroot/chroot.8 projects/fuse/usr.sbin/config/mkmakefile.c projects/fuse/usr.sbin/cron/cron/cron.c projects/fuse/usr.sbin/cron/lib/misc.c projects/fuse/usr.sbin/crunch/examples/Makefile projects/fuse/usr.sbin/fifolog/fifolog_create/fifolog.1 projects/fuse/usr.sbin/ip6addrctl/Makefile projects/fuse/usr.sbin/ip6addrctl/ip6addrctl.c projects/fuse/usr.sbin/jail/config.c projects/fuse/usr.sbin/lpr/lpr/lpr.c projects/fuse/usr.sbin/makefs/ffs/ffs_alloc.c projects/fuse/usr.sbin/mergemaster/mergemaster.sh projects/fuse/usr.sbin/mountd/exports.5 projects/fuse/usr.sbin/mountd/mountd.c projects/fuse/usr.sbin/moused/moused.c projects/fuse/usr.sbin/pkg_install/lib/exec.c projects/fuse/usr.sbin/portsnap/portsnap/portsnap.8 projects/fuse/usr.sbin/pw/pw_user.c projects/fuse/usr.sbin/pw/pwupd.c projects/fuse/usr.sbin/quot/quot.c projects/fuse/usr.sbin/rtprio/rtprio.1 projects/fuse/usr.sbin/snapinfo/snapinfo.c projects/fuse/usr.sbin/tcpdump/tcpdump/Makefile projects/fuse/usr.sbin/tcpdump/tcpdump/tcpdump.1 Directory Properties: projects/fuse/ (props changed) projects/fuse/cddl/contrib/opensolaris/ (props changed) projects/fuse/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/fuse/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/fuse/contrib/bind9/ (props changed) projects/fuse/contrib/groff/ (props changed) projects/fuse/contrib/libpcap/ (props changed) projects/fuse/contrib/llvm/ (props changed) projects/fuse/contrib/llvm/tools/clang/ (props changed) projects/fuse/contrib/tcpdump/ (props changed) projects/fuse/lib/libc/ (props changed) projects/fuse/sbin/ (props changed) projects/fuse/sbin/ipfw/ (props changed) projects/fuse/share/man/man4/ (props changed) projects/fuse/sys/ (props changed) projects/fuse/sys/boot/ (props changed) projects/fuse/sys/cddl/contrib/opensolaris/ (props changed) projects/fuse/sys/conf/ (props changed) projects/fuse/usr.bin/calendar/ (props changed) projects/fuse/usr.bin/csup/ (props changed) projects/fuse/usr.bin/procstat/ (props changed) projects/fuse/usr.sbin/jail/ (props changed) Modified: projects/fuse/MAINTAINERS ============================================================================== --- projects/fuse/MAINTAINERS Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/MAINTAINERS Thu Oct 11 19:39:45 2012 (r241453) @@ -21,7 +21,6 @@ It is not a registry of 'turf' or privat subsystem login notes ----------------------------- kqueue jmg Pre-commit review requested. -mergemaster dougb Prefers to pre-approve commits libc/posix1e rwatson Pre-commit review requested. POSIX.1e ACLs rwatson Pre-commit review requested. UFS EAs rwatson Pre-commit review requested. Modified: projects/fuse/Makefile ============================================================================== --- projects/fuse/Makefile Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/Makefile Thu Oct 11 19:39:45 2012 (r241453) @@ -280,12 +280,14 @@ kernel: buildkernel installkernel # for building the world. # upgrade_checks: +.if !defined(.PARSEDIR) @if ! (cd ${.CURDIR}/tools/build/make_check && \ PATH=${PATH} ${BINMAKE} obj >/dev/null 2>&1 && \ PATH=${PATH} ${BINMAKE} >/dev/null 2>&1); \ then \ (cd ${.CURDIR} && ${MAKE} make); \ fi +.endif # # Upgrade make(1) to the current version using the installed Modified: projects/fuse/Makefile.inc1 ============================================================================== --- projects/fuse/Makefile.inc1 Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/Makefile.inc1 Thu Oct 11 19:39:45 2012 (r241453) @@ -295,9 +295,10 @@ LIB32CPUFLAGS= -march=i686 -mmmx -msse - LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ - MACHINE_CPU="i686 mmx sse sse2" \ - LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - AS="${AS} --32" + MACHINE_CPU="i686 mmx sse sse2" +LIB32WMAKEFLAGS= \ + AS="${AS} --32" \ + LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" .elif ${TARGET_ARCH} == "powerpc64" .if empty(TARGET_CPUTYPE) @@ -305,7 +306,8 @@ LIB32CPUFLAGS= -mcpu=powerpc .else LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} .endif -LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc \ +LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc +LIB32WMAKEFLAGS= \ LD="${LD} -m elf32ppc_fbsd" .endif @@ -322,16 +324,20 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - CC="${CC} ${LIB32FLAGS}" \ - CXX="${CXX} ${LIB32FLAGS}" \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 \ COMPILER_TYPE=${WMAKE_COMPILER_TYPE} +LIB32WMAKEFLAGS+= \ + CC="${CC} ${LIB32FLAGS}" \ + CXX="${CXX} ${LIB32FLAGS}" \ + DESTDIR=${LIB32TMP} \ + -DCOMPAT_32BIT \ + -DNO_CPU_CFLAGS \ + -DNO_CTF \ + -DNO_LINT -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ - -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \ - -DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \ - DESTDIR=${LIB32TMP} +LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ + -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS .endif @@ -1563,7 +1569,7 @@ check-old: check-old-files check-old-lib # showconfig - show build configuration. # showconfig: - @${MAKE} -n -f bsd.own.mk -V dummy -dg1 | grep ^MK_ | sort + @${MAKE} -n -f bsd.own.mk -V dummy -dg1 2>&1 | grep ^MK_ | sort .if !empty(KRNLOBJDIR) && !empty(KERNCONF) DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ Modified: projects/fuse/ObsoleteFiles.inc ============================================================================== --- projects/fuse/ObsoleteFiles.inc Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/ObsoleteFiles.inc Thu Oct 11 19:39:45 2012 (r241453) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20121004: remove incomplete unwind.h +OLD_FILES+=usr/include/clang/3.2/unwind.h # 20120908: pf cleanup OLD_FILES+=usr/include/net/if_pflow.h # 20120816: new clang import which bumps version from 3.1 to 3.2 Modified: projects/fuse/UPDATING ============================================================================== --- projects/fuse/UPDATING Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/UPDATING Thu Oct 11 19:39:45 2012 (r241453) @@ -24,6 +24,24 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20121006: + The pfil(9) API/ABI for AF_INET family has been changed. Packet + filtering modules: pf(4), ipfw(4), ipfilter(4) need to be recompiled + with new kernel. + +20121001: + The net80211(4) ABI has been changed to allow for improved driver + PS-POLL and power-save support. All wireless drivers need to be + recompiled to work with the new kernel. + +20120913: + The random(4) support for the VIA hardware random number + generator (`PADLOCK') is no longer enabled unconditionally. + Add the PADLOCK_RNG option in the custom kernel config if + needed. The GENERIC kernels on i386 and amd64 do include the + option, so the change only affects the custom kernel + configurations. + 20120908: The pf(4) packet filter ABI has been changed. pfctl(8) and snmp_pf module need to be recompiled to work with new kernel. Modified: projects/fuse/bin/ls/ls.c ============================================================================== --- projects/fuse/bin/ls/ls.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/bin/ls/ls.c Thu Oct 11 19:39:45 2012 (r241453) @@ -561,7 +561,8 @@ display(const FTSENT *p, FTSENT *list, i NAMES *np; off_t maxsize; long maxblock; - u_long btotal, labelstrlen, maxinode, maxlen, maxnlink; + uintmax_t maxinode; + u_long btotal, labelstrlen, maxlen, maxnlink; u_long maxlabelstr; u_int sizelen; int maxflags; @@ -580,8 +581,9 @@ display(const FTSENT *p, FTSENT *list, i btotal = 0; initmax = getenv("LS_COLWIDTHS"); /* Fields match -lios order. New ones should be added at the end. */ - maxlabelstr = maxblock = maxinode = maxlen = maxnlink = - maxuser = maxgroup = maxflags = maxsize = 0; + maxlabelstr = maxblock = maxlen = maxnlink = 0; + maxuser = maxgroup = maxflags = maxsize = 0; + maxinode = 0; if (initmax != NULL && *initmax != '\0') { char *initmax2, *jinitmax; int ninitmax; @@ -609,7 +611,7 @@ display(const FTSENT *p, FTSENT *list, i strcpy(initmax2, "0"); ninitmax = sscanf(jinitmax, - " %lu : %ld : %lu : %u : %u : %i : %jd : %lu : %lu ", + " %ju : %ld : %lu : %u : %u : %i : %jd : %lu : %lu ", &maxinode, &maxblock, &maxnlink, &maxuser, &maxgroup, &maxflags, &maxsize, &maxlen, &maxlabelstr); f_notabs = 1; @@ -839,7 +841,7 @@ label_out: d.s_flags = maxflags; d.s_label = maxlabelstr; d.s_group = maxgroup; - d.s_inode = snprintf(NULL, 0, "%lu", maxinode); + d.s_inode = snprintf(NULL, 0, "%ju", maxinode); d.s_nlink = snprintf(NULL, 0, "%lu", maxnlink); sizelen = f_humanval ? HUMANVALSTR_LEN : snprintf(NULL, 0, "%ju", maxsize); Modified: projects/fuse/bin/ls/print.c ============================================================================== --- projects/fuse/bin/ls/print.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/bin/ls/print.c Thu Oct 11 19:39:45 2012 (r241453) @@ -152,7 +152,8 @@ printlong(const DISPLAY *dp) continue; sp = p->fts_statp; if (f_inode) - (void)printf("%*lu ", dp->s_inode, (u_long)sp->st_ino); + (void)printf("%*ju ", + dp->s_inode, (uintmax_t)sp->st_ino); if (f_size) (void)printf("%*jd ", dp->s_block, howmany(sp->st_blocks, blocksize)); @@ -328,7 +329,8 @@ printaname(const FTSENT *p, u_long inode sp = p->fts_statp; chcnt = 0; if (f_inode) - chcnt += printf("%*lu ", (int)inodefield, (u_long)sp->st_ino); + chcnt += printf("%*ju ", + (int)inodefield, (uintmax_t)sp->st_ino); if (f_size) chcnt += printf("%*jd ", (int)sizefield, howmany(sp->st_blocks, blocksize)); Modified: projects/fuse/bin/rm/rm.c ============================================================================== --- projects/fuse/bin/rm/rm.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/bin/rm/rm.c Thu Oct 11 19:39:45 2012 (r241453) @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -429,8 +430,8 @@ rm_overwrite(char *file, struct stat *sb if (!S_ISREG(sbp->st_mode)) return (1); if (sbp->st_nlink > 1 && !fflag) { - warnx("%s (inode %u): not overwritten due to multiple links", - file, sbp->st_ino); + warnx("%s (inode %ju): not overwritten due to multiple links", + file, (uintmax_t)sbp->st_ino); return (0); } if ((fd = open(file, O_WRONLY|O_NONBLOCK|O_NOFOLLOW, 0)) == -1) Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Oct 11 19:39:45 2012 (r241453) @@ -174,7 +174,7 @@ .Fl a | Ar filesystem Ns | Ns Ar mountpoint .Nm .Cm send -.Op Fl DnPpRrv +.Op Fl DnPpRv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Nm @@ -2196,7 +2196,7 @@ file system shared on the system. .It Xo .Nm .Cm send -.Op Fl DnPpRrv +.Op Fl DnPpRv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Xc @@ -2269,13 +2269,6 @@ be used regardless of the dataset's property, but performance will be much better if the filesystem uses a dedup-capable checksum (eg. .Sy sha256 ) . -.It Fl r -Recursively send all descendant snapshots. This is similar to the -.Fl R -flag, but information about deleted and renamed datasets is not included, and -property information is only included if the -.Fl p -flag is specified. .It Fl p Include the dataset's properties in the stream. This flag is implicit when .Fl R Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Oct 11 19:39:45 2012 (r241453) @@ -267,7 +267,7 @@ get_usage(zfs_help_t idx) case HELP_ROLLBACK: return (gettext("\trollback [-rRf] \n")); case HELP_SEND: - return (gettext("\tsend [-DnPpRrv] " + return (gettext("\tsend [-DnPpRv] " "[-i snapshot | -I snapshot] \n")); case HELP_SET: return (gettext("\tset " @@ -3081,6 +3081,7 @@ zfs_do_rename(int argc, char **argv) int ret = 0; int types; boolean_t parents = B_FALSE; + char *snapshot = NULL; /* check options */ while ((c = getopt(argc, argv, "fpru")) != -1) { @@ -3149,6 +3150,19 @@ zfs_do_rename(int argc, char **argv) else types = ZFS_TYPE_DATASET; + if (flags.recurse) { + /* + * When we do recursive rename we are fine when the given + * snapshot for the given dataset doesn't exist - it can + * still exists below. + */ + + snapshot = strchr(argv[0], '@'); + assert(snapshot != NULL); + *snapshot = '\0'; + snapshot++; + } + if ((zhp = zfs_open(g_zfs, argv[0], types)) == NULL) return (1); @@ -3159,7 +3173,7 @@ zfs_do_rename(int argc, char **argv) return (1); } - ret = (zfs_rename(zhp, argv[1], flags) != 0); + ret = (zfs_rename(zhp, snapshot, argv[1], flags) != 0); zfs_close(zhp); return (ret); Modified: projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Thu Oct 11 19:39:45 2012 (r241453) @@ -678,6 +678,7 @@ dt_printf(dtrace_hdl_t *dtp, FILE *fp, c dtp->dt_buffered_offs += needed; assert(dtp->dt_buffered_buf[dtp->dt_buffered_offs] == '\0'); + va_end(ap); return (0); } Modified: projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Thu Oct 11 19:39:45 2012 (r241453) @@ -571,7 +571,8 @@ typedef struct renameflags { int forceunmount : 1; } renameflags_t; -extern int zfs_rename(zfs_handle_t *, const char *, renameflags_t flags); +extern int zfs_rename(zfs_handle_t *, const char *, const char *, + renameflags_t flags); typedef struct sendflags { /* print informational messages (ie, -v was specified) */ Modified: projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Oct 11 19:39:45 2012 (r241453) @@ -611,6 +611,22 @@ zfs_open(libzfs_handle_t *hdl, const cha return (NULL); } + if (zhp == NULL) { + char *at = strchr(path, '@'); + + if (at != NULL) + *at = '\0'; + errno = 0; + if ((zhp = make_dataset_handle(hdl, path)) == NULL) { + (void) zfs_standard_error(hdl, errno, errbuf); + return (NULL); + } + if (at != NULL) + *at = '@'; + (void) strlcpy(zhp->zfs_name, path, sizeof (zhp->zfs_name)); + zhp->zfs_type = ZFS_TYPE_SNAPSHOT; + } + if (!(types & zhp->zfs_type)) { (void) zfs_error(hdl, EZFS_BADTYPE, errbuf); zfs_close(zhp); @@ -3614,7 +3630,8 @@ zfs_rollback(zfs_handle_t *zhp, zfs_hand * Renames the given dataset. */ int -zfs_rename(zfs_handle_t *zhp, const char *target, renameflags_t flags) +zfs_rename(zfs_handle_t *zhp, const char *source, const char *target, + renameflags_t flags) { int ret; zfs_cmd_t zc = { 0 }; @@ -3634,6 +3651,18 @@ zfs_rename(zfs_handle_t *zhp, const char (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot rename to '%s'"), target); + if (source != NULL) { + /* + * This is recursive snapshots rename, put snapshot name + * (that might not exist) into zfs_name. + */ + assert(flags.recurse); + + (void) strlcat(zhp->zfs_name, "@", sizeof(zhp->zfs_name)); + (void) strlcat(zhp->zfs_name, source, sizeof(zhp->zfs_name)); + zhp->zfs_type = ZFS_TYPE_SNAPSHOT; + } + /* * Make sure the target name is valid */ Modified: projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c Thu Oct 11 19:39:45 2012 (r241453) @@ -368,6 +368,7 @@ zfs_standard_error_fmt(libzfs_handle_t * case ENOSPC: case EDQUOT: zfs_verror(hdl, EZFS_NOSPC, fmt, ap); + va_end(ap); return (-1); case EEXIST: @@ -467,6 +468,7 @@ zpool_standard_error_fmt(libzfs_handle_t case ENOSPC: case EDQUOT: zfs_verror(hdl, EZFS_NOSPC, fmt, ap); + va_end(ap); return (-1); case EAGAIN: Modified: projects/fuse/cddl/lib/libzpool/Makefile ============================================================================== --- projects/fuse/cddl/lib/libzpool/Makefile Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/cddl/lib/libzpool/Makefile Thu Oct 11 19:39:45 2012 (r241453) @@ -26,7 +26,7 @@ ATOMIC_SRCS= opensolaris_atomic.c LIB= zpool -ZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} vdev_file.c +ZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} vdev_file.c trim_map.c ZFS_SHARED_SRCS= ${ZFS_SHARED_OBJS:C/.o$/.c/} KERNEL_SRCS= kernel.c taskq.c util.c LIST_SRCS= list.c Modified: projects/fuse/contrib/bind9/CHANGES ============================================================================== --- projects/fuse/contrib/bind9/CHANGES Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/bind9/CHANGES Thu Oct 11 19:39:45 2012 (r241453) @@ -1,3 +1,9 @@ + --- 9.8.3-P4 released --- + +3383. [security] A certain combination of records in the RBT could + cause named to hang while populating the additional + section of a response. [RT #31090] + --- 9.8.3-P3 released --- 3364. [security] Named could die on specially crafted record. Modified: projects/fuse/contrib/bind9/bin/named/query.c ============================================================================== --- projects/fuse/contrib/bind9/bin/named/query.c Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/bind9/bin/named/query.c Thu Oct 11 19:39:45 2012 (r241453) @@ -1119,13 +1119,6 @@ query_isduplicate(ns_client_t *client, d mname = NULL; } - /* - * If the dns_name_t we're looking up is already in the message, - * we don't want to trigger the caller's name replacement logic. - */ - if (name == mname) - mname = NULL; - if (mnamep != NULL) *mnamep = mname; @@ -1324,6 +1317,7 @@ query_addadditional(void *arg, dns_name_ if (dns_rdataset_isassociated(rdataset) && !query_isduplicate(client, fname, type, &mname)) { if (mname != NULL) { + INSIST(mname != fname); query_releasename(client, &fname); fname = mname; } else @@ -1393,11 +1387,13 @@ query_addadditional(void *arg, dns_name_ #endif if (!query_isduplicate(client, fname, dns_rdatatype_a, &mname)) { - if (mname != NULL) { - query_releasename(client, &fname); - fname = mname; - } else - need_addname = ISC_TRUE; + if (mname != fname) { + if (mname != NULL) { + query_releasename(client, &fname); + fname = mname; + } else + need_addname = ISC_TRUE; + } ISC_LIST_APPEND(fname->list, rdataset, link); added_something = ISC_TRUE; if (sigrdataset != NULL && @@ -1450,11 +1446,13 @@ query_addadditional(void *arg, dns_name_ #endif if (!query_isduplicate(client, fname, dns_rdatatype_aaaa, &mname)) { - if (mname != NULL) { - query_releasename(client, &fname); - fname = mname; - } else - need_addname = ISC_TRUE; + if (mname != fname) { + if (mname != NULL) { + query_releasename(client, &fname); + fname = mname; + } else + need_addname = ISC_TRUE; + } ISC_LIST_APPEND(fname->list, rdataset, link); added_something = ISC_TRUE; if (sigrdataset != NULL && @@ -1977,22 +1975,24 @@ query_addadditional2(void *arg, dns_name crdataset->type == dns_rdatatype_aaaa) { if (!query_isduplicate(client, fname, crdataset->type, &mname)) { - if (mname != NULL) { - /* - * A different type of this name is - * already stored in the additional - * section. We'll reuse the name. - * Note that this should happen at most - * once. Otherwise, fname->link could - * leak below. - */ - INSIST(mname0 == NULL); - - query_releasename(client, &fname); - fname = mname; - mname0 = mname; - } else - need_addname = ISC_TRUE; + if (mname != fname) { + if (mname != NULL) { + /* + * A different type of this name is + * already stored in the additional + * section. We'll reuse the name. + * Note that this should happen at most + * once. Otherwise, fname->link could + * leak below. + */ + INSIST(mname0 == NULL); + + query_releasename(client, &fname); + fname = mname; + mname0 = mname; + } else + need_addname = ISC_TRUE; + } ISC_LIST_UNLINK(cfname.list, crdataset, link); ISC_LIST_APPEND(fname->list, crdataset, link); added_something = ISC_TRUE; Modified: projects/fuse/contrib/bind9/version ============================================================================== --- projects/fuse/contrib/bind9/version Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/bind9/version Thu Oct 11 19:39:45 2012 (r241453) @@ -7,4 +7,4 @@ MAJORVER=9 MINORVER=8 PATCHVER=3 RELEASETYPE=-P -RELEASEVER=3 +RELEASEVER=4 Modified: projects/fuse/contrib/groff/tmac/doc-syms ============================================================================== --- projects/fuse/contrib/groff/tmac/doc-syms Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/groff/tmac/doc-syms Thu Oct 11 19:39:45 2012 (r241453) @@ -812,6 +812,7 @@ .ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss) .ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc) .ds doc-str-Lb-librt \*[Px] \*[doc-str-Lb]Real-time Library (librt, \-lrt) +.ds doc-str-Lb-libsbuf Safe String Composition Library (libsbuf, \-lsbuf) .ds doc-str-Lb-libsdp Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp) .ds doc-str-Lb-libssp Buffer Overflow Protection Library (libssp, \-lssp) .ds doc-str-Lb-libSystem System Library (libSystem, \-lSystem) Modified: projects/fuse/contrib/libpcap/CHANGES ============================================================================== --- projects/fuse/contrib/libpcap/CHANGES Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/libpcap/CHANGES Thu Oct 11 19:39:45 2012 (r241453) @@ -1,3 +1,22 @@ +Friday March 30, 2012. mcr@sandelman.ca +Summary for 1.3.0 libpcap release + Handle DLT_PFSYNC in {FreeBSD, other *BSD+Mac OS X, other}. + Linux: Don't fail if netfilter isn't enabled in the kernel. + Add new link-layer type for NFC Forum LLCP. + Put the CANUSB stuff into EXTRA_DIST, so it shows up in the release tarball. + Add LINKTYPE_NG40/DLT_NG40. + Add DLT_MPEG_2_TS/LINKTYPE_MPEG_2_TS for MPEG-2 transport streams. + [PATCH] Fix AIX-3.5 crash with read failure during stress + AIX fixes. + Introduce --disable-shared configure option. + Added initial support for canusb devices. + Include the pcap(3PCAP) additions as 1.2.1 changes. + many updates to documentation: pcap.3pcap.in + Improve 'inbound'/'outbound' capture filters under Linux. + Note the cleanup of handling of new DLT_/LINKTYPE_ values. + On Lion, don't build for PPC. + For mac80211 devices we need to clean up monitor mode on exit. + Friday December 9, 2011. guy@alum.mit.edu. Summary for 1.2.1 libpcap release Update README file. Modified: projects/fuse/contrib/libpcap/CREDITS ============================================================================== --- projects/fuse/contrib/libpcap/CREDITS Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/libpcap/CREDITS Thu Oct 11 19:39:45 2012 (r241453) @@ -34,6 +34,7 @@ Additional people who have contributed p David Kaelbling David Young Dean Gaudet + dhruv Don Ebright Dug Song Dustin Spicuzza Modified: projects/fuse/contrib/libpcap/Makefile.in ============================================================================== --- projects/fuse/contrib/libpcap/Makefile.in Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/libpcap/Makefile.in Thu Oct 11 19:39:45 2012 (r241453) @@ -82,7 +82,7 @@ YACC = @V_YACC@ @rm -f $@ $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c -PSRC = pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @CAN_SRC@ @NETFILTER_SRC@ +PSRC = pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @CAN_SRC@ @NETFILTER_SRC@ @CANUSB_SRC@ FSRC = fad-@V_FINDALLDEVS@.c SSRC = @SSRC@ CSRC = pcap.c inet.c gencode.c optimize.c nametoaddr.c etherent.c \ @@ -289,6 +289,8 @@ EXTRA_DIST = \ pcap-bt-linux.h \ pcap-can-linux.c \ pcap-can-linux.h \ + pcap-canusb-linux.c \ + pcap-canusb-linux.h \ pcap-config.in \ pcap-dag.c \ pcap-dag.h \ Modified: projects/fuse/contrib/libpcap/VERSION ============================================================================== --- projects/fuse/contrib/libpcap/VERSION Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/libpcap/VERSION Thu Oct 11 19:39:45 2012 (r241453) @@ -1 +1 @@ -1.2.1 +1.3.0 Modified: projects/fuse/contrib/libpcap/config.h.in ============================================================================== --- projects/fuse/contrib/libpcap/config.h.in Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/libpcap/config.h.in Thu Oct 11 19:39:45 2012 (r241453) @@ -232,6 +232,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION @@ -244,6 +247,9 @@ /* target host supports CAN sniffing */ #undef PCAP_SUPPORT_CAN +/* target host supports canusb */ +#undef PCAP_SUPPORT_CANUSB + /* target host supports netfilter sniffing */ #undef PCAP_SUPPORT_NETFILTER Modified: projects/fuse/contrib/libpcap/configure ============================================================================== --- projects/fuse/contrib/libpcap/configure Thu Oct 11 19:28:07 2012 (r241452) +++ projects/fuse/contrib/libpcap/configure Thu Oct 11 19:39:45 2012 (r241453) @@ -1,61 +1,84 @@ #! /bin/sh # From configure.in Revision: 1.168 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61. +# Generated by GNU Autoconf 2.67. +# # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' else - PATH_SEPARATOR=: + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' fi - rm -f conf$$.sh + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi @@ -64,20 +87,18 @@ fi # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -88,354 +109,321 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # CDPATH. -$as_unset CDPATH - +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST else - as_have_required=no + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes else - exitcode=1 - echo positional parameters were not saved. + as_have_required=no fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - case $as_dir in + as_found=: + case $as_dir in #( /*) for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi done;; esac + as_found=false done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } IFS=$as_save_IFS - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Oct 11 19:39:55 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97E428CB; Thu, 11 Oct 2012 19:39:55 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 771948FC0A; Thu, 11 Oct 2012 19:39:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9BJdtqx074858; Thu, 11 Oct 2012 19:39:55 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9BJdtBa074853; Thu, 11 Oct 2012 19:39:55 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210111939.q9BJdtBa074853@svn.freebsd.org> From: Neel Natu Date: Thu, 11 Oct 2012 19:39:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241454 - in projects/bhyve/sys/amd64: include vmm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Oct 2012 19:39:55 -0000 Author: neel Date: Thu Oct 11 19:39:54 2012 New Revision: 241454 URL: http://svn.freebsd.org/changeset/base/241454 Log: Fix warnings generated by 'debug.witness.watch' during VM creation and destruction for calling malloc() with M_WAITOK while holding a mutex. Do not allow vmm.ko to be unloaded until all virtual machines are destroyed. Modified: projects/bhyve/sys/amd64/include/vmm_dev.h projects/bhyve/sys/amd64/vmm/vmm.c projects/bhyve/sys/amd64/vmm/vmm_dev.c Modified: projects/bhyve/sys/amd64/include/vmm_dev.h ============================================================================== --- projects/bhyve/sys/amd64/include/vmm_dev.h Thu Oct 11 19:39:45 2012 (r241453) +++ projects/bhyve/sys/amd64/include/vmm_dev.h Thu Oct 11 19:39:54 2012 (r241454) @@ -31,7 +31,7 @@ #ifdef _KERNEL void vmmdev_init(void); -void vmmdev_cleanup(void); +int vmmdev_cleanup(void); #endif struct vm_memory_segment { Modified: projects/bhyve/sys/amd64/vmm/vmm.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm.c Thu Oct 11 19:39:45 2012 (r241453) +++ projects/bhyve/sys/amd64/vmm/vmm.c Thu Oct 11 19:39:54 2012 (r241454) @@ -219,10 +219,12 @@ vmm_handler(module_t mod, int what, void error = vmm_init(); break; case MOD_UNLOAD: - vmmdev_cleanup(); - iommu_cleanup(); - vmm_ipi_cleanup(); - error = VMM_CLEANUP(); + error = vmmdev_cleanup(); + if (error == 0) { + iommu_cleanup(); + vmm_ipi_cleanup(); + error = VMM_CLEANUP(); + } break; default: error = 0; Modified: projects/bhyve/sys/amd64/vmm/vmm_dev.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm_dev.c Thu Oct 11 19:39:45 2012 (r241453) +++ projects/bhyve/sys/amd64/vmm/vmm_dev.c Thu Oct 11 19:39:54 2012 (r241454) @@ -88,18 +88,11 @@ vmmdev_lookup(const char *name) static struct vmmdev_softc * vmmdev_lookup2(struct cdev *cdev) { - struct vmmdev_softc *sc; - #ifdef notyet /* XXX kernel is not compiled with invariants */ mtx_assert(&vmmdev_mtx, MA_OWNED); #endif - SLIST_FOREACH(sc, &head, link) { - if (sc->cdev == cdev) - break; - } - - return (sc); + return (cdev->si_drv1); } static int @@ -114,6 +107,8 @@ vmmdev_rw(struct cdev *cdev, struct uio error = 0; mtx_lock(&vmmdev_mtx); sc = vmmdev_lookup2(cdev); + if (sc == NULL) + error = ENXIO; while (uio->uio_resid > 0 && error == 0) { gpa = uio->uio_offset; @@ -380,20 +375,25 @@ vmmdev_mmap(struct cdev *cdev, vm_ooffse } static void -vmmdev_destroy(struct vmmdev_softc *sc) +vmmdev_destroy(struct vmmdev_softc *sc, boolean_t unlink) { -#ifdef notyet /* XXX kernel is not compiled with invariants */ - mtx_assert(&vmmdev_mtx, MA_OWNED); -#endif - /* * XXX must stop virtual machine instances that may be still * running and cleanup their state. */ - SLIST_REMOVE(&head, sc, vmmdev_softc, link); - destroy_dev(sc->cdev); - vm_destroy(sc->vm); + if (sc->cdev) + destroy_dev(sc->cdev); + + if (sc->vm) + vm_destroy(sc->vm); + + if (unlink) { + mtx_lock(&vmmdev_mtx); + SLIST_REMOVE(&head, sc, vmmdev_softc, link); + mtx_unlock(&vmmdev_mtx); + } + free(sc, M_VMMDEV); } @@ -409,14 +409,22 @@ sysctl_vmm_destroy(SYSCTL_HANDLER_ARGS) if (error != 0 || req->newptr == NULL) return (error); + /* + * XXX TODO if any process has this device open then fail + */ + mtx_lock(&vmmdev_mtx); sc = vmmdev_lookup(buf); if (sc == NULL) { mtx_unlock(&vmmdev_mtx); return (EINVAL); } - vmmdev_destroy(sc); + + sc->cdev->si_drv1 = NULL; mtx_unlock(&vmmdev_mtx); + + vmmdev_destroy(sc, TRUE); + return (0); } SYSCTL_PROC(_hw_vmm, OID_AUTO, destroy, CTLTYPE_STRING | CTLFLAG_RW, @@ -436,7 +444,7 @@ sysctl_vmm_create(SYSCTL_HANDLER_ARGS) { int error; struct vm *vm; - struct vmmdev_softc *sc; + struct vmmdev_softc *sc, *sc2; char buf[VM_MAX_NAMELEN]; strlcpy(buf, "beavis", sizeof(buf)); @@ -445,27 +453,37 @@ sysctl_vmm_create(SYSCTL_HANDLER_ARGS) return (error); mtx_lock(&vmmdev_mtx); - sc = vmmdev_lookup(buf); - if (sc != NULL) { - mtx_unlock(&vmmdev_mtx); + mtx_unlock(&vmmdev_mtx); + if (sc != NULL) return (EEXIST); - } vm = vm_create(buf); - if (vm == NULL) { - mtx_unlock(&vmmdev_mtx); + if (vm == NULL) return (EINVAL); - } sc = malloc(sizeof(struct vmmdev_softc), M_VMMDEV, M_WAITOK | M_ZERO); sc->vm = vm; + + /* + * Lookup the name again just in case somebody sneaked in when we + * dropped the lock. + */ + mtx_lock(&vmmdev_mtx); + sc2 = vmmdev_lookup(buf); + if (sc2 == NULL) + SLIST_INSERT_HEAD(&head, sc, link); + mtx_unlock(&vmmdev_mtx); + + if (sc2 != NULL) { + vmmdev_destroy(sc, FALSE); + return (EEXIST); + } + sc->cdev = make_dev(&vmmdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "vmm/%s", buf); sc->cdev->si_drv1 = sc; - SLIST_INSERT_HEAD(&head, sc, link); - mtx_unlock(&vmmdev_mtx); return (0); } SYSCTL_PROC(_hw_vmm, OID_AUTO, create, CTLTYPE_STRING | CTLFLAG_RW, @@ -477,15 +495,15 @@ vmmdev_init(void) mtx_init(&vmmdev_mtx, "vmm device mutex", NULL, MTX_DEF); } -void +int vmmdev_cleanup(void) { - struct vmmdev_softc *sc, *sc2; - - mtx_lock(&vmmdev_mtx); + int error; - SLIST_FOREACH_SAFE(sc, &head, link, sc2) - vmmdev_destroy(sc); + if (SLIST_EMPTY(&head)) + error = 0; + else + error = EBUSY; - mtx_unlock(&vmmdev_mtx); + return (error); } From owner-svn-src-projects@FreeBSD.ORG Fri Oct 12 17:39:29 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D7E5FB0; Fri, 12 Oct 2012 17:39:29 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1D5918FC08; Fri, 12 Oct 2012 17:39:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9CHdSWB047194; Fri, 12 Oct 2012 17:39:28 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9CHdSpd047191; Fri, 12 Oct 2012 17:39:28 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210121739.q9CHdSpd047191@svn.freebsd.org> From: Neel Natu Date: Fri, 12 Oct 2012 17:39:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241486 - projects/bhyve/lib/libvmmapi X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2012 17:39:29 -0000 Author: neel Date: Fri Oct 12 17:39:28 2012 New Revision: 241486 URL: http://svn.freebsd.org/changeset/base/241486 Log: Add an api to map a vm capability type into a string to be used for display purposes. Modified: projects/bhyve/lib/libvmmapi/vmmapi.c projects/bhyve/lib/libvmmapi/vmmapi.h Modified: projects/bhyve/lib/libvmmapi/vmmapi.c ============================================================================== --- projects/bhyve/lib/libvmmapi/vmmapi.c Fri Oct 12 17:18:24 2012 (r241485) +++ projects/bhyve/lib/libvmmapi/vmmapi.c Fri Oct 12 17:39:28 2012 (r241486) @@ -370,22 +370,22 @@ vm_inject_nmi(struct vmctx *ctx, int vcp return (ioctl(ctx->fd, VM_INJECT_NMI, &vmnmi)); } +static struct { + const char *name; + int type; +} capstrmap[] = { + { "hlt_exit", VM_CAP_HALT_EXIT }, + { "mtrap_exit", VM_CAP_MTRAP_EXIT }, + { "pause_exit", VM_CAP_PAUSE_EXIT }, + { "unrestricted_guest", VM_CAP_UNRESTRICTED_GUEST }, + { 0 } +}; + int vm_capability_name2type(const char *capname) { int i; - static struct { - const char *name; - int type; - } capstrmap[] = { - { "hlt_exit", VM_CAP_HALT_EXIT }, - { "mtrap_exit", VM_CAP_MTRAP_EXIT }, - { "pause_exit", VM_CAP_PAUSE_EXIT }, - { "unrestricted_guest", VM_CAP_UNRESTRICTED_GUEST }, - { 0 } - }; - for (i = 0; capstrmap[i].name != NULL && capname != NULL; i++) { if (strcmp(capstrmap[i].name, capname) == 0) return (capstrmap[i].type); @@ -394,6 +394,19 @@ vm_capability_name2type(const char *capn return (-1); } +const char * +vm_capability_type2name(int type) +{ + int i; + + for (i = 0; capstrmap[i].name != NULL; i++) { + if (capstrmap[i].type == type) + return (capstrmap[i].name); + } + + return (NULL); +} + int vm_get_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, int *retval) Modified: projects/bhyve/lib/libvmmapi/vmmapi.h ============================================================================== --- projects/bhyve/lib/libvmmapi/vmmapi.h Fri Oct 12 17:18:24 2012 (r241485) +++ projects/bhyve/lib/libvmmapi/vmmapi.h Fri Oct 12 17:39:28 2012 (r241486) @@ -70,6 +70,7 @@ int vm_inject_event2(struct vmctx *ctx, int vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector); int vm_inject_nmi(struct vmctx *ctx, int vcpu); int vm_capability_name2type(const char *capname); +const char *vm_capability_type2name(int type); int vm_get_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, int *retval); int vm_set_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, From owner-svn-src-projects@FreeBSD.ORG Fri Oct 12 18:14:54 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DD841FA0; Fri, 12 Oct 2012 18:14:54 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C6E678FC0A; Fri, 12 Oct 2012 18:14:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9CIEsrK052251; Fri, 12 Oct 2012 18:14:54 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9CIEsIc052249; Fri, 12 Oct 2012 18:14:54 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210121814.q9CIEsIc052249@svn.freebsd.org> From: Neel Natu Date: Fri, 12 Oct 2012 18:14:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241487 - projects/bhyve/usr.sbin/vmmctl X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2012 18:14:54 -0000 Author: neel Date: Fri Oct 12 18:14:54 2012 New Revision: 241487 URL: http://svn.freebsd.org/changeset/base/241487 Log: Output the value of all capabilities when the "--getcap" option is used without a "--capname=". Do the same for the "--get-all" option. Modified: projects/bhyve/usr.sbin/vmmctl/vmmctl.c Modified: projects/bhyve/usr.sbin/vmmctl/vmmctl.c ============================================================================== --- projects/bhyve/usr.sbin/vmmctl/vmmctl.c Fri Oct 12 17:39:28 2012 (r241486) +++ projects/bhyve/usr.sbin/vmmctl/vmmctl.c Fri Oct 12 18:14:54 2012 (r241487) @@ -1479,14 +1479,27 @@ main(int argc, char *argv[]) } if (!error && (getcap || get_all)) { - int captype, val; - captype = vm_capability_name2type(capname); - error = vm_get_capability(ctx, vcpu, captype, &val); - if (error == 0) { - printf("Capability \"%s\" is %s on vcpu %d\n", capname, - val ? "set" : "not set", vcpu); - } else if (errno == ENOENT) { - printf("Capability \"%s\" is not available\n", capname); + int captype, val, getcaptype; + + if (getcap && capname) + getcaptype = vm_capability_name2type(capname); + else + getcaptype = -1; + + for (captype = 0; captype < VM_CAP_MAX; captype++) { + if (getcaptype >= 0 && captype != getcaptype) + continue; + error = vm_get_capability(ctx, vcpu, captype, &val); + if (error == 0) { + printf("Capability \"%s\" is %s on vcpu %d\n", + vm_capability_type2name(captype), + val ? "set" : "not set", vcpu); + } else if (errno == ENOENT) { + printf("Capability \"%s\" is not available\n", + vm_capability_type2name(captype)); + } else { + break; + } } } From owner-svn-src-projects@FreeBSD.ORG Fri Oct 12 18:32:45 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97BD17E9; Fri, 12 Oct 2012 18:32:45 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 802638FC1C; Fri, 12 Oct 2012 18:32:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9CIWjE1054751; Fri, 12 Oct 2012 18:32:45 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9CIWjIk054743; Fri, 12 Oct 2012 18:32:45 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210121832.q9CIWjIk054743@svn.freebsd.org> From: Neel Natu Date: Fri, 12 Oct 2012 18:32:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241489 - in projects/bhyve/sys/amd64: include vmm vmm/intel vmm/io X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2012 18:32:45 -0000 Author: neel Date: Fri Oct 12 18:32:44 2012 New Revision: 241489 URL: http://svn.freebsd.org/changeset/base/241489 Log: Provide per-vcpu locks instead of relying on a single big lock. This also gets rid of all the witness.watch warnings related to calling malloc(M_WAITOK) while holding a mutex. Reviewed by: grehan Modified: projects/bhyve/sys/amd64/include/vmm.h projects/bhyve/sys/amd64/vmm/intel/vmx.c projects/bhyve/sys/amd64/vmm/io/ppt.c projects/bhyve/sys/amd64/vmm/vmm.c projects/bhyve/sys/amd64/vmm/vmm_dev.c projects/bhyve/sys/amd64/vmm/vmm_ipi.c projects/bhyve/sys/amd64/vmm/vmm_ipi.h Modified: projects/bhyve/sys/amd64/include/vmm.h ============================================================================== --- projects/bhyve/sys/amd64/include/vmm.h Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/include/vmm.h Fri Oct 12 18:32:44 2012 (r241489) @@ -130,19 +130,24 @@ int vmm_is_pptdev(int bus, int slot, int void *vm_iommu_domain(struct vm *vm); -#define VCPU_STOPPED 0 -#define VCPU_RUNNING 1 -void vm_set_run_state(struct vm *vm, int vcpu, int running); -int vm_get_run_state(struct vm *vm, int vcpu, int *hostcpu); +enum vcpu_state { + VCPU_IDLE, + VCPU_RUNNING, + VCPU_CANNOT_RUN, +}; -void *vcpu_stats(struct vm *vm, int vcpu); +int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state); +enum vcpu_state vcpu_get_state(struct vm *vm, int vcpu); static int __inline -vcpu_is_running(struct vm *vm, int vcpu, int *hostcpu) +vcpu_is_running(struct vm *vm, int vcpu) { - return (vm_get_run_state(vm, vcpu, hostcpu) == VCPU_RUNNING); + return (vcpu_get_state(vm, vcpu) == VCPU_RUNNING); } +void *vcpu_stats(struct vm *vm, int vcpu); +void vm_interrupt_hostcpu(struct vm *vm, int vcpu); + #endif /* KERNEL */ #define VM_MAXCPU 8 /* maximum virtual cpus */ Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Fri Oct 12 18:32:44 2012 (r241489) @@ -1568,7 +1568,7 @@ vmx_getreg(void *arg, int vcpu, int reg, * vmcs_getreg will VMCLEAR the vmcs when it is done which will cause * the subsequent vmlaunch/vmresume to fail. */ - if (vcpu_is_running(vmx->vm, vcpu, NULL)) + if (vcpu_is_running(vmx->vm, vcpu)) panic("vmx_getreg: %s%d is running", vm_name(vmx->vm), vcpu); return (vmcs_getreg(&vmx->vmcs[vcpu], reg, retval)); @@ -1596,7 +1596,7 @@ vmx_setreg(void *arg, int vcpu, int reg, * vmcs_setreg will VMCLEAR the vmcs when it is done which will cause * the subsequent vmlaunch/vmresume to fail. */ - if (vcpu_is_running(vmx->vm, vcpu, NULL)) + if (vcpu_is_running(vmx->vm, vcpu)) panic("vmx_setreg: %s%d is running", vm_name(vmx->vm), vcpu); error = vmcs_setreg(&vmx->vmcs[vcpu], reg, val); Modified: projects/bhyve/sys/amd64/vmm/io/ppt.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/io/ppt.c Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/vmm/io/ppt.c Fri Oct 12 18:32:44 2012 (r241489) @@ -53,6 +53,8 @@ __FBSDID("$FreeBSD$"); #include "iommu.h" #include "ppt.h" +/* XXX locking */ + #define MAX_PPTDEVS (sizeof(pptdevs) / sizeof(pptdevs[0])) #define MAX_MMIOSEGS (PCIR_MAX_BAR_0 + 1) #define MAX_MSIMSGS 32 Modified: projects/bhyve/sys/amd64/vmm/vmm.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm.c Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/vmm/vmm.c Fri Oct 12 18:32:44 2012 (r241489) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -65,6 +66,8 @@ struct vlapic; struct vcpu { int flags; + enum vcpu_state state; + struct mtx mtx; int pincpu; /* host cpuid this vcpu is bound to */ int hostcpu; /* host cpuid this vcpu last ran on */ uint64_t guest_msrs[VMM_MSR_NUM]; @@ -76,7 +79,6 @@ struct vcpu { enum x2apic_state x2apic_state; }; #define VCPU_F_PINNED 0x0001 -#define VCPU_F_RUNNING 0x0002 #define VCPU_PINCPU(vm, vcpuid) \ ((vm->vcpu[vcpuid].flags & VCPU_F_PINNED) ? vm->vcpu[vcpuid].pincpu : -1) @@ -89,6 +91,10 @@ do { \ vm->vcpu[vcpuid].pincpu = host_cpuid; \ } while(0) +#define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_DEF) +#define vcpu_lock(v) mtx_lock(&((v)->mtx)) +#define vcpu_unlock(v) mtx_unlock(&((v)->mtx)) + #define VM_MAX_MEMORY_SEGMENTS 2 struct vm { @@ -162,7 +168,8 @@ vcpu_init(struct vm *vm, uint32_t vcpu_i vcpu = &vm->vcpu[vcpu_id]; - vcpu->hostcpu = -1; + vcpu_lock_init(vcpu); + vcpu->hostcpu = NOCPU; vcpu->vcpuid = vcpu_id; vcpu->vlapic = vlapic_init(vm, vcpu_id); vm_set_x2apic_state(vm, vcpu_id, X2APIC_ENABLED); @@ -667,11 +674,13 @@ vm_run(struct vm *vm, struct vm_run *vmr pcb = PCPU_GET(curpcb); set_pcb_flags(pcb, PCB_FULL_IRET); - vcpu->hostcpu = curcpu; - restore_guest_msrs(vm, vcpuid); restore_guest_fpustate(vcpu); + + vcpu->hostcpu = curcpu; error = VMRUN(vm->cookie, vcpuid, vmrun->rip); + vcpu->hostcpu = NOCPU; + save_guest_fpustate(vcpu); restore_host_msrs(vm, vcpuid); @@ -787,9 +796,10 @@ vm_iommu_domain(struct vm *vm) return (vm->iommu); } -void -vm_set_run_state(struct vm *vm, int vcpuid, int state) +int +vcpu_set_state(struct vm *vm, int vcpuid, enum vcpu_state state) { + int error; struct vcpu *vcpu; if (vcpuid < 0 || vcpuid >= VM_MAXCPU) @@ -797,43 +807,42 @@ vm_set_run_state(struct vm *vm, int vcpu vcpu = &vm->vcpu[vcpuid]; - if (state == VCPU_RUNNING) { - if (vcpu->flags & VCPU_F_RUNNING) { - panic("vm_set_run_state: %s[%d] is already running", - vm_name(vm), vcpuid); - } - vcpu->flags |= VCPU_F_RUNNING; + vcpu_lock(vcpu); + + /* + * The following state transitions are allowed: + * IDLE -> RUNNING -> IDLE + * IDLE -> CANNOT_RUN -> IDLE + */ + if ((vcpu->state == VCPU_IDLE && state != VCPU_IDLE) || + (vcpu->state != VCPU_IDLE && state == VCPU_IDLE)) { + error = 0; + vcpu->state = state; } else { - if ((vcpu->flags & VCPU_F_RUNNING) == 0) { - panic("vm_set_run_state: %s[%d] is already stopped", - vm_name(vm), vcpuid); - } - vcpu->flags &= ~VCPU_F_RUNNING; + error = EBUSY; } + + vcpu_unlock(vcpu); + + return (error); } -int -vm_get_run_state(struct vm *vm, int vcpuid, int *cpuptr) +enum vcpu_state +vcpu_get_state(struct vm *vm, int vcpuid) { - int retval, hostcpu; struct vcpu *vcpu; + enum vcpu_state state; if (vcpuid < 0 || vcpuid >= VM_MAXCPU) panic("vm_get_run_state: invalid vcpuid %d", vcpuid); vcpu = &vm->vcpu[vcpuid]; - if (vcpu->flags & VCPU_F_RUNNING) { - retval = VCPU_RUNNING; - hostcpu = vcpu->hostcpu; - } else { - retval = VCPU_STOPPED; - hostcpu = -1; - } - if (cpuptr) - *cpuptr = hostcpu; + vcpu_lock(vcpu); + state = vcpu->state; + vcpu_unlock(vcpu); - return (retval); + return (state); } void @@ -884,3 +893,25 @@ vm_set_x2apic_state(struct vm *vm, int v return (0); } + +void +vm_interrupt_hostcpu(struct vm *vm, int vcpuid) +{ + int hostcpu; + struct vcpu *vcpu; + + vcpu = &vm->vcpu[vcpuid]; + + /* + * XXX racy but the worst case is that we'll send an unnecessary IPI + * to the 'hostcpu'. + * + * We cannot use vcpu_is_running() here because it acquires vcpu->mtx + * which is not allowed inside a critical section. + */ + hostcpu = vcpu->hostcpu; + if (hostcpu == NOCPU || hostcpu == curcpu) + return; + + ipi_cpu(hostcpu, vmm_ipinum); +} Modified: projects/bhyve/sys/amd64/vmm/vmm_dev.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm_dev.c Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/vmm/vmm_dev.c Fri Oct 12 18:32:44 2012 (r241489) @@ -88,9 +88,6 @@ vmmdev_lookup(const char *name) static struct vmmdev_softc * vmmdev_lookup2(struct cdev *cdev) { -#ifdef notyet /* XXX kernel is not compiled with invariants */ - mtx_assert(&vmmdev_mtx, MA_OWNED); -#endif return (cdev->si_drv1); } @@ -141,7 +138,8 @@ static int vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, struct thread *td) { - int error, vcpu; + int error, vcpu, state_changed; + enum vcpu_state new_state; struct vmmdev_softc *sc; struct vm_memory_segment *seg; struct vm_register *vmreg; @@ -160,12 +158,12 @@ vmmdev_ioctl(struct cdev *cdev, u_long c struct vm_stat_desc *statdesc; struct vm_x2apic *x2apic; - mtx_lock(&vmmdev_mtx); sc = vmmdev_lookup2(cdev); - if (sc == NULL) { - mtx_unlock(&vmmdev_mtx); + if (sc == NULL) return (ENXIO); - } + + vcpu = -1; + state_changed = 0; /* * Some VMM ioctls can operate only on vcpus that are not running. @@ -181,6 +179,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long c case VM_GET_CAPABILITY: case VM_SET_CAPABILITY: case VM_PPTDEV_MSI: + case VM_PPTDEV_MSIX: case VM_SET_X2APIC_STATE: /* * XXX fragile, handle with care @@ -192,11 +191,42 @@ vmmdev_ioctl(struct cdev *cdev, u_long c goto done; } - if (vcpu_is_running(sc->vm, vcpu, NULL)) { - error = EBUSY; + if (cmd == VM_RUN) + new_state = VCPU_RUNNING; + else + new_state = VCPU_CANNOT_RUN; + + error = vcpu_set_state(sc->vm, vcpu, new_state); + if (error) + goto done; + + state_changed = 1; + break; + + case VM_MAP_PPTDEV_MMIO: + case VM_BIND_PPTDEV: + case VM_UNBIND_PPTDEV: + case VM_MAP_MEMORY: + /* + * ioctls that operate on the entire virtual machine must + * prevent all vcpus from running. + */ + error = 0; + for (vcpu = 0; vcpu < VM_MAXCPU; vcpu++) { + error = vcpu_set_state(sc->vm, vcpu, VCPU_CANNOT_RUN); + if (error) + break; + } + + if (error) { + while (--vcpu >= 0) + vcpu_set_state(sc->vm, vcpu, VCPU_IDLE); goto done; } + + state_changed = 2; break; + default: break; } @@ -204,14 +234,7 @@ vmmdev_ioctl(struct cdev *cdev, u_long c switch(cmd) { case VM_RUN: vmrun = (struct vm_run *)data; - - vm_set_run_state(sc->vm, vmrun->cpuid, VCPU_RUNNING); - mtx_unlock(&vmmdev_mtx); - error = vm_run(sc->vm, vmrun); - - mtx_lock(&vmmdev_mtx); - vm_set_run_state(sc->vm, vmrun->cpuid, VCPU_STOPPED); break; case VM_STAT_DESC: { const char *desc; @@ -346,9 +369,15 @@ vmmdev_ioctl(struct cdev *cdev, u_long c error = ENOTTY; break; } -done: - mtx_unlock(&vmmdev_mtx); + if (state_changed == 1) { + vcpu_set_state(sc->vm, vcpu, VCPU_IDLE); + } else if (state_changed == 2) { + for (vcpu = 0; vcpu < VM_MAXCPU; vcpu++) + vcpu_set_state(sc->vm, vcpu, VCPU_IDLE); + } + +done: return (error); } Modified: projects/bhyve/sys/amd64/vmm/vmm_ipi.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm_ipi.c Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/vmm/vmm_ipi.c Fri Oct 12 18:32:44 2012 (r241489) @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include "vmm_ipi.h" @@ -48,7 +47,7 @@ extern inthand_t IDTVEC(rsvd), IDTVEC(ju /* * The default is to use the IPI_AST to interrupt a vcpu. */ -static int ipinum = IPI_AST; +int vmm_ipinum = IPI_AST; CTASSERT(APIC_SPURIOUS_INT == 255); @@ -73,31 +72,22 @@ vmm_ipi_init(void) ip = &idt[idx]; func = ((long)ip->gd_hioffset << 16 | ip->gd_looffset); if (func == (uintptr_t)&IDTVEC(rsvd)) { - ipinum = idx; - setidt(ipinum, IDTVEC(justreturn), SDT_SYSIGT, + vmm_ipinum = idx; + setidt(vmm_ipinum, IDTVEC(justreturn), SDT_SYSIGT, SEL_KPL, 0); break; } } - if (ipinum != IPI_AST && bootverbose) { + if (vmm_ipinum != IPI_AST && bootverbose) { printf("vmm_ipi_init: installing ipi handler to interrupt " - "vcpus at vector %d\n", ipinum); + "vcpus at vector %d\n", vmm_ipinum); } } void vmm_ipi_cleanup(void) { - if (ipinum != IPI_AST) - setidt(ipinum, IDTVEC(rsvd), SDT_SYSIGT, SEL_KPL, 0); -} - -void -vm_interrupt_hostcpu(struct vm *vm, int vcpu) -{ - int hostcpu; - - if (vcpu_is_running(vm, vcpu, &hostcpu) && hostcpu != curcpu) - ipi_cpu(hostcpu, ipinum); + if (vmm_ipinum != IPI_AST) + setidt(vmm_ipinum, IDTVEC(rsvd), SDT_SYSIGT, SEL_KPL, 0); } Modified: projects/bhyve/sys/amd64/vmm/vmm_ipi.h ============================================================================== --- projects/bhyve/sys/amd64/vmm/vmm_ipi.h Fri Oct 12 18:21:31 2012 (r241488) +++ projects/bhyve/sys/amd64/vmm/vmm_ipi.h Fri Oct 12 18:32:44 2012 (r241489) @@ -31,8 +31,9 @@ struct vm; +extern int vmm_ipinum; + void vmm_ipi_init(void); void vmm_ipi_cleanup(void); -void vm_interrupt_hostcpu(struct vm *vm, int vcpu); #endif From owner-svn-src-projects@FreeBSD.ORG Fri Oct 12 18:49:08 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AEDAEDB8; Fri, 12 Oct 2012 18:49:08 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 985A28FC19; Fri, 12 Oct 2012 18:49:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9CIn8bO056990; Fri, 12 Oct 2012 18:49:08 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9CIn8h9056988; Fri, 12 Oct 2012 18:49:08 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210121849.q9CIn8h9056988@svn.freebsd.org> From: Neel Natu Date: Fri, 12 Oct 2012 18:49:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241490 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2012 18:49:08 -0000 Author: neel Date: Fri Oct 12 18:49:07 2012 New Revision: 241490 URL: http://svn.freebsd.org/changeset/base/241490 Log: Deal with transient EBUSY error return from vm_run() by retrying the operation. Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.c Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/fbsdrun.c Fri Oct 12 18:32:44 2012 (r241489) +++ projects/bhyve/usr.sbin/bhyve/fbsdrun.c Fri Oct 12 18:49:07 2012 (r241490) @@ -516,8 +516,19 @@ vm_loop(struct vmctx *ctx, int vcpu, uin while (1) { error = vm_run(ctx, vcpu, rip, &vmexit[vcpu]); - if (error != 0) - break; + if (error != 0) { + /* + * It is possible that 'vmmctl' or some other process + * has transitioned the vcpu to CANNOT_RUN state right + * before we tried to transition it to RUNNING. + * + * This is expected to be temporary so just retry. + */ + if (errno == EBUSY) + continue; + else + break; + } prevcpu = vcpu; rc = (*handler[vmexit[vcpu].exitcode])(ctx, &vmexit[vcpu], From owner-svn-src-projects@FreeBSD.ORG Fri Oct 12 23:12:20 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A8373C8; Fri, 12 Oct 2012 23:12:20 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9162C8FC1A; Fri, 12 Oct 2012 23:12:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9CNCKHT093327; Fri, 12 Oct 2012 23:12:20 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9CNCK6A093324; Fri, 12 Oct 2012 23:12:20 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201210122312.q9CNCK6A093324@svn.freebsd.org> From: Peter Grehan Date: Fri, 12 Oct 2012 23:12:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r241497 - in projects/bhyve/sys/amd64: include vmm/intel X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2012 23:12:20 -0000 Author: grehan Date: Fri Oct 12 23:12:19 2012 New Revision: 241497 URL: http://svn.freebsd.org/changeset/base/241497 Log: Add the guest physical address and r/w/x bits to the paging exit in preparation for a rework of bhyve MMIO handling. Reviewed by: neel Obtained from: NetApp Modified: projects/bhyve/sys/amd64/include/vmm.h projects/bhyve/sys/amd64/vmm/intel/vmx.c Modified: projects/bhyve/sys/amd64/include/vmm.h ============================================================================== --- projects/bhyve/sys/amd64/include/vmm.h Fri Oct 12 22:48:33 2012 (r241496) +++ projects/bhyve/sys/amd64/include/vmm.h Fri Oct 12 23:12:19 2012 (r241497) @@ -266,6 +266,8 @@ struct vm_exit { } inout; struct { uint64_t cr3; + uint64_t gpa; + int rwx; } paging; /* * VMX specific payload. Used when there is no "better" Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Fri Oct 12 22:48:33 2012 (r241496) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Fri Oct 12 23:12:19 2012 (r241497) @@ -1289,6 +1289,8 @@ vmx_exit_process(struct vmx *vmx, int vc if (!handled) { vmexit->exitcode = VM_EXITCODE_PAGING; vmexit->u.paging.cr3 = cr3; + vmexit->u.paging.gpa = gpa; + vmexit->u.paging.rwx = qual & 0x7; } break; default: